Base de Conhecimento Instruções simples para trabalhar com o serviço Profitserver
a Principal Base de Conhecimento Guia de Realidade do Xray VLESS: VPS, Windows, Mac, Android, iPhone

Guia de Realidade do Xray VLESS: VPS, Windows, Mac, Android, iPhone


Este guia de configuração do servidor Xray VLESS Reality orienta você na implantação de um proxy moderno em seu VPS. O VLESS com a camada de segurança de transporte Reality é atualmente a configuração de proxy auto-hospedada mais solicitada : ao contrário de uma VPN clássica, ele não produz um handshake distinto ou uma assinatura de pacote fixa. O Reality clona o handshake TLS 1.3 de um site real e popular (o alvo), de modo que, para um sistema DPI monitorando a rede, uma conexão com seu servidor pareça idêntica à de alguém visitando esse site — não há certificado falso ou autoassinado para identificar, porque seu servidor encaminha brevemente o certificado real do site alvo durante o handshake.

A pilha de protocolos é a seguinte: VLESS (um protocolo proxy leve e sem estado que lida com a autenticação) executado sobre XTLS Vision (um modo de controle de fluxo que acelera a conexão copiando registros TLS já criptografados no nível do socket bruto) protegido por Reality (a camada de camuflagem descrita acima). Todos os três vêm do mesmo projeto, Xray-core, o sucessor ativamente mantido do projeto original V2Ray/V2Fly.

Este guia configura um servidor Xray manualmente, inteiramente pela linha de comando, sem painel web e sem Docker — a menor pegada possível no VPS. Não é necessário nome de domínio nem compra de certificado TLS: o Reality utiliza o certificado do site de destino para o handshake e nunca apresenta um certificado próprio. Em seguida, onde está escrito seu_IP, você precisará inserir o endereço IP atribuído a você.

O que você precisa: um VPS executando Ubuntu 22.04/24.04 ou Debian 11/12, acesso root, o endereço IP do seu VPS e a porta TCP 443 livre (sem servidor web, painel de controle ou outro proxy em execução nessa porta).

Ainda não tem um servidor? Veja como encomendar um servidor e efetuar o pagamento.

Está comparando esta opção com outras soluções auto-hospedadas? Consulte o Guia de Implantação do Servidor AmneziaWG para uma alternativa baseada em WireGuard, ou a configuração do Hysteria2 e do TUIC para dois outros protocolos modernos e resistentes à censura.

Conectando-se ao servidor

Windows (PuTTY)

Abra o PuTTY, insira o endereço IP do seu VPS no campo "Nome do host", defina a porta para 22 e faça login como root usando a senha que seu provedor de VPS lhe enviou por e-mail.

Endereço IP do servidor: seu endereço IP
Entrar como: root
Senha: sua senha

  • Abra o PuTTY e insira o endereço IP do seu VPS no campo "Nome do host".
1_1
  • Configure a porta para 22.
2_1
  • Faça login como root.
3_1
  • Use a senha que seu provedor de VPS lhe enviou por e-mail. Você deverá então acessar o prompt do shell do servidor.
4

Para obter um passo a passo detalhado sobre como conectar-se via PuTTY/SSH, consulte Como conectar-se a um servidor Linux por meio de SSH.

5

Linux / macOS (terminal)

ssh root@your_IP

Todos os comandos abaixo são executados no servidor, nesta mesma sessão SSH — isso abrange as Seções 2 a 6, além das verificações do lado do servidor na Seção 10. As Seções 7 a 9 (instalação e configuração do cliente VPN) são executadas no seu próprio dispositivo Windows/Android/iOS, já que é nesse dispositivo que o proxy precisa ser executado; cada uma dessas seções indica explicitamente quais linhas, se houver, ainda interagem com o servidor.

Preparando o Servidor

Atualize o sistema

Antes de instalar qualquer coisa, atualize a lista de pacotes e os pacotes instalados:

apt update -y && apt upgrade -y
6 7 8 9

Se a sessão for interrompida após o apt upgrade, isso é esperado (dbus/polkit reiniciado) - basta reconectar via SSH. 

Se isso atualizar o kernel, é recomendável reiniciar o sistema antes de continuar. (Para relembrar o que é o apt e como funcionam os gerenciadores de pacotes do Linux, consulte Gerenciadores de Pacotes do Linux .) Verifique com:

cat /var/run/reboot-required

Se o arquivo existir, reinicie primeiro com o comando 'reboot', aguarde cerca de 30 segundos e, em seguida, reconecte.

Instale as ferramentas utilizadas neste guia.

