比特彗星pt模式,tracker汇报最小间隔不会发送完成 min interval = 00:30

比特彗星pt模式,tracker汇报最小间隔不会发送完成 ,如果之前tracker返回最小间隔min interval = 00:30

复现,如果在99%进度的时候更新了tracker,然后在30秒内下载完成100%,会导致没有&event=completed参数发送到tracker

1個讚

代码里没有发现completed通告会受到更新间隔的限制。如果能重现的话,麻烦看看tracker日志,completed通告是没有发送,还是发送失败了呢



等下我看看,运行两分钟了还是这样,又卡new add了

2019-06-22 00:17:29 Announce START: https://域名.org/announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=�����^�bu�U`�m%2B~�%3FP%26&peer_id=-BC0157-�Kt� v�%20��&port=22223&natmapped=1&localip=176.113.71.22&port_type=wan&uploaded=0&downloaded=0&left=154956692&numwant=200&compact=1&no_peer_id=1&key=12128&event=started
2019-06-22 00:17:30 Tracker returned info: interval = 1:00:00, min interval = 00:30
2019-06-22 00:17:30 Tracker returned 54 peers.
2019-06-22 00:17:30 Tracker returned info: complete = 60, incomplete = 0
2019-06-22 00:17:30 schedule next announce in 1:00:00
2019-06-22 00:20:38 Announce https://域名.org/announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=�����^�bu�U`�m%2B~�%3FP%26&peer_id=-BC0157-�Kt� v�%20��&port=22223&natmapped=1&localip=176.113.71.22&port_type=wan&uploaded=0&downloaded=14529428&left=141557760&numwant=200&compact=1&no_peer_id=1&key=12128
2019-06-22 00:20:38 Tracker returned info: interval = 1:00:00, min interval = 00:30
2019-06-22 00:20:38 Tracker returned 54 peers.
2019-06-22 00:20:38 Tracker returned info: complete = 60, incomplete = 0
2019-06-22 00:20:38 schedule next announce in 1:00:00
2019-06-22 00:20:40 Announce https://域名.org/announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=�����^�bu�U`�m%2B~�%3FP%26&peer_id=-BC0157-�Kt� v�%20��&port=22223&natmapped=1&localip=176.113.71.22&port_type=wan&uploaded=0&downloaded=15954836&left=139984896&numwant=200&compact=1&no_peer_id=1&key=12128
2019-06-22 00:20:40 Tracker returned info: interval = 1:00:00, min interval = 00:30
2019-06-22 00:20:40 Tracker returned 54 peers.
2019-06-22 00:20:40 Tracker returned info: complete = 60, incomplete = 0
2019-06-22 00:20:40 schedule next announce in 1:00:00
2019-06-22 00:22:34 Announce https://域名.org/announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=�����^�bu�U`�m%2B~�%3FP%26&peer_id=-BC0157-�Kt� v�%20��&port=22223&natmapped=1&localip=176.113.71.22&port_type=wan&uploaded=0&downloaded=119026580&left=38010880&numwant=200&compact=1&no_peer_id=1&key=12128
2019-06-22 00:22:34 Tracker returned info: interval = 1:00:00, min interval = 00:30
2019-06-22 00:22:34 Tracker returned 54 peers.
2019-06-22 00:22:34 Tracker returned info: complete = 60, incomplete = 0
2019-06-22 00:22:34 schedule next announce in 1:00:00
2019-06-22 00:22:59 Announce https://域名.org/announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=�����^�bu�U`�m%2B~�%3FP%26&peer_id=-BC0157-�Kt� v�%20��&port=22223&natmapped=1&localip=176.113.71.22&port_type=wan&uploaded=0&downloaded=151286676&left=6291456&numwant=200&compact=1&no_peer_id=1&key=12128
2019-06-22 00:22:59 Tracker returned info: interval = 1:00:00, min interval = 00:30
2019-06-22 00:22:59 Tracker returned 54 peers.
2019-06-22 00:22:59 Tracker returned info: complete = 60, incomplete = 0
2019-06-22 00:22:59 schedule next announce in 1:00:00
2019-06-22 00:23:04 Announce COMPLETE: https://域名.org/announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=�����^�bu�U`�m%2B~�%3FP%26&peer_id=-BC0157-�Kt� v�%20��&port=22223&natmapped=1&localip=176.113.71.22&port_type=wan&uploaded=0&downloaded=154956692&left=0&numwant=200&compact=1&no_peer_id=1&key=12128&event=completed
2019-06-22 00:23:05 Tracker returned info: interval = 1:00:00, min interval = 00:30
2019-06-22 00:23:05 Tracker returned 54 peers.
2019-06-22 00:23:05 Tracker returned info: complete = 60, incomplete = 0
2019-06-22 00:23:05 schedule next announce in 1:00:00

