Initial wiki push - 2026-04-10
This commit is contained in:
258
sources/project.md
Normal file
258
sources/project.md
Normal file
@@ -0,0 +1,258 @@
|
||||
---
|
||||
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 -->
|
||||
Reference in New Issue
Block a user