- tunnel/tunnel-install.sh: в init-скрипте добавлен `iptables -I INPUT -i wg0
-j ACCEPT`, OUTPUT-аналог и `rp_filter=2`. Без этого Keenetic режет ответы
VPS→роутер: handshake проходит, но ping/HTTP внутри туннеля молча дропаются.
В down() — снимаем эти же правила.
- tunnel/tunnel-uninstall.sh (новый): сносит ТОЛЬКО клиентскую часть туннеля
(wg0.conf, init, rc.d, наши iptables-правила). Не трогает wireguard-tools,
чужие WG-конфиги, keenetic_ssh-web, HydraRoute Neo.
- tunnel/server-uninstall.sh (новый): сносит ТОЛЬКО серверную часть туннеля
(wg-quick@wg0, /etc/wireguard/{wg0.conf,server_*.key,peers/}, kssh-tun,
ufw-правила kssh-tunnel). Не делает apt remove для wireguard.
- README.md: переписан под ключ. Чётко разделены два пакета (A: панель,
B: туннель), оба ставятся и удаляются отдельно. Явно перечислено, что
скрипты НЕ трогают (HydraRoute Neo, кастомные репо, чужие правила).
Решает доступ к роутеру с серым IP через белый VPS — поднимаем WG-туннель
(UDP 51820, подсеть 10.99.0.0/24), и любой сервис на VPS обращается к
роутеру по 10.99.0.X. SSH, HTTP, что угодно — без проброса портов и
без изменений в keenetic_ssh-web/keenetic-unified/Domain Hydra/etc.
Что добавлено:
- tunnel/server-install.sh — установка WG-сервера на Ubuntu VPS,
генерация ключей, запуск wg-quick@wg0, открытие 51820/udp в ufw.
- tunnel/kssh-tun — утилита управления peer-ами на VPS:
add/list/show/remove. add генерит ключи и IP, печатает ENV-блок
с одной командой для роутера.
- tunnel/tunnel-install.sh — клиент для роутера (Entware), принимает
4 ENV (VPS_ENDPOINT/VPS_PUBKEY/CLIENT_IP/CLIENT_PRIVKEY), ставит
wireguard-tools, поднимает wg0 и init-скрипт автозапуска.
- tunnel/README.md — пошаговая инструкция массовой установки.
- README.md: краткая ссылка из основного раздела.
Параметры подсети/порта/имени репо — через ENV для масштабной установки.
На многих сборках Entware (включая aarch64-k3.10) пакет python3-venv
недоступен и `python3 -m venv` падает с `No module named venv`.
Делаем установку без venv:
- если venv создаётся — используем его (как раньше)
- иначе ставим зависимости в $INST/lib через `pip install --target=lib`
- run.sh и init-скрипт автоопределяют режим (PYTHONPATH=lib для второго)
Также: opkg install python3-venv стал опциональным (как и был, но без
обязательного завершения цепочки).
- opkg update больше не валит install.sh при 404 у hoaxisr/ground-zero
- opkg install python3 — фолбэк цепочкой, без выхода по set -e
- Финальный блок «Готово» с явным путём INST/INIT, чтобы оборвавшаяся
установка сразу была заметна
- README/install: vi вместо nano (на Entware nano по умолчанию нет),
заметка про частичные ошибки opkg update