gpt4 book ai didi

metadata - 从 torrent 集合中的单个文件生成 torrent/magnet 链接

转载 作者:行者123 更新时间:2023-12-01 10:54:14 27 4
gpt4 key购买 nike

我想知道是否有可能,有一个 torrent 集合(即包含多个文件的 torrent)来提取一个,生成一个几乎新的 torrent/magnet 链接来只下载那个单个文件,但使用相同的来源(宣布等) ,而不是下载整个 torrent,然后选择要下载的内容或不下载的内容。

感谢您的任何提示。

最佳答案

2019 年更新:是的,您现在可以了! 2017 年发布了一份 BEP 草案,其中涵盖了磁铁 URI 的问题行为!这很棒,因为它创建了一个标准,在指向多文件 torrent 的磁体 URI 和指向该多文件 torrent 中的单个文件的磁体 URI 之间保持一致的 info_hash。他们将共享一个群,这意味着您可以,因为问题是“[生成] 一个几乎新的 torrent/magnet 链接以仅下载该单个文件但使用相同的来源”。

BEP 草案:
http://www.bittorrent.org/beps/bep_0053.html BEP 53:“磁铁 URI 扩展 - 选择特定的文件索引进行下载”

请求文件 0、2、4 和包含范围 6 到 8 的示例 URI:

magnet:?xt=urn:btih:HASH&dn=NAME&tr=TRACKER&so=0,2,4,6-8

并且 BEP 草案正在进入 bittorrent 库:
  • https://gitlab.com/proninyaroslav/libretorrent/tags/1.9 LibreTorrent 1.9 2018-11-26
  • https://github.com/webtorrent/webtorrent/issues/1395 Webtorrent 0.100.0 2018 年 5 月 23 日


  • 2013-MAY-03 原答案:
    有时是的,但不经常,并且由此产生的群体没有同伴。

    首先,您需要原始的 .torrent 文件,因此如果您只有磁力 URI,则需要使用 DHT 将其解析为 .torrent。任何支持磁铁 URI 的 bittorrent 库都有该任务的代码。

    获得 .torrent 后,您需要获取与您感兴趣的文件相关的哈希值。 .torrent 文件包含一个很长的字符串,每 20 个字节代表 Torrent 中每个片段的哈希值。一个 torrent 的片长是固定的,通常在 256KB 到 1MB 之间。如果文件刚好从一个片段偏移开始,并且大小等于片段大小的倍数,或者是 torrent 中的最后一个文件,那么您可以重用这些哈希。然后,您可以使用该信息创建一个新的 .torrent 文件,并从 Torrent 文件生成一个新的磁力 URI,重新使用公告或使用新的公告。

    Torrent 信息结构: https://wiki.theory.org/BitTorrentSpecification#Metainfo_File_Structure

    幸运地获得该偏移量是不太可能的,因为片段长度通常在 256KB 和 1MB 之间变化,您有 1/262144 到 1/268435456 的机会获得该偏移量(假设文件可以在片段中的任何位置开始),所以这种情况不太可能。如果您不能重新使用哈希,则需要生成新的哈希,这意味着您不能重新使用 .torrent,并且需要下载文件以生成新的哈希。

    杀手是最终创建的 torrent 具有不同的 info_hash。 info_hash 是描述 torrent 的信息的哈希值,它是对许多文件的描述,现在在您的新哈希中是单个文件的描述,因此是一个新的 torrent,因此没有人可以从中窃取。对等点根据 info_hash 收集成群,如果您根据多文件 torrent 中的一个文件创建新 torrent,则多文件 torrent 中的对等点不知道它,也无法从中窃取。

    即使您有幸获得了正确的片段偏移量,您也会创建一个没有任何人共享文件的 Torrent。

    那么,您是否可以改为重新使用磁体 URI 并在 torrent 中指定一个文件名?不,描述 Bittorrent 如何使用磁铁 URI 的 BEP 没有涵盖这种行为。 http://www.bittorrent.org/beps/bep_0009.html

    关于metadata - 从 torrent 集合中的单个文件生成 torrent/magnet 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16333165/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com