Relayium

Use seu próprio nó: aproveite o retransmissor e o armazenamento do Relayium de graça

Última atualização: 2026-08-06

Transferências entre redes e links armazenados usam largura de banda de retransmissão e disco que nos custam dinheiro, então funcionam dentro de uma cota gratuita e são pagas além dela. Há um jeito de contornar isso: rode seu próprio nó de retransmissão/armazenamento, vincule-o à sua conta, e suas transferências fluem pelo seu nó em vez do nosso — nada medido, nada faturado.

Isso é diferente de auto-hospedar o servidor Relayium inteiro. Você continua usando sua conta habitual do relayium.com e os mesmos aplicativos; só está adicionando um nó que é seu para carregar seu tráfego. Este guia leva você de uma máquina Linux recém-instalada a um nó online em cerca de cinco minutos.

Por que rodar seu próprio nó

Dois motivos. Primeiro, o custo: um nó que é seu carrega seu tráfego de retransmissão e armazenamento diretamente, então nunca toca nossa infraestrutura medida e não há nada a faturar — seu uso é gratuito por maior que seja.

Segundo, o controle: os bytes retransmitidos e os blobs armazenados residem em hardware que você opera, sob seu próprio controle operacional. As transferências em tempo real permanecem com criptografia de ponta a ponta durante todo o trajeto, então até seu próprio nó só vê texto cifrado.

Instale o nó e coloque-o online

O que você precisa antes do passo 1

  • Um servidor Linux acessível pela internet — tanto um VPS barato quanto uma máquina sempre ligada em casa servem. amd64 e arm64 são suportados.
  • root nesse servidor, ou sudo. A instalação precisa disso uma vez; o nó em si nunca roda como root.
  • Poder abrir portas de entrada — no firewall do host e, num VPS na nuvem, também no grupo de segurança do provedor.
  • Uma conta relayium.com com sessão iniciada. O comando de instalação é gerado na página da conta e carrega um token de uso único.
  • Espaço em disco, apenas se você quiser que o nó também armazene além de retransmitir. Um nó só de retransmissão não precisa — nesse caso omita RELAYIUM_NODE_STORAGE_DIR.

Quatro coisas em ordem: gerar o comando, executá-lo, abrir as portas e confirmar que o nó ficou online. Cerca de cinco minutos numa máquina nova.

  1. Entre no relayium.com e abra a página da sua conta em /me.

  2. Desça até Meus nós e clique em Adicionar nó. Copie o comando de instalação na hora — o token que ele contém aparece uma única vez e não pode ser exibido de novo.

  3. Cole no seu servidor. Ele baixa o binário relayium-node, verifica a soma de verificação, instala em /usr/local/bin, escreve um serviço systemd e o inicia.

    curl -fsSL https://relayium.com/install-node.sh | sudo RELAYIUM_CENTRAL_URL=https://relayium.com RELAYIUM_NODE_TOKEN=<your-token> RELAYIUM_NODE_STORAGE_DIR=/var/lib/relayium-node/blobs sh
  4. Confirme que o serviço subiu e que voltará depois de um reboot. As duas respostas importam: active diz que está rodando agora, e enabled é o que sobrevive a um reinício.

    systemctl is-active relayium-node
    systemctl is-enabled relayium-node
  5. Abra as portas de entrada no firewall do host. O estado Online só precisa de acesso de saída, mas é por essas portas que os pares retransmitem e armazenam.

    sudo ufw allow 3478/udp        # TURN
    sudo ufw allow 8081/tcp        # storage
    sudo ufw allow 49152:65535/udp # relay
  6. Num VPS na nuvem, libere as mesmas portas também no grupo de segurança do provedor. Só com o ufw elas continuam bloqueadas mais acima, e o nó parece saudável esse tempo todo.

  7. De volta ao /me, veja o nó virar Online — normalmente em uns 30 segundos. Daí em diante as transferências da sua conta passam a preferi-lo automaticamente.

  8. Opcional: ligue "Usar somente meus próprios nós para retransmissão/armazenamento" para que uma transferência falhe em vez de voltar silenciosamente à nossa infraestrutura compartilhada.

Como é um nó que funciona

O systemd informa o serviço como active e enabled ao mesmo tempo, e o nó aparece Online em Meus nós. Só active não basta — um nó que não está enabled some no próximo reboot.

$ systemctl is-active relayium-node
active
$ systemctl is-enabled relayium-node
enabled

É seguro executar este instalador como root?

