Mehrsprachigkeit (Englisch/Deutsch, Systemsprache oder Auswahl in den Einstellungen), README auf Englisch für Nutzer, Version 0.4.0
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,51 +1,97 @@
|
||||
# MrTerm
|
||||
|
||||
SSH-, SFTP- und RDP-Client im Stil von Termius – Electron + xterm.js + ssh2. Läuft auf Windows und Arch/CachyOS.
|
||||
A modern SSH, SFTP and RDP client for Windows and Arch Linux / CachyOS. All your servers live in one place and open in tabs: terminals, file transfers and remote desktops.
|
||||
|
||||
## 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`
|
||||
MrTerm is available in **English** and **German**. It follows your system language by default, and you can change it under **Settings → Language**.
|
||||
|
||||
## Download & installation
|
||||
|
||||
Get the latest version from the [releases page](https://git.mrblake.cc/MrBlake/MrTerm/releases).
|
||||
|
||||
**Windows**
|
||||
- `MrTerm-Setup-<version>.exe`: installer (recommended)
|
||||
- `MrTerm-<version>-portable.exe`: portable, runs without installation
|
||||
|
||||
**Arch Linux / CachyOS**
|
||||
- `MrTerm-<version>.pacman`: install with
|
||||
```sh
|
||||
sudo pacman -U MrTerm-<version>.pacman
|
||||
```
|
||||
- `MrTerm-<version>.AppImage`: make it executable (`chmod +x`) and run it
|
||||
|
||||
Optional packages on Linux:
|
||||
```sh
|
||||
sudo pacman -S freerdp gnome-keyring # use kwallet instead of gnome-keyring on KDE
|
||||
```
|
||||
`freerdp` is needed for RDP connections. `gnome-keyring` or `kwallet` lets MrTerm encrypt your saved passwords and keys.
|
||||
|
||||
## Features
|
||||
|
||||
- **Hosts**: nested groups, tags, colors, search and Quick Connect (`user@host:port`, `rdp://host`)
|
||||
- **SSH terminal in tabs**: password, key, SSH agent, keyboard-interactive/2FA, jump hosts (ProxyJump chains), startup command, environment variables, search, zoom and several color schemes
|
||||
- **SFTP**: two-pane file browser (local ↔ remote), drag & drop, recursive folders, rename, delete, chmod and progress display
|
||||
- **RDP in a tab** right inside MrTerm (Windows: `mstsc`, Linux: FreeRDP), or in a separate window if you prefer
|
||||
- **Keychain**: generate Ed25519/ECDSA/RSA keys, import existing ones and copy the public key
|
||||
- **Port forwarding**: local (-L), remote (-R) and dynamic/SOCKS5 (-D)
|
||||
- **Snippets**: save frequently used commands and send them to a terminal with one click
|
||||
- **Known hosts**: MrTerm warns you if a server's host key changes
|
||||
- **History** of recent connections
|
||||
- **Import** from `~/.ssh/config` and from **Devolutions Remote Desktop Manager** (`.rdm`/XML, JSON or CSV)
|
||||
- **Backup** export and import
|
||||
- **7 app themes** (Midnight, Navy, Nord, Dracula, Catppuccin, Forest, Light) plus a custom accent color
|
||||
- **Encrypted vault** using your operating system's keyring (Windows DPAPI, Linux libsecret/KWallet)
|
||||
- **Automatic updates**: MrTerm checks for new versions on startup and can install them for you
|
||||
|
||||
## Getting started
|
||||
|
||||
1. Click **New host**, enter the address, username and password or key, and click **Save**.
|
||||
2. Double-click the host to connect. SSH hosts open a terminal, RDP hosts open a remote desktop tab.
|
||||
3. Right-click a host for more options, such as opening SFTP, duplicating it or copying its address.
|
||||
|
||||
For a quick one-off connection, press `Ctrl+Shift+K` and type `user@host` (or `rdp://host`).
|
||||
|
||||
## Keyboard shortcuts
|
||||
|
||||
| Shortcut | Action |
|
||||
|---|---|
|
||||
| `Ctrl+Shift+K` / `Ctrl+Shift+T` | Quick Connect / command palette (outside the terminal also `Ctrl+K`) |
|
||||
| `Ctrl+Shift+W` | Close tab |
|
||||
| `Ctrl+Tab` | Next tab |
|
||||
| `Ctrl+1..9` | Switch to tab |
|
||||
| `Ctrl+Shift+C` / `Ctrl+Shift+V` | Copy / paste in the terminal |
|
||||
| `Ctrl+Shift+F` | Search in the terminal |
|
||||
| `Ctrl` + `+` / `-` / `0` | Font size |
|
||||
|
||||
`Ctrl+W`, `Ctrl+K` and `Ctrl+T` still reach the terminal, so editors like nano work as usual.
|
||||
|
||||
## Updates
|
||||
|
||||
MrTerm looks for updates on startup. You can also check manually under **Settings → Updates**. When a new version is available, click **Install now** and MrTerm will download the right package for your system and restart.
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- **"Vault not encrypted"** (Linux): install `gnome-keyring` or `kwallet` and restart MrTerm.
|
||||
- **RDP doesn't work** (Linux): install FreeRDP with `sudo pacman -S freerdp`. Under **Settings → RDP** you can see which client MrTerm uses and choose another one.
|
||||
- **RDP tab stays empty**: turn off *Show RDP connections as tabs* under **Settings → RDP** to use a separate window instead.
|
||||
|
||||
---
|
||||
|
||||
## For developers
|
||||
|
||||
## Entwicklung
|
||||
```bash
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
> In VS Code-Terminals ggf. vorher `ELECTRON_RUN_AS_NODE` entfernen.
|
||||
In VS Code terminals, unset `ELECTRON_RUN_AS_NODE` first.
|
||||
|
||||
## 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`
|
||||
**Building packages**
|
||||
- Windows: `npm run dist:win` (on Linux, this needs `wine`)
|
||||
- Arch/CachyOS: `npm run dist:linux`
|
||||
|
||||
Abhängigkeiten unter Arch/CachyOS: `sudo pacman -S freerdp gnome-keyring` (oder `kwallet` unter KDE) für RDP bzw. Vault-Verschlüsselung.
|
||||
If the build fails with `EACCES: permission denied`, some files in `node_modules` belong to root. Run `sudo chown -R $USER: node_modules` and don't run npm with `sudo`.
|
||||
|
||||
**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:
|
||||
**Publishing a release**: `./scripts/release-all.sh` asks for the version and release notes, commits and pushes the version, builds Windows + Arch/CachyOS and uploads everything to Gitea. It reads the token from `GITEA_TOKEN` or from `.gitea-token`, which is not committed.
|
||||
|
||||
```sh
|
||||
sudo chown -R $USER: node_modules
|
||||
npm run dist:linux
|
||||
```
|
||||
**Translations** live in [`src/i18n.js`](src/i18n.js). The English text in the code is the key. To add a language, add a dictionary and list it in `LANGUAGES`.
|
||||
|
||||
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
|
||||
|
||||
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`
|
||||
To regenerate the icons after changing the logo, run `npx electron scripts/make-icons.js`.
|
||||
|
||||
Reference in New Issue
Block a user