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 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.
Retransmisores: magic-wormhole y Relayium usan uno
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 envía cada byte por un retransmisor TURN cifrado siempre que el servidor emite uno para el código —aunque exista una ruta directa—, y los bytes retransmitidos cuentan para la cuota mensual de tráfico de la cuenta que generó el código; el retransmisor solo ve texto cifrado. Solo cuando no se emite ninguno (no hay ninguno configurado o esa cuota está agotada) necesita una ruta directa, y entonces puede fallar entre dos máquinas detrás de NAT inusualmente estrictos, donde el retransmisor de magic-wormhole aún llevaría la transferencia. El daemon directo hacia un servidor alcanzable tampoco depende de un 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 ./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 ».
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: otra forma de mover archivos que se apoya en infraestructura que ya tienes, algo que magic-wormhole no intenta cubrir.
Nota histórica: esta sección describía las transferencias SSH de Relayium: push o sync a un destino user@host:path, relayium pull y las opciones -i y -p. El CLI actual las ha retirado y las rechaza con «SSH transfers are currently disabled», así que los comandos que había aquí ya no funcionan y no se muestran. Entre dos máquinas que administres, usa relayium serve con push o sync a relayium://host; las versiones mantenidas en inglés y en chino simplificado de esta página, enlazadas arriba, describen los pasos actuales.
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 authorize <sender-fingerprint>
relayium serve --dir ~/incoming
relayium push ./build relayium://your-serverSincronizació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 daemon directo: 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 relayium://your-server --delete --watchComparativa de funciones de un vistazo
Las diferencias que más importan, una al lado de la otra:
- Sin camino directo disponible: ambos pueden retransmitir; tanto el retransmisor de magic-wormhole como el retransmisor cifrado de Relayium (siempre que el servidor emite uno para el código; contabilizado en la cuota mensual de tráfico de la cuenta que generó el código) llevan el flujo cifrado, así que la transferencia se completa.
- Hablar con un servidor: Relayium usa un daemon con TLS con anclaje (serve y push/sync); el antiguo transporte SSH (push/pull) está retirado. magic-wormhole requiere instalar magic-wormhole en ambos extremos y compartir una frase clave.
- 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?
La CLI tiene licencia AGPL-3.0 y es de código abierto. Su modo directo —push/sync con daemon directo— conecta tus dos máquinas directamente, sin nada que medir. send / receive pasa por un retransmisor cifrado siempre que el servidor emite uno para el código, y esos bytes cuentan para la cuota mensual de tráfico de la cuenta que generó el código. up guarda un archivo en tu cuenta de Relayium y cuenta para el límite de almacenamiento de tu plan; magic-wormhole no tiene equivalente.
¿Necesita una cuenta?
send sí, y el up en la nube también. daemon directo usa la confianza de certificado TLS con anclaje entre tus máquinas, así que no toca ninguna 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?
Siempre que el servidor emite un retransmisor para el código, el send/receive de Relayium pasa por ese retransmisor cifrado, así que un NAT estricto no lo detiene; los bytes retransmitidos cuentan para la cuota mensual de tráfico de la cuenta que generó el código. Si no se emite ninguno, necesita una ruta directa y falla sin ella, mientras que el Transit Relay de magic-wormhole aún puede llevar el flujo cifrado. El daemon directo hacia un servidor alcanzable no depende de un salto P2P directo.
¿Puedo usar el código de emparejamiento de la CLI con la aplicación web de Relayium?
Sí, con un relayium actual: la CLI, las apps de Relayium y la página web usan los mismos códigos de emparejamiento, así que un navegador puede unirse a un código que generó relayium send y relayium receive puede aceptar un código generado en un navegador. Solo un relayium antiguo se empareja únicamente con otra CLI; relayium update lo actualiza.
¿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 — sin cargo por transferencia, y tan rápida de empezar como magic-wormhole.
Obtener la CLI