This commit is contained in:
2026-05-11 17:19:13 +08:00
parent 03a3973014
commit 1b16641e26
22 changed files with 3012 additions and 847 deletions

70
USAGE.md Normal file
View File

@@ -0,0 +1,70 @@
# 使用说明
## 安装
```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 installtoken 走同一次输入。
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` — 启动前 exportTokenPrompt 会自动填好,省去手输。
## 注意
- 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 # 跑解析器单元测试
```