No description
  • Rust 52%
  • TypeScript 37.9%
  • CSS 3.6%
  • Shell 3.6%
  • Python 2.6%
  • Other 0.2%
Find a file
Tux cec04ce1fe Fix login sequence translations using literal carriage return instead of CR
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-22 21:56:03 +02:00
.claude Update claude skills 2026-04-13 22:38:54 +02:00
.forgejo/workflows Archive with extra files for releases 2026-04-14 15:34:21 +02:00
.vscode Upgrade russh 2026-04-13 22:06:19 +02:00
public Project initialization 2026-03-23 23:34:11 +01:00
src Fix login sequence translations using literal carriage return instead of CR 2026-04-22 21:56:03 +02:00
src-tauri Cascade folder visibility to all descendants and fix shared folder UX 2026-04-22 21:50:20 +02:00
ssh-testlab Fix hadolint warnings in ssh-testlab Dockerfiles 2026-04-21 22:01:33 +02:00
tools Application logging 2026-04-10 09:13:25 +02:00
.gitattributes Git linguist-vendored 2026-04-13 11:24:30 +02:00
.gitignore Project initialization 2026-03-23 23:34:11 +01:00
.prettierignore Claude 2026-03-24 11:33:25 +01:00
.prettierrc.json Claude 2026-03-24 11:33:25 +01:00
ADMIN_GUIDE.md Cascade folder visibility to all descendants and fix shared folder UX 2026-04-22 21:50:20 +02:00
CHANGELOG.md Fix login sequence translations using literal carriage return instead of CR 2026-04-22 21:56:03 +02:00
CLAUDE.md Add public-facing README and move design doc to DESIGN.md 2026-04-21 21:35:48 +02:00
DESIGN.md Fix PostgreSQL startup for DML-only users and harden import dedup 2026-04-22 20:57:39 +02:00
DEVELOPMENT.md Document Windows icon cache issue in common issues section 2026-04-20 21:17:17 +02:00
eslint.config.js Claude 2026-03-24 11:33:25 +01:00
index.html Project initialization 2026-03-23 23:34:11 +01:00
LICENSE Add GPL-3.0 license file and embed screenshot in README 2026-04-21 22:01:26 +02:00
package-lock.json Release 0.11.0 2026-04-22 14:30:38 +02:00
package.json Release 0.11.0 2026-04-22 14:30:38 +02:00
README.md Fix PostgreSQL startup for DML-only users and harden import dedup 2026-04-22 20:57:39 +02:00
RELEASING.md Release 0.9.0 2026-04-13 16:27:19 +02:00
shellstation.png Add GPL-3.0 license file and embed screenshot in README 2026-04-21 22:01:26 +02:00
tsconfig.json Project initialization 2026-03-23 23:34:11 +01:00
tsconfig.node.json Minor refactoring 2026-04-07 16:50:41 +02:00
vite.config.ts Minor refactoring 2026-04-07 16:50:41 +02:00

ShellStation

Cross-platform terminal manager and SSH/Telnet client for network engineers and sysadmins.

ShellStation replaces tools like mRemoteNG and SecureCRT with a modern, open-source alternative that runs on Linux, macOS, and Windows.

ShellStation main interface

Why ShellStation?

Problem ShellStation
mRemoteNG is Windows-only Runs on Linux, macOS, Windows
XML session storage degrades at scale SQLite (local) or PostgreSQL (team) backend
PuTTY dependency for SSH Built-in SSH2 and Telnet — no external tools
Jump host setup is cumbersome First-class ProxyJump chaining with arbitrary hop depth
SecureCRT costs $100+/seat Free and open source
No multi-user session sharing PostgreSQL mode with row-level security for teams

Features

  • Built-in terminal emulator — xterm.js with WebGL rendering, themes, search, ligatures
  • SSH2 and Telnet — password, public key, keyboard-interactive authentication
  • Jump host chaining — connect through multiple bastions (A -> B -> C -> target)
  • Session management — folders, tags, search, drag-and-drop, bulk editing
  • Command broadcast — send commands to multiple sessions simultaneously
  • Import — migrate from mRemoteNG XML, SecureCRT XML, or CSV
  • Credential manager — secrets stored in the OS keychain (Keychain, Secret Service, Credential Manager)
  • Multi-user mode — shared PostgreSQL database with per-user visibility and credential isolation
  • Keyword highlighting — import SecureCRT highlight profiles or create your own
  • Session logging — automatic plain-text logs with ANSI stripping

Installation

Download the latest release for your platform from the Releases page:

  • Linux: .deb or .AppImage
  • macOS: .dmg
  • Windows: .msi

Building from Source

Prerequisites: Rust, Node.js (v18+), and the Tauri prerequisites for your OS.

git clone https://github.com/LuminaApps/shellstation.git
cd shellstation
npm install
npm run tauri build

The built application will be in src-tauri/target/release/bundle/.

Tech Stack

Layer Technology
App shell Tauri 2 (native webview, small binaries)
Backend Rust (async via Tokio)
Frontend React + TypeScript
Terminal xterm.js
SSH russh (pure Rust SSH2)
Database SQLite (single-user) / PostgreSQL (teams) via sqlx

Configuration

ShellStation stores its configuration in the platform config directory:

  • Linux: ~/.config/shellstation/
  • macOS: ~/Library/Application Support/shellstation/
  • Windows: %APPDATA%\shellstation\

PostgreSQL Multi-User Setup

For team deployments with shared session databases, see the PostgreSQL Administration Guide.

Development

# Start the dev server with hot reload
npm run tauri dev

# Lint (must pass before committing)
cd src-tauri && cargo clippy -- -D warnings
cd src-tauri && cargo fmt -- --check
npx eslint .
npx prettier --check "src/**/*.{ts,tsx,css,json}"
npx tsc --noEmit

See DESIGN.md for architecture details, database schema, and the development roadmap.

Contributing

Contributions are welcome. Please ensure all linters pass with zero warnings before submitting a pull request.

License

This project is licensed under the GNU General Public License v3.0.