同一个peeridkey(每次重启客户端发生改变),私有种子会被重写覆盖ip,意义不大,比如说请求两次,第一次ipv4,第二次ipv6,那么会被ipv6覆盖掉ipv4,登录pt网站看到的ip地址为ipv6,ipv4已经被覆盖删除,至少目前的pt服务端程序都是这么做的。
现在根据系统api调度还是比较合理的,Windows系统的api做法是优先使用ipv6,目前的问题是因为服务器ipv6故障,导致的访问失败后,不会使用ipv4去重试,永远在第一个Addresses上发起,应该和浏览器一样,如果30秒访问失败还是怎么的,会自动转成ipv4访问站点,不过感觉故障失败设计起来比较麻烦还不如直接A和AAAA汇报两次。。。
port_type字符串表面了是否绿灯
natmapped这个应该废弃了,bep规范上面都没有写,本地ip为公网ip与对外ip相同的情况,经过测试值也始终是1,没有出现其它值情况
localip通过系统api取本地网卡ipv4,一般用于学校私有tracker中(强制禁用LSD),所有人出口ip相同,需要通过汇报字符串判断内网ip,不过目前确实没见到有任何公共tracker和私有tracker在使用,都是取与服务器通讯建立tcp握手ip
不过像这样,直接把tracker搭建在内网服务器上,用内网ip形式访问也能正确取得握手ip为内网ip,,,所以这参数也没多大用了,除非pt tracker服务器在公网阿里云上,要服务校内所有人才需要这种参数
总结port_type和localip可以没用,但是不能没有,占用不了什么流量,natmapped感觉可以删除,主要开销还是服务器响应的用户列表数据,不过通过zstd压缩后也没多少回包流量了,虽然压缩率不高但是还是有压缩率的