Add dns routing option

This commit is contained in:
problematicconsumer
2024-01-01 19:01:36 +03:30
parent 7262ff89b7
commit b117ab0372
10 changed files with 17 additions and 0 deletions

View File

@@ -224,6 +224,7 @@
"clashApiPort": "Clash API Port", "clashApiPort": "Clash API Port",
"enableTun": "Enable TUN", "enableTun": "Enable TUN",
"setSystemProxy": "Set System Proxy", "setSystemProxy": "Set System Proxy",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS", "enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan", "bypassLan": "Bypass Lan",
"strictRoute": "Strict Route", "strictRoute": "Strict Route",

View File

@@ -224,6 +224,7 @@
"clashApiPort": "پورت کلش", "clashApiPort": "پورت کلش",
"enableTun": "فعال سازی تونل", "enableTun": "فعال سازی تونل",
"setSystemProxy": "تنظیم پروکسی سیستم", "setSystemProxy": "تنظیم پروکسی سیستم",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS", "enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan", "bypassLan": "Bypass Lan",
"strictRoute": "Strict Route", "strictRoute": "Strict Route",

View File

@@ -222,6 +222,7 @@
"clashApiPort": "Порт Clash API", "clashApiPort": "Порт Clash API",
"enableTun": "Использовать TUN", "enableTun": "Использовать TUN",
"setSystemProxy": "Использовать системный прокси", "setSystemProxy": "Использовать системный прокси",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Использовать поддельную DNS", "enableFakeDns": "Использовать поддельную DNS",
"bypassLan": "Обход локальной сети", "bypassLan": "Обход локальной сети",
"strictRoute": "Строгая маршрутизация", "strictRoute": "Строгая маршрутизация",

View File

@@ -222,6 +222,7 @@
"clashApiPort": "Clash API Bağlantı Noktası", "clashApiPort": "Clash API Bağlantı Noktası",
"enableTun": "TUN'u etkinleştir", "enableTun": "TUN'u etkinleştir",
"setSystemProxy": "Sistem Proxy'sini Ayarla", "setSystemProxy": "Sistem Proxy'sini Ayarla",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Sahte DNS'yi Etkinleştir", "enableFakeDns": "Sahte DNS'yi Etkinleştir",
"bypassLan": "Lan'ı Atla", "bypassLan": "Lan'ı Atla",
"strictRoute": "Kesin Rota", "strictRoute": "Kesin Rota",

View File

@@ -222,6 +222,7 @@
"clashApiPort": "Clash API 端口", "clashApiPort": "Clash API 端口",
"enableTun": "启用 TUN", "enableTun": "启用 TUN",
"setSystemProxy": "设置系统代理", "setSystemProxy": "设置系统代理",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "启用 Fake DNS", "enableFakeDns": "启用 Fake DNS",
"bypassLan": "绕过局域网", "bypassLan": "绕过局域网",
"strictRoute": "严格路由", "strictRoute": "严格路由",

View File

@@ -104,6 +104,7 @@ class ConfigOptionRepositoryImpl
setSystemProxy: persisted.serviceMode == ServiceMode.systemProxy, setSystemProxy: persisted.serviceMode == ServiceMode.systemProxy,
bypassLan: persisted.bypassLan, bypassLan: persisted.bypassLan,
enableFakeDns: persisted.enableFakeDns, enableFakeDns: persisted.enableFakeDns,
enableDnsRouting: persisted.enableDnsRouting,
independentDnsCache: persisted.independentDnsCache, independentDnsCache: persisted.independentDnsCache,
enableTlsFragment: persisted.enableTlsFragment, enableTlsFragment: persisted.enableTlsFragment,
tlsFragmentSize: persisted.tlsFragmentSize, tlsFragmentSize: persisted.tlsFragmentSize,

View File

@@ -38,6 +38,7 @@ class ConfigOptionEntity with _$ConfigOptionEntity {
@Default(6756) int clashApiPort, @Default(6756) int clashApiPort,
@Default(false) bool bypassLan, @Default(false) bool bypassLan,
@Default(false) bool enableFakeDns, @Default(false) bool enableFakeDns,
@Default(true) bool enableDnsRouting,
@Default(true) bool independentDnsCache, @Default(true) bool independentDnsCache,
@Default(false) bool enableTlsFragment, @Default(false) bool enableTlsFragment,
@RangeWithOptionalCeilJsonConverter() @RangeWithOptionalCeilJsonConverter()
@@ -96,6 +97,7 @@ class ConfigOptionEntity with _$ConfigOptionEntity {
clashApiPort: patch.clashApiPort ?? clashApiPort, clashApiPort: patch.clashApiPort ?? clashApiPort,
bypassLan: patch.bypassLan ?? bypassLan, bypassLan: patch.bypassLan ?? bypassLan,
enableFakeDns: patch.enableFakeDns ?? enableFakeDns, enableFakeDns: patch.enableFakeDns ?? enableFakeDns,
enableDnsRouting: patch.enableDnsRouting ?? enableDnsRouting,
independentDnsCache: patch.independentDnsCache ?? independentDnsCache, independentDnsCache: patch.independentDnsCache ?? independentDnsCache,
enableTlsFragment: patch.enableTlsFragment ?? enableTlsFragment, enableTlsFragment: patch.enableTlsFragment ?? enableTlsFragment,
tlsFragmentSize: patch.tlsFragmentSize ?? tlsFragmentSize, tlsFragmentSize: patch.tlsFragmentSize ?? tlsFragmentSize,

View File

@@ -32,6 +32,7 @@ class ConfigOptionPatch with _$ConfigOptionPatch {
int? clashApiPort, int? clashApiPort,
bool? bypassLan, bool? bypassLan,
bool? enableFakeDns, bool? enableFakeDns,
bool? enableDnsRouting,
bool? independentDnsCache, bool? independentDnsCache,
bool? enableTlsFragment, bool? enableTlsFragment,
@RangeWithOptionalCeilJsonConverter() @RangeWithOptionalCeilJsonConverter()

View File

@@ -174,6 +174,13 @@ class ConfigOptionsPage extends HookConsumerWidget {
); );
}, },
), ),
SwitchListTile(
title: Text(t.settings.config.enableDnsRouting),
value: options.enableDnsRouting,
onChanged: (value) => changeOption(
ConfigOptionPatch(enableDnsRouting: value),
),
),
const SettingsDivider(), const SettingsDivider(),
SettingsSection(t.settings.config.section.inbound), SettingsSection(t.settings.config.section.inbound),
ListTile( ListTile(

View File

@@ -36,6 +36,7 @@ class SingboxConfigOption with _$SingboxConfigOption {
required bool setSystemProxy, required bool setSystemProxy,
required bool bypassLan, required bool bypassLan,
required bool enableFakeDns, required bool enableFakeDns,
required bool enableDnsRouting,
required bool independentDnsCache, required bool independentDnsCache,
required bool enableTlsFragment, required bool enableTlsFragment,
@RangeWithOptionalCeilJsonConverter() @RangeWithOptionalCeilJsonConverter()