Receber arquivos pela linha de comando
Última atualização: 2026-09-01
Enviar é só metade da história — mais cedo ou mais tarde você está na ponta receptora: um colega quer te entregar um arquivo pela internet, uma das suas próprias máquinas quer repassá-lo a outra, ou alguém deixou para você um link armazenado para baixar quando puder. A CLI do Relayium cobre os três casos com um comando diferente para cada um, e nenhum precisa de conta do lado que recebe.
Escolha receive quando outra pessoa está te enviando por código de pareamento, serve quando você quer uma caixa de entrada permanente para a qual máquinas confiáveis possam enviar a qualquer momento, e down quando quem enviou te deu um link criptografado armazenado e talvez já esteja offline.
Três formas de receber, e quando cada uma se aplica
Qual comando você executa depende de quem inicia a transferência e de como as duas máquinas se conhecem:
- relayium receive <code> [destdir] — alguém envia para você entre redes usando um código de pareamento que gerou (com a CLI, um app do Relayium ou a página web) e repassou a você fora de banda. Com criptografia de ponta a ponta, retransmitido sempre que o servidor emite um retransmissor para o código, com um código SAS que você pode comparar.
- relayium serve [--dir D] [--port N] [--once] [--allow-delete] — esta máquina fica à escuta de envios em daemon direto por relayium://, na porta 9031 por padrão.
- relayium down <link> [destdir] — buscar e descriptografar um link armazenado; não é preciso conta para baixar (o antigo relayium pull por SSH foi descontinuado).
receive: alguém envia um arquivo para você entre redes
O que você precisa antes do passo 1
- A CLI nesta máquina. relayium version imprime uma linha de versão; se o shell responder command not found, ela ainda não está instalada aqui.
- Um remetente com sessão iniciada e diante do terminal agora. Só ele precisa de conta — você nunca faz login para receber.
- Os seis dígitos, por um canal à parte. Eles vivem cinco minutos a partir do momento em que a CLI dele os gerou, então combinem antes a hora.
- Um jeito de ler outros seis dígitos de volta para ele depois: o SAS se compara em voz alta, não na tela.
- A outra ponta pode ser relayium send ou relayium pair, um app do Relayium ou a página web — qualquer um gera um código que você pode receber com receive.
Esta é a metade receptora do relayium send. A outra pessoa executa relayium send <path> do lado dela (depois de relayium login); a CLI dela gera um código de 6 dígitos, válido por 5 minutos, e o exibe. Ela te diz qual é por qualquer canal em que ambos confiem — uma ligação, uma mensagem de chat. Você executa receive com esse código:
relayium receive 483920
# ou para um diretório específico
relayium receive 483920 ./downloads
Combine com o remetente quando ele vai rodar o send. O código começa a expirar assim que é gerado, não quando chega até você.
Receba os seis dígitos por um canal em que os dois lados confiem — uma ligação, uma janela de conversa, a sala em que estão.
Rode o receive no diretório onde os arquivos devem cair, ou nomeie um explicitamente.
relayium receive 483920relayium receive 483920 ./downloadsQuando os dois terminais imprimirem um código de verificação, leia o seu em voz alta e confirme que bate com o dele. Ele não é o código de emparelhamento, e é a única coisa que descarta uma ponta trocada.
Não mexa no terminal até ele voltar ao prompt. É uma única sessão ao vivo: fechar qualquer uma das pontas interrompe a transferência.
Como é um recebimento bem-sucedido
A linha path mostra por onde os bytes viajam — relay, ou direct / lan para ponto a ponto — e as duas pontas mostram o MESMO código de verificação. Códigos diferentes são o único resultado que você não deve aceitar — pare e confira com quem enviou em qual máquina a pessoa está.
$ relayium receive 483920
verification code (SAS): 271044 — not the pairing code; compare it on both ends to rule out a substituted endpoint
path: direct- A conexão tem criptografia de ponta a ponta; depois de conectadas, as duas pontas mostram o mesmo SAS (short authentication string). Compare-o fora de banda com quem enviou para confirmar que as impressões digitais dos certificados TLS fixados não foram substituídas e que o serviço de encontro não se passou por nenhuma delas. O SAS autentica as pontas; não prova cada salto da rota de rede.
- Sem destino indicado: os arquivos caem no diretório atual.
- A mesma regra de retransmissão do send: sempre que o servidor emite um retransmissor para o código, cada byte passa por esse retransmissor criptografado e conta para a cota mensal de tráfego da conta que gerou o código — a de quem enviou, nunca a sua. Só sem retransmissor as duas pontas se conectam ponto a ponto, e então a transferência falha se não houver um caminho direto.
- O código é o mesmo código de pareamento que os apps e a página web usam: alguém enviando pelo relayium.com ou por um app do Relayium pode ler para você um código que você recebe aqui, e um código gerado pelo relayium send pode ser acessado pela página web em vez da CLI.
- O receptor nunca precisa de conta, em nenhuma rede. Só quem envia faz login, para que a CLI dele possa gerar o código.
serve: transforme esta máquina em uma caixa de entrada à escuta
serve funciona ao contrário: em vez de você ir buscar, outras máquinas enviam diretamente para você por relayium:// — feito para máquinas em que você já confia, como seu próprio notebook enviando para um NAS, ou um servidor de compilação despejando artefatos em uma máquina que é sua — por uma conexão TLS 1.3 com fixação, sem SSH, sem encontro.
relayium serve
# um diretório e uma porta específicos, permitindo requisições de exclusão
relayium serve --dir ~/incoming --port 9031 --allow-delete
Inicie o receptor nomeando o diretório onde os envios devem cair.
relayium serve --dir ~/incomingQuando uma máquina nova empurra pela primeira vez, o serve mostra o endereço e a impressão digital dela e pergunta. Aprove uma vez e os envios seguintes daquela impressão passam em silêncio.
Se este receptor for rodar sem terminal, não conte com essa pergunta: não há ninguém para responder, e um remetente desconhecido é recusado de cara. Use a autorização prévia descrita na próxima seção.
- Na primeira vez que uma máquina nova envia para você, o serve (rodando em um terminal) mostra o endereço e a impressão digital dela e pede que você a aprove uma vez; depois disso, os envios da mesma impressão digital passam silenciosamente.
- Sem terminal — um serviço systemd, um script sem TTY — não há a quem perguntar, então um emissor não reconhecido é rejeitado de imediato. Em vez disso, autorize-o com antecedência usando a impressão digital que o emissor imprime com relayium id:
Autorizar com antecedência para um serve desassistido
Para um serve que roda desassistido (systemd, um script em segundo plano), faça o emissor executar relayium id para imprimir sua impressão digital, e então aprove-a de antemão do lado receptor:
relayium authorize <fingerprint>
- --dir define onde os arquivos caem (padrão o diretório atual); --once aceita uma única transferência e sai; --allow-delete permite que uma requisição --delete (espelho) recebida realmente remova arquivos aqui, e está desligado por padrão.
- --config-dir (padrão ~/.config/relayium) é onde ficam a identidade deste host e sua lista de impressões digitais autorizadas — substitua-o se você executa serve como um serviço dedicado.
pull (SSH): descontinuado
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.
Para trazer algo de um servidor que você administra, envie-o do servidor com relayium up e rode aqui relayium down com o link — ou rode relayium serve nesta máquina e faça o servidor dar push para relayium://este-host.
relayium down '<complete-link-with-#k-fragment>' ./local-destQuando não funciona
Cinco falhas cobrem quase todo recebimento malsucedido. O comando que você estava rodando decide qual delas se aplica, e cada uma se resolve com uma linha para ler ou um comando para rodar.
Sintoma, checagem, correção
- Você digita o código e o rendezvous recusa.
relayium receive 483920 # the rendezvous refuses the codeQuase sempre os cinco minutos já passaram: o código expira a partir de quando a CLI do remetente o gerou, não de quando você foi avisado. Peça para ele rodar o send de novo e ler os dígitos novos na hora. Um dígito digitado errado é indistinguível daqui, então releia o código para ele antes de concluir que expirou.
- A transferência termina mas você não acha os arquivos.
relayium receive 483920 ./downloadsSem destino, o receive escreve no diretório de onde você o executou, que raramente é onde você estava procurando. Passe um explicitamente, ou rode pwd antes.
- Falha com "no direct connection to the peer (both ends behind strict NAT?)".
relayium receive 483920 # no direct connection to the peer (both ends behind strict NAT?): …Uma das pontas usa um relayium antigo cujo pareamento é só direto, e nenhuma conseguiu alcançar a outra. Atualize as duas pontas: um relayium atual passa pelo retransmissor criptografado sempre que o servidor emite um para o código. Senão, leve uma das pontas para uma rede com endereço alcançável — um servidor, ou o roteamento do celular — ou suba o arquivo com relayium up e repasse o link de download.
- O down diz que o link é inválido ou que não consegue descriptografar o arquivo.
relayium down '<link-without-fragment>' ./downloads # invalid link or missing keyCopie o link inteiro de novo, incluindo #k=. O fragmento é a única chave de descriptografia; se ele foi omitido, o servidor não consegue reconstruí-lo.
- Uma máquina empurra para o seu receptor serve e é recusada sem que você seja perguntado.
relayium serve --dir ~/incomingEssa pergunta só existe quando o serve tem terminal. Sob systemd, dentro de um script ou atrás de um pipe não há a quem perguntar, então uma impressão digital desconhecida é recusada de cara. Peça ao remetente para rodar relayium id e autorize aqui com relayium authorize <impressão>, usando o mesmo --config-dir sob o qual o receptor roda.
Perguntas frequentes
Preciso de uma conta para receber arquivos?
Não. receive e serve não precisam de conta do seu lado, e o down só precisa do link. Quem faz login é quem envia, para gerar um código de pareamento para receive ou criar um link armazenado. O armazenamento hospedado consome a cota do plano de quem envia, o que é contabilizar o uso, não uma cobrança por transferência.
O relayium receive interopera com o código de emparelhamento do navegador?
Sim. Um relayium atual e os apps e a página web do relayium.com usam os mesmos códigos de pareamento, então o relayium receive consegue aceitar um código gerado em um navegador ou app, e um navegador consegue entrar em um código gerado pelo relayium send. Só uma CLI do relayium antiga, ou um servidor anterior às dicas de pareamento, volta ao pareamento antigo, só entre CLIs e só direto.
O que acontece se uma máquina desconhecida enviar para o meu processo serve à escuta?
Em um terminal, você é solicitado a aprová-la por endereço e impressão digital no primeiro envio dela, e a aprovação é lembrada. Sem terminal — um serviço systemd, uma tarefa cron — não há a quem perguntar, então um emissor não reconhecido é rejeitado; autorize-o primeiro com relayium authorize <fingerprint>.
Posso trazer arquivos de um servidor que eu administro?
Não com relayium pull: ele e as transferências por SSH foram descontinuados na CLI atual. Rode relayium serve nesta máquina e faça o servidor enviar com relayium push relayium://este-host, ou envie do servidor com relayium up e baixe o link aqui com relayium down.
Onde o relayium guarda minha identidade e os pares confiáveis?
Em ~/.config/relayium por padrão — substitua o local com --config-dir em qualquer comando que toque a identidade ou a confiança.
Pronto para receber sua primeira transferência? Instale a CLI e escolha receive, serve ou down.
Obter a CLI