niikn: самовосстановление обхода (netns-probe+heal+boot-self-heal на OpenWrt, watchdog LXC137) + внешний бэкап-сторож на HOSTKEY (dead-man's switch); скрипты в snippets/niikn-podkop

This commit is contained in:
dttb
2026-06-29 23:56:17 +03:00
parent cabcd11e0c
commit 5b2ffaf033
8 changed files with 254 additions and 2 deletions

View 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 $?