~将自动任务的配置文件移动到$CRASHDIR/configs/task目录下

This commit is contained in:
juewuy
2026-04-19 12:06:28 +08:00
parent accc20ff7c
commit 0f712fd69f
9 changed files with 52 additions and 34 deletions

View File

@@ -22,8 +22,10 @@ grep -qE '/(docker|lxc|kubepods|crio|containerd)/' /proc/1/cgroup 2>/dev/null ||
[ "$systype" = 'container' ] && CRASHDIR='/etc/ShellCrash' [ "$systype" = 'container' ] && CRASHDIR='/etc/ShellCrash'
[ -z "$CRASHDIR" ] && [ -n "$clashdir" ] && CRASHDIR="$clashdir" [ -z "$CRASHDIR" ] && [ -n "$clashdir" ] && CRASHDIR="$clashdir"
[ -z "$CRASHDIR" ] && [ -d /tmp/SC_tmp ] && . /tmp/SC_tmp/menus/set_crashdir.sh && set_crashdir [ -z "$CRASHDIR" ] && [ -d /tmp/SC_tmp ] && . /tmp/SC_tmp/menus/set_crashdir.sh && set_crashdir
TASKCFGDIR="$CRASHDIR"/configs/task
#移动文件 #移动文件
mkdir -p "$CRASHDIR" mkdir -p "$CRASHDIR"
mkdir -p "$TASKCFGDIR"
rm -rf /tmp/SC_tmp/menus/set_crashdir.sh rm -rf /tmp/SC_tmp/menus/set_crashdir.sh
mv -f /tmp/SC_tmp/* "$CRASHDIR" 2>/dev/null mv -f /tmp/SC_tmp/* "$CRASHDIR" 2>/dev/null
############################## ##############################
@@ -190,6 +192,15 @@ done
for file in fake_ip_filter mac web_save servers_chs.list servers_en.list fake_ip_filter.list singbox_providers.list clash_providers.list; do for file in fake_ip_filter mac web_save servers_chs.list servers_en.list fake_ip_filter.list singbox_providers.list clash_providers.list; do
mv -f "$CRASHDIR"/"$file" "$CRASHDIR"/configs/"$file" 2>/dev/null mv -f "$CRASHDIR"/"$file" "$CRASHDIR"/configs/"$file" 2>/dev/null
done done
#迁移任务状态文件到新目录
for file in cron bfstart afstart running affirewall task.user; do
mv -f "$CRASHDIR"/"$file" "$TASKCFGDIR"/"$file" 2>/dev/null
mv -f "$CRASHDIR"/task/"$file" "$TASKCFGDIR"/"$file" 2>/dev/null
done
#修正旧版防火墙注入路径
for file in /etc/init.d/firewall /etc/init.d/firewall.bak; do
[ -f "$file" ] && sed -i "s#$CRASHDIR/task/affirewall#$TASKCFGDIR/affirewall#g" "$file" 2>/dev/null
done
#配置文件改名 #配置文件改名
mv -f "$CRASHDIR"/configs/ShellClash.cfg "$CFG_PATH" 2>/dev/null mv -f "$CRASHDIR"/configs/ShellClash.cfg "$CFG_PATH" 2>/dev/null
#数据库改名 #数据库改名

View File

@@ -1,5 +1,6 @@
# 检查配置文件 # 检查配置文件
[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task
[ -f "$CRASHDIR"/configs/ShellCrash.cfg ] || . "$CRASHDIR"/init.sh >/dev/null 2>&1 [ -f "$CRASHDIR"/configs/ShellCrash.cfg ] || . "$CRASHDIR"/init.sh >/dev/null 2>&1
. "$CRASHDIR"/configs/command.env >/dev/null 2>&1 . "$CRASHDIR"/configs/command.env >/dev/null 2>&1
. "$CRASHDIR"/configs/ShellCrash.cfg . "$CRASHDIR"/configs/ShellCrash.cfg

View File

@@ -4,6 +4,7 @@ crondir="$(crond -h 2>&1 | grep -oE 'Default:.*' | awk -F ":" '{print $2}'| tr -
[ ! -w "$crondir" ] && crondir="/var/spool/cron/crontabs" [ ! -w "$crondir" ] && crondir="/var/spool/cron/crontabs"
[ ! -w "$crondir" ] && crondir="/var/spool/cron" [ ! -w "$crondir" ] && crondir="/var/spool/cron"
[ -z "$USER" ] && USER=$(whoami 2>/dev/null) [ -z "$USER" ] && USER=$(whoami 2>/dev/null)
[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task
tmpcron=/tmp/cron_tmp tmpcron=/tmp/cron_tmp
touch "$tmpcron" touch "$tmpcron"
@@ -32,7 +33,8 @@ cronset() { #定时任务设置
cronadd "$tmpcron" cronadd "$tmpcron"
#华硕/Padavan固件存档在本地,其他则删除 #华硕/Padavan固件存档在本地,其他则删除
if [ -d /jffs ] || [ -d /etc/storage/ShellCrash ];then if [ -d /jffs ] || [ -d /etc/storage/ShellCrash ];then
mv -f "$tmpcron" "$CRASHDIR"/task/cron mkdir -p "$TASKCFGDIR"
mv -f "$tmpcron" "$TASKCFGDIR"/cron
else else
rm -f "$tmpcron" rm -f "$tmpcron"
fi fi

View File

@@ -7,6 +7,7 @@ __IS_MODULE_5_TASK_LOADED=1
# 通用工具 # 通用工具
. "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/set_config.sh
. "$CRASHDIR"/libs/set_cron.sh . "$CRASHDIR"/libs/set_cron.sh
[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task
load_lang 5_task load_lang 5_task
@@ -32,7 +33,8 @@ set_cron() {
set_service() { set_service() {
# 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间 # 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间
task_file="$CRASHDIR"/task/$1 mkdir -p "$TASKCFGDIR"
task_file="$TASKCFGDIR"/$1
[ -s "$task_file" ] && sed -i "/$3/d" "$task_file" [ -s "$task_file" ] && sed -i "/$3/d" "$task_file"
# 运行时每分钟执行的任务特殊处理 # 运行时每分钟执行的任务特殊处理
if [ "$1" = "running" ]; then if [ "$1" = "running" ]; then
@@ -53,7 +55,7 @@ task_user_add() {
while true; do while true; do
comp_box "\033[33m$TASK5_USER_ADD_HINT1\033[0m" \ comp_box "\033[33m$TASK5_USER_ADD_HINT1\033[0m" \
"\033[36m$TASK5_USER_ADD_HINT2\033[0m" \ "\033[36m$TASK5_USER_ADD_HINT2\033[0m" \
"$TASK5_USER_ADD_HINT3\033[32m${CRASHDIR}/task/task.user\033[0m$TASK5_USER_ADD_HINT4" "$TASK5_USER_ADD_HINT3\033[32m${TASKCFGDIR}/task.user\033[0m$TASK5_USER_ADD_HINT4"
btm_box "\033[36m$TASK5_INPUT_CMD\033[0m" \ btm_box "\033[36m$TASK5_INPUT_CMD\033[0m" \
"$TASK5_OR_BACK" "$TASK5_OR_BACK"
read -r -p "$TASK5_INPUT> " script read -r -p "$TASK5_INPUT> " script
@@ -63,12 +65,12 @@ task_user_add() {
task_command=$script task_command=$script
comp_box "$TASK5_CHECK_INPUT\033[32m$task_command\033[0m" comp_box "$TASK5_CHECK_INPUT\033[32m$task_command\033[0m"
# 获取本任务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}' "$TASKCFGDIR"/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
task_id=$((task_max_id + 1)) task_id=$((task_max_id + 1))
read -r -p "$TASK5_INPUT_REMARK> " txt read -r -p "$TASK5_INPUT_REMARK> " txt
[ -n "$txt" ] && task_name=$txt || task_name="$TASK5_CUSTOM_TASK$task_id" [ -n "$txt" ] && task_name=$txt || task_name="$TASK5_CUSTOM_TASK$task_id"
echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user echo "$task_id#$task_command#$task_name" >>"$TASKCFGDIR"/task.user
msg_alert "\033[32m$TASK5_CUSTOM_ADDED\033[0m" msg_alert "\033[32m$TASK5_CUSTOM_ADDED\033[0m"
break break
else else
@@ -80,10 +82,10 @@ task_user_add() {
# 自定义命令删除 # 自定义命令删除
task_user_del() { task_user_del() {
while true; do while true; do
if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then if grep -Evq '^#' "$TASKCFGDIR/task.user" 2>/dev/null; then
comp_box "$TASK5_USER_DEL_HINT1" \ comp_box "$TASK5_USER_DEL_HINT1" \
"$TASK5_USER_DEL_HINT2\033[32m${CRASHDIR}/task/task.user\033[0m" "$TASK5_USER_DEL_HINT2\033[32m${TASKCFGDIR}/task.user\033[0m"
grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null | grep -Ev '^#' "$TASKCFGDIR/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"
@@ -94,7 +96,7 @@ task_user_del() {
if [ "$num" = 0 ]; then if [ "$num" = 0 ]; then
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" "$TASKCFGDIR"/task.user 2>/dev/null
common_success common_success
else else
msg_alert "\033[31m$TASK5_INPUT_ERROR\033[0m" msg_alert "\033[31m$TASK5_INPUT_ERROR\033[0m"
@@ -111,7 +113,7 @@ task_add() {
while true; do while true; do
comp_box "\033[36m$TASK5_SELECT_ADD\033[0m" comp_box "\033[36m$TASK5_SELECT_ADD\033[0m"
# 输出任务列表 # 输出任务列表
list=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') list=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}')
list_box "$list" list_box "$list"
btm_box "" \ btm_box "" \
"0) $COMMON_BACK" "0) $COMMON_BACK"
@@ -122,8 +124,8 @@ task_add() {
;; ;;
[1-9] | [1-9][0-9]) [1-9] | [1-9][0-9])
if [ "$num" -le "$(echo "$list" | wc -l)" ]; then if [ "$num" -le "$(echo "$list" | wc -l)" ]; then
task_id=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') task_id=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}')
task_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') task_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}')
task_type task_type
break break
else else
@@ -142,11 +144,11 @@ task_del() {
# 删除定时任务 # 删除定时任务
cronset "$1" cronset "$1"
# 删除条件任务 # 删除条件任务
sed -i "/$1/d" "$CRASHDIR"/task/cron 2>/dev/null sed -i "/$1/d" "$TASKCFGDIR"/cron 2>/dev/null
sed -i "/$1/d" "$CRASHDIR"/task/bfstart 2>/dev/null sed -i "/$1/d" "$TASKCFGDIR"/bfstart 2>/dev/null
sed -i "/$1/d" "$CRASHDIR"/task/afstart 2>/dev/null sed -i "/$1/d" "$TASKCFGDIR"/afstart 2>/dev/null
sed -i "/$1/d" "$CRASHDIR"/task/running 2>/dev/null sed -i "/$1/d" "$TASKCFGDIR"/running 2>/dev/null
sed -i "/$1/d" "$CRASHDIR"/task/affirewall 2>/dev/null sed -i "/$1/d" "$TASKCFGDIR"/affirewall 2>/dev/null
} }
# 任务条件选择菜单 # 任务条件选择菜单
@@ -244,8 +246,8 @@ task_manager() {
while true; do while true; do
# 抽取并生成临时列表 # 抽取并生成临时列表
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 "$TASKCFGDIR"/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | cut -d ' ' -f 2- >"$TMPDIR"/task_list
cat "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | cut -d ' ' -f 2- >>"$TMPDIR"/task_list cat "$TASKCFGDIR"/bfstart "$TASKCFGDIR"/afstart "$TASKCFGDIR"/affirewall 2>/dev/null | cut -d ' ' -f 2- >>"$TMPDIR"/task_list
cat "$TMPDIR"/task_cronlist 2>/dev/null | sort -u | grep -oE " #.*" | grep -v "$TASK5_GUARD_WORD" | awk -F '#' '{print "0 '$TASK5_OLD_PREFIX'"$2}' >>"$TMPDIR"/task_list cat "$TMPDIR"/task_cronlist 2>/dev/null | sort -u | grep -oE " #.*" | grep -v "$TASK5_GUARD_WORD" | awk -F '#' '{print "0 '$TASK5_OLD_PREFIX'"$2}' >>"$TMPDIR"/task_list
sed -i '/^ *$/d' "$TMPDIR"/task_list sed -i '/^ *$/d' "$TMPDIR"/task_list
rm -rf "$TMPDIR"/task_cronlist rm -rf "$TMPDIR"/task_cronlist
@@ -286,13 +288,13 @@ task_manager() {
if [ "$res" = 1 ]; then if [ "$res" = 1 ]; then
cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') cronname=$(echo "$task_txt" | awk -F '-' '{print $2}')
cronset "$cronname" cronset "$cronname"
sed -i "/$cronname/d" "$CRASHDIR"/task/cron 2>/dev/null sed -i "/$cronname/d" "$TASKCFGDIR"/cron 2>/dev/null
break break
fi fi
else else
task_des=$(echo "$task_txt" | awk '{print $2}') task_des=$(echo "$task_txt" | awk '{print $2}')
task_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $3}') task_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $3}')
comp_box "$TASK5_CURRENT_TASK\033[36m$task_des\033[0m" comp_box "$TASK5_CURRENT_TASK\033[36m$task_des\033[0m"
btm_box "1) $TASK5_EDIT_TASK" \ btm_box "1) $TASK5_EDIT_TASK" \
"2) $TASK5_DEL_TASK" \ "2) $TASK5_DEL_TASK" \
@@ -313,7 +315,7 @@ task_manager() {
common_success common_success
;; ;;
3) 3)
task_command=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $2}') task_command=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $2}')
eval "$task_command" && task_res="$TASK5_RUN_OK" || task_res="$TASK5_RUN_FAIL" eval "$task_command" && task_res="$TASK5_RUN_OK" || task_res="$TASK5_RUN_FAIL"
msg_alert "\033[33m$TASK5_TASK_PREFIX$task_des$task_res\033[0m" msg_alert "\033[33m$TASK5_TASK_PREFIX$task_des$task_res\033[0m"
;; ;;
@@ -367,7 +369,8 @@ task_recom() {
task_menu() { task_menu() {
while true; do while true; do
# 检测并创建自定义任务文件 # 检测并创建自定义任务文件
[ -f "$CRASHDIR"/task/task.user ] || echo "$TASK5_USER_FILE_HEADER" >"$CRASHDIR"/task/task.user mkdir -p "$TASKCFGDIR"
[ -f "$TASKCFGDIR"/task.user ] || echo "$TASK5_USER_FILE_HEADER" >"$TASKCFGDIR"/task.user
comp_box "\033[30;47m$TASK5_MENU_TITLE\033[0m" comp_box "\033[30;47m$TASK5_MENU_TITLE\033[0m"
btm_box "1) $TASK5_MENU_1" \ btm_box "1) $TASK5_MENU_1" \
"2) $TASK5_MENU_2" \ "2) $TASK5_MENU_2" \

View File

@@ -10,6 +10,7 @@
. "$CRASHDIR"/libs/web_get_bin.sh . "$CRASHDIR"/libs/web_get_bin.sh
. "$CRASHDIR"/libs/logger.sh . "$CRASHDIR"/libs/logger.sh
. "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/libs/i18n.sh
[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task
load_lang task_cmd load_lang task_cmd
@@ -140,8 +141,8 @@ hotupdate() { #热更新订阅
case "$1" in case "$1" in
[1-9][0-9][0-9]) [1-9][0-9][0-9])
task_command=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}') task_command=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}')
task_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') task_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$TASKCFGDIR"/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}')
#task_logger "任务$task_name 开始执行" #task_logger "任务$task_name 开始执行"
eval $task_command && task_res="$TASK_CMD_RES_OK" || task_res="$TASK_CMD_RES_FAIL" eval $task_command && task_res="$TASK_CMD_RES_OK" || task_res="$TASK_CMD_RES_FAIL"
task_logger "$TASK_CMD_EXEC_PREFIX$2$TASK_CMD_EXEC_MID$task_res" task_logger "$TASK_CMD_EXEC_PREFIX$2$TASK_CMD_EXEC_MID$task_res"

View File

@@ -38,21 +38,21 @@ if [ -n "$test" -o -n "$(pidof CrashCore)" ]; then
ckcmd mtd_storage.sh && mtd_storage.sh save >/dev/null 2>&1 #Padavan保存/etc/storage ckcmd mtd_storage.sh && mtd_storage.sh save >/dev/null 2>&1 #Padavan保存/etc/storage
#加载定时任务 #加载定时任务
cronload | grep -v '^$' >"$TMPDIR"/cron_tmp cronload | grep -v '^$' >"$TMPDIR"/cron_tmp
[ -s "$CRASHDIR"/task/cron ] && cat "$CRASHDIR"/task/cron >>"$TMPDIR"/cron_tmp [ -s "$TASKCFGDIR"/cron ] && cat "$TASKCFGDIR"/cron >>"$TMPDIR"/cron_tmp
[ -s "$CRASHDIR"/task/running ] && cat "$CRASHDIR"/task/running >>"$TMPDIR"/cron_tmp [ -s "$TASKCFGDIR"/running ] && cat "$TASKCFGDIR"/running >>"$TMPDIR"/cron_tmp
[ "$bot_tg_service" = ON ] && echo "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT守护进程" >>"$TMPDIR"/cron_tmp [ "$bot_tg_service" = ON ] && echo "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT守护进程" >>"$TMPDIR"/cron_tmp
[ "$start_old" = ON ] && echo "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh shellcrash #ShellCrash保守模式守护进程" >>"$TMPDIR"/cron_tmp [ "$start_old" = ON ] && echo "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh shellcrash #ShellCrash保守模式守护进程" >>"$TMPDIR"/cron_tmp
awk '!x[$0]++' "$TMPDIR"/cron_tmp >"$TMPDIR"/cron_tmp2 #删除重复行 awk '!x[$0]++' "$TMPDIR"/cron_tmp >"$TMPDIR"/cron_tmp2 #删除重复行
cronadd "$TMPDIR"/cron_tmp2 cronadd "$TMPDIR"/cron_tmp2
rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2 rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2
#加载条件任务 #加载条件任务
[ -s "$CRASHDIR"/task/afstart ] && { . "$CRASHDIR"/task/afstart; } & [ -s "$TASKCFGDIR"/afstart ] && { . "$TASKCFGDIR"/afstart; } &
[ -s "$CRASHDIR"/task/affirewall -a -s /etc/init.d/firewall -a ! -f /etc/init.d/firewall.bak ] && { [ -s "$TASKCFGDIR"/affirewall -a -s /etc/init.d/firewall -a ! -f /etc/init.d/firewall.bak ] && {
#注入防火墙 #注入防火墙
line=$(grep -En "fw.* restart" /etc/init.d/firewall | cut -d ":" -f 1) line=$(grep -En "fw.* restart" /etc/init.d/firewall | cut -d ":" -f 1)
sed -i.bak "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall sed -i.bak "${line}a\\. $TASKCFGDIR/affirewall" /etc/init.d/firewall
line=$(grep -En "fw.* start" /etc/init.d/firewall | cut -d ":" -f 1) line=$(grep -En "fw.* start" /etc/init.d/firewall | cut -d ":" -f 1)
sed -i "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall sed -i "${line}a\\. $TASKCFGDIR/affirewall" /etc/init.d/firewall
} & } &
exit 0 exit 0
else else

View File

@@ -79,7 +79,7 @@ EOF
[ ! -d "$BINDIR"/ui ] && mkdir -p "$BINDIR"/ui [ ! -d "$BINDIR"/ui ] && mkdir -p "$BINDIR"/ui
[ -z "$crashcore" ] && crashcore=meta [ -z "$crashcore" ] && crashcore=meta
#执行条件任务 #执行条件任务
[ -s "$CRASHDIR"/task/bfstart ] && . "$CRASHDIR"/task/bfstart [ -s "$TASKCFGDIR"/bfstart ] && . "$TASKCFGDIR"/bfstart
#检查内核配置文件 #检查内核配置文件
if [ ! -f "$core_config" ]; then if [ ! -f "$core_config" ]; then
if [ -n "$Url" -o -n "$Https" ]; then if [ -n "$Url" -o -n "$Https" ]; then
@@ -144,4 +144,3 @@ fi
rm -rf /tmp/ShellCrash/debug.log rm -rf /tmp/ShellCrash/debug.log
rm -rf "$CRASHDIR"/debug.log rm -rf "$CRASHDIR"/debug.log
exit 0 exit 0

View File

@@ -11,7 +11,7 @@ getlanip() { #获取局域网host地址
ip -6 addr show dev $iface 2>/dev/null ip -6 addr show dev $iface 2>/dev/null
done | grep 'scope global' | awk '{print $2}' | tr '\n' ' ' | sed 's/ $//' done | grep 'scope global' | awk '{print $2}' | tr '\n' ' ' | sed 's/ $//'
) )
[ -z "$host_ipv6" ] && host_ipv6=$(ip -6 route show | grep -Ev 'default|unreachable|fe80::/|wan|ppp|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{print $1}' | tr '\n' ' ' | sed 's/ $//') [ -z "$host_ipv6" ] && host_ipv6=$(ip -6 route show | grep -Ev 'default|unreachable|fe80::/|wan|ppp|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet|multicast|anycast' | awk '{print $1}' | tr '\n' ' ' | sed 's/ $//')
} }
[ -f "$TMPDIR"/ShellCrash.log ] && break [ -f "$TMPDIR"/ShellCrash.log ] && break
[ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break [ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break

View File

@@ -3,6 +3,7 @@
#初始化目录 #初始化目录
[ -z "$CRASHDIR" ] && CRASHDIR=$( cd $(dirname $0);cd ..;pwd) [ -z "$CRASHDIR" ] && CRASHDIR=$( cd $(dirname $0);cd ..;pwd)
TASKCFGDIR="$CRASHDIR"/configs/task
profile=/etc/profile profile=/etc/profile
. "$CRASHDIR"/libs/set_profile.sh . "$CRASHDIR"/libs/set_profile.sh
. "$CRASHDIR"/libs/set_cron.sh . "$CRASHDIR"/libs/set_cron.sh