Antes de tudo: os nós que você traz rodam o mesmo código e o mesmo endurecimento dos nós da nossa própria frota — o mesmo binário da mesma versão assinada, instalado pelo mesmo script, sob a mesma unidade do systemd. A única diferença é de quem é a máquina. Tudo o que vem a seguir descreve os dois.

É uma pergunta justa diante de um comando que canaliza um script da internet para um shell root, e ela merece uma resposta específica em vez de um “pode confiar”. O root é usado para a instalação e para nada do que o nó faz depois. O instalador cria uma conta de sistema chamada relayium-node, sem shell de login e sem diretório pessoal, escreve as unidades do systemd, inicia o serviço e termina. O nó em si nunca roda como root: sua unidade define User=relayium-node, então, desde o segundo em que fica online, ele é uma conta sem privilégios que não possui mais nada na sua máquina. (A atualização automática, ligada por padrão, de fato acrescenta uma segunda unidade que roda como root — a próxima seção trata inteiramente do que essa unidade pode e não pode fazer.)

Em volta dessa conta, a unidade monta um sandbox do systemd. Cada linha mira algo que um atacante tentaria alcançar se um dia tomasse o processo do nó. Nada disso é escondido de você: depois de instalar, leia a unidade inteira com cat /etc/systemd/system/relayium-node.service.

Na unidadeO que isso bloqueia se o nó algum dia for comprometido
User=relayium-nodeO atacante é um usuário que não possui nada, não o root.
ProtectHome=yes/home e /root ficam invisíveis — nada de chaves SSH privadas nem de dados de outros projetos.
ProtectSystem=strictTodo o sistema de arquivos fica somente leitura; nenhum arquivo de sistema pode ser alterado.
ReadWritePaths=Os únicos lugares graváveis são o diretório de estado do próprio nó e, se você configurou um, o diretório de armazenamento. Gravar em qualquer outro lugar falha.
NoExecPaths=Nada no diretório de armazenamento pode ser executado — um arquivo enviado não consegue rodar.
NoNewPrivileges=yesNão há caminho de volta ao root; os truques usuais de escalada ficam fechados.
CapabilityBoundingSet=Vazio — nenhuma capability do Linux, nenhuma mesmo.
ProtectKernelTunables=yes, ProtectKernelModules=yesO kernel fica fora de alcance: sem mudar sysctl, sem carregar módulos, sem rootkit.

O que a atualização automática pode e não pode fazer

O instalador também configura um temporizador de autoatualização, ligado por padrão: o relayium-node-update.timer pergunta ao relayium.com, mais ou menos a cada dez minutos, qual versão este nó deveria estar executando. É uma segunda unidade, e ela roda como root, então deve a você uma explicação própria.

O servidor central nunca envia um binário. Toda a resposta dele é um número de versão, dois sinalizadores (se é a vez deste nó de se mover agora e se isso é um retrocesso deliberado) e um breve motivo — sem bytes, sem URL, sem comando. Em seguida é o próprio nó que busca aquela versão, confere o SHA-256 do arquivo contra o checksums.txt da versão e verifica uma assinatura ECDSA P-256 sobre esse checksums.txt usando uma chave pública compilada dentro do próprio binário que está fazendo a verificação. A metade privada dessa chave não fica no servidor que responde a essas consultas. Um central comprometido poderia, portanto, apontar uma versão; o que ele não poderia é forjar um binário que passe na verificação.

O atualizador e o nó são dois processos separados com poderes opostos. O relayium-node.service é o sandbox descrito acima — sob ProtectSystem=strict ele não consegue nem gravar em /usr/local/bin, ou seja, o nó jamais pode modificar um binário, inclusive o dele mesmo. O relayium-node-update.service é uma pequena unidade oneshot que roda como root e que deliberadamente não leva sandbox algum, porque substituir um arquivo em /usr/local/bin exige exatamente o privilégio que o sandbox do nó existe para lhe negar. Trancar esse poder em uma única unidade de propósito único, em vez de afrouxar o endurecimento do próprio nó, é todo o sentido dessa separação: o processo que tem root só troca binários, e o processo enjaulado nunca consegue tocar em um.

Uma atualização que dá errado se desfaz sozinha. O atualizador mantém o binário antigo ao lado do novo, reinicia o serviço e então fica de olho no heartbeat por até dez minutos; se a nova versão não se declarar saudável nessa janela, ele repõe o binário antigo, reinicia de novo e registra a versão ruim para não tentá-la outra vez. Nada disso lê, move ou apaga os arquivos armazenados.

Remover o seu nó

