Plataforma backend de código abierto para crear aplicaciones, con Auth, Databases, Storage, Functions, Messaging, Realtime y Hosting, alojable en infraestructura propia con Docker.
dmotz/trystero
Una biblioteca JavaScript para crear aplicaciones web multijugador en las que los navegadores se conectan entre sí mediante WebRTC, sin tener que ejecutar un servidor propio.
- Estrellas
- 2,796
- Forks
- 161
- Issues abiertos
- 7
- Último commit
- ayer
¿Qué es?
Trystero se encarga del proceso de búsqueda de pares que WebRTC requiere normalmente. Los navegadores se unen a una sala mediante un ID y se encuentran a través de un canal de señalización como Nostr (el predeterminado), BitTorrent, MQTT, IPFS, Supabase, Firebase o un relay de WebSocket autohospedado. Una vez conectados, los datos de la aplicación viajan directamente entre pares y se cifran de extremo a extremo, por lo que el medio de señalización solo transmite los datos de conexión.
Además de WebRTC, ofrece salas y difusión de mensajes, acciones tipadas para enviar mensajes, serialización automática y división en fragmentos de cargas grandes, eventos de progreso, llamadas de solicitud y respuesta, y compatibilidad con flujos de audio y video. La misma API funciona en el navegador y en Node, Bun y Deno; también incluye hooks de React. Para cambiar de estrategia, solo hay que cambiar el paquete importado.
Trystero está escrito en TypeScript y se distribuye en npm con el nombre de paquete trystero, mientras que los paquetes específicos de cada estrategia se publican bajo el scope @trystero-p2p.
Funciones clave
- 01Descubrimiento de pares sin servidor mediante Nostr, BitTorrent, MQTT, IPFS, Supabase, Firebase o un relay de WebSocket
- 02Salas con difusión de mensajes y acciones personalizadas tipadas para enviar mensajes a pares
- 03Serialización automática y división en fragmentos de datos grandes, con eventos de progreso
- 04Intercambio de flujos de audio y video entre pares
- 05Cifrado de sesiones opcional mediante contraseña y compatibilidad con servidores TURN
- 06Funciona en navegadores y en el servidor con Node, Bun y Deno
Casos de uso
- Crear un juego multijugador para navegador sin mantener un backend
- Crear una sala privada de chat de audio o video entre usuarios
- Transferir archivos directamente entre navegadores en una aplicación web
- Sincronizar entre colaboradores estados compartidos, como cursores o datos de formularios
Temas
Preguntas frecuentes
- ¿Qué es trystero?
- Una biblioteca JavaScript para crear aplicaciones web multijugador en las que los navegadores se conectan entre sí mediante WebRTC, sin tener que ejecutar un servidor propio. Trystero se encarga del proceso de búsqueda de pares que WebRTC requiere normalmente. Los navegadores se unen a una sala mediante un ID y se encuentran a través de un canal de señalización como Nostr (el predeterminado), BitTorrent, MQTT, IPFS, Supabase, Firebase o un relay de WebSocket autohospedado. Una vez conectados, los datos de la aplicación viajan directamente entre pares y se cifran de extremo a extremo, por lo que el medio de señalización solo transmite los datos de conexión.
- ¿trystero es gratuito? ¿Qué licencia tiene?
- trystero es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿trystero sigue mantenido?
- Mantenimiento activo. El último commit de trystero fue el 18 oct 2026.
- ¿Para qué puedo usar trystero?
- Crear un juego multijugador para navegador sin mantener un backend Crear una sala privada de chat de audio o video entre usuarios Transferir archivos directamente entre navegadores en una aplicación web Sincronizar entre colaboradores estados compartidos, como cursores o datos de formularios
- ¿Dónde consigo trystero?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/dmotz/trystero
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Backend ligero y autoalojable con base de datos, autenticación, archivos multimedia y flujos de trabajo, basado en estándares web para ejecutarse en distintos entornos y frameworks.
Framework de código abierto para crear apps nativas universales con React que funcionan en Android, iOS y la web.
Un bundler extremadamente rápido para JavaScript, TypeScript, JSX y CSS, con CLI y API para JavaScript y Go.
Un espacio de trabajo autohospedable donde personas y agentes de IA comparten canales, mensajes, flujos de trabajo y eventos de Git en un relay de Nostr propio.
Biblioteca JavaScript de alto rendimiento para crear mapas web interactivos que muestran mosaicos, datos vectoriales y marcadores de cualquier origen.