zorin-fabric
Zorin Fabric объединяет существующие VConnect, Xray/Remnawave, KnotRoute и Zorin Trust вокруг одной задачи: дать клиенту устойчивый сетевой доступ, не переписывая уже работающие сетевые компоненты.
Что здесь является ядром
Section titled “Что здесь является ядром”VConnect в Fabric — это access transport через VK Звонки / Яндекс Телемост. Полезный трафик идёт внутри рабочего звонка до RU edge. После RU edge VConnect заканчивается: дальнейший транзит и выход в Internet выполняет Xray, а пользователи/ноды/Config Profiles остаются под управлением Remnawave.
Fabric Controller не находится в data plane. Он только проверяет пользователя, принимает heartbeat RU edge и выдаёт клиенту актуальную service-call ссылку.
Что изменилось относительно v0.2
Section titled “Что изменилось относительно v0.2”- Multi-RU control plane.
fabric-controllerхранит состояние RU edge, сортирует их по online/priority/load и отдаёт bootstrap клиенту. - User-aware VConnect → Xray handoff. На work-session создаётся отдельный локальный Xray bridge. Он входит в основной RU Xray с
vlessUuidконкретного Remnawave пользователя, поэтому Xray снова видит пользователя, а не общий SOCKS ingress. - Короткоживущие Fabric tokens. Помимо legacy deterministic HMAC поддержан
ft1с TTL. Controller умеет обменять свежий Zorin TrustZOWNER/1proof на такой token и защищает exchange от replay. fabric://autoв Android и desktop source. Клиент получает живой RU edge от Controller и затем запускает обычный VConnect service/work flow.- VK work path исправлен.
WORK_VK_PEER_IDи service-side VK cookies передаются spawned VK creator; полезный канал может быть VK или Telemost. - Remnawave-aware compiler v2. Он генерирует loopback-only VLESS Fabric inbounds и связывает их с существующими
BL-*/HO-*, не копируя RU→EU routing внутрь VConnect. - KnotRoute adapter. Его transport manager можно направить через локальный Fabric/VConnect SOCKS, сохраняя
.knot, E2E overlay и пользовательские services отдельным plane.
Быстрый маршрут к запуску
Section titled “Быстрый маршрут к запуску”Подробно: docs/DEPLOYMENT.md.
# 1. Скомпилировать текущий RU Remnawave/Xray Config Profilepython3 tools/remnawave-fabric-compile.py \ --ru-config ./ru-profile.json \ --xray-out ./ru-profile.fabric.json \ --routes-out ./deploy/ru-edge/generated/fabric-routes.json \ --inventory-out ./deploy/ru-edge/generated/fabric-inventory.json
# 2. Создать базовые секреты (API token/cookies скрипт намеренно не генерирует)python3 tools/init-fabric-secrets.py --edges ru-1,ru-2
# 3. Настроить Controller и первый RU edge# deploy/controller/fabric-controller.json# deploy/ru-edge/.env
# 4. Запустить control plane и edgecd deploy/controller && docker compose up -d --buildcd ../ru-edge && docker compose up -d --buildПосле импорта ru-profile.fabric.json в Remnawave необходимо включить новые FABRIC-VCONNECT-* inbounds на RU node и дать их тем же Fabric-пользователям через Internal Squad. Массив clients компилятор намеренно оставляет пустым: пользователями этих inbound’ов продолжает владеть Remnawave.
Репозиторий
Section titled “Репозиторий”fabric-controller/— multi-RU bootstrap, heartbeat, Remnawave admission, Trust exchange.vconnect-fabric/— полный VConnect source с multi-user creator-service и per-user Xray bridge.tools/remnawave-fabric-compile.py— адаптация действующего RU Config Profile.tools/fabric-credential.py— legacy и short-lived Fabric credentials.tools/init-fabric-secrets.py— локальная генерация базовых secret files.tools/knotroute-fabric-compile.py— подключение KnotRoute transport к Fabric SOCKS.deploy/controller/— compose/config Controller.deploy/ru-edge/— compose/config RU edge.integrations/knotroute/— пример overlay integration.docs/— архитектура, deployment, Trust, Android gateway, security и ограничения.
Что 1.0.0 не притворяется решённым
Section titled “Что 1.0.0 не притворяется решённым”- Stock Android USB tethering нельзя честно объявить универсальным «в один клик» без системных привилегий/OEM-проверки. Архитектура описана в
docs/ANDROID-GATEWAY.md. - Android AUTO bootstrap сейчас использует Telemost как service/control call; work/data call уже может быть VK или Telemost. Полный automatic VK-control fallback требует отдельной service-aware VK/captcha интеграции.
- Matrix не включён в critical path. Его разумно добавлять позже как application поверх Fabric/KnotRoute.
- В этой песочнице не удалось собрать весь Android/Electron/Pion стек из-за отсутствующих внешних toolchain/dependencies. Что именно реально скомпилировано и протестировано, перечислено в
VALIDATION.md.
Security
Section titled “Security”Не коммитьте Remnawave API tokens, provider cookies, Fabric master keys и operational Xray credentials. Если реальный production config когда-либо передавался третьей стороне или попадал в историю/чат, используемые там секреты лучше ротировать до production rollout.
1.0.1 operational additions
Section titled “1.0.1 operational additions”- Provider cookies больше не нужно писать вручную: VConnect Creator уже имеет Export Cookies;
tools/cookies/install-cookie-bundle.pyвалидирует егоcookies.zipи устанавливает secrets. - Серверный quickstart:
docs/SERVER-QUICKSTART.md. - Git split:
docs/GIT-REPOSITORIES.md. Для публикации подготовлены отдельные деревья вgit-ready/. - RU edge compose разделён на runtime compose +
docker-compose.build.yml, поэтомуzorin-fabricиvconnectмогут жить в отдельных Git repositories.