通过代理rtorrent

时间:2015-01-20 14:27:57

标签: ssh proxy torrent

这不是一个问题,而是确认我所做的是对还是不对,是否安全。 到目前为止,我发现谷歌搜索的是你不能通过代理运行rtorrent。您可以通过代理或tsocks来放置http请求,在这两种情况下,实际传输都是直接完成或根本不完成。因此,到目前为止,唯一提出的可行解决方案是我想要避免的VPN。

我所做的是为http部分使用http代理,为实际下载部分使用端口转发。例如,我们假设以下内容:

  • 192.168.1.10 - >具有实际rtorrent的本地机器
  • remote.machine.com - >用作代理的远程机器

步骤:

  1. 我创建了2个ssh隧道

      

    ssh -N -D 9090 user@remote.machine.com

      ssh -R 9091:localhost:9091 user@remote.machine.com

  2. 从本地计算机上我安装了polipo作为html代理,并将其配置为在remote.machine.com中使用socks代理。 我在 / etc / polipo / config 中编辑了以下行,以便我可以获取socks代理。

      

    socksParentProxy =“localhost:9090”

      socksProxyType = socks5

  3. 我还在 / etc / polipo / config 中更改了html代理端口以获得额外的安全性
      

    proxyPort = 9080

  4. 在本地机器上,我更改了〜/ .rtorrent.rc ,如下所示:

      

    http请求#Proxy通过polipo

      HTTP_PROXY =本地主机:9080

      #向跟踪器报告的IP地址。

      #Really important,为了获得下载连接

      ip = remote.machine.com

      #侦听套接字和传出连接的IP地址为

      #bound to。

      bind = 192.168.1.10

      #用于收听的端口范围。

      port_range = 9091-9091

      #开始在端口范围内的随机位置打开端口。

      port_random = no

  5. 系统似乎有效。我连接到跟踪器,我有上下交通。所以问题是:

    • 我是否安全,所有关于rtorrent的流量都是通过remote.machine.com完成的?
    • 我错过了什么吗?
    • 此方法有任何问题或疑虑吗?

1 个答案:

答案 0 :(得分:1)

据我所知,您已经覆盖了入站连接以及传出的HTTP流量,但是任何出站点对点连接都将直接创建,而不是通过任何隧道创建。目前,rtorrent似乎不支持通过任何类型的隧道或代理传递出站P2P连接,因此为了处理这些,您需要一些其他机制。

你提到了tsocks并且它不起作用 - 除了你在上面设置的rtorrent配置之外还没有? (虽然使用tsocks,您应该能够删除HTTP代理部分。)

如果失败,tsocks project page上提到了tsocks的替代品。一个稍微复杂的替代方案是创建一个新的环回接口(lo:1,IP 127.0.0.2),将你的rtorrent绑定到那个并使用sshuttle之类的东西通过SSH引导源自该接口的所有流量隧道。不幸的是,sshuttle现在不允许你将其操作限制在特定的界面,所以你必须摆弄它创建的iptables规则以使它们符合你的需要。我假设一个补丁将此功能添加到sshuttle将是受欢迎的。

作为旁注,您可以在单个SSH连接中创建多个端口转发和SOCKS代理,如下所示:

ssh -N -D 9090 -R 0.0.0.0:9091:localhost:9091 myself@my.example.com