Hacker News new | past | comments | ask | show | jobs | submit login

My biggest problem with BT / Transmission is that they dont work well with DNS Ad blocking solution. As the BT client will quickly swamp and use up all available DNS quota for torrents. I am wondering if anyone has a solution to that?



'dns quota'? Are you trying to use an abacus as your DNS server?

Torrents typically don't do more than a few thousand DNS lookups - which isn't much more than a few people browsing the web.

And most of those lookups are just for showing pretty flags and country codes in the UI, and aren't needed anyway.


I dont know but transmission 3.0 era uses 200K+ DNS lookup with about 30 active torrent in a space of two to three weeks. I dont think I ever got to the bottom of it.


200k queries in two weeks? That's not a lot. For waking hours and with someone surfing the web, my pihole reports about 1000/10m. That's 1.6/s.

Also, why would you have a DNS quota? I guess some DNS blocker service like NextDNS? Either pay them the money, put a local cache on your torrent client (or use a pihole with blocklists), or have the machine with the torrent client use another DNS server.


Thats like 1 per second. Which isn't really much. Thats probably 1 per person who connects or tries to connect to your machine.


A BT client doesn’t need to do DNS resolution for peers, since peers are bare IP addresses. It does need to resolve DNS for tracker domains when periodically announcing, and a public torrent can have a lot of trackers. Those add up if tracker domains have low TTL, I suppose.


Most BT clients do do a lookup of IP addresses. Many do it to provide little flags in the UI to say which country a user is from. Some also use the results as part of an algorithm to ban bad clients (if all clients from the same ISP are sending bad data, ban the whole ISP).


Transmission (or at least the official clients I have personally used) doesn't show country of a peer. Plus you can't determine the country of an IP by DNS, unless your geoip provider happens to be DNS-based; what you need is a geoip database.


Country is normally determined by doing a reverse DNS lookup, and then looking at the country code in the domain name. It's not very accurate, but you can do it for free without relying on any third party service or database.

Here is the libtorrent code that does it for every peer:

https://github.com/arvidn/libtorrent/blob/8786d17e59c90aee2c...


Well, at least some clients use a geoip database, e.g. qBittorrent: https://github.com/qbittorrent/qBittorrent/blob/2ef059807afc...


I can't say I've noticed this, and I'm a little surprised DNS gets much use in bittorrent at all, is the client doing rDNS on peers or something?


Essentially, yes. It's basically looking up the PTR records. If you look at the UI, you'll see them listed in the peer list.


Probably just resolving tracker IPs.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: