No curl, escolha socks5h:// quando o proxy deve resolver o nome de destino. Escolha socks5:// quando o curl deve resolvê-lo localmente e enviar um endereço ao proxy. Os dois usam SOCKS5; o h final é uma convenção de URL do cliente.

Compare os modos substituindo o listener local pelo seu endpoint SOCKS5:

curl --noproxy '' --proxy socks5://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/
curl --noproxy '' --proxy socks5h://127.0.0.1:1080 --connect-timeout 5 --max-time 15 --verbose https://example.com/

Apenas o modo de resolução muda. --noproxy '' limpa as regras de bypass do proxy para essas chamadas, e os limites de tempo delimitam a comparação. As opções específicas equivalentes são --socks5 e --socks5-hostname. Use um nome de host como destino: um IP literal não exige consulta do nome de destino e não demonstra essa diferença.

Um nome pode existir só de um lado

Suponha que o proxy esteja em uma rede de desenvolvimento cujo DNS conhece o nome de um serviço interno. Seu notebook pode não resolver esse nome no modo socks5, enquanto socks5h deixa a resolução a cargo do proxy. Inverta a situação, com um nome definido apenas no arquivo hosts do notebook, e pode ser a consulta remota que falha.

O DNS público também pode retornar endereços diferentes dependendo da rede. Se os resultados diferirem, compare os endereços selecionados e sua acessibilidade, em vez de trocar o proxy imediatamente.

  • Não é possível resolver o nome de host do proxy: nenhum dos modos pode começar. Seu cliente continua resolvendo proxy.example em socks5h://proxy.example:1080.
  • A resolução local do destino falha: examine o resolvedor do cliente ou compare com o modo que envia o nome de host ao proxy.
  • O servidor SOCKS rejeita o destino: examine a resposta e a política dele. Uma consulta local bem-sucedida não comprova que o destino seja acessível remotamente.
  • O túnel funciona, mas a verificação do certificado falha: investigue o TLS do destino; selecionar outro modo DNS não resolve problemas de confiança de forma geral.

Um nome de teste sob seu controle e os logs do servidor podem confirmar qual tipo de endereço chegou a um proxy que você administra. Uma página de IP de saída não pode: ela informa sobre a conexão externa, não onde a resolução DNS aconteceu.

O benefício de privacidade tem um alcance específico

A consulta no proxy evita a resolução local do destino desta requisição. Ela não criptografa SOCKS, não comprova que o proxy usa DNS criptografado nem encaminha o tráfego de outros aplicativos ou da pré-busca do navegador. Requests com suporte a SOCKS usa a mesma distinção entre resolução local e no proxy; outros clientes podem oferecer uma configuração em vez da notação de URL do curl. Escolha um protocolo compatível com seu aplicativo antes de copiar um endpoint da lista de proxies SOCKS5.

Artigos relacionados