feat: replace QR remote pairing with encrypted LAN discovery
Replace session ID + PIN auth with HKDF-derived home secret and per-session AES-256-GCM encrypted channel. Auto-start remote server on host devices, auto-discover hosts via authenticated UDP broadcast.
This commit is contained in:
+23
-33
@@ -238,7 +238,9 @@
|
||||
"player": "Player",
|
||||
"subtitlesAndConfig": "Subtitles & Configuration",
|
||||
"seekAndTiming": "Seek & Timing",
|
||||
"behavior": "Behavior"
|
||||
"behavior": "Behavior",
|
||||
"companionRemoteServer": "Companion Remote Server",
|
||||
"companionRemoteServerDescription": "Mobilgeräten in deinem Netzwerk erlauben, diese App zu steuern"
|
||||
},
|
||||
"search": {
|
||||
"hint": "Filme, Serien, Musik suchen...",
|
||||
@@ -778,47 +780,35 @@
|
||||
"controlDesktop": "Ein Desktop-Gerät steuern",
|
||||
"connectedTo": "Verbunden mit ${name}",
|
||||
"session": {
|
||||
"creatingSession": "Fernsteuerungssitzung wird erstellt...",
|
||||
"failedToCreate": "Fernsteuerungssitzung konnte nicht erstellt werden:",
|
||||
"noSession": "Keine Sitzung verfügbar",
|
||||
"scanQrCode": "QR-Code scannen",
|
||||
"orEnterManually": "Oder manuell eingeben",
|
||||
"startingServer": "Remote-Server wird gestartet...",
|
||||
"failedToCreate": "Remote-Server konnte nicht gestartet werden:",
|
||||
"hostAddress": "Host-Adresse",
|
||||
"sessionId": "Sitzungs-ID",
|
||||
"pin": "PIN",
|
||||
"connected": "Verbunden",
|
||||
"waitingForConnection": "Warte auf Verbindung...",
|
||||
"serverRunning": "Remote-Server aktiv",
|
||||
"serverStopped": "Remote-Server gestoppt",
|
||||
"serverRunningDescription": "Mobilgeräte in deinem Netzwerk können diese App finden und sich verbinden",
|
||||
"serverStoppedDescription": "Starte den Server, um Mobilgeräten die Verbindung zu ermöglichen",
|
||||
"usePhoneToControl": "Verwende dein Mobilgerät, um diese App zu steuern",
|
||||
"copiedToClipboard": "${label} in Zwischenablage kopiert",
|
||||
"copyToClipboard": "In Zwischenablage kopieren",
|
||||
"newSession": "Neue Sitzung",
|
||||
"startServer": "Server starten",
|
||||
"stopServer": "Server stoppen",
|
||||
"minimize": "Minimieren"
|
||||
},
|
||||
"pairing": {
|
||||
"scan": "Scannen",
|
||||
"manual": "Manuell",
|
||||
"pairWithDesktop": "Mit Desktop koppeln",
|
||||
"enterSessionDetails": "Gib die Sitzungsdetails ein, die auf deinem Desktop-Gerät angezeigt werden",
|
||||
"pairWithDesktop": "Mit Desktop verbinden",
|
||||
"discoveryDescription": "Geräte in deinem Netzwerk, die Plezy mit demselben Plex-Konto nutzen, erscheinen automatisch",
|
||||
"hostAddressHint": "192.168.1.100:48632",
|
||||
"sessionIdHint": "8-stellige Sitzungs-ID eingeben",
|
||||
"pinHint": "6-stellige PIN eingeben",
|
||||
"connecting": "Verbinde...",
|
||||
"tips": "Tipps",
|
||||
"tipDesktop": "Öffne Plezy auf deinem Desktop und aktiviere Companion Remote in den Einstellungen oder im Menü",
|
||||
"tipScan": "Verwende den Scannen-Tab, um dich schnell per QR-Code auf deinem Desktop zu koppeln",
|
||||
"tipWifi": "Stelle sicher, dass beide Geräte im selben WiFi-Netzwerk sind",
|
||||
"cameraPermissionRequired": "Kameraberechtigung wird zum Scannen von QR-Codes benötigt.\nBitte erteile den Kamerazugriff in den Geräteeinstellungen.",
|
||||
"cameraError": "Kamera konnte nicht gestartet werden: ${error}",
|
||||
"scanInstruction": "Richte deine Kamera auf den QR-Code auf deinem Desktop",
|
||||
"invalidQrCode": "Ungültiges QR-Code-Format",
|
||||
"connecting": "Verbinden...",
|
||||
"searchingForDevices": "Suche nach Geräten...",
|
||||
"noDevicesFound": "Keine Geräte in deinem Netzwerk gefunden",
|
||||
"noDevicesHint": "Stelle sicher, dass Plezy auf deinem Desktop geöffnet ist und beide Geräte im selben WLAN sind",
|
||||
"availableDevices": "Verfügbare Geräte",
|
||||
"manualConnection": "Manuelle Verbindung",
|
||||
"cryptoInitFailed": "Sichere Verbindung konnte nicht initialisiert werden. Stelle sicher, dass du bei einem Plex-Konto angemeldet bist.",
|
||||
"validationHostRequired": "Bitte Host-Adresse eingeben",
|
||||
"validationHostFormat": "Format muss IP:Port sein (z.B. 192.168.1.100:48632)",
|
||||
"validationSessionIdRequired": "Bitte Sitzungs-ID eingeben",
|
||||
"validationSessionIdLength": "Sitzungs-ID muss 8 Zeichen lang sein",
|
||||
"validationPinRequired": "Bitte PIN eingeben",
|
||||
"validationPinLength": "PIN muss 6 Ziffern haben",
|
||||
"connectionTimedOut": "Zeitüberschreitung. Bitte Sitzungs-ID und PIN überprüfen.",
|
||||
"sessionNotFound": "Sitzung nicht gefunden. Bitte Zugangsdaten überprüfen.",
|
||||
"connectionTimedOut": "Verbindung abgelaufen. Stelle sicher, dass beide Geräte im selben Netzwerk sind.",
|
||||
"sessionNotFound": "Gerät nicht gefunden. Stelle sicher, dass Plezy auf dem Host läuft.",
|
||||
"authFailed": "Authentifizierung fehlgeschlagen. Stelle sicher, dass beide Geräte dasselbe Plex-Konto verwenden.",
|
||||
"failedToConnect": "Verbindung fehlgeschlagen: ${error}"
|
||||
},
|
||||
"remote": {
|
||||
|
||||
Reference in New Issue
Block a user