开发了一个HClient CLI Web 管理面板

忘机山人

发布于171天前
博客图片修整中,看不了可以先搜索公众号“忘机山人”看。
https://appstore.lazycat.cloud/#/shop/detail/community.lazycat.app.openvpn

为了方便服务端配置凭证,所以基于 Flask 封装了 hclient-cli HClientWeb 管理界面,提供可视化操作替代命令行。

f1d0742ed51e237067601acbae1fb341.png

功能

  • 🚀 启动/停止 CLI(支持 TUN 模式)
  • ➕ 添加微服(输入 boxname、用户名、密码)
  • 🔐 设置两步验证码 (TFA)
  • 📋 查看/删除微服列表
  • ℹ️ 查看客户端信息

快速开始

1. 下载 hclient-cli 和 Web 管理面板

我开源到了这个,可以使用git clone进行下载:

https://github.com/cloudsmithy/hClient-docker.git

然后从 Releases 下载HClient CLI对应系统版本,放到项目目录:

# Linux/macOS
chmod +x ./hclient-cli-linux-amd64  # 或其他对应版本
mv ./hclient-cli-linux-amd64 ./hclient-cli

要分得清是X86还是ARM

2. 本地运行(不用 Docker)

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. 点击「添加微服」

image.png

设置两步验证

如果微服开启了两步验证:

  1. 在「设置两步验证码」卡片中填写微服名称和验证码
  2. 点击「设置验证码」

访问微服

CLI 启动后,可通过 HTTP 代理访问微服: (这个待实现)

curl -x http://127.0.0.1:61090 https://$boxname.heiyu.space

如果启用了 TUN 模式,可直接访问:

curl https://$boxname.heiyu.space

TUN 模式

勾选「启用 TUN 模式」后启动 CLI,可无需配置代理直接访问微服。Docker 容器已配置特权模式和网络权限。(目前只做了tun模式的)

原始 CLI API 参考

Web 面板封装了以下 CLI HTTP API:

操作API
添加微服POST /add_box?bname=&uid=&password=
设置 TFAPOST /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 代理

评论

0

暂无评论

说点什么呢~
收藏
0
0
0