现在没复现这个问题,,可能之前是网络原因导致的发送失败。那这个问题就不管他了。(不能复现的都不叫问题嗯。。)
当时没注意看这个,手动更新了几次,后来只看到网站上没有标记完成状态。

但是我发现另一个问题,,返回60个peer,比特彗星只能获取到54个,在网页中看到存在6个ipv6的用户
查看比特彗星用户列表,也没有获取到ipv6的用户ip地址,应该是解码出问题了?
直接浏览器访问tracker地址后获取数据如下,计算了下有59个peer,应该有一个是自己的ip,网站没有返回,毕竟我自己的ip 176.113.71.22不在里面
d8:intervali3600e12:min intervali30e8:completei60e10:incompletei0e5:peersld2:ip14:113.77.197.2394:porti51413eed2:ip14:115.206.203.924:porti49491eed2:ip14:117.173.199.464:porti45231eed2:ip38:2408:8206:1863:9015:211:32ff:fe91:bb7d4:porti51414eed2:ip13:139.226.11.394:porti61152eed2:ip13:222.129.42.174:porti20668eed2:ip14:112.115.20.1784:porti16881eed2:ip14:112.44.104.1944:porti61152eed2:ip14:121.21.219.2114:porti28508eed2:ip15:101.228.181.2044:porti16881eed2:ip13:183.245.78.664:porti12794eed2:ip14:117.90.179.1274:porti49433eed2:ip15:117.174.131.1244:porti56782eed2:ip12:60.176.46.264:porti8999eed2:ip12:1.203.77.1984:porti12570eed2:ip13:157.61.154.274:porti51413eed2:ip12:125.77.89.224:porti51413eed2:ip13:124.89.78.2454:porti58651eed2:ip15:114.254.110.1854:porti26085eed2:ip14:60.189.172.1984:porti51415eed2:ip14:222.93.162.1434:porti40755eed2:ip15:222.246.120.1054:porti51314eed2:ip12:61.53.241.744:porti35624eed2:ip13:223.72.31.2014:porti54321eed2:ip15:180.110.150.1184:porti50971eed2:ip15:118.112.156.1894:porti59401eed2:ip37:240e:ec:4595:cc00:7070:b731:6081:54084:porti37647eed2:ip12:180.93.163.54:porti55559eed2:ip15:183.138.211.1824:porti8888eed2:ip15:101.224.168.2384:porti53062eed2:ip13:111.193.7.1954:porti51037eed2:ip13:113.92.35.1774:porti57986eed2:ip12:163.142.51.44:porti52247eed2:ip12:175.8.48.1074:porti51413eed2:ip12:61.51.47.2064:porti40952eed2:ip13:61.129.103.864:porti28294eed2:ip14:122.226.142.264:porti8999eed2:ip14:123.235.195.354:porti51414eed2:ip14:222.187.170.574:porti51413eed2:ip39:2409:8a3c:215f:6700:baae:edff:fe24:b1254:porti51013eed2:ip13:119.33.28.1364:porti11713eed2:ip13:183.57.149.874:porti19732eed2:ip13:61.140.191.554:porti51352eed2:ip11:58.55.66.924:porti51413eed2:ip12:1.197.250.704:porti59557eed2:ip13:223.72.32.2134:porti32341eed2:ip14:222.217.13.1894:porti43202eed2:ip13:117.81.223.614:porti8998eed2:ip13:113.83.76.1894:porti62673eed2:ip37:240e:ec:4c02:aa00:a56f:ea94:22a7:b2ab4:porti54104eed2:ip13:27.22.168.1654:porti51413eed2:ip13:218.88.85.1184:porti49856eed2:ip15:223.144.200.1004:porti11240eed2:ip14:114.92.184.1024:porti51413eed2:ip15:125.117.208.2444:porti51413eed2:ip15:112.229.151.1014:porti16881eed2:ip37:2001:250:3c02:101:e476:a860:8ef1:cdd74:porti51413eed2:ip15:115.193.173.1544:porti16881eed2:ip15:171.106.194.2184:porti57340eeee

