niikn: самовосстановление обхода (netns-probe+heal+boot-self-heal на OpenWrt, watchdog LXC137) + внешний бэкап-сторож на HOSTKEY (dead-man's switch); скрипты в snippets/niikn-podkop
This commit is contained in:
19
snippets/niikn-podkop/podkop-heal.sh
Normal file
19
snippets/niikn-podkop/podkop-heal.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
# podkop-heal.sh (NIIKN OpenWrt) — лечение залипа forward/tproxy sing-box.
|
||||
# Чистый перезапуск podkop + сброс FakeIP-кэша + ОБЯЗАТЕЛЬНО dnsmasq restart (иначе старые FakeIP
|
||||
# у dnsmasq/клиентов рассинхронятся — грабля 2026-06-29), затем re-probe. Лок от гонок.
|
||||
LOCK=/tmp/.pkheal.lock
|
||||
now=$(date +%s)
|
||||
[ -f "$LOCK" ] && [ $((now - $(cat "$LOCK" 2>/dev/null || echo 0))) -lt 120 ] && exit 0
|
||||
echo "$now" > "$LOCK"
|
||||
logger -t podkop-heal "heal: podkop restart + cache flush + dnsmasq restart"
|
||||
/etc/init.d/podkop stop 2>/dev/null
|
||||
killall sing-box 2>/dev/null
|
||||
rm -f /tmp/sing-box/cache.db
|
||||
/etc/init.d/podkop start 2>/dev/null
|
||||
sleep 12
|
||||
/etc/init.d/dnsmasq restart 2>/dev/null
|
||||
sleep 3
|
||||
rm -f "$LOCK"
|
||||
/usr/local/bin/podkop-probe.sh
|
||||
exit $?
|
||||
Reference in New Issue
Block a user