nixopus

Terminal

Experience the power of a secure, web-based terminal that brings the convenience of cloud shells to your fingertips. Inspired by VS Code’s terminal and similar to Google Cloud Shell and AWS Cloud Shell, our terminal ensures safe command execution while providing a seamless interface.

Architecture

We have built nixopus terminal using the following architecture:

nixopus-view nixopus-api nixopus-realtime goph ssh XTerm.js React-DOM VPS Nixopus Terminal Architecture User Input Terminal Output WebSocket SSH Protocol Data Stream Secure Connection nixopus-view nixopus-api nixopus-realtime Request Response

Let’s break down how our terminal works. Think of it as a team of three main players working together: the frontend (nixopus-view), the backend (nixopus-api), and our real-time communication hub (nixopus-realtime). The frontend is what you see and interact with - it uses XTerm.js to create that familiar terminal look and feel, while React-DOM helps us build a smooth, responsive interface. When you type commands, they travel through our backend, which uses goph-ssh to securely connect to your VPS. The real-time server keeps everything in sync, making sure your commands and their responses flow smoothly back and forth. We’ve built this whole system with security in mind, so your data stays safe as it moves between these components.

Features

Key Bindings

Resize

Drag the terminal’s top edge to resize, similar to VS Code’s terminal behavior.

Themes and Fonts

The terminal inherits your application’s theme and font settings. Customize them in Theme and Fonts.

Terminal Focus

When the terminal is focused, application shortcuts are disabled to prevent conflicts with terminal commands. For example, CTRL + C sends SIGINT instead of copying.

What’s Coming Next