Files
MrTerm/README.md
T

3.2 KiB
Raw Blame History

MrTerm

SSH-, SFTP- und RDP-Client im Stil von Termius – Electron + xterm.js + ssh2. Läuft auf Windows und Arch/CachyOS.

Funktionen

  • Hosts: Gruppen (verschachtelt), Tags, Farben, Suche, Quick Connect (user@host:port, rdp://host)
  • SSH-Terminal in Tabs: Passwort, Schlüssel, SSH-Agent (Windows OpenSSH / SSH_AUTH_SOCK), Keyboard-Interactive/2FA, Jump-Hosts (ProxyJump-Ketten), Startbefehl, Env-Variablen, Suche, Zoom, 7 Farbschemata
  • SFTP: Dual-Pane (lokal ↔ remote), Drag & Drop, Ordner rekursiv, Umbenennen, Löschen, chmod, Fortschrittsanzeige
  • RDP als Tab direkt in MrTerm (Windows: mstsc eingebettet, Linux: xfreerdp3 via /parent-window unter X11/XWayland), alternativ im eigenen Fenster
  • RDP: Windows → mstsc (Anmeldedaten temporär via cmdkey), Linux → FreeRDP (xfreerdp3/sdl-freerdp3/wlfreerdp3, Passwort über stdin)
  • Keychain: Ed25519/ECDSA/RSA generieren, importieren, Public Key kopieren
  • Port-Forwarding: lokal (-L), remote (-R), dynamisch/SOCKS5 (-D)
  • Snippets, Known Hosts (TOFU, Warnung bei geändertem Schlüssel), Verlauf, ~/.ssh/config-Import, Backup Export/Import
  • Import aus Devolutions Remote Desktop Manager (Einstellungen → Import): Ordnerstruktur, RDP- und SSH-Einträge aus .rdm/XML, JSON oder CSV
  • 7 App-Designs (Midnight, Navy, Nord, Dracula, Catppuccin, Forest, Hell) + frei wählbare Akzentfarbe; Terminal-Schema optional „passend zum Design“
  • Auto-Update aus den Gitea-Releases von https://git.mrblake.cc/MrBlake/MrTerm (Setup-EXE, Portable, AppImage, pacman)
  • Vault verschlüsselt über das OS (Windows DPAPI, Linux libsecret/KWallet)
  • Befehlspalette Strg+Shift+K, Tab schließen Strg+Shift+W (Strg+W/K/T bleiben im Terminal für nano & Co.), Strg+Tab, Strg+1..9, Strg+Shift+C/V/F

Entwicklung

npm install
npm start

In VS Code-Terminals ggf. vorher ELECTRON_RUN_AS_NODE entfernen.

Pakete bauen

  • Windows (auf Windows): npm run dist:win → Installer + Portable in dist/
  • Arch/CachyOS (auf Linux): npm run dist:linux → AppImage + .pacman-Paket; installieren mit sudo pacman -U dist/mrterm-*.pacman

Abhängigkeiten unter Arch/CachyOS: sudo pacman -S freerdp gnome-keyring (oder kwallet unter KDE) für RDP bzw. Vault-Verschlüsselung.

Build bricht mit EACCES: permission denied, unlink 'build/config.gypi' ab (z. B. bei cpu-features): Dateien in node_modules gehören root, meist nach einem npm install oder Build mit sudo. Besitz zurückholen und erneut bauen:

sudo chown -R $USER: node_modules
npm run dist:linux

npm und die Builds danach nicht mehr mit sudo ausführen – nur pacman -U zum Installieren braucht root.

Release veröffentlichen (für Auto-Update)

  1. Version in package.json erhöhen
  2. Auf jeder Plattform bauen (npm run dist:win bzw. npm run dist:linux)
  3. GITEA_TOKEN=<token> npm run release -- --notes "Was ist neu" – legt das Release v<version> an und lädt die Pakete hoch

Installierte Clients prüfen beim Start (und über Einstellungen → Updates) und installieren das passende Paket. Für ein privates Repo in den Einstellungen ein Lese-Token hinterlegen.

Icons neu erzeugen nach Logo-Änderung: npx electron scripts/make-icons.js