Shellroute capabilities
Open proxied shell sessions, run one-off commands through proxies, rotate IPs, target countries and cities, and keep proxying scoped to the work you are doing.
Commands inside shellroute use the proxy automatically. Everything outside keeps using your normal connection.
Open-source CLI · Prepaid usage · Residential + datacenter proxies
$ shellroute
$ /connect US
✓ Connected — 45.12.67.89
$ curl https://ipinfo.io/ip
45.12.67.89
$ python agent.py One proxy session. Normal commands.
Shellroute gives you a scoped network context for terminal work. Start a session, connect a proxy, then use the commands you already use.
Start shellroute
shellroute
Open an interactive proxied shell with your normal PATH, aliases, and tools.
Connect a proxy
/connect US
Choose a country, proxy type, and optionally a supported city.
Run commands normally
python agent.py
Commands inside the session use the proxy automatically.
Proxy session capabilities
Interactive shell mode
Connect once, then run multiple commands through the same proxy session.
shellroute /connect US curl https://ipinfo.io python script.py npm run test
Best for: local debugging, browser automation, agents, repeated testing.
Direct command mode
Run a single command through a proxy without opening an interactive session.
shellroute run US -- python script.py
Best for: CI jobs, scripts, cron jobs, one-off checks.
Session-scoped proxying
Only the shell or command you start is proxied. Everything else uses your normal connection.
shellroute run DE -- curl https://ipinfo.io
Best for: testing one workflow without changing your whole machine.
Country and city targeting
Choose the geography for a session using country and supported city options.
shellroute run --country US \ --city "New York" -- curl https://example.com
Best for: geo-testing, localized APIs, region-specific QA.
Residential and datacenter proxies
Use residential routes for consumer-like IPs, or datacenter routes for faster, lower-cost testing.
shellroute run --iptype residential US -- python agent.py shellroute run --iptype datacenter US -- npm test
Best for: choosing between realism, speed, and cost.
IP rotation
Rotate the proxy inside an active session when you need a fresh route.
/rotate
Best for: testing different network contexts without restarting.
Sticky sessions
Keep one proxy identity across related commands when consistency matters.
shellroute run --sticky US -- python checkout_test.py
Best for: multi-step tests, authenticated flows, browser sessions.
Usage metering
See how much traffic a session used and what it cost.
Session ended. Duration: 2m 14s Data used: 18.7 MB Cost: $0.0187
Best for: prepaid workflows, CI cost control, debugging traffic.
Two ways to route terminal work
Use interactive mode for a proxied shell. Use direct mode to wrap one command.
| Mode | Command | Best for |
|---|---|---|
| Interactive | shellroute → /connect US | Agents, browser tests, repeated commands |
| Direct | shellroute run US -- cmd | CI, scripts, cron, one-off checks |
shellroute
/connect US
python agent.py
npm run test
/disconnect shellroute run US -- npm test Proxy only the work you choose
A VPN changes the network path for your whole machine. Manual proxy setup changes each tool separately. Shellroute scopes proxying to the session or command you start.
| Normal browser | Not affected |
| Other terminals | Not affected |
| shellroute session | Proxied |
| shellroute run | Proxied for that command only |
Stop wiring proxy credentials into every tool
Different tools handle proxies differently. Shellroute moves proxy setup to the shell level, so curl, Python, Node.js, and agent scripts run inside the same proxied context. Playwright and Puppeteer need one config line to read the proxy from the shell.
export HTTP_PROXY=http://user:pass@proxy:8080
export HTTPS_PROXY=http://user:pass@proxy:8080
python script.py
unset HTTP_PROXY HTTPS_PROXY shellroute
/connect US
python script.py Leak protection on tunnel failure
If the proxy tunnel drops, traffic fails instead of silently falling back to your normal connection. Session traffic does not leak outside the selected proxy route.
Built for scripts and CI
Direct mode wraps a single command in a proxy session. One test, script, or CI step — without changing the whole runner.
env:
SHELLROUTE_API_KEY: ${{ secrets.SHELLROUTE_API_KEY }}
steps:
- run: npm install -g shellroute
- run: shellroute run US -- npm test Where shellroute fits
| Use case | Capability | Example |
|---|---|---|
| Geo-testing | Country/city targeting | shellroute run DE -- curl example.com |
| Playwright tests | Interactive or direct (one config line) | shellroute run US -- npx playwright test |
| Python scripts | Interactive or direct | shellroute run US -- python script.py |
| CI jobs | Direct mode | shellroute run US -- npm test |
| AI agents | Interactive shell | shellroute → /connect US → python agent.py |
| Public web data | Residential proxies | shellroute run --iptype residential US -- python collect.py |
| API localization | Country targeting | shellroute run FR -- curl api.example.com |
What this replaces
Manual proxy env vars
No need to export and unset proxy credentials around each command.
Per-tool proxy config
Avoid configuring proxies separately in curl, Python, Node.js, and most CLI tools. Playwright and Puppeteer need one config line.
Whole-machine VPN routing
Keep your browser, other terminals, and system processes on your normal connection.
Proxy dashboard copy-paste
Choose country, type, rotation, and session behavior from the CLI.
Built for legitimate developer workflows
Shellroute is designed for geo-testing, QA automation, public web data workflows, CI jobs, and agent testing. Use it responsibly and follow applicable laws, site terms, and the Acceptable Use Policy.
FAQ
Is shellroute a VPN?
No. Shellroute does not route your whole machine. It scopes proxying to the shell session or command you start.
Do I need to configure HTTP_PROXY myself?
No. Start a shellroute session or wrap a command with shellroute run, and the command uses the proxy automatically.
What is the difference between interactive and direct mode?
Interactive mode opens a proxied shell for multiple commands. Direct mode wraps one command in a proxy session and exits when the command finishes.
Does shellroute affect my browser?
Only if you launch the browser from inside a shellroute session. Your normal browser outside the session keeps using your normal connection.
When should I use residential vs datacenter proxies?
Use datacenter proxies for faster, lower-cost testing. Use residential proxies for workflows where a consumer-like IP type is important.
Can I use shellroute in CI?
Yes. Direct mode is designed for scripts, CI jobs, and one-off commands. Set SHELLROUTE_API_KEY as a CI secret.
How is usage billed?
Prepaid usage-based billing. Residential from $3/GB, datacenter from $1/GB. No subscriptions.
Start with one proxied command.
Install shellroute, connect a proxy, and run your first terminal command through a scoped proxy session.
shellroute run US -- curl https://ipinfo.io