如何从一个目录生成Torrent磁力链接URI?

3
我正在开发一个Python开源软件文件共享平台。 我遇到的问题是如何从目录生成磁链(用于存储在数据库中)?例如,我想共享目录/home/SHAREME。我知道libtorrent有Python绑定,但没有直接创建磁链的提及。 此外,是否可能将Web Seeds“编码”到磁链中? (http://www.rasterbar.com/products/libtorrent/manual.html#http-seeding) 我的用例是: 1. 调用函数为文件夹创建Torrent Magnet URI 2. 将Magnet URI插入数据库 3. 客户端从数据库获取并使用Magnet URI启动下载,使用Web Seed。
2个回答

2
没有直接创建磁力链接的方法,因为这样的链接是无法使用的!磁力链接是哈希标识符,允许客户端从BitTorrent DHT网络检索种子文件。但是,只有在至少有一个启用DHT的其他客户端正在下载或播种该种子时,它们才能这样做。如果您在应用程序中生成了一个种子并直接从其中生成了一个磁力链接,则没有人会拥有该种子文件,因此它不可下载。
简而言之:磁力链接只适用于以点对点方式创建和播种的种子。如果要使用Web种子,请向用户提供完整的种子文件以供下载。

哇,所以基本上磁力链接是对生成的种子文件的引用?真不错!我一直在想这可能就是答案!总的来说,Webseed听起来是个有趣的想法,但考虑到所有因素,为我设置一个种子盒并正常上传可能同样容易。这样,我可以简单地设置更多种子盒并弹性增长,而不必担心平衡HTTP镜像等问题。 - user1673566
有没有适用于Python 3的方法? - ife
@吴毅凡 这里的问题是涉及到种子协议的基本问题。无论你使用什么编程语言都是如此。 - user149341

1

有一种适用于Python3的方法:

pip install magneturi

import magneturi
magneturi.from_torrent_file('xx.torrent')

这将从种子文件创建磁力链接,而不是从目录创建。 - user149341

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接