用于p2p下载的反向ssh隧道

问题描述 投票:1回答:1

我想实现一个解决方案,即在云服务器上使用远程bittorrent客户端,然后通过http下载文件到本地系统。这有望提高我的带宽,并克服我的IP黑名单(假设我在代理后面)。我的解决方案会和seedr.cc完全一样。我想提供的另一个改进是,文件目录可以同时在本地(客户端应用程序)分批下载。如果我的解决方案是一个客户端服务器应用程序,这也可以很容易做到。现在,真正的问题是,假设我不想在服务器上下载文件目录,而是直接在客户端下载,而不需要安装远程磁盘(客户端的磁盘)。这里,请记住,服务器只是用于网络,根本没有使用存储。你知道有什么东西可以帮助我吗?

reverse-proxy rsync p2p bittorrent webtorrent
1个回答
2
投票

首先让我描述一下你的拓扑结构,以明确。

你建立了一个服务器和一些客户端,客户端可以使用p2p下载文件。而你希望一个客户端既可以从sever下载文件,也可以从其他客户端下载文件,以加快速度。

首先,BT下载可以提高你的速度,但限制来自于你的ISP。如果你只买了100Mb的带宽,你不可能得到比它更高的速度。

其次,如果这种拓扑结构能够帮助你,那么你可以建立这样的系统。

  • NAT穿越是需要的,这是一个基本的p2p通信。你可能需要natpmp、upnp或者ICE。既然你有一个服务器,也许ICE会更好。

  • LSD和DHT可以帮助你找到其他的客户端。

  • 对等线通信协议是需要连接到其他对等线和下载文件。

有一个名为libtorrent的开源项目可能会帮助你。它建立了整个系统,你可以使用它,也可以通过学习它来建立自己的系统。

至于下载形式服务器和客户端,需要有一个peer manager的设计,这个比较难,我也不能把它做得很短,你需要自己做很多例子和优化。


1
投票

好吧,标题中的 "rsync "有点误导人,你在这里会遇到几个问题:远程必须是可以到达的......所以有一个 "活动隧道 "回到你的客户端将是一个沉重的任务。

对于 新来的 部分:你可以用 lftp 对于山洪 https:/lftp.yar.rutorrent.html。 并分开每个用户 , 也帮助你与配额等。, 建议:使用它在一个 屏风 会议

对于 下载 部分。

  • 也许用一个 硬盘 ( mkdir /tmp/ramtamtam;mount -t tmpfs /dev/null /tmp/ramtamtam/ -o size=64M ),让客户端访问这个
  • 使用 归档档位 https:/github.combramparchivemount。 并将此发送给客户
  • 使用外部提供者,如mega和rclone,让客户访问这个。
  • 一个整洁的optoin将是让客户端通过torrent本身与自定义磁力链接访问您的服务器上的torrent,并将其添加到正在运行的lftp会话,因为下载是在100%,你可以使用。https:/webtorrent.io。
  • 通过http下载也可以用 lftp's mirror 指挥

0
投票

Bittorrent客户端通常需要随机访问他们正在传输的数据,因为他们同时下载和上传,并且必须为来自远程对等体的随机请求提供服务.这意味着如果你使用网络文件系统,那么bittorrent客户端的性能将受到提供存储的主机的上传和下载带宽以及延迟的限制。这很可能会削弱云实例所能达到的性能。

相反,你可以使用云实例(服务器从此以后)的外延存储作为加速器。这可以通过让服务器和你的本地客户端同时实现bittorrent,但从服务器到客户端给予优先的带宽待遇来实现。这样,服务器将从其他对等体下载数据,同时将数据传输到客户端。服务器可以一直从它的临时存储中播种torrent,直到它重新启动。

© www.soinside.com 2019 - 2024. All rights reserved.