Skip to content

SOCKS5 e SOCKS5 sobre TLS

As opções, links e recursos de SOCKS5 e SOCKS5 sobre TLS que o Potatso suporta.

Updated Ver como Markdown

Um servidor SOCKS5 abre conexões por você e repassa UDP, com ou sem nome de usuário e senha (RFC 1928). SOCKS5 sobre TLS é o mesmo servidor acessado por TLS, de modo que a conexão com o servidor também é criptografada.

O Potatso envia ao servidor o nome do site que você visita, não o endereço dele, e o servidor consulta o nome. É o que outros apps chamam de socks5h, ou DNS remoto.

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

  • uma assinatura Clash ou Mihomo (type: socks5),
  • uma configuração do Surge (socks5 e socks5-tls),
  • uma configuração do Xray ou do V2Ray (saída socks, com ou sem TLS).

Para adicionar um servidor SOCKS5 sobre TLS à mão, escolha SOCKS5 e ative TLS.

Ajustes

Ajuste Descrição
Servidor, porta O endereço e a porta do servidor. Um endereço IPv6 também funciona.
Autenticação Nenhuma, ou um nome de usuário e senha.
Nome de usuário, senha Cada um com até 255 bytes.
Relay UDP Ativado por padrão. Veja UDP.
TLS Ativado para SOCKS5 sobre TLS.
Ignorar verificação de certificado Somente SOCKS5 sobre TLS. Aceita qualquer certificado. Use somente para testes.
Fixação de certificado Somente SOCKS5 sobre TLS, opcional. A impressão digital SHA-256 do certificado do servidor, como 64 dígitos hexadecimais. Com uma fixação, o Potatso aceita o certificado fixado, inclusive um autoassinado, e nenhum outro.

Se o servidor pede nome de usuário e senha e você não os definiu, o Potatso não conecta. O Potatso não suporta a autenticação GSSAPI (Kerberos).

Um servidor Clash ou Mihomo com username vazio é importado sem autenticação, como o Clash faz.

Certificados

Com SOCKS5 sobre TLS, o nome do servidor no handshake TLS é sempre o endereço do servidor, e o certificado do servidor precisa ser válido para ele. Se não for, defina uma fixação de certificado ou ative Ignorar verificação de certificado. Você não pode definir outro nome de servidor: o Potatso não importa um link, um servidor do Surge ou um servidor do Xray que tenha um. O Clash e o Mihomo não têm nome de servidor para SOCKS5, então o Potatso ignora um sni ali, como eles fazem.

O Potatso não suporta:

  • um certificado CA personalizado: fixe o certificado do servidor em vez disso,
  • um certificado de cliente TLS (certificate e private-key do Clash), ou outro nome para verificar o certificado (name-cert-verify): o Potatso não importa um servidor que precise de um,
  • uma lista de ALPN: o Potatso importa o servidor sem ela.

UDP

O UDP é usado por QUIC, chamadas de voz e vídeo e muitos jogos. Com o Relay UDP ativado, o Potatso envia UDP pelo servidor (UDP ASSOCIATE), para endereços IPv4 e IPv6. Também funciona com um servidor atrás de NAT que informa seu endereço como 0.0.0.0: o Potatso envia o UDP para o endereço que você definiu.

Desative o Relay UDP se o seu servidor não repassa UDP. Então:

  • Com regras, o Potatso ignora uma regra que envia UDP a este servidor, e a próxima regra que corresponder decide. O UDP que nenhuma outra regra alcança é enviado direto.
  • No modo Global, o UDP não funciona, porque todo o tráfego precisa passar pelo servidor.

Algumas coisas a saber sobre o UDP:

  • O UDP é repassado pela porta UDP separada do servidor, então o firewall do servidor precisa deixar o UDP passar.
  • Com SOCKS5 sobre TLS, apenas a conexão com o servidor é criptografada. O SOCKS5 envia o UDP fora dela, então o seu tráfego UDP chega ao servidor sem criptografia.
  • Para UDP, o Potatso consulta por conta própria o endereço do site e envia o endereço ao servidor.
  • Ao importar do Clash, Mihomo ou Surge, o Relay UDP fica ativado, a menos que o servidor defina udp: false (udp-relay=false no Surge). O Clash deixa o UDP desativado quando udp não existe, então confira se o seu servidor repassa UDP.

