Add encrypted LAN sync between MrTerm devices: UDP discovery, X25519 pairing with short authentication code, mutually authenticated AES-256-GCM sessions, last-writer-wins merge with deletions, and per-item opt-in for SSH keys, passwords and VPN configurations
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+42
@@ -543,6 +543,48 @@
|
||||
'A static IPv6 configuration needs at least one IPv6 address.': 'Eine statische IPv6-Konfiguration braucht mindestens eine IPv6-Adresse.',
|
||||
|
||||
'Authentication failed for {user}. Check the username, password or key.': 'Anmeldung für {user} fehlgeschlagen. Prüfe Benutzername, Passwort oder Schlüssel.',
|
||||
// Synchronisation
|
||||
'Synchronization': 'Synchronisation',
|
||||
'Synchronize hosts, groups, snippets, port forwards, VPNs and known hosts directly between MrTerm devices in your local network. The connection is end-to-end encrypted; no server or cloud is involved.': 'Hosts, Gruppen, Snippets, Port-Weiterleitungen, VPNs und Known Hosts direkt zwischen MrTerm-Geräten im lokalen Netz abgleichen. Die Verbindung ist Ende-zu-Ende verschlüsselt, ohne Server oder Cloud.',
|
||||
'Enable LAN synchronization': 'LAN-Synchronisation aktivieren',
|
||||
'Device name': 'Gerätename',
|
||||
'No paired devices yet.': 'Noch keine gekoppelten Geräte.',
|
||||
'online': 'online',
|
||||
'offline': 'offline',
|
||||
'last sync {time}': 'zuletzt {time}',
|
||||
'Unpair': 'Entkoppeln',
|
||||
'Unpair device?': 'Gerät entkoppeln?',
|
||||
'“{name}” will no longer synchronize with this device.': '„{name}“ synchronisiert dann nicht mehr mit diesem Gerät.',
|
||||
'Shared secrets: {keys} SSH keys, {pw} host passwords, {vpn} VPN configurations': 'Geteilte Geheimnisse: {keys} SSH-Schlüssel, {pw} Host-Passwörter, {vpn} VPN-Konfigurationen',
|
||||
'Pair new device': 'Neues Gerät koppeln',
|
||||
'Sync now': 'Jetzt synchronisieren',
|
||||
'Synchronized with {n} device(s)': 'Mit {n} Gerät(en) synchronisiert',
|
||||
'Choose shared secrets': 'Geteilte Geheimnisse auswählen',
|
||||
'Devices find each other via UDP port 47811 and synchronize via TCP port 47812. If a firewall is active, allow these ports in your local network (with UFW: sudo ufw allow 47811/udp and sudo ufw allow 47812/tcp).': 'Geräte finden sich über UDP-Port 47811 und synchronisieren über TCP-Port 47812. Ist eine Firewall aktiv, erlaube diese Ports im lokalen Netz (mit UFW: sudo ufw allow 47811/udp und sudo ufw allow 47812/tcp).',
|
||||
'Open “Pair new device” on the other device too, then select it here. Both devices show a code that you confirm on both sides.': 'Öffne „Neues Gerät koppeln“ auch auf dem anderen Gerät und wähle es dann hier aus. Beide Geräte zeigen einen Code, den du auf beiden Seiten bestätigst.',
|
||||
'Or enter an IP address, e.g. 192.168.0.25': 'Oder IP-Adresse eingeben, z. B. 192.168.0.25',
|
||||
'Searching for devices …': 'Suche nach Geräten …',
|
||||
'not ready for pairing': 'nicht bereit zum Koppeln',
|
||||
'Pair': 'Koppeln',
|
||||
'Pairing …': 'Kopple …',
|
||||
'Device found': 'Gerät gefunden',
|
||||
'Choose which secrets this device may send to paired devices. Everything else (hosts, groups, snippets …) is synchronized without passwords and private keys.': 'Wähle, welche Geheimnisse dieses Gerät an gekoppelte Geräte senden darf. Alles andere (Hosts, Gruppen, Snippets …) wird ohne Passwörter und private Schlüssel synchronisiert.',
|
||||
'SSH keys': 'SSH-Schlüssel',
|
||||
'Host passwords': 'Host-Passwörter',
|
||||
'VPN configurations': 'VPN-Konfigurationen',
|
||||
'There are no secrets on this device yet.': 'Auf diesem Gerät gibt es noch keine Geheimnisse.',
|
||||
'Share nothing': 'Nichts teilen',
|
||||
'Select all': 'Alle auswählen',
|
||||
'Paired with {name}': 'Mit {name} gekoppelt',
|
||||
'Confirm pairing': 'Kopplung bestätigen',
|
||||
'Pairing with “{name}”. Does the other device show the same code?': 'Kopplung mit „{name}“. Zeigt das andere Gerät denselben Code?',
|
||||
'Codes differ': 'Codes unterschiedlich',
|
||||
'Codes match': 'Codes stimmen überein',
|
||||
'Pairing was rejected on this device.': 'Die Kopplung wurde auf diesem Gerät abgelehnt.',
|
||||
'Pairing was rejected on the other device.': 'Die Kopplung wurde auf dem anderen Gerät abgelehnt.',
|
||||
'Pairing verification failed.': 'Die Überprüfung der Kopplung ist fehlgeschlagen.',
|
||||
'Device is not ready for pairing': 'Das Gerät ist nicht zum Koppeln bereit',
|
||||
|
||||
// Main-Prozess
|
||||
'Host key has changed!': 'Host-Schlüssel hat sich geändert!',
|
||||
'Unknown host': 'Unbekannter Host',
|
||||
|
||||
Reference in New Issue
Block a user