apt install -y curl wget unzip openssl ufw qrencode

O instalador do Xray precisa dos comandos curl e unzip; o openssl gera o ID curto na Seção 4; o ufw é o firewall configurado abaixo; o qrencode transforma o link do cliente finalizado em um código QR escaneável na Seção 7.

10_1

Verifique o relógio do sistema

O handshake da realidade inclui uma verificação de timestamp (o campo maxTimeDiff, desativado por padrão, mas importante conhecer), e um relógio com desvios perceptíveis também pode fazer com que a validação de certificados TLS comuns apresente comportamentos inadequados em outras partes do servidor. Confirme se o relógio está sincronizado:

timedatectl status
11_1

Se "Sincronizado o relógio do sistema" mostrar "não", habilite-o com:

timedatectl set-ntp true

Configure o firewall (UFW)

Para mais informações sobre regras do UFW, consulte Configurando o Firewall no Linux.

Abra as duas portas necessárias: 22/tcp para SSH (ignore esta regra e você corre o risco de perder o acesso ao servidor) e 443/tcp, a porta que o Xray usará para escutar e a mesma porta que o tráfego HTTPS comum utiliza — exatamente por isso é a escolha certa para o Reality.

ufw allow 22/tcp
12_1
ufw allow 443/tcp
13_1
ufw --force enable
14_1
ufw status
15_1

Ambas as regras devem aparecer como PERMITIDO na saída do comando ufw status.

Instalando o Xray-core para o servidor VLESS Reality

O projeto Xray-core (XTLS) publica um script oficial de instalação e atualização que instala o binário como um serviço do systemd. Analise qualquer script de terceiros antes de executá-lo no bash — este vem diretamente do repositório do próprio projeto.

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
16_1

Verifique se o arquivo binário está no lugar certo e confira a versão instalada:

/usr/local/bin/xray version
17_1

Se a saída do comando for paginada e parecer travada, pressione Q para sair. O binário Xray está instalado em /usr/local/bin/xraye seus arquivos de configuração estão armazenados em /usr/local/etc/xray/.

Você também pode usar o mesmo script de instalação para atualizar uma instalação existente. Para obter uma lista completa de opções (incluindo remoção, atualizações somente de geodados e rotação de logs), execute:

bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" --help

Geração de chaves e credenciais

A autenticação de realidade se baseia em quatro dados. Gere todos eles agora; você os colará na configuração do servidor na Seção 5.

Gere um UUID para o cliente.

/usr/local/bin/xray uuid
18_1

Este é o ID de usuário VLESS — trate-o como uma credencial, pois é ele que autentica um cliente no servidor. Execute o comando novamente para cada dispositivo ou pessoa adicional à qual você deseja conceder acesso.

Gere o par de chaves Reality X25519

/usr/local/bin/xray x25519
19_1

Isso imprime três linhas: PrivateKey , Password e Hash32 . O campo PrivateKey é usado apenas na configuração do servidor e nunca deve ser compartilhado. Password é a chave pública correspondente — apesar do nome, este é o valor que todo cliente insere; a Xray renomeou o campo de PublicKey para Password justamente para desencorajar a publicação descuidada dessa informação. O campo Hash32 é usado apenas para o recurso de criptografia VLESS e não é necessário para uma configuração Reality.

Gere um ID curto

openssl rand -hex 8
20_1

Isso gera uma string hexadecimal de 16 caracteres usada para diferenciar clientes ou grupos de clientes. Tanto o servidor quanto o cliente devem usar o mesmo valor.

Escolha e teste um alvo de realidade.

O alvo é o site real cujo handshake TLS seu servidor imita. Ele deve suportar TLS 1.3 e HTTP/2, não deve estar atrás de uma CDN como a Cloudflare (o Xray encaminha qualquer tráfego que falhe na autenticação Reality diretamente para o alvo, portanto, um alvo com uma CDN pode transformar seu servidor em um relay aberto para essa CDN) e, idealmente, deve estar hospedado na mesma região de rede que seu VPS para um perfil de latência plausível. Teste um candidato diretamente do servidor:

/usr/local/bin/xray tls ping www.microsoft.com:443
21_1

Use o nome do host puro, não uma URL. Alguns domínios comumente usados ​​como alvos do Reality por serem estáveis, compatíveis com TLS 1.3 e não utilizarem CDN são: www.microsoft.com, addons.mozilla.org, dl.google.com. Teste alguns e escolha um que responda de forma confiável a partir da localização do seu VPS; você usará o mesmo nome de host tanto como alvo quanto na entrada serverNames na Seção 5.

Escrevendo a configuração do servidor

