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": "Start",
"terminal": "Terminal",
"localTerminal": "Terminal lokalny",
"tunnels": "Tunele",
"fileManager": "Menedżer plików",
"serverStats": "Metryki hosta",
"admin": "Administracja",
@@ -714,7 +713,6 @@
"macros": "Makra",
"hostManager": "Menedżer hostów",
"credentials": "Poświadczenia",
"portForwarding": "Przekierowanie",
"connections": "Połączenia",
"serial": "Port szeregowy",
"keepSideMenuOpen": "Zachowaj otwarte menu",
@@ -765,7 +763,6 @@
"tabTerminal": "Terminal",
"tabRdp": "RDP",
"tabVnc": "VNC",
"tabTunnels": "Tunele",
"tabStats": "Metryki hosta",
"tabTelnet": "Telnet",
"tabSharing": "Udostępnianie",
@@ -1071,31 +1068,8 @@
"startupSnippetLabel": "Snippet startowy",
"keepaliveIntervalLabel": "Interwał utrzymywania połączenia (sekundy)",
"maxKeepaliveMisses": "Maks. pominiętych keepalive",
"tunnelSettings": "Ustawienia tunelu",
"enableTunneling": "Włącz tunelowanie",
"enableTunnelingDesc": "Włącz funkcjonalność tunelu SSH dla tego hosta",
"serverTunnelsSection": "Tunele serwerowe",
"addTunnelBtn": "Dodaj tunel",
"noTunnelsConfigured": "Nie skonfigurowano żadnych tuneli.",
"tunnelLabel": "Tunel {{number}}",
"tunnelType": "Typ tunelu",
"tunnelModeLocalDesc": "Przekieruj port lokalny do portu na serwerze zdalnym (lub do hosta, do którego można uzyskać dostęp z tego serwera).",
"tunnelModeRemoteDesc": "Przekieruj port na serwerze zdalnym z powrotem do portu lokalnego na swoim komputerze.",
"tunnelModeDynamicDesc": "Utwórz serwer proxy SOCKS5 na porcie lokalnym w celu dynamicznego przekierowywania portów.",
"sameHost": "Ten host (tunel bezpośredni)",
"endpointHost": "Host punktu końcowego",
"endpointHostPlaceholder": "Ten sam host, host SSH lub dostępny host/adres IP",
"endpointPort": "Port końcowy",
"bindHost": "Host nasłuchu",
"sourcePort": "Port źródłowy",
"maxRetries": "Maksymalna liczba ponownych prób",
"retryIntervalS": "Interwał ponawiania (s)",
"autoStartLabel": "Autostart",
"autoStartDesc": "Automatycznie połącz ten tunel po załadowaniu hosta",
"tunnelConnecting": "Łączenie tunelu...",
"tunnelDisconnected": "Tunel rozłączony",
"failedToConnectTunnel": "Nie udało się połączyć",
"failedToDisconnectTunnel": "Nie udało się rozłączyć",
"enableTmuxMonitor": "Włącz monitor Tmux",
"enableTmuxMonitorDesc": "Pokaż tego hosta w monitorze Tmux i dodaj jego akcje tmux do paska bocznego",
"enableTerminalToolbar": "Włącz pasek narzędzi terminala",
@@ -1326,12 +1300,9 @@
"refreshBtn": "Odśwież",
"addTag": "Dodaj tagi...",
"deleteConfirmBtn": "Usuń",
"tunnelRequirementsText": "Serwer SSH musi mieć w /etc/ssh/sshd_config ustawione GatewayPorts yes, AllowTcpForwarding yes i PermitRootLogin yes.",
"deleteHostConfirm": "Usunąć „{{name}}”?",
"enableAtLeastOneProtocol": "Włącz co najmniej jeden z powyższych protokołów, aby skonfigurować ustawienia uwierzytelniania i połączenia.",
"keyPassphrase": "Hasło klucza",
"connectBtn": "Połącz",
"disconnectBtn": "Odłącz",
"basicInformation": "Informacje podstawowe",
"authDetailsSection": "Szczegóły uwierzytelniania",
"credTypeLabel": "Typ",
@@ -1952,100 +1923,26 @@
"transferFailedRetryHint": "W miejscu docelowym zachowano częściowe dane. Ponowna próba zostanie wznowiona po przywróceniu połączenia."
},
"tunnels": {
"noSshTunnels": "Brak tuneli SSH",
"createFirstTunnelMessage": "Nie utworzono jeszcze żadnych tuneli SSH. Skonfiguruj połączenia tunelowe w Menedżerze hostów, aby zacząć.",
"connected": "Połączono",
"disconnected": "Rozłączono",
"connecting": "Łączenie...",
"error": "Błąd",
"canceling": "Anulowanie...",
"connect": "Połącz",
"disconnect": "Odłącz",
"cancel": "Anuluj",
"port": "Port",
"localPort": "Port lokalny",
"remotePort": "Zdalny port",
"destinationPort": "Port docelowy",
"currentHostPort": "Aktualny port hosta",
"endpointPort": "Port końcowy",
"bindIp": "Lokalny adres IP",
"localAddress": "Adres lokalny",
"remoteAddress": "Zdalny adres",
"destinationAddress": "Adres docelowy",
"remoteBindAddress": "Zdalny adres powiązania",
"intermediateHost": "Żywiciel pośredni",
"endpointSshConfig": "Konfiguracja SSH punktu końcowego",
"endpointSshHost": "Host SSH punktu końcowego",
"endpointSshHostPlaceholder": "Wybierz skonfigurowanego hosta",
"endpointSshHostRequired": "Wybierz hosta SSH punktu końcowego dla każdego tunelu klienta.",
"attempt": "Próba {{current}} z {{max}}",
"nextRetryIn": "Następna próba za {{seconds}} sekund",
"clientTunnels": "Tunele klienckie",
"clientTunnel": "Tunel klienta",
"addClientTunnel": "Dodaj tunel klienta",
"noClientTunnels": "Na tym komputerze nie skonfigurowano żadnych tuneli klienckich.",
"tunnelName": "Nazwa tunelu",
"remoteHost": "Zdalny host",
"autoStart": "Autostart",
"clientAutoStartDesc": "Uruchamia się przy starcie aplikacji desktopowej i pozostaje połączony.",
"clientManualStartDesc": "Użyj przycisków Start i Stop z tego wiersza. Termix nie otworzy go automatycznie.",
"clientRemoteServerNote": "Przekierowanie zdalne może wymagać opcji AllowTcpForwarding i GatewayPorts na serwerze SSH punktu końcowego. Port zdalny zamyka się po rozłączeniu tego komputera.",
"clientTunnelStarted": "Uruchomiono tunel klienta",
"clientTunnelStopped": "Zatrzymano tunel klienta",
"tunnelTestSucceeded": "Test tunelu zakończony powodzeniem",
"tunnelTestFailed": "Test tunelu nie powiódł się",
"localSaved": "Zapisano tunele klienta",
"localSaveError": "Nie udało się zapisać lokalnych tuneli klienta",
"invalidBindIp": "Lokalny adres IP musi być prawidłowym adresem IPv4.",
"invalidLocalTargetIp": "Lokalny adres IP docelowy musi być prawidłowym adresem IPv4.",
"invalidRemoteAddress": "Wymagany jest adres zdalny.",
"invalidLocalPort": "Port lokalny musi mieścić się w zakresie od 1 do 65535.",
"invalidRemotePort": "Port zdalny musi mieścić się w zakresie od 1 do 65535.",
"invalidLocalTargetPort": "Lokalny port docelowy musi mieścić się w zakresie od 1 do 65535.",
"invalidEndpointPort": "Port końcowy musi mieścić się w zakresie od 1 do 65535.",
"duplicateAutoStartBind": "Tylko jeden tunel klienta z automatycznym uruchomieniem może używać {{bind}}.",
"manualControlError": "Nie udało się zaktualizować stanu tunelu.",
"active": "Aktywny",
"start": "Start",
"stop": "Zatrzymaj",
"test": "Test",
"type": "Typ tunelu",
"typeLocal": "Lokalny (-L)",
"typeRemote": "Zdalny (-R)",
"typeDynamic": "Dynamiczny (-D)",
"typeServerLocalDesc": "Bieżący host do punktu końcowego.",
"typeServerRemoteDesc": "Punkt końcowy z powrotem do bieżącego hosta.",
"typeClientLocalDesc": "Komputer lokalny do punktu końcowego.",
"typeClientRemoteDesc": "Punkt końcowy z powrotem do komputera lokalnego.",
"typeClientDynamicDesc": "SOCKS na komputerze lokalnym.",
"typeDynamicDesc": "Przekieruj ruch SOCKS5 CONNECT przez SSH",
"forwardDescriptionServerLocal": "Aktualny host {{sourcePort}} → punkt końcowy {{endpointPort}}.",
"forwardDescriptionServerRemote": "Punkt końcowy {{endpointPort}} → bieżący host {{sourcePort}}.",
"forwardDescriptionServerDynamic": "SOCKS na bieżącym hoście {{sourcePort}}.",
"forwardDescriptionClientLocal": "Lokalny {{sourcePort}} → zdalny {{endpointPort}}.",
"forwardDescriptionClientRemote": "Zdalny {{sourcePort}} → lokalny {{endpointPort}}.",
"forwardDescriptionClientDynamic": "SOCKS na porcie lokalnym {{sourcePort}}.",
"summaryClientLocal": "{{localHost}}:{{localPort}} → {{remoteHost}}:{{remotePort}} przez {{endpoint}}",
"summaryClientRemote": "{{remoteHost}}:{{remotePort}} na {{endpoint}} → {{localHost}}:{{localPort}}",
"summaryClientDynamic": "{{localHost}}:{{localPort}} → SOCKS przez {{endpoint}}",
"autoNameClientLocal": "Lokalny {{localPort}} → {{endpoint}} {{remotePort}}",
"autoNameClientRemote": "{{endpoint}} {{remotePort}} → lokalny {{localPort}}",
"autoNameClientDynamic": "SOCKS {{localPort}} przez {{endpoint}}",
"route": "Trasa:",
"lastStarted": "Ostatnio uruchomiony",
"lastTested": "Ostatnio testowane",
"lastError": "Ostatni błąd",
"maxRetries": "Maksymalna liczba ponownych prób",
"maxRetriesDescription": "Maksymalna liczba ponownych prób.",
"retryInterval": "Interwał ponawiania (sekundy)",
"retryIntervalDescription": "Czas oczekiwania pomiędzy kolejnymi próbami.",
"local": "Lokalny",
"remote": "Zdalny",
"destination": "Cel",
"host": "Host",
"mode": "Tryb",
"noHostSelected": "Nie wybrano hosta",
"working": "Przetwarzanie..."
"remote": "Zdalny"
},
"cardGrid": {
"dragToMove": "Przeciągnij, aby przesunąć",
@@ -2175,37 +2072,13 @@
},
"profile": {
"c2sTunnelConfigDesc": "Lokalne tunele aplikacji desktopowej kierowane do skonfigurowanych hostów SSH.",
"c2sTunnelPresets": "Zestawy tuneli klienta",
"c2sTunnelPresetsDesc": "Zapisz listę lokalnych tuneli tej aplikacji jako nazwany zestaw na serwerze albo wczytaj zestaw z powrotem do tej aplikacji.",
"c2sTunnelPresetsUnavailable": "Zestawy tuneli klienta są dostępne tylko w aplikacji desktopowej.",
"c2sPresetName": "Nazwa zestawu",
"c2sPresetNamePlaceholder": "Nazwa zestawu klienta",
"c2sPresetToLoad": "Zestaw do wczytania",
"c2sNoPresetSelected": "Nie wybrano zestawu",
"c2sNoPresets": "Brak zapisanych zestawów",
"c2sLoadPreset": "Wczytaj",
"c2sCurrentLocalConfig": "Liczba lokalnych tuneli klienta skonfigurowanych na tym komputerze: {{count}}.",
"c2sPresetSyncNote": "Zestawy to jawne migawki; wczytanie zestawu zastępuje listę lokalnych tuneli klienta w tej aplikacji.",
"c2sPresetSaved": "Zapisano zestaw tuneli klienta",
"c2sPresetLoaded": "Wczytano zestaw tuneli klienta lokalnie",
"c2sPresetRenamed": "Zmieniono nazwę zestawu tuneli klienta",
"c2sPresetDeleted": "Usunięto zestaw tuneli klienta",
"c2sPresetLoadError": "Nie udało się wczytać zestawów tuneli klienta"
"c2sTunnelPresetsDesc": "Zapisz listę lokalnych tuneli tej aplikacji jako nazwany zestaw na serwerze albo wczytaj zestaw z powrotem do tej aplikacji."
},
"placeholders": {
"maxRetries": "3",
"retryInterval": "10",
"language": "Język",
"keyPassword": "hasło klucza",
"pastePrivateKey": "Wklej tutaj klucz prywatny...",
"localListenerHost": "127.0.0.1 (nasłuch lokalny)",
"localTargetHost": "127.0.0.1 (cel na tym komputerze)",
"remoteTargetHost": "127.0.0.1 (cel z punktu końcowego)",
"remoteBindHost": "127.0.0.1 (nasłuchiwanie na punkcie końcowym)",
"socksListenerHost": "127.0.0.1 (nasłuch SOCKS)",
"enterPassword": "Wprowadź hasło",
"defaultPort": "22",
"defaultEndpointPort": "224"
"enterPassword": "Wprowadź hasło"
},
"dashboard": {
"title": "Pulpit",