磁力分载点: magnet:?xt=urn:btih:30f7b26f0beda46c8b4136f652ca57ad949eea5a&xt=urn:btmh:122035c4a450e4b2bb2f1832c06b822e7b7d1a87aefcfacbca5b91bd0366518c4417&dn=BitComet%20V2.21%20Beta12%20%5B20260613%5D
原来是我本地电脑测试完显示正常后
把服务器更新的时候忘记更新webui.zip了,随后手机访问就出现了上一版那样,刚把服务器更新下webui.zip就好了
看来我内容写多了被你一目十行了,你看这里
还是说你用ai总结了回复内容,因为内容太多所以被忽略了
值里保存的是其它用户的Get_peers才对,peer数量对的上,就是infohash记录错了和抓包对不上
这里记录的不是其他用户的Announce_peer,是其它用户的Get_peers,只是infohash值错了
所以dht.outbound_pps_limit的作用是什么,设置0和5000都没有任何改变,都搜不到用户
Beta13 已发布,欢迎试用
又看了一下,这里显示的是内部存储的值 key_id ^ my_id,忘了转换回原始的infohash,下一版我修复一下。另外对DHT网络而言,Announce_peer是存储操作,Get_peers是查询操作。
我知道啊,这里是其它DHT节点向自身本地客户端发Get_peers查询
Announce_peer是在通告里面,是自身对外正在宣告的hash,,
目前没有显示其它人对自身客户端的Announce_peer,左侧值显示的是Get_peers,但是hash是错的
哦,我知道了,你存储的100个hash是其他用户Announce_peer内容
然后另一个其它节点发送Get_peers来查询这里面的hash,反正这里显示的是错的就对了
beta13的dht工作正常了,这一版可以正常瞬间搜索到用户了,dht.outbound_pps_limit也正常起效果了,默认控制在每秒发送200个包
beta13 PEX AB反向回连增强成功了,现在和utorrent客户端,也可以反向回连
但是自身不显示对方返回的PEX信息还是和上一版一样有问题,是不是被隐藏了,这个不要隐藏啊,就算禁用bittorrent.advertise_external_utp_port,用户列表也依旧看不到A返回给自身B的pex,B要把收到A的PEX显示出来
UTP的yourport返回的端口信息正确了

永久丢tcp端口今天又复现了一次,去设置窗口换随机端口在换回去的时候弹窗了个错误码21,是不是和这个有关系?
Failed to listen on port: TCP 1235 (21 - 设备未就绪。)
这个DHT也可以更新下,其它节点发来Announce_peer包的时候,如果有implied_port=1那么回复包的时候塞进去ip字段写看到的port
dht.outbound_pps_limit 改成1没办法控制公网ip下接收到的包
network.max_udp_pkt_per_sec改成1后能控制,并且正常触发dht.udp_send_queue_threshold为1时的主动丢包
需要实现dht.outbound_pps_limit 设置为1的时候,也能触发dht.udp_send_queue_threshold去丢包
就是要这种效果,全局不限制,单独限制dht
dht.outbound_pps_limit当前控制的是本地对外发起的情况,没有考虑公网到接收其它人发来包回包的情况
你说是在peer list中单独一行显示对方返给自己的uTP端口endpoint吗?因为peer_id就是自己,不会额外一行显示,只会显示在首行的“本机”信息里,有单独的“uTP 端口”列。
peer log里倒是有pex的日志,会显示收到的peer数量。
好的,查了一下资料,可以参照 BEP 42 里的格式,DHT所有消息回复加上ip字段回传对方的外网ip及端口信息
AB反向回连支持NAT4(对称形)网络下打洞,需要A为公网或者NAT1,B可以是NAT4
当前v2.20版本已经实测A可回连B,≥ v1.95版本,需要双端为比特彗星,A为公网或者NAT1,B可以是NAT4(对称形)
现在beta13增强了AB反向回连可以和utorrent客户端更好的实现NAT1下打洞了
(NAT4需要对方客户端支持yourport,不然NAT4下发送的是统计中的端口)
因为utorrent不支持yourport,所以NAT4下还是打不上,NAT1网络下正常
等于和其它客户端打洞当前依旧要求NAT1,除非未来其它客户端更新支持了yourport
只有ABC打洞和DHT的implied_port打洞才是强制要求NAT1的,总之当前版本应该没啥问题了,就是作为B的时候用户列表看不到PEX了,要修一下
记得只需要回Announce_peer包的时候,并且对方携带了implied_port=1的时候,判断一下如果没带就不用回ip端口字段,不是所有包都去回ip字段,只要Announce_peer包就可以了
这也是当前其它客户端的实现方式
当前版本是对外发送的Announce_peer包增加了implied_port=1,就是需要处理下别人发送Announce_peer包并且包含implied_port=1就,作为接收方的时候给别人回一下ip字段
核心改进:添加对DHT协议里的implied_port 参数支持,以增强对透过NAT网络进行uTP传输的支持
看来你没看懂,v2.20旧版本B连接A后,B自身用户列表可以显示出A发到B的pex,如图所示
beta13版本,B显示不出来自A的pex了,应该是被隐藏了,或者有可能显示出来,或者是显示的东西错了,ip地址变得很诡异

v2.21 Beta13 [20260615]
一樣會出現port被封鎖
有复现,依旧会出现永久丢端口的现象
pppoe拨号上网,本地ip为对外ip相同的情况
或者服务器静态公网ip直接填入网卡
其他环境未测试
DHT目前已改为平缓发包,之前 dht.udp_send_queue_threshold 按照UDP包发送队列长度做限制,比较粗糙,准备改成两部分:
对主动请求,使用 dht.outbound_pps_limit 配合 dht.outbound_pending_request_limit 来pps限流和请求队列长度限制;
对被动回复,使用 dht.passive_reply_pps_limit 配合 dht.passive_reply_pending_limit 来做pps限流和per-IP的回复队列长度限制。
请问如何重现此问题?旧版里的默认保存路径是"E:",升级到Beta13后就变成"E:"了?















