All projects

Desktop app · 2026

Zenytt

Your whole server. In one window.

Available

A desktop app to run Linux servers: SSH terminal, files, monitoring, Docker, databases, nginx sites, backups and security audit. Everything goes over SSH: no web panel to install, no port to open. Built to replace PuTTY on my own VPS, it is released as open source.

platforms (Windows, macOS, Linux)
3
ports opened on the server
0
Rust tests
176

What I built

  • SSH terminal on persistent tmux sessions, with tabs and splits, a file panel that follows the working directory, and input broadcast to several servers.
  • Server topology at a glance: subdomain → nginx or Apache vhost → port → container, with TLS certificates and configuration history.
  • Full Docker support: containers, logs, compose projects, a one-click app catalogue, and deployment with automatic rollback.
  • MySQL, PostgreSQL, SQLite and Redis explorer, encrypted restic backups and a security audit with guided fixes.
  • zenyttd, a monitoring agent in Rust (a 2 MB static binary): 30 days of history and Discord alerts, even with the PC switched off.
  • An AI assistant (Claude, OpenAI-compatible or a local model) whose every command is approved, plus a read-only MCP server.
  • Shared terminals and multi-device sync, end-to-end encrypted (AES-256-GCM).
  • Automated releases: signed installers for Windows, macOS and Linux, built-in updates, winget, Homebrew, AUR and Flatpak.

The challenges

01

Never break production

Every nginx write runs the same server-side script: backup, write, nginx -t, reload, and an exact restore on failure. For SSH and the firewall, a control connection stays open and the change reverts itself if it cuts access.

02

One channel: SSH

The agent only listens on a unix socket, queried through the SSH connection. Secrets stay in the OS keychain and never leave the Rust side: the UI never talks to a server directly.

03

Testing against a fake VPS

A Docker-in-Docker environment (sshd, nginx, sudo, fail2ban) is the target of end-to-end tests, run in CI alongside clippy, Rust tests and a dependency audit.

Stack

  • Rust
  • Tauri 2
  • React 19
  • TypeScript
  • SSH / SFTP
  • Docker
  • tmux
  • MCP
Year
2026
Type
Desktop app
Source code
GitHub