From 1e0aeada56e14d963a7e5343c30fea684797249d Mon Sep 17 00:00:00 2001 From: monlor Date: Thu, 5 Mar 2020 12:30:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0wget-ssl=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/aria2/config/aria2.uci | 4 +-- apps/aria2/scripts/aria2.sh | 2 +- apps/dms/config/dms.uci | 2 +- apps/mixbox/bin/applist | 9 +++--- apps/mixbox/bin/base | 49 ++--------------------------- apps/mixbox/config/mixbox.uci | 2 +- apps/mixbox/scripts/helper.sh | 59 +++++++++++++++++++++++++++++++++++ install.sh | 8 +++-- 8 files changed, 77 insertions(+), 58 deletions(-) create mode 100644 apps/mixbox/scripts/helper.sh diff --git a/apps/aria2/config/aria2.uci b/apps/aria2/config/aria2.uci index bafc147..a1d8abd 100644 --- a/apps/aria2/config/aria2.uci +++ b/apps/aria2/config/aria2.uci @@ -1,7 +1,7 @@ service="Aria2" appname="aria2" -needver="0.0.1" +needver="0.1.7" supports="linux_arm,linux_mips,linux_x86_64" appinfo="Linux下一款高效的下载工具" newinfo="支持x86_64设备" -version="0.0.5" +version="0.0.6" diff --git a/apps/aria2/scripts/aria2.sh b/apps/aria2/scripts/aria2.sh index dc0edac..13e2ead 100644 --- a/apps/aria2/scripts/aria2.sh +++ b/apps/aria2/scripts/aria2.sh @@ -40,7 +40,7 @@ set_config() { fi # 自动更新bt-tracker - list=`curl -s https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt|awk NF|sed ":a;N;s/\n/,/g;ta"` + list=`wgetlist https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt|awk NF|sed ":a;N;s/\n/,/g;ta"` if [ ! -z "${list}" ]; then sed -i "s#.*bt-tracker.*#bt-tracker=${list}#" ${mbroot}/apps/${appname}/config/${appname}.conf logsh "【$service】" "更新bt-tracker" diff --git a/apps/dms/config/dms.uci b/apps/dms/config/dms.uci index 61200ea..1a2ad39 100644 --- a/apps/dms/config/dms.uci +++ b/apps/dms/config/dms.uci @@ -2,7 +2,7 @@ service="DMS" appname="dms" needver="0.0.1" backupfiles="" -supports="linux_arm,linux_mips,linux_x86_64,darwin_linux_x86_64" +supports="linux_arm,linux_mips,linux_x86_64" appinfo="dms是一款DLNA数字媒体服务器" newinfo="" version="0.0.1" \ No newline at end of file diff --git a/apps/mixbox/bin/applist b/apps/mixbox/bin/applist index 49f263b..01d337b 100644 --- a/apps/mixbox/bin/applist +++ b/apps/mixbox/bin/applist @@ -6,6 +6,7 @@ mbroot="/etc/mixbox" mbtmp="/tmp/mbtmp" mburl=$(mbdb get mixbox.main.url) model=$(mbdb get mixbox.main.model) +source ${mbroot}/scripts/helper.sh fix_local_applist() { @@ -66,10 +67,10 @@ get_applist() { } update_applist() { - result1=$(curl -skL --connect-timeout 10 -m 20 -w %{http_code} -o ${mbtmp}/applist_tmp.txt $mburl/applist.txt) - [ -f ${mbtmp}/applist_tmp.txt ] && result2=$(du -sh ${mbtmp}/applist_tmp.txt | awk '{print$1}') || result2='0' - [ "$result1" != "200" -o "$result2" = '0' ] && exit 1 - cat ${mbtmp}/applist_tmp.txt | grep "${model}" | sort -u > ${mbtmp}/applist.txt + wgetsh ${mbtmp}/applist_tmp.txt $mburl/applist.txt + if [ $? -eq 0 ]; then + cat ${mbtmp}/applist_tmp.txt | grep "${model}" | sort -u > ${mbtmp}/applist.txt + fi rm -rf ${mbtmp}/applist_tmp.txt } diff --git a/apps/mixbox/bin/base b/apps/mixbox/bin/base index 2bbd350..ff60636 100644 --- a/apps/mixbox/bin/base +++ b/apps/mixbox/bin/base @@ -20,6 +20,8 @@ mbtmp=/tmp/mbtmp model=$(mbdb get mixbox.main.model) xq=$(cat /proc/xiaoqiang/model 2> /dev/null) || xq="$(uname -s)" +source ${mbroot}/scripts/helper.sh + # if [ "$xq" == "R1D" -o "$xq" == "R2D" -o "$xq" == "R3D" ]; then # model=arm # elif [ "$xq" == "R3" -o "$xq" == "R3P" -o "$xq" == "R3G" -o "$xq" == "R1CM" ]; then @@ -95,30 +97,6 @@ logsh() { } -wgetsh() { - # 传入下载的文件位置和下载地址,自动下载到${mbtmp},若成功则移到下载位置 - [ -z "$1" -o -z "$2" ] && return 1 - [ -x /opt/bin/curl ] && alias curl=/opt/bin/curl - local wgetfilepath="$1" - local wgetfilename=$(basename $wgetfilepath) - local wgetfiledir=$(dirname $wgetfilepath) - local wgeturl="$2" - [ ! -d "$wgetfiledir" ] && mkdir -p $wgetfiledir - [ ! -d ${mbtmp} ] && mkdir -p ${mbtmp} - rm -rf ${mbtmp}/${wgetfilename} - result1=$(curl -skL --connect-timeout 10 -m 20 -w %{http_code} -o "${mbtmp}/${wgetfilename}" "$wgeturl") - [ -f "${mbtmp}/${wgetfilename}" ] && result2=$(du -sh "${mbtmp}/${wgetfilename}" 2> /dev/null | awk '{print$1}') - if [ "$result1" != "200" -a "$result2" == '0' ]; then - rm -rf ${mbtmp}/${wgetfilename} - return 1 - else - chmod +x ${mbtmp}/${wgetfilename} > /dev/null 2>&1 - mv -f ${mbtmp}/${wgetfilename} $wgetfilepath > /dev/null 2>&1 - return 0 - fi - -} - pssh() { ps -aux &> /dev/null @@ -280,26 +258,3 @@ parse_str() { } -base_encode() { - if [ -z "${1}" ]; then - echo -n "" - else - if command -v base64_encode &> /dev/null; then - echo -n "$*" | base64_encode - else - echo -n "$*" | baseutil --b64 - fi - fi -} - -base_decode() { - if [ -z "${1}" ]; then - echo -n "" - else - if command -v base64_decode &> /dev/null; then - echo -n "$*" | base64_decode - else - echo -n "$*" | baseutil --b64 -d - fi - fi -} diff --git a/apps/mixbox/config/mixbox.uci b/apps/mixbox/config/mixbox.uci index a0d3fbd..9365154 100644 --- a/apps/mixbox/config/mixbox.uci +++ b/apps/mixbox/config/mixbox.uci @@ -4,4 +4,4 @@ needver="" supports="linux_arm,linux_mips,linux_x86_64" appinfo="一款支持多平台,多架构的Shell工具箱" newinfo="新增base64_encode工具" -version="0.1.6" +version="0.1.7" diff --git a/apps/mixbox/scripts/helper.sh b/apps/mixbox/scripts/helper.sh new file mode 100644 index 0000000..872d525 --- /dev/null +++ b/apps/mixbox/scripts/helper.sh @@ -0,0 +1,59 @@ +wgetsh() { + # 传入下载的文件位置和下载地址,自动下载到${mbtmp},若成功则移到下载位置 + [ -z "$1" -o -z "$2" ] && return 1 + [ -x /opt/bin/curl ] && alias curl=/opt/bin/curl + local wgetfilepath="$1" + local wgetfilename=$(basename $wgetfilepath) + local wgetfiledir=$(dirname $wgetfilepath) + local wgeturl="$2" + [ ! -d "$wgetfiledir" ] && mkdir -p $wgetfiledir + [ ! -d ${mbtmp} ] && mkdir -p ${mbtmp} + rm -rf ${mbtmp}/${wgetfilename} + if command -v wget-ssl &> /dev/null; then + result1=$(wget-ssl --no-check-certificate --tries=1 --timeout=10 --spider -nv -O "${mbtmp}/${wgetfilename}" "$wgeturl") + else + result1=$(curl -skL --connect-timeout 10 -m 20 -w %{http_code} -o "${mbtmp}/${wgetfilename}" "$wgeturl") + fi + [ -f "${mbtmp}/${wgetfilename}" ] && result2=$(du -sh "${mbtmp}/${wgetfilename}" 2> /dev/null | awk '{print$1}') + if echo -n "$result1" | grep -q "200" && [ "$result2" != '0' ]; then + chmod +x ${mbtmp}/${wgetfilename} > /dev/null 2>&1 + mv -f ${mbtmp}/${wgetfilename} $wgetfilepath > /dev/null 2>&1 + return 0 + else + rm -rf ${mbtmp}/${wgetfilename} + return 1 + fi + +} + +wgetlist() { + [ -z "$1" ] && echo -n "" + if command -v wget-ssl &> /dev/null; then + wget --no-check-certificate -q -O - "$1" + else + curl -kfsSl "$1" +} + +base_encode() { + if [ -z "${1}" ]; then + echo -n "" + else + if command -v base64_encode &> /dev/null; then + echo -n "$*" | base64_encode + else + echo -n "$*" | baseutil --b64 + fi + fi +} + +base_decode() { + if [ -z "${1}" ]; then + echo -n "" + else + if command -v base64_decode &> /dev/null; then + echo -n "$*" | base64_decode + else + echo -n "$*" | baseutil --b64 -d + fi + fi +} \ No newline at end of file diff --git a/install.sh b/install.sh index 52d659d..3faba42 100644 --- a/install.sh +++ b/install.sh @@ -47,8 +47,12 @@ fi logsh "【Tools】" "下载工具箱文件..." rm -rf ${mbtmp}/mixbox.tar.gz > /dev/null 2>&1 -result=$(curl -w %{http_code} -skLo ${mbtmp}/mixbox.tar.gz "$mburl"/appstore/mixbox_${model}.tar.gz) -[ "$result" != "200" ] && logsh "【Tools】" "文件下载失败!" && exit 1 +if command -v wget-ssl &> /dev/null; then + result=$(wget-ssl --no-check-certificate --tries=1 --timeout=10 --spider -nv -O ${mbtmp}/mixbox.tar.gz ${mburl}/appstore/mixbox_${model}.tar.gz) +else + result=$(curl -w %{http_code} -skLo ${mbtmp}/mixbox.tar.gz ${mburl}/appstore/mixbox_${model}.tar.gz) +fi +! echo -n "$result" | grep -q "200" && logsh "【Tools】" "文件下载失败!" && exit 1 logsh "【Tools】" "解压工具箱文件" tar -zxvf ${mbtmp}/mixbox.tar.gz -C ${mbtmp} [ $? -ne 0 ] && logsh "【Tools】" "文件解压失败!" && exit 1