Faça backup da configuração que veio com o instalador e, em seguida, abra o arquivo para edição:

cp /usr/local/etc/xray/config.json /usr/local/etc/xray/config.json.orig
nano /usr/local/etc/xray/config.json
23_1

Abra o arquivo de configuração para edição:

nano /usr/local/etc/xray/config.json
24_1

Substitua todo o arquivo pelo modelo abaixo, inserindo seu próprio UUID, PrivateKey, ID curto e nome do host de destino da Seção 4 (e a porta que você abriu na Seção 2, caso tenha alterado de 443):

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 443,
      "protocol": "vless",
      "settings": {
        "users": [
          {
            "id": "YOUR-UUID-HERE",
            "flow": "xtls-rprx-vision",
            "email": "client1"
          }
        ],
        "decryption": "none"
      },
      "streamSettings": {
        "method": "raw",
        "security": "reality",
        "realitySettings": {
          "show": false,
          "target": "www.microsoft.com:443",
          "serverNames": ["www.microsoft.com"],
          "privateKey": "YOUR-SERVER-PRIVATE-KEY",
          "shortIds": ["YOUR-SHORT-ID"]
        }
      }
    }
  ],
  "outbounds": [
    { "protocol": "freedom", "tag": "direct" },
    { "protocol": "blackhole", "tag": "blocked" }
  ]
}

Pressione Ctrl+O (WriteOut) para salvar o arquivo.

Pressione Enter para confirmar o nome do arquivo.

Pressione Ctrl+X para sair do nano.

Os campos importantes: `users[].id` é o UUID da Seção 4; `users[].flow` ativa o XTLS Vision; `method` (anteriormente chamado de `network`) seleciona o transporte RAW, o método baseado em TCP que a Reality exige; `target` e `serverNames` são os sites que você testou na Seção 4; `privateKey` é a chave X25519 do lado do servidor, nunca o valor da senha; `shortIds` lista todos os IDs curtos que os clientes podem apresentar. Para adicionar mais usuários posteriormente, anexe objetos adicionais à matriz `users`, cada um com seu próprio UUID e rótulo de e-mail, e reinicie o serviço.

Desde o Xray 26.3.27, uma requisição Reality de entrada sem um campo minClientVer explícito impõe como padrão a versão principal do servidor — aplicativos cliente mais antigos (uma versão desatualizada do v2rayN, v2rayNG ou Streisand que inclui um núcleo Xray antigo) são redirecionados silenciosamente para a página de fallback do servidor em vez de se conectarem, sem nenhum erro no cliente e nada obviamente errado no log do servidor. Se um cliente que funcionava normalmente de repente apresentar um erro de tempo limite após uma atualização, tente primeiro atualizar o próprio aplicativo cliente; se isso não for possível, adicione "minClientVer": "25.9.11" (ou outra versão anterior) dentro do arquivo realitySettings, ao custo de tornar a impressão digital TLS desse cliente antigo um pouco menos consistente com um navegador moderno.

Valide e reinicie

Teste a configuração antes de reiniciar o serviço em produção — isso detecta erros de digitação no JSON e campos não suportados antes que o proxy seja desativado:

/usr/local/bin/xray run -test -c /usr/local/etc/xray/config.json
25_1

Iniciando o serviço e habilitando a inicialização automática

Reinicie o Xray com a nova configuração e habilite-o para iniciar automaticamente na reinicialização:

systemctl enable --now xray
26_1
systemctl restart xray
27_1
systemctl status xray --no-pager
28_1

O status deve mostrar ativo (em execução). Confirme se algo está realmente escutando na porta 443:

ss -lntp | grep ':443'
29_1

Se o Xray não iniciar, a maneira mais rápida de descobrir o motivo é consultar o journal do systemd (para obter informações gerais sobre como ler logs do Linux, consulte Como ler logs do Linux e onde encontrá-los ):

journalctl -u xray -n 50 --no-pager

Construindo o elo de conexão com o cliente

Os clientes Xray importam um único link de compartilhamento vless:// em vez de um arquivo de configuração. Construa-o a partir dos valores gerados na Seção 4 (o formato do link de compartilhamento dos aplicativos cliente ainda usa o nome antigo type=tcp para o transporte, embora o próprio campo JSON agora se chame method):

SEU-UUID — do UUID do xray (ex: a1b2c3d4-e5f6-7890-abcd-ef1234567890)

YOUR-PASSWORD-PUBLIC-KEY — é a senha do xray x25519 (NÃO a chave privada!)

SEU-ID-CURTO — de openssl rand -hex 8 (ex: a1b2c3d4e5f67890)

