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",
"enableTun": "Enable TUN",
"setSystemProxy": "Set System Proxy",
"enableDnsRouting": "Enable DNS Routing",
"enableFakeDns": "Enable Fake DNS",
"bypassLan": "Bypass Lan",
"strictRoute": "Strict Route",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -32,6 +32,7 @@ class ConfigOptionPatch with _$ConfigOptionPatch {
int? clashApiPort,
bool? bypassLan,
bool? enableFakeDns,
bool? enableDnsRouting,
bool? independentDnsCache,
bool? enableTlsFragment,
@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(),
SettingsSection(t.settings.config.section.inbound),
ListTile(

View File

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