使用脚本轻松消耗流量
这两年来,国内各大运营商打击PCDN的力度越来越大了,虽然我没搞PCDN,但是因为玩PT已经在外面使用家里的NAS,也被误伤了一锤。在自行限制了上传速度后,还是不太放心,听闻会检测上下行流量的比例来判断是否为PCDN,于是写了这个脚本来浪费一些下载流量
系统:Debian12
最初是想使用Speedtest测速来消耗流量的,但是发现官方的Speedtest-cli无法只测下载不测上传,所以就自己写了个脚本下载文件来消耗流量
想到有什么大文件能随便下载,就突然想到了“原神”,虽然没玩过,但是这个游戏体积贼大还是知道的。最后,就有了这个脚本
(嘛,稍微薅一点人家的CDN就行了,别一直在那儿下载就好)
脚本内容
mian.sh
#!/bin/bash
# 定义日志文件的路径
log_file="download_log.txt"
# 定义要下载的文件的URL列表,会依次下载,可以自行添加或删除
urls=(
"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230804185703_R1La3H9xIH1hBiHJ/YuanShen_4.0.0.zip" # 原神4.0游戏本体(56.15G)
"https://autopatchcn.yuanshen.com/client_app/download/pc_zip/20230804185703_R1La3H9xIH1hBiHJ/Audio_Chinese_4.0.0.zip" # 原神中文语音包(10.45G)
"https://autopatchcn.yuanshen.com/client_app/download/launcher/20240314153152_0AZRlFRox2kHeTKf/mihoyo/yuanshen_setup_20240313190827.exe" # 原神PC启动器(140M)
)
# 记录脚本开始运行的时间
start_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "下载开始时间: $start_time" >> "$log_file"
# 遍历URL列表,下载每个文件并记录相关信息
for url in "${urls[@]}"; do
echo "正在下载 $url..." >> "$log_file"
# 使用curl下载文件并获取文件大小(字节),同时检查是否成功执行
size_bytes=$(curl -s -w "%{size_download}" -o /dev/null "$url")
# 检查是否成功获取到文件大小
if [[ $size_bytes -eq 0 ]]; then
echo "下载失败或文件为空 $url " >> "$log_file"
else
# 将文件大小从字节转换为GB并保留6位小数
size_gb=$(awk "BEGIN {print $size_bytes / 1024 / 1024 / 1024}")
echo "已下载 $url 文件大小: ${size_gb} GB" >> "$log_file"
fi
done
# 记录脚本结束运行的时间
end_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "下载完成时间: $end_time" >> "$log_file"
echo "==============================================="
设置可执行权限
chmod +x main.sh
定时执行
使用命令编辑定时任务
crontab -e
在最后面新加一行
0 */12 * * * cd "/home/debian/waste_downstream_traffic" && ./main.sh > /dev/null
其中前面的时间格式为 m h dom mon dow 即 分,时,日,月,周(可以参考 Wiki)
像上面的写法,就是每十二小时会执行一次(本来打算是设置在凌晨的,但是试了试下载速度并不算很快,一千兆的带宽只能跑到三百多Mbps,所以也就没挑时间)
最后修改于 2024-04-10