anacrolix / anacrolix/torrent

DHT announce timeboxing prevents full traversal with large torrent counts

Abierto
#1,005 8 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Go
Estrellas
6.1k
Forks
690
Merge medio
3 d 10 h
PR fusionados (30 d)
12

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.