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 <sunsijie@buaa.edu.cn>
This commit is contained in:
kevin
2025-03-19 23:57:09 +08:00
committed by GitHub
parent 34365a096e
commit c5ea7848b3
6 changed files with 17 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
<script setup lang="ts"> <script setup lang="ts">
import InputGroup from 'primevue/inputgroup' import InputGroup from 'primevue/inputgroup'
import InputGroupAddon from 'primevue/inputgroupaddon' import InputGroupAddon from 'primevue/inputgroupaddon'
import { SelectButton, Checkbox, InputText, InputNumber, AutoComplete, Panel, Divider, ToggleButton, Button } from 'primevue' import { SelectButton, Checkbox, InputText, InputNumber, AutoComplete, Panel, Divider, ToggleButton, Button, Password } from 'primevue'
import { DEFAULT_NETWORK_CONFIG, NetworkConfig, NetworkingMethod } from '../types/network' import { DEFAULT_NETWORK_CONFIG, NetworkConfig, NetworkingMethod } from '../types/network'
import { defineProps, defineEmits, ref, } from 'vue' import { defineProps, defineEmits, ref, } from 'vue'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
@@ -155,6 +155,7 @@ const bool_flags: BoolFlag[] = [
{ field: 'multi_thread', help: 'multi_thread_help' }, { field: 'multi_thread', help: 'multi_thread_help' },
{ field: 'proxy_forward_by_system', help: 'proxy_forward_by_system_help' }, { field: 'proxy_forward_by_system', help: 'proxy_forward_by_system_help' },
{ field: 'disable_encryption', help: 'disable_encryption_help' }, { field: 'disable_encryption', help: 'disable_encryption_help' },
{ field: 'disable_udp_hole_punching', help: 'disable_udp_hole_punching_help' },
] ]
</script> </script>
@@ -196,8 +197,8 @@ const bool_flags: BoolFlag[] = [
</div> </div>
<div class="flex flex-col gap-2 basis-5/12 grow"> <div class="flex flex-col gap-2 basis-5/12 grow">
<label for="network_secret">{{ t('network_secret') }}</label> <label for="network_secret">{{ t('network_secret') }}</label>
<InputText id="network_secret" v-model="curNetwork.network_secret" <Password id="network_secret" v-model="curNetwork.network_secret"
aria-describedby="network_secret-help" /> aria-describedby="network_secret-help" toggleMask :feedback="false"/>
</div> </div>
</div> </div>

View File

@@ -109,6 +109,9 @@ proxy_forward_by_system_help: 通过系统内核转发子网代理数据包,
disable_encryption: 禁用加密 disable_encryption: 禁用加密
disable_encryption_help: 禁用对等节点通信的加密默认为false必须与对等节点相同 disable_encryption_help: 禁用对等节点通信的加密默认为false必须与对等节点相同
disable_udp_hole_punching: 禁用UDP打洞
disable_udp_hole_punching_help: 禁用UDP打洞功能
relay_network_whitelist: 网络白名单 relay_network_whitelist: 网络白名单
relay_network_whitelist_help: | relay_network_whitelist_help: |
仅转发白名单网络的流量,支持通配符字符串。多个网络名称间可以使用英文空格间隔。 仅转发白名单网络的流量,支持通配符字符串。多个网络名称间可以使用英文空格间隔。

View File

@@ -108,6 +108,9 @@ proxy_forward_by_system_help: Forward packet to proxy networks via system kernel
disable_encryption: Disable Encryption disable_encryption: Disable Encryption
disable_encryption_help: Disable encryption for peers communication, default is false, must be same with peers 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: Network Whitelist
relay_network_whitelist_help: | relay_network_whitelist_help: |
Only forward traffic from the whitelist networks, supporting wildcard strings, multiple network names can be separated by spaces. Only forward traffic from the whitelist networks, supporting wildcard strings, multiple network names can be separated by spaces.

View File

@@ -47,6 +47,7 @@ export interface NetworkConfig {
multi_thread?: boolean multi_thread?: boolean
proxy_forward_by_system?: boolean proxy_forward_by_system?: boolean
disable_encryption?: boolean disable_encryption?: boolean
disable_udp_hole_punching?: boolean
enable_relay_network_whitelist?: boolean enable_relay_network_whitelist?: boolean
relay_network_whitelist: string[] relay_network_whitelist: string[]
@@ -104,6 +105,7 @@ export function DEFAULT_NETWORK_CONFIG(): NetworkConfig {
multi_thread: true, multi_thread: true,
proxy_forward_by_system: false, proxy_forward_by_system: false,
disable_encryption: false, disable_encryption: false,
disable_udp_hole_punching: false,
enable_relay_network_whitelist: false, enable_relay_network_whitelist: false,
relay_network_whitelist: [], relay_network_whitelist: [],
enable_manual_routes: false, enable_manual_routes: false,

View File

@@ -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); cfg.set_flags(flags);
Ok(cfg) Ok(cfg)
} }

View File

@@ -60,6 +60,7 @@ message NetworkConfig {
optional bool disable_encryption = 36; optional bool disable_encryption = 36;
optional bool enable_socks5 = 37; optional bool enable_socks5 = 37;
optional int32 socks5_port = 38; optional int32 socks5_port = 38;
optional bool disable_udp_hole_punching = 39;
} }
message MyNodeInfo { message MyNodeInfo {