Používání proxy
Připojení přes SOCKS5
Každý proxy port mluví jedním protokolem — SOCKS5 nebo HTTP(S) — zvoleným při jeho vytvoření. SOCKS5 (přes socks5://) je správná výchozí volba pro většinu nástrojů; pro nástroje, které umí jen HTTP, vytvořte HTTP(S) port (http://user:pass@host:PORT) — po jednom od každého, pokud potřebujete obojí. Porty na stejném zařízení sdílejí jeho výstupní IP operátora a rotují společně. Použít je může cokoli, co mluví některým z protokolů — prohlížeče, scrapery, antidetect prohlížeče, curl.
socks5:// překládá název váš vlastní počítač, ještě než se připojí. Pokud chcete překlad provádět v mobilní síti operátora — aby geolokační DNS odpovídal pro výstup, a ne pro vás — použijte socks5h:// se stejným hostitelem, portem i přihlašovacími údaji, nebo zaškrtněte ve svém klientovi volbu „DNS přes proxy“.curl
curl -x socks5://USERNAME:PASSWORD@GATEWAY:PORT \
https://api.ipify.org?format=jsonHTTP(S) místo SOCKS5
Preferujete HTTP proxy? Vytvořte proxy port s protocol: http — dostane vlastní port a přihlašovací údaje. Přenáší HTTPS přes CONNECT, takže váš provoz zůstává šifrovaný od začátku do konce. Pokud nástroj potřebuje oba protokoly, vytvořte po jednom portu od každého — sdílejí výstupní IP zařízení a rotují společně.
curl -x http://USERNAME:PASSWORD@GATEWAY:PORT \
https://api.ipify.org?format=jsonPython (requests)
Nainstalujte doplněk SOCKS: pip install "requests[socks]".
import requests
proxy = "socks5://USERNAME:PASSWORD@GATEWAY:PORT"
r = requests.get(
"https://httpbin.org/ip",
proxies={"http": proxy, "https": proxy},
timeout=30,
)
print(r.json())Node.js
Install node-fetch and socks-proxy-agent; Node's global fetch ignores the non-standard agent option.
import fetch from "node-fetch";
import { SocksProxyAgent } from "socks-proxy-agent";
const agent = new SocksProxyAgent(
"socks5://USERNAME:PASSWORD@GATEWAY:PORT"
);
const res = await fetch("https://api.ipify.org?format=json", { agent });
console.log(await res.json());UDP (QUIC/HTTP3, DNS)
Porty SOCKS5 přenášejí i UDP, a to standardním příkazem UDP ASSOCIATE z RFC 1928 — QUIC/HTTP3 i DNS vycházejí přes vaši IP operátora stejně jako TCP. Porty HTTP(S) UDP přenášet nemohou; to je omezení protokolu HTTP proxy, nikoli vašeho zařízení.
Váš klient si o to musí sám říct. Nástroje, které vydávají jen CONNECT — curl, většina HTTP knihoven — zůstanou na TCP bez ohledu na to, jaké URL schéma použijete, takže samotné socks5:// UDP nezapne. Použijte klienta QUIC/HTTP3, který umí SOCKS5 UDP, nebo tunelovací nástroj (Clash, sing-box, tun2socks), který přes proxy vede veškerý UDP provoz celé aplikace.
Prohlížeče jsou tu obvyklým zklamáním: Chrome a Firefox zpravidla QUIC vypínají a odmítají posílat média WebRTC přes nakonfigurovanou proxy SOCKS5, takže se vracejí k TCP. To je chování prohlížeče — pokud potřebujete jejich UDP na IP operátora, veďte je přes tunelovací nástroj.
Antidetect prohlížeče a další nástroje
Většina víceúčtových a antidetect prohlížečů (a scrapovacích frameworků) má pole pro proxy. Zvolte SOCKS5 a pak vyplňte host, port, uživatelské jméno a heslo své proxy — nebo vložte celou URL socks5://user:pass@host:port tam, kde se přijímá jediná „proxy URL“.
Zvolte mobilní profil — Android, nebo iOS — místo desktopového. Váš provoz vychází ze skutečného telefonu s Androidem v síti operátora, takže charakteristiky TCP/IP, které web může pozorovat, jsou charakteristiky mobilního zařízení. Profil hlásící se k Windows nebo macOS nad mobilní IP operátora je nesoulad, který si vytváříte sami; sladění profilu s výstupem udrží celý příběh konzistentní, aniž by se cokoli muselo předstírat.
Jeden telefon, mnoho nástrojů
Vytvořte samostatný přihlašovací údaj pro každý nástroj nebo zákazníka, abyste každý mohli nezávisle sledovat i rušit — viz Správa přihlašovacích údajů. Všechny sdílejí jedinou IP operátora telefonu.