mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2026-05-09 18:11:26 +08:00
Feature: add prefer h3 dns
This commit is contained in:
@@ -40,7 +40,7 @@ subprojects {
|
|||||||
minSdk = 21
|
minSdk = 21
|
||||||
targetSdk = 31
|
targetSdk = 31
|
||||||
|
|
||||||
versionName = "2.5.11-pre01"
|
versionName = "2.5.11-pre02"
|
||||||
versionCode = 205011
|
versionCode = 205011
|
||||||
|
|
||||||
resValue("string", "release_name", "v$versionName")
|
resValue("string", "release_name", "v$versionName")
|
||||||
|
|||||||
@@ -73,6 +73,9 @@ data class ConfigurationOverride(
|
|||||||
@SerialName("enable")
|
@SerialName("enable")
|
||||||
var enable: Boolean? = null,
|
var enable: Boolean? = null,
|
||||||
|
|
||||||
|
@SerialName("prefer-h3")
|
||||||
|
var preferH3: Boolean? = null,
|
||||||
|
|
||||||
@SerialName("listen")
|
@SerialName("listen")
|
||||||
var listen: String? = null,
|
var listen: String? = null,
|
||||||
|
|
||||||
@@ -150,6 +153,9 @@ data class ConfigurationOverride(
|
|||||||
|
|
||||||
@SerialName("skip-domain")
|
@SerialName("skip-domain")
|
||||||
var skipDomain: List<String>? = null,
|
var skipDomain: List<String>? = null,
|
||||||
|
|
||||||
|
@SerialName("port-whitelist")
|
||||||
|
var portWhitelist: List<String>? = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
@Serializable
|
@Serializable
|
||||||
|
|||||||
@@ -93,6 +93,47 @@ class MetaFeatureSettingsDesign(
|
|||||||
title = R.string.enable_process,
|
title = R.string.enable_process,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
category(R.string.dns)
|
||||||
|
|
||||||
|
val dnsDependencies: MutableList<Preference> = mutableListOf()
|
||||||
|
|
||||||
|
val dns = selectableList(
|
||||||
|
value = configuration.dns::enable,
|
||||||
|
values = arrayOf(
|
||||||
|
null,
|
||||||
|
true,
|
||||||
|
false
|
||||||
|
),
|
||||||
|
valuesText = arrayOf(
|
||||||
|
R.string.dont_modify,
|
||||||
|
R.string.force_enable,
|
||||||
|
R.string.use_built_in,
|
||||||
|
),
|
||||||
|
title = R.string.strategy
|
||||||
|
) {
|
||||||
|
listener = OnChangedListener {
|
||||||
|
if (configuration.dns.enable == false) {
|
||||||
|
dnsDependencies.forEach {
|
||||||
|
it.enabled = false
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
dnsDependencies.forEach {
|
||||||
|
it.enabled = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
selectableList(
|
||||||
|
value = configuration.dns::preferH3,
|
||||||
|
values = booleanValues,
|
||||||
|
valuesText = booleanValuesText,
|
||||||
|
title = R.string.prefer_h3,
|
||||||
|
configure = dnsDependencies::add,
|
||||||
|
)
|
||||||
|
|
||||||
|
dns.listener?.onChanged()
|
||||||
|
|
||||||
category(R.string.sniffer_setting)
|
category(R.string.sniffer_setting)
|
||||||
|
|
||||||
val snifferDependencies: MutableList<Preference> = mutableListOf()
|
val snifferDependencies: MutableList<Preference> = mutableListOf()
|
||||||
@@ -148,8 +189,16 @@ class MetaFeatureSettingsDesign(
|
|||||||
configure = snifferDependencies::add,
|
configure = snifferDependencies::add,
|
||||||
)
|
)
|
||||||
|
|
||||||
sniffer.listener?.onChanged()
|
editableTextList(
|
||||||
|
value = configuration.sniffer::portWhitelist,
|
||||||
|
adapter = TextAdapter.String,
|
||||||
|
title = R.string.port_whitelist,
|
||||||
|
placeholder = R.string.dont_modify,
|
||||||
|
configure = snifferDependencies::add,
|
||||||
|
)
|
||||||
|
|
||||||
|
sniffer.listener?.onChanged()
|
||||||
|
/*
|
||||||
category(R.string.geox_url_setting)
|
category(R.string.geox_url_setting)
|
||||||
|
|
||||||
val geoxurlDependencies: MutableList<Preference> = mutableListOf()
|
val geoxurlDependencies: MutableList<Preference> = mutableListOf()
|
||||||
@@ -180,6 +229,7 @@ class MetaFeatureSettingsDesign(
|
|||||||
empty = R.string.geosite_url,
|
empty = R.string.geosite_url,
|
||||||
configure = geoxurlDependencies::add,
|
configure = geoxurlDependencies::add,
|
||||||
)
|
)
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.content.addView(screen.root)
|
binding.content.addView(screen.root)
|
||||||
|
|||||||
@@ -271,6 +271,14 @@ class OverrideSettingsDesign(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
selectableList(
|
||||||
|
value = configuration.dns::preferH3,
|
||||||
|
values = booleanValues,
|
||||||
|
valuesText = booleanValuesText,
|
||||||
|
title = R.string.prefer_h3,
|
||||||
|
configure = dnsDependencies::add,
|
||||||
|
)
|
||||||
|
|
||||||
editableText(
|
editableText(
|
||||||
value = configuration.dns::listen,
|
value = configuration.dns::listen,
|
||||||
adapter = NullableTextAdapter.String,
|
adapter = NullableTextAdapter.String,
|
||||||
|
|||||||
@@ -228,4 +228,6 @@
|
|||||||
<string name="geox_geoip">GeoIp Url</string>
|
<string name="geox_geoip">GeoIp Url</string>
|
||||||
<string name="geox_mmdb">MMDB Url</string>
|
<string name="geox_mmdb">MMDB Url</string>
|
||||||
<string name="geox_geosite">Geosite Url</string>
|
<string name="geox_geosite">Geosite Url</string>
|
||||||
|
<string name="prefer_h3">Prefer h3</string>
|
||||||
|
<string name="port_whitelist">Port Whitelist</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -228,4 +228,6 @@
|
|||||||
<string name="geox_geoip">GeoIp Url</string>
|
<string name="geox_geoip">GeoIp Url</string>
|
||||||
<string name="geox_mmdb">MMDB Url</string>
|
<string name="geox_mmdb">MMDB Url</string>
|
||||||
<string name="geox_geosite">Geosite Url</string>
|
<string name="geox_geosite">Geosite Url</string>
|
||||||
|
<string name="prefer_h3">Prefer h3</string>
|
||||||
|
<string name="port_whitelist">Port Whitelist</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -231,4 +231,6 @@
|
|||||||
<string name="geox_geoip">GeoIp Url</string>
|
<string name="geox_geoip">GeoIp Url</string>
|
||||||
<string name="geox_mmdb">MMDB Url</string>
|
<string name="geox_mmdb">MMDB Url</string>
|
||||||
<string name="geox_geosite">Geosite Url</string>
|
<string name="geox_geosite">Geosite Url</string>
|
||||||
|
<string name="prefer_h3">Prefer h3</string>
|
||||||
|
<string name="port_whitelist">Port Whitelist</string>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -132,7 +132,7 @@
|
|||||||
|
|
||||||
<string name="general">General</string>
|
<string name="general">General</string>
|
||||||
<string name="dns">DNS</string>
|
<string name="dns">DNS</string>
|
||||||
|
<string name="prefer_h3">Prefer h3</string>
|
||||||
<string name="http_port">HTTP Port</string>
|
<string name="http_port">HTTP Port</string>
|
||||||
<string name="socks_port">Socks Port</string>
|
<string name="socks_port">Socks Port</string>
|
||||||
<string name="redirect_port">Redirect Port</string>
|
<string name="redirect_port">Redirect Port</string>
|
||||||
@@ -286,6 +286,7 @@
|
|||||||
<string name="sniffing">Sniffer Mode</string>
|
<string name="sniffing">Sniffer Mode</string>
|
||||||
<string name="force_domain">Force Domain</string>
|
<string name="force_domain">Force Domain</string>
|
||||||
<string name="skip_domain">Skip Domain</string>
|
<string name="skip_domain">Skip Domain</string>
|
||||||
|
<string name="port_whitelist">Port Whitelist</string>
|
||||||
<string name="disable_sniffer">Disable Sniffer</string>
|
<string name="disable_sniffer">Disable Sniffer</string>
|
||||||
<string name="sniffer_config">Load Sniffer From Config</string>
|
<string name="sniffer_config">Load Sniffer From Config</string>
|
||||||
<string name="sniffer_override">Override Sniffer Config</string>
|
<string name="sniffer_override">Override Sniffer Config</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user