Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 viacmdkey), 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ßenStrg+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_NODEentfernen.
Pakete bauen
- Windows (auf Windows):
npm run dist:win→ Installer + Portable indist/ - Arch/CachyOS (auf Linux):
npm run dist:linux→ AppImage +.pacman-Paket; installieren mitsudo 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)
- Version in
package.jsonerhöhen - Auf jeder Plattform bauen (
npm run dist:winbzw.npm run dist:linux) GITEA_TOKEN=<token> npm run release -- --notes "Was ist neu"– legt das Releasev<version>an und lädt die Pakete hoch
Oder alles in einem Schritt unter Linux (Windows-Build per wine): ./scripts/release-all.sh – fragt nach Version und Notizen, committet/pusht die Version, baut Windows + Arch/CachyOS und lädt hoch. Token aus GITEA_TOKEN oder .gitea-token (nicht eingecheckt).
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