Skip to content

VMess

As cifras, transportes, links e recursos do VMess que o Potatso suporta.

Updated Ver como Markdown

Um servidor VMess é descrito por um UUID, uma cifra que criptografa o tráfego e um transporte que carrega a conexão, como WebSocket ou gRPC, com ou sem TLS. O Potatso conecta a um servidor quando suporta a cifra, o transporte e os ajustes de TLS dele. Use as tabelas abaixo para conferir os ajustes do seu servidor, como mostrados pelo seu provedor ou no link vmess:// dele.

Você pode adicionar um servidor VMess à mão, com um link vmess://, ou importando:

  • uma assinatura Clash ou Mihomo,
  • uma configuração do Xray ou do V2Ray,
  • uma configuração do Surge.

O Potatso ainda não importa servidores VMess de uma configuração do sing-box. Use o link vmess:// do servidor.

Cifras

Cifra Suportada
auto ✅ O Potatso escolhe aes-128-gcm, que todo dispositivo Apple executa em hardware.
aes-128-gcm ✅
chacha20-poly1305 ✅
none ✅
zero ❌
aes-128-cfb (legado) ❌

none e zero enviam seu tráfego sem criptografia. Use none somente com TLS, que então criptografa a conexão. O Potatso não conecta com zero, que também elimina a proteção contra adulteração: escolha outra cifra no seu servidor.

alterId

O Potatso sempre usa a autenticação atual do VMess, que equivale a alterId 0. Os servidores cujo usuário ainda tem um alterId acima de 0 também a aceitam, então você pode deixar o servidor como está. O Potatso não suporta a autenticação antiga que só o alterId acima de 0 usava, que os servidores descontinuaram desde 2022.

Transportes

Transporte net / type do link Suportado Testado com
Nenhum (TCP puro) tcp, ou nenhum ✅ Com ou sem TLS Xray, sing-box, V2Ray
WebSocket ws ✅ Com ou sem TLS e early data Xray, sing-box, V2Ray
gRPC grpc ✅ Com ou sem TLS Xray, sing-box, V2Ray
HTTP/2 h2 ou http ✅ Com TLS sing-box, V2Ray
HTTP Upgrade httpupgrade ✅ Com ou sem TLS Xray, sing-box
TCP com cabeçalho HTTP tcp com type=http ❌
XHTTP xhttp ❌
mKCP, QUIC kcp, quic ❌

Todo transporte suportado funciona com UDP. O Potatso não importa um servidor cujo transporte ele não suporta.

O early data do WebSocket envia os primeiros bytes de uma conexão junto com o handshake do WebSocket, economizando uma ida e volta. Ele é definido por ?ed=2048 no fim do caminho do link, ou por max-early-data em uma assinatura Clash.

O Xray não oferece mais HTTP/2: os servidores Xray que o usavam agora usam XHTTP, que o Potatso ainda não suporta.

TLS

Ajuste Chave do Clash Campo do link Suportado
Nome do servidor (SNI) servername sni ✅ Sem um, o Potatso usa o endereço do servidor.
ALPN alpn alpn ✅ Sem um, o Potatso envia http/1.1 para WebSocket e h2 para gRPC e HTTP/2.
Ignorar a verificação de certificado skip-cert-verify allowInsecure ✅
Impressão digital do navegador client-fingerprint fp ✅ chrome, firefox, safari, ios, android, edge e random. Outros nomes conectam com um handshake padrão.
Fixação de certificado fingerprint pcs ❌
REALITY reality-opts security=reality ❌
Encrypted Client Hello (ECH) ech-opts ech ❌
Certificado CA personalizado ❌

Desativar a verificação de certificado permite que qualquer pessoa entre você e o servidor leia o seu tráfego. O Potatso não conecta a um servidor VMess que precise de REALITY, ECH ou fixação de certificado, porque conectar sem eles não daria a proteção que o servidor exige. Use VLESS ou Trojan para REALITY.

Uma impressão digital de navegador faz o handshake TLS da conexão parecer o daquele navegador. Ela não muda o que o servidor precisa suportar.

UDP

