从coppersurfer.tk scrape文件解码磁铁uri

时间:2017-09-11 16:10:34

标签: decode bittorrent torrent magnet-uri

我尝试解码哈希来从scrape文件构建磁体uri(从coppersurfer.tk网站下载)

分割巨大文件后

我尝试解码哈希文件

hash = hashlib.sha1(f).hexdigest() # hash info

并获得了诸如

之类的列表
6768033e216468247bd031a0a2d9876d79818f8f : {'downloaded': 2374, 'complete': 0, 'incomplete': 75}
e5eaaedf19d4602337c71b041a669b9d70bda764 : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
a2e43672a55dcda5d6b1cbdf356da4f6a3e6178d : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
ea01e99635aa17b7d9803c3004210202b1e9e612 : {'downloaded': 1, 'complete': 0, 'incomplete': 2}
b9c569eb1820a1a67633757fc96801ed0c8f3281 : {'downloaded': 1085, 'complete': 1, 'incomplete': 0}
92c9de8c9a40405f56aa5c4d55c22720a208207f : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
a398de47b654426f4ef39054c8bbfe9f0348cd74 : {'downloaded': 304, 'complete': 1, 'incomplete': 0}
11a9f43eead2164042c87bf75fa72d885d4afe86 : {'downloaded': 0, 'complete': 0, 'incomplete': 1}
254b675173ccb75085a0e25a1da6c1ec2c5846a0 : {'downloaded': 0, 'complete': 0, 'incomplete': 1}

但当我把它组合起来创造磁铁uri时,如

magnet:?xt=urn:btih:6768033e216468247bd031a0a2d9876d79818f8f

并尝试在torrent客户端下载它,它似乎没有工作(我尝试多个其他哈希具有相同的结果)

你知道我需要做什么才能正确解码哈希吗?

谢谢你的帮助

2 个答案:

答案 0 :(得分:0)

scrape文件应该已经包含原始(20byte)表示中每个torrent的哈希值,不需要额外的哈希。您需要做的就是将它们转换为十六进制表示。

答案 1 :(得分:0)

scrape文件<form ngNoForm ... > 包含一个 bencoded 完整的scrape,从示例中可以看出,它已被正确解码。

转换为磁铁链接也正确完成 但是,搜索full_scrape_not_a_tracker.tar.gz的结果是:

6768033e216468247bd031a0a2d9876d79818f8f

即它不是真正的 info_hash ,因此完整的scrape可能包含一些虚假的 info_hashes

测试有播种机的种子可能更好 即6768033e216468247bd031a0a2d9876d79818f8f = sha1( 0x0000000000000000000000000000000000000000 ) 值不为零的那些 所以继续测试哈希,最终会变成真正的洪流。

此外,在磁力链接中添加跟踪器可能会加快查找速度。

'complete'