"golang.org/x/time/rate"
"github.com/anacrolix/dht"
+ "github.com/anacrolix/missinggo"
+ "github.com/anacrolix/missinggo/expect"
"github.com/anacrolix/torrent/iplist"
"github.com/anacrolix/torrent/storage"
)
// The address to listen for new uTP and TCP bittorrent protocol
// connections. DHT shares a UDP socket with uTP unless configured
// otherwise.
- ListenAddr string `long:"listen-addr" value-name:"HOST:PORT"`
+ ListenHost func(network string) string
+ ListenPort int
NoDefaultPortForwarding bool
// Don't announce to trackers. This only leaves DHT to discover peers.
DisableTrackers bool `long:"disable-trackers"`
PublicIp6 net.IP
}
+func (cfg *Config) SetListenAddr(addr string) *Config {
+ host, port, err := missinggo.ParseHostPort(addr)
+ expect.Nil(err)
+ cfg.ListenHost = func(string) string { return host }
+ cfg.ListenPort = port
+ return cfg
+}
+
func (cfg *Config) setDefaults() {
if cfg.HTTP == nil {
cfg.HTTP = DefaultHTTPClient