Clash Master:OpenClash 流量管理的现代仪表盘
探索 Clash Master,一个优雅的开源面板,使用 Next.js、React 与 TypeScript 构建,能够实时可视化 Clash/OpenClash 网络流量。学习如何通过 Docker Compose 部署、在本地运行、配置后端连接,并排除常见端口冲突。本指南还涵盖数据持久化、多架构支持以及 API/WebSocket 选项,帮助你轻松监控带宽使用、规则统计和地区级流量。
Clash Master:OpenClash 流量管理的现代仪表盘
OpenClash 是一款流行的代理/路由器解决方案,用于管理路由器上的 VPN 与广告拦截流量。其后端 API 提供原始数据,但缺乏直观的可视化界面。
推出 Clash Master——一款现代化、开源仪表盘,由 Next.js、React 19、TypeScript、Tailwind CSS 与 Node .js 数据收集器构建。它为你提供:
- 实时流量图(带宽、延迟、地区)
- 交互式规则统计与分页
- 设备、IP 与域名洞察
- 支持 WebSocket 的实时更新
- Docker 友好的部署
- 多架构镜像(amd64 与 arm64)
- 使用 SQLite 的轻量级数据持久化
为什么选择 Clash Master?
| 功能 | 优点 |
|---|---|
| Web UI + API | 前端可通过同一域名访问数据,无需额外端口 |
| WebSocket | 直观更新,无需轮询 |
| Docker Compose | 零配置,插拔式部署 |
| 数据收集器 | 作为独立微服务运行,保持 UI 轻盈 |
| CLI 脚本 | setup.sh 自动检测端口冲突并生成所需 docker‑compose.yml |
快速开始(推荐使用 Docker Compose)
- 创建一个
docker-compose.yml文件,内容如下:
services:
clash-master:
image: foru17/clash-master:latest
container_name: clash-master
restart: unless-stopped
ports:
- "3000:3000" # Web UI
- "3001:3001" # API(可选)
- "3002:3002" # WebSocket(可选)
volumes:
- ./data:/app/data
environment:
- NODE_ENV=production
- 运行:
docker compose up -d
- 在浏览器中打开 http://localhost:3000。
- 第一次访问会提示你添加 OpenClash 后端(IP、端口,可选 token)。保存后,收集器将开始采集数据。
一键脚本
若你倾向于单行命令:
curl -fsSL https://raw.githubusercontent.com/foru17/clash-master/main/setup.sh | bash
脚本功能:
- 下载已准备好的
docker‑compose.yml。 - 检查默认端口 3000/3001/3002 是否冲突。
- 如有需要,建议替代端口。
- 创建配置文件并启动容器。
从源代码运行(开发)
git clone https://github.com/foru17/clash-master.git
cd clash-master
pnpm install
pnpm dev
访问 http://localhost:3000——开发服务器将监视文件变更。
端口冲突解决
若遇到 port already in use 错误:
- 创建
.env文件:
WEB_EXTERNAL_PORT=8080
API_EXTERNAL_PORT=8081
WS_EXTERNAL_PORT=8082
- 重启堆栈:
docker compose down
docker compose up -d
替代方案:编辑 docker‑compose.yml
ports:
- "8080:3000"
- "8081:3001"
- "8082:3002"
数据持久化与备份
收集器将统计信息存储在 ./data/stats.db。备份方法:
cp -r ./data ./data-backup-$(date +%Y%m%d)
若需清空历史,使用 UI 的 “Database” 选项卡删除指定时间之前的条目。
常见问题(FAQ)简述
- 端口冲突? 调整
.env或docker‑compose.yml。 - API 访问? 暴露 3001 端口或设置
API_URL环境变量。 - WebSocket? 暴露 3002 端口或设置
WS_URL环境变量。 - 连接 OpenClash? 确保路由器的 External Control 已开启,并且使用的 token(如有)一致。
结语
Clash Master 将原始 OpenClash 指标转化为交互式、开发者友好的仪表盘。无论你是网络管理员还是业余爱好者,现代工具链、Docker 友好部署与强大的数据收集组合,使其成为在任何平台上可视化 VPN 流量的首选方案。
小贴士: 关注 GitHub 项目——免费且有助于持续维护开发。