Fix tls tricks
This commit is contained in:
@@ -336,26 +336,33 @@ func BuildConfig(configOpt ConfigOptions, input option.Options) option.Options {
|
|||||||
directDNSDomains = append(directDNSDomains, fmt.Sprintf("full:%s", server))
|
directDNSDomains = append(directDNSDomains, fmt.Sprintf("full:%s", server))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if value, ok := obj["tls"]; ok {
|
|
||||||
tls := value.(map[string]interface{})
|
if !(out.Type == C.TypeSelector || out.Type == C.TypeURLTest || out.Type == C.TypeBlock || out.Type == C.TypeDNS) {
|
||||||
tls["mixedcase_sni"] = configOpt.TLSTricks.EnableMixedSNICase
|
if configOpt.EnableFragment {
|
||||||
if configOpt.TLSTricks.EnablePadding {
|
tlsFragment := make(map[string]interface{})
|
||||||
tls["padding_size"] = configOpt.TLSTricks.PaddingSize
|
tlsFragment["enabled"] = configOpt.TLSTricks.EnableFragment
|
||||||
} else {
|
tlsFragment["size"] = configOpt.TLSTricks.FragmentSize
|
||||||
tls["padding_size"] = ""
|
tlsFragment["sleep"] = configOpt.TLSTricks.FragmentSleep
|
||||||
|
obj["tls_fragment"] = tlsFragment
|
||||||
|
}
|
||||||
|
|
||||||
|
if value, ok := obj["tls"]; ok {
|
||||||
|
tlsTricks := make(map[string]interface{})
|
||||||
|
tlsTricks["mixedcase_sni"] = configOpt.TLSTricks.EnableMixedSNICase
|
||||||
|
if configOpt.TLSTricks.EnablePadding {
|
||||||
|
tlsTricks["padding_size"] = configOpt.TLSTricks.PaddingSize
|
||||||
|
} else {
|
||||||
|
tlsTricks["padding_size"] = ""
|
||||||
|
}
|
||||||
|
value.(map[string]interface{})["tls_tricks"] = tlsTricks
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if value, ok := obj["tls_fragment"]; ok {
|
|
||||||
tls := value.(map[string]interface{})
|
|
||||||
tls["enabled"] = configOpt.TLSTricks.EnableFragment
|
|
||||||
tls["size"] = configOpt.TLSTricks.FragmentSize
|
|
||||||
tls["sleep"] = configOpt.TLSTricks.FragmentSleep
|
|
||||||
}
|
|
||||||
modifiedJson, err := json.Marshal(obj)
|
modifiedJson, err := json.Marshal(obj)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
err = out.UnmarshalJSON(modifiedJson)
|
err = out.UnmarshalJSON(modifiedJson)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println("error: ", err)
|
fmt.Println("error: ", out.Tag, out.Type, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user