P7: restore agent node type, agent heartbeat expiry, build-version injection, remove log/history/xray-metrics modules, optional sub port
- nodes: port node-type (traditional/agent) picker back from web-src into the embedded frontend; backend annotates NodeView.nodeType from agent_nodes bindings; fix agent-node update path (skip reachability probe and apiToken requirement for agent-managed nodes); restore i18n keys in all 13 locales; install command now uses the Gitea mirror - jobs: expire agent-bound nodes whose agent_nodes.last_seen is older than max(3x heartbeat interval, 120s) = 180s; last_seen=0 (never registered) is left untouched; transitions reuse UpdateHeartbeat + node event broadcast - config: GetBaseVersion honors ldflags-injected buildVersion; release builds inject 3.7.0-agent.1 so the panel no longer reports a phantom update against the Gitea release tag - logger/server: remove the three log viewers (panel/xray/amneziawg), their API endpoints and the 10240-entry in-memory log buffer; file logging via lumberjack unchanged; tests assert via a new optional logger hook instead of the removed buffer - server: remove system history and xray metrics modules end to end (endpoints, sampling appends in RefreshStatus, per-minute persist cron, gob snapshot/restore, XrayMetricsService); realtime status and per-node history are untouched - settings: subPort may be 0/unset - subscription links are generated without a port while the subscription service keeps binding the default 2096; the settings form declares the cleared state via onNumber's new onClear option instead of snapping back to 1
This commit is contained in:
@@ -136,45 +136,6 @@
|
||||
"currentCommit": "目前提交",
|
||||
"latestCommit": "最新提交",
|
||||
"updateChannelChanged": "更新通道已切換",
|
||||
"systemHistoryTitle": "系統歷史",
|
||||
"historyTitleCpu": "CPU 使用率",
|
||||
"historyTitleMem": "記憶體使用率",
|
||||
"historyTitleNetwork": "網路頻寬",
|
||||
"historyTitlePackets": "網路封包",
|
||||
"historyTitleDisk": "磁碟 I/O",
|
||||
"historyTitleOnline": "線上用戶端",
|
||||
"historyTitleLoad": "系統平均負載(1 分鐘 / 5 分鐘 / 15 分鐘)",
|
||||
"historyTitleConnections": "使用中的連線 (TCP / UDP)",
|
||||
"historyTitleDiskUsage": "磁碟空間使用率",
|
||||
"historyTabBandwidth": "頻寬",
|
||||
"historyTabPackets": "封包",
|
||||
"historyTabDisk": "磁碟 I/O",
|
||||
"historyTabOnline": "線上",
|
||||
"historyTabLoad": "負載",
|
||||
"historyTabConnections": "連線數",
|
||||
"historyTabDiskUsage": "磁碟使用量",
|
||||
"xrayMetricsTitle": "Xray 指標",
|
||||
"xrayTitleHeap": "已配置的堆積記憶體",
|
||||
"xrayTitleSys": "向作業系統保留的記憶體",
|
||||
"xrayTitleObjects": "存活的堆積物件",
|
||||
"xrayTitleGcCount": "已完成的 GC 週期",
|
||||
"xrayTitleGcPause": "GC 暫停時間",
|
||||
"xrayTitleObservatory": "出站連線健康狀態",
|
||||
"xrayTabHeap": "堆積",
|
||||
"xrayTabSys": "系統",
|
||||
"xrayTabObjects": "物件",
|
||||
"xrayTabGcCount": "GC 次數",
|
||||
"xrayTabGcPause": "GC 暫停",
|
||||
"xrayTabObservatory": "觀測站",
|
||||
"xrayMetricsDisabled": "未設定 Xray 指標端點",
|
||||
"xrayMetricsHint": "在 xray 設定中加入頂層 metrics 區塊,tag 為 metrics_out,listen 為 127.0.0.1:11111,然後重啟 xray。",
|
||||
"xrayObservatoryEmpty": "尚無 Observatory 資料",
|
||||
"xrayObservatoryHint": "在 xray 設定中加入 observatory 區塊,列出要探測的出站 tag,然後重啟 xray。",
|
||||
"xrayObservatoryTagPlaceholder": "選擇出站",
|
||||
"xrayObservatoryAlive": "在線",
|
||||
"xrayObservatoryDead": "離線",
|
||||
"xrayObservatoryLastSeen": "最後在線",
|
||||
"xrayObservatoryLastTry": "最後嘗試",
|
||||
"connectionCount": "連線數",
|
||||
"ipAddresses": "IP 地址",
|
||||
"toggleIpVisibility": "切換 IP 可見性",
|
||||
@@ -191,18 +152,6 @@
|
||||
"panelUpdateUnknownTitle": "無法確認更新是否已完成",
|
||||
"panelUpdateUnknownDesc": "面板未能及時回報結果。請重新整理以檢查目前版本,或檢查伺服器日誌。",
|
||||
"dontRefresh": "安裝中,請勿重新整理此頁面",
|
||||
"logs": "記錄",
|
||||
"accessLogs": "存取記錄",
|
||||
"autoUpdate": "自動更新",
|
||||
"amneziawgLogs": "AmneziaWG 日誌",
|
||||
"amneziawgHandshake": "最後握手",
|
||||
"amneziawgInterface": "網路介面",
|
||||
"amneziawgInbound": "入站",
|
||||
"amneziawgEndpoint": "端點",
|
||||
"amneziawgIdle": "閒置",
|
||||
"amneziawgEvents": "事件",
|
||||
"amneziawgNoPeers": "目前沒有活躍的 AmneziaWG 對端",
|
||||
"amneziawgNoEvents": "尚未記錄 AmneziaWG 事件",
|
||||
"config": "配置",
|
||||
"backupTitle": "備份和恢復",
|
||||
"exportDatabase": "備份",
|
||||
@@ -219,25 +168,14 @@
|
||||
"importDatabasePgDesc": "點擊選擇並上傳 PostgreSQL 備份(.dump)、SQLite 資料庫(.db)或 SQLite 遷移匯出檔以還原您的資料庫。此操作將取代所有目前的資料。",
|
||||
"migrationDownload": "下載遷移檔案",
|
||||
"migrationDownloadPgDesc": "點擊下載由 PostgreSQL 資料建立的 .db SQLite 資料庫,可用於在 SQLite 上執行本面板。",
|
||||
"avg": "均值",
|
||||
"peak": "峰值",
|
||||
"free": "剩餘",
|
||||
"openSockets": "開啟的通訊端",
|
||||
"throughputSub": "網路介面總計",
|
||||
"avgWindow": "視窗均值",
|
||||
"healthWarm": "{list} — 偏高",
|
||||
"healthCritical": "{list} — 危險",
|
||||
"panel": "面板",
|
||||
"threads": "執行緒",
|
||||
"uptime": "執行時間",
|
||||
"logLevelDebug": "Debug",
|
||||
"logLevelInfo": "Info",
|
||||
"logLevelNotice": "Notice",
|
||||
"logLevelWarning": "Warning",
|
||||
"logLevelError": "Error",
|
||||
"accessDirect": "DIRECT",
|
||||
"accessBlocked": "BLOCKED",
|
||||
"accessProxy": "PROXY",
|
||||
"importKeepHostSettings": "保留本機設定",
|
||||
"importKeepHostSettingsDesc": "保留本面板的監聽位址、連接埠、基礎路徑、憑證與節點身分,而不是使用上傳檔案中的值。"
|
||||
},
|
||||
@@ -970,7 +908,19 @@
|
||||
"pinnedCertPlaceholder": "base64 或 hex 的 SHA-256",
|
||||
"fetchPin": "取得",
|
||||
"pinFetched": "已取得節點目前憑證",
|
||||
"pinFetchFailed": "無法取得憑證"
|
||||
"pinFetchFailed": "無法取得憑證",
|
||||
"nodeType": "Node Type",
|
||||
"nodeTypeTraditional": "Traditional Panel Node",
|
||||
"nodeTypeAgent": "Agent Lightweight Node",
|
||||
"agentHint": "Agent nodes connect out to the master; no address, port or API token needed. An install command is generated on creation.",
|
||||
"agentTokenTitle": "Agent Node Setup",
|
||||
"agentTokenCreated": "Node {{name}} created successfully",
|
||||
"agentTokenHint": "Copy the command below and run it on the node machine. This token is shown only once!",
|
||||
"agentTokenInstructions": "The command downloads the installer, configures the master URL and token. The node comes online in ~30s.",
|
||||
"agentTokenCopied": "Install command copied",
|
||||
"agentTokenCopyFailed": "Copy failed, please copy manually",
|
||||
"copyToken": "Copy Install Command",
|
||||
"agentMasterUrlHint": "Master URL (used by agent to reach the master; change to public address if behind proxy):"
|
||||
},
|
||||
"settings": {
|
||||
"defaultTag": "預設",
|
||||
@@ -1725,4 +1675,4 @@
|
||||
"noIpRecord": "❗ 沒有 IP 記錄!"
|
||||
},
|
||||
"email": {}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user