mirror of
https://github.com/everett7623/nodeloc_vps_test.git
synced 2024-12-27 08:45:20 +00:00
Update Nlbench_beta.sh
This commit is contained in:
parent
011c06d040
commit
700aeb9298
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# 定义版本
|
# 定义版本
|
||||||
VERSION="2.1.0"
|
VERSION="2.2.0"
|
||||||
|
|
||||||
# 定义颜色
|
# 定义颜色
|
||||||
RED='\033[0;31m'
|
RED='\033[0;31m'
|
||||||
@ -41,6 +41,15 @@ install_dependencies() {
|
|||||||
echo -e "${GREEN}依赖项检查和安装完成。${NC}"
|
echo -e "${GREEN}依赖项检查和安装完成。${NC}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 获取IP地址
|
||||||
|
get_ip_address() {
|
||||||
|
ipv4_address=$(curl -s --max-time 5 ipv4.ip.sb)
|
||||||
|
[ -z "$ipv4_address" ] && ipv4_address=$(ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v '127.0.0.1' | head -n1)
|
||||||
|
|
||||||
|
ipv6_address=$(curl -s --max-time 5 ipv6.ip.sb)
|
||||||
|
[ -z "$ipv6_address" ] && ipv6_address=$(ip -6 addr show | grep -oP '(?<=inet6\s)[\da-f:]+' | grep -v '^::1' | grep -v '^fe80' | head -n1)
|
||||||
|
}
|
||||||
|
|
||||||
# 检测VPS地理位置
|
# 检测VPS地理位置
|
||||||
detect_region() {
|
detect_region() {
|
||||||
local country
|
local country
|
||||||
@ -97,19 +106,6 @@ show_welcome() {
|
|||||||
echo ""
|
echo ""
|
||||||
echo -e "${RED}---------------------------------By'Jensfrank---------------------------------${NC}"
|
echo -e "${RED}---------------------------------By'Jensfrank---------------------------------${NC}"
|
||||||
echo ""
|
echo ""
|
||||||
echo "一键脚本将测试以下项目,可以自动全部测试,或者自定义选择测试项目:"
|
|
||||||
echo "1. Yabs"
|
|
||||||
echo "2. 融合怪"
|
|
||||||
echo "3. IP质量"
|
|
||||||
echo "4. 流媒体解锁"
|
|
||||||
echo "5. 响应测试"
|
|
||||||
echo "6. 多线程测试"
|
|
||||||
echo "7. 单线程测试"
|
|
||||||
echo "8. 回程路由"
|
|
||||||
echo ""
|
|
||||||
echo -e "${RED}按任意键进入测试选项...${NC}"
|
|
||||||
read -n 1 -s
|
|
||||||
clear
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Markdown 转义函数
|
# Markdown 转义函数
|
||||||
@ -121,15 +117,14 @@ escape_markdown() {
|
|||||||
run_yabs() {
|
run_yabs() {
|
||||||
echo "执行YABS测试..."
|
echo "执行YABS测试..."
|
||||||
yabs_result=$(wget -qO- yabs.sh | bash)
|
yabs_result=$(wget -qO- yabs.sh | bash)
|
||||||
echo "$yabs_result" > yabs_result.txt
|
echo "$yabs_result" | escape_markdown > yabs_result.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行融合怪测试
|
# 执行融合怪测试
|
||||||
run_fusion() {
|
run_fusion() {
|
||||||
echo "执行融合怪测试..."
|
echo "执行融合怪测试..."
|
||||||
fusion_result=$(curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh)
|
fusion_result=$(curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh)
|
||||||
fusion_result=$(echo "$fusion_result" | awk '/A Bench Script/{f=1} f; /短链/{f=0}')
|
echo "$fusion_result" | awk '/A Bench Script/{f=1} f; /短链/{f=0}' | escape_markdown > fusion_result.txt
|
||||||
echo "$fusion_result" > fusion_result.txt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行IP质量测试
|
# 执行IP质量测试
|
||||||
@ -142,9 +137,9 @@ run_ip_quality() {
|
|||||||
local end_line=$(echo "$ip_quality_result" | grep -n '按回车键返回主菜单' | head -n 1 | cut -d ':' -f 1)
|
local end_line=$(echo "$ip_quality_result" | grep -n '按回车键返回主菜单' | head -n 1 | cut -d ':' -f 1)
|
||||||
|
|
||||||
if [ -n "$start_line" ] && [ -n "$end_line" ]; then
|
if [ -n "$start_line" ] && [ -n "$end_line" ]; then
|
||||||
ip_quality_result=$(tail -n +"$start_line" <<< "$ip_quality_result" | head -n $(($end_line - $start_line)) | sed -E 's/\x1b\[[0-9;]*[a-zA-Z]//g')
|
ip_quality_result=$(tail -n +"$start_line" <<< "$ip_quality_result" | head -n $(($end_line - $start_line)) | escape_markdown)
|
||||||
elif [ -n "$start_line" ]; then
|
elif [ -n "$start_line" ]; then
|
||||||
ip_quality_result=$(tail -n +"$start_line" <<< "$ip_quality_result" | sed -E 's/\x1b\[[0-9;]*[a-zA-Z]//g')
|
ip_quality_result=$(tail -n +"$start_line" <<< "$ip_quality_result" | escape_markdown)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "$ip_quality_result" > ip_quality_result.txt
|
echo "$ip_quality_result" > ip_quality_result.txt
|
||||||
@ -155,44 +150,40 @@ run_streaming() {
|
|||||||
echo "执行流媒体解锁测试..."
|
echo "执行流媒体解锁测试..."
|
||||||
region=$(detect_region)
|
region=$(detect_region)
|
||||||
streaming_result=$(bash <(curl -L -s media.ispvps.com) $region)
|
streaming_result=$(bash <(curl -L -s media.ispvps.com) $region)
|
||||||
streaming_result=$(echo "$streaming_result" | awk '/项目地址/{f=1} f; /检测脚本当天运行次数/{f=0}')
|
echo "$streaming_result" | awk '/项目地址/{f=1} f; /检测脚本当天运行次数/{f=0}' | escape_markdown > streaming_result.txt
|
||||||
echo "$streaming_result" > streaming_result.txt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行响应测试
|
# 执行响应测试
|
||||||
run_response() {
|
run_response() {
|
||||||
echo "执行响应测试..."
|
echo "执行响应测试..."
|
||||||
response_result=$(bash <(curl -sL https://nodebench.mereith.com/scripts/curltime.sh))
|
response_result=$(bash <(curl -sL https://nodebench.mereith.com/scripts/curltime.sh))
|
||||||
echo "$response_result" > response_result.txt
|
echo "$response_result" | escape_markdown > response_result.txt
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行三网测速(多线程)
|
# 执行三网测速(多线程)
|
||||||
run_speedtest_multi() {
|
run_speedtest_multi() {
|
||||||
echo "执行三网测速(多线程)..."
|
echo "执行三网测速(多线程)..."
|
||||||
speedtest_multi_result=$(bash <(curl -sL bash.icu/speedtest) 1)
|
speedtest_multi_result=$(bash <(curl -sL bash.icu/speedtest) 1)
|
||||||
speedtest_multi_result=$(echo "$speedtest_multi_result" | sed -e '1,/序号\:/d' -e '/测试进行中/d' -e '/^\s*$/d')
|
echo "$speedtest_multi_result" | sed -e '1,/序号\:/d' -e '/测试进行中/d' -e '/^\s*$/d' | escape_markdown > speedtest_multi_result.txt
|
||||||
echo "$speedtest_multi_result" > speedtest_multi_result.txt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行三网测速(单线程)
|
# 执行三网测速(单线程)
|
||||||
run_speedtest_single() {
|
run_speedtest_single() {
|
||||||
echo "执行三网测速(单线程)..."
|
echo "执行三网测速(单线程)..."
|
||||||
speedtest_single_result=$(bash <(curl -sL bash.icu/speedtest) 2)
|
speedtest_single_result=$(bash <(curl -sL bash.icu/speedtest) 2)
|
||||||
speedtest_single_result=$(echo "$speedtest_single_result" | sed -e '1,/序号\:/d' -e '/测试进行中/d' -e '/^\s*$/d')
|
echo "$speedtest_single_result" | sed -e '1,/序号\:/d' -e '/测试进行中/d' -e '/^\s*$/d' | escape_markdown > speedtest_single_result.txt
|
||||||
echo "$speedtest_single_result" > speedtest_single_result.txt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行回程路由测试
|
# 执行回程路由测试
|
||||||
run_traceroute() {
|
run_traceroute() {
|
||||||
echo "执行回程路由测试..."
|
echo "执行回程路由测试..."
|
||||||
traceroute_result=$(wget -N --no-check-certificate https://raw.githubusercontent.com/Chennhaoo/Shell_Bash/master/AutoTrace.sh && chmod +x AutoTrace.sh && bash AutoTrace.sh)
|
traceroute_result=$(wget -N --no-check-certificate https://raw.githubusercontent.com/Chennhaoo/Shell_Bash/master/AutoTrace.sh && chmod +x AutoTrace.sh && bash AutoTrace.sh)
|
||||||
traceroute_result=$(echo "$traceroute_result" | sed -e '/测试项/,+9d' -e '/信息/d' -e '/^\s*$/d')
|
echo "$traceroute_result" | sed -e '/测试项/,+9d' -e '/信息/d' -e '/^\s*$/d' | escape_markdown > traceroute_result.txt
|
||||||
echo "$traceroute_result" > traceroute_result.txt
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# 生成Markdown文件
|
# 生成Markdown文件
|
||||||
generate_markdown() {
|
generate_markdown() {
|
||||||
local output_file="vps_test_results_$(date +%Y%m%d_%H%M%S).md"
|
local output_file="nodeloc_vps_test_$(date +%Y%m%d_%H%M%S).md"
|
||||||
{
|
{
|
||||||
echo "# VPS 测试结果"
|
echo "# VPS 测试结果"
|
||||||
echo "测试时间:$(date)"
|
echo "测试时间:$(date)"
|
||||||
@ -204,50 +195,50 @@ generate_markdown() {
|
|||||||
echo "[tabs]"
|
echo "[tabs]"
|
||||||
echo "[tab=\"YABS\"]"
|
echo "[tab=\"YABS\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat yabs_result.txt | escape_markdown
|
cat yabs_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"融合怪\"]"
|
echo "[tab=\"融合怪\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat fusion_result.txt | escape_markdown
|
cat fusion_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"IP质量\"]"
|
echo "[tab=\"IP质量\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "########################################################################"
|
echo "########################################################################"
|
||||||
cat ip_quality_result.txt | escape_markdown
|
cat ip_quality_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"流媒体\"]"
|
echo "[tab=\"流媒体\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat streaming_result.txt | escape_markdown
|
cat streaming_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"响应\"]"
|
echo "[tab=\"响应\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat response_result.txt | escape_markdown
|
cat response_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"多线程测速\"]"
|
echo "[tab=\"多线程测速\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat speedtest_multi_result.txt | escape_markdown
|
cat speedtest_multi_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"单线程测速\"]"
|
echo "[tab=\"单线程测速\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat speedtest_single_result.txt | escape_markdown
|
cat speedtest_single_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
echo "[tab=\"回程路由\"]"
|
echo "[tab=\"回程路由\"]"
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
cat traceroute_result.txt | escape_markdown
|
cat traceroute_result.txt
|
||||||
echo "\`\`\`"
|
echo "\`\`\`"
|
||||||
echo "[/tab]"
|
echo "[/tab]"
|
||||||
|
|
||||||
@ -338,13 +329,12 @@ main() {
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
output_file="vps_test_results_$(date +%Y%m%d_%H%M%S).md"
|
generate_markdown
|
||||||
generate_markdown "$output_file"
|
|
||||||
|
|
||||||
# 清理临时文件
|
# 清理临时文件
|
||||||
rm -f yabs_result.txt fusion_result.txt ip_quality_result.txt streaming_result.txt response_result.txt speedtest_multi_result.txt speedtest_single_result.txt traceroute_result.txt
|
rm -f yabs_result.txt fusion_result.txt ip_quality_result.txt streaming_result.txt response_result.txt speedtest_multi_result.txt speedtest_single_result.txt traceroute_result.txt
|
||||||
|
|
||||||
echo "测试完成!结果已保存到 $output_file"
|
echo "测试完成!结果已保存到 nodeloc_vps_test_$(date +%Y%m%d_%H%M%S).md"
|
||||||
}
|
}
|
||||||
|
|
||||||
# 执行主函数
|
# 执行主函数
|
||||||
|
Loading…
Reference in New Issue
Block a user