Sobre el proyecto

rustdesk-server-starry es un overlay no oficial mantenido por la comunidad para el proyecto oficial rustdesk/rustdesk-server. Se centra en HBBS (el servidor de ID/señalización) y añade selección de Relay basada en políticas más compatibilidad de transporte autenticado para clientes, evitando un fork divergente permanente del código fuente original. Cómo funciona el overlay Cada compilación comienza desde una revisión oficial exacta de RustDesk Server. El script scripts/apply_overlay.py verifica anclas de código fijas, inyecta los módulos Starry y está diseñado para ser idempotente: aplicarlo una segunda vez no debería producir cambios adicionales. Si un cambio estructural del código original invalida una ancla o una prueba, la publicación se detiene en lugar de enviar un servidor parcialmente parcheado. Capacidades descritas en el README - Selección de Relay ordenada usando datos de país, ciudad, subdivisión, ASN e ISP de ambos extremos. - Descarga, reemplazo, retención y actualización programada de MMDB validados. - Negociación Secure TCP compatible con el cliente RustDesk y transporte cifrado en el TCP nativo de HBBS 21116. - Señalización WebSocket persistente opcional en /ws/id, incluyendo sesiones WSS-a-WSS y WSS-a-Relay nativo. - Filtrado de salud de /ws/relay verificado por certificado. - Sondeo activo de Relays candidatos solo para Akari con medición de RTT/jitter/pérdida en ambos extremos y puntuación de carga HBBR confiable, histéresis de caché de prefijos y respaldo de un solo Relay heredado. - Autorización Ed25519 de corta duración desactivada por defecto para Akari FastCompat y FastMediaV1 con roles, con un plano de datos UDP AKR1 HBBR supervisado por separado. - Arrendamientos de activación de perfil seguros por generación para Akari, incluyendo ACK Ready coincidente, desactivación explícita del arrendamiento actual, re-registro rápido verificado acotado y valores predeterminados compatibles con clientes oficiales. - Activación de último estado conocido del esquema v5 con generación, digest y acuses de recibo sincrónicos de subsistemas. - Auditoría/aplicación estricta opcional de JWT de conexión Ed25519 para PunchHoleRequest y RequestRelay directo en TCP nativo, Secure TCP y WSS; la iniciación UDP no es compatible explícitamente. - Bootstrap de Control-Agent/Relay SP1, inscripción de Relay acotada, identidades persistentes y exportación de degradación v5-a-v4 sin efectos secundarios. - Instantáneas de Relay inmutables, simulación de asignación sin efectos secundarios y un Control Agent de Linux separado protegido por mTLS, JWTs de servicio con alcance y transacciones de configuración atómicas. Límites de componentes - HBBS: modificado por el overlay; ejecute el binario o comando de imagen Starry hbbs. - HBBR: Relay confiable más UDP AKR1 opcional; mantiene la ruta de reenvío de bytes TCP/WS del código original, responde a sondas de calidad públicas sin carga, expone estado detallado solo a través de telemetría autenticada y opcionalmente enruta datagramas Akari AKF1 cifrados después de concesiones vinculadas a roles. - Control Agent: componente Starry opcional, solo Linux en v1.3; mantenga el control local de HBBS en loopback y exponga el Agent solo en una ruta de gestión privada con mTLS y JWTs de servicio con alcance. Las escrituras de configuración están deshabilitadas por defecto. - Servidor de cuenta/API: no incluido. El inicio de sesión de cuenta, libretas de direcciones, datos de dispositivos y administración requieren una implementación de API seleccionada por separado. El README enfatiza que el inicio de sesión de API de cuenta, la conexión de señalización HBBS, la API de Control Starry opcional y la ruta de datos HBBR son capas de protocolo separadas. Starry no convierte una API de terceros en un Relay y no reemplaza al cliente RustDesk. El listener UDP FastMedia opcional es independiente del flujo HBBR ordinario, que siempre sigue siendo el respaldo confiable. Estado de lanzamiento El lanzamiento de desarrollo actual es una vista previa de parche v1.3.1. Las imágenes Docker se publican en ghcr.io/q1ngyang/rustdesk-server-starry. La matriz candidata es Docker linux/amd64 más binarios Linux x86_64 y paquetes DEB amd64. ARM es compatibilidad de código fuente de mejor esfuerzo; Windows es una compilación experimental no bloqueante, y ninguno es un artefacto prometido de v1.3.1. La vista previa es opcional, mantiene ambos interruptores Fast desactivados por defecto y se publica solo como prelanzamiento de GitHub y la imagen de vista previa continua. La aprobación estable aún requiere pruebas de extremo a extremo de FastMedia y puertas de lanzamiento con dispositivos reales. Documentación El inglés es el idioma de documentación predeterminado, con una contraparte en chino simplificado para cada guía narrativa. Los archivos de configuración y orquestación listos para copiar son compartidos por ambos idiomas. El índice de documentación clasificado cubre fuentes locales, un manual de contenedor, notas de lanzamiento y referencias técnicas. Las guías incluyen inicio rápido, uso de imágenes Docker, despliegue con Docker, despliegue nativo, despliegue multi-nodo, proxy inverso y TLS, configuración del cliente, integración de cuenta/API, referencia de configuración, autenticación de conexión, Control Agent, Profile Activation Lease v1, Fast Relay authorization v1, FastMedia Relay UDP v1, Starry Pairing v1, conceptos básicos y avanzados de reglas GEO, operaciones y verificación, solución de problemas, actualización y reversión, y arquitectura y compilación. Licencia y descargos El código fuente oficial de RustDesk Server y el overlay Starry se distribuyen bajo la Licencia Pública General Affero GNU v3.0. Los binarios e imágenes publicados se compilan desde la revisión original fijada correspondiente más este overlay. El proyecto declara que no está afiliado ni respaldado por RustDesk, MaxMind, ningún proveedor de espejos MMDB ni ningún proveedor de servicios de IA. La imagen no incluye una base de datos GeoLite2; los operadores deben seleccionar fuentes de datos legales y confiables y cumplir con sus licencias. Partes del código y la documentación fueron generadas o revisadas con asistencia de IA y permanecen sujetas a la misma licencia del proyecto sin garantía adicional.