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 (
socks5esocks5-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 (
certificateeprivate-keydo 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=falseno Surge). O Clash deixa o UDP desativado quandoudpnã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.
Links
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)#nameA 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.
Exemplos
Um servidor sem senha:
socks5://proxy.example.com:1080#OpenUm servidor com o nome de usuário alice e a senha s3cret:
socks5://alice:s3cret@proxy.example.com:1080#AuthA senha p:ss wörd, com percent-encoding:
socks5://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:1080#EncodedO mesmo servidor como um link socks5h://:
socks5h://alice:s3cret@proxy.example.com:1080#Remote-DNSA forma do v2rayN, com alice:s3cret codificado em Base64:
socks://YWxpY2U6czNjcmV0@proxy.example.com:1080#v2rayNA forma mais antiga:
socks5://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjEwODA#LegacyUm servidor com endereço IPv6:
socks5://[2001:db8::1]:1080#IPv6Um servidor SOCKS5 sobre TLS:
socks5+tls://alice:s3cret@proxy.example.com:443#TLSUm servidor SOCKS5 sobre TLS com certificado autoassinado:
socks+tls://proxy.example.com:443?insecure=1#Self-signed