V2.0.1: listen override fix, sing-box core fetch, probe settings page + fast report, spx removal, core mem env
CI / go-test (push) Waiting to run
CI / postgres-durable-first (push) Waiting to run
CI / codegen (push) Waiting to run
CI / govulncheck (push) Waiting to run
CI / race (push) Waiting to run
CI / fuzz-smoke (push) Waiting to run
CI / golangci (push) Waiting to run
CI / frontend (push) Waiting to run
Docs CI / build (push) Waiting to run
Docs Deploy (GitHub Pages) / build (push) Waiting to run
Docs Deploy (GitHub Pages) / deploy (push) Blocked by required conditions
Release 3X-UI / build (386) (push) Waiting to run
Release 3X-UI / build (amd64) (push) Waiting to run
Release 3X-UI / build (arm64) (push) Waiting to run
Release 3X-UI / build (armv5) (push) Waiting to run
Release 3X-UI / build (armv6) (push) Waiting to run
Release 3X-UI / build (armv7) (push) Waiting to run
Release 3X-UI / build (s390x) (push) Waiting to run
Release 3X-UI / Build for Windows (amd64) (push) Waiting to run
Release 3X-UI / Publish rolling dev release (push) Blocked by required conditions
CodeQL Advanced / Analyze (go) (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run

- 0: sing-box gen overrides fragment listen/port from the inbound row
  (empty listen -> "::"), Update/Add recompute the stored fragment;
  non-loopback E2E against the real core binary.
- 1: agent fetches the sing-box core from the Gitea release when
  missing, self-checks it, and only then latches the switch.
- 2: node list shows the sing-box core version (heartbeat field,
  persisted on the node row), xray version as fallback.
- 3: public-page fallback returns 404 to anonymous visitors when the
  page is disabled.
- 4: settings restart hint bar removed, dead i18n keys cleaned.
- 5: two PUT calls missing JSON headers fixed (audit: only those two),
  batch probe-task creation endpoint + UI.
- 6: cf-probe retirement card and coverage pipeline removed.
- 7: generated vless links no longer carry spx (panel export + sub);
  parser still accepts spx; golden fixtures updated.
- probe batch: dedicated probe settings tab (public-page settings,
  tasks, per-node meta), retention_days editable, per-node traffic
  calibration + stat-interface pinning, runtime metrics split into a
  lightweight fast report (default 3s, 1-60s adjustable).
- 8: sing-box core processes start with GOMEMLIMIT=32MiB, GOGC=50.
- 9: dead /getTwoFactorEnable docs entries removed (frontend call and
  contract entry already gone at base; verified by grep).
This commit is contained in:
Rogue
2026-10-23 07:53:11 +00:00
parent c2f1840535
commit 29de9761c8
67 changed files with 3081 additions and 832 deletions
+24 -15
View File
@@ -856,7 +856,7 @@
"uptime": "運行時間",
"latency": "延遲",
"lastHeartbeat": "上次心跳",
"xrayVersion": "Xray 版本",
"coreVersion": "核心版本",
"panelVersion": "面板版本",
"actions": "操作",
"probe": "立即探測",
@@ -971,6 +971,12 @@
"countryPin": "Country pin (e.g. JP)",
"ipv4Pin": "IPv4 pin",
"ipv6Pin": "IPv6 pin",
"calUp": "上行校正(GB)",
"calDown": "下行校正(GB)",
"calHint": "校正值加到已统计流量上(可负数扣减),作用于面板统计、公开页与流量告警。",
"statIface": "统计网卡",
"movedHint": "探针元数据(价格、流量上限、校准等)已统一到「探针设置」页编辑。",
"goSettings": "前往探针设置",
"save": "Save status page info",
"saved": "Status page info saved",
"saveFailed": "Saving status page info failed"
@@ -1000,7 +1006,13 @@
"saved": "Probe task saved",
"deleted": "Probe task deleted",
"loadFailed": "Failed to load probe tasks",
"saveFailed": "Operation failed"
"saveFailed": "Operation failed",
"batchTitle": "批量添加",
"batchPlaceholder": "每行一个目标,或用逗号分隔——主机:端口,如 1.1.1.1:443",
"batchSubmit": "全部添加",
"batchHint": "共用字段对每个目标生效;名称留空时按目标自动命名。",
"batchEmpty": "至少填写一个目标",
"batchDone": "已添加 {{count}} 个探测任务"
}
},
"settings": {
@@ -1034,6 +1046,15 @@
"alreadyLatest": "Already the latest version",
"config": "Theme settings"
},
"probe": {
"title": "探针设置",
"retentionDays": "历史保留(天)",
"retentionHint": "探针历史数据(指标/延迟)的保留时长。",
"fastInterval": "快报间隔",
"fastIntervalHint": "agent 上报运行时指标的频率;其余内容仍走 60 秒心跳。",
"metaTitle": "按节点探针元数据",
"metaNodePlaceholder": "选择节点"
},
"probeNotify": {
"notifyTitle": "Notifications",
"notifyHint": "Offline, traffic and expiry alerts, delivered to the channels below (Telegram reuses the panel bot settings).",
@@ -1057,23 +1078,11 @@
"clearSecret": "Clear",
"templateHint": "Placeholders: {{title}} {{message}} {{node}} {{event}} {{time}} {{count}} {{site}}",
"testSend": "Send a test alert",
"testSent": "Test alert sent: {{channels}}",
"retireTitle": "cf-probe retirement checklist",
"retireHint": "Only once every node is served by the panel may the old public page be switched off, in the order given in the deployment notes.",
"retirePublicPage": "Public page",
"retirePublicPageOff": "Off (enable it above)",
"retireHasProbe": "Probe reporting",
"retireNoProbe": "No probe data",
"retireOnline": "Online",
"retireOffline": "Offline",
"retireProbeAt": "Last report {{time}}",
"retireAllReady": "Every node is served by the panel; cf-probe can be retired in the documented order.",
"retireNotReady": "Some nodes have no probe data yet; do not take cf-probe down."
"testSent": "Test alert sent: {{channels}}"
},
"defaultTag": "預設",
"title": "面板設定",
"save": "儲存",
"infoDesc": "此處的所有更改都需要儲存並重啟面板才能生效",
"restartPanel": "重新啟動面板",
"restartPanelDesc": "確定要重啟面板嗎?若重啟後無法訪問面板,請前往伺服器檢視面板日誌資訊",
"restartPanelSuccess": "面板已成功重新啟動",