Relayium vs magic-wormhole: transferencia de archivos por CLI
Última actualización: 2026-07-12
magic-wormhole se ha ganado en silencio una base de seguidores fieles: lo ejecutas, obtienes un código corto y legible como 7-crossover-clockwork, se lo lees a la otra persona y el archivo llega — cifrado todo el trayecto, sin cuenta y sin ningún servidor en el que tengas que pensar. La CLI de Relayium se construye en torno a una idea similar: un código corto que empareja dos ordenadores directamente y cifra todo lo que pasa entre ellos.
Se solapan mucho, y donde no lo hacen, vale la pena ser preciso al respecto — incluido el único punto en el que magic-wormhole es hoy genuinamente más resistente que la CLI de Relayium.
Lo que tienen en común
Ambas herramientas resuelven el mismo problema central de la misma forma honesta: sin ningún archivo depositado en un servidor que no controlas, y un código corto como lo único que los dos extremos se pasan por otro canal. magic-wormhole no necesita cuenta alguna; Relayium solo se la pide a quien envía, para que su servidor pueda generar ese código, y quien recibe sigue sin necesitarla.
- Cifrado de extremo a extremo: magic-wormhole deriva una clave de sesión del propio código wormhole usando un PAKE (SPAKE2), de modo que ni siquiera su propio servidor de encuentro llega a conocer la clave; el send/receive de Relayium hace un intercambio de claves X25519 directamente entre los dos extremos y muestra un código de verificación corto (SAS) que puedes comparar antes de que se mueva ningún byte.
- Sin cuenta para recibir, en ambas herramientas — y ninguna en absoluto para magic-wormhole.
- Gratis y de código abierto — lee el código fuente que toca tus archivos.
- Multiplataforma: macOS, Linux y Windows.
El único punto en que magic-wormhole es más resistente: tiene un retransmisor
Esta es la concesión honesta, y vale la pena decirla claramente en lugar de pasarla por alto. magic-wormhole incluye un Transit Relay al que puede recurrir cuando los dos extremos no pueden abrir una conexión directa entre sí — por ejemplo, ambos lados detrás de un NAT estricto o simétrico sin forma de atravesarlo. El retransmisor solo ve texto cifrado, pero como está ahí, la transferencia igualmente se completa.
El send/receive de Relayium es solo directo: busca una conexión directa durante unos segundos justo después del handshake, y si no encuentra ninguna, la transferencia falla sin más en lugar de recurrir a ningún retransmisor — los servidores de Relayium nunca tocan los bytes de archivos de una transferencia CLI entre redes, por diseño. En la práctica eso es poco frecuente (la mayoría de las redes domésticas y de oficina permiten un camino directo), pero si estás moviendo archivos entre dos máquinas que están ambas detrás de NAT inusualmente estrictos, es más probable que magic-wormhole simplemente funcione. Si no se puede encontrar un camino directo y la fiabilidad importa más que evitar un retransmisor, ese es el caso para recurrir a magic-wormhole — o para usar el push/pull o el daemon directo de Relayium contra un servidor al que realmente puedas llegar, que no dependen en absoluto de ese salto P2P directo.
Antes de empezar
Todo lo de abajo es la CLI de relayium, así que instálala primero si aún no la tienes. En macOS o Linux, un solo comando deja un binario precompilado en tu PATH:
curl -fsSL https://relayium.com/install.sh | sh
- ¿Prefieres elegir el archivo tú mismo, o estás en Windows? Coge un binario de la página de releases — relayium.com/cli lista todas las opciones de instalación (o go build -o relayium ./cmd/relayium si tienes Go).
- relayium --version confirma que está instalada. Sáltate esto y los comandos de abajo solo imprimirán « command not found ».
SSH y daemon directo: hablar con un servidor que ya operas
Donde la CLI de Relayium añade superficie real es fuera del caso puntual del código de emparejamiento: dos formas más de mover archivos que se apoyan en infraestructura que ya tienes, algo que magic-wormhole no intenta cubrir.
relayium push / pull reutiliza tu acceso SSH existente, así que no hay nada nuevo en lo que confiar ni ningún código de emparejamiento que compartir. push incluso funciona contra un servidor sin relayium instalado en absoluto, recurriendo a un simple flujo tar sobre la conexión SSH — ese respaldo es solo para push; pull siempre necesita relayium en el remoto, ya que actúa allí como remitente.
relayium serve convierte cualquier máquina que poseas en un destino daemon directo, accesible por TLS 1.3 con anclaje sin SSH ni código de emparejamiento — la confianza se establece en la primera conexión (aprobada de forma interactiva, o preautorizada para uso desatendido) y queda fijada a partir de entonces, la misma idea que una clave de host SSH.
relayium push ./photos user@your-server:backups/
relayium serve --dir ~/incoming
relayium push ./build relayium://your-server
Sincronización de carpetas y un servidor autoalojable
magic-wormhole envía un lote de archivos (o una carpeta, comprimida) y termina — envíalo de nuevo para actualizar el otro lado, sin ninguna noción de qué debería eliminarse. La CLI de Relayium añade relayium sync, un espejo incremental de un solo sentido sobre cualquiera de los dos transportes anteriores: solo mueve lo que cambió, --delete elimina en el destino los archivos que desaparecieron del origen (un daemon solo lo respeta si se inició con --allow-delete, así que el receptor tiene que optar por ello), y --watch sigue resincronizando en tiempo real a medida que los archivos cambian, sin necesidad de ninguna tarea cron.
El servidor de Relayium también es autoalojable como un único contenedor Docker si quieres ejecutar todo tú mismo en lugar de depender de relayium.com; apunta la CLI hacia él con --server.
relayium sync ./photos user@your-server:backups/photos --delete --watch
Comparativa de funciones de un vistazo
Las diferencias que más importan, una al lado de la otra:
- Sin camino directo disponible: el Transit Relay de magic-wormhole transporta el flujo cifrado, así que la transferencia igualmente se completa; el send/receive de Relayium es solo directo y falla en ese caso.
- Hablar con un servidor: Relayium reutiliza tu acceso SSH (push/pull) o un daemon sobre TLS con anclaje; magic-wormhole no tiene integración con SSH — instálalo en ambos extremos y comparte un código.
- Sincronización de carpetas: relayium sync hace un espejo incremental con --delete y --watch; magic-wormhole envía un lote (o una carpeta comprimida) y termina, sin semántica de espejo ni de eliminación.
- Verificación: ambos están cifrados de extremo a extremo; el send/receive de Relayium muestra además un código SAS corto que ambos lados comparan antes de que empiece la transferencia.
- Autoalojamiento: el servidor de Relayium es una única imagen Docker que puedes ejecutar tú mismo, sirviendo tanto la CLI como la aplicación web; el send/receive de la CLI puede apuntar hacia él con --server.
- Licencia y coste: ambos gratis y de código abierto. magic-wormhole no requiere cuenta alguna; Relayium solo la requiere para send, para generar el código de emparejamiento.
Preguntas frecuentes
¿Es gratis la CLI de Relayium?
Sí, completamente. No hay un nivel de pago ni nada que medir — cada modo conecta los dos extremos directamente, y la CLI es de código abierto.
¿Necesita una cuenta?
send sí, y el up en la nube también. push/pull usa tu propio acceso SSH y daemon directo usa la confianza de certificado TLS con anclaje entre tus máquinas, así que ninguno toca una cuenta de Relayium. send/receive es la excepción: solo el servidor puede generar un código de emparejamiento, y solo para una cuenta con sesión iniciada, así que quien envía ejecuta relayium login una vez; un send al que le pasas un código que te dieron no genera ninguno y no necesita inicio de sesión. Recibir nunca necesita cuenta.
¿Qué pasa si estoy detrás de un NAT estricto y no hay camino directo?
El send/receive de Relayium es solo directo y fallará en ese caso — no recurre a un retransmisor. El Transit Relay de magic-wormhole todavía puede transportar el flujo cifrado y completar la transferencia. Si necesitas que funcione sin importar cómo sea la red, magic-wormhole cubre ese caso hoy; el push/pull o el daemon directo de Relayium contra un servidor al que puedas llegar también funcionan, ya que no dependen de un salto P2P directo.
¿Puedo usar el código de emparejamiento de la CLI con la aplicación web de Relayium?
Todavía no para una transferencia emparejada en vivo — el send/receive de la CLI usa su propio handshake directo, separado del flujo de emparejamiento del navegador basado en WebRTC, así que los dos no interoperan hoy. Para entregar un archivo a alguien que solo usa un navegador, usa el enlace de descarga almacenado de Relayium o el propio modo de código de emparejamiento de la aplicación web.
¿Puedo autoalojarlo?
Sí. El servidor de Relayium se distribuye como imagen Docker (docker compose up -d --build), y puedes apuntar el send/receive de la CLI hacia tu propia instancia con --server https://your-domain.
Instala la CLI gratuita de Relayium y prueba push, sync o send — totalmente gratis, y una transferencia basada en código tan rápida de empezar como magic-wormhole.
Obtener la CLI