Terminal UI (TUI)
Running daxpay directly in a server terminal (without any sub-command), or explicitly running daxpay menu, opens the interactive management UI (TUI). It organizes common management actions into menus: when you are on an SSH session with no browser, or can't remember the exact command, just follow the menus to manage the panel and perform emergency recovery.
Prefer the interactive UI
For day-to-day terminal management, simply run daxpay to enter the interactive UI — no need to memorize commands; for the complete parameter reference of each sub-command see Command Line Usage.
The TUI interface itself is Chinese-only
The panel has no English terminal UI yet — the screen captures on this page preserve the actual on-screen Chinese text. Each capture is followed by an English table explaining every menu item, so you can operate the UI by matching the screen against the tables.
Entering and Exiting
daxpay # no arguments: enters the interactive UI by default
daxpay menu # explicit entry, same effect- Managing the panel usually requires root; non-root users should add
sudo. - Pipes, CI, and other non-interactive environments do not enter the UI — the command automatically falls back to printing help text, so scripted usage is unaffected.
- Key bindings are consistent everywhere:
qandEsc: go back one level (sub-menu back to the main menu, result page back to the menu);Ctrl+C: the only unconditional exit key — pressing it on any page quits the UI directly;- query result pages support
rto refresh in place (a refresh indicator sits next to the title).
UI Structure
The first screen keeps a persistent status header showing:
- the run mode (systemd / background process), the panel PID and port;
- the on/off state of the three defense lines: secure entrance, domain restriction, IP allowlist;
- account lockout and two-step verification status;
- the current UID and working directory.
The status header refreshes on entry, on r, and after an action returns; it reads the local state files directly and does not depend on the panel process running — even with the panel dead, it can still show, query, and recover.
The actual main menu:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
DaxPay 运维面板 · 交互管理
│ 总览
│ 系统信息 · 负载 · 服务状态 · Docker 占用 · 端口冲突 · 生效状态
面板管理
启停 · 日志 · 版本 · 访问信息 · 卸载
访问恢复
面板打不开时(入口 · 域名 · 白名单)
账号恢复
登录不上(锁定·密码·两步验证)
命令帮助
查看全部子命令与子动作细则(比 daxpay help 全,含应急命令)
↑↓ 选择 · enter 打开 · r 刷新 · q 退出
The main menu is laid out as "top-level actions + groups":
| Menu item | Contents |
|---|---|
| Overview | One-key system inspection (same as daxpay overview, see below) |
| Panel Management | Start/stop · logs · version · access info · uninstall |
| Access Recovery | When the panel won't open: secure entrance · domain restriction · IP allowlist |
| Account Recovery | When you can't log in: lockout · password · two-step verification |
| Command Help | The complete command list and sub-action details |
Panel Management
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 刷新
| Action | Description |
|---|---|
| View access info | Public and local access URLs, initial admin credentials |
| Start / Stop / Restart panel | systemd installs go through systemctl automatically; original startup parameters are kept |
| View logs | Last 200 lines of runtime logs |
| Follow logs | Streams new log output; Ctrl+C ends it and returns to the menu |
| View panel version | Version number, binary path, and run mode |
| Uninstall panel | Removes the panel program only; business containers and data are unaffected; runs after an in-UI confirmation |
Access Recovery
When the panel won't open, work through the "three gates" one by one. Inside the group, sections are split by defense line, and each section row shows the live on/off state and key values of that line (such as the current secure entrance path), so you can tell at a glance which gate is blocking you:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
访问恢复
│ 安全入口
│ 已开启 · /k3x9m2qp4w7nbd5e
域名限制
未开启
IP 白名单
未开启
↑↓ 选择 · enter 进入 · esc/q 返回上级 · r 刷新
Selecting a defense line opens its action list:
| Section | Actions |
|---|---|
| Secure entrance | View status / enable / rotate to random / custom path / disable |
| Domain restriction | View status / enable · rebind (probes domain reachability before enabling; the result is shown on the result page) / disable |
| IP allowlist | View status / set (multiple IPs or ranges, comma-separated) / disable |
Account Recovery
Use this when you can't log in:
DaxPay 运维面板 · 交互管理 v0.3.x
────────────────────────────────────────────────────────────────────────
运行状态 ● 运行中(daemon,PID 1267080,端口 8060)
访问限制 安全入口 已开启 · 域名限制 未开启 · IP 白名单 未开启
登录账号 已设置 · 未锁定 · 两步验证未启用
当前环境 uid=0 · /opt/daxpay · 服务 daxpay-panel
────────────────────────────────────────────────────────────────────────
账号恢复
│ 解除登录锁定
│ 清零失败计数,解锁后可重新登录
重置账号密码
重置管理员账号密码并吊销全部已登录会话
两步验证 · 查看状态
启用状态与剩余恢复码
两步验证 · 关闭(兜底)
验证器不可用且恢复码耗尽时的最后手段
↑↓ 选择 · enter 执行 · esc/q 返回上级 · r 刷新
| Action | Description |
|---|---|
| Unlock login | Resets the consecutive-failure counter; you can log in again after unlocking |
| Reset account password | Resets the admin password and revokes all logged-in sessions |
| Two-step verification · View status | Enablement status and remaining recovery codes |
| Two-step verification · Disable (fallback) | The last resort when the authenticator is unavailable and the recovery codes are exhausted |
For the background and recommended configuration of the security defense lines see Panel Security.
Overview Inspection
The main-menu "总览" (Overview) item (equivalent command: daxpay overview) shows the whole system in one shot — no login, independent of the panel process:
- System info: OS / architecture / kernel, panel version and run mode;
- system load and Docker engine resource usage;
- service status: a product-matrix view listing every known service — uninstalled ones visible in grey, running ones with health checks and container CPU / memory usage;
- port check: a confirmation line when conflict-free, or the listening addresses listed one by one on conflicts;
- effective-configuration status of the three stacks (base environment / business / gateway).
The actual result page (first screen within the window height, scrollable):
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 返回菜单
Collection runs the probes in parallel, so the total time is roughly that of the slowest one. Over SSH, when you just want to quickly confirm "all services running, no port conflicts, configuration effective", simply run:
sudo daxpay overviewForms and Execution Results
- Parameterized actions (such as a custom entrance path or setting the allowlist) collect input through a form with the risk confirmation embedded in it;
Esccancels and returns to the menu,Shift+Tabmoves back between fields. - Query and log actions end on a result page with natively laid-out content;
rrefreshes it in place. - Change actions (start/stop, the three gates' toggles, unlock, reset password, etc.) end on an execution result page: success / failure semantics, a before/after state comparison (run status, defense-line toggles, lockout state — field changes at a glance), with the raw output kept at the bottom.
Relationship with daxpay help
daxpay help lists only the daily commands with layered guidance; emergency and account commands are not surfaced in help (the commands themselves work as usual). The "Access Recovery / Account Recovery" (访问恢复 / 账号恢复) groups of the interactive UI are the guided entry for these commands, and the "Command Help" (命令帮助) page shows the complete list including the emergency commands, with sub-action details — more than 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 返回菜单