原文地址 前言
我是一个完美主义强迫症患者,在技术可及原则允许的范围内,事情一定要做到最完美,这对于做脚本来说简直就是灾难。因为完善的功能、美观的输出、高度的鲁棒性往往和Shell这种极端古老的语言(甚至不能叫语言,而是一种命令行解释器)互斥,外加我对于脚本自身“清洁”的高度执着,比如(除依赖外)严禁读写硬盘、尽量只使用包管理器、第三方应用只使用具有良好口碑的如speedtest官方cli,这一切都导致编写过程极度痛苦,持续的加班熬夜是日常现象。举个例子,在做三网延迟的部分,因为检测结果不完美、检测时间过长等原因,先后写了ping/hping3/nping/mtr四个方案,每次都是完全写好了,只因为很小的问题,彻底推倒重写,这对于做公益事情来讲是难以想象的。说心里话,要不是出于自身兴趣,以及对开源社区的回馈,即便给我20w也不会去做这么辛苦麻烦的事情。在无数个辛苦爆肝的日夜之后,网络体检脚本和各位见面了,脚本不以其他任何脚本作为竞争目标,只是单纯出于对于社区的回馈,做参考级网络测评脚本,希望各位能够喜欢。
省流简介
● 努力做市面最好的网络质量检测类脚本 ● 中英文双语言支持 ● 支持IPv4/IPv6双栈查询 ● 精美排版,直观显示,多终端单屏优化展示 ● 支持json输出便于大数据分析 ● BGP信息、本地策略、接入信息、三网TCP大包延迟、三网回程路由、国内测速、国际互连七大模块 ● 支持延迟模式、低数据模式、跳过任意章节,多种测试方式可根据需求弹性选择
脚本运行(单次运行时间6-8分钟):
● 交互界面
bash <(curl -Ls Check.Place) -N
● 默认检测
bash <(curl -sL Net.Check.Place)
GitHub项目地址(欢迎Star关注): https://github.com/xykt/NetQuality
网络质量体检脚本 - Network Quality Check Script (EN)
支持OS/Platform:Ubuntu | Debian | Linux Mint | Fedora | Red Hat Enterprise Linux (RHEL) | CentOS | Arch Linux | Manjaro | Alpine Linux | AlmaLinux | Rocky Linux | macOS | Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE | Void Linux
● 中英文双语言支持 ● 支持IPv4/IPv6双栈查询 ● 精美排版,直观显示,多终端单屏优化展示,便于截图分享 ● BGP信息、本地策略、接入信息、三网TCP大包延迟、三网回程路由、国内测速、国际互连七大模块 ● 基础数据源自BGP.TOOLS及BGP.HE.NET数据库 ● 上游及接入信息直观展示 ● 中国大陆地区31个省/市/自治区电信/联通/移动三网回程延迟 ● 基于SPEEDTEST.NET的中国大陆(含大湾区)三网网速测试 ● 全球五大洲网速及延迟测试 ● 延迟模式、低数据模式、跳过任意章节,多种测试方式弹性选择 ● Json输出便于大数据分析
屏幕截图IPv4测试结果IPv6测试结果

延迟模式测试结果完整路由模式测试结果

使用方法
便捷模式:交互界面

bash <(curl -Ls Check.Place) -N
高级模式:参数运行

默认双栈检测:
bash <(curl -Ls Net.Check.Place)
只检测IPv4结果:
bash <(curl -Ls Net.Check.Place) -4
只检测IPv6结果:
bash <(curl -Ls Net.Check.Place) -6
延迟模式:
bash <(curl -Ls Net.Check.Place) -P
完整路由模式(TCP大包):
bash <(curl -Ls Net.Check.Place) -R [大陆地区省级行政区名称或中/英文简称]
缺省状态默认检测北京、上海、广东三地
bash <(curl -Ls Net.Check.Place) -R
指定参数可检测任意大陆省级行政区(以下任选其一)
bash <(curl -Ls Net.Check.Place) -R 桂 bash <(curl -Ls Net.Check.Place) -R 广西 bash <(curl -Ls Net.Check.Place) -R 广西壮族自治区 bash <(curl -Ls Net.Check.Place) -R GX bash <(curl -Ls Net.Check.Place) -R gx
低数据模式:
bash <(curl -Ls Net.Check.Place) -L
跳过任意章节:
bash <(curl -Ls Net.Check.Place) -S 1234567
中英文双语支持:
bash <(curl -Ls Net.Check.Place) -l cn|en
Json输出(输出示例):
bash <(curl -Ls Net.Check.Place) -j
输出报告ANSI/JSON/纯文本至文件:
bash <(curl -Ls Net.Check.Place) -o /path/to/file.ansi bash <(curl -Ls Net.Check.Place) -o /path/to/file.json bash <(curl -Ls Net.Check.Place) -o /path/to/file.txtoranyother
跳过检测系统及安装依赖:
bash <(curl -Ls Net.Check.Place) -n
自动安装依赖:
bash <(curl -Ls Net.Check.Place) -y
报告展示完整IP地址:
bash <(curl -Ls Net.Check.Place) -f
脚本更新
2025/04/23 18:00 增加-o输出报告ANSI/JSON/纯文本至文件,修复三网回程线路测试偶发卡死问题
2025/04/21 22:15 更新:完整路由模式,折叠重复的路由信息
2025/04/21 00:00 修复macOS兼容性问题,提升脚本鲁棒性
2025/04/20 21:00 修复大陆IP无法正常获取脚本资源的问题
2025/03/28 00:50 增加-R完整路由模式,增加低数据模式的国际互连延迟测试,修复bugs
2025/03/13 22:40 增加-n参数,跳过OS检测及安装依赖
2025/03/12 17:00 脚本发布
脚本贡献
Acknowledgments:
● 衷心感谢GlobalSign提供稳定可靠的三网测试地址,你的付出为脚本最重要的功能之一奠定了坚实基础 ● 感谢福尔摩斯,你在功能及美工方面为脚本提供了诸多宝贵建议 ● 感谢酒神,你为脚本提供了技术支持及宝贵建议 ● 感谢Si,你为脚本的功能及排版提供了重要建议参考 ● 感谢Kakan,你为脚本提供了宝贵的参考意见 ● 感谢V.PS/Bage/丽萨主机提供服务器支持
