main
Clash Web
通过浏览器管理 Clash/Mihomo 订阅、代理节点、分流规则、连接、日志和外网连通性测试。使用 Vue 3、Go 和 SQLite,Mihomo 作为独立代理内核运行,服务部署在 Linux VM 上。
开发
需要 Go 1.24+、Node.js 22.12+ 或 24+、npm 和 Python 3。从项目根目录执行:
make build
make assets
./bin/clashweb --mihomo ./bin/mihomo --init
./bin/mihomo -d ./data/mihomo -f ./data/mihomo/config.yaml
在另一终端启动管理服务:
./bin/clashweb --mihomo ./bin/mihomo
打开 http://127.0.0.1:8080,用启动日志中的首次设置令牌创建管理员密码。开发环境保持 TUN 关闭。
依赖和内核已准备时,可直接复用,无需重复执行安装、下载命令。前端热更新、测试和配置说明见 开发文档。
部署
在开发机生成 Linux amd64 部署包:
python3 scripts/package.py
完整包 clashweb-linux-amd64.tar.gz 用于首次部署,clashweb-update-linux-amd64.tar.gz 用于升级管理程序;两者均带 SHA-256 校验文件。目标 VM 无需安装 Go、Node.js 或 npm。
安装服务、TUN 网关和客户端接入见 部署文档,程序、内核与规则升级见 升级文档。网络准备及 systemd 安装脚本在目标 VM 上运行。
文档
项目结构
cmd/clashweb/ Go 服务入口
internal/app/ 认证、SQLite、订阅及 Mihomo 控制
web/src/ Vue 页面、组件和状态管理
web/e2e/ 浏览器测试
scripts/ 构建资源、部署、诊断与打包工具
deploy/ systemd 服务定义
docs/ API、开发和运维文档
仓库仅包含源码、锁文件、测试与部署资料。本机数据库、配置密钥、内核二进制、规则文件、依赖目录、构建输出、测试缓存和部署包不提交到 Git。
Languages
Go
47.4%
Vue
28.7%
TypeScript
10.6%
Python
10.5%
Shell
2.3%
Other
0.5%