If it's download-only, then it's harmful for BitTorrent swarms as it is not contributing for actual data sharing.
And in order for uploading to work client must either expose open port or implement uTP and holepunch extension, which is not trivial.
If it's download-only, then it's harmful for BitTorrent swarms as it is not contributing for actual data sharing.
And in order for uploading to work client must either expose open port or implement uTP and holepunch extension, which is not trivial.
It only listens on UDP for DHT requests.
So if it connects by itself (only TCP is supported), then it can upload. In reality, this makes uploading rare.
For "being a good citizen" of the network, a couple days ago I implemented storing peer information, so that it can be returned back when DHT nodes query for it. It has limitations though, e.g. only storing 1000 peers at the moment, and not cleaning up old peers once the peer store is full.
Listening on UDP for torrent requests seems like a big change, maybe someday.
I wonder if there are any Rust crates specifically focused on providing only this functionality.
Would be useful for P2P chat and P2P multiplayer games.