RCAT Server · Stable 1.0.13

RCAT — серверная инфраструктура RailDesk для надежного удаленного доступа

RCAT, RailDesk Connect and Transit Server, помогает клиентам RailDesk находить друг друга, проверять online-статус (доступность устройства), согласовывать прямое соединение и переключаться на transit/relay-сервер (транзитный сервер), если прямой путь недоступен из-за NAT, firewall (межсетевого экрана) или сетевой политики.

  • ID/Meet
  • Transit/Relay
  • RailDesk API
  • Админ-панель
  • SSO/OIDC
Собственная разработка Krass Team

RCAT развивается автономно и не является форком открытых проектов

RCAT создан командой Krass Team как самостоятельный серверный проект для RailDesk. Он не является форком RailDesk OSS, RustDesk Server или других открытых проектов и развивается автономно внутри Krass Team.

Функциональность переносилась методом clean room (независимой реализации): команда описывала ожидаемое серверное поведение RailDesk OSS и реализовывала его заново, без переноса исходного кода, структуры модулей или комментариев открытого сервера.

Совместимость с клиентом RailDesk также опирается на обратный инжиниринг API RustDesk, который используется в RailDesk. Это позволяет сохранять нужное поведение протокола там, где оно важно для подключения клиентов, и при этом развивать собственную серверную архитектуру Krass Team.

Что делает RCAT

Серверный слой, который соединяет клиентов RailDesk

RCAT отвечает не за сам интерфейс удаленного рабочего стола, а за инфраструктуру подключения: регистрацию, доступность устройств, выбор пути соединения, резервный маршрут через relay-сервер (транзитный сервер) и серверную конфигурацию.

Регистрация устройств

RCAT принимает регистрацию клиентов, хранит сведения о peer-устройствах (устройствах-участниках соединения) и помогает понять, какие устройства сейчас доступны для подключения.

Согласование соединения

Сервер координирует ID/Meet (Rendezvous), NAT test и direct/punch flow, чтобы клиенты могли попробовать прямое соединение.

Fallback через Transit/Relay

Если прямой путь не сработал из-за NAT, CGNAT, firewall (межсетевого экрана) или сетевой политики, RCAT переводит сессию через transit/relay-сервер (транзитный сервер).

Конфигурация и обновления

Клиент получает через RCAT серверную конфигурацию, адреса сервисов и информацию об обновлениях, нужную для управляемой эксплуатации.

Зачем это нужно

RCAT делает удаленный доступ управляемым, а не зависимым от случайной сети

В реальных сетях прямое P2P-соединение часто ломают NAT, CGNAT, корпоративные firewall (межсетевые экраны) и правила провайдеров. RCAT берет на себя координацию прямого подключения и дает понятный резервный маршрут через transit/relay, чтобы пользователь не занимался сетевой диагностикой вместо работы.

Для SaaS-версии RailDesk (облачной версии) RCAT стал собственной серверной основой Krass Team. Для self-hosted и enterprise-сценариев (самостоятельного развертывания и корпоративных сценариев) он дает организациям возможность держать сервер удаленного доступа под своим контролем: на своих серверах, со своими сетевыми правилами, хранилищем и политикой безопасности.

Stable 1.0.13

Что входит в текущую стабильную версию RCAT 1.0

RCAT 1.0.13 — это стабильная эксплуатационная линия первого поколения: Connect/Transit, API bootstrap (начальная конфигурация API), RailDesk webUI, SSO/OIDC compatibility (совместимость с единым входом) и набор исправлений по производительности.

Connect и Transit

В RCAT 1.0.13 есть режимы запуска all, id, transit и api, UDP/TCP/WebSocket-пути для согласования соединения, TCP/WebSocket-пути для транзита, регистрация устройств и public key (публичного ключа).

RailDesk API

Стабильная версия закрывает API bootstrap (начальную конфигурацию API): health/config/version, server-config, login/logout, heartbeat/sysinfo-события, devices, peers, users и update endpoints.

RailDesk webUI

RailDesk webUI доступен на /admin/: dashboard (панель состояния), список peer-устройств, карточка устройства, пользователи, профиль администратора, SSO/OIDC-настройки, журналы входов и базовые audit-разделы (разделы аудита).

Хранение и миграция