谢谢截屏反馈。BitComet支持解析tracker返回的ipv6地址peer,经测试,你提供的直接浏览器访问的数据转给BitComet能够得到59个peer地址。会不会是tracker本身有判断,直接浏览器访问的数据含ipv6地址,BitComet访问返回的数据只有ipv4?能抓包看看就更准确了。

我这确实有这个问题,浏览器是模拟比特彗星的ua和peerid访问的

抓包的数据,,好像是乱码的,看不懂
GET /announce.php?passkey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&info_hash=%C0%BB%B6%F1%82%5E%96bu%AFU%60%91m%2B~%D4%3FP%26&peer_id=-BC0157-DQ%8E%98i%9F%B0P%23%06%FB1&port=22223&natmapped=1&localip=192.168.0.8&port_type=lan&uploaded=0&downloaded=0&left=36962304&numwant=200&compact=1&no_peer_id=1&key=60458&event=started HTTP/1.1

Host: 隐藏域名

Connection: close

Accept: /

Accept-Encoding: gzip

User-Agent: BitComet/1.57.5.8

Pragma: no-cache

Cache-Control: no-cache

HTTP/1.1 200 OK

Date: Sat, 22 Jun 2019 12:02:46 GMT

Content-Type: text/plain; charset=utf-8

Transfer-Encoding: chunked

Connection: close

Set-Cookie: __cfduid=ddbd766142845a9290cc6cacd53a299a81561204956; expires=Sun, 21-Jun-20 12:02:36 GMT; path=/; domain=.隐藏域名; HttpOnly

X-Powered-By: PHP/5.5.38

Pragma: no-cache

Content-Encoding: gzip

HDHome: Share Everything

Server: cloudflare

CF-RAY: 4eae12ffd89f3407-HKG

1a7

…K…+I-*K…4630H54…S@…ZX%…f…u…RM.

