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": "重試間隔(秒)",
"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": "本機 IP",
"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": "本機 IP 必須是有效的 IPv4 位址。",
"invalidLocalTargetIp": "本機目標 IP 必須是有效的 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": "目前主機上的 SOCKS {{sourcePort}}。",
"forwardDescriptionClientLocal": "本機 {{sourcePort}} → 遠端 {{endpointPort}}。",
"forwardDescriptionClientRemote": "遠端 {{sourcePort}} → 本機 {{endpointPort}}。",
"forwardDescriptionClientDynamic": "本機連接埠 {{sourcePort}} 上的 SOCKS。",
"summaryClientLocal": "{{localHost}}:{{localPort}} → {{remoteHost}}:{{remotePort}} via {{endpoint}}",
"summaryClientRemote": "{{remoteHost}}:{{remotePort}} on {{endpoint}} → {{localHost}}:{{localPort}}",
"summaryClientDynamic": "{{localHost}}:{{localPort}} → SOCKS 透過 {{endpoint}}",
"autoNameClientLocal": "本機 {{localPort}} → {{endpoint}} {{remotePort}}",
"autoNameClientRemote": "{{endpoint}} {{remotePort}} → 本機 {{localPort}}",
"autoNameClientDynamic": "SOCKS {{localPort}} 透過 {{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}} 個本機用戶端通道。",
"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": "儀表板",