From 54ecabf5721104842d7f6d4f7a3a39499d386980 Mon Sep 17 00:00:00 2001 From: Hiddify Date: Tue, 19 Mar 2024 11:56:19 +0100 Subject: [PATCH] new: add tproxy --- assets/translations/strings_en.i18n.json | 1 + .../config_option/data/config_option_repository.dart | 8 ++++++++ .../config_option/overview/config_options_page.dart | 8 ++++++++ libcore | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/assets/translations/strings_en.i18n.json b/assets/translations/strings_en.i18n.json index 94f76aa8..af4e1a2f 100644 --- a/assets/translations/strings_en.i18n.json +++ b/assets/translations/strings_en.i18n.json @@ -372,6 +372,7 @@ "directDnsAddress": "Direct DNS", "directDnsDomainStrategy": "Direct DNS Domain Strategy", "mixedPort": "Mixed Port", + "tproxyPort": "Transparent Proxy Port", "localDnsPort": "Local DNS Port", "allowConnectionFromLan": "Share VPN in Local Network", "tunImplementation": "TUN Implementation", diff --git a/lib/features/config_option/data/config_option_repository.dart b/lib/features/config_option/data/config_option_repository.dart index 9c11b6d4..14f5d6cd 100644 --- a/lib/features/config_option/data/config_option_repository.dart +++ b/lib/features/config_option/data/config_option_repository.dart @@ -79,6 +79,12 @@ abstract class ConfigOptions { validator: (value) => isPort(value.toString()), ); + static final tproxyPort = PreferencesNotifier.create( + "tproxy-port", + 2335, + validator: (value) => isPort(value.toString()), + ); + static final localDnsPort = PreferencesNotifier.create( "local-dns-port", 6450, @@ -305,6 +311,7 @@ abstract class ConfigOptions { "direct-dns-address": directDnsAddress, "direct-dns-domain-strategy": directDnsDomainStrategy, "mixed-port": mixedPort, + "tproxy-port": tproxyPort, "local-dns-port": localDnsPort, "tun-implementation": tunImplementation, "mtu": mtu, @@ -393,6 +400,7 @@ abstract class ConfigOptions { directDnsAddress: ref.watch(directDnsAddress), directDnsDomainStrategy: ref.watch(directDnsDomainStrategy), mixedPort: ref.watch(mixedPort), + tproxyPort: ref.watch(tproxyPort), localDnsPort: ref.watch(localDnsPort), tunImplementation: ref.watch(tunImplementation), mtu: ref.watch(mtu), diff --git a/lib/features/config_option/overview/config_options_page.dart b/lib/features/config_option/overview/config_options_page.dart index c03ea937..c9de0956 100644 --- a/lib/features/config_option/overview/config_options_page.dart +++ b/lib/features/config_option/overview/config_options_page.dart @@ -266,6 +266,14 @@ class ConfigOptionsPage extends HookConsumerWidget { digitsOnly: true, validateInput: isPort, ), + ValuePreferenceWidget( + value: ref.watch(ConfigOptions.tproxyPort), + preferences: ref.watch(ConfigOptions.tproxyPort.notifier), + title: t.config.tproxyPort, + inputToValue: int.tryParse, + digitsOnly: true, + validateInput: isPort, + ), ValuePreferenceWidget( value: ref.watch(ConfigOptions.localDnsPort), preferences: ref.watch(ConfigOptions.localDnsPort.notifier), diff --git a/libcore b/libcore index aab998fa..a5ca136a 160000 --- a/libcore +++ b/libcore @@ -1 +1 @@ -Subproject commit aab998fae98d47abf8531e5ed8a736c62bd0f3dc +Subproject commit a5ca136a4c2c5cc23ebadcf392aeaf5815f677da