V curl zvolte socks5h://, pokud má název cíle přeložit proxy. Zvolte socks5://, pokud ho má curl přeložit místně a poslat proxy adresu. Oba režimy používají SOCKS5; koncové h je konvence zápisu URL na straně klienta.

Porovnejte režimy tak, že místo místního naslouchajícího rozhraní použijete svůj koncový bod 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/

Mění se pouze režim překladu názvů. --noproxy '' zruší pro tato volání pravidla obcházení proxy a časové limity omezí délku porovnání. Odpovídající samostatné volby jsou --socks5 a --socks5-hostname. Jako cíl použijte jméno hostitele: přímo zadaná IP adresa nepotřebuje překlad názvu cíle a tento rozdíl neukáže.

Název může být známý jen na jedné straně

Představte si, že proxy běží ve vývojové síti, jejíž DNS zná název interní služby. Váš notebook ho v režimu socks5 nemusí přeložit, zatímco socks5h nechá překlad na proxy. V opačné situaci, kdy je název definován pouze v souboru hosts notebooku, může selhat naopak vzdálený překlad.

Také veřejné DNS může z různých sítí vracet různé adresy. Odlišné výsledky jsou důvodem porovnat vybrané adresy a jejich dostupnost, nikoli okamžitě vyměnit proxy.

  • Nelze přeložit jméno hostitele proxy: ani jeden režim nemůže začít. Klient stále překládá proxy.example v socks5h://proxy.example:1080.
  • Místní překlad názvu cíle selže: prozkoumejte resolver klienta nebo porovnejte režim předávající jméno hostitele proxy.
  • Server SOCKS odmítá cíl: prozkoumejte odpověď a jeho pravidla. Úspěšný místní překlad neprokazuje dostupnost ze vzdálené strany.
  • Tunel funguje, ale ověření certifikátu selže: prozkoumejte TLS cíle; změna režimu DNS není obecným řešením problémů s důvěrou.

Řízený testovací název a protokoly serveru mohou potvrdit, jaký typ adresy dorazil k proxy, kterou spravujete. Web zobrazující výstupní IP to nedokáže: informuje o odchozím spojení, nikoli o tom, kde proběhl překlad DNS.

Přínos pro soukromí má konkrétní rozsah

Překlad na proxy zabrání místnímu vyhledání názvu cíle pro tento požadavek. Nešifruje SOCKS, neprokazuje, že proxy používá šifrované DNS, ani nesměruje provoz jiných aplikací či předběžného načítání prohlížeče. Requests s podporou SOCKS používá stejné rozlišení místního překladu a překladu na proxy; jiní klienti mohou místo zápisu URL v curl nabízet nastavení. Zvolte protokol podporovaný vaší aplikací, než zkopírujete koncový bod ze seznamu SOCKS5 proxy.

Související články