IP Router
IP Router · proxy auto-hospedado

Você está perto de .Não segure o seu agente.

Dê ao seu agente de IA um alcance global com uma localização de IP que pode mudar pelo mundo.

cc / city
Direcionamento geográfico
Fetch API
POST /api/v1/fetch
:7777
gateway HTTP
sticky
Fixar sessão
Assista · 2 minutos

Seu agente está vendo a internet errada.

Veja o que os clientes locais veem: saídas locais de verdade no país que você escolhe, e um comprovante em cada resposta.

Malha simulada
(seus agentes)(você)
IP residencialIP de datacenterIP móvel
Seus agentes
  1. Aguardando handshakes…
Android Pixel 9–Galaxy S24 · LTE / 5G

Os pings azuis são uma malha de agentes simulada — (seus agentes). O boneco de palito é (você), posicionado a partir do IP que abriu esta página.

Feito para

Os modelos e os harnesses que as pessoas realmente rodam — Hermes Agent, OpenClaw, Claude Code, Cursor e o resto da stack. Encaixe uma ferramenta de fetch ou aponte um navegador para o gateway.

Modelos
  • OpenAI
  • Claude
  • Gemini
  • xAI
  • Llama
  • Mistral
  • DeepSeek
  • Qwen
  • Kimi
  • Cohere
  • Hugging Face
  • Ollama
  • Perplexity
  • Groq
Harnesses de agente
  • Hermes Agent
  • OpenClaw
  • Claude Code
  • Cursor
  • Cline
  • Kilo Code
  • OpenCode
  • Copilot
  • Codex
  • Goose
  • LangChain
  • LangGraph
  • CrewAI
  • LlamaIndex
  • OpenHands
  • MCP
  • n8n
  • Pydantic
  • Windsurf
  • Mastra
  • OpenRouter

Console :3000

  • Página /
  • Abrir o console
  • Playground → routedFetch

Fetch API

  • Agente / LLM
  • POST /api/v1/fetch
  • Bearer ipr_live_dev_key

Gateway :7777

  • curl -x / CONNECT
  • Basic user:key
  • parseUsername
selectRoute · proxy pool · addLogKernel compartilhado em src/lib/router.ts
Para leigos

Como funciona, sem o kernel.

Você pede um país ou uma cidade. O IP Router escolhe uma saída lá, manda a requisição por esse IP e devolve a página. O mesmo cérebro para um agente JSON e um navegador de verdade.

Abrir o guia para leigos

O site nunca vê o seu notebook

Ele vê o IP de saída. Troque a saída e a página muda — preços, SERP, localizador de lojas, paywall, tudo.

País não é idioma

cc-JP põe você num IP do Japão. lang-ja diz ao site que você lê japonês. Em geral você quer os dois.

Sticky quer dizer “a mesma pessoa”

Login, carrinho e cookies morrem se o IP mudar no meio do fluxo. Um sessid fixa você numa saída até expirar.

Duas portas, um kernel

Agentes fazem POST de JSON em /api/v1/fetch. Navegadores e curl falam CONNECT em :7777. Os dois chamam selectRoute.

Casos de uso

Como funciona em cada trabalho.

cidade / país

Ver a busca como alguém nessa cidade vê

O Google (o Bing e o Maps) não mostra uma internet só. Mostra a internet de onde você está. Posições, pack local, anúncios, até a grafia que acharam que você quis dizer — tudo isso depende do IP de saída e do cabeçalho de idioma. Se o seu agente busca a partir de um datacenter nos EUA, você está julgando uma página de resultados dos EUA, mesmo quando a pergunta é “como isso aparece em Manchester”.

  1. 01Nomeie o mercado: país GB, cidade London, idioma en-GB. A cidade importa aqui — Manchester e London têm packs locais diferentes.
  2. 02Use a Fetch API se quiser HTML/JSON de volta para o agente ler. Use o gateway se um navegador headless estiver conduzindo a SERP.
  3. 03Envie um sessid estável se for paginar ou clicar adiante. Uma sessão nova no meio da rolagem parece um visitante novo.
  4. 04Leia route.reason. Você quer city pool match (ou backconnect geo injection). direct fallback quer dizer que você ainda está no host.
cc-GBcity-londonlang-en_GB
Guia completo para leigos de SERP local

Primeira correspondência em selectRoute. Clique em um caso para acender o caminho.

targeting inProxies ativos?store.proxies.filter(enabled)422 pool vazioRouteErrorSessão sticky?getSession(id) + live nodesticky sessionreaproveita proxyId, renova o TTLFiltrar tipomantém todos se nenhum corresponderPaís definidocity → country → bc → directSem paísbc → pool → directcity pool matchcountry pool matchbc geo injectionusername += -cc -citydirect fallbackthis machinebc rotatepool rotate
A primeira correspondência vencecity pool match
Direcionamento
cc-GB city-london
Pool
Nó residencial do pool em Londres

A cidade exata num nó de pool que não é direto vence primeiro, depois do sticky.

País definido

1
city pool match
nó de pool, a cidade corresponde, não é direto
2
country pool match
nó de pool, o país corresponde, não é direto
3
backconnect geo injection
sem geo no pool; mode === backconnect
4
direct fallback (no geo node)
type === direct ainda ativo
5
Nenhum proxy habilitado no pool.
sem cidade, país, backconnect ou direto

Sem país

1
backconnect rotate
qualquer backconnect ativo
2
pool rotate
nós de pool que não são diretos
3
direct
só sobrou o IP da máquina
PICK()

Com sessão → hashPick(nodes, session). Senão, Math.random().

finish() faz upsert da sessão e, no backconnect, reescreve o username do fornecedor.

TYPE FILTER

Se targeting.type estiver definido, fica nessa classe quando algum nó corresponde; senão, fica o conjunto ativo inteiro. Nós diretos ainda podem atender o geo como último recurso.

Fonte: src/lib/router.ts selectRoute. Cidade por cityMatches em src/lib/geo.ts.

Cadastro

Pronto para dar um passaporte ao seu agente?

Crie uma conta com e-mail e senha. O checkout inicia o plano. O acesso liga depois do primeiro pagamento.

Começar Hobby