W curl wybierz socks5h://, gdy nazwę celu ma rozwiązać proxy. Wybierz socks5://, gdy curl ma rozwiązać ją lokalnie i wysłać adres do proxy. Oba warianty używają SOCKS5; końcowe h to konwencja zapisu URL po stronie klienta.

Porównaj tryby, podstawiając własny punkt końcowy SOCKS5 zamiast lokalnego punktu nasłuchu:

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/

Zmienia się tylko tryb rozwiązywania nazw. --noproxy '' usuwa reguły omijania proxy dla tych wywołań, a limity czasu ograniczają czas porównania. Równoważne osobne opcje to --socks5 i --socks5-hostname. Jako cel podaj nazwę hosta: adres IP wpisany wprost nie wymaga rozwiązywania nazwy celu i nie pokaże tej różnicy.

Nazwa może być znana tylko jednej stronie

Załóżmy, że proxy działa w sieci deweloperskiej, której DNS zna nazwę wewnętrznej usługi. Laptop może nie rozwiązać jej w trybie socks5, natomiast socks5h pozwala zrobić to proxy. W odwrotnej sytuacji, gdy nazwa jest zdefiniowana tylko w pliku hosts laptopa, nie udać może się właśnie zdalne rozwiązywanie.

Publiczny DNS również może zwracać różne adresy z różnych sieci. Różne wyniki to powód, aby porównać wybrane adresy i ich osiągalność, zamiast od razu wymieniać proxy.

  • Nie można rozwiązać nazwy hosta proxy: żaden tryb nie może się rozpocząć. Klient nadal rozwiązuje proxy.example w socks5h://proxy.example:1080.
  • Lokalne rozwiązywanie nazwy celu nie działa: sprawdź resolver klienta lub porównaj z trybem przekazującym nazwę hosta do proxy.
  • Serwer SOCKS odrzuca cel: sprawdź jego odpowiedź i politykę. Udane lokalne rozwiązanie nazwy nie dowodzi osiągalności ze zdalnej strony.
  • Tunel działa, ale weryfikacja certyfikatu nie: zbadaj TLS celu; wybór innego trybu DNS nie jest ogólnym rozwiązaniem problemów zaufania.

Kontrolowana nazwa testowa i logi serwera pozwalają potwierdzić, jaki typ adresu dotarł do proxy, którym zarządzasz. Strona pokazująca wyjściowy adres IP tego nie potrafi: opisuje połączenie wychodzące, a nie miejsce rozwiązania DNS.

Korzyść dla prywatności ma określony zakres

Rozwiązywanie nazwy przez proxy pozwala uniknąć lokalnego zapytania o cel tego żądania. Nie szyfruje SOCKS, nie dowodzi użycia szyfrowanego DNS przez proxy ani nie przekierowuje ruchu innych aplikacji i wstępnego pobierania przeglądarki. Requests z obsługą SOCKS stosuje to samo rozróżnienie między lokalnym rozwiązywaniem nazw a rozwiązywaniem przez proxy; inne klienty mogą udostępniać ustawienie zamiast zapisu URL używanego przez curl. Wybierz protokół obsługiwany przez aplikację, zanim skopiujesz punkt końcowy z listy proxy SOCKS5.

Powiązane artykuły