RCAT поддерживает SQLite и PostgreSQL для peer/control данных (данных устройств и управляющего контура), импорт legacy peer database (старой базы устройств) и генерацию server key (ключа сервера) для самостоятельного развертывания.

Эксплуатационные настройки

В стабильной линии есть runtime blocklist/blacklist (оперативные списки ограничений), bandwidth policy (политика пропускной способности), forced transit mode (принудительный транзит) и служебные команды для управления серверным контуром.

Исправления стабильности 1.0.13

В 1.0.13 снижена нагрузка на transit relay (транзитную маршрутизацию) и heartbeat-события, улучшено обновление IP peer-устройств, исправлена обработка Android-устройств и выдача software update (информации об обновлениях).

Кому подходит

RCAT нужен там, где сервер удаленного доступа должен быть под контролем

Это не просто relay-процесс (транзитный процесс). RCAT объединяет сервер подключения, резервный transit-маршрут, HTTP API, RailDesk webUI, клиентскую конфигурацию, обновления и будущие policy-слои (слои политик) в один продуктовый контур.

Командам поддержки, которым нужен управляемый сервер удаленного подключения.

SaaS-инфраструктуре RailDesk (облачной инфраструктуре), где важны контроль регистрации устройств, relay-трафика (транзитного трафика) и клиентской конфигурации.

Организациям, которым нужен self-hosted удаленный доступ (самостоятельное развертывание) без зависимости от внешнего rendezvous или relay-сервера.

Администраторам, которым нужна видимость peer-устройств, пользователей, входов и базовой telemetry (технической телеметрии).

Enterprise-командам (корпоративным командам), которым постепенно понадобятся SSO, аудит, политики доступа и управляемые рабочие контуры.

Сравнение

RailDesk OSS vs RCAT Server

RailDesk OSS остается открытым вариантом для базового самостоятельного развертывания ID/Meet и Transit/Relay. RCAT шире: он добавляет RailDesk API, RailDesk webUI, SSO/OIDC, control store и эксплуатационные настройки для управляемой инфраструктуры.

Функция RailDesk OSS RCAT Server
Назначение Базовая открытая серверная часть для самостоятельного развертывания, включая запуск из Docker-образа. Управляемая серверная платформа для SaaS, self-hosted и enterprise-сценариев.
ID/Meet (Rendezvous) Да. Помогает клиентам находить друг друга. Да. Входит в серверный слой Connect и поддерживает дополнительные сценарии эксплуатации.
Transit/Relay Да. Дает базовый транзитный маршрут для соединений. Да. Поддерживает TCP и WebSocket transit path, forced transit mode и политики пропускной способности.
RailDesk API Нет. API-компоненты не входят в RailDesk OSS. Да. Есть API bootstrap, конфигурация клиента, heartbeat/sysinfo, devices, peers, users и update endpoints.
RailDesk webUI Нет. Управляющая веб-панель не входит в базовый OSS-сервер. Да. RailDesk webUI показывает dashboard, устройства, пользователей, журналы входов, SSO/OIDC и базовые audit-разделы.
SSO/OIDC Нет. Единый вход не относится к базовой серверной части OSS. Да. В стабильной версии есть совместимый SSO/OIDC flow и хранение конфигурации в control store.
Хранение данных Достаточно для базовых серверных функций. SQLite и PostgreSQL для peer/control данных, импорт legacy peer database и эксплуатационные данные серверного контура.
Администрирование и политики Минимальный набор для самостоятельного запуска ID/Meet и Transit/Relay. Runtime blocklist/blacklist, bandwidth policy, forced transit mode, служебные команды и наблюдаемость.
Использование в SaaS RailDesk Не используется как серверная основа SaaS-версии RailDesk. Используется как собственная серверная основа Krass Team для SaaS-инфраструктуры RailDesk.
Кому подходит Командам, которым нужна открытая базовая серверная часть и самостоятельная проверка архитектуры. Командам, которым нужны управляемость, API, RailDesk webUI, SSO/OIDC, контроль инфраструктуры и коммерческое сопровождение.

RCAT реализован как clean-room Go-сервер (независимая реализация без переноса стороннего AGPL-кода) и не является форком открытых проектов. Он сохраняет совместимое поведение клиентского протокола там, где это нужно для подключения RailDesk, но развивается как собственная архитектура Krass Team.