feat: добавить скрипты управления сетью и kill switch
- ks-off.sh — временно отключить UFW kill switch перед сёрфингом без VPN - ks-on.sh — восстановить kill switch (с проверкой что amn0 поднят) - ru-direct.sh — роутинг всех российских IP напрямую через провайдера, минуя Amnezia - ru-direct-undo.sh — откат ru-direct.sh, возврат к "всё через VPN" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
65
home-configs/network/ru-direct-undo.sh
Normal file
65
home-configs/network/ru-direct-undo.sh
Normal file
@@ -0,0 +1,65 @@
|
||||
#!/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 "Или перезагрузи систему для полной чистоты."
|
||||
Reference in New Issue
Block a user