Browse Source

Feature: add dns.geoip-code support

kr328 4 years ago
parent
commit
f271ba3d97

+ 3 - 0
core/src/main/java/com/github/kr328/clash/core/model/ConfigurationOverride.kt

@@ -91,6 +91,9 @@ data class ConfigurationOverride(
         @SerialName("geoip")
         var geoIp: Boolean? = null,
 
+        @SerialName("geoip-code")
+        var geoIpCode: String? = null,
+
         @SerialName("ipcidr")
         var ipcidr: List<String>? = null,
 

+ 9 - 0
design/src/main/java/com/github/kr328/clash/design/OverrideSettingsDesign.kt

@@ -383,6 +383,15 @@ class OverrideSettingsDesign(
                 configure = dnsDependencies::add,
             )
 
+            editableText(
+                value = configuration.dns.fallbackFilter::geoIpCode,
+                adapter = NullableTextAdapter.String,
+                title = R.string.geoip_fallback_code,
+                placeholder = R.string.dont_modify,
+                empty = R.string.raw_cn,
+                configure = dnsDependencies::add,
+            )
+
             editableTextList(
                 value = configuration.dns.fallbackFilter::domain,
                 adapter = TextAdapter.String,

+ 1 - 0
design/src/main/res/values-zh/strings.xml

@@ -213,4 +213,5 @@
     <string name="name_server_policy">Name Server 策略</string>
     <string name="block_loopback">阻止本地回环</string>
     <string name="block_loopback_summary">阻止本地回环连接</string>
+    <string name="geoip_fallback_code">GeoIP Fallback 区域代码</string>
 </resources>

+ 2 - 0
design/src/main/res/values/strings.xml

@@ -74,6 +74,7 @@
     <string name="exit_without_save">Exit without Save</string>
     <string name="exit_without_save_warning">All changed will *LOST*</string>
 
+    <string name="raw_cn" translatable="false">cn</string>
     <string name="disabled">Disabled</string>
     <string name="unavailable">Unavailable</string>
     <string name="empty_name">Empty Name</string>
@@ -159,6 +160,7 @@
     <string name="default_name_server">Default Name Server</string>
     <string name="fakeip_filter">Fake-IP Filter</string>
     <string name="geoip_fallback">GeoIP Fallback</string>
+    <string name="geoip_fallback_code">GeoIP Fallback Code</string>
     <string name="ipcidr_fallback">IPCIDR Fallback</string>
     <string name="domain_fallback">Domain Fallback</string>
     <string name="name_server_policy">Name Server Policy</string>