From df8386af89aa1e0a32a83d5a17118eb92344757d Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 15 Sep 2026 17:09:48 +0600 Subject: [PATCH] [2026-09-15] eagle: personal/tech/vless-space-subscription-egress.md personal/tech/xray-outbound-subscription-3xui.md --- .../tech/vless-space-subscription-egress.md | 29 ++++++++++++++++--- .../tech/xray-outbound-subscription-3xui.md | 28 ++++++++++++++++++ 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/personal/tech/vless-space-subscription-egress.md b/personal/tech/vless-space-subscription-egress.md index 7c415e4b..2c6780f4 100644 --- a/personal/tech/vless-space-subscription-egress.md +++ b/personal/tech/vless-space-subscription-egress.md @@ -18,7 +18,7 @@ tags: - balancerTag - sampling confidence: high -status: done-egress-working +status: blocked-egress-direct-observatory-mismatch related: - '[[family/plans/reverse-xray-3xui-kraken]]' - '[[personal/tech/xray-reverse-tunnel-kraken-truenas]]' @@ -28,7 +28,25 @@ related: # `vless-space` — клиент 3x-ui, egress через внешнюю подписку -> # 🏁 2026-09-15 22:30 — ЗАДАЧА ВЫПОЛНЕНА ПОЛНОСТЬЮ. EGRESS РАБОТАЕТ. +> # 🔴 2026-09-15 (финал сессии) — EGRESS `direct`. НЕ ЗАКРЫТО. +> +> **Живая проверка Alex: IP = `90.189.160.148` (TrueNAS)** → трафик `vless-space` НЕ идёт через подписку. +> +> **Причина найдена:** `observatory.subjectSelector` = `["space-"]`, а outbound'ы теперь `sub1-*`. +> +> ```jsonc +> "balancers": [ { "tag":"space-balancer", "selector":["sub1-"], "strategy":{"type":"leastLoad"} } ] // ✅ +> "observatory": { "subjectSelector":["space-"], ... "sampling":3 } // ❌ ПУСТО +> "outbounds": 31 (3 + 28 × sub1-*) // ✅ +> ``` +> +> `subjectSelector` матчит `space-*` → после удаления статики **не пингуется ни один сервер** → `leastLoad` без живых кандидатов → трафик в первый outbound = `direct`. **Ошибок в логе НЕТ.** +> +> **ЧТО ОСТАЛОСЬ:** заменить `subjectSelector` → `["sub1-"]` (UI `Xray → Observatory` либо `xrayTemplateConfig` при остановленном контейнере), затем живой тест. Полный порядок — в [[personal/tech/xray-outbound-subscription-3xui]] §«Статус: ЧТО ОСТАЛОСЬ». +> +> > ⚠️ Блок «ЗАДАЧА ВЫПОЛНЕНА» ниже относится к `xui_v9.db` со **статическими** `space-01…10` — та конфигурация работала. Она заменена штатной подпиской (`sub1-*`), где egress пока нет. + +> # 🏁 ИСТОРИЯ: 2026-09-15 22:30 — на статике `space-01…10` egress РАБОТАЛ (`xui_v9.db`) > > | Проверка (факт, `xui_v9.db`) | Результат | > |---|---| @@ -36,13 +54,16 @@ related: > | IP TrueNAS напрямую | `90.189.160.148` — **отличается** → трафик идёт через подписку | > | Стабильность | ✅ 3/3 запроса подряд через клиент в докере | > | `in-10095-tcp` clients | ✅ `user1,kraken-user,vless-space` (один инбаунд, порта 10096 нет) | -> | outbounds | ✅ 13, balancer `space-balancer` (leastLoad) | +> | outbounds | 13, balancer `space-balancer` (leastLoad) — **статика, позже удалена** | > | подписка `/sub/24df9391356b48ff` | ✅ HTTP 200 | > | `kraken-user`, `user1` | ✅ целы, не тронуты | > -> ## 🔑 ТРИ ПИТФОЛЛА, КОТОРЫЕ СТОИЛИ ПОЛДНЯ (все три обязательны) +> ## 🔑 ТРИ ПИТФОЛЛА + ЧЕТВЁРТЫЙ (все обязательны) +> +> **⚠️ 4-е условие (2026-09-15, финал): `observatory.subjectSelector` обязан совпадать с `routing.balancers[].selector`.** Проверка: `jq -c '{bal:.routing.balancers[0].selector, obs:.observatory.subjectSelector}'` → значения равны. Рассинхрон = `direct` без единой ошибки в логе. > > **1. `balancerTag`, а НЕ `outboundTag`.** Правило маршрутизации обязано ссылаться на балансировщик через `balancerTag` — с `outboundTag` 3x-ui/Xray не распознаёт его как балансировщик, и на первом же соединении: `app/dispatcher: non existing outTag: space-balancer`. + > > ```jsonc > // ❌ НЕ РАБОТАЕТ diff --git a/personal/tech/xray-outbound-subscription-3xui.md b/personal/tech/xray-outbound-subscription-3xui.md index a7fd2c9a..a9b2c3b2 100644 --- a/personal/tech/xray-outbound-subscription-3xui.md +++ b/personal/tech/xray-outbound-subscription-3xui.md @@ -1,3 +1,31 @@ +--- +title: Xray outbound — внешняя подписка в 3x-ui (vless-space) +created: 2026-09-15T00:00:00.000Z +updated: '2026-09-15T23:59:00.000Z' +type: tech +namespace: personal +tags: + - xray + - 3x-ui + - subscription + - outbound + - outbound_subscriptions + - truenas + - balancer + - leastLoad + - balancerTag + - sampling + - observatory + - subjectSelector + - wal +confidence: high +status: blocked-egress-direct-observatory-mismatch +related: + - '[[family/how-to/truenas-infrastructure]]' + - '[[personal/tech/xray-reverse-tunnel-kraken-truenas]]' + - '[[personal/tech/vless-space-subscription-egress]]' + - '[[family/how-to/vps-qentra]]' +--- # Xray outbound из внешней подписки в 3x-ui (`vless-space`)