Archived
Public Access
Require ISP selection for China speedtest
This commit is contained in:
@@ -191,12 +191,12 @@ net.ipv4.tcp_slow_start_after_idle = 0
|
|||||||
10. BBR v3 智能带宽优化
|
10. BBR v3 智能带宽优化
|
||||||
```
|
```
|
||||||
|
|
||||||
脚本会优先安装并运行 Ookla 官方 `speedtest`,让用户选择中国移动、中国联通、中国电信或自动匹配三大运营商,然后优先尝试中国境内最近的匹配测速节点并获取上传带宽、下载带宽和 Ping;如果找不到匹配节点,会降级为中国境内不限运营商节点,最后才使用 Ookla 自动选择。测速失败时会提示手动输入上传带宽。
|
脚本会优先安装并运行 Ookla 官方 `speedtest`,要求用户在中国移动、中国联通、中国电信中选择一个运营商,然后优先尝试中国境内最近的匹配测速节点并获取上传带宽、下载带宽和 Ping;如果找不到匹配节点,会降级为中国境内不限运营商节点,最后才使用 Ookla 自动选择。测速失败时会提示手动输入上传带宽。
|
||||||
|
|
||||||
优化逻辑:
|
优化逻辑:
|
||||||
|
|
||||||
- 自动启用 `bbr` 拥塞控制和 `fq` 队列算法。
|
- 自动启用 `bbr` 拥塞控制和 `fq` 队列算法。
|
||||||
- 测速节点优先选择中国境内节点,并支持三大运营商选择。
|
- 测速节点优先选择中国境内节点,并要求用户选择三大运营商之一。
|
||||||
- 根据上传带宽和地区模式映射推荐 TCP buffer 档位。
|
- 根据上传带宽和地区模式映射推荐 TCP buffer 档位。
|
||||||
- 亚太线路使用较保守的 buffer,美欧高延迟线路使用更大 buffer。
|
- 亚太线路使用较保守的 buffer,美欧高延迟线路使用更大 buffer。
|
||||||
- 按机器内存设置 TCP buffer 上限,避免小内存 VPS 过度放大缓冲区。
|
- 按机器内存设置 TCP buffer 上限,避免小内存 VPS 过度放大缓冲区。
|
||||||
|
|||||||
+28
-26
@@ -229,33 +229,35 @@ ensure_ookla_speedtest() {
|
|||||||
select_china_speedtest_isp() {
|
select_china_speedtest_isp() {
|
||||||
local choice=""
|
local choice=""
|
||||||
|
|
||||||
echo -e "\033[36m请选择中国境内测速运营商:\033[0m" >&2
|
while true; do
|
||||||
echo -e "\033[33m 1. 自动匹配三大运营商\033[0m" >&2
|
echo -e "\033[36m请选择中国境内测速运营商:\033[0m" >&2
|
||||||
echo -e "\033[33m 2. 中国移动 / CMCC\033[0m" >&2
|
echo -e "\033[33m 1. 中国移动 / CMCC\033[0m" >&2
|
||||||
echo -e "\033[33m 3. 中国联通 / CUCC\033[0m" >&2
|
echo -e "\033[33m 2. 中国联通 / CUCC\033[0m" >&2
|
||||||
echo -e "\033[33m 4. 中国电信 / CTCC\033[0m" >&2
|
echo -e "\033[33m 3. 中国电信 / CTCC\033[0m" >&2
|
||||||
echo -n -e "\033[36m请选择 (1-4,默认 1): \033[0m" >&2
|
echo -n -e "\033[36m请选择 (1-3): \033[0m" >&2
|
||||||
read -r choice
|
read -r choice
|
||||||
choice="${choice:-1}"
|
|
||||||
|
|
||||||
case "$choice" in
|
case "$choice" in
|
||||||
2)
|
1)
|
||||||
SPEEDTEST_ISP_LABEL="中国移动"
|
SPEEDTEST_ISP_LABEL="中国移动"
|
||||||
SPEEDTEST_ISP_PATTERN='(Mobile|CMCC|China Mobile|中国移动|移动)'
|
SPEEDTEST_ISP_PATTERN='(Mobile|CMCC|China Mobile|中国移动|移动)'
|
||||||
;;
|
return 0
|
||||||
3)
|
;;
|
||||||
SPEEDTEST_ISP_LABEL="中国联通"
|
2)
|
||||||
SPEEDTEST_ISP_PATTERN='(Unicom|CUCC|China Unicom|中国联通|联通)'
|
SPEEDTEST_ISP_LABEL="中国联通"
|
||||||
;;
|
SPEEDTEST_ISP_PATTERN='(Unicom|CUCC|China Unicom|中国联通|联通)'
|
||||||
4)
|
return 0
|
||||||
SPEEDTEST_ISP_LABEL="中国电信"
|
;;
|
||||||
SPEEDTEST_ISP_PATTERN='(Telecom|CTCC|China Telecom|中国电信|电信)'
|
3)
|
||||||
;;
|
SPEEDTEST_ISP_LABEL="中国电信"
|
||||||
*)
|
SPEEDTEST_ISP_PATTERN='(Telecom|CTCC|China Telecom|中国电信|电信)'
|
||||||
SPEEDTEST_ISP_LABEL="三大运营商自动匹配"
|
return 0
|
||||||
SPEEDTEST_ISP_PATTERN='(Mobile|CMCC|China Mobile|中国移动|移动|Unicom|CUCC|China Unicom|中国联通|联通|Telecom|CTCC|China Telecom|中国电信|电信)'
|
;;
|
||||||
;;
|
*)
|
||||||
esac
|
echo -e "\033[31m请输入 1、2 或 3 选择测速运营商。\033[0m" >&2
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
# 函数:从 Ookla server list 中筛选中国境内节点
|
# 函数:从 Ookla server list 中筛选中国境内节点
|
||||||
|
|||||||
Reference in New Issue
Block a user