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:
1 parent
ef7eb378d2
commit
a15786ea84
6 files changed
+450
-6
No files matched your search
@@ -280,6 +280,9 @@ func (s *Server) RegisterRoutes(r *gin.Engine) {
|
||||
// 平台管理 admin
|
||||
admin := auth.Group("")
|
||||
admin.Use(requireRole("admin"))
|
||||
// 主机环境体检与一键初始化(仅 admin)
|
||||
admin.GET("/system/env", s.systemEnv)
|
||||
admin.POST("/system/fix", s.systemFix)
|
||||
admin.GET("/users", s.listUsers)
|
||||
admin.POST("/users", s.createUser)
|
||||
admin.PUT("/users/:id", s.updateUser)
|
||||
|
||||
Reference in new issue
Block a user