+
+
+
+ App: {currentVersions.appVersion}
+
+ System: {currentVersions.systemVersion}
+ >
+ ) : (
+ "Loading current versions..."
+ )
+ }
+ />
+
+
+
+
+
+
+
+
+
+ {
+ setHideCursor(e.target.checked);
+ }}
+ />
+
+
+ {
+ handleJigglerChange(e.target.checked);
+ }}
+ />
+
+
+
+
+
console.log("Absolute mouse mode clicked")}
+ >
+
+
+
+
+
+
+ Absolute
+
+
+ Most convenient
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Relative
+
+
+ Coming soon
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ handleStreamQualityChange(e.target.value)}
+ />
+
+
+ {
+ if (e.target.value === "custom") {
+ setEdid("custom");
+ setCustomEdidValue("");
+ } else {
+ handleEDIDChange(e.target.value as string);
+ }
+ }}
+ options={[...edids, { value: "custom", label: "Custom" }]}
+ />
+
+ {customEdidValue !== null && (
+ <>
+
+
setCustomEdidValue(e.target.value)}
+ />
+
+ handleEDIDChange(customEdidValue)}
+ />
+ {
+ setCustomEdidValue(null);
+ handleEDIDChange(defaultEdid);
+ }}
+ />
+
+ >
+ )}
+
+
+ {isOnDevice && (
+ <>
+
+
+
+
+
+
+
+
+
+
+ Cloud Security
+
+
+
+ • End-to-end encryption using WebRTC (DTLS and SRTP)
+ • Zero Trust security model
+ • OIDC (OpenID Connect) authentication
+ • All streams encrypted in transit
+
+
+
+
+ All cloud components are open-source and available on{" "}
+
+ GitHub
+
+ .
+
+
+
+
+
+
+
+
+
+
+
+ {!isAdopted ? (
+
+
+
+ ) : (
+
+
+
+ Your device is adopted to JetKVM Cloud
+
+
+ {
+ if (deviceId) {
+ if (
+ window.confirm(
+ "Are you sure you want to de-register this device?",
+ )
+ ) {
+ deregisterDevice();
+ }
+ } else {
+ notifications.error("No device ID available");
+ }
+ }}
+ />
+
+
+
+ )}
+
+ >
+ )}
+
+ {isOnDevice ? (
+ <>
+
+
+
+
+
+ {localDevice?.authMode === "password" ? (
+ {
+ setLocalAuthModalView("deletePassword");
+ setIsLocalAuthDialogOpen(true);
+ }}
+ />
+ ) : (
+ {
+ setLocalAuthModalView("createPassword");
+ setIsLocalAuthDialogOpen(true);
+ }}
+ />
+ )}
+
+
+ {localDevice?.authMode === "password" && (
+
+ {
+ setLocalAuthModalView("updatePassword");
+ setIsLocalAuthDialogOpen(true);
+ }}
+ />
+
+ )}
+
+
+
+ >
+ ) : null}
+
+
+
+
+
+ {
+ handleAutoUpdateChange(e.target.checked);
+ }}
+ />
+
+
+ {
+ handleDevChannelChange(e.target.checked);
+ }}
+ />
+
+
+
+
+
+
+
+ {
+ setCurrentTheme(e.target.value);
+ handleThemeChange(e.target.value);
+ }}
+ />
+
+
+
+
+
+
+ {
+ settings.backlightSettings.max_brightness = parseInt(e.target.value)
+ handleBacklightSettingsChange(settings.backlightSettings);
+ }}
+ />
+
+ {settings.backlightSettings.max_brightness != 0 && (
+ <>
+
+ {
+ settings.backlightSettings.dim_after = parseInt(e.target.value)
+ handleBacklightSettingsChange(settings.backlightSettings);
+ }}
+ />
+
+
+ {
+ settings.backlightSettings.off_after = parseInt(e.target.value)
+ handleBacklightSettingsChange(settings.backlightSettings);
+ }}
+ />
+
+ >
+ )}
+
+ The display will wake up when the connection state changes, or when touched.
+
+
+ {
+ if (e.target.value === "custom") {
+ setUsbConfigProduct(e.target.value);
+ } else {
+ handleUsbConfigChange(e.target.value as string);
+ }
+ }}
+ options={[...usbConfigs, { value: "custom", label: "Custom" }]}
+ />
+
+ {(usbConfigProduct === "custom") && (
+
+ {
+ setUsbConfigModalView("updateUsbConfig")
+ setIsUsbConfigDialogOpen(true);
+ }}
+ />
+
+ )}
+
+
+
+
+
+
+ handleDevModeChange(e.target.checked)}
+ />
+
+
+ {settings.developerMode && (
+
+
+
handleSSHKeyChange(e.target.value)}
+ placeholder="Enter your SSH public key"
+ />
+
+ The default SSH user is root .
+
+
+
+
+
+ {isOnDevice && (
+
+
+
+
setCloudUrl(e.target.value)}
+ placeholder="https://api.jetkvm.com"
+ />
+
+
+ handleCloudUrlChange(cloudUrl)}
+ />
+
+
+
+ )}
+
+ )}
+
+ {
+ settings.setDebugMode(e.target.checked);
+ }}
+ />
+
+ {settings.debugMode && (
+ <>
+
+ handleUsbEmulationToggle(!usbEmulationEnabled)}
+ />
+
+ >
+ )}
+ {settings.debugMode && (
+
+ {
+ handleResetConfig();
+ window.location.reload();
+ }}
+ />
+
+ )}
+
+
+