Utilizar o seu proxy
Ligar via SOCKS5
Cada porta de proxy fala um protocolo — SOCKS5 ou HTTP(S) — escolhido quando a cria. SOCKS5 (via socks5://) é o padrão certo para a maioria das ferramentas; crie uma porta HTTP(S) (http://user:pass@host:PORT) para ferramentas que só falam HTTP — uma de cada se precisar de ambas. As portas no mesmo dispositivo partilham o IP de saída do operador e rodam em conjunto. Qualquer coisa que fale um dos protocolos pode usá-las — browsers, scrapers, browsers antidetect, curl.
socks5:// é a sua própria máquina que resolve o nome antes de ligar. Para que a resolução aconteça na rede do operador do telemóvel — de modo que um DNS geolocalizado responda para a saída e não para si — use socks5h:// com o mesmo anfitrião, porta e credenciais, ou marque a opção «DNS pelo proxy» do seu cliente.curl
curl -x socks5://USERNAME:PASSWORD@GATEWAY:PORT \
https://api.ipify.org?format=jsonHTTP(S) em vez de SOCKS5
Prefere um proxy HTTP? Crie uma porta de proxy com protocol: http — recebe a sua própria porta e credenciais. Transporta HTTPS via CONNECT, por isso o seu tráfego mantém-se encriptado ponta a ponta. Se uma ferramenta precisar de ambos os protocolos, crie uma porta de cada — partilham o IP de saída do dispositivo e rodam em conjunto.
curl -x http://USERNAME:PASSWORD@GATEWAY:PORT \
https://api.ipify.org?format=jsonPython (requests)
Instale o extra 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)
As portas SOCKS5 também transportam UDP, usando o comando padrão UDP ASSOCIATE do RFC 1928 — QUIC/HTTP3 e DNS saem pelo seu IP do operador tal como o TCP. As portas HTTP(S) não conseguem transportar UDP; isso é um limite do protocolo de proxy HTTP, não do seu dispositivo.
O seu cliente tem de o pedir. As ferramentas que só emitem CONNECT — curl, a maioria das bibliotecas HTTP — ficam em TCP seja qual for o esquema de URL que usar, por isso socks5:// por si só não liga o UDP. Use um cliente QUIC/HTTP3 que fale SOCKS5 UDP, ou uma ferramenta de túnel (Clash, sing-box, tun2socks) que encaminhe todo o UDP de uma aplicação através do proxy.
Os browsers são a desilusão habitual aqui: o Chrome e o Firefox desativam geralmente o QUIC e recusam-se a enviar média WebRTC através de um proxy SOCKS5 configurado, por isso voltam ao TCP. Isso é comportamento do browser — encaminhe-os por uma ferramenta de túnel se precisar do UDP deles no IP do operador.
Browsers antidetect e outras ferramentas
A maioria dos browsers multi-conta e antidetect (e das frameworks de scraping) tem um campo de proxy. Escolha SOCKS5, depois preencha o host, a porta, o utilizador e a palavra-passe do seu proxy — ou cole o URL socks5://user:pass@host:port completo onde for aceite um único "proxy URL".
Escolha um perfil móvel — Android, ou iOS — em vez de um de desktop. O seu tráfego sai de um telefone Android real numa rede de operador, por isso as características TCP/IP que um site consegue observar são as de um dispositivo móvel. Um perfil que diz ser Windows ou macOS sobre um IP de operador móvel é uma incoerência que está a criar por si próprio; fazer corresponder o perfil à saída mantém toda a história coerente sem que nada tenha de ser falsificado.
Um telefone, muitas ferramentas
Gere uma credencial separada para cada ferramenta ou cliente para poder vigiar e revogar cada uma de forma independente — veja Gerir credenciais. Todas partilham o único IP do operador do telefone.