IP Router
IP Router · 셀프 호스팅 프록시

지금 근처에 있습니다.에이전트의 발목을 잡지 마세요.

세계 어디서든 바꿀 수 있는 IP 위치로, AI 에이전트가 전 세계에 닿게 하세요.

cc / city
지역 타기팅
Fetch API
POST /api/v1/fetch
:7777
HTTP 게이트웨이
sticky
세션 고정
보기 · 2분

에이전트가 잘못된 인터넷을 보고 있습니다.

현지 고객이 보는 것을 보세요. 고른 나라의 실제 현지 출구, 그리고 모든 답에 붙는 영수증.

시뮬레이션 메시
(내 에이전트)(나)
레지덴셜 IP데이터센터 IP모바일 IP
내 에이전트
  1. 핸드셰이크를 기다리는 중…
Android Pixel 9–Galaxy S24 · LTE / 5G

파란 핑은 시뮬레이션된 에이전트 메시입니다 — (내 에이전트). 막대 사람은 (나)이며, 이 페이지를 연 IP 위치에 놓입니다.

만든 대상

사람들이 실제로 돌리는 모델과 하네스 — Hermes Agent, OpenClaw, Claude Code, Cursor, 그리고 나머지 스택. fetch 도구를 넣거나 브라우저를 게이트웨이로 향하게 하세요.

모델
  • OpenAI
  • Claude
  • Gemini
  • xAI
  • Llama
  • Mistral
  • DeepSeek
  • Qwen
  • Kimi
  • Cohere
  • Hugging Face
  • Ollama
  • Perplexity
  • Groq
에이전트 하네스
  • Hermes Agent
  • OpenClaw
  • Claude Code
  • Cursor
  • Cline
  • Kilo Code
  • OpenCode
  • Copilot
  • Codex
  • Goose
  • LangChain
  • LangGraph
  • CrewAI
  • LlamaIndex
  • OpenHands
  • MCP
  • n8n
  • Pydantic
  • Windsurf
  • Mastra
  • OpenRouter

콘솔 :3000

  • 랜딩 /
  • 콘솔 열기
  • 플레이그라운드 → routedFetch

Fetch API

  • 에이전트 / LLM
  • POST /api/v1/fetch
  • Bearer ipr_live_dev_key

게이트웨이 :7777

  • curl -x / CONNECT
  • Basic user:key
  • parseUsername
selectRoute · proxy pool · addLog공유 커널은 src/lib/router.ts
초보자용

커널 없이 보는 작동 방식.

국가나 도시를 요청합니다. IP Router가 그곳의 출구를 고르고, 그 IP로 요청을 내보낸 뒤, 페이지를 돌려줍니다. JSON 에이전트와 실제 브라우저가 같은 두뇌를 씁니다.

초보자 가이드 열기

웹사이트는 노트북을 보지 않습니다

출구 IP를 봅니다. 출구를 바꾸면 페이지가 바뀝니다. 가격, 검색 결과, 매장 찾기, 유료 장벽, 전부.

국가는 언어가 아닙니다

cc-JP는 일본 IP에 올립니다. lang-ja는 일본어를 읽는다고 사이트에 알립니다. 보통 둘 다 필요합니다.

고정은 「같은 사람」이라는 뜻입니다

로그인, 장바구니, 쿠키는 도중에 IP가 바뀌면 죽습니다. sessid는 만료될 때까지 하나의 출구에 고정합니다.

문 두 개, 커널 하나

에이전트는 /api/v1/fetch로 JSON을 POST합니다. 브라우저와 curl은 :7777에서 CONNECT로 말합니다. 둘 다 selectRoute를 부릅니다.

사용 사례

작업마다 어떻게 동작하는지.

도시 / 국가

그 도시에 있는 사람이 보는 검색을 보세요

Google(그리고 Bing, 지도)은 인터넷을 하나로 보여 주지 않습니다. 서 있는 곳에서 본 인터넷을 보여 줍니다. 순위, 로컬 팩, 광고, 심지어 어떤 철자를 의도했다고 보는가까지, 전부 출구 IP와 언어 헤더에 달렸습니다. 에이전트가 미국 데이터센터에서 가져오면, 질문이 「맨체스터에서는 어떻게 보이나」여도 미국 결과 페이지를 채점하는 것입니다.

  1. 01시장을 지정하세요. 국가 GB, 도시 London, 언어 en-GB. 여기서는 도시가 중요합니다. Manchester와 London의 로컬 팩은 다릅니다.
  2. 02에이전트가 읽을 HTML/JSON이 필요하면 Fetch API를 쓰세요. 헤드리스 브라우저가 검색 결과를 돌리면 게이트웨이를 쓰세요.
  3. 03페이지를 넘기거나 클릭해 들어갈 거면 안정된 sessid를 보내세요. 스크롤 중간에 새 세션은 새 방문자처럼 보입니다.
  4. 04route.reason을 읽으세요. city pool match(또는 backconnect geo injection)가 나와야 합니다. direct fallback이면 아직 호스트에 있는 것입니다.
cc-GBcity-londonlang-en_GB
현지 검색 결과 전체 초보자 가이드

selectRoute의 첫 일치. 사례를 누르면 경로가 켜집니다.

targeting in켜진 프록시가 있나요?store.proxies.filter(enabled)422 빈 풀RouteError고정 세션인가요?getSession(id) + live nodesticky sessionproxyId를 재사용하고 TTL을 갱신type 필터맞는 것이 없으면 전부 유지국가를 지정함city → country → bc → direct국가 없음bc → pool → directcity pool matchcountry pool matchbc geo injectionusername += -cc -citydirect fallbackthis machinebc rotatepool rotate
첫 일치가 이깁니다city pool match
타기팅
cc-GB city-london
풀
런던 레지덴셜 풀 노드

다이렉트가 아닌 풀 노드의 정확한 도시가, 고정 세션 다음으로 먼저 이깁니다.

국가를 지정함

1
city pool match
풀 노드, 도시 일치, 다이렉트 아님
2
country pool match
풀 노드, 국가 일치, 다이렉트 아님
3
backconnect geo injection
풀 지역 없음. mode === backconnect
4
direct fallback (no geo node)
type === direct가 아직 켜져 있음
5
풀에 켜진 프록시가 없습니다.
city, country, backconnect, direct 모두 없음

국가 없음

1
backconnect rotate
켜진 백커넥트 아무거나
2
pool rotate
다이렉트가 아닌 풀 노드
3
direct
머신 IP만 남음
PICK()

세션이 있으면 hashPick(nodes, session). 없으면 Math.random().

finish()는 세션을 upsert하고, 백커넥트에서는 벤더 username을 다시 씁니다.

TYPE FILTER

targeting.type이 있으면, 맞는 노드가 있을 때 그 종류만 남깁니다. 없으면 켜진 노드 전체를 유지합니다. 다이렉트 노드는 마지막 수단으로 지역 조건을 맞출 수 있습니다.

출처: src/lib/router.ts의 selectRoute. 도시 일치는 src/lib/geo.ts의 cityMatches.

가입

에이전트에게 여권을 줄 준비가 되셨나요?

이메일과 비밀번호로 계정을 만드세요. 결제하면 플랜이 시작됩니다. 첫 결제 후 이용이 켜집니다.

Hobby 시작