Transfira arquivos e texto pelo terminal com a CLI do Relayium
Última atualização: 2026-09-01
A CLI do Relayium é um pequeno binário para transferir arquivos e texto efêmero pelo terminal — com criptografia de ponta a ponta, auto-hospedável e gratuito. Copie arquivos para um servidor, envie um build ou passe URLs, comandos e código sem salvar primeiro como arquivo.
Seja qual for a forma que você usar, os bytes dos arquivos trafegam diretamente entre as duas pontas e nunca passam pelos servidores do Relayium. Este guia deixa você instalado e com a sua primeira transferência feita, e depois aponta para os tutoriais mais aprofundados de cada modo.
Instale com um único comando
O que você precisa
- Uma máquina com terminal no macOS, Linux ou Windows. Há binários pré-compilados para os três, em x86-64 e arm64.
- curl, para a instalação de uma linha no macOS e no Linux: curl --version imprime uma versão. No Windows, baixe o .zip na página de releases.
- Um diretório de instalação com permissão de escrita. O script usa /usr/local/bin quando consegue escrever ali e ~/.local/bin caso contrário, e as últimas linhas dizem qual foi escolhido.
- Nada mais para push, pull ou daemon direto. Só gerar um código de emparelhamento com send ou text, e subir com up, precisam de uma conta gratuita do Relayium.
No macOS ou no Linux, um comando baixa um binário pré-compilado para o seu sistema operacional e o coloca no seu PATH:
curl -fsSL https://relayium.com/install.sh | sh
- Prefere escolher o arquivo você mesmo? Baixe um binário na página de releases.
- Tem o Go instalado? Clone o repositório e execute: go build -o relayium ./cmd/relayium (a partir do diretório server).
- Depois execute relayium --help para ver todos os comandos, e relayium version para conferir o build.
As três formas de mover arquivos
O Relayium move arquivos de três formas. Você escolhe pela localização da outra ponta, não aprendendo três ferramentas diferentes — todas compartilham um único motor de transferência, que verifica cada arquivo que move com um hash SHA-256. O que elas não compartilham é a retomada: o sync é o modo que continua um arquivo parcial em uma execução posterior, e push, pull, send e receive não retomam nada.
- push / pull — para um servidor no qual você já consegue entrar por SSH. Os bytes trafegam pela sua conexão SSH; sem conta do Relayium.
- send / receive — para outra pessoa entre redes, usando um código de emparelhamento curto que a CLI de quem envia gera (faça login uma vez com relayium login; quem recebe, nunca). Um código emitido vale cinco minutos, então rode o comando na máquina que recebe dentro desse prazo.
- send/receive e text da CLI do Relayium são P2P e direct-only: nunca retransmitem bytes de arquivos ou mensagens por TURN nem por qualquer outro servidor Relayium. Se as duas pontas não conseguirem estabelecer uma conexão direta, a sessão falha em vez de recorrer a um retransmissor.
- serve + push relayium:// (daemon direto) — direto entre dois servidores que você possui, sobre TLS com fixação. Sem retransmissor, sem SSH, sem código.
Enviar texto efêmero
Execute relayium text em uma máquina para gerar um código de emparelhamento e entre na outra com o código exibido:
relayium text
relayium text 483920
- Gerar o código requer relayium login; entrar com um código não requer login.
- As duas máquinas precisam ficar online. As mensagens têm criptografia de ponta a ponta, e os servidores da Relayium não armazenam seu conteúdo.
- send/receive e text da CLI do Relayium são P2P e direct-only: nunca retransmitem bytes de arquivos ou mensagens por TURN nem por qualquer outro servidor Relayium. Se as duas pontas não conseguirem estabelecer uma conexão direta, a sessão falha em vez de recorrer a um retransmissor.
- Qualquer ponta ainda pode copiar ou guardar o texto recebido.
- Cada mensagem pode ter até 65.536 bytes UTF-8. Use relayium send para conteúdo maior.
Sua primeira transferência
O mais rápido para experimentar é copiar uma pasta para um servidor no qual você consiga entrar por SSH. O Relayium usa o seu acesso SSH existente, então não há nada a configurar no remoto e nenhuma conta a criar:
Confira se a CLI está no seu PATH. Ela imprime uma versão, não “command not found”.
relayium versionConfira se você já alcança o servidor do jeito de sempre. O push reaproveita exatamente esse acesso, então um ssh bem-sucedido cumpre o pré-requisito de conexão e autenticação. Isso não é uma promessa sobre a transferência em si: o push ainda precisa de permissão de escrita e espaço livre em user@your-server:backups/.
ssh user@your-server trueEmpurre a pasta. O último argumento é host:path, e são os dois-pontos que o marcam como remoto. A barra no fim significa “para dentro deste diretório”.
relayium push ./photos user@your-server:backups/Confira se os arquivos chegaram onde você esperava. push ./photos recria photos/ sob o destino, então o nome da pasta vai junto.
ssh user@your-server ls backups/photos
Como é uma execução bem-sucedida
Com o relayium do outro lado, o push imprime uma linha por arquivo concluído e sai com 0. Contra um servidor sem nada instalado ele imprime o resumo do fluxo tar: os dois são sucesso.
relayium push ./photos user@your-server:backups/
photos/IMG_0413.jpg (2314518 bytes)
photos/IMG_0414.jpg (1998233 bytes)
echo $?
# 0- Se o relayium também estiver instalado no remoto, o push usa o protocolo nativo: o lote é checado por colisões antes de qualquer byte sair, e cada arquivo é verificado por SHA-256 e preparado em área temporária antes de ser instalado. Ainda assim ele não retoma — repetir a execução depois de uma interrupção é recusado, porque os arquivos que chegaram agora existem. Use o relayium sync onde você precisar disso.
- O push recorre a um simples fluxo tar quando o relayium não está no remoto, então funciona até contra um servidor sem nada instalado — essa alternativa é só do push.
- Traga os mesmos arquivos de volta com: relayium pull user@your-server:backups/ ./restore — o pull sempre precisa do relayium no remoto (ele não tem alternativa com tar), então instale-o lá primeiro.
Quando o primeiro comando não passa
Quatro coisas dão errado numa primeira tentativa mais do que todo o resto somado. Nenhuma exige adivinhação: cada uma tem um comando cuja saída resolve a questão.
Sintoma, verificação, correção
- “relayium: command not found”, logo depois de o script de instalação dizer que deu certo.
command -v relayium # (não imprime nada)O binário está instalado, mas o diretório dele não está no seu PATH. As últimas linhas do script dizem qual diretório foi usado e imprimem a linha export PATH exata a acrescentar; rode-a, abra um shell novo e tente relayium version de novo.
- O push termina na hora com “push destination must be remote (host:path)”.
relayium push ./photos user@your-server backups/ # push destination must be remote (host:path)O destino perdeu os dois-pontos, então o relayium leu como caminho local. Escreva no estilo do scp, sem espaço entre o host e o caminho: user@your-server:backups/
- O pull falha num servidor com o qual o push funcionava bem.
ssh user@your-server command -v relayium # (não imprime nada)O pull não tem alternativa com tar, porque nesse sentido quem envia é o remoto: ele precisa do relayium instalado lá. Instale no servidor com o mesmo comando de uma linha e repita o pull.
- Duas máquinas entram no mesmo código e uma imprime “the other side is running `relayium text`, not `relayium send`/`relayium receive`”.
# sessão de mensagens: AS DUAS pontas rodam text relayium text relayium text 483920As duas pontas rodaram comandos diferentes. Para mensagens, relayium text nas duas máquinas; para arquivos, relayium send em uma e relayium receive na outra. A divergência é recusada antes de qualquer tentativa de conexão, então nada foi enviado.
Gratuito, e privado por decisão de projeto
Não há nada a pagar. Das três formas acima, o único login é o de quem envia no modo send / receive, para que a CLI dele possa gerar um código de emparelhamento (o up na nuvem também usa a sua conta, para guardar o arquivo). A CLI conecta as duas pontas diretamente, então seus arquivos nunca são enviados para um servidor no meio — a única coisa que toca o Relayium em algum momento é um minúsculo handshake de encontro no modo send / receive, usado para apresentar as duas pontas uma à outra, nunca o arquivo em si.
Cada transferência é criptografada de ponta a ponta, e no protocolo nativo cada arquivo que uma execução transfere é verificado com um hash SHA-256 na chegada — a exceção é a alternativa com tar sem dependências, que não verifica nada arquivo por arquivo. A retomada é mais estreita que o resto: o relayium sync continua um arquivo parcial em uma execução posterior, o relayium down reconecta e continua dentro da execução que o iniciou, e push, pull, send e receive não retomam nada. Ela roda no macOS, no Linux e no Windows, e o projeto inteiro é de código aberto e auto-hospedável.
Perguntas frequentes
A CLI custa alguma coisa?
Não. A CLI é totalmente gratuita. Os bytes de arquivos e texto transferidos diretamente nunca passam por um retransmissor do Relayium, então não há nada a medir nem pagar.
Preciso de uma conta do Relayium?
Para gerar um código de emparelhamento com send ou text, e para o up na nuvem. push / pull e daemon direto não exigem conta. O servidor só gera códigos para uma conta logada, então quem cria roda relayium login uma vez. Entrar com um código recebido e usar receive não requer login.
Quais sistemas operacionais são compatíveis?
Binários pré-compilados são publicados para macOS, Linux e Windows, tanto em x86-64 quanto em arm64. O script de instalação cobre macOS e Linux; no Windows, baixe o .zip na página de releases.
Meus arquivos passam pelos servidores do Relayium?
Não. Em todos os modos, os bytes dos arquivos trafegam diretamente entre as duas pontas. Só o send / receive contata os nossos servidores, e apenas para um pequeno handshake de encontro — nunca o conteúdo do arquivo.
Instale a CLI do Relayium e faça a sua primeira transferência — totalmente gratuita.
Obter a CLI