mirror of
https://mirror.suhoan.cn/https://github.com/EasyTier/EasyTier.git
synced 2025-12-13 05:07:23 +08:00
Add a setting "disable_udp_hole_punch" to disable UDP hole punch function (#291)
It can solve #289 tentative. Co-authored-by: 3rdnature <root@natureblog.net>
This commit is contained in:
@@ -108,6 +108,9 @@ core_clap:
|
||||
disable_p2p:
|
||||
en: "disable p2p communication, will only relay packets with peers specified by --peers"
|
||||
zh-CN: "禁用P2P通信,只通过--peers指定的节点转发数据包"
|
||||
disable_udp_hole_punching:
|
||||
en: "disable udp hole punching"
|
||||
zh-CN: "禁用UDP打洞功能"
|
||||
relay_all_peer_rpc:
|
||||
en: "relay all peer rpc packets, even if the peer is not in the relay network whitelist. this can help peers not in relay network whitelist to establish p2p connection."
|
||||
zh-CN: "转发所有对等节点的RPC数据包,即使对等节点不在转发网络白名单中。这可以帮助白名单外网络中的对等节点建立P2P连接。"
|
||||
|
||||
@@ -178,6 +178,8 @@ pub struct Flags {
|
||||
pub disable_p2p: bool,
|
||||
#[derivative(Default(value = "false"))]
|
||||
pub relay_all_peer_rpc: bool,
|
||||
#[derivative(Default(value = "false"))]
|
||||
pub disable_udp_hole_punching: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq)]
|
||||
|
||||
@@ -605,6 +605,9 @@ impl UdpHolePunchConnector {
|
||||
if self.data.global_ctx.get_flags().disable_p2p {
|
||||
return Ok(());
|
||||
}
|
||||
if self.data.global_ctx.get_flags().disable_udp_hole_punching {
|
||||
return Ok(());
|
||||
}
|
||||
|
||||
self.run_as_client().await?;
|
||||
self.run_as_server().await?;
|
||||
|
||||
@@ -266,6 +266,13 @@ struct Cli {
|
||||
)]
|
||||
disable_p2p: bool,
|
||||
|
||||
#[arg(
|
||||
long,
|
||||
help = t!("core_clap.disable_udp_hole_punching").to_string(),
|
||||
default_value = "false"
|
||||
)]
|
||||
disable_udp_hole_punching: bool,
|
||||
|
||||
#[arg(
|
||||
long,
|
||||
help = t!("core_clap.relay_all_peer_rpc").to_string(),
|
||||
|
||||
Reference in New Issue
Block a user