rtorrent通过代理链接tracker
从几天前开始就大量红种,看了一眼发现所有非https的tracker都无法连接上了,想来大概是ISP做了些包的过滤以屏蔽BT的使用。手动把一些CHDBits的tracker改成https后觉得需要一个治本的办法,何况 一些tracker无https可用。一开始想到用tsocks,但是tsocks会将所有数据都走代理,不仅仅是与tracker的通讯,还有与peer之间的数据交换,并不是个经济的方法。
rtorrent的配置文件.rtorrent.rc中的选项:
http_proxy #http代理地址,提供与tracker通讯
proxy_address #其他协议的代理地址
#貌似第二个选项会有问题,参考这里
ip # The ip address reported to the tracker.
解决方案
用privoxy套接ssh隧道的socket5代理,建立个本机的http代理,配置rtorrent使用此http代理,并设置rtorrent向tracker发送本机实际IP,而非代理的IP
1.建立ssh隧道
ssh -D 1080 -f -N user@remotehost
端口号1080,为所创建的sockets5代理的端口
2. 安装配置privoxy
sudo apt-get install privoxy
sudo vi /etc/privoxy/config
添加:
forward-socks5 / 127.0.0.1:1080 .
注意后面的点不可少,表示所有http都用本机的sockets5代理转发
重启privoxy使配置生效
sudo /etc/init.d/privoxy restart
则默认在8118端口建立http代理
3.配置rtorrent
sudo vi ~/.rtorrent.rc
添加:
http_proxy = 127.0.0.1:8118
ip = 本机的IP
重启rtorrent,完工
种子都绿了
参考:
主要是关于privoxy的一些中文博客
http://www.cnblogs.com/another-wheel/archive/2011/11/16/setup-http-proxy-via-socks-and-privoxy.html