mirror of
https://github.com/EasyTier/luci-app-easytier.git
synced 2025-05-19 10:29:25 +00:00
增加 --mapped-listeners --bind-device --enable-kcp-proxy --disable-kcp-input 参数选项
This commit is contained in:
@@ -80,6 +80,7 @@ check_bin() {
|
||||
if [ "$($easytierbin -h 2>&1 | wc -l)" -lt 3 ] || [ ! -f "$easytierbin" ] ; then
|
||||
curltest=`which curl`
|
||||
user_agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'
|
||||
#github加速地址,一行一个 你可以自建改为你自己的
|
||||
proxys="https://github.moeyy.xyz/
|
||||
https://gh.llkk.cc/
|
||||
https://mirror.ghproxy.com/
|
||||
@@ -262,6 +263,10 @@ get_etconfig() {
|
||||
checkip="$(uci -q get easytier.@easytier[0].checkip)"
|
||||
socks_port="$(uci -q get easytier.@easytier[0].socks_port)"
|
||||
comp="$(uci -q get easytier.@easytier[0].comp || echo none)"
|
||||
mapped_listeners="$(uci -q get easytier.@easytier[0].mapped_listeners)"
|
||||
bind_device="$(uci -q get easytier.@easytier[0].bind_device || echo 0)"
|
||||
kcp_proxy="$(uci -q get easytier.@easytier[0].kcp_proxy || echo 0)"
|
||||
kcp_input="$(uci -q get easytier.@easytier[0].kcp_input || echo 0)"
|
||||
}
|
||||
|
||||
set_firewall() {
|
||||
@@ -395,98 +400,111 @@ start_et() {
|
||||
procd_open_instance
|
||||
procd_set_param command "$easytierbin"
|
||||
if [ "$etcmd" = "etcmd" ] ; then
|
||||
[ -z "$network_name" ] || procd_append_param command --network-name "$network_name"
|
||||
[ -z "$network_secret" ] || procd_append_param command --network-secret "$network_secret"
|
||||
[ -z "$ipaddr" ] || procd_append_param command -i "$ipaddr"
|
||||
[ "$ip_dhcp" = "0" ] || procd_append_param command -d
|
||||
if [ ! -z "$peeradd" ] ; then
|
||||
if [[ "$(grep "list peeradd" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command -p "$peeradd"
|
||||
else
|
||||
for peeraddr in $(cat /etc/config/easytier | grep 'list peeradd' | awk -F 'list peeradd' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command -p "$peeraddr"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$proxy_network" ] ; then
|
||||
if [[ "$(grep "list proxy_network" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command -n "$proxy_network"
|
||||
else
|
||||
for proxy_networks in $(cat /etc/config/easytier | grep 'list proxy_network' | awk -F 'list proxy_network' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command -n "$proxy_networks"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$exit_nodes" ] ; then
|
||||
if [[ "$(grep "list exit_nodes" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --exit-nodes "$exit_nodes"
|
||||
else
|
||||
for exit_nodeadds in $(cat /etc/config/easytier | grep 'list exit_nodes' | awk -F 'list exit_nodes' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --exit-nodes "$exit_nodeadds"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$manual_routes" ] ; then
|
||||
if [[ "$(grep "list manual_routes" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --manual-routes "$manual_routes"
|
||||
else
|
||||
for manual_routeadds in $(cat /etc/config/easytier | grep 'list manual_routes' | awk -F 'list manual_routes' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --manual-routes "$manual_routeadds"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$whitelist" ] ; then
|
||||
if [[ "$(grep "list whitelist" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --relay-network-whitelist "$whitelist"
|
||||
else
|
||||
for whitelists in $(cat /etc/config/easytier | grep 'list whitelist' | awk -F 'list whitelist' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --relay-network-whitelist "$whitelists"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
[ -z "$rpc_portal" ] || procd_append_param command -r "$rpc_portal"
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "tcp:$tcp_port"
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "udp:$tcp_port"
|
||||
[ -z "$ws_port" ] || procd_append_param command -l "ws:$ws_port"
|
||||
[ -z "$wss_port" ] || procd_append_param command -l "wss:$wss_port"
|
||||
[ -z "$wg_port" ] || procd_append_param command -l "wg:$wg_port"
|
||||
if [ "$listener6" = "1" ] ; then
|
||||
if [ -z "$tcp_port" ] && [ -z "$ws_port" ] && [ -z "$wss_port" ] && [ -z "$wg_port" ] ; then
|
||||
tcp_port="11010"
|
||||
ws_port="11011"
|
||||
wss_port="11012"
|
||||
wg_port="11011"
|
||||
fi
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "tcp://[::]:$tcp_port"
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "udp://[::]:$tcp_port"
|
||||
[ -z "$ws_port" ] || procd_append_param command -l "ws://[::]:$ws_port"
|
||||
[ -z "$wss_port" ] || procd_append_param command -l "wss://[::]:$wss_port"
|
||||
[ -z "$wg_port" ] || procd_append_param command -l "wg://[::]:$wg_port"
|
||||
fi
|
||||
[ -z "$external_node" ] || procd_append_param command -e "$external_node"
|
||||
[ "$listenermode" = "ON" ] || procd_append_param command --no-listener
|
||||
[ -z "$desvice_name" ] || procd_append_param command --hostname "$desvice_name"
|
||||
[ -z "$instance_name" ] || procd_append_param command -m "$instance_name"
|
||||
[ -z "$vpn_portal" ] || procd_append_param command --vpn-portal "$vpn_portal"
|
||||
[ -z "$mtu" ] || procd_append_param command --mtu "$mtu"
|
||||
[ "$default_protocol" = "-" ] || procd_append_param command --default-protocol "$default_protocol"
|
||||
[ -z "$tunname" ] || procd_append_param command --dev-name "$tunname"
|
||||
[ "$disable_encryption" = "0" ] || procd_append_param command -u
|
||||
[ "$multi_thread" = "0" ] || procd_append_param command --multi-thread
|
||||
[ "$no_tun" = "0" ] || procd_append_param command --no-tun
|
||||
[ "$smoltcp" = "0" ] || procd_append_param command --use-smoltcp
|
||||
[ "$disable_ipv6" = "0" ] || procd_append_param command --disable-ipv6
|
||||
[ "$latency_first" = "0" ] || procd_append_param command --latency-first
|
||||
[ "$exit_node" = "0" ] || procd_append_param command --enable-exit-node
|
||||
[ "$log" = "off" ] || procd_append_param command --file-log-level "$log"
|
||||
[ "$log" = "off" ] || procd_append_param command --file-log-dir "/tmp"
|
||||
[ "$log" = "off" ] && procd_append_param command --file-log-level "off"
|
||||
[ "$disable_p2p" = "0" ] || procd_append_param command --disable-p2p
|
||||
[ "$disable_udp" = "0" ] || procd_append_param command --disable-udp-hole-punching
|
||||
[ "$relay_all" = "0" ] || procd_append_param command --relay-all-peer-rpc
|
||||
[ -z "$socks_port" ] || procd_append_param command --socks5 "$socks_port"
|
||||
[ "$comp" = "none" ] || procd_append_param command --compression "$comp"
|
||||
fi
|
||||
[ -z "$network_name" ] || procd_append_param command --network-name "$network_name"
|
||||
[ -z "$network_secret" ] || procd_append_param command --network-secret "$network_secret"
|
||||
[ -z "$ipaddr" ] || procd_append_param command -i "$ipaddr"
|
||||
[ "$ip_dhcp" = "0" ] || procd_append_param command -d
|
||||
if [ ! -z "$peeradd" ] ; then
|
||||
if [[ "$(grep "list peeradd" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command -p "$peeradd"
|
||||
else
|
||||
for peeraddr in $(cat /etc/config/easytier | grep 'list peeradd' | awk -F 'list peeradd' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command -p "$peeraddr"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$proxy_network" ] ; then
|
||||
if [[ "$(grep "list proxy_network" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command -n "$proxy_network"
|
||||
else
|
||||
for proxy_networks in $(cat /etc/config/easytier | grep 'list proxy_network' | awk -F 'list proxy_network' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command -n "$proxy_networks"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$exit_nodes" ] ; then
|
||||
if [[ "$(grep "list exit_nodes" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --exit-nodes "$exit_nodes"
|
||||
else
|
||||
for exit_nodeadds in $(cat /etc/config/easytier | grep 'list exit_nodes' | awk -F 'list exit_nodes' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --exit-nodes "$exit_nodeadds"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$manual_routes" ] ; then
|
||||
if [[ "$(grep "list manual_routes" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --manual-routes "$manual_routes"
|
||||
else
|
||||
for manual_routeadds in $(cat /etc/config/easytier | grep 'list manual_routes' | awk -F 'list manual_routes' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --manual-routes "$manual_routeadds"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$whitelist" ] ; then
|
||||
if [[ "$(grep "list whitelist" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --relay-network-whitelist "$whitelist"
|
||||
else
|
||||
for whitelists in $(cat /etc/config/easytier | grep 'list whitelist' | awk -F 'list whitelist' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --relay-network-whitelist "$whitelists"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
if [ ! -z "$mapped_listeners" ] ; then
|
||||
if [[ "$(grep "list mapped_listeners" /etc/config/easytier | awk '{print $3}' | wc -l ) " -eq 1 ]]; then
|
||||
procd_append_param command --mapped-listeners "$mapped_listeners"
|
||||
else
|
||||
for mapped_listener in $(cat /etc/config/easytier | grep 'list mapped_listeners' | awk -F 'list whitelist' '{print $2}' | sed "s/'/\n/g" | tr -d " ' "); do
|
||||
procd_append_param command --mapped-listeners "$mapped_listener"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
[ -z "$rpc_portal" ] || procd_append_param command -r "$rpc_portal"
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "tcp:$tcp_port"
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "udp:$tcp_port"
|
||||
[ -z "$ws_port" ] || procd_append_param command -l "ws:$ws_port"
|
||||
[ -z "$wss_port" ] || procd_append_param command -l "wss:$wss_port"
|
||||
[ -z "$wg_port" ] || procd_append_param command -l "wg:$wg_port"
|
||||
if [ "$listener6" = "1" ] ; then
|
||||
if [ -z "$tcp_port" ] && [ -z "$ws_port" ] && [ -z "$wss_port" ] && [ -z "$wg_port" ] ; then
|
||||
tcp_port="11010"
|
||||
ws_port="11011"
|
||||
wss_port="11012"
|
||||
wg_port="11011"
|
||||
fi
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "tcp://[::]:$tcp_port"
|
||||
[ -z "$tcp_port" ] || procd_append_param command -l "udp://[::]:$tcp_port"
|
||||
[ -z "$ws_port" ] || procd_append_param command -l "ws://[::]:$ws_port"
|
||||
[ -z "$wss_port" ] || procd_append_param command -l "wss://[::]:$wss_port"
|
||||
[ -z "$wg_port" ] || procd_append_param command -l "wg://[::]:$wg_port"
|
||||
fi
|
||||
[ -z "$external_node" ] || procd_append_param command -e "$external_node"
|
||||
[ "$listenermode" = "ON" ] || procd_append_param command --no-listener
|
||||
[ -z "$desvice_name" ] || procd_append_param command --hostname "$desvice_name"
|
||||
[ -z "$instance_name" ] || procd_append_param command -m "$instance_name"
|
||||
[ -z "$vpn_portal" ] || procd_append_param command --vpn-portal "$vpn_portal"
|
||||
[ -z "$mtu" ] || procd_append_param command --mtu "$mtu"
|
||||
[ "$default_protocol" = "-" ] || procd_append_param command --default-protocol "$default_protocol"
|
||||
[ -z "$tunname" ] || procd_append_param command --dev-name "$tunname"
|
||||
[ "$disable_encryption" = "0" ] || procd_append_param command -u
|
||||
[ "$multi_thread" = "0" ] || procd_append_param command --multi-thread
|
||||
[ "$no_tun" = "0" ] || procd_append_param command --no-tun
|
||||
[ "$smoltcp" = "0" ] || procd_append_param command --use-smoltcp
|
||||
[ "$disable_ipv6" = "0" ] || procd_append_param command --disable-ipv6
|
||||
[ "$latency_first" = "0" ] || procd_append_param command --latency-first
|
||||
[ "$exit_node" = "0" ] || procd_append_param command --enable-exit-node
|
||||
[ "$log" = "off" ] || procd_append_param command --file-log-level "$log"
|
||||
[ "$log" = "off" ] || procd_append_param command --file-log-dir "/tmp"
|
||||
[ "$log" = "off" ] && procd_append_param command --file-log-level "off"
|
||||
[ "$disable_p2p" = "0" ] || procd_append_param command --disable-p2p
|
||||
[ "$disable_udp" = "0" ] || procd_append_param command --disable-udp-hole-punching
|
||||
[ "$relay_all" = "0" ] || procd_append_param command --relay-all-peer-rpc
|
||||
[ -z "$socks_port" ] || procd_append_param command --socks5 "$socks_port"
|
||||
[ "$comp" = "none" ] || procd_append_param command --compression "$comp"
|
||||
[ "$bind_device" = "0" ] || procd_append_param command --bind-device true
|
||||
[ "$bind_device" = "1" ] || procd_append_param command --bind-device false
|
||||
[ "$kcp_proxy" = "0" ] || procd_append_param command --enable-kcp-proxy
|
||||
[ "$kcp_input" = "0" ] || procd_append_param command --disable-kcp-input
|
||||
fi
|
||||
if [ "$etcmd" = "web" ] ; then
|
||||
echo "$(date '+%Y-%m-%d %H:%M:%S') easytier : 运行 ${easytierbin} -w ${web_config}" >>/tmp/easytier.log
|
||||
[ -z "$web_config" ] || procd_append_param command -w "$web_config"
|
||||
|
||||
Reference in New Issue
Block a user