diff --git a/.gitignore b/.gitignore index fd679aa..55d2f7c 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,10 @@ pilonuxt-home-smoke.jpeg # harness scratchpad (plan-mode plans, session artifacts) — not project code .zcode/ + +# local throwaway scratch (plink scripts, recon dumps) — часто содержит креды, +# никогда не commit. Аналог .scratch/. +.tmp/ + +# task-runner runtime lock (not project content) +.tasks/.lock diff --git a/.wiki/entities/de-vds-3xui.md b/.wiki/entities/de-vds-3xui.md index 9761379..b967015 100644 --- a/.wiki/entities/de-vds-3xui.md +++ b/.wiki/entities/de-vds-3xui.md @@ -2,7 +2,7 @@ title: DE VDS — 3x-UI VLESS node type: entity tags: [vds, cloud, germany, vpn, vless, xray, 3x-ui, proxy, fornex] -sources: [] +sources: [../sources/de-vds-3xui-setup-2026-07-14.md] updated: 2026-07-14 --- diff --git a/.wiki/index.md b/.wiki/index.md index 048bc50..65bcfc5 100644 --- a/.wiki/index.md +++ b/.wiki/index.md @@ -83,6 +83,7 @@ Catalog of all wiki pages. One line per page, organized by type. Updated on ever - [books-vds-backup-daily-kreknin-2026-05-25](sources/books-vds-backup-daily-kreknin-2026-05-25.md) — books VDS daily backup → kreknin pipeline standup 2026-05-25 (ES file-snapshot repo + DB dumps + curl SMTP) - [ruvds-backup-daily-kreknin-2026-05-24](sources/ruvds-backup-daily-kreknin-2026-05-24.md) — RUVDS daily backup → kreknin pipeline standup 2026-05-24 (rclone+SFTP, SYSTEM task) - [nl-vds-3xui-setup-2026-06-05](sources/nl-vds-3xui-setup-2026-06-05.md) — NL VDS 3x-UI setup+troubleshooting session; итог: у реальных клиентов из РФ работает только plain VLESS 32030 (Reality/MTProto/SOCKS не поднялись) +- [de-vds-3xui-setup-2026-07-14](sources/de-vds-3xui-setup-2026-07-14.md) — DE VDS (Fornex Germany) setup session; 3x-ui 3.5.0 gotchas: CSRF на panel POST, прямой DB-insert не рендерит (client-tables), wrapper x-ui setting не применяет; plain VLESS 32030 confirmed на real RF-клиенте - [vdsina-outline-3xui-inventory-2026-06-24](sources/vdsina-outline-3xui-inventory-2026-06-24.md) — VDSina Amsterdam (46.151.25.64) inventory: Outline 11 keys + 3x-UI VLESS, секреты в pass vdsina-outline - [vds-kzntsv-bootstrap-2026-05-20](sources/vds-kzntsv-bootstrap-2026-05-20.md) — VDS bootstrap session 2026-05-20 chronology - [vds-kzntsv-incident-2026-05-28](sources/vds-kzntsv-incident-2026-05-28.md) — DHCP outage incident session 2026-05-28 — chronology + ticket text diff --git a/.wiki/log.md b/.wiki/log.md index 21d8aaf..4d8b0d9 100644 --- a/.wiki/log.md +++ b/.wiki/log.md @@ -2,6 +2,8 @@ Append-only log of wiki operations (ingests, promotions, lints, migrations). +## [2026-07-14] ingest | sources/de-vds-3xui-setup-2026-07-14.md (new) + entities/de-vds-3xui.md (sources: привязан) — полноценный ingest DE-сессии: sources-хроника с борьбой против 3x-ui 3.5.0 (CSRF-403 на login → `CSRFMiddleware`/`X-CSRF-Token`/`GET {BP}csrf-token`; прямой DB-insert в `inbounds` не рендерит → client-tables `clients`/`client_inbounds`/`client_traffics` заполняются только `AddInbound` → panel API `POST {BP}panel/api/inbounds/add` с stringified settings/streamSettings/sniffing; wrapper `x-ui setting` не применяет креды → бинарник). Эталон JSON снят с рабочего nl-vds 32030. +index.md sources-строка. Real RF-client confirmed. + ## [2026-07-14] decision | entities/de-vds-3xui.md — real-client из РФ подтверждён (user подключён через 32030, сессия идёт через узел). Plain VLESS = proven-working на обоих NL+DE. Задача [de-vds-3xui-setup] закрыта. Перекрестил `Проверено` блок ✅. ## [2026-07-14] ingest | entities/de-vds-3xui.md (new) — поднят VPN-VDS в Германии (Fornex `130.17.17.158`, Ubuntu 24.04, 1/2G/20G), аналог [[nl-vds-3xui]]. Повторён **только proven-working plain VLESS 32030** `security=none` (на NL у боевых клиентов из РФ заработал только он); Reality/MTProto/SOCKS5 намеренно НЕ подняты. Креды → `pass de-vds-3xui/full-env`. 3x-ui тут **3.5.0** (на NL была 3.2.7) — вскрыл новые гоча, зафиксированы в entity: (1) **CSRF на всех panel POST** (`CSRFMiddleware` → 403 пустое тело+CSP-nonce без заголовка `X-CSRF-Token`; токен — `GET {BP}csrf-token`; login = `POST {BP}login` JSON); (2) **прямой INSERT в `inbounds` НЕ рендерит инбаунд в 3.5.0** — клиентская модель разнесена по `clients`/`client_inbounds`/`client_traffics`, заполняется только сервисом `AddInbound` → инбаунд надо создавать через panel API `POST {BP}panel/api/inbounds/add` (body=model.Inbound camelCase, settings/streamSettings/sniffing stringified); (3) **wrapper `x-ui setting -username/-password` НЕ применяет** — только бинарник `/usr/local/x-ui/x-ui setting` (после `systemctl stop x-ui`). Server-side e2e подтверждён (xray слушает 32030, exit=сервер); реальный РФ-клиент ждёт проверки user. +index.md. diff --git a/.wiki/sources/de-vds-3xui-setup-2026-07-14.md b/.wiki/sources/de-vds-3xui-setup-2026-07-14.md new file mode 100644 index 0000000..540b3e3 --- /dev/null +++ b/.wiki/sources/de-vds-3xui-setup-2026-07-14.md @@ -0,0 +1,74 @@ +--- +title: DE VDS 3x-UI — setup session 2026-07-14 +type: source +tags: [vless, germany, fornex, 3x-ui, csrf, troubleshooting, session] +ingested: 2026-07-14 +raw_path: (live session, no raw file) +sources: [] +updated: 2026-07-14 +--- + +# DE VDS 3x-UI — сессия настройки 2026-07-14 + +Хроника заведения прокси-VDS [`de-vds-3xui`](../entities/de-vds-3xui.md) (Fornex, Германия). Аналог [`nl-vds-3xui`](../entities/nl-vds-3xui.md) — повторены **только proven-working** решения, маскированные протоколы НЕ поднимались. + +## Закуп / стартовая точка + +Заказ: VPS Custom 1-2-20, Ubuntu 24.04, без панели, Германия, 300 Мбит/с, 1 vCPU / 2 ГБ / 20 ГБ NVMe. Провайдер по факту — **Fornex** (`335555.fornex.cloud`), IP `130.17.17.158`. Свежая машина: только `:22`, ufw inactive, swap 0. Креды → `pass de-vds-3xui/full-env` (host-key `SHA256:1AQ5…cmdE`). + +Подход (по урокам NL-сессии [`nl-vds-3xui-setup-2026-06-05`](nl-vds-3xui-setup-2026-06-05.md)): +- только plain VLESS `security=none` (Reality/MTProto/SOCKS5 у боевых клиентов из РФ не заработали); +- проверять на реальном клиенте, не на своих curl-тестах ([`proxy-debugging-test-the-real-client`](../concepts/proxy-debugging-test-the-real-client.md)); +- креды сразу в `pass`. + +## Что сделано + +1. **Recon + `pass`.** SSH через `plink -m