mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-08-23 01:36:33 +00:00
Rework [stage]
This commit is contained in:
@@ -6,6 +6,7 @@ import io.xpipe.app.ext.ProcModuleProvider;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.update.AppDistributionType;
|
||||
import io.xpipe.app.util.Base64Helper;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.webtop.WebtopApp;
|
||||
import io.xpipe.app.webtop.WebtopAppListManager;
|
||||
|
||||
@@ -25,24 +26,8 @@ public class XPipeUrlProvider implements LauncherUrlProvider {
|
||||
public AbstractAction createAction(URI uri) throws Exception {
|
||||
var a = uri.getHost();
|
||||
|
||||
if ("mobile-connect".equals(a)) {
|
||||
if (AppDistributionType.get() == AppDistributionType.WEBTOP) {
|
||||
ProcModuleProvider.get().showLocalWebtopMobileConnectDialog();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
if ("webtop-install".equals(a)) {
|
||||
if (AppDistributionType.get() == AppDistributionType.WEBTOP && uri.getPath() != null) {
|
||||
var ids = uri.getPath().split(";");
|
||||
var apps = Arrays.stream(ids).map(s -> WebtopApp.fromString(s)).flatMap(Optional::stream).toList();
|
||||
WebtopAppListManager.get().install(apps);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
if ("webtop-scan".equals(a)) {
|
||||
AppDialog.information("webtopUrlDialog");
|
||||
if (a.equals("webtop")) {
|
||||
ProcModuleProvider.get().openWebtopUrl(uri);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ import javafx.beans.property.Property;
|
||||
|
||||
import io.modelcontextprotocol.spec.McpSchema;
|
||||
|
||||
import java.net.URI;
|
||||
import java.nio.file.Path;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -107,6 +108,8 @@ public abstract class ProcModuleProvider {
|
||||
|
||||
public abstract void showLocalWebtopMobileConnectDialog();
|
||||
|
||||
public abstract void openWebtopUrl(URI uri) throws Exception;
|
||||
|
||||
public abstract void importRdpFile(Path file) throws Exception;
|
||||
|
||||
public abstract BaseRegionBuilder<?, ?> createCustomSshAgentTest();
|
||||
|
||||
@@ -17,7 +17,7 @@ public enum WebtopApp {
|
||||
KEEPER("keeper"),
|
||||
KUBECTL("kubectl"),
|
||||
HCLOUD("hetznerCloud", "hcloud"),
|
||||
NETBIRD("netbird"),
|
||||
NETBIRD("netbird", "netbird", true),
|
||||
OPENBAO("openBao", "openbao"),
|
||||
PROTON_PASS("protonPass", "proton-pass"),
|
||||
TAILSCALE("tailscale", "tailscale", true),
|
||||
|
||||
@@ -226,7 +226,7 @@ public class WebtopAppListManager {
|
||||
|
||||
TerminalLaunch.builder()
|
||||
.title("Install packages")
|
||||
.localScript(ShellScript.lines(command, endCommand))
|
||||
.localScript(ShellScript.lines(command + endCommand))
|
||||
.pauseOnExit(true)
|
||||
.terminal(term)
|
||||
.launch();
|
||||
|
||||
Generated
+2
-2
@@ -2172,8 +2172,8 @@ webtopDeploymentAccessScope=Zugriffsbereich
|
||||
webtopDeploymentAccessScopeDescription=Wie du auf Webtop zugreifen möchtest (beeinflusst die Container-Konfiguration)
|
||||
webtopDeploymentAccessConfig=Zugriffskontrolle
|
||||
webtopDeploymentAccessConfigDescription=Wie du die Zugriffskontrolle bzw. die Sichtbarkeit der Weboberfläche handhaben möchtest
|
||||
webtopAccessVpnType=VPN-Typ
|
||||
webtopAccessVpnTypeDescription=Wenn du bereits eines der unterstützten VPNs nutzt, verbinde den Webtop automatisch damit
|
||||
webtopDeploymentVpnType=VPN-Typ
|
||||
webtopDeploymentVpnTypeDescription=Wenn du bereits eines der unterstützten VPNs nutzt, verbinde den Webtop automatisch damit
|
||||
webtopAccessExposePorts=Ports freigeben
|
||||
webtopAccessExposePortsDescription=Mache Container-Ports von außen zugänglich
|
||||
webtopDeploymentTarget=Ziel
|
||||
|
||||
Generated
+4
-1
@@ -2214,7 +2214,8 @@ saveAs=Save as
|
||||
unlock=Unlock
|
||||
userLoginPasswordManagerDialogTitle=Additional vault unlock method available
|
||||
userLoginPasswordManagerDialogContent=You can now unlock the vault via your password manager as well. Simply click on the gear icon next to the passphrase field and configure the password manager entry.
|
||||
webtopAccessVpnProvider=Connect via existing VPN (System will only be available within VPN)
|
||||
#force
|
||||
webtopAccessVpnProvider=Connect container itself to a VPN (System will only be available within VPN)
|
||||
webtopAccessSelfManaged=Manage access my way (Full control over how ports will be made available)
|
||||
webtopAccessSshAccess=Connect via app key (Only available in app)
|
||||
webtopPreconfiguredDialogTitle=XPipe Webtop
|
||||
@@ -2258,6 +2259,8 @@ webtopConnectHostDirect=Directly reachable host/IP
|
||||
keyAuth=SSH key authentication
|
||||
webtopConnectTailscaleDeviceName=Tailscale device name
|
||||
webtopConnectTailscaleDeviceNameDescription=The device identifier of the webtop system within the tailnet
|
||||
webtopConnectNetbirdPeerName=Netbird peer name
|
||||
webtopConnectNetbirdPeerDescription=The peer name of the webtop system within netbird
|
||||
webtopConnectAuth=Authentication
|
||||
webtopConnectAuthDescription=The authentication method to securely connect to the webtop remotely
|
||||
webtopConnectSshKey=SSH key
|
||||
|
||||
Reference in New Issue
Block a user