Sobre o projeto
rustdesk-server-starry é uma sobreposição não oficial, mantida pela comunidade, para o projeto oficial rustdesk/rustdesk-server. Ela foca no HBBS (servidor de ID/sinalização) e adiciona seleção de Relay orientada por políticas, além de compatibilidade de transporte para clientes autenticados, evitando um fork permanentemente divergente do código-fonte upstream.
Como a sobreposição funciona
Cada build começa a partir de uma revisão exata do RustDesk Server oficial. O script scripts/apply_overlay.py verifica âncoras fixas do código-fonte, injeta os módulos Starry e é projetado para ser idempotente: aplicá-lo uma segunda vez não deve produzir alterações adicionais. Se uma mudança estrutural upstream invalidar uma âncora ou um teste, a publicação é interrompida em vez de enviar um servidor parcialmente corrigido.
Capacidades descritas no README
- Seleção ordenada de Relay usando fatos de país, cidade, subdivisão, ASN e ISP de ambos os endpoints.
- Download, substituição, retenção e atualização agendada de MMDB validados.
- Negociação Secure TCP compatível com o cliente RustDesk e transporte criptografado no TCP nativo HBBS 21116.
- Sinalização WebSocket persistente opcional em /ws/id, incluindo sessões WSS-para-WSS e WSS-para-Relay nativo.
- Filtragem de saúde de /ws/relay verificada por certificado.
- Sondagem ativa de Relay candidato somente para Akari com RTT/jitter/perda de dupla extremidade e pontuação de carga HBBR confiável, histerese de cache de prefixo e fallback legado de Relay único.
- Autorização Ed25519 de curta duração, desativada por padrão, para Akari FastCompat e FastMediaV1 vinculada a papéis, com plano de dados UDP AKR1 HBBR supervisionado separadamente.
- Leases de Ativação de Perfil seguros por geração para Akari, incluindo ACK Ready correspondente, desativação explícita do lease atual, re-registro rápido verificado limitado e padrões compatíveis com o cliente oficial.
- Ativação de último-conhecido-bom do esquema v5 com geração, digest e confirmações síncronas de subsistemas.
- Auditoria/aplicação JWT Ed25519 estrita opcional para PunchHoleRequest e RequestRelay direto em TCP nativo, Secure TCP e WSS; iniciação UDP é explicitamente não suportada.
- Bootstrap de Agente de Controle/Relay SP1, registro de Relay limitado, identidades persistentes e exportação de downgrade v5-para-v4 sem efeitos colaterais.
- Snapshots imutáveis de Relay, simulação de alocação sem efeitos colaterais e um Agente de Controle Linux separado protegido por mTLS, JWTs de serviço com escopo e transações atômicas de configuração.
Limites de componentes
- HBBS: modificado pela sobreposição; execute o binário ou comando de imagem hbbs Starry.
- HBBR: Relay confiável mais UDP AKR1 opcional; mantém o caminho de encaminhamento de bytes TCP/WS upstream, responde a sondas públicas de qualidade sem carga, expõe estado detalhado apenas por telemetria autenticada e opcionalmente roteia datagramas Akari AKF1 criptografados após concessões vinculadas a papéis.
- Agente de Controle: componente Starry opcional, somente Linux na v1.3; mantenha o controle local HBBS em loopback e exponha o Agente apenas em um caminho de gerenciamento privado com mTLS e JWTs de serviço com escopo. Gravações de configuração são desativadas por padrão.
- Servidor de Conta/API: não incluído. Login de conta, catálogos de endereços, dados de dispositivo e administração exigem uma implementação de API selecionada separadamente.
O README enfatiza que o login da API de conta, a conexão de sinalização HBBS, a API de Controle Starry opcional e o caminho de dados HBBR são camadas de protocolo separadas. Starry não transforma uma API de terceiros em um Relay e não substitui o cliente RustDesk. O listener UDP FastMedia opcional é independente do fluxo HBBR comum, que sempre permanece como fallback confiável.
Status de lançamento
O lançamento de desenvolvimento atual é uma prévia do patch-v1.3.1. Imagens Docker são publicadas em ghcr.io/q1ngyang/rustdesk-server-starry. A matriz de candidatos é Docker linux/amd64 mais binários Linux x86_64 e pacotes DEB amd64. ARM é compatibilidade de código-fonte de melhor esforço; Windows é um build experimental não bloqueante, e nenhum é um artefato prometido da v1.3.1. A prévia é opt-in, mantém ambos os switches Fast desativados por padrão e é publicada apenas como pré-lançamento do GitHub e imagem de prévia contínua. A aprovação estável ainda exige portões de lançamento de ponta a ponta FastMedia e dispositivos reais.
Documentação
O inglês é o idioma padrão da documentação, com um equivalente em chinês simplificado para cada guia narrativo. Arquivos de configuração e orquestração prontos para uso são compartilhados por ambos os idiomas. O índice de documentação classificado cobre fontes locais, manual de contêiner, notas de lançamento e referências técnicas. Os guias incluem introdução, uso de imagem Docker, implantação Docker, implantação nativa, implantação multi-nó, proxy reverso e TLS, configuração de cliente, integração de conta/API, referência de configuração, autenticação de conexão, Agente de Controle, Lease de Ativação de Perfil v1, autorização Fast Relay v1, FastMedia Relay UDP v1, Emparelhamento Starry v1, regras GEO básicas e avançadas, operações e verificação, solução de problemas, upgrade e rollback, e arquitetura e build.
Licença e avisos
O código-fonte oficial do RustDesk Server e a sobreposição Starry são distribuídos sob a Licença Pública Geral Affero GNU v3.0. Binários e imagens publicados são construídos a partir da revisão upstream fixada correspondente mais esta sobreposição. O projeto declara que não é afiliado ou endossado por RustDesk, MaxMind, qualquer provedor de espelho MMDB ou qualquer provedor de serviços de IA. A imagem não inclui um banco de dados GeoLite2; operadores devem selecionar fontes de dados legais e confiáveis e cumprir suas licenças. Partes do código e documentação foram geradas ou revisadas com assistência de IA e permanecem sujeitas à mesma licença do projeto sem garantia adicional.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.