Skip to content

Commit

Permalink
修复一些下载源失效的问题
Browse files Browse the repository at this point in the history
  • Loading branch information
monlor committed Jun 20, 2020
1 parent 37aa219 commit 571e7b1
Show file tree
Hide file tree
Showing 7 changed files with 126 additions and 13 deletions.
10 changes: 8 additions & 2 deletions README.md
Expand Up @@ -78,16 +78,22 @@ sh -c "$(curl -kfsSl https://monlor.coding.net/p/mbfiles/d/mbfiles/git/lfs/maste
sh -c "$(curl -kfsSl https://raw.githubusercontent.com/monlor/mbfiles/master/install_github.sh)" && source /etc/profile &> /dev/null
```

#### ghcdn源一键安装命令

``` shell
sh -c "$(curl -kfsSl https://cdn.jsdelivr.net/gh/monlor/mbfiles/install_ghcdn.sh)" && source /etc/profile &> /dev/null
```

### 手动更新命令

``` shell
sh -c "$(curl -kfsSl https://monlor.coding.net/p/mbfiles/d/mbfiles/git/lfs/master/update.sh)" && source /etc/profile &> /dev/null
sh -c "$(curl -kfsSl https://cdn.jsdelivr.net/gh/monlor/mbfiles/update.sh)" && source /etc/profile &> /dev/null
```

### 手动卸载命令

``` shell
sh -c "$(curl -kfsSl https://raw.githubusercontent.com/monlor/MIXBOX/master/apps/mixbox/scripts/uninstall.sh)" && source /etc/profile &> /dev/null
sh -c "$(curl -kfsSl https://cdn.jsdelivr.net/gh/monlor/MIXBOX/apps/mixbox/scripts/uninstall.sh)" && source /etc/profile &> /dev/null
```

#### 一键更新所有插件(请先更新工具箱)
Expand Down
3 changes: 2 additions & 1 deletion apps/mixbox/bin/base
Expand Up @@ -5,7 +5,8 @@ export PATH=$PATH:/etc/mixbox/bin
mburl_coding="https://monlor.coding.net/p/mbfiles/d/mbfiles/git/lfs/master"
mburl_github="https://raw.githubusercontent.com/monlor/mbfiles/master"
mburl_gitee="https://gitee.com/monlor/mbfiles/raw/master"
mburl=$(mbdb get mixbox.main.url) || mburl="$mburl_gitee"
mburl_ghcdn="https://cdn.jsdelivr.net/gh/monlor/mbfiles"
mburl=$(mbdb get mixbox.main.url) || mburl="$mburl_coding"
mbroot=$(mbdb get mixbox.main.path)
mbdisk=$(mbdb get mixbox.main.mbdisk)
mbbackup="/etc/mbbackup"
Expand Down
7 changes: 5 additions & 2 deletions apps/mixbox/bin/mixbox
@@ -1,4 +1,4 @@
#!/bin/sh
e#!/bin/sh
#copyright by monlor
#------------------【Tools】--------------------
source /etc/mixbox/bin/base
Expand Down Expand Up @@ -172,19 +172,22 @@ modify_source() {
"$mburl_coding") url_text="coding下载源" ;;
"$mburl_github") url_text="github下载源" ;;
# "$mburl_gitee") url_text="gitee下载源" ;;
"$mburl_ghcdn") url_text="ghcdn下载源" ;;
*) url_text="$mburl" ;;
esac
echo "下载源【$url_text】使用中"
echo "0. 不修改"
echo "1. coding下载源"
echo "2. github下载源"
# echo "3. gitee下载源(推荐)"
echo "3. ghcdn下载源"
read -p "请选择或输入下载源:" res
case "$res" in
0) return ;;
1) mburl_tmp="$mburl_coding" ;;
2) mburl_tmp="$mburl_github" ;;
# 3) mburl_tmp="$mburl_gitee" ;;
3) mburl_tmp="$mburl_ghcdn" ;;
*) [ -n "$res" ] && mburl_tmp="$res" ;;
esac
if [ -n "$mburl_tmp" ]; then
Expand Down Expand Up @@ -286,7 +289,7 @@ menulist() {
checkuci $name && continue

fi
appver="$(cat $mbtmp/applist.txt | grep "^$name|" | cut -d'|' -f4)"
appver="$(cat $mbtmp/applist.txt &> /dev/null | grep "^$name|" | cut -d'|' -f4)"
echo $name >> ${mbtmp}/applist_menu.txt
let i=$i+1
args="\t"
Expand Down
4 changes: 2 additions & 2 deletions apps/mixbox/config/mixbox.uci
Expand Up @@ -3,5 +3,5 @@ appname="mixbox"
needver=""
supports="linux_aarch64,linux_arm,linux_mips,linux_x86_64"
appinfo="一款支持多平台,多架构的Shell工具箱"
newinfo="修复插件列表为空的bug"
version="0.1.9.11"
newinfo="新增下载源ghcdn"
version="0.1.9.12"
4 changes: 2 additions & 2 deletions apps/shadowsocks/config/shadowsocks.uci
Expand Up @@ -5,5 +5,5 @@ supports="linux_aarch64,linux_arm,linux_mips,linux_x86_64"
openport="1"
backupfiles="config/ssserver.conf,config/sscontrol.conf,config/customize_black.conf,config/customize_white.conf"
appinfo="最好的翻墙工具,没有之一,还可以加速国内外游戏"
newinfo="更新v2ray配置生成脚本"
version="0.1.10"
newinfo="现在更新v2ray会测试二进制程序,防止软件源失效更新到错误的程序"
version="0.1.11"
14 changes: 10 additions & 4 deletions apps/shadowsocks/scripts/shadowsocks.sh
Expand Up @@ -19,10 +19,16 @@ get_v2ray_bin() {
logsh "$service" "检测v2ray版本,本地版本:$result2,在线版本:$result1"
if [ "$result1" != "$result2" ]; then
logsh "$service" "版本不一致,正在更新..."
wgetsh ${mbroot}/apps/${appname}/bin/v2ray $mburl/appsbin/v2ray-bin/$model/v2ray
wgetsh ${mbroot}/apps/${appname}/bin/v2ctl $mburl/appsbin/v2ray-bin/$model/v2ctl
chmod +x ${mbroot}/apps/${appname}/bin/v2ray
chmod +x ${mbroot}/apps/${appname}/bin/v2ctl
wgetsh ${mbtmp}/v2ray $mburl/appsbin/v2ray-bin/$model/v2ray
wgetsh ${mbtmp}/v2ctl $mburl/appsbin/v2ray-bin/$model/v2ctl
chmod +x ${mbtmp}/v2ray
chmod +x ${mbtmp}/v2ctl
if ${mbtmp}/v2ray -version &> /dev/null; then
mv -f ${mbtmp}/v2ray ${mbroot}/apps/${appname}/bin/v2ray
mv -f ${mbtmp}/v2ctl ${mbroot}/apps/${appname}/bin/v2ctl
else
echo "测试v2ray程序失败!跳过更新..."
fi
fi
fi
}
Expand Down
97 changes: 97 additions & 0 deletions install_ghcdn.sh
@@ -0,0 +1,97 @@
#!/bin/sh -e
#copyright by monlor

clear
logsh() {
# 输出信息到/tmp/messages和标准输出
logger -s -p 1 -t "$1" "$2"
return 0

}
echo "***********************************************"
echo "** **"
echo "** Welcome to MIXBOX ! **"
echo "** **"
echo "***********************************************"
logsh "【Tools】" "请按任意键安装工具箱(Ctrl + C 退出)."
read answer
#check root
# [ "$USER" != "root" ] && logsh "【Tools】" "请使用root用户安装工具箱!" && exit 1
mburl="https://cdn.jsdelivr.net/gh/monlor/mbfiles"
mbtmp="/tmp/mbtmp"
[ ! -d "${mbtmp}" ] && mkdir -p ${mbtmp}
model=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]')
[ -n "$(echo $model | grep -E "linux.*aarch64.*")" ] && model="linux_aarch64"
[ -n "$(echo $model | grep -E "linux.*arm.*")" ] && model="linux_arm"
[ -n "$(echo $model | grep -E "linux.*mips.*")" ] && model="linux_mips"
[ -n "$(echo $model | grep -E "linux.*x86_64.*")" ] && model="linux_x86_64"
echo "请在以下路径中选择一个合适的工具箱安装位置和一个用户文件目录:"
echo "小米路由器硬盘版推荐 工具箱安装位置:/etc,用户目录:/userdisk/data"
echo "小米路由器普通版推荐 工具箱安装位置:/etc,用户目录:/extdisks/sda*"
echo "如果未插入u盘,用户目录可与工具箱安装位置相同!"
df -h | sed 1d | awk '{print NR"."$6}'
read -p "请输入你的工具箱安装路径[可手动输入路径]:" mbroot
read -p "请输入你的用户文件目录[可手动输入路径]:" mbdisk
if [ -n "$(echo "$mbroot" | grep -E "^[0-9][0-9]*$")" ]; then
mbroot="$(df -h | sed 1d | awk '{print $6}' | sed -n "$mbroot"p)/mixbox"
else
mbroot=${mbroot}/mixbox
fi
if [ -n "$(echo "$mbdisk" | grep -E "^[0-9][0-9]*$")" ]; then
mbdisk="$(df -h | sed 1d | awk '{print $6}' | sed -n "$mbdisk"p)"
fi

if [ -d "${mbroot}" -o -d /etc/mixbox -o -L /etc/mixbox ]; then
read -p "工具箱已安装,清除并继续?[1/0] " res
[ "$res" = '1' ] && rm -rf /etc/mixbox || exit 1
fi

logsh "【Tools】" "下载工具箱文件..."
rm -rf ${mbtmp}/mixbox.tar.gz > /dev/null 2>&1
if command -v curl &> /dev/null; then
result=$(curl -w %{http_code} -skLo ${mbtmp}/mixbox.tar.gz ${mburl}/appstore/mixbox_${model}.tar.gz)
else
wget-ssl -q --no-check-certificate --tries=1 --timeout=10 -O ${mbtmp}/mixbox.tar.gz ${mburl}/appstore/mixbox_${model}.tar.gz
[ $? -eq 0 ] && result="200"
fi
[ "$result" != "200" ] && logsh "【Tools】" "文件下载失败!" && exit 1
logsh "【Tools】" "解压工具箱文件"
tar -zxvf ${mbtmp}/mixbox.tar.gz -C ${mbtmp} > /dev/null
[ $? -ne 0 ] && logsh "【Tools】" "文件解压失败!" && exit 1
# 安装工具箱文件
cp -rf ${mbtmp}/mixbox ${mbroot}
chmod -R +x ${mbroot}/*
[ "${mbroot}" != "/etc/mixbox" ] && ln -s ${mbroot} /etc/mixbox

## for ubuntu
if uname -v | grep "Ubuntu" &> /dev/null; then
logsh "【Tools】" "正在切换默认Shell为bash,请输入no!"
dpkg-reconfigure dash
fi

logsh "【Tools】" "初始化工具箱配置信息..."
mkdir ${mbroot}/mbdb
mkdir ${mbroot}/var
mkdir ${mbroot}/var/log
mkdir ${mbroot}/var/run
touch ${mbroot}/config/applist.txt #初始化插件列表
cat ${mbroot}/config/mixbox.uci| while read line; do
[ -z "$line" ] && continue
ucikey="$(echo $line | cut -d'=' -f1)"
ucivalue="$(echo $line | cut -d'=' -f2 | sed -e 's/\"//g')"
${mbroot}/bin/mbdb set mixbox.main."$ucikey"="$ucivalue"
done
${mbroot}/bin/mbdb set mixbox.main.mbdisk="${mbdisk}"
${mbroot}/bin/mbdb set mixbox.main.path="${mbroot}"
${mbroot}/bin/mbdb set mixbox.main.url="${mburl}"
${mbroot}/bin/mbdb set mixbox.main.model="${model}"

logsh "【Tools】" "执行工具箱初始化脚本..."
kill -9 $(echo $(ps | grep mixbox/| grep -v grep | awk '{print$1}')) > /dev/null 2>&1
${mbroot}/scripts/init.sh
rm -rf ${mbtmp}/mixbox.tar.gz
rm -rf ${mbtmp}/mixbox
logsh "【Tools】" "工具箱安装完成!"

logsh "【Tools】" "运行mixbox命令即可配置工具箱"
rm -rf ${mbtmp}/install.sh

0 comments on commit 571e7b1

Please sign in to comment.