Skip to content

Commit 96fb680

Browse files
authored
REALITY, TLS config: Set "chrome" as the default fingerprint
Other VLESS implementations should follow this change.
1 parent 5836afc commit 96fb680

File tree

2 files changed

+8
-9
lines changed

2 files changed

+8
-9
lines changed

infra/conf/transport_internet.go

+6-8
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func (c *WebSocketConfig) Build() (proto.Message, error) {
165165
}
166166
// Priority (client): host > serverName > address
167167
for k, v := range c.Headers {
168-
if strings.ToLower(k) == "host"{
168+
if strings.ToLower(k) == "host" {
169169
errors.PrintDeprecatedFeatureWarning(`"host" in "headers"`, `independent "host"`)
170170
if c.Host == "" {
171171
c.Host = v
@@ -438,7 +438,7 @@ func (c *TLSConfig) Build() (proto.Message, error) {
438438
config.MaxVersion = c.MaxVersion
439439
config.CipherSuites = c.CipherSuites
440440
config.Fingerprint = strings.ToLower(c.Fingerprint)
441-
if config.Fingerprint != "" && tls.GetFingerprint(config.Fingerprint) == nil {
441+
if config.Fingerprint != "unsafe" && tls.GetFingerprint(config.Fingerprint) == nil {
442442
return nil, errors.New(`unknown fingerprint: `, config.Fingerprint)
443443
}
444444
config.RejectUnknownSni = c.RejectUnknownSNI
@@ -584,15 +584,13 @@ func (c *REALITYConfig) Build() (proto.Message, error) {
584584
config.ServerNames = c.ServerNames
585585
config.MaxTimeDiff = c.MaxTimeDiff
586586
} else {
587-
if c.Fingerprint == "" {
588-
return nil, errors.New(`empty "fingerprint"`)
587+
config.Fingerprint = strings.ToLower(c.Fingerprint)
588+
if config.Fingerprint == "unsafe" || config.Fingerprint == "hellogolang" {
589+
return nil, errors.New(`invalid "fingerprint": `, config.Fingerprint)
589590
}
590-
if config.Fingerprint = strings.ToLower(c.Fingerprint); tls.GetFingerprint(config.Fingerprint) == nil {
591+
if tls.GetFingerprint(config.Fingerprint) == nil {
591592
return nil, errors.New(`unknown "fingerprint": `, config.Fingerprint)
592593
}
593-
if config.Fingerprint == "hellogolang" {
594-
return nil, errors.New(`invalid "fingerprint": `, config.Fingerprint)
595-
}
596594
if len(c.ServerNames) != 0 {
597595
return nil, errors.New(`non-empty "serverNames", please use "serverName" instead`)
598596
}

transport/internet/tls/tls.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func init() {
165165

166166
func GetFingerprint(name string) (fingerprint *utls.ClientHelloID) {
167167
if name == "" {
168-
return
168+
return &utls.HelloChrome_Auto
169169
}
170170
if fingerprint = PresetFingerprints[name]; fingerprint != nil {
171171
return
@@ -191,6 +191,7 @@ var PresetFingerprints = map[string]*utls.ClientHelloID{
191191
"qq": &utls.HelloQQ_Auto,
192192
"random": nil,
193193
"randomized": nil,
194+
"unsafe": nil,
194195
}
195196

196197
var ModernFingerprints = map[string]*utls.ClientHelloID{

0 commit comments

Comments
 (0)