23 lines
817 B
Bash
23 lines
817 B
Bash
#!/bin/bash
|
|
. /usr/share/openclash/log.sh
|
|
|
|
DOWNLOAD_FILE_CURL() {
|
|
[ -z "$1" ] || [ -z "$2" ] && return 1
|
|
DOWNLOAD_URL=$1
|
|
DOWNLOAD_PATH=$2
|
|
DOWNLOAD_UA=$3
|
|
[ -z "$DOWNLOAD_UA" ] && DOWNLOAD_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
|
|
OUTPUT=$(curl -w "%{http_code}" -SsL --connect-timeout 30 -m 60 --speed-time 30 --speed-limit 1 --retry 2 -H "User-Agent: ${DOWNLOAD_UA}" "$DOWNLOAD_URL" -o "$DOWNLOAD_PATH" 2>&1)
|
|
EXIR_CODE=${PIPESTATUS[0]}
|
|
HTTP_CODE=$(echo "$OUTPUT" | tail -n1)
|
|
OUTPUT=$(echo "$OUTPUT" | sed '$d' | sed ':a;N;$!ba; s/\n/ /g')
|
|
if [ "$EXIR_CODE" -ne 0 ] || [ "$HTTP_CODE" -ne 200 ]; then
|
|
LOG_OUT "【$DOWNLOAD_PATH】Download Failed:【$OUTPUT】"
|
|
rm -rf $DOWNLOAD_PATH
|
|
SLOG_CLEAN
|
|
return 1
|
|
else
|
|
return 0
|
|
fi
|
|
}
|