Última atualização: 2026-07-22
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.
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.
Um servidor Linux acessível pela internet — serve tanto um VPS barato quanto uma máquina sempre ligada em casa. Você vai precisar de root (ou sudo) e da capacidade de abrir algumas poucas portas de entrada. Tanto amd64 quanto arm64 são suportados.
Faça login em relayium.com, abra a página da conta (/me), role até “Meus nós” e clique em “Adicionar nó”. Você receberá um comando de instalação de uso único com um token embutido — o token é exibido apenas uma vez, então copie-o imediatamente. Ele tem esta aparência:
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
Cole o comando no seu servidor. Ele canaliza nosso instalador para o sh: o instalador baixa e verifica por soma de verificação o binário relayium-node, instala-o em /usr/local/bin, escreve um serviço systemd e o inicia. O sudo inicial é o que permite instalar o serviço; se você já for root, é um no-op inofensivo.
Como é um serviço systemd, o nó é habilitado na inicialização e reinicia-se sozinho caso venha a travar — ele permanece online através dos reinícios sem nada mais a fazer. Se você vir `relayium-node: command not found`, executou o binário diretamente em vez do instalador acima — é o comando de uma linha que coloca o binário no lugar.
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 unidade | O que isso bloqueia se o nó algum dia for comprometido |
|---|---|
User=relayium-node | O 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=strict | Todo 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=yes | Nã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=yes | O kernel fica fora de alcance: sem mudar sysctl, sem carregar módulos, sem rootkit. |
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.
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
Estar online (um heartbeat para relayium.com) só precisa de acesso de saída, que você já tem. Mas para que os pares realmente retransmitam através do seu nó e armazenem nele, suas portas de entrada precisam estar acessíveis. Se o host executa um firewall, abra-as — com ufw é assim:
sudo ufw allow 3478/udp # TURN
sudo ufw allow 8081/tcp # storage
sudo ufw allow 49152:65535/udp # relay
De volta à página da conta, seu nó aparece em “Meus nós” e muda para “Online” em cerca de 30 segundos. A partir daí, as transferências da sua conta preferem seu próprio nó automaticamente.
Para forçá-lo — que nunca recorra à nossa infraestrutura compartilhada — ative “Usar apenas meus próprios nós para retransmissão/armazenamento” na mesma página. Com isso ativado, se nenhum dos seus nós estiver online, uma transferência falha em vez de usar discretamente os nossos.
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.
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.
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.
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