-
Notifications
You must be signed in to change notification settings - Fork 2
Home
English | 简体中文
rustdesk-server-starry extends the official RustDesk Server HBBS while
keeping the upstream source as its pinned build base. It adds ordered Geo
Relay selection, managed MMDB data, Secure TCP, optional WebSocket signalling,
connection authentication, safe configuration activation, Relay simulation,
and an optional least-privilege Linux Control Agent. The container image also
includes an unmodified HBBR from the same pinned upstream revision, so the
provided deployments use one Starry image tag for both services.
| Component | Role | Supplied or changed by Starry? |
|---|---|---|
| Starry HBBS | Registers peers, coordinates connections, negotiates Secure TCP, evaluates Geo rules, and selects a Relay. | Modified by the overlay. |
| Starry-image HBBR | Carries remote-control data when P2P is unavailable or a WebSocket endpoint is used. | Not modified. It is built from the same pinned upstream revision as HBBS; examples use this copy to prevent version drift. |
| Starry Control Agent | Exposes a fixed management API for one local HBBS over mTLS and scoped service JWTs. | Optional Linux component. Configuration writes are disabled by default. |
| Account/API server | Handles login, address books, device data, and administration. | Not included. A compatible third-party API can be used; Kessoku is the recommended integration. |
| RustDesk client | Registers with HBBS and establishes P2P or Relay sessions. | Not included. |
An API login does not prove that the HBBS signalling transport works. An HBBS registration does not prove that HBBR data can flow. The documentation keeps these layers separate so that deployment and diagnosis stay evidence-based.
- Strictly ordered Relay selection using facts about both public client addresses.
- Country, continent, subdivision, city, GeoNames ID, ASN, and ISP matching.
- Scheduled MMDB download with validation and last-known-good retention.
- Client-compatible Secure TCP on native HBBS
21116/TCP. - Optional persistent
/ws/idsignalling for constrained networks. - WSS-to-WSS and WSS-to-native sessions through the bundled, unmodified HBBR.
- Certificate-verified
/ws/relayhealth state for WSS and mixed allocation. - Last-known-good config generation/digests and synchronous activation ack.
- Strict optional connection JWT audit/enforcement across native TCP, Secure TCP, and WSS, with UDP initiation unsupported.
- Immutable Relay snapshots and side-effect-free allocation simulation.
- A loopback local protocol and optional mTLS/RBAC Control Agent.
| Your situation | Start here |
|---|---|
| First deployment or limited Docker experience | Getting Started |
| You arrived from the GHCR package page | Docker Image Usage |
| One Linux server, no separate Relay nodes | Docker Deployment |
| Existing systemd or Windows environment | Native Deployment |
| One centre and several HBBR nodes | Multi-Node Deployment |
| You need WebSocket | Reverse Proxy and TLS |
| You need accounts, login, or an API | Account/API Integration |
| You are integrating login with HBBS connection authorization | Connection Authentication |
| You need Relay visibility or managed config transactions | Control Agent |
| Server runs but a feature does not | Troubleshooting |
| You are changing a version | Upgrade and Rollback |
Docker Compose on a Linux host is the recommended deployment for most users. It provides a repeatable service definition, visible persistent data, and a clear rollback point.
- Getting Started
- the page for your deployment method;
- Client Configuration;
- Account/API Integration, when accounts are required;
- Configuration Reference;
- Connection Authentication or Control Agent when those optional features are in scope;
- GEO Rules: Basics;
- Operations and Verification; and
- Troubleshooting when evidence points to a failure.
- Pin release versions for production.
- Keep the client Relay Server field empty when HBBS should allocate Geo Relays.
- Keep client WebSocket off unless the current network needs it.
- Do not enable WebSocket Signal until every configured Relay has a valid
/ws/relayendpoint. - Never bypass TLS verification.
- Keep connection authentication off until audit evidence is complete; do not
treat
auditas enforcement. - Commission the Control Agent read-only and keep HBBS
21115on loopback. - Distribute only
id_ed25519.pub; keepid_ed25519private and backed up. - Treat Compose validation, an open port, or HTTP 101 as partial evidence, not as a successful desktop-control session.
This is an unofficial community project. It is not affiliated with RustDesk, MaxMind, any MMDB mirror provider, or any AI service provider. No GeoLite2 database is built into the image. Parts of the code and documentation were generated or revised with AI assistance and carry no additional warranty.
Source: https://github.com/q1ngyang/rustdesk-server-starry
Licence: AGPL-3.0
- Documentation home
- Getting started
- Docker image usage
- Docker deployment
- Native deployment
- Multi-node deployment
- Reverse proxy and TLS
- Client configuration
- Account/API integration
- Configuration reference
- Connection authentication
- Control Agent
- GEO rules: basics
- GEO rules: advanced
- Operations and verification
- Troubleshooting
- Upgrade and rollback
- Architecture and build
- 文档主页
- 快速开始
- Docker 镜像使用
- Docker 部署
- 原生部署
- 中心与 Relay 多节点部署
- 反向代理与 TLS
- 客户端配置
- 账户与 API 服务接入
- 配置参数详解
- 连接认证
- Control Agent
- Geo 规则:入门
- Geo 规则:进阶
- 运维与完整验证
- 常见问题排查
- 版本升级与回滚
- 架构与构建