seu_IP — (IP do seu servidor)

SNI — www.microsoft.com (ou seu alvo)

vless://YOUR-UUID-HERE@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server

Link de exemplo: 

vless://a1b2c3d4-e5f6-7890-abcd-ef1234567890@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=xyz_public_key_here&sid=a1b2c3d4e5f67890&type=tcp&flow=xtls-rprx-vision#My-Xray-Server

pbk é o valor da senha do xray x25519 (a chave pública, nunca a chave privada), sni corresponde ao nome do host de destino e o texto após # é apenas um rótulo de exibição que você pode renomear livremente em qualquer cliente.

Converta-o em um código QR para que os clientes em dispositivos móveis possam escaneá-lo diretamente:

qrencode -o ~/vless-client.png "vless://YOUR-UUID@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server"

Ou imprima diretamente no terminal sem salvar um arquivo:

qrencode -t ansiutf8 "vless://YOUR-UUID@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server"
30_1

Copie o PNG para o seu computador usando o comando scp, executando-o a partir do terminal do seu computador (ou do PowerShell no Windows), e não do servidor:

scp root@your_IP:~/vless-client.png .

Conectando-se a partir do Windows

Nesta seção, tudo acontece no seu computador Windows, não via SSH — o cliente precisa ser executado no dispositivo que realmente usará o proxy.

Instale o v2rayN

O v2rayN é um cliente GUI gratuito e com manutenção ativa, que inclui o Xray-core e oferece suporte nativo a VLESS/Reality. Baixe a versão mais recente na página do projeto :

Baixe o arquivo .zip para Windows de 64 bits (uma versão autocontida não precisa de um ambiente de execução .NET separado, a partir das versões recentes do v2rayN), extraia-o em qualquer lugar e execute o v2rayN.exe.

Importe o servidor

Copie o link vless:// criado na Seção 7 para a sua área de transferência (ou copie o PNG do QR Code com scp e abra-o). Em seguida, no v2rayN, escolha Servidores e depois Importar URL em massa da área de transferência (ou escaneie o código QR usando o leitor integrado). O novo perfil de servidor aparecerá na lista com o rótulo que você definiu após o #.

Clique com o botão direito do mouse no perfil e selecione-o como ativo. Em seguida, habilite o proxy do sistema (ou o modo TUN, para rotear toda a máquina) na barra de ferramentas da janela principal.

Conectando-se a partir do Android

Aqui, tudo acontece no seu dispositivo Android, não via SSH.

Instale o v2rayNG

O v2rayNG é a versão para Android do v2rayN, desenvolvido pelo mesmo responsável, e é o cliente de raios X mais utilizado no Android. Instale-o pelo Google Play ou baixe o APK diretamente da página de lançamentos do projeto , caso o Play não esteja disponível na sua região.

Importe o servidor

Abra o v2rayNG, toque no botão + no canto superior direito e escolha Importar configuração da área de transferência após copiar o link vless://, ou Escaneie o código QR e aponte a câmera para o PNG gerado na Seção 7. Toque no perfil importado para selecioná-lo e, em seguida, toque no botão circular de conexão na parte inferior. O Android solicitará permissão para VPN na primeira vez — conceda-a para estabelecer o túnel.

Conectando-se a partir do iOS

Tudo aqui acontece no seu iPhone ou iPad, não via SSH. As diretrizes da App Store da Apple determinam que os clientes Xray/VLESS no iOS são geralmente gratuitos, mas ocasionalmente pagos, e funcionam como aplicativos independentes, em vez de um recurso integrado ao sistema.

Instale um cliente compatível com Reality.

Streisand é um cliente gratuito e de código aberto que suporta VLESS com Reality, além de vários outros protocolos. Procure por ele na App Store ou acesse este link.

Os catálogos da App Store variam de acordo com a loja/região e podem mudar com o tempo; se Streisand não estiver visível no seu, alternativas com suporte a VLESS+Reality incluem Happ, V2Box e V2rayTun — procure na App Store por aquela que estiver disponível para sua conta.

Importe o servidor

Copie o link vless:// para a sua área de transferência, abra o aplicativo e use a opção "Adicionar da área de transferência" (ou equivalente "importar") ou escaneie o código QR da Seção 7 com o leitor integrado do aplicativo. Ative o novo perfil; o iOS solicitará permissão para configurar a VPN na primeira vez, a qual você precisará aprovar usando o Face ID, Touch ID ou sua senha.

Verificando a conexão

