Update Nlbench.sh

This commit is contained in:
Jensfrank 2024-09-07 19:15:11 +08:00 committed by GitHub
parent 6911d821db
commit 7b4120350c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# 定义版本 # 定义版本
CURRENT_VERSION="2024-09-07 v1.2.2" # 最新版本号 CURRENT_VERSION="2024-09-07 v1.2.3" # 最新版本号
SCRIPT_URL="https://raw.githubusercontent.com/everett7623/nodeloc_vps_test/main/Nlbench.sh" SCRIPT_URL="https://raw.githubusercontent.com/everett7623/nodeloc_vps_test/main/Nlbench.sh"
VERSION_URL="https://raw.githubusercontent.com/everett7623/nodeloc_vps_test/main/version.sh" VERSION_URL="https://raw.githubusercontent.com/everett7623/nodeloc_vps_test/main/version.sh"
PASTE_SERVICE_URL="http://nodeloc.uukk.de/test/" PASTE_SERVICE_URL="http://nodeloc.uukk.de/test/"
@ -322,22 +322,6 @@ detect_region() {
esac esac
} }
# 服务器 VPS 信息
AUXILIARY_VPS="107.189.11.25"
IPERF_PORT=5201
TEST_DURATION=30
run_iperf3_test() {
echo -e "${GREEN}服务端VPS位于卢森堡${NC}"
echo -e "${GREEN}连接到服务端进行iperf3测试。。。${NC}"
timeout ${TEST_DURATION}s iperf3 -c $AUXILIARY_VPS -p $IPERF_PORT -t $TEST_DURATION
if [ $? -eq 0 ]; then
echo -e "${YELLOW}iperf3 测试完成${NC}"
else
echo -e "${RED}iperf3 测试失败或超时${NC}"
fi
}
# 统计使用次数 # 统计使用次数
sum_run_times() { sum_run_times() {
local COUNT=$(wget --no-check-certificate -qO- --tries=2 --timeout=2 "https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Feverett7623%2Fnodeloc_vps_test%2Fblob%2Fmain%2FNlbench.sh" 2>&1 | grep -m1 -oE "[0-9]+[ ]+/[ ]+[0-9]+") local COUNT=$(wget --no-check-certificate -qO- --tries=2 --timeout=2 "https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Feverett7623%2Fnodeloc_vps_test%2Fblob%2Fmain%2FNlbench.sh" 2>&1 | grep -m1 -oE "[0-9]+[ ]+/[ ]+[0-9]+")
@ -442,17 +426,8 @@ run_script() {
sed -i '/^$/d' "$temp_file" sed -i '/^$/d' "$temp_file"
cp "$temp_file" "${output_file}_single_thread" cp "$temp_file" "${output_file}_single_thread"
;; ;;
# iperf3测试
8)
echo -e "运行${YELLOW}iperf3测试...${NC}"
run_iperf3_test | tee "$temp_file"
sed -i -e 's/\x1B\[[0-9;]*[JKmsu]//g' "$temp_file"
sed -i -r '1,/\[ ID\] /d' "$temp_file"
sed -i '/^$/d' "$temp_file"
cp "$temp_file" "${output_file}_iperf3"
;;
# 回程路由 # 回程路由
9) 8)
echo -e "运行${YELLOW}回程路由测试...${NC}" echo -e "运行${YELLOW}回程路由测试...${NC}"
if [ "$use_ipv6" = true ]; then if [ "$use_ipv6" = true ]; then
echo "使用IPv6测试选项" echo "使用IPv6测试选项"
@ -473,8 +448,8 @@ run_script() {
generate_markdown_output() { generate_markdown_output() {
local base_output_file=$1 local base_output_file=$1
local temp_output_file="${base_output_file}.md" local temp_output_file="${base_output_file}.md"
local sections=("YABS" "融合怪" "IP质量" "流媒体" "响应" "多线程测速" "单线程测速" "iperf3" "回程路由") local sections=("YABS" "融合怪" "IP质量" "流媒体" "响应" "多线程测速" "单线程测速" "回程路由")
local file_suffixes=("yabs" "fusion" "ip_quality" "streaming" "response" "multi_thread" "single_thread" "iperf3" "route") local file_suffixes=("yabs" "fusion" "ip_quality" "streaming" "response" "multi_thread" "single_thread" "route")
local empty_tabs=("去程路由" "Ping.pe" "哪吒 ICMP" "其他") local empty_tabs=("去程路由" "Ping.pe" "哪吒 ICMP" "其他")
echo "[tabs]" | iconv -f UTF-8 -t UTF-8//IGNORE > "$temp_output_file" echo "[tabs]" | iconv -f UTF-8 -t UTF-8//IGNORE > "$temp_output_file"
@ -504,7 +479,7 @@ generate_markdown_output() {
# 生成包含时间戳和随机字符的文件名 # 生成包含时间戳和随机字符的文件名
local timestamp=$(date +"%Y%m%d%H%M%S") local timestamp=$(date +"%Y%m%d%H%M%S")
local random_chars=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 6 | head -n 1) local random_chars=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 6 | head -n 1)
local filename="${timestamp}${random_chars}" local filename="${timestamp}-${random_chars}"
local txt_filename="${filename}.txt" local txt_filename="${filename}.txt"
local html_filename="${filename}.html" local html_filename="${filename}.html"
@ -520,8 +495,6 @@ generate_markdown_output() {
echo "$html_content" | curl -H "Content-Type: text/html; charset=utf-8" -s -X PUT --data-binary @- "$html_url"; then echo "$html_content" | curl -H "Content-Type: text/html; charset=utf-8" -s -X PUT --data-binary @- "$html_url"; then
echo "测试结果已上传。您可以在以下链接查看:" echo "测试结果已上传。您可以在以下链接查看:"
echo "$txt_url" echo "$txt_url"
echo "结果链接已保存到 $base_output_file.url"
echo "$txt_url" > "$base_output_file.url"
else else
echo "上传失败。结果已保存在本地文件 $temp_output_file" echo "上传失败。结果已保存在本地文件 $temp_output_file"
fi fi
@ -554,13 +527,12 @@ run_selected_scripts() {
echo "5. 响应测试" echo "5. 响应测试"
echo "6. 多线程测试" echo "6. 多线程测试"
echo "7. 单线程测试" echo "7. 单线程测试"
echo "8. iperf3" echo "8. 回程路由"
echo "9. 回程路由"
echo "0. 返回" echo "0. 返回"
while true; do while true; do
read -p "请输入要执行的脚本编号用英文逗号分隔例如1,2,3):" script_numbers read -p "请输入要执行的脚本编号用英文逗号分隔例如1,2,3):" script_numbers
if [[ "$script_numbers" =~ ^(0|10|[1-9])(,(0|10|[1-9]))*$ ]]; then if [[ "$script_numbers" =~ ^(0|10|[1-8])(,(0|10|[1-8]))*$ ]]; then
break break
else else
echo -e "${RED}无效输入请输入0-9之间的数字用英文逗号分隔。${NC}" echo -e "${RED}无效输入请输入0-9之间的数字用英文逗号分隔。${NC}"
@ -583,8 +555,7 @@ run_selected_scripts() {
# 主菜单 # 主菜单
main_menu() { main_menu() {
echo -e "${GREEN}测试项目:${NC}Yabs融合怪IP质量流媒体解锁响应测试多线程测试" echo -e "${GREEN}测试项目:${NC}Yabs融合怪IP质量流媒体解锁响应测试多线程测试单线程测试回程路由。"
echo " 单线程测试iperf3回程路由。"
echo -e "${YELLOW}1. 执行所有测试脚本${NC}" echo -e "${YELLOW}1. 执行所有测试脚本${NC}"
echo -e "${YELLOW}2. 选择特定测试脚本${NC}" echo -e "${YELLOW}2. 选择特定测试脚本${NC}"
echo -e "${YELLOW}0. 退出${NC}" echo -e "${YELLOW}0. 退出${NC}"