]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add --port flag to announce
authorMatt Joiner <anacrolix@gmail.com>
Fri, 16 Dec 2022 04:38:30 +0000 (15:38 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Sun, 25 Dec 2022 08:56:55 +0000 (19:56 +1100)
(cherry picked from commit e554aa19a691615f349bf6dae0601706ea47dc03)

cmd/torrent/announce.go

index 94500d96a3418a65cda35a1f397239deafcac1fd..f48dfd2acfbd22b85461fd94d987d0f043eb072a 100644 (file)
@@ -12,19 +12,24 @@ import (
 
 type AnnounceCmd struct {
        Event    udp.AnnounceEvent
+       Port     *uint16
        Tracker  string           `arg:"positional"`
        InfoHash torrent.InfoHash `arg:"positional"`
 }
 
 func announceErr(flags AnnounceCmd) error {
+       req := tracker.AnnounceRequest{
+               InfoHash: flags.InfoHash,
+               Port:     uint16(torrent.NewDefaultClientConfig().ListenPort),
+               NumWant:  -1,
+               Event:    flags.Event,
+       }
+       if flags.Port != nil {
+               req.Port = *flags.Port
+       }
        response, err := tracker.Announce{
                TrackerUrl: flags.Tracker,
-               Request: tracker.AnnounceRequest{
-                       InfoHash: flags.InfoHash,
-                       Port:     uint16(torrent.NewDefaultClientConfig().ListenPort),
-                       NumWant:  -1,
-                       Event:    flags.Event,
-               },
+               Request:    req,
        }.Do()
        if err != nil {
                return fmt.Errorf("doing announce: %w", err)