O UDP vem desativado por padrão nos servidores VMess. Ative o Relay UDP nos ajustes do servidor, ou defina udp: true em uma assinatura Clash.

O Potatso envia cada fluxo UDP por uma conexão VMess própria, o que todo servidor VMess aceita. Ele não suporta as codificações XUDP e PacketAddr (packetEncoding em um link, packet-encoding ou xudp em uma assinatura Clash), que transportam muitos fluxos UDP por uma única conexão: um servidor configurado com elas continua funcionando, e o Potatso avisa na importação que usa o próprio UDP. Apps que precisam de NAT full-cone, como alguns jogos, podem não funcionar com isso.

Com a multiplexação ativada, o UDP viaja pela conexão compartilhada.

Multiplexação

O Potatso pode executar várias conexões sobre uma única conexão VMess, definida com smux em uma assinatura Clash:

Protocolo protocol de smux Servidores
Mux.Cool muxcool Xray, V2Ray e sing-box, sem ajuste no servidor
sing-mux h2mux, smux, yamux sing-box com a multiplexação ativada

TCP e UDP funcionam. O Mux.Cool fecha os dois sentidos de uma conexão juntos, então um app que para de enviar e depois espera a resposta deve usar um servidor sem multiplexação.

Opções de requisição

Um cliente VMess escolhe algumas opções para cada conexão, e todo servidor aceita qualquer uma delas. O Potatso sempre envia seu tráfego em blocos criptografados e marca o fim de cada upload, e não define as outras:

Opção Chave do Clash Potatso
Fluxo em blocos Sempre ativado
Mascaramento de blocos Desativado
Padding global global-padding Desativado. O Potatso avisa quando você importa um servidor que o define.
Comprimento autenticado authenticated-length Desativado. O Potatso avisa quando você importa um servidor que o define.

O mascaramento de blocos e o padding global escondem de quem observa o tamanho de cada bloco. Sem eles, seu tráfego continua ilegível, mas o padrão dele é mais fácil de reconhecer.

Uploads grandes

Uma única conexão VMess pode enviar cerca de 1 GiB. O VMess numera seus blocos criptografados com um contador que se esgota depois disso, e continuar enfraqueceria a criptografia, então o Potatso fecha a conexão. Os downloads não têm limite. Para uploads maiores que 1 GiB em uma única conexão, use um servidor VLESS ou Trojan.

Suporte a recursos

Recurso Suportado
Autenticação AEAD (alterId 0) ✅
Autenticação MD5 legada (alterId acima de 0) ❌ Os servidores com alterId acima de 0 aceitam a autenticação AEAD.
Cifras aes-128-gcm, chacha20-poly1305, none, auto ✅
Cifras zero e a legada aes-128-cfb ❌
Fluxo em blocos, marcador de fim de upload ✅
Mascaramento de blocos, padding global, comprimento autenticado ❌ Os servidores aceitam conexões sem eles
UDP ✅ Uma conexão por fluxo
Uploads acima de cerca de 1 GiB em uma conexão ❌ Veja Uploads grandes
XUDP, PacketAddr ❌
Mux.Cool ✅ TCP e UDP
sing-mux (h2mux, smux, yamux) ✅ TCP e UDP
Transportes Veja Transportes
TLS Veja TLS
Links de compartilhamento do v2rayN (versão 2) ✅
Links de compartilhamento do Xray ✅
Links de compartilhamento do Shadowrocket Somente importação

Um link vmess:// guarda um servidor inteiro em uma linha. O Potatso importa três formas e compartilha as duas primeiras.

A forma do v2rayN, a mais comum, é um objeto JSON codificado em Base64:

vmess://base64({"v":"2","ps":"name","add":"host","port":"443","id":"uuid",…})
Campo Descrição
v Versão do formato, 2.
ps Opcional. O nome do servidor no Potatso.
add Endereço do servidor.
port Porta do servidor.
id O UUID.
aid alterId. Veja alterId.
scy A cifra. Sem uma, auto.
net O transporte: tcp, ws, grpc, h2 ou httpupgrade.
type none, ou http para um cabeçalho HTTP no TCP, que o Potatso não suporta.
host O cabeçalho Host para WebSocket, HTTP/2 e HTTP Upgrade.
path O caminho para WebSocket, HTTP/2 e HTTP Upgrade, ou o nome do serviço para gRPC. Um caminho WebSocket pode terminar com ?ed=2048 para early data.
tls tls para usar TLS, ou vazio.
sni, alpn, fp O nome do servidor TLS, a lista de ALPN e a impressão digital do navegador.

