[2026-09-15] eagle: personal/tech/vless-space-subscription-egress.md

This commit is contained in:
Alexey Martemyanov
2026-09-15 16:24:02 +06:00
parent 05464f090a
commit 8198349968
@@ -1,22 +1,82 @@
---
title: vless-space — клиент 3x-ui с egress через external-подписку
created: 2026-09-15
updated: 2026-09-15
created: 2026-09-15T00:00:00.000Z
updated: '2026-09-15T22:30:00.000Z'
type: tech
namespace: personal
tags: [xray, 3x-ui, x-ui, subscription, outbound, profilegrid, truenas, space, balancer, leastLoad]
tags:
- xray
- 3x-ui
- x-ui
- subscription
- outbound
- profilegrid
- truenas
- space
- balancer
- leastLoad
- balancerTag
- sampling
confidence: high
status: applied-clients-ok-egress-rootcaused
status: done-egress-working
related:
- "[[family/plans/reverse-xray-3xui-kraken]]"
- "[[personal/tech/xray-reverse-tunnel-kraken-truenas]]"
- "[[personal/tech/xray-outbound-subscription-3xui]]"
- "[[family/how-to/truenas-infrastructure]]"
- '[[family/plans/reverse-xray-3xui-kraken]]'
- '[[personal/tech/xray-reverse-tunnel-kraken-truenas]]'
- '[[personal/tech/xray-outbound-subscription-3xui]]'
- '[[family/how-to/truenas-infrastructure]]'
---
# `vless-space` — клиент 3x-ui, egress через внешнюю подписку
> ## ✅ ОБНОВЛЕНО 2026-09-15 (вечер): `xui_v7.db` ЗАЛИТА И РАБОТАЕТ ЧАСТИЧНО
> # 🏁 2026-09-15 22:30 — ЗАДАЧА ВЫПОЛНЕНА ПОЛНОСТЬЮ. EGRESS РАБОТАЕТ.
>
> | Проверка (факт, `xui_v9.db`) | Результат |
> |---|---|
> | IP через `vless-space` | ✅ `104.28.225.223` / `195.72.61.192` (**Стокгольм, SE**) |
> | IP TrueNAS напрямую | `90.189.160.148` — **отличается** → трафик идёт через подписку |
> | Стабильность | ✅ 3/3 запроса подряд через клиент в докере |
> | `in-10095-tcp` clients | ✅ `user1,kraken-user,vless-space` (один инбаунд, порта 10096 нет) |
> | outbounds | ✅ 13, balancer `space-balancer` (leastLoad) |
> | подписка `/sub/24df9391356b48ff` | ✅ HTTP 200 |
> | `kraken-user`, `user1` | ✅ целы, не тронуты |
>
> ## 🔑 ТРИ ПИТФОЛЛА, КОТОРЫЕ СТОИЛИ ПОЛДНЯ (все три обязательны)
>
> **1. `balancerTag`, а НЕ `outboundTag`.** Правило маршрутизации обязано ссылаться на балансировщик через `balancerTag` — с `outboundTag` 3x-ui/Xray не распознаёт его как балансировщик, и на первом же соединении: `app/dispatcher: non existing outTag: space-balancer`.
>
> ```jsonc
> // ❌ НЕ РАБОТАЕТ
> { "type":"field", "user":["vless-space"], "outboundTag":"space-balancer", "ruleTag":"..." }
> // ✅ РАБОТАЕТ
> { "type":"field", "user":["vless-space"], "balancerTag":"space-balancer", "ruleTag":"..." }
> ```
>
> **2. `strategy: leastLoad`, а НЕ `leastPing`.** В Xray 26.x `leastPing` балансировщик **не создаёт** (проверено A/B на минимальном конфиге; `burstObservatory` — то же).
>
> **3. `observatory` ОБЯЗАТЕЛЬНО с `sampling`.** Без `sampling` Xray 26.7.28 **молча** не создаёт балансировщик — `-test` при этом печатает `Configuration OK`.
>
> ```jsonc
> "observatory": { "subjectSelector":["space-"], "probeUrl":"https://www.google.com/generate_204",
> "probeInterval":"30s", "enableConcurrency":true, "sampling":3 } // ← sampling обязателен
> ```
>
> **Итоговый рабочий шаблон (все три фикса):**
> ```jsonc
> "routing": {
> "rules": [ ..., { "type":"field","user":["vless-space"],
> "balancerTag":"space-balancer","ruleTag":"vless-space-via-subscription" } ],
> "balancers": [ { "tag":"space-balancer","selector":["space-"],
> "strategy":{"type":"leastLoad"} } ]
> },
> "observatory": { ..., "sampling": 3 }
> ```
>
> **Артефакт, который сработал:** `~/tmp-xray-space/xui_v9.db` (md5 `8113add5b1d43a54f54253324eed2f1c`), залита на NAS.
> **Бэкапы:** `/mnt/RED_2TB/docker/backups/xray-admin-v9-20260915-102126/` (и v8, v7load, v7, `…-before-vless-space-20260915-012057` — исходная).
>
> **Как проверялось (Xray-клиент в докере на NAS):** конфиг из sub-ссылки → `docker run --name vless-test --network host -v /tmp/client_test_vless_space.json:/etc/xray/config.json:ro ghcr.io/xtls/xray-core:latest` → `curl --socks5-hostname 127.0.0.1:10808 https://api.ipify.org`. Питфолл: `chmod 644` конфига перед `docker run`, иначе `permission denied`.
> ## ✅ ПРЕДЫДУЩИЙ ЭТАП: `xui_v7.db` ЗАЛИТА И РАБОТАЕТ ЧАСТИЧНО
>
> | Проверка после заливки `xui_v7.db` | Результат |
> |---|---|