Com o túnel ativo a partir da Seção 8, 9 ou 10, volte ao seu dispositivo (não à sessão SSH) e abra qualquer verificador de "qual é o meu IP" em um navegador — o endereço exibido deve corresponder ao endereço IP do seu VPS.

Para verificar a partir do lado do servidor, consulte o registro do systemd em busca de atividade de conexão e confirme se uma sessão TCP foi estabelecida na porta 443:

journalctl -u xray -n 50 --no-pager
ss -tnp | grep ':443'

No nível de log padrão "warning", o Xray não exibe muitas informações sobre conexões individuais; se você precisar de mais detalhes durante a solução de problemas, defina temporariamente "loglevel": "info" no arquivo config.json e reinicie o serviço. Depois que tudo estiver funcionando corretamente, volte para o nível "warning".

Referência:

Campo

Valor

Endereço

endereço IP público do seu VPS

Porta

443 (o mesmo porto aberto na Seção 2)

UUID / ID

SEU-UUID-AQUI — gerado na Seção 4 com xray uuid

Fluxo

xtls-rprx-vision — deve ser igual em ambos os lados

Total

realidade

SNI / nome do servidor

O nome de host alvo testado na Seção 4, por exemplo, www.microsoft.com

Impressão digital (fp)

chrome — uma impressão digital uTLS compatível; deve ser configurada no cliente.

Chave Pública / pbk

O valor da senha do raio-x x25519 — nunca a chave privada

ID curto / lado

Gerado com openssl rand -hex 8; deve corresponder a um valor em shortIds

Conclusão

Seguindo este guia, seu VPS executará seu próprio servidor Xray VLESS+Reality, disfarçado de tráfego HTTPS comum para um site real, sem domínio e sem necessidade de manter certificados. O serviço é executado como a unidade systemd xray e sobrevive a uma reinicialização sem qualquer ação da sua parte.

Adicione novos clientes a qualquer momento, anexando outro objeto à matriz de usuários em config.json com um novo UUID do xray uuid e um rótulo de e-mail distinto, reiniciando o serviço (systemctl restart xray) e criando para esse usuário seu próprio link de compartilhamento, conforme descrito na Seção 7. UUIDs separados por pessoa ou dispositivo permitem revogar um deles sem afetar os demais.

Algumas práticas que vale a pena manter depois que o servidor estiver em funcionamento:

  • Mantenha o Xray atualizado. Execute o script de instalação da Seção 3 periodicamente — ele atualiza uma instalação existente — e mantenha também os aplicativos cliente atualizados, considerando o comportamento do minClientVer mencionado na Seção 5.
  • Faça backup do arquivo config.json em um local privado fora do servidor. Ele contém a chave privada do Reality do servidor e o UUID de cada cliente; perdê-lo significa ter que gerar novas credenciais para cada dispositivo.
  • Revogue imediatamente o acesso aos dispositivos perdidos. Remova a entrada correspondente da matriz de usuários no arquivo config.json e reinicie o serviço.

Se a conexão não for estabelecida, verifique a seguinte ordem:

  • o status do serviço (systemctl status xray --no-pager) e o diário (journalctl -u xray -n 50 --no-pager)
  • as regras do firewall (ufw status — a porta 443/tcp deve estar aberta)
  • que a porta 443 não esteja sendo usada por outro serviço (ss -lntp | grep ':443' deve mostrar apenas xray)
  • que o UUID, a chave pública, o ID curto, o SNI e o fluxo no cliente correspondam exatamente ao arquivo config.json — um único caractere incompatível interrompe o handshake silenciosamente.
  • o próprio alvo da Realidade, com ping TLS de raio-x :443, caso o site tenha alterado sua configuração TLS

Comparando o Xray com outras opções? Consulte o Guia de Implantação do Servidor AmneziaWG e Como configurar uma VPN WireGuard em seu servidor para alternativas baseadas em WireGuard, ou a configuração do Hysteria2 e do TUIC para dois outros protocolos resistentes à censura, criados para redes com perda de pacotes ou fortemente filtradas. Se você precisa apenas de um proxy simples em vez de uma configuração completa de tunelamento, a configuração do 3proxy no CentOS/ArchLinux é uma alternativa muito mais leve, e a configuração de servidor VPN mais antiga no Linux: PPTP ou OpenVPN? abrange protocolos mais simples de configurar, mas muito mais fáceis de serem detectados e bloqueados por inspeção profunda de pacotes (DPI). Para reforçar a segurança do servidor após a ativação do proxy, consulte Usuários do Linux: Gerenciamento e Permissões.


Pergunte-nos sobre VPS

Estamos sempre prontos para responder suas perguntas a qualquer hora do dia ou da noite.