Run terminal commands through a proxy.

Choose a country or city and route a shell session or a single command through a proxy. Your other apps and terminals keep their normal connection.

Session=active, Proxy=US residential shellroute
/connect /rotate /status /countries /cities US /iptype /disconnect /exit

Free with your own proxy. Or start with $1 of ours, no card needed.

Open-source CLI · Pay per use · Residential + datacenter proxies

One command, or a whole shell.

Use shellroute run for a single job. Open the interactive shell to stay in a country while you work.

Reproduce what a customer in another country sees.

shellroute interactive mode
~ $ shellroute ● shellroute · not connected · direct traffic ~ ❯ /connect BR Connecting to BR (residential)... ✓ Connected to BR — New IP: 177.45.12.9 ● shellroute br · 177.45.12.9 ~ ❯ curl -s "https://api.example.com/cart/quote?sku=PRO" {"currency": "USD", "total": "49.00"} # The customer was right: Brazil should get BRL.

Run your existing tests from the countries you sell to, locally or in CI.

shellroute run direct mode
~ $ shellroute run DE -- pytest tests/geo -q ........ [100%] 8 passed in 4.2s ✓ shellroute session ended. Duration: 6s Data used: 310 KB Cost: $0.0009 Balance: $9.96

Each shell can have its own country and IP. Everything outside it stays on your normal connection.

What you do today

Checking a country-specific response usually means one of these.

A VPN

  • Moves the whole machine
  • One country at a time
  • Your browser, Slack and other terminals go with it

Proxy credentials by hand

  • Copy host, port, user and password into each tool
  • Env vars here, a config file there, a CI secret somewhere else
  • Clean up afterwards, or forget to

Ask someone in that country

  • Depends on who is online right now
  • You get a screenshot, not a check you can rerun
  • Nothing you can put in a script or CI

With Shellroute, one command gets the country. The proxy details never enter your script.

Your proxy or ours.

Bring your own

Already pay a proxy provider? Add it once and use it from any command. No account, no signup. The password stays in Shellroute's config, not in your script, your shell history or your CI log.

terminal
shellroute upstream add your-proxy-name \
  http://user:pass@gate.provider.com:8080
shellroute run your-proxy-name -- \
  curl -sI https://example.com/

Use ours

No provider yet? Shellroute's built-in routes give you residential or datacenter IPs in 120+ countries. Pay per GB, no subscription. New accounts start with $1 free credit.

terminal
shellroute login
shellroute run DE -- \
  curl -sI https://example.com/

A different country is one command away.

Start Shellroute. Pick a country. Keep working in the terminal.

1

Start Shellroute

shellroute

Opens a proxied shell with your aliases, PATH, and functions.

2

Connect to a country

/connect US

Pick a country. Traffic in this shell now uses the proxy.

3

Run commands normally

curl https://httpbin.org/ip
python3 check_api.py
npm run test

Run curl, Python scripts, test suites, and the rest of your terminal workflow.

A normal shell, through a proxy

Connect once, then run the commands you already use

shellroute interactive mode

Any HTTP or SOCKS5 proxy · Built-in routes in 120+ countries · Residential and datacenter · Metered per session

Shellroute vs the usual setup

One command instead of a VPN or per-tool proxy settings.

Manual proxy VPN Shellroute
Scope Per tool Entire device One shell or command
Setup Env vars, ports, auth App install, server select shellroute run DE
Affects browser Depends Yes No
Parallel countries Manual per tool One at a time Multiple shells
Credentials in scripts Yes No No
Automation Per-tool wiring Manual toggle Script, CI and agent native
Billing Varies Monthly subscription Free with your proxy, per GB with ours

Set the country once. Run commands normally.

Your proxy or ours
Any HTTP, HTTPS or SOCKS5 upstream, or built-in routes.
Residential
From $3/GB. Home IPs in 120+ countries.
Datacenter
From $1/GB. Faster, cheaper for testing.
/rotate
Switch exit IP inside an active session.
--sticky
Keep one proxy identity across commands.
--city
Target supported city-level locations.
--no-stat
Clean output for piping and scripts.

Start proxying your shell.

Open a session, connect a proxy, and run commands normally

Pay per use · Open-source CLI · No contracts