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": "होम",
"terminal": "टर्मिनल",
"localTerminal": "स्थानीय टर्मिनल",
"tunnels": "टनल",
"fileManager": "फ़ाइल प्रबंधक",
"serverStats": "होस्ट मेट्रिक्स",
"admin": "एडमिन",
@@ -714,7 +713,6 @@
"macros": "मैक्रो",
"hostManager": "होस्ट प्रबंधक",
"credentials": "क्रेडेंशियल्स",
"portForwarding": "अग्रेषित करना",
"connections": "कनेक्शन्स",
"serial": "सीरियल",
"keepSideMenuOpen": "मेनू खुला रखें",
@@ -765,7 +763,6 @@
"tabTerminal": "टर्मिनल",
"tabRdp": "RDP",
"tabVnc": "VNC",
"tabTunnels": "टनलें",
"tabStats": "होस्ट मेट्रिक्स",
"tabTelnet": "Telnet",
"tabSharing": "साझाकरण",
@@ -1071,31 +1068,8 @@
"startupSnippetLabel": "स्टार्टअप स्निपेट",
"keepaliveIntervalLabel": "कीपअलाइव अंतराल (सेकंड)",
"maxKeepaliveMisses": "अधिकतम कीपअलाइव मिस",
"tunnelSettings": "टनल सेटिंग्स",
"enableTunneling": "टनलिंग सक्षम करें",
"enableTunnelingDesc": "इस होस्ट के लिए SSH टनल कार्यक्षमता सक्षम करें",
"serverTunnelsSection": "सर्वर टनल",
"addTunnelBtn": "टनल जोड़ें",
"noTunnelsConfigured": "कोई टनल कॉन्फ़िगर नहीं की गई।",
"tunnelLabel": "टनल {{number}}",
"tunnelType": "टनल प्रकार",
"tunnelModeLocalDesc": "स्थानीय पोर्ट को दूरस्थ सर्वर (या उससे पहुंच योग्य किसी होस्ट) के पोर्ट पर अग्रेषित करें।",
"tunnelModeRemoteDesc": "दूरस्थ सर्वर पर एक पोर्ट को अपनी मशीन पर स्थानीय पोर्ट पर वापस अग्रेषित करें।",
"tunnelModeDynamicDesc": "गतिशील पोर्ट अग्रेषण के लिए स्थानीय पोर्ट पर SOCKS5 प्रॉक्सी बनाएं।",
"sameHost": "यह होस्ट (डायरेक्ट टनल)",
"endpointHost": "एंडपॉइंट होस्ट",
"endpointHostPlaceholder": "समान होस्ट, SSH होस्ट, या पहुंच योग्य होस्ट/IP",
"endpointPort": "एंडपॉइंट पोर्ट",
"bindHost": "बाइंड होस्ट",
"sourcePort": "स्रोत पोर्ट",
"maxRetries": "अधिकतम पुनर्प्रयास",
"retryIntervalS": "पुनर्प्रयास अंतराल (s)",
"autoStartLabel": "स्वतः आरंभ",
"autoStartDesc": "होस्ट लोड होने पर यह टनल स्वचालित रूप से कनेक्ट करें",
"tunnelConnecting": "टनल कनेक्ट हो रही है...",
"tunnelDisconnected": "टनल डिस्कनेक्ट हो गई",
"failedToConnectTunnel": "कनेक्ट करने में विफल",
"failedToDisconnectTunnel": "डिस्कनेक्ट करने में विफल",
"enableTmuxMonitor": "Tmux मॉनिटर सक्षम करें",
"enableTmuxMonitorDesc": "इस होस्ट को Tmux मॉनिटर में दिखाएँ और इसकी tmux क्रियाओं को साइडबार में जोड़ें",
"enableTerminalToolbar": "टर्मिनल टूलबार को सक्षम करें",
@@ -1326,12 +1300,9 @@
"refreshBtn": "ताज़ा करें",
"addTag": "टैग जोड़ें…",
"deleteConfirmBtn": "हटाएँ",
"tunnelRequirementsText": "SSH सर्वर में /etc/ssh/sshd_config में GatewayPorts yes, AllowTcpForwarding yes, और PermitRootLogin yes सेट होना चाहिए।",
"deleteHostConfirm": "क्या \"{{name}}\" हटाएँ?",
"enableAtLeastOneProtocol": "प्रमाणीकरण और कनेक्शन सेटिंग्स कॉन्फ़िगर करने के लिए ऊपर कम से कम एक प्रोटोकॉल सक्षम करें।",
"keyPassphrase": "कुंजी पासफ़्रेज़",
"connectBtn": "कनेक्ट करें",
"disconnectBtn": "डिस्कनेक्ट करें",
"basicInformation": "मूल जानकारी",
"authDetailsSection": "प्रमाणीकरण विवरण",
"credTypeLabel": "प्रकार",
@@ -1952,100 +1923,26 @@
"transferFailedRetryHint": "आंशिक डेटा गंतव्य पर रखा गया था। कनेक्शन वापस आने पर पुनः प्रयास फिर से शुरू होगा।"
},
"tunnels": {
"noSshTunnels": "कोई SSH टनल नहीं",
"createFirstTunnelMessage": "आपने अभी तक कोई SSH टनल नहीं बनाई है। शुरू करने के लिए होस्ट प्रबंधक में टनल कनेक्शन कॉन्फ़िगर करें।",
"connected": "कनेक्टेड",
"disconnected": "डिस्कनेक्टेड",
"connecting": "कनेक्ट हो रहा है...",
"error": "त्रुटि",
"canceling": "रद्द कर रहा है...",
"connect": "कनेक्ट करें",
"disconnect": "डिस्कनेक्ट करें",
"cancel": "रद्द करें",
"port": "पोर्ट",
"localPort": "स्थानीय पोर्ट",
"remotePort": "दूरस्थ पोर्ट",
"destinationPort": "गंतव्य बंदरगाह",
"currentHostPort": "वर्तमान होस्ट पोर्ट",
"endpointPort": "एंडपॉइंट पोर्ट",
"bindIp": "स्थानीय आईपी",
"localAddress": "स्थानीय पता",
"remoteAddress": "दूरस्थ पता",
"destinationAddress": "गंतव्य पता",
"remoteBindAddress": "रिमोट बाइंड पता",
"intermediateHost": "मध्यवर्ती मेजबान",
"endpointSshConfig": "एंडपॉइंट SSH कॉन्फ़िगरेशन",
"endpointSshHost": "एंडपॉइंट SSH होस्ट",
"endpointSshHostPlaceholder": "कॉन्फ़िगर किया गया होस्ट चुनें",
"endpointSshHostRequired": "प्रत्येक क्लाइंट टनल के लिए एक एंडपॉइंट SSH होस्ट चुनें।",
"attempt": "प्रयास {{current}} / {{max}}",
"nextRetryIn": "अगला पुनः प्रयास {{seconds}} सेकंड में",
"clientTunnels": "क्लाइंट टनलें",
"clientTunnel": "क्लाइंट टनल",
"addClientTunnel": "क्लाइंट टनल जोड़ें",
"noClientTunnels": "इस डेस्कटॉप पर कोई क्लाइंट टनल कॉन्फ़िगर नहीं है।",
"tunnelName": "टनल का नाम",
"remoteHost": "दूरस्थ होस्ट",
"autoStart": "स्वतः आरंभ",
"clientAutoStartDesc": "यह डेस्कटॉप क्लाइंट खुलने पर आरंभ होता है और जुड़ा रहता है।",
"clientManualStartDesc": "इस पंक्ति से आरंभ और रोकें का उपयोग करें। Termix इसे स्वचालित रूप से नहीं खोलेगा।",
"clientRemoteServerNote": "दूरस्थ अग्रेषण के लिए एंडपॉइंट SSH सर्वर पर AllowTcpForwarding और GatewayPorts की आवश्यकता हो सकती है। यह डेस्कटॉप डिस्कनेक्ट होने पर दूरस्थ पोर्ट बंद हो जाता है।",
"clientTunnelStarted": "क्लाइंट टनल आरंभ हो गई",
"clientTunnelStopped": "क्लाइंट टनल रुक गई",
"tunnelTestSucceeded": "टनल परीक्षण सफल",
"tunnelTestFailed": "टनल परीक्षण विफल",
"localSaved": "क्लाइंट टनलें सहेजी गईं",
"localSaveError": "स्थानीय क्लाइंट टनल सहेजने में विफल",
"invalidBindIp": "स्थानीय आईपी एक मान्य IPv4 पता होना चाहिए।",
"invalidLocalTargetIp": "स्थानीय लक्ष्य आईपी एक मान्य IPv4 पता होना चाहिए।",
"invalidRemoteAddress": "रिमोट एड्रेस आवश्यक है।",
"invalidLocalPort": "स्थानीय पोर्ट 1 और 65535 के बीच होना चाहिए।",
"invalidRemotePort": "दूरस्थ पोर्ट 1 और 65535 के बीच होना चाहिए।",
"invalidLocalTargetPort": "स्थानीय लक्ष्य पोर्ट 1 और 65535 के बीच होना चाहिए।",
"invalidEndpointPort": "एंडपॉइंट पोर्ट 1 और 65535 के बीच होना चाहिए।",
"duplicateAutoStartBind": "केवल एक स्वतः-आरंभ क्लाइंट टनल {{bind}} का उपयोग कर सकती है।",
"manualControlError": "टनल स्थिति अपडेट करने में विफल।",
"active": "सक्रिय",
"start": "शुरू करें",
"stop": "बंद करें",
"test": "परीक्षण करें",
"type": "टनल प्रकार",
"typeLocal": "स्थानीय (-L)",
"typeRemote": "दूरस्थ (-R)",
"typeDynamic": "डायनामिक (-D)",
"typeServerLocalDesc": "वर्तमान होस्ट से एंडपॉइंट तक।",
"typeServerRemoteDesc": "एंडपॉइंट से वर्तमान होस्ट तक वापस।",
"typeClientLocalDesc": "स्थानीय कंप्यूटर से एंडपॉइंट तक।",
"typeClientRemoteDesc": "एंडपॉइंट से स्थानीय कंप्यूटर तक वापस।",
"typeClientDynamicDesc": "स्थानीय कंप्यूटर पर SOCKS।",
"typeDynamicDesc": "SSH के माध्यम से SOCKS5 CONNECT ट्रैफ़िक अग्रेषित करें",
"forwardDescriptionServerLocal": "वर्तमान होस्ट {{sourcePort}} → एंडपॉइंट {{endpointPort}}।",
"forwardDescriptionServerRemote": "एंडपॉइंट {{endpointPort}} → वर्तमान होस्ट {{sourcePort}}।",
"forwardDescriptionServerDynamic": "वर्तमान होस्ट {{sourcePort}} पर SOCKS।",
"forwardDescriptionClientLocal": "स्थानीय {{sourcePort}} → दूरस्थ {{endpointPort}}।",
"forwardDescriptionClientRemote": "दूरस्थ {{sourcePort}} → स्थानीय {{endpointPort}}।",
"forwardDescriptionClientDynamic": "स्थानीय पोर्ट {{sourcePort}} पर SOCKS।",
"summaryClientLocal": "{{localHost}}:{{localPort}} → {{remoteHost}}:{{remotePort}} वाया {{endpoint}}",
"summaryClientRemote": "{{remoteHost}}:{{remotePort}} on {{endpoint}} → {{localHost}}:{{localPort}}",
"summaryClientDynamic": "{{localHost}}:{{localPort}} → SOCKS via {{endpoint}}",
"autoNameClientLocal": "स्थानीय {{localPort}} → {{endpoint}} {{remotePort}}",
"autoNameClientRemote": "{{endpoint}} {{remotePort}} → स्थानीय {{localPort}}",
"autoNameClientDynamic": "SOCKS {{localPort}} via {{endpoint}}",
"route": "रूट:",
"lastStarted": "अंतिम बार शुरू हुआ",
"lastTested": "अंतिम बार परीक्षण किया गया",
"lastError": "अंतिम त्रुटि",
"maxRetries": "अधिकतम पुनर्प्रयास",
"maxRetriesDescription": "पुनर्प्रयास प्रयासों की अधिकतम संख्या।",
"retryInterval": "पुनर्प्रयास अंतराल (सेकंड)",
"retryIntervalDescription": "पुनर्प्रयास प्रयासों के बीच प्रतीक्षा समय।",
"local": "स्थानीय",
"remote": "रिमोट",
"destination": "डेस्टिनेशन",
"host": "होस्ट",
"mode": "मोड",
"noHostSelected": "कोई होस्ट चयनित नहीं",
"working": "कार्यरत..."
"remote": "रिमोट"
},
"cardGrid": {
"dragToMove": "खिसकाने के लिए खींचें",
@@ -2175,37 +2072,13 @@
},
"profile": {
"c2sTunnelConfigDesc": "कॉन्फ़िगर किए गए SSH होस्ट को लक्षित करने वाली स्थानीय डेस्कटॉप टनलें।",
"c2sTunnelPresets": "क्लाइंट टनल प्रीसेट",
"c2sTunnelPresetsDesc": "इस डेस्कटॉप क्लाइंट की स्थानीय टनल सूची को एक नामित सर्वर प्रीसेट के रूप में सहेजें, या किसी प्रीसेट को वापस इस क्लाइंट में लोड करें।",
"c2sTunnelPresetsUnavailable": "क्लाइंट टनल प्रीसेट केवल डेस्कटॉप क्लाइंट में उपलब्ध हैं।",
"c2sPresetName": "प्रीसेट नाम",
"c2sPresetNamePlaceholder": "क्लाइंट प्रीसेट नाम",
"c2sPresetToLoad": "लोड करने के लिए प्रीसेट",
"c2sNoPresetSelected": "कोई प्रीसेट चयनित नहीं",
"c2sNoPresets": "कोई प्रीसेट सहेजा नहीं गया",
"c2sLoadPreset": "लोड करें",
"c2sCurrentLocalConfig": "इस डेस्कटॉप पर {{count}} स्थानीय क्लाइंट टनल(s) कॉन्फ़िगर की गई हैं।",
"c2sPresetSyncNote": "प्रीसेट स्पष्ट स्नैपशॉट हैं; एक लोड करने पर यह डेस्कटॉप क्लाइंट की स्थानीय क्लाइंट टनल सूची को बदल देता है।",
"c2sPresetSaved": "क्लाइंट टनल प्रीसेट सहेजा गया",
"c2sPresetLoaded": "क्लाइंट टनल प्रीसेट स्थानीय रूप से लोड हुआ",
"c2sPresetRenamed": "क्लाइंट टनल प्रीसेट का नाम बदला गया",
"c2sPresetDeleted": "क्लाइंट टनल प्रीसेट हटाया गया",
"c2sPresetLoadError": "क्लाइंट टनल प्रीसेट लोड करने में विफल"
"c2sTunnelPresetsDesc": "इस डेस्कटॉप क्लाइंट की स्थानीय टनल सूची को एक नामित सर्वर प्रीसेट के रूप में सहेजें, या किसी प्रीसेट को वापस इस क्लाइंट में लोड करें।"
},
"placeholders": {
"maxRetries": "3",
"retryInterval": "10",
"language": "भाषा",
"keyPassword": "कुंजी पासवर्ड",
"pastePrivateKey": "अपनी निजी कुंजी यहाँ चिपकाएँ...",
"localListenerHost": "127.0.0.1 (स्थानीय रूप से सुनें)",
"localTargetHost": "127.0.0.1 (इस कंप्यूटर पर लक्ष्य)",
"remoteTargetHost": "127.0.0.1 (एंडपॉइंट से लक्ष्य)",
"remoteBindHost": "127.0.0.1 (एंडपॉइंट पर सुनें)",
"socksListenerHost": "127.0.0.1 (SOCKS श्रोता)",
"enterPassword": "अपना पासवर्ड दर्ज करें",
"defaultPort": "22",
"defaultEndpointPort": "224"
"enterPassword": "अपना पासवर्ड दर्ज करें"
},
"dashboard": {
"title": "डैशबोर्ड",