Hacker News new | ask | show | jobs
by netheril96 1356 days ago
As a Chinese, I really need the anti leeching capabilities, as too many people here use Xunlei that only download but never upload. Sad to see that the maintainers skip this again.
5 comments

It’s probably impossible to track that with any meaningful precision. Historically it’s the (central) tracker that implements the bookkeeping.
And as the reported stats originate from the torrent client... They're able to report whatever they want.

I remember using some obscure tool before 2010 to intercept these packages and update them. I was in my early teens back then and used it to overreport my upload statistics by something like x2 on some private trackers, so they wouldn't ban me.

It used to be easy to falsify that information, but no more. Most private trackers would easily ban you for that nowadays, unless you can get all the other clients to also cheat with you using the same parameters. It's easy to cross-reference the information coming from N clients, so you'll be booted relatively quickly.
That sounds like a useful development to counter such abuse, but i don't think this feature helps your torrent client wherever it should upload data to any given peer.
It’s quite easy to block Xunlei. First, they identify themselves in the connection. Second, no matter how much you upload to them, they always report zero progress.

The maintainers reject the proposal to block by client ID. But they never consider the second method.

Both methods can be circumvented quite easily and it will happen, if Transmission were to implement this. It's a cat and mouse game you can't win.
Ad blocking is a cat and mouse game. Anti censorship is a cat and mouse game. Anti fraud is a cat and mouse game. Anti spam is a cat and mouse game. I don’t see people giving up so easily on those problems.
I can't think of any way to solve this problem if a majority of clients in a swarm is malicious.
The swarm eventually gets abandoned as new users can't reach 100% completion?
Impossible to track with 100% accuracy, yes. But not completely meaningless to do some basic tracking. A torrent client could implement some tracking on their own, where they keep track of seen clients and keep track how much been uploaded vs downloaded from them (effectively ratio per client) and upload slower to clients you've never encountered that have been uploading.
How would your client know what other clients have uploaded to other clients?
Obviously you wouldn't (the network is decentralized, you can't know other peers communication) but also you don't care (peer A <> B might be able to upload/download, but peer B <> C can only download in one direction).

The important part is to keep track of what's happening with your own connection to others, not what other peers are doing.

> The important part is to keep track of what's happening with your own connection to others, not what other peers are doing.

99%+ of the time any pair of peers has unidirectional traffic. The situation where two clients will have incomplete torrents and are exchanging data with each other is rare, like the first few hours after a brand new torrent hits the network.

In my country, noone will bother you if you download pirated content but they will bother you if you seed it.
Switzerland.

The birthplace of BitThief.

https://github.com/pmoor/bitthief

I just read that Xunlei is the most popular BitTorrent client in China.

Does it not upload to none Xunlei clients or does it leech Bittorent entirely? I can’t imagine one that is a pure leech could exist without harming BitTorrent

I'm not sure. Some say that Xunlei does upload to other Xunlei clients, so they have to identify themselves in the connection (rather than try to emulate other clients and secretly leech the swarm).
You need to sign up for a private tracker to get that.
Write it on their github maybe? Also I would be interested, how many people there use a VPN for torrents?
There are already GitHub issues like this. The maintainers simply close them.
As is their right and somehow even their duty if it is not in alignment with the project's philosophy or goals.

You can create a fork and implement the feature or pay someone to implement it for you. That's the wonderful benefit of free software.

So is my right to complain on HN.