从info hash生成磁力链接的方法

jubt 2020-12-29 4659

一直把 torrentz2.eu 推荐给身边需要使用磁力搜索引擎找资源的朋友,之所以推荐torrentz2.eu ,原因在于 :Torrentz2 是所谓的Meta Search,聚合了众多磁力搜索引擎的资源 ,资源极为丰富。

但大部分人第一次用torrentz2 都很懵,搜索质量确实不错,但搜索出来的内容,没有任何下载按钮。Torrentz2 最初直接在搜索结果中提供了下载链接,但目前把下载链接去掉了,只在界面上保留了资源对应的info_hash ,于是很多老司机一下就不知所措。

稍微有点经验的老司机都会在info_hash前面加上磁力搜索的标准前缀:magnet:?xt=urn:btih: 从而得到对应的磁力链接,也即,一个常见的磁力种子的格式为:

magnet:?xt=urn:btih:info_hash

但如果留意一下,会发现很多磁力资源的磁力链接极长,例如下面:

Soul (2020) ITA-ENG Ac3 5.1 WebRip 1080p H264 [ArMor]

此标准的磁力链接包含了几部分:

标准前缀:magnet:?xt=urn:btih:

info_hash:a77c663ca7c354359acb97fbf7e2800393e2a42d

显示名称(Display Name):dn=Soul+%282020%29+ITA-ENG+Ac3+5.1+WebRip+1080p+H264+%5BArMor%5D

文件大小(eXact Length):xl=4443956914

Tracker服务器(address TRacker):tr=udp%3A%2F%2Ftracker.coppersurfer.tk:6969/announce&tr=...各tracker服务器地址采用 encodeURIComponent 编码(也即php中的urlencode),各服务器地址tr=用&连接。

关于磁力链接标准格式的说明,请参考 维基百科

回到文章的主题,如果给定一个info_hash ,怎样生成一个磁力链接地址?

一个标准的磁力链接,标准前缀+info_hash是必须的,其他字段都是可选的,因此如果有info_hash,直接加上标准前缀就可以得到一个磁力链接,但为何很多磁力链接会加上冗长的Tracker服务器列表呢?

原因很简单:在分享连接中添加Tracker服务器,可以加速客户端在P2P网络搜索速度,而做种客户端也会向这些Tracker服务器上报做种进度,最终也会加速下载速度。

看来,通过工具将torrent种子文件转为磁力链接时候,有必要保留对应的Tracker服务器。根据info hash生成磁力链接时候,最好也带上Tracker服务器。

当然,如果在客户端直接指定Tracker服务器也可以,像qBittorrent 等BT客户端都可以直接指定Tracker服务器。

Tracker服务器列表服务

推荐两个Tracker 服务器列表,这两个Tracker服务器列表更新都极为频繁,第一个是中国人维护的,第二个老外维护的。

https://trackerslist.com/#/zh

https://github.com/ngosang/trackerslist

当然还有 Open Trackers

从info hash生成磁力链接的服务

那么,有什么工具可以帮助创建带Tracker服务器的磁力链接呢?

一些可用服务:

https://jeremylee.sh/hashtomagnet.html

https://pood.re/magnet/

http://romanr.info/magnet.html

https://downloadtorrentfile.com/

以上几个服务,缺省提供了Tracker服务器,可以更换为自己的Tracker服务器。

有心的老司机琢磨一下,会提出如下问题:如果根据info hash,添加上标准链接和Tracker服务器,会不会添加的Tracker服务器可能没有做种的peer呢?

很好的问题,以上几个服务都只是将Tracker服务器简单拼接到磁力链接的tr字段中,并没有对这些Tracker服务器对应资源的peer、seeder、leecher做查询,从而只保留那些活跃度高的Tracker服务。

其实以前有个很不错的服务   HashToMagnet.xyz ( Hash2Magnet.com )就提供了此服务,只不过已经关闭了。

 

 


最新回复 (1)
  • allstar719 2020-12-29
    0 2
    1024
返回
发新帖