feat: 主机环境一键初始化(页面内装依赖 + 修转发/GRE)

- 新增 GET /api/system/env:主机环境体检
  * 运行权限 / IPv4 转发 / GRE 内核模块 / 包管理器 / 各协议依赖 / xl2tpd
  * 返回 failed/blocking/ready 汇总,供前端渲染与门控
- 新增 POST /api/system/fix:白名单修复动作
  * ip_forward:sysctl 开启 + 持久化到 /etc/sysctl.d/99-opsx-vpn.conf
  * gre_module:modprobe + 持久化到 /etc/modules-load.d/opsx-vpn.conf
  * install:<协议>:复用 binmgr.InstallViaPackageManager(apt/yum/dnf/apk/pacman)
  * tool:xl2tpd:L2TP 依赖补齐
  * 仅 admin 可调用;actions 与协议名均走白名单,绝不接受调用方传入命令串;全部写审计日志
- Dashboard:协议「安装命令」按钮改为「一键安装」(调 /binaries/install,含包管理器降级)
- Dashboard:主机前提警告条新增「一键修复」按钮(按缺失项逐项修复)
- i18n:中英文补齐 oneClickInstall / oneClickFix / fixSuccess / fixFailed / fixNeedRoot / fixNothing
This commit is contained in:
opsx committed 2026-10-20 21:32:53 +08:00
1 parent ef7eb378d2
commit a15786ea84
6 files changed
+450 -6

No files matched your search

+7 -1
View File
@@ -108,7 +108,13 @@
"otherDistros": "Other Distros",
"copyRecommended": "Copy Recommended",
"getInstallCmdFailed": "Failed to get install command",
"aptDefault": "apt default"
"aptDefault": "apt default",
"oneClickInstall": "Install",
"oneClickFix": "Auto Fix",
"fixSuccess": "Fixed: {items}",
"fixFailed": "Fix failed: {items}",
"fixNeedRoot": "Root privileges required to modify system config",
"fixNothing": "Nothing to auto-fix"
},
"tunnels": {
"searchPlaceholder": "Search by name",