Files
wiki/tasks/ha/proxy-vm/TZ.md
2026-04-12 21:55:33 +03:00

82 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ТЗ: Proxy VM для обхода РКН
## Цель
Развернуть лёгкую Ubuntu VM в Proxmox которая:
1. Проксирует Telegram трафик для Home Assistant через VLESS Reality
2. Работает как прозрачный шлюз для Wi-Fi сети телевизора
## Параметры (задаются при деплое)
```
PROXY_VM_IP=192.168.2.200 # IP новой VM в локальной сети
PROXY_VM_GW=192.168.2.1 # Шлюз (роутер Keenetic)
VLESS_SERVER_IP=43.245.226.231
VLESS_SERVER_PORT=15281
VLESS_UUID=94adf929-9ee6-4704-9685-1b4af0998400
VLESS_PUBLIC_KEY=r1h3hJh1BP7dbxeVFZsVtXZgeth7Dgr5pNj6dfewbFg
VLESS_SHORT_ID=59faa5
VLESS_SNI=google.com
VLESS_FLOW=xtls-rprx-vision
```
## Что нужно сделать
### 1. Установочный скрипт для Ubuntu VM (`install.sh`)
- Устанавливает Xray клиент (последняя версия)
- Конфигурирует Xray как:
- VLESS Reality outbound на сервер
- Локальный HTTP прокси на порту 8888 (для Telegram бота в HA)
- Локальный SOCKS5 на порту 1080
- Настраивает systemd сервис для Xray
- Включает IP forwarding для прозрачного прокси
### 2. Прозрачный прокси для телевизора (`transparent-proxy.sh`)
- iptables правила: весь трафик из подсети телевизора (отдельный параметр `TV_SUBNET`) направляется через Xray
- Используем tproxy (реализация через Xray + iptables)
- Правила сохраняются через iptables-persistent
- DNS для TV подсети тоже через прокси (чтобы обойти DNS блокировки)
### 3. Конфиг Xray (`/etc/xray/config.json`)
- Inbounds:
- HTTP прокси: `0.0.0.0:8888`
- SOCKS5: `0.0.0.0:1080`
- Tproxy (для прозрачного режима): `0.0.0.0:12345`
- Outbound: VLESS + Reality на сервер
- Routing: весь трафик через VLESS outbound
### 4. Конфиг для Home Assistant (`ha-telegram-config.yaml`)
Готовый фрагмент для вставки в `configuration.yaml`:
```yaml
telegram_bot:
- platform: polling
api_key: "ВСТАВИТЬ_ТОКЕН"
proxy_url: http://192.168.2.200:8888
allowed_chat_ids:
- 126472752
```
### 5. Инструкция для Keenetic (`KEENETIC.md`)
Как создать новый SSID и направить его трафик через VM:
- Создать сеть `TV_VPN` (или любое имя)
- В настройках сегмента — шлюз `192.168.2.200` (наша VM)
- Телевизор подключается к `TV_VPN` → весь трафик через VLESS
## Дополнительно
- Все параметры вынести в `/etc/xray/params.env` для удобного редактирования
- Добавить скрипт проверки `check.sh` — пингует api.telegram.org и youtube.com через прокси
- README.md с пошаговой инструкцией по установке
## Структура файлов
```
tasks/ha/proxy-vm/
├── TZ.md (это файл)
├── install.sh # Основной установочный скрипт
├── transparent-proxy.sh # Настройка прозрачного прокси
├── config.json # Xray конфиг (шаблон с переменными)
├── params.env.example # Пример параметров
├── ha-telegram-config.yaml # Фрагмент для HA
├── check.sh # Проверка работоспособности
├── KEENETIC.md # Инструкция для роутера
└── README.md # Общая инструкция
```