r/commandline • u/vitascivilis • 2h ago
Command Line Interface Shellroute: a CLI that gives each shell its own proxy route
Enable HLS to view with audio, or disable this notification
Shellroute is an open-source CLI for giving one shell or command its own proxy route.
The video shows three independent terminals. The top stays on my normal connection in Lithuania. The two lower sessions connect to the US and Germany at the same time. Commands inside those sessions use their selected routes while the other terminal stays direct.
Quick start:
npm install -g shellroute
shellroute login
/connect US
curl https://ipinfo.io/ip
On first use, shellroute login creates the account and enters interactive mode. Run commands there normally. Scripts and agents can also route a single command without opening an interactive shell:
shellroute run DE -- curl https://ipinfo.io/ip
Related tools cover different jobs. Globalping is useful for public probes from many locations. Proxychains wraps a process when you already have a proxy. A VPN routes the whole device, while raw proxy credentials give you manual control. The difference here is scope: one shellroute session manages the route for one shell or command while other traffic stays unchanged.
Source: https://github.com/shellroute/shellroute-cli
Quickstart: shellroute.com/docs/quickstart
Disclosure: I built shellroute and run the service it connects to. The CLI code is partially AI-generated.
I am mainly looking for feedback on the proxied shell idea and where the CLI feels confusing.
1
u/kantorcodes1 1h ago
if a shellroute run session loses its proxy while the child process is still running, what happens to the child? does it get killed, or can it keep going with direct networking?
1
u/vitascivilis 1h ago
Short answer: if shellroute confirms that the proxy route is gone, it stops the command. It first gives the command and its child processes five seconds to exit cleanly, then force-stops anything still running. It does not silently switch them to your normal connection.
A temporary proxy error is different. That request fails, but the command stays running so it can retry.
One limitation: shellroute configures programs to use its proxy, but it is not a firewall. If a program ignores proxy settings or has its own "retry without a proxy" behavior, shellroute cannot prevent that program from connecting directly.
1
u/AutoModerator 2h ago
Every new subreddit post is automatically copied into a comment for preservation.
User: vitascivilis, Flair:
Command Line Interface, Post Media Link, Title: Shellroute: a CLI that gives each shell its own proxy routeShellroute is an open-source CLI for giving one shell or command its own proxy route.
The video shows three independent terminals. The top stays on my normal connection in Lithuania. The two lower sessions connect to the US and Germany at the same time. Commands inside those sessions use their selected routes while the other terminal stays direct.
Quick start:
On first use,
shellroute logincreates the account and enters interactive mode. Run commands there normally. Scripts and agents can also route a single command without opening an interactive shell:Related tools cover different jobs. Globalping is useful for public probes from many locations. Proxychains wraps a process when you already have a proxy. A VPN routes the whole device, while raw proxy credentials give you manual control. The difference here is scope: one shellroute session manages the route for one shell or command while other traffic stays unchanged.
Source: https://github.com/shellroute/shellroute-cli
Quickstart: shellroute.com/docs/quickstart
Disclosure: I built shellroute and run the service it connects to. The CLI code is partially AI-generated.
I am mainly looking for feedback on the proxied shell idea and where the CLI feels confusing.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.