Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove non-working DHT bootstrap nodes #21296

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

stalkerok
Copy link
Contributor

@stalkerok stalkerok commented Sep 4, 2024

router.utorrent.com has been dead for a long time. router.bittorrent.com died about a month or two ago. dht.aelitis.com doesn't work either. It is no longer possible to get DHT nodes from them.
Added router.silotis.us. Only ipv6!

@HanabishiRecca
Copy link
Contributor

  1. Are there any talks about that in utorrent/bittorrent community? I.e. we should be sure that this is not a local/regional block.
  2. Do we have reliable testing methods for that?

@stalkerok
Copy link
Contributor Author

2. Do we have reliable testing methods for that?

I tested the addresses using qBit 5.0.
Create in profile\qBittorrent\config qBittorrent.ini with the following contents

[BitTorrent]
Session\DHTBootstrapNodes="router.bittorrent.com:6881, router.utorrent.com:6881, dht.aelitis.com:6881"

Run qBit.

@HanabishiRecca
Copy link
Contributor

HanabishiRecca commented Sep 7, 2024

I have different results. Tested your setup and all nodes separately.

router.bittorrent.com, router.utorrent.com and dht.aelitis.com all kinda work for me.
Yes, DHT nodes count is low and grows very slowly, but they do not appear to be completely dead.

dht.libtorrent.org and dht.transmissionbt.com are much snappier though and quickly reach 300+ nodes in a couple of minutes.

@stalkerok
Copy link
Contributor Author

Are you sure you got the nodes exactly from those bootstrap domains?
2024-09-09_222828

@HanabishiRecca
Copy link
Contributor

Yes.

image

@stalkerok
Copy link
Contributor Author

Is it definitely a clean install? Just to make sure, could you test dht.libtorrent.org with the wrong port number?
2024-09-09_235043

@HanabishiRecca
Copy link
Contributor

HanabishiRecca commented Sep 9, 2024

Is it definitely a clean install?

No, it's my working client.

Just to make sure, could you test dht.libtorrent.org with the wrong port number?

Hmm, it still manages to get DHT nodes somehow. Despite all transfers stopped.
Could that be DHT network remembered my IP and making incoming connections?

That's why I asked for reliable testing methods. I guess I need to wrap up a new isolated client with incoming ports closed.

@HanabishiRecca
Copy link
Contributor

Yeah, running with closed port prevents bootstrapping (DHT: 0) from any of router.bittorrent.com, router.utorrent.com or dht.aelitis.com.

But it would be good to have an easier method to check their accessibility.

router.utorrent.com has been dead for a long time. router.bittorrent.com died about a month or two ago. dht.aelitis.com doesn't work either. It is no longer possible to get DHT nodes from them.
Added router.silotis.us. Only ipv6!
@stalkerok
Copy link
Contributor Author

stalkerok commented Sep 11, 2024

Added router.silotis.us. Only ipv6!
2024-09-11_134040

@Chocobo1
Copy link
Member

Added router.silotis.us. Only ipv6!

Where does it come from? How can we be sure that it is safe?

@stalkerok
Copy link
Contributor Author

Where does it come from? How can we be sure that it is safe?

I found it from another torrent client, I understand the owner is https://github.com/ssiloti

@Chocobo1 Chocobo1 requested a review from a team September 17, 2024 08:36
@glassez
Copy link
Member

glassez commented Sep 17, 2024

So is it confirmed that such DHT bootstrap nodes are dead and not just inaccessible to some people?

@stalkerok
Copy link
Contributor Author

They don't work for me, either through a VPN or from my home connection.

@sledgehammer999
Copy link
Member

FYI for testing: You gain entrance to the DHT network if you somehow connect to at least one node. Then that node can help you find other ones until you position yourself with the closest nodes to you. This single node can be obtained:

  1. Via a bootstrap node
  2. Via a .torrent file containing DHT node entries
  3. Via another peer which you have connected to via a tracker (or they have connected to you via a tracker) if that peer also participates in the DHT network.
  4. IIRC libtorrent saves some nodes in both the fastresume files and in the session state file. If those nodes are still valid when you reload the files, libtorrent will connect to them.

@HanabishiRecca
Copy link
Contributor

4. IIRC libtorrent saves some nodes

No. At least not configured to do that in qBittorrent. We always start with 0 nodes.

@xavier2k6
Copy link
Member

Add router.bitcomet.com:6881?

@xavier2k6
Copy link
Member

I would also add dht.libtorrent.org:6881

@stalkerok
Copy link
Contributor Author

Add router.bitcomet.com:6881?

I would also add dht.libtorrent.org:6881

They don't work.

@stalkerok
Copy link
Contributor Author

Can this be merged and added to the backport to 5.0?

@xavier2k6
Copy link
Member

Is there any forum/reddit discussions etc. about these DHT nodes being actually dead.....dead??

@stalkerok
Copy link
Contributor Author

stalkerok commented Sep 21, 2024

This is probably not discussed anywhere and users don't know how to test it properly. They connect to the DHT through other sources and don't notice anything. First screenshot: home connection, second: VPN. VPN is ipv4 only.
1
2024-09-21_212723

2
2024-09-21_214617

You can check their working order yourself.

@stalkerok
Copy link
Contributor Author

Can anyone confirm or deny the workability of these addresses by running the correct tests? Or merge the PR.
And maybe change the milestone to 5.0.1?
2024-10-03_230739

@HanabishiRecca
Copy link
Contributor

HanabishiRecca commented Oct 3, 2024

I made a script. Nmap should be installed. Requires root because of nmap -sU.

#!/bin/bash

set -euo pipefail

if ! command -v nmap > /dev/null; then
    echo 'Nmap should be installed!'
    exit 1
fi

if ((EUID != 0)); then
    echo 'Need to be run as root!'
    exit 13
fi

LIST=(
    'dht.libtorrent.org:25401'
    'dht.transmissionbt.com:6881'
    'router.bittorrent.com:6881'
    'router.utorrent.com:6881'
    'dht.aelitis.com:6881'
    'router.bitcomet.com:6881'
    'dht.libtorrent.org:6881'
)

# https://www.bittorrent.org/beps/bep_0005.html#ping
PAYLOAD='d1:ad2:id20:abcdefghij0123456789e1:q4:ping1:t2:aa1:y1:qe'

scan() {
    nmap -sU -oG - "${1%:*}" -p "${1#*:}" --data-string "${PAYLOAD}" 2> /dev/null | grep -q '/open/'
}

for a in "${LIST[@]}"; do
    if scan "${a}"; then
        echo "${a} => WORKING!"
    else
        echo "${a} => DEAD"
    fi
done

My results:

dht.libtorrent.org:25401 => WORKING!
dht.transmissionbt.com:6881 => WORKING!
router.bittorrent.com:6881 => DEAD
router.utorrent.com:6881 => DEAD
dht.aelitis.com:6881 => DEAD
router.bitcomet.com:6881 => DEAD
dht.libtorrent.org:6881 => DEAD

P.S. router.bitcomet.com domain does not even exist.

@thalieht
Copy link
Contributor

thalieht commented Oct 3, 2024

My results:

dht.libtorrent.org:25401 => WORKING!
dht.transmissionbt.com:6881 => WORKING!
router.bittorrent.com:6881 => DEAD
router.utorrent.com:6881 => DEAD
dht.aelitis.com:6881 => DEAD
router.bitcomet.com:6881 => DEAD
dht.libtorrent.org:6881 => DEAD

What i got too when i tested each node individually in qbit ~20 min+ each, no torrents, a few days ago. I didn't say anything because i don't know how reliable this test was.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants