Relay autohospedable que permite controlar la app de escritorio de Alma desde la app móvil de Alma mediante una conexión saliente, sin redireccionar puertos ni usar una VPN.
nanami-0713/relay-kit
Un relay autocontrolado y cifrado de extremo a extremo que se despliega en Cloudflare Workers para que un teléfono acceda a un puerto local del escritorio sin exponerlo.
- Estrellas
- 193
- Forks
- 22
- Issues abiertos
- 0
- Último commit
- hace 5 días
¿Qué es?
relay-kit es un servidor relay que actúa de intermediario entre un cliente remoto, como un teléfono, y un servicio que se ejecuta en un escritorio. El relay se ejecuta en Cloudflare Workers con Durable Objects y solo reenvía texto cifrado y un token de enrutamiento, por lo que el descifrado ocurre únicamente en los dos extremos. El emparejamiento utiliza un único código de 256 bits, del que también se derivan el token de enrutamiento y la sal PAKE; sin el código, el relay no puede completar el handshake.
El repositorio incluye el relay, un agente de referencia que actúa como proxy para cualquier puerto HTTP o WebSocket local y un cliente de referencia que ofrece fetch y WebSocket a través del túnel. Una implementación de referencia del relay basada en Node reproduce el mismo protocolo para pruebas locales o para alojarlo en un solo proceso. El protocolo está especificado en PROTOCOL.md y el paquete principal solo usa WebCrypto, por lo que funciona en Node 18+, navegadores y Capacitor WebViews.
El proyecto deriva del protocolo relay del asistente Alma AI y no es compatible a nivel de wire con los clientes oficiales de Alma. No incluye limitación de tasa de solicitudes de fábrica y el handshake no ha sido auditado formalmente.
Funciones clave
- 01Despliega el relay en Cloudflare Workers con un solo comando de wrangler.
- 02El relay solo gestiona texto cifrado y tokens de enrutamiento; el descifrado ocurre en los extremos.
- 03Un único código de emparejamiento deriva tanto el token de enrutamiento como la sal PAKE.
- 04El agente de referencia actúa como proxy para cualquier puerto HTTP o WebSocket local.
- 05El paquete criptográfico principal solo depende de WebCrypto y funciona en Node 18+ y navegadores.
- 06Incluye una implementación de referencia del relay en Node para pruebas locales o para alojarlo por cuenta propia.
Casos de uso
- Acceder desde un teléfono conectado a otra red a un servidor de desarrollo local o al panel web de un escritorio.
- Alojar por cuenta propia un túnel privado y cifrado en tu propia cuenta de Cloudflare.
- Crear un agente o cliente personalizado basado en el protocolo relay-e2e/v1 documentado.
Inicio rápido
- 1
Instala las dependencias
npm install - 2
Inicia sesión en tu cuenta de Cloudflare (solo una vez)
npx wrangler login - 3
Ve al directorio del servidor relay
cd workers/relay - 4
Despliega el relay en Cloudflare Workers
npx wrangler deploy
Antes de usarlo
- El handshake es un esquema de estilo PAKE desarrollado internamente que no se ha verificado ni auditado formalmente.
- De forma predeterminada, el protocolo no es compatible a nivel de cable con los clientes oficiales de Alma.
- Los dominios workers.dev están bloqueados en muchas redes de China continental, por lo que puede que necesites un dominio personalizado o un proxy.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es relay-kit?
- Un relay autocontrolado y cifrado de extremo a extremo que se despliega en Cloudflare Workers para que un teléfono acceda a un puerto local del escritorio sin exponerlo. relay-kit es un servidor relay que actúa de intermediario entre un cliente remoto, como un teléfono, y un servicio que se ejecuta en un escritorio. El relay se ejecuta en Cloudflare Workers con Durable Objects y solo reenvía texto cifrado y un token de enrutamiento, por lo que el descifrado ocurre únicamente en los dos extremos. El emparejamiento utiliza un único código de 256 bits, del que también se derivan el token de enrutamiento y la sal PAKE; sin el código, el relay no puede completar el handshake.
- ¿relay-kit es gratuito? ¿Qué licencia tiene?
- relay-kit es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿relay-kit sigue mantenido?
- Mantenimiento activo. El último commit de relay-kit fue el 1 nov 2026.
- ¿Para qué puedo usar relay-kit?
- Acceder desde un teléfono conectado a otra red a un servidor de desarrollo local o al panel web de un escritorio. Alojar por cuenta propia un túnel privado y cifrado en tu propia cuenta de Cloudflare. Crear un agente o cliente personalizado basado en el protocolo relay-e2e/v1 documentado.
- ¿Cómo se instala relay-kit?
- Instala las dependencias: npm install Inicia sesión en tu cuenta de Cloudflare (solo una vez): npx wrangler login Ve al directorio del servidor relay: cd workers/relay Despliega el relay en Cloudflare Workers: npx wrangler deploy
- ¿Dónde consigo relay-kit?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/nanami-0713/relay-kit
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una CLI que da a tu servidor de desarrollo local una URL HTTPS pública, con WebSockets y hot reload, gratis y sin necesidad de cuenta.
Herramienta CLI para enviar archivos y carpetas entre dos computadoras, de igual a igual con un relay como alternativa y cifrado de extremo a extremo mediante una frase de código compartida.
Plataforma WebRTC open source y autohospedada para videollamadas 1 a 1 entre cámaras, con pantalla compartida y cifrado de extremo a extremo.
Un servidor Git donde cada repositorio es un Durable Object, ejecutado en Cloudflare Workers o alojado en celld.
Un daemon autohospedado que ejecuta aplicaciones de Cloudflare Workers y Durable Objects en tus propias máquinas, con el estado almacenado en un bucket de S3, GCS o Azure.