TLS fingerprints: Refine "random" & "randomized", Add "randomizednoalpn"

https://github.com/XTLS/Xray-core/issues/4436#issuecomment-2687801214
This commit is contained in:
RPRX 2025-03-01 15:33:21 +00:00
parent 4b616f5cd0
commit 8d46f7e14c

View File

@ -151,10 +151,14 @@ func init() {
weights := utls.DefaultWeights weights := utls.DefaultWeights
weights.TLSVersMax_Set_VersionTLS13 = 1 weights.TLSVersMax_Set_VersionTLS13 = 1
weights.FirstKeyShare_Set_CurveP256 = 0 weights.FirstKeyShare_Set_CurveP256 = 0
randomized := utls.HelloRandomized randomized := utls.HelloRandomizedALPN
randomized.Seed, _ = utls.NewPRNGSeed() randomized.Seed, _ = utls.NewPRNGSeed()
randomized.Weights = &weights randomized.Weights = &weights
randomizednoalpn := utls.HelloRandomizedNoALPN
randomizednoalpn.Seed, _ = utls.NewPRNGSeed()
randomizednoalpn.Weights = &weights
PresetFingerprints["randomized"] = &randomized PresetFingerprints["randomized"] = &randomized
PresetFingerprints["randomizednoalpn"] = &randomizednoalpn
} }
func GetFingerprint(name string) (fingerprint *utls.ClientHelloID) { func GetFingerprint(name string) (fingerprint *utls.ClientHelloID) {
@ -185,6 +189,7 @@ var PresetFingerprints = map[string]*utls.ClientHelloID{
"qq": &utls.HelloQQ_Auto, "qq": &utls.HelloQQ_Auto,
"random": nil, "random": nil,
"randomized": nil, "randomized": nil,
"randomizednoalpn": nil,
"unsafe": nil, "unsafe": nil,
} }
@ -193,12 +198,14 @@ var ModernFingerprints = map[string]*utls.ClientHelloID{
"hellofirefox_99": &utls.HelloFirefox_99, "hellofirefox_99": &utls.HelloFirefox_99,
"hellofirefox_102": &utls.HelloFirefox_102, "hellofirefox_102": &utls.HelloFirefox_102,
"hellofirefox_105": &utls.HelloFirefox_105, "hellofirefox_105": &utls.HelloFirefox_105,
"hellofirefox_120": &utls.HelloFirefox_120,
"hellochrome_83": &utls.HelloChrome_83, "hellochrome_83": &utls.HelloChrome_83,
"hellochrome_87": &utls.HelloChrome_87, "hellochrome_87": &utls.HelloChrome_87,
"hellochrome_96": &utls.HelloChrome_96, "hellochrome_96": &utls.HelloChrome_96,
"hellochrome_100": &utls.HelloChrome_100, "hellochrome_100": &utls.HelloChrome_100,
"hellochrome_102": &utls.HelloChrome_102, "hellochrome_102": &utls.HelloChrome_102,
"hellochrome_106_shuffle": &utls.HelloChrome_106_Shuffle, "hellochrome_106_shuffle": &utls.HelloChrome_106_Shuffle,
"hellochrome_120": &utls.HelloChrome_120,
"helloios_13": &utls.HelloIOS_13, "helloios_13": &utls.HelloIOS_13,
"helloios_14": &utls.HelloIOS_14, "helloios_14": &utls.HelloIOS_14,
"helloedge_85": &utls.HelloEdge_85, "helloedge_85": &utls.HelloEdge_85,