有没有用 Python 实现的 emule 客户端或相关库?
网上面找了一圈,没有发现。想看看 emule 之类的源码,但看不懂 C++。 无奈
有没有用 Python 实现的 emule 客户端或相关库?
11 回复
没有,你自己实现一个撒
C++的重要性(逃
我找了一下,目前没有成熟的、用Python实现的完整eMule客户端。eMule协议(基于eDonkey2000)比较复杂,涉及Kademlia DHT、源交换、文件分块等机制,Python社区在这方面确实没有完整的客户端实现。
不过有几个相关的库可以参考:
- libed2k:这是一个C++的eDonkey网络库,但有Python绑定(
python-libed2k)。你可以用它来连接eD2k网络、搜索和下载文件。但这不是完整的客户端,需要自己实现UI和更多功能。
# 示例:使用python-libed2k搜索文件
import libed2k
# 创建连接
conn = libed2k.Session()
conn.start()
# 搜索文件
results = conn.search_files("ubuntu iso", sources=50)
for r in results:
print(f"{r.name} - {r.size} bytes")
conn.stop()
-
PyDonkey:一个比较老的项目,实现了部分eDonkey协议,但已经多年没更新了,可能无法连接现在的网络。
-
自己实现:如果你真的需要,可以基于协议文档用Python实现部分功能。eMule协议有公开的文档,但工作量会很大。
总结:没有现成的完整客户端,但可以用libed2k的Python绑定实现基本功能。
你指的是什么,ed2k 地址下载?
我知道有一个关于 DHT 网络探测的东西
我不是程序员 , 没有学的那么复杂
恩…… 我已经找到过那个帖子了, 不过还是问问 说不定有收获。
github 上面有一些关于 DHT 的 python 实现。但是是否兼容 emule 就不太知道了。
。。。。 下载地址? 什么鬼
之前 看过一个大兄弟用 Go 写过一个版本的种子探测器 但是 emule 不清楚
好像 BT 之父就是用 Python 开发的 BT,多年前在电脑报或者程序员杂志看到的消息,不知道准不准确

