Files
MIXBOX-ARCHIVE/apps/miwifi/scripts/miwifi.sh
2020-03-05 00:08:40 +08:00

149 lines
3.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/sh
source /etc/mixbox/bin/base
eval `mbdb export miwifi`
modify_samba() {
[ ! -d "$samba_path" ] && mkdir -p $samba_path
sed -i "1,/path/ s#\(path\).*#\1 = $samba_path#" /etc/samba/smb.conf
killall smbd &> /dev/null && /usr/sbin/smbd -D &> /dev/null
killall nmbd &> /dev/null && /usr/sbin/nmbd -D &> /dev/null
cru a "${appname}" "*/5 * * * * ${mbroot}/apps/${appname}/scripts/miwifi_check.sh"
samba_text="已修改"
}
recover_samba() {
/etc/init.d/samba restart &> /dev/null &
cru d "${appname}"
samba_text="未修改"
}
enable_update() {
sed -i "/otapredownload/d" /etc/crontabs/root
echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >> /etc/crontabs/root
update_text="启用"
}
disable_update() {
sed -i "/otapredownload/d" /etc/crontabs/root
update_text="禁用"
}
enable_xunlei() {
if [ -z "`pidof etm`" ]; then
sed -i 's@/etc/thunder@/etc/config/thunder@g' /etc/init.d/xunlei
if [ ! -d /etc/config/thunder ]; then
cp -a /etc/thunder /etc/config
rm -rf /etc/thunder
fi
/etc/init.d/xunlei enable
/etc/init.d/xunlei start &
fi
xunlei_text="启用"
}
disable_xunlei() {
killall etm 2>/dev/null
/etc/init.d/xunlei disable 2>/dev/null
sed -i 's@/etc/config/thunder@/etc/thunder@g' /etc/init.d/xunlei
if [ -d /etc/config/thunder ]; then
cp -a /etc/config/thunder /etc
rm -rf /etc/config/thunder
fi
xunlei_text="禁用"
}
enable_remote_web() {
if [ -z "$(cat /etc/sysapihttpd/miwifi-webinitrd.conf | grep mixbox)" ]; then
cp -f /etc/sysapihttpd/miwifi-webinitrd.conf ${mbtmp}
sed -i '/set \$finalvar \"\$canproxy \$isluci\"/i\ set \$isluci "1"; #mixbox' ${mbtmp}/miwifi-webinitrd.conf
mount --bind ${mbtmp}/miwifi-webinitrd.conf /etc/sysapihttpd/miwifi-webinitrd.conf
/etc/init.d/sysapihttpd restart &> /dev/null
remote_text="启动"
iptables -I INPUT -p tcp --dport 8098 -j ACCEPT &> /dev/null
fi
}
disable_remote_web() {
umount -lf /etc/sysapihttpd/miwifi-webinitrd.conf &> /dev/null
rm -rf ${mbtmp}/miwifi-webinitrd.conf &> /dev/null
remote_text="禁用"
iptables -D INPUT -p tcp --dport 8098 -j ACCEPT &> /dev/null
}
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}
if [ -n "$samba_path" ]; then
modify_samba
logsh "$service" "系统samba服务路径修改为$samba_path"
else
recover_samba
logsh "$service" "系统samba服务路径修改$samba_text"
fi
[ "$miwifi_noupdate" = '1' ] && disable_update || enable_update
logsh "$service" "系统更新服务修改为:$update_text"
[ "$xunlei_disable" = '1' ] && disable_xunlei || enable_xunlei
logsh "$service" "系统迅雷服务修改为:$xunlei_text"
[ "$remote_web" = '1' ] && enable_remote_web || disable_remote_web
logsh "$service" "远程Web访问修复$remote_text"
cru a "${appname}" "*/5 * * * * ${mbroot}/apps/${appname}/scripts/miwifi_check.sh"
# [ $? -ne 0 ] && logsh "【$service】" "启动${appname}服务失败!" && end
logsh "$service" "启动${appname}服务完成!"
status
open_port
}
stop() {
logsh "$service" "正在停止${appname}服务... "
[ "$enable" = '0' ] && destroy
}
destroy() {
# End app, Scripts here
recover_samba
disable_update
disable_xunlei
disable_remote_web
cru d "${appname}"
return
}
end() {
mbdb set $appname.main.enable=0
stop
exit 1
}
status() {
if [ "$enable" = '1' ]; then
status="已启动|1"
else
status="未运行|0"
fi
mbdb set $appname.main.status="$status"
}
case "$1" in
start) start ;;
stop) stop ;;
restart) stop; start ;;
reload) stop; start ;;
status) status ;;
esac