一个基于 Electron + Vue3 的多功能网络测试工具,用于测量多个网站的延迟、获取 IP 地理位置信息以及提供运维检测功能。
- 支持批量查询多个IP地址或域名
- 显示详细的地理位置信息(国家、地区、城市、ISP等)
- 集成IP2Location API服务
- 支持导出查询结果
- Ping 测试:测量网络延迟和丢包率,支持自定义数据包大小、超时时间、测试次数
- HTTP 测试:测试网站响应时间和状态,支持GET/POST/HEAD方法
- DNS 测试:测试域名解析性能,支持A/AAAA/CNAME/MX记录查询
- MTR 测试:网络路径分析,显示每个跳转点的详细信息
- 路由追踪:显示数据包经过的路由路径
- 本地持久化存储收藏记录
- 支持添加、编辑、删除收藏
- 支持备注和搜索功能
- 一键启动各种网络测试
- 现代化的图形界面设计
- 基于Element Plus组件库
- 响应式布局,支持多种屏幕尺寸
- 中文界面,操作简单直观
- 操作系统: Windows 10+, macOS 10.14+, Ubuntu 18.04+
- Node.js: 16.0+
- 内存: 最少 512MB RAM
- 磁盘空间: 最少 200MB 可用空间
git clone https://gitee.com/Snake-Konginchrist/MultiSiteLatencyTool.git
cd MultiSiteLatencyToolnpm install💡 开发说明:
- 项目默认忽略
package-lock.json文件,不会被Git跟踪- 安装时可能会有一些可选依赖的警告,这些通常可以忽略
创建 .env 文件并配置API密钥:
# IP2Location API 配置
IP2LOCATION_API_KEY=your_api_key_here
# 应用配置
NODE_ENV=development
VITE_APP_TITLE=MultiSite Latency Tool
VITE_APP_VERSION=1.0.0💡 获取API密钥: 请访问 IP2Location 注册账户并获取免费API密钥
📋 环境变量说明: 可以复制
.env.example文件为.env并修改相应配置🔐 代码签名: 默认会使用您的开发者证书。如需禁用签名,请在
.env中添加CSC_IDENTITY_AUTO_DISCOVERY=false
npm run electron:dev启动开发服务器和Electron应用,支持热重载
npm run electron:preview构建并预览生产版本
# 构建所有平台
npm run electron:build
# 构建特定平台
npm run dist:win # Windows (所有架构)
npm run dist:mac # macOS (所有架构)
npm run dist:linux # Linux (所有架构)
# 构建特定平台和架构
# Windows
npm run dist:win:x64 # Windows 64位
npm run dist:win:ia32 # Windows 32位
npm run dist:win:arm64 # Windows ARM64
# macOS
npm run dist:mac:x64 # macOS Intel (x64)
npm run dist:mac:arm64 # macOS Apple Silicon (ARM64)
npm run dist:mac:universal # macOS 通用版本 (x64 + ARM64)
# Linux
npm run dist:linux:x64 # Linux 64位
npm run dist:linux:arm64 # Linux ARM64 (如树莓派等)
# 不签名构建(开发测试推荐)
npm run dist:unsigned # 所有平台不签名构建
npm run dist:win:unsigned # Windows 不签名构建
npm run dist:mac:unsigned # macOS 不签名构建
npm run dist:linux:unsigned # Linux 不签名构建💡 关于代码签名:
- 默认构建:会使用您的开发者证书进行签名,显示开发者信息
- 不签名构建:使用
unsigned版本,不显示开发者信息,适合开发测试- macOS:签名的应用提供更好的用户体验,减少安全警告
- Windows:签名的应用避免 SmartScreen 警告,提高用户信任度
💡 关于Windows安装程序:
- 项目使用NSIS创建自定义安装程序,支持用户选择安装位置
- 卸载时会彻底清理应用数据,避免残留
- 支持x64、ia32和ARM64三种架构
- 在首页输入框中输入IP地址或域名(每行一个)
- 点击"开始查询"按钮
- 查看详细的地理位置信息
- 可将常用地址添加到收藏夹
- 切换到"Ping测试"页面
- 输入要测试的主机地址
- 配置测试参数(数据包大小、超时时间、测试次数)
- 点击"开始测试"查看结果
- 切换到"HTTP测试"页面
- 输入要测试的URL
- 选择HTTP方法(GET/POST/HEAD)
- 点击"开始测试"查看响应时间和状态
- 切换到"DNS测试"页面
- 输入要查询的域名
- 选择记录类型(A/AAAA/CNAME/MX)
- 点击"开始测试"查看解析结果
- 切换到"MTR测试"页面
- 输入目标主机
- 配置测试次数
- 查看详细的路径分析结果
- 切换到"路由追踪"页面
- 输入目标主机
- 配置最大跳数
- 查看完整的路由路径
- 切换到"收藏夹"页面
- 添加新的收藏项目
- 编辑或删除现有收藏
- 使用搜索功能快速查找
- 一键启动各种测试
- 开发者工具:
- macOS:
Command + Shift + I - Windows/Linux:
Ctrl + Shift + I
- macOS:
- 前端框架: Vue 3.5 + Composition API
- UI组件库: Element Plus 2.9
- 路由管理: Vue Router 4.5
- 桌面框架: Electron 36.3
- 构建工具: Vite 6.3
- HTTP客户端: Axios 1.9
- 数据存储: electron-store 10.0
MultiSiteLatencyTool/
├── src/
│ ├── components/ # Vue组件
│ │ ├── IpLookupView.vue # IP查询页面
│ │ ├── PingView.vue # Ping测试页面
│ │ ├── HttpView.vue # HTTP测试页面
│ │ ├── DnsView.vue # DNS测试页面
│ │ ├── MtrView.vue # MTR测试页面
│ │ ├── TracerouteView.vue # 路由追踪页面
│ │ └── FavoritesView.vue # 收藏夹页面
│ ├── router/ # 路由配置
│ ├── services/ # 业务服务
│ │ ├── ip2location.js # IP地理位置服务
│ │ ├── network.js # 网络测试服务
│ │ └── storage.js # 数据存储服务
│ ├── utils/ # 工具函数
│ ├── App.vue # 主应用组件
│ └── main.js # Vue应用入口
├── public/ # 静态资源
├── dist/ # 构建输出
├── main.js # Electron主进程
├── preload.js # 预加载脚本
├── package.json # 项目配置
├── vite.config.js # Vite配置
└── README.md # 项目说明
- 在
src/views/目录下创建新的Vue组件 - 在
src/router/index.js中添加路由配置 - 在
src/App.vue中添加导航菜单项 - 如需要,在
src/services/中添加相应的服务
- 使用快捷键打开开发者工具
- 查看控制台输出了解应用状态
- 使用Vue DevTools调试Vue组件
- Fork 本项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 创建 Pull Request
本项目基于 GPL-3.0 License 开源协议。
- IP2Location - 提供IP地理位置数据服务
- Element Plus - 优秀的Vue 3组件库
- Electron - 跨平台桌面应用框架
- Vue.js - 渐进式JavaScript框架
⭐ 如果这个项目对你有帮助,请给它一个星标!