Feature: add option to enable sni sniff

This commit is contained in:
Kr328
2022-07-02 10:59:56 +08:00
parent eb7cd8923f
commit 7b7ee554e3
7 changed files with 22 additions and 11 deletions

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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")