Self-hosted SSH + SFTP + RDP in a browser — MobaXterm replacement
Go to file
Vantz Stockwell e1be07f34c feat: session tabs with home nav, popup Monaco editor, drag-and-drop upload
Multi-session tabs + home navigation:
- Tab bar with Home button persists above sessions
- Clicking Home shows the underlying page (hosts, vault, etc.)
- Clicking a session tab switches back to that session
- Header nav links also trigger home view
- Sessions stay alive in background when viewing home

Monaco editor in popup window:
- Opening a file in SFTP launches a detached popup with Monaco
- Full syntax highlighting, minimap, Ctrl+S save
- File tree stays visible while editing
- Toolbar with save/close buttons and dirty indicator

Drag-and-drop upload:
- Drop files anywhere on the SFTP sidebar to upload
- Visual overlay with dashed border on drag-over
- Supports multiple files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 13:20:40 -04:00
backend feat: multi-user isolation with admin/user roles 2026-03-14 12:57:38 -04:00
docs/superpowers fix: plan — async host key verification via ssh2 verify callback 2026-03-12 17:02:20 -04:00
frontend feat: session tabs with home nav, popup Monaco editor, drag-and-drop upload 2026-03-14 13:20:40 -04:00
images feat: convert Settings to right sidebar panel, remove light mode 2026-03-13 10:25:24 -04:00
.env.example feat: project scaffold — Docker, NestJS, Nuxt 3, Prisma config 2026-03-12 17:05:37 -04:00
.gitignore fix: inline modals in index.vue, proper DTO for profile update 2026-03-13 09:09:05 -04:00
docker-compose.yml fix(rdp): correct guacd debug entrypoint override 2026-03-14 05:58:13 -04:00
Dockerfile fix: correct dist path (dist/src/main.js), static path, explicit schema for migrate 2026-03-13 08:23:52 -04:00
README.md feat: project scaffold — Docker, NestJS, Nuxt 3, Prisma config 2026-03-12 17:05:37 -04:00
Remote-Spec.md docs: Wraith spec + implementation plan 2026-03-12 16:59:34 -04:00

Wraith

Self-hosted MobaXterm replacement — SSH + SFTP + RDP in a browser.

Stack

  • Backend: NestJS 10, Prisma 6, PostgreSQL 16, ssh2, guacd
  • Frontend: Nuxt 3 (SPA), PrimeVue 4, Tailwind CSS, xterm.js 5

Quick Start

cp .env.example .env
# Edit .env with real secrets

docker compose up -d

Default credentials: admin@wraith.local / wraith

Development

# Backend
cd backend && npm install && npm run dev

# Frontend
cd frontend && npm install && npm run dev