终端界面(TUI)
在服务器终端直接执行 daxpay(不带任何子命令),或显式执行 daxpay menu,会进入交互式管理界面(TUI)。它把常用管理动作组织成菜单,SSH 连接服务器没有浏览器、或不记得具体命令时,跟着菜单走即可完成面板管理和应急恢复。
优先用交互界面
日常终端管理推荐直接运行 daxpay 进交互界面,不需要记忆命令;具体子命令的完整参数说明见命令行用法。
进入与退出
bash
daxpay # 无参默认进入交互界面
daxpay menu # 显式进入,效果相同- 管理面板通常需要 root 权限,非 root 用户加
sudo。 - 管道、CI 等非交互环境不会进入界面,自动回退显示帮助文本,脚本化用法不受影响。
- 键位语义全局统一:
q与Esc:逐级返回(子菜单返回主菜单、结果页返回菜单);Ctrl+C:唯一无条件退出键,任何页面按它直接退出界面;- 查询类结果页支持
r键原地刷新(标题旁有刷新指示)。
界面结构
进入后首屏常驻一个状态总览头,显示:
- 运行形态(systemd / 后台进程)、面板 PID 与端口;
- 安全入口、域名限制、IP 白名单三道防线的开启状态;
- 账号锁定与两步验证状态;
- 当前 UID 与工作目录。
状态头在进入时、按 r 或动作执行返回后刷新,直接读本地状态文件,不依赖面板进程是否在运行——面板挂了它照样能看、能查、能恢复。
主菜单实际画面:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
DaxPay 运维面板 · 交互管理
│ 总览
│ 系统信息 · 负载 · 服务状态 · Docker 占用 · 端口冲突 · 生效状态
面板管理
启停 · 日志 · 版本 · 访问信息 · 卸载
访问恢复
面板打不开时(入口 · 域名 · 白名单)
账号恢复
登录不上(锁定·密码·两步验证)
命令帮助
查看全部子命令与子动作细则(比 daxpay help 全,含应急命令)
↑↓ 选择 · enter 打开 · r 刷新 · q 退出
主菜单为「顶层动作 + 分组」形态:
| 菜单项 | 内容 |
|---|---|
| 总览 | 一级直达的系统巡检(与 daxpay overview 同款,见下文) |
| 面板管理 | 启停 · 日志 · 版本 · 访问信息 · 卸载 |
| 访问恢复 | 面板打不开时:安全入口 · 域名限制 · IP 白名单 |
| 账号恢复 | 登录不上时:锁定 · 密码 · 两步验证 |
| 命令帮助 | 完整命令清单与子动作细则 |
面板管理
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
面板管理
│ 查看访问信息
│ 外网与本机访问地址、初始管理员凭据
启动面板
后台启动(systemd 安装自动走 systemctl)
停止面板
停止运行中的面板
重启面板
保留原启动参数重启
查看日志
最近 200 行运行日志
跟随日志
持续输出新增日志,Ctrl+C 结束后返回菜单
查看面板版本
版本号、二进制路径与运行形态
卸载面板
仅移除面板程序,业务容器/镜像/数据不受影响(--purge 见命令帮助)
↑↓ 选择 · enter 执行 · esc/q 返回上级 · r 刷新
| 动作 | 说明 |
|---|---|
| 查看访问信息 | 外网与本机访问地址、初始管理员凭据 |
| 启动 / 停止 / 重启面板 | systemd 安装自动走 systemctl;保留原启动参数 |
| 查看日志 | 最近 200 行运行日志 |
| 跟随日志 | 持续输出新增日志,Ctrl+C 结束后返回菜单 |
| 查看面板版本 | 版本号、二进制路径与运行形态 |
| 卸载面板 | 仅移除面板程序,业务容器与数据不受影响,界面内确认后执行 |
访问恢复
面板打不开时按「三道门」逐项排查。进入分组后按防线分节,分节行实时显示该防线的开启状态与关键值(如安全入口当前路径),一眼看出是被哪道门挡住的:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
访问恢复
│ 安全入口
│ 已开启 · /k3x9m2qp4w7nbd5e
域名限制
未开启
IP 白名单
未开启
↑↓ 选择 · enter 进入 · esc/q 返回上级 · r 刷新
选中某道防线后进入该防线的动作列表:
| 分节 | 动作 |
|---|---|
| 安全入口 | 查看状态 / 开启 / 随机更换 / 自定义路径 / 关闭 |
| 域名限制 | 查看状态 / 开启·换绑(先探测域名可达性再开启,结论展示在结果页)/ 关闭 |
| IP 白名单 | 查看状态 / 设置(逗号分隔多条 IP 或网段)/ 关闭 |
账号恢复
登录不上时使用:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
账号恢复
│ 解除登录锁定
│ 清零失败计数,解锁后可重新登录
重置账号密码
重置管理员账号密码并吊销全部已登录会话
两步验证 · 查看状态
启用状态与剩余恢复码
两步验证 · 关闭(兜底)
验证器不可用且恢复码耗尽时的最后手段
↑↓ 选择 · enter 执行 · esc/q 返回上级 · r 刷新
| 动作 | 说明 |
|---|---|
| 解除登录锁定 | 清零连续失败计数,解锁后可重新登录 |
| 重置账号密码 | 重置管理员密码,并吊销全部已登录会话 |
| 两步验证 · 查看状态 | 启用状态与剩余恢复码 |
| 两步验证 · 关闭(兜底) | 验证器不可用且恢复码耗尽时的最后手段 |
安全防线的背景与建议配置见面板安全。
总览巡检
主菜单的「总览」(等价命令 daxpay overview)一条命令看全系统,免登录、不依赖面板进程运行:
- 系统信息:OS / 架构 / 内核、面板版本与运行形态;
- 系统负载与 Docker 引擎资源占用;
- 服务状态:产品矩阵视角,全部已知服务都列出,未安装的灰态可见,运行中的带健康检查与容器 CPU / 内存占用;
- 端口检测:无冲突时给出确认行,有冲突逐条列出监听地址;
- 三栈(基础环境 / 业务 / 网关)配置生效状态。
结果页实际画面(窗口高度内为首屏,可滚动):
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
▍总览
▍系统信息
系统 Ubuntu 22.04 LTS · amd64 · 内核 5.15.0-91-generic
面板 0.3.1 · 未运行
▍系统负载
CPU 54.4%(16 核) 负载 0.00 / 0.04 / 0.07(1/5/15 分钟)
内存 3.1G / 19.5G [██░░░░░░░░] 16%
磁盘 41.0G / 1006.9G [░░░░░░░░░░] 4% 工作目录所在分区
▍服务状态
共 10 个 · 运行 10 · 停止 0 · 未安装 0
PostgreSQL running ✓ 健康 0.0% · 135M
Redis running ✓ 健康 0.2% · 16M
Artemis running ✓ 健康 0.7% · 510M
后端主应用 running ✓ 健康 0.7% · 941M
通道子应用 running ✓ 健康 0.1% · 224M
扩展通道子应用 running ✓ 健康 0.0% · 212M
运营管理端 running ✓ 健康 0.0% · 13M
商户端 running ✓ 健康 0.0% · 13M
H5 端 running ✓ 健康 0.0% · 13M
Nginx running ✓ 健康 0.0% · 14M
▍Docker 引擎占用
镜像 7.7G · 容器可写层 572.0K · 卷 22.0M · 构建缓存 3.3G · 容器日志 216.8K
▍端口检测
✓ 2 个端口无冲突
▍配置生效状态
基础环境 ✓ 已生效
↑↓ 滚动 · r 刷新 · q/esc/enter 返回菜单
采集多路并行,总耗时约等于最长一路。SSH 场景下想快速确认「服务都在跑、端口没冲突、配置都生效」,直接执行:
bash
sudo daxpay overview表单与执行结果
- 带参数的动作(如自定义入口路径、设置白名单)以表单收集输入,风险确认直接内嵌在表单里,
Esc取消返回菜单,Shift+Tab在字段间回退。 - 查询与日志类动作完成后进入结果页,内容原生排版,
r键原地刷新。 - 变更类动作(启停、三道门开关、解锁、重置密码等)完成后展示执行结果页:成功 / 失败语义、执行前后状态对比(运行状态、防线开关、锁定状态等字段变化一目了然)、原始输出保留在尾部。
与 help 的关系
daxpay help 只列日常命令并附分层引导,应急与账号类命令不在 help 中露出(命令本身照常可用);交互界面的「访问恢复 / 账号恢复」分组是这些命令的引导入口,「命令帮助」页则展示包含应急命令在内的完整清单与子动作细则,比 daxpay help 更全:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
▍命令帮助
▍面板管理
start 后台启动面板
stop 停止运行中的面板
restart 重启面板(保留原启动参数)
status 查看面板运行状态(PID/端口/鉴权/安全入口)
logs 查看运行日志(-f 跟随,--installer 切应用日志)
version 查看面板版本
info 查看初始管理员凭据(首次启动生成的账号密码)
uninstall 卸载面板(仅移除面板程序,业务容器与数据不受影响;--purge 连数据清除)
▍业务总览
overview 总览巡检:系统信息 / 负载 / 服务状态 / 端口冲突 / 配置生效状态
▍访问控制
entrance 管理安全入口(show/enable/rotate/set/disable,缺省 show)
domain 管理域名访问限制(show/enable/disable,缺省 show)
ipallow 管理授权 IP 白名单(show/set/disable,缺省 show)
▍账号安全
unlock 解除登录锁定(清零失败计数)
reset-password 重置面板账号密码(--username/--password 可非交互)
twofactor 管理两步验证(status/disable,缺省 status;验证器丢失时兜底)
▍通用
menu 交互式管理界面(终端下 daxpay 无参默认进入)
help 显示本帮助
▍子动作细则
安全入口子命令(rotate/set/disable 默认需要确认,可用 --yes/-y 跳过):
daxpay entrance show 查看当前入口状态与完整访问地址
↑↓ 滚动 · q/esc/enter 返回菜单