Hoje em dia, as tecnologias VPN e proxy estão cada vez mais em demanda. Os usuários as utilizam para acesso seguro à internet, contornando a censura e se protegendo contra ameaças externas. Ao se conectar a um servidor desse tipo, todo o seu tráfego passa por um túnel criptografado, e o servidor se torna sua porta de entrada para a rede.
Protocolos clássicos como OpenVPN ou WireGuard funcionam bem em condições estáveis, mas frequentemente sofrem quedas de velocidade em conexões instáveis com alta perda de pacotes (redes móveis, Wi-Fi público, países com censura rigorosa). É aí que entram em cena protocolos modernos como Hysteria2 e TUIC. Eles são construídos sobre o QUIC, oferecendo alta velocidade, baixa latência e ofuscação de tráfego eficaz, assim como o HTTPS (HTTP/3) padrão.
O Hysteria2 utiliza o algoritmo "Brutal", que aproveita agressivamente a largura de banda disponível. O TUIC (versão 5) caracteriza-se por sobrecarga mínima, excelente suporte a UDP e estabelecimento de conexão em 0 RTT.
Neste artigo, vamos mostrar como configurar o servidor no Ubuntu/Debian e como conectar-se a partir do Windows.
Você vai precisar de: um VPS com Ubuntu 22.04/24.04 ou Debian 12, acesso root e o endereço IP do servidor. Não é necessário um domínio.
Conectando ao servidor
Windows (PuTTY): abra o PuTTY, insira SEU_IP_DO_SERVIDOR como host, 22 como porta e faça login como root com a senha que você recebeu por e-mail do seu provedor de VPS.
Linux/macOS (terminal):
ssh root@YOUR_SERVER_IP
Todos os comandos abaixo são executados no servidor, nesta mesma sessão.
Preparação do servidor (Ubuntu / Debian)
Ativar encaminhamento de IP
Isso permite que o servidor encaminhe pacotes do cliente para a internet.
nano /etc/sysctl.conf
Digite ou crie uma senha (use apenas letras e números do alfabeto inglês, sem espaços).
Localize e remova o comentário (descomente o # no início) ou adicione a seguinte linha:
net.ipv4.ip_forward=1
Salve o arquivo (Ctrl+O, Enter) e saia (Ctrl+X). Aplique as alterações sem reiniciar:
sysctl -p
Configuração de NAT (mascaramento)
Essa configuração permite que os clientes acessem a internet através do seu servidor usando o endereço IP dele.
Descubra o nome da sua interface de rede externa (aquela que está voltada para a internet):
ip link show
Geralmente, trata-se de eth0, ens3 ou enp1s0. Copie ou memorize o nome e, em seguida, adicione a regra de mascaramento ao iptables — substitua eth0 pelo nome da sua interface:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Salvando regras do iptables
Para evitar que as regras sejam redefinidas após a reinicialização do servidor, elas precisam ser salvas.
apt update
apt install iptables-persistent -y
netfilter-persistent save
Durante a instalação, você poderá ver uma mensagem solicitando que salve as regras IPv4/IPv6 atuais — responda "Sim" nas duas vezes.
Configuração do firewall (UFW)
Abrimos todas as portas necessárias imediatamente, então não é preciso voltar a esta etapa mais tarde: 22 para SSH (ignorar isso bloquearia o seu acesso ao servidor), 443/udp para Hysteria2 e 8443/udp para TUIC.
apt install ufw -y
ufw allow 22/tcp
ufw allow 443/udp
ufw allow 8443/udp
ufw --force enable
ufw status
O resultado do comando `ufw status` deve listar todas as três regras como ativas.
Histeria2
Instalando o servidor Hysteria2
chmod +x hysteria-linux-amd64
mv hysteria-linux-amd64 /usr/local/bin/hysteria
hysteria version
Certifique-se de que a versão exibida não apresente erros — isso confirma que o binário funciona corretamente.
Criando um certificado SSL autoassinado
Precisamos de nossas próprias chaves de criptografia para proteger o tráfego entre seu computador e o servidor. Como não temos um domínio, geraremos um certificado autoassinado válido por 365 dias. Por isso, você precisará habilitar a opção "Ignorar verificação de certificado" no cliente posteriormente.
mkdir -p /etc/hysteria
chmod 755 /etc/hysteria
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/hysteria/private.key \
-out /etc/hysteria/cert.crt \
-subj "/CN=YOUR_SERVER_IP"
ls -la /etc/hysteria/
Tanto o arquivo cert.crt quanto o private.key devem ser listados.
Criando o arquivo de configuração
nano /etc/hysteria/config.yaml
Cole o seguinte texto, substituindo YOUR_PASSWORD pela sua senha (somente letras e números, sem espaços):
listen: :443
tls:
cert: /etc/hysteria/cert.crt
key: /etc/hysteria/private.key
auth:
type: password
password: "YOUR_PASSWORD"
masquerade:
type: proxy
proxy:
url: https://cloudflare.com
rewriteHost: true
O bloqueio de mascaramento faz com que o servidor pareça um site comum se alguém abrir seu endereço IP em um navegador, em vez de revelar indícios de um proxy.
Salve (Ctrl+O, Enter) e saia (Ctrl+X).
Configurando a inicialização automática
nano /etc/systemd/system/hysteria.service
O arquivo de unidade systemd para inicialização automática do Hysteria2.
[Unit]
Description=Hysteria2 Server
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now hysteria.service
systemctl status hysteria.service
O status deve mostrar ativo (em execução). Se o console estiver "travado" na visualização do registro, pressione Q para sair.
TUIC v5
Baixando e instalando o TUIC
mkdir -p /usr/local/sbin/tuic
Confira as versões disponíveis:
curl -s https://api.github.com/repos/tuic-protocol/tuic/releases | grep -Po '"tag_name": "\K[^"]*' | head -10
Baixe o binário do servidor — substitua o número da versão atual por 1.0.0:
wget https://github.com/tuic-protocol/tuic/releases/download/1.0.0/tuic-server-1.0.0-x86_64-unknown-linux-gnu \
-O /usr/local/sbin/tuic/tuic-server
chmod +x /usr/local/sbin/tuic/tuic-server
/usr/local/sbin/tuic/tuic-server --version
Criando um certificado autoassinado para a TUIC
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /usr/local/sbin/tuic/privkey.pem \
-out /usr/local/sbin/tuic/fullchain.pem \
-subj "/CN=YOUR_SERVER_IP"
ls -la /usr/local/sbin/tuic/
Gerando um UUID
apt install uuid-runtime -y
uuidgen
Copie o UUID resultante — você precisará dele tanto na configuração do servidor abaixo quanto nas configurações do cliente.
Criando o arquivo de configuração
O arquivo config.json finalizado para o servidor TUIC:
nano /usr/local/sbin/tuic/config.json
{
"server": "[::]:8443",
"users": {
"YOUR_UUID": "YOUR_TUIC_PASSWORD"
},
"certificate": "/usr/local/sbin/tuic/fullchain.pem",
"private_key": "/usr/local/sbin/tuic/privkey.pem",
"congestion_control": "bbr",
"alpn": ["h3"],
"log_level": "warn"
}
Usamos a porta 8443 aqui porque a porta 443 já está sendo usada pelo Hysteria2. Substitua YOUR_UUID pelo valor da etapa 4.3 e YOUR_TUIC_PASSWORD pela sua senha.
Salve (Ctrl+O, Enter) e saia (Ctrl+X).
Testando uma partida manual
/usr/local/sbin/tuic/tuic-server -c /usr/local/sbin/tuic/config.json
Se não aparecerem erros, a configuração é válida. Pare o processo com Ctrl+C e prossiga para a configuração da inicialização automática.
Configurando a inicialização automática
nano /etc/systemd/system/tuic-server.service
[Unit]
Description=TUIC Server
After=network.target nss-lookup.target
[Service]
User=root
WorkingDirectory=/usr/local/sbin/tuic
ExecStart=/usr/local/sbin/tuic/tuic-server -c config.json
Restart=on-failure
RestartPreventExitStatus=1
RestartSec=5
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tuic-server.service
systemctl status tuic-server.service
O status deve mostrar ativo (em execução).
Agora, dois dos melhores e mais rápidos protocolos modernos estão rodando em paralelo no servidor, ambos se passando por tráfego QUIC/HTTPS comum: Hysteria2 na porta padrão 443/udp e TUIC v5 na porta 8443/udp.
Conectando-se a partir do Windows
Instalando o Hiddify
Baixe e instale o Hiddify para Windows no site oficial: https://hiddify.com. Clique em "Avançar" / "Instalar" para prosseguir com a instalação. Se o Windows SmartScreen aparecer, selecione "Mais informações" → "Executar mesmo assim".
Perfil Hysteria2
Clique em + (Novo Perfil) → "Entrada Manual" → protocolo Hysteria2 e preencha:
|
Campo |
Valor |
|
Nome do perfil |
Meu servidor Hysteria2 |
|
Endereço |
SEU_IP_DO_SERVIDOR |
|
Porta |
443 |
|
Senha |
a senha da etapa 3.3 |
|
SNI |
SEU_IP_DO_SERVIDOR |
|
Ignorar verificação de certificado |
On |
A opção "Ignorar verificação de certificado" precisa ser ativada porque o certificado é autoassinado — não há uma autoridade de certificação confiável por trás dele.
Perfil TUIC v5
Clique em + (Novo Perfil) → "Entrada Manual" → protocolo TUIC e preencha:
|
Campo |
Valor |
|
Nome do perfil |
Meu servidor TUIC |
|
Endereço |
SEU_IP_DO_SERVIDOR |
|
Porta |
8443 |
|
UUID |
o UUID da etapa 4.3 |
|
Senha |
a senha da etapa 4.4 |
|
Controle de congestão |
BBR |
|
SNI |
SEU_IP_DO_SERVIDOR |
|
Ignorar verificação de certificado |
On |
Conectando e verificando
Selecione um perfil e clique no botão redondo grande "Conectar". O status deverá mudar para "Conectado".
Para confirmar se o tráfego está realmente sendo roteado pelo seu servidor, abra qualquer serviço de verificação de IP no seu navegador — o endereço exibido deve corresponder ao SEU_IP_DO_SERVIDOR.
Conclusão
Ao concluir este guia, você terá dois protocolos de última geração de alta velocidade rodando em paralelo no seu servidor: Hysteria2 na porta 443/UDP e TUIC v5 na porta 8443/UDP. Ambos os protocolos disfarçam o tráfego transmitido como uma conexão QUIC criptografada padrão (HTTP/3), garantindo uma conexão estável mesmo em canais extremamente instáveis.
Os perfis configurados podem ser usados não apenas no Windows, mas também importados para o aplicativo móvel Hiddify para Android ou iOS com configurações semelhantes.
Se você encontrar dificuldades de conexão, primeiro verifique o status dos serviços usando o comando `systemctl status hysteria.service` (ou `tuic-server.service`), certifique-se de que as regras do firewall estejam ativas (comando `ufw status`) e verifique se o endereço IP, o UUID e as senhas foram inseridos corretamente. Observação: os certificados autoassinados emitidos são válidos por 365 dias; portanto, após exatamente um ano, eles precisarão ser renovados usando o mesmo comando `openssl req`.