From 2db6cb4d0af780fdd372778535b761f2a6be4533 Mon Sep 17 00:00:00 2001 From: xzx3344521 Date: Tue, 28 Oct 2025 14:23:33 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E6=B5=8B=E9=80=9F=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 测速中文 | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/测速中文 b/测速中文 index c8f4add..21793e9 100644 --- a/测速中文 +++ b/测速中文 @@ -1,24 +1,27 @@ #!/bin/bash -echo "🚀 一键网络测速(稳定版)" +echo "🚀 一键网络测速" -# 延迟测试 -echo "1. 网络延迟测试(10次):" -ping -c 10 114.114.114.114 | tail -1 | awk -F'/' '{print " 平均延迟: "$4" ms"}' +# 检查并安装必要工具 +if ! command -v bc &> /dev/null; then + echo "安装必要工具..." + apt-get update > /dev/null 2>&1 && apt-get install -y bc > /dev/null 2>&1 +fi -# 下载速度测试(确保测试10秒) -echo "2. 下载速度测试(10秒):" -for i in {1..3}; do - echo " 第$i次测试..." - start=$(date +%s) - speed=$(curl -s -w "%{speed_download}" -o /dev/null --max-time 10 http://cachefly.cachefly.net/100mb.test) - end=$(date +%s) - duration=$((end - start)) - - if [ $duration -ge 5 ]; then - speed_mbps=$(echo "scale=2; $speed / 1024 / 1024" | bc) - echo " 下载速度: $speed_mbps MB/s" - break - fi -done +# 延迟测试 - 10次ping取平均值 +echo "🔄 测试网络延迟..." +ping_result=$(ping -c 10 8.8.8.8 | tail -1) +if echo "$ping_result" | grep -q "/"; then + avg_ping=$(echo "$ping_result" | awk -F'/' '{print $5}') + echo "网络延迟: $avg_ping ms" +else + echo "网络延迟: 测试失败" +fi + +# 下载速度测试 - 使用 wget 显示实时速度 +echo "⬇️ 测试下载速度(10秒)..." +echo "正在下载测试文件..." + +# 使用 wget 并显示进度(会自动显示速度) +wget -O /dev/null --progress=dot:giga --timeout=15 http://cachefly.cachefly.net/100mb.test 2>&1 | grep --line-buffered -oP '\d+\.\d+ [KM]B/s' | tail -1 | awk '{print "平均下载速度: " $1 " " $2}' echo "✅ 测速完成"