0

我正在寻找有关如何通过仅上传与我实际上要上传到服务器的文件相关的 .torrent 文件来将文件上传到服务器的信息。
我正在寻找一种通过编程来做到这一点的方法......
提前感谢您的回答。

编辑:好的,我会尝试使用它。
假设用户创建了一个 torrent 文件并开始播种。然后他将 file.torrent 文件上传到我的网站,并从该 .torrent 文件中将种子文件下载到我的服务器。我想这会以两种方式发生:

  1. 这些文件是从 torrent 流中下载的(即来自许多其他播种文件的用户)
  2. 该脚本找出我的用户机器上文件的位置,然后上传它。
4

1 回答 1

1

首先,您必须在您的服务器上安装一个 torrent 客户端。Deluge 和 rTorrent 是服务器操作的不错选择。rTorrent 以其高性能播种而闻名,而 Deluge 的底层 libtorrent-rasterbar 更符合 bittorrent 协议规范,因此在提取方面表现更好。它们都提供了用于与第三方工具集成的 API。

当您安装 torrent 客户端时,您可以通过 2 种替代方法激活下载:将用户的 .torrent 文件放入 Deluge/rTorrent 的监视目录,或使用他们各自的 API 将新的 torrent 添加到他们的会话中。

记住可能重复的 torrent 名称 - 即使是不同的 torrent 也可以声明相同的文件或目录名称(来自 .torrent 文件的 {info}{name} 属性),这通常会导致两个 torrent 的数据损坏。

根据下载数据的使用情况,您有不同的方法来处理这种情况。如果您需要在获得 100% 的数据后继续播种数据,那么您可以拒绝具有相同 {info}{name} 字段的下一个 torrent,或者您必须修补您的 torrent 客户端才能将数据存储在唯一的名称(torrent 的 info-hash 似乎是一个不错的选择)。如果您不想成为播种者,完成后,从 Deluge/rTorrent 的会话中删除 torrent(API 调用。从监视目录中删除 .torrent 文件仅适用于 rTorrent AFAIK)并将下载的实际数据移动到新的以新名称放置(同样,info-hash 是一个不错的选择)。

于 2011-03-06T16:38:58.403 回答