diff --git a/core/src/main/golang/native/config/process.go b/core/src/main/golang/native/config/process.go index 90d0b370169b0fe37de082ee1a6b307b4fdb7982..4344f8db3ab0fc74a9f84785fdb9a01eb5729f61 100644 --- a/core/src/main/golang/native/config/process.go +++ b/core/src/main/golang/native/config/process.go @@ -23,7 +23,6 @@ var processors = []processor{ patchDns, patchProviders, patchTun, - patchSniff, validConfig, } @@ -106,5 +105,7 @@ func process(cfg *config.RawConfig, profileDir string) error { } } + log.Debugln("sni-tls: %t", cfg.Experimental.SniffTLSSNI) + return nil } diff --git a/core/src/main/golang/native/config/process_open.go b/core/src/main/golang/native/config/process_open.go index c9808ff4221b6642d3029bdf3db13af9a545d225..bde4a3a3a5bb4a90df520d4fb29f94896d432815 100644 --- a/core/src/main/golang/native/config/process_open.go +++ b/core/src/main/golang/native/config/process_open.go @@ -7,7 +7,3 @@ import "github.com/Dreamacro/clash/config" func patchTun(cfg *config.RawConfig, _ string) error { return nil } - -func patchSniff(cfg *config.RawConfig, _ string) error { - return nil -} diff --git a/core/src/main/golang/native/config/process_premium.go b/core/src/main/golang/native/config/process_premium.go index 71d3c1db1477de5b88e487b4f7185e9b3e52fe06..570b4ec6c8cf503fddc1da3c60565bb6753803b3 100644 --- a/core/src/main/golang/native/config/process_premium.go +++ b/core/src/main/golang/native/config/process_premium.go @@ -9,9 +9,3 @@ func patchTun(cfg *config.RawConfig, _ string) error { return nil } - -func patchSniff(cfg *config.RawConfig, _ string) error { - cfg.Experimental.SniffTLSSNI = true - - return nil -} \ No newline at end of file diff --git a/core/src/main/java/com/github/kr328/clash/core/model/ConfigurationOverride.kt b/core/src/main/java/com/github/kr328/clash/core/model/ConfigurationOverride.kt index 43a4ab2303d29bfc381479616fc90f19c805e404..43dbdb8968396aa30aa360c4ffb8096d59e85fcf 100644 --- a/core/src/main/java/com/github/kr328/clash/core/model/ConfigurationOverride.kt +++ b/core/src/main/java/com/github/kr328/clash/core/model/ConfigurationOverride.kt @@ -49,6 +49,9 @@ data class ConfigurationOverride( @SerialName("clash-for-android") val app: App = App(), + + @SerialName("experimental") + val experimental: Experimental = Experimental() ) : Parcelable { @Serializable data class Dns( @@ -107,6 +110,12 @@ data class ConfigurationOverride( var appendSystemDns: Boolean? = null ) + @Serializable + data class Experimental( + @SerialName("sniff-tls-sni") + var sniffTLSSNI: Boolean? = null, + ) + @Serializable enum class DnsEnhancedMode { @SerialName("normal") diff --git a/design/src/main/java/com/github/kr328/clash/design/OverrideSettingsDesign.kt b/design/src/main/java/com/github/kr328/clash/design/OverrideSettingsDesign.kt index ba91d6b42702b645666f7e1e165adbb0e6b6d839..21479136c33a29dc2d691983724eddda12d33d6c 100644 --- a/design/src/main/java/com/github/kr328/clash/design/OverrideSettingsDesign.kt +++ b/design/src/main/java/com/github/kr328/clash/design/OverrideSettingsDesign.kt @@ -223,6 +223,15 @@ class OverrideSettingsDesign( ) } + if (BuildConfig.PREMIUM) { + selectableList( + value = configuration.experimental::sniffTLSSNI, + values = booleanValues, + valuesText = booleanValuesText, + title = R.string.sniff_tls_sni, + ) + } + selectableList( value = configuration::logLevel, values = arrayOf( diff --git a/design/src/main/res/values-zh/strings.xml b/design/src/main/res/values-zh/strings.xml index 3233e568a190350fb7803a1b0585fea23c0359d2..0892352905dde1e47d9759171eb12dfcb5729c24 100644 --- a/design/src/main/res/values-zh/strings.xml +++ b/design/src/main/res/values-zh/strings.xml @@ -216,4 +216,5 @@ <string name="geoip_fallback_code">GeoIP Fallback 区域代ç </string> <string name="allow_bypass">å…许应用绕过</string> <string name="allow_bypass_summary">å…许其他应用绕过 VPN</string> + <string name="sniff_tls_sni">嗅探 TLS çš„ SNI</string> </resources> \ No newline at end of file diff --git a/design/src/main/res/values/strings.xml b/design/src/main/res/values/strings.xml index 5f44ad298ae943b175c0f25c047640a27631c324..4086bbb263f97d7684941832ff6a0ce910678af1 100644 --- a/design/src/main/res/values/strings.xml +++ b/design/src/main/res/values/strings.xml @@ -145,6 +145,7 @@ <string name="bind_address">Bind Address</string> <string name="mode">Mode</string> <string name="log_level">Log Level</string> + <string name="sniff_tls_sni">Sniff TLS SNI</string> <string name="ipv6">IPv6</string> <string name="hosts">Hosts</string> <string name="sideload_geoip">Sideload GEOIP</string>