# 使用说明 ## 安装 ```bash npm install npm run build npm link # 可选,之后可以全局用 server-config ``` 要求:Node ≥ 18,真实终端(不能 pipe stdin)。 ## 启动 ```bash server-config # 或:node bin/server-config.js ``` 进入交互式菜单。**没有命令行参数**,所有输入都在 TUI 里完成。 ## 键位 | 键 | 作用 | |----|------| | `↑` `↓` | 移动光标 | | `Enter` | 确认 | | `Tab` / `↓` | 表单字段切换 | | `Space` | 切换勾选项(如 "Restart frpc") | | `Esc` | 返回上一屏 | | `q` | 在主菜单退出 | ## 菜单 主菜单: - **Install zsh + oh-my-zsh + nvm** — 一键装 zsh / 插件 / nvm + LTS Node。 - **Install OpenSSH server** — 装 openssh-server 并 enable。 - **FRP setup ▸** — 进入 frp 子菜单。 - **Bootstrap** — 顺序执行 zsh + ssh + frp install,token 走同一次输入。 FRP 子菜单: - **Install frp client + service** — 下载安装 frp + 写配置 + 装 systemd unit + 启动。需要 token。 - **Init / rewrite frpc.toml** — 仅重写配置,保留已有代理。 - **Add proxy** — 填名字 / 类型 / 本地 IP+端口 / 远端端口,写入的实际 name 会带 8 位随机后缀。 - **List / remove proxies** — 列出现有代理,选中即删。 - **Restart frpc** — `systemctl restart frpc`。 ## 流程 任何会改系统的动作都是两步: 1. **Plan 屏** — 列出每一步要做什么(命令或写文件),选 `Run now` 或 `Cancel`。 2. **Run 屏** — 实时显示 ◐/✓/✗ 状态和子进程输出。失败立刻停止。 ## 环境变量 - `FRP_TOKEN` — 启动前 export,TokenPrompt 会自动填好,省去手输。 ## 注意 - sudo 没有交互密码框。事先 `sudo -v` 缓存凭据,或配 NOPASSWD,否则带 sudo 的步骤会失败。 - 默认 frp 服务端 `81.70.134.9:15443`,安装到 `/opt/frp/frp_0.58.1_linux_amd64/`,systemd 服务名 `frpc`。 ## 开发 ```bash npm run build:watch # 监听重建 npm test # 跑解析器单元测试 ```