- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
到目前为止,我还没有找到任何合适的用 javascript 编码的 .torrent
文件解析器,因此我开始创建自己的解析器。
到目前为止,我能够在 javascript 中重新编码 php bdecoder,我发现的一个问题是较大的 .torrent
文件(如 http://www.vuze.com/content/channel.php?id=53&name=Scam%20School%20(Quicktime%20HD) 中的第二个文件)有时会导致 Uncaught RangeError: Maximum call stack size exceeded
Chrome 中的错误。有没有一种方法可以减少 bdecode
函数的递归运行?
除了这个问题,我还无法为成功解码的“.torrent”文件准确生成信息哈希。我对信息字典进行哈希处理,从 info
名称之后开始,到 e
“结束标记”结束。但是,与实际的 bittorrent 客户端相比,这会导致不正确的哈希值。我读错文件了吗?
当前代码: http://jsfiddle.net/e23YQ/
谢谢。
最佳答案
使用 readAsTest 或 readAsBinaryString(已弃用)读取 torrent 文件不足以生成准确的信息哈希。为了尽可能保持原生,您必须将文件作为 ArrayBuffer
读取并使用 Uint8Arrays
进行解析。解析时,保存信息字典的开始和结束偏移量,用于生成信息散列。
为了生成准确的信息散列,您必须使用 Sha-1 的 javascript 实现,它允许对 ArrayBuffers
进行散列。 Rusha似乎是一个可行的选择。在 Rusha 中使用 digestFromArrayBuffer
和包含信息字典的初始 ArrayBuffer 的一部分,我们得到一个准确的信息哈希。
使用 ArrayBuffer 消除了我之前遇到的 stackoverflow 问题。
这是调整后的代码: http://jsfiddle.net/e23YQ/5/
关于Javascript Torrent 文件解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23575020/
我正在使用 BEncoded PHP Library解码来自 Bittorrent 跟踪器的编码响应。 Tracker 的响应是: d5:filesd20:¼€™rÄ2ÞÊþVA .]á^¦d8:
我想知道是否有可能,有一个 torrent 集合(即包含多个文件的 torrent)来提取一个,生成一个几乎新的 torrent/magnet 链接来只下载那个单个文件,但使用相同的来源(宣布等) ,
http://www.torrentreactor.to/torrents_search_rss.php 如何进行 API 调用,然后一旦获得 XML 响应,我想自动选择具有最高编号的单个文件。种子和
我正在尝试通过nodejs 将 torrent 加载到 rtorrent 客户端中。我正在使用插件 node-rtorrent,但我可以编辑它或根据需要使用另一个插件。 所以我想做的是使用 rtorr
如何安装libtorrent在Windows下?另外,是否可以通过将其需要的所有库和文件包含在同一文件夹中来使其可移植? 最佳答案 您有两种途径,使用 Visual C++ 编译 libtorrent
我需要使用 C 修改 torrent 文件中的跟踪器,它们使用什么类型的编码?当我只打印 ascii 字符时,它们打印出乱码。或者有没有直接的方法使用 C 将跟踪器添加到 torrent 文件? 最佳
我想从此链接下载 .torrent 文件 http://torrage.com/torrent/13764753227BCBE3E8E82C058A7D5CE2BDDF9857.torrent为此,我
到目前为止,我还没有找到任何合适的用 javascript 编码的 .torrent 文件解析器,因此我开始创建自己的解析器。 到目前为止,我能够在 javascript 中重新编码 php bdec
我正在尝试使用 BeautifulSoup 解析来自 rarbg.to 的电影页面.我正在尝试收集电影的标题。 所以我的 Python 代码如下: import urllib2 from bs4 im
我正在寻找以编程方式通过 bittorrent 下载具体文件片段(例如第一个或最后一个 1Mb)的方法。C/C++、Java 或 Ruby 库对我来说是很好的解决方案。开源世界有什么解决方案吗? 最佳
我曾经认为我对TCP和UDP协议(protocol)的理解虽然有限,但是是正确的。尽管最近,当我意识到共享同一个 torrent 的对等点可以通过 TCP 或 UDP 协议(protocol)相互连接
本文实例讲述了PHP基于闭包思想实现的torrent文件解析工具。分享给大家供大家参考,具体如下: PHP对静态词法域的支持有点奇怪,内部匿名函数必须在参数列表后面加上use关键字,显式的说明想要
我尝试使用一个检查 .torrent 文件的内容 $ od -c xyz.torrent 文件的一些内容是纯文本的,比如关于跟踪器、创建日期、使用的编码、长度和件数的信息,但其余的都是编码的。有人可以
我想(快速)将程序/脚本放在一起以从 .torrent 文件中读取文件集。然后我想使用该集合从特定目录中删除不属于 torrent 的任何文件。 关于从 .torrent 文件读取此索引的方便库的任何
javascript 中有没有办法检查浏览器是否支持磁力链接(= 检查用户的电脑上是否安装了 torrent 客户端)? 我想通过 JavaScript 检查浏览器是否通过单击磁力链接打开 torre
我无法找到如何为 torrent 文件生成相应信息哈希的问题。这是我到目前为止的代码: InputStream input = null; try { MessageDigest sha1 =
有没有办法使用 MonoTorrent .Net 库从磁力链接生成 .torrent 文件?如果是这样,有人可以举例解释吗?我搜索了该网站并用谷歌搜索,但找不到解决方案。如果不可能,是否有其他 Win
我刚刚使用 uTorrent 下载了一个新的 linux 发行版,并开始想知道 uTorrent(和其他 bittorrent)如何通过 NAT 路由器相互发送文件?他们显然使用跟踪器来获得介绍,但他
我在 python 中创建了一个 torrent 跟踪器,它返回所有播种地址的列表和它们正在播种的端口 我想与他们握手,这样我就可以开始获取碎片并创建 block (下载文件) 到目前为止,我的握手已
我的文件夹中有一个 torrent 文件列表 (2000)。每个 torrent 文件包含大约 500 个可下载文件。总共大约有 100 万个可下载文件。我只想下载其中一些符合特定条件的内容。 我用
我是一名优秀的程序员,十分优秀!