RS…L.l…j{.q…O.-R…Y.Kq.+i.}.

]l6.;(.o…4?.SV0g…w…K7.8…Y-…N…]{\o…{.Z…{

.E69~…d…Q…J2…=f(U…)v.jM…E…v.>…b…7…".D…G.n…’…n…Vv\zK…V.;…O<#… …c.s…6…U=…RV…{…2…[N

…o~b…S…G…Xz.C.j]…{W.*

.o…V…Ei…KO.?.R_.EQ…WkK/|9q…T…r…:…R.I.V+…

0

返回的原始值如下
485454502f312e3120323030204f4b0d0a446174653a205361742c203232204a756e20323031392031323a30323a343620474d540d0a436f6e74656e742d547970653a20746578742f706c61696e3b20636861727365743d7574662d380d0a5472616e736665722d456e636f64696e673a206368756e6b65640d0a436f6e6e656374696f6e3a20636c6f73650d0a5365742d436f6f6b69653a205f5f6366647569643d646462643736363134323834356139323930636336636163643533613239396138313536313230343935363b20657870697265733d53756e2c2032312d4a756e2d32302031323a30323a333620474d543b20706174683d2f3b20646f6d61696e3d2e6864686f6d652e6f72673b20487474704f6e6c790d0a582d506f77657265642d42793a205048502f352e352e33380d0a507261676d613a206e6f2d63616368650d0a436f6e74656e742d456e636f64696e673a20677a69700d0a4844486f6d653a2053686172652045766572797468696e670d0a5365727665723a20636c6f7564666c6172650d0a43462d5241593a20346561653132666664383966333430372d484b470d0a0d0a3161370d0a1f8b08000000000002034bb1b0cacc2b492d2a4bccc934363330483534b2cacdcc5340081aa45a5825e7e716e4a496a4669a19a71a1a0075c0050c524dad0a52538b8a8d8d4cac6cb696049eb86a7bdf71fad7c5a94f182d52b7de59f64b71c72b69937db30d5d6c36a83b28ab6fabe7343fe653563067ef0bceaa771e89fb834b37dc38fbee81d5ccee592dd2c5e74ec71c0c2e5d7b5c6fc3fa7b8d5a82017b0a8a4536397eac14bde59a1f93fa64eb19c78fa5519beb0f4a329ef63d662855eb1b2976e26a4da4dfd7a7d245fff276a63eb5d9bbe6d889ebf76217f5cf37bef7ad22f34491ade947af6e8dfb1ef227af186ec99b56765c7a4bec92cc9beca90f56bc3bef967f90fdf0f1d8c218e58d8f9a16f7194f3c23be9ec3201be80b63fd73f37fd836a687e5b5553dea935256bfb77b95e589abe58a321dba07b75b4e0df715b1edd96f7e628695b953cc89ab8c477fb9be587adf43e16a5de8bd9bbc7b571c2a0dbc6fabac5618b8cce4cb4569b1154b4f5cbd3fb1525ffb4551cc8eb413576b4b2f7c3971b5e0e9f454c78fc507d7ce72fcb83aebd0adfb7f52014910562b920100000d0a

300d0a0d0a

解码后如下

Packet 11859

peer1_0: !!binary |
SFRUUC8xLjEgMjAwIE9LDQpEYXRlOiBTYXQsIDIyIEp1biAyMDE5IDEyOjAyOjQ2IEdNVA0KQ29u
dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04DQpUcmFuc2Zlci1FbmNvZGluZzog
Y2h1bmtlZA0KQ29ubmVjdGlvbjogY2xvc2UNClNldC1Db29raWU6IF9fY2ZkdWlkPWRkYmQ3NjYx
NDI4NDVhOTI5MGNjNmNhY2Q1M2EyOTlhODE1NjEyMDQ5NTY7IGV4cGlyZXM9U3VuLCAyMS1KdW4t
MjAgMTI6MDI6MzYgR01UOyBwYXRoPS87IGRvbWFpbj0uaGRob21lLm9yZzsgSHR0cE9ubHkNClgt
UG93ZXJlZC1CeTogUEhQLzUuNS4zOA0KUHJhZ21hOiBuby1jYWNoZQ0KQ29udGVudC1FbmNvZGlu
ZzogZ3ppcA0KSERIb21lOiBTaGFyZSBFdmVyeXRoaW5nDQpTZXJ2ZXI6IGNsb3VkZmxhcmUNCkNG
LVJBWTogNGVhZTEyZmZkODlmMzQwNy1IS0cNCg0KMWE3DQofiwgAAAAAAAIDS7GwyswrSS0qS8zJ
NDYzMEg1NLLKzcxTQAgapFpYJefnFuSklqRmmhmnGhoAdcAFDFJNrQpSU4uKjY1MrGy2lgSeuGp7
33H618WpTxgtUrfeWfZLcccraZN9sw1dbDaoOyirb6vnND/mU1YwZ+8Lzqp3Hon7g0s33Dj77oHV
zO5ZLdLF507HHAwuXXtcb8P6e41aggF7CopFNjl+rBS95Zofk/pk6xnHj6VRm+sPSjKe9j1mKFXr
Gyl24mpNpN/Xp9JF//J2pj612bvm2Inr92IX9c83vvetIvNEka3pR69ujfse8ievGG7Jm1Z2XHpL
7JLMm+ypD1a8O++Wf5D98PHYwhjljY+aFvcZTzwjvp7DIBvoC2P9c/N/2Damh+W1VT3qk1JWv7d7
leWJq+WKMh26B7dbTg33FbHt2W9+YoaVuVPMiauMR3+5vlh630Phal3ovZu8e1ccKg28b6usVhi4
zOTLRWmxFUtPXL0/sVJf+0VRzI60E1drSy98OXG14On0VMePxQfXznL8uDrr0K37f1IBSRBWK5IB
AAANCg==

Packet 11703

peer1_1: !!binary |
MA0KDQo=

tracker回包里有 Content-Encoding: gzip,需要gunzip解码才能看到明文

你可以试试把抓包里的HTTP GET请求直接用浏览器访问tracker试试看呢。。。

请求浏览器的数据就和我上面那种样子一样啊

比如浏览器,上面就能看到这种ipv6,客户端上面没有。

浏览器访问确实会不一样,User-Agent不同

我浏览器发送的UA是一模一样的

完全和客户端一致

那再看看抓包软件能不能gzip解码看到明文呢?

你试试上面那段数据能不能gzip解码出来–!?就知道了

我用的wireshark,,,不知道有什么能看到明文