IP Router
IP Router · zelfgehoste proxy

Je bent in de buurt van .Houd je agent niet tegen.

Geef je AI-agent wereldwijd bereik met een IP-locatie die over de hele wereld kan wisselen.

cc / city
Geo-targeting
Fetch API
POST /api/v1/fetch
:7777
HTTP-gateway
sticky
Sessie vastzetten
Kijk · 2 minuten

Je agent ziet het verkeerde internet.

Zie wat lokale klanten zien: echte lokale exits in het land dat je kiest, en een bewijs bij elk antwoord.

Gesimuleerde mesh
(jouw agents)(jij)
Residentiële IPDatacenter-IPMobiele IP
Jouw agents
  1. Wachten op handshakes…
Android Pixel 9–Galaxy S24 · LTE / 5G

Blauwe pings zijn een gesimuleerd agent-mesh — (jouw agents). Het stokfiguur is (jij), geplaatst vanaf de IP die deze pagina opende.

Gemaakt voor

De modellen en harnesses die mensen echt draaien — Hermes Agent, OpenClaw, Claude Code, Cursor en de rest van de stack. Hang een fetch-tool in, of richt een browser op de gateway.

Modellen
  • OpenAI
  • Claude
  • Gemini
  • xAI
  • Llama
  • Mistral
  • DeepSeek
  • Qwen
  • Kimi
  • Cohere
  • Hugging Face
  • Ollama
  • Perplexity
  • Groq
Agent-harnesses
  • 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

  • Landing /
  • Console openen
  • Playground → routedFetch

Fetch API

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

Gateway :7777

  • curl -x / CONNECT
  • Basic user:key
  • parseUsername
selectRoute · proxy pool · addLogGedeelde kernel in src/lib/router.ts
Voor beginners

Hoe het werkt, zonder de kernel.

Je noemt een land of een stad. IP Router kiest daar een exit, stuurt het verzoek via die IP naar buiten en geeft de pagina terug. Dezelfde kern voor een JSON-agent en een echte browser.

Open de beginnersgids

De website ziet je laptop nooit

Die ziet de exit-IP. Andere exit, andere pagina — prijzen, SERP, winkelzoeker, betaalmuur, alles.

Land is geen taal

cc-JP zet je op een Japanse IP. lang-ja vertelt de site dat je Japans leest. Meestal wil je allebei.

Sticky betekent “dezelfde persoon”

Logins, winkelwagens en cookies gaan verloren als de IP halverwege wisselt. Een sessid zet je vast op één exit tot hij verloopt.

Twee deuren, één kernel

Agents POSTen JSON naar /api/v1/fetch. Browsers en curl spreken CONNECT op :7777. Allebei roepen selectRoute aan.

Toepassingen

Hoe het werkt per klus.

stad / land

Zoek zoals iemand in die stad het ziet

Google (en Bing, en Maps) tonen niet één internet. Ze tonen het internet vanaf de plek waar je staat. Ranglijsten, de local pack, advertenties, zelfs welke spelling ze denken dat je bedoelde — dat hangt allemaal af van de exit-IP en de taalheader. Als je agent fetcht vanuit een Amerikaans datacenter, beoordeel je een Amerikaanse resultatenpagina, ook als de vraag is “hoe ziet dit eruit in Manchester.”

  1. 01Noem de markt: land GB, stad London, taal en-GB. De stad telt — Manchester en London hebben een andere local pack.
  2. 02Gebruik de Fetch API als je HTML of JSON terug wilt die de agent kan lezen. Gebruik de gateway als een headless browser de SERP aanstuurt.
  3. 03Stuur een stabiele sessid als je pagineert of doorklikt. Een nieuwe sessie halverwege het scrollen lijkt een nieuwe bezoeker.
  4. 04Lees route.reason. Je wilt city pool match (of backconnect geo injection). Direct fallback betekent dat je nog op de host zit.
cc-GBcity-londonlang-en_GB
Volledige beginnersgids voor Lokale SERP

De eerste match in selectRoute. Klik een geval aan om het pad te laten oplichten.

targeting inProxies ingeschakeld?store.proxies.filter(enabled)422 lege poolRouteErrorSticky-sessie?getSession(id) + live nodesticky sessionhergebruik proxyId, ververs de TTLFilter op typehoud alles als niets matchtLand gezetcity → country → bc → directGeen landbc → pool → directcity pool matchcountry pool matchbc geo injectionusername += -cc -citydirect fallbackthis machinebc rotatepool rotate
Eerste match wintcity pool match
Targeting
cc-GB city-london
Pool
Residentiële poolnode in Londen

De exacte stad op een poolnode die niet direct is, wint als eerste na sticky.

Land opgegeven

1
city pool match
poolnode, stad klopt, niet direct
2
country pool match
poolnode, land klopt, niet direct
3
backconnect geo injection
geen pool-geo; mode === backconnect
4
direct fallback (no geo node)
type === direct nog ingeschakeld
5
Geen ingeschakelde proxies in de pool.
geen stad, land, backconnect of direct

Geen land

1
backconnect rotate
elke ingeschakelde backconnect
2
pool rotate
niet-directe poolnodes
3
direct
alleen de IP van de machine over
PICK()

Sessie gezet → hashPick(nodes, session). Anders Math.random().

finish() doet een upsert van de sessie en herschrijft bij backconnect de vendor-username.

TYPE FILTER

Als targeting.type is gezet, houd die klasse aan zodra een node matcht; anders blijft de volledige ingeschakelde set. Direct-nodes kunnen geo nog als laatste redmiddel invullen.

Bron: src/lib/router.ts selectRoute. Stadmatching via cityMatches in src/lib/geo.ts.

Aanmelden

Klaar om je agent een paspoort te geven?

Maak een account aan met e-mail en wachtwoord. Afrekenen start het plan. Toegang gaat aan na de eerste betaling.

Start Hobby