mirror of
https://github.com/MetaCubeX/ClashMetaForAndroid.git
synced 2025-02-16 14:53:15 +03:00
Feature: add prefer h3 dns
This commit is contained in:
parent
6626e1649b
commit
5255a0de81
@ -40,7 +40,7 @@ subprojects {
|
||||
minSdk = 21
|
||||
targetSdk = 31
|
||||
|
||||
versionName = "2.5.11-pre01"
|
||||
versionName = "2.5.11-pre02"
|
||||
versionCode = 205011
|
||||
|
||||
resValue("string", "release_name", "v$versionName")
|
||||
|
@ -73,6 +73,9 @@ data class ConfigurationOverride(
|
||||
@SerialName("enable")
|
||||
var enable: Boolean? = null,
|
||||
|
||||
@SerialName("prefer-h3")
|
||||
var preferH3: Boolean? = null,
|
||||
|
||||
@SerialName("listen")
|
||||
var listen: String? = null,
|
||||
|
||||
@ -150,6 +153,9 @@ data class ConfigurationOverride(
|
||||
|
||||
@SerialName("skip-domain")
|
||||
var skipDomain: List<String>? = null,
|
||||
|
||||
@SerialName("port-whitelist")
|
||||
var portWhitelist: List<String>? = null,
|
||||
)
|
||||
|
||||
@Serializable
|
||||
|
@ -93,6 +93,47 @@ class MetaFeatureSettingsDesign(
|
||||
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)
|
||||
|
||||
val snifferDependencies: MutableList<Preference> = mutableListOf()
|
||||
@ -148,8 +189,16 @@ class MetaFeatureSettingsDesign(
|
||||
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)
|
||||
|
||||
val geoxurlDependencies: MutableList<Preference> = mutableListOf()
|
||||
@ -180,6 +229,7 @@ class MetaFeatureSettingsDesign(
|
||||
empty = R.string.geosite_url,
|
||||
configure = geoxurlDependencies::add,
|
||||
)
|
||||
*/
|
||||
}
|
||||
|
||||
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(
|
||||
value = configuration.dns::listen,
|
||||
adapter = NullableTextAdapter.String,
|
||||
|
@ -228,4 +228,6 @@
|
||||
<string name="geox_geoip">GeoIp Url</string>
|
||||
<string name="geox_mmdb">MMDB Url</string>
|
||||
<string name="geox_geosite">Geosite Url</string>
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
</resources>
|
@ -228,4 +228,6 @@
|
||||
<string name="geox_geoip">GeoIp Url</string>
|
||||
<string name="geox_mmdb">MMDB Url</string>
|
||||
<string name="geox_geosite">Geosite Url</string>
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
</resources>
|
||||
|
@ -231,4 +231,6 @@
|
||||
<string name="geox_geoip">GeoIp Url</string>
|
||||
<string name="geox_mmdb">MMDB Url</string>
|
||||
<string name="geox_geosite">Geosite Url</string>
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="port_whitelist">Port Whitelist</string>
|
||||
</resources>
|
@ -132,7 +132,7 @@
|
||||
|
||||
<string name="general">General</string>
|
||||
<string name="dns">DNS</string>
|
||||
|
||||
<string name="prefer_h3">Prefer h3</string>
|
||||
<string name="http_port">HTTP Port</string>
|
||||
<string name="socks_port">Socks Port</string>
|
||||
<string name="redirect_port">Redirect Port</string>
|
||||
@ -286,6 +286,7 @@
|
||||
<string name="sniffing">Sniffer Mode</string>
|
||||
<string name="force_domain">Force 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="sniffer_config">Load Sniffer From Config</string>
|
||||
<string name="sniffer_override">Override Sniffer Config</string>
|
||||
|
Loading…
x
Reference in New Issue
Block a user