
磁力链接是对等网络中进行信息检索和下载文档的电脑程序。和基于“位置”连接的统一资源定位符不同,磁力链接是基于元数据文件内容,属于统一资源名称。也就是说,磁力链接不基于文档的 IP 地址或定位符,而是在分布式数据库中,通过散列函数值来识别、搜索来下载文档。因为不依赖一个处于启动状态的主机来下载文档,所以特别适用没有中心服务器的对等网络。
BitTorrent 协议的种子文件可以保存一组文件的元数据。这种格式的文件被 BitTorrent 协议所定义。扩展名一般为“.torrent”。BitTorrent 使用”分布式哈希表”(DHT)来为无 tracker 的种子(torrents)存储 peer 之间的联系信息。这样每个 peer 都成了 tracker。这个协议基于 Kademila 网络并且在 UDP 上实现。
$ redis
-
cli
127.0
.
0.1
:
6379
>
scard magnets
(
integer
)
1137627
$ git clone https
:
//github.com/chenjiandongx/magnet-dht.git
$ cd magnet
-
dht
$ pip install
-
r requirements
.
txt
# 确保已经安装好 redis,redis 的具体配置可以在 database.py 里面修改。
# 至于进程数量可以在 crawler.py 进行调整$ python manage.py -h
usage
:
manage
.
py
[-
h
]
[-
s
]
[-
m
]
[-
p
]
start manage
.
py
with
flag
.
optional arguments
:
-
h
,
--
help show
this
help message
and
exit
-
s run start_server func
.
-
m run magnet2torrent func
-
p run parse_torrent func