简易的p2p文件分发系统

版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 1.前言 写了一个非常简单的p2p文件分发系统 主要目的是验证p2p下载的主要思想,所以并不是完全按照BT的公开协议来实现的,已经经过了初步的测试,但并没有在生产环境,进行大规模的使用,因此请谨慎的使用。 传送门 vearne/p2p-sharer 2.组件 2.1 制作种子文件 ./p2p-sharer gen --tracker 192.168.10.200:35330 --filePath /tmp/Motrix-1.4.1.dmg --seedPath ./ tracker tracker 地址 filePath 待分发的文件路径 seedPath 生成的种子文件的存放路径 种子文件示例 { "fileName": "Motrix-1.4.1.dmg", "trackerAddr": "192.168.10.200:35330", "length": 66112269, "pieces": [{ "index": 0, "length": 1048576, "checksum": "92465aae88444d799891ad730877f0f8593f77be" }, { "index": 1, "length": 1048576, "checksum": "7dae558c74d72d67d65533cdcecbf5f6ff5bcce1" }, ... ] } 2.2 tracker 接口文档 保存(供其他node查询)文件分片在整个集群的分布情况 维护node的上下线情况(通过心跳) 2.3 node 接口文档 接收并执行下载任务 与其它node共享文件分片 3. 使用 git clone git@github.com:vearne/p2p-sharer.git 3.1 build 3.1.1 mac env GOOS=darwin GOARCH=amd64 go build ./ 3.1.2 linux env GOOS=linux GOARCH=amd64 go build ./ 3.2 配置文件 请将配置文件放置在 ...

September 10, 2019 · 1 min