logo
Kurashizu Blogwhere ideas flow
  • Home
  • News
  • Blog
  • About
  • Home
  • News
  • Blog
  • About

© 2026 Kurashizu. All rights reserved.

Admin·New Post·Service Status
Powered by Cloudflare·03.11.26
← Back to news

A native graphical shell for SSH

Original article
probablymarcus.com|81 points|39 comments|by mrcslws|Jun 29, 2026

A Native Graphical Shell for SSH

By Marcus Lewis | June 28, 2026

The modern web browser has perfected the interaction model where a server delivers a rich experience to a client. This success suggests a compelling possibility: what if servers and edge devices could provide a browser-based graphical "shell" for remote management?

The Core Concept

In this proposed architecture, every application functions as a miniature HTTP server that serves its own web-based user interface. To ensure these apps can interact, the shell provides a centralized API for URL discovery.

  • Inter-app Communication: Apps can register their roles (e.g., as a text-editor).
  • Workflow: Double-clicking a .txt file in one application would trigger the shell to locate and open that file in the registered editor app.
  • Purpose: These graphical tools serve as a modern alternative to traditional terminal-based utilities.

Technical Architecture

Unlike standard web tools, these servers are designed to be private and isolated from the broader network.

FeatureStandard Web ToolsOuter Shell Approach
Connectionlocalhost portsUnix domain socket files
PermissionsPort-based / FirewallFilesystem-level permissions
EncryptionApp-level (HTTPS/TLS)Handled by the ssh layer
ComplexityHigh (needs security stack)Low (no dependencies)

Because encryption is offloaded to the SSH layer, the individual HTTP servers can remain incredibly lightweight. These apps can be built using standard HTML/JS or as native outerframe apps.

Implementation & Resources

I have integrated this vision into an SSH browser called Outer Loop, and I am now releasing Outer Shell as an open-source project.

Outer Shell Demo Placeholder

Watch the Demo: I've recorded a screencast demonstrating Outer Shell in action and highlighting the untapped potential of this approach. For those who prefer it, there is also a YouTube mirror.

Documentation Hub

Rather than a long-form essay, I've detailed the specifics across three main sites:

  1. The Browser: outerloop.sh (How the client works)
  2. The API: outershell.org (Adding apps to the shell)
  3. Native Apps: outerframe.org (The mechanics of native apps)

Philosophical Reflections

It feels strange that this paradigm hasn't emerged sooner. For years, the ability for browsers to connect to Unix sockets was dismissed as too niche. However, when combined with ssh and sudo awareness, it unlocks a completely different "tech tree."

We should stop trying to force conventional local graphical operating systems onto Linux servers and instead provide them with "outer" graphical shells tailored for remote access.

In a different version of history, we would have spent decades building this ecosystem with HTML and JavaScript. We saw early attempts with tools like Jupyter and Tensorboard, but they each implemented their own fragmented security protocols.

Now, the opportunity is even greater because we can move beyond the browser to truly native apps. With the assistance of AI in code generation, maintaining platform-specific codebases is now feasible.

Modern Web Architecture={HTMLfor reading/casual useNative Appsfor professional productivity\text{Modern Web Architecture} = \begin{cases} \text{HTML} & \text{for reading/casual use} \\ \text{Native Apps} & \text{for professional productivity} \end{cases}Modern Web Architecture={HTMLNative Apps​for reading/casual usefor professional productivity​

Getting Started Checklist

  • Explore the Outer Shell documentation.
  • Install the open-source shell.
  • Experiment with native outerframe apps.
  • Integrate with existing SSH workflows.

Special thanks to Rosanne Liu, Mirko Klukas, Adam Zethraeus, and Felix Andrews for their feedback on the drafts and screencast.