|
|
本帖最后由 wulishui 于 2025-11-26 09:02 编辑
- #!/bin/sh
- help() { echo "Help: download url local_path local_filename"; }
- url="$1"
- [ -z "$url" ] && { help; exit 1; }
- case ${url} in
- -h|--help) help; exit 1 ;;
- esac
- path="${2:-/tmp/tmp}"
- [ -d ${path} ] || mkdir -m 0755 -p ${path}
- filename="$3"
- [ -z "$filename" ] && filename=`basename ${url}`
- [ -z "$filename" ] && { help; exit 1; }
- case ${path} in
- */) file="${path}${filename}" ;;
- *) file="${path}/${filename}" ;;
- esac
- user_agent="Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.112 Safari/537.36"
- if [ -n "`which wget`" ]; then wget --user-agent="${user_agent}" ${url} -O ${file}
- elif [ -n "`which wget-ssl`" ]; then wget-ssl --user-agent="${user_agent}" ${url} -O ${file}
- elif [ -n "`which curl`" ]; then curl --user-agent "${user_agent}" ${url} > ${file}
- fi
- exit ${?:-0}
复制代码
<blockquote>#!/bin/sh 原因很无奈,因为要把 github 上的文件下载到路由器上,aria2 无论怎么设置怎么加参数都 TLS 握手失败,而 wget 和 curl 却都可以成功,
但是 wget 和 curl 的命令经常搞混,所有干脆写成一个下载器,把它保存为 /usr/bin/download ,设 0755 ,用的时候输入:
download url local_path local_filename,后两个参数可以省略,自动使用 url 本身带的文件名、默认下载到 /tmp/tmp 下。
然后你可以下载 download https://raw.githubusercontent.co ... te-for-smartdns.txt 来试试。
|
|