feat: convert ssh tunnels into a plugin

This commit is contained in:
LukeGus committed 2026-09-23 17:27:28 -05:00
1 parent c85c1fdb86
commit 1682861853
220 files changed
+36928 -11374

No files matched your search

+3 -130
View File
@@ -671,7 +671,6 @@
"home": "Home",
"terminal": "Terminale",
"localTerminal": "Terminale locale",
"tunnels": "Tunnel",
"fileManager": "Gestione file",
"serverStats": "Metriche host",
"admin": "Admin",
@@ -714,7 +713,6 @@
"macros": "Macro",
"hostManager": "Gestione host",
"credentials": "Credenziali",
"portForwarding": "Inoltro",
"connections": "Connessioni",
"serial": "Seriale",
"keepSideMenuOpen": "Mantieni il menu aperto",
@@ -765,7 +763,6 @@
"tabTerminal": "Terminale",
"tabRdp": "RDP",
"tabVnc": "VNC",
"tabTunnels": "Tunnel",
"tabStats": "Metriche host",
"tabTelnet": "Telnet",
"tabSharing": "Condivisione",
@@ -1071,31 +1068,8 @@
"startupSnippetLabel": "Frammento di avvio",
"keepaliveIntervalLabel": "Intervallo keepalive (secondi)",
"maxKeepaliveMisses": "Numero massimo di mancate keepalive",
"tunnelSettings": "Impostazioni tunnel",
"enableTunneling": "Abilita tunneling",
"enableTunnelingDesc": "Abilita la funzionalità di tunnel SSH per questo host",
"serverTunnelsSection": "Tunnel server",
"addTunnelBtn": "Aggiungi tunnel",
"noTunnelsConfigured": "Nessun tunnel configurato.",
"tunnelLabel": "Tunnel {{number}}",
"tunnelType": "Tipo di tunnel",
"tunnelModeLocalDesc": "Inoltra una porta locale a una porta sul server remoto (o a un host raggiungibile da esso).",
"tunnelModeRemoteDesc": "Inoltra una porta sul server remoto verso una porta locale sulla tua macchina.",
"tunnelModeDynamicDesc": "Crea un proxy SOCKS5 su una porta locale per il port forwarding dinamico.",
"sameHost": "Questo host (tunnel diretto)",
"endpointHost": "Host di destinazione",
"endpointHostPlaceholder": "Stesso host, host SSH o host/IP raggiungibile",
"endpointPort": "Porta di destinazione",
"bindHost": "Host di bind",
"sourcePort": "Porta sorgente",
"maxRetries": "Tentativi massimi",
"retryIntervalS": "Intervallo tentativi (s)",
"autoStartLabel": "Avvio automatico",
"autoStartDesc": "Connetti automaticamente questo tunnel all'avvio dell'host",
"tunnelConnecting": "Connessione tunnel in corso...",
"tunnelDisconnected": "Tunnel disconnesso",
"failedToConnectTunnel": "Connessione fallita",
"failedToDisconnectTunnel": "Disconnessione fallita",
"enableTmuxMonitor": "Abilita Monitor Tmux",
"enableTmuxMonitorDesc": "Mostra questo host nel Monitor Tmux e aggiungi le sue azioni tmux alla barra laterale",
"enableTerminalToolbar": "Abilita la barra degli strumenti del terminale",
@@ -1326,12 +1300,9 @@
"refreshBtn": "Aggiorna",
"addTag": "Aggiungi tag...",
"deleteConfirmBtn": "Elimina",
"tunnelRequirementsText": "Il server SSH deve avere GatewayPorts yes, AllowTcpForwarding yes e PermitRootLogin yes impostati in /etc/ssh/sshd_config.",
"deleteHostConfirm": "Eliminare \"{{name}}\"?",
"enableAtLeastOneProtocol": "Abilita almeno un protocollo tra quelli sopra per configurare le impostazioni di autenticazione e connessione.",
"keyPassphrase": "Passphrase della chiave",
"connectBtn": "Connetti",
"disconnectBtn": "Disconnetti",
"basicInformation": "Informazioni di base",
"authDetailsSection": "Dettagli di autenticazione",
"credTypeLabel": "Tipo",
@@ -1952,100 +1923,26 @@
"transferFailedRetryHint": "I dati parziali sono stati conservati sulla destinazione. Il nuovo tentativo riprenderà quando la connessione sarà ripristinata."
},
"tunnels": {
"noSshTunnels": "Nessun tunnel SSH",
"createFirstTunnelMessage": "Non hai ancora creato nessun tunnel SSH. Configura le connessioni tunnel nel Gestore host per iniziare.",
"connected": "Connesso",
"disconnected": "Disconnesso",
"connecting": "Connessione in corso...",
"error": "Errore",
"canceling": "Annullamento in corso...",
"connect": "Connetti",
"disconnect": "Disconnetti",
"cancel": "Annulla",
"port": "Porta",
"localPort": "Porta locale",
"remotePort": "Porta remota",
"destinationPort": "Porto di destinazione",
"currentHostPort": "Porta host corrente",
"endpointPort": "Porta endpoint",
"bindIp": "IP locale",
"localAddress": "Indirizzo locale",
"remoteAddress": "Indirizzo remoto",
"destinationAddress": "Indirizzo di destinazione",
"remoteBindAddress": "Indirizzo di associazione remota",
"intermediateHost": "Host intermedio",
"endpointSshConfig": "Configurazione SSH endpoint",
"endpointSshHost": "Host SSH endpoint",
"endpointSshHostPlaceholder": "Seleziona un host configurato",
"endpointSshHostRequired": "Seleziona un host SSH endpoint per ogni tunnel client.",
"attempt": "Tentativo {{current}} di {{max}}",
"nextRetryIn": "Prossimo tentativo tra {{seconds}} secondi",
"clientTunnels": "Tunnel client",
"clientTunnel": "Tunnel client",
"addClientTunnel": "Aggiungi tunnel client",
"noClientTunnels": "Nessun tunnel client configurato su questo desktop.",
"tunnelName": "Nome tunnel",
"remoteHost": "Host remoto",
"autoStart": "Avvio automatico",
"clientAutoStartDesc": "Si avvia all'apertura del client desktop e rimane connesso.",
"clientManualStartDesc": "Usa Avvia e Arresta da questa riga. Termix non lo avvierà automaticamente.",
"clientRemoteServerNote": "L'inoltro remoto potrebbe richiedere AllowTcpForwarding e GatewayPorts sul server SSH endpoint. La porta remota viene chiusa quando questo desktop si disconnette.",
"clientTunnelStarted": "Tunnel client avviato",
"clientTunnelStopped": "Tunnel client arrestato",
"tunnelTestSucceeded": "Test del tunnel riuscito",
"tunnelTestFailed": "Test del tunnel fallito",
"localSaved": "Tunnel client salvati",
"localSaveError": "Salvataggio dei tunnel client locali non riuscito",
"invalidBindIp": "L'IP locale deve essere un indirizzo IPv4 valido.",
"invalidLocalTargetIp": "L'IP di destinazione locale deve essere un indirizzo IPv4 valido.",
"invalidRemoteAddress": "È necessario un indirizzo remoto.",
"invalidLocalPort": "La porta locale deve essere compresa tra 1 e 65535.",
"invalidRemotePort": "La porta remota deve essere compresa tra 1 e 65535.",
"invalidLocalTargetPort": "La porta di destinazione locale deve essere compresa tra 1 e 65535.",
"invalidEndpointPort": "La porta endpoint deve essere compresa tra 1 e 65535.",
"duplicateAutoStartBind": "Solo un tunnel client con avvio automatico può utilizzare {{bind}}.",
"manualControlError": "Aggiornamento dello stato del tunnel non riuscito.",
"active": "Attivo",
"start": "Avvia",
"stop": "Ferma",
"test": "Verifica",
"type": "Tipo di tunnel",
"typeLocal": "Locale (-L)",
"typeRemote": "Remoto (-R)",
"typeDynamic": "Dinamico (-D)",
"typeServerLocalDesc": "Dall'host attuale all'endpoint.",
"typeServerRemoteDesc": "Dall'endpoint all'host attuale.",
"typeClientLocalDesc": "Dal computer locale all'endpoint.",
"typeClientRemoteDesc": "Dall'endpoint al computer locale.",
"typeClientDynamicDesc": "SOCKS sul computer locale.",
"typeDynamicDesc": "Inoltra traffico SOCKS5 CONNECT via SSH",
"forwardDescriptionServerLocal": "Host attuale {{sourcePort}} → endpoint {{endpointPort}}.",
"forwardDescriptionServerRemote": "Endpoint {{endpointPort}} → host attuale {{sourcePort}}.",
"forwardDescriptionServerDynamic": "SOCKS su host attuale {{sourcePort}}.",
"forwardDescriptionClientLocal": "Locale {{sourcePort}} → remoto {{endpointPort}}.",
"forwardDescriptionClientRemote": "Remoto {{sourcePort}} → locale {{endpointPort}}.",
"forwardDescriptionClientDynamic": "SOCKS su porta locale {{sourcePort}}.",
"summaryClientLocal": "{{localHost}}:{{localPort}} → {{remoteHost}}:{{remotePort}} via {{endpoint}}",
"summaryClientRemote": "{{remoteHost}}:{{remotePort}} su {{endpoint}} → {{localHost}}:{{localPort}}",
"summaryClientDynamic": "{{localHost}}:{{localPort}} → SOCKS via {{endpoint}}",
"autoNameClientLocal": "Locale {{localPort}} → {{endpoint}} {{remotePort}}",
"autoNameClientRemote": "{{endpoint}} {{remotePort}} → locale {{localPort}}",
"autoNameClientDynamic": "SOCKS {{localPort}} via {{endpoint}}",
"route": "Percorso:",
"lastStarted": "Ultimo avvio",
"lastTested": "Ultimo test",
"lastError": "Ultimo errore",
"maxRetries": "Tentativi massimi",
"maxRetriesDescription": "Numero massimo di tentativi.",
"retryInterval": "Intervallo tra tentativi (secondi)",
"retryIntervalDescription": "Tempo di attesa tra i tentativi.",
"local": "Locale",
"remote": "Remoto",
"destination": "Destinazione",
"host": "Host",
"mode": "Modalità",
"noHostSelected": "Nessun host selezionato",
"working": "In corso..."
"remote": "Remoto"
},
"cardGrid": {
"dragToMove": "Trascina per spostare",
@@ -2175,37 +2072,13 @@
},
"profile": {
"c2sTunnelConfigDesc": "Tunnel desktop locale verso host SSH configurati.",
"c2sTunnelPresets": "Preimpostazioni tunnel client",
"c2sTunnelPresetsDesc": "Salva l'elenco dei tunnel locali di questo client desktop come preimpostazione server con nome, oppure carica una preimpostazione in questo client.",
"c2sTunnelPresetsUnavailable": "Le preimpostazioni tunnel client sono disponibili solo nel client desktop.",
"c2sPresetName": "Nome preimpostazione",
"c2sPresetNamePlaceholder": "Nome preimpostazione client",
"c2sPresetToLoad": "Preimpostazione da caricare",
"c2sNoPresetSelected": "Nessuna preimpostazione selezionata",
"c2sNoPresets": "Nessuna preimpostazione salvata",
"c2sLoadPreset": "Carica",
"c2sCurrentLocalConfig": "{{count}} tunnel client locale configurato/i su questo desktop.",
"c2sPresetSyncNote": "Le preimpostazioni sono snapshot espliciti; caricandone una si sostituisce l'elenco dei tunnel client locali di questo desktop.",
"c2sPresetSaved": "Preimpostazione tunnel client salvata",
"c2sPresetLoaded": "Preimpostazione tunnel client caricata localmente",
"c2sPresetRenamed": "Preimpostazione tunnel client rinominata",
"c2sPresetDeleted": "Preimpostazione tunnel client eliminata",
"c2sPresetLoadError": "Caricamento delle preimpostazioni tunnel client non riuscito"
"c2sTunnelPresetsDesc": "Salva l'elenco dei tunnel locali di questo client desktop come preimpostazione server con nome, oppure carica una preimpostazione in questo client."
},
"placeholders": {
"maxRetries": "3",
"retryInterval": "10",
"language": "Lingua",
"keyPassword": "password chiave",
"pastePrivateKey": "Incolla qui la tua chiave privata...",
"localListenerHost": "127.0.0.1 (ascolta localmente)",
"localTargetHost": "127.0.0.1 (destinazione su questo computer)",
"remoteTargetHost": "127.0.0.1 (destinazione dall'endpoint)",
"remoteBindHost": "127.0.0.1 (ascolta sull'endpoint)",
"socksListenerHost": "127.0.0.1 (listener SOCKS)",
"enterPassword": "Inserisci la password",
"defaultPort": "22",
"defaultEndpointPort": "224"
"enterPassword": "Inserisci la password"
},
"dashboard": {
"title": "Dashboard",