mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-13 08:51:30 +00:00
~优化测试相关命令
~优化版本回退功能,现在支持回退到近期tags ~修复保守模式停止服务时未正确注销防火墙的bug ~修复小米设备因安装在u盘等导致自启命令不正确的bug
This commit is contained in:
@@ -240,18 +240,24 @@ case "$1" in
|
|||||||
main_menu
|
main_menu
|
||||||
;;
|
;;
|
||||||
-t)
|
-t)
|
||||||
shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash
|
shtype=sh
|
||||||
|
ckcmd bash && shtype=bash
|
||||||
$shtype -x "$CRASHDIR"/menu.sh
|
$shtype -x "$CRASHDIR"/menu.sh
|
||||||
;;
|
;;
|
||||||
-s)
|
-s)
|
||||||
"$CRASHDIR"/start.sh $2 $3 $4 $5 $6
|
"$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6"
|
||||||
;;
|
;;
|
||||||
-i)
|
-i)
|
||||||
. "$CRASHDIR"/init.sh 2>/dev/null
|
. "$CRASHDIR"/init.sh 2>/dev/null
|
||||||
;;
|
;;
|
||||||
-st)
|
-st)
|
||||||
shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash
|
shtype=sh
|
||||||
$shtype -x "$CRASHDIR"/start.sh $2 $3 $4 $5 $6
|
ckcmd bash && shtype=bash
|
||||||
|
"$shtype" -x "$CRASHDIR"/starts/bfstart.sh
|
||||||
|
. "$CRASHDIR"/starts/start_legacy.sh
|
||||||
|
start_legacy "$COMMAND" 'shellcrash'
|
||||||
|
"$shtype" -x "$CRASHDIR"/starts/afstart.sh
|
||||||
|
"$CRASHDIR"/start.sh stop
|
||||||
;;
|
;;
|
||||||
-d)
|
-d)
|
||||||
shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash
|
shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash
|
||||||
|
|||||||
@@ -1041,16 +1041,17 @@ setserver() {
|
|||||||
echo "-----------------------------------------------"
|
echo "-----------------------------------------------"
|
||||||
if [ -n "$url_id" ] && [ "$url_id" -lt 200 ];then
|
if [ -n "$url_id" ] && [ "$url_id" -lt 200 ];then
|
||||||
echo -ne "\033[32m正在获取版本信息!\033[0m\r"
|
echo -ne "\033[32m正在获取版本信息!\033[0m\r"
|
||||||
get_bin "$TMPDIR"/release_version bin/release_version
|
. "$CRASHDIR"/libs/web_get_lite.sh
|
||||||
|
web_get_lite https://github.com/juewuy/ShellCrash/tags | grep -o 'releases/tag/.*data'|awk -F '/' '{print $3}'|sed 's/".*//g' > "$TMPDIR"/tags
|
||||||
if [ "$?" = "0" ];then
|
if [ "$?" = "0" ];then
|
||||||
echo -e "\033[31m请选择想要回退至的稳定版版本:\033[0m"
|
echo -e "\033[31m请选择想要回退至的具体版本:\033[0m"
|
||||||
cat "$TMPDIR"/release_version | awk '{print " "NR" "$1}'
|
cat "$TMPDIR"/tags | awk '{print " "NR" "$1}'
|
||||||
echo -e " 0 返回上级菜单"
|
echo -e " 0 返回上级菜单"
|
||||||
read -p "请输入对应数字 > " num
|
read -p "请输入对应数字 > " num
|
||||||
if [ -z "$num" -o "$num" = 0 ]; then
|
if [ -z "$num" -o "$num" = 0 ]; then
|
||||||
continue
|
continue
|
||||||
elif [ $num -le $(cat "$TMPDIR"/release_version 2>/dev/null | awk 'END{print NR}') ]; then
|
elif [ $num -le $(cat "$TMPDIR"/tags 2>/dev/null | awk 'END{print NR}') ]; then
|
||||||
release_type=$(cat "$TMPDIR"/release_version | awk '{print $1}' | sed -n "$num"p)
|
release_type=$(cat "$TMPDIR"/tags | awk '{print $1}' | sed -n "$num"p)
|
||||||
update_url=''
|
update_url=''
|
||||||
saveserver
|
saveserver
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -72,9 +72,10 @@ stop)
|
|||||||
cronset '运行时每'
|
cronset '运行时每'
|
||||||
cronset '流媒体预解析'
|
cronset '流媒体预解析'
|
||||||
#多种方式结束进程
|
#多种方式结束进程
|
||||||
if [ -f "$TMPDIR/shellcrash.pid" ];then
|
if [ -f "$TMPDIR/shellcrash.pid" ];then
|
||||||
kill -TERM "$(cat "$TMPDIR/shellcrash.pid")"
|
kill -TERM "$(cat "$TMPDIR/shellcrash.pid")"
|
||||||
rm -f "$TMPDIR/shellcrash.pid"
|
rm -f "$TMPDIR/shellcrash.pid"
|
||||||
|
stop_firewall
|
||||||
elif [ "$USER" = "root" ] && grep -q 'systemd' /proc/1/comm; then
|
elif [ "$USER" = "root" ] && grep -q 'systemd' /proc/1/comm; then
|
||||||
systemctl stop shellcrash.service >/dev/null 2>&1
|
systemctl stop shellcrash.service >/dev/null 2>&1
|
||||||
elif [ -f /etc/rc.common ] && grep -q 'procd' /proc/1/comm; then
|
elif [ -f /etc/rc.common ] && grep -q 'procd' /proc/1/comm; then
|
||||||
@@ -85,7 +86,7 @@ stop)
|
|||||||
elif rc-status -r >/dev/null 2>&1; then
|
elif rc-status -r >/dev/null 2>&1; then
|
||||||
rc-service shellcrash stop >/dev/null 2>&1
|
rc-service shellcrash stop >/dev/null 2>&1
|
||||||
else
|
else
|
||||||
stop_firewall #清理路由策略
|
stop_firewall
|
||||||
fi
|
fi
|
||||||
killall CrashCore 2>/dev/null
|
killall CrashCore 2>/dev/null
|
||||||
#清理缓存目录
|
#清理缓存目录
|
||||||
@@ -115,8 +116,8 @@ debug)
|
|||||||
else
|
else
|
||||||
sed -i "s/log-level: info/log-level: $2/" "$TMPDIR"/config.yaml
|
sed -i "s/log-level: info/log-level: $2/" "$TMPDIR"/config.yaml
|
||||||
fi
|
fi
|
||||||
[ "$3" = flash ] && dir=$CRASHDIR || dir=$TMPDIR
|
[ "$3" = flash ] && dir="$CRASHDIR" || dir="$TMPDIR"
|
||||||
$COMMAND >${dir}/debug.log 2>&1 &
|
$COMMAND >"$dir"/debug.log 2>&1 &
|
||||||
sleep 2
|
sleep 2
|
||||||
logger "已运行debug模式!如需停止,请使用重启/停止服务功能!" 33
|
logger "已运行debug模式!如需停止,请使用重启/停止服务功能!" 33
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Copyright (C) Juewuy
|
# Copyright (C) Juewuy
|
||||||
|
|
||||||
CRASHDIR="$(uci get firewall.ShellCrash.path | sed 's/\/starts\/snapshot_init.sh//')"
|
CRASHDIR="$(uci get firewall.ShellCrash.path | sed 's/\/starts.*//')"
|
||||||
|
i=0
|
||||||
[ -f "$CRASHDIR"/configs/ShellCrash.cfg ] && . "$CRASHDIR"/configs/ShellCrash.cfg
|
while [ ! -f "$CRASHDIR/configs/ShellCrash.cfg" ]; do
|
||||||
|
[ $i -gt 20 ] && exit 1
|
||||||
|
i=$((i + 1))
|
||||||
|
sleep 3
|
||||||
|
done
|
||||||
|
. "$CRASHDIR"/configs/ShellCrash.cfg
|
||||||
|
|
||||||
autoSSH(){
|
autoSSH(){
|
||||||
#自动开启SSH
|
#自动开启SSH
|
||||||
@@ -78,7 +83,6 @@ init(){
|
|||||||
while ! ip a| grep -q lan; do
|
while ! ip a| grep -q lan; do
|
||||||
sleep 10
|
sleep 10
|
||||||
done
|
done
|
||||||
sleep 20
|
|
||||||
autoSSH #软固化功能
|
autoSSH #软固化功能
|
||||||
auto_clean #自动清理
|
auto_clean #自动清理
|
||||||
[ -s "$CRASHDIR"/start.sh ] && auto_start
|
[ -s "$CRASHDIR"/start.sh ] && auto_start
|
||||||
|
|||||||
Reference in New Issue
Block a user