mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-11-03 10:23:56 +08:00
update 2026-07-24 14:21:13
This commit is contained in:
1 parent
b6b3b8467d
commit
2cae7975b1
5 files changed
+22
-45
No files matched your search
+9
-35
@@ -43,35 +43,11 @@ update_cron() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cleanup_netns() {
|
cleanup_netns() {
|
||||||
if ps w | grep -q "[/]usr/bin/daed run"; then
|
tc qdisc del dev "$DAE_HOST_IFACE" clsact 2>/dev/null || true
|
||||||
logger -t dae "skip dae runtime cleanup while daed is running"
|
ip link del "$DAE_HOST_IFACE" 2>/dev/null || true
|
||||||
return 0
|
ip link del "$DAE_PEER_IFACE" 2>/dev/null || true
|
||||||
fi
|
ip netns del "$DAE_NETNS_NAME" 2>/dev/null || true
|
||||||
|
rm -f "$DAENETNS" 2>/dev/null || true
|
||||||
if ip link show "$DAE_HOST_IFACE" >/dev/null 2>&1; then
|
|
||||||
tc qdisc del dev "$DAE_HOST_IFACE" clsact 2>/dev/null || true
|
|
||||||
ip link del "$DAE_HOST_IFACE" 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ip link show "$DAE_PEER_IFACE" >/dev/null 2>&1; then
|
|
||||||
ip link del "$DAE_PEER_IFACE" 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -e "$DAENETNS" ]; then
|
|
||||||
ip netns del "$DAE_NETNS_NAME" 2>/dev/null || true
|
|
||||||
rm -f "$DAENETNS" 2>/dev/null || true
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
wait_dae_exit() {
|
|
||||||
local i
|
|
||||||
|
|
||||||
for i in 1 2 3 4 5 6 7 8 9 10; do
|
|
||||||
ps w | grep -q "[/]usr/bin/dae run" || return 0
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
|
|
||||||
return 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
hijack_resolv_conf() {
|
hijack_resolv_conf() {
|
||||||
@@ -146,14 +122,12 @@ start_service() {
|
|||||||
stop_service() {
|
stop_service() {
|
||||||
update_cron "remove"
|
update_cron "remove"
|
||||||
restore_resolv_conf
|
restore_resolv_conf
|
||||||
|
cleanup_netns
|
||||||
}
|
}
|
||||||
|
|
||||||
service_stopped() {
|
reload_service() {
|
||||||
if wait_dae_exit; then
|
stop
|
||||||
cleanup_netns
|
start
|
||||||
else
|
|
||||||
logger -t dae "skip dae runtime cleanup because dae is still running"
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
service_triggers() {
|
service_triggers() {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=luci-app-passwall
|
PKG_NAME:=luci-app-passwall
|
||||||
PKG_VERSION:=26.7.16
|
PKG_VERSION:=26.7.24
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=1
|
||||||
PKG_PO_VERSION:=$(PKG_VERSION)
|
PKG_PO_VERSION:=$(PKG_VERSION)
|
||||||
|
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ o.datatype = "min(1)"
|
|||||||
o.default = 1
|
o.default = 1
|
||||||
o:depends("enable_autoswitch", true)
|
o:depends("enable_autoswitch", true)
|
||||||
|
|
||||||
o = s:option(Flag, "autoswitch_restore_switch", translate("Restore Switch"), translate("When detects main node is available, switch back to the main node."))
|
o = s:option(Flag, "autoswitch_restore_switch", translate("Restore Switch"), translate("Immediately switch back to the main node when it becomes available."))
|
||||||
o:depends("enable_autoswitch", true)
|
o:depends("enable_autoswitch", true)
|
||||||
|
|
||||||
o = s:option(Value, "autoswitch_probe_url", translate("Probe URL"), translate("The URL used to detect the connection status."))
|
o = s:option(Value, "autoswitch_probe_url", translate("Probe URL"), translate("The URL used to detect the connection status."))
|
||||||
|
|||||||
@@ -893,8 +893,8 @@ msgstr "备用节点的列表"
|
|||||||
msgid "Restore Switch"
|
msgid "Restore Switch"
|
||||||
msgstr "恢复切换"
|
msgstr "恢复切换"
|
||||||
|
|
||||||
msgid "When detects main node is available, switch back to the main node."
|
msgid "Immediately switch back to the main node when it becomes available."
|
||||||
msgstr "当检测到主节点可用时,切换回主节点。"
|
msgstr "当主节点可用时,立即切换回主节点。"
|
||||||
|
|
||||||
msgid "Add nodes to the standby node list by keywords"
|
msgid "Add nodes to the standby node list by keywords"
|
||||||
msgstr "通过关键字添加节点到备用节点列表"
|
msgstr "通过关键字添加节点到备用节点列表"
|
||||||
|
|||||||
@@ -125,7 +125,11 @@ test_auto_switch() {
|
|||||||
done
|
done
|
||||||
# 如果没找到当前节点,或者当前节点是最后一个,就取第一个节点
|
# 如果没找到当前节点,或者当前节点是最后一个,就取第一个节点
|
||||||
[ -z "$new_node" ] && new_node="$first_node"
|
[ -z "$new_node" ] && new_node="$first_node"
|
||||||
msg="切换到$([ "$now_node" = "$main_node" ] && echo 备用节点 || echo 下一个备用节点)检测!"
|
if [ "$new_node" = "$main_node" ]; then
|
||||||
|
msg="切换到主节点检测!"
|
||||||
|
else
|
||||||
|
msg="切换到$([ "$now_node" = "$main_node" ] && echo 备用节点 || echo 下一个备用节点)检测!"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# 只有一个后备节点时,与主节点轮询
|
# 只有一个后备节点时,与主节点轮询
|
||||||
new_node=$([ "$now_node" = "$main_node" ] && echo "$b_nodes" || echo "$main_node")
|
new_node=$([ "$now_node" = "$main_node" ] && echo "$b_nodes" || echo "$main_node")
|
||||||
@@ -134,11 +138,6 @@ test_auto_switch() {
|
|||||||
echolog "Socks切换检测:端口[${socks_port}]【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,$msg"
|
echolog "Socks切换检测:端口[${socks_port}]【$(config_n_get $now_node type):[$(config_n_get $now_node remarks)]】异常,$msg"
|
||||||
test_node ${new_node}
|
test_node ${new_node}
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
# [ "$restore_switch" = "0" ] && {
|
|
||||||
# uci set $CONFIG.${id}.node=$new_node
|
|
||||||
# [ -z "$(echo $b_nodes | grep $main_node)" ] && uci add_list $CONFIG.${id}.autoswitch_backup_node=$main_node
|
|
||||||
# uci commit $CONFIG
|
|
||||||
# }
|
|
||||||
check_process
|
check_process
|
||||||
echolog "Socks切换检测:端口[${socks_port}]【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!"
|
echolog "Socks切换检测:端口[${socks_port}]【$(config_n_get $new_node type):[$(config_n_get $new_node remarks)]】正常,切换到此节点!"
|
||||||
NO_REC_PROCESS=1 $APP_FILE socks_node_switch flag=${id} new_node=${new_node}
|
NO_REC_PROCESS=1 $APP_FILE socks_node_switch flag=${id} new_node=${new_node}
|
||||||
@@ -170,6 +169,10 @@ start() {
|
|||||||
echolog " - Socks切换检测:端口[${socks_port}] 后备节点数量:${backup_node_num}"
|
echolog " - Socks切换检测:端口[${socks_port}] 后备节点数量:${backup_node_num}"
|
||||||
if [ "$backup_node_num" -eq 1 ]; then
|
if [ "$backup_node_num" -eq 1 ]; then
|
||||||
[ "$main_node" = "$backup_node" ] && return
|
[ "$main_node" = "$backup_node" ] && return
|
||||||
|
elif [ "$backup_node_num" -gt 1 ]; then
|
||||||
|
[ "$restore_switch" != "1" ] && {
|
||||||
|
[ -z "$(echo $backup_node | grep -F "$main_node")" ] && backup_node="${backup_node} ${main_node}"
|
||||||
|
}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echolog " - Socks切换检测:端口[${socks_port}] 后备节点数量:0"
|
echolog " - Socks切换检测:端口[${socks_port}] 后备节点数量:0"
|
||||||
|
|||||||
Reference in new issue
Block a user