
## Скилл diagram-png

- **Расположение:** `/home/node/.openclaw/workspace/skills/diagram-png/`
- **Назначение:** генерация визуальных PNG схем через Pillow
- **Скрипты:**
  - `scripts/generate_diagram.py` — JSON → PNG, автопроверки layout
  - `scripts/send_diagram.py` — отправка PNG в Telegram
- **Workflow:** составить JSON → генерировать → Visual QA через image tool → отправить
- **Важно:** ВСЕГДА использовать этот скилл для схем вместо ASCII-арта в тексте
- **Telegram бот для отправки:** `$STREAM_BOT_TOKEN` (см. `~/.openclaw/.env`)

## Правило выравнивания блоков в diagram-png (05.04.2026)
- Вертикальные стрелки: исходный и целевой блок должны быть на одном x
- Горизонтальные стрелки: блоки на одном y
- Планировать сетку рядов/колонок перед генерацией

## frp туннель — постоянный SSH к VM (05.04.2026)

### Доступ к VM vpn-srv
- **Команда:** `ssh -i /home/node/.openclaw/ha_ssh_key -p 3322 vpn@185.130.212.192`
- **Больше не нужен** reverse SSH туннель вручную!

### Инфраструктура frp
- **frps** на 185.130.212.192 — порт 7000, token: `frp_vpnsrv_2026_secret`
  - Конфиг: `/etc/frp/frps.toml`, systemd: `frps.service`
- **frpc** на VM vpn-srv — автоподключение, порт 3322 → VM:22
  - Конфиг: `/etc/frp/frpc.toml`, systemd: `frpc.service`
- Оба сервиса в systemd, восстанавливаются после ребута

## Wi-Fi homenet-vpn для телевизора — статус (05.04.2026, не завершено)

### Что сделано
- Создан сегмент `Homenet_vpn` в Keenetic: 192.168.4.0/24, шлюз 192.168.4.1
- VM получила второй NIC `ens19` через Proxmox (VLAN tag 4, vmbr0 с VLAN aware)
- `ens19` настроен с IP `192.168.4.1/24`
- iptables tproxy правила настроены (перехват трафика из 192.168.4.0/24 → Xray порт 12345)
- Xray конфиг обновлён с tproxy inbound

### Проблема: iptables сбрасываются при ребуте
Правила не сохранены постоянно! После следующего ребута VM нужно восстановить вручную или настроить iptables-persistent.

### Что нужно проверить на следующей неделе
1. Подключить телефон/ТВ к homenet-vpn
2. Проверить что IP из 192.168.4.x
3. Проверить YouTube
4. Если не работает — проверить логи Xray: `sudo journalctl -u xray -f`
5. **Сделать iptables правила постоянными** через iptables-persistent

### Команда для восстановления tproxy (если правила сброшены)
```bash
ssh -i /home/node/.openclaw/ha_ssh_key -p 3322 vpn@185.130.212.192
# затем запустить transparent-proxy.sh или восстановить вручную
```
