diff --git a/src/renderer/src/locales/en-US.json b/src/renderer/src/locales/en-US.json index 09b93d8f..cb11e7c5 100644 --- a/src/renderer/src/locales/en-US.json +++ b/src/renderer/src/locales/en-US.json @@ -481,8 +481,13 @@ "dns.enhancedMode.normal": "No Mapping", "dns.fakeIp.range": "Response Range", "dns.fakeIp.rangePlaceholder": "Example: 198.18.0.1/16", + "dns.fakeIp.filterMode": "Filter Mode", + "dns.fakeIp.filterMode.blacklist": "Blacklist", + "dns.fakeIp.filterMode.whitelist": "Whitelist", + "dns.fakeIp.filterMode.rule": "Rule", "dns.fakeIp.filter": "Real IP Response", "dns.fakeIp.filterPlaceholder": "Example: +.lan", + "dns.fakeIp.filterPlaceholder.rule": "Example: RULE-SET,reject-domain,fake-ip", "dns.respectRules": "Respect Rules", "dns.defaultNameserver": "DNS Server Domain Resolution", "dns.defaultNameserverPlaceholder": "Example: 223.5.5.5, IP only", diff --git a/src/renderer/src/locales/fa-IR.json b/src/renderer/src/locales/fa-IR.json index 18b7de3d..0110432a 100644 --- a/src/renderer/src/locales/fa-IR.json +++ b/src/renderer/src/locales/fa-IR.json @@ -453,8 +453,13 @@ "dns.enhancedMode.normal": "بدون نگاشت", "dns.fakeIp.range": "محدوده پاسخ", "dns.fakeIp.rangePlaceholder": "مثال: 198.18.0.1/16", + "dns.fakeIp.filterMode": "حالت فیلتر", + "dns.fakeIp.filterMode.blacklist": "لیست سیاه", + "dns.fakeIp.filterMode.whitelist": "لیست سفید", + "dns.fakeIp.filterMode.rule": "قانون", "dns.fakeIp.filter": "پاسخ IP واقعی", "dns.fakeIp.filterPlaceholder": "مثال: +.lan", + "dns.fakeIp.filterPlaceholder.rule": "مثال: RULE-SET,reject-domain,fake-ip", "dns.respectRules": "رعایت قوانین", "dns.defaultNameserver": "سرور DNS برای حل نام دامنه", "dns.defaultNameserverPlaceholder": "مثال: 223.5.5.5، فقط IP", diff --git a/src/renderer/src/locales/ru-RU.json b/src/renderer/src/locales/ru-RU.json index 2a1a2017..afae810c 100644 --- a/src/renderer/src/locales/ru-RU.json +++ b/src/renderer/src/locales/ru-RU.json @@ -455,8 +455,13 @@ "dns.enhancedMode.normal": "Без маппинга", "dns.fakeIp.range": "Диапазон ответов", "dns.fakeIp.rangePlaceholder": "Пример: 198.18.0.1/16", + "dns.fakeIp.filterMode": "Режим фильтра", + "dns.fakeIp.filterMode.blacklist": "Черный список", + "dns.fakeIp.filterMode.whitelist": "Белый список", + "dns.fakeIp.filterMode.rule": "Правило", "dns.fakeIp.filter": "Ответ реального IP", "dns.fakeIp.filterPlaceholder": "Пример: +.lan", + "dns.fakeIp.filterPlaceholder.rule": "Пример: RULE-SET,reject-domain,fake-ip", "dns.respectRules": "Соблюдать правила", "dns.defaultNameserver": "Разрешение доменов DNS сервера", "dns.defaultNameserverPlaceholder": "Пример: 223.5.5.5, только IP", diff --git a/src/renderer/src/locales/zh-CN.json b/src/renderer/src/locales/zh-CN.json index c7c08d9b..79e791f3 100644 --- a/src/renderer/src/locales/zh-CN.json +++ b/src/renderer/src/locales/zh-CN.json @@ -481,8 +481,13 @@ "dns.enhancedMode.normal": "取消映射", "dns.fakeIp.range": "回应范围", "dns.fakeIp.rangePlaceholder": "例:198.18.0.1/16", + "dns.fakeIp.filterMode": "过滤器模式", + "dns.fakeIp.filterMode.blacklist": "黑名单", + "dns.fakeIp.filterMode.whitelist": "白名单", + "dns.fakeIp.filterMode.rule": "规则", "dns.fakeIp.filter": "真实 IP 回应", "dns.fakeIp.filterPlaceholder": "例:+.lan", + "dns.fakeIp.filterPlaceholder.rule": "例:RULE-SET,reject-domain,fake-ip", "dns.respectRules": "遵守规则", "dns.defaultNameserver": "DNS 服务器域名解析", "dns.defaultNameserverPlaceholder": "例:223.5.5.5,仅支持 IP", diff --git a/src/renderer/src/locales/zh-TW.json b/src/renderer/src/locales/zh-TW.json index 7a85ac0c..30c753da 100644 --- a/src/renderer/src/locales/zh-TW.json +++ b/src/renderer/src/locales/zh-TW.json @@ -481,8 +481,13 @@ "dns.enhancedMode.normal": "取消映射", "dns.fakeIp.range": "回應範圍", "dns.fakeIp.rangePlaceholder": "例:198.18.0.1/16", + "dns.fakeIp.filterMode": "過濾器模式", + "dns.fakeIp.filterMode.blacklist": "黑名單", + "dns.fakeIp.filterMode.whitelist": "白名單", + "dns.fakeIp.filterMode.rule": "規則", "dns.fakeIp.filter": "真實 IP 回應", "dns.fakeIp.filterPlaceholder": "例:+.lan", + "dns.fakeIp.filterPlaceholder.rule": "例:RULE-SET,reject-domain,fake-ip", "dns.respectRules": "遵守規則", "dns.defaultNameserver": "DNS 伺服器域名解析", "dns.defaultNameserverPlaceholder": "例:223.5.5.5,僅支持 IP", diff --git a/src/renderer/src/pages/dns.tsx b/src/renderer/src/pages/dns.tsx index bf62d30e..c2ecbe8c 100644 --- a/src/renderer/src/pages/dns.tsx +++ b/src/renderer/src/pages/dns.tsx @@ -28,6 +28,7 @@ const DNS: React.FC = () => { 'ntp.*.com', '+.market.xiaomi.com' ], + 'fake-ip-filter-mode': fakeIPFilterMode = 'blacklist', 'enhanced-mode': enhancedMode = 'fake-ip', 'use-hosts': useHosts = false, 'use-system-hosts': useSystemHosts = false, @@ -55,6 +56,7 @@ const DNS: React.FC = () => { enhancedMode, fakeIPRange, fakeIPFilter, + fakeIPFilterMode, useSystemHosts, respectRules, defaultNameserver, @@ -184,6 +186,7 @@ const DNS: React.FC = () => { ipv6: values.ipv6, 'fake-ip-range': values.fakeIPRange, 'fake-ip-filter': values.fakeIPFilter, + 'fake-ip-filter-mode': values.fakeIPFilterMode, 'enhanced-mode': values.enhancedMode, 'use-hosts': values.useHosts, 'use-system-hosts': values.useSystemHosts, @@ -233,6 +236,7 @@ const DNS: React.FC = () => { setValues({ ...values, enhancedMode: key as DnsMode })} > @@ -254,9 +258,29 @@ const DNS: React.FC = () => { }} /> + + + setValues({ ...values, fakeIPFilterMode: key as FilterMode }) + } + > + + + + +

{t('dns.fakeIp.filter')}

- {renderListInputs('fakeIPFilter', t('dns.fakeIp.filterPlaceholder'))} + {renderListInputs( + 'fakeIPFilter', + values.fakeIPFilterMode === 'rule' + ? t('dns.fakeIp.filterPlaceholder.rule') + : t('dns.fakeIp.filterPlaceholder') + )}