#!/bin/bash # ru-direct-undo.sh — Откат ru-direct.sh, возврат к состоянию "всё через Amnezia" # Run as root: sudo bash ru-direct-undo.sh set -euo pipefail IFACE="wlp1s0" GATEWAY="192.168.1.1" NFT_TABLE="ru_direct" CACHE_FILE="/var/cache/ru_ips.txt" if [ "$(id -u)" != "0" ]; then echo "Запускай от root: sudo bash $0" exit 1 fi # ── 1. Удалить nftables таблицу ──────────────────────────────────────────── echo "==> Удаляем nftables таблицу $NFT_TABLE..." if nft delete table inet "$NFT_TABLE" 2>/dev/null; then echo " Удалено" else echo " Таблицы не было (или уже удалена)" fi # ── 2. Удалить маршруты через wlp1s0 ────────────────────────────────────── echo "==> Удаляем маршруты через $IFACE..." if [ -f "$CACHE_FILE" ]; then REMOVED=0 while IFS= read -r subnet; do if ip route del "$subnet" via "$GATEWAY" dev "$IFACE" 2>/dev/null; then (( REMOVED++ )) fi done < "$CACHE_FILE" echo " Удалено маршрутов: $REMOVED" else echo " Кеш $CACHE_FILE не найден, маршруты удалим по-другому..." # Удаляем все маршруты через wlp1s0, кроме локальной подсети ip route show dev "$IFACE" | awk '$1 !~ /^192\.168\./ && $1 != "default" {print $1}' | \ while read subnet; do ip route del "$subnet" dev "$IFACE" 2>/dev/null && echo " del $subnet" || true done fi # ── 3. Остановить и удалить systemd-сервис ───────────────────────────────── echo "==> Отключаем systemd-сервис..." systemctl stop ru-direct.service 2>/dev/null || true systemctl disable ru-direct.service 2>/dev/null || true rm -f /etc/systemd/system/ru-direct.service systemctl daemon-reload echo " Сервис удалён" # ── 4. Удалить файлы ─────────────────────────────────────────────────────── rm -f /usr/local/bin/ru-direct.sh rm -f "$CACHE_FILE" echo "==> Файлы удалены" echo "" echo "==> Откат завершён. Всё как было — весь трафик через Amnezia." echo "" echo "Если что-то в браузере не переключилось — перезапусти его." echo "Или перезагрузи систему для полной чистоты."