IP Router
IP Router · proxy self-hosted

Sei vicino a .Non trattenere il tuo agente.

Dai al tuo agente IA una portata globale con una posizione IP che può cambiare in tutto il mondo.

cc / city
Targeting geografico
Fetch API
POST /api/v1/fetch
:7777
Gateway HTTP
sticky
Pin di sessione
Guarda · 2 minuti

Il tuo agente vede l'internet sbagliato.

Vedi ciò che vedono i clienti locali: uscite locali vere nel paese che scegli, e una ricevuta su ogni risposta.

Mesh simulata
(i tuoi agenti)(tu)
IP residenzialeIP di datacenterIP mobile
I tuoi agenti
  1. In attesa degli handshake…
Android Pixel 9–Galaxy S24 · LTE / 5G

I ping blu sono una mesh di agenti simulata — (i tuoi agenti). L'omino è (tu), posizionato dall'IP che ha aperto questa pagina.

Fatto per

I modelli e gli harness che si usano davvero — Hermes Agent, OpenClaw, Claude Code, Cursor e il resto dello stack. Aggiungi un tool di fetch o punta un browser al gateway.

Modelli
  • OpenAI
  • Claude
  • Gemini
  • xAI
  • Llama
  • Mistral
  • DeepSeek
  • Qwen
  • Kimi
  • Cohere
  • Hugging Face
  • Ollama
  • Perplexity
  • Groq
Harness degli agenti
  • 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 /
  • Apri la 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 condiviso in src/lib/router.ts
Per principianti

Come funziona, senza il kernel.

Chiedi un paese o una città. IP Router sceglie un'uscita lì, invia la richiesta attraverso quell'IP e restituisce la pagina. Lo stesso cervello per un agente JSON e un browser vero.

Apri la guida semplice

Il sito non vede mai il tuo laptop

Vede l'IP di uscita. Cambia l'uscita, cambia la pagina — prezzi, SERP, store locator, paywall, tutto.

Il paese non è la lingua

cc-JP ti mette su un IP giapponese. lang-ja dice al sito che leggi il giapponese. Di solito li vuoi entrambi.

Sticky vuol dire «la stessa persona»

Login, carrelli e cookie muoiono se l'IP cambia a metà flusso. Un sessid ti fissa a un'uscita finché non scade.

Due porte, un kernel

Gli agenti inviano JSON in POST a /api/v1/fetch. Browser e curl parlano CONNECT su :7777. Entrambi chiamano selectRoute.

Casi d'uso

Come funziona per ogni lavoro.

città / paese

Vedi la ricerca come la vede qualcuno in quella città

Google (e Bing, e le mappe) non mostrano un solo internet. Mostrano l'internet dal punto in cui ti trovi. Classifiche, local pack, annunci, persino l'ortografia che pensano tu volessi — tutto dipende dall'IP di uscita e dall'header della lingua. Se il tuo agente fa fetch da un datacenter US, stai valutando una pagina di risultati US, anche quando la domanda è «come appare a Manchester».

  1. 01Dai un nome al mercato: paese GB, città London, lingua en-GB. La città conta — Manchester e London hanno local pack diversi.
  2. 02Usa Fetch API se vuoi HTML/JSON da far leggere all'agente. Usa il gateway se un browser headless guida la SERP.
  3. 03Manda un sessid stabile se pagini o clicchi avanti. Una sessione nuova a metà scroll sembra un nuovo visitatore.
  4. 04Leggi route.reason. Vuoi city pool match (o backconnect geo injection). direct fallback vuol dire che sei ancora sull'host.
cc-GBcity-londonlang-en_GB
Guida completa di SERP locale

Prima corrispondenza in selectRoute. Clicca un caso per illuminare il percorso.

targeting inProxy abilitati?store.proxies.filter(enabled)422 pool vuotoRouteErrorSessione sticky?getSession(id) + live nodesticky sessionriusa proxyId, rinnova il TTLFiltra typetieni tutti se nessuno corrispondePaese impostatocity → country → bc → directNessun paesebc → pool → directcity pool matchcountry pool matchbc geo injectionusername += -cc -citydirect fallbackthis machinebc rotatepool rotate
Vince la prima corrispondenzacity pool match
Segmentazione
cc-GB city-london
Pool
Nodo residential del pool a Londra

La città esatta su un nodo di pool non direct vince per prima, dopo lo sticky.

Paese indicato

1
city pool match
nodo di pool, la città corrisponde, non direct
2
country pool match
nodo di pool, il paese corrisponde, non direct
3
backconnect geo injection
nessun geo nel pool; mode === backconnect
4
direct fallback (no geo node)
type === direct ancora abilitato
5
Nessun proxy abilitato nel pool.
né città, né paese, né backconnect, né direct

Nessun paese

1
backconnect rotate
qualsiasi backconnect abilitato
2
pool rotate
nodi di pool non direct
3
direct
resta solo l'IP della macchina
PICK()

Sessione impostata → hashPick(nodes, session). Altrimenti Math.random().

finish() fa l'upsert della sessione e, in backconnect, riscrive lo username del vendor.

TYPE FILTER

Se targeting.type è impostato, tieni quella classe quando almeno un nodo corrisponde; altrimenti tieni l'intero insieme abilitato. I nodi direct possono ancora soddisfare il geo come ultima risorsa.

Fonte: src/lib/router.ts selectRoute. Corrispondenza della città tramite cityMatches in src/lib/geo.ts.

Iscriviti

Pronto a dare un passaporto al tuo agente?

Crea un account con email e password. Il checkout avvia il piano. L'accesso si attiva dopo il primo pagamento.

Inizia Hobby