设为首页收藏本站

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 401|回复: 1
打印 上一主题 下一主题

修改pt程序nexusphp代码支持compact=1参数返回二进制文件的 ipv6 peers列表用于客户端互相连接下载的方法

[复制链接]

签到天数: 2879 天

[LV.Master]伴坛终老

 成长值: 24150
跳转到指定楼层
楼主
发表于 2019/7/3 21:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 |Google Chrome 74.0.3729.131|Windows 10
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
问题所在
  1. d8:intervali3600e12:min intervali30e8:completei67e10:incompletei0e5:peers354:q"…uZ…G…=5.J.(<.,T#’{x…e.jT.w.p.z%F7.y.zk…r.6.1W:.0T…qM.-…*.P.=…7…8…S…_.J…z.K

  2. .S…vp… <…!..4…1D:…s…Su…=…ps.]A.y…qo\e…A…M.1.}MY…q…]…3…xi.r.H…1.n.v…]…e…Fo…]…3…0k…=3/…=.gVn.z…#'w!..-…9.WM.:7B…H .~U…

  3. …uQ.=#&qQ.4…x.+.r.f…}u…p…eA.s…A…j…e
复制代码


“peers”后面的354字节二进制数据都是ipv4 peer,每个ipv4 peer含4字节ip和2字节port共6字节,所以peer个数是354/6=59。ipv6 peers二进制数据按照协议是在“peers6”节点返回,从抓包看没有。

现在的pt程序,客户端收不到ipv6地址的,只能连接ipv4
这是修改过的,可以直接让客户端拿到ipv6
如果两边都是内网ipv4,那么,就会可能导致无法连接
如果连接成功,客户端才会互相汇报本地ipv6到对方客户端进行连接
直接服务器下发列表,客户端拿到了可以直接请求,不需要先ipv4建立


announce.php文件
114行搜索
  1. $peer_list = "";
复制代码

下方增加
  1. $peer6_list = "";
复制代码


130行搜索
  1. $peer_list .= pack("Nn", sprintf("%d",$longip), $row['port']);
复制代码


下方增加
  1.                 else
  2.                 {
  3.                         $ipv6_packed = inet_pton($row['ip']);
  4.                         if ($ipv6_packed)
  5.                                 $peer6_list .= $ipv6_packed . pack("n", $row['port']);
  6.                 }
复制代码


147行搜索
  1. $resp .= "l".$peer_list."e";
复制代码

下方增加
  1. if ($compact == 1 && strlen($peer6_list) > 0)
  2. {
  3.         $resp .= benc_str("peers6").benc_str($peer6_list);
  4. }
复制代码

出处:
https://github.com/wxhere/NexusP ... 58af6bb778d4602d277

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 顶 踩
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 2879 天

[LV.Master]伴坛终老

 成长值: 24150
沙发
发表于 2019/7/3 22:49 | 只看该作者 |Google Chrome 74.0.3729.131|Windows 10
公网bt tracker请求ipv6服务器,比如说
http://[2a04:ac00:1:3dd8::1:2710]:2710/announce
返回
[code]d8:completei2e10:downloadedi1e10:incompletei0e8:intervali1792e12:min intervali896e6:peers636:ô
[发帖际遇]: 小樱 在网吧通宵,花了 7 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 注册论坛 用百度帐号登录新浪微博账号登陆

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2019/11/21 13:38 , Processed in 2.961490 second(s), 32 queries , Gzip On, Memcache On.

Powered by itzmx!

© 2011-2019 sakura

快速回复 返回顶部 返回列表