Desinstalar é um único script, o mesmo quer o seu nó armazene arquivos quer apenas retransmita. Ele remove as unidades, o binário, a configuração e a conta de serviço, e tenta, em regime de melhor esforço, avisar o relayium.com de que o nó se foi. Se essa chamada falhar, é uma linha no seu terminal e não uma desinstalação quebrada — ela imprime o ID do nó para que seja marcado como removido à mão.

Baixe, verifique e só então execute. Canalizar direto para o sh significa que um 404 ou uma falha passageira de rede faz o comando inteiro não exibir nada e sair com código 0, o que parece uma desinstalação bem-sucedida.

Só remove o que reconhece: qualquer coisa inesperada no diretório de estado ou de armazenamento é mantida e reportada em vez de ser varrida.

curl -fsSL https://relayium.com/uninstall-node.sh -o uninstall-node.sh && \
  [ -s uninstall-node.sh ] && sudo sh uninstall-node.sh

Quando não funciona

Cinco falhas cobrem quase todo nó que não sobe, e três delas parecem saudáveis do lado do servidor: o serviço está rodando, e só a página da conta ou um socket em escuta dizem o contrário.

Sintoma, checagem, correção

O shell responde "relayium-node: command not found".
command -v relayium-node
# nada é impresso

O binário não está instalado. Você nunca instala o relayium-node separadamente — o comando de uma linha da página da conta é justamente o que o baixa, coloca no seu PATH e o inicia como serviço. Rode aquele comando.

O serviço está active, mas o nó nunca fica Online na página da conta.
journalctl -u relayium-node -n 50 --no-pager

O estado Online é decidido por um heartbeat de saída, então firewall raramente é a causa aqui — o problema é o registro. O token é de uso único, então um comando já executado, ou um antigo de uma tentativa anterior, falha. Clique em Adicionar nó de novo para obter um comando novo e execute-o.

O nó aparece Online, mas as transferências continuam passando pela nossa infraestrutura compartilhada.
sudo ss -lunp | grep 3478

Online só prova o heartbeat de saída. O que os pares precisam são as portas de entrada: confirme que o nó está escutando e então abra 3478/udp, 8081/tcp e 49152-65535/udp no firewall do host E no grupo de segurança da nuvem. Para descartar de vez um retorno silencioso, ligue a opção de usar somente os seus próprios nós.

A desinstalação não imprimiu nada, saiu com 0, e o serviço continua lá.
systemctl status relayium-node
# active (running)

É exatamente a cara de canalizar um download que falhou para o sh: um 404 ou uma falha passageira de rede não imprime nada e sai com 0, o que se lê como sucesso. Baixe o script, verifique que ele não está vazio e só então execute — é por isso que o comando neste guia está escrito em três partes e não como um único pipe.

A desinstalação se recusa enquanto o diretório de armazenamento ainda tem arquivos.
sudo ls /var/lib/relayium-node/blobs | wc -l

É proposital. Cada arquivo armazenado vive em exatamente um nó e não há réplicas, então remover o nó deixa esses arquivos inalcançáveis. Espere a contagem chegar a zero conforme os blobs expiram, ou aceite a perda com RELAYIUM_NODE_FORCE=1. Variáveis de ambiente não sobrevivem a um pipe para sudo sh, então passe-as como sudo env RELAYIUM_NODE_FORCE=1 sh uninstall-node.sh.

Perguntas frequentes

Recebi “relayium-node: command not found” — o que deu errado?

Você executou o binário relayium-node antes de instalá-lo. Use o comando de instalação de uma linha da página da conta (a forma curl … | sudo … sh): ele baixa o binário, coloca-o no seu PATH e o inicia como serviço. Você nunca instala relayium-node separadamente.

O nó continua online depois de um reinício?

Sim. O instalador registra um serviço systemd que é habilitado na inicialização e configurado com Restart=always, então ele volta após um reinício e reinicia-se sozinho se travar. Nada mais a executar.

Em que isso difere de auto-hospedar o Relayium?

Usar seu próprio nó mantém sua conta e aplicativos habituais do relayium.com e apenas adiciona um nó que é seu para carregar seu tráfego. A auto-hospedagem executa toda a pilha do servidor (contas, aplicativo web, sinalização) no seu próprio domínio — veja o guia “Hospede o Relayium por conta própria” para isso.

Alguém mais pode usar meu nó ou ver meus dados?

Não. Um nó é vinculado à sua conta pelo seu token e só carrega o tráfego da sua conta. As transferências em tempo real têm criptografia de ponta a ponta e os blobs armazenados são texto cifrado que seu nó não consegue ler. Seus dados e a configuração do seu nó só podem ser usados por você.

Faça login, abra sua página da conta e adicione seu primeiro nó em menos de um minuto.

Abrir a página da conta

Continue lendo