VLESS, VMess, Trojan ou Shadowsocks: qual usar

Como VLESS, VMess, Trojan e Shadowsocks se diferenciam na rede, qual resiste em redes restritivas e o que pedir primeiro. Inclui o que o v2rc consegue importar.

Última revisão:

Um cliente V2Ray não escolhe o protocolo por você. Quem escolhe é a configuração que você importa, e essa configuração vem do seu provedor ou do seu próprio servidor. Então a pergunta prática é o que pedir ou o que montar. Este artigo explica as diferenças que importam e termina com uma recomendação curta.

Três camadas, não uma escolha

“VLESS ou VMess” parece uma decisão só. São três:

  • Protocolo: como o cliente se autentica e qual é a aparência da carga útil (VMess, VLESS, Trojan, Shadowsocks).
  • Transporte: como os bytes viajam (TCP simples, WebSocket, gRPC e outros).
  • Segurança: o que envolve a conexão (nada, TLS ou REALITY).

O mesmo protocolo pode ser quase invisível ou fácil de identificar, dependendo das outras duas camadas. O que um censor enxerga é definido principalmente pelo transporte e pela segurança.

O que um censor consegue ver

  • Bytes com aparência aleatória. Shadowsocks e VMess sobre TCP simples não têm cabeçalho reconhecível. Isso já é um sinal: desde o fim de 2021, o Great Firewall bloqueia conexões cujo primeiro pacote parece dados totalmente criptografados. O artigo sobre a China traz os detalhes.
  • Um handshake TLS. Trojan, e VLESS ou VMess sobre TLS, parecem HTTPS. Um censor ainda pode verificar o nome do servidor, o endereço IP, o certificado e o comportamento da conexão.
  • Um handshake emprestado. O REALITY imita o handshake TLS de um site real que você escolhe. Uma sonda que não tem a chave é encaminhada a esse site real e vê as páginas reais dele. Você não precisa de domínio nem de certificado próprios.

Os quatro protocolos lado a lado

VMessVLESSTrojanShadowsocks
Criptografa a carga por conta própriaSimNão, depende de TLS ou REALITYNão, depende de TLSSim
Aparência por padrãoBytes aleatórios em TCP simplesDepende da segurança: bytes aleatórios, TLS ou REALITYHTTPSBytes aleatórios
Precisa de domínio e certificado própriosSó com TLSSó com TLS, não com REALITYSimNão
Falha se o relógio estiver erradoSimNãoNãoNão
Importável no v2rcSimSimSimSim
  • O VMess é o protocolo original do V2Ray. Ele se autentica com um UUID e um carimbo de data e hora, e por isso um relógio de telefone ou de servidor errado por alguns minutos faz a conexão falhar sem mensagem de erro. Use alterId 0 (o modo AEAD); um alterId diferente de zero é legado.
  • O VLESS é o sucessor mais leve. Ele não faz criptografia própria, então é tão privado quanto a camada que fica por baixo. Use-o com TLS ou REALITY, nunca com segurança none pela internet aberta.
  • O Trojan copia o HTTPS: uma senha dentro de uma conexão TLS comum. Um cliente que não sabe a senha recebe uma página web normal. Ele precisa de um certificado real para um domínio real, e um domínio pode ser bloqueado.
  • O Shadowsocks é um proxy criptografado consolidado há muito tempo e o mais simples de rodar. Use uma cifra AEAD; cifras de fluxo antigas, como rc4-md5 ou aes-256-cfb, são fracas. Sem um plugin ou uma camada que o envolva, o tráfego dele é do tipo totalmente criptografado.

O que o REALITY e o Vision acrescentam

Em uma configuração REALITY, você vai ver security=reality, um nome de servidor (sni), uma chave pública (pbk) e um short ID (sid). O nome do servidor precisa ser de um site real com suporte a TLS 1.3 e HTTP/2; a documentação do REALITY pede exatamente isso.

flow=xtls-rprx-vision é o flow Vision. Uma conexão TLS transportada dentro de outra conexão TLS deixa um padrão reconhecível; a literatura de pesquisa o chama de TLS-in-TLS, e Xue et al. (USENIX Security 2024) mostrou que esses padrões podem expor proxies ofuscados. O Vision foi projetado para reduzir esse padrão no tráfego que já é, ele mesmo, HTTPS.

Nenhum dos dois é mágica. O endereço IP e a rede de hospedagem do seu servidor continuam importando, e o REALITY não esconde o fato de que a conexão vai para um endereço de data center no exterior.

O que pedir

  1. Em uma rede restritiva (Rússia, Irã, China e similares): VLESS com REALITY e Vision sobre TCP, na porta 443.
  2. Uma segunda configuração de outro tipo: Trojan, ou VLESS sobre TLS com WebSocket ou gRPC, opcionalmente atrás de uma CDN. Uma CDN esconde o endereço IP do seu servidor, mas depende de a própria CDN estar acessível e sem limitação de velocidade onde você está.
  3. Em uma rede aberta: qualquer um dos quatro. Use o que o seu provedor já oferece.
  4. Se o seu provedor fornece uma assinatura: você não escolhe, mas pode ler os links para saber o que recebeu. Veja como ler um link de configuração.
  5. Tenha pelo menos duas configurações de hosts diferentes. Quando uma falha, você quer outro endereço IP e, de preferência, outro protocolo, e não mais uma configuração do mesmo servidor.

O que o v2rc consegue e não consegue importar

O v2rc importa VMess, VLESS (incluindo REALITY), Shadowsocks e Trojan a partir de um link, de um arquivo JSON do V2Ray, da área de transferência ou de uma URL de assinatura. Ele não importa Hysteria 2, TUIC, WireGuard, AmneziaWG nem NaiveProxy. Os quatro primeiros funcionam sobre UDP, que muitas redes restritivas descartam; o NaiveProxy funciona sobre HTTPS, mas precisa de um cliente próprio. Para esses, você precisa de outro app.

O v2rc não inclui servidores: você traz as suas próprias configurações. O Smart Connect escolhe a configuração mais rápida e verifica se o túnel realmente passa tráfego antes de trocar.

Fontes

Traga suas configurações. Deixe as adivinhações.

Grátis na App Store para iPhone, iPad e Mac.