最近因为客户需要做四线监控测试,我们在网上找了一圈 Looking Glass 面板,结果发现市面上现有的项目大多是基于 PHP 的老旧方案,要么界面陈旧、功能有限,要么已经多年无人维护,根本无法满足我的需求。
于是,我们干脆决定自己动手,联合朋友一起开发了一个全新的 Looking Glass 项目 —— NetMirror ,希望能为各大 IDC 运营商、oneman 运维以及广大网络爱好者提供更现代、更易用的解决方案。
在此也特别感谢 wikihost-opensource 和 Hybula ,他们的项目为我们提供了很多设计和架构上的灵感。
NetMirror 是什么?
NetMirror 是一个功能丰富、界面美观的现代化 Looking Glass 服务端面板,适用于展示和测试多线路网络节点状态。它支持常见的网络诊断工具(如 ping 、traceroute 、mtr 、speedtest 等),并支持多地区节点统一展示,方便用户对比各线路的性能和可达性。
官方 Demo
开源地址: https://github.com/catcat-blog/NetMirror (欢迎点点 star )我的博客说明地址 : https://catcat.blog/docker-install-netmirror.htmlDemo
功能特性
- 现代 UI: 基于 Vue3 + TailwindCSS 打造的响应式界面。网络工具:集成了 Ping 、iPerf3 和 Speedtest,BGP 接口等一套工具。实时流量:实时监控网络接口流量。交互式 Shell: 用于基本诊断的模拟 Shell 环境。轻松部署:以单个 Docker 容器的形式提供。可定制:通过环境变量配置功能和服务器详情。多节点支持: 考虑到部分商家的地区很多,同时也新增了主从地区切换的模块。安全设计:仅暴露面板与相关接口,节点通过 gRPC 安全通信。
界面预览
部署Docker 部署克隆仓库
git clone https://github.com/Yuri-NagaSaki/NetMirror.git cd NetMirror
创建环境文件复制环境文件示例以创建您自己的配置。
cp .env.example .env
注意:如果 .env.example 文件不存在,您可以创建一个空的 .env 文件,并从下表中添加您需要的变量。
自定义您的配置 (可选)编辑 .env 文件以设置您的服务器位置、公网 IP 地址和其他选项。
启动服务:
services: als: image: soyorins/netmirror:latest container_name: looking-glass-e restart: always network_mode: host user: root env_file: - .env volumes: - ./data:/data - ./.air.toml:/app/.air.toml healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:${HTTP_PORT:-80}/"] interval: 30s timeout: 10s retries: 3 logging: driver: "json-file" options: max-size: "10m" max-file: "3"
docker compose up -d
应用将可以通过 http://<您的服务器 IP> 访问。默认端口是 3000 ,可以通过 HTTP_PORT 环境变量进行更改。