Korzystanie z proxy
Połączenie przez SOCKS5
Każdy port proxy mówi jednym protokołem — SOCKS5 lub HTTP(S) — wybranym przy jego tworzeniu. SOCKS5 (przez socks5://) to właściwe domyślne ustawienie dla większości narzędzi; utwórz port HTTP(S) (http://user:pass@host:PORT) dla narzędzi, które mówią tylko po HTTP — po jednym z każdego, jeśli potrzebujesz obu. Porty na tym samym urządzeniu współdzielą jego wyjściowy IP operatora i rotują razem. Może z nich korzystać wszystko, co mówi jednym z tych protokołów — przeglądarki, scrapery, przeglądarki antidetect, curl.
socks5:// nazwę hosta rozwiązuje twój własny komputer, zanim się połączy. Jeśli chcesz, aby odbywało się to w sieci operatora telefonu — tak by DNS zależny od lokalizacji odpowiadał dla wyjścia, a nie dla ciebie — użyj socks5h:// z tym samym hostem, portem i danymi logowania albo zaznacz w kliencie opcję „DNS przez proxy”.curl
curl -x socks5://USERNAME:PASSWORD@GATEWAY:PORT \
https://api.ipify.org?format=jsonHTTP(S) zamiast SOCKS5
Wolisz proxy HTTP? Utwórz port proxy z protocol: http — dostanie własny port i poświadczenia. Przenosi HTTPS przez CONNECT, więc Twój ruch pozostaje szyfrowany od końca do końca. Jeśli narzędzie potrzebuje obu protokołów, utwórz po jednym porcie każdego — współdzielą wyjściowy IP urządzenia i rotują razem.
curl -x http://USERNAME:PASSWORD@GATEWAY:PORT \
https://api.ipify.org?format=jsonPython (requests)
Zainstaluj dodatek 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 przenoszą też UDP, korzystając ze standardowego polecenia UDP ASSOCIATE z RFC 1928 — QUIC/HTTP3 i DNS wychodzą przez Twój IP operatora dokładnie tak samo jak TCP. Porty HTTP(S) nie mogą przenosić UDP; to ograniczenie protokołu proxy HTTP, a nie Twojego urządzenia.
Twój klient musi o to poprosić. Narzędzia, które wysyłają wyłącznie CONNECT — curl, większość bibliotek HTTP — pozostają na TCP niezależnie od użytego schematu URL, więc samo socks5:// nie włącza UDP. Użyj klienta QUIC/HTTP3, który mówi SOCKS5 UDP, albo narzędzia tunelującego (Clash, sing-box, tun2socks), które kieruje przez proxy cały ruch UDP danej aplikacji.
Przeglądarki to tutaj typowe rozczarowanie: Chrome i Firefox zwykle wyłączają QUIC i odmawiają wysyłania mediów WebRTC przez skonfigurowane proxy SOCKS5, więc wracają do TCP. Takie jest zachowanie przeglądarek — przepuść je przez narzędzie tunelujące, jeśli potrzebujesz ich ruchu UDP na IP operatora.
Przeglądarki antidetect i inne narzędzia
Większość przeglądarek do wielu kont i przeglądarek antidetect (oraz frameworków do scrapingu) ma pole na proxy. Wybierz SOCKS5, a następnie wpisz host, port, nazwę użytkownika i hasło swojego proxy — lub wklej cały adres socks5://user:pass@host:port tam, gdzie akceptowany jest pojedynczy „proxy URL”.
Wybierz profil mobilny — Android albo iOS — zamiast desktopowego. Twój ruch wychodzi z prawdziwego telefonu z Androidem w sieci operatora, więc charakterystyka TCP/IP, którą witryna może zaobserwować, jest charakterystyką urządzenia mobilnego. Profil podający Windows lub macOS na mobilnym IP operatora to niespójność, którą tworzysz sam; dopasowanie profilu do punktu wyjścia utrzymuje spójność całej historii bez fałszowania czegokolwiek.
Jeden telefon, wiele narzędzi
Wygeneruj osobne poświadczenie dla każdego narzędzia lub klienta, aby móc obserwować i unieważniać każde niezależnie — zobacz Zarządzanie poświadczeniami. Wszystkie współdzielą pojedynczy IP operatora telefonu.