mirror of
https://github.com/juewuy/ShellCrash.git
synced 2026-03-10 23:41:22 +00:00
chore: invoke the common.sh componen
This commit is contained in:
@@ -37,16 +37,14 @@ setboot() {
|
|||||||
check_autostart && auto_set="ON" || auto_set="OFF"
|
check_autostart && auto_set="ON" || auto_set="OFF"
|
||||||
[ "${BINDIR}" = "$CRASHDIR" ] && mini_clash=OFF || mini_clash=ON
|
[ "${BINDIR}" = "$CRASHDIR" ] && mini_clash=OFF || mini_clash=ON
|
||||||
[ -z "$network_check" ] && network_check=ON
|
[ -z "$network_check" ] && network_check=ON
|
||||||
line_break
|
comp_box "\033[30;47m启动设置菜单\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[30;47m启动设置菜单\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
content_line "1) 开机自启动: \033[36m$(printf '%-4s' "$auto_set")\033[0m"
|
content_line "1) 开机自启动: \033[36m$(printf '%-4s' "$auto_set")\033[0m"
|
||||||
content_line "2) 使用保守模式: \033[36m$(printf '%-4s' "$start_old")\033[0m ———基于定时任务(每分钟检测)"
|
content_line "2) 使用保守模式: \033[36m$(printf '%-4s' "$start_old")\033[0m ———基于定时任务(每分钟检测)"
|
||||||
content_line "3) 设置自启延时: \033[36m$(printf '%-7s' "$delay")\033[0m ———用于解决自启后服务受限"
|
content_line "3) 设置自启延时: \033[36m$(printf '%-7s' "$delay")\033[0m ———用于解决自启后服务受限"
|
||||||
content_line "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\033[0m ———用于闪存空间不足的设备"
|
content_line "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\033[0m ———用于闪存空间不足的设备"
|
||||||
[ "${BINDIR}" != "$CRASHDIR" ] && content_line "5) 设置小闪存目录: \033[36m${BINDIR}\033[0m"
|
[ "${BINDIR}" != "$CRASHDIR" ] && content_line "5) 设置小闪存目录: \033[36m${BINDIR}\033[0m"
|
||||||
content_line "6) 自启网络检查: \033[36m$(printf '%-4s' "$network_check")\033[0m ———禁用则跳过自启时网络检查"
|
content_line "6) 自启网络检查: \033[36m$(printf '%-4s' "$network_check")\033[0m ———禁用则跳过自启时网络检查"
|
||||||
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
@@ -55,103 +53,80 @@ setboot() {
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if check_autostart; then
|
if check_autostart; then
|
||||||
# 禁止自启动:删除各系统的启动项
|
# 禁止自启动:删除各系统的启动项
|
||||||
disable_autostart
|
disable_autostart
|
||||||
content_line "\033[33m已禁止ShellCrash开机自启动!\033[0m"
|
msg_alert "\033[33m已禁止ShellCrash开机自启动!\033[0m"
|
||||||
else
|
else
|
||||||
# 允许自启动:配置各系统的启动项
|
# 允许自启动:配置各系统的启动项
|
||||||
allow_autostart
|
allow_autostart
|
||||||
content_line "\033[32m已设置ShellCrash开机自启动!\033[0m"
|
msg_alert "\033[32m已设置ShellCrash开机自启动!\033[0m"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ "$start_old" = "OFF" ] >/dev/null 2>&1; then
|
if [ "$start_old" = "OFF" ] >/dev/null 2>&1; then
|
||||||
disable_autostart
|
disable_autostart
|
||||||
start_old=ON
|
start_old=ON
|
||||||
setconfig start_old "$start_old"
|
setconfig start_old "$start_old"
|
||||||
"$CRASHDIR"/start.sh stop
|
"$CRASHDIR"/start.sh stop
|
||||||
content_line "\033[33m改为使用保守模式启动服务!\033[0m"
|
msg_alert "\033[33m改为使用保守模式启动服务!\033[0m"
|
||||||
else
|
else
|
||||||
if grep -qE 'procd|systemd|s6' /proc/1/comm || rc-status -r >/dev/null 2>&1; then
|
if grep -qE 'procd|systemd|s6' /proc/1/comm || rc-status -r >/dev/null 2>&1; then
|
||||||
"$CRASHDIR"/start.sh cronset "ShellCrash初始化"
|
"$CRASHDIR"/start.sh cronset "ShellCrash初始化"
|
||||||
start_old=OFF
|
start_old=OFF
|
||||||
setconfig start_old "$start_old"
|
setconfig start_old "$start_old"
|
||||||
"$CRASHDIR"/start.sh stop
|
"$CRASHDIR"/start.sh stop
|
||||||
content_line "\033[32m改为使用系统守护进程启动服务!\033[0m"
|
msg_alert "\033[32m改为使用系统守护进程启动服务!\033[0m"
|
||||||
else
|
else
|
||||||
content_line "\033[31m当前设备不支持以其他模式启动!\033[0m"
|
msg_alert "\033[31m当前设备不支持以其他模式启动!\033[0m"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
line_break
|
comp_box "\033[33m如果你的设备启动后可以正常使用,则无需设置!\033[0m" \
|
||||||
separator_line "="
|
"\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m"
|
||||||
content_line "\033[33m如果你的设备启动后可以正常使用,则无需设置!\033[0m"
|
|
||||||
content_line "\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入启动延迟时间(0~300秒)> " sec
|
read -r -p "请输入启动延迟时间(0~300秒)> " sec
|
||||||
|
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
case "$sec" in
|
case "$sec" in
|
||||||
[0-9] | [0-9][0-9] | [0-2][0-9][0-9] | 300)
|
[0-9] | [0-9][0-9] | [0-2][0-9][0-9] | 300)
|
||||||
start_delay=$sec
|
start_delay=$sec
|
||||||
setconfig start_delay "$sec"
|
setconfig start_delay "$sec"
|
||||||
content_line "\033[32m设置成功!\033[0m"
|
msg_alert "\033[32m设置成功!\033[0m"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
content_line "\033[31m输入有误,或超过300秒,请重新输入!\033[0m"
|
msg_alert "\033[31m输入有误,或超过300秒,请重新输入!\033[0m"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
dir_size=$(df "$CRASHDIR" | awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' | grep Ava | awk '{print $2}')
|
dir_size=$(df "$CRASHDIR" | awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' | grep Ava | awk '{print $2}')
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ "$mini_clash" = "OFF" ]; then
|
if [ "$mini_clash" = "OFF" ]; then
|
||||||
if [ "$dir_size" -gt 20480 ]; then
|
if [ "$dir_size" -gt 20480 ]; then
|
||||||
content_line "\033[33m您的设备空间充足(>20M),无需开启!\033[0m"
|
msg_alert "\033[33m您的设备空间充足(>20M),无需开启!\033[0m"
|
||||||
elif [ "$start_old" != 'ON' ] && [ "$(cat /proc/1/comm)" = "systemd" ]; then
|
elif [ "$start_old" != 'ON' ] && [ "$(cat /proc/1/comm)" = "systemd" ]; then
|
||||||
content_line "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m"
|
msg_alert "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m"
|
||||||
else
|
else
|
||||||
[ "$BINDIR" = "$CRASHDIR" ] && BINDIR="$TMPDIR"
|
[ "$BINDIR" = "$CRASHDIR" ] && BINDIR="$TMPDIR"
|
||||||
content_line "\033[32m已经启用小闪存功能!\033[0m"
|
msg_alert "\033[32m已经启用小闪存功能!\033[0m" \
|
||||||
content_line "如需更换目录,请使用【设置小闪存目录】功能\033[0m"
|
"如需更换目录,请使用【设置小闪存目录】功能\033[0m"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
|
||||||
else
|
else
|
||||||
if [ "$dir_size" -lt 8192 ]; then
|
if [ "$dir_size" -lt 8192 ]; then
|
||||||
content_line "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m"
|
comp_box "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" \
|
||||||
content_line "是否确认停用此功能:"
|
"是否确认停用此功能?"
|
||||||
separator_line "="
|
btm_box "1) 是" \
|
||||||
content_line "1) 是"
|
"0) 否,返回上级菜单"
|
||||||
content_line "0) 否,返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
if [ "$res" = 1 ]; then
|
if [ "$res" = 1 ]; then
|
||||||
BINDIR="$CRASHDIR"
|
BINDIR="$CRASHDIR"
|
||||||
line_break
|
msg_alert "\033[33m已经停用小闪存功能!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[33m已经停用小闪存功能!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
else
|
else
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
rm -rf /tmp/ShellCrash
|
rm -rf /tmp/ShellCrash
|
||||||
BINDIR="$CRASHDIR"
|
BINDIR="$CRASHDIR"
|
||||||
content_line "\033[33m已经停用小闪存功能!\033[0m"
|
msg_alert "\033[33m已经停用小闪存功能!\033[0m"
|
||||||
separator_line "="
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env
|
setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env
|
||||||
@@ -159,16 +134,13 @@ setboot() {
|
|||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" \
|
||||||
separator_line "="
|
"\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m"
|
||||||
content_line "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m"
|
btm_box "1) 使用内存(/tmp)" \
|
||||||
content_line "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m"
|
"2) 选择U盘目录" \
|
||||||
separator_line "="
|
"3) 自定义目录" \
|
||||||
content_line "1) 使用内存(/tmp)"
|
"" \
|
||||||
content_line "2) 选择U盘目录"
|
"0) 返回上级菜单"
|
||||||
content_line "3) 自定义目录"
|
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -180,16 +152,13 @@ setboot() {
|
|||||||
2)
|
2)
|
||||||
set_usb_dir() {
|
set_usb_dir() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "请选择安装目录:"
|
||||||
separator_line "="
|
|
||||||
content_line "请选择安装目录:"
|
|
||||||
separator_line "="
|
|
||||||
du -hL /mnt |
|
du -hL /mnt |
|
||||||
awk '{print NR") "$2" (已占用的储存空间:"$1")"}' |
|
awk '{print NR") "$2" (已占用的储存空间:"$1")"}' |
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
content_line "$line"
|
content_line "$line"
|
||||||
done
|
done
|
||||||
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
@@ -197,10 +166,7 @@ setboot() {
|
|||||||
if [ "$num" = 0 ]; then
|
if [ "$num" = 0 ]; then
|
||||||
return 1
|
return 1
|
||||||
elif [ -z "$BINDIR" ]; then
|
elif [ -z "$BINDIR" ]; then
|
||||||
line_break
|
msg_alert "\033[31m输入错误!请重新设置!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m输入错误!请重新设置!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
else
|
else
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@@ -214,20 +180,13 @@ setboot() {
|
|||||||
3)
|
3)
|
||||||
input_dir() {
|
input_dir() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[36m请直接输入命令语句\033[0m" \
|
||||||
separator_line "="
|
"或输入 0 返回上级菜单"
|
||||||
content_line "请直接输入命令语句"
|
|
||||||
content_line "或输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入> " BINDIR
|
read -r -p "请输入> " BINDIR
|
||||||
if [ "$BINDIR" = 0 ]; then
|
if [ "$BINDIR" = 0 ]; then
|
||||||
return 1
|
return 1
|
||||||
elif [ ! -d "$BINDIR" ]; then
|
elif [ ! -d "$BINDIR" ]; then
|
||||||
line_break
|
msg_alert "\033[31m输入错误!请重新设置!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m输入错误!请重新设置!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
continue
|
|
||||||
fi
|
fi
|
||||||
return 0
|
return 0
|
||||||
done
|
done
|
||||||
@@ -239,7 +198,6 @@ setboot() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -248,19 +206,15 @@ setboot() {
|
|||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
line_break
|
comp_box "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m" \
|
||||||
separator_line "="
|
"\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" \
|
||||||
content_line "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m"
|
"\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m"
|
||||||
content_line "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m"
|
|
||||||
content_line "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
|
|
||||||
if [ "$network_check" = "OFF" ]; then
|
if [ "$network_check" = "OFF" ]; then
|
||||||
content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用:"
|
content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用?"
|
||||||
else
|
else
|
||||||
content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用:"
|
content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用?"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "1) 是"
|
content_line "1) 是"
|
||||||
content_line "0) 否,返回上级菜单"
|
content_line "0) 否,返回上级菜单"
|
||||||
@@ -272,18 +226,15 @@ setboot() {
|
|||||||
else
|
else
|
||||||
network_check=OFF
|
network_check=OFF
|
||||||
fi
|
fi
|
||||||
setconfig network_check "$network_check"
|
if setconfig network_check "$network_check"; then
|
||||||
|
common_success
|
||||||
line_break
|
else
|
||||||
separator_line "="
|
common_failed
|
||||||
content_line "\033[32m操作成功\033[0m"
|
fi
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -15,24 +15,16 @@ set_cron() {
|
|||||||
[ -z "$week" ] && week=*
|
[ -z "$week" ] && week=*
|
||||||
[ -z "$hour" ] && hour=*
|
[ -z "$hour" ] && hour=*
|
||||||
[ -z "$min" ] && min=0
|
[ -z "$min" ] && min=0
|
||||||
line_break
|
comp_box "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" \
|
||||||
separator_line "="
|
"" \
|
||||||
content_line "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m"
|
"是否确认添加定时任务?"
|
||||||
content_line ""
|
btm_box "1) 是" \
|
||||||
content_line "是否确认添加定时任务:"
|
"0) 否"
|
||||||
separator_line "="
|
|
||||||
content_line "1) 是"
|
|
||||||
content_line "0) 否"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
if [ "$res" = '1' ]; then
|
if [ "$res" = '1' ]; then
|
||||||
task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name"
|
task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name"
|
||||||
cronset "$cron_time$task_name" "$task_txt"
|
cronset "$cron_time$task_name" "$task_txt"
|
||||||
|
msg_alert -t 0 "任务【$cron_time$task_name】\033[32m已添加!\033[0m"
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "任务【$cron_time$task_name】\033[32m已添加!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
fi
|
fi
|
||||||
unset week hour min
|
unset week hour min
|
||||||
sleep 1
|
sleep 1
|
||||||
@@ -59,24 +51,17 @@ set_service() {
|
|||||||
# 自定义命令添加
|
# 自定义命令添加
|
||||||
task_user_add() {
|
task_user_add() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[33m命令可包含空格,请确保命令可执行!\033[0m" \
|
||||||
separator_line "="
|
"\033[36m请勿附带执行条件,执行条件请在命令添加完成后再返回设置!\033[0m" \
|
||||||
content_line "\033[33m命令可包含空格,请确保命令可执行!\033[0m"
|
"亦可手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m以添加命令"
|
||||||
content_line "\033[36m请勿附带执行条件,执行条件请在命令添加完成后再返回设置!\033[0m"
|
btm_box "\033[36m请直接输入命令语句\033[0m" \
|
||||||
content_line "亦可手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m以添加命令"
|
"或输入 0 返回上级菜单"
|
||||||
separator_line "-"
|
|
||||||
content_line "请直接输入命令语句"
|
|
||||||
content_line "或输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入> " script
|
read -r -p "请输入> " script
|
||||||
if [ "$script" = 0 ]; then
|
if [ "$script" = 0 ]; then
|
||||||
break
|
break
|
||||||
elif [ -n "$script" ]; then
|
elif [ -n "$script" ]; then
|
||||||
task_command=$script
|
task_command=$script
|
||||||
line_break
|
comp_box "请检查输入:\033[32m$task_command\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "请检查输入:\033[32m$task_command\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
# 获取本任务ID
|
# 获取本任务ID
|
||||||
task_max_id=$(awk -F '#' '{print $1}' "$CRASHDIR"/task/task.user 2>/dev/null | sort -n | tail -n 1)
|
task_max_id=$(awk -F '#' '{print $1}' "$CRASHDIR"/task/task.user 2>/dev/null | sort -n | tail -n 1)
|
||||||
[ -z "$task_max_id" ] && task_max_id=200
|
[ -z "$task_max_id" ] && task_max_id=200
|
||||||
@@ -84,19 +69,10 @@ task_user_add() {
|
|||||||
read -r -p "请输入任务备注> " txt
|
read -r -p "请输入任务备注> " txt
|
||||||
[ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id
|
[ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id
|
||||||
echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user
|
echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user
|
||||||
|
msg_alert "\033[32m自定义任务已添加!\033[0m"
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m自定义任务已添加!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
line_break
|
msg_alert "\033[31m输入错误,请重新输入!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m输入错误,请重新输入!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
@@ -104,19 +80,14 @@ task_user_add() {
|
|||||||
# 自定义命令删除
|
# 自定义命令删除
|
||||||
task_user_del() {
|
task_user_del() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then
|
if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then
|
||||||
content_line "请输入对应ID移除对应自定义任务(不会影响内置任务)"
|
comp_box "请输入对应ID移除对应自定义任务(不会影响内置任务)" \
|
||||||
content_line "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m"
|
"也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m"
|
||||||
separator_line "="
|
|
||||||
|
|
||||||
grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null |
|
grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null |
|
||||||
awk -F '#' '{print $1") "$3}' |
|
awk -F '#' '{print $1") "$3}' |
|
||||||
while IFS= read -r line; do
|
while IFS= read -r line; do
|
||||||
content_line "$line"
|
content_line "$line"
|
||||||
done
|
done
|
||||||
|
|
||||||
content_line ""
|
content_line ""
|
||||||
content_line "0) 返回上级菜单"
|
content_line "0) 返回上级菜单"
|
||||||
separator_line "="
|
separator_line "="
|
||||||
@@ -125,23 +96,12 @@ task_user_del() {
|
|||||||
break
|
break
|
||||||
elif [ -n "$num" ]; then
|
elif [ -n "$num" ]; then
|
||||||
sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null
|
sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null
|
||||||
|
common_success
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
else
|
else
|
||||||
line_break
|
msg_alert "\033[31m输入错误,请重新输入!\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m输入错误,请重新输入!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
content_line "\033[33m你暂未添加任何自定义任务\033[0m"
|
msg_alert "\033[33m你暂未添加任何自定义任务\033[0m"
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -150,10 +110,7 @@ task_user_del() {
|
|||||||
# 任务添加
|
# 任务添加
|
||||||
task_add() {
|
task_add() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[36m请选择需要添加的任务:\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[36m请选择需要添加的任务:\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
# 输出任务列表
|
# 输出任务列表
|
||||||
list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}')
|
list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}')
|
||||||
list_box "$list"
|
list_box "$list"
|
||||||
@@ -173,12 +130,10 @@ task_add() {
|
|||||||
break
|
break
|
||||||
else
|
else
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -198,51 +153,43 @@ task_del() {
|
|||||||
|
|
||||||
# 任务条件选择菜单
|
# 任务条件选择菜单
|
||||||
task_type() {
|
task_type() {
|
||||||
line_break
|
comp_box "请选择任务\033[36m【$task_name】\033[0m执行条件:"
|
||||||
separator_line "="
|
btm_box "1) 定时任务\033[32m每周执行\033[0m" \
|
||||||
content_line "请选择任务\033[36m【$task_name】\033[0m执行条件:"
|
"2) 定时任务\033[32m每日执行\033[0m" \
|
||||||
separator_line "="
|
"3) 定时任务\033[32m每小时执行\033[0m" \
|
||||||
content_line "1) 定时任务\033[32m每周执行\033[0m"
|
"4) 定时任务\033[32m每分钟执行\033[0m" \
|
||||||
content_line "2) 定时任务\033[32m每日执行\033[0m"
|
" - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -" \
|
||||||
content_line "3) 定时任务\033[32m每小时执行\033[0m"
|
" 逻辑水平不及格的请勿使用下方触发条件!" \
|
||||||
content_line "4) 定时任务\033[32m每分钟执行\033[0m"
|
" - - - - - - - - - - - - - - - - - - - -" \
|
||||||
content_line " - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -"
|
"5) 服务\033[33m启动前执行\033[0m" \
|
||||||
content_line " 逻辑水平不及格的请勿使用下方触发条件!"
|
"6) 服务\033[33m启动后执行\033[0m" \
|
||||||
content_line " - - - - - - - - - - - - - - - - - - - -"
|
"7) 服务\033[33m运行时每分钟执行\033[0m" \
|
||||||
content_line "5) 服务\033[33m启动前执行\033[0m"
|
"8) 防火墙服务\033[33m重启后执行\033[0m" \
|
||||||
content_line "6) 服务\033[33m启动后执行\033[0m"
|
"" \
|
||||||
content_line "7) 服务\033[33m运行时每分钟执行\033[0m"
|
"0) 返回上级菜单"
|
||||||
content_line "8) 防火墙服务\033[33m重启后执行\033[0m"
|
|
||||||
content_line ""
|
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
0)
|
0)
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
line_break
|
|
||||||
separator_line "="
|
comp_box "输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" \
|
||||||
content_line "输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)"
|
"输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" \
|
||||||
content_line "输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行"
|
"输入 1~5 代表\033[36m周一至周五\033[0m运行"
|
||||||
content_line "输入 1~5 代表\033[36m周一至周五\033[0m运行"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "在每周哪天执行?> " week
|
read -r -p "在每周哪天执行?> " week
|
||||||
# week=`echo ${week/7/0}` # 把7换成0
|
# week=`echo ${week/7/0}` # 把7换成0
|
||||||
|
echo
|
||||||
read -r -p "想在该日的具体哪个小时执行?(0~23)> " hour
|
read -r -p "想在该日的具体哪个小时执行?(0~23)> " hour
|
||||||
cron_time="在每周$week的$hour点整"
|
cron_time="在每周$week的$hour点整"
|
||||||
# cron_time=`echo ${cron_time/周0/周日}` # 把0换成日
|
# cron_time=`echo ${cron_time/周0/周日}` # 把0换成日
|
||||||
[ -n "$week" ] && [ -n "$hour" ] && set_cron
|
[ -n "$week" ] && [ -n "$hour" ] && set_cron
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
line_break
|
comp_box "输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" \
|
||||||
separator_line "="
|
"输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行"
|
||||||
content_line "输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行"
|
|
||||||
content_line "输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "想在每日的具体哪个小时执行?(0~23)> " hour
|
read -r -p "想在每日的具体哪个小时执行?(0~23)> " hour
|
||||||
|
echo
|
||||||
read -r -p "想在具体哪分钟执行?(0~59的整数)> " min
|
read -r -p "想在具体哪分钟执行?(0~59的整数)> " min
|
||||||
cron_time="在每日的$hour点$min分"
|
cron_time="在每日的$hour点$min分"
|
||||||
[ -n "$min" ] && [ -n "$hour" ] && set_cron
|
[ -n "$min" ] && [ -n "$hour" ] && set_cron
|
||||||
@@ -268,11 +215,8 @@ task_type() {
|
|||||||
set_service afstart "$task_id" "服务启动后$task_name"
|
set_service afstart "$task_id" "服务启动后$task_name"
|
||||||
;;
|
;;
|
||||||
7)
|
7)
|
||||||
line_break
|
comp_box "输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" \
|
||||||
separator_line "="
|
"大于60分钟的数值将按小时取整,且按当前时区记时"
|
||||||
content_line "输入10即每隔10分钟运行一次,1440即每隔24小时运行一次"
|
|
||||||
content_line "大于60分钟的数值将按小时取整,且按当前时区记时"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "想每隔多少分钟执行一次?(1~1440的整数)> " num
|
read -r -p "想每隔多少分钟执行一次?(1~1440的整数)> " num
|
||||||
if [ "$num" -lt 60 ]; then
|
if [ "$num" -lt 60 ]; then
|
||||||
min="$num"
|
min="$num"
|
||||||
@@ -286,20 +230,15 @@ task_type() {
|
|||||||
[ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time"
|
[ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time"
|
||||||
;;
|
;;
|
||||||
8)
|
8)
|
||||||
line_break
|
comp_box "该功能会将相关启动代码注入到/etc/init.d/firewall中"
|
||||||
separator_line "="
|
"是否确认继续?"
|
||||||
content_line "该功能会将相关启动代码注入到/etc/init.d/firewall中"
|
btm_box "1) 是" \
|
||||||
content_line "是否确认继续:"
|
"0) 否"
|
||||||
separator_line "="
|
|
||||||
content_line "1) 是"
|
|
||||||
content_line "0) 否"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
[ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name"
|
[ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
return 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
@@ -307,8 +246,6 @@ task_type() {
|
|||||||
# 任务管理列表
|
# 任务管理列表
|
||||||
task_manager() {
|
task_manager() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
# 抽取并生成临时列表
|
# 抽取并生成临时列表
|
||||||
cronload >"$TMPDIR"/task_cronlist
|
cronload >"$TMPDIR"/task_cronlist
|
||||||
cat "$TMPDIR"/task_cronlist "$CRASHDIR"/task/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | cut -d ' ' -f 2- >"$TMPDIR"/task_list
|
cat "$TMPDIR"/task_cronlist "$CRASHDIR"/task/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | cut -d ' ' -f 2- >"$TMPDIR"/task_list
|
||||||
@@ -318,19 +255,16 @@ task_manager() {
|
|||||||
rm -rf "$TMPDIR"/task_cronlist
|
rm -rf "$TMPDIR"/task_cronlist
|
||||||
# 判断为空则返回
|
# 判断为空则返回
|
||||||
if [ ! -s "$TMPDIR"/task_list ]; then
|
if [ ! -s "$TMPDIR"/task_list ]; then
|
||||||
content_line "\033[31m当前没有可供管理的任务!\033[36m"
|
msg_alert "\033[31m当前没有可供管理的任务!\033[36m"
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
content_line "\033[33m已添加的任务:\033[0m"
|
comp_box "\033[33m已添加的任务:\033[0m"
|
||||||
separator_line "="
|
|
||||||
list_box "$(cat "$TMPDIR"/task_list)"
|
list_box "$(cat "$TMPDIR"/task_list)"
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
content_line "a) 清空旧版任务"
|
btm_box "a) 清空旧版任务" \
|
||||||
content_line "d) 清空任务列表"
|
"d) 清空任务列表" \
|
||||||
content_line "0) 返回上级菜单"
|
"" \
|
||||||
separator_line "="
|
"0) 返回上级菜单"
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -338,31 +272,20 @@ task_manager() {
|
|||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
task_del "#"
|
task_del "#"
|
||||||
line_break
|
msg_alert "\033[31m旧版任务已清空!\033[36m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m旧版任务已清空!\033[36m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
d)
|
d)
|
||||||
task_del "task.sh"
|
task_del "task.sh"
|
||||||
line_break
|
msg_alert "\033[31m全部任务已清空!\033[36m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[31m全部任务已清空!\033[36m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
[1-9] | [1-9][0-9])
|
[1-9] | [1-9][0-9])
|
||||||
task_txt=$(sed -n "$num p" "$TMPDIR"/task_list)
|
task_txt=$(sed -n "$num p" "$TMPDIR"/task_list)
|
||||||
task_id=$(echo "$task_txt" | awk '{print $1}')
|
task_id=$(echo "$task_txt" | awk '{print $1}')
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ "$task_id" = 0 ]; then
|
if [ "$task_id" = 0 ]; then
|
||||||
content_line "旧版任务不支持管理,是否移除:"
|
comp_box "旧版任务不支持管理,是否移除?"
|
||||||
separator_line "="
|
btm_box "1) 是" \
|
||||||
content_line "1) 是"
|
"0) 否,返回上级菜单"
|
||||||
content_line "0) 否,返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " res
|
read -r -p "请输入对应标号> " res
|
||||||
if [ "$res" = 1 ]; then
|
if [ "$res" = 1 ]; then
|
||||||
cronname=$(echo "$task_txt" | awk -F '-' '{print $2}')
|
cronname=$(echo "$task_txt" | awk -F '-' '{print $2}')
|
||||||
@@ -374,15 +297,13 @@ task_manager() {
|
|||||||
else
|
else
|
||||||
task_des=$(echo "$task_txt" | awk '{print $2}')
|
task_des=$(echo "$task_txt" | awk '{print $2}')
|
||||||
task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $3}')
|
task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $3}')
|
||||||
|
comp_box "当前任务为:\033[36m$task_des\033[0m"
|
||||||
content_line "当前任务为:\033[36m$task_des\033[0m"
|
btm_box "1) \033[33m修改\033[0m当前任务" \
|
||||||
separator_line "="
|
"2) \033[31m删除\033[0m当前任务" \
|
||||||
content_line "1) \033[33m修改\033[0m当前任务"
|
"3) \033[32m立即执行\033[0m一次" \
|
||||||
content_line "2) \033[31m删除\033[0m当前任务"
|
"4) 查看\033[33m执行记录\033[0m" \
|
||||||
content_line "3) \033[32m立即执行\033[0m一次"
|
"" \
|
||||||
content_line "4) 查看\033[33m执行记录\033[0m"
|
"0) 返回上级菜单"
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -393,41 +314,31 @@ task_manager() {
|
|||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
task_del "$task_des"
|
task_del "$task_des"
|
||||||
line_break
|
common_success
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $2}')
|
task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $2}')
|
||||||
eval "$task_command" && task_res='执行成功!' || task_res='执行失败!'
|
eval "$task_command" && task_res='执行成功!' || task_res='执行失败!'
|
||||||
line_break
|
msg_alert "\033[33m任务【$task_des】$task_res\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[33m任务【$task_des】$task_res\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
line_break
|
|
||||||
if cat "$TMPDIR"/ShellCrash.log | grep -q "$task_name"; then
|
if cat "$TMPDIR"/ShellCrash.log | grep -q "$task_name"; then
|
||||||
|
line_break
|
||||||
|
echo "==========================================================="
|
||||||
cat "$TMPDIR"/ShellCrash.log | grep "$task_name"
|
cat "$TMPDIR"/ShellCrash.log | grep "$task_name"
|
||||||
|
echo "==========================================================="
|
||||||
else
|
else
|
||||||
separator_line "="
|
msg_alert "\033[31m未找到相关执行记录!\033[0m"
|
||||||
content_line "\033[31m未找到相关执行记录!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
fi
|
fi
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
@@ -441,7 +352,6 @@ task_recom() {
|
|||||||
"$TASK_RECOM_ITEM_1" \
|
"$TASK_RECOM_ITEM_1" \
|
||||||
"$TASK_RECOM_ITEM_2" \
|
"$TASK_RECOM_ITEM_2" \
|
||||||
"$TASK_RECOM_ITEM_3"
|
"$TASK_RECOM_ITEM_3"
|
||||||
|
|
||||||
btm_box "1) 是" \
|
btm_box "1) 是" \
|
||||||
"0) 否"
|
"0) 否"
|
||||||
read -r -p "$COMMON_INPUT>" res
|
read -r -p "$COMMON_INPUT>" res
|
||||||
@@ -462,19 +372,16 @@ task_menu() {
|
|||||||
while true; do
|
while true; do
|
||||||
# 检测并创建自定义任务文件
|
# 检测并创建自定义任务文件
|
||||||
[ -f "$CRASHDIR"/task/task.user ] || echo '#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)' >"$CRASHDIR"/task/task.user
|
[ -f "$CRASHDIR"/task/task.user ] || echo '#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)' >"$CRASHDIR"/task/task.user
|
||||||
line_break
|
comp_box "\033[30;47m自动任务菜单\033[0m"
|
||||||
separator_line "="
|
btm_box "1) 添加\033[32m自动任务\033[0m" \
|
||||||
content_line "\033[30;47m自动任务菜单\033[0m"
|
"2) 管理\033[33m任务列表\033[0m" \
|
||||||
separator_line "="
|
"3) 查看\033[36m任务日志\033[0m" \
|
||||||
content_line "1) 添加\033[32m自动任务\033[0m"
|
"4) 配置\033[36m日志推送\033[0m" \
|
||||||
content_line "2) 管理\033[33m任务列表\033[0m"
|
"5) 添加\033[33m自定义任务\033[0m" \
|
||||||
content_line "3) 查看\033[36m任务日志\033[0m"
|
"6) 删除\033[33m自定义任务\033[0m" \
|
||||||
content_line "4) 配置\033[36m日志推送\033[0m"
|
"7) 使用\033[32m推荐设置\033[0m" \
|
||||||
content_line "5) 添加\033[33m自定义任务\033[0m"
|
"" \
|
||||||
content_line "6) 删除\033[33m自定义任务\033[0m"
|
"0) 返回上级菜单"
|
||||||
content_line "7) 使用\033[32m推荐设置\033[0m"
|
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入对应标号> " num
|
read -r -p "请输入对应标号> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
@@ -488,21 +395,17 @@ task_menu() {
|
|||||||
rm -rf "$TMPDIR"/task_list
|
rm -rf "$TMPDIR"/task_list
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
line_break
|
|
||||||
if cat "$TMPDIR"/ShellCrash.log | grep -q '任务【'; then
|
if cat "$TMPDIR"/ShellCrash.log | grep -q '任务【'; then
|
||||||
|
line_break
|
||||||
|
echo "==========================================================="
|
||||||
cat "$TMPDIR"/ShellCrash.log | grep '任务【'
|
cat "$TMPDIR"/ShellCrash.log | grep '任务【'
|
||||||
|
echo "==========================================================="
|
||||||
else
|
else
|
||||||
separator_line "="
|
msg_alert "\033[31m未找到任务相关执行日志!\033[0m"
|
||||||
content_line "\033[31m未找到任务相关执行日志!\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
line_break
|
msg_alert "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
. "$CRASHDIR"/menus/8_tools.sh && log_pusher
|
. "$CRASHDIR"/menus/8_tools.sh && log_pusher
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
@@ -516,7 +419,6 @@ task_menu() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -12,11 +12,8 @@ set_dns_mod() {
|
|||||||
[ -z "$hosts_opt" ] && hosts_opt=ON
|
[ -z "$hosts_opt" ] && hosts_opt=ON
|
||||||
[ -z "$dns_protect" ] && dns_protect=ON
|
[ -z "$dns_protect" ] && dns_protect=ON
|
||||||
[ -z "$ecs_subnet" ] && ecs_subnet=OFF
|
[ -z "$ecs_subnet" ] && ecs_subnet=OFF
|
||||||
line_break
|
comp_box "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m" \
|
||||||
separator_line "="
|
"\033[33m$DNS_RESTART_NOTICE\033[0m"
|
||||||
content_line "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m"
|
|
||||||
content_line "\033[33m$DNS_RESTART_NOTICE\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
content_line "1) 设为MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m"
|
content_line "1) 设为MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m"
|
||||||
content_line "2) 设为Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m"
|
content_line "2) 设为Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m"
|
||||||
content_line "3) 设为Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m"
|
content_line "3) 设为Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m"
|
||||||
@@ -37,40 +34,32 @@ set_dns_mod() {
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
1 | 2)
|
1 | 2)
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then
|
if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then
|
||||||
[ "$num" = 1 ] && dns_mod=mix || dns_mod=route
|
[ "$num" = 1 ] && dns_mod=mix || dns_mod=route
|
||||||
setconfig dns_mod "$dns_mod"
|
setconfig dns_mod "$dns_mod"
|
||||||
content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
||||||
else
|
else
|
||||||
econtent_line "\033[31m$DNS_CORE_UNSUPPORTED\033[0m"
|
msg_alert "\033[31m$DNS_CORE_UNSUPPORTED\033[0m"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
dns_mod=redir_host
|
dns_mod=redir_host
|
||||||
setconfig dns_mod "$dns_mod"
|
setconfig dns_mod "$dns_mod"
|
||||||
line_break
|
msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
||||||
separator_line "="
|
|
||||||
content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
line_break
|
||||||
separator_line "="
|
separator_line "="
|
||||||
if [ "$dns_protect" = ON ]; then
|
if [ "$dns_protect" = ON ]; then
|
||||||
content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用:"
|
content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用?"
|
||||||
else
|
else
|
||||||
content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用:"
|
content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用?"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
separator_line "="
|
||||||
content_line "1) 是"
|
btm_box "1) 是" \
|
||||||
content_line "2) 重置为默认值"
|
"2) 重置为默认值" \
|
||||||
content_line "0) 否,返回上级菜单"
|
"0) 否,返回上级菜单"
|
||||||
separator_line "="
|
|
||||||
read -r -p "$COMMON_INPUT> " num
|
read -r -p "$COMMON_INPUT> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
0)
|
0)
|
||||||
@@ -88,17 +77,11 @@ set_dns_mod() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
setconfig dns_protect "$dns_protect"
|
setconfig dns_protect "$dns_protect"
|
||||||
|
common_success
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
5)
|
5)
|
||||||
@@ -111,10 +94,9 @@ set_dns_mod() {
|
|||||||
content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:"
|
content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
separator_line "="
|
||||||
content_line "1) 是"
|
btm_box "1) 是" \
|
||||||
content_line "2) 重置为默认值"
|
"2) 重置为默认值" \
|
||||||
content_line "0) 否,返回上级菜单"
|
"0) 否,返回上级菜单"
|
||||||
separator_line "="
|
|
||||||
read -r -p "$COMMON_INPUT> " num
|
read -r -p "$COMMON_INPUT> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
0)
|
0)
|
||||||
@@ -132,17 +114,11 @@ set_dns_mod() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
setconfig dns_protect "$hosts_opt"
|
setconfig dns_protect "$hosts_opt"
|
||||||
|
common_success
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
@@ -156,10 +132,9 @@ set_dns_mod() {
|
|||||||
content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:"
|
content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
separator_line "="
|
||||||
content_line "1) 是"
|
btm_box "1) 是" \
|
||||||
content_line "2) 重置为默认值"
|
"2) 重置为默认值" \
|
||||||
content_line "0) 否,返回上级菜单"
|
"0) 否,返回上级菜单"
|
||||||
separator_line "="
|
|
||||||
read -r -p "$COMMON_INPUT> " num
|
read -r -p "$COMMON_INPUT> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
0)
|
0)
|
||||||
@@ -177,30 +152,21 @@ set_dns_mod() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
continue
|
continue
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
setconfig dns_protect "$ecs_subnet"
|
setconfig dns_protect "$ecs_subnet"
|
||||||
|
common_success
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
7)
|
7)
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[31m$DNS_REDIR_WARN\033[0m" \
|
||||||
separator_line "="
|
"\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" \
|
||||||
content_line "\033[31m$DNS_REDIR_WARN\033[0m"
|
"" \
|
||||||
content_line "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m"
|
"请直接输入旁路由IPV4地址" \
|
||||||
content_line ""
|
"或输入 r 重置DNS劫持端口" \
|
||||||
content_line "请直接输入旁路由IPV4地址"
|
"或输入 0 返回上级菜单"
|
||||||
content_line "或输入 r 重置DNS劫持端口"
|
|
||||||
content_line "或输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入> " num
|
read -r -p "请输入> " num
|
||||||
case "$num" in
|
case "$num" in
|
||||||
0)
|
0)
|
||||||
@@ -209,33 +175,21 @@ set_dns_mod() {
|
|||||||
r)
|
r)
|
||||||
dns_redir_port="$dns_port"
|
dns_redir_port="$dns_port"
|
||||||
setconfig dns_redir_port
|
setconfig dns_redir_port
|
||||||
|
common_success
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then
|
if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if ckcmd netstat && netstat -ntul | grep -q ":$num "; then
|
if ckcmd netstat && netstat -ntul | grep -q ":$num "; then
|
||||||
dns_redir_port="$num"
|
dns_redir_port="$num"
|
||||||
setconfig dns_redir_port "$dns_redir_port"
|
setconfig dns_redir_port "$dns_redir_port"
|
||||||
content_line "\033[32m操作成功\033[0m"
|
common_success
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
content_line "\033[33m$DNS_REDIR_NO_SERVICE\033[0m"
|
msg_alert
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
@@ -249,7 +203,6 @@ set_dns_mod() {
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -257,13 +210,9 @@ set_dns_mod() {
|
|||||||
|
|
||||||
fake_ip_filter() {
|
fake_ip_filter() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[32m$DNS_FAKEIP_DESC\033[0m" \
|
||||||
separator_line "="
|
"\033[31m$DNS_FAKEIP_TIP\033[0m" \
|
||||||
content_line "\033[32m$DNS_FAKEIP_DESC\033[0m"
|
"\033[36m$DNS_FAKEIP_EXAMPLE\033[0m"
|
||||||
content_line "\033[31m$DNS_FAKEIP_TIP\033[0m"
|
|
||||||
content_line "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m"
|
|
||||||
|
|
||||||
separator_line "="
|
|
||||||
if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then
|
if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then
|
||||||
content_line "\033[33m$DNS_FAKEIP_EXIST\033[0m"
|
content_line "\033[33m$DNS_FAKEIP_EXIST\033[0m"
|
||||||
content_line ""
|
content_line ""
|
||||||
@@ -283,35 +232,27 @@ fake_ip_filter() {
|
|||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ "$input" -ge 1 ] 2>/dev/null; then
|
if [ "$input" -ge 1 ] 2>/dev/null; then
|
||||||
if sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter"; then
|
if sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter"; then
|
||||||
content_line "\033[32m移除成功\033[0m"
|
msg_alert "\033[32m移除成功\033[0m"
|
||||||
else
|
else
|
||||||
content_line "\033[31m移除失败\033[0m"
|
msg_alert "\033[31m移除失败\033[0m"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
content_line "请确认需要添加的地址:\033[32m$input\033[0m"
|
comp_box "请确认需要添加的地址:\033[32m$input\033[0m"
|
||||||
separator_line "="
|
btm_box "1) 确认无误" \
|
||||||
content_line "1) 确认无误"
|
"0) 返回上级菜单"
|
||||||
content_line "0) 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "$COMMON_INPUT>" res
|
read -r -p "$COMMON_INPUT>" res
|
||||||
if [ "$res" = 1 ]; then
|
if [ "$res" = 1 ]; then
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if echo "$input" >>"$CRASHDIR/configs/fake_ip_filter"; then
|
if echo "$input" >>"$CRASHDIR/configs/fake_ip_filter"; then
|
||||||
content_line "\033[32m添加成功\033[0m"
|
msg_alert "\033[32m添加成功\033[0m"
|
||||||
else
|
else
|
||||||
content_line "\033[31m添加失败\033[0m"
|
msg_alert "\033[31m添加失败\033[0m"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
|
||||||
sleep 1
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
@@ -320,46 +261,36 @@ fake_ip_filter() {
|
|||||||
# DNS详细设置
|
# DNS详细设置
|
||||||
set_dns_adv() {
|
set_dns_adv() {
|
||||||
while true; do
|
while true; do
|
||||||
line_break
|
comp_box "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" \
|
||||||
separator_line "="
|
"$DNS_ADV_SPLIT" \
|
||||||
content_line "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m"
|
"\033[33m$DNS_ADV_CERT\033[0m" \
|
||||||
content_line "$DNS_ADV_SPLIT"
|
"" \
|
||||||
content_line "\033[33m$DNS_ADV_CERT\033[0m"
|
"DIRECT-DNS:" \
|
||||||
content_line ""
|
"\033[32m$dns_nameserver\033[0m" \
|
||||||
content_line "DIRECT-DNS:"
|
"" \
|
||||||
content_line "\033[32m$dns_nameserver\033[0m"
|
"PROXY-DNS:" \
|
||||||
content_line ""
|
"\033[36m$dns_fallback\033[0m" \
|
||||||
|
"" \
|
||||||
content_line "PROXY-DNS:"
|
"DEFAULT-DNS:" \
|
||||||
content_line "\033[36m$dns_fallback\033[0m"
|
"\033[33m$dns_resolver\033[0m" \
|
||||||
content_line ""
|
""
|
||||||
|
btm_box "1) $DNS_ADV_EDIT_DIRECT" \
|
||||||
content_line "DEFAULT-DNS:"
|
"2) $DNS_ADV_EDIT_PROXY" \
|
||||||
content_line "\033[33m$dns_resolver\033[0m"
|
"3) $DNS_ADV_EDIT_DEFAULT" \
|
||||||
content_line ""
|
"4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \
|
||||||
|
"9) \033[33m$DNS_ADV_RESET\033[0m" \
|
||||||
separator_line "="
|
"" \
|
||||||
content_line "1) $DNS_ADV_EDIT_DIRECT"
|
"0) $COMMON_BACK"
|
||||||
content_line "2) $DNS_ADV_EDIT_PROXY"
|
read -r -p "$COMMON_INPUT> " num
|
||||||
content_line "3) $DNS_ADV_EDIT_DEFAULT"
|
|
||||||
content_line "4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m"
|
|
||||||
content_line "9) \033[33m$DNS_ADV_RESET\033[0m"
|
|
||||||
content_line "0) $COMMON_BACK"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "$COMMON_INPUT > " num
|
|
||||||
case "$num" in
|
case "$num" in
|
||||||
"" | 0)
|
"" | 0)
|
||||||
break
|
break
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
line_break
|
comp_box "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m"
|
||||||
separator_line "="
|
btm_box "\033[36m请直接输入新的DIRECT-DNS地址\033[0m" \
|
||||||
content_line "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m"
|
"或输入 r 重置DIRECT-DNS地址" \
|
||||||
separator_line "="
|
"或输入 0 返回上级菜单"
|
||||||
content_line "请直接输入新的DIRECT-DNS地址"
|
|
||||||
content_line "或输入 r 重置DIRECT-DNS地址"
|
|
||||||
content_line "或输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入> " res
|
read -r -p "请输入> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
0)
|
0)
|
||||||
@@ -368,34 +299,24 @@ set_dns_adv() {
|
|||||||
r)
|
r)
|
||||||
dns_nameserver="127.0.0.1"
|
dns_nameserver="127.0.0.1"
|
||||||
setconfig dns_nameserver "'$dns_nameserver'"
|
setconfig dns_nameserver "'$dns_nameserver'"
|
||||||
|
common_success
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
dns_nameserver=$(echo "$res" | sed 's#|#,\ #g')
|
dns_nameserver=$(echo "$res" | sed 's#|#,\ #g')
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ -n "$dns_nameserver" ]; then
|
if [ -n "$dns_nameserver" ]; then
|
||||||
setconfig dns_nameserver "'$dns_nameserver'"
|
setconfig dns_nameserver "'$dns_nameserver'"
|
||||||
content_line "\033[32m操作成功\033[0m"
|
common_success
|
||||||
else
|
else
|
||||||
ontent_line "\033[32m操作失败\033[0m"
|
common_failed
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
line_break
|
comp_box "当前PROXY-DNS:\033[32m$dns_fallback\033[0m"
|
||||||
separator_line "="
|
btm_box "\033[36m请直接输入新的PROXY-DNS地址\033[0m" \
|
||||||
content_line "当前PROXY-DNS:\033[32m$dns_fallback\033[0m"
|
"或输入 r 重置PROXY-DNS地址" \
|
||||||
separator_line "="
|
"或输入 0 返回上级菜单"
|
||||||
content_line "请直接输入新的PROXY-DNS地址"
|
|
||||||
content_line "或输入 r 重置PROXY-DNS地址"
|
|
||||||
content_line "或输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
|
||||||
read -r -p "请输入> " res
|
read -r -p "请输入> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
0)
|
0)
|
||||||
@@ -404,32 +325,24 @@ set_dns_adv() {
|
|||||||
r)
|
r)
|
||||||
dns_fallback="1.1.1.1, 8.8.8.8"
|
dns_fallback="1.1.1.1, 8.8.8.8"
|
||||||
setconfig dns_fallback "'$dns_fallback'"
|
setconfig dns_fallback "'$dns_fallback'"
|
||||||
line_break
|
common_success
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
dns_fallback=$(echo "$res" | sed 's#|#,\ #g')
|
dns_fallback=$(echo "$res" | sed 's#|#,\ #g')
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if [ -n "$dns_fallback" ]; then
|
if [ -n "$dns_fallback" ]; then
|
||||||
setconfig dns_fallback "'$dns_fallback'"
|
setconfig dns_fallback "'$dns_fallback'"
|
||||||
content_line "\033[32m操作成功\033[0m"
|
common_success
|
||||||
else
|
else
|
||||||
ontent_line "\033[32m操作失败\033[0m"
|
common_failed
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
3)
|
3)
|
||||||
line_break
|
comp_box "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m"
|
||||||
separator_line "="
|
btm_box "\033[36m请直接输入新的DEFAULT-DNS地址\033[0m" \
|
||||||
content_line "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m"
|
"或输入 r 重置DEFAULT-DNS地址" \
|
||||||
separator_line "="
|
"或输入 0 返回上级菜单"
|
||||||
content_line "请直接输入新的DEFAULT-DNS地址"
|
|
||||||
content_line "或输入 r 重置DEFAULT-DNS地址"
|
|
||||||
content_line "或输入 0 返回上级菜单"
|
|
||||||
separator_line "="
|
separator_line "="
|
||||||
read -r -p "请输入> " res
|
read -r -p "请输入> " res
|
||||||
case "$res" in
|
case "$res" in
|
||||||
@@ -439,23 +352,18 @@ set_dns_adv() {
|
|||||||
"r")
|
"r")
|
||||||
dns_resolver="223.5.5.5, 2400:3200::1"
|
dns_resolver="223.5.5.5, 2400:3200::1"
|
||||||
setconfig dns_resolver "'$dns_resolver'"
|
setconfig dns_resolver "'$dns_resolver'"
|
||||||
line_break
|
common_failed
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m操作成功\033[0m"
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
line_break
|
|
||||||
separator_line "="
|
|
||||||
if echo "$res" | grep -qE '://.*::'; then
|
if echo "$res" | grep -qE '://.*::'; then
|
||||||
content_line "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m"
|
msg_alert "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m"
|
||||||
else
|
else
|
||||||
dns_resolver=$(echo "$res" | sed 's#|#,\ #g')
|
dns_resolver=$(echo "$res" | sed 's#|#,\ #g')
|
||||||
setconfig dns_resolver "'$dns_resolver'"
|
setconfig dns_resolver "'$dns_resolver'"
|
||||||
content_line "\033[32m$COMMON_SUCCESS\033[0m"
|
msg_alert "\033[32m$COMMON_SUCCESS\033[0m"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
4)
|
4)
|
||||||
line_break
|
line_break
|
||||||
@@ -478,15 +386,11 @@ set_dns_adv() {
|
|||||||
setconfig dns_fallback
|
setconfig dns_fallback
|
||||||
setconfig dns_resolver
|
setconfig dns_resolver
|
||||||
. "$CRASHDIR/libs/get_config.sh"
|
. "$CRASHDIR/libs/get_config.sh"
|
||||||
line_break
|
common_success
|
||||||
separator_line "="
|
|
||||||
content_line "\033[32m$COMMON_SUCCESS\033[0m"
|
|
||||||
separator_line "="
|
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
errornum
|
errornum
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
sleep 1
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user