A forma do Xray é uma URL, com a cifra em encryption e o transporte e os ajustes de TLS como parâmetros de consulta:

vmess://uuid@host:port?type=ws&security=tls&sni=…&host=…&path=…&encryption=auto#name
Parâmetro Descrição
type O transporte.
encryption A cifra. Sem uma, auto.
security tls, ou none.
sni, alpn, fp O nome do servidor TLS, a lista de ALPN e a impressão digital do navegador.
host, path O cabeçalho Host e o caminho, como na forma do v2rayN.
serviceName O nome do serviço gRPC.
ed Early data do WebSocket, em bytes.

O Potatso também importa a forma do Shadowrocket, vmess://base64(cipher:uuid@host:port)?remarks=…&obfs=websocket&….

Cada exemplo mostra o link a importar. O UUID é b831381d-6324-4d53-ad4f-8cda48b30811.

WebSocket com TLS e early data, por cdn.example.com, com a impressão digital do Chrome:

vmess://eyJ2IjoiMiIsInBzIjoiV1MgVExTIiwiYWRkIjoidm1lc3MuZXhhbXBsZS5jb20iLCJwb3J0IjoiNDQzIiwiaWQiOiJiODMxMzgxZC02MzI0LTRkNTMtYWQ0Zi04Y2RhNDhiMzA4MTEiLCJhaWQiOiIwIiwic2N5IjoiYXV0byIsIm5ldCI6IndzIiwidHlwZSI6Im5vbmUiLCJob3N0IjoiY2RuLmV4YW1wbGUuY29tIiwicGF0aCI6Ii9yYXk/ZWQ9MjA0OCIsInRscyI6InRscyIsInNuaSI6ImNkbi5leGFtcGxlLmNvbSIsImFscG4iOiJodHRwLzEuMSIsImZwIjoiY2hyb21lIn0=

gRPC com TLS e aes-128-gcm, nome de serviço vmess-grpc:

vmess://eyJ2IjoiMiIsInBzIjoiZ1JQQyIsImFkZCI6InZtZXNzLmV4YW1wbGUuY29tIiwicG9ydCI6IjQ0MyIsImlkIjoiYjgzMTM4MWQtNjMyNC00ZDUzLWFkNGYtOGNkYTQ4YjMwODExIiwiYWlkIjoiMCIsInNjeSI6ImFlcy0xMjgtZ2NtIiwibmV0IjoiZ3JwYyIsInBhdGgiOiJ2bWVzcy1ncnBjIiwidGxzIjoidGxzIiwic25pIjoidm1lc3MuZXhhbXBsZS5jb20ifQ==

TCP puro com chacha20-poly1305, na forma do Xray:

vmess://b831381d-6324-4d53-ad4f-8cda48b30811@vmess.example.com:8080?type=tcp&encryption=chacha20-poly1305#Plain%20TCP

HTTP Upgrade com TLS, na forma do Xray:

vmess://b831381d-6324-4d53-ad4f-8cda48b30811@vmess.example.com:443?type=httpupgrade&security=tls&sni=cdn.example.com&host=cdn.example.com&path=%2Fupgrade&encryption=auto#HTTP%20Upgrade

Em uma assinatura Clash

proxies:
  - name: VMess WS
    type: vmess
    server: vmess.example.com
    port: 443
    uuid: b831381d-6324-4d53-ad4f-8cda48b30811
    alterId: 0
    cipher: auto
    udp: true
    tls: true
    servername: cdn.example.com
    network: ws
    ws-opts:
      path: /ray
      headers:
        Host: cdn.example.com
      max-early-data: 2048
      early-data-header-name: Sec-WebSocket-Protocol
Navegação

Type to search…

↑↓ navigate↵ selectEsc close