mirror of
https://github.com/monlor/MIXBOX-ARCHIVE.git
synced 2026-04-27 13:11:07 +00:00
Compare commits
19 Commits
master-1.0
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
62f8e14931 | ||
|
|
66165824ee | ||
|
|
5d5dcdfe77 | ||
|
|
1c4a570585 | ||
|
|
c8f39f986d | ||
|
|
f86b875393 | ||
|
|
4ec5d4e6fe | ||
|
|
d50a48acce | ||
|
|
4e33e84e95 | ||
|
|
f2c3f7b482 | ||
|
|
2bd286cadc | ||
|
|
2127f5f5e0 | ||
|
|
f1826521e4 | ||
|
|
0fa8fbd385 | ||
|
|
9f1e204fa4 | ||
|
|
78bdc68d30 | ||
|
|
a60890faf4 | ||
|
|
3e887cfdc6 | ||
|
|
e740941687 |
29
README.md
29
README.md
@@ -12,6 +12,13 @@
|
||||
|
||||
### [更新日志](https://github.com/monlor/MIXBOX/blob/master/changelog.md)
|
||||
|
||||
### 2022-04-25
|
||||
* 更新frp版本0.42.0
|
||||
* 【测试版】添加插件[aliyundrive-fuse](https://github.com/messense/aliyundrive-fuse), [LingMaxDns](https://www.right.com.cn/forum/thread-8137820-1-1.html)
|
||||
|
||||
#### 2022-04-18
|
||||
* 由于部分地区安装失败,现在新增 ghproxy 源、github.do 源
|
||||
* 如果还是安装失败,可能因为 CDN 未同步,请在24小时后继续尝试,或者尝试其他源
|
||||
|
||||
### 介绍
|
||||
|
||||
@@ -67,22 +74,34 @@ https://cdn.jsdelivr.net/gh/monlor/mbfiles
|
||||
|
||||
### 命令
|
||||
|
||||
#### 一键安装
|
||||
#### 本站提供的下载源,基于 cloudflare 搭建【NEW】
|
||||
|
||||
```shell
|
||||
export MB_URL=https://g.monlor.com/https://raw.githubusercontent.com/monlor/mbfiles/master && sh -c "$(curl -kfsSl ${MB_URL}/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
#### ghproxy源一键安装命令【NEW】
|
||||
|
||||
``` shell
|
||||
sh -c "$(curl -kfsSl https://cdn.jsdelivr.net/gh/monlor/mbfiles/install.sh)" && source /etc/profile &> /dev/null
|
||||
export MB_URL=https://ghproxy.com/https://raw.githubusercontent.com/monlor/mbfiles/master && sh -c "$(curl -kfsSl ${MB_URL}/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
#### github.do源一键安装命令【NEW】
|
||||
|
||||
``` shell
|
||||
export MB_URL=https://github.do/https://raw.githubusercontent.com/monlor/mbfiles/master && sh -c "$(curl -kfsSl ${MB_URL}/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
#### github源一键安装命令
|
||||
|
||||
``` shell
|
||||
sh -c "$(curl -kfsSl https://raw.githubusercontent.com/monlor/mbfiles/master/install_github.sh)" && source /etc/profile &> /dev/null
|
||||
export MB_URL=https://raw.githubusercontent.com/monlor/mbfiles/master && sh -c "$(curl -kfsSl ${MB_URL}/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
#### ghcdn源一键安装命令
|
||||
#### jsdelivr源一键安装命令
|
||||
|
||||
``` shell
|
||||
sh -c "$(curl -kfsSl https://cdn.jsdelivr.net/gh/monlor/mbfiles/install_ghcdn.sh)" && source /etc/profile &> /dev/null
|
||||
export MB_URL=https://cdn.jsdelivr.net/gh/monlor/mbfiles && sh -c "$(curl -kfsSl ${MB_URL}/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
### 手动更新命令
|
||||
|
||||
BIN
apps/aliyundrivefuse/bin/aliyundrivefuse_linux_aarch64
Executable file
BIN
apps/aliyundrivefuse/bin/aliyundrivefuse_linux_aarch64
Executable file
Binary file not shown.
BIN
apps/aliyundrivefuse/bin/aliyundrivefuse_linux_arm
Executable file
BIN
apps/aliyundrivefuse/bin/aliyundrivefuse_linux_arm
Executable file
Binary file not shown.
8
apps/aliyundrivefuse/config/aliyundrivefuse.uci
Normal file
8
apps/aliyundrivefuse/config/aliyundrivefuse.uci
Normal file
@@ -0,0 +1,8 @@
|
||||
service="AliyunDriveFuse"
|
||||
appname="aliyundrivefuse"
|
||||
needver="0.0.1"
|
||||
backupfiles=""
|
||||
supports="linux_aarch64,linux_arm"
|
||||
appinfo="阿里云盘 FUSE 磁盘挂载"
|
||||
newinfo=""
|
||||
version="0.0.1"
|
||||
68
apps/aliyundrivefuse/scripts/aliyundrivefuse.sh
Normal file
68
apps/aliyundrivefuse/scripts/aliyundrivefuse.sh
Normal file
@@ -0,0 +1,68 @@
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
eval `mbdb export aliyundrivefuse`
|
||||
source "$(mbdb get mixbox.main.path)"/bin/base
|
||||
port=""
|
||||
|
||||
start() {
|
||||
|
||||
[ -n "$(pidof ${appname})" ] && logsh "【$service】" "${appname}已经在运行!" && exit 1
|
||||
logsh "【$service】" "正在启动${appname}服务... "
|
||||
# cru a "${appname}" "0 6 * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
|
||||
# Scripts Here
|
||||
|
||||
# open_port
|
||||
# write_firewall_start
|
||||
daemon ${mbroot}/apps/${appname}/bin/${appname} -r "${refresh_token}" "${mount_path}" --allow-other
|
||||
if [ $? -ne 0 ]; then
|
||||
logsh "【$service】" "启动${appname}服务失败!" && end
|
||||
else
|
||||
logsh "【$service】" "启动${appname}服务完成!"
|
||||
# logsh "【$service】" "请在浏览器打开地址:http://$lanip:$port"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
||||
logsh "【$service】" "正在停止${appname}服务... "
|
||||
[ "$enable" == '0' ] && destroy
|
||||
# close_port
|
||||
# remove_firewall_start
|
||||
killall -9 ${appname} &> /dev/null
|
||||
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
||||
# End app, Scripts here
|
||||
# cru d "${appname}"
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
end() {
|
||||
|
||||
mbdb set ${appname}.main.enable=0
|
||||
stop && exit 1
|
||||
|
||||
}
|
||||
|
||||
status() {
|
||||
|
||||
if [ -n "$(pidof ${appname})" ]; then
|
||||
status="运行中|1"
|
||||
else
|
||||
status="未运行|0"
|
||||
fi
|
||||
mbdb set ${appname}.main.status="$status"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start) start ;;
|
||||
stop) stop ;;
|
||||
restart) stop; start ;;
|
||||
reload) close_port && open_port ;;
|
||||
status) status ;;
|
||||
esac
|
||||
|
||||
22
apps/aliyundrivefuse/scripts/config.sh
Normal file
22
apps/aliyundrivefuse/scripts/config.sh
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
|
||||
eval `mbdb export aliyundrivefuse`
|
||||
source "$(mbdb get mixbox.main.path)"/bin/base
|
||||
echo "********* $service ***********"
|
||||
echo "[${appinfo}]"
|
||||
readsh "启动${appname}服务[1/0] " "enable" "1"
|
||||
if [ "$enable" == '1' ]; then
|
||||
# Scripts Here
|
||||
echo "获取refresh token:https://pic.monlor.com/images/2022/04/25/5ab434eaa61647ab88576e21e96a4cc0.png"
|
||||
readsh "请输入${appname}的refresh-token" "refresh_token"
|
||||
readsh "请输入${appname}的挂载路径" "mount_path"
|
||||
if [ ! -d "${mount_path}" ]; then
|
||||
readsh "路径${mount_path}不存在!是否创建" "res" "1"
|
||||
mkdir -p "${mount_path}"
|
||||
fi
|
||||
# readsh "请输入${appname}外网访问配置[1/0]" "openport" "0"
|
||||
readsh "重启${appname}服务[1/0]" "res" "1"
|
||||
[ "$res" != '0' ] && exit 0
|
||||
fi
|
||||
exit 1
|
||||
BIN
apps/frpc/bin/frpc_linux_aarch64
Normal file → Executable file
BIN
apps/frpc/bin/frpc_linux_aarch64
Normal file → Executable file
Binary file not shown.
BIN
apps/frpc/bin/frpc_linux_arm
Normal file → Executable file
BIN
apps/frpc/bin/frpc_linux_arm
Normal file → Executable file
Binary file not shown.
BIN
apps/frpc/bin/frpc_linux_mips
Normal file → Executable file
BIN
apps/frpc/bin/frpc_linux_mips
Normal file → Executable file
Binary file not shown.
@@ -3,5 +3,5 @@ appname="frpc"
|
||||
needver="0.0.1"
|
||||
supports="linux_aarch64,linux_arm,linux_mips,linux_x86_64,darwin_x86_64"
|
||||
appinfo="内网穿透工具,相对于ngrok资源占用较多"
|
||||
newinfo="修复自定义域名配置错误"
|
||||
version="0.0.5"
|
||||
newinfo="更新程序到0.42.0"
|
||||
version="0.0.6"
|
||||
|
||||
@@ -18,6 +18,7 @@ if [ "$enable" == '1' ]; then
|
||||
readsh "请输入${appname}的kcp配置[1/0]" "kcp" "1"
|
||||
readsh "请输入${appname}用于http穿透的端口号" "http_port" "90"
|
||||
readsh "请输入${appname}用于https穿透的端口号" "https_port" "91"
|
||||
readsh "请输入${appname}用于tcp的端口号" "allow_tcp_ports" "10001-11000"
|
||||
readsh "请输入${appname}访问密钥" "token" "12345678"
|
||||
readsh "请输入${appname}子域名" "subdomain"
|
||||
read -p "是否启用${appname}的web控制面板?[1/0] " res
|
||||
|
||||
@@ -9,6 +9,7 @@ open_ports() {
|
||||
[ -n "$http_port" ] && open_port $http_port
|
||||
[ -n "$https_port" ] && open_port $https_port
|
||||
[ -n "$dashboard_port" ] && open_port $dashboard_port
|
||||
[ -n "$allow_tcp_ports" ] && open_port ${allow_tcp_ports//-/:}
|
||||
}
|
||||
|
||||
start() {
|
||||
@@ -39,6 +40,7 @@ token = $token
|
||||
#max_ports_per_client = 0
|
||||
#authentication_timeout = 900
|
||||
`[ -n "$subdomain" ] && echo "subdomain_host = $subdomain"`
|
||||
`[ -n "$allow_tcp_ports" ] && echo "allow_ports = $allow_tcp_ports"`
|
||||
tcp_mux = true
|
||||
EOF
|
||||
daemon ${mbroot}/apps/${appname}/bin/${appname} -c ${mbroot}/apps/${appname}/config/${appname}.conf
|
||||
|
||||
@@ -13,16 +13,7 @@ koolproxy_acl_default_mode=${koolproxy_acl_default_mode:-1}
|
||||
# 1|fanboy.txt|https://kprule.com/fanboy.txt|Fanboy规则
|
||||
|
||||
update_rules() {
|
||||
|
||||
logsh "【$service】" "下载kp规则:koolproxy.txt..."
|
||||
wgetsh ${mbroot}/apps/${appname}/bin/data/rules/koolproxy.txt ${kp_rule_koolproxy}
|
||||
|
||||
logsh "【$service】" "下载kp规则:daily.txt..."
|
||||
wgetsh ${mbroot}/apps/${appname}/bin/data/rules/daily.txt ${kp_rule_daily}
|
||||
|
||||
logsh "【$service】" "下载kp规则:kp.dat..."
|
||||
wgetsh ${mbroot}/apps/${appname}/bin/data/rules/kp.dat ${kp_rule_dat}
|
||||
|
||||
${mbroot}/apps/${appname}/scripts/updaterules.sh
|
||||
}
|
||||
|
||||
start_koolproxy () {
|
||||
|
||||
@@ -1,8 +1,40 @@
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
source /etc/mixbox/bin/base
|
||||
eval `mbdb export koolproxy`
|
||||
|
||||
logsh "【$service】" "更新用户自定义规则"
|
||||
wgetsh ${mbroot}/apps/${appname}/bin/data/rules/user.txt ${kp_rule_user}
|
||||
[ $? -ne 0 ] && logsh "【$service】" "更新用户自定义规则失败"
|
||||
local_path=${mbroot}/apps/${appname}/bin/data/
|
||||
rule_url="http://router.houzi-blog.top:3090"
|
||||
ipset_url="https://houzi008.coding.net/p/koolproxy_list/d/koolproxy_list/git/raw/master/koolproxy_ipset.conf"
|
||||
# xinggsf_url="https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/mv.txt"
|
||||
# custom_url="https://raw.githubusercontent.com/jwd1208/Koolproxy/main/kpr_our_rule.txt"
|
||||
# adblock_url="https://raw.githubusercontent.com/project-lede/koolproxy/main/ipsetadblock/dnsmasq.adblock"
|
||||
|
||||
logsh "【Koolproxy】" "下载kp规则:koolproxy.txt..."
|
||||
wgetsh $local_path/rules/koolproxy.txt $rule_url/koolproxy.txt
|
||||
[ $? -ne 0 ] && logsh "【Koolproxy】" "更新用户koolproxy.txt规则失败"
|
||||
|
||||
logsh "【Koolproxy】" "下载kp规则:daily.txt..."
|
||||
wgetsh $local_path/rules/daily.txt $rule_url/daily.txt
|
||||
[ $? -ne 0 ] && logsh "【Koolproxy】" "更新用户daily.txt规则失败"
|
||||
|
||||
logsh "【Koolproxy】" "下载kp规则:kp.dat..."
|
||||
wgetsh $local_path/rules/kp.dat $rule_url/kp.dat
|
||||
[ $? -ne 0 ] && logsh "【Koolproxy】" "更新用户kp.dat规则失败"
|
||||
|
||||
# logsh "【Koolproxy】" "更新用户自定义规则"
|
||||
# wgetsh $local_path/rules/user.txt $rule_url
|
||||
# [ $? -ne 0 ] && logsh "【Koolproxy】" "更新用户自定义规则失败"
|
||||
|
||||
# logsh "【Koolproxy】" "合并乘风视频规则"
|
||||
# wgetsh $local_path/rules/mv.txt $xinggsf_url
|
||||
# [ $? -ne 0 ] && logsh "【Koolproxy】" "更新乘风规则失败"
|
||||
# cat $local_path/rules/mv.txt >> $local_path/rules/user.txt
|
||||
# rm -f $local_path/rules/mv.txt
|
||||
|
||||
# logsh "【Koolproxy】" "更新dnsmasq.adblock"
|
||||
# wgetsh $local_path/dnsmasq.adblock $adblock_url
|
||||
# [ $? -ne 0 ] && logsh "【Koolproxy】" "更新dnsmasq.adblock失败"
|
||||
|
||||
logsh "【Koolproxy】" "更新koolproxy_ipset.conf"
|
||||
wgetsh $local_path/koolproxy_ipset.conf $ipset_url
|
||||
[ $? -ne 0 ] && logsh "【Koolproxy】" "更新koolproxy_ipset.conf失败"
|
||||
|
||||
BIN
apps/lingmaxdns/bin/lingmaxdns_linux_aarch64
Normal file
BIN
apps/lingmaxdns/bin/lingmaxdns_linux_aarch64
Normal file
Binary file not shown.
BIN
apps/lingmaxdns/bin/lingmaxdns_linux_arm
Normal file
BIN
apps/lingmaxdns/bin/lingmaxdns_linux_arm
Normal file
Binary file not shown.
BIN
apps/lingmaxdns/bin/lingmaxdns_linux_mips
Normal file
BIN
apps/lingmaxdns/bin/lingmaxdns_linux_mips
Normal file
Binary file not shown.
8
apps/lingmaxdns/config/lingmaxdns.uci
Normal file
8
apps/lingmaxdns/config/lingmaxdns.uci
Normal file
@@ -0,0 +1,8 @@
|
||||
service="LingMaxDNS"
|
||||
appname="lingmaxdns"
|
||||
needver="0.0.1"
|
||||
backupfiles=""
|
||||
supports="linux_aarch64,linux_arm,linux_mips"
|
||||
appinfo="DNS优化插件,类似SmartDNS"
|
||||
newinfo=""
|
||||
version="0.0.1"
|
||||
16
apps/lingmaxdns/scripts/config.sh
Normal file
16
apps/lingmaxdns/scripts/config.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
|
||||
eval `mbdb export lingmaxdns`
|
||||
source "$(mbdb get mixbox.main.path)"/bin/base
|
||||
echo "********* $service ***********"
|
||||
echo "[${appinfo}]"
|
||||
readsh "启动${appname}服务[1/0] " "enable" "1"
|
||||
if [ "$enable" == '1' ]; then
|
||||
# Scripts Here
|
||||
echo "插件介绍:https://www.right.com.cn/forum/thread-8137820-1-1.html"
|
||||
# readsh "请输入${appname}外网访问配置[1/0]" "openport" "0"
|
||||
readsh "重启${appname}服务[1/0]" "res" "1"
|
||||
[ "$res" != '0' ] && exit 0
|
||||
fi
|
||||
exit 1
|
||||
69
apps/lingmaxdns/scripts/lingmaxdns.sh
Normal file
69
apps/lingmaxdns/scripts/lingmaxdns.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/bin/sh
|
||||
#copyright by monlor
|
||||
eval `mbdb export lingmaxdns`
|
||||
source "$(mbdb get mixbox.main.path)"/bin/base
|
||||
port="8287"
|
||||
|
||||
start() {
|
||||
|
||||
[ -n "$(pidof ${appname})" ] && logsh "【$service】" "${appname}已经在运行!" && exit 1
|
||||
logsh "【$service】" "正在启动${appname}服务... "
|
||||
# cru a "${appname}" "0 6 * * * ${mbroot}/apps/${appname}/scripts/${appname}.sh restart"
|
||||
# Scripts Here
|
||||
iptables -t nat -A PREROUTING -p udp --dport 53 -j REDIRECT --to-ports "${port}"
|
||||
# open_port
|
||||
# write_firewall_start
|
||||
daemon ${mbroot}/apps/${appname}/bin/${appname}
|
||||
if [ $? -ne 0 ]; then
|
||||
logsh "【$service】" "启动${appname}服务失败!" && end
|
||||
else
|
||||
logsh "【$service】" "启动${appname}服务完成!"
|
||||
# logsh "【$service】" "请在浏览器打开地址:http://$lanip:$port"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
stop() {
|
||||
|
||||
logsh "【$service】" "正在停止${appname}服务... "
|
||||
[ "$enable" == '0' ] && destroy
|
||||
# close_port
|
||||
# remove_firewall_start
|
||||
iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-ports "${port}"
|
||||
killall -9 ${appname} &> /dev/null
|
||||
|
||||
}
|
||||
|
||||
destroy() {
|
||||
|
||||
# End app, Scripts here
|
||||
# cru d "${appname}"
|
||||
return
|
||||
|
||||
}
|
||||
|
||||
end() {
|
||||
|
||||
mbdb set ${appname}.main.enable=0
|
||||
stop && exit 1
|
||||
|
||||
}
|
||||
|
||||
status() {
|
||||
|
||||
if [ -n "$(pidof ${appname})" ]; then
|
||||
status="运行中|1"
|
||||
else
|
||||
status="未运行|0"
|
||||
fi
|
||||
mbdb set ${appname}.main.status="$status"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start) start ;;
|
||||
stop) stop ;;
|
||||
restart) stop; start ;;
|
||||
reload) close_port && open_port ;;
|
||||
status) status ;;
|
||||
esac
|
||||
|
||||
@@ -1 +1 @@
|
||||
4.23.1
|
||||
4.45.0
|
||||
Binary file not shown.
Binary file not shown.
@@ -17,7 +17,7 @@ logsh "【Tools】" "请按任意键安装工具箱(Ctrl + C 退出)."
|
||||
read answer
|
||||
#check root
|
||||
# [ "$USER" != "root" ] && logsh "【Tools】" "请使用root用户安装工具箱!" && exit 1
|
||||
mburl="https://cdn.jsdelivr.net/gh/monlor/mbfiles"
|
||||
mburl="${MB_URL:-https://cdn.jsdelivr.net/gh/monlor/mbfiles}"
|
||||
mbtmp="/tmp/mbtmp"
|
||||
[ ! -d "${mbtmp}" ] && mkdir -p ${mbtmp}
|
||||
model=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]')
|
||||
|
||||
97
install_ghproxy.sh
Normal file
97
install_ghproxy.sh
Normal file
@@ -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://ghproxy.com/https://raw.githubusercontent.com/monlor/mbfiles/master"
|
||||
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
|
||||
Reference in New Issue
Block a user