ZacharyZcR 94651107c1 Fix RBAC role system bugs and improve UX (#446)
* Fix RBAC role system bugs and improve UX

- Fix user list dropdown selection in host sharing
- Fix role sharing permissions to include role-based access
- Fix translation template interpolation for success messages
- Standardize system roles to admin and user only
- Auto-assign user role to new registrations
- Remove blocking confirmation dialogs in modal contexts
- Add missing i18n keys for common actions
- Fix button type to prevent unintended form submissions

* Enhance RBAC system with UI improvements and security fixes

- Move role assignment to Users tab with per-user role management
- Protect system roles (admin/user) from editing and manual assignment
- Simplify permission system: remove Use level, keep View and Manage
- Hide Update button and Sharing tab for view-only/shared hosts
- Prevent users from sharing hosts with themselves
- Unify table and modal styling across admin panels
- Auto-assign system roles on user registration
- Add permission metadata to host interface

* Add empty state message for role assignment

- Display helpful message when no custom roles available
- Clarify that system roles are auto-assigned
- Add noCustomRolesToAssign translation in English and Chinese

* fix: Prevent credential sharing errors for shared hosts

- Skip credential resolution for shared hosts with credential authentication
  to prevent decryption errors (credentials are encrypted per-user)
- Add warning alert in sharing tab when host uses credential authentication
- Inform users that shared users cannot connect to credential-based hosts
- Add translations for credential sharing warning (EN/ZH)

This prevents authentication failures when sharing hosts configured
with credential authentication while maintaining security by keeping
credentials isolated per user.

* feat: Improve rbac UI and fixes some bugs

---------

Co-authored-by: Luke Gustafson <88517757+LukeGus@users.noreply.github.com>
Co-authored-by: LukeGus <bugattiguy527@gmail.com>
2025-12-19 20:13:36 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-26 19:44:19 -06:00
2025-11-05 10:36:16 -06:00
2025-11-26 19:44:19 -06:00
2025-11-26 19:44:19 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-11-05 10:36:16 -06:00
2025-10-03 00:02:10 -05:00
2025-09-12 14:42:00 -05:00
2025-11-05 10:36:16 -06:00
2025-09-12 14:42:00 -05:00
2025-11-05 10:36:16 -06:00
2025-08-07 02:20:27 -05:00
2025-09-12 14:42:00 -05:00
2025-11-17 09:46:05 -06:00
2025-10-12 01:33:30 -05:00
2025-09-12 14:42:00 -05:00
2025-09-12 14:42:00 -05:00
2025-11-17 09:46:05 -06:00
2025-11-05 10:36:16 -06:00

Repo Stats

English English | 中文 中文

GitHub Repo stars GitHub forks GitHub Release Discord

Repo of the Day Achievement
Achieved on September 1st, 2025

Top Technologies

React Badge TypeScript Badge Node.js Badge Vite Badge Tailwind CSS Badge Docker Badge SQLite Badge Radix UI Badge


Termix Banner

If you would like, you can support the project here!
GitHub Sponsor

Overview

Termix Banner

Termix is an open-source, forever-free, self-hosted all-in-one server management platform. It provides a multi-platform solution for managing your servers and infrastructure through a single, intuitive interface. Termix offers SSH terminal access, SSH tunneling capabilities, and remote file management, with many more tools to come. Termix is the perfect free and self-hosted alternative to Termius available for all platforms.

Features

  • SSH Terminal Access - Full-featured terminal with split-screen support (up to 4 panels) with a browser-like tab system. Includes support for customizing the terminal including common terminal themes, fonts, and other components
  • SSH Tunnel Management - Create and manage SSH tunnels with automatic reconnection and health monitoring
  • Remote File Manager - Manage files directly on remote servers with support for viewing and editing code, images, audio, and video. Upload, download, rename, delete, and move files seamlessly
  • SSH Host Manager - Save, organize, and manage your SSH connections with tags and folders, and easily save reusable login info while being able to automate the deployment of SSH keys
  • Server Stats - View CPU, memory, and disk usage along with network, uptime, and system information on any SSH server
  • Dashboard - View server information at a glance on your dashboard
  • User Authentication - Secure user management with admin controls and OIDC and 2FA (TOTP) support. View active user sessions across all platforms and revoke permissions. Link your OIDC/Local accounts together.
  • Database Encryption - Backend stored as encrypted SQLite database files. View docs for more.
  • Data Export/Import - Export and import SSH hosts, credentials, and file manager data
  • Automatic SSL Setup - Built-in SSL certificate generation and management with HTTPS redirects
  • Modern UI - Clean desktop/mobile-friendly interface built with React, Tailwind CSS, and Shadcn
  • Languages - Built-in support for English, Chinese, German, and Portuguese
  • Platform Support - Available as a web app, desktop application (Windows, Linux, and macOS), and dedicated mobile/tablet app for iOS and Android.
  • SSH Tools - Create reusable command snippets that execute with a single click. Run one command simultaneously across multiple open terminals.
  • Command History - Auto-complete and view previously ran SSH commands
  • Command Palette - Double tap left shift to quickly access SSH connections with your keyboard
  • SSH Feature Rich - Supports jump hosts, warpgate, TOTP based connections, etc.

Planned Features

See Projects for all planned features. If you are looking to contribute, see Contributing.

Installation

Supported Devices:

  • Website (any modern browser on any platform like Chrome, Safari, and Firefox)
  • Windows (x64/ia32)
    • Portable
    • MSI Installer
    • Chocolatey Package Manager
  • Linux (x64/ia32)
    • Portable
    • AppImage
    • Deb
    • Flatpak
  • macOS (x64/ia32 on v12.0+)
    • Apple App Store
    • DMG
    • Homebrew
  • iOS/iPadOS (v15.1+)
    • Apple App Store
    • ISO
  • Android (v7.0+)
    • Google Play Store
    • APK

Visit the Termix Docs for more information on how to install Termix on all platforms. Otherwise, view a sample Docker Compose file here:

services:
  termix:
    image: ghcr.io/lukegus/termix:latest
    container_name: termix
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - termix-data:/app/data
    environment:
      PORT: "8080"

volumes:
  termix-data:
    driver: local

Support

If you need help or want to request a feature with Termix, visit the Issues page, log in, and press New Issue. Please be as detailed as possible in your issue, preferably written in English. You can also join the Discord server and visit the support channel, however, response times may be longer.

Show-off

Termix Demo 1 Termix Demo 2

Termix Demo 3 Termix Demo 4

Termix Demo 5 Termix Demo 6

Termix Demo 7

Videos and images may be out of date.

License

Distributed under the Apache License Version 2.0. See LICENSE for more information.

Description
Termix is a web-based server management platform with SSH terminal, tunneling, and file editing capabilities.
Readme 462 MiB
2026-01-01 04:20:12 +00:00
Languages
TypeScript 98.4%
JavaScript 0.8%
CSS 0.3%
Shell 0.3%