Skip to content

Commit c6810bc

Browse files
committed
support set fake-ip-filter-mode
1 parent fb1c6a2 commit c6810bc

File tree

4 files changed

+34
-0
lines changed

4 files changed

+34
-0
lines changed

core/src/main/java/com/github/kr328/clash/core/model/ConfigurationOverride.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ data class ConfigurationOverride(
109109
@SerialName("fake-ip-filter")
110110
var fakeIpFilter: List<String>? = null,
111111

112+
@SerialName("fake-ip-filter-mode")
113+
var fakeIPFilterMode: FilterMode? = null,
114+
112115
@SerialName("fallback-filter")
113116
val fallbackFilter: DnsFallbackFilter = DnsFallbackFilter(),
114117

@@ -159,6 +162,14 @@ data class ConfigurationOverride(
159162
@SerialName("fake-ip")
160163
FakeIp,
161164
}
165+
@Serializable
166+
enum class FilterMode {
167+
@SerialName("blacklist")
168+
BlackList,
169+
170+
@SerialName("whitelist")
171+
WhiteList,
172+
}
162173

163174
@Serializable
164175
data class Sniffer(

design/src/main/java/com/github/kr328/clash/design/OverrideSettingsDesign.kt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,22 @@ class OverrideSettingsDesign(
333333
configure = dnsDependencies::add,
334334
)
335335

336+
selectableList(
337+
value = configuration.dns::fakeIPFilterMode,
338+
values = arrayOf(
339+
null,
340+
ConfigurationOverride.FilterMode.BlackList,
341+
ConfigurationOverride.FilterMode.WhiteList
342+
),
343+
valuesText = arrayOf(
344+
R.string.dont_modify,
345+
R.string.blacklist,
346+
R.string.whitelist
347+
),
348+
title = R.string.fakeip_filter_mode,
349+
configure = dnsDependencies::add,
350+
)
351+
336352
selectableList(
337353
value = configuration.dns.fallbackFilter::geoIp,
338354
values = booleanValues,

design/src/main/res/values-zh/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,11 +127,14 @@
127127
<string name="fallback">Fallback Name Server</string>
128128
<string name="default_name_server">Default Name Server</string>
129129
<string name="fakeip_filter">FakeIP 过滤器</string>
130+
<string name="fakeip_filter_mode">FakeIP 过滤器模式</string>
130131
<string name="geoip_fallback">GeoIP Fallback</string>
131132
<string name="ipcidr_fallback">IPCIDR Fallback</string>
132133
<string name="use_built_in">使用内置</string>
133134
<string name="mapping">Real-IP 至 域名映射</string>
134135
<string name="fakeip">Fake-IP 至 域名映射</string>
136+
<string name="blacklist">黑名单</string>
137+
<string name="whitelist">白名单</string>
135138
<string name="off">OFF</string>
136139
<string name="strict">Strict</string>
137140
<string name="always">Always</string>

design/src/main/res/values/strings.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@
162162
<string name="fallback">Fallback Name Server</string>
163163
<string name="default_name_server">Default Name Server</string>
164164
<string name="fakeip_filter">Fake-IP Filter</string>
165+
<string name="fakeip_filter_mode">Fake-IP Filter Mode</string>
165166
<string name="geoip_fallback">GeoIP Fallback</string>
166167
<string name="geoip_fallback_code">GeoIP Fallback Code</string>
167168
<string name="ipcidr_fallback">IPCIDR Fallback</string>
@@ -184,6 +185,9 @@
184185
<string name="mapping">Real-IP to domain mapping</string>
185186
<string name="fakeip">Fake-IP to domain mapping</string>
186187

188+
<string name="blacklist">Black List</string>
189+
<string name="whitelist">White List</string>
190+
187191
<string name="off">OFF</string>
188192
<string name="strict">Strict</string>
189193
<string name="always">Always</string>

0 commit comments

Comments
 (0)