diff --git a/luasrc/model/cbi/easytier.lua b/luasrc/model/cbi/easytier.lua index 430ac83..b223396 100644 --- a/luasrc/model/cbi/easytier.lua +++ b/luasrc/model/cbi/easytier.lua @@ -166,11 +166,13 @@ whitelist = s:taboption("general",DynamicList, "whitelist", translate("白名单 translate("仅转发白名单网络的流量,输入是通配符字符串,例如:'*'(所有网络),'def*'(以def为前缀的网络)
可以指定多个网络。如果参数为空,则禁用转发。(--relay-network-whitelist 参数)")) whitelist:depends("relay_network", "1") -relaymode = s:taboption("general",ListValue, "relaymode", translate("P2P/转发"), - translate("禁用P2P:禁用P2P通信,只通过-p指定的节点转发数据包 (--disable-p2p 参数)
允许转发P2P:转发所有对等节点的RPC数据包,即使对等节点不在转发网络白名单中。这可以帮助白名单外网络中的对等节点建立P2P连接。 (--relay-all-peer-rpc 参数)")) -relaymode:value("-", translate("默认")) -relaymode:value("disable_p2p", translate("禁用P2P")) -relaymode:value("relay_all", translate("允许转发P2P")) +disable_p2p = s:taboption("general",Flag, "disable_p2p", translate("禁用P2P"), + translate("禁用P2P通信,只通过-p指定的节点转发数据包")) +disable_p2p.rmempty = false + +relay_all = s:taboption("general",Flag, "relay_all", translate("允许转发"), + translate("转发所有对等节点的RPC数据包,即使对等节点不在转发网络白名单中。
这可以帮助白名单外网络中的对等节点建立P2P连接。")) +relay_all.rmempty = false log = s:taboption("general",Flag, "log", translate("启用日志"), translate("运行日志在/tmp/easytier.log,可在上方日志查看")) diff --git a/root/etc/init.d/easytier b/root/etc/init.d/easytier index fbea9cf..167565b 100644 --- a/root/etc/init.d/easytier +++ b/root/etc/init.d/easytier @@ -101,9 +101,11 @@ start_et() { pgrep -f easytier_check | xargs kill -9 >/dev/null 2>&1 ps | grep 'easytier-core' | grep -v grep | awk '{print $1}' | xargs kill >/dev/null 2>&1 ps | grep 'easytier-core' | grep -v grep | awk '{print $1}' | xargs kill -9 >/dev/null 2>&1 - local network_name network_secret ip_dhcp ipaddr peeradd external_node rpc_portal listenermode tunname relay_network relaymode + + local network_name network_secret ip_dhcp ipaddr peeradd external_node rpc_portal listenermode tunname relay_network disable_p2p local tcp_port ws_port wss_port wg_port desvice_name instance_name vpn_portal mtu default_protocol disable_encryption whitelist - local multi_thread disable_ipv6 latency_first exit_node exit_nodes smoltcp no_tun manual_routes log check checkip proxy_network + local multi_thread disable_ipv6 latency_first exit_node exit_nodes smoltcp no_tun manual_routes log check checkip proxy_network relay_all + config_get network_name "$cfg" 'network_name' config_get network_secret "$cfg" 'network_secret' config_get_bool ip_dhcp "$cfg" 'ip_dhcp' '0' @@ -134,9 +136,10 @@ start_et() { config_get exit_nodes "$cfg" 'exit_nodes' config_get_bool no_tun "$cfg" 'no_tun' '0' config_get manual_routes "$cfg" 'manual_routes' - config_get relaymode "$cfg" 'relaymode' config_get_bool log "$cfg" 'log' '0' config_get_bool check "$cfg" 'check' '0' + config_get_bool disable_p2p "$cfg" 'disable_p2p' '0' + config_get_bool relay_all "$cfg" 'relay_all' '0' config_get checkip "$cfg" 'checkip' procd_open_instance "easytier" @@ -214,8 +217,8 @@ start_et() { [ "$log" = "1" ] && procd_append_param command --file-log-level "info" [ "$log" = "1" ] && procd_append_param command --file-log-dir "/tmp" [ "$log" = "0" ] && procd_append_param command --file-log-level "off" - [ "$relaymode" = "disable_p2p" ] && procd_append_param command --disable-p2p - [ "$relaymode" = "relay_all" ] && procd_append_param command --relay-all-peer-rpc + [ "$disable_p2p" = "0" ] || procd_append_param command --disable-p2p + [ "$relay_all" = "0" ] || procd_append_param command --relay-all-peer-rpc [ ! -z "$instance_name" ] && ln -sf /tmp/easytier-${instance_name}.${date_time} /tmp/easytier.log procd_set_param limits core="unlimited"