Feature: add nameserver-policy override

This commit is contained in:
kr328 2021-05-24 12:04:40 +08:00 committed by Kr328
parent 3125b90efe
commit 1a36218c80
7 changed files with 31 additions and 2 deletions

View File

@ -80,7 +80,10 @@ data class ConfigurationOverride(
var fakeIpFilter: List<String>? = null,
@SerialName("fallback-filter")
val fallbackFilter: DnsFallbackFilter = DnsFallbackFilter()
val fallbackFilter: DnsFallbackFilter = DnsFallbackFilter(),
@SerialName("nameserver-policy")
var nameserverPolicy: Map<String, String>? = null,
)
@Serializable

View File

@ -378,6 +378,15 @@ class OverrideSettingsDesign(
configure = dnsDependencies::add,
)
editableTextMap(
value = configuration.dns::nameserverPolicy,
keyAdapter = TextAdapter.String,
valueAdapter = TextAdapter.String,
title = R.string.name_server_policy,
placeholder = R.string.dont_modify,
configure = dnsDependencies::add,
)
dns.listener?.onChanged()
}

View File

@ -208,4 +208,7 @@
<string name="active_unsaved_tips">配置文件需要在激活之前保存</string>
<string name="mode_switch_tips">僅在本次會話中有效</string>
<string name="import_">導入</string>
<string name="sources">源代碼</string>
<string name="clash_core">Clash 核心</string>
<string name="name_server_policy">Name Server 策略</string>
</resources>

View File

@ -208,4 +208,7 @@
<string name="active_unsaved_tips">配置文件需要在激活之前保存</string>
<string name="mode_switch_tips">僅在本次會話中有效</string>
<string name="import_">導入</string>
<string name="sources">源代碼</string>
<string name="clash_core">Clash 核心</string>
<string name="name_server_policy">Name Server 策略</string>
</resources>

View File

@ -210,4 +210,5 @@
<string name="import_">导入</string>
<string name="sources">源代码</string>
<string name="clash_core">Clash 核心</string>
<string name="name_server_policy">Name Server 策略</string>
</resources>

View File

@ -159,6 +159,7 @@
<string name="geoip_fallback">GeoIP Fallback</string>
<string name="ipcidr_fallback">IPCIDR Fallback</string>
<string name="domain_fallback">Domain Fallback</string>
<string name="name_server_policy">Name Server Policy</string>
<string name="dont_modify">Do not modify</string>
<string name="empty">Empty</string>

View File

@ -379,6 +379,15 @@ class OverrideSettingsDesign(
placeholder = R.string.dont_modify,
configure = dnsDependencies::add,
)
editableTextMap(
value = configuration.dns::nameserverPolicy,
keyAdapter = TextAdapter.String,
valueAdapter = TextAdapter.String,
title = R.string.name_server_policy,
placeholder = R.string.dont_modify,
configure = dnsDependencies::add,
)
dns.listener?.onChanged()
}
@ -389,4 +398,4 @@ class OverrideSettingsDesign(
fun requestClear() {
requests.offer(Request.ResetOverride)
}
}
}