Use Cases
Shellroute works wherever developers need controlled, session-scoped proxy access from the terminal.
Geo-testing
Test how websites, APIs, and services behave from specific countries.
# Interactive — open a US shell
shellroute
❯ /connect US
❯ curl https://example.com # see US version
# Or direct — one command
shellroute run --country US -- curl https://example.com QA automation
Run Playwright or Puppeteer tests through country-specific exits.
shellroute run --country DE -- npx playwright test
shellroute run --country JP -- npx playwright test Public web data
Route collection scripts through residential exits for price monitoring, search tracking, and marketplace research.
shellroute run --country US -- python price_monitor.py
shellroute run --country GB -- node collect.js AI agents
Give AI agents, browser agents, and automation scripts per-task proxy access. Each shellroute run gets its own session and exit IP. No code changes in the agent — proxy env vars are inherited automatically.
# Agent checks what US users see
shellroute run --country US -- curl -s https://httpbin.org/ip
# → {"origin": "203.0.113.42"}
# Browser agent through Germany
shellroute run --country DE -- python browser_agent.py
# Parallel agents, different countries
shellroute run --country US -- python task.py --market us &
shellroute run --country JP -- python task.py --market jp &
wait Ad verification
Verify ad placements and landing pages from different geographies.
shellroute run --country BR -- curl https://ads.example.com/verify
shellroute run --country US -- curl https://ads.example.com/verify CI/CD pipelines
Add geo-specific steps to your build pipeline. Set SHELLROUTE_API_KEY as a CI secret — get the key with shellroute reveal-key from a logged-in machine.
env:
SHELLROUTE_API_KEY: ${{ secrets.SHELLROUTE_API_KEY }}
steps:
- run: npm install -g shellroute
- name: Test from US
run: shellroute run US -- npm run test:geo
- name: Test from DE (datacenter)
run: shellroute run --iptype datacenter DE -- npm run test:geo # Or pass key inline (no env var needed)
shellroute --api-key $MY_KEY run US -- npm run test:geo