IP Router
IP Router · proxy autoalojado

Estás cerca de .No frenes a tu agente.

Dale a tu agente de IA un alcance global con una IP que puede cambiar de lugar en todo el mundo.

cc / city
Segmentación geográfica
Fetch API
POST /api/v1/fetch
:7777
Gateway HTTP
sticky
Pin de sesión
Mira · 2 minutos

Tu agente está viendo el internet equivocado.

Ve lo que ven los clientes locales: salidas locales reales en el país que elijas y un comprobante en cada respuesta.

Malla simulada
(tus agentes)(tú)
IP residencialIP de datacenterIP móvil
Tus agentes
  1. Esperando handshakes…
Android Pixel 9–Galaxy S24 · LTE / 5G

Los pings azules son una malla de agentes simulada — (tus agentes). El monigote es (tú), colocado a partir de la IP que abrió esta página.

Hecho para

Los modelos y harnesses que la gente usa de verdad — Hermes Agent, OpenClaw, Claude Code, Cursor y el resto. Mete un fetch tool o apunta el browser al 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

Consola :3000

  • Landing /
  • Abrir consola
  • 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 compartido en src/lib/router.ts
Para novatos

Cómo funciona, sin el kernel.

Pides un país o una ciudad. IP Router elige una salida ahí, manda la petición por esa IP y te devuelve la página. El mismo cerebro para un agente JSON y un browser de verdad.

Abrir la guía simple

El sitio no ve tu portátil

Ve la IP de salida. Cambias la salida, cambia la página — precios, SERP, locator, paywall.

País no es idioma

cc-JP te pone en una IP japonesa. lang-ja le dice al sitio que lees japonés. Casi siempre quieres ambos.

Sticky significa “la misma persona”

Logins, carritos y cookies mueren si la IP cambia a mitad. Un sessid te clava a una salida hasta que caduca.

Dos puertas, un kernel

Los agentes hacen POST JSON a /api/v1/fetch. Browsers y curl hablan CONNECT en :7777. Ambos llaman selectRoute.

Casos de uso

Cómo funciona en cada trabajo.

ciudad / país

Ver la búsqueda como alguien en esa ciudad

Google (y Bing, y maps) no muestran un solo internet. Muestran el internet desde donde estás. Rankings, local pack, anuncios, hasta la ortografía — todo depende de la IP de salida y del idioma. Si tu agente fetcha desde un datacenter US, estás midiendo una página US aunque preguntes “¿cómo se ve en Manchester?”

  1. 01Nombra el mercado: país GB, ciudad London, idioma en-GB. La ciudad importa — Manchester y Londres no son el mismo local pack.
  2. 02Fetch API si quieres HTML/JSON para el agente. Gateway si un browser headless conduce el SERP.
  3. 03Manda un sessid estable si vas a paginar. Una sesión nueva a mitad parece otro visitante.
  4. 04Lee route.reason. Quieres city pool match (o backconnect geo injection). Direct fallback es que sigues en el host.
cc-GBcity-londonlang-en_GB
Guía completa de SERP local

Primer match en selectRoute. Pulsa un caso para encender el camino.

targeting in¿Proxies enabled?store.proxies.filter(enabled)422 pool vacíoRouteError¿Sesión sticky?getSession(id) + live nodesesión stickyreusa proxyId, refresca TTLFiltro typetodos si ninguno coincidePaís puestocity → country → bc → directSin paísbc → pool → directcity pool matchcountry pool matchbc geo injectionusername += -cc -citydirect fallbackthis machinebc rotatepool rotate
Gana el primer matchcity pool match
Segmentación
cc-GB city-london
Pool
Nodo residencial de Londres

La ciudad exacta en un nodo de pool (no direct) gana primero después de sticky.

País indicado

1
city pool match
nodo de pool, ciudad coincide, no direct
2
country pool match
nodo de pool, país coincide, no direct
3
backconnect geo injection
sin geo de pool; mode === backconnect
4
direct fallback (no geo node)
type === direct sigue enabled
5
No hay proxies habilitados en el pool.
sin city, country, backconnect ni direct

Sin país

1
backconnect rotate
cualquier backconnect enabled
2
pool rotate
nodos de pool no-direct
3
direct
solo queda la IP de la máquina
PICK()

Si hay sesión → hashPick(nodes, session). Si no, Math.random().

finish() guarda la sesión y, en backconnect, reescribe el username del vendor.

TYPE FILTER

Si targeting.type está puesto, se queda esa clase cuando hay un nodo; si no, todo el set enabled. Direct aún puede cumplir geo al final.

Fuente: src/lib/router.ts selectRoute. Ciudad via cityMatches en src/lib/geo.ts.

Regístrate

¿Listo para darle pasaporte a tu agente?

Crea una cuenta con email y contraseña. El pago inicia el plan. El acceso se activa tras el primer cobro.

Empezar Hobby