From c5ea7848b37d985b9f25080b96c5e82c415205fc Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 19 Mar 2025 23:57:09 +0800 Subject: [PATCH] add disable_udp_hole_punching and hide passwd for web (#700) * add disable_udp_hole_punching for web * hide network_secret by default --------- Co-authored-by: Sijie.Sun --- easytier-web/frontend-lib/src/components/Config.vue | 7 ++++--- easytier-web/frontend-lib/src/locales/cn.yaml | 3 +++ easytier-web/frontend-lib/src/locales/en.yaml | 3 +++ easytier-web/frontend-lib/src/types/network.ts | 2 ++ easytier/src/launcher.rs | 4 ++++ easytier/src/proto/web.proto | 1 + 6 files changed, 17 insertions(+), 3 deletions(-) diff --git a/easytier-web/frontend-lib/src/components/Config.vue b/easytier-web/frontend-lib/src/components/Config.vue index e682268..a367003 100644 --- a/easytier-web/frontend-lib/src/components/Config.vue +++ b/easytier-web/frontend-lib/src/components/Config.vue @@ -1,7 +1,7 @@ @@ -196,8 +197,8 @@ const bool_flags: BoolFlag[] = [
- +
diff --git a/easytier-web/frontend-lib/src/locales/cn.yaml b/easytier-web/frontend-lib/src/locales/cn.yaml index a50b449..1ac76a3 100644 --- a/easytier-web/frontend-lib/src/locales/cn.yaml +++ b/easytier-web/frontend-lib/src/locales/cn.yaml @@ -109,6 +109,9 @@ proxy_forward_by_system_help: 通过系统内核转发子网代理数据包, disable_encryption: 禁用加密 disable_encryption_help: 禁用对等节点通信的加密,默认为false,必须与对等节点相同 +disable_udp_hole_punching: 禁用UDP打洞 +disable_udp_hole_punching_help: 禁用UDP打洞功能 + relay_network_whitelist: 网络白名单 relay_network_whitelist_help: | 仅转发白名单网络的流量,支持通配符字符串。多个网络名称间可以使用英文空格间隔。 diff --git a/easytier-web/frontend-lib/src/locales/en.yaml b/easytier-web/frontend-lib/src/locales/en.yaml index b6f6bf5..af86d96 100644 --- a/easytier-web/frontend-lib/src/locales/en.yaml +++ b/easytier-web/frontend-lib/src/locales/en.yaml @@ -108,6 +108,9 @@ proxy_forward_by_system_help: Forward packet to proxy networks via system kernel disable_encryption: Disable Encryption disable_encryption_help: Disable encryption for peers communication, default is false, must be same with peers +disable_udp_hole_punching: Disable UDP Hole Punching +disable_udp_hole_punching_help: Disable udp hole punching + relay_network_whitelist: Network Whitelist relay_network_whitelist_help: | Only forward traffic from the whitelist networks, supporting wildcard strings, multiple network names can be separated by spaces. diff --git a/easytier-web/frontend-lib/src/types/network.ts b/easytier-web/frontend-lib/src/types/network.ts index e7350d8..0b7be35 100644 --- a/easytier-web/frontend-lib/src/types/network.ts +++ b/easytier-web/frontend-lib/src/types/network.ts @@ -47,6 +47,7 @@ export interface NetworkConfig { multi_thread?: boolean proxy_forward_by_system?: boolean disable_encryption?: boolean + disable_udp_hole_punching?: boolean enable_relay_network_whitelist?: boolean relay_network_whitelist: string[] @@ -104,6 +105,7 @@ export function DEFAULT_NETWORK_CONFIG(): NetworkConfig { multi_thread: true, proxy_forward_by_system: false, disable_encryption: false, + disable_udp_hole_punching: false, enable_relay_network_whitelist: false, relay_network_whitelist: [], enable_manual_routes: false, diff --git a/easytier/src/launcher.rs b/easytier/src/launcher.rs index 9e1d6b5..baf8fe2 100644 --- a/easytier/src/launcher.rs +++ b/easytier/src/launcher.rs @@ -612,6 +612,10 @@ impl NetworkConfig { } + if let Some(disable_udp_hole_punching) = self.disable_udp_hole_punching { + flags.disable_udp_hole_punching = disable_udp_hole_punching; + } + cfg.set_flags(flags); Ok(cfg) } diff --git a/easytier/src/proto/web.proto b/easytier/src/proto/web.proto index a857245..27632c9 100644 --- a/easytier/src/proto/web.proto +++ b/easytier/src/proto/web.proto @@ -60,6 +60,7 @@ message NetworkConfig { optional bool disable_encryption = 36; optional bool enable_socks5 = 37; optional int32 socks5_port = 38; + optional bool disable_udp_hole_punching = 39; } message MyNodeInfo {