-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support randomized with non-nil seed in UTLSIdToSpec #157
Conversation
In one of Xray-core's use cases, I want to generate a randomized Client Hello that supports TLSv1.3 and continually reuse it until the program exits. It's convenient to generate a randomized So with this change, I'm able to set the func init() {
randomized := utls.HelloRandomized
for {
randomized.Seed, _ = utls.NewPRNGSeed()
clientHelloSpec, _ := utls.UTLSIdToSpec(randomized)
if clientHelloSpec.TLSVersMax == utls.VersionTLS13 {
PresetFingerprints["randomized"] = &randomized
break
}
}
} |
Looks interesting (and legit). We should merge this to provide maximized flexibility. Thanks! Would you like to elaborate how does this change benefit circumvention tools like Xray? IMO it kinda defeats the purpose of mimicking, and makes it a fingerprint-able behavior. Unless there are some well-known popular tools with the same or similar behavior? |
Actually,
After collecting enough amount of unusual Client Hellos, certainly the censors will find out that they are In my opinion, changing that weight to By the way, these two problems will all be gone if we reuse the same |
Thanks for the detailed analysis and suggestions. I agree that some designs included in uTLS have been outdated and needs a lot of rework. Since it is open-sourced, you are always welcome to submit PR if you'd like to! |
But we should aviod using it unless we have to, see refraction-networking/utls#157 (comment)
But we should avoid using it unless we have to, see refraction-networking/utls#157 (comment)
But we should avoid using it unless we have to, see refraction-networking/utls#157 (comment)
But we should avoid using it unless we have to, see refraction-networking/utls#157 (comment)
But we should avoid using it unless we have to, see refraction-networking/utls#157 (comment)
CC @fedosgad @gaukas