问题标签 [bittorrent]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在 Java 中生成 .torrent?
我想在 Java 中生成一个 .torrent 文件,但我不想要一个大型 API 来执行诸如抓取跟踪器、播种等操作。这仅适用于生成元数据的客户端。存在哪些轻量级解决方案?我只生成单个 .zip 文件的 .torrent。
谢谢!
php - PHP 和 BitTorrent
如何使用 PHP 读取/解码 .torrent 文件?
我需要任何特定的库来解码这些文件还是更简单一些?
protocols - 洪流如何工作?
任何人都可以向我解释或在网上找到一篇文章,在技术细节中解释种子是如何工作的,在创建过程中使用了哪种技术?
python - Django 没有正确翻译 Bittorrent 查询字符串
作为一个更大项目的一部分,我正在 Django 框架之上编写一个小型 Bittorrent 跟踪器。但是,我在解码通告请求的“info_hash”参数时遇到问题。
基本上,uTorrent 采用相关 torrent 的 SHA1 哈希值,URL 对其十六进制表示进行编码,然后在 GET 请求中将其作为 info_hash 参数发送到跟踪器。
info_hash
被编码为:
但是,Django 将其解码为 Unicode 字符串:
而不是这样的字符串文字:
如何阻止 Django 尝试将 info_hash 转换为 Unicode,然后我可以取消引用它?我的目标是获得一个字符串文字,然后我可以将其编码为十六进制字符串。
有什么想法吗?如果我缺少一些关于编码的概念,我深表歉意。谢谢!
protocols - Bittorrent:IP 地址在哪里出现?
我正在阅读有关 Bittorrent 协议的信息,但在 Wiki 页面上找不到此内容。我可以理解跟踪者和发布者的角色,但从实际的角度来看,我尝试联系跟踪者给我一些信息,它给了我以下信息:
现在,开头的长字符串可能是信息哈希。作为下一步,我这样做了:
它给了我一个种子文件。到目前为止,一切都很好。种子文件包含以下内容:
我去了这个网站:http://en.wikipedia.org/wiki/Torrent_file但找不到任何描述(或者可能错过了)。现在,如果我是客户并且我得到了这个文件,我从哪里得到有这个文件的 IP 地址列表?
bittorrent - Torrentz.com 如何为同一种子找到不同的跟踪器?
我想知道这种比较背后的逻辑。BtReannouncer.net 也在做同样的事情
种子是否具有相似的哈希值,或者它们是否按大小和名称进行比较?
piratebay 上的大多数种子都没有除 piratebay 之外的跟踪器,但 torrentz.com 提供了跟踪同一种子的所有跟踪器的完整列表。
statistics - 如何从 bittorrent swarm 中收集统计信息?
我想在不实际下载任何内容(或尽可能少)的情况下,从新的 bittorrent 群中的文件传播中收集统计信息。我需要知道哪个对等方有哪些部分(以进行基于文件的统计),仅知道播种机和吸血机的数量或百分比是不够的。稍后当有很多同行时,我需要下载数据以确定它是什么。这部分可以通过普通的 torrent 客户端完成。
我不打算自己实现该协议,所以我查看了 2 个实现 libtorrent 和 ktorrent 的 libbtcore。两者都无法在不下载的情况下收集数据,当没有任何内容可下载时,根本没有连接的对等方。Libtorrent 更简单,但 ktorrent 看起来更好评论。
我看到了 3 种可能性:
- 为此使用一些应用程序。有吗?
- 修改一个 torrent 实现来做我想做的事。有人熟悉他们吗?从哪儿开始?
- 实现协议的一小部分。只是定期询问同伴他们有什么。这是可行的还是程序需要支持几乎完整的协议?
你有什么建议吗?
networking - 有人可以解释什么是线级协议吗?
我对线级协议的概念不是很清楚。我听说 BitTorrent 使用它并且读到线级协议可以被认为是 API 的对立面。我读过 RMI 调用可以被认为是线级协议,但仍然有点困惑。有人可以更好地解释这一点吗?
java - 是否有一个我可以轻松地从 java 以编程方式控制的 bittorent 客户端?
客户希望向系统添加功能,该系统将在 20 台服务器之间分发大文件(~700mb)。该系统是用java编写的。Bittorent 似乎是一个完美的解决方案,是否有可用的客户端允许我从 Java 以编程方式添加/删除种子和跟踪种子进度?
ftp - 使用 bit-torrent 下载大文件作为 FTP 的替代方案
我工作的公司采购大量数据,并通过订阅 FTP 位置来做到这一点。我想知道是否可以使用跟踪器下载相同的内容,主要挑战是 IMO 用户身份验证。我们订阅的大多数 ftp 服务器都有 ftp 连接尝试次数的限制。这里有没有人有这方面的经验?欢迎任何建议。
编辑
为了澄清,我们订阅了第三方供应商并使用他们提供的凭据访问他们的 ftp 位置。该服务不是我们独有的,他们确实将他们的数据出售给其他几个人。如果我们可以成为 swarm 的一部分,那么下载率将会非常高,而且不会增加任何惩罚。问题是关于实现这一目标的可能性,以便我们可以在这些方面提出建议。供应商显然不会与非订阅者共享数据,所以这是一个约束。