anacrolix / anacrolix/torrent

DHT announce timeboxing prevents full traversal with large torrent counts

未关闭
#1,005 8 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Go
星标
6.1k
派生
690
平均合并
3 天 10 小时
30 天内合并 PR
12

描述

Hello.

I have 1k infohashes.

I run qbittorrent with them, and after an hour i got 346 metainfos.
Then i run rain with same hashes, and after an hour i got 334 metainfos.
Then i run torrent with same hashes, and after an hour i got 15 metainfos. After 36 hours i got 58 metainfos.
On another server with torrent i got 10 metainfos after 12 hours.
Ofc i dont use trackers nowhere.

So, how do i figure out what the problem is?

This is config i use

> config := torrent.NewDefaultClientConfig()
> config.ListenPort = 14746
> config.PublicIp4 = net.ParseIP("xxx.xxx.xxx.xxx")
> config.DisableIPv6 = true
> config.PeriodicallyAnnounceTorrentsToDht = true
> config.TotalHalfOpenConns = 1000

Stats

> Listen port: 14746
> Extension bits: 0000000000100005 (ltep, fast, dht)
> Announce key: 633e5895
> Banned IPs: 0
> udp DHT server at 0.0.0.0:14746:
> ID: 02307c896b45d5a0da14c498d88f8d5a7842b464
> (dht.ServerStats) {
> GoodNodes: (int) 15,
> Nodes: (int) 177,
> OutstandingTransactions: (int) 2829,
> SuccessfulOutboundAnnouncePeerQueries: (int64) 0,
> BadNodes: (uint) 0,
> OutboundQueriesAttempted: (int64) 4408672
> }
> (torrent.ClientStats) {
> ConnStats: (torrent.ConnStats) {
> BytesWritten: (torrent.Count) 1896338,
> BytesWrittenData: (torrent.Count) 0,
> BytesRead: (torrent.Count) 10068279,
> BytesReadData: (torrent.Count) 0,
> BytesReadUsefulData: (torrent.Count) 0,
> BytesReadUsefulIntendedData: (torrent.Count) 0,
> ChunksWritten: (torrent.Count) 0,
> ChunksRead: (torrent.Count) 0,
> ChunksReadUseful: (torrent.Count) 0,
> ChunksReadWasted: (torrent.Count) 0,
> MetadataChunksRead: (torrent.Count) 558,
> PiecesDirtiedGood: (torrent.Count) 0,
> PiecesDirtiedBad: (torrent.Count) 0
> },
> ActiveHalfOpenAttempts: (int) 0,
> NumPeersUndialableWithoutHolepunch: (int) 524,
> NumPeersUndialableWithoutHolepunchDialedAfterHolepunchConnect: (int) 0,
> NumPeersDialableOnlyAfterHolepunch: (int) 0,
> NumPeersDialedSuccessfullyAfterHolepunchConnect: (int) 0,
> NumPeersProbablyOnlyConnectedDueToHolepunch: (int) 0
> }
> Torrents: 942
>
> DHT Announces on each torrent: 432

Another server

> Listen port: 14746
> Extension bits: 0000000000100005 (ltep, fast, dht)
> Announce key: -186fbcb9
> Banned IPs: 0
> udp DHT server at 0.0.0.0:14746:
> ID: a8b056bc30cdc1d44378c90ea2edd8e973649962
> (dht.ServerStats) {
> GoodNodes: (int) 10,
> Nodes: (int) 159,
> OutstandingTransactions: (int) 2973,
> SuccessfulOutboundAnnouncePeerQueries: (int64) 0,
> BadNodes: (uint) 0,
> OutboundQueriesAttempted: (int64) 1951953
> }
> (torrent.ClientStats) {
> ConnStats: (torrent.ConnStats) {
> BytesWritten: (torrent.Count) 38646,
> BytesWrittenData: (torrent.Count) 0,
> BytesRead: (torrent.Count) 3262765,
> BytesReadData: (torrent.Count) 0,
> BytesReadUsefulData: (torrent.Count) 0,
> BytesReadUsefulIntendedData: (torrent.Count) 0,
> ChunksWritten: (torrent.Count) 0,
> ChunksRead: (torrent.Count) 0,
> ChunksReadUseful: (torrent.Count) 0,
> ChunksReadWasted: (torrent.Count) 0,
> MetadataChunksRead: (torrent.Count) 197,
> PiecesDirtiedGood: (torrent.Count) 0,
> PiecesDirtiedBad: (torrent.Count) 0
> },
> ActiveHalfOpenAttempts: (int) 0,
> NumPeersUndialableWithoutHolepunch: (int) 58,
> NumPeersUndialableWithoutHolepunchDialedAfterHolepunchConnect: (int) 0,
> NumPeersDialableOnlyAfterHolepunch: (int) 0,
> NumPeersDialedSuccessfullyAfterHolepunchConnect: (int) 0,
> NumPeersProbablyOnlyConnectedDueToHolepunch: (int) 0
> }
> Torrents: 990
>
> DHT Announces on each torrent: 254

torrent v1.58.1, debian 12

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。