Using Outer Loop without Outer Shell
A lot of Outer Loop’s appeal becomes apparent when you let it run Outer Shell, but it is also useful on its own as a standalone remote web app browser. It’s simply a browser where you can access local ports and sockets on remote machines. SSH to a machine, then .
Here is Outer Loop showing a Jupyter Python notebook and a Tensorboard LLM training visualization.
Apps like Jupyter and Tensorboard are not typically visible to standard web browsers if they’re running on remote servers, because it would be terribly unsafe to let the whole internet touch this app. Instead, they run on a local port on the server, which your computer can’t access directly.
Classically, to get access to these, you had to open a new terminal and run:
ssh -L 24601:localhost:8889 mrcslws@lambda4.mycompany.com &
ssh -L 24602:localhost:6006 mrcslws@lambda4.mycompany.com &
then you would navigate to “localhost:24601” and “localhost:24602”. This works, but it’s not a great experience, and it’s not reliable; for example, the connection often breaks if you close your laptop. Additionally, many would consider it insecure, because almost any app or user of your device can now access this port, without needing your SSH credentials.
In Outer Loop, each browser window is connected to a remote server. It can freely access remote ports and sockets. And, in addition to providing this better UI, the web view’s connection to the server is much more reliable in Outer Loop than over the classic “ssh -L”. Outer Loop’s custom SSH engine embraces the transient nature of SSH sessions, rather than assuming that they are stable, which makes everything seamless, even after you close your laptop and reopen it later.