support set fake-ip-filter-mode

This commit is contained in:
wwqgtxx 2024-09-12 09:20:01 +08:00
parent fb1c6a2cc3
commit c6810bc441
4 changed files with 34 additions and 0 deletions

View File

@ -109,6 +109,9 @@ data class ConfigurationOverride(
@SerialName("fake-ip-filter") @SerialName("fake-ip-filter")
var fakeIpFilter: List<String>? = null, var fakeIpFilter: List<String>? = null,
@SerialName("fake-ip-filter-mode")
var fakeIPFilterMode: FilterMode? = null,
@SerialName("fallback-filter") @SerialName("fallback-filter")
val fallbackFilter: DnsFallbackFilter = DnsFallbackFilter(), val fallbackFilter: DnsFallbackFilter = DnsFallbackFilter(),
@ -159,6 +162,14 @@ data class ConfigurationOverride(
@SerialName("fake-ip") @SerialName("fake-ip")
FakeIp, FakeIp,
} }
@Serializable
enum class FilterMode {
@SerialName("blacklist")
BlackList,
@SerialName("whitelist")
WhiteList,
}
@Serializable @Serializable
data class Sniffer( data class Sniffer(

View File

@ -333,6 +333,22 @@ class OverrideSettingsDesign(
configure = dnsDependencies::add, configure = dnsDependencies::add,
) )
selectableList(
value = configuration.dns::fakeIPFilterMode,
values = arrayOf(
null,
ConfigurationOverride.FilterMode.BlackList,
ConfigurationOverride.FilterMode.WhiteList
),
valuesText = arrayOf(
R.string.dont_modify,
R.string.blacklist,
R.string.whitelist
),
title = R.string.fakeip_filter_mode,
configure = dnsDependencies::add,
)
selectableList( selectableList(
value = configuration.dns.fallbackFilter::geoIp, value = configuration.dns.fallbackFilter::geoIp,
values = booleanValues, values = booleanValues,

View File

@ -127,11 +127,14 @@
<string name="fallback">Fallback Name Server</string> <string name="fallback">Fallback Name Server</string>
<string name="default_name_server">Default Name Server</string> <string name="default_name_server">Default Name Server</string>
<string name="fakeip_filter">FakeIP 过滤器</string> <string name="fakeip_filter">FakeIP 过滤器</string>
<string name="fakeip_filter_mode">FakeIP 过滤器模式</string>
<string name="geoip_fallback">GeoIP Fallback</string> <string name="geoip_fallback">GeoIP Fallback</string>
<string name="ipcidr_fallback">IPCIDR Fallback</string> <string name="ipcidr_fallback">IPCIDR Fallback</string>
<string name="use_built_in">使用内置</string> <string name="use_built_in">使用内置</string>
<string name="mapping">Real-IP 至 域名映射</string> <string name="mapping">Real-IP 至 域名映射</string>
<string name="fakeip">Fake-IP 至 域名映射</string> <string name="fakeip">Fake-IP 至 域名映射</string>
<string name="blacklist">黑名单</string>
<string name="whitelist">白名单</string>
<string name="off">OFF</string> <string name="off">OFF</string>
<string name="strict">Strict</string> <string name="strict">Strict</string>
<string name="always">Always</string> <string name="always">Always</string>

View File

@ -162,6 +162,7 @@
<string name="fallback">Fallback Name Server</string> <string name="fallback">Fallback Name Server</string>
<string name="default_name_server">Default Name Server</string> <string name="default_name_server">Default Name Server</string>
<string name="fakeip_filter">Fake-IP Filter</string> <string name="fakeip_filter">Fake-IP Filter</string>
<string name="fakeip_filter_mode">Fake-IP Filter Mode</string>
<string name="geoip_fallback">GeoIP Fallback</string> <string name="geoip_fallback">GeoIP Fallback</string>
<string name="geoip_fallback_code">GeoIP Fallback Code</string> <string name="geoip_fallback_code">GeoIP Fallback Code</string>
<string name="ipcidr_fallback">IPCIDR Fallback</string> <string name="ipcidr_fallback">IPCIDR Fallback</string>
@ -184,6 +185,9 @@
<string name="mapping">Real-IP to domain mapping</string> <string name="mapping">Real-IP to domain mapping</string>
<string name="fakeip">Fake-IP to domain mapping</string> <string name="fakeip">Fake-IP to domain mapping</string>
<string name="blacklist">Black List</string>
<string name="whitelist">White List</string>
<string name="off">OFF</string> <string name="off">OFF</string>
<string name="strict">Strict</string> <string name="strict">Strict</string>
<string name="always">Always</string> <string name="always">Always</string>