Перейти к содержанию

Архитектура системы

Схема трафика

flowchart TD
    C[Клиент] -->|"VLESS WS · TLS 443"| CAD["Caddy\nwildcard *.kuzya-cabi.net\nCloudflare DNS-01"]
    CAD -->|"/vless-ws/ → :10000"| XR["XRay / 3x-ui\nVPS-RU :10000"]
    XR --> BAL{leastPing\nbalancer}
    BAL -->|"UDP+TCP"| WGD["wg-direct\nXRay native WG\nkernelTun=false"]
    BAL -->|"TCP 8443"| VLC["vless-chain-us\nVLESS → VPS-US"]
    BAL -->|"SOCKS5 :10808"| SSH["socks-via-ssh\nautossh tunnel"]
    WGD -->|"UDP 51820"| USW["VPS-US\nWG wg0  10.0.0.1/24"]
    VLC -->|"VLESS TCP"| US3X["VPS-US\n3x-ui XRay :8443"]
    SSH -->|"SSH → SOCKS5"| USS["VPS-US\nmicrosocks-ssh :10808"]
    USW --> NET[Internet]
    US3X --> NET
    USS --> NET

Модули по узлам

graph LR
    subgraph RU["VPS-RU  89.44.87.72"]
        direction TB
        m00[00_base] --> m01[01_3xui]
        m01 --> m06[06_caddy]
        m01 --> m08[08_wg_client]
        m00 --> m04[04_ssh_tunnel]
        m00 --> m02[02_vaultwarden]
        m00 --> m03[03_monitoring]
        m06 --> m11[11_cv]
        m06 --> m12[12_mebel]
        m06 --> m14[14_wiki]
        m00 --> m13[13_price_tracker]
    end
    subgraph US["VPS-US  104.168.117.102"]
        direction TB
        u00[00_base] --> u01[01_3xui]
        u00 --> u05[05_us_exit]
        u00 --> u07[07_wg_server]
        u00 --> u03[03_monitoring]
    end
    m04 -. "autossh SSH" .-> US
    m08 -. "WG keys sync" .-> u07
    m01 -. "VLESS chain :8443" .-> u01

Порядок деплоя (полный цикл)

sequenceDiagram
    participant W as Windows\ndeploy-all.ps1
    participant R as VPS-RU
    participant U as VPS-US
    W->>U: SCP bundle → deploy-us.sh
    U->>U: 00_base → 01_3xui → 05_us_exit → 07_wg_server → 03_monitoring → 99_test
    U-->>W: WG pubkey, VLESS-US URL
    W->>W: Обновить config.json с WG pubkey
    W->>R: SCP bundle (incl. docs/) → deploy-ru.sh
    R->>R: 00_base → 01_3xui → 02_vault → 03_monitoring → 06_caddy
    R->>R: 04_ssh_tunnel → 08_wg_client → 11_cv → 12_mebel → 13_tracker → 14_wiki → 99_test
    R-->>W: VLESS URL → output/vless-url.txt

Конфигурация (единый источник истины)

Файл Назначение
backups/ru/config.json VPN-параметры VPS-RU (node_role, domain, vless, wireguard, tunnel, xui, caddy)
backups/us/config.json VPN-параметры VPS-US
config-ru.env Env-переменные deploy-ru.sh; модули читают config.json первым
backups/ru/x-ui.db Бэкап SQLite-базы 3x-ui (восстанавливается при деплое)
templates/xray-config-*.json Шаблоны XRay-конфигурации (fallback если нет config.json)