transmission icon indicating copy to clipboard operation
transmission copied to clipboard

Support using a proxy to connect to trackers

Open dimzon opened this issue 8 years ago • 4 comments

Main goal is to keep p2p exchange direct but use trackers and maybe DHT via socks proxy. Need a way to obtain IP to announce (ipify.org) in case of dynamic IP.

dimzon avatar Nov 29 '17 01:11 dimzon

This seems pretty advanced use, so I wonder how many people would use this feature.

Still, it might be possible by having a config setting to add something to curl_easy with CURLOPT_PROXY.

If someone wants to write a PR for that, I'd probably accept it.

ckerr avatar Jan 18 '22 22:01 ckerr

This feature's existence is practically the only reason why I use qBittorrent over Transmission. When a torrent tracker is blocked, it can be very useful to be able to connect to it specifically through Tor or some other proxy, while keeping one's p2p connections direct and fast.

slashdevslashurandom avatar Oct 29 '22 09:10 slashdevslashurandom

This seems pretty advanced use, so I wonder how many people would use this feature.

Some restricted connections (read: China) are terrible for trackers but acceptable for DHT, PeX, and regular peer stuff.

We city dwellers have acceptable bandwidth, non-ideal QoS, virtually inexistent piracy enforcement, and very unreliable tracker connection here. If you fix the tracker part, this place would be great for BT.

Need a way to obtain IP to announce (ipify.org) in case of dynamic IP.

This will be hard, because the tracker is unlikely to trust an IP parameter. qBT has a "ip given to tracker" option, but it is for debug only.

The best thing we can do is do a proxy and get a list of peers for connecting to, then use decentralized things to make your peer known to the network at large. Slightly favoring leechers, but that's life.

Artoria2e5 avatar Aug 01 '23 12:08 Artoria2e5

specifying proxy via http_proxy environment variable seems to work because libcurl supports it, found this mention at https://github.com/transmission/transmission/blob/main/docs/Environment-Variables.md#standard-variables-used-by-other-tools

example for macOS, tested on v4.0.6:

open --env http_proxy=MY.WEBSITE:PROXY_PORT /Applications/Transmission.app

kambala-decapitator avatar Jul 07 '24 08:07 kambala-decapitator