cl.torrentDataOpener = cfg.TorrentDataOpener
}
- if !cfg.NoDefaultBlocklist {
+ if cfg.IPBlocklist != nil {
+ cl.ipBlockList = cfg.IPBlocklist
+ } else if !cfg.NoDefaultBlocklist {
err = cl.setEnvBlocklist()
if err != nil {
return
T, _, err = me.AddTorrentSpec(TorrentSpecFromMetaInfo(mi))
return
}
+
+func (me *Client) DHT() *dht.Server {
+ return me.dHT
+}
"github.com/anacrolix/torrent/bencode"
"github.com/anacrolix/torrent/data"
"github.com/anacrolix/torrent/data/blob"
+ "github.com/anacrolix/torrent/dht"
"github.com/anacrolix/torrent/internal/testutil"
+ "github.com/anacrolix/torrent/iplist"
"github.com/anacrolix/torrent/metainfo"
)
assert.EqualValues(t, 2, n)
assert.EqualValues(t, "d\n", string(b))
}
+
+func TestDHTInheritBlocklist(t *testing.T) {
+ ipl := iplist.New(nil)
+ require.NotNil(t, ipl)
+ cl, err := NewClient(&Config{
+ IPBlocklist: iplist.New(nil),
+ DHTConfig: &dht.ServerConfig{},
+ })
+ require.NoError(t, err)
+ defer cl.Close()
+ require.Equal(t, ipl, cl.DHT().IPBlocklist())
+}
import (
"github.com/anacrolix/torrent/dht"
+ "github.com/anacrolix/torrent/iplist"
)
// Override Client defaults.
// are in $REPO/data. If not set, the "file" implementation is used.
TorrentDataOpener
DisableEncryption bool `long:"disable-encryption"`
+
+ IPBlocklist *iplist.IPList
}