Easy proxy support
Closed this issue · 2 comments
I (and probably everyone) would love to be able to setup a proxy (https / SOCKSv5) with rtorrent-ps. It would let me use rtorrent-ps without changing the proxy of my whole pc. Without a proxy, i simply can't torrent. If there is already something like that in rtorrent-ps, please let me know since there isn't a lot of doccumentation for rtorrent-ps. thx.
Sorry, not a dev, but rtorrent(-ps) supports http proxies for tracker-announces, but not socks5 proxies, which is needed for peer-proxying as per your request. I've read a single report of using proxifiers like proxychains or tsocks etc working with rtorrent, but many others report freezings and connectivity issues, which I also found myself when I tried a few years ago,
However, you can use a VPN with split-tunneling instead, so you're not changing the IP of your entire connection and only using it for torrenting, which is what i'm doing myself also with rtorrent(-ps-ch). Chros73 made a nice guide for this recently here: https://github.com/rakshasa/rtorrent/wiki/VPN-with-Traffic-Splitting
The issue with using a socks5 proxy for torrenting, is that it's not only a matter of making all connections go through the proxied IP's(and where you can yourself e.g. use iptables rules to enforce this if bugs should occur), but the bittorrent spec in itself features several methods for your real IP to leak regardless of using such a proxy, by means of "hardcoded" IP fields in packet-headers(instead of relying on src-addr) which can be sent in tracker-announces and extended-handshakes to other peers, so if proxy support is added to a client it additionally needs to scrub these fields from the packet-headers and if that functionality breaks e.g. during an update then you have an issue(even still while using your own iptables enforcements), so I highly suggest using a VPN instead. Also, you have better protection against possible now or later traffic shaping from your ISP with a VPN. Another plus is many supports port-forwarding through the VPN so you can accept incoming connections(you can still upload without, as the bittorrent protocol is asymmetric, but helps with connectivity regardless).
Many guides suggest using a proxy with e.g. deluge, without even mentioning you need an extra plugin(ltconfig) to enable two extra libtorrent(-rasterbar) options(force_proxy/anonymous_mode) to even be secure with such a setup!
Again, consider using a VPN with split-tunnel instead. The price of a socks5 proxy service isn't even cheaper than a VPN and e.g. many VPN providers include a free proxy already, so if e.g. subscribing to privateinternetaccess, then you get a VPN + a proxy for cheaper than a single proxy at e.g. btguard or torguard etc.
The only negatives with a VPN compared to a proxy(when using split-tunneling), is that you'll get a higher CPU hit from all the extra openvpn encryption going on(especially if down/up-loading fast), and that proxies potentially can be a little faster because they don't have the extra encryption overhead(though VPNs often feature port-forwarding which gives you better connectivity in general).
This is better placed upstream if you really want/need it. Closing.