🚀 基于 Go 语言开发的跨平台网络质量检测工具,支持 Linux、macOS 和 Windows。
- ✅ 网站延迟测试 - 并行测试多个网站的响应速度
- ✅ IP 地理信息检测 - 自动检测公网 IP 和地理位置(支持代理)
- ✅ IP 纯净度检测 - ⭐ 新功能: 智能检测 IP 类型和风险评分
- ✅ 多 API 支持 - ping0.cc (快速)、ipapi.co、ipinfo.io 等多个 API
- ✅ 代理支持 - 支持 HTTP、HTTPS、SOCKS5 代理
- ✅ 持续监控模式 - 定时刷新网络质量状态
- ✅ 自定义配置 - 支持 JSON 格式的自定义测试站点
- ✅ 表格化输出 - 清晰的表格展示测试结果
- ✅ 跨平台 - 单个二进制文件,无需依赖
- ✅ 模块化架构 - 命令注册模式,易于扩展
# 直接安装最新版本
go install github.com/icarus-go/netspeed/cmd/netspeed@latest
# 安装后,netspeed 将位于 $GOPATH/bin 或 $GOBIN 路径下
# 确保该路径已添加到系统 PATH 环境变量中# 克隆项目
git clone https://github.com/icarus-go/netspeed.git
cd netspeed
# 编译
go build -o netspeed ./cmd/netspeed
# Linux/macOS
chmod +x netspeed
sudo mv netspeed /usr/local/bin/
# Windows
# 将 netspeed.exe 添加到系统 PATH# Linux AMD64
GOOS=linux GOARCH=amd64 go build -o netspeed-linux-amd64 ./cmd/netspeed
# macOS AMD64
GOOS=darwin GOARCH=amd64 go build -o netspeed-darwin-amd64 ./cmd/netspeed
# macOS ARM64 (M1/M2)
GOOS=darwin GOARCH=arm64 go build -o netspeed-darwin-arm64 ./cmd/netspeed
# Windows AMD64
GOOS=windows GOARCH=amd64 go build -o netspeed-windows-amd64.exe ./cmd/netspeed# 查看帮助
netspeed -help
# 测试网站速度
netspeed -test
# 获取 IP 信息(显示当前网络出口 IP)
netspeed -ip
# ⭐ 获取原始 IP(绕过代理,检测真实网络出口)
netspeed -ip -origin
# ⭐ 检测 IP 纯净度
netspeed -purity# 使用代理测试(SOCKS5)
netspeed -test -proxy socks5://127.0.0.1:1080
# 使用代理测试(HTTP)
netspeed -test -proxy http://proxy.example.com:8080
# 使用环境变量设置代理(推荐)
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
netspeed -test
netspeed -ip
# 持续监控模式(每 30 秒刷新)
netspeed -test -watch 30
# 使用自定义配置文件
netspeed -test -config sites.json
# 设置超时时间(默认 10 秒)
netspeed -test -timeout 5
# 组合使用
netspeed -test -proxy socks5://127.0.0.1:1080 -watch 60支持两种代理配置方式:
-
通过参数设置(优先级高)
netspeed -test -proxy http://proxy.example.com:8080
-
通过环境变量设置(推荐方式,与其他工具保持一致)
export http_proxy=http://proxy.example.com:8080 export https_proxy=http://proxy.example.com:8080 # 所有命令都会自动使用代理 netspeed -test netspeed -ip
支持的代理协议:HTTP、HTTPS、SOCKS5
🚀 开始测试网站...
┌─────────────────┬──────────────┬────────────────────────────┬──────────┐
│ 网站 │ 延迟 │ URL │ 状态 │
├─────────────────┼──────────────┼────────────────────────────┼──────────┤
│ ✓ Google │ 45 ms │ https://www.google.com │ ✓ 优秀 │
│ ✓ GitHub │ 78 ms │ https://github.com │ ✓ 优秀 │
│ ✓ YouTube │ 156 ms │ https://www.youtube.com │ ✓ 优秀 │
│ ⚠ Twitter │ 523 ms │ https://twitter.com │ ⚠ 一般 │
│ ✗ Facebook │ Timeout │ https://www.facebook.com │ ✗ 超时 │
│ ✓ Netflix │ 234 ms │ https://www.netflix.com │ ✓ 良好 │
│ ⚠ Instagram │ 612 ms │ https://www.instagram.com │ ⚠ 一般 │
└─────────────────┴──────────────┴────────────────────────────┴──────────┘
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 统计摘要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
在线网站: 4/5 (80.0%)
平均延迟: 200 ms
最低延迟: 45 ms (Google)
最高延迟: 523 ms (Twitter)
网络质量: 良好
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🌐 正在获取 IP 信息...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 IP 地址: 14.153.68.158
🌍 国家: 中国
📌 地区: 广东省
🏙️ 城市: 深圳市
🔌 ISP: 福田中国电信
🏢 组织: AS4134 CHINANET Guangdong province network
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 正在检测 IP 纯净度...
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 IP 纯净度报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 IP 地址: 14.153.68.158
🏭 组织: AS4134 CHINANET Guangdong province network
✨ 纯净度评分: 100.0/100 (优秀)
⚠️ 风险等级: 低风险
🔎 检测结果:
✅ VPN: 未检测到
✅ 代理: 未检测到
✅ Tor: 未检测到
✅ 数据中心: 未检测到
✅ 黑名单: 未检测到
💡 建议:
✓ IP 纯净度很高,适合大多数场景使用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
纯净度评分标准:
- 90-100 分:优秀,住宅 IP
- 75-89 分:良好
- 50-74 分:一般,可能有限制
- 25-49 分:较差,建议更换
- 0-24 分:很差,强烈建议更换
检测项说明:
- VPN: 检测是否使用 VPN 服务
- 代理: 检测是否使用代理服务器
- Tor: 检测是否使用 Tor 网络
- 数据中心: 检测是否为数据中心 IP
- 黑名单: 检测是否在反垃圾邮件黑名单中
创建 sites.json 文件来自定义测试站点:
[
{
"Name": "Google",
"URL": "https://www.google.com"
},
{
"Name": "GitHub",
"URL": "https://github.com"
},
{
"Name": "Baidu",
"URL": "https://www.baidu.com"
},
{
"Name": "Taobao",
"URL": "https://www.taobao.com"
}
]使用自定义配置:
netspeed -test -config sites.json| 延迟范围 | 状态 | 说明 |
|---|---|---|
| < 200ms | 优秀 | 网络连接极佳 |
| 200-500ms | 良好 | 网络连接正常 |
| 500-1000ms | 一般 | 网络有一定延迟 |
| > 1000ms | 较差 | 网络延迟较高 |
| Timeout | 超时 | 无法连接或被屏蔽 |
# 启动 VPN 后检测出口 IP
netspeed -ip
# 测试 VPN 连接质量
netspeed -test# 方法 1: 使用参数指定代理(一次性)
netspeed -test -proxy http://proxy.company.com:8080
netspeed -test -proxy socks5://proxy.company.com:1080
# 方法 2: 使用环境变量(推荐,持久化)
export http_proxy=http://proxy.company.com:8080
export https_proxy=http://proxy.company.com:8080
netspeed -test
netspeed -ip
# 对比代理 IP 和原始 IP
netspeed -ip # 显示代理 IP
netspeed -ip -origin # 显示原始 IP(绕过代理)# 方法 1: 使用参数指定代理
netspeed -test -proxy socks5://127.0.0.1:1080 -watch 60
# 方法 2: 使用环境变量
export all_proxy=socks5://127.0.0.1:1080
netspeed -test -watch 60# HTTP/HTTPS 代理
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080
# SOCKS5 代理
export all_proxy=socks5://127.0.0.1:1080
# 取消代理设置
unset http_proxy https_proxy all_proxy- 并发测试 - 使用 goroutine 并行测试所有网站
- 超时控制 - 每个请求都有精确的超时控制
- 降级策略 - HEAD 请求失败自动降级到 GET 请求
- 故障转移 - IP 检测支持多个 API 自动切换
- 代理支持 - 完整支持 HTTP/HTTPS/SOCKS5 代理协议
- Google, YouTube, Facebook, Twitter, Instagram
- GitHub, Reddit, Wikipedia, Amazon
- Netflix, OpenAI, Telegram
使用以下 API(按优先级,支持故障转移):
- ping0.cc (快速响应,国内友好)
- ipapi.co
- ipinfo.io
- ip-api.com
netspeed/
├── cmd/netspeed/
│ └── main.go # 主程序入口
├── pkg/
│ ├── command/ # 命令注册与执行
│ ├── commands/ # 具体命令实现
│ ├── config/ # 配置管理
│ ├── ipinfo/ # IP 信息检测
│ ├── output/ # 输出格式化
│ ├── proxy/ # 代理支持
│ └── tester/ # 网站测试
├── sites.example.json # 示例配置文件
├── Makefile # 构建脚本
├── go.mod # Go 模块定义
├── go.sum # 依赖校验和
├── README.md # 项目文档
└── bin/ # 编译后的可执行文件
├── netspeed-darwin-arm64
├── netspeed-darwin-amd64
├── netspeed-linux-amd64
├── netspeed-linux-arm64
└── netspeed-windows-amd64.exe
可能原因:
- 网站被防火墙屏蔽
- 网络环境不稳定
- 超时时间过短
解决方案:
# 增加超时时间到 20 秒
netspeed -test -timeout 20VPN 通常会自动接管系统网络,无需额外配置:
# 直接测试即可(自动使用 VPN)
netspeed -test
netspeed -ip检查代理 URL 格式:
# 正确格式
netspeed -test -proxy socks5://127.0.0.1:1080
netspeed -test -proxy http://proxy:8080
# 错误格式(缺少协议)
netspeed -test -proxy 127.0.0.1:1080 # ❌确保:
- 使用 PowerShell 或 CMD(不是 Git Bash)
- 文件名是
netspeed.exe - 已添加到 PATH 或使用完整路径
# PowerShell 示例
.\netspeed.exe -test- 添加 JSON 输出格式支持
- 支持 IPv6 测试
- 添加 DNS 解析时间测试
- 支持历史记录保存
- 添加 Web UI 界面
- 支持导出测试报告(PDF/HTML)
欢迎提交 Issue 和 Pull Request!
MIT License
基于 NetPulse Chrome Extension 的思路开发。