Global HTTP headers' masquerading: Add "curl"; Improve version generators#5916
Global HTTP headers' masquerading: Add "curl"; Improve version generators#5916
Conversation
|
|
|
Just added Chrome to the party, all scaled with exponentials. |
|
|
|
#5658 (comment) 25-45 天就是这么来的 |
|
@RPRX I did a statistical counting from Chrome 127 all the way to 147. The average release duration counting all the delays is 31.15 days, although I might as well increase the average cycle to 32 just in case. |
|
你要取 avg 的话极容易出现“未发布的版本”,#5658 (comment) 这里也说了可以每年修正下 |
|
就是说 Chrome 还是按 avg=35 来算吧,其它浏览器也是改成 avg 加几天 |
|
@RPRX Not really, however that will rely on the fixed setback to do the work. The current maximum is 63 days out of the 31.25 day average, a fixed setback of at least 32 day will currently sidestep the problem. Although I admit that having a single version ahead of normal stable release schedule will not be that suspicious, the exponential curve could amplify that. Although there could be a better modelling curve for Chrome than the exponential curve. I probably need to look at some more curves to see which offers a skewed bell. Edit: Replied too late. |
|
So 35 days for Chrome and 30 for Firefox. The current version generator of Safari (macOS and iOS seem to be the same, however Safari on iOS sends headers unpredictably) is heavily reliant on calendar instead of duration like the real deal, and it is pretty conservative based on most edge case observations. |
|
|
|
I think it is now ready for merging. |
|
@RPRX Streamed upload is a "yes" in theory, however it wasn't properly tested before updates to HTTP-based transports landed, so I have no idea if simply merging the changes to the current codebase will work. |
|
仍然无法解决最大6个ws连接的问题 |
|
|
per host |
就是 per host,至少 Chromium 是这样, |
This PR added version generators for cURL, Firefox and Safari, as well as realistic headers for each. The RNG has also been migrated to become global.
The newer version generators still use randomized distributions, however it's now more deterministic, with a single setback scaled by a natural tailed curve, simulating common version distribution graphs.
I do suggest that the Chrome version generator should use the exact same approach to avoid version distribution avalanche caused by normal distribution. The current implementation of the Chrome version generator does not correlate well with the actual browser version distribution.