#!/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 $?
