Files
wiki/sources/project.md
2026-04-10 20:14:25 +00:00

259 lines
8.7 KiB
Markdown
Raw Permalink 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.
---
pageType: source
id: source.project
title: PROJECT
sourceType: local-file
sourcePath: /home/node/.openclaw/workspace/tasks/proxy-vm/PROJECT.md
ingestedAt: 2026-04-10T15:41:41.998Z
updatedAt: 2026-04-10T15:41:41.998Z
status: active
---
# PROJECT
## Source
- Type: `local-file`
- Path: `/home/node/.openclaw/workspace/tasks/proxy-vm/PROJECT.md`
- Bytes: 7909
- Updated: 2026-04-10T15:41:41.998Z
## Content
````text
# ProxyVM — Документация проекта
**Статус:** active
**Дата запуска:** 04.04.2026
**Обновлено:** 10.04.2026
---
## Цели проекта
1. **Задача #1: Homenet-VPN** — Wi-Fi сеть 192.168.4.0/24, весь TCP/UDP трафик через Xray VLESS Reality (прозрачный прокси). Статус: **в работе** 🔄
2. **Задача #2: HA Telegram** — Home Assistant отправляет Telegram-уведомления через VLESS. Остальной трафик HA — напрямую. Статус: **ГОТОВО** ✅
---
## Задача #2 — HA Telegram через VLESS (ЗАВЕРШЕНА ✅)
**Дата:** 10.04.2026
### Схема работы
```
Home Assistant (192.168.2.139, gateway = Keenetic 192.168.2.1)
│ SOCKS5 proxy (только telegram_bot интеграция)
vpn-srv SOCKS5 (192.168.2.200:1080) ← Xray
│ VLESS Reality (xtls-rprx-vision)
VLESS Server (43.245.226.231:53903)
api.telegram.org
```
Важно: только `telegram_bot` интеграция ходит через прокси. Остальной трафик HA идёт напрямую через Keenetic.
### Конфигурация в HA
Интеграция `telegram_bot` настроена через UI (Настройки → Интеграции → Telegram Bot):
| Параметр | Значение |
|----------|----------|
| Platform | polling |
| API Key | `8251509944:AAGkRr_5ZIIQNd4XrlI5QI9DYZS8JUPhcxY` |
| Proxy URL | `socks5://192.168.2.200:1080` |
| API Endpoint | `https://api.telegram.org` |
| Allowed Chat ID | 126472752 (Слава) |
| Config Entry ID | `01KNVZDDM3ZNJS1WX309K7E1EN` |
### Бот
- **Username:** `@ha542_bot`
- **Bot ID:** 8251509944
- **Notify Entity:** `notify.telegram_bot_8251509944_126472752`
### Как отправить сообщение из HA
```yaml
service: notify.send_message
target:
entity_id: notify.telegram_bot_8251509944_126472752
data:
message: "Текст уведомления"
```
Или через Developer Tools → Services.
### Доступ к HAOS
- **URL:** `https://ha.homenet542.keenetic.pro`
- **IP в LAN:** 192.168.2.139
- **HAOS Version:** 17.1 | HA Core: 2026.3.4
- **HA Token:** `HA_TOKEN` в `~/.openclaw/.env`
- **SSH через vpn-srv:**
```bash
# Шаг 1: Скопировать ключ на vpn-srv
scp -i /home/node/.openclaw/ha_ssh_key -P 3322 /home/node/.openclaw/ha_ssh_key vpn@185.130.212.192:/tmp/ha_key
# Шаг 2: SSH к HA
ssh -i /home/node/.openclaw/ha_ssh_key -p 3322 vpn@185.130.212.192 \
"ssh -i /tmp/ha_key root@192.168.2.139"
```
---
## Задача #1 — Wi-Fi Homenet_vpn transparent proxy (В РАБОТЕ 🔄)
**Цель:** Устройства в сети 192.168.4.0/24 (телевизор и др.) автоматически используют VLESS прокси без настройки на устройстве.
### Архитектура
```
Телевизор/телефон
│ Wi-Fi "Homenet_vpn" (SSID)
Keenetic (DHCP: gateway=192.168.4.1, DNS=192.168.4.1)
│ VLAN/bridge → ens19
vpn-srv (192.168.4.1 на ens19)
│ iptables REDIRECT → redsocks:12350
redsocks (localhost:12350, type=socks5)
│ SOCKS5 → 127.0.0.1:1080
Xray (localhost:1080 SOCKS5 / 8888 HTTP / 12345 tproxy-in)
│ VLESS Reality (xtls-rprx-vision)
VLESS Server (43.245.226.231:53903)
🌐 Internet
```
**Что работает:** DNS (UDP/53 → 1.1.1.1), ping, UDP
**Что не работает:** TCP через REDIRECT → ошибка на стороне HA/клиента
**Корень проблемы:** Конфликт `xtls-rprx-vision` flow + redirect/tproxy mode. Xray падает с `operation not supported` при установке IP_TRANSPARENT на принятых сокетах. Проверка продолжится когда Слава дома.
---
## Инфраструктура vpn-srv
### Доступ
```bash
ssh -i /home/node/.openclaw/ha_ssh_key -o StrictHostKeyChecking=no -p 3322 vpn@185.130.212.192
# sudo через пайп:
echo meNt85doC | sudo -S <команда>
```
| Параметр | Значение |
|----------|----------|
| IP (LAN) | 192.168.2.200/24 (ens18) |
| IP (VPN subnet) | 192.168.4.1/24 (ens19) |
| OS | Ubuntu 22.04 |
| Sudo password | meNt85doC |
### Сервисы на vpn-srv
| Сервис | Порт | Статус |
|--------|------|--------|
| frpc | → relay:7000 | ✅ enabled |
| xray | 12345 (tproxy), 1080 (socks5), 8888 (http) | ✅ enabled |
| redsocks | 12350 | запущен вручную |
| netfilter-persistent | — | ✅ enabled |
### FRP туннель
- **relay:** `185.130.212.192:7000`, token: `frp_vpnsrv_2026_secret`
- **SSH через relay:** порт 3322 → vpn-srv:22
- **relay root SSH:** `root@185.130.212.192`, пароль `AR5f7_T-bA`
### VLESS сервер
```
vless://009625cc-588f-4cba-941f-ab8c960efa04@43.245.226.231:53903
?type=tcp&encryption=none&security=reality
&pbk=fgKnOtQWS5FErVT8E-roZgQOG6XQzDxB9-N5pRoAyBI
&fp=chrome&sni=yahoo.com&sid=d00e60e4&spx=%2F
&flow=xtls-rprx-vision
```
### Конфигурационные файлы
| Файл | Описание |
|------|----------|
| `/etc/xray/config.json` | Конфиг Xray (tproxy + SOCKS5 + HTTP + VLESS out) |
| `/etc/iptables/rules.v4` | iptables правила (⚠️ не актуальны после 10.04!) |
| `/etc/frp/frpc.toml` | FRP клиент |
| `/etc/netplan/99-vpn-alias.yaml` | IP 192.168.4.1 на ens19 |
| `/home/vpn/transparent-proxy.sh` | Скрипт настройки tproxy (устарел) |
### iptables (текущее состояние на 10.04)
```bash
# DNS для VPN-сети → 1.1.1.1
iptables -t nat -A PREROUTING -s 192.168.4.0/24 -p udp --dport 53 -j DNAT --to-destination 1.1.1.1
# TCP для VPN-сети → redsocks (12350)
# Цепочка TV_REDIRECT: исключения для VLESS сервера и приватных сетей, затем REDIRECT
iptables -t nat -A PREROUTING -j TV_REDIRECT
# TCP для HA-сети → redsocks (12350)
# Цепочка REDSOCKS_HA: исключения для приватных сетей, затем REDIRECT
iptables -t nat -A PREROUTING -s 192.168.2.0/24 -j REDSOCKS_HA
# MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j MASQUERADE
```
⚠️ **rules.v4 не обновлён** — нужно пересохранить после завершения отладки.
---
## TODO
- [ ] **Задача #1:** Разобраться с TCP через transparent proxy для 192.168.4.0/24 (конфликт xtls-rprx-vision + tproxy/redirect)
- [ ] Обновить `/etc/iptables/rules.v4` после финализации правил
- [ ] Убедиться что redsocks запускается при загрузке vpn-srv (добавить в systemd)
- [ ] Очистить `/homeassistant/custom_components/set_proxy/` (создан случайно, не нужен)
---
## Хронология
| Дата | Событие |
|------|---------|
| 04.04.2026 | Создан сегмент Homenet_vpn в Keenetic, настроен Proxmox VLAN |
| 05.04.2026 | Установлен Xray, настроен tproxy |
| 10.04.2026 | Полная отладка: frpc, redsocks, netplan, iptables-persistent |
| 10.04.2026 | DNS ✅, ping ✅, UDP ✅ — TCP через tproxy ❌ (конфликт flow) |
| 10.04.2026 | **Задача #2 DONE:** HA Telegram через SOCKS5 proxy → VLESS ✅ |
````
## Notes
<!-- openclaw:human:start -->
<!-- openclaw:human:end -->
## Related
<!-- openclaw:wiki:related:start -->
### Referenced By
- [Home Assistant](entities/project-ha.md)
- [Proxy VM (vpn-srv)](entities/project-proxy-vm.md)
- [Snowbike RAG](entities/project-snowbike-rag.md)
- [Tapo Camera Monitor](entities/project-tapo.md)
- [Telegram Collector](entities/project-telegram-collector.md)
- [Интернет-заказы](entities/project-internet-orders.md)
- [Карта шумового загрязнения FR24](entities/project-flightradar24.md)
<!-- openclaw:wiki:related:end -->