OuterSSH is a networking stack for tunneling over SSH. Just combine it with a web view or browser.

What can I build with OuterSSH?

  1. Build your own SSH client for any platform.
    • Example: Outer Loop, an SSH client without a built-in terminal, relying purely on browser-based apps tunneling over SSH.
  2. Build your own utility and use your existing browser.
    • Example: The outerssh command line tool, a drop-in replacement for ssh -L and ssh -D.

How does it work?

OuterSSH tunnels over SSH connections. It does something similar to OpenSSH’s ssh -L and ssh -D, but with the following differences:

  • You don’t typically use it from the command line, unless you want to.
  • Its SSH tunneling stack is designed for laptops and mobile. It is robust to disconnection and reconnection.
  • It embraces Unix domain sockets. It relies on a server-side allow-list to decide whether it should connect to them.
  • It supports connecting to root-owned Unix domain sockets, via sudo awareness.

OuterSSH provides an alternative to terminal-based apps. Instead of running an app in a terminal, you connect to ports or socket files on the server. It can be integrated directly into a browser’s source code, or it can be connected to an existing browser or web view by running a small local proxy server.