Relayium vs magic-wormhole: transferência de arquivos por CLI
Última atualização: 2026-07-12
O magic-wormhole conquistou silenciosamente um público fiel: você o executa, recebe um código curto e legível como 7-crossover-clockwork, lê para a outra pessoa e o arquivo chega — criptografado o caminho todo, sem conta e sem nenhum servidor com que precise se preocupar. A CLI do Relayium foi construída em torno de uma ideia parecida: um código curto que emparelha dois computadores e criptografa tudo o que passa entre eles.
Eles se sobrepõem bastante, e onde não se sobrepõem vale a pena ser preciso — incluindo o único ponto em que o magic-wormhole hoje é genuinamente mais resiliente que a CLI do Relayium.
O que eles têm em comum
Ambas as ferramentas resolvem o mesmo problema central da mesma forma honesta: sem nenhum arquivo depositado em um servidor que você não controla, e um código curto como a única coisa que as duas pontas trocam por outro canal. O magic-wormhole não precisa de conta nenhuma; o Relayium pede login só a quem envia, para que o servidor dele possa gerar esse código, e quem recebe continua sem precisar.
- Criptografado de ponta a ponta: o magic-wormhole deriva uma chave de sessão do próprio código wormhole usando um PAKE (SPAKE2), de modo que nem seu próprio servidor de encontro chega a conhecer a chave; o send/receive do Relayium faz uma troca de chaves X25519 diretamente entre as duas pontas e mostra um código de verificação curto (SAS) que você pode comparar antes de qualquer byte se mover.
- Sem conta para receber, em ambas as ferramentas — e nenhuma conta para o magic-wormhole.
- Gratuito e de código aberto — leia o código-fonte que toca seus arquivos.
- Multiplataforma: macOS, Linux e Windows.
Retransmissores: o magic-wormhole e o Relayium usam um
Essa é a concessão honesta, e vale a pena dizê-la com clareza em vez de contorná-la. O magic-wormhole vem com um Transit Relay ao qual pode recorrer quando as duas pontas não conseguem abrir uma conexão direta entre si — por exemplo, ambos os lados atrás de um NAT rígido ou simétrico sem como atravessá-lo. O retransmissor só vê texto cifrado, mas, por existir, a transferência ainda assim se completa.
O send/receive do Relayium envia cada byte por um retransmissor TURN criptografado sempre que o servidor emite um para o código — mesmo quando existe uma rota direta —, e os bytes retransmitidos contam para a cota mensal de tráfego da conta que gerou o código; o retransmissor só vê texto cifrado. Só quando nenhum é emitido (nenhum está configurado ou essa cota se esgotou) ele precisa de uma rota direta, e então pode falhar entre duas máquinas atrás de NATs incomumente rígidos, onde o retransmissor do magic-wormhole ainda levaria a transferência. O daemon direto para um servidor alcançável também não depende de um salto P2P direto.
Antes de começar
Tudo abaixo é a CLI do relayium, então instale-a primeiro se ainda não tiver. No macOS ou Linux, um comando coloca um binário pré-compilado no seu PATH:
curl -fsSL https://relayium.com/install.sh | sh
- Prefere escolher o arquivo você mesmo, ou está no Windows? Pegue um binário na página de releases — relayium.com/cli lista todas as opções de instalação (ou go build ./cmd/relayium se você tiver Go).
- relayium --version confirma que está instalada. Pule isso e os comandos abaixo só imprimirão “command not found”.
Daemon direto: falar com um servidor que você já opera
Onde a CLI do Relayium acrescenta superfície de verdade é fora do caso pontual do código de emparelhamento: mais uma forma de mover arquivos que se apoia em infraestrutura que você já tem, algo que o magic-wormhole não tenta cobrir.
Nota histórica: esta seção descrevia as transferências por SSH do Relayium — push ou sync para um destino user@host:path, relayium pull e as opções -i e -p. A CLI atual as descontinuou e as recusa com “SSH transfers are currently disabled”, então os comandos que estavam aqui não funcionam mais e não são mostrados. Entre duas máquinas que você administra, use relayium serve com push ou sync para relayium://host; as versões mantidas em inglês e chinês simplificado desta página, com links no topo, descrevem os passos atuais.
O relayium serve transforma qualquer máquina que você possua em um destino daemon direto, acessível por TLS 1.3 com fixação, sem SSH e sem código de emparelhamento — a confiança se estabelece na primeira conexão (aprovada de forma interativa, ou pré-autorizada para uso não supervisionado) e fica fixada a partir daí, a mesma ideia de uma chave de host SSH.
relayium authorize <sender-fingerprint>
relayium serve --dir ~/incoming
relayium push ./build relayium://your-serverSincronização de pastas e um servidor auto-hospedável
O magic-wormhole envia um lote de arquivos (ou uma pasta, compactada) e encerra — envie de novo para atualizar o outro lado, sem nenhuma noção do que deveria ser removido. A CLI do Relayium acrescenta o relayium sync, um espelho incremental de sentido único sobre o daemon direto: ele só move o que mudou, o --delete remove no destino os arquivos que desapareceram da origem (um daemon só respeita isso se tiver sido iniciado com --allow-delete, então o receptor precisa optar por isso) e o --watch continua ressincronizando em tempo real conforme os arquivos mudam, sem necessidade de nenhuma tarefa cron.
O servidor do Relayium também é auto-hospedável como um único contêiner Docker, caso você queira rodar tudo por conta própria em vez de depender do relayium.com; aponte a CLI para ele com --server.
relayium sync ./photos relayium://your-server --delete --watchComparação de recursos em resumo
As diferenças que mais importam, lado a lado:
- Nenhum caminho direto disponível: os dois podem retransmitir — tanto o retransmissor do magic-wormhole quanto o retransmissor criptografado do Relayium (sempre que o servidor emite um para o código; contabilizado na cota mensal de tráfego da conta que gerou o código) carregam o fluxo criptografado, então a transferência se completa.
- Conversar com um servidor: o Relayium usa um daemon com TLS com fixação (serve e push/sync); o antigo transporte SSH (push/pull) foi descontinuado. O magic-wormhole exige instalar magic-wormhole nas duas pontas e compartilhar uma frase-código.
- Sincronização de pastas: o relayium sync faz um espelho incremental com --delete e --watch; o magic-wormhole envia um lote (ou uma pasta compactada) e encerra, sem semântica de espelho nem de exclusão.
- Verificação: ambos são criptografados de ponta a ponta; o send/receive do Relayium mostra ainda um código SAS curto que os dois lados comparam antes de a transferência começar.
- Auto-hospedagem: o servidor do Relayium é uma única imagem Docker que você pode rodar por conta própria, servindo tanto a CLI quanto o aplicativo web; o send/receive da CLI pode apontar para ele com --server.
- Licença e custo: ambos gratuitos e de código aberto. O magic-wormhole não exige conta nenhuma; o Relayium exige apenas para o send, para gerar o código de emparelhamento.
Perguntas frequentes
A CLI do Relayium é gratuita?
A CLI é licenciada sob AGPL-3.0 e de código aberto. Seu modo direto — push/sync com daemon direto — conecta as suas duas máquinas diretamente, sem nada para medir. O send / receive passa por um retransmissor criptografado sempre que o servidor emite um para o código, e esses bytes contam para a cota mensal de tráfego da conta que gerou o código. O up guarda um arquivo na sua conta do Relayium e conta para o limite de armazenamento do seu plano; o magic-wormhole não tem equivalente.
Ela precisa de conta?
O send sim, e o up na nuvem também. O daemon direto usa a confiança de certificado TLS com fixação entre suas máquinas, então não toca nenhuma conta do Relayium. O send/receive é a exceção: só o servidor pode gerar um código de emparelhamento, e apenas para uma conta com login feito, então quem envia roda relayium login uma vez; um send ao qual você passa um código que lhe deram não gera nenhum e não precisa de login. Receber nunca precisa de conta.
E se eu estiver atrás de um NAT rígido e não houver caminho direto?
Sempre que o servidor emite um retransmissor para o código, o send/receive do Relayium passa por esse retransmissor criptografado, então um NAT estrito não o impede; os bytes retransmitidos contam para a cota mensal de tráfego da conta que gerou o código. Se nenhum for emitido, ele precisa de uma rota direta e falha sem ela, enquanto o Transit Relay do magic-wormhole ainda consegue levar o fluxo criptografado. O daemon direto para um servidor alcançável não depende de um salto P2P direto.
Posso usar o código de emparelhamento da CLI com o aplicativo web do Relayium?
Sim, com um relayium atual: a CLI, os apps do Relayium e a página web usam os mesmos códigos de pareamento, então um navegador pode entrar em um código gerado pelo relayium send e o relayium receive pode aceitar um código gerado no navegador. Só um relayium antigo pareia apenas com outra CLI; o relayium update o atualiza.
Posso auto-hospedá-lo?
Sim. O servidor do Relayium é distribuído como imagem Docker (docker compose up -d --build), e você pode apontar o send/receive da CLI para a sua própria instância com --server https://your-domain.
Instale a CLI gratuita do Relayium e experimente push, sync ou send — sem cobrança por transferência, e tão rápida de começar quanto magic-wormhole.
Obter a CLI