
开发了一个HClient CLI Web 管理面板
https://appstore.lazycat.cloud/#/shop/detail/community.lazycat.app.openvpn
为了方便服务端配置凭证,所以基于 Flask 封装了 [hclient-cli](https://gitee.com/lazycatcloud/hclient-cli/blob/master/README.md#hclient-cli) HClientWeb 管理界面,提供可视化操作替代命令行。

## 功能
- 🚀 启动/停止 CLI(支持 TUN 模式)
- ➕ 添加微服(输入 boxname、用户名、密码)
- 🔐 设置两步验证码 (TFA)
- 📋 查看/删除微服列表
- ℹ️ 查看客户端信息
## 快速开始
### 1. 下载 hclient-cli 和 Web 管理面板
我开源到了这个,可以使用git clone进行下载:
```
https://github.com/cloudsmithy/hClient-docker.git
```
然后从 [Releases](https://gitee.com/lazycatcloud/hclient-cli/releases) 下载HClient CLI对应系统版本,放到项目目录:
```bash
# Linux/macOS
chmod +x ./hclient-cli-linux-amd64 # 或其他对应版本
mv ./hclient-cli-linux-amd64 ./hclient-cli
```
> 要分得清是X86还是ARM
### 2. 本地运行(不用 Docker)
```bash
pip install -r requirements.txt
python app.py
```
因为用Docker部署会遇到比较复杂的网络问题,需要修改路由表或者network=host,作者才疏学浅,暂时没有适配的打算。
### 3. 访问面板
打开浏览器访问 http://IP:8080
如果你运行在服务端,这里的IP就是服务端的ip,当然也可以使用你的windows或者Mac来运行这个程序。虽然起初是为了给headless服务用的,但是也同样适用于桌面端。
## 使用说明
### 添加微服
1. 在「CLI 控制」卡片中,确认 CLI 路径正确(默认 `./hclient-cli`)
2. 点击「启动 CLI」
3. 在「添加微服」卡片中填写:
- 微服名称 (bname)
- 用户名 (uid)
- 密码 (password)
4. 点击「添加微服」

### 设置两步验证
如果微服开启了两步验证:
1. 在「设置两步验证码」卡片中填写微服名称和验证码
2. 点击「设置验证码」
### 访问微服
CLI 启动后,可通过 HTTP 代理访问微服: (这个待实现)
```bash
curl -x http://127.0.0.1:61090 https://$boxname.heiyu.space
```
如果启用了 TUN 模式,可直接访问:
```bash
curl https://$boxname.heiyu.space
```
### TUN 模式
勾选「启用 TUN 模式」后启动 CLI,可无需配置代理直接访问微服。Docker 容器已配置特权模式和网络权限。(目前只做了tun模式的)
## 原始 CLI API 参考
Web 面板封装了以下 CLI HTTP API:
| 操作 | API |
|------|-----|
| 添加微服 | `POST /add_box?bname=&uid=&password=` |
| 设置 TFA | `POST /add_tfa?bname=&tfa=` |
| 列举微服 | `GET /box_list` |
| 删除微服 | `DELETE /del_box?bname=` |
| 客户端信息 | `GET /client_info` |
## 注意事项
- macOS 用户:5000 端口被 AirPlay 占用,已改用 8080 端口
- TUN 模式需要特权权限,Docker 已配置
- CLI 默认监听 `127.0.0.1:7777` 提供管理 API,`127.0.0.1:61090` 提供 HTTP 代理
u29955060
11/21/2025
通过端口转发,外网通过client链接,tcp成功了,udp不成功,报tls超时,有人知道咋回事不?