Suporte a recursos

Recurso Suportado
CONNECT para destinos IPv4, IPv6 e de domínio (RFC 1928) ✅
DNS remoto: nomes de domínio consultados pelo servidor (socks5h) ✅ Para TCP
Sem autenticação ✅
Nome de usuário e senha (RFC 1929) ✅
GSSAPI (RFC 1961) ❌
UDP ASSOCIATE para destinos IPv4 e IPv6 ✅
UDP com um servidor atrás de NAT (endereço de relay 0.0.0.0) ✅
Fragmentação UDP ❌ Os datagramas fragmentados são descartados, o que a RFC 1928 permite
BIND (conexões de entrada, como FTP em modo ativo) ❌
SOCKS5 sobre TLS ✅ Com fixação de certificado e ignorar verificação de certificado
Nome de servidor TLS diferente do endereço do servidor, ALPN, CA personalizada, certificado de cliente ❌
UDP criptografado com TLS ❌ O SOCKS5 envia o UDP fora do TLS
Endereço de servidor IPv6 ✅
SOCKS4 e SOCKS4a ❌

Todo recurso suportado é testado com servidores SOCKS5 reais: Xray, sing-box, Mihomo, 3proxy e microsocks. O sing-box serve SOCKS5 sobre TLS na entrada mixed, não na entrada socks.

Um link SOCKS5 guarda um servidor inteiro em uma linha:

socks5://user:password@host:port#name
socks5+tls://user:password@host:port?insecure=1#name
Parte Descrição
esquema socks5://, socks:// ou socks5h:// para SOCKS5; socks5+tls:// ou socks+tls:// para SOCKS5 sobre TLS. O Potatso sempre envia nomes de domínio ao servidor, então socks5h:// funciona igual a socks5://.
user:password Opcional. Aplique percent-encoding a :, @ e outros caracteres especiais da senha, por exemplo p%3Ass para p:ss. O nome de usuário não pode conter :.
host Endereço do servidor. Coloque um endereço IPv6 entre colchetes, como [2001:db8::1].
port Porta do servidor.
insecure Somente SOCKS5 sobre TLS, opcional. 1 ativa Ignorar verificação de certificado. O Potatso também lê allowInsecure e skip-cert-verify.
name Opcional. O nome do servidor no Potatso.

Um link não pode guardar uma fixação de certificado. Um link com um sni diferente do endereço do servidor não é importado.

O Potatso também importa duas outras formas:

socks://base64(user:password)@host:port#name
socks5://base64(user:password@host:port)#name

A primeira é como o v2rayN compartilha servidores SOCKS. A segunda é a forma mais antiga, em que tudo entre :// e # é codificado em Base64. Ao compartilhar um servidor SOCKS5 com senha, o Potatso oferece o link padrão e a forma do v2rayN.

Um servidor sem senha:

socks5://proxy.example.com:1080#Open

Um servidor com o nome de usuário alice e a senha s3cret:

socks5://alice:s3cret@proxy.example.com:1080#Auth

A senha p:ss wörd, com percent-encoding:

socks5://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:1080#Encoded

O mesmo servidor como um link socks5h://:

socks5h://alice:s3cret@proxy.example.com:1080#Remote-DNS

A forma do v2rayN, com alice:s3cret codificado em Base64:

socks://YWxpY2U6czNjcmV0@proxy.example.com:1080#v2rayN

A forma mais antiga:

socks5://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjEwODA#Legacy

Um servidor com endereço IPv6:

socks5://[2001:db8::1]:1080#IPv6

Um servidor SOCKS5 sobre TLS:

socks5+tls://alice:s3cret@proxy.example.com:443#TLS

Um servidor SOCKS5 sobre TLS com certificado autoassinado:

socks+tls://proxy.example.com:443?insecure=1#Self-signed
Navegação

Type to search…

↑↓ navigate↵ selectEsc close