From 233b75b6e24956a13435d52d16402e832736fa3e Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 8 Jan 2026 15:59:53 +0800 Subject: [PATCH 001/318] style: improve and unify the user interface --- scripts/menus/9_upgrade.sh | 203 ++++++++++++++++++++++++++----------- 1 file changed, 145 insertions(+), 58 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index f7b8cca8..2a16381a 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -8,6 +8,54 @@ __IS_MODULE_9_UPGRADE_LOADED=1 . "$CRASHDIR"/libs/check_cpucore.sh . "$CRASHDIR"/libs/web_get_bin.sh + +# ============================== menu formatter tools ============================== +# Set the total width of the menu +# (Adjusting this number will automatically change the entire menu, including the separator lines) +# Note: The number represents the number of columns that appear when the "||" appears on the right. +TABLE_WIDTH=60 + +# Define two extra-long template strings in advance +# (the length should be greater than the expected TABLE_WIDTH) +FULL_EQ="====================================================================================================" +FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " + +# Function to print content lines +# (using cursor jump) +print_content_line() { + echo -e "${1}\033[${TABLE_WIDTH}G||" +} + +# Increase the spacing between the front and back forms to improve readability +double_line_break() { + printf "\n\n" +} + +# Function to print separators +# (using string slicing) +# Parameter $1: Pass in "=" or "-" +print_separator_line() { + local separator_type="$1" + local output_line="" + + # Calculate the length to be cut: width minus 1 + # (because || occupies space, and it starts from the TABLE_WIDTH cell) + local len=$((TABLE_WIDTH - 1)) + + if [ "$separator_type" == "=" ]; then + # Extract characters from FULL_EQ up to output_line + output_line="${FULL_EQ:0:$len}" + else + # Extract from FULL_DASH + output_line="${FULL_DASH:0:$len}" + fi + + # Print out the truncated line + the ending || + echo "${output_line}||" +} +# ============================================================ + + error_down(){ echo -e "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" echo -e "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" @@ -16,37 +64,41 @@ error_down(){ # 更新/卸载功能菜单 upgrade() { + double_line_break while true; do - echo "-----------------------------------------------" [ -z "$version_new" ] && checkupdate [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) - echo -e "\033[30;47m欢迎使用更新功能:\033[0m" - echo "-----------------------------------------------" - echo -e "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" + + # Automatically generate '====' lines + print_separator_line "=" + + print_content_line " \033[30;47m更新与支持\033[0m" + + # Automatically generate '- - - ' lines + print_separator_line "-" + + print_content_line " 当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { - echo -e "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" - sleep 1 + print_content_line " \033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } - echo "-----------------------------------------------" - echo -e " 1 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" - echo -e " 2 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" - echo -e " 3 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" - echo -e " 4 安装本地\033[35mDashboard\033[0m面板" - echo -e " 5 安装/更新本地\033[33m根证书文件\033[0m" - echo -e " 6 查看\033[32mPAC\033[0m自动代理配置" - echo "-----------------------------------------------" - echo -e " 7 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" - echo -e " 8 \033[32m配置自动更新\033[0m" - echo -e " 9 \033[31m卸载ShellCrash\033[0m" - echo "-----------------------------------------------" - echo -e " 99 \033[36m鸣谢!\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + print_separator_line "-" + print_content_line " 1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" + print_content_line " 2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" + print_content_line " 3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" + print_content_line " 4) 安装本地\033[35mDashboard\033[0m面板" + print_content_line " 5) 安装/更新本地\033[33m根证书文件\033[0m" + print_content_line " 6) 查看\033[32mPAC\033[0m自动代理配置" + print_content_line " 7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" + print_content_line " 8) \033[32m配置自动更新\033[0m" + print_content_line " 9) \033[31m卸载ShellCrash\033[0m" + print_content_line " 99) \033[36m鸣谢!\033[0m" + print_content_line " 0) 返回上级菜单" + print_separator_line "=" + + read -p "请输入对应数字> " num case "$num" in - ""|0) + "" | 0) break ;; 1) @@ -59,15 +111,18 @@ upgrade() { setgeo ;; 4) + double_line_break setdb + double_line_break ;; 5) setcrt ;; 6) - echo "-----------------------------------------------" - echo -e "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" - echo -e "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" + print_separator_line "=" + print_content_line "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" + print_content_line "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" + print_separator_line "=" sleep 2 ;; 7) @@ -80,25 +135,54 @@ upgrade() { . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; 99) - echo "-----------------------------------------------" - echo -e "感谢:\033[32mClash项目 \033[0m作者\033[36m Dreamacro\033[0m" - echo -e "感谢:\033[32msing-box项目 \033[0m作者\033[36m SagerNet\033[0m 项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" - echo -e "感谢:\033[32mMetaCubeX项目 \033[0m作者\033[36m MetaCubeX\033[0m 项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" - echo -e "感谢:\033[32mYACD面板项目 \033[0m作者\033[36m haishanh\033[0m 项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" - echo -e "感谢:\033[32mzashboard项目 \033[0m作者\033[36m Zephyruso\033[0m 项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" - echo -e "感谢:\033[32mSubconverter \033[0m作者\033[36m tindy2013\033[0m 项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" - echo -e "感谢:\033[32msing-box分支项目 \033[0m作者\033[36m PuerNya\033[0m 项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m" - echo -e "感谢:\033[32msing-box分支项目 \033[0m作者\033[36m reF1nd\033[0m 项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" - echo -e "感谢:\033[32mDustinWin相关项目 \033[0m作者\033[36m DustinWin\033[0m 作者地址:\033[32mhttps://github.com/DustinWin\033[0m" - echo "-----------------------------------------------" - echo -e "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" - echo "-----------------------------------------------" + print_separator_line "=" + print_content_line " 感谢以下项目和作者!" + print_separator_line "-" + + print_content_line " \033[32mClash项目 \033[0m作者:\033[36mDreamacro\033[0m" + print_content_line "" + + print_content_line " \033[32msing-box项目 \033[0m作者:\033[36mSagerNet\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" + print_content_line "" + + print_content_line " \033[32mMetaCubeX项目 \033[0m作者:\033[36mMetaCubeX\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" + print_content_line "" + + print_content_line " \033[32mYACD面板项目 \033[0m作者:\033[36mhaishanh\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" + print_content_line "" + + print_content_line " \033[32mzashboard项目 \033[0m作者:\033[36mZephyruso\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" + print_content_line "" + + print_content_line " \033[32mSubconverter \033[0m作者:\033[36mtindy2013\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" + print_content_line "" + + print_content_line " \033[32msing-box分支项目 \033[0m作者:\033[36mPuerNya\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m" + print_content_line "" + + print_content_line " \033[32msing-box分支项目 \033[0m作者:\033[36mreF1nd\033[0m" + print_content_line " 项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" + print_content_line "" + + print_content_line " \033[32mDustinWin相关项目 \033[0m作者:\033[36mDustinWin\033[0m" + print_content_line " 作者地址:\033[32mhttps://github.com/DustinWin\033[0m" + print_content_line "" + + print_separator_line "-" + print_content_line " 特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" + print_separator_line "=" sleep 2 ;; *) errornum - sleep 1 - break + sleep 1 + break ;; esac done @@ -821,22 +905,25 @@ dbdir() { setdb() { while true; do - echo "-----------------------------------------------" - echo -e "\033[36m安装本地版dashboard管理面板\033[0m" - echo -e "\033[32m打开管理面板的速度更快且更稳定\033[0m" - echo "-----------------------------------------------" - echo -e "请选择面板\033[33m安装类型:\033[0m" - echo "-----------------维护中------------------------" - echo -e " 1 安装\033[32mzashboard面板\033[0m(约2.2mb)" - echo -e " 2 安装\033[32mMetaXD面板\033[0m(约1.5mb)" - echo -e " 3 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" - echo "---------------已停止维护----------------------" - echo -e " 4 安装\033[32m基础面板\033[0m(约500kb)" - echo -e " 5 安装\033[32mMeta基础面板\033[0m(约800kb)" - echo -e " 6 安装\033[32mYacd面板\033[0m(约1.1mb)" - echo "-----------------------------------------------" - echo -e " 9 卸载\033[33m本地面板\033[0m" - echo " 0 返回上级菜单" + print_separator_line "=" + print_content_line " \033[36m安装 dashboard 管理面板到本地\033[0m" + print_content_line " \033[32m打开管理面板的速度更快且更稳定\033[0m" + print_separator_line "-" + + print_content_line " 请选择面板\033[33m安装类型:\033[0m" + print_content_line " - - - - - - -维护中- - - - - - -" + print_content_line " 1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" + print_content_line " 2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" + print_content_line " 3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" + print_content_line " - - - - - -已停止维护- - - - - -" + print_content_line " 4) 安装\033[32m基础面板\033[0m(约500kb)" + print_content_line " 5) 安装\033[32mMeta基础面板\033[0m(约800kb)" + print_content_line " 6) 安装\033[32mYacd面板\033[0m(约1.1mb)" + print_content_line "" + print_content_line " 9) 卸载\033[33m本地面板\033[0m" + print_content_line " 0) 返回上级菜单" + print_separator_line "=" + read -p "请输入对应数字 > " num case "$num" in "" | 0) From 2e1744a99384d5f2415e86c4580f7f91ac0bbfec Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 8 Jan 2026 18:46:41 +0800 Subject: [PATCH 002/318] ~Add i18n support (only menu.sh) --- scripts/lang/chs/menu.lang | 85 +++++++++++++++++++++ scripts/libs/i18n.sh | 8 ++ scripts/menu.sh | 146 +++++++++++++++++++------------------ 3 files changed, 170 insertions(+), 69 deletions(-) create mode 100644 scripts/lang/chs/menu.lang create mode 100644 scripts/libs/i18n.sh diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang new file mode 100644 index 00000000..f52be2b5 --- /dev/null +++ b/scripts/lang/chs/menu.lang @@ -0,0 +1,85 @@ +# ===== 通用提示 ===== +MENU_ERR_INPUT="请输入正确的字母或数字!" + +MENU_RESTART_NOTICE="检测到已变更的内容,请重启服务!" +MENU_RESTART_ASK="是否现在重启服务?(1/0) > " + +MENU_PORT_CONFLICT_TITLE="检测到端口被以下进程占用!内核可能无法正常启动!" +MENU_PORT_CONFLICT_HINT="请修改默认端口配置!" + +MENU_CORE_LOADED_OK="内核加载完成!" +MENU_CORE_LOADED_BAD="检测到不可用的内核文件!可能是文件受损或CPU架构不匹配!" +MENU_CORE_REMOVED="内核文件已移除,请认真检查后重新上传!" + +MENU_CFG_LOADED_OK="配置文件加载完成!" + +MENU_OVERRIDE_WARN="你已经禁用了配置文件覆写功能,这会导致大量脚本功能无法使用!" +MENU_OVERRIDE_ASK="是否取消禁用?" + +# ===== 欢迎与状态 ===== +MENU_WELCOME="欢迎使用ShellCrash!" +MENU_VERSION_LABEL="版本:" + +MENU_RUN_ON="正在运行" +MENU_RUN_SET="已设置" +MENU_RUN_OFF="没有运行" + +MENU_IP_DF="设备IP地址" + +MENU_AUTOSTART_ON="已设置开机启动!" +MENU_AUTOSTART_OFF="未设置开机启动!" +MENU_AUTOSTART_DEBUG="并处于debug状态!" + +MENU_MEM_USED="当前内存占用:" +MENU_RUNNING_TIME="已运行:" + +MENU_TG_CHANNEL="TG频道:" +MENU_TG_URL="https://t.me/ShellClash" + +# ===== /tmp 文件检测 ===== +MENU_TMP_CORE_FOUND="发现可用的内核文件:" +MENU_TMP_CORE_ASK="是否加载(会停止当前服务)?" + +MENU_TMP_CFG_FOUND="发现内核配置文件:" +MENU_TMP_CFG_ASK="是否加载为配置文件?(1/0) > " + +MENU_MAIN_1="启动/重启服务" +MENU_MAIN_2="功能设置" +MENU_MAIN_3="停止服务" +MENU_MAIN_4="启动设置" +MENU_MAIN_5="自动任务" +MENU_MAIN_6="配置文件管理" +MENU_MAIN_7="访问与控制" +MENU_MAIN_8="工具与优化" +MENU_MAIN_9="更新与支持" +MENU_MAIN_0="退出脚本" + +MENU_MAIN_PROMPT="请输入对应数字 > " + +# ===== 服务操作 ===== +MENU_SERVICE_STOPPED="服务已停止!" + +# ===== 测试 / 调试 ===== +MENU_TEST_RUNNING="正在测试运行!如发现错误请截图后前往咨询" +MENU_TEST_DONE_OK="测试完成!没有发现问题,请重新启动服务~" +MENU_TEST_DONE_FAIL="测试完成!" +MENU_TEST_LOG_HINT="完整执行记录请查看:" + +MENU_ERROR_FOUND="发现错误:" + +# ===== 命令行帮助 ===== +MENU_CLI_WELCOME="欢迎使用ShellCrash" + +MENU_CLI_TEST="测试模式" +MENU_CLI_HELP="帮助列表" +MENU_CLI_UNINSTALL="卸载脚本" +MENU_CLI_INIT="初始化脚本" +MENU_CLI_DEBUG="测试运行" + +MENU_CLI_START="启动服务" +MENU_CLI_STOP="停止服务" +MENU_CLI_BOOT_INIT="开机初始化" + +MENU_HELP_ONLINE="在线求助:" +MENU_HELP_BLOG="官方博客:" +MENU_HELP_GITHUB="发布页面:" \ No newline at end of file diff --git a/scripts/libs/i18n.sh b/scripts/libs/i18n.sh new file mode 100644 index 00000000..efaa52ee --- /dev/null +++ b/scripts/libs/i18n.sh @@ -0,0 +1,8 @@ + +load_lang() { + i18n=$(cat "$CRASHDIR"/configs/i18n.cfg 2>/dev/null) + [ -z "$i18n" ] && i18n=chs + + file="$CRASHDIR/lang/$i18n/$1.lang" + [ -s "$file" ] && . "$file" +} \ No newline at end of file diff --git a/scripts/menu.sh b/scripts/menu.sh index 86dac1e0..7f17b82b 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -6,37 +6,45 @@ CRASHDIR=$( pwd ) CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg -#加载执行目录,失败则初始化 + +# 加载执行目录,失败则初始化 . "$CRASHDIR"/libs/get_config.sh [ -z "$BINDIR" -o -z "$TMPDIR" -o -z "$COMMAND" ] && . "$CRASHDIR"/init.sh >/dev/null 2>&1 [ ! -f "$TMPDIR" ] && mkdir -p "$TMPDIR" -#通用工具 +# 通用工具 . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/check_cmd.sh . "$CRASHDIR"/libs/check_autostart.sh +. "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/1_start.sh . "$CRASHDIR"/menus/running_status.sh + +# 加载语言 +load_lang common +load_lang menu + errornum() { echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的字母或数字!\033[0m" + echo -e "\033[31m$MENU_ERR_INPUT\033[0m" } + checkrestart() { echo "-----------------------------------------------" - echo -e "\033[32m检测到已变更的内容,请重启服务!\033[0m" + echo -e "\033[32m$MENU_RESTART_NOTICE\033[0m" echo "-----------------------------------------------" - read -p "是否现在重启服务?(1/0) > " res + read -p "$MENU_RESTART_ASK" res [ "$res" = 1 ] && start_service } checkport() { #检查端口冲突 for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do - if [ -n "$(netstat -ntul 2>&1 | grep ':$portx ')" ]; then + if [ -n "$(netstat -ntul 2>&1 | grep ":$portx ")" ]; then echo "-----------------------------------------------" - echo -e "检测到端口【$portx】被以下进程占用!内核可能无法正常启动!\033[33m" - echo $(netstat -ntul | grep :$portx | head -n 1) - echo -e "\033[0m-----------------------------------------------" - echo -e "\033[36m请修改默认端口配置!\033[0m" + echo -e "【$portx】: $MENU_PORT_CONFLICT_TITLE" + echo -e "\033[0m$(netstat -ntul | grep ":$portx" | head -n 1)\033[0m" + echo "-----------------------------------------------" + echo -e "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" . "$CRASHDIR"/menus/2_settings.sh && set_adv_config . "$CRASHDIR"/libs/get_config.sh checkport @@ -46,18 +54,19 @@ checkport() { #检查端口冲突 ckstatus() { #脚本启动前检查 #检查脚本配置文件 if [ -f "$CFG_PATH" ]; then - [ -n "$(awk 'a[$0]++' $CFG_PATH)" ] && awk '!a[$0]++' "$CFG_PATH" >"$CFG_PATH" #检查重复行并去除 + [ -n "$(awk 'a[$0]++' "$CFG_PATH")" ] && awk '!a[$0]++' "$CFG_PATH" >"$CFG_PATH" else . "$CRASHDIR"/init.sh >/dev/null 2>&1 fi + versionsh=$(cat "$CRASHDIR"/version) [ -n "$versionsh" ] && versionsh_l=$versionsh - [ -z "$redir_mod" ] && redir_mod=纯净模式 + [ -z "$redir_mod" ] && redir_mod="纯净模式" #获取本机host地址 [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host='设备IP地址' + [ -z "$host" ] && host='$MENU_IP_DF' #dashboard目录位置 if [ -f /www/clash/index.html ]; then dbdir=/www/clash @@ -66,37 +75,37 @@ ckstatus() { #脚本启动前检查 dbdir="$CRASHDIR"/ui hostdir=":$db_port/ui" fi - #开机自启检测 + if check_autostart; then - auto="\033[32m已设置开机启动!\033[0m" - auto1="\033[36m禁用\033[0mShellCrash开机启动" + auto="\033[32m$MENU_AUTOSTART_ON\033[0m" else - auto="\033[31m未设置开机启动!\033[0m" - auto1="\033[36m允许\033[0mShellCrash开机启动" + auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" fi - #获取运行状态 + PID=$(pidof CrashCore | awk '{print $NF}') if [ -n "$PID" ]; then - run="\033[32m正在运行($redir_mod)\033[0m" + run="\033[32m$MENU_RUN_ON($redir_mod)\033[0m" running_status elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then - run="\033[32m已设置($redir_mod)\033[0m" + run="\033[32m$MENU_RUN_SET($redir_mod)\033[0m" else - run="\033[31m没有运行($redir_mod)\033[0m" + run="\033[31m$MENU_RUN_OFF($redir_mod)\033[0m" #检测系统端口占用 checkport fi corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') - [ "$firewall_area" = 5 ] && corename='转发' - [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m并处于debug状态!\033[0m" + #[ "$firewall_area" = 5 ] && corename='转发' + [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" #输出状态 echo "-----------------------------------------------" - echo -e "\033[30;46m欢迎使用ShellCrash!\033[0m 版本:$versionsh_l" - echo -e "$corename服务$run,$auto" + echo -e "\033[30;46m$MENU_WELCOME\033[0m $MENU_VERSION_LABEL$versionsh_l" + echo -e "$corename $run,$auto" + if [ -n "$PID" ]; then - echo -e "当前内存占用:\033[44m"$VmRSS"\033[0m,已运行:\033[46;30m"$day"\033[44;37m"$time"\033[0m" + echo -e "$MENU_MEM_USED \033[44m$VmRSS\033[0m,$MENU_RUNNING_TIME \033[46;30m$day\033[44;37m$time\033[0m" fi - echo -e "TG频道:\033[36;4mhttps://t.me/ShellClash\033[0m" + + echo -e "$MENU_TG_CHANNEL \033[36;4m$MENU_TG_URL\033[0m" echo "-----------------------------------------------" #检查新手引导 if [ -z "$userguide" ]; then @@ -107,19 +116,19 @@ ckstatus() { #脚本启动前检查 [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh #检查/tmp内核文件 for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box|meta.*'); do - echo -e "发现可用的内核文件: \033[36m/tmp/$file\033[0m " - read -p "是否加载(会停止当前服务)?(1/0) > " res + echo -e "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m " + read -p "$MENU_TMP_CORE_ASK(1/0) > " res [ "$res" = 1 ] && { zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" if [ "$?" = 0 ]; then - echo -e "\033[32m内核加载完成!\033[0m " + echo -e "\033[32m$MENU_CORE_LOADED_OK\033[0m " switch_core else - echo -e "\033[33m检测到不可用的内核文件!可能是文件受损或CPU架构不匹配!\033[0m" + echo -e "\033[33m$MENU_CORE_LOADED_BAD033[0m" rm -rf /tmp/"$file" - echo -e "\033[33m内核文件已移除,请认真检查后重新上传!\033[0m" + echo -e "\033[33m$MENU_CORE_REMOVED\033[0m" fi sleep 1 } @@ -128,44 +137,43 @@ ckstatus() { #脚本启动前检查 #检查/tmp配置文件 for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do tmp_file=/tmp/$file - echo -e "发现内核配置文件: \033[36m/tmp/$file\033[0m " - read -p "是否加载为$crashcore的配置文件?(1/0) > " res + echo -e "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m " + read -p "$MENU_TMP_CFG_ASK(1/0) > " res [ "$res" = 1 ] && { if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then mv -f /tmp/$file "$CRASHDIR"/jsons/config.json else mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml fi - echo -e "\033[32m配置文件加载完成!\033[0m " + echo -e "\033[32m$MENU_CFG_LOADED_OK\033[0m " sleep 1 } done #检查禁用配置覆写 [ "$disoverride" = "1" ] && { - echo -e "\033[33m你已经禁用了配置文件覆写功能,这会导致大量脚本功能无法使用!\033[0m " - read -p "是否取消禁用?(1/0) > " res + echo -e "\033[33m$MENU_OVERRIDE_WARN\033[0m " + read -p "$MENU_OVERRIDE_ASK(1/0) > " res [ "$res" = 1 ] && unset disoverride && setconfig disoverride echo "-----------------------------------------------" } } -#主菜单 main_menu() { - ############################# ckstatus - ############################# - echo -e " 1 \033[32m启动/重启服务\033[0m" - echo -e " 2 \033[36m功能设置\033[0m" - echo -e " 3 \033[31m停止服务\033[0m" - echo -e " 4 \033[33m启动设置\033[0m" - echo -e " 5 设置\033[32m自动任务\033[0m" - echo -e " 6 管理\033[36m配置文件\033[0m" - echo -e " 7 \033[33m访问与控制\033[0m" - echo -e " 8 \033[0m工具与优化\033[0m" - echo -e " 9 \033[32m更新与支持\033[0m" + + echo -e " 1 \033[32m$MENU_MAIN_1\033[0m" + echo -e " 2 \033[36m$MENU_MAIN_2\033[0m" + echo -e " 3 \033[31m$MENU_MAIN_3\033[0m" + echo -e " 4 \033[33m$MENU_MAIN_4\033[0m" + echo -e " 5 \033[32m$MENU_MAIN_5\033[0m" + echo -e " 6 \033[36m$MENU_MAIN_6\033[0m" + echo -e " 7 \033[33m$MENU_MAIN_7\033[0m" + echo -e " 8 $MENU_MAIN_8" + echo -e " 9 \033[32m$MENU_MAIN_9\033[0m" echo "-----------------------------------------------" - echo -e " 0 \033[0m退出脚本\033[0m" - read -p "请输入对应数字 > " num + echo -e " 0 $MENU_MAIN_0" + + read -p "$MENU_MAIN_PROMPT" num case "$num" in 0) @@ -189,7 +197,7 @@ main_menu() { "$CRASHDIR"/start.sh stop sleep 1 echo "-----------------------------------------------" - echo -e "\033[31m$corename服务已停止!\033[0m" + echo -e "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" main_menu ;; 4) @@ -255,21 +263,21 @@ case "$1" in ;; -d) shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - echo -e "正在测试运行!如发现错误请截图后前往\033[32;4mt.me/ShellClash\033[0m咨询" + echo -e "$MENU_TEST_RUNNING\033[32;4mt.me/ShellClash\033[0m" $shtype "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log $shtype -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log echo ----------------------------------------- cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug if [ -s "$TMPDIR"/sh_bug ]; then while read line; do - echo -e "发现错误:\033[33;4m$line\033[0m" + echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log echo ----------------------------------------- done <"$TMPDIR"/sh_bug rm -rf "$TMPDIR"/sh_bug - echo -e "\033[32m测试完成!\033[0m完整执行记录请查看:\033[36m$TMPDIR/debug_sh.log\033[0m" + echo -e "\033[32m$MENU_TEST_DONE_FAIL\033[0m$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" else - echo -e "\033[32m测试完成!没有发现问题,请重新启动服务~\033[0m" + echo -e "\033[32m$MENU_TEST_DONE_OK\033[0m" rm -rf "$TMPDIR"/debug_sh.log fi "$CRASHDIR"/start.sh stop @@ -279,21 +287,21 @@ case "$1" in ;; *) echo ----------------------------------------- - echo "欢迎使用ShellCrash" + echo "$MENU_CLI_WELCOME" echo ----------------------------------------- - echo " -t 测试模式" - echo " -h 帮助列表" - echo " -u 卸载脚本" - echo " -i 初始化脚本" - echo " -d 测试运行" + echo " -t $MENU_CLI_TEST" + echo " -h $MENU_CLI_HELP" + echo " -u $MENU_CLI_UNINSTALL" + echo " -i $MENU_CLI_INIT" + echo " -d $MENU_CLI_DEBUG" echo ----------------------------------------- - echo " crash -s start 启动服务" - echo " crash -s stop 停止服务" - echo " $CRASHDIR/start.sh init 开机初始化" + echo " crash -s start $MENU_CLI_START" + echo " crash -s stop $MENU_CLI_STOP" + echo " $CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" echo ----------------------------------------- - echo "在线求助:t.me/ShellClash" - echo "官方博客:juewuy.github.io" - echo "发布页面:github.com/juewuy/ShellCrash" + echo "$MENU_HELP_ONLINE t.me/ShellClash" + echo "$MENU_HELP_BLOG juewuy.github.io" + echo "$MENU_HELP_GITHUB github.com/juewuy/ShellCrash" echo ----------------------------------------- ;; esac From 75b69e91b6b95cb1c22c6313a42c1fab46e15e94 Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 8 Jan 2026 18:53:14 +0800 Subject: [PATCH 003/318] ~Add en support( Use [echo en > "$CRASHDIR"/configs/i18n.cfg] to test ! ) --- scripts/lang/en/menu.lang | 86 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 scripts/lang/en/menu.lang diff --git a/scripts/lang/en/menu.lang b/scripts/lang/en/menu.lang new file mode 100644 index 00000000..4e4f1f38 --- /dev/null +++ b/scripts/lang/en/menu.lang @@ -0,0 +1,86 @@ +# ===== Common Prompts ===== +MENU_ERR_INPUT="Please enter a valid letter or number!" + +MENU_RESTART_NOTICE="Changes have been detected. Please restart the service!" +MENU_RESTART_ASK="Restart the service now? (1/0) > " + +MENU_PORT_CONFLICT_TITLE="The port is occupied by the following process. The core may fail to start!" +MENU_PORT_CONFLICT_HINT="Please modify the default port configuration!" + +MENU_CORE_LOADED_OK="Core loaded successfully!" +MENU_CORE_LOADED_BAD="The core file is invalid. It may be corrupted or incompatible with the CPU architecture!" +MENU_CORE_REMOVED="The core file has been removed. Please verify and upload it again!" + +MENU_CFG_LOADED_OK="Configuration file loaded successfully!" + +MENU_OVERRIDE_WARN="You have disabled configuration overwrite. This will cause many features to be unavailable!" +MENU_OVERRIDE_ASK="Cancel the disable setting?" + +# ===== Welcome & Status ===== +MENU_WELCOME="Welcome to ShellCrash!" +MENU_VERSION_LABEL="Version:" + +MENU_RUN_ON="Running" +MENU_RUN_SET="Configured" +MENU_RUN_OFF="Not running" + +MENU_IP_DF="Device IP Address" + +MENU_AUTOSTART_ON="Autostart is enabled!" +MENU_AUTOSTART_OFF="Autostart is disabled!" +MENU_AUTOSTART_DEBUG="Running in debug mode!" + +MENU_MEM_USED="Memory usage:" +MENU_RUNNING_TIME="Running time:" + +MENU_TG_CHANNEL="Telegram Channel:" +MENU_TG_URL="https://t.me/ShellClash" + +# ===== /tmp File Detection ===== +MENU_TMP_CORE_FOUND="Available core file found:" +MENU_TMP_CORE_ASK="Load this core file? (The current service will be stopped)" + +MENU_TMP_CFG_FOUND="Kernel configuration file found:" +MENU_TMP_CFG_ASK="Load as the configuration file? (1/0) > " + +# ===== Main Menu ===== +MENU_MAIN_1="Start / Restart Service" +MENU_MAIN_2="Feature Settings" +MENU_MAIN_3="Stop Service" +MENU_MAIN_4="Startup Settings" +MENU_MAIN_5="Scheduled Tasks" +MENU_MAIN_6="Configuration Management" +MENU_MAIN_7="Access & Control" +MENU_MAIN_8="Tools & Optimization" +MENU_MAIN_9="Updates & Support" +MENU_MAIN_0="Exit Script" + +MENU_MAIN_PROMPT="Please enter a number > " + +# ===== Service Operations ===== +MENU_SERVICE_STOPPED="Service has been stopped!" + +# ===== Test / Debug ===== +MENU_TEST_RUNNING="Running test mode. If errors occur, please take a screenshot and seek assistance." +MENU_TEST_DONE_OK="Test completed! No issues found. Please restart the service." +MENU_TEST_DONE_FAIL="Test completed!" +MENU_TEST_LOG_HINT="Full execution log can be found at:" + +MENU_ERROR_FOUND="Error found:" + +# ===== Command Line Help ===== +MENU_CLI_WELCOME="Welcome to ShellCrash" + +MENU_CLI_TEST="Test Mode" +MENU_CLI_HELP="Help List" +MENU_CLI_UNINSTALL="Uninstall Script" +MENU_CLI_INIT="Initialize Script" +MENU_CLI_DEBUG="Debug Mode" + +MENU_CLI_START="Start Service" +MENU_CLI_STOP="Stop Service" +MENU_CLI_BOOT_INIT="Boot Initialization" + +MENU_HELP_ONLINE="Online Support:" +MENU_HELP_BLOG="Official Blog:" +MENU_HELP_GITHUB="Release Page:" From da30e623ce708d14fc19abc0dc0be30b356402c5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 8 Jan 2026 19:16:13 +0800 Subject: [PATCH 004/318] =?UTF-8?q?~=E6=8B=86=E5=88=86=E6=B5=81=E9=87=8F?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E5=92=8C=E6=96=B0=E6=89=8B=E5=BC=95=E5=AF=BC?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menu.sh | 2 +- scripts/menus/1_start.sh | 2 +- scripts/menus/2_settings.sh | 408 +---------------------------------- scripts/menus/8_tools.sh | 123 +---------- scripts/menus/fw_filter.sh | 412 ++++++++++++++++++++++++++++++++++++ scripts/menus/userguide.sh | 127 +++++++++++ 6 files changed, 543 insertions(+), 531 deletions(-) create mode 100644 scripts/menus/fw_filter.sh create mode 100644 scripts/menus/userguide.sh diff --git a/scripts/menu.sh b/scripts/menu.sh index 7f17b82b..c6d82d06 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -110,7 +110,7 @@ ckstatus() { #脚本启动前检查 #检查新手引导 if [ -z "$userguide" ]; then setconfig userguide 1 - . "$CRASHDIR"/menus/8_tools.sh && userguide + . "$CRASHDIR"/menus/userguide.sh && userguide fi #检查执行权限 [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index 29b13ca3..c3c39249 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -12,7 +12,7 @@ startover() { if [ "$redir_mod" = "纯净模式" ]; then echo "-----------------------------------------------" echo -e "其他设备可以使用PAC配置连接:\033[4;32mhttp://$host:$db_port/ui/pac\033[0m" - echo -e "或者使用HTTP/SOCK5方式连接:IP{\033[36m$host\033[0m}端口{\033[36m$mix_port\033[0m}" + echo -e "或者使用HTTP/SOCK5方式连接:IP{\033[36m$host\033[0m}Port{\033[36m$mix_port\033[0m}" fi return 0 } diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 3c880c2a..43be432e 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -47,7 +47,7 @@ settings() { #功能设置 settings ;; 3) - set_fw_filter + . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter sleep 1 settings ;; @@ -282,412 +282,6 @@ set_redir_mod() { #路由模式设置 ;; esac } -set_fw_filter(){ #流量过滤 - [ -z "$common_ports" ] && common_ports=ON - [ -z "$quic_rj" ] && quic_rj=OFF - [ -z "$cn_ip_route" ] && cn_ip_route=OFF - touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter - [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON - echo "-----------------------------------------------" - echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" - echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" - echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" - echo -e " 4 过滤CN_IP(6)列表: \033[36m$cn_ip_route\033[0m ————优化性能,不兼容Fake-ip" - echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" - echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - echo "-----------------------------------------------" - if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - read -p "切换时将停止服务,是否继续?(1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports - else - set_common_ports - fi - set_fw_filter - ;; - 2) - checkcfg_mac=$(cat "$CRASHDIR"/configs/mac) - fw_filter_lan - if [ -n "$PID" ]; then - checkcfg_mac_new=$(cat "$CRASHDIR"/configs/mac) - [ "$checkcfg_mac" != "$checkcfg_mac_new" ] && checkrestart - fi - set_fw_filter - ;; - 3) - echo "-----------------------------------------------" - if [ -n "$(echo "$redir_mod" | grep -oE '混合|Tproxy|Tun')" ]; then - if [ "$quic_rj" = "OFF" ]; then - echo -e "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" - quic_rj=ON - else - echo -e "\033[33m已取消禁止QUIC协议流量!!\033[0m" - quic_rj=OFF - fi - setconfig quic_rj $quic_rj - else - echo -e "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" - fi - sleep 1 - set_fw_filter - ;; - 4) - if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then - if [ "$cn_ip_route" = "OFF" ]; then - echo -e "\033[32m已开启CN_IP绕过内核功能!!\033[0m" - echo -e "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" - cn_ip_route=ON - sleep 2 - else - echo -e "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" - cn_ip_route=OFF - fi - setconfig cn_ip_route $cn_ip_route - else - echo -e "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" - sleep 1 - fi - set_fw_filter - ;; - 5) - set_cust_host_ipv4 - set_fw_filter - ;; - 6) - [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" - echo -e "当前网段:\033[36m$reserve_ipv4\033[0m" - echo -e "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" - read -p "请输入 > " text - if [ -n "$( - echo $text | grep -E "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" - )" ]; then - reserve_ipv4="$text" - echo -e "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" - setconfig reserve_ipv4 "'$reserve_ipv4'" - else - echo -e "\033[31m输入有误,操作已取消!\033[0m" - fi - sleep 1 - set_fw_filter - ;; - *) - errornum - ;; - esac -} -set_common_ports() { - [ -z "$multiport" ] && multiport='22,80,443,8080,8443' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" - [ -n "$common_ports" ] && - echo -e "当前放行端口:\033[36m$multiport\033[0m" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" - echo -e " 2 添加放行端口" - echo -e " 3 移除指定放行端口" - echo -e " 4 重置默认放行端口" - echo -e " 5 重置为旧版放行端口" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case $num in - 1) - if [ "$common_ports" = ON ];then - common_ports=OFF - else - common_ports=ON - fi - setconfig common_ports "$common_ports" - set_common_ports - ;; - 2) - port_count=$(echo "$multiport" | awk -F',' '{print NF}' ) - if [ "$port_count" -ge 15 ];then - echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" - else - read -p "请输入要放行的端口号 > " port - if echo ",$multiport," | grep -q ",$port,";then - echo -e "\033[31m输入错误!请勿重复添加!\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - multiport=$(echo "$multiport,$port" | sed "s/^,//") - setconfig multiport "$multiport" - fi - fi - sleep 1 - set_common_ports - ;; - 3) - read -p "请输入要移除的端口号 > " port - if echo ",$multiport," | grep -q ",$port,";then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") - setconfig multiport "$multiport" - fi - else - echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" - fi - sleep 1 - set_common_ports - ;; - 4) - multiport='' - setconfig multiport - sleep 1 - set_common_ports - ;; - 5) - multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' - setconfig multiport "$multiport" - sleep 1 - set_common_ports - ;; - *) - errornum - ;; - esac -} -set_cust_host_ipv4() { #自定义ipv4透明路由网段 - [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" - echo "-----------------------------------------------" - echo -e "当前默认透明路由的网段为: \033[32m$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'br' | grep -v 'iot' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ' && echo) \033[0m" - echo -e "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" - echo "-----------------------------------------------" - echo -e " 1 移除所有自定义网段" - echo -e " 2 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应的序号或需要额外添加的网段 > " text - case "$text" in - 2) - if [ "$replace_default_host_ipv4" == "OFF" ]; then - replace_default_host_ipv4="ON" - else - replace_default_host_ipv4="OFF" - fi - setconfig replace_default_host_ipv4 "$replace_default_host_ipv4" - set_cust_host_ipv4 - ;; - 1) - unset cust_host_ipv4 - setconfig cust_host_ipv4 - set_cust_host_ipv4 - ;; - 0) ;; - *) - if [ -n "$(echo $text | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" -a -z "$(echo $cust_host_ipv4 | grep "$text")" ]; then - cust_host_ipv4="$cust_host_ipv4 $text" - setconfig cust_host_ipv4 "'$cust_host_ipv4'" - else - echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的网段地址!\033[0m" - fi - sleep 1 - set_cust_host_ipv4 - ;; - esac -} -fw_filter_lan() { #局域网设备过滤 - get_devinfo() { - dev_ip=$(cat $dhcpdir | grep " $dev " | awk '{print $3}') && [ -z "$dev_ip" ] && dev_ip=$dev - dev_mac=$(cat $dhcpdir | grep " $dev " | awk '{print $2}') && [ -z "$dev_mac" ] && dev_mac=$dev - dev_name=$(cat $dhcpdir | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name='未知设备' - } - add_mac() { - echo "-----------------------------------------------" - echo 已添加的mac地址: - cat "$CRASHDIR"/configs/mac 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m" - cat $dhcpdir | awk '{print " "NR" "$3,$2,$4}' - echo -e "\033[0m-----------------------------------------------" - echo -e "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" - echo -e " 0 或回车 结束添加" - echo "-----------------------------------------------" - read -p "请输入对应序号或直接输入mac地址 > " num - if [ -z "$num" -o "$num" = 0 ]; then - i= - elif [ -n "$(echo $num | grep -aE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$')" ]; then - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then - echo $num | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" - fi - add_mac - elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then - macadd=$(cat $dhcpdir | awk '{print $2}' | sed -n "$num"p) - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then - echo $macadd >>"$CRASHDIR"/configs/mac - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" - fi - add_mac - else - echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - add_mac - fi - } - add_ip() { - echo "-----------------------------------------------" - echo "已添加的IP地址(段):" - cat "$CRASHDIR"/configs/ip_filter 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[33m序号 设备IP 设备名称\033[32m" - cat $dhcpdir | awk '{print " "NR" "$3,$4}' - echo -e "\033[0m-----------------------------------------------" - echo -e "手动输入时仅支持\033[32m 192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" - echo -e "不支持ipv6地址过滤,如有需求请使用mac地址过滤" - echo -e " 0 或回车 结束添加" - echo "-----------------------------------------------" - read -p "请输入对应序号或直接输入IP地址段 > " num - if [ -z "$num" -o "$num" = 0 ]; then - i= - elif [ -n "$(echo $num | grep -aE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$')" ]; then - if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then - echo $num | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" - fi - add_ip - elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then - ipadd=$(cat $dhcpdir | awk '{print $3}' | sed -n "$num"p) - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then - echo $ipadd >>"$CRASHDIR"/configs/ip_filter - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" - fi - add_ip - else - echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - add_ip - fi - } - del_all() { - echo "-----------------------------------------------" - if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then - echo -e "\033[31m列表中没有需要移除的设备!\033[0m" - sleep 1 - else - echo -e "请选择需要移除的设备:\033[36m" - echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m" - i=1 - for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do - get_devinfo - echo -e " $i \033[32m$dev_ip \033[36m$dev_mac \033[32m$dev_name\033[0m" - i=$((i + 1)) - done - echo "-----------------------------------------------" - echo -e "\033[0m 0 或回车 结束删除" - read -p "请输入需要移除的设备的对应序号 > " num - mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) - ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) - if [ -z "$num" ] || [ "$num" -le 0 ]; then - n= - elif [ $num -le $mac_filter_rows ]; then - sed -i "${num}d" "$CRASHDIR"/configs/mac - echo "-----------------------------------------------" - echo -e "\033[32m对应设备已移除!\033[0m" - del_all - elif [ $num -le $((mac_filter_rows + ip_filter_rows)) ]; then - num=$((num - mac_filter_rows)) - sed -i "${num}d" "$CRASHDIR"/configs/ip_filter - echo "-----------------------------------------------" - echo -e "\033[32m对应设备已移除!\033[0m" - del_all - else - echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - del_all - fi - fi - } - echo "-----------------------------------------------" - [ -z "$dhcpdir" ] && [ -f /var/lib/dhcp/dhcpd.leases ] && dhcpdir='/var/lib/dhcp/dhcpd.leases' - [ -z "$dhcpdir" ] && [ -f /var/lib/dhcpd/dhcpd.leases ] && dhcpdir='/var/lib/dhcpd/dhcpd.leases' - [ -z "$dhcpdir" ] && [ -f /tmp/dhcp.leases ] && dhcpdir='/tmp/dhcp.leases' - [ -z "$dhcpdir" ] && [ -f /tmp/dnsmasq.leases ] && dhcpdir='/tmp/dnsmasq.leases' - [ -z "$dhcpdir" ] && dhcpdir='/dev/null' - [ -z "$macfilter_type" ] && macfilter_type='黑名单' - if [ "$macfilter_type" = "黑名单" ]; then - fw_filter_lan_over='白名单' - fw_filter_lan_scrip='不' - else - fw_filter_lan_over='黑名单' - fw_filter_lan_scrip='' - fi - ###### - echo -e "\033[30;47m请在此添加或移除设备\033[0m" - echo -e "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" - echo -e "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" - if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then - echo "-----------------------------------------------" - echo -e "当前已过滤设备为:\033[36m" - echo -e "\033[33m 设备mac/ip地址 设备名称\033[0m" - for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do - get_devinfo - echo -e "\033[36m$dev_mac \033[0m$dev_name" - done - for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do - get_devinfo - echo -e "\033[32m$dev_ip \033[0m$dev_name" - done - echo "-----------------------------------------------" - fi - echo -e " 1 切换为\033[33m$fw_filter_lan_over模式\033[0m" - echo -e " 2 \033[32m添加指定设备(mac地址)\033[0m" - echo -e " 3 \033[32m添加指定设备(IP地址/网段)\033[0m" - echo -e " 4 \033[36m移除指定设备\033[0m" - echo -e " 9 \033[31m清空整个列表\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - macfilter_type=$fw_filter_lan_over - setconfig macfilter_type $macfilter_type - echo "-----------------------------------------------" - echo -e "\033[32m已切换为$fw_filter_lan_type模式!\033[0m" - fw_filter_lan - ;; - 2) - add_mac - fw_filter_lan - ;; - 3) - add_ip - fw_filter_lan - ;; - 4) - del_all - fw_filter_lan - ;; - 9) - : >"$CRASHDIR"/configs/mac - : >"$CRASHDIR"/configs/ip_filter - echo "-----------------------------------------------" - echo -e "\033[31m设备列表已清空!\033[0m" - fw_filter_lan - ;; - *) - errornum - ;; - esac -} set_adv_config() { #端口设置 . "$CFG_PATH" >/dev/null [ -z "$secret" ] && secret=未设置 diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 25704d0f..4de89734 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -111,7 +111,7 @@ tools() { break ;; 2) - userguide + . "$CRASHDIR"/menus/userguide.sh && userguide break ;; 3) @@ -685,124 +685,3 @@ debug(){ esac } -#新手引导 -userguide(){ - . "$CRASHDIR"/libs/check_dir_avail.sh - forwhat(){ - echo "-----------------------------------------------" - echo -e "\033[30;46m 欢迎使用ShellCrash新手引导! \033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m请先选择你的使用环境: \033[0m" - echo -e "\033[0m(你之后依然可以在设置中更改各种配置)\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m路由设备配置局域网透明代理\033[0m" - echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m" - [ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 1) - #设置运行模式 - redir_mod="混合模式" - [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ] && { - if grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod="Tproxy模式" - else - redir_mod="Redir模式" - fi - } - [ -z "$crashcore" ] && crashcore=meta - setconfig crashcore "$crashcore" - setconfig redir_mod "$redir_mod" - setconfig dns_mod mix - setconfig firewall_area '1' - #默认启用绕过CN-IP - setconfig cn_ip_route ON - #自动识别IPV6 - [ -n "$(ip a 2>&1 | grep -w 'inet6' | grep -E 'global' | sed 's/.*inet6.//g' | sed 's/scope.*$//g')" ] && { - setconfig ipv6_redir ON - setconfig ipv6_support ON - setconfig ipv6_dns ON - setconfig cn_ipv6_route ON - } - #设置开机启动 - [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ] && /etc/init.d/shellcrash enable - ckcmd systemctl && [ "$(cat /proc/1/comm)" = "systemd" ] && systemctl enable shellcrash.service > /dev/null 2>&1 - rm -rf "$CRASHDIR"/.dis_startup - autostart=enable - #检测IP转发 - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?\033[0m" - read -p "是否开启?(1/0) > " res - [ "$res" = 1 ] && { - echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf - sysctl -w net.ipv4.ip_forward=1 - } && echo "已成功开启ipv4转发,如未正常开启,请手动重启设备!" || echo "开启失败!请自行谷歌查找当前设备的开启方法!" - fi - #禁止docker启用的net.bridge.bridge-nf-call-iptables - sysctl -w net.bridge.bridge-nf-call-iptables=0 > /dev/null 2>&1 - sysctl -w net.bridge.bridge-nf-call-ip6tables=0 > /dev/null 2>&1 - ;; - 2) - setconfig redir_mod "Redir模式" - [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ] && setconfig crashcore "clash" - setconfig common_ports "OFF" - setconfig firewall_area '2' - ;; - 3) - mv -f $CFG_PATH.bak $CFG_PATH - echo -e "\033[32m脚本设置已还原!\033[0m" - echo -e "\033[33m请重新启动脚本!\033[0m" - exit 0 - ;; - *) - errornum - forwhat - ;; - esac - } - forwhat - #检测小内存模式 - dir_size=$(dir_avail "$CRASHDIR") - if [ "$dir_size" -lt 10240 ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到你的安装目录空间不足10M,是否开启小闪存模式?\033[0m" - echo -e "\033[0m开启后核心及数据库文件将被下载到内存中,这将占用一部分内存空间\033[0m" - echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m" - echo "-----------------------------------------------" - read -p "是否开启?(1/0) > " res - [ "$res" = 1 ] && { - BINDIR=/tmp/ShellCrash - setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env - } - fi - #启用推荐的自动任务配置 - . "$CRASHDIR"/menus/5_task.sh && task_recom - #小米设备软固化 - if [ "$systype" = "mi_snapshot" ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到为小米路由设备,启用软固化可防止路由升级后丢失SSH\033[0m" - read -p "是否启用软固化功能?(1/0) > " res - [ "$res" = 1 ] && mi_autoSSH - fi - #提示导入订阅或者配置文件 - [ ! -s "$CRASHDIR"/yamls/config.yaml -a ! -s "$CRASHDIR"/jsons/config.json ] && { - echo "-----------------------------------------------" - echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)" - echo -e "\033[0m你必须拥有一份配置文件才能运行服务!\033[0m" - echo "-----------------------------------------------" - read -p "现在开始导入?(1/0) > " res - [ "$res" = 1 ] && inuserguide=1 && { - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - inuserguide="" - } - } - #回到主界面 - echo "-----------------------------------------------" - echo -e "\033[36m很好!现在只需要执行启动就可以愉快的使用了!\033[0m" - echo "-----------------------------------------------" - read -p "立即启动服务?(1/0) > " res - [ "$res" = 1 ] && start_core && sleep 2 - main_menu -} diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh new file mode 100644 index 00000000..89e6324b --- /dev/null +++ b/scripts/menus/fw_filter.sh @@ -0,0 +1,412 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_MODULE_FW_FILTER_LOADED" ] && return +__IS_MODULE_FW_FILTER_LOADED=1 + +set_fw_filter(){ #流量过滤 + [ -z "$common_ports" ] && common_ports=ON + [ -z "$quic_rj" ] && quic_rj=OFF + [ -z "$cn_ip_route" ] && cn_ip_route=OFF + touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter + [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON + echo "-----------------------------------------------" + echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" + echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" + echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" + echo -e " 4 过滤CN_IP(6)列表: \033[36m$cn_ip_route\033[0m ————优化性能,不兼容Fake-ip" + echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" + echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + 0) + ;; + 1) + echo "-----------------------------------------------" + if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then + read -p "切换时将停止服务,是否继续?(1/0) > " res + [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports + else + set_common_ports + fi + set_fw_filter + ;; + 2) + checkcfg_mac=$(cat "$CRASHDIR"/configs/mac) + fw_filter_lan + if [ -n "$PID" ]; then + checkcfg_mac_new=$(cat "$CRASHDIR"/configs/mac) + [ "$checkcfg_mac" != "$checkcfg_mac_new" ] && checkrestart + fi + set_fw_filter + ;; + 3) + echo "-----------------------------------------------" + if [ -n "$(echo "$redir_mod" | grep -oE '混合|Tproxy|Tun')" ]; then + if [ "$quic_rj" = "OFF" ]; then + echo -e "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" + quic_rj=ON + else + echo -e "\033[33m已取消禁止QUIC协议流量!!\033[0m" + quic_rj=OFF + fi + setconfig quic_rj $quic_rj + else + echo -e "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" + fi + sleep 1 + set_fw_filter + ;; + 4) + if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then + if [ "$cn_ip_route" = "OFF" ]; then + echo -e "\033[32m已开启CN_IP绕过内核功能!!\033[0m" + echo -e "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" + cn_ip_route=ON + sleep 2 + else + echo -e "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" + cn_ip_route=OFF + fi + setconfig cn_ip_route $cn_ip_route + else + echo -e "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" + sleep 1 + fi + set_fw_filter + ;; + 5) + set_cust_host_ipv4 + set_fw_filter + ;; + 6) + [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" + echo -e "当前网段:\033[36m$reserve_ipv4\033[0m" + echo -e "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" + read -p "请输入 > " text + if [ -n "$( + echo $text | grep -E "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" + )" ]; then + reserve_ipv4="$text" + echo -e "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + setconfig reserve_ipv4 "'$reserve_ipv4'" + else + echo -e "\033[31m输入有误,操作已取消!\033[0m" + fi + sleep 1 + set_fw_filter + ;; + *) + errornum + ;; + esac +} +set_common_ports() { + [ -z "$multiport" ] && multiport='22,80,443,8080,8443' + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" + [ -n "$common_ports" ] && + echo -e "当前放行端口:\033[36m$multiport\033[0m" + echo "-----------------------------------------------" + echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" + echo -e " 2 添加放行端口" + echo -e " 3 移除指定放行端口" + echo -e " 4 重置默认放行端口" + echo -e " 5 重置为旧版放行端口" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case $num in + 1) + if [ "$common_ports" = ON ];then + common_ports=OFF + else + common_ports=ON + fi + setconfig common_ports "$common_ports" + set_common_ports + ;; + 2) + port_count=$(echo "$multiport" | awk -F',' '{print NF}' ) + if [ "$port_count" -ge 15 ];then + echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" + else + read -p "请输入要放行的端口号 > " port + if echo ",$multiport," | grep -q ",$port,";then + echo -e "\033[31m输入错误!请勿重复添加!\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + multiport=$(echo "$multiport,$port" | sed "s/^,//") + setconfig multiport "$multiport" + fi + fi + sleep 1 + set_common_ports + ;; + 3) + read -p "请输入要移除的端口号 > " port + if echo ",$multiport," | grep -q ",$port,";then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") + setconfig multiport "$multiport" + fi + else + echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" + fi + sleep 1 + set_common_ports + ;; + 4) + multiport='' + setconfig multiport + sleep 1 + set_common_ports + ;; + 5) + multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' + setconfig multiport "$multiport" + sleep 1 + set_common_ports + ;; + *) + errornum + ;; + esac +} +set_cust_host_ipv4() { #自定义ipv4透明路由网段 + [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" + echo "-----------------------------------------------" + echo -e "当前默认透明路由的网段为: \033[32m$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'br' | grep -v 'iot' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ' && echo) \033[0m" + echo -e "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" + echo "-----------------------------------------------" + echo -e " 1 移除所有自定义网段" + echo -e " 2 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" + echo -e " 0 返回上级菜单" + read -p "请输入对应的序号或需要额外添加的网段 > " text + case "$text" in + 2) + if [ "$replace_default_host_ipv4" == "OFF" ]; then + replace_default_host_ipv4="ON" + else + replace_default_host_ipv4="OFF" + fi + setconfig replace_default_host_ipv4 "$replace_default_host_ipv4" + set_cust_host_ipv4 + ;; + 1) + unset cust_host_ipv4 + setconfig cust_host_ipv4 + set_cust_host_ipv4 + ;; + 0) ;; + *) + if [ -n "$(echo $text | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" -a -z "$(echo $cust_host_ipv4 | grep "$text")" ]; then + cust_host_ipv4="$cust_host_ipv4 $text" + setconfig cust_host_ipv4 "'$cust_host_ipv4'" + else + echo "-----------------------------------------------" + echo -e "\033[31m请输入正确的网段地址!\033[0m" + fi + sleep 1 + set_cust_host_ipv4 + ;; + esac +} +fw_filter_lan() { #局域网设备过滤 + get_devinfo() { + dev_ip=$(cat $dhcpdir | grep " $dev " | awk '{print $3}') && [ -z "$dev_ip" ] && dev_ip=$dev + dev_mac=$(cat $dhcpdir | grep " $dev " | awk '{print $2}') && [ -z "$dev_mac" ] && dev_mac=$dev + dev_name=$(cat $dhcpdir | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name='未知设备' + } + add_mac() { + echo "-----------------------------------------------" + echo 已添加的mac地址: + cat "$CRASHDIR"/configs/mac 2>/dev/null + echo "-----------------------------------------------" + echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m" + cat $dhcpdir | awk '{print " "NR" "$3,$2,$4}' + echo -e "\033[0m-----------------------------------------------" + echo -e "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" + echo -e " 0 或回车 结束添加" + echo "-----------------------------------------------" + read -p "请输入对应序号或直接输入mac地址 > " num + if [ -z "$num" -o "$num" = 0 ]; then + i= + elif [ -n "$(echo $num | grep -aE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$')" ]; then + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then + echo $num | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" + fi + add_mac + elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then + macadd=$(cat $dhcpdir | awk '{print $2}' | sed -n "$num"p) + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then + echo $macadd >>"$CRASHDIR"/configs/mac + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" + fi + add_mac + else + echo "-----------------------------------------------" + echo -e "\033[31m输入有误,请重新输入!\033[0m" + add_mac + fi + } + add_ip() { + echo "-----------------------------------------------" + echo "已添加的IP地址(段):" + cat "$CRASHDIR"/configs/ip_filter 2>/dev/null + echo "-----------------------------------------------" + echo -e "\033[33m序号 设备IP 设备名称\033[32m" + cat $dhcpdir | awk '{print " "NR" "$3,$4}' + echo -e "\033[0m-----------------------------------------------" + echo -e "手动输入时仅支持\033[32m 192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" + echo -e "不支持ipv6地址过滤,如有需求请使用mac地址过滤" + echo -e " 0 或回车 结束添加" + echo "-----------------------------------------------" + read -p "请输入对应序号或直接输入IP地址段 > " num + if [ -z "$num" -o "$num" = 0 ]; then + i= + elif [ -n "$(echo $num | grep -aE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$')" ]; then + if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then + echo $num | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" + fi + add_ip + elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then + ipadd=$(cat $dhcpdir | awk '{print $3}' | sed -n "$num"p) + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then + echo $ipadd >>"$CRASHDIR"/configs/ip_filter + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" + fi + add_ip + else + echo "-----------------------------------------------" + echo -e "\033[31m输入有误,请重新输入!\033[0m" + add_ip + fi + } + del_all() { + echo "-----------------------------------------------" + if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then + echo -e "\033[31m列表中没有需要移除的设备!\033[0m" + sleep 1 + else + echo -e "请选择需要移除的设备:\033[36m" + echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m" + i=1 + for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do + get_devinfo + echo -e " $i \033[32m$dev_ip \033[36m$dev_mac \033[32m$dev_name\033[0m" + i=$((i + 1)) + done + echo "-----------------------------------------------" + echo -e "\033[0m 0 或回车 结束删除" + read -p "请输入需要移除的设备的对应序号 > " num + mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) + ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) + if [ -z "$num" ] || [ "$num" -le 0 ]; then + n= + elif [ $num -le $mac_filter_rows ]; then + sed -i "${num}d" "$CRASHDIR"/configs/mac + echo "-----------------------------------------------" + echo -e "\033[32m对应设备已移除!\033[0m" + del_all + elif [ $num -le $((mac_filter_rows + ip_filter_rows)) ]; then + num=$((num - mac_filter_rows)) + sed -i "${num}d" "$CRASHDIR"/configs/ip_filter + echo "-----------------------------------------------" + echo -e "\033[32m对应设备已移除!\033[0m" + del_all + else + echo "-----------------------------------------------" + echo -e "\033[31m输入有误,请重新输入!\033[0m" + del_all + fi + fi + } + echo "-----------------------------------------------" + [ -z "$dhcpdir" ] && [ -f /var/lib/dhcp/dhcpd.leases ] && dhcpdir='/var/lib/dhcp/dhcpd.leases' + [ -z "$dhcpdir" ] && [ -f /var/lib/dhcpd/dhcpd.leases ] && dhcpdir='/var/lib/dhcpd/dhcpd.leases' + [ -z "$dhcpdir" ] && [ -f /tmp/dhcp.leases ] && dhcpdir='/tmp/dhcp.leases' + [ -z "$dhcpdir" ] && [ -f /tmp/dnsmasq.leases ] && dhcpdir='/tmp/dnsmasq.leases' + [ -z "$dhcpdir" ] && dhcpdir='/dev/null' + [ -z "$macfilter_type" ] && macfilter_type='黑名单' + if [ "$macfilter_type" = "黑名单" ]; then + fw_filter_lan_over='白名单' + fw_filter_lan_scrip='不' + else + fw_filter_lan_over='黑名单' + fw_filter_lan_scrip='' + fi + ###### + echo -e "\033[30;47m请在此添加或移除设备\033[0m" + echo -e "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" + echo -e "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" + if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then + echo "-----------------------------------------------" + echo -e "当前已过滤设备为:\033[36m" + echo -e "\033[33m 设备mac/ip地址 设备名称\033[0m" + for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do + get_devinfo + echo -e "\033[36m$dev_mac \033[0m$dev_name" + done + for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do + get_devinfo + echo -e "\033[32m$dev_ip \033[0m$dev_name" + done + echo "-----------------------------------------------" + fi + echo -e " 1 切换为\033[33m$fw_filter_lan_over模式\033[0m" + echo -e " 2 \033[32m添加指定设备(mac地址)\033[0m" + echo -e " 3 \033[32m添加指定设备(IP地址/网段)\033[0m" + echo -e " 4 \033[36m移除指定设备\033[0m" + echo -e " 9 \033[31m清空整个列表\033[0m" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + 0) ;; + 1) + macfilter_type=$fw_filter_lan_over + setconfig macfilter_type $macfilter_type + echo "-----------------------------------------------" + echo -e "\033[32m已切换为$fw_filter_lan_type模式!\033[0m" + fw_filter_lan + ;; + 2) + add_mac + fw_filter_lan + ;; + 3) + add_ip + fw_filter_lan + ;; + 4) + del_all + fw_filter_lan + ;; + 9) + : >"$CRASHDIR"/configs/mac + : >"$CRASHDIR"/configs/ip_filter + echo "-----------------------------------------------" + echo -e "\033[31m设备列表已清空!\033[0m" + fw_filter_lan + ;; + *) + errornum + ;; + esac +} diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh new file mode 100644 index 00000000..65be54e5 --- /dev/null +++ b/scripts/menus/userguide.sh @@ -0,0 +1,127 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_MODULE_USERGUIDE_LOADED" ] && return +__IS_MODULE_USERGUIDE_LOADED=1 + +#新手引导 +userguide(){ + . "$CRASHDIR"/libs/check_dir_avail.sh + forwhat(){ + echo "-----------------------------------------------" + echo -e "\033[30;46m 欢迎使用ShellCrash新手引导! \033[0m" + echo "-----------------------------------------------" + echo -e "\033[33m请先选择你的使用环境: \033[0m" + echo -e "\033[0m(你之后依然可以在设置中更改各种配置)\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[32m路由设备配置局域网透明代理\033[0m" + echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m" + [ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + 1) + #设置运行模式 + redir_mod="混合模式" + [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ] && { + if grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then + redir_mod="Tproxy模式" + else + redir_mod="Redir模式" + fi + } + [ -z "$crashcore" ] && crashcore=meta + setconfig crashcore "$crashcore" + setconfig redir_mod "$redir_mod" + setconfig dns_mod mix + setconfig firewall_area '1' + #默认启用绕过CN-IP + setconfig cn_ip_route ON + #自动识别IPV6 + [ -n "$(ip a 2>&1 | grep -w 'inet6' | grep -E 'global' | sed 's/.*inet6.//g' | sed 's/scope.*$//g')" ] && { + setconfig ipv6_redir ON + setconfig ipv6_support ON + setconfig ipv6_dns ON + setconfig cn_ipv6_route ON + } + #设置开机启动 + [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ] && /etc/init.d/shellcrash enable + ckcmd systemctl && [ "$(cat /proc/1/comm)" = "systemd" ] && systemctl enable shellcrash.service > /dev/null 2>&1 + rm -rf "$CRASHDIR"/.dis_startup + autostart=enable + #检测IP转发 + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ];then + echo "-----------------------------------------------" + echo -e "\033[33m检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?\033[0m" + read -p "是否开启?(1/0) > " res + [ "$res" = 1 ] && { + echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf + sysctl -w net.ipv4.ip_forward=1 + } && echo "已成功开启ipv4转发,如未正常开启,请手动重启设备!" || echo "开启失败!请自行谷歌查找当前设备的开启方法!" + fi + #禁止docker启用的net.bridge.bridge-nf-call-iptables + sysctl -w net.bridge.bridge-nf-call-iptables=0 > /dev/null 2>&1 + sysctl -w net.bridge.bridge-nf-call-ip6tables=0 > /dev/null 2>&1 + ;; + 2) + setconfig redir_mod "Redir模式" + [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ] && setconfig crashcore "clash" + setconfig common_ports "OFF" + setconfig firewall_area '2' + ;; + 3) + mv -f $CFG_PATH.bak $CFG_PATH + echo -e "\033[32m脚本设置已还原!\033[0m" + echo -e "\033[33m请重新启动脚本!\033[0m" + exit 0 + ;; + *) + errornum + forwhat + ;; + esac + } + forwhat + #检测小内存模式 + dir_size=$(dir_avail "$CRASHDIR") + if [ "$dir_size" -lt 10240 ];then + echo "-----------------------------------------------" + echo -e "\033[33m检测到你的安装目录空间不足10M,是否开启小闪存模式?\033[0m" + echo -e "\033[0m开启后核心及数据库文件将被下载到内存中,这将占用一部分内存空间\033[0m" + echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m" + echo "-----------------------------------------------" + read -p "是否开启?(1/0) > " res + [ "$res" = 1 ] && { + BINDIR=/tmp/ShellCrash + setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env + } + fi + #启用推荐的自动任务配置 + . "$CRASHDIR"/menus/5_task.sh && task_recom + #小米设备软固化 + if [ "$systype" = "mi_snapshot" ];then + echo "-----------------------------------------------" + echo -e "\033[33m检测到为小米路由设备,启用软固化可防止路由升级后丢失SSH\033[0m" + read -p "是否启用软固化功能?(1/0) > " res + [ "$res" = 1 ] && mi_autoSSH + fi + #提示导入订阅或者配置文件 + [ ! -s "$CRASHDIR"/yamls/config.yaml -a ! -s "$CRASHDIR"/jsons/config.json ] && { + echo "-----------------------------------------------" + echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)" + echo -e "\033[0m你必须拥有一份配置文件才能运行服务!\033[0m" + echo "-----------------------------------------------" + read -p "现在开始导入?(1/0) > " res + [ "$res" = 1 ] && inuserguide=1 && { + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + inuserguide="" + } + } + #回到主界面 + echo "-----------------------------------------------" + echo -e "\033[36m很好!现在只需要执行启动就可以愉快的使用了!\033[0m" + echo "-----------------------------------------------" + read -p "立即启动服务?(1/0) > " res + [ "$res" = 1 ] && start_core && sleep 2 + main_menu +} From b93ac17f2efa43c5fb92604a1682646f8ece82ff Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 8 Jan 2026 20:48:10 +0800 Subject: [PATCH 005/318] refactor: replace recursion with while loop in settings --- scripts/menus/2_settings.sh | 253 ++++++++++++++++++------------------ 1 file changed, 126 insertions(+), 127 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 43be432e..4d405816 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -4,139 +4,138 @@ [ -n "$__IS_MODULE_2_SETTINGS_LOADED" ] && return __IS_MODULE_2_SETTINGS_LOADED=1 -settings() { #功能设置 - #获取设置默认显示 - [ -z "$skip_cert" ] && skip_cert=ON - [ -z "$sniffer" ] && sniffer=OFF - [ -z "$dns_mod" ] && dns_mod='redir_host' - # - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用功能设置菜单:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 路由模式设置: \033[36m$redir_mod\033[0m" - echo -e " 2 DNS设置: \033[36m$dns_mod\033[0m" - echo -e " 3 透明路由\033[32m流量过滤\033[0m" - [ "$disoverride" != "1" ] && { - echo -e " 4 跳过证书验证: \033[36m$skip_cert\033[0m" - echo -e " 5 启用域名嗅探: \033[36m$sniffer\033[0m" - echo -e " 6 自定义\033[32m端口及秘钥\033[0m" - } - echo -e " 8 ipv6设置: \033[36m$ipv6_redir\033[0m" - echo "-----------------------------------------------" - echo -e " 9 \033[31m重置/备份/还原\033[0m脚本设置" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - if [ "$USER" != "root" -a "$USER" != "admin" ]; then - echo "-----------------------------------------------" - read -p "非root用户可能无法正确配置其他模式!依然尝试吗?(1/0) > " res - [ "$res" = 1 ] && set_redir_mod - else - set_redir_mod - fi - sleep 1 - settings - ;; - 2) - . "$CRASHDIR"/menus/dns.sh && set_dns_mod - sleep 1 - settings - ;; - 3) - . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter - sleep 1 - settings - ;; - 4) +# 功能设置 +settings() { + while true; do + # 获取设置默认显示 + [ -z "$skip_cert" ] && skip_cert=ON + [ -z "$sniffer" ] && sniffer=OFF + [ -z "$dns_mod" ] && dns_mod='redir_host' + echo "-----------------------------------------------" - if [ "$skip_cert" = "OFF" ] >/dev/null 2>&1; then - echo -e "\033[33m已设为开启跳过本地证书验证!!\033[0m" - skip_cert=ON - else - echo -e "\033[33m已设为禁止跳过本地证书验证!!\033[0m" - skip_cert=OFF - fi - setconfig skip_cert $skip_cert - settings - ;; - 5) + echo -e "\033[30;47m欢迎使用功能设置菜单:\033[0m" echo "-----------------------------------------------" - if [ "$sniffer" = "OFF" ]; then - if [ "$crashcore" = "clash" ]; then - rm -rf ${TMPDIR}/CrashCore - rm -rf "$CRASHDIR"/CrashCore - rm -rf "$CRASHDIR"/CrashCore.tar.gz - crashcore=meta - setconfig crashcore $crashcore - echo "已将ShellCrash内核切换为Meta内核!域名嗅探依赖Meta或者高版本clashpre内核!" - fi - sniffer=ON - elif [ "$crashcore" = "clashpre" -a "$dns_mod" = "redir_host" ]; then - echo -e "\033[31m使用clashpre内核且开启redir-host模式时无法关闭!\033[0m" - else - sniffer=OFF - fi - setconfig sniffer $sniffer - settings - ;; - 6) - if [ -n "$(pidof CrashCore)" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" - read -p "是否停止服务?(1/0) > " res - if [ "$res" = "1" ]; then - "$CRASHDIR"/start.sh stop - set_adv_config - fi - else - set_adv_config - fi - settings - ;; - 8) - set_ipv6 - settings - ;; - 9) - echo "-----------------------------------------------" - echo -e " 1 备份脚本设置" - echo -e " 2 还原脚本设置" - echo -e " 3 重置脚本设置" - echo -e " 0 返回上级菜单" + echo -e " 1 路由模式设置: \033[36m$redir_mod\033[0m" + echo -e " 2 DNS设置: \033[36m$dns_mod\033[0m" + echo -e " 3 透明路由\033[32m流量过滤\033[0m" + [ "$disoverride" != "1" ] && { + echo -e " 4 跳过证书验证: \033[36m$skip_cert\033[0m" + echo -e " 5 启用域名嗅探: \033[36m$sniffer\033[0m" + echo -e " 6 自定义\033[32m端口及秘钥\033[0m" + } + echo -e " 8 ipv6设置: \033[36m$ipv6_redir\033[0m" + echo "-----------------------------------------------" + echo -e " 9 \033[31m重置/备份/还原\033[0m脚本设置" + echo -e " 0 返回上级菜单 \033[0m" echo "-----------------------------------------------" read -p "请输入对应数字 > " num - if [ -z "$num" ]; then - errornum - elif [ "$num" = 0 ]; then - i= - elif [ "$num" = 1 ]; then - cp -f "$CFG_PATH" "$CFG_PATH".bak - echo -e "\033[32m脚本设置已备份!\033[0m" - elif [ "$num" = 2 ]; then - if [ -f "$CFG_PATH.bak" ]; then - mv -f "$CFG_PATH" "$CFG_PATH".bak2 - mv -f "$CFG_PATH".bak "$CFG_PATH" - mv -f "$CFG_PATH".bak2 "$CFG_PATH".bak - echo -e "\033[32m脚本设置已还原!(被覆盖的配置已备份!)\033[0m" + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$USER" != "root" -a "$USER" != "admin" ]; then + echo "-----------------------------------------------" + read -p "非root用户可能无法正确配置其他模式!依然尝试吗?(1/0) > " res + [ "$res" = 1 ] && set_redir_mod else - echo -e "\033[31m找不到备份文件,请先备份脚本设置!\033[0m" + set_redir_mod fi - elif [ "$num" = 3 ]; then - mv -f "$CFG_PATH" "$CFG_PATH".bak - . "$CRASHDIR"/init.sh >/dev/null - echo -e "\033[32m脚本设置已重置!(旧文件已备份!)\033[0m" - fi - echo -e "\033[33m请重新启动脚本!\033[0m" - exit 0 - ;; - *) - errornum - ;; - esac + sleep 1 + ;; + 2) + . "$CRASHDIR"/menus/dns.sh && set_dns_mod + sleep 1 + ;; + 3) + . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter + sleep 1 + ;; + 4) + echo "-----------------------------------------------" + if [ "$skip_cert" = "OFF" ] >/dev/null 2>&1; then + echo -e "\033[33m已设为开启跳过本地证书验证!!\033[0m" + skip_cert=ON + else + echo -e "\033[33m已设为禁止跳过本地证书验证!!\033[0m" + skip_cert=OFF + fi + setconfig skip_cert $skip_cert + ;; + 5) + echo "-----------------------------------------------" + if [ "$sniffer" = "OFF" ]; then + if [ "$crashcore" = "clash" ]; then + rm -rf ${TMPDIR}/CrashCore + rm -rf "$CRASHDIR"/CrashCore + rm -rf "$CRASHDIR"/CrashCore.tar.gz + crashcore=meta + setconfig crashcore $crashcore + echo "已将ShellCrash内核切换为Meta内核!域名嗅探依赖Meta或者高版本clashpre内核!" + fi + sniffer=ON + elif [ "$crashcore" = "clashpre" -a "$dns_mod" = "redir_host" ]; then + echo -e "\033[31m使用clashpre内核且开启redir-host模式时无法关闭!\033[0m" + else + sniffer=OFF + fi + setconfig sniffer $sniffer + ;; + 6) + if [ -n "$(pidof CrashCore)" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" + read -p "是否停止服务?(1/0) > " res + if [ "$res" = "1" ]; then + "$CRASHDIR"/start.sh stop + set_adv_config + fi + else + set_adv_config + fi + ;; + 8) + set_ipv6 + ;; + 9) + echo "-----------------------------------------------" + echo -e " 1 备份脚本设置" + echo -e " 2 还原脚本设置" + echo -e " 3 重置脚本设置" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + if [ -z "$num" ]; then + errornum + elif [ "$num" = 0 ]; then + i= + elif [ "$num" = 1 ]; then + cp -f "$CFG_PATH" "$CFG_PATH".bak + echo -e "\033[32m脚本设置已备份!\033[0m" + elif [ "$num" = 2 ]; then + if [ -f "$CFG_PATH.bak" ]; then + mv -f "$CFG_PATH" "$CFG_PATH".bak2 + mv -f "$CFG_PATH".bak "$CFG_PATH" + mv -f "$CFG_PATH".bak2 "$CFG_PATH".bak + echo -e "\033[32m脚本设置已还原!(被覆盖的配置已备份!)\033[0m" + else + echo -e "\033[31m找不到备份文件,请先备份脚本设置!\033[0m" + fi + elif [ "$num" = 3 ]; then + mv -f "$CFG_PATH" "$CFG_PATH".bak + . "$CRASHDIR"/init.sh >/dev/null + echo -e "\033[32m脚本设置已重置!(旧文件已备份!)\033[0m" + fi + echo -e "\033[33m请重新启动脚本!\033[0m" + exit 0 + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } set_redir_mod() { #路由模式设置 From a8f42ba443744bf354c17f126bb2f41d2cef0f78 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 8 Jan 2026 21:52:14 +0800 Subject: [PATCH 006/318] docs: updated English version README.md Referencing the Simplified Chinese README.md file, update the English version of README.md and improve formatting and minor wording. I don't speak Mandarin, so please excuse any translation inaccuracies. --- README.md | 181 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 175 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 20137129..1e13cb76 100644 --- a/README.md +++ b/README.md @@ -3,8 +3,10 @@ -

- +

+ + + @@ -12,13 +14,180 @@ [中文](README_CN.md) | English -## Function introduction: +--- -~Convenient use in Shell environment through management script [Crash](https://github.com/Dreamacro/Crash)
~Support management of [Crash functions](https://lancellc.gitbook.io/Crash)
~Support online import [Crash](https://github.com/Dreamacro/Crash) supports sharing, subscription and configuration links
~Support configuration timing tasks, support configuration file timing updates
~Support online installation and Use local web panel to manage built-in rules
~Support routing mode, native mode and other mode switching
~Support online update
+## Overview -## Equipment support: +ShellCrash is a lightweight Shell-based management script that enables convenient use of the **Mihomo / Sing-box** core across a wide range of Linux-based systems. -~Support various router devices based on OpenWrt or secondary custom development using OpenWrt
~Support various devices running standard Linux systems (such as Debian/CenOS/Armbian, etc.)
~Compatible with Padavan firmware (conservative mode), Pandora firmware
~Compatible with various types of devices customized and developed using the Linux kernel
——————————
~For more device support, please submit an issue or go to the TG group for feedback (the device name and the device core information returned by running uname -a must be provided)
+Key features include: +- Run and manage Mihomo / Sing-box directly from a Shell environment +- Fully Shell-based management with minimal dependencies +- Import subscription links and configuration URLs online +- Schedule automated tasks, including periodic configuration updates +- Install and manage built-in rules via a local web control panel +- Switch seamlessly between multiple operating modes (e.g. router mode, local mode) +- Support in-place online updates +## Supported Platforms + +ShellCrash is designed to work across a broad range of Linux-based devices, including: + +- Routers based on **OpenWrt** or OpenWrt-derived custom firmware +- Standard Linux distributions such as **Debian**, **CentOS**, **Armbian**, and similar +- **Padavan** firmware (conservative mode), **Pandora** firmware, and **ASUS / Merlin** firmware +- Other embedded or customised systems built on the Linux kernel + +> If your device is not listed above, please open an issue or provide feedback in the Telegram group. When reporting, include the device model and the output of `uname -a`. + +## Frequently Asked Questions + +- [ShellCrash FAQ | Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) + +## Getting Started + +### Prerequisites + +- SSH access must be enabled on the target device +- Root privileges are required (Linux systems with a desktop environment may use the built-in terminal) + +Use an SSH client such as **PuTTY**, **JuiceSSH**, or the system terminal to connect to your router or Linux host. + +### Installation + +Follow the instructions below according to your device type. Execute the commands in an SSH session and follow the on-screen prompts to complete installation. + +> **Note** +> If you encounter connection failures or SSL-related errors, try switching to a different installation mirror. + +#### Standard Linux Distributions + +```sh +sudo -i # Switch to root user (enter password if prompted) +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && bash /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + +Alternative mirror: + +```sh +sudo -i +export url='https://gh.jwsc.eu.org/master' \ + && bash -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null +``` + +#### Router Devices (curl) + +```sh +# GitHub source (may require a proxy) +export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' \ + && sh -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null +``` + +Alternative mirrors: + +```sh +# jsDelivr CDN +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && sh -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null +``` + +```sh +# Author's private mirror +export url='https://gh.jwsc.eu.org/master' \ + && sh -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null +``` + +#### Router Devices (wget) + +```sh +# GitHub source (may require a proxy) +export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + +Alternative mirror: + +```sh +# jsDelivr CDN +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + +#### Legacy Devices (older wget versions) + +```sh +# HTTP mirror for legacy environments +export url='http://t.jwsc.eu.org' \ + && wget -q -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + +#### Virtual Machines + +For virtual machine deployments, using an **Alpine Linux** image is strongly recommended. + +```sh +# Install required dependencies +apk add --no-cache wget openrc ca-certificates tzdata nftables iproute2 dcron + +# Run the installer +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + +#### Docker + +An official Docker image is available: + +- [ShellCrash on Docker Hub](https://hub.docker.com/r/juewuy/shellcrash) + +### Local Installation + +If online installation is not possible, please refer to the following guide for offline or local installation: + +- [Local ShellCrash Installation Guide | Juewuy's Blog](https://juewuy.github.io/bdaz) + +## Usage + +After installation, the management script can be accessed using the following commands: + +```sh +crash # Enter interactive mode +crash -h # Display help information +``` + +## Runtime Dependencies + +Most systems already include the majority of the following dependencies. Missing low-priority components can usually be ignored if functionality is unaffected. + +| Dependency | Priority | Notes | +|---|---|---| +| curl / wget | Required | Needed for installation, updates, and node persistence | +| iptables / nftables | Important | Without these, only clean mode is available | +| crontab | Low | Required for scheduled tasks | +| net-tools | Very low | Used for detecting port usage | +| ubus / iproute-doc | Very low | Used to obtain the local host address | + +## Changelog + +- [Release History](https://github.com/juewuy/ShellCrash/releases) + +## Community + +- [Telegram Discussion Group](https://t.me/ShellClash) From a0df852611497632ca808b3e53b4dca0f9650de0 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:04:42 +0800 Subject: [PATCH 007/318] docs: enhance the table display in README_CN.md --- README_CN.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/README_CN.md b/README_CN.md index ee23aee0..55987327 100644 --- a/README_CN.md +++ b/README_CN.md @@ -131,14 +131,13 @@ crash -h #帮助列表 > 大部分的设备/系统都已经预装了以下的大部分依赖,使用时如无影响可以无视之 -```shell -curl/wget 必须 全部缺少时无法在线安装及更新,无法使用节点保存功能 -iptables/nftables 重要 缺少时只能使用纯净模式 -crontab 较低 缺少时无法启用定时任务功能 -net-tools 极低 缺少时无法正常检测端口占用 -ubus/iproute-doc 极低 缺少时无法正常获取本机host地址 -``` - +| 依赖 | 重要性 | 备注 | +|---|---|---| +| curl / wget | 必须 | 全部缺少时无法在线安装及更新,无法使用节点保存功能 | +| iptables / nftables | 重要 | 缺少时只能使用纯净模式 | +| crontab | 较低 | 缺少时无法启用定时任务功能 | +| net-tools | 极低 | 缺少时无法正常检测端口占用 | +| ubus / iproute-doc | 极低 | 缺少时无法正常获取本机host地址 | 更新日志: From 492a2fe8981762df239c29bee91648a7b79cb1e2 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 00:55:19 +0800 Subject: [PATCH 008/318] refactor: replace recursion with while loop in override --- scripts/menus/6_core_config.sh | 143 +++++++++++++++++---------------- 1 file changed, 72 insertions(+), 71 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index c23317c3..f9c721d4 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -746,77 +746,78 @@ set_singbox_adv(){ #自定义singbox配置文件 echo "-----------------------------------------------" echo -e "使用前请务必参考配置教程:\033[32;4m https://juewuy.github.io/nWTjEpkSK \033[0m" } -override(){ #配置文件覆写 - [ -z "$rule_link" ] && rule_link=1 - [ -z "$server_link" ] && server_link=1 - echo "-----------------------------------------------" - echo -e "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 自定义\033[32m端口及秘钥\033[0m" - echo -e " 2 管理\033[36m自定义规则\033[0m" - echo "$crashcore" | grep -q 'singbox' || { - echo -e " 3 管理\033[33m自定义节点\033[0m" - echo -e " 4 管理\033[36m自定义策略组\033[0m" - } - echo -e " 5 \033[32m自定义\033[0m高级功能" - [ "$disoverride" != 1 ] && echo -e " 9 \033[33m禁用\033[0m配置文件覆写" - echo "-----------------------------------------------" - [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - if [ -n "$(pidof CrashCore)" ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" - read -p "是否停止服务?(1/0) > " res - if [ "$res" = "1" ];then - "$CRASHDIR"/start.sh stop - setport - fi - else - setport - fi - override - ;; - 2) - setrules - override - ;; - 3) - setproxies - override - ;; - 4) - setgroups - override - ;; - 5) - echo "$crashcore" | grep -q 'singbox' && set_singbox_adv || set_clash_adv - sleep 3 - override - ;; - 9) - echo "-----------------------------------------------" - echo -e "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" - echo -e "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" - echo -e "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" - echo "-----------------------------------------------" - sleep 2 - read -p "我确认遇到问题可以自行解决[1/0] > " res - [ "$res" = '1' ] && { - disoverride=1 - setconfig disoverride $disoverride - echo "-----------------------------------------------" - echo -e "\033[32m设置成功!\033[0m" - } - override - ;; - *) - errornum - ;; - esac + +# 配置文件覆写 +override() { + while true; do + [ -z "$rule_link" ] && rule_link=1 + [ -z "$server_link" ] && server_link=1 + echo "-----------------------------------------------" + echo -e "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 自定义\033[32m端口及秘钥\033[0m" + echo -e " 2 管理\033[36m自定义规则\033[0m" + echo "$crashcore" | grep -q 'singbox' || { + echo -e " 3 管理\033[33m自定义节点\033[0m" + echo -e " 4 管理\033[36m自定义策略组\033[0m" + } + echo -e " 5 \033[32m自定义\033[0m高级功能" + [ "$disoverride" != 1 ] && echo -e " 9 \033[33m禁用\033[0m配置文件覆写" + echo "-----------------------------------------------" + [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$(pidof CrashCore)" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" + read -p "是否停止服务?(1/0) > " res + if [ "$res" = "1" ]; then + "$CRASHDIR"/start.sh stop + setport + fi + else + setport + fi + ;; + 2) + setrules + ;; + 3) + setproxies + ;; + 4) + setgroups + ;; + 5) + echo "$crashcore" | grep -q 'singbox' && set_singbox_adv || set_clash_adv + sleep 3 + ;; + 9) + echo "-----------------------------------------------" + echo -e "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" + echo -e "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" + echo -e "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" + echo "-----------------------------------------------" + sleep 2 + read -p "我确认遇到问题可以自行解决[1/0] > " res + [ "$res" = '1' ] && { + disoverride=1 + setconfig disoverride $disoverride + echo "-----------------------------------------------" + echo -e "\033[32m设置成功!\033[0m" + } + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } gen_link_config(){ #选择在线规则 From f150d14f80014152e905f29ac8b36033fb54f35b Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 06:34:05 +0800 Subject: [PATCH 009/318] fix: solve the recursion problem --- scripts/menus/userguide.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index 65be54e5..4c8be741 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -123,5 +123,5 @@ userguide(){ echo "-----------------------------------------------" read -p "立即启动服务?(1/0) > " res [ "$res" = 1 ] && start_core && sleep 2 - main_menu + return 0 } From b428d4c786cfc06512ec8312cf47d0fd4399d823 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 06:41:40 +0800 Subject: [PATCH 010/318] fix: potential risks of forced withdrawal midway --- scripts/menu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index c6d82d06..d1be37fd 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -109,8 +109,8 @@ ckstatus() { #脚本启动前检查 echo "-----------------------------------------------" #检查新手引导 if [ -z "$userguide" ]; then + . "$CRASHDIR"/menus/userguide.sh && userguide setconfig userguide 1 - . "$CRASHDIR"/menus/userguide.sh && userguide fi #检查执行权限 [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh From 75302adb1ce80cc13ca9cfa2dee813b8ae595135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 9 Jan 2026 09:50:39 +0800 Subject: [PATCH 011/318] =?UTF-8?q?=E8=B0=81=E8=83=BD=E6=83=B3=E5=88=B0?= =?UTF-8?q?=E6=97=A5=E6=9C=AC=E8=8A=82=E7=82=B9=E9=87=8C=E9=9D=A2=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=B7=B7=E8=BF=9B=E5=8E=BB=E4=B8=80=E4=B8=AA=E5=B0=BC?= =?UTF-8?q?=E6=97=A5=E5=88=A9=E4=BA=9A=E5=91=A2~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShellCrash_RS_Full_BanAds.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml index e959126c..c25c2ff7 100644 --- a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml +++ b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml @@ -1,4 +1,4 @@ -#ShellCrash-ruleset 全分组规则+去广告 For mihomo By Maozai 260107 +#ShellCrash-ruleset 全分组规则+去广告 For mihomo By Maozai 260109 #此版本为Maozai根据ACL4SSR规则修改优化而来,尽量在保持原有的基础上进行优化。 #数据源采用了DustinWin/ruleset_geodata和MetaCubeX/meta-rules-dat两个开源项目的规则,感谢原作者的辛勤付出。 @@ -11,12 +11,12 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, ✨ 自动选择(去高倍率), 🛠️ 手动切换, ⚖️ 负载均衡, 🚑 故障转移, 🎯 本地直连, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🛠️ 手动切换, type: select, include-all: true, proxies: [🎯 本地直连, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: ♻️ 自动选择, type: url-test, interval: 1800, tolerance: 50, include-all: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www)"} - - {name: ✨ 自动选择(去高倍率), type: url-test, interval: 1800, tolerance: 50, include-all: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www|专线|专用|高级|直连|急速|高速|高倍率|游戏|铂金|钻石|企业|VIP|Ultra|Game|IEPL|IPLC|AIA|BGP|GIA|CN2|CMI|HGC|HKT|CTM|CC|AC|x([2-9]|\\d{2,}))"} - - {name: ⚖️ 负载均衡, type: load-balance, interval: 1800, include-all: true, hidden: true} - - {name: 🚑 故障转移, type: fallback, interval: 1800, include-all: true, hidden: true} - + - {name: ✨ 自动选择(去高倍率), type: url-test, interval: 1800, tolerance: 50, include-all: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www)`(?i)(专线|专用|高级|直连|急速|高速|高倍率|游戏|铂金|钻石|企业|VIP|Ultra|Game|IEPL|IPLC|AIA|BGP|GIA|CN2|CMI|HGC|HKT|CTM|CC|AC|x([2-9]|\\d{2,}))"} + - {name: ⚖️ 负载均衡, type: load-balance, interval: 1800, include-all: true, hidden: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www)"} + - {name: 🚑 故障转移, type: fallback, interval: 1800, include-all: true, hidden: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www)"} + # - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🤖 AI节点(过滤港澳), 🎯 本地直连, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI节点(过滤港澳), type: url-test, interval: 3600, tolerance: 50, include-all: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www|🇭🇰|港|🇲🇴|澳门|hk|hongkong|hong kong)", hidden: true} + - {name: 🤖 AI节点(过滤港澳), type: url-test, interval: 3600, tolerance: 50, include-all: true, exclude-filter: "(?i)(剩余|重置|到期|防失联|官网|导航|客服|http|www)`(?i)(🇭🇰|港|🇲🇴|澳门|hk|hongkong|hong kong)", hidden: true} - {name: 🎬 奈飞视频, type: select, proxies: [🚀 节点选择, 🎬 奈飞节点, 🎯 本地直连, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🎬 奈飞节点, type: url-test, interval: 1800, tolerance: 50, include-all: true, filter: "(?i)(NF|奈飞|解锁|Netflix|NETFLIX|Media)", hidden: true} - {name: ▶️ 油管视频, type: select, proxies: [🚀 节点选择, 🎯 本地直连, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} @@ -45,9 +45,9 @@ proxy-groups: - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - - {name: 🇺🇸 美国节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|us|unitedstates|united states)"} - - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇯🇵|日|东京|大阪|埼玉|九州|jp|japan)"} + - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)", exclude-filter: "(?i)(仙台)"} + - {name: 🇺🇸 美国节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|us|unitedstates|united states)", exclude-filter: "(?i)(南美|中美|拉美|亚美尼亚|美属)"} + - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇯🇵|日|东京|大阪|埼玉|九州|仙台|jp|japan)", exclude-filter: "(?i)(尼日利亚|尼日尔|日内瓦)"} - {name: 🇪🇺 欧洲节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇪🇺|欧|德|英|法|荷|俄罗斯|西班牙|意大利|瑞士|瑞典|土耳其|挪威|芬兰|丹麦|比利时|爱尔兰|奥地利|波兰|葡萄牙|乌克兰|希腊|捷克|匈牙利|罗马尼亚|保加利亚|冰岛|克罗地亚)"} - {name: 🇰🇷 韩国节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇰🇷|韩|韓|首尔|kr|kor)"} - {name: 🇸🇬 狮城节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇸🇬|新加坡|狮城|sg|singapore)"} From 1c4b936722500c255686a659f16d8076c08fb9aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 9 Jan 2026 09:50:55 +0800 Subject: [PATCH 012/318] =?UTF-8?q?=E8=B0=81=E8=83=BD=E6=83=B3=E5=88=B0?= =?UTF-8?q?=E6=97=A5=E6=9C=AC=E8=8A=82=E7=82=B9=E9=87=8C=E9=9D=A2=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=B7=B7=E8=BF=9B=E5=8E=BB=E4=B8=80=E4=B8=AA=E5=B0=BC?= =?UTF-8?q?=E6=97=A5=E5=88=A9=E4=BA=9A=E5=91=A2~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShellCrash_RS_Full_BanAds.json | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json index d771d946..80151ae3 100644 --- a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json +++ b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json @@ -1,4 +1,4 @@ -//ShellCrash-ruleset 全分组规则+去广告 For Sing-box By Maozai 260107 +//ShellCrash-ruleset 全分组规则+去广告 For Sing-box By Maozai 260109 { "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": ["♻️ 自动选择", "✨ 自动选择(去高倍率)", "🛠️ 手动切换", "🎯 本地直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, @@ -28,18 +28,17 @@ { "tag": "🀄️ 国内流量", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", {providers_tags}] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, - - - { "tag": "🛑 广告拦截", "type": "selector", "outbounds": ["⛔ 禁止连接","🔀 规则放行", "🎯 本地直连"] }, + + { "tag": "🛑 广告拦截", "type": "selector", "outbounds": ["⛔ 禁止连接", "🔀 规则放行", "🎯 本地直连"] }, { "tag": "⛔ 禁止连接", "type": "block" }, { "tag": "🔀 规则放行", "type": "pass" }, { "tag": "🎯 本地直连", "type": "direct" }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连"] }, { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇭🇰|港|hk|hongkong|hong kong)" }, - { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇹🇼|台|tw|taiwan|tai wan)" }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|us|unitedstates|united states)" }, - { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇯🇵|日|东京|大阪|埼玉|九州|jp|japan)" }, + { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇹🇼|台|tw|taiwan|tai wan)", "exclude": "(?i)(仙台)" }, + { "tag": "🇺🇸 美国节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|us|unitedstates|united states)", "exclude": "(?i)(南美|中美|拉美|亚美尼亚|美属)" }, + { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇯🇵|日|东京|大阪|埼玉|九州|jp|japan)", "exclude": "(?i)(尼日利亚|尼日尔|日内瓦)" }, { "tag": "🇪🇺 欧洲节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇪🇺|欧|德|英|法|荷|俄罗斯|西班牙|意大利|瑞士|瑞典|土耳其|挪威|芬兰|丹麦|比利时|爱尔兰|奥地利|波兰|葡萄牙|乌克兰|希腊|捷克|匈牙利|罗马尼亚|保加利亚|冰岛|克罗地亚)" }, { "tag": "🇰🇷 韩国节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇰🇷|韩|韓|首尔|kr|kor)" }, { "tag": "🇸🇬 狮城节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇸🇬|新加坡|狮城|sg|singapore)" }, @@ -51,7 +50,7 @@ "rules": [ { "domain_suffix": ["captive.apple.com"], "outbound": "DIRECT" }, { "domain_suffix": ["kamo.teracloud.jp"], "outbound": "DIRECT" }, - + { "rule_set": ["private"], "outbound": "🎯 本地直连" }, { "rule_set": ["ads"], "outbound": "🛑 广告拦截" }, From 4003a80c56de2eda0733aa86e2379933eea84159 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 10:10:25 +0800 Subject: [PATCH 013/318] refactor: replace recursion with while loop in set_vmess --- scripts/menus/7_gateway.sh | 224 +++++++++++++++++++------------------ 1 file changed, 114 insertions(+), 110 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index de3d7c5c..40a0b2d7 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -228,104 +228,103 @@ set_bot_tg(){ ;; esac } -#自定义入站 -set_vmess(){ - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m设置的端口会添加到公网访问防火墙并自动放行!\n 脚本只提供基础功能,更多需求请用自定义配置文件功能!" - echo -e " \033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mVmess入站 \033[32m$vms_service\033[0m" - echo "-----------------------------------------------" - echo -e " 2 设置\033[36m监听端口\033[0m: \033[36m$vms_port\033[0m" - echo -e " 3 设置\033[33mWS-path(可选)\033[0m: \033[33m$vms_ws_path\033[0m" - echo -e " 4 设置\033[36m秘钥-uuid\033[0m: \033[36m$vms_uuid\033[0m" - echo -e " 5 一键生成\033[32m随机秘钥\033[0m" - echo -e " 6 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" - gen_base64 1 >/dev/null 2>&1 && - echo -e " 7 一键生成\033[32m分享链接\033[0m" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - if [ "$vms_service" = ON ];then - vms_service=OFF - setconfig vms_service "$vms_service" - else - if [ -n "$vms_port" ] && [ -n "$vms_uuid" ];then - vms_service=ON - setconfig vms_service "$vms_service" - else - echo -e "\033[31m请先完成必选设置!\033[0m" - sleep 1 - fi - fi - set_vmess - ;; - 2) - read -p "请输入端口号(输入0删除) > " text - if [ "$text" = 0 ];then - vms_port='' - setconfig vms_port "" "$GT_CFG_PATH" - elif check_port "$text"; then - vms_port="$text" - setconfig vms_port "$text" "$GT_CFG_PATH" - else - sleep 1 - fi - set_vmess - ;; - 3) - read -p "请输入ws-path路径(输入0删除) > " text - if [ "$text" = 0 ];then - vms_ws_path='' - setconfig vms_ws_path "" "$GT_CFG_PATH" - elif echo "$text" |grep -qE '^/';then - vms_ws_path="$text" - setconfig vms_ws_path "$text" "$GT_CFG_PATH" - else - echo -e "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" - sleep 1 - fi - set_vmess - ;; - 4) - read -p "请输入UUID(输入0删除) > " text - if [ "$text" = 0 ];then - vms_uuid='' - setconfig vms_uuid "" "$GT_CFG_PATH" - elif echo "$text" |grep -qiE '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$';then - vms_uuid="$text" - setconfig vms_uuid "$text" "$GT_CFG_PATH" - else - echo -e "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" - sleep 1 - fi - set_vmess - ;; - 5) - vms_uuid=$(cat /proc/sys/kernel/random/uuid) - setconfig vms_uuid "$vms_uuid" "$GT_CFG_PATH" - sleep 1 - set_vmess - ;; - 6) - read -p "请输入免流混淆host(输入0删除) > " text - if [ "$text" = 0 ];then - vms_host='' - setconfig vms_host "" "$GT_CFG_PATH" - else - vms_host="$text" - setconfig vms_host "$text" "$GT_CFG_PATH" - fi - set_vmess - ;; - 7) - read -p "请输入本机公网IP(4/6)或域名 > " host_wan - if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ];then - [ -n "$vms_ws_path" ] && vms_net=ws - vms_json=$(cat </dev/null 2>&1 && + echo -e " 7 一键生成\033[32m分享链接\033[0m" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$vms_service" = ON ]; then + vms_service=OFF + setconfig vms_service "$vms_service" + else + if [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then + vms_service=ON + setconfig vms_service "$vms_service" + else + echo -e "\033[31m请先完成必选设置!\033[0m" + sleep 1 + fi + fi + ;; + 2) + read -p "请输入端口号(输入0删除) > " text + if [ "$text" = 0 ]; then + vms_port='' + setconfig vms_port "" "$GT_CFG_PATH" + elif check_port "$text"; then + vms_port="$text" + setconfig vms_port "$text" "$GT_CFG_PATH" + else + sleep 1 + fi + ;; + 3) + read -p "请输入ws-path路径(输入0删除) > " text + if [ "$text" = 0 ]; then + vms_ws_path='' + setconfig vms_ws_path "" "$GT_CFG_PATH" + elif echo "$text" | grep -qE '^/'; then + vms_ws_path="$text" + setconfig vms_ws_path "$text" "$GT_CFG_PATH" + else + echo -e "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" + sleep 1 + fi + ;; + 4) + read -p "请输入UUID(输入0删除) > " text + if [ "$text" = 0 ]; then + vms_uuid='' + setconfig vms_uuid "" "$GT_CFG_PATH" + elif echo "$text" | grep -qiE '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'; then + vms_uuid="$text" + setconfig vms_uuid "$text" "$GT_CFG_PATH" + else + echo -e "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" + sleep 1 + fi + ;; + 5) + vms_uuid=$(cat /proc/sys/kernel/random/uuid) + setconfig vms_uuid "$vms_uuid" "$GT_CFG_PATH" + sleep 1 + ;; + 6) + read -p "请输入免流混淆host(输入0删除) > " text + if [ "$text" = 0 ]; then + vms_host='' + setconfig vms_host "" "$GT_CFG_PATH" + else + vms_host="$text" + setconfig vms_host "$text" "$GT_CFG_PATH" + fi + ;; + 7) + read -p "请输入本机公网IP(4/6)或域名 > " host_wan + if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then + [ -n "$vms_ws_path" ] && vms_net=ws + vms_json=$( + cat < Date: Fri, 9 Jan 2026 13:33:15 +0800 Subject: [PATCH 014/318] fix: correct VmRSS unit conversion and simplify logic --- scripts/menus/running_status.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/running_status.sh b/scripts/menus/running_status.sh index 38419d2c..1e0245a9 100644 --- a/scripts/menus/running_status.sh +++ b/scripts/menus/running_status.sh @@ -1,6 +1,6 @@ running_status(){ - VmRSS=$(cat /proc/$PID/status | grep -w VmRSS | awk 'unit="MB" {printf "%.2f %s\n", $2/1000, unit}') + VmRSS=$(awk '/^VmRSS:/ {printf "%.2f MB\n", ($2 * 1024) / 1000000}' /proc/$PID/status) #获取运行时长 touch "$TMPDIR"/crash_start_time #用于延迟启动的校验 start_time=$(cat "$TMPDIR"/crash_start_time) From ea0bec152ee517626a9fab6819eea282304f9033 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 19:23:32 +0800 Subject: [PATCH 015/318] refactor: replace recursion with while loop in set_redir_mod --- scripts/menus/2_settings.sh | 260 ++++++++++++++++++------------------ 1 file changed, 130 insertions(+), 130 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 4d405816..cdf446c6 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -138,149 +138,149 @@ settings() { done } -set_redir_mod() { #路由模式设置 - set_redir_config() { - setconfig redir_mod $redir_mod - setconfig dns_mod $dns_mod - echo "-----------------------------------------------" - echo -e "\033[36m已设为 $redir_mod !!\033[0m" - } - [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 - [ -z "$firewall_area" ] && firewall_area=1 - [ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' - [ -z "$redir_mod" ] && redir_mod='纯净模式' - firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area) +set_redir_config() { + setconfig redir_mod $redir_mod + setconfig dns_mod $dns_mod echo "-----------------------------------------------" - echo -e "当前路由模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m" - echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m" - echo "-----------------------------------------------" - [ $firewall_area -le 3 ] && { - echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP" - echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP" - echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP" - echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)" + echo -e "\033[36m已设为 $redir_mod !!\033[0m" +} + +# 路由模式设置 +set_redir_mod() { + while true; do + [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 + [ -z "$firewall_area" ] && firewall_area=1 + [ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' + [ -z "$redir_mod" ] && redir_mod='纯净模式' + firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area) echo "-----------------------------------------------" - } - [ "$firewall_area" = 5 ] && { - echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" - echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" + echo -e "当前路由模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m" + echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m" echo "-----------------------------------------------" - } - echo -e " 7 设置路由劫持范围: \033[47;30m$firewall_area_dsc\033[0m" - echo -e " 8 容器/虚拟机劫持: \033[47;30m$vm_redir\033[0m" - echo -e " 9 切换防火墙应用: \033[47;30m$firewall_mod\033[0m" - echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - redir_mod=Redir模式 - set_redir_config - set_redir_mod - ;; - 2) - if [ -n "$sup_tun" ]; then - redir_mod=混合模式 + [ $firewall_area -le 3 ] && { + echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP" + echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP" + echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP" + echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)" + echo "-----------------------------------------------" + } + [ "$firewall_area" = 5 ] && { + echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" + echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" + echo "-----------------------------------------------" + } + echo -e " 7 设置路由劫持范围: \033[47;30m$firewall_area_dsc\033[0m" + echo -e " 8 容器/虚拟机劫持: \033[47;30m$vm_redir\033[0m" + echo -e " 9 切换防火墙应用: \033[47;30m$firewall_mod\033[0m" + echo "-----------------------------------------------" + echo " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + redir_mod=Redir模式 set_redir_config - else - echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" - sleep 1 - fi - set_redir_mod - ;; - 3) - if [ "$firewall_mod" = "iptables" ]; then - if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then - read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res - [ "$res" = '1' ] && { - /data/shellcrash_init.sh tproxyfix + ;; + 2) + if [ -n "$sup_tun" ]; then + redir_mod=混合模式 + set_redir_config + else + echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + ;; + 3) + if [ "$firewall_mod" = "iptables" ]; then + if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then + read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res + [ "$res" = '1' ] && { + /data/shellcrash_init.sh tproxyfix + redir_mod=Tproxy模式 + set_redir_config + } + elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then redir_mod=Tproxy模式 set_redir_config - } - elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod=Tproxy模式 + else + echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + elif [ "$firewall_mod" = "nftables" ]; then + if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then + redir_mod=Tproxy模式 + set_redir_config + else + echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + fi + ;; + 4) + if [ -n "$sup_tun" ]; then + redir_mod=Tun模式 set_redir_config else - echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m" + echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" sleep 1 fi - elif [ "$firewall_mod" = "nftables" ]; then - if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then - redir_mod=Tproxy模式 - set_redir_config - else - echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m" - sleep 1 - fi - fi - set_redir_mod - ;; - 4) - if [ -n "$sup_tun" ]; then - redir_mod=Tun模式 + ;; + 5) + redir_mod='TCP旁路转发' set_redir_config - else - echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + ;; + 6) + redir_mod='T&U旁路转发' + set_redir_config + ;; + 7) + set_firewall_area + ;; + 8) + set_firewall_vm + ;; + 9) + if [ "$firewall_mod" = 'iptables' ]; then + if nft add table inet shellcrash 2>/dev/null; then + firewall_mod=nftables + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + else + echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m" + fi + elif [ "$firewall_mod" = 'nftables' ]; then + if ckcmd iptables; then + firewall_mod=iptables + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + else + echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m" + fi + else + iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables + nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables + if [ -n "$firewall_mod" ]; then + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + setconfig firewall_mod $firewall_mod + else + echo -e "\033[31m检测不到可用的防火墙应用(iptables/nftables),无法切换!\033[0m" + fi + fi sleep 1 - fi - set_redir_mod - ;; - 5) - redir_mod='TCP旁路转发' - set_redir_config - set_redir_mod - ;; - 6) - redir_mod='T&U旁路转发' - set_redir_config - set_redir_mod - ;; - 7) - set_firewall_area - set_redir_mod - ;; - 8) - set_firewall_vm - set_redir_mod - ;; - 9) - if [ "$firewall_mod" = 'iptables' ]; then - if nft add table inet shellcrash 2>/dev/null; then - firewall_mod=nftables - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - else - echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m" - fi - elif [ "$firewall_mod" = 'nftables' ]; then - if ckcmd iptables; then - firewall_mod=iptables - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - else - echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m" - fi - else - iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables - nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables - if [ -n "$firewall_mod" ]; then - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - setconfig firewall_mod $firewall_mod - else - echo -e "\033[31m检测不到可用的防火墙应用(iptables/nftables),无法切换!\033[0m" - fi - fi - sleep 1 - setconfig firewall_mod $firewall_mod - set_redir_mod - ;; - *) - errornum - ;; - esac + setconfig firewall_mod $firewall_mod + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } + set_adv_config() { #端口设置 . "$CFG_PATH" >/dev/null [ -z "$secret" ] && secret=未设置 From ad969c9f2770797da32d9ebd24f3f92bc896d1ad Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 21:44:55 +0800 Subject: [PATCH 016/318] docs: beautify the README_CN document layout --- README_CN.md | 239 ++++++++++++++++++++++++++++----------------------- 1 file changed, 133 insertions(+), 106 deletions(-) diff --git a/README_CN.md b/README_CN.md index 55987327..5c79baa1 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,10 +1,7 @@ -

-
ShellCrash
-

+

ShellCrash

- -

- +

+ @@ -12,146 +9,176 @@

-中文 | [English](README.md) +

+ 一款在 Shell 环境下便捷部署与管理 Mihomo/sing-box 内核的脚本工具 +

-功能简介: --- +

+ 简体中文 | English +

-~通过管理脚本在Shell环境下便捷使用Mihomo/Singbox内核
-~支持在Shell环境下管理
-~支持在线导入订阅及配置链接
-~支持配置定时任务,支持配置文件定时更新
-~支持在线安装及使用本地网页面板管理内置规则
-~支持路由模式、本机模式等多种模式切换
-~支持在线更新
+--- -设备支持: --- +## :rocket: 核心特性 -~支持各种基于OpenWrt或使用OpenWrt二次定制开发的路由器设备
-~支持各种运行标准Linux系统(如Debian/CenOS/Armbian等)的设备
-~兼容Padavan固件(保守模式)、潘多拉固件以及华硕/梅林固件
-~兼容各类使用Linux内核定制开发的各类型设备
+- **多内核支持**:在 Shell 环境下便捷管理及切换 **Mihomo** 与 **sing-box** 内核。 +- **灵活配置管理**:支持在线导入订阅连结及配置文件,简化配置流程。 +- **自动化任务**:支持配置定时任务,实现配置文件与规则的自动定时更新。 +- **图形化面板**:支持在线安装并使用本地 Web 面板(Dashboard),直观管理内置规则与流量。 +- **多模式运行**:支持路由模式、本机模式等多种流量转发模式切换。 +- **一键维护**:内置脚本在线更新功能,保持版本与功能的及时更迭。 -——————————
-~更多设备支持,请提issue或前往TG群反馈(需提供设备名称及运行uname -a返回的设备核心信息)
+## :computer: 设备支持 -## 常见问题: +ShellCrash 旨在兼容绝大多数基于 Linux 内核的网络设备: -[ShellCrash常见问题 | Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) +* **路由器设备**:支持各种基于 OpenWrt 或其二次开发的固件。 +* **Linux 服务器**:支持运行标准 Linux 发行版(如 Debian、CentOS、Armbian、Ubuntu 等)的设备。 +* **第三方固件**:兼容 Padavan(保守模式)、潘多拉固件以及华硕/梅林固件。 +* **各类定制设备**:兼容其他使用 Linux 内核开发的专用网络设备。 -## 使用方式: +> 更多设备支持,请提交 [Issue](https://github.com/juewuy/ShellCrash/issues) 或前往 [Telegram 群组](https://t.me/ShellClash) 反馈(请附上设备型号及 `uname -a` 命令的输出信息)。 -~确认设备已经开启SSH并获取root权限(带GUI桌面的Linux设备可使用自带终端安装)
-~使用SSH连接工具(如putty,JuiceSSH,系统自带终端等)路由器或Linux设备的SSH管理界面或终端界面 +--- -~之后在SSH界面执行目标设备对应的安装命令,并按照后续提示完成安装
+## :hammer_and_wrench: 安装指南 -### 在线安装:
+> **提示** +> 若遇到连接失败或与SSL相关问题,请尝试切换至其他安装镜站。 -(**如无法连接或出现SSL连接错误,请尝试更换各种不同的安装源!**)
+### 前置条件 +1. 确保设备已开启 **SSH** 并获得 **Root 权限**(带图形介面的 Linux 系统可直接使用终端)。 +2. 使用 SSH 工具(如 Putty、JuiceSSH、或系统自带终端)连接至设备。 -~**标准Linux设备安装:**
+### :penguin: 标准 Linux 设备安装 -```shell -sudo -i #切换到root用户,如果需要密码,请输入密码 -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && bash /tmp/install.sh && . /etc/profile &> /dev/null -``` -或者 -```shell -sudo -i #切换到root用户,如果需要密码,请输入密码 -export url='https://gh.jwsc.eu.org/master' && bash -c "$(curl -kfsSl $url/install.sh)" && . /etc/profile &> /dev/null +> 使用 wget 安装(jsDelivr CDN 源) +```sh +sudo -i # 切换至root用户,若需密码,请输入 +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && bash /tmp/install.sh \ + && . /etc/profile &> /dev/null ``` -~**路由设备使用curl安装**:
+> 或使用 curl 安装(作者私人源) -```shell -#GitHub源(可能需要代理) -export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' && sh -c "$(curl -kfsSl $url/install.sh)" && . /etc/profile &> /dev/null -``` -或者 -```shell -#jsDelivrCDN源 -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && . /etc/profile &> /dev/null -``` -或者 -```shell -#作者私人源 -export url='https://gh.jwsc.eu.org/master' && sh -c "$(curl -kfsSl $url/install.sh)" && . /etc/profile &> /dev/null +```sh +sudo -i # 切换至root用户,若需密码,请输入 +export url='https://gh.jwsc.eu.org/master' \ + && bash -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null ``` -~**路由设备使用wget安装**:
+### :satellite: 路由器设备安装 -```Shell -#GitHub源(可能需要代理) -export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && . /etc/profile &> /dev/null -``` -或者 -```shell -#jsDelivrCDN源 -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && . /etc/profile &> /dev/null +**使用 `curl` 安装:** +> GitHub 源(推荐海外环境或具备代理环境使用) +```sh +export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' \ + && sh -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null ``` -~**老旧设备使用低版本wge安装**:
+> 或 jsDelivr CDN 源 -```Shell -#作者私人http内测源 -export url='http://t.jwsc.eu.org' && wget -q -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && . /etc/profile &> /dev/null +```sh +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && sh -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null ``` -##### ~**虚拟机安装:**
+> 或作者私人源 +```sh +export url='https://gh.jwsc.eu.org/master' \ + && sh -c "$(curl -kfsSl $url/install.sh)" \ + && . /etc/profile &> /dev/null +``` -虚拟机环境强烈建议使用Alpine镜像安装
+**使用 `wget` 安装:** +> GitHub 源(推荐海外环境或具备代理环境使用) +```sh +export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` -```shell -#安装必要依赖 +> 或 jsDelivr CDN 源 +```sh +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + +### :pager: 老旧设备使用低版本 `wget` 安装 + +> 作者私人 http 内测源 +```sh +export url='http://t.jwsc.eu.org' \ + && wget -q -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null +``` + + +### :cloud: 虚拟机 +- **Alpine Linux 虚拟机**:强烈建议使用 Alpine 镜像以获得最佳兼容性 +```sh +# 安装必要依赖 apk add --no-cache wget openrc ca-certificates tzdata nftables iproute2 dcron -#执行安装命令 -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && . /etc/profile &> /dev/null + +# 执行安装命令 +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && sh /tmp/install.sh \ + && . /etc/profile &> /dev/null ``` -##### ~Docker安装:
+ ### :whale: Docker -请前往[ShellCrash官方Docker镜像](https://hub.docker.com/r/juewuy/shellcrash) + 请访问官方 Docker 镜像: -### **本地安装:**
+- [ShellCrash on Docker Hub](https://hub.docker.com/r/juewuy/shellcrash) -如使用在线安装出现问题,请参考:[本地安装ShellCrash的教程 | Juewuy's Blog](https://juewuy.github.io/bdaz) 使用本地安装!
-### 使用脚本:
+### :package: 本地安装 -安装完成管理脚本后,执行如下命令使用~ +若无法进行在线安装,请参照以下指南执行本地安装: -```Shell -crash #进入对话 -crash -h #帮助列表 +- [本地安装ShellCrash教程 | Juewuy's Blog](https://juewuy.github.io/bdaz) + +--- + +## 📖 使用说明 + +安装完成后,在终端输入以下指令即可启动管理界面: + +```shell +crash # 启动脚本交互选单 +crash -h # 查看命令帮助列表 ``` -#### **运行时的额外依赖**:
+### 运行依赖说明 +| 依赖组件 | 必要性 | 说明 | +| :--- | :--- | :--- | +| curl / wget | 必须 | 缺少时将无法进行节点保存、在线安装及更新操作 | +| iptables / nftables | 重要 | 缺少时仅能运行于纯淨模式 | +| crontab | 较低 | 缺少时定时任务功能将失效 | +| net-tools | 极低 | 缺少时无法自动检测端口占用 | +| ubus / iproute-doc | 极低 | 缺少时无法自动获取本机 Host 地址 | -> 大部分的设备/系统都已经预装了以下的大部分依赖,使用时如无影响可以无视之 +--- -| 依赖 | 重要性 | 备注 | -|---|---|---| -| curl / wget | 必须 | 全部缺少时无法在线安装及更新,无法使用节点保存功能 | -| iptables / nftables | 重要 | 缺少时只能使用纯净模式 | -| crontab | 较低 | 缺少时无法启用定时任务功能 | -| net-tools | 极低 | 缺少时无法正常检测端口占用 | -| ubus / iproute-doc | 极低 | 缺少时无法正常获取本机host地址 | +## 🔗 相关链接 +- 常见问题:[Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) +- 更新日志:[Release History](https://github.com/juewuy/ShellCrash/releases) +- 交流反馈:[Telegram 讨论组](https://t.me/ShellClash) +--- -更新日志: --- +## :airplane: 机场推荐 -### [点击查看](https://github.com/juewuy/ShellCrash/releases) - -交流反馈: --- -### [TG讨论组](https://t.me/ShellClash) - -机场推荐: --- - -#### [Dler-墙洞,多年稳定运行,功能齐全](https://dler.pro/auth/register?affid=89698)
- -#### [大米-群友力荐,流媒体解锁,月付推荐](https://1s.bigmeok.me/user#/register?code=2PuWY9I7)
+- [**Dler-墙洞**](https://dler.pro/auth/register?affid=89698),多年稳定运行,功能齐全。 +- [**大米**](https://1s.bigmeok.me/user#/register?code=2PuWY9I7),群友力荐,流媒体解锁,月付推荐。 From 263792d0cfb484717f6f6bb093e23bc3f1e67701 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 21:50:38 +0800 Subject: [PATCH 017/318] docs: change emoji to github markdown emoji markup --- README_CN.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_CN.md b/README_CN.md index 5c79baa1..1e474a08 100644 --- a/README_CN.md +++ b/README_CN.md @@ -171,7 +171,7 @@ crash -h # 查看命令帮助列表 --- -## 🔗 相关链接 +## :link: 相关链接 - 常见问题:[Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) - 更新日志:[Release History](https://github.com/juewuy/ShellCrash/releases) - 交流反馈:[Telegram 讨论组](https://t.me/ShellClash) From d4646030a52b28787e6a8e69475c6b2561c8768a Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 9 Jan 2026 22:30:28 +0800 Subject: [PATCH 018/318] refactor: replace recursion with while loop in setcustcore --- scripts/menus/9_upgrade.sh | 282 ++++++++++++++++++++----------------- 1 file changed, 150 insertions(+), 132 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index f7b8cca8..387dbe21 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -228,140 +228,158 @@ switch_core(){ #clash与singbox内核切换 } } } -getcore(){ #下载内核文件 - . "$CRASHDIR"/libs/core_tools.sh #调用下载工具 - [ -z "$crashcore" ] && crashcore=meta - [ -z "$cpucore" ] && check_cpucore - [ "$crashcore" = unknow ] && setcoretype - echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash - #获取在线内核文件 - echo "-----------------------------------------------" - echo "正在在线获取$crashcore核心文件……" - core_webget - case "$?" in - 0) - echo -e "\033[32m$crashcore核心下载成功!\033[0m" - sleep 1 - switch_core - ;; - 1) - echo -e "\033[31m核心文件下载失败!\033[0m" - [ -z "$custcorelink" ] && error_down - ;; - *) - echo -e "\033[31m核心文件下载成功但校验失败!请尝试手动指定CPU版本\033[0m" - rm -rf ${TMPDIR}/core_new - rm -rf ${TMPDIR}/core_new.tar.gz - setcpucore - ;; - esac + +# 下载内核文件 +getcore() { + # 调用下载工具 + . "$CRASHDIR"/libs/core_tools.sh + + [ -z "$crashcore" ] && crashcore=meta + [ -z "$cpucore" ] && check_cpucore + [ "$crashcore" = unknow ] && setcoretype + echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash + # 获取在线内核文件 + echo "-----------------------------------------------" + echo "正在在线获取$crashcore核心文件......" + core_webget + case "$?" in + 0) + echo -e "\033[32m$crashcore核心下载成功!\033[0m" + sleep 1 + switch_core + ;; + 1) + echo -e "\033[31m核心文件下载失败!\033[0m" + [ -z "$custcorelink" ] && error_down + ;; + *) + echo -e "\033[31m核心文件下载成功但校验失败!请尝试手动指定CPU版本\033[0m" + rm -rf ${TMPDIR}/core_new + rm -rf ${TMPDIR}/core_new.tar.gz + setcpucore + ;; + esac } -setcustcore(){ #自定义内核 - checkcustcore(){ - [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" - #通过githubapi获取内核信息 - echo -e "\033[32m正在获取内核文件链接!\033[0m" - webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url} - if [ "$?" = 0 ];then - release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') - release_date=$(cat "$TMPDIR"/github_api | grep '"published_at":' | awk -F '"' '{print $4}') - update_date=$(cat "$TMPDIR"/github_api | grep '"updated_at":' | head -n 1 | awk -F '"' '{print $4}') - [ -n "$(echo $cpucore | grep mips)" ] && cpu_type=mips || cpu_type=$cpucore - cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE "https://github.com/${project}/releases/download.*linux.*${cpu_type}.*\.gz\"$" | sed 's/"//' > "$TMPDIR"/core.list - rm -rf "$TMPDIR"/github_api - # - if [ -s "$TMPDIR"/core.list ];then - echo "-----------------------------------------------" - echo -e "内核版本:\033[36m$release_tag\033[0m" - echo -e "发布时间:\033[33m$release_date\033[0m" - echo -e "更新时间:\033[32m$update_date\033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m请确认内核信息并选择:\033[0m" - cat "$TMPDIR"/core.list | grep -oE "$release_tag.*" | sed 's|.*/||' | awk '{print " "NR" "$1}' - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) - setcustcore - ;; - [1-9]|[1-9][0-9]) - if [ "$num" -le "$(wc -l < "$TMPDIR"/core.list)" ];then - custcorelink=$(sed -n "$num"p "$TMPDIR"/core.list) - getcore - else - errornum - fi - ;; - *) - errornum - ;; - esac - else - echo -e "\033[31m找不到可用内核,可能是作者没有编译相关CPU架构版本的内核文件!\033[0m" - sleep 1 - fi - else - echo -e "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" - sleep 1 - fi - rm -rf "$TMPDIR"/core.list - } - [ -z "$cpucore" ] && check_cpucore - echo "-----------------------------------------------" - echo -e "\033[36m此处内核通常源自互联网采集,此处致谢各位开发者!\033[0m" - echo -e "\033[33m自定义内核未经过完整适配,使用出现问题请自行解决!\033[0m" - echo -e "\033[31m自定义内核已适配定时任务,但不支持小闪存模式!\033[0m" - echo -e "\033[32m如遇到网络错误请先启动ShellCrash服务!\033[0m" - [ -n "$custcore" ] && { - echo "-----------------------------------------------" - echo -e "当前内核为:\033[36m$custcore\033[0m" - } - echo "-----------------------------------------------" - echo -e "\033[33m请选择需要使用的核心!\033[0m" - echo -e "1 \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" - echo -e "2 \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" - echo -e "3 \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" - echo -e "4 Premium-2023.08.17内核(已停止维护)" - echo -e "9 \033[33m自定义内核链接 \033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 1) - project=MetaCubeX/mihomo - api_tag=latest - crashcore=meta - checkcustcore - ;; - 2) - project=vernesong/mihomo - api_tag=Prerelease-Alpha - crashcore=meta - checkcustcore - ;; - 3) - project=SagerNet/sing-box - api_tag=latest - crashcore=singbox - checkcustcore - ;; - 4) - project=juewuy/ShellCrash - api_tag=clash.premium.latest - crashcore=clashpre - checkcustcore - ;; - 9) - read -p "请输入自定义内核的链接地址(必须是以.tar.gz或.gz结尾的压缩文件) > " link - [ -n "$link" ] && custcorelink="$link" - setcoretype - getcore - ;; - *) - ;; - esac + +checkcustcore() { + [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" + # 通过githubapi获取内核信息 + echo -e "\033[32m正在获取内核文件链接!\033[0m" + webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url} + if [ "$?" = 0 ]; then + release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') + release_date=$(cat "$TMPDIR"/github_api | grep '"published_at":' | awk -F '"' '{print $4}') + update_date=$(cat "$TMPDIR"/github_api | grep '"updated_at":' | head -n 1 | awk -F '"' '{print $4}') + [ -n "$(echo $cpucore | grep mips)" ] && cpu_type=mips || cpu_type=$cpucore + cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE "https://github.com/${project}/releases/download.*linux.*${cpu_type}.*\.gz\"$" | sed 's/"//' >"$TMPDIR"/core.list + rm -rf "$TMPDIR"/github_api + + if [ -s "$TMPDIR"/core.list ]; then + echo "-----------------------------------------------" + echo -e "内核版本:\033[36m$release_tag\033[0m" + echo -e "发布时间:\033[33m$release_date\033[0m" + echo -e "更新时间:\033[32m$update_date\033[0m" + echo "-----------------------------------------------" + echo -e "\033[33m请确认内核信息并选择:\033[0m" + cat "$TMPDIR"/core.list | grep -oE "$release_tag.*" | sed 's|.*/||' | awk '{print " "NR" "$1}' + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + 0) + return 0 + ;; + [1-9] | [1-9][0-9]) + if [ "$num" -le "$(wc -l <"$TMPDIR"/core.list)" ]; then + custcorelink=$(sed -n "$num"p "$TMPDIR"/core.list) + getcore + else + errornum + sleep 1 + fi + ;; + *) + errornum + sleep 1 + ;; + esac + else + echo -e "\033[31m找不到可用内核,可能是作者没有编译相关CPU架构版本的内核文件!\033[0m" + sleep 1 + fi + else + echo -e "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + sleep 1 + fi + rm -rf "$TMPDIR"/core.list } + +# 自定义内核 +setcustcore() { + while true; do + [ -z "$cpucore" ] && check_cpucore + echo "-----------------------------------------------" + echo -e "\033[36m此处内核通常源自互联网采集,此处致谢各位开发者!\033[0m" + echo -e "\033[33m自定义内核未经过完整适配,使用出现问题请自行解决!\033[0m" + echo -e "\033[31m自定义内核已适配定时任务,但不支持小闪存模式!\033[0m" + echo -e "\033[32m如遇到网络错误请先启动ShellCrash服务!\033[0m" + [ -n "$custcore" ] && { + echo "-----------------------------------------------" + echo -e "当前内核为:\033[36m$custcore\033[0m" + } + echo "-----------------------------------------------" + echo -e "\033[33m请选择需要使用的核心!\033[0m" + echo -e "1 \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" + echo -e "2 \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" + echo -e "3 \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" + echo -e "4 Premium-2023.08.17内核(已停止维护)" + echo -e "9 \033[33m自定义内核链接 \033[0m" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + project=MetaCubeX/mihomo + api_tag=latest + crashcore=meta + checkcustcore + ;; + 2) + project=vernesong/mihomo + api_tag=Prerelease-Alpha + crashcore=meta + checkcustcore + ;; + 3) + project=SagerNet/sing-box + api_tag=latest + crashcore=singbox + checkcustcore + ;; + 4) + project=juewuy/ShellCrash + api_tag=clash.premium.latest + crashcore=clashpre + checkcustcore + ;; + 9) + read -p "请输入自定义内核的链接地址(必须是以.tar.gz或.gz结尾的压缩文件) > " link + [ -n "$link" ] && custcorelink="$link" + setcoretype + getcore + ;; + *) + errornum + sleep 1 + break + ;; + esac + done +} + setziptype(){ echo "-----------------------------------------------" echo -e "请选择内核内核分支及压缩方式:\033[0m" From 85396a6b5df68f11542b6d73b1e7a4e31fa0abeb Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 10 Jan 2026 09:04:56 +0800 Subject: [PATCH 019/318] refactor: replace recursion with while loop in setdir --- install.sh | 210 +++++++++++++++++++++++++++++------------------------ 1 file changed, 115 insertions(+), 95 deletions(-) diff --git a/install.sh b/install.sh index d8dc188c..089fccc2 100644 --- a/install.sh +++ b/install.sh @@ -100,28 +100,37 @@ gettar() { fi fi } -setdir() { - set_usb_dir() { + +set_usb_dir() { + while true; do $echo "请选择安装目录" du -hL /mnt | awk '{print " "NR" "$2" "$1}' read -p "请输入相应数字 > " num dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ -z "$dir" ]; then $echo "\033[31m输入错误!请重新设置!\033[0m" - set_usb_dir + continue fi - } - set_asus_dir() { + break 1 + done +} + +set_asus_dir() { + while true; do echo -e "请选择U盘目录" du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' read -p "请输入相应数字 > " num dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" - set_asus_dir + continue fi - } - set_cust_dir() { + break 1 + done +} + +set_cust_dir() { + while true; do echo "-----------------------------------------------" echo '可用路径 剩余空间:' df -h | awk '{print $6,$4}' | sed 1d @@ -129,112 +138,123 @@ setdir() { read -p "请输入自定义路径 > " dir if [ "$(dir_avail $dir)" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then $echo "\033[31m路径错误!请重新设置!\033[0m" - set_cust_dir + continue fi - } - echo "-----------------------------------------------" - $echo "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" - if [ -n "$systype" ]; then - [ "$systype" = "Padavan" ] && dir=/etc/storage - [ "$systype" = "mi_snapshot" ] && { - $echo "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" - [ -d /data ] && $echo " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" - [ -d /userdisk ] && $echo " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" - [ -d /data/other_vol ] && $echo " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" - $echo " 4 安装到自定义目录(不推荐,不明勿用!)" + break 1 + done +} + +setdir() { + while true; do + echo "-----------------------------------------------" + $echo "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + if [ -n "$systype" ]; then + [ "$systype" = "Padavan" ] && dir=/etc/storage + [ "$systype" = "mi_snapshot" ] && { + $echo "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" + [ -d /data ] && $echo " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" + [ -d /userdisk ] && $echo " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" + [ -d /data/other_vol ] && $echo " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" + $echo " 4 安装到自定义目录(不推荐,不明勿用!)" + $echo " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 1) + dir=/data + ;; + 2) + dir=/userdisk + ;; + 3) + dir=/data/other_vol + ;; + 4) + set_cust_dir + ;; + *) + exit 1 + ;; + esac + } + [ "$systype" = "asusrouter" ] && { + $echo "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" + $echo " 1 基于USB设备安装(限23年9月之前固件,须插入\033[31m任意\033[0mUSB设备)" + $echo " 2 基于自启脚本安装(仅支持梅林及部分非koolshare官改固件)" + $echo " 3 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" + $echo " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 1) + read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res + [ "$res" = "1" ] && set_usb_dir || dir=/jffs + usb_status=1 + ;; + 2) + $echo "如无法正常开机启动,请重新使用USB方式安装!" + sleep 2 + dir=/jffs + ;; + 3) + echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + sleep 2 + set_asus_dir + ;; + *) + exit 1 + ;; + esac + } + [ "$systype" = "ng_snapshot" ] && dir=/tmp/mnt + else + $echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" + $echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" + $echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" + $echo " 4 在\033[32m外置存储\033[0m中安装" + $echo " 5 手动设置安装目录" $echo " 0 退出安装" - echo "-----------------------------------------------" + echo "----------------------------------------------" read -p "请输入相应数字 > " num + # 设置目录 case "$num" in 1) - dir=/data + dir=/etc ;; 2) - dir=/userdisk + dir=/usr/share ;; 3) - dir=/data/other_vol + dir=~/.local/share + mkdir -p ~/.config/systemd/user ;; 4) + set_usb_dir + ;; + 5) set_cust_dir ;; *) + echo "安装已取消" exit 1 ;; esac - } - [ "$systype" = "asusrouter" ] && { - $echo "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" - $echo " 1 基于USB设备安装(限23年9月之前固件,须插入\033[31m任意\033[0mUSB设备)" - $echo " 2 基于自启脚本安装(仅支持梅林及部分非koolshare官改固件)" - $echo " 3 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res - [ "$res" = "1" ] && set_usb_dir || dir=/jffs - usb_status=1 - ;; - 2) - $echo "如无法正常开机启动,请重新使用USB方式安装!" - sleep 2 - dir=/jffs - ;; - 3) - echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" - sleep 2 - set_asus_dir - ;; - *) - exit 1 - ;; - esac - } - [ "$systype" = "ng_snapshot" ] && dir=/tmp/mnt - else - $echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" - $echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" - $echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" - $echo " 4 在\033[32m外置存储\033[0m中安装" - $echo " 5 手动设置安装目录" - $echo " 0 退出安装" - echo "----------------------------------------------" - read -p "请输入相应数字 > " num - #设置目录 - case "$num" in - 1) - dir=/etc - ;; - 2) - dir=/usr/share - ;; - 3) - dir=~/.local/share - mkdir -p ~/.config/systemd/user - ;; - 4) - set_usb_dir - ;; - 5) - set_cust_dir - ;; - *) - echo "安装已取消" - exit 1 - ;; - esac - fi + fi - if [ ! -w $dir ]; then - $echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir - else - $echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)" - read -p "确认安装?(1/0) > " res - [ "$res" = "1" ] && CRASHDIR=$dir/ShellCrash || setdir - fi + if [ ! -w $dir ]; then + $echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" + sleep 1 + else + $echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)" + read -p "确认安装?(1/0) > " res + if [ "$res" = "1" ]; then + CRASHDIR=$dir/ShellCrash + break + fi + fi + done } + install() { echo "-----------------------------------------------" echo 开始从服务器获取安装文件! From 26ae84afd59ab06e3ef4444692b84491becf8ba3 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 10 Jan 2026 09:15:59 +0800 Subject: [PATCH 020/318] docs: change emoji to GitHub emoji markup and standardize naming --- README_CN.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README_CN.md b/README_CN.md index 1e474a08..0e9281c9 100644 --- a/README_CN.md +++ b/README_CN.md @@ -10,7 +10,7 @@

- 一款在 Shell 环境下便捷部署与管理 Mihomo/sing-box 内核的脚本工具 + 一款在 Shell 环境下便捷部署与管理 mihomo/sing-box 内核的脚本工具

@@ -21,7 +21,7 @@ ## :rocket: 核心特性 -- **多内核支持**:在 Shell 环境下便捷管理及切换 **Mihomo** 与 **sing-box** 内核。 +- **多内核支持**:在 Shell 环境下便捷管理及切换 **mihomo** 与 **sing-box** 内核。 - **灵活配置管理**:支持在线导入订阅连结及配置文件,简化配置流程。 - **自动化任务**:支持配置定时任务,实现配置文件与规则的自动定时更新。 - **图形化面板**:支持在线安装并使用本地 Web 面板(Dashboard),直观管理内置规则与流量。 @@ -151,7 +151,7 @@ export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ --- -## 📖 使用说明 +## :book: 使用说明 安装完成后,在终端输入以下指令即可启动管理界面: From 24ed96a6183fd9375f6529fa8c6ee115f707a821 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 10 Jan 2026 11:28:02 +0800 Subject: [PATCH 021/318] refactor: formatter code and replace recursion with while loop in set_alias --- install.sh | 90 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 55 insertions(+), 35 deletions(-) diff --git a/install.sh b/install.sh index 089fccc2..42bd0965 100644 --- a/install.sh +++ b/install.sh @@ -12,17 +12,19 @@ echo "***********************************************" # Check available capacity dir_avail() { - df -h >/dev/null 2>&1 && h="$2" + df -h >/dev/null 2>&1 && h="$2" df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' } -ckcmd() { #检查命令 - if command -v sh >/dev/null 2>&1;then +# 检查命令 +ckcmd() { + if command -v sh >/dev/null 2>&1; then command -v "$1" >/dev/null 2>&1 else type "$1" >/dev/null 2>&1 fi } + webget() { #参数【$1】代表下载目录,【$2】代表在线地址 #参数【$3】代表输出显示,【$4】不启用重定向 @@ -44,35 +46,50 @@ webget() { [ $? -eq 0 ] && result="200" fi } + error_down() { $echo "请参考 \033[32mhttps://github.com/juewuy/ShellCrash/blob/master/README_CN.md" $echo "\033[33m使用其他安装源重新安装!\033[0m" } -#安装及初始化 +# 安装及初始化 set_alias() { - echo "-----------------------------------------------" - $echo "\033[36m请选择一个别名,或使用自定义别名:\033[0m" - echo "-----------------------------------------------" - $echo " 1 【\033[32mcrash\033[0m】" - $echo " 2 【\033[32m sc \033[0m】" - $echo " 3 【\033[32m mm \033[0m】" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字或自定义别名 > " res - case "$res" in - 1) my_alias=crash ;; - 2) my_alias=sc ;; - 3) my_alias=mm ;; - 0) echo "安装已取消"; exit 1 ;; - *) my_alias=$res ;; - esac - cmd=$(ckcmd "$my_alias" | grep 'menu.sh') - ckcmd "$my_alias" && [ -z "$cmd" ] && { - $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" - sleep 1 - set_alias - } + while true; do + echo "-----------------------------------------------" + $echo "\033[36m请选择一个别名,或使用自定义别名:\033[0m" + echo "-----------------------------------------------" + $echo " 1 【\033[32mcrash\033[0m】" + $echo " 2 【\033[32m sc \033[0m】" + $echo " 3 【\033[32m mm \033[0m】" + $echo " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字或自定义别名 > " res + case "$res" in + 0) + echo "安装已取消" + exit 1 + ;; + 1) + my_alias=crash + ;; + 2) + my_alias=sc + ;; + 3) + my_alias=mm + ;; + *) + my_alias=$res + ;; + esac + cmd=$(ckcmd "$my_alias" | grep 'menu.sh') + ckcmd "$my_alias" && [ -z "$cmd" ] && { + $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" + sleep 1 + continue + } + break + done } gettar() { @@ -83,9 +100,9 @@ gettar() { exit 1 else $CRASHDIR/start.sh stop 2>/dev/null - #解压 + # 解压 echo "-----------------------------------------------" - echo 开始解压文件! + echo "开始解压文件!" mkdir -p $CRASHDIR >/dev/null tar -zxf '/tmp/ShellCrash.tar.gz' -C $CRASHDIR/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C $CRASHDIR/ if [ -s $CRASHDIR/init.sh ]; then @@ -132,7 +149,7 @@ set_asus_dir() { set_cust_dir() { while true; do echo "-----------------------------------------------" - echo '可用路径 剩余空间:' + echo '可用路径 剩余空间:' df -h | awk '{print $6,$4}' | sed 1d echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!' read -p "请输入自定义路径 > " dir @@ -257,7 +274,7 @@ setdir() { install() { echo "-----------------------------------------------" - echo 开始从服务器获取安装文件! + echo "开始从服务器获取安装文件!" echo "-----------------------------------------------" gettar echo "-----------------------------------------------" @@ -268,6 +285,7 @@ install() { $echo "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" echo "-----------------------------------------------" } + setversion() { echo "-----------------------------------------------" $echo "\033[33m请选择想要安装的版本:\033[0m" @@ -286,7 +304,8 @@ setversion() { *) ;; esac } -#特殊固件识别及标记 + +# 特殊固件识别及标记 [ -f "/etc/storage/started_script.sh" ] && { systype=Padavan #老毛子固件 initdir='/etc/storage/started_script.sh' @@ -299,9 +318,9 @@ setversion() { [ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备 [ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot #NETGEAR设备 -#检查root权限 +# 检查root权限 if [ "$USER" != "root" -a -z "$systype" ]; then - echo 当前用户:$USER + echo "当前用户:$USER" $echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m" echo "-----------------------------------------------" read -p "仍要安装?可能会产生未知错误!(1/0) > " res @@ -311,12 +330,13 @@ fi if [ -n "$(echo $url | grep master)" ]; then setversion fi -#获取版本信息 + +# 获取版本信息 webget /tmp/version "$url/version" echooff [ "$result" = "200" ] && versionsh=$(cat /tmp/version) rm -rf /tmp/version -#输出 +# 输出 $echo "最新版本:\033[32m$versionsh\033[0m" echo "-----------------------------------------------" $echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/ShellClash \033[0m" From d708f0e1130b443a00a1fe23a723b265f7c47aeb Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 10 Jan 2026 14:03:28 +0800 Subject: [PATCH 022/318] docs(install): optimize prompts --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 42bd0965..ebcaff6c 100644 --- a/install.sh +++ b/install.sh @@ -279,8 +279,8 @@ install() { gettar echo "-----------------------------------------------" echo "ShellCrash 已经安装成功!" - [ "$profile" = "~/.bashrc" ] && echo "请执行【. ~/.bashrc > /dev/null】命令以加载环境变量!" - [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && echo "请执行【. ~/.zshrc > /dev/null】命令以加载环境变量!" + [ "$profile" = "~/.bashrc" ] && echo "请执行【. ~/.bashrc > /dev/null】命令以更新环境变量!" + [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && echo "请执行【. ~/.zshrc > /dev/null】命令以更新环境变量!" echo "-----------------------------------------------" $echo "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" echo "-----------------------------------------------" From 0712905fbef753046d65ce5a9a727dc521c4c932 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 10 Jan 2026 17:25:32 +0800 Subject: [PATCH 023/318] refactor(task_manager): replace recursion with while loop --- scripts/menus/5_task.sh | 200 +++++++++++++++++++++------------------- 1 file changed, 106 insertions(+), 94 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 6044db97..2be5d246 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -211,102 +211,114 @@ task_type(){ #任务条件选择菜单 ;; esac } -task_manager(){ #任务管理列表 - echo "-----------------------------------------------" - #抽取并生成临时列表 - croncmd -l > "$TMPDIR"/task_cronlist - cat "$TMPDIR"/task_cronlist "$CRASHDIR"/task/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | awk -F ' ' '{print $2" "$3}' > "$TMPDIR"/task_list - cat "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | awk -F ' ' '{print $2" "$3}' >> "$TMPDIR"/task_list - cat "$TMPDIR"/task_cronlist 2>/dev/null | sort -u | grep -oE " #.*" | grep -v "守护" | awk -F '#' '{print "0 旧版任务-"$2}' >> "$TMPDIR"/task_list - sed -i '/^ *$/d' "$TMPDIR"/task_list - rm -rf "$TMPDIR"/task_cronlist - #判断为空则返回 - if [ ! -s "$TMPDIR"/task_list ];then - echo -e "\033[31m当前没有可供管理的任务!\033[36m" - sleep 1 - else - echo -e "\033[33m已添加的任务:\033[0m" - echo "-----------------------------------------------" - cat "$TMPDIR"/task_list | awk '{print " " NR " " $2}' - echo "-----------------------------------------------" - echo -e " a 清空旧版任务" - echo -e " d 清空任务列表" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - a) - task_del "#" - echo -e "\033[31m旧版任务已清空!\033[36m" - sleep 1 - ;; - d) - task_del "task.sh" - echo -e "\033[31m全部任务已清空!\033[36m" - sleep 1 - ;; - [1-9]|[1-9][0-9]) - task_txt=$(sed -n "$num p" "$TMPDIR"/task_list) - task_id=$(echo $task_txt | awk '{print $1}') - if [ "$task_id" = 0 ];then - read -p "旧版任务不支持管理,是否移除?(1/0) > " res - [ "$res" = 1 ] && { - cronname=$(echo $task_txt | awk -F '-' '{print $2}') - croncmd -l > $TMPDIR/conf && sed -i "/$cronname/d" $TMPDIR/conf && croncmd $TMPDIR/conf - sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null - rm -f $TMPDIR/conf - } - else - 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}') - echo "-----------------------------------------------" - echo -e "当前任务为:\033[36m $task_des\033[0m" - echo -e " 1 \033[33m修改\033[0m当前任务" - echo -e " 2 \033[31m删除\033[0m当前任务" - echo -e " 3 \033[32m立即执行\033[0m一次" - echo -e " 4 查看\033[33m执行记录\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请选择需要执行的操作 > " num - case "$num" in - 0) - ;; - 1) - task_type && task_del $task_des - ;; - 2) - task_del $task_des - ;; - 3) - 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='执行失败!' - echo -e "\033[33m任务【$task_des】$task_res\033[0m" - sleep 1 - ;; - 4) - echo "-----------------------------------------------" - if [ -n "$(cat "$TMPDIR"/ShellCrash.log | grep "$task_name")" ];then - cat "$TMPDIR"/ShellCrash.log | grep "$task_name" - else - echo -e "\033[31m未找到相关执行记录!\033[0m" - fi - sleep 1 - ;; - *) - errornum - ;; - esac - fi - task_manager - ;; - *) - errornum - ;; - esac - fi +# 任务管理列表 +task_manager() { + while true; do + echo "-----------------------------------------------" + # 抽取并生成临时列表 + croncmd -l >"$TMPDIR"/task_cronlist + cat "$TMPDIR"/task_cronlist "$CRASHDIR"/task/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | awk -F ' ' '{print $2" "$3}' >"$TMPDIR"/task_list + cat "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | awk -F ' ' '{print $2" "$3}' >>"$TMPDIR"/task_list + cat "$TMPDIR"/task_cronlist 2>/dev/null | sort -u | grep -oE " #.*" | grep -v "守护" | awk -F '#' '{print "0 旧版任务-"$2}' >>"$TMPDIR"/task_list + sed -i '/^ *$/d' "$TMPDIR"/task_list + rm -rf "$TMPDIR"/task_cronlist + # 判断为空则返回 + if [ ! -s "$TMPDIR"/task_list ]; then + echo -e "\033[31m当前没有可供管理的任务!\033[36m" + sleep 1 + break + else + echo -e "\033[33m已添加的任务:\033[0m" + echo "-----------------------------------------------" + cat "$TMPDIR"/task_list | awk '{print " " NR " " $2}' + echo "-----------------------------------------------" + echo -e " a 清空旧版任务" + echo -e " d 清空任务列表" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + a) + task_del "#" + echo -e "\033[31m旧版任务已清空!\033[36m" + sleep 1 + break + ;; + d) + task_del "task.sh" + echo -e "\033[31m全部任务已清空!\033[36m" + sleep 1 + break + ;; + [1-9] | [1-9][0-9]) + task_txt=$(sed -n "$num p" "$TMPDIR"/task_list) + task_id=$(echo $task_txt | awk '{print $1}') + if [ "$task_id" = 0 ]; then + read -p "旧版任务不支持管理,是否移除?(1/0) > " res + [ "$res" = 1 ] && { + cronname=$(echo $task_txt | awk -F '-' '{print $2}') + croncmd -l >$TMPDIR/conf && sed -i "/$cronname/d" $TMPDIR/conf && croncmd $TMPDIR/conf + sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null + rm -f $TMPDIR/conf + } + break + else + 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}') + echo "-----------------------------------------------" + echo -e "当前任务为:\033[36m $task_des\033[0m" + echo -e " 1 \033[33m修改\033[0m当前任务" + echo -e " 2 \033[31m删除\033[0m当前任务" + echo -e " 3 \033[32m立即执行\033[0m一次" + echo -e " 4 查看\033[33m执行记录\033[0m" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请选择需要执行的操作 > " num + case "$num" in + "" | 0) + return 0 + ;; + 1) + task_type && task_del $task_des + ;; + 2) + task_del $task_des + ;; + 3) + 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='执行失败!' + echo -e "\033[33m任务【$task_des】$task_res\033[0m" + sleep 1 + ;; + 4) + echo "-----------------------------------------------" + if [ -n "$(cat "$TMPDIR"/ShellCrash.log | grep "$task_name")" ]; then + cat "$TMPDIR"/ShellCrash.log | grep "$task_name" + else + echo -e "\033[31m未找到相关执行记录!\033[0m" + fi + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + fi + ;; + *) + errornum + sleep 1 + break + ;; + esac + fi + done } + task_recom(){ #任务推荐 echo "-----------------------------------------------" echo -e "\033[32m启用推荐的自动任务配置?这包括:\033[0m" From ac60ba8001fdb9f1f9e548d870caad9db26659e1 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Sat, 10 Jan 2026 22:05:57 +0800 Subject: [PATCH 024/318] =?UTF-8?q?=E5=85=A8=E5=88=86=E7=BB=84=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E5=A5=88=E9=A3=9E=E5=92=8C=E6=B2=B9=E7=AE=A1=E8=A7=84?= =?UTF-8?q?=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_RS_Full.yaml | 2 ++ .../DustinWin_RS_Full_NoAds.yaml | 29 +++++++++++++++++++ .../singbox_providers/DustinWin_RS_Full.json | 29 +++++++++++++++++++ .../DustinWin_RS_Full_NoAds.json | 29 +++++++++++++++++++ 4 files changed, 89 insertions(+) diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index 716e1c46..2d7fe738 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -8,6 +8,8 @@ proxy-groups: - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} + - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🎮 游戏平台, type: select, proxies: [🚀 节点选择, 🎯 全球直连, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 65b1112a..c3620ca9 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -7,6 +7,8 @@ proxy-groups: - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} + - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🎮 游戏平台, type: select, proxies: [🚀 节点选择, 🎯 全球直连, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} @@ -77,6 +79,22 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" interval: 86400 + netflix: + type: http + behavior: domain + format: mrs + path: ./ruleset/netflix.mrs + url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflix.mrs" + interval: 86400 + + youtube: + type: http + behavior: domain + format: mrs + path: ./ruleset/youtube.mrs + url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/youtube.mrs" + interval: 86400 + media: type: http behavior: domain @@ -141,6 +159,14 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 + netflixip: + type: http + behavior: domain + format: mrs + path: ./ruleset/netflixip.mrs + url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflixip.mrs" + interval: 86400 + mediaip: type: http behavior: ipcidr @@ -172,6 +198,8 @@ rules: - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 - RULE-SET,games-cn,🎮 游戏服务 + - RULE-SET,netflix,🎥 奈飞视频 + - RULE-SET,youtube,📹 油管视频 - RULE-SET,media,🌍 国外媒体 - RULE-SET,games,🎮 游戏平台 - RULE-SET,ai,🤖 AI 平台 @@ -180,6 +208,7 @@ rules: - RULE-SET,cn,🛡️ 直连域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 直连 IP + - RULE-SET,netflixip,🎥 奈飞视频 - RULE-SET,mediaip,🌍 国外媒体 - RULE-SET,gamesip,🎮 游戏平台 - RULE-SET,telegramip,📲 电报消息,no-resolve diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index d2254cbd..69ff4d98 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -9,6 +9,8 @@ { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🎮 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, @@ -39,6 +41,8 @@ { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, { "rule_set": [ "games-cn" ], "outbound": "🎮 游戏服务" }, + { "rule_set": [ "netflix" ], "outbound": "🎥 奈飞视频" }, + { "rule_set": [ "youtube" ], "outbound": "📹 油管视频" }, { "rule_set": [ "media" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "games" ], "outbound": "🎮 游戏平台" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, @@ -50,6 +54,7 @@ { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, + { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "gamesip" ], "outbound": "🎮 游戏平台" } ], @@ -110,6 +115,22 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games-cn.srs", "download_detour": "DIRECT" }, + { + "tag": "netflix", + "type": "remote", + "format": "binary", + "path": "./ruleset/netflix.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/netflix.srs", + "download_detour": "DIRECT" + }, + { + "tag": "youtube", + "type": "remote", + "format": "binary", + "path": "./ruleset/youtube.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/youtube.srs", + "download_detour": "DIRECT" + }, { "tag": "media", "type": "remote", @@ -174,6 +195,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" }, + { + "tag": "netflixip", + "type": "remote", + "format": "binary", + "path": "./ruleset/netflixip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/netflixip.srs", + "download_detour": "DIRECT" + }, { "tag": "mediaip", "type": "remote", diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index 4cae3ed6..657e3ba5 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -9,6 +9,8 @@ { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🎮 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, @@ -36,6 +38,8 @@ { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, { "rule_set": [ "games-cn" ], "outbound": "🎮 游戏服务" }, + { "rule_set": [ "netflix" ], "outbound": "🎥 奈飞视频" }, + { "rule_set": [ "youtube" ], "outbound": "📹 油管视频" }, { "rule_set": [ "media" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "games" ], "outbound": "🎮 游戏平台" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, @@ -47,6 +51,7 @@ { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, + { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "gamesip" ], "outbound": "🎮 游戏平台" } ], @@ -99,6 +104,22 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games-cn.srs", "download_detour": "DIRECT" }, + { + "tag": "netflix", + "type": "remote", + "format": "binary", + "path": "./ruleset/netflix.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/netflix.srs", + "download_detour": "DIRECT" + }, + { + "tag": "youtube", + "type": "remote", + "format": "binary", + "path": "./ruleset/youtube.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/youtube.srs", + "download_detour": "DIRECT" + }, { "tag": "media", "type": "remote", @@ -163,6 +184,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" }, + { + "tag": "netflixip", + "type": "remote", + "format": "binary", + "path": "./ruleset/netflixip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/netflixip.srs", + "download_detour": "DIRECT" + }, { "tag": "mediaip", "type": "remote", From d79783837838c5436edd0000d0a94eb15d99e0e4 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 11 Jan 2026 01:37:56 +0800 Subject: [PATCH 025/318] refactor(gateway): replace recursion with while loop --- scripts/menus/7_gateway.sh | 130 +++++++++++++++++++------------------ 1 file changed, 66 insertions(+), 64 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 40a0b2d7..05e140a7 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -8,72 +8,74 @@ __IS_MODULE_7_GATEWAY_LOADED=1 . "$CRASHDIR"/menus/check_port.sh . "$CRASHDIR"/libs/gen_base64.sh -#访问与控制主菜单 -gateway(){ - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用访问与控制菜单:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" - echo -e " 2 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" - echo -e " 3 配置\033[36mDDNS自动域名\033[0m" - [ "$disoverride" != "1" ] && { - echo -e " 4 自定义\033[33m公网Vmess入站\033[0m节点 \033[32m$vms_service\033[0m" - echo -e " 5 自定义\033[33m公网ShadowSocks入站\033[0m节点 \033[32m$sss_service\033[0m" - echo -e " 6 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" - echo -e " 7 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" - } - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) +# 访问与控制主菜单 +gateway() { + while true; do echo "-----------------------------------------------" - if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - read -p "需要先停止服务,是否继续?(1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_fw_wan - else - set_fw_wan - fi - gateway - ;; - 2) - set_bot_tg - gateway - ;; - 3) - . "$CRASHDIR"/menus/ddns.sh && ddns_menu - gateway - ;; - 4) - set_vmess - gateway - ;; - 5) - set_shadowsocks - gateway - ;; - 6) - if echo "$crashcore" | grep -q 'sing';then - set_tailscale - else - echo -e "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" - sleep 1 - fi - gateway - ;; - 7) - if echo "$crashcore" | grep -q 'sing';then - set_wireguard - else - echo -e "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" - sleep 1 - fi - gateway - ;; - *) errornum ;; - esac + echo -e "\033[30;47m欢迎使用访问与控制菜单:\033[0m" + echo "-----------------------------------------------" + echo -e " 1 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" + echo -e " 2 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" + echo -e " 3 配置\033[36mDDNS自动域名\033[0m" + [ "$disoverride" != "1" ] && { + echo -e " 4 自定义\033[33m公网Vmess入站\033[0m节点 \033[32m$vms_service\033[0m" + echo -e " 5 自定义\033[33m公网ShadowSocks入站\033[0m节点 \033[32m$sss_service\033[0m" + echo -e " 6 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" + echo -e " 7 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" + } + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + echo "-----------------------------------------------" + if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then + read -p "需要先停止服务,是否继续?(1/0) > " res + [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_fw_wan + else + set_fw_wan + fi + ;; + 2) + set_bot_tg + ;; + 3) + . "$CRASHDIR"/menus/ddns.sh && ddns_menu + ;; + 4) + set_vmess + ;; + 5) + set_shadowsocks + ;; + 6) + if echo "$crashcore" | grep -q 'sing'; then + set_tailscale + else + echo -e "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + sleep 1 + fi + ;; + 7) + if echo "$crashcore" | grep -q 'sing'; then + set_wireguard + else + echo -e "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + sleep 1 + fi + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } + #公网防火墙 set_fw_wan() { [ -z "$fw_wan" ] && fw_wan=ON From da11c319b878a195d456d76e049c55b91c07e569 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 11 Jan 2026 01:45:10 +0800 Subject: [PATCH 026/318] refactor(set_ipv6): replace recursion with while loop --- scripts/menus/2_settings.sh | 70 ++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 32 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index cdf446c6..31fbb2ec 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -489,36 +489,42 @@ set_firewall_vm(){ setconfig vm_redir $vm_redir setconfig vm_ipv4 "'$vm_ipv4'" } -set_ipv6() { #ipv6设置 - [ -z "$ipv6_redir" ] && ipv6_redir=OFF - [ -z "$ipv6_dns" ] && ipv6_dns=ON - echo "-----------------------------------------------" - echo -e " 1 ipv6透明路由: \033[36m$ipv6_redir\033[0m ——劫持ipv6流量" - [ "$disoverride" != "1" ] && echo -e " 2 ipv6-DNS解析: \033[36m$ipv6_dns\033[0m ——决定内置DNS是否返回ipv6地址" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - if [ "$ipv6_redir" = "OFF" ]; then - ipv6_support=ON - ipv6_redir=ON - sleep 2 - else - ipv6_redir=OFF - fi - setconfig ipv6_redir $ipv6_redir - setconfig ipv6_support $ipv6_support - set_ipv6 - ;; - 2) - [ "$ipv6_dns" = "OFF" ] && ipv6_dns=ON || ipv6_dns=OFF - setconfig ipv6_dns $ipv6_dns - set_ipv6 - ;; - *) - errornum - ;; - esac + +# ipv6设置 +set_ipv6() { + while true; do + [ -z "$ipv6_redir" ] && ipv6_redir=OFF + [ -z "$ipv6_dns" ] && ipv6_dns=ON + echo "-----------------------------------------------" + echo -e " 1 ipv6透明路由: \033[36m$ipv6_redir\033[0m ——劫持ipv6流量" + [ "$disoverride" != "1" ] && echo -e " 2 ipv6-DNS解析: \033[36m$ipv6_dns\033[0m ——决定内置DNS是否返回ipv6地址" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$ipv6_redir" = "OFF" ]; then + ipv6_support=ON + ipv6_redir=ON + sleep 2 + else + ipv6_redir=OFF + fi + setconfig ipv6_redir $ipv6_redir + setconfig ipv6_support $ipv6_support + ;; + 2) + [ "$ipv6_dns" = "OFF" ] && ipv6_dns=ON || ipv6_dns=OFF + setconfig ipv6_dns $ipv6_dns + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } From a544637651557d2d39921e201297f154735b6b46 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 11 Jan 2026 09:24:13 +0800 Subject: [PATCH 027/318] refactor(setproviders): replace recursion with while loop --- scripts/menus/6_core_config.sh | 340 ++++++++++++++++----------------- 1 file changed, 170 insertions(+), 170 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index f9c721d4..4594a909 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -535,176 +535,176 @@ EOF rm -rf "$TMPDIR"/providers fi } -setproviders(){ #自定义providers - . "$CRASHDIR"/libs/set_cron.sh - . "$CRASHDIR"/libs/web_get_bin.sh - #获取模版名称 - if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then - provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') - else - provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') - [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file - fi - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理与生成自定义的providers服务商\033[0m" - echo -e "\033[33m支持在线及本地的Yaml格式配置导入\033[0m" - [ -s "$CRASHDIR"/configs/providers.cfg ] && { - echo "-----------------------------------------------" - echo -e "\033[36m输入对应数字可管理providers服务商\033[0m" - cat "$CRASHDIR"/configs/providers.cfg | awk -F "#" '{print " "NR" "$1" "$2}' - } - echo -e " d \033[31m清空\033[0mproviders服务商列表" - echo -e " e \033[33m清理\033[0mproviders目录文件" - echo "-----------------------------------------------" - echo -e "\033[36m按照a-b-c的顺序即可完成配置生成\033[0m" - echo -e " a \033[36m添加\033[0mproviders服务商/节点" - echo -e " b 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" - echo -e " c \033[32m生成\033[0m基于providers的配置文件" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应字母或数字 > " num - case "$num" in - 0) - ;; - [1-9]|[1-9][0-9]) - provider_name=$(sed -n "$num p" "$CRASHDIR"/configs/providers.cfg | awk '{print $1}') - provider_url=$(sed -n "$num p" "$CRASHDIR"/configs/providers.cfg | awk '{print $2}') - if [ -z "$provider_name" ];then - errornum - else - echo "-----------------------------------------------" - echo -e " 1 修改名称:\033[36m$provider_name\033[0m" - echo -e " 2 修改链接地址:\033[32m$provider_url\033[0m" - echo -e " 3 生成\033[33m仅包含此链接\033[0m的配置文件" - echo -e " 4 \033[31m移除此链接\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请选择需要执行的操作 > " num - case "$num" in - 0) - ;; - 1) - read -p "请输入名称或者代号(不可重复,不支持纯数字) > " name - if [ -n "$name" ] && [ -z "$(echo "$name" | grep -E '^[0-9]+$')" ] && ! grep -q "$name" "$CRASHDIR"/configs/providers.cfg;then - sed -i "s|$provider_name $provider_url|$name $provider_url|" "$CRASHDIR"/configs/providers.cfg - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - ;; - 2) - read -p "请输入链接地址或本地相对路径 > " link - if [ -n "$(echo $link | grep -E '.*\..*|^\./')" ] && [ -z "$(grep "$link" "$CRASHDIR"/configs/providers.cfg)" ];then - link=$(echo $link | sed 's/\&/\\\&/g') #特殊字符添加转义 - sed -i "s|$provider_name $provider_url|$provider_name $link|" "$CRASHDIR"/configs/providers.cfg - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - ;; - 3) - gen_${coretype}_providers $provider_name $provider_url - ;; - 4) - sed -i "/^$provider_name /d" "$CRASHDIR"/configs/providers.cfg - ;; - *) - errornum - ;; - esac - sleep 1 - fi - setproviders - ;; - a) - echo "-----------------------------------------------" - echo -e "支持填写在线的\033[32mYClash订阅地址\033[0m或者\033[32m本地Clash配置文件\033[0m" - echo -e "本地配置文件请放在\033[32m$CRASHDIR\033[0m目录下,并填写相对路径如【\033[32m./providers/test.yaml\033[0m】" - echo "-----------------------------------------------" - read -p "请输入链接地址或本地相对路径 > " link - link=$(echo $link | sed 's/ //g') #去空格 - [ -n "$(echo $link | grep -E '.*\..*|^\./')" ] && { - read -p "请输入名称或代号(不可重复,不支持纯数字) > " name - name=$(echo $name | sed 's/ //g') - [ -n "$name" ] && [ -z "$(echo "$name" | grep -E '^[0-9]+$')" ] && ! grep -q "$name" "$CRASHDIR"/configs/providers.cfg && { - echo "-----------------------------------------------" - echo -e "名称:\033[36m$name\033[0m" - echo -e "链接地址/路径:\033[32m$link\033[0m" - read -p "确认添加?(1/0) > " res - [ "$res" = 1 ] && { - echo "$name $link" >> "$CRASHDIR"/configs/providers.cfg - echo -e "\033[32mproviders已添加!\033[0m" - } - } - } - [ "$?" != 0 ] && echo -e "\033[31m输入错误,操作已取消!\033[0m" - sleep 1 - setproviders - ;; - c) - echo "-----------------------------------------------" - if [ -s "$CRASHDIR"/configs/providers.cfg ];then - echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" - echo "-----------------------------------------------" - read -p "确认生成${coretype}配置文件?(1/0) > " res - [ "$res" = "1" ] && { - gen_${coretype}_providers - } - else - echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" - sleep 1 - fi - setproviders - ;; - b) - echo "-----------------------------------------------" - echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m" - echo -e "\033[33m请选择在线模版:\033[0m" - echo "-----------------------------------------------" - cat "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print " "NR" "$1}' - echo "-----------------------------------------------" - echo -e " a 使用\033[36m本地模版\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应字母或数字 > " num - case "$num" in - 0) - ;; - a) - read -p "请输入模版的路径(绝对路径) > " dir - if [ -s $dir ];then - provider_temp_file=$dir - setconfig provider_temp_${coretype} $provider_temp_file - echo -e "\033[32m设置成功!\033[0m" - else - echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m" - fi - sleep 1 - ;; - *) - provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${coretype}_providers.list 2>/dev/null | awk '{print $2}') - if [ -z "$provider_temp_file" ];then - errornum - else - setconfig provider_temp_${coretype} $provider_temp_file - fi - ;; - esac - setproviders - ;; - d) - read -p "确认清空全部链接?(1/0) > " res - [ "$res" = "1" ] && rm -rf "$CRASHDIR"/configs/providers.cfg - setproviders - ;; - e) - echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" - read -p "是否继续?(1/0) > " res - [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers - setproviders - ;; - *) - errornum - ;; - esac + +# 自定义providers +setproviders() { + . "$CRASHDIR"/libs/set_cron.sh + . "$CRASHDIR"/libs/web_get_bin.sh + while true; do + # 获取模版名称 + if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then + provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') + else + provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') + provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') + [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file + fi + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理与生成自定义的providers服务商\033[0m" + echo -e "\033[33m支持在线及本地的Yaml格式配置导入\033[0m" + [ -s "$CRASHDIR"/configs/providers.cfg ] && { + echo "-----------------------------------------------" + echo -e "\033[36m输入对应数字可管理providers服务商\033[0m" + cat "$CRASHDIR"/configs/providers.cfg | awk -F "#" '{print " "NR" "$1" "$2}' + } + echo -e " d \033[31m清空\033[0mproviders服务商列表" + echo -e " e \033[33m清理\033[0mproviders目录文件" + echo "-----------------------------------------------" + echo -e "\033[36m按照a-b-c的顺序即可完成配置生成\033[0m" + echo -e " a \033[36m添加\033[0mproviders服务商/节点" + echo -e " b 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" + echo -e " c \033[32m生成\033[0m基于providers的配置文件" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应字母或数字 > " num + case "$num" in + "" | 0) + break + ;; + [1-9] | [1-9][0-9]) + provider_name=$(sed -n "$num p" "$CRASHDIR"/configs/providers.cfg | awk '{print $1}') + provider_url=$(sed -n "$num p" "$CRASHDIR"/configs/providers.cfg | awk '{print $2}') + if [ -z "$provider_name" ]; then + errornum + else + echo "-----------------------------------------------" + echo -e " 1 修改名称:\033[36m$provider_name\033[0m" + echo -e " 2 修改链接地址:\033[32m$provider_url\033[0m" + echo -e " 3 生成\033[33m仅包含此链接\033[0m的配置文件" + echo -e " 4 \033[31m移除此链接\033[0m" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请选择需要执行的操作 > " num + case "$num" in + "" | 0) ;; + 1) + read -p "请输入名称或者代号(不可重复,不支持纯数字) > " name + if [ -n "$name" ] && [ -z "$(echo "$name" | grep -E '^[0-9]+$')" ] && ! grep -q "$name" "$CRASHDIR"/configs/providers.cfg; then + sed -i "s|$provider_name $provider_url|$name $provider_url|" "$CRASHDIR"/configs/providers.cfg + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + ;; + 2) + read -p "请输入链接地址或本地相对路径 > " link + if [ -n "$(echo $link | grep -E '.*\..*|^\./')" ] && [ -z "$(grep "$link" "$CRASHDIR"/configs/providers.cfg)" ]; then + link=$(echo $link | sed 's/\&/\\\&/g') #特殊字符添加转义 + sed -i "s|$provider_name $provider_url|$provider_name $link|" "$CRASHDIR"/configs/providers.cfg + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + ;; + 3) + gen_${coretype}_providers $provider_name $provider_url + ;; + 4) + sed -i "/^$provider_name /d" "$CRASHDIR"/configs/providers.cfg + ;; + *) + errornum + ;; + esac + fi + sleep 1 + ;; + a) + echo "-----------------------------------------------" + echo -e "支持填写在线的\033[32mYClash订阅地址\033[0m或者\033[32m本地Clash配置文件\033[0m" + echo -e "本地配置文件请放在\033[32m$CRASHDIR\033[0m目录下,并填写相对路径如【\033[32m./providers/test.yaml\033[0m】" + echo "-----------------------------------------------" + read -p "请输入链接地址或本地相对路径 > " link + link=$(echo $link | sed 's/ //g') #去空格 + [ -n "$(echo $link | grep -E '.*\..*|^\./')" ] && { + read -p "请输入名称或代号(不可重复,不支持纯数字) > " name + name=$(echo $name | sed 's/ //g') + [ -n "$name" ] && [ -z "$(echo "$name" | grep -E '^[0-9]+$')" ] && ! grep -q "$name" "$CRASHDIR"/configs/providers.cfg && { + echo "-----------------------------------------------" + echo -e "名称:\033[36m$name\033[0m" + echo -e "链接地址/路径:\033[32m$link\033[0m" + read -p "确认添加?(1/0) > " res + [ "$res" = 1 ] && { + echo "$name $link" >>"$CRASHDIR"/configs/providers.cfg + echo -e "\033[32mproviders已添加!\033[0m" + } + } + } + [ "$?" != 0 ] && echo -e "\033[31m输入错误,操作已取消!\033[0m" + sleep 1 + ;; + c) + echo "-----------------------------------------------" + if [ -s "$CRASHDIR"/configs/providers.cfg ]; then + echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" + echo "-----------------------------------------------" + read -p "确认生成${coretype}配置文件?(1/0) > " res + [ "$res" = "1" ] && { + gen_${coretype}_providers + } + else + echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" + sleep 1 + fi + ;; + b) + echo "-----------------------------------------------" + echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m" + echo -e "\033[33m请选择在线模版:\033[0m" + echo "-----------------------------------------------" + cat "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print " "NR" "$1}' + echo "-----------------------------------------------" + echo -e " a 使用\033[36m本地模版\033[0m" + echo "-----------------------------------------------" + read -p "请输入对应字母或数字 > " num + case "$num" in + "" | 0) ;; + a) + read -p "请输入模版的路径(绝对路径) > " dir + if [ -s $dir ]; then + provider_temp_file=$dir + setconfig provider_temp_${coretype} $provider_temp_file + echo -e "\033[32m设置成功!\033[0m" + else + echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m" + fi + sleep 1 + ;; + *) + provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${coretype}_providers.list 2>/dev/null | awk '{print $2}') + if [ -z "$provider_temp_file" ]; then + errornum + sleep 1 + else + setconfig provider_temp_${coretype} $provider_temp_file + fi + ;; + esac + ;; + d) + read -p "确认清空全部链接?(1/0) > " res + [ "$res" = "1" ] && rm -rf "$CRASHDIR"/configs/providers.cfg + ;; + e) + echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" + read -p "是否继续?(1/0) > " res + [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } set_clash_adv(){ #自定义clash高级规则 From 7676a3f607afed074c24d1b49ad0ba93f27b6244 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 11 Jan 2026 12:51:18 +0800 Subject: [PATCH 028/318] refactor(set_adv_config): replace recursion with while loop --- scripts/menus/2_settings.sh | 231 ++++++++++++++++++------------------ 1 file changed, 118 insertions(+), 113 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 31fbb2ec..f2c22d41 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -281,125 +281,130 @@ set_redir_mod() { done } -set_adv_config() { #端口设置 - . "$CFG_PATH" >/dev/null - [ -z "$secret" ] && secret=未设置 - [ -z "$table" ] && table=100 - [ -z "$authentication" ] && auth=未设置 || auth=****** - inputport() { - read -p "请输入端口号(1-65535) > " portx - . "$CRASHDIR"/menus/check_port.sh #加载测试函数 - if check_port "$portx"; then - setconfig "$xport" "$portx" - echo -e "\033[32m设置成功!!!\033[0m" - set_adv_config - else - sleep 1 - fi - } - echo "-----------------------------------------------" - echo -e " 1 修改Http/Sock5端口: \033[36m$mix_port\033[0m" - echo -e " 2 设置Http/Sock5密码: \033[36m$auth\033[0m" - echo -e " 3 修改Redir/Tproxy端口:\033[36m$redir_port,$((redir_port + 1))\033[0m" - echo -e " 4 修改DNS监听端口: \033[36m$dns_port\033[0m" - echo -e " 5 修改面板访问端口: \033[36m$db_port\033[0m" - echo -e " 6 设置面板访问密码: \033[36m$secret\033[0m" - echo -e " 8 自定义本机host地址: \033[36m$host\033[0m" - echo -e " 9 自定义路由表: \033[36m$table,$((table + 1))\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - xport=mix_port - inputport - ;; - 2) +inputport() { + read -p "请输入端口号(1-65535) > " portx + . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 + if check_port "$portx"; then + setconfig "$xport" "$portx" + echo -e "\033[32m设置成功!!!\033[0m" + else + echo -e "\033[31m设置失败!!!\033[0m" + fi + sleep 1 +} + +# 端口设置 +set_adv_config() { + while true; do + . "$CFG_PATH" >/dev/null + [ -z "$secret" ] && secret=未设置 + [ -z "$table" ] && table=100 + [ -z "$authentication" ] && auth=未设置 || auth=****** echo "-----------------------------------------------" - echo -e "格式必须是\033[32m 用户名:密码 \033[0m的形式,注意用小写冒号分隔!" - echo -e "请尽量不要使用特殊符号!避免产生未知错误!" - echo "输入 0 删除密码" - echo "-----------------------------------------------" - read -p "请输入Http/Sock5用户名及密码 > " input - if [ "$input" = "0" ]; then - authentication="" - setconfig authentication - echo 密码已移除! - else - if [ "$local_proxy" = "ON" -a "$local_type" = "环境变量" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m请先禁用本机劫持功能或使用增强模式!\033[0m" - sleep 1 + echo -e " 1 修改Http/Sock5端口: \033[36m$mix_port\033[0m" + echo -e " 2 设置Http/Sock5密码: \033[36m$auth\033[0m" + echo -e " 3 修改Redir/Tproxy端口:\033[36m$redir_port,$((redir_port + 1))\033[0m" + echo -e " 4 修改DNS监听端口: \033[36m$dns_port\033[0m" + echo -e " 5 修改面板访问端口: \033[36m$db_port\033[0m" + echo -e " 6 设置面板访问密码: \033[36m$secret\033[0m" + echo -e " 8 自定义本机host地址: \033[36m$host\033[0m" + echo -e " 9 自定义路由表: \033[36m$table,$((table + 1))\033[0m" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + xport=mix_port + inputport + ;; + 2) + echo "-----------------------------------------------" + echo -e "格式必须是\033[32m 用户名:密码 \033[0m的形式,注意用小写冒号分隔!" + echo -e "请尽量不要使用特殊符号!避免产生未知错误!" + echo "输入 0 删除密码" + echo "-----------------------------------------------" + read -p "请输入Http/Sock5用户名及密码 > " input + if [ "$input" = "0" ]; then + authentication="" + setconfig authentication + echo "密码已移除!" else - authentication=$(echo $input | grep :) - if [ -n "$authentication" ]; then - setconfig authentication "'$authentication'" - echo -e "\033[32m设置成功!!!\033[0m" + if [ "$local_proxy" = "ON" -a "$local_type" = "环境变量" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m请先禁用本机劫持功能或使用增强模式!\033[0m" + sleep 1 else - echo -e "\033[31m输入有误,请重新输入!\033[0m" + authentication=$(echo $input | grep :) + if [ -n "$authentication" ]; then + setconfig authentication "'$authentication'" + echo -e "\033[32m设置成功!!!\033[0m" + else + echo -e "\033[31m输入有误,请重新输入!\033[0m" + fi fi fi - fi - set_adv_config - ;; - 3) - xport=redir_port - inputport - ;; - 4) - xport=dns_port - inputport - ;; - 5) - xport=db_port - inputport - ;; - 6) - read -p "请输入面板访问密码(输入0删除密码) > " secret - if [ -n "$secret" ]; then - [ "$secret" = "0" ] && secret="" - setconfig secret $secret - echo -e "\033[32m设置成功!!!\033[0m" - fi - set_adv_config - ;; - 8) - echo "-----------------------------------------------" - echo -e "\033[33m如果你的局域网网段不是192.168.x或172.16.x或10.x开头,请务必修改!\033[0m" - echo -e "\033[31m设置后如本机host地址有变动,请务必重新修改!\033[0m" - echo "-----------------------------------------------" - read -p "请输入自定义host地址(输入0移除自定义host) > " host - if [ "$host" = "0" ]; then - host="" - setconfig host "$host" - echo -e "\033[32m已经移除自定义host地址,请重新运行脚本以自动获取host!!!\033[0m" - exit 0 - elif [ -n "$(echo $host | grep -E -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>')" ]; then - setconfig host "$host" - echo -e "\033[32m设置成功!!!\033[0m" - else - host="" - echo -e "\033[31m输入错误,请仔细核对!!!\033[0m" - fi - sleep 1 - set_adv_config - ;; - 9) - echo "-----------------------------------------------" - echo -e "\033[33m仅限Tproxy、Tun或混合模式路由表出现冲突时才需要设置!\033[0m" - read -p "请输入路由表地址(不明勿动!建议102-125之间) > " table - if [ -n "$table" ]; then - [ "$table" = "0" ] && table="100" - setconfig table "$table" - echo -e "\033[32m设置成功!!!\033[0m" - fi - set_adv_config - ;; - *) - errornum - ;; - esac + ;; + 3) + xport=redir_port + inputport + ;; + 4) + xport=dns_port + inputport + ;; + 5) + xport=db_port + inputport + ;; + 6) + read -p "请输入面板访问密码(输入0删除密码) > " secret + if [ -n "$secret" ]; then + [ "$secret" = "0" ] && secret="" + setconfig secret $secret + echo -e "\033[32m设置成功!!!\033[0m" + fi + ;; + 8) + echo "-----------------------------------------------" + echo -e "\033[33m如果你的局域网网段不是192.168.x或172.16.x或10.x开头,请务必修改!\033[0m" + echo -e "\033[31m设置后如本机host地址有变动,请务必重新修改!\033[0m" + echo "-----------------------------------------------" + read -p "请输入自定义host地址(输入0移除自定义host) > " host + if [ "$host" = "0" ]; then + host="" + setconfig host "$host" + echo -e "\033[32m已经移除自定义host地址,请重新运行脚本以自动获取host!!!\033[0m" + exit 0 + elif [ -n "$(echo $host | grep -E -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>')" ]; then + setconfig host "$host" + echo -e "\033[32m设置成功!!!\033[0m" + else + host="" + echo -e "\033[31m输入错误,请仔细核对!!!\033[0m" + fi + sleep 1 + ;; + 9) + echo "-----------------------------------------------" + echo -e "\033[33m仅限Tproxy、Tun或混合模式路由表出现冲突时才需要设置!\033[0m" + read -p "请输入路由表地址(不明勿动!建议102-125之间) > " table + if [ -n "$table" ]; then + [ "$table" = "0" ] && table="100" + setconfig table "$table" + echo -e "\033[32m设置成功!!!\033[0m" + fi + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } + set_firewall_area() { #路由范围设置 [ -z "$vm_redir" ] && vm_redir='OFF' echo "-----------------------------------------------" From 56d8bbadc2d32a16d1b3829d288264c7f3f3bd11 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 11 Jan 2026 17:09:11 +0800 Subject: [PATCH 029/318] refactor(set_core_config): replace recursion with while loop --- scripts/menus/6_core_config.sh | 318 ++++++++++++++++----------------- 1 file changed, 158 insertions(+), 160 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 4594a909..6b2535ec 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -1029,164 +1029,162 @@ set_core_config_link(){ #直接导入配置 fi } -#配置文件主界面 -set_core_config(){ - [ -z "$rule_link" ] && rule_link=1 - [ -z "$server_link" ] && server_link=1 - echo "$crashcore" | grep -q 'singbox' && config_path="$JSONSDIR"/config.json || config_path="$YAMLSDIR"/config.yaml - echo "-----------------------------------------------" - echo -e "\033[30;47m ShellCrash配置文件管理\033[0m" - echo "-----------------------------------------------" - echo -e " 1 在线\033[32m生成配置文件\033[0m(基于Subconverter订阅转换)" - if [ -f "$CRASHDIR"/v2b_api.sh ];then - echo -e " 2 登录\033[33m获取订阅(推荐!)\033[0m" - else - echo -e " 2 在线\033[33m获取配置文件\033[0m(基于订阅提供者)" - fi - echo -e " 3 本地\033[32m生成配置文件\033[0m(基于内核providers,推荐!)" - echo -e " 4 本地\033[33m上传完整配置文件\033[0m" - echo -e " 5 设置\033[36m自动更新\033[0m" - echo -e " 6 \033[32m自定义\033[0m配置文件" - echo -e " 7 \033[33m更新\033[0m配置文件" - echo -e " 8 \033[36m还原\033[0m配置文件" - echo -e " 9 自定义浏览器UA \033[32m$user_agent\033[0m" - echo "-----------------------------------------------" - [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - if [ -n "$Url" ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到已记录的链接内容:\033[0m" - echo -e "\033[4;32m$Url\033[0m" - echo "-----------------------------------------------" - read -p "清空链接/追加导入?[1/0] > " res - if [ "$res" = '1' ]; then - Url_link="" - echo "-----------------------------------------------" - echo -e "\033[31m链接已清空!\033[0m" - else - Url_link=$Url - fi - fi - gen_core_config_link - set_core_config - ;; - 2) - if [ -f "$CRASHDIR"/v2b_api.sh ];then - . "$CRASHDIR"/v2b_api.sh - set_core_config - else - set_core_config_link - fi - set_core_config - ;; - 3) - if [ "$crashcore" = meta -o "$crashcore" = clashpre ];then - coretype=clash - setproviders - elif [ "$crashcore" = singboxr ];then - coretype=singbox - setproviders - else - echo -e "\033[33msingbox官方内核及Clash基础内核不支持此功能,请先更换内核!\033[0m" - sleep 1 - checkupdate && setcore - fi - set_core_config - ;; - 4) - echo "-----------------------------------------------" - echo -e "\033[33m请将本地配置文件上传到/tmp目录并重命名为config.yaml或者config.json\033[0m" - echo -e "\033[32m之后重新运行本脚本即可自动弹出导入提示!\033[0m" - exit - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - set_core_config - ;; - 6) - checkcfg=$(cat $CFG_PATH) - override - if [ -n "$PID" ];then - checkcfg_new=$(cat $CFG_PATH) - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - set_core_config - ;; - 7) - if [ -z "$Url" -a -z "$Https" ];then - echo "-----------------------------------------------" - echo -e "\033[31m没有找到你的配置文件/订阅链接!请先输入链接!\033[0m" - sleep 1 - set_core_config - else - echo "-----------------------------------------------" - echo -e "\033[33m当前系统记录的链接为:\033[0m" - echo -e "\033[4;32m$Url$Https\033[0m" - echo "-----------------------------------------------" - read -p "确认更新配置文件?[1/0] > " res - if [ "$res" = '1' ]; then - jump_core_config - else - set_core_config - fi - fi - ;; - 8) - if [ ! -f ${config_path}.bak ];then - echo "-----------------------------------------------" - echo -e "\033[31m没有找到配置文件的备份!\033[0m" - set_core_config - else - echo "-----------------------------------------------" - echo -e 备份文件共有"\033[32m`wc -l < ${config_path}.bak`\033[0m"行内容,当前文件共有"\033[32m`wc -l < ${config_path}`\033[0m"行内容 - read -p "确认还原配置文件?此操作不可逆![1/0] > " res - if [ "$res" = '1' ]; then - mv ${config_path}.bak ${config_path} - echo "----------------------------------------------" - echo -e "\033[32m配置文件已还原!请手动重启服务!\033[0m" - sleep 1 - else - echo "-----------------------------------------------" - echo -e "\033[31m操作已取消!返回上级菜单!\033[0m" - set_core_config - fi - fi - ;; - 9) - echo "-----------------------------------------------" - echo -e "\033[36m如果6-1或者6-2无法正确获取配置文件时可以尝试使用\033[0m" - echo -e " 1 使用自动UA" - echo -e " 2 不使用UA" - echo -e " 3 使用自定义UA:\033[32m$user_agent\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) - user_agent='' - ;; - 1) - user_agent='auto' - ;; - 2) - user_agent='none' - ;; - 3) - read -p "请输入自定义UA(不要包含空格和特殊符号!) > " text - [ -n "$text" ] && user_agent="$text" - ;; - *) - errornum - ;; - esac - [ "$num" -le 3 ] && setconfig user_agent "$user_agent" - set_core_config - ;; - *) - errornum - ;; - esac +# 配置文件主界面 +set_core_config() { + while true; do + [ -z "$rule_link" ] && rule_link=1 + [ -z "$server_link" ] && server_link=1 + echo "$crashcore" | grep -q 'singbox' && config_path="$JSONSDIR"/config.json || config_path="$YAMLSDIR"/config.yaml + echo "-----------------------------------------------" + echo -e "\033[30;47m ShellCrash配置文件管理\033[0m" + echo "-----------------------------------------------" + echo -e " 1 在线\033[32m生成配置文件\033[0m(基于Subconverter订阅转换)" + if [ -f "$CRASHDIR"/v2b_api.sh ]; then + echo -e " 2 登录\033[33m获取订阅(推荐!)\033[0m" + else + echo -e " 2 在线\033[33m获取配置文件\033[0m(基于订阅提供者)" + fi + echo -e " 3 本地\033[32m生成配置文件\033[0m(基于内核providers,推荐!)" + echo -e " 4 本地\033[33m上传完整配置文件\033[0m" + echo -e " 5 设置\033[36m自动更新\033[0m" + echo -e " 6 \033[32m自定义\033[0m配置文件" + echo -e " 7 \033[33m更新\033[0m配置文件" + echo -e " 8 \033[36m还原\033[0m配置文件" + echo -e " 9 自定义浏览器UA \033[32m$user_agent\033[0m" + echo "-----------------------------------------------" + [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$Url" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到已记录的链接内容:\033[0m" + echo -e "\033[4;32m$Url\033[0m" + echo "-----------------------------------------------" + read -p "清空链接/追加导入?[1/0] > " res + if [ "$res" = '1' ]; then + Url_link="" + echo "-----------------------------------------------" + echo -e "\033[31m链接已清空!\033[0m" + else + Url_link=$Url + fi + fi + gen_core_config_link + ;; + 2) + if [ -f "$CRASHDIR"/v2b_api.sh ]; then + . "$CRASHDIR"/v2b_api.sh + else + set_core_config_link + fi + ;; + 3) + if [ "$crashcore" = meta -o "$crashcore" = clashpre ]; then + coretype=clash + setproviders + elif [ "$crashcore" = singboxr ]; then + coretype=singbox + setproviders + else + echo -e "\033[33msingbox官方内核及Clash基础内核不支持此功能,请先更换内核!\033[0m" + sleep 1 + checkupdate && setcore + fi + ;; + 4) + echo "-----------------------------------------------" + echo -e "\033[33m请将本地配置文件上传到/tmp目录并重命名为config.yaml或者config.json\033[0m" + echo -e "\033[32m之后重新运行本脚本即可自动弹出导入提示!\033[0m" + sleep 2 + exit + ;; + 5) + . "$CRASHDIR"/menus/5_task.sh && task_menu + break + ;; + 6) + checkcfg=$(cat $CFG_PATH) + override + if [ -n "$PID" ]; then + checkcfg_new=$(cat $CFG_PATH) + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 7) + if [ -z "$Url" -a -z "$Https" ]; then + echo "-----------------------------------------------" + echo -e "\033[31m没有找到你的配置文件/订阅链接!请先输入链接!\033[0m" + sleep 1 + else + echo "-----------------------------------------------" + echo -e "\033[33m当前系统记录的链接为:\033[0m" + echo -e "\033[4;32m$Url$Https\033[0m" + echo "-----------------------------------------------" + read -p "确认更新配置文件?[1/0] > " res + if [ "$res" = '1' ]; then + jump_core_config + break + fi + fi + ;; + 8) + if [ ! -f ${config_path}.bak ]; then + echo "-----------------------------------------------" + echo -e "\033[31m没有找到配置文件的备份!\033[0m" + else + echo "-----------------------------------------------" + echo -e 备份文件共有"\033[32m$(wc -l <${config_path}.bak)\033[0m"行内容,当前文件共有"\033[32m$(wc -l <${config_path})\033[0m"行内容 + read -p "确认还原配置文件?此操作不可逆![1/0] > " res + if [ "$res" = '1' ]; then + mv ${config_path}.bak ${config_path} + echo "----------------------------------------------" + echo -e "\033[32m配置文件已还原!请手动重启服务!\033[0m" + sleep 1 + break + else + echo "-----------------------------------------------" + echo -e "\033[31m操作已取消!返回上级菜单!\033[0m" + sleep 1 + fi + fi + ;; + 9) + echo "-----------------------------------------------" + echo -e "\033[36m如果6-1或者6-2无法正确获取配置文件时可以尝试使用\033[0m" + echo -e " 1 使用自动UA" + echo -e " 2 不使用UA" + echo -e " 3 使用自定义UA:\033[32m$user_agent\033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + 0) + user_agent='' + ;; + 1) + user_agent='auto' + ;; + 2) + user_agent='none' + ;; + 3) + read -p "请输入自定义UA(不要包含空格和特殊符号!) > " text + [ -n "$text" ] && user_agent="$text" + ;; + *) + errornum + ;; + esac + [ "$num" -le 3 ] && setconfig user_agent "$user_agent" + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } From a1a9b10a8559145145bacae3ce6c84bf50516e1b Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 11 Jan 2026 19:24:19 +0800 Subject: [PATCH 030/318] docs(readme_cn): add hints --- README_CN.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/README_CN.md b/README_CN.md index 0e9281c9..e1bc4b50 100644 --- a/README_CN.md +++ b/README_CN.md @@ -43,8 +43,8 @@ ShellCrash 旨在兼容绝大多数基于 Linux 内核的网络设备: ## :hammer_and_wrench: 安装指南 -> **提示** -> 若遇到连接失败或与SSL相关问题,请尝试切换至其他安装镜站。 +> [!TIP] +> 若遇到连接失败或SSL相关问题,请尝试切换至其他安装镜像站。 ### 前置条件 1. 确保设备已开启 **SSH** 并获得 **Root 权限**(带图形介面的 Linux 系统可直接使用终端)。 @@ -52,9 +52,11 @@ ShellCrash 旨在兼容绝大多数基于 Linux 内核的网络设备: ### :penguin: 标准 Linux 设备安装 +> [!IMPORTANT] +> 请以 root 用户进行安装。 + > 使用 wget 安装(jsDelivr CDN 源) ```sh -sudo -i # 切换至root用户,若需密码,请输入 export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ && bash /tmp/install.sh \ @@ -64,7 +66,6 @@ export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ > 或使用 curl 安装(作者私人源) ```sh -sudo -i # 切换至root用户,若需密码,请输入 export url='https://gh.jwsc.eu.org/master' \ && bash -c "$(curl -kfsSl $url/install.sh)" \ && . /etc/profile &> /dev/null From d630f7534ef548e691607b40849292d9aa8cda1e Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 12 Jan 2026 02:06:05 +0800 Subject: [PATCH 031/318] refactor(set_core_config_link): replace recursion with while loop --- scripts/menus/6_core_config.sh | 81 ++++++++++++++++++---------------- 1 file changed, 42 insertions(+), 39 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 6b2535ec..24342561 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -988,45 +988,48 @@ gen_core_config_link(){ #在线生成工具 fi done } -set_core_config_link(){ #直接导入配置 - echo "-----------------------------------------------" - echo -e "\033[32m仅限导入完整的配置文件链接!!!\033[0m" - echo "-----------------------------------------------" - echo -e "注意:\033[31m此功能不兼容“跳过证书验证”功能,部分老旧\n设备可能出现x509报错导致节点不通\033[0m" - echo -e "你也可以搭配在线订阅转换网站或者自建SubStore使用" - echo "$crashcore" | grep -q 'singbox' &&echo -e "singbox内核建议使用\033[32;4mhttps://subv.jwsc.eu.org/\033[0m转换" - echo "-----------------------------------------------" - echo -e "\033[33m0 返回上级菜单\033[0m" - echo "-----------------------------------------------" - read -p "请输入完整链接 > " link - test=$(echo $link | grep -iE "tp.*://" ) - link=`echo ${link/\ \(*\)/''}` #删除恶心的超链接内容 - link=`echo ${link//\&/\\\&}` #处理分隔符 - if [ -n "$link" -a -n "$test" ];then - echo "-----------------------------------------------" - echo -e 请检查输入的链接是否正确: - echo -e "\033[4;32m$link\033[0m" - read -p "确认导入配置文件?原配置文件将被备份![1/0] > " res - if [ "$res" = '1' ]; then - #将用户链接写入配置 - Url='' - Https="$link" - setconfig Https "'$Https'" - setconfig Url - #获取在线yaml文件 - jump_core_config - else - set_core_config_link - fi - elif [ "$link" = 0 ];then - i= - else - echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的配置文件链接地址!!!\033[0m" - echo -e "\033[33m仅支持http、https、ftp以及ftps链接!\033[0m" - sleep 1 - set_core_config_link - fi + +# 直接导入配置 +set_core_config_link() { + while true; do + echo "-----------------------------------------------" + echo -e "\033[32m仅限导入完整的配置文件链接!!!\033[0m" + echo "-----------------------------------------------" + echo -e "注意:\033[31m此功能不兼容“跳过证书验证”功能,部分老旧\n设备可能出现x509报错导致节点不通\033[0m" + echo -e "你也可以搭配在线订阅转换网站或者自建SubStore使用" + echo "$crashcore" | grep -q 'singbox' && echo -e "singbox内核建议使用\033[32;4mhttps://subv.jwsc.eu.org/\033[0m转换" + echo "-----------------------------------------------" + echo -e "\033[33m0 返回上级菜单\033[0m" + echo "-----------------------------------------------" + read -p "请输入完整链接 > " link + test=$(echo $link | grep -iE "tp.*://") + link=$(echo ${link/\ \(*\)/''}) # 删除恶心的超链接内容 + link=$(echo ${link//\&/\\&}) # 处理分隔符 + if [ -n "$link" -a -n "$test" ]; then + echo "-----------------------------------------------" + echo -e "请检查输入的链接是否正确:" + echo -e "\033[4;32m$link\033[0m" + read -p "确认导入配置文件?原配置文件将被备份![1/0] > " res + if [ "$res" = '1' ]; then + # 将用户链接写入配置 + Url='' + Https="$link" + setconfig Https "'$Https'" + setconfig Url + # 获取在线yaml文件 + jump_core_config + break + fi + elif [ "$link" = 0 ]; then + i= + break + else + echo "-----------------------------------------------" + echo -e "\033[31m请输入正确的配置文件链接地址!!!\033[0m" + echo -e "\033[33m仅支持http、https、ftp以及ftps链接!\033[0m" + sleep 1 + fi + done } # 配置文件主界面 From 545ce0da20d91c5a499816eceab1a67e7866a8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Mon, 12 Jan 2026 06:37:35 +0800 Subject: [PATCH 032/318] =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E5=B0=8F=E8=A1=A5~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml index c25c2ff7..53ee08b2 100644 --- a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml +++ b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml @@ -1,4 +1,4 @@ -#ShellCrash-ruleset 全分组规则+去广告 For mihomo By Maozai 260109 +#ShellCrash-ruleset 全分组规则+去广告 For mihomo By Maozai 260111 #此版本为Maozai根据ACL4SSR规则修改优化而来,尽量在保持原有的基础上进行优化。 #数据源采用了DustinWin/ruleset_geodata和MetaCubeX/meta-rules-dat两个开源项目的规则,感谢原作者的辛勤付出。 @@ -46,9 +46,9 @@ proxy-groups: - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)", exclude-filter: "(?i)(仙台)"} - - {name: 🇺🇸 美国节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|us|unitedstates|united states)", exclude-filter: "(?i)(南美|中美|拉美|亚美尼亚|美属)"} + - {name: 🇺🇸 美国节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|休斯|达拉斯|硅谷|堪萨斯|迈阿密|凤凰城|芝加哥|奥勒姆|us|unitedstates|united states)", exclude-filter: "(?i)(南美|中美|拉美|亚美尼亚|美属)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇯🇵|日|东京|大阪|埼玉|九州|仙台|jp|japan)", exclude-filter: "(?i)(尼日利亚|尼日尔|日内瓦)"} - - {name: 🇪🇺 欧洲节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇪🇺|欧|德|英|法|荷|俄罗斯|西班牙|意大利|瑞士|瑞典|土耳其|挪威|芬兰|丹麦|比利时|爱尔兰|奥地利|波兰|葡萄牙|乌克兰|希腊|捷克|匈牙利|罗马尼亚|保加利亚|冰岛|克罗地亚)"} + - {name: 🇪🇺 欧洲节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇪🇺|欧|德|英|法|荷|俄罗斯|西班牙|意大利|瑞士|瑞典|土耳其|挪威|芬兰|丹麦|比利时|爱尔兰|奥地利|波兰|葡萄牙|乌克兰|希腊|捷克|匈牙利|罗马尼亚|保加利亚|冰岛|克罗地亚|阿姆斯特丹)"} - {name: 🇰🇷 韩国节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇰🇷|韩|韓|首尔|kr|kor)"} - {name: 🇸🇬 狮城节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(🇸🇬|新加坡|狮城|sg|singapore)"} @@ -221,8 +221,8 @@ rule-providers: #规则顺序 rules: - - DOMAIN-SUFFIX,captive.apple.com,DIRECT - - DOMAIN-SUFFIX,kamo.teracloud.jp,DIRECT + - DOMAIN-SUFFIX,captive.apple.com,🍎 苹果服务 + - DOMAIN-SUFFIX,kamo.teracloud.jp,🀄️ 国内流量 - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,private,🔒 私有网络 From e4efd439bf86bff0fa12890593bb102eceaf1e56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Mon, 12 Jan 2026 06:38:02 +0800 Subject: [PATCH 033/318] =?UTF-8?q?=E5=B0=8F=E4=BF=AE=E5=B0=8F=E8=A1=A5~?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/singbox_providers/ShellCrash_RS_Full_BanAds.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json index 80151ae3..2e4fc53f 100644 --- a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json +++ b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json @@ -1,4 +1,4 @@ -//ShellCrash-ruleset 全分组规则+去广告 For Sing-box By Maozai 260109 +//ShellCrash-ruleset 全分组规则+去广告 For Sing-box By Maozai 260111 { "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": ["♻️ 自动选择", "✨ 自动选择(去高倍率)", "🛠️ 手动切换", "🎯 本地直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, @@ -37,9 +37,9 @@ { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇭🇰|港|hk|hongkong|hong kong)" }, { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇹🇼|台|tw|taiwan|tai wan)", "exclude": "(?i)(仙台)" }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|us|unitedstates|united states)", "exclude": "(?i)(南美|中美|拉美|亚美尼亚|美属)" }, + { "tag": "🇺🇸 美国节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇺🇸|美|洛杉矶|圣何塞|西雅图|纽约|波特兰|旧金山|休斯|达拉斯|硅谷|堪萨斯|迈阿密|凤凰城|芝加哥|奥勒姆|us|unitedstates|united states)", "exclude": "(?i)(南美|中美|拉美|亚美尼亚|美属)" }, { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇯🇵|日|东京|大阪|埼玉|九州|jp|japan)", "exclude": "(?i)(尼日利亚|尼日尔|日内瓦)" }, - { "tag": "🇪🇺 欧洲节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇪🇺|欧|德|英|法|荷|俄罗斯|西班牙|意大利|瑞士|瑞典|土耳其|挪威|芬兰|丹麦|比利时|爱尔兰|奥地利|波兰|葡萄牙|乌克兰|希腊|捷克|匈牙利|罗马尼亚|保加利亚|冰岛|克罗地亚)" }, + { "tag": "🇪🇺 欧洲节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇪🇺|欧|德|英|法|荷|俄罗斯|西班牙|意大利|瑞士|瑞典|土耳其|挪威|芬兰|丹麦|比利时|爱尔兰|奥地利|波兰|葡萄牙|乌克兰|希腊|捷克|匈牙利|罗马尼亚|保加利亚|冰岛|克罗地亚|阿姆斯特丹)" }, { "tag": "🇰🇷 韩国节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇰🇷|韩|韓|首尔|kr|kor)" }, { "tag": "🇸🇬 狮城节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(🇸🇬|新加坡|狮城|sg|singapore)" }, @@ -48,8 +48,8 @@ ], "route": { "rules": [ - { "domain_suffix": ["captive.apple.com"], "outbound": "DIRECT" }, - { "domain_suffix": ["kamo.teracloud.jp"], "outbound": "DIRECT" }, + { "domain_suffix": ["captive.apple.com"], "outbound": "🍎 苹果服务" }, + { "domain_suffix": ["kamo.teracloud.jp"], "outbound": "🀄️ 国内流量" }, { "rule_set": ["private"], "outbound": "🎯 本地直连" }, { "rule_set": ["ads"], "outbound": "🛑 广告拦截" }, From 0cf5e798b38ed55712328e648c5909a2ecfb2b67 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Mon, 12 Jan 2026 21:12:16 +0800 Subject: [PATCH 034/318] =?UTF-8?q?=E4=BC=98=E5=8C=96=20sing-box=20?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E5=97=85=E6=8E=A2=E8=A6=86=E5=86=99=E5=92=8C?= =?UTF-8?q?=E8=A7=84=E5=88=99=E8=A6=86=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/singbox_modify.sh | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index e1c02052..a91edb4a 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -200,20 +200,21 @@ EOF EOF #生成add_route.json #域名嗅探配置 - [ "$sniffer" = ON ] && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' - [ "$ts_service" = ON ] && tailscale_set='{ "inbound": [ "ts-ep" ], "port": 53, "action": "hijack-dns" },' + [ "$sniffer" = ON ] && ! grep -Eq '"action" *:[[:space:]]*"sniff"' "$CRASHDIR"/jsons/*.json && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' + [ "$ts_service" = ON ] && tailscale_set='{ "inbound": [ "ts-ep" ], "port": 53, "action": "hijack-dns" },' + sed -i '/"clash_mode".*"outbound"/d' "$CRASHDIR"/jsons/*.json cat >"$TMPDIR"/jsons/add_route.json < Date: Mon, 12 Jan 2026 22:31:03 +0800 Subject: [PATCH 035/318] style: redesign the install script interface --- install.sh | 703 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 533 insertions(+), 170 deletions(-) diff --git a/install.sh b/install.sh index ebcaff6c..9609ae45 100644 --- a/install.sh +++ b/install.sh @@ -1,16 +1,93 @@ #!/usr/bin/env bash # Copyright (C) Juewuy +# ================================= table format tools ================================= +# >>>>>>>>>>>>>> + +# set the total width of the menu +# (adjusting this number will automatically change the entire menu, including the separator lines) +# note: The number represents the number of columns that appear when the "||" appears on the right +TABLE_WIDTH=60 + +# define two extra-long template strings in advance +# (the length should be greater than the expected TABLE_WIDTH) +FULL_EQ="====================================================================================================" +FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " + +# function to print content lines +# (using cursor jump) +content_line() { + echo -e " ${1}\033[${TABLE_WIDTH}G||" +} + +# function to print sub content lines +# for printing accompanying instructions +sub_content_line() { + echo -e " ${1}\033[${TABLE_WIDTH}G||" + content_line +} + +# increase the spacing between the front +# and back forms to improve readability +double_line_break() { + printf "\n\n" +} + +# function to print separators +# (using string slicing) +# parameter $1: pass in "=" or "-" +separator_line() { + local separator_type="$1" + local output_line="" + local len=$((TABLE_WIDTH - 1)) + + if [ "$separator_type" == "=" ]; then + output_line="${FULL_EQ:0:$len}" + else + output_line="${FULL_DASH:0:$len}" + fi + + echo "${output_line}||" +} +# <<<<<<<<<<<<<< +# ================================= table format tools ================================= + +# =============================== display prompt message =============================== +# >>>>>>>>>>>>>> + +abort_install() { + double_line_break + separator_line "=" + content_line "安装已取消" + separator_line "=" + double_line_break + + exit 1 +} + +invalid_input_retry() { + double_line_break + separator_line "=" + content_line "\033[31m输入错误!\033[0m" + content_line "\033[31m请重新设置!\033[0m" + separator_line "=" + + sleep 1 +} + +# <<<<<<<<<<<<<< +# =============================== display prompt message =============================== + [ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev" type bash &>/dev/null && shtype=bash || shtype=sh -[ -n "$(echo -e | grep e)" ] && echo=echo || echo='echo -e' -echo "***********************************************" -echo "** 欢迎使用 **" -echo "** ShellCrash **" -echo "** by Juewuy **" -echo "***********************************************" -# Check available capacity +error_down() { + content_line "\033[33m请参考:\033[0m" + content_line "\033[33mgithub.com/juewuy/ShellCrash/blob/master/README_CN.md\033[0m" + content_line "\033[33m或使用其他安装源重新安装!\033[0m" +} + +# check available capacity dir_avail() { df -h >/dev/null 2>&1 && h="$2" df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' @@ -32,7 +109,17 @@ webget() { [ "$3" = "echooff" ] && progress='-s' || progress='-#' [ -z "$4" ] && redirect='-L' || redirect='' result=$(curl -w %{http_code} --connect-timeout 5 $progress $redirect -ko $1 $2) - [ -n "$(echo $result | grep -e ^2)" ] && result="200" + + # === original version === + # [ -n "$(echo $result | grep -e ^2)" ] && result="200" + + # === fixed version === + # strictly match the 200 status code to avoid 204 (empty content) + # or 202 being mistakenly interpreted as success + if [ "$result" = "200" ]; then + result="200" + fi + else if wget --version >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' @@ -47,28 +134,21 @@ webget() { fi } -error_down() { - $echo "请参考 \033[32mhttps://github.com/juewuy/ShellCrash/blob/master/README_CN.md" - $echo "\033[33m使用其他安装源重新安装!\033[0m" -} - # 安装及初始化 set_alias() { while true; do - echo "-----------------------------------------------" - $echo "\033[36m请选择一个别名,或使用自定义别名:\033[0m" - echo "-----------------------------------------------" - $echo " 1 【\033[32mcrash\033[0m】" - $echo " 2 【\033[32m sc \033[0m】" - $echo " 3 【\033[32m mm \033[0m】" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字或自定义别名 > " res + double_line_break + separator_line "=" + content_line "\033[36m请选择一个别名\033[0m" + content_line "\033[36m或直接输入自定义别名\033[0m" + separator_line "-" + content_line "1) 【\033[32mcrash\033[0m】" + content_line "2) 【\033[32m sc \033[0m】" + content_line "3) 【\033[32m mm \033[0m】" + content_line "E) 退出安装" + separator_line "=" + read -p "请输入相应数字/自定义别名> " res case "$res" in - 0) - echo "安装已取消" - exit 1 - ;; 1) my_alias=crash ;; @@ -78,41 +158,62 @@ set_alias() { 3) my_alias=mm ;; + "E" | "e") + abort_install + ;; *) my_alias=$res ;; esac cmd=$(ckcmd "$my_alias" | grep 'menu.sh') ckcmd "$my_alias" && [ -z "$cmd" ] && { - $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" + double_line_break + separator_line "=" + content_line "该别名【\033[32m$my_alias\033[0m】和当前系统内置命令/别名\033[33m冲突\033[0m,请更换" + separator_line "=" + sleep 1 continue } - break + break 1 done } gettar() { - webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" + webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" >/dev/null 2>&1 if [ "$result" != "200" ]; then - $echo "\033[33m文件下载失败!\033[0m" + content_line "\033[31m下载失败!\033[0m" error_down + separator_line "=" + double_line_break exit 1 else + content_line "下载成功" $CRASHDIR/start.sh stop 2>/dev/null # 解压 - echo "-----------------------------------------------" - echo "开始解压文件!" + content_line "开始解压文件......" mkdir -p $CRASHDIR >/dev/null tar -zxf '/tmp/ShellCrash.tar.gz' -C $CRASHDIR/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C $CRASHDIR/ if [ -s $CRASHDIR/init.sh ]; then + content_line "解压成功" + separator_line "=" set_alias . $CRASHDIR/init.sh >/dev/null - [ "$?" != 0 ] && $echo "\033[33m初始化失败,请尝试本地安装!\033[0m" && exit 1 + if [ $? != 0 ]; then + content_line "\033[31m初始化失败,请尝试本地安装!\033[0m" + separator_line "=" + double_line_break + + exit 1 + fi + else rm -rf /tmp/ShellCrash.tar.gz - $echo "\033[33m文件解压失败!\033[0m" + content_line "\033[31m解压失败!\033[0m" error_down + separator_line "=" + double_line_break + exit 1 fi fi @@ -120,62 +221,162 @@ gettar() { set_usb_dir() { while true; do - $echo "请选择安装目录" - du -hL /mnt | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num - dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) - if [ -z "$dir" ]; then - $echo "\033[31m输入错误!请重新设置!\033[0m" - continue - fi - break 1 + double_line_break + separator_line "=" + content_line "请选择安装目录:" + separator_line "-" + + # original version + # du -hL /mnt | awk '{print " "NR" "$2" "$1}' + du -hL /mnt | + awk '{print NR") "$2" (已用空间:"$1")"}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line "0) 返回上级菜单" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 0) + return 1 + ;; + *) + dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) + if [ -z "$dir" ]; then + invalid_input_retry + continue + fi + return 0 + ;; + esac done } set_asus_dir() { while true; do - echo -e "请选择U盘目录" - du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num - dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) - if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" - continue - fi - break 1 + double_line_break + separator_line "=" + content_line "请选择U盘目录:" + separator_line "-" + + # original version + # du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' + du -hL /tmp/mnt | + awk -F/ 'NF<=4 {print NR") "$2" (已用空间:"$1")"}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line "0) 返回上级菜单" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 0) + return 1 + ;; + *) + dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) + if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then + double_line_break + separator_line "=" + content_line "\033[33m未找到下载大师自启文件:\033[0m" + content_line "\033[33m$dir/asusware.arm/etc/init.d/S50downloadmaster\033[0m" + content_line "\033[33m请检查设置!\033[0m" + separator_line "=" + + continue + fi + return 0 + ;; + esac done } set_cust_dir() { while true; do - echo "-----------------------------------------------" - echo '可用路径 剩余空间:' - df -h | awk '{print $6,$4}' | sed 1d - echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!' - read -p "请输入自定义路径 > " dir - if [ "$(dir_avail $dir)" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then - $echo "\033[31m路径错误!请重新设置!\033[0m" - continue - fi - break 1 + double_line_break + separator_line "=" + content_line "\033[33m注意:\033[0m" + content_line "\033[33m路径必须是带 / 的格式\033[0m" + content_line "\033[33m写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!\033[0m" + separator_line "-" + content_line "参考路经:" + separator_line "-" + + # original version + # df -h | awk '{print $6,$4}' | sed 1d + df -h | + awk 'NR>1 { + path=""; + for(i=6;i<=NF;i++) path=path $i " "; + sub(/ $/, "", path); + print path "|" $4 + }' | + while IFS='|' read -r mount_point path_avail; do + if [ -n "$mount_point" ]; then + i=$((i + 1)) + printf -v line_content "%-3s %s" "$i)" "$mount_point" + content_line "$line_content" + sub_content_line " (可用空间:$path_avail)" + fi + done + + content_line "0) 返回上级菜单" + separator_line "=" + read -p "请输入自定义路径> " dir + case "$dir" in + 0) + return 1 + ;; + *) + if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then + invalid_input_retry + continue + fi + return 0 + ;; + esac done } setdir() { while true; do - echo "-----------------------------------------------" - $echo "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + double_line_break + separator_line "=" + content_line "\033[33m注意:\033[0m" + content_line "\033[33m安装ShellCrash至少需要预留约 1MB 的磁盘空间\033[0m" if [ -n "$systype" ]; then [ "$systype" = "Padavan" ] && dir=/etc/storage + [ "$systype" = "mi_snapshot" ] && { - $echo "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" - [ -d /data ] && $echo " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" - [ -d /userdisk ] && $echo " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" - [ -d /data/other_vol ] && $echo " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" - $echo " 4 安装到自定义目录(不推荐,不明勿用!)" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num + content_line "\033[33m检测到当前设备为小米官方系统\033[0m" + + separator_line "-" + content_line "请选择安装位置:" + separator_line "-" + + if [ -d /data ]; then + content_line "1) 安装到 /data 目录" + sub_content_line "剩余空间:$(dir_avail /data -h)(支持软固化功能)" + fi + + if [ -d /userdisk ]; then + content_line "2) 安装到 /userdisk 目录" + sub_content_line "剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" + fi + + if [ -d /data/other_vol ]; then + content_line "3) 安装到 /data/other_vol 目录" + sub_content_line "剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" + fi + + content_line "4) 安装到自定义目录" + sub_content_line "(不推荐,不明勿用!)" + + content_line "E) 退出安装" + separator_line "=" + read -p "请输入相应数字> " num case "$num" in 1) dir=/data @@ -188,51 +389,104 @@ setdir() { ;; 4) set_cust_dir + ret=$? + [ "$ret" -eq 1 ] && continue + ;; + "E" | "e") + abort_install ;; *) - exit 1 + invalid_input_retry + continue ;; esac } + [ "$systype" = "asusrouter" ] && { - $echo "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" - $echo " 1 基于USB设备安装(限23年9月之前固件,须插入\033[31m任意\033[0mUSB设备)" - $echo " 2 基于自启脚本安装(仅支持梅林及部分非koolshare官改固件)" - $echo " 3 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num + + content_line "\033[33m检测到当前设备为华硕固件\033[0m" + separator_line "-" + content_line "请选择安装方式:" + separator_line "-" + + content_line "1) 基于USB设备安装" + sub_content_line "(限23年9月之前固件,须插入任意USB设备)" + + content_line "2) 基于自启脚本安装" + sub_content_line "(仅支持梅林及部分非koolshare官改固件)" + + content_line "3) 基于U盘 + 下载大师安装" + sub_content_line "(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" + + content_line "E) 退出安装" + separator_line "=" + + read -p "请输入相应数字> " num case "$num" in 1) - read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res - [ "$res" = "1" ] && set_usb_dir || dir=/jffs + double_line_break + separator_line "=" + content_line "请选择脚本安装位置:" + separator_line "-" + content_line "1) USB存储" + content_line "2) 系统闪存" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 1) + set_usb_dir + ;; + *) + dir=/jffs + ;; + esac + usb_status=1 ;; 2) - $echo "如无法正常开机启动,请重新使用USB方式安装!" + double_line_break + separator_line "=" + content_line "如无法正常开机启动,请重新使用USB方式安装!" + separator_line "=" sleep 2 + dir=/jffs ;; 3) - echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + double_line_break + separator_line "=" + content_line "请先在路由器网页后台安装下载大师并启用," + content_line "之后选择外置存储所在目录!" + separator_line "=" sleep 2 + set_asus_dir + ret=$? + [ "$ret" -eq 1 ] && continue + ;; + "E" | "e") + abort_install ;; *) - exit 1 + invalid_input_retry + continue ;; esac } + [ "$systype" = "ng_snapshot" ] && dir=/tmp/mnt else - $echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" - $echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" - $echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" - $echo " 4 在\033[32m外置存储\033[0m中安装" - $echo " 5 手动设置安装目录" - $echo " 0 退出安装" - echo "----------------------------------------------" - read -p "请输入相应数字 > " num + separator_line "-" + content_line "请选择安装目录:" + separator_line "-" + content_line "1) \033[32m/etc目录\033[0m (适合root用户)" + content_line "2) \033[32m/usr/share目录\033[0m (适合Linux系统)" + content_line "3) \033[32m当前用户目录\033[0m (适合非root用户)" + content_line "4) \033[32m外置存储\033[0m" + content_line "5) 手动设置" + content_line "E) 退出安装" + separator_line "=" + read -p "请输入相应数字> " num # 设置目录 case "$num" in 1) @@ -247,87 +501,173 @@ setdir() { ;; 4) set_usb_dir + ret=$? + [ "$ret" -eq 1 ] && continue ;; 5) set_cust_dir + ret=$? + [ "$ret" -eq 1 ] && continue + ;; + "E" | "e") + abort_install ;; *) - echo "安装已取消" - exit 1 + invalid_input_retry + continue ;; esac fi - if [ ! -w $dir ]; then - $echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" - sleep 1 + if [ ! -w "$dir" ]; then + double_line_break + separator_line "=" + content_line "\033[31m没有$dir目录写入权限!\033[0m" + content_line "\033[31m请重新设置!\033[0m" + separator_line "=" + sleep 2 else - $echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)" - read -p "确认安装?(1/0) > " res - if [ "$res" = "1" ]; then - CRASHDIR=$dir/ShellCrash - break - fi + while true; do + double_line_break + separator_line "=" + content_line "目标目录:\033[32m$dir\033[0m" + content_line "可用空间:$(dir_avail $dir -h)" + separator_line "-" + content_line "1) 确认安装" + content_line "E) 退出安装" + content_line "0) 返回上级菜单" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 0) + break 1 + ;; + 1) + CRASHDIR="${dir}/ShellCrash" + break 2 + ;; + "E" | "e") + abort_install + ;; + *) + invalid_input_retry + continue + ;; + esac + done fi done } install() { - echo "-----------------------------------------------" - echo "开始从服务器获取安装文件!" - echo "-----------------------------------------------" + double_line_break + separator_line "=" + content_line "下载安装文件......" gettar - echo "-----------------------------------------------" - echo "ShellCrash 已经安装成功!" - [ "$profile" = "~/.bashrc" ] && echo "请执行【. ~/.bashrc > /dev/null】命令以更新环境变量!" - [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && echo "请执行【. ~/.zshrc > /dev/null】命令以更新环境变量!" - echo "-----------------------------------------------" - $echo "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" - echo "-----------------------------------------------" + double_line_break + separator_line "=" + content_line "ShellCrash 已经安装成功!" + [ "$profile" = "~/.bashrc" ] && content_line "请执行【. ~/.bashrc > /dev/null】命令以更新环境变量!" + [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && content_line "请执行【. ~/.zshrc > /dev/null】命令以更新环境变量!" + content_line "输入\033[32m $my_alias \033[0m命令即可管理!" + separator_line "=" + double_line_break } setversion() { - echo "-----------------------------------------------" - $echo "\033[33m请选择想要安装的版本:\033[0m" - $echo " 1 \033[32m公测版(推荐)\033[0m" - $echo " 2 \033[36m稳定版\033[0m" - $echo " 3 \033[31m开发版\033[0m" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 2) - url=$(echo $url | sed 's/master/stable/') - ;; - 3) - url=$(echo $url | sed 's/master/dev/') - ;; - *) ;; - esac + while true; do + double_line_break + separator_line "=" + content_line "请选择安装版本:" + separator_line "-" + content_line "1) \033[32m公测版(推荐)\033[0m" + content_line "2) \033[36m稳定版\033[0m" + content_line "3) \033[31m开发版\033[0m" + content_line "E) 退出安装" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 1) + break 1 + ;; + 2) + url=$(echo "$url" | sed 's/master/stable/') + break 1 + ;; + 3) + url=$(echo "$url" | sed 's/master/dev/') + break 1 + ;; + "E" | "e") + abort_install + ;; + *) + invalid_input_retry + continue + ;; + esac + done } +# =============================== the script start here ================================ + +# clean screen +printf "\033[H\033[2J" + +double_line_break +separator_line "=" +content_line " 欢迎使用" +content_line " ShellCrash" +content_line +content_line " 支持各种基于 openwrt 的路由器设备" +content_line " 支持Debian、Centos等标准 Linux 系统" +content_line " 如遇问题请加TG群反馈:t.me/ShellClash" +content_line +content_line " by Juewuy" +separator_line "=" + # 特殊固件识别及标记 [ -f "/etc/storage/started_script.sh" ] && { - systype=Padavan #老毛子固件 + systype=Padavan # 老毛子固件 initdir='/etc/storage/started_script.sh' } [ -d "/jffs" ] && { - systype=asusrouter #华硕固件 + systype=asusrouter # 华硕固件 [ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter' [ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start' } -[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备 -[ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot #NETGEAR设备 +[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot # 小米设备 +[ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot # NETGEAR设备 # 检查root权限 if [ "$USER" != "root" -a -z "$systype" ]; then - echo "当前用户:$USER" - $echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m" - echo "-----------------------------------------------" - read -p "仍要安装?可能会产生未知错误!(1/0) > " res - [ "$res" != "1" ] && exit 1 + while true; do + double_line_break + separator_line "=" + content_line "当前用户 $USER 非 root 用户" + content_line "\033[33m请尽量使用 root 用户(不要直接使用sudo命令)执行安装!\033[0m" + content_line "\033[31m继续安装,可能会产生未知错误!\033[0m" + separator_line "-" + content_line "1) 继续安装" + content_line "E) 退出安装" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 1) + break 1 + ;; + "E" | "e") + abort_install + ;; + *) + invalid_input_retry + continue + ;; + esac + done fi -if [ -n "$(echo $url | grep master)" ]; then +if [ -n "$(echo "$url" | grep master)" ]; then setversion fi @@ -337,38 +677,61 @@ webget /tmp/version "$url/version" echooff rm -rf /tmp/version # 输出 -$echo "最新版本:\033[32m$versionsh\033[0m" -echo "-----------------------------------------------" -$echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/ShellClash \033[0m" -$echo "\033[37m支持各种基于openwrt的路由器设备" -$echo "\033[33m支持Debian、Centos等标准Linux系统\033[0m" +double_line_break +separator_line "=" +content_line "最新版本:\033[32m$versionsh\033[0m" +separator_line "=" if [ -n "$CRASHDIR" ]; then - echo "-----------------------------------------------" - $echo "检测到旧的安装目录\033[36m$CRASHDIR\033[0m,是否覆盖安装?" - $echo "\033[32m覆盖安装时不会移除配置文件!\033[0m" - read -p "覆盖安装/卸载旧版本?(1/0) > " res - case "$res" in - 1) - install - ;; - 0) - rm -rf $CRASHDIR - echo "-----------------------------------------------" - $echo "\033[31m 旧版本文件已卸载!\033[0m" - setdir - install - ;; - 9) - echo "测试模式,变更安装位置" - setdir - install - ;; - *) - $echo "\033[31m输入错误!已取消安装!\033[0m" - exit 1 - ;; - esac + while true; do + double_line_break + separator_line "=" + content_line "检测到旧版本安装目录:\033[36m$CRASHDIR\033[0m" + content_line "\033[33m注意:覆盖安装时不会移除配置文件!\033[0m" + separator_line "-" + content_line "1) 覆盖安装" + content_line "2) 卸载旧版本" + content_line "E) 退出安装" + separator_line "=" + read -p "请输入相应数字> " num + case "$num" in + 1) + install + break 1 + ;; + 2) + rm -rf "$CRASHDIR" + + double_line_break + separator_line "=" + content_line "\033[31m旧版本文件已卸载!\033[0m" + separator_line "=" + + setdir + install + + break 1 + ;; + 9) + double_line_break + separator_line "=" + content_line "测试模式,变更安装位置" + separator_line "=" + + setdir + install + + break 1 + ;; + "E" | "e") + abort_install + ;; + *) + invalid_input_retry + continue + ;; + esac + done else setdir install From 3797d95174417684adda38eaf50f4b4e17e75fcc Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:57:53 +0800 Subject: [PATCH 036/318] docs: update README.md Updated the English README.md based on the latest version of the Simplified Chinese README.md document. --- README.md | 181 +++++++++++++++++++++++++----------------------------- 1 file changed, 83 insertions(+), 98 deletions(-) diff --git a/README.md b/README.md index 1e13cb76..0649f7b5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,7 @@ -

-
ShellCrash
-

- +

ShellCrash

- + @@ -12,182 +9,170 @@

-[中文](README_CN.md) | English +

+ A powerful script tool for the convenient deployment and management of mihomo/sing-box kernels in Shell environments. +

+ +

+ 简体中文 | English +

--- -## Overview +## :rocket: Core Features -ShellCrash is a lightweight Shell-based management script that enables convenient use of the **Mihomo / Sing-box** core across a wide range of Linux-based systems. +- **Multi-Kernel Support**: Easily manage and switch between **mihomo** and **sing-box** kernels directly within the Shell environment. +- **Flexible Configuration Management**: Supports online import of subscription links and configuration files to simplify the setup process. +- **Automated Tasks**: Configure scheduled tasks for automatic updates of configuration files and rules. +- **Graphical Dashboard**: Support for online installation and use of local Web Dashboards to intuitively manage built-in rules and traffic. +- **Multiple Operation Modes**: Supports switching between various traffic forwarding modes, including Router mode and Local mode. +- **One-Click Maintenance**: Built-in online update functionality to keep the script and features up to date. -Key features include: +## :computer: Device Support -- Run and manage Mihomo / Sing-box directly from a Shell environment -- Fully Shell-based management with minimal dependencies -- Import subscription links and configuration URLs online -- Schedule automated tasks, including periodic configuration updates -- Install and manage built-in rules via a local web control panel -- Switch seamlessly between multiple operating modes (e.g. router mode, local mode) -- Support in-place online updates +ShellCrash is designed to be compatible with the vast majority of network devices based on the Linux kernel: -## Supported Platforms +* **Router Devices**: Supports various firmwares based on OpenWrt or its derivatives. +* **Linux Servers**: Supports devices running standard Linux distributions (e.g., Debian, CentOS, Armbian, Ubuntu, etc.). +* **Third-Party Firmware**: Compatible with Padavan (Conservative Mode), Pandora, and ASUS/Merlin firmware. +* **Customized Devices**: Compatible with other specialized network devices developed using the Linux kernel. -ShellCrash is designed to work across a broad range of Linux-based devices, including: +> For additional device support, please submit an [Issue](https://github.com/juewuy/ShellCrash/issues) or provide feedback in the [Telegram Group](https://t.me/ShellClash) (please include the device model and the output of the `uname -a` command). -- Routers based on **OpenWrt** or OpenWrt-derived custom firmware -- Standard Linux distributions such as **Debian**, **CentOS**, **Armbian**, and similar -- **Padavan** firmware (conservative mode), **Pandora** firmware, and **ASUS / Merlin** firmware -- Other embedded or customised systems built on the Linux kernel +--- -> If your device is not listed above, please open an issue or provide feedback in the Telegram group. When reporting, include the device model and the output of `uname -a`. +## :hammer_and_wrench: Installation Guide -## Frequently Asked Questions - -- [ShellCrash FAQ | Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) - -## Getting Started +> [!TIP] +> If you encounter connection failures or SSL-related issues, please try switching to an alternative installation mirror. ### Prerequisites +1. Ensure the device has **SSH** enabled and **Root privileges** obtained (Linux systems with a GUI can use the terminal directly). +2. Connect to the device using an SSH tool (such as PuTTY, JuiceSSH, or the system's built-in terminal). -- SSH access must be enabled on the target device -- Root privileges are required (Linux systems with a desktop environment may use the built-in terminal) +### :penguin: Standard Linux Device Installation -Use an SSH client such as **PuTTY**, **JuiceSSH**, or the system terminal to connect to your router or Linux host. - -### Installation - -Follow the instructions below according to your device type. Execute the commands in an SSH session and follow the on-screen prompts to complete installation. - -> **Note** -> If you encounter connection failures or SSL-related errors, try switching to a different installation mirror. - -#### Standard Linux Distributions +> [!IMPORTANT] +> Please perform the installation as the root user. +> Install via wget (jsDelivr CDN source) ```sh -sudo -i # Switch to root user (enter password if prompted) -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ +export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ && bash /tmp/install.sh \ && . /etc/profile &> /dev/null ``` -Alternative mirror: +> Or install via curl (Author's private source) ```sh -sudo -i -export url='https://gh.jwsc.eu.org/master' \ +export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ && bash -c "$(curl -kfsSl $url/install.sh)" \ && . /etc/profile &> /dev/null ``` -#### Router Devices (curl) +### :satellite: Router Device Installation +**Installation via `curl`:** +> GitHub Source (Recommended for overseas environments or environments with proxy access) ```sh -# GitHub source (may require a proxy) -export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' \ +export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https://raw.githubusercontent.com/juewuy/ShellCrash/master)' \ && sh -c "$(curl -kfsSl $url/install.sh)" \ && . /etc/profile &> /dev/null ``` -Alternative mirrors: +> Or jsDelivr CDN source ```sh -# jsDelivr CDN -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ +export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ && sh -c "$(curl -kfsSl $url/install.sh)" \ && . /etc/profile &> /dev/null ``` +> Or Author's private source ```sh -# Author's private mirror -export url='https://gh.jwsc.eu.org/master' \ +export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ && sh -c "$(curl -kfsSl $url/install.sh)" \ && . /etc/profile &> /dev/null ``` -#### Router Devices (wget) - +**Installation via `wget`:** +> GitHub Source (Recommended for overseas environments or environments with proxy access) ```sh -# GitHub source (may require a proxy) -export url='https://raw.githubusercontent.com/juewuy/ShellCrash/master' \ +export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https://raw.githubusercontent.com/juewuy/ShellCrash/master)' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` -Alternative mirror: - +> Or jsDelivr CDN source ```sh -# jsDelivr CDN -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ +export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` -#### Legacy Devices (older wget versions) +### :pager: Installation for Legacy Devices with Older `wget` Versions +> Author's private HTTP beta source ```sh -# HTTP mirror for legacy environments -export url='http://t.jwsc.eu.org' \ +export url='[http://t.jwsc.eu.org](http://t.jwsc.eu.org)' \ && wget -q -O /tmp/install.sh $url/install.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` -#### Virtual Machines - -For virtual machine deployments, using an **Alpine Linux** image is strongly recommended. +### :cloud: Virtual Machines +- **Alpine Linux VM**: It is highly recommended to use an Alpine image for optimal compatibility. ```sh -# Install required dependencies +# Install necessary dependencies apk add --no-cache wget openrc ca-certificates tzdata nftables iproute2 dcron -# Run the installer -export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master' \ +# Execute installation command +export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` -#### Docker + ### :whale: Docker -An official Docker image is available: + Please visit the official Docker image: - [ShellCrash on Docker Hub](https://hub.docker.com/r/juewuy/shellcrash) -### Local Installation -If online installation is not possible, please refer to the following guide for offline or local installation: +### :package: Local Installation -- [Local ShellCrash Installation Guide | Juewuy's Blog](https://juewuy.github.io/bdaz) +If online installation is not possible, please follow the guide for local installation: -## Usage +- [Local ShellCrash Installation Tutorial | Juewuy's Blog](https://juewuy.github.io/bdaz) -After installation, the management script can be accessed using the following commands: +--- -```sh -crash # Enter interactive mode -crash -h # Display help information +## :book: Usage Instructions + +After installation, enter the following commands in the terminal to launch the management interface: + +```shell +crash # Launch the interactive script menu +crash -h # View the list of command help ``` -## Runtime Dependencies +### Running Dependencies +| Component | Necessity | Description | +| :--- | :--- | :--- | +| curl / wget | Mandatory | Required for node saving, online installation, and update operations. | +| iptables / nftables | Critical | Without these, the script can only run in Pure Mode. | +| crontab | Low | Required for scheduled tasks; otherwise, they will not function. | +| net-tools | Very Low | Used for automatic port occupancy detection. | +| ubus / iproute-doc | Very Low | Used for automatically obtaining the local Host address. | -Most systems already include the majority of the following dependencies. Missing low-priority components can usually be ignored if functionality is unaffected. - -| Dependency | Priority | Notes | -|---|---|---| -| curl / wget | Required | Needed for installation, updates, and node persistence | -| iptables / nftables | Important | Without these, only clean mode is available | -| crontab | Low | Required for scheduled tasks | -| net-tools | Very low | Used for detecting port usage | -| ubus / iproute-doc | Very low | Used to obtain the local host address | - -## Changelog - -- [Release History](https://github.com/juewuy/ShellCrash/releases) - -## Community - -- [Telegram Discussion Group](https://t.me/ShellClash) +--- +## :link: Related Links +- FAQ: [Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) +- Changelog: [Release History](https://github.com/juewuy/ShellCrash/releases) +- Discussion: [Telegram Group](https://t.me/ShellClash) From 2d7fbdb443c84b2f869e6cf68c1f0a6e9e2c38ee Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 13 Jan 2026 10:02:29 +0800 Subject: [PATCH 037/318] style: update --- scripts/menus/9_upgrade.sh | 201 +++++++++++++++++++------------------ 1 file changed, 103 insertions(+), 98 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 2a16381a..b648d7b5 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -9,51 +9,56 @@ __IS_MODULE_9_UPGRADE_LOADED=1 . "$CRASHDIR"/libs/web_get_bin.sh -# ============================== menu formatter tools ============================== -# Set the total width of the menu -# (Adjusting this number will automatically change the entire menu, including the separator lines) -# Note: The number represents the number of columns that appear when the "||" appears on the right. +# ================================= table format tools ================================= +# >>>>>>>>>>>>>> + +# set the total width of the menu +# (adjusting this number will automatically change the entire menu, including the separator lines) +# note: The number represents the number of columns that appear when the "||" appears on the right TABLE_WIDTH=60 -# Define two extra-long template strings in advance +# define two extra-long template strings in advance # (the length should be greater than the expected TABLE_WIDTH) FULL_EQ="====================================================================================================" FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " -# Function to print content lines +# function to print content lines # (using cursor jump) -print_content_line() { - echo -e "${1}\033[${TABLE_WIDTH}G||" +content_line() { + echo -e " ${1}\033[${TABLE_WIDTH}G||" } -# Increase the spacing between the front and back forms to improve readability +# function to print sub content lines +# for printing accompanying instructions +sub_content_line() { + echo -e " ${1}\033[${TABLE_WIDTH}G||" + content_line +} + +# increase the spacing between the front +# and back forms to improve readability double_line_break() { printf "\n\n" } -# Function to print separators +# function to print separators # (using string slicing) -# Parameter $1: Pass in "=" or "-" -print_separator_line() { +# parameter $1: pass in "=" or "-" +separator_line() { local separator_type="$1" local output_line="" - - # Calculate the length to be cut: width minus 1 - # (because || occupies space, and it starts from the TABLE_WIDTH cell) local len=$((TABLE_WIDTH - 1)) if [ "$separator_type" == "=" ]; then - # Extract characters from FULL_EQ up to output_line output_line="${FULL_EQ:0:$len}" else - # Extract from FULL_DASH output_line="${FULL_DASH:0:$len}" fi - # Print out the truncated line + the ending || echo "${output_line}||" } -# ============================================================ +# <<<<<<<<<<<<<< +# ================================= table format tools ================================= error_down(){ @@ -71,30 +76,30 @@ upgrade() { core_v_new=$(eval echo \$"$crashcore"_v) # Automatically generate '====' lines - print_separator_line "=" + separator_line "=" - print_content_line " \033[30;47m更新与支持\033[0m" + content_line "\033[30;47m更新与支持\033[0m" # Automatically generate '- - - ' lines - print_separator_line "-" + separator_line "-" - print_content_line " 当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" + content_line "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { - print_content_line " \033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" + content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } - print_separator_line "-" - print_content_line " 1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" - print_content_line " 2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" - print_content_line " 3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" - print_content_line " 4) 安装本地\033[35mDashboard\033[0m面板" - print_content_line " 5) 安装/更新本地\033[33m根证书文件\033[0m" - print_content_line " 6) 查看\033[32mPAC\033[0m自动代理配置" - print_content_line " 7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" - print_content_line " 8) \033[32m配置自动更新\033[0m" - print_content_line " 9) \033[31m卸载ShellCrash\033[0m" - print_content_line " 99) \033[36m鸣谢!\033[0m" - print_content_line " 0) 返回上级菜单" - print_separator_line "=" + separator_line "-" + content_line "1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" + content_line "2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" + content_line "3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" + content_line "4) 安装本地\033[35mDashboard\033[0m面板" + content_line "5) 安装/更新本地\033[33m根证书文件\033[0m" + content_line "6) 查看\033[32mPAC\033[0m自动代理配置" + content_line "7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" + content_line "8) \033[32m配置自动更新\033[0m" + content_line "9) \033[31m卸载ShellCrash\033[0m" + content_line "99) \033[36m鸣谢!\033[0m" + content_line "0) 返回上级菜单" + separator_line "=" read -p "请输入对应数字> " num case "$num" in @@ -119,10 +124,10 @@ upgrade() { setcrt ;; 6) - print_separator_line "=" - print_content_line "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" - print_content_line "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" - print_separator_line "=" + separator_line "=" + content_line "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" + content_line "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" + separator_line "=" sleep 2 ;; 7) @@ -135,48 +140,48 @@ upgrade() { . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; 99) - print_separator_line "=" - print_content_line " 感谢以下项目和作者!" - print_separator_line "-" + separator_line "=" + content_line "感谢以下项目和作者!" + separator_line "-" - print_content_line " \033[32mClash项目 \033[0m作者:\033[36mDreamacro\033[0m" - print_content_line "" + content_line "\033[32mClash项目 \033[0m作者:\033[36mDreamacro\033[0m" + content_line "" - print_content_line " \033[32msing-box项目 \033[0m作者:\033[36mSagerNet\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" - print_content_line "" + content_line "\033[32msing-box项目 \033[0m作者:\033[36mSagerNet\033[0m" + content_line "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" + content_line "" - print_content_line " \033[32mMetaCubeX项目 \033[0m作者:\033[36mMetaCubeX\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" - print_content_line "" + content_line "\033[32mMetaCubeX项目 \033[0m作者:\033[36mMetaCubeX\033[0m" + content_line "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" + content_line "" - print_content_line " \033[32mYACD面板项目 \033[0m作者:\033[36mhaishanh\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" - print_content_line "" + content_line "\033[32mYACD面板项目 \033[0m作者:\033[36mhaishanh\033[0m" + content_line "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" + content_line "" - print_content_line " \033[32mzashboard项目 \033[0m作者:\033[36mZephyruso\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" - print_content_line "" + content_line "\033[32mzashboard项目 \033[0m作者:\033[36mZephyruso\033[0m" + content_line "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" + content_line "" - print_content_line " \033[32mSubconverter \033[0m作者:\033[36mtindy2013\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" - print_content_line "" + content_line "\033[32mSubconverter \033[0m作者:\033[36mtindy2013\033[0m" + content_line "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" + content_line "" - print_content_line " \033[32msing-box分支项目 \033[0m作者:\033[36mPuerNya\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m" - print_content_line "" + content_line "\033[32msing-box分支项目 \033[0m作者:\033[36mPuerNya\033[0m" + content_line "项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m" + content_line "" - print_content_line " \033[32msing-box分支项目 \033[0m作者:\033[36mreF1nd\033[0m" - print_content_line " 项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" - print_content_line "" + content_line "\033[32msing-box分支项目 \033[0m作者:\033[36mreF1nd\033[0m" + content_line "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" + content_line "" - print_content_line " \033[32mDustinWin相关项目 \033[0m作者:\033[36mDustinWin\033[0m" - print_content_line " 作者地址:\033[32mhttps://github.com/DustinWin\033[0m" - print_content_line "" + content_line "\033[32mDustinWin相关项目 \033[0m作者:\033[36mDustinWin\033[0m" + content_line "作者地址:\033[32mhttps://github.com/DustinWin\033[0m" + content_line "" - print_separator_line "-" - print_content_line " 特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" - print_separator_line "=" + separator_line "-" + content_line "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" + separator_line "=" sleep 2 ;; *) @@ -207,7 +212,7 @@ checkupdate(){ } #更新脚本 -getscripts(){ +getscripts(){ get_bin "$TMPDIR"/ShellCrash.tar.gz ShellCrash.tar.gz if [ "$?" != "0" ];then echo -e "\033[33m文件下载失败!\033[0m" @@ -321,7 +326,7 @@ getcore(){ #下载内核文件 #获取在线内核文件 echo "-----------------------------------------------" echo "正在在线获取$crashcore核心文件……" - core_webget + core_webget case "$?" in 0) echo -e "\033[32m$crashcore核心下载成功!\033[0m" @@ -458,16 +463,16 @@ setziptype(){ read -p "请输入对应数字 > " num case "$num" in 0) ;; - 1) + 1) zip_type='upx' ;; - 2) + 2) zip_type='tar.gz' ;; - 3) + 3) zip_type='gz' ;; - *) + *) errornum ;; esac @@ -905,24 +910,24 @@ dbdir() { setdb() { while true; do - print_separator_line "=" - print_content_line " \033[36m安装 dashboard 管理面板到本地\033[0m" - print_content_line " \033[32m打开管理面板的速度更快且更稳定\033[0m" - print_separator_line "-" - - print_content_line " 请选择面板\033[33m安装类型:\033[0m" - print_content_line " - - - - - - -维护中- - - - - - -" - print_content_line " 1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" - print_content_line " 2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" - print_content_line " 3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" - print_content_line " - - - - - -已停止维护- - - - - -" - print_content_line " 4) 安装\033[32m基础面板\033[0m(约500kb)" - print_content_line " 5) 安装\033[32mMeta基础面板\033[0m(约800kb)" - print_content_line " 6) 安装\033[32mYacd面板\033[0m(约1.1mb)" - print_content_line "" - print_content_line " 9) 卸载\033[33m本地面板\033[0m" - print_content_line " 0) 返回上级菜单" - print_separator_line "=" + separator_line "=" + content_line "\033[36m安装 dashboard 管理面板到本地\033[0m" + content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m" + separator_line "-" + + content_line "请选择面板\033[33m安装类型:\033[0m" + content_line " - - - - - - -维护中- - - - - - -" + content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" + content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" + content_line "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" + content_line " - - - - - -已停止维护- - - - - -" + content_line "4) 安装\033[32m基础面板\033[0m(约500kb)" + content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" + content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" + content_line "" + content_line "9) 卸载\033[33m本地面板\033[0m" + content_line "0) 返回上级菜单" + separator_line "=" read -p "请输入对应数字 > " num case "$num" in @@ -1050,7 +1055,7 @@ setserver() { [ "$release_type" = master ] && release_name=公测版 [ "$release_type" = dev ] && release_name=开发版 [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" - + echo "-----------------------------------------------" echo -e "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" echo -e "当前版本:\033[4;33m$release_name\033[0m 当前源:\033[4;32m$url_name\033[0m" From 08f346a6f448625581740b4a24ed211d7e73076f Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 13 Jan 2026 12:51:01 +0800 Subject: [PATCH 038/318] fix: use quotation marks to prevent word splitting --- install.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/install.sh b/install.sh index 9609ae45..74989653 100644 --- a/install.sh +++ b/install.sh @@ -108,7 +108,7 @@ webget() { if curl --version >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-s' || progress='-#' [ -z "$4" ] && redirect='-L' || redirect='' - result=$(curl -w %{http_code} --connect-timeout 5 $progress $redirect -ko $1 $2) + result=$(curl -w %{http_code} --connect-timeout 5 "$progress" "$redirect" -ko "$1" "$2") # === original version === # [ -n "$(echo $result | grep -e ^2)" ] && result="200" @@ -129,7 +129,7 @@ webget() { fi [ "$3" = "echoon" ] && progress='' [ "$3" = "echooff" ] && progress='-q' - wget $progress $redirect $certificate $timeout -O $1 $2 + wget "$progress" "$redirect" "$certificate" "$timeout" -O "$1" "$2" [ $? -eq 0 ] && result="200" fi } @@ -189,12 +189,12 @@ gettar() { exit 1 else content_line "下载成功" - $CRASHDIR/start.sh stop 2>/dev/null + "$CRASHDIR"/start.sh stop 2>/dev/null # 解压 content_line "开始解压文件......" - mkdir -p $CRASHDIR >/dev/null - tar -zxf '/tmp/ShellCrash.tar.gz' -C $CRASHDIR/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C $CRASHDIR/ - if [ -s $CRASHDIR/init.sh ]; then + mkdir -p "$CRASHDIR" >/dev/null + tar -zxf '/tmp/ShellCrash.tar.gz' -C "$CRASHDIR"/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C "$CRASHDIR"/ + if [ -s "$CRASHDIR"/init.sh ]; then content_line "解压成功" separator_line "=" set_alias @@ -330,7 +330,7 @@ set_cust_dir() { return 1 ;; *) - if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then + if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -E 'tmp|opt|sys')" ]; then invalid_input_retry continue fi @@ -640,7 +640,7 @@ separator_line "=" [ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot # NETGEAR设备 # 检查root权限 -if [ "$USER" != "root" -a -z "$systype" ]; then +if [ "$USER" != "root" ] && [ -z "$systype" ]; then while true; do double_line_break separator_line "=" From f833bb9ce776a104c329174014847f2b6ef490d5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 14 Jan 2026 19:09:39 +0800 Subject: [PATCH 039/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=97=B6?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=A8=A1=E7=89=88=E6=8A=A5=E9=94=99=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/6_core_config.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index bb1d4615..8cf80fa2 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -372,13 +372,13 @@ EOF } } if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then - provider_temp_file="$TMPDIR/$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $2}')" + provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $2}')" else provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') fi echo "-----------------------------------------------" - if [ -s "$provider_temp_file" ];then - ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file + if [ -s "$TMPDIR/$provider_temp_file" ];then + ln -sf "$TMPDIR/$provider_temp_file" "$TMPDIR"/provider_temp_file else echo -e "\033[33m正在获取在线模版!\033[0m" get_bin "$TMPDIR"/provider_temp_file "rules/${coretype}_providers/$provider_temp_file" From 690db2fe73db871bfc33946728f108d73278f446 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 14 Jan 2026 20:20:25 +0800 Subject: [PATCH 040/318] ~Add i18n support for 1_start.sh --- scripts/lang/chs/1_start.lang | 11 +++++++ scripts/lang/en/1_start.lang | 11 +++++++ scripts/menus/1_start.sh | 62 ++++++++++++++++++++++------------- 3 files changed, 61 insertions(+), 23 deletions(-) create mode 100644 scripts/lang/chs/1_start.lang create mode 100644 scripts/lang/en/1_start.lang diff --git a/scripts/lang/chs/1_start.lang b/scripts/lang/chs/1_start.lang new file mode 100644 index 00000000..275f0996 --- /dev/null +++ b/scripts/lang/chs/1_start.lang @@ -0,0 +1,11 @@ +# ===== 启动完成 ===== +START_SERVICE_OK="服务已启动!" +START_WEB_HINT="请使用" +START_WEB_HINT2="管理内置规则" +START_PAC_HINT="其他设备可使用 PAC 配置:" +START_PROXY_HINT="或使用 HTTP / SOCKS5 方式连接:" + +# ===== 启动流程 ===== +START_NO_CORE_CFG_TRY_GEN="没有找到核心配置文件,尝试生成 providers 配置文件!" +START_NO_CORE_CFG_IMPORT_FIRST="没有找到核心配置文件,请先导入配置文件!" +START_FIREWALL_DONE="已完成防火墙设置!" diff --git a/scripts/lang/en/1_start.lang b/scripts/lang/en/1_start.lang new file mode 100644 index 00000000..c45276af --- /dev/null +++ b/scripts/lang/en/1_start.lang @@ -0,0 +1,11 @@ +# ===== Startup ===== +START_SERVICE_OK="Service started successfully!" +START_WEB_HINT="Please use" +START_WEB_HINT2="manage built-in rules" +START_PAC_HINT="Other devices can connect using PAC configuration:" +START_PROXY_HINT="Or connect using HTTP / SOCKS5:" + +# ===== Startup Flow ===== +START_NO_CORE_CFG_TRY_GEN="Core configuration not found. Attempting to generate providers configuration!" +START_NO_CORE_CFG_IMPORT_FIRST="Core configuration not found. Please import a configuration first!" +START_FIREWALL_DONE="Firewall configuration completed!" diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index c3c39249..6f0cc258 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -3,49 +3,65 @@ [ -n "$__IS_MODULE_1_START_LOADED" ] && return __IS_MODULE_1_START_LOADED=1 +load_lang 1_start -#启动相关 +# ===== 启动完成提示 ===== startover() { echo -ne " \r" - echo -e "\033[32m服务已启动!\033[0m" - echo -e "请使用 \033[4;36mhttp://$host$hostdir\033[0m 管理内置规则" + echo -e "\033[32m$START_SERVICE_OK\033[0m" + echo -e "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m $START_WEB_HINT2" + if [ "$redir_mod" = "纯净模式" ]; then echo "-----------------------------------------------" - echo -e "其他设备可以使用PAC配置连接:\033[4;32mhttp://$host:$db_port/ui/pac\033[0m" - echo -e "或者使用HTTP/SOCK5方式连接:IP{\033[36m$host\033[0m}Port{\033[36m$mix_port\033[0m}" + echo -e "$START_PAC_HINT \033[4;32mhttp://$host:$db_port/ui/pac\033[0m" + echo -e "$START_PROXY_HINT IP{\033[36m$host\033[0m} Port{\033[36m$mix_port\033[0m}" fi return 0 } + +# ===== 启动核心 ===== start_core() { if echo "$crashcore" | grep -q 'singbox'; then - core_config="$CRASHDIR"/jsons/config.json + core_config="$CRASHDIR/jsons/config.json" else - core_config="$CRASHDIR"/yamls/config.yaml + core_config="$CRASHDIR/yamls/config.yaml" fi + echo "-----------------------------------------------" - if [ ! -s $core_config -a -s "$CRASHDIR"/configs/providers.cfg ]; then - echo -e "\033[33m没有找到${crashcore}配置文件,尝试生成providers配置文件!\033[0m" + + if [ ! -s "$core_config" ] && [ -s "$CRASHDIR/configs/providers.cfg" ]; then + echo -e "\033[33m$START_NO_CORE_CFG_TRY_GEN\033[0m" + [ "$crashcore" = singboxr ] && coretype=singbox [ "$crashcore" = meta -o "$crashcore" = clashpre ] && coretype=clash - . "$CRASHDIR"/menus/6_core_config.sh && gen_${coretype}_providers - elif [ -s $core_config -o -n "$Url" -o -n "$Https" ]; then - "$CRASHDIR"/start.sh start - #设置循环检测以判定服务启动是否成功 - . "$CRASHDIR"/libs/start_wait.sh - [ -n "$test" -o -n "$(pidof CrashCore)" ] && { - #启动TG机器人 - [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_start - startover - } + + . "$CRASHDIR/menus/6_core_config.sh" && gen_${coretype}_providers + + elif [ -s "$core_config" ] || [ -n "$Url" ] || [ -n "$Https" ]; then + "$CRASHDIR/start.sh" start + + # 循环检测服务启动状态 + . "$CRASHDIR/libs/start_wait.sh" + + [ -n "$test" ] || pidof CrashCore >/dev/null && { + # 启动 TG 机器人 + if [ "$bot_tg_service" = ON ]; then + . "$CRASHDIR/menus/bot_tg_service.sh" && bot_tg_start + fi + startover + } + else - echo -e "\033[31m没有找到${crashcore}配置文件,请先导入配置文件!\033[0m" - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + echo -e "\033[31m$START_NO_CORE_CFG_IMPORT_FIRST\033[0m" + . "$CRASHDIR/menus/6_core_config.sh" && set_core_config fi } + +# ===== 启动服务入口 ===== start_service() { if [ "$firewall_area" = 5 ]; then - "$CRASHDIR"/start.sh start - echo -e "\033[32m已完成防火墙设置!\033[0m" + "$CRASHDIR/start.sh" start + echo -e "\033[32m$START_FIREWALL_DONE\033[0m" else start_core fi From 7c3039ea68f0eff0bdcb56747ba6d6a6f5a1cc4d Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Wed, 14 Jan 2026 20:28:06 +0800 Subject: [PATCH 041/318] refactor: replace recursion with while loop in main_menu --- scripts/menu.sh | 154 +++++++++++++++++++++++------------------------- 1 file changed, 74 insertions(+), 80 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index d1be37fd..138da872 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -159,88 +159,82 @@ ckstatus() { #脚本启动前检查 } main_menu() { - ckstatus + while true; do + ckstatus - echo -e " 1 \033[32m$MENU_MAIN_1\033[0m" - echo -e " 2 \033[36m$MENU_MAIN_2\033[0m" - echo -e " 3 \033[31m$MENU_MAIN_3\033[0m" - echo -e " 4 \033[33m$MENU_MAIN_4\033[0m" - echo -e " 5 \033[32m$MENU_MAIN_5\033[0m" - echo -e " 6 \033[36m$MENU_MAIN_6\033[0m" - echo -e " 7 \033[33m$MENU_MAIN_7\033[0m" - echo -e " 8 $MENU_MAIN_8" - echo -e " 9 \033[32m$MENU_MAIN_9\033[0m" - echo "-----------------------------------------------" - echo -e " 0 $MENU_MAIN_0" - - read -p "$MENU_MAIN_PROMPT" num - - case "$num" in - 0) - exit - ;; - 1) - start_service - exit - ;; - 2) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/2_settings.sh && settings - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - main_menu - ;; - 3) - [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop - "$CRASHDIR"/start.sh stop - sleep 1 + echo -e " 1 \033[32m$MENU_MAIN_1\033[0m" + echo -e " 2 \033[36m$MENU_MAIN_2\033[0m" + echo -e " 3 \033[31m$MENU_MAIN_3\033[0m" + echo -e " 4 \033[33m$MENU_MAIN_4\033[0m" + echo -e " 5 \033[32m$MENU_MAIN_5\033[0m" + echo -e " 6 \033[36m$MENU_MAIN_6\033[0m" + echo -e " 7 \033[33m$MENU_MAIN_7\033[0m" + echo -e " 8 $MENU_MAIN_8" + echo -e " 9 \033[32m$MENU_MAIN_9\033[0m" echo "-----------------------------------------------" - echo -e "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" - main_menu - ;; - 4) - . "$CRASHDIR"/menus/4_setboot.sh && setboot - main_menu - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - main_menu - ;; - 6) - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - main_menu - ;; - 7) - GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg - touch "$GT_CFG_PATH" - checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") - . "$CRASHDIR"/menus/7_gateway.sh && gateway - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - main_menu - ;; - 8) - . "$CRASHDIR"/menus/8_tools.sh && tools - main_menu - ;; - 9) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/9_upgrade.sh && upgrade - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - main_menu - ;; - *) - errornum - exit - ;; - esac + echo -e " 0 $MENU_MAIN_0" + + read -p "$MENU_MAIN_PROMPT" num + + case "$num" in + "" | 0) + exit + ;; + 1) + start_service + exit + ;; + 2) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/2_settings.sh && settings + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 3) + [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop + "$CRASHDIR"/start.sh stop + sleep 1 + echo "-----------------------------------------------" + echo -e "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" + ;; + 4) + . "$CRASHDIR"/menus/4_setboot.sh && setboot + ;; + 5) + . "$CRASHDIR"/menus/5_task.sh && task_menu + ;; + 6) + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + ;; + 7) + GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg + touch "$GT_CFG_PATH" + checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") + . "$CRASHDIR"/menus/7_gateway.sh && gateway + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 8) + . "$CRASHDIR"/menus/8_tools.sh && tools + ;; + 9) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/9_upgrade.sh && upgrade + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + *) + errornum + sleep 1 + ;; + esac + done } case "$1" in From 602f3e2890d9550b277bf4cefcb66826244029e8 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Wed, 14 Jan 2026 20:52:22 +0800 Subject: [PATCH 042/318] fix: add double quote to prevent globbing and word splitting --- scripts/menus/9_upgrade.sh | 1056 ++++++++++++++++++------------------ 1 file changed, 528 insertions(+), 528 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 387dbe21..042a96f9 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -8,10 +8,10 @@ __IS_MODULE_9_UPGRADE_LOADED=1 . "$CRASHDIR"/libs/check_cpucore.sh . "$CRASHDIR"/libs/web_get_bin.sh -error_down(){ - echo -e "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" - echo -e "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" - sleep 1 +error_down() { + echo -e "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" + echo -e "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" + sleep 1 } # 更新/卸载功能菜单 @@ -46,7 +46,7 @@ upgrade() { echo "-----------------------------------------------" read -p "请输入对应数字 > " num case "$num" in - ""|0) + "" | 0) break ;; 1) @@ -97,136 +97,136 @@ upgrade() { ;; *) errornum - sleep 1 - break + sleep 1 + break ;; esac done } #检查更新 -checkupdate(){ - echo -ne "\033[32m正在检查更新!\033[0m\r" - get_bin "$TMPDIR"/version_new version echooff - [ "$?" = "0" ] && { - version_new=$(cat "$TMPDIR"/version_new) - get_bin "$TMPDIR"/version_new bin/version echooff - } - if [ "$?" = "0" ];then - . "$TMPDIR"/version_new 2>/dev/null - else - echo -e "\033[31m检查更新失败!请尝试切换其他安装源!\033[0m" - setserver - [ "$checkupdate" = false ] || checkupdate - fi - rm -rf "$TMPDIR"/version_new +checkupdate() { + echo -ne "\033[32m正在检查更新!\033[0m\r" + get_bin "$TMPDIR"/version_new version echooff + [ "$?" = "0" ] && { + version_new=$(cat "$TMPDIR"/version_new) + get_bin "$TMPDIR"/version_new bin/version echooff + } + if [ "$?" = "0" ]; then + . "$TMPDIR"/version_new 2>/dev/null + else + echo -e "\033[31m检查更新失败!请尝试切换其他安装源!\033[0m" + setserver + [ "$checkupdate" = false ] || checkupdate + fi + rm -rf "$TMPDIR"/version_new } #更新脚本 -getscripts(){ - get_bin "$TMPDIR"/ShellCrash.tar.gz ShellCrash.tar.gz - if [ "$?" != "0" ];then - echo -e "\033[33m文件下载失败!\033[0m" - error_down - else - "$CRASHDIR"/start.sh stop 2>/dev/null - #解压 - echo "-----------------------------------------------" - echo "开始解压文件!" - mkdir -p "$CRASHDIR" > /dev/null - tar -zxf "$TMPDIR/ShellCrash.tar.gz" ${tar_para} -C "$CRASHDIR"/ - if [ $? -ne 0 ];then - echo -e "\033[33m文件解压失败!\033[0m" - error_down - else - . "$CRASHDIR"/init.sh >/dev/null - echo -e "\033[32m脚本更新成功!\033[0m" - fi - fi - rm -rf "$TMPDIR"/ShellCrash.tar.gz - exit +getscripts() { + get_bin "$TMPDIR"/ShellCrash.tar.gz ShellCrash.tar.gz + if [ "$?" != "0" ]; then + echo -e "\033[33m文件下载失败!\033[0m" + error_down + else + "$CRASHDIR"/start.sh stop 2>/dev/null + #解压 + echo "-----------------------------------------------" + echo "开始解压文件!" + mkdir -p "$CRASHDIR" >/dev/null + tar -zxf "$TMPDIR/ShellCrash.tar.gz" ${tar_para} -C "$CRASHDIR"/ + if [ $? -ne 0 ]; then + echo -e "\033[33m文件解压失败!\033[0m" + error_down + else + . "$CRASHDIR"/init.sh >/dev/null + echo -e "\033[32m脚本更新成功!\033[0m" + fi + fi + rm -rf "$TMPDIR"/ShellCrash.tar.gz + exit } -setscripts(){ - echo "-----------------------------------------------" - echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m" - echo -e "最新脚本版本为:\033[32m $version_new \033[0m" - echo -e "注意更新时会停止服务!" - echo "-----------------------------------------------" - read -p "是否更新脚本?[1/0] > " res - if [ "$res" = '1' ]; then - #下载更新 - getscripts - #提示 - echo "-----------------------------------------------" - echo -e "\033[32m管理脚本更新成功!\033[0m" - echo "-----------------------------------------------" - exit; - fi +setscripts() { + echo "-----------------------------------------------" + echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m" + echo -e "最新脚本版本为:\033[32m $version_new \033[0m" + echo -e "注意更新时会停止服务!" + echo "-----------------------------------------------" + read -p "是否更新脚本?[1/0] > " res + if [ "$res" = '1' ]; then + #下载更新 + getscripts + #提示 + echo "-----------------------------------------------" + echo -e "\033[32m管理脚本更新成功!\033[0m" + echo "-----------------------------------------------" + exit + fi } #更新内核 -setcpucore(){ #手动设置内核架构 - cpucore_list="armv5 armv7 arm64 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" - echo "-----------------------------------------------" - echo -e "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" - echo -e "当前可供在线下载的处理器架构为:" - echo $cpucore_list | awk -F " " '{for(i=1;i<=NF;i++) {print i" "$i }}' - echo -e "不知道如何获取核心版本?请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - [ -n "$num" ] && setcpucore=$(echo $cpucore_list | awk '{print $"'"$num"'"}' ) - if [ -z "$setcpucore" ];then - echo -e "\033[31m请输入正确的处理器架构!\033[0m" - sleep 1 - cpucore="" - else - cpucore=$setcpucore - setconfig cpucore $cpucore - fi +setcpucore() { #手动设置内核架构 + cpucore_list="armv5 armv7 arm64 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" + echo "-----------------------------------------------" + echo -e "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" + echo -e "当前可供在线下载的处理器架构为:" + echo "$cpucore_list" | awk -F " " '{for(i=1;i<=NF;i++) {print i" "$i }}' + echo -e "不知道如何获取核心版本?请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + [ -n "$num" ] && setcpucore=$(echo "$cpucore_list" | awk '{print $"'"$num"'"}') + if [ -z "$setcpucore" ]; then + echo -e "\033[31m请输入正确的处理器架构!\033[0m" + sleep 1 + cpucore="" + else + cpucore=$setcpucore + setconfig cpucore "$cpucore" + fi } -setcoretype(){ #手动指定内核类型 - echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash - echo -e "\033[33m请确认该自定义内核的类型:\033[0m" - echo -e " 1 Clash基础内核" - echo -e " 2 Clash-Premium内核" - echo -e " 3 Mihomo(Meta)内核" - echo -e " 4 Sing-Box内核" - echo -e " 5 Sing-Box-reF1nd内核" - read -p "请输入对应数字 > " num - case "$num" in - 2) crashcore=clashpre ;; - 3) crashcore=meta ;; - 4) crashcore=singbox ;; - 5) crashcore=singboxr ;; - *) crashcore=clash ;; - esac - echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash +setcoretype() { #手动指定内核类型 + echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash + echo -e "\033[33m请确认该自定义内核的类型:\033[0m" + echo -e " 1 Clash基础内核" + echo -e " 2 Clash-Premium内核" + echo -e " 3 Mihomo(Meta)内核" + echo -e " 4 Sing-Box内核" + echo -e " 5 Sing-Box-reF1nd内核" + read -p "请输入对应数字 > " num + case "$num" in + 2) crashcore=clashpre ;; + 3) crashcore=meta ;; + 4) crashcore=singbox ;; + 5) crashcore=singboxr ;; + *) crashcore=clash ;; + esac + echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash } -switch_core(){ #clash与singbox内核切换 - #singbox和clash内核切换时提示是否保留文件 - [ "$core_new" != "$core_old" ] && { - [ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns - [ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns - echo -e "\033[33m已从$core_old内核切换至$core_new内核\033[0m" - echo -e "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" - read -p "是否保留相关数据库文件?(1/0) > " res - [ "$res" = '0' ] && { - [ "$core_old" = "clash" ] && { - geodate='Country.mmdb GeoSite.dat ruleset/*.mrs ruleset/*.yaml ruleset/*.yml' - geodate_v='Country_v cn_mini_v geosite_v mrs_geosite_cn_v' - } - [ "$core_old" = "singbox" ] && { - geodate='geoip.db geosite.db ruleset/*.srs ruleset/*.json' - geodate_v='geoip_cn_v geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v' - } - for text in ${geodate} ;do - rm -rf "$CRASHDIR"/${text} - done - for text in ${geodate_v} ;do - setconfig "$text" - done - } - } +switch_core() { #clash与singbox内核切换 + #singbox和clash内核切换时提示是否保留文件 + [ "$core_new" != "$core_old" ] && { + [ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns + [ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns + echo -e "\033[33m已从$core_old内核切换至$core_new内核\033[0m" + echo -e "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" + read -p "是否保留相关数据库文件?(1/0) > " res + [ "$res" = '0' ] && { + [ "$core_old" = "clash" ] && { + geodate='Country.mmdb GeoSite.dat ruleset/*.mrs ruleset/*.yaml ruleset/*.yml' + geodate_v='Country_v cn_mini_v geosite_v mrs_geosite_cn_v' + } + [ "$core_old" = "singbox" ] && { + geodate='geoip.db geosite.db ruleset/*.srs ruleset/*.json' + geodate_v='geoip_cn_v geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v' + } + for text in ${geodate}; do + rm -rf "$CRASHDIR"/${text} + done + for text in ${geodate_v}; do + setconfig "$text" + done + } + } } # 下载内核文件 @@ -254,8 +254,8 @@ getcore() { ;; *) echo -e "\033[31m核心文件下载成功但校验失败!请尝试手动指定CPU版本\033[0m" - rm -rf ${TMPDIR}/core_new - rm -rf ${TMPDIR}/core_new.tar.gz + rm -rf "${TMPDIR}"/core_new + rm -rf "${TMPDIR}"/core_new.tar.gz setcpucore ;; esac @@ -265,12 +265,12 @@ checkcustcore() { [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" # 通过githubapi获取内核信息 echo -e "\033[32m正在获取内核文件链接!\033[0m" - webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url} + webget "$TMPDIR"/github_api https://api.github.com/repos/"${project}"/releases/"${api_url}" if [ "$?" = 0 ]; then release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') release_date=$(cat "$TMPDIR"/github_api | grep '"published_at":' | awk -F '"' '{print $4}') update_date=$(cat "$TMPDIR"/github_api | grep '"updated_at":' | head -n 1 | awk -F '"' '{print $4}') - [ -n "$(echo $cpucore | grep mips)" ] && cpu_type=mips || cpu_type=$cpucore + [ -n "$(echo "$cpucore" | grep mips)" ] && cpu_type=mips || cpu_type=$cpucore cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE "https://github.com/${project}/releases/download.*linux.*${cpu_type}.*\.gz\"$" | sed 's/"//' >"$TMPDIR"/core.list rm -rf "$TMPDIR"/github_api @@ -380,32 +380,32 @@ setcustcore() { done } -setziptype(){ - echo "-----------------------------------------------" - echo -e "请选择内核内核分支及压缩方式:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[36m最简编译release版本,upx压缩\033[0m-不支持Gvisor,Tailscale,Wireguard,NaiveProxy" - echo -e " 2 \033[32m标准编译release版本,tar.gz压缩\033[0m-完整支持脚本全部内置功能" - echo -e " 3 \033[33m完整编译alpha版本,gz压缩\033[0m-占用可能略高,稳定性自测" - echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - zip_type='upx' - ;; - 2) - zip_type='tar.gz' - ;; - 3) - zip_type='gz' - ;; - *) - errornum - ;; - esac - setconfig zip_type "$zip_type" +setziptype() { + echo "-----------------------------------------------" + echo -e "请选择内核内核分支及压缩方式:\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[36m最简编译release版本,upx压缩\033[0m-不支持Gvisor,Tailscale,Wireguard,NaiveProxy" + echo -e " 2 \033[32m标准编译release版本,tar.gz压缩\033[0m-完整支持脚本全部内置功能" + echo -e " 3 \033[33m完整编译alpha版本,gz压缩\033[0m-占用可能略高,稳定性自测" + echo "-----------------------------------------------" + echo " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + 0) ;; + 1) + zip_type='upx' + ;; + 2) + zip_type='tar.gz' + ;; + 3) + zip_type='gz' + ;; + *) + errornum + ;; + esac + setconfig zip_type "$zip_type" } # 内核选择菜单 @@ -415,7 +415,7 @@ setcore() { [ -z "$crashcore" ] && crashcore="unknow" [ -z "$zip_type" ] && zip_type="tar.gz" echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash - [ -n "$custcorelink" ] && custcore="$(echo $custcorelink | sed 's#.*github.com##; s#/releases/download/#@#; s#-linux.*$##')" + [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#; s#-linux.*$##')" ### echo "-----------------------------------------------" [ -z "$cpucore" ] && check_cpucore @@ -505,53 +505,53 @@ setcore() { } #数据库 -getgeo(){ #下载Geo文件 - #生成链接 - echo "-----------------------------------------------" - echo "正在从服务器获取数据库文件…………" - get_bin "$TMPDIR"/${geoname} bin/geodata/$geotype - if [ "$?" = "1" ];then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" - error_down - else - echo "$geoname" | grep -Eq '.mrs|.srs|.tar.gz' && { - geofile='ruleset/' - [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset - } - if echo "$geoname" | grep -Eq '.tar.gz';then - tar -zxf "$TMPDIR"/${geoname} ${tar_para} -C "$BINDIR"/${geofile} > /dev/null - [ $? -ne 0 ] && echo "文件解压失败!" && rm -rf "$TMPDIR"/${geoname} && exit 1 - rm -rf "$TMPDIR"/${geoname} - else - mv -f "$TMPDIR"/${geoname} "$BINDIR"/${geofile}${geoname} - fi - echo "-----------------------------------------------" - echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" - geo_v="$(echo $geotype | awk -F "." '{print $1}')_v" - setconfig $geo_v $GeoIP_v - fi - sleep 1 +getgeo() { #下载Geo文件 + #生成链接 + echo "-----------------------------------------------" + echo "正在从服务器获取数据库文件......" + get_bin "$TMPDIR"/"${geoname}" bin/geodata/"$geotype" + if [ "$?" = "1" ]; then + echo "-----------------------------------------------" + echo -e "\033[31m文件下载失败!\033[0m" + error_down + else + echo "$geoname" | grep -Eq '.mrs|.srs|.tar.gz' && { + geofile='ruleset/' + [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset + } + if echo "$geoname" | grep -Eq '.tar.gz'; then + tar -zxf "$TMPDIR"/"${geoname}" "${tar_para}" -C "$BINDIR"/"${geofile}" >/dev/null + [ $? -ne 0 ] && echo "文件解压失败!" && rm -rf "$TMPDIR"/${geoname} && exit 1 + rm -rf "$TMPDIR"/${geoname} + else + mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" + fi + echo "-----------------------------------------------" + echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" + geo_v="$(echo "$geotype" | awk -F "." '{print $1}')_v" + setconfig "$geo_v" "$GeoIP_v" + fi + sleep 1 } -getcustgeo(){ - echo "-----------------------------------------------" - echo "正在获取数据库文件…………" - webget "$TMPDIR"/$geoname $custgeolink - if [ "$?" = "1" ];then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" - error_down - else - echo "$geoname" | grep -Eq '.mrs|.srs' && { - geofile='ruleset/' - [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset - } - mv -f "$TMPDIR"/${geoname} "$BINDIR"/${geofile}${geoname} - echo "-----------------------------------------------" - echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" - fi - sleep 1 +getcustgeo() { + echo "-----------------------------------------------" + echo "正在获取数据库文件......" + webget "$TMPDIR"/"$geoname" "$custgeolink" + if [ "$?" = "1" ]; then + echo "-----------------------------------------------" + echo -e "\033[31m文件下载失败!\033[0m" + error_down + else + echo "$geoname" | grep -Eq '.mrs|.srs' && { + geofile='ruleset/' + [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset + } + mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" + echo "-----------------------------------------------" + echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" + fi + sleep 1 } checkcustgeo() { @@ -578,9 +578,9 @@ checkcustgeo() { [1-99]) if [ "$num" -le "$(wc -l <"$TMPDIR"/geo.list)" ]; then geotype=$(sed -n "$num"p "$TMPDIR"/geo.list) - [ -n "$(echo $geotype | grep -oiE 'GeoSite.*dat')" ] && geoname=GeoSite.dat - [ -n "$(echo $geotype | grep -oiE 'Country.*mmdb')" ] && geoname=Country.mmdb - [ -n "$(echo $geotype | grep -oiE '.*(.srs|.mrs)')" ] && geoname=$geotype + [ -n "$(echo "$geotype" | grep -oiE 'GeoSite.*dat')" ] && geoname=GeoSite.dat + [ -n "$(echo "$geotype" | grep -oiE 'Country.*mmdb')" ] && geoname=Country.mmdb + [ -n "$(echo "$geotype" | grep -oiE '.*(.srs|.mrs)')" ] && geoname=$geotype custgeolink=https://github.com/${project}/releases/download/${release_tag}/${geotype} getcustgeo else @@ -604,151 +604,151 @@ checkcustgeo() { # 下载自定义数据库文件 setcustgeo() { - while true; do - rm -rf "$TMPDIR"/geo.list - echo "-----------------------------------------------" - echo -e "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" - echo -e "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" - echo -e "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" - echo -e "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" - echo -e "\033[0m请选择需要更新的数据库项目来源:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m (仅限Clash/Mihomo)" - echo -e " 2 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Clash/Mihomo)" - echo -e " 3 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限SingBox-srs)" - echo -e " 4 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Mihomo-mrs)" - echo -e " 5 \033[36;4mhttps://github.com/Loyalsoldier/geoip\033[0m (仅限Clash-GeoIP)" - echo "-----------------------------------------------" - echo -e " 9 \033[33m自定义数据库链接 \033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - ""|0) - break - ;; - 1) - project=MetaCubeX/meta-rules-dat - api_tag=latest - checkcustgeo - ;; - 2) - project=DustinWin/ruleset_geodata - api_tag=mihomo-geodata - checkcustgeo - ;; - 3) - project=DustinWin/ruleset_geodata - api_tag=sing-box-ruleset - checkcustgeo - ;; - 4) - project=DustinWin/ruleset_geodata - api_tag=mihomo-ruleset - checkcustgeo - ;; - 5) - project=Loyalsoldier/geoip - api_tag=latest - checkcustgeo - ;; - 9) - read -p "请输入自定义数据库的链接地址 > " link - [ -n "$link" ] && custgeolink="$link" - getgeo - ;; - *) - errornum - sleep 1 - break - ;; - esac - done + while true; do + rm -rf "$TMPDIR"/geo.list + echo "-----------------------------------------------" + echo -e "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" + echo -e "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" + echo -e "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" + echo -e "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" + echo -e "\033[0m请选择需要更新的数据库项目来源:\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m (仅限Clash/Mihomo)" + echo -e " 2 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Clash/Mihomo)" + echo -e " 3 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限SingBox-srs)" + echo -e " 4 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Mihomo-mrs)" + echo -e " 5 \033[36;4mhttps://github.com/Loyalsoldier/geoip\033[0m (仅限Clash-GeoIP)" + echo "-----------------------------------------------" + echo -e " 9 \033[33m自定义数据库链接 \033[0m" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + project=MetaCubeX/meta-rules-dat + api_tag=latest + checkcustgeo + ;; + 2) + project=DustinWin/ruleset_geodata + api_tag=mihomo-geodata + checkcustgeo + ;; + 3) + project=DustinWin/ruleset_geodata + api_tag=sing-box-ruleset + checkcustgeo + ;; + 4) + project=DustinWin/ruleset_geodata + api_tag=mihomo-ruleset + checkcustgeo + ;; + 5) + project=Loyalsoldier/geoip + api_tag=latest + checkcustgeo + ;; + 9) + read -p "请输入自定义数据库的链接地址 > " link + [ -n "$link" ] && custgeolink="$link" + getgeo + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } setgeo() { - while true; do - . $CFG_PATH > /dev/null - [ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版 - echo "-----------------------------------------------" - echo -e "\033[36m请选择需要更新的Geo数据库文件:\033[0m" - echo -e "\033[36mMihomo内核和SingBox内核的数据库文件不通用\033[0m" - echo -e "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" - echo "-----------------------------------------------" - echo -e " 1 CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" - echo -e " 2 CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" - echo "-----------------------------------------------" - echo -e " 3 Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" - echo -e " 4 Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" - echo "-----------------------------------------------" - echo -e " 5 Mihomo-mrs数据库常用包(约1mb,非必要勿用)" - echo -e " 6 Singbox-srs数据库常用包(约0.8mb,非必要勿用)" - echo "-----------------------------------------------" - echo -e " 8 \033[32m自定义数据库文件\033[0m" - echo -e " 9 \033[31m清理数据库文件\033[0m" - echo " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - ""|0) - break - ;; - 1) - geotype=china_ip_list.txt - geoname=cn_ip.txt - getgeo - ;; - 2) - geotype=china_ipv6_list.txt - geoname=cn_ipv6.txt - getgeo - ;; - 3) - geotype=cn_mini.mmdb - geoname=Country.mmdb - getgeo - ;; - 4) - geotype=geosite.dat - geoname=GeoSite.dat - getgeo - ;; - 5) - geotype=mrs.tar.gz - geoname=mrs.tar.gz - getgeo - ;; - 6) - geotype=srs.tar.gz - geoname=srs.tar.gz - getgeo - ;; - 8) - setcustgeo - ;; - 9) - echo "-----------------------------------------------" - echo -e "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" - echo -e "\033[36m清理后启动服务即可自动下载所需文件~\033[0m" - echo "-----------------------------------------------" - read -p "确认清理?[1/0] > " res - [ "$res" = '1' ] && { - for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db;do - rm -rf $CRASHDIR/$file - done - for var in Country_v cn_mini_v china_ip_list_v china_ipv6_list_v geosite_v geoip_cn_v geosite_cn_v mrs_geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v mrs_v srs_v;do - setconfig $var - done - rm -rf $CRASHDIR/ruleset/* - echo -e "\033[33m所有数据库文件均已清理!\033[0m" - sleep 1 - } - ;; - *) - errornum - sleep 1 - break - ;; - esac -done + while true; do + . $CFG_PATH >/dev/null + [ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版 + echo "-----------------------------------------------" + echo -e "\033[36m请选择需要更新的Geo数据库文件:\033[0m" + echo -e "\033[36mMihomo内核和SingBox内核的数据库文件不通用\033[0m" + echo -e "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" + echo "-----------------------------------------------" + echo -e " 1 CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" + echo -e " 2 CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" + echo "-----------------------------------------------" + echo -e " 3 Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" + echo -e " 4 Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" + echo "-----------------------------------------------" + echo -e " 5 Mihomo-mrs数据库常用包(约1mb,非必要勿用)" + echo -e " 6 Singbox-srs数据库常用包(约0.8mb,非必要勿用)" + echo "-----------------------------------------------" + echo -e " 8 \033[32m自定义数据库文件\033[0m" + echo -e " 9 \033[31m清理数据库文件\033[0m" + echo " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + geotype=china_ip_list.txt + geoname=cn_ip.txt + getgeo + ;; + 2) + geotype=china_ipv6_list.txt + geoname=cn_ipv6.txt + getgeo + ;; + 3) + geotype=cn_mini.mmdb + geoname=Country.mmdb + getgeo + ;; + 4) + geotype=geosite.dat + geoname=GeoSite.dat + getgeo + ;; + 5) + geotype=mrs.tar.gz + geoname=mrs.tar.gz + getgeo + ;; + 6) + geotype=srs.tar.gz + geoname=srs.tar.gz + getgeo + ;; + 8) + setcustgeo + ;; + 9) + echo "-----------------------------------------------" + echo -e "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" + echo -e "\033[36m清理后启动服务即可自动下载所需文件~\033[0m" + echo "-----------------------------------------------" + read -p "确认清理?[1/0] > " res + [ "$res" = '1' ] && { + for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db; do + rm -rf $CRASHDIR/$file + done + for var in Country_v cn_mini_v china_ip_list_v china_ipv6_list_v geosite_v geoip_cn_v geosite_cn_v mrs_geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v mrs_v srs_v; do + setconfig $var + done + rm -rf "$CRASHDIR"/ruleset/* + echo -e "\033[33m所有数据库文件均已清理!\033[0m" + sleep 1 + } + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } #Dashboard @@ -765,17 +765,17 @@ getdb() { return 1 else echo -e "\033[33m下载成功,正在解压文件!\033[0m" - mkdir -p $dbdir >/dev/null - tar -zxf "$TMPDIR/clashdb.tar.gz" ${tar_para} -C $dbdir >/dev/null + mkdir -p "$dbdir" >/dev/null + tar -zxf "$TMPDIR/clashdb.tar.gz" "${tar_para}" -C "$dbdir" >/dev/null [ $? -ne 0 ] && echo "文件解压失败!" && rm -rf "$TMPDIR"/clashfm.tar.gz && exit 1 #修改默认host和端口 if [ "$db_type" = "clashdb" -o "$db_type" = "meta_db" -o "$db_type" = "zashboard" ]; then - sed -i "s/127.0.0.1/${host}/g" $dbdir/assets/*.js - sed -i "s/9090/${db_port}/g" $dbdir/assets/*.js + sed -i "s/127.0.0.1/${host}/g" "$dbdir"/assets/*.js + sed -i "s/9090/${db_port}/g" "$dbdir"/assets/*.js elif [ "$db_type" = "meta_xd" ]; then - sed -i "s/127.0.0.1:9090/${host}:${db_port}/g" $dbdir/_nuxt/*.js + sed -i "s/127.0.0.1:9090/${host}:${db_port}/g" "$dbdir"/_nuxt/*.js else - sed -i "s/127.0.0.1:9090/${host}:${db_port}/g" $dbdir/*.html + sed -i "s/127.0.0.1:9090/${host}:${db_port}/g" "$dbdir"/*.html fi #写入配置文件 setconfig hostdir "'$hostdir'" @@ -907,194 +907,194 @@ setdb() { } #根证书 -getcrt(){ - echo "-----------------------------------------------" - echo "正在连接服务器获取安装文件…………" - get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt - if [ "$?" = "1" ];then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" - error_down - else - echo "-----------------------------------------------" - [ "$systype" = 'mi_snapshot' ] && cp -f "$TMPDIR"/ca-certificates.crt $CRASHDIR/tools #镜像化设备特殊处理 - [ -f $openssldir/certs ] && rm -rf $openssldir/certs #如果certs不是目录而是文件则删除并创建目录 - mkdir -p $openssldir/certs - mv -f "$TMPDIR"/ca-certificates.crt $crtdir - webget /dev/null https://baidu.com echooff rediron skipceroff - if [ "$?" = "1" ];then - export CURL_CA_BUNDLE=$crtdir - echo "export CURL_CA_BUNDLE=$crtdir" >> /etc/profile - fi - echo -e "\033[32m证书安装成功!\033[0m" - sleep 1 - fi +getcrt() { + echo "-----------------------------------------------" + echo "正在连接服务器获取安装文件......" + get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt + if [ "$?" = "1" ]; then + echo "-----------------------------------------------" + echo -e "\033[31m文件下载失败!\033[0m" + error_down + else + echo "-----------------------------------------------" + [ "$systype" = 'mi_snapshot' ] && cp -f "$TMPDIR"/ca-certificates.crt "$CRASHDIR"/tools #镜像化设备特殊处理 + [ -f "$openssldir"/certs ] && rm -rf "$openssldir"/certs #如果certs不是目录而是文件则删除并创建目录 + mkdir -p "$openssldir"/certs + mv -f "$TMPDIR"/ca-certificates.crt "$crtdir" + webget /dev/null https://baidu.com echooff rediron skipceroff + if [ "$?" = "1" ]; then + export CURL_CA_BUNDLE="$crtdir" + echo "export CURL_CA_BUNDLE=$crtdir" >>/etc/profile + fi + echo -e "\033[32m证书安装成功!\033[0m" + sleep 1 + fi } -setcrt(){ - openssldir="$(openssl version -d 2>&1 | awk -F '"' '{print $2}')" - if [ -d "$openssldir/certs/" ];then - crtdir="$openssldir/certs/ca-certificates.crt" - else - crtdir="/etc/ssl/certs/ca-certificates.crt" - fi - if [ -n "$openssldir" ];then - echo "-----------------------------------------------" - echo -e "\033[36m安装/更新本地根证书文件(ca-certificates.crt)\033[0m" - echo -e "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" - echo -e "\033[31m无上述问题的设备请勿使用!\033[0m" - echo "-----------------------------------------------" - [ -f "$crtdir" ] && echo -e "\033[33m检测到系统已经存在根证书文件($crtdir)了!\033[0m\n-----------------------------------------------" - read -p "是否覆盖更新?(1/0) > " res +setcrt() { + openssldir="$(openssl version -d 2>&1 | awk -F '"' '{print $2}')" + if [ -d "$openssldir/certs/" ]; then + crtdir="$openssldir/certs/ca-certificates.crt" + else + crtdir="/etc/ssl/certs/ca-certificates.crt" + fi + if [ -n "$openssldir" ]; then + echo "-----------------------------------------------" + echo -e "\033[36m安装/更新本地根证书文件(ca-certificates.crt)\033[0m" + echo -e "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" + echo -e "\033[31m无上述问题的设备请勿使用!\033[0m" + echo "-----------------------------------------------" + [ -f "$crtdir" ] && echo -e "\033[33m检测到系统已经存在根证书文件($crtdir)了!\033[0m\n-----------------------------------------------" + read -p "是否覆盖更新?(1/0) > " res - if [ -z "$res" ];then - errornum - elif [ "$res" = '0' ]; then - i= - elif [ "$res" = '1' ]; then - getcrt - else - errornum - fi - else - echo "-----------------------------------------------" - echo -e "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" - sleep 1 - fi + if [ -z "$res" ]; then + errornum + elif [ "$res" = '0' ]; then + i= + elif [ "$res" = '1' ]; then + getcrt + else + errornum + fi + else + echo "-----------------------------------------------" + echo -e "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" + sleep 1 + fi } # 写入配置文件 saveserver() { - setconfig update_url "'$update_url'" - setconfig url_id $url_id - setconfig release_type $release_type - version_new='' - echo "-----------------------------------------------" - echo -e "\033[32m源地址切换成功!\033[0m" + setconfig update_url "'$update_url'" + setconfig url_id "$url_id" + setconfig release_type "$release_type" + version_new='' + echo "-----------------------------------------------" + echo -e "\033[32m源地址切换成功!\033[0m" } # 安装源 setserver() { - while true; do - [ -z "$release_type" ] && release_name=未指定 - [ -n "$release_type" ] && release_name="$release_type(回退)" - [ "$release_type" = stable ] && release_name=稳定版 - [ "$release_type" = master ] && release_name=公测版 - [ "$release_type" = dev ] && release_name=开发版 - [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" - - echo "-----------------------------------------------" - echo -e "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" - echo -e "当前版本:\033[4;33m$release_name\033[0m 当前源:\033[4;32m$url_name\033[0m" - echo "-----------------------------------------------" - grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2}' - echo "-----------------------------------------------" - echo -e " a 切换至\033[32m稳定版-stable\033[0m" - echo -e " b 切换至\033[36m公测版-master\033[0m" - echo -e " c 切换至\033[33m开发版-dev\033[0m" - echo "-----------------------------------------------" - echo -e " d 自定义源地址(用于本地源或自建源)" - echo -e " e \033[31m版本回退\033[0m" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应字母或数字 > " num - case "$num" in - ""|0) - checkupdate=false - break - ;; - [1-99]) - url_id_new=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $1}') - if [ -z "$url_id_new" ];then - errornum - sleep 1 - continue - elif [ "$url_id_new" -ge 200 ];then - update_url=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $3}') - url_id='' - saveserver - break - else - url_id=$url_id_new - update_url='' - saveserver - break - fi - unset url_id_new - ;; - a) - release_type=stable - [ -z "$url_id" ] && url_id=101 - saveserver - ;; - b) - release_type=master - [ -z "$url_id" ] && url_id=101 - saveserver - ;; - c) - echo "-----------------------------------------------" - echo -e "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" - echo -e "\033[36m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" - echo -e "请务必加入我们的讨论组:\033[32;4mhttps://t.me/ShellClash\033[0m" - read -p "是否依然切换到开发版?(1/0) > " res - if [ "$res" = 1 ];then - release_type=dev - [ -z "$url_id" ] && url_id=101 - saveserver - fi - ;; - d) - echo "-----------------------------------------------" - read -p "请输入个人源路径 > " update_url - if [ -z "$update_url" ];then - echo "-----------------------------------------------" - echo -e "\033[31m取消输入,返回上级菜单\033[0m" - else - url_id='' - release_type='' - saveserver - fi - ;; - e) - echo "-----------------------------------------------" - if [ -n "$url_id" ] && [ "$url_id" -lt 200 ];then - echo -ne "\033[32m正在获取版本信息!\033[0m\r" - get_bin "$TMPDIR"/release_version bin/release_version - if [ "$?" = "0" ];then - echo -e "\033[31m请选择想要回退至的稳定版版本:\033[0m" - cat "$TMPDIR"/release_version | awk '{print " "NR" "$1}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - if [ -z "$num" -o "$num" = 0 ]; then - continue - elif [ $num -le $(cat "$TMPDIR"/release_version 2>/dev/null | awk 'END{print NR}') ]; then - release_type=$(cat "$TMPDIR"/release_version | awk '{print $1}' | sed -n "$num"p) - update_url='' - saveserver - else - echo "-----------------------------------------------" - errornum - sleep 1 - continue - fi - else - echo "-----------------------------------------------" - echo -e "\033[31m版本回退信息获取失败,请尝试更换其他安装源!\033[0m" - sleep 1 - continue - fi - rm -rf "$TMPDIR"/release_version - else - echo -e "\033[31m当前源不支持版本回退,请尝试更换其他安装源!\033[0m" - sleep 1 - continue - fi - ;; - *) - errornum - sleep 1 - break - ;; - esac - done + while true; do + [ -z "$release_type" ] && release_name=未指定 + [ -n "$release_type" ] && release_name="$release_type(回退)" + [ "$release_type" = stable ] && release_name=稳定版 + [ "$release_type" = master ] && release_name=公测版 + [ "$release_type" = dev ] && release_name=开发版 + [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" + + echo "-----------------------------------------------" + echo -e "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" + echo -e "当前版本:\033[4;33m$release_name\033[0m 当前源:\033[4;32m$url_name\033[0m" + echo "-----------------------------------------------" + grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2}' + echo "-----------------------------------------------" + echo -e " a 切换至\033[32m稳定版-stable\033[0m" + echo -e " b 切换至\033[36m公测版-master\033[0m" + echo -e " c 切换至\033[33m开发版-dev\033[0m" + echo "-----------------------------------------------" + echo -e " d 自定义源地址(用于本地源或自建源)" + echo -e " e \033[31m版本回退\033[0m" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应字母或数字 > " num + case "$num" in + "" | 0) + checkupdate=false + break + ;; + [1-99]) + url_id_new=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $1}') + if [ -z "$url_id_new" ]; then + errornum + sleep 1 + continue + elif [ "$url_id_new" -ge 200 ]; then + update_url=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $3}') + url_id='' + saveserver + break + else + url_id=$url_id_new + update_url='' + saveserver + break + fi + unset url_id_new + ;; + a) + release_type=stable + [ -z "$url_id" ] && url_id=101 + saveserver + ;; + b) + release_type=master + [ -z "$url_id" ] && url_id=101 + saveserver + ;; + c) + echo "-----------------------------------------------" + echo -e "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" + echo -e "\033[36m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" + echo -e "请务必加入我们的讨论组:\033[32;4mhttps://t.me/ShellClash\033[0m" + read -p "是否依然切换到开发版?(1/0) > " res + if [ "$res" = 1 ]; then + release_type=dev + [ -z "$url_id" ] && url_id=101 + saveserver + fi + ;; + d) + echo "-----------------------------------------------" + read -p "请输入个人源路径 > " update_url + if [ -z "$update_url" ]; then + echo "-----------------------------------------------" + echo -e "\033[31m取消输入,返回上级菜单\033[0m" + else + url_id='' + release_type='' + saveserver + fi + ;; + e) + echo "-----------------------------------------------" + if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then + echo -ne "\033[32m正在获取版本信息!\033[0m\r" + get_bin "$TMPDIR"/release_version bin/release_version + if [ "$?" = "0" ]; then + echo -e "\033[31m请选择想要回退至的稳定版版本:\033[0m" + cat "$TMPDIR"/release_version | awk '{print " "NR" "$1}' + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + if [ -z "$num" -o "$num" = 0 ]; then + continue + elif [ "$num" -le $(cat "$TMPDIR"/release_version 2>/dev/null | awk 'END{print NR}') ]; then + release_type=$(cat "$TMPDIR"/release_version | awk '{print $1}' | sed -n "$num"p) + update_url='' + saveserver + else + echo "-----------------------------------------------" + errornum + sleep 1 + continue + fi + else + echo "-----------------------------------------------" + echo -e "\033[31m版本回退信息获取失败,请尝试更换其他安装源!\033[0m" + sleep 1 + continue + fi + rm -rf "$TMPDIR"/release_version + else + echo -e "\033[31m当前源不支持版本回退,请尝试更换其他安装源!\033[0m" + sleep 1 + continue + fi + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } From 3977565ad181c4d7ff57c1f7ad08441f3749c85f Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 02:36:43 +0800 Subject: [PATCH 043/318] fix: revise return logic --- scripts/menus/2_settings.sh | 459 ++++-------------------------------- 1 file changed, 41 insertions(+), 418 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index f2c22d41..045d2fba 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -1,296 +1,15 @@ -#!/bin/sh -# Copyright (C) Juewuy - -[ -n "$__IS_MODULE_2_SETTINGS_LOADED" ] && return -__IS_MODULE_2_SETTINGS_LOADED=1 - -# 功能设置 -settings() { - while true; do - # 获取设置默认显示 - [ -z "$skip_cert" ] && skip_cert=ON - [ -z "$sniffer" ] && sniffer=OFF - [ -z "$dns_mod" ] && dns_mod='redir_host' - - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用功能设置菜单:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 路由模式设置: \033[36m$redir_mod\033[0m" - echo -e " 2 DNS设置: \033[36m$dns_mod\033[0m" - echo -e " 3 透明路由\033[32m流量过滤\033[0m" - [ "$disoverride" != "1" ] && { - echo -e " 4 跳过证书验证: \033[36m$skip_cert\033[0m" - echo -e " 5 启用域名嗅探: \033[36m$sniffer\033[0m" - echo -e " 6 自定义\033[32m端口及秘钥\033[0m" - } - echo -e " 8 ipv6设置: \033[36m$ipv6_redir\033[0m" - echo "-----------------------------------------------" - echo -e " 9 \033[31m重置/备份/还原\033[0m脚本设置" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$USER" != "root" -a "$USER" != "admin" ]; then - echo "-----------------------------------------------" - read -p "非root用户可能无法正确配置其他模式!依然尝试吗?(1/0) > " res - [ "$res" = 1 ] && set_redir_mod - else - set_redir_mod - fi - sleep 1 - ;; - 2) - . "$CRASHDIR"/menus/dns.sh && set_dns_mod - sleep 1 - ;; - 3) - . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter - sleep 1 - ;; - 4) - echo "-----------------------------------------------" - if [ "$skip_cert" = "OFF" ] >/dev/null 2>&1; then - echo -e "\033[33m已设为开启跳过本地证书验证!!\033[0m" - skip_cert=ON - else - echo -e "\033[33m已设为禁止跳过本地证书验证!!\033[0m" - skip_cert=OFF - fi - setconfig skip_cert $skip_cert - ;; - 5) - echo "-----------------------------------------------" - if [ "$sniffer" = "OFF" ]; then - if [ "$crashcore" = "clash" ]; then - rm -rf ${TMPDIR}/CrashCore - rm -rf "$CRASHDIR"/CrashCore - rm -rf "$CRASHDIR"/CrashCore.tar.gz - crashcore=meta - setconfig crashcore $crashcore - echo "已将ShellCrash内核切换为Meta内核!域名嗅探依赖Meta或者高版本clashpre内核!" - fi - sniffer=ON - elif [ "$crashcore" = "clashpre" -a "$dns_mod" = "redir_host" ]; then - echo -e "\033[31m使用clashpre内核且开启redir-host模式时无法关闭!\033[0m" - else - sniffer=OFF - fi - setconfig sniffer $sniffer - ;; - 6) - if [ -n "$(pidof CrashCore)" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" - read -p "是否停止服务?(1/0) > " res - if [ "$res" = "1" ]; then - "$CRASHDIR"/start.sh stop - set_adv_config - fi - else - set_adv_config - fi - ;; - 8) - set_ipv6 - ;; - 9) - echo "-----------------------------------------------" - echo -e " 1 备份脚本设置" - echo -e " 2 还原脚本设置" - echo -e " 3 重置脚本设置" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - if [ -z "$num" ]; then - errornum - elif [ "$num" = 0 ]; then - i= - elif [ "$num" = 1 ]; then - cp -f "$CFG_PATH" "$CFG_PATH".bak - echo -e "\033[32m脚本设置已备份!\033[0m" - elif [ "$num" = 2 ]; then - if [ -f "$CFG_PATH.bak" ]; then - mv -f "$CFG_PATH" "$CFG_PATH".bak2 - mv -f "$CFG_PATH".bak "$CFG_PATH" - mv -f "$CFG_PATH".bak2 "$CFG_PATH".bak - echo -e "\033[32m脚本设置已还原!(被覆盖的配置已备份!)\033[0m" - else - echo -e "\033[31m找不到备份文件,请先备份脚本设置!\033[0m" - fi - elif [ "$num" = 3 ]; then - mv -f "$CFG_PATH" "$CFG_PATH".bak - . "$CRASHDIR"/init.sh >/dev/null - echo -e "\033[32m脚本设置已重置!(旧文件已备份!)\033[0m" - fi - echo -e "\033[33m请重新启动脚本!\033[0m" - exit 0 - ;; - *) - errornum - sleep 1 - break - ;; - esac - done -} - -set_redir_config() { - setconfig redir_mod $redir_mod - setconfig dns_mod $dns_mod - echo "-----------------------------------------------" - echo -e "\033[36m已设为 $redir_mod !!\033[0m" -} - -# 路由模式设置 -set_redir_mod() { - while true; do - [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 - [ -z "$firewall_area" ] && firewall_area=1 - [ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' - [ -z "$redir_mod" ] && redir_mod='纯净模式' - firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area) - echo "-----------------------------------------------" - echo -e "当前路由模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m" - echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m" - echo "-----------------------------------------------" - [ $firewall_area -le 3 ] && { - echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP" - echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP" - echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP" - echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)" - echo "-----------------------------------------------" - } - [ "$firewall_area" = 5 ] && { - echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" - echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" - echo "-----------------------------------------------" - } - echo -e " 7 设置路由劫持范围: \033[47;30m$firewall_area_dsc\033[0m" - echo -e " 8 容器/虚拟机劫持: \033[47;30m$vm_redir\033[0m" - echo -e " 9 切换防火墙应用: \033[47;30m$firewall_mod\033[0m" - echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - redir_mod=Redir模式 - set_redir_config - ;; - 2) - if [ -n "$sup_tun" ]; then - redir_mod=混合模式 - set_redir_config - else - echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" - sleep 1 - fi - ;; - 3) - if [ "$firewall_mod" = "iptables" ]; then - if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then - read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res - [ "$res" = '1' ] && { - /data/shellcrash_init.sh tproxyfix - redir_mod=Tproxy模式 - set_redir_config - } - elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod=Tproxy模式 - set_redir_config - else - echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m" - sleep 1 - fi - elif [ "$firewall_mod" = "nftables" ]; then - if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then - redir_mod=Tproxy模式 - set_redir_config - else - echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m" - sleep 1 - fi - fi - ;; - 4) - if [ -n "$sup_tun" ]; then - redir_mod=Tun模式 - set_redir_config - else - echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" - sleep 1 - fi - ;; - 5) - redir_mod='TCP旁路转发' - set_redir_config - ;; - 6) - redir_mod='T&U旁路转发' - set_redir_config - ;; - 7) - set_firewall_area - ;; - 8) - set_firewall_vm - ;; - 9) - if [ "$firewall_mod" = 'iptables' ]; then - if nft add table inet shellcrash 2>/dev/null; then - firewall_mod=nftables - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - else - echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m" - fi - elif [ "$firewall_mod" = 'nftables' ]; then - if ckcmd iptables; then - firewall_mod=iptables - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - else - echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m" - fi - else - iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables - nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables - if [ -n "$firewall_mod" ]; then - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - setconfig firewall_mod $firewall_mod - else - echo -e "\033[31m检测不到可用的防火墙应用(iptables/nftables),无法切换!\033[0m" - fi - fi - sleep 1 - setconfig firewall_mod $firewall_mod - ;; - *) - errornum - sleep 1 - break - ;; - esac - done -} - inputport() { read -p "请输入端口号(1-65535) > " portx . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 if check_port "$portx"; then setconfig "$xport" "$portx" echo -e "\033[32m设置成功!!!\033[0m" + return 0 else echo -e "\033[31m设置失败!!!\033[0m" + sleep 1 + return 1 fi - sleep 1 } # 端口设置 @@ -318,6 +37,12 @@ set_adv_config() { 1) xport=mix_port inputport + ret=$? + if [ "$ret" -eq 1 ]; then + break + else + continue + fi ;; 2) echo "-----------------------------------------------" @@ -331,12 +56,12 @@ set_adv_config() { setconfig authentication echo "密码已移除!" else - if [ "$local_proxy" = "ON" -a "$local_type" = "环境变量" ]; then + if [ "$local_proxy" = "ON" ] && [ "$local_type" = "环境变量" ]; then echo "-----------------------------------------------" echo -e "\033[33m请先禁用本机劫持功能或使用增强模式!\033[0m" sleep 1 else - authentication=$(echo $input | grep :) + authentication=$(echo "$input" | grep :) if [ -n "$authentication" ]; then setconfig authentication "'$authentication'" echo -e "\033[32m设置成功!!!\033[0m" @@ -345,24 +70,52 @@ set_adv_config() { fi fi fi + + ret=$? + if [ "$ret" -eq 1 ]; then + break + else + continue + fi ;; 3) xport=redir_port inputport + + ret=$? + if [ "$ret" -eq 1 ]; then + break + else + continue + fi ;; 4) xport=dns_port inputport + + ret=$? + if [ "$ret" -eq 1 ]; then + break + else + continue + fi ;; 5) xport=db_port inputport + + ret=$? + if [ "$ret" -eq 1 ]; then + break + else + continue + fi ;; 6) read -p "请输入面板访问密码(输入0删除密码) > " secret if [ -n "$secret" ]; then [ "$secret" = "0" ] && secret="" - setconfig secret $secret + setconfig secret "$secret" echo -e "\033[32m设置成功!!!\033[0m" fi ;; @@ -377,7 +130,7 @@ set_adv_config() { setconfig host "$host" echo -e "\033[32m已经移除自定义host地址,请重新运行脚本以自动获取host!!!\033[0m" exit 0 - elif [ -n "$(echo $host | grep -E -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>')" ]; then + elif [ -n "$(echo "$host" | grep -E -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>')" ]; then setconfig host "$host" echo -e "\033[32m设置成功!!!\033[0m" else @@ -399,136 +152,6 @@ set_adv_config() { *) errornum sleep 1 - break - ;; - esac - done -} - -set_firewall_area() { #路由范围设置 - [ -z "$vm_redir" ] && vm_redir='OFF' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m基于桥接网卡的Docker/虚拟机流量,请单独启用!" - echo -e "\033[33m如你使用了第三方DNS如smartdns等,请勿启用本机劫持或使用shellcrash用户执行!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m仅劫持局域网流量\033[0m" - echo -e " 2 \033[36m仅劫持本机流量\033[0m" - echo -e " 3 \033[32m劫持局域网+本机流量\033[0m" - echo -e " 4 不配置流量劫持(纯净模式)\033[0m" - #echo -e " 5 \033[33m转发局域网流量到旁路由设备\033[0m" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - [1-4]) - [ $firewall_area -ge 4 ] && { - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - } - [ "$num" = 4 ] && { - redir_mod=纯净模式 - setconfig redir_mod $redir_mod - } - firewall_area=$num - setconfig firewall_area $firewall_area - ;; - 5) - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m此功能存在多种风险如无网络基础请勿尝试!" - echo -e "\033[33m说明:\033[0m此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" - echo -e "\033[33m说明:\033[0m支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6!" - echo -e "\033[31m注意:\033[0m如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" - echo -e "\033[31m注意:\033[0m如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" - echo "-----------------------------------------------" - read -p "请输入旁路由IPV4地址 > " bypass_host - [ -n "$bypass_host" ] && { - firewall_area=$num - setconfig firewall_area $firewall_area - setconfig bypass_host $bypass_host - redir_mod=TCP旁路转发 - setconfig redir_mod $redir_mod - } - ;; - *) errornum ;; - esac - sleep 1 -} -set_firewall_vm(){ - if [ -n "$vm_ipv4" ]; then - vm_des='当前劫持' - else - vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') - vm_des='当前获取到' - fi - echo "-----------------------------------------------" - echo -e "$vm_des的容器/虚拟机网段为:\033[32m$vm_ipv4\033[0m" - echo -e "如未包含容器网段,请先运行容器再运行脚本或者手动设置网段" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用劫持并使用默认网段\033[0m" - echo -e " 2 \033[36m启用劫持并自定义网段\033[0m" - echo -e " 3 \033[31m禁用劫持\033[0m" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 1) - if [ -n "$vm_ipv4" ]; then - vm_redir=ON - else - echo -e "\033[33m请先运行容器再运行脚本或者手动设置网段\033[0m" - fi - ;; - 2) - echo -e "多个网段请用空格连接,可运行容器后使用【ip route】命令查看网段地址" - echo -e "示例:\033[32m10.88.0.0/16 172.17.0.0/16\033[0m" - read -p "请输入自定义网段 > " text - [ -n "$text" ] && vm_ipv4=$text && vm_redir=ON - ;; - 3) - vm_redir=OFF - unset vm_ipv4 - ;; - *) ;; - esac - setconfig vm_redir $vm_redir - setconfig vm_ipv4 "'$vm_ipv4'" -} - -# ipv6设置 -set_ipv6() { - while true; do - [ -z "$ipv6_redir" ] && ipv6_redir=OFF - [ -z "$ipv6_dns" ] && ipv6_dns=ON - echo "-----------------------------------------------" - echo -e " 1 ipv6透明路由: \033[36m$ipv6_redir\033[0m ——劫持ipv6流量" - [ "$disoverride" != "1" ] && echo -e " 2 ipv6-DNS解析: \033[36m$ipv6_dns\033[0m ——决定内置DNS是否返回ipv6地址" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$ipv6_redir" = "OFF" ]; then - ipv6_support=ON - ipv6_redir=ON - sleep 2 - else - ipv6_redir=OFF - fi - setconfig ipv6_redir $ipv6_redir - setconfig ipv6_support $ipv6_support - ;; - 2) - [ "$ipv6_dns" = "OFF" ] && ipv6_dns=ON || ipv6_dns=OFF - setconfig ipv6_dns $ipv6_dns - ;; - *) - errornum - sleep 1 - break ;; esac done From 82f5fce98936e955cff42009ce732e5c0e03b571 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 02:49:01 +0800 Subject: [PATCH 044/318] repair accidental deletion operation --- scripts/menus/2_settings.sh | 412 ++++++++++++++++++++++++++++++++++++ 1 file changed, 412 insertions(+) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 045d2fba..39b2fdbd 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -1,3 +1,286 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_MODULE_2_SETTINGS_LOADED" ] && return +__IS_MODULE_2_SETTINGS_LOADED=1 + +# 功能设置 +settings() { + while true; do + # 获取设置默认显示 + [ -z "$skip_cert" ] && skip_cert=ON + [ -z "$sniffer" ] && sniffer=OFF + [ -z "$dns_mod" ] && dns_mod='redir_host' + + echo "-----------------------------------------------" + echo -e "\033[30;47m欢迎使用功能设置菜单:\033[0m" + echo "-----------------------------------------------" + echo -e " 1 路由模式设置: \033[36m$redir_mod\033[0m" + echo -e " 2 DNS设置: \033[36m$dns_mod\033[0m" + echo -e " 3 透明路由\033[32m流量过滤\033[0m" + [ "$disoverride" != "1" ] && { + echo -e " 4 跳过证书验证: \033[36m$skip_cert\033[0m" + echo -e " 5 启用域名嗅探: \033[36m$sniffer\033[0m" + echo -e " 6 自定义\033[32m端口及秘钥\033[0m" + } + echo -e " 8 ipv6设置: \033[36m$ipv6_redir\033[0m" + echo "-----------------------------------------------" + echo -e " 9 \033[31m重置/备份/还原\033[0m脚本设置" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$USER" != "root" -a "$USER" != "admin" ]; then + echo "-----------------------------------------------" + read -p "非root用户可能无法正确配置其他模式!依然尝试吗?(1/0) > " res + [ "$res" = 1 ] && set_redir_mod + else + set_redir_mod + fi + sleep 1 + ;; + 2) + . "$CRASHDIR"/menus/dns.sh && set_dns_mod + sleep 1 + ;; + 3) + . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter + sleep 1 + ;; + 4) + echo "-----------------------------------------------" + if [ "$skip_cert" = "OFF" ] >/dev/null 2>&1; then + echo -e "\033[33m已设为开启跳过本地证书验证!!\033[0m" + skip_cert=ON + else + echo -e "\033[33m已设为禁止跳过本地证书验证!!\033[0m" + skip_cert=OFF + fi + setconfig skip_cert $skip_cert + ;; + 5) + echo "-----------------------------------------------" + if [ "$sniffer" = "OFF" ]; then + if [ "$crashcore" = "clash" ]; then + rm -rf ${TMPDIR}/CrashCore + rm -rf "$CRASHDIR"/CrashCore + rm -rf "$CRASHDIR"/CrashCore.tar.gz + crashcore=meta + setconfig crashcore $crashcore + echo "已将ShellCrash内核切换为Meta内核!域名嗅探依赖Meta或者高版本clashpre内核!" + fi + sniffer=ON + elif [ "$crashcore" = "clashpre" -a "$dns_mod" = "redir_host" ]; then + echo -e "\033[31m使用clashpre内核且开启redir-host模式时无法关闭!\033[0m" + else + sniffer=OFF + fi + setconfig sniffer $sniffer + ;; + 6) + if [ -n "$(pidof CrashCore)" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" + read -p "是否停止服务?(1/0) > " res + if [ "$res" = "1" ]; then + "$CRASHDIR"/start.sh stop + set_adv_config + fi + else + set_adv_config + fi + ;; + 8) + set_ipv6 + ;; + 9) + echo "-----------------------------------------------" + echo -e " 1 备份脚本设置" + echo -e " 2 还原脚本设置" + echo -e " 3 重置脚本设置" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + if [ -z "$num" ]; then + errornum + elif [ "$num" = 0 ]; then + i= + elif [ "$num" = 1 ]; then + cp -f "$CFG_PATH" "$CFG_PATH".bak + echo -e "\033[32m脚本设置已备份!\033[0m" + elif [ "$num" = 2 ]; then + if [ -f "$CFG_PATH.bak" ]; then + mv -f "$CFG_PATH" "$CFG_PATH".bak2 + mv -f "$CFG_PATH".bak "$CFG_PATH" + mv -f "$CFG_PATH".bak2 "$CFG_PATH".bak + echo -e "\033[32m脚本设置已还原!(被覆盖的配置已备份!)\033[0m" + else + echo -e "\033[31m找不到备份文件,请先备份脚本设置!\033[0m" + fi + elif [ "$num" = 3 ]; then + mv -f "$CFG_PATH" "$CFG_PATH".bak + . "$CRASHDIR"/init.sh >/dev/null + echo -e "\033[32m脚本设置已重置!(旧文件已备份!)\033[0m" + fi + echo -e "\033[33m请重新启动脚本!\033[0m" + exit 0 + ;; + *) + errornum + sleep 1 + break + ;; + esac + done +} + +set_redir_config() { + setconfig redir_mod $redir_mod + setconfig dns_mod $dns_mod + echo "-----------------------------------------------" + echo -e "\033[36m已设为 $redir_mod !!\033[0m" +} + +# 路由模式设置 +set_redir_mod() { + while true; do + [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 + [ -z "$firewall_area" ] && firewall_area=1 + [ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' + [ -z "$redir_mod" ] && redir_mod='纯净模式' + firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area) + echo "-----------------------------------------------" + echo -e "当前路由模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m" + echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m" + echo "-----------------------------------------------" + [ $firewall_area -le 3 ] && { + echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP" + echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP" + echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP" + echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)" + echo "-----------------------------------------------" + } + [ "$firewall_area" = 5 ] && { + echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" + echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" + echo "-----------------------------------------------" + } + echo -e " 7 设置路由劫持范围: \033[47;30m$firewall_area_dsc\033[0m" + echo -e " 8 容器/虚拟机劫持: \033[47;30m$vm_redir\033[0m" + echo -e " 9 切换防火墙应用: \033[47;30m$firewall_mod\033[0m" + echo "-----------------------------------------------" + echo " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + redir_mod=Redir模式 + set_redir_config + ;; + 2) + if [ -n "$sup_tun" ]; then + redir_mod=混合模式 + set_redir_config + else + echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + ;; + 3) + if [ "$firewall_mod" = "iptables" ]; then + if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then + read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res + [ "$res" = '1' ] && { + /data/shellcrash_init.sh tproxyfix + redir_mod=Tproxy模式 + set_redir_config + } + elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then + redir_mod=Tproxy模式 + set_redir_config + else + echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + elif [ "$firewall_mod" = "nftables" ]; then + if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then + redir_mod=Tproxy模式 + set_redir_config + else + echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + fi + ;; + 4) + if [ -n "$sup_tun" ]; then + redir_mod=Tun模式 + set_redir_config + else + echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + sleep 1 + fi + ;; + 5) + redir_mod='TCP旁路转发' + set_redir_config + ;; + 6) + redir_mod='T&U旁路转发' + set_redir_config + ;; + 7) + set_firewall_area + ;; + 8) + set_firewall_vm + ;; + 9) + if [ "$firewall_mod" = 'iptables' ]; then + if nft add table inet shellcrash 2>/dev/null; then + firewall_mod=nftables + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + else + echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m" + fi + elif [ "$firewall_mod" = 'nftables' ]; then + if ckcmd iptables; then + firewall_mod=iptables + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + else + echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m" + fi + else + iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables + nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables + if [ -n "$firewall_mod" ]; then + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + setconfig firewall_mod $firewall_mod + else + echo -e "\033[31m检测不到可用的防火墙应用(iptables/nftables),无法切换!\033[0m" + fi + fi + sleep 1 + setconfig firewall_mod $firewall_mod + ;; + *) + errornum + sleep 1 + break + ;; + esac + done +} + inputport() { read -p "请输入端口号(1-65535) > " portx . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 @@ -156,3 +439,132 @@ set_adv_config() { esac done } + +set_firewall_area() { #路由范围设置 + [ -z "$vm_redir" ] && vm_redir='OFF' + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m基于桥接网卡的Docker/虚拟机流量,请单独启用!" + echo -e "\033[33m如你使用了第三方DNS如smartdns等,请勿启用本机劫持或使用shellcrash用户执行!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[32m仅劫持局域网流量\033[0m" + echo -e " 2 \033[36m仅劫持本机流量\033[0m" + echo -e " 3 \033[32m劫持局域网+本机流量\033[0m" + echo -e " 4 不配置流量劫持(纯净模式)\033[0m" + #echo -e " 5 \033[33m转发局域网流量到旁路由设备\033[0m" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + 0) ;; + [1-4]) + [ $firewall_area -ge 4 ] && { + redir_mod=Redir模式 + setconfig redir_mod $redir_mod + } + [ "$num" = 4 ] && { + redir_mod=纯净模式 + setconfig redir_mod $redir_mod + } + firewall_area=$num + setconfig firewall_area $firewall_area + ;; + 5) + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m此功能存在多种风险如无网络基础请勿尝试!" + echo -e "\033[33m说明:\033[0m此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" + echo -e "\033[33m说明:\033[0m支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6!" + echo -e "\033[31m注意:\033[0m如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" + echo -e "\033[31m注意:\033[0m如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" + echo "-----------------------------------------------" + read -p "请输入旁路由IPV4地址 > " bypass_host + [ -n "$bypass_host" ] && { + firewall_area=$num + setconfig firewall_area $firewall_area + setconfig bypass_host $bypass_host + redir_mod=TCP旁路转发 + setconfig redir_mod $redir_mod + } + ;; + *) errornum ;; + esac + sleep 1 +} +set_firewall_vm(){ + if [ -n "$vm_ipv4" ]; then + vm_des='当前劫持' + else + vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') + vm_des='当前获取到' + fi + echo "-----------------------------------------------" + echo -e "$vm_des的容器/虚拟机网段为:\033[32m$vm_ipv4\033[0m" + echo -e "如未包含容器网段,请先运行容器再运行脚本或者手动设置网段" + echo "-----------------------------------------------" + echo -e " 1 \033[32m启用劫持并使用默认网段\033[0m" + echo -e " 2 \033[36m启用劫持并自定义网段\033[0m" + echo -e " 3 \033[31m禁用劫持\033[0m" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + 1) + if [ -n "$vm_ipv4" ]; then + vm_redir=ON + else + echo -e "\033[33m请先运行容器再运行脚本或者手动设置网段\033[0m" + fi + ;; + 2) + echo -e "多个网段请用空格连接,可运行容器后使用【ip route】命令查看网段地址" + echo -e "示例:\033[32m10.88.0.0/16 172.17.0.0/16\033[0m" + read -p "请输入自定义网段 > " text + [ -n "$text" ] && vm_ipv4=$text && vm_redir=ON + ;; + 3) + vm_redir=OFF + unset vm_ipv4 + ;; + *) ;; + esac + setconfig vm_redir $vm_redir + setconfig vm_ipv4 "'$vm_ipv4'" +} + +# ipv6设置 +set_ipv6() { + while true; do + [ -z "$ipv6_redir" ] && ipv6_redir=OFF + [ -z "$ipv6_dns" ] && ipv6_dns=ON + echo "-----------------------------------------------" + echo -e " 1 ipv6透明路由: \033[36m$ipv6_redir\033[0m ——劫持ipv6流量" + [ "$disoverride" != "1" ] && echo -e " 2 ipv6-DNS解析: \033[36m$ipv6_dns\033[0m ——决定内置DNS是否返回ipv6地址" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$ipv6_redir" = "OFF" ]; then + ipv6_support=ON + ipv6_redir=ON + sleep 2 + else + ipv6_redir=OFF + fi + setconfig ipv6_redir $ipv6_redir + setconfig ipv6_support $ipv6_support + ;; + 2) + [ "$ipv6_dns" = "OFF" ] && ipv6_dns=ON || ipv6_dns=OFF + setconfig ipv6_dns $ipv6_dns + ;; + *) + errornum + sleep 1 + break + ;; + esac + done +} From 16e3e7a489a338eb89b22939caf34e5db3aa8f0d Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 14:05:14 +0800 Subject: [PATCH 045/318] fix(5_task): add double quote to prevent word splitting --- scripts/menus/5_task.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 2be5d246..45fd3fa0 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -9,9 +9,9 @@ __IS_MODULE_5_TASK_LOADED=1 . "$CRASHDIR"/libs/set_cron.sh #任务工具 set_cron(){ - [ -z $week ] && week=* - [ -z $hour ] && hour=* - [ -z $min ] && min=0 + [ -z "$week" ] && week=* + [ -z "$hour" ] && hour=* + [ -z "$min" ] && min=0 echo "-----------------------------------------------" echo -e "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" read -p "是否确认添加定时任务?(1/0) > " res @@ -26,14 +26,14 @@ set_cron(){ set_service(){ # 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间 task_file="$CRASHDIR"/task/$1 - [ -s $task_file ] && sed -i "/$3/d" $task_file + [ -s "$task_file" ] && sed -i "/$3/d" "$task_file" #运行时每分钟执行的任务特殊处理 if [ "$1" = "running" ];then task_txt="$4 $CRASHDIR/task/task.sh $2 $3" - echo "$task_txt" >> $task_file + echo "$task_txt" >> "$task_file" [ -n "$(pidof CrashCore)" ] && cronset "$3" "$task_txt" else - echo "$CRASHDIR/task/task.sh $2 $3" >> $task_file + echo "$CRASHDIR/task/task.sh $2 $3" >> "$task_file" fi echo -e "任务【$3】\033[32m添加成功!\033[0m" sleep 1 @@ -259,14 +259,14 @@ task_manager() { if [ "$task_id" = 0 ]; then read -p "旧版任务不支持管理,是否移除?(1/0) > " res [ "$res" = 1 ] && { - cronname=$(echo $task_txt | awk -F '-' '{print $2}') - croncmd -l >$TMPDIR/conf && sed -i "/$cronname/d" $TMPDIR/conf && croncmd $TMPDIR/conf + cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') + croncmd -l >"$TMPDIR"/conf && sed -i "/$cronname/d" "$TMPDIR"/conf && croncmd $TMPDIR/conf sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null - rm -f $TMPDIR/conf + rm -f "$TMPDIR"/conf } break 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}') echo "-----------------------------------------------" echo -e "当前任务为:\033[36m $task_des\033[0m" @@ -282,14 +282,14 @@ task_manager() { return 0 ;; 1) - task_type && task_del $task_des + task_type && task_del "$task_des" ;; 2) - task_del $task_des + task_del "$task_des" ;; 3) 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='执行失败!' echo -e "\033[33m任务【$task_des】$task_res\033[0m" sleep 1 ;; From a5668dd94b233a53d0eb6522e004a52f63eb69d0 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 15:35:19 +0800 Subject: [PATCH 046/318] style: format code --- scripts/menus/8_tools.sh | 1295 +++++++++++++++++++------------------- 1 file changed, 652 insertions(+), 643 deletions(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 4de89734..9f4ed094 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -8,194 +8,194 @@ __IS_MODULE_8_TOOLS_LOADED=1 . "$CRASHDIR"/libs/web_get_bin.sh stop_iptables() { - iptables -w -t nat -D PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 >/dev/null 2>&1 - ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 >/dev/null 2>&1 + iptables -w -t nat -D PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 >/dev/null 2>&1 + ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 >/dev/null 2>&1 } ssh_tools() { - while true; do - [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=禁止 || ssh_ol=开启 - [ -z "$ssh_port" ] && ssh_port=10022 - echo "-----------------------------------------------" - echo -e "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" - echo -e "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" - echo -e " 2 \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" - echo -e " 3 \033[33m$ssh_ol\033[0m外网访问SSH" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - ""|0) - break - ;; - 1) - read -p "请输入端口号(1000-65535) > " num - if [ -z "$num" ]; then - errornum - elif [ $num -gt 65535 -o $num -le 999 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" - elif [ -n "$(netstat -ntul | grep :$num)" ]; then - echo -e "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" - else - ssh_port=$num - setconfig ssh_port $ssh_port - sed -i "/启用外网访问SSH服务/d" /etc/firewall.user - stop_iptables - echo -e "\033[32m设置成功,请重新开启外网访问SSH功能!!!\033[0m" - fi - sleep 1 - ;; - 2) - passwd - sleep 1 - ;; - 3) - if [ "$ssh_ol" = "开启" ]; then - iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 - [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 - echo "iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user - [ -n "$(ckcmd ip6tables)" ] && echo "ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user - echo "-----------------------------------------------" - echo -e "已开启外网访问SSH功能!" - else - sed -i "/启用外网访问SSH服务/d" /etc/firewall.user - stop_iptables - echo "-----------------------------------------------" - echo -e "已禁止外网访问SSH!" - fi - break - ;; - *) - errornum - sleep 1 - break - ;; - esac - done + while true; do + [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=禁止 || ssh_ol=开启 + [ -z "$ssh_port" ] && ssh_port=10022 + echo "-----------------------------------------------" + echo -e "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" + echo -e "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" + echo -e " 2 \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" + echo -e " 3 \033[33m$ssh_ol\033[0m外网访问SSH" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + read -p "请输入端口号(1000-65535) > " num + if [ -z "$num" ]; then + errornum + elif [ $num -gt 65535 -o $num -le 999 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" + elif [ -n "$(netstat -ntul | grep :$num)" ]; then + echo -e "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + else + ssh_port=$num + setconfig ssh_port $ssh_port + sed -i "/启用外网访问SSH服务/d" /etc/firewall.user + stop_iptables + echo -e "\033[32m设置成功,请重新开启外网访问SSH功能!!!\033[0m" + fi + sleep 1 + ;; + 2) + passwd + sleep 1 + ;; + 3) + if [ "$ssh_ol" = "开启" ]; then + iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 + [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 + echo "iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user + [ -n "$(ckcmd ip6tables)" ] && echo "ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user + echo "-----------------------------------------------" + echo -e "已开启外网访问SSH功能!" + else + sed -i "/启用外网访问SSH服务/d" /etc/firewall.user + stop_iptables + echo "-----------------------------------------------" + echo -e "已禁止外网访问SSH!" + fi + break + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } -#工具与优化 +# 工具与优化 tools() { - while true; do - #获取设置默认显示 - grep -qE "^\s*[^#].*otapredownload" /etc/crontabs/root >/dev/null 2>&1 && mi_update=禁用 || mi_update=启用 - [ "$mi_mi_autoSSH" = "已配置" ] && mi_mi_autoSSH_type=32m已配置 || mi_mi_autoSSH_type=31m未配置 - [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF - - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用其他工具菜单:\033[0m" - echo -e "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" - echo -e "磁盘占用/所在目录:" - du -sh "$CRASHDIR" - echo "-----------------------------------------------" - echo -e " 1 ShellCrash\033[33m测试菜单\033[0m" - echo -e " 2 ShellCrash\033[32m新手引导\033[0m" - echo -e " 3 \033[36m日志及推送工具\033[0m" - [ -f /etc/firewall.user ] && echo -e " 4 \033[32m配置\033[0m外网访问SSH" - [ -x /usr/sbin/otapredownload ] && echo -e " 5 \033[33m$mi_update\033[0m小米系统自动更新" - [ "$systype" = "mi_snapshot" ] && echo -e " 6 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" - [ "$systype" = "mi_snapshot" ] && echo -e " 8 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - ""|0) - break - ;; - 1) - testcommand - break - ;; - 2) - . "$CRASHDIR"/menus/userguide.sh && userguide - break - ;; - 3) - log_pusher - ;; - 4) - ssh_tools - sleep 1 - ;; - 5) - if [ -x /usr/sbin/otapredownload ]; then - if [ "$mi_update" = "禁用" ]; then - grep -q "otapredownload" /etc/crontabs/root && - sed -i "/^[^\#]*otapredownload/ s/^/#/" /etc/crontabs/root || - echo "#15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root - else - grep -q "otapredownload" /etc/crontabs/root && - sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || - echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root - fi - echo "-----------------------------------------------" - echo -e "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" - sleep 1 - fi - ;; - 6) - if [ "$systype" = "mi_snapshot" ]; then - mi_autoSSH - else - echo "不支持的设备!" - fi - ;; - 7) - echo "-----------------------------------------------" - if [ ! -f "$CRASHDIR"/tools/ShellDDNS.sh ]; then - echo -e "正在获取在线脚本……" - get_bin "$TMPDIR"/ShellDDNS.sh tools/ShellDDNS.sh - if [ "$?" = "0" ]; then - mv -f "$TMPDIR"/ShellDDNS.sh "$CRASHDIR"/tools/ShellDDNS.sh - . "$CRASHDIR"/tools/ShellDDNS.sh - else - echo -e "\033[31m文件下载失败!\033[0m" - fi - else - . "$CRASHDIR"/tools/ShellDDNS.sh - fi - sleep 1 - ;; - 8) - if [ -f "$CRASHDIR"/tools/tun.ko ]; then - read -p "是否禁用此功能并移除相关补丁?(1/0) > " res - [ "$res" = 1 ] && { - rm -rf "$CRASHDIR"/tools/tun.ko - echo -e "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" - } - elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then - echo -e "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" - echo -e "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" - sleep 1 - read -p "我已知晓,出现问题会自行承担!(1/0) > " res - if [ "$res" = 1 ]; then - echo "-----------------------------------------------" - echo "正在连接服务器获取Tun模块补丁文件…………" - get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko - if [ "$?" = "0" ]; then - mv -f "$TMPDIR"/tun.ko "$CRASHDIR"/tools/tun.ko && - /data/shellcrash_init.sh tunfix && - echo -e "\033[32m设置成功!请重启服务!\033[0m" - else - echo -e "\033[31m文件下载失败,请重试!\033[0m" - fi - fi - else - echo -e "\033[31m当前设备无需设置,请勿尝试!\033[0m" - sleep 1 - fi - ;; - *) - errornum - sleep 1 - break - ;; - esac - done + while true; do + # 获取设置默认显示 + grep -qE "^\s*[^#].*otapredownload" /etc/crontabs/root >/dev/null 2>&1 && mi_update=禁用 || mi_update=启用 + [ "$mi_mi_autoSSH" = "已配置" ] && mi_mi_autoSSH_type=32m已配置 || mi_mi_autoSSH_type=31m未配置 + [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF + + echo "-----------------------------------------------" + echo -e "\033[30;47m欢迎使用其他工具菜单:\033[0m" + echo -e "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" + echo -e "磁盘占用/所在目录:" + du -sh "$CRASHDIR" + echo "-----------------------------------------------" + echo -e " 1 ShellCrash\033[33m测试菜单\033[0m" + echo -e " 2 ShellCrash\033[32m新手引导\033[0m" + echo -e " 3 \033[36m日志及推送工具\033[0m" + [ -f /etc/firewall.user ] && echo -e " 4 \033[32m配置\033[0m外网访问SSH" + [ -x /usr/sbin/otapredownload ] && echo -e " 5 \033[33m$mi_update\033[0m小米系统自动更新" + [ "$systype" = "mi_snapshot" ] && echo -e " 6 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" + [ "$systype" = "mi_snapshot" ] && echo -e " 8 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + testcommand + break + ;; + 2) + . "$CRASHDIR"/menus/userguide.sh && userguide + break + ;; + 3) + log_pusher + ;; + 4) + ssh_tools + sleep 1 + ;; + 5) + if [ -x /usr/sbin/otapredownload ]; then + if [ "$mi_update" = "禁用" ]; then + grep -q "otapredownload" /etc/crontabs/root && + sed -i "/^[^\#]*otapredownload/ s/^/#/" /etc/crontabs/root || + echo "#15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root + else + grep -q "otapredownload" /etc/crontabs/root && + sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || + echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root + fi + echo "-----------------------------------------------" + echo -e "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" + sleep 1 + fi + ;; + 6) + if [ "$systype" = "mi_snapshot" ]; then + mi_autoSSH + else + echo "不支持的设备!" + fi + ;; + 7) + echo "-----------------------------------------------" + if [ ! -f "$CRASHDIR"/tools/ShellDDNS.sh ]; then + echo -e "正在获取在线脚本……" + get_bin "$TMPDIR"/ShellDDNS.sh tools/ShellDDNS.sh + if [ "$?" = "0" ]; then + mv -f "$TMPDIR"/ShellDDNS.sh "$CRASHDIR"/tools/ShellDDNS.sh + . "$CRASHDIR"/tools/ShellDDNS.sh + else + echo -e "\033[31m文件下载失败!\033[0m" + fi + else + . "$CRASHDIR"/tools/ShellDDNS.sh + fi + sleep 1 + ;; + 8) + if [ -f "$CRASHDIR"/tools/tun.ko ]; then + read -p "是否禁用此功能并移除相关补丁?(1/0) > " res + [ "$res" = 1 ] && { + rm -rf "$CRASHDIR"/tools/tun.ko + echo -e "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" + } + elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then + echo -e "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" + echo -e "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" + sleep 1 + read -p "我已知晓,出现问题会自行承担!(1/0) > " res + if [ "$res" = 1 ]; then + echo "-----------------------------------------------" + echo "正在连接服务器获取Tun模块补丁文件…………" + get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko + if [ "$?" = "0" ]; then + mv -f "$TMPDIR"/tun.ko "$CRASHDIR"/tools/tun.ko && + /data/shellcrash_init.sh tunfix && + echo -e "\033[32m设置成功!请重启服务!\033[0m" + else + echo -e "\033[31m文件下载失败,请重试!\033[0m" + fi + fi + else + echo -e "\033[31m当前设备无需设置,请勿尝试!\033[0m" + sleep 1 + fi + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } mi_autoSSH() { @@ -219,469 +219,478 @@ mi_autoSSH() { sleep 1 } -#日志菜单 +# 日志菜单 log_pusher() { - while true; do - [ -n "$push_TG" ] && stat_TG=32mON || stat_TG=33mOFF - [ -n "$push_Deer" ] && stat_Deer=32mON || stat_Deer=33mOFF - [ -n "$push_bark" ] && stat_bark=32mON || stat_bark=33mOFF - [ -n "$push_Po" ] && stat_Po=32mON || stat_Po=33mOFF - [ -n "$push_PP" ] && stat_PP=32mON || stat_PP=33mOFF - [ -n "$push_SynoChat" ] && stat_SynoChat=32mON || stat_SynoChat=33mOFF - [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF - [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF - [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 - echo "-----------------------------------------------" - echo -e " 1 Telegram推送 ——\033[$stat_TG\033[0m" - echo -e " 2 PushDeer推送 ——\033[$stat_Deer\033[0m" - echo -e " 3 Bark推送-IOS ——\033[$stat_bark\033[0m" - echo -e " 4 Passover推送 ——\033[$stat_Po\033[0m" - echo -e " 5 PushPlus推送 ——\033[$stat_PP\033[0m" - echo -e " 6 SynoChat推送 ——\033[$stat_SynoChat\033[0m" - echo -e " 7 Gotify推送 ——\033[$stat_Gotify\033[0m" - echo "-----------------------------------------------" - echo -e " a 查看\033[36m运行日志\033[0m" - echo -e " b 推送任务日志 ——\033[$stat_task\033[0m" - echo -e " c 设置设备名称 ——\033[$device_s\033[0m" - echo -e " d 清空日志文件" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - ""|0) - break - ;; - 1) - echo "-----------------------------------------------" - if [ -n "$push_TG" ]; then - read -p "确认关闭TG日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_TG= - chat_ID= - setconfig push_TG - setconfig chat_ID - } - else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - . "$CRASHDIR"/menus/bot_tg_bind.sh - chose_bot() { - echo "-----------------------------------------------" - echo -e " 1 使用公共机器人 ——不依赖内核服务" - echo -e " 2 使用私人机器人 ——需要额外申请" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case $num in - 1) - public_bot - set_bot && tg_push_token || chose_bot - ;; - 2) - private_bot - set_bot && tg_push_token || chose_bot - ;; - *) - errornum - ;; - esac - } - chose_bot - fi - sleep 1 - ;; - 2) - echo "-----------------------------------------------" - if [ -n "$push_Deer" ]; then - read -p "确认关闭PushDeer日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_Deer= - setconfig push_Deer - } - else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" - echo -e "打开快应用/APP,并完成登陆" - echo -e "\033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" - echo -e "\033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" - echo "-----------------------------------------------" - read -p "请输入你复制的秘钥 > " url - if [ -n "$url" ]; then - push_Deer=$url - setconfig push_Deer $url - logger "已完成PushDeer日志推送设置!" 32 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - sleep 1 - fi - ;; - 3) - echo "-----------------------------------------------" - if [ -n "$push_bark" ]; then - read -p "确认关闭Bark日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_bark= - bark_param= - setconfig push_bark - setconfig bark_param - } - else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" - echo -e "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的Bark推送链接 > " url - if [ -n "$url" ]; then - push_bark=$url - setconfig push_bark $url - logger "已完成Bark日志推送设置!" 32 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - sleep 1 - fi - ;; - 4) - echo "-----------------------------------------------" - if [ -n "$push_Po" ]; then - read -p "确认关闭Pushover日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_Po= - push_Po_key= - setconfig push_Po - setconfig push_Po_key - } - else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的User Key > " key - if [ -n "$key" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m请检查注册邮箱,完成账户验证\033[0m" - read -p "我已经验证完成(1/0) > " - echo "-----------------------------------------------" - echo -e "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的API Token > " Token - if [ -n "$Token" ]; then - push_Po=$Token - push_Po_key=$key - setconfig push_Po $Token - setconfig push_Po_key $key - logger "已完成Passover日志推送设置!" 32 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - fi - sleep 1 - ;; - 5) - echo "-----------------------------------------------" - if [ -n "$push_PP" ]; then - read -p "确认关闭PushPlus日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_PP= - setconfig push_PP - } - else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的token > " Token - if [ -n "$Token" ]; then - push_PP=$Token - setconfig push_PP $Token - logger "已完成PushPlus日志推送设置!" 32 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - fi - sleep 1 - ;; - 6) - echo "-----------------------------------------------" - if [ -n "$push_SynoChat" ]; then - read -p "确认关闭SynoChat日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_SynoChat= - setconfig push_SynoChat - } - else - echo "-----------------------------------------------" - read -p "请输入你的Synology DSM主页地址 > " URL - echo "-----------------------------------------------" - read -p "请输入你的Synology Chat Token > " TOKEN - echo "-----------------------------------------------" - echo -e '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' - echo "-----------------------------------------------" - read -p "请输入你的user_id > " USERID - if [ -n "$URL" ]; then - push_SynoChat=$USERID - setconfig push_SynoChat $USERID - setconfig push_ChatURL $URL - setconfig push_ChatTOKEN $TOKEN - setconfig push_ChatUSERID $USERID - logger "已完成SynoChat日志推送设置!" 32 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - setconfig push_ChatURL - setconfig push_ChatTOKEN - setconfig push_ChatUSERID - push_SynoChat= - setconfig push_SynoChat - fi - fi - sleep 1 - ;; - # 在menu.sh的case $num in代码块中添加 - 7) - echo "-----------------------------------------------" - if [ -n "$push_Gotify" ]; then - read -p "确认关闭Gotify日志推送?(1/0) > " res - [ "$res" = 1 ] && { - push_Gotify= - setconfig push_Gotify - } - else - echo -e "请先通过Gotify服务器获取推送URL" - echo -e "格式示例: https://gotify.example.com/message?token=你的应用令牌" - echo "-----------------------------------------------" - read -p "请输入你的Gotify推送URL > " url - if [ -n "$url" ]; then - push_Gotify=$url - setconfig push_Gotify "$url" - logger "已完成Gotify日志推送设置!" 32 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - fi - sleep 1 - ;; - a) - if [ -s "$TMPDIR"/ShellCrash.log ]; then - echo "-----------------------------------------------" - cat "$TMPDIR"/ShellCrash.log - exit 0 - else - echo -e "\033[31m未找到相关日志!\033[0m" - fi - sleep 1 - break - ;; - b) - [ "$task_push" = 1 ] && task_push='' || task_push=1 - setconfig task_push $task_push - sleep 1 - ;; - c) - read -p "请输入本设备自定义推送名称 > " device_name - setconfig device_name $device_name - sleep 1 - ;; - d) - echo -e "\033[33m运行日志及任务日志均已清空!\033[0m" - rm -rf "$TMPDIR"/ShellCrash.log - sleep 1 - ;; - *) - errornum - sleep 1 - break - ;; - esac - done + while true; do + [ -n "$push_TG" ] && stat_TG=32mON || stat_TG=33mOFF + [ -n "$push_Deer" ] && stat_Deer=32mON || stat_Deer=33mOFF + [ -n "$push_bark" ] && stat_bark=32mON || stat_bark=33mOFF + [ -n "$push_Po" ] && stat_Po=32mON || stat_Po=33mOFF + [ -n "$push_PP" ] && stat_PP=32mON || stat_PP=33mOFF + [ -n "$push_SynoChat" ] && stat_SynoChat=32mON || stat_SynoChat=33mOFF + [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF + [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF + [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 + echo "-----------------------------------------------" + echo -e " 1 Telegram推送 ——\033[$stat_TG\033[0m" + echo -e " 2 PushDeer推送 ——\033[$stat_Deer\033[0m" + echo -e " 3 Bark推送-IOS ——\033[$stat_bark\033[0m" + echo -e " 4 Passover推送 ——\033[$stat_Po\033[0m" + echo -e " 5 PushPlus推送 ——\033[$stat_PP\033[0m" + echo -e " 6 SynoChat推送 ——\033[$stat_SynoChat\033[0m" + echo -e " 7 Gotify推送 ——\033[$stat_Gotify\033[0m" + echo "-----------------------------------------------" + echo -e " a 查看\033[36m运行日志\033[0m" + echo -e " b 推送任务日志 ——\033[$stat_task\033[0m" + echo -e " c 设置设备名称 ——\033[$device_s\033[0m" + echo -e " d 清空日志文件" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + echo "-----------------------------------------------" + if [ -n "$push_TG" ]; then + read -p "确认关闭TG日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_TG= + chat_ID= + setconfig push_TG + setconfig chat_ID + } + else + #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + . "$CRASHDIR"/menus/bot_tg_bind.sh + chose_bot() { + echo "-----------------------------------------------" + echo -e " 1 使用公共机器人 ——不依赖内核服务" + echo -e " 2 使用私人机器人 ——需要额外申请" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case $num in + 1) + public_bot + set_bot && tg_push_token || chose_bot + ;; + 2) + private_bot + set_bot && tg_push_token || chose_bot + ;; + *) + errornum + ;; + esac + } + chose_bot + fi + sleep 1 + ;; + 2) + echo "-----------------------------------------------" + if [ -n "$push_Deer" ]; then + read -p "确认关闭PushDeer日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_Deer= + setconfig push_Deer + } + else + #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + echo -e "请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" + echo -e "打开快应用/APP,并完成登陆" + echo -e "\033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" + echo -e "\033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" + echo "-----------------------------------------------" + read -p "请输入你复制的秘钥 > " url + if [ -n "$url" ]; then + push_Deer=$url + setconfig push_Deer $url + logger "已完成PushDeer日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + sleep 1 + fi + ;; + 3) + echo "-----------------------------------------------" + if [ -n "$push_bark" ]; then + read -p "确认关闭Bark日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_bark= + bark_param= + setconfig push_bark + setconfig bark_param + } + else + #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + echo -e "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" + echo -e "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" + echo "-----------------------------------------------" + read -p "请输入你的Bark推送链接 > " url + if [ -n "$url" ]; then + push_bark=$url + setconfig push_bark $url + logger "已完成Bark日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + sleep 1 + fi + ;; + 4) + echo "-----------------------------------------------" + if [ -n "$push_Po" ]; then + read -p "确认关闭Pushover日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_Po= + push_Po_key= + setconfig push_Po + setconfig push_Po_key + } + else + #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + echo -e "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" + echo "-----------------------------------------------" + read -p "请输入你的User Key > " key + if [ -n "$key" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m请检查注册邮箱,完成账户验证\033[0m" + read -p "我已经验证完成(1/0) > " + echo "-----------------------------------------------" + echo -e "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" + echo "-----------------------------------------------" + read -p "请输入你的API Token > " Token + if [ -n "$Token" ]; then + push_Po=$Token + push_Po_key=$key + setconfig push_Po $Token + setconfig push_Po_key $key + logger "已完成Passover日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + fi + sleep 1 + ;; + 5) + echo "-----------------------------------------------" + if [ -n "$push_PP" ]; then + read -p "确认关闭PushPlus日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_PP= + setconfig push_PP + } + else + #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + echo -e "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" + echo "-----------------------------------------------" + read -p "请输入你的token > " Token + if [ -n "$Token" ]; then + push_PP=$Token + setconfig push_PP $Token + logger "已完成PushPlus日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + fi + sleep 1 + ;; + 6) + echo "-----------------------------------------------" + if [ -n "$push_SynoChat" ]; then + read -p "确认关闭SynoChat日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_SynoChat= + setconfig push_SynoChat + } + else + echo "-----------------------------------------------" + read -p "请输入你的Synology DSM主页地址 > " URL + echo "-----------------------------------------------" + read -p "请输入你的Synology Chat Token > " TOKEN + echo "-----------------------------------------------" + echo -e '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' + echo "-----------------------------------------------" + read -p "请输入你的user_id > " USERID + if [ -n "$URL" ]; then + push_SynoChat=$USERID + setconfig push_SynoChat $USERID + setconfig push_ChatURL $URL + setconfig push_ChatTOKEN $TOKEN + setconfig push_ChatUSERID $USERID + logger "已完成SynoChat日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + setconfig push_ChatURL + setconfig push_ChatTOKEN + setconfig push_ChatUSERID + push_SynoChat= + setconfig push_SynoChat + fi + fi + sleep 1 + ;; + # 在menu.sh的case $num in代码块中添加 + 7) + echo "-----------------------------------------------" + if [ -n "$push_Gotify" ]; then + read -p "确认关闭Gotify日志推送?(1/0) > " res + [ "$res" = 1 ] && { + push_Gotify= + setconfig push_Gotify + } + else + echo -e "请先通过Gotify服务器获取推送URL" + echo -e "格式示例: https://gotify.example.com/message?token=你的应用令牌" + echo "-----------------------------------------------" + read -p "请输入你的Gotify推送URL > " url + if [ -n "$url" ]; then + push_Gotify=$url + setconfig push_Gotify "$url" + logger "已完成Gotify日志推送设置!" 32 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + fi + fi + sleep 1 + ;; + a) + if [ -s "$TMPDIR"/ShellCrash.log ]; then + echo "-----------------------------------------------" + cat "$TMPDIR"/ShellCrash.log + exit 0 + else + echo -e "\033[31m未找到相关日志!\033[0m" + fi + sleep 1 + break + ;; + b) + [ "$task_push" = 1 ] && task_push='' || task_push=1 + setconfig task_push $task_push + sleep 1 + ;; + c) + read -p "请输入本设备自定义推送名称 > " device_name + setconfig device_name $device_name + sleep 1 + ;; + d) + echo -e "\033[33m运行日志及任务日志均已清空!\033[0m" + rm -rf "$TMPDIR"/ShellCrash.log + sleep 1 + ;; + *) + errornum + sleep 1 + break + ;; + esac + done } -#测试菜单 -testcommand(){ - echo "$crashcore" | grep -q 'singbox' && config_path=${JSONSDIR}/config.json || config_path=${YAMLSDIR}/config.yaml - echo "-----------------------------------------------" - echo -e "\033[30;47m这里是测试命令菜单\033[0m" - echo -e "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" - echo "-----------------------------------------------" - echo " 1 Debug模式运行内核" - echo " 2 查看系统DNS端口(:53)占用 " - echo " 3 测试ssl加密(aes-128-gcm)跑分" - echo " 4 查看ShellCrash相关路由规则" - echo " 5 查看内核配置文件前40行" - echo " 6 测试代理服务器连通性(google.tw)" - echo "-----------------------------------------------" - echo " 0 返回上级目录!" - read -p "请输入对应数字 > " num - case "$num" in - 0) - main_menu - ;; - 1) - debug - testcommand - ;; - 2) - echo "-----------------------------------------------" - netstat -ntulp |grep 53 - echo "-----------------------------------------------" - echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" - exit; - ;; - 3) - echo "-----------------------------------------------" - openssl speed -multi 4 -evp aes-128-gcm - echo "-----------------------------------------------" - exit; - ;; - 4) - if [ "$firewall_mod" = "nftables" ];then - nft list table inet shellcrash | sed '/set cn_ip {/,/}/d;/set cn_ip6 {/,/}/d;/^[[:space:]]*}/d' - else - [ "$firewall_area" = 1 -o "$firewall_area" = 3 -o "$firewall_area" = 5 -o "$vm_redir" = "ON" ] && { - echo "----------------Redir+DNS---------------------" - iptables -t nat -L PREROUTING --line-numbers - iptables -t nat -L shellcrash_dns --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && iptables -t nat -L shellcrash --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { - echo "----------------Tun/Tproxy-------------------" - iptables -t mangle -L PREROUTING --line-numbers - iptables -t mangle -L shellcrash_mark --line-numbers - } - } - [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && { - echo "-------------OUTPUT-Redir+DNS----------------" - iptables -t nat -L OUTPUT --line-numbers - iptables -t nat -L shellcrash_dns_out --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && iptables -t nat -L shellcrash_out --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { - echo "------------OUTPUT-Tun/Tproxy---------------" - iptables -t mangle -L OUTPUT --line-numbers - iptables -t mangle -L shellcrash_mark_out --line-numbers - } - } - [ "$ipv6_redir" = "ON" ] && { - [ "$firewall_area" = 1 -o "$firewall_area" = 3 ] && { - ip6tables -t nat -L >/dev/null 2>&1 && { - echo "-------------IPV6-Redir+DNS-------------------" - ip6tables -t nat -L PREROUTING --line-numbers - ip6tables -t nat -L shellcrashv6_dns --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && ip6tables -t nat -L shellcrashv6 --line-numbers - } - [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { - echo "-------------IPV6-Tun/Tproxy------------------" - ip6tables -t mangle -L PREROUTING --line-numbers - ip6tables -t mangle -L shellcrashv6_mark --line-numbers - } - } - } - [ "$vm_redir" = "ON" ] && { - echo "-------------vm-Redir-------------------" - iptables -t nat -L shellcrash_vm --line-numbers - iptables -t nat -L shellcrash_vm_dns --line-numbers - } - echo "----------------本机防火墙---------------------" - iptables -L INPUT --line-numbers - fi - exit; - ;; - 5) - echo "-----------------------------------------------" - sed -n '1,40p' ${config_path} - echo "-----------------------------------------------" - exit; - ;; - 6) - echo "注意:依赖curl(不支持wget),且测试结果不保证一定准确!" - delay=`curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & { sleep 3 ; kill $! >/dev/null 2>&1 & }` > /dev/null 2>&1 - delay=`echo |awk "{print $delay*1000}"` > /dev/null 2>&1 - echo "-----------------------------------------------" - if [ `echo ${#delay}` -gt 1 ];then - echo -e "\033[32m连接成功!响应时间为:"$delay" ms\033[0m" - else - echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m" - fi - main_menu - ;; - *) - errornum - main_menu - ;; - esac -} -debug(){ - echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml - echo "-----------------------------------------------" - echo -e "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" - echo -e "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" - echo -e "如长时间运行后台监测,日志等级推荐error!防止文件过大!" - echo -e "你也可以通过:\033[33mcrash -s debug 'warning'\033[0m 命令使用其他日志等级" - echo "-----------------------------------------------" - echo -e " 1 仅测试\033[32m$config_tmp\033[0m配置文件可用性" - echo -e " 2 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" - echo -e " 3 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" - echo -e " 4 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" - echo -e " 5 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" - echo -e " 6 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" - echo "-----------------------------------------------" - echo -e " 8 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" - [ -s "$TMPDIR"/jsons/inbounds.json ] && echo -e " 9 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" - echo "-----------------------------------------------" - echo " 0 返回上级目录!" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - "$CRASHDIR"/start.sh stop - "$CRASHDIR"/start.sh bfstart - if echo "$crashcore" | grep -q 'singbox' ;then - "$TMPDIR"/CrashCore run -D "$BINDIR" -C "$TMPDIR"/jsons & - { sleep 4 ; kill $! >/dev/null 2>&1 & } - wait - else - "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml - fi - rm -rf "$TMPDIR"/CrashCore - echo "-----------------------------------------------" - exit - ;; - 2) - "$CRASHDIR"/start.sh stop - "$CRASHDIR"/start.sh bfstart - $COMMAND - rm -rf "$TMPDIR"/CrashCore - echo "-----------------------------------------------" - exit - ;; - 3) - "$CRASHDIR"/start.sh debug error - main_menu - ;; - 4) - "$CRASHDIR"/start.sh debug info - main_menu - ;; - 5) - "$CRASHDIR"/start.sh debug debug - main_menu - ;; - 6) - echo -e "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" - read -p "是否继续?(1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR"/start.sh debug debug flash - main_menu - ;; - 8) - $0 -d - main_menu - ;; - 9) - . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && echo -e "\033[32m合并成功!\033[0m" - [ "$TMPDIR" = "$BINDIR" ] && rm -rf "$TMPDIR"/CrashCore - main_menu - ;; - *) - errornum - ;; - esac +# 测试菜单 +testcommand() { + echo "$crashcore" | grep -q 'singbox' && config_path=${JSONSDIR}/config.json || config_path=${YAMLSDIR}/config.yaml + echo "-----------------------------------------------" + echo -e "\033[30;47m这里是测试命令菜单\033[0m" + echo -e "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" + echo "-----------------------------------------------" + echo " 1 Debug模式运行内核" + echo " 2 查看系统DNS端口(:53)占用 " + echo " 3 测试ssl加密(aes-128-gcm)跑分" + echo " 4 查看ShellCrash相关路由规则" + echo " 5 查看内核配置文件前40行" + echo " 6 测试代理服务器连通性(google.tw)" + echo "-----------------------------------------------" + echo " 0 返回上级目录!" + read -p "请输入对应数字 > " num + case "$num" in + 0) + main_menu + ;; + 1) + debug + testcommand + ;; + 2) + echo "-----------------------------------------------" + netstat -ntulp | grep 53 + echo "-----------------------------------------------" + echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" + exit + ;; + 3) + echo "-----------------------------------------------" + openssl speed -multi 4 -evp aes-128-gcm + echo "-----------------------------------------------" + exit + ;; + 4) + if [ "$firewall_mod" = "nftables" ]; then + nft list table inet shellcrash | sed '/set cn_ip {/,/}/d;/set cn_ip6 {/,/}/d;/^[[:space:]]*}/d' + else + [ "$firewall_area" = 1 -o "$firewall_area" = 3 -o "$firewall_area" = 5 -o "$vm_redir" = "ON" ] && { + echo "----------------Redir+DNS---------------------" + iptables -t nat -L PREROUTING --line-numbers + iptables -t nat -L shellcrash_dns --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && iptables -t nat -L shellcrash --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { + echo "----------------Tun/Tproxy-------------------" + iptables -t mangle -L PREROUTING --line-numbers + iptables -t mangle -L shellcrash_mark --line-numbers + } + } + [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && { + echo "-------------OUTPUT-Redir+DNS----------------" + iptables -t nat -L OUTPUT --line-numbers + iptables -t nat -L shellcrash_dns_out --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && iptables -t nat -L shellcrash_out --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { + echo "------------OUTPUT-Tun/Tproxy---------------" + iptables -t mangle -L OUTPUT --line-numbers + iptables -t mangle -L shellcrash_mark_out --line-numbers + } + } + [ "$ipv6_redir" = "ON" ] && { + [ "$firewall_area" = 1 -o "$firewall_area" = 3 ] && { + ip6tables -t nat -L >/dev/null 2>&1 && { + echo "-------------IPV6-Redir+DNS-------------------" + ip6tables -t nat -L PREROUTING --line-numbers + ip6tables -t nat -L shellcrashv6_dns --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && ip6tables -t nat -L shellcrashv6 --line-numbers + } + [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { + echo "-------------IPV6-Tun/Tproxy------------------" + ip6tables -t mangle -L PREROUTING --line-numbers + ip6tables -t mangle -L shellcrashv6_mark --line-numbers + } + } + } + [ "$vm_redir" = "ON" ] && { + echo "-------------vm-Redir-------------------" + iptables -t nat -L shellcrash_vm --line-numbers + iptables -t nat -L shellcrash_vm_dns --line-numbers + } + echo "----------------本机防火墙---------------------" + iptables -L INPUT --line-numbers + fi + exit + ;; + 5) + echo "-----------------------------------------------" + sed -n '1,40p' ${config_path} + echo "-----------------------------------------------" + exit + ;; + 6) + echo "注意:依赖curl(不支持wget),且测试结果不保证一定准确!" + delay=$( + curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & + { + sleep 3 + kill $! >/dev/null 2>&1 & + } + ) >/dev/null 2>&1 + delay=$(echo | awk "{print $delay*1000}") >/dev/null 2>&1 + echo "-----------------------------------------------" + if [ $(echo ${#delay}) -gt 1 ]; then + echo -e "\033[32m连接成功!响应时间为:"$delay" ms\033[0m" + else + echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m" + fi + main_menu + ;; + *) + errornum + main_menu + ;; + esac } +debug() { + echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml + echo "-----------------------------------------------" + echo -e "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" + echo -e "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" + echo -e "如长时间运行后台监测,日志等级推荐error!防止文件过大!" + echo -e "你也可以通过:\033[33mcrash -s debug 'warning'\033[0m 命令使用其他日志等级" + echo "-----------------------------------------------" + echo -e " 1 仅测试\033[32m$config_tmp\033[0m配置文件可用性" + echo -e " 2 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" + echo -e " 3 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" + echo -e " 4 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" + echo -e " 5 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" + echo -e " 6 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" + echo "-----------------------------------------------" + echo -e " 8 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" + [ -s "$TMPDIR"/jsons/inbounds.json ] && echo -e " 9 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" + echo "-----------------------------------------------" + echo " 0 返回上级目录!" + read -p "请输入对应数字 > " num + case "$num" in + 0) ;; + 1) + "$CRASHDIR"/start.sh stop + "$CRASHDIR"/start.sh bfstart + if echo "$crashcore" | grep -q 'singbox'; then + "$TMPDIR"/CrashCore run -D "$BINDIR" -C "$TMPDIR"/jsons & + { + sleep 4 + kill $! >/dev/null 2>&1 & + } + wait + else + "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml + fi + rm -rf "$TMPDIR"/CrashCore + echo "-----------------------------------------------" + exit + ;; + 2) + "$CRASHDIR"/start.sh stop + "$CRASHDIR"/start.sh bfstart + $COMMAND + rm -rf "$TMPDIR"/CrashCore + echo "-----------------------------------------------" + exit + ;; + 3) + "$CRASHDIR"/start.sh debug error + main_menu + ;; + 4) + "$CRASHDIR"/start.sh debug info + main_menu + ;; + 5) + "$CRASHDIR"/start.sh debug debug + main_menu + ;; + 6) + echo -e "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" + read -p "是否继续?(1/0) > " res + [ "$res" = 1 ] && "$CRASHDIR"/start.sh debug debug flash + main_menu + ;; + 8) + $0 -d + main_menu + ;; + 9) + . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && echo -e "\033[32m合并成功!\033[0m" + [ "$TMPDIR" = "$BINDIR" ] && rm -rf "$TMPDIR"/CrashCore + main_menu + ;; + *) + errornum + ;; + esac +} From 174cbabb9330033456caf3936569faa8ba56ac04 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 16:14:33 +0800 Subject: [PATCH 047/318] refactor(set_fw_wan): replace recursion with while loop --- scripts/menus/7_gateway.sh | 145 +++++++++++++++++++------------------ 1 file changed, 74 insertions(+), 71 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 05e140a7..7806c864 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -76,79 +76,82 @@ gateway() { done } -#公网防火墙 +# 公网防火墙 set_fw_wan() { - [ -z "$fw_wan" ] && fw_wan=ON - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m如在vps运行,还需在vps安全策略对相关端口同时放行" - [ -n "$fw_wan_ports" ] && - echo -e "当前手动放行端口:\033[36m$fw_wan_ports\033[0m" - [ -n "$vms_port$sss_port" ] && - echo -e "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" - echo -e "默认拦截端口:\033[33m$dns_port,$mix_port,$db_port\033[0m" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭公网防火墙: \033[36m$fw_wan\033[0m" - echo -e " 2 添加放行端口(可包含默认拦截端口)" - echo -e " 3 移除指定手动放行端口" - echo -e " 4 清空全部手动放行端口" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case $num in - 1) - if [ "$fw_wan" = ON ];then - read -p "确认关闭防火墙?这会带来极大的安全隐患!(1/0) > " res - [ "$res" = 1 ] && fw_wan=OFF || fw_wan=ON - else - fw_wan=ON - fi - setconfig fw_wan "$fw_wan" - set_fw_wan - ;; - 2) - port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}' ) - if [ "$port_count" -ge 10 ];then - echo -e "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" - else - read -p "请输入要放行的端口号 > " port - if echo ",$fw_wan_ports," | grep -q ",$port,";then - echo -e "\033[31m输入错误!请勿重复添加!\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") - setconfig fw_wan_ports "$fw_wan_ports" - fi - fi - sleep 1 - set_fw_wan - ;; - 3) - read -p "请输入要移除的端口号 > " port - if echo ",$fw_wan_ports," | grep -q ",$port,";then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") - setconfig fw_wan_ports "$fw_wan_ports" - fi - else - echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" - fi - sleep 1 - set_fw_wan - ;; - 4) - fw_wan_ports='' - setconfig fw_wan_ports - sleep 1 - set_fw_wan - ;; - *) - errornum - ;; - esac + while true; do + [ -z "$fw_wan" ] && fw_wan=ON + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m如在vps运行,还需在vps安全策略对相关端口同时放行" + [ -n "$fw_wan_ports" ] && + echo -e "当前手动放行端口:\033[36m$fw_wan_ports\033[0m" + [ -n "$vms_port$sss_port" ] && + echo -e "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" + echo -e "默认拦截端口:\033[33m$dns_port,$mix_port,$db_port\033[0m" + echo "-----------------------------------------------" + echo -e " 1 启用/关闭公网防火墙: \033[36m$fw_wan\033[0m" + echo -e " 2 添加放行端口(可包含默认拦截端口)" + echo -e " 3 移除指定手动放行端口" + echo -e " 4 清空全部手动放行端口" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case $num in + "" | 0) + break + ;; + 1) + if [ "$fw_wan" = ON ]; then + read -p "确认关闭防火墙?这会带来极大的安全隐患!(1/0) > " res + [ "$res" = 1 ] && fw_wan=OFF || fw_wan=ON + else + fw_wan=ON + fi + setconfig fw_wan "$fw_wan" + ;; + 2) + port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') + if [ "$port_count" -ge 10 ]; then + echo -e "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" + else + read -p "请输入要放行的端口号 > " port + if echo ",$fw_wan_ports," | grep -q ",$port,"; then + echo -e "\033[31m输入错误!请勿重复添加!\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") + setconfig fw_wan_ports "$fw_wan_ports" + fi + fi + sleep 1 + ;; + 3) + read -p "请输入要移除的端口号 > " port + if echo ",$fw_wan_ports," | grep -q ",$port,"; then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") + setconfig fw_wan_ports "$fw_wan_ports" + fi + else + echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" + fi + sleep 1 + ;; + 4) + fw_wan_ports='' + setconfig fw_wan_ports + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } + #tg_BOT相关 set_bot_tg_config(){ setconfig TG_TOKEN "$TOKEN" "$GT_CFG_PATH" From 635dcd7ee320b35cfca2d9a9d4008d9187a40a06 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 18:22:35 +0800 Subject: [PATCH 048/318] perf(install): enhance execution efficiency --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 74989653..5af7a981 100644 --- a/install.sh +++ b/install.sh @@ -667,7 +667,7 @@ if [ "$USER" != "root" ] && [ -z "$systype" ]; then done fi -if [ -n "$(echo "$url" | grep master)" ]; then +if echo "$url" | grep -q 'master'; then setversion fi From b3d2c8af69febbe140f63368e0d7d208adcf8f06 Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 15 Jan 2026 18:32:03 +0800 Subject: [PATCH 049/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8Carm64=E5=92=8Camd64=E5=86=85=E6=A0=B8upx=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E7=89=88=E6=9C=AC=E6=94=B9=E4=B8=BA5.1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/update_meta_core.yaml | 33 ++++++++++++---------- .github/workflows/update_singbox_core.yaml | 17 ++++++----- 2 files changed, 28 insertions(+), 22 deletions(-) diff --git a/.github/workflows/update_meta_core.yaml b/.github/workflows/update_meta_core.yaml index cdca176c..d5a960f0 100644 --- a/.github/workflows/update_meta_core.yaml +++ b/.github/workflows/update_meta_core.yaml @@ -64,8 +64,8 @@ jobs: runs-on: ubuntu-latest needs: go env: - REPO: ${{ github.event.inputs.tag1 }} - TAGS: ${{ github.event.inputs.tag5 }} + REPO: ${{ inputs.tag1 }} + TAGS: ${{ inputs.tag5 }} outputs: version: ${{steps.meta.outputs.version}} tags: ${{steps.meta.outputs.tags}} @@ -74,7 +74,7 @@ jobs: - name: get meta version id: meta run: | - version=${{ github.event.inputs.tag2 }} + version=${{ inputs.tag2 }} [ "$version" = Alpha ] && version="Alpha-$(date +"%Y%m%d")" echo version=$version >> $GITHUB_OUTPUT if [ -z "$TAGS" ];then @@ -137,8 +137,8 @@ jobs: - name: Checkout meta uses: actions/checkout@v5 with: - repository: ${{ github.event.inputs.tag1 }} - ref: ${{ github.event.inputs.tag2 }} + repository: ${{ inputs.tag1 }} + ref: ${{ inputs.tag2 }} fetch-depth: 1 - name: Setup Go @@ -188,11 +188,11 @@ jobs: - name: Zip core by upx if: env.ZIPTYPE == 'upx' - run: | - wget https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz - wget https://github.com/upx/upx/releases/download/v3.94/upx-3.94-amd64_linux.tar.xz - tar xf upx-3.96-amd64_linux.tar.xz - tar xf upx-3.94-amd64_linux.tar.xz + run: | + for upxv in 3.94 3.96 5.1.0;do + wget https://github.com/upx/upx/releases/download/v$upxv/upx-$upxv-amd64_linux.tar.xz + tar xf upx-$upxv-amd64_linux.tar.xz + done for arch in amd64 armv5 armv7 arm64 386 mips-softfloat mipsle-hardfloat mipsle-softfloat;do [ ! -f ./tmp/linux-${arch}/meta ] && continue mv -f ./tmp/linux-${arch}/meta ./tmp/clash-linux-${arch}.upx @@ -201,12 +201,15 @@ jobs: armv5|mips* ) ./upx-3.94-amd64_linux/upx --no-lzma ./tmp/clash-linux-${arch}.upx ;; - *) + armv7|386) ./upx-3.96-amd64_linux/upx --no-lzma ./tmp/clash-linux-${arch}.upx ;; + *) + ./upx-5.1.0-amd64_linux/upx ./tmp/clash-linux-${arch}.upx + ;; esac done - rm -rf upx-3.9* + rm -rf upx-* - name: Zip core by tar if: env.ZIPTYPE == 'tar.gz' @@ -250,9 +253,9 @@ jobs: if: ${{ env.RELEASE != '' && env.PUSHDIR == '' }} uses: softprops/action-gh-release@v1 with: - tag_name: ${{ github.event.inputs.tag3 }} - name: ${{ github.event.inputs.tag3 }} - body: "The ${{env.VERSION}} version of ${{ github.event.inputs.tag1 }} \n这是${{ github.event.inputs.tag1 }}的${{env.VERSION}}版本内核文件\nhttps://github.com/${{ github.event.inputs.tag1 }}/releases \nOnly support for ShellCrash\n仅适配ShellCrash项目" + tag_name: ${{ inputs.tag3 }} + name: ${{ inputs.tag3 }} + body: "The ${{env.VERSION}} version of ${{ inputs.tag1 }} \n这是${{ inputs.tag1 }}的${{env.VERSION}}版本内核文件\nhttps://github.com/${{ inputs.tag1 }}/releases \nOnly support for ShellCrash\n仅适配ShellCrash项目" draft: false prerelease: true files: | diff --git a/.github/workflows/update_singbox_core.yaml b/.github/workflows/update_singbox_core.yaml index 06e90836..11177278 100644 --- a/.github/workflows/update_singbox_core.yaml +++ b/.github/workflows/update_singbox_core.yaml @@ -208,24 +208,27 @@ jobs: - name: Zip core by upx if: env.ZIPTYPE == 'upx' run: | - wget https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz - wget https://github.com/upx/upx/releases/download/v3.94/upx-3.94-amd64_linux.tar.xz - tar xf upx-3.96-amd64_linux.tar.xz - tar xf upx-3.94-amd64_linux.tar.xz + for upxv in 3.94 3.96 5.1.0;do + wget https://github.com/upx/upx/releases/download/v$upxv/upx-$upxv-amd64_linux.tar.xz + tar xf upx-$upxv-amd64_linux.tar.xz + done for arch in amd64 armv5 armv7 arm64 386 mips-softfloat mipsle-hardfloat mipsle-softfloat;do [ ! -f ./tmp/linux-${arch}/sing-box ] && continue mv -f ./tmp/linux-${arch}/sing-box ./tmp/singbox-linux-${arch}.upx chmod +x ./tmp/singbox-linux-${arch}.upx case "${arch}" in armv5|mips* ) - ./upx-3.94-amd64_linux/upx --no-lzma ./tmp/singbox-linux-${arch}.upx + ./upx-3.94-amd64_linux/upx --no-lzma ./tmp/clash-linux-${arch}.upx + ;; + armv7|386) + ./upx-3.96-amd64_linux/upx --no-lzma ./tmp/clash-linux-${arch}.upx ;; *) - ./upx-3.96-amd64_linux/upx --no-lzma ./tmp/singbox-linux-${arch}.upx + ./upx-5.1.0-amd64_linux/upx ./tmp/clash-linux-${arch}.upx ;; esac done - rm -rf upx-3.9* + rm -rf upx-* - name: Zip core by tar if: env.ZIPTYPE == 'tar.gz' From b6d19a7ac48c547047ebff58beb26ef3ae77a7a3 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 18:41:07 +0800 Subject: [PATCH 050/318] refactor(set_tailscale): replace recursion with while loop --- scripts/menus/7_gateway.sh | 116 +++++++++++++++++++------------------ 1 file changed, 60 insertions(+), 56 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 7806c864..d4238c13 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -484,63 +484,67 @@ set_shadowsocks(){ *) errornum ;; esac } -#自定义端点 -set_tailscale(){ - [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" - echo -e "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" - echo -e "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" - echo -e "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" - echo -e " 2 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" - echo -e " 3 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" - echo -e " 4 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" - echo -e " 5 设置\033[36m设备名称\033[0m(可选) $ts_hostname" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - if [ -n "$ts_auth_key" ];then - [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON - setconfig ts_service "$ts_service" - else - echo -e "\033[31m请先设置秘钥!\033[0m" - sleep 1 - fi - set_tailscale - ;; - 2) - read -p "请输入秘钥(输入0删除) > " text - [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" - setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" - set_tailscale - ;; - 3) - [ "$ts_subnet" = true ] && ts_subnet=false || ts_subnet=true - setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" - set_tailscale - ;; - 4) - [ "$ts_exit_node" = true ] && ts_exit_node=false || { - ts_exit_node=true - echo -e "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" - sleep 3 - } - setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" - set_tailscale - ;; - 5) - read -p "请输入希望在Tailscale显示的设备名称 > " ts_hostname - setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" - set_tailscale - ;; - *) errornum ;; - esac + +# 自定义端点 +set_tailscale() { + while true; do + [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" + echo -e "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" + echo -e "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" + echo -e "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" + echo "-----------------------------------------------" + echo -e " 1 \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" + echo -e " 2 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" + echo -e " 3 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" + echo -e " 4 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" + echo -e " 5 设置\033[36m设备名称\033[0m(可选) $ts_hostname" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$ts_auth_key" ]; then + [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON + setconfig ts_service "$ts_service" + else + echo -e "\033[31m请先设置秘钥!\033[0m" + sleep 1 + fi + ;; + 2) + read -p "请输入秘钥(输入0删除) > " text + [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" + setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" + ;; + 3) + [ "$ts_subnet" = true ] && ts_subnet=false || ts_subnet=true + setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" + ;; + 4) + [ "$ts_exit_node" = true ] && ts_exit_node=false || { + ts_exit_node=true + echo -e "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" + sleep 3 + } + setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" + ;; + 5) + read -p "请输入希望在Tailscale显示的设备名称 > " ts_hostname + setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" + ;; + *) + errornum + sleep 1 + ;; + esac + done } + set_wireguard(){ [ -n "$wg_public_key" ] && wgp_key_info='*********' || unset wgp_key_info [ -n "$wg_private_key" ] && wgv_key_info='*********' || unset wgv_key_info From 0fad4c0d3ea157d465f965abd18557ac8ef383cd Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 15 Jan 2026 18:47:48 +0800 Subject: [PATCH 051/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=8Carm64=E5=92=8Camd64=E5=86=85=E6=A0=B8upx=E5=8E=8B?= =?UTF-8?q?=E7=BC=A9=E7=89=88=E6=9C=AC=E6=94=B9=E4=B8=BA5.1.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/update_singbox_core.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update_singbox_core.yaml b/.github/workflows/update_singbox_core.yaml index 11177278..3e6e2e91 100644 --- a/.github/workflows/update_singbox_core.yaml +++ b/.github/workflows/update_singbox_core.yaml @@ -218,13 +218,13 @@ jobs: chmod +x ./tmp/singbox-linux-${arch}.upx case "${arch}" in armv5|mips* ) - ./upx-3.94-amd64_linux/upx --no-lzma ./tmp/clash-linux-${arch}.upx + ./upx-3.94-amd64_linux/upx --no-lzma ./tmp/singbox-linux-${arch}.upx ;; armv7|386) - ./upx-3.96-amd64_linux/upx --no-lzma ./tmp/clash-linux-${arch}.upx + ./upx-3.96-amd64_linux/upx --no-lzma ./tmp/singbox-linux-${arch}.upx ;; *) - ./upx-5.1.0-amd64_linux/upx ./tmp/clash-linux-${arch}.upx + ./upx-5.1.0-amd64_linux/upx ./tmp/singbox-linux-${arch}.upx ;; esac done From 5ccf102791728b383f0cdb790f0633b64e304279 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 15 Jan 2026 18:47:53 +0800 Subject: [PATCH 052/318] fix(4_setboot): add double quote to prevent word splitting --- scripts/menus/4_setboot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index d20f70e0..bc7789c4 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -84,7 +84,7 @@ setboot() { case "$sec" in [0-9] | [0-9][0-9] | [0-2][0-9][0-9] | 300) start_delay=$sec - setconfig start_delay $sec + setconfig start_delay "$sec" echo -e "\033[32m设置成功!\033[0m" ;; *) From 3907be4c3fca8990a01c913f0a4259937e2eac79 Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 15 Jan 2026 18:53:03 +0800 Subject: [PATCH 053/318] ~bug fix --- scripts/libs/sb_endpoints.sh | 4 ++-- scripts/start.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/libs/sb_endpoints.sh b/scripts/libs/sb_endpoints.sh index c3ad77f4..cabddcea 100644 --- a/scripts/libs/sb_endpoints.sh +++ b/scripts/libs/sb_endpoints.sh @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (C) Juewuy -[ "$ts_service" = ON ] && grep -q '"tailscale"' "$CRASHDIR"/jsons/endpoints.json && { +[ "$ts_service" = ON ] && grep -q '"tailscale"' "$CRASHDIR"/jsons/endpoints.json 2>/dev/null && { [ "$ts_subnet" = true ] && { . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip advertise_routes=$(echo "$host_ipv4"|sed 's/[[:space:]]\+/", "/g; s/^/"/; s/$/"/') @@ -26,7 +26,7 @@ EOF } -[ "$wg_service" = ON ] && grep -q '"wireguard"' "$CRASHDIR"/jsons/endpoints.json && { +[ "$wg_service" = ON ] && grep -q '"wireguard"' "$CRASHDIR"/jsons/endpoints.json 2>/dev/null && { [ -n "$wg_ipv6" ] && wg_ipv6_add=", \"$wg_ipv6\"" cat >"$TMPDIR"/jsons/wireguard.json </dev/null + killall CrashCore 2>/dev/null #清理缓存目录 rm -rf "$TMPDIR"/CrashCore ;; From 2461c93b9fc7e0bdc1d62406f9ef78efed578b5a Mon Sep 17 00:00:00 2001 From: juewuy Date: Thu, 15 Jan 2026 19:10:08 +0800 Subject: [PATCH 054/318] =?UTF-8?q?~=E5=9B=9E=E9=80=80pr=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/singbox_modify.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index a91edb4a..d3416f59 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -202,7 +202,6 @@ EOF #域名嗅探配置 [ "$sniffer" = ON ] && ! grep -Eq '"action" *:[[:space:]]*"sniff"' "$CRASHDIR"/jsons/*.json && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' [ "$ts_service" = ON ] && tailscale_set='{ "inbound": [ "ts-ep" ], "port": 53, "action": "hijack-dns" },' - sed -i '/"clash_mode".*"outbound"/d' "$CRASHDIR"/jsons/*.json cat >"$TMPDIR"/jsons/add_route.json < Date: Thu, 15 Jan 2026 21:22:15 +0800 Subject: [PATCH 055/318] fix(1_start): add double quote to prevent word splitting --- scripts/menus/1_start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index 6f0cc258..5fab1355 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -35,7 +35,7 @@ start_core() { [ "$crashcore" = singboxr ] && coretype=singbox [ "$crashcore" = meta -o "$crashcore" = clashpre ] && coretype=clash - . "$CRASHDIR/menus/6_core_config.sh" && gen_${coretype}_providers + . "$CRASHDIR/menus/6_core_config.sh" && gen_"${coretype}"_providers elif [ -s "$core_config" ] || [ -n "$Url" ] || [ -n "$Https" ]; then "$CRASHDIR/start.sh" start From ebf01862662531993bcbf4feff65f3973a68e074 Mon Sep 17 00:00:00 2001 From: juewuy Date: Fri, 16 Jan 2026 18:29:18 +0800 Subject: [PATCH 056/318] ~bug fix --- scripts/menus/8_tools.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 9f4ed094..d58eaf98 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -498,7 +498,6 @@ log_pusher() { # 测试菜单 testcommand() { - echo "$crashcore" | grep -q 'singbox' && config_path=${JSONSDIR}/config.json || config_path=${YAMLSDIR}/config.yaml echo "-----------------------------------------------" echo -e "\033[30;47m这里是测试命令菜单\033[0m" echo -e "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" @@ -585,8 +584,9 @@ testcommand() { exit ;; 5) + echo "$crashcore" | grep -q 'singbox' && config_path="$CRASHDIR"/jsons/config.json || config_path="$CRASHDIR"/yamls/config.yaml echo "-----------------------------------------------" - sed -n '1,40p' ${config_path} + sed -n '1,40p' "$config_path" echo "-----------------------------------------------" exit ;; From 496e353a11e224d6ee3a2bf8709f6b75bcd27b8b Mon Sep 17 00:00:00 2001 From: juewuy Date: Fri, 16 Jan 2026 18:36:57 +0800 Subject: [PATCH 057/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/set_cron.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/libs/set_cron.sh b/scripts/libs/set_cron.sh index 2af0d57d..d93c776c 100644 --- a/scripts/libs/set_cron.sh +++ b/scripts/libs/set_cron.sh @@ -6,11 +6,12 @@ crondir="$(crond -h 2>&1 | grep -oE 'Default:.*' | awk -F ":" '{print $2}')" tmpcron="$TMPDIR"/cron_tmp croncmd() { #定时任务工具 - if [ -w "$crondir" ] && [ -n "$USER" ];then + if [ -n "$(crontab -h 2>&1 | grep '\-l')" ]; then + crontab "$1" + elif [ -w "$crondir" ] && [ -n "$USER" ];then [ "$1" = "-l" ] && cat "$crondir"/"$USER" 2>/dev/null [ -f "$1" ] && cat "$1" >"$crondir"/"$USER" - elif [ -n "$(crontab -h 2>&1 | grep '\-l')" ]; then - crontab "$1" + killall -HUP crond 2>/dev/null else echo "找不到可用的crond或者crontab应用!No available crond or crontab application can be found!" fi From 0cb57d1d7b384b2ea9579372be5cd62452ef211c Mon Sep 17 00:00:00 2001 From: juewuy Date: Fri, 16 Jan 2026 19:59:31 +0800 Subject: [PATCH 058/318] ~Add i18n support for 2_settings.sh --- scripts/lang/chs/2_settings.lang | 101 +++++++++++ scripts/lang/chs/common.lang | 5 + scripts/lang/en/2_settings.lang | 101 +++++++++++ scripts/lang/en/common.lang | 5 + scripts/menus/2_settings.sh | 276 +++++++++++++++---------------- 5 files changed, 349 insertions(+), 139 deletions(-) create mode 100644 scripts/lang/chs/2_settings.lang create mode 100644 scripts/lang/chs/common.lang create mode 100644 scripts/lang/en/2_settings.lang create mode 100644 scripts/lang/en/common.lang diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang new file mode 100644 index 00000000..c373b5cc --- /dev/null +++ b/scripts/lang/chs/2_settings.lang @@ -0,0 +1,101 @@ +# ================================================= +# Settings main menu +# ================================================= +SET_MENU_TITLE="欢迎使用功能设置菜单:" +SET_MENU_REDIR="路由模式设置" +SET_MENU_DNS="DNS设置" +SET_MENU_FW_FILTER="透明路由流量过滤" +SET_MENU_SKIP_CERT="跳过证书验证" +SET_MENU_SNIFFER="启用域名嗅探" +SET_MENU_ADV_PORT="自定义端口及密钥" +SET_MENU_IPV6="IPv6设置" +SET_MENU_RESET="重置/备份/还原脚本设置" + +# ================================================= +# Main menu messages +# ================================================= +SET_WARN_NONROOT="非root用户可能无法正确配置其他模式,是否继续?" +SET_SKIP_CERT_ON="已开启跳过本地证书验证!" +SET_SKIP_CERT_OFF="已关闭跳过本地证书验证!" + +SET_SNIFFER_CORE_SWITCH="已自动切换至Meta内核(域名嗅探需要)" +SET_SNIFFER_LOCKED="当前内核与DNS模式组合下,域名嗅探无法关闭!" + +SET_CORE_RUNNING="检测到服务正在运行,需要先停止服务!" +SET_CORE_STOP_CONFIRM="是否停止服务?" + +# ================================================= +# Backup / Restore / Reset +# ================================================= +SET_BACKUP="备份脚本设置" +SET_RESTORE="还原脚本设置" +SET_RESET="重置脚本设置" + +SET_BACKUP_OK="脚本设置已备份!" +SET_RESTORE_OK="脚本设置已还原!(被覆盖配置已备份)" +SET_RESET_OK="脚本设置已重置!(旧配置已备份)" +SET_BACKUP_MISS="未找到备份文件,请先备份!" +SET_NEED_RESTART="请重新启动脚本以生效!" + +# ================================================= +# Redir mode +# ================================================= +SET_REDIR_DEFAULT="Redir模式" +SET_REDIR_CURRENT="当前路由模式为:" +SET_CORE_CURRENT="ShellCrash 核心为:" +SET_REDIR_RESTART_HINT="切换模式后需要手动重启服务以生效!" + +SET_REDIR_APPLIED="已设为" + +SET_REDIR_REDIR="Redir模式" +SET_REDIR_MIX="混合模式" +SET_REDIR_TPROXY="Tproxy模式" +SET_REDIR_TUN="Tun模式" + +SET_REDIR_REDIRDES="Redir转发TCP,不转发UDP" +SET_REDIR_MIXDES="Redir转发TCP,Tun转发UDP" +SET_REDIR_TPROXYDES="Tproxy转发TCP&UDP" +SET_REDIR_TUNDES="Tun转发TCP&UDP(占用高不推荐)" + +SET_NO_TUN="设备未检测到Tun内核模块,请安装相关依赖或选择其他模式!" + +# ================================================= +# Firewall / VM +# ================================================= +SET_FW_AREA="设置路由劫持范围" +SET_VM_REDIR="容器/虚拟机劫持" +SET_FW_SWITCH="切换防火墙应用" + +SET_FW_AREA_DESC="仅局域网 仅本机 局域网+本机 纯净模式 旁路转发" + +FW_AREA_NOTE="如你使用了第三方DNS如smartdns等,请勿启用本机劫持或使用shellcrash用户执行!" +FW_AREA_LAN="仅劫持局域网流量" +FW_AREA_LOCAL="仅劫持本机流量" +FW_AREA_BOTH="劫持局域网 + 本机流量" +FW_AREA_NONE="不配置流量劫持(纯净模式)" + +VM_DETECT_DESC="默认的容器/虚拟机网段为:" +VM_ENABLE_AUTO="启用劫持并使用自动检测的网段" +VM_ENABLE_MANUAL="启用劫持并手动指定网段" +VM_DISABLE="禁用劫持" +VM_INPUT_INFO="多个网段请用空格连接,可使用【ip route】命令查看,例如:" +VM_INPUT_NET="请输入自定义网段" + +# ================================================= +# Advanced config +# ================================================= +ADV_HTTP_PORT="修改HTTP/SOCKS5端口" +ADV_HTTP_AUTH="设置HTTP/SOCKS5认证" +ADV_REDIR_PORT="修改Redir/Tproxy端口" +ADV_DNS_PORT="修改DNS监听端口" +ADV_PANEL_PORT="修改面板访问端口" +ADV_PANEL_PASS="设置面板访问密码" +ADV_PANEL_PASS_INPUT="请输入面板访问密码(输入0删除)" +ADV_HOST="自定义本机 Host 地址" +ADV_TABLE="自定义路由表" + +# ================================================= +# IPv6 +# ================================================= +IPV6_REDIR="IPv6透明路由(劫持IPv6流量)" +IPV6_DNS="IPv6-DNS解析(是否返回IPv6地址)" diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang new file mode 100644 index 00000000..6efb6d4f --- /dev/null +++ b/scripts/lang/chs/common.lang @@ -0,0 +1,5 @@ + +COMMON_INPUT="请输入对应数字" +COMMON_BACK="返回上级菜单" +COMMON_SUCCESS="设置成功!" +COMMON_UNSET="未设置" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang new file mode 100644 index 00000000..e4e715cf --- /dev/null +++ b/scripts/lang/en/2_settings.lang @@ -0,0 +1,101 @@ +# ================================================= +# Settings main menu +# ================================================= +SET_MENU_TITLE="Welcome to the Function Settings Menu:" +SET_MENU_REDIR="Routing Mode" +SET_MENU_DNS="DNS Settings" +SET_MENU_FW_FILTER="Transparent Routing Traffic Filter" +SET_MENU_SKIP_CERT="Skip Certificate Verification" +SET_MENU_SNIFFER="Enable Domain Sniffing" +SET_MENU_ADV_PORT="Custom Ports and Secrets" +SET_MENU_IPV6="IPv6 Settings" +SET_MENU_RESET="Reset / Backup / Restore Script Settings" + +# ================================================= +# Main menu messages +# ================================================= +SET_WARN_NONROOT="Non-root users may not be able to configure some modes correctly. Continue anyway?" +SET_SKIP_CERT_ON="Skipping local certificate verification is now ENABLED!" +SET_SKIP_CERT_OFF="Skipping local certificate verification is now DISABLED!" + +SET_SNIFFER_CORE_SWITCH="Automatically switched to Meta core (required for domain sniffing)" +SET_SNIFFER_LOCKED="Domain sniffing cannot be disabled with the current core and DNS mode combination!" + +SET_CORE_RUNNING="Service is currently running and must be stopped first!" +SET_CORE_STOP_CONFIRM="Do you want to stop the service?" + +# ================================================= +# Backup / Restore / Reset +# ================================================= +SET_BACKUP="Backup Script Settings" +SET_RESTORE="Restore Script Settings" +SET_RESET="Reset Script Settings" + +SET_BACKUP_OK="Script settings have been backed up!" +SET_RESTORE_OK="Script settings have been restored! (Overwritten config has been backed up)" +SET_RESET_OK="Script settings have been reset! (Old config has been backed up)" +SET_BACKUP_MISS="Backup file not found. Please back up first!" +SET_NEED_RESTART="Please restart the script for changes to take effect!" + +# ================================================= +# Redir mode +# ================================================= +SET_REDIR_DEFAULT="Redir Mode" +SET_REDIR_CURRENT="Current routing mode:" +SET_CORE_CURRENT="ShellCrash core:" +SET_REDIR_RESTART_HINT="You must manually restart the service for the change to take effect!" + +SET_REDIR_APPLIED="Routing mode set to" + +SET_REDIR_REDIR="Redir Mode" +SET_REDIR_MIX="Mixed Mode" +SET_REDIR_TPROXY="Tproxy Mode" +SET_REDIR_TUN="Tun Mode" + +SET_REDIR_REDIRDES="Redirect TCP traffic only (no UDP)" +SET_REDIR_MIXDES="Redirect TCP via Redir, UDP via Tun" +SET_REDIR_TPROXYDES="Tproxy forwards both TCP UDP" +SET_REDIR_TUNDES="Tun forwards both TCP UDP (high resource usage)" + +SET_NO_TUN="Tun kernel module not detected. Please install required dependencies or select another mode!" + +# ================================================= +# Firewall / VM +# ================================================= +SET_FW_AREA="Set Routing Hijack Scope" +SET_VM_REDIR="Container / VM Hijacking" +SET_FW_SWITCH="Switch Firewall Backend" + +SET_FW_AREA_DESC="LAN Only Local Only LAN+Local Pure Mode Bypass Forwarding" + +FW_AREA_NOTE="If you are using a third-party DNS like SmartDNS, \ndo not enable local hijacking or run the service as a ShellCrash user" +FW_AREA_LAN="Hijack LAN traffic only" +FW_AREA_LOCAL="Hijack local device traffic only" +FW_AREA_BOTH="Hijack both LAN and local device traffic" +FW_AREA_NONE="Do not hijack traffic (Pure mode)" + +VM_DETECT_DESC="Default Container/VM Subnet:" +VM_ENABLE_AUTO="Enable hijacking using automatically detected subnets" +VM_ENABLE_MANUAL="Enable hijacking and manually specify subnets" +VM_DISABLE="Disable hijacking" +VM_INPUT_INFO="Separate multiple segments with spaces. Check your configuration using ip route. Example:" +VM_INPUT_NET="Please enter cust subnets" + +# ================================================= +# Advanced config +# ================================================= +ADV_HTTP_PORT="Change HTTP / SOCKS5 Port" +ADV_HTTP_AUTH="Set HTTP / SOCKS5 Authentication" +ADV_REDIR_PORT="Change Redir / Tproxy Ports" +ADV_DNS_PORT="Change DNS Listening Port" +ADV_PANEL_PORT="Change Web Panel Port" +ADV_PANEL_PASS="Set Web Panel Password" +ADV_PANEL_PASS_INPUT="Enter web panel password (enter 0 to remove)" +ADV_HOST="Custom Local Host Address" +ADV_TABLE="Custom Routing Table" + +# ================================================= +# IPv6 +# ================================================= +IPV6_REDIR="IPv6 Transparent Routing (Hijack IPv6 Traffic)" +IPV6_DNS="IPv6 DNS Resolution (Return IPv6 addresses)" diff --git a/scripts/lang/en/common.lang b/scripts/lang/en/common.lang new file mode 100644 index 00000000..1f21342d --- /dev/null +++ b/scripts/lang/en/common.lang @@ -0,0 +1,5 @@ + +COMMON_INPUT="Please enter a number" +COMMON_BACK="Back" +COMMON_SUCCESS="Successfully set!" +COMMON_UNSET="Not set" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 39b2fdbd..f543e527 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -4,6 +4,8 @@ [ -n "$__IS_MODULE_2_SETTINGS_LOADED" ] && return __IS_MODULE_2_SETTINGS_LOADED=1 +load_lang 2_settings + # 功能设置 settings() { while true; do @@ -13,35 +15,35 @@ settings() { [ -z "$dns_mod" ] && dns_mod='redir_host' echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用功能设置菜单:\033[0m" + echo -e "\033[30;47m$SET_MENU_TITLE\033[0m" echo "-----------------------------------------------" - echo -e " 1 路由模式设置: \033[36m$redir_mod\033[0m" - echo -e " 2 DNS设置: \033[36m$dns_mod\033[0m" - echo -e " 3 透明路由\033[32m流量过滤\033[0m" + echo -e " 1 $SET_MENU_REDIR:\t\033[36m$redir_mod\033[0m" + echo -e " 2 $SET_MENU_DNS:\t\t\033[36m$dns_mod\033[0m" + echo -e " 3 $SET_MENU_FW_FILTER" [ "$disoverride" != "1" ] && { - echo -e " 4 跳过证书验证: \033[36m$skip_cert\033[0m" - echo -e " 5 启用域名嗅探: \033[36m$sniffer\033[0m" - echo -e " 6 自定义\033[32m端口及秘钥\033[0m" + echo -e " 4 $SET_MENU_SKIP_CERT:\t\033[36m$skip_cert\033[0m" + echo -e " 5 $SET_MENU_SNIFFER:\t\033[36m$sniffer\033[0m" + echo -e " 6 $SET_MENU_ADV_PORT" } - echo -e " 8 ipv6设置: \033[36m$ipv6_redir\033[0m" + echo -e " 8 $SET_MENU_IPV6:\t\t\033[36m$ipv6_redir\033[0m" echo "-----------------------------------------------" - echo -e " 9 \033[31m重置/备份/还原\033[0m脚本设置" - echo -e " 0 返回上级菜单 \033[0m" + echo -e " 9 \033[31m$SET_MENU_RESET\033[0m" + echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + read -p "$COMMON_INPUT > " num + case "$num" in "" | 0) break ;; 1) - if [ "$USER" != "root" -a "$USER" != "admin" ]; then + if [ "$USER" != root -a "$USER" != admin ]; then echo "-----------------------------------------------" - read -p "非root用户可能无法正确配置其他模式!依然尝试吗?(1/0) > " res + read -p "$SET_WARN_NONROOT (1/0) > " res [ "$res" = 1 ] && set_redir_mod else set_redir_mod fi - sleep 1 ;; 2) . "$CRASHDIR"/menus/dns.sh && set_dns_mod @@ -53,43 +55,38 @@ settings() { ;; 4) echo "-----------------------------------------------" - if [ "$skip_cert" = "OFF" ] >/dev/null 2>&1; then - echo -e "\033[33m已设为开启跳过本地证书验证!!\033[0m" + if [ "$skip_cert" = OFF ]; then skip_cert=ON + echo -e "\033[33m$SET_SKIP_CERT_ON\033[0m" else - echo -e "\033[33m已设为禁止跳过本地证书验证!!\033[0m" skip_cert=OFF + echo -e "\033[33m$SET_SKIP_CERT_OFF\033[0m" fi setconfig skip_cert $skip_cert ;; 5) echo "-----------------------------------------------" - if [ "$sniffer" = "OFF" ]; then - if [ "$crashcore" = "clash" ]; then - rm -rf ${TMPDIR}/CrashCore - rm -rf "$CRASHDIR"/CrashCore - rm -rf "$CRASHDIR"/CrashCore.tar.gz + if [ "$sniffer" = OFF ]; then + if [ "$crashcore" = clash ]; then + rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" crashcore=meta setconfig crashcore $crashcore - echo "已将ShellCrash内核切换为Meta内核!域名嗅探依赖Meta或者高版本clashpre内核!" + echo "$SET_SNIFFER_CORE_SWITCH" fi sniffer=ON - elif [ "$crashcore" = "clashpre" -a "$dns_mod" = "redir_host" ]; then - echo -e "\033[31m使用clashpre内核且开启redir-host模式时无法关闭!\033[0m" + elif [ "$crashcore" = clashpre -a "$dns_mod" = redir_host ]; then + echo -e "\033[31m$SET_SNIFFER_LOCKED\033[0m" else sniffer=OFF fi setconfig sniffer $sniffer ;; 6) - if [ -n "$(pidof CrashCore)" ]; then + if pidof CrashCore >/dev/null; then echo "-----------------------------------------------" - echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" - read -p "是否停止服务?(1/0) > " res - if [ "$res" = "1" ]; then - "$CRASHDIR"/start.sh stop - set_adv_config - fi + echo -e "\033[33m$SET_CORE_RUNNING\033[0m" + read -p "$SET_CORE_STOP_CONFIRM (1/0) > " res + [ "$res" = 1 ] && "$CRASHDIR/start.sh" stop && set_adv_config else set_adv_config fi @@ -99,50 +96,44 @@ settings() { ;; 9) echo "-----------------------------------------------" - echo -e " 1 备份脚本设置" - echo -e " 2 还原脚本设置" - echo -e " 3 重置脚本设置" - echo -e " 0 返回上级菜单" + echo -e " 1 $SET_BACKUP" + echo -e " 2 $SET_RESTORE" + echo -e " 3 $SET_RESET" + echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - if [ -z "$num" ]; then - errornum - elif [ "$num" = 0 ]; then - i= - elif [ "$num" = 1 ]; then - cp -f "$CFG_PATH" "$CFG_PATH".bak - echo -e "\033[32m脚本设置已备份!\033[0m" - elif [ "$num" = 2 ]; then - if [ -f "$CFG_PATH.bak" ]; then - mv -f "$CFG_PATH" "$CFG_PATH".bak2 - mv -f "$CFG_PATH".bak "$CFG_PATH" - mv -f "$CFG_PATH".bak2 "$CFG_PATH".bak - echo -e "\033[32m脚本设置已还原!(被覆盖的配置已备份!)\033[0m" - else - echo -e "\033[31m找不到备份文件,请先备份脚本设置!\033[0m" - fi - elif [ "$num" = 3 ]; then - mv -f "$CFG_PATH" "$CFG_PATH".bak - . "$CRASHDIR"/init.sh >/dev/null - echo -e "\033[32m脚本设置已重置!(旧文件已备份!)\033[0m" - fi - echo -e "\033[33m请重新启动脚本!\033[0m" + read -p "$COMMON_INPUT > " num + case "$num" in + 1) cp -f "$CFG_PATH" "$CFG_PATH.bak" && echo -e "\033[32m$SET_BACKUP_OK\033[0m" ;; + 2) + if [ -f "$CFG_PATH.bak" ]; then + mv -f "$CFG_PATH" "$CFG_PATH.bak2" + mv -f "$CFG_PATH.bak" "$CFG_PATH" + mv -f "$CFG_PATH.bak2" "$CFG_PATH.bak" + echo -e "\033[32m$SET_RESTORE_OK\033[0m" + else + echo -e "\033[31m$SET_BACKUP_MISS\033[0m" + fi + ;; + 3) + mv -f "$CFG_PATH" "$CFG_PATH.bak" + . "$CRASHDIR/init.sh" >/dev/null + echo -e "\033[32m$SET_RESET_OK\033[0m" + ;; + esac + echo -e "\033[33m$SET_NEED_RESTART\033[0m" exit 0 ;; - *) - errornum - sleep 1 - break - ;; + *) errornum ;; esac + sleep 1 done } set_redir_config() { - setconfig redir_mod $redir_mod - setconfig dns_mod $dns_mod + setconfig redir_mod "$redir_mod" + setconfig dns_mod "$dns_mod" echo "-----------------------------------------------" - echo -e "\033[36m已设为 $redir_mod !!\033[0m" + echo -e "\033[36m$SET_REDIR_APPLIED $redir_mod\033[0m" } # 路由模式设置 @@ -154,27 +145,28 @@ set_redir_mod() { [ -z "$redir_mod" ] && redir_mod='纯净模式' firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area) echo "-----------------------------------------------" - echo -e "当前路由模式为:\033[47;30m$redir_mod\033[0m;ShellCrash核心为:\033[47;30m $crashcore \033[0m" - echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m" + echo -e "$SET_REDIR_CURRENT \033[47;30m$redir_mod\033[0m ; $SET_CORE_CURRENT \033[47;30m$crashcore\033[0m" + echo -e "\033[33m$SET_REDIR_RESTART_HINT\033[0m" echo "-----------------------------------------------" [ $firewall_area -le 3 ] && { - echo -e " 1 \033[32mRedir模式\033[0m: Redir转发TCP,不转发UDP" - echo -e " 2 \033[36m混合模式\033[0m: Redir转发TCP,Tun转发UDP" - echo -e " 3 \033[32mTproxy模式\033[0m: Tproxy转发TCP&UDP" - echo -e " 4 \033[33mTun模式\033[0m: Tun转发TCP&UDP(占用高不推荐)" - echo "-----------------------------------------------" - } + echo -e " 1 \033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" + echo -e " 2 \033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" + echo -e " 3 \033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" + echo -e " 4 \033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" + echo -e "-----------------------------------------------" + } [ "$firewall_area" = 5 ] && { echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" echo "-----------------------------------------------" } - echo -e " 7 设置路由劫持范围: \033[47;30m$firewall_area_dsc\033[0m" - echo -e " 8 容器/虚拟机劫持: \033[47;30m$vm_redir\033[0m" - echo -e " 9 切换防火墙应用: \033[47;30m$firewall_mod\033[0m" + echo -e " 7 $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" + echo -e " 8 $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" + echo -e " 9 $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num + echo -e " 0 $COMMON_BACK" + read -p "$COMMON_INPUT > " num + case "$num" in "" | 0) break @@ -298,22 +290,24 @@ inputport() { # 端口设置 set_adv_config() { while true; do - . "$CFG_PATH" >/dev/null - [ -z "$secret" ] && secret=未设置 - [ -z "$table" ] && table=100 - [ -z "$authentication" ] && auth=未设置 || auth=****** - echo "-----------------------------------------------" - echo -e " 1 修改Http/Sock5端口: \033[36m$mix_port\033[0m" - echo -e " 2 设置Http/Sock5密码: \033[36m$auth\033[0m" - echo -e " 3 修改Redir/Tproxy端口:\033[36m$redir_port,$((redir_port + 1))\033[0m" - echo -e " 4 修改DNS监听端口: \033[36m$dns_port\033[0m" - echo -e " 5 修改面板访问端口: \033[36m$db_port\033[0m" - echo -e " 6 设置面板访问密码: \033[36m$secret\033[0m" - echo -e " 8 自定义本机host地址: \033[36m$host\033[0m" - echo -e " 9 自定义路由表: \033[36m$table,$((table + 1))\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in + . "$CFG_PATH" >/dev/null + [ -z "$secret" ] && secret="$COMMON_UNSET" + [ -z "$table" ] && table=100 + [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" + + echo "-----------------------------------------------" + echo -e " 1 $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" + echo -e " 2 $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" + echo -e " 3 $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port+1))\033[0m" + echo -e " 4 $ADV_DNS_PORT:\t\033[36m$dns_port\033[0m" + echo -e " 5 $ADV_PANEL_PORT:\t\033[36m$db_port\033[0m" + echo -e " 6 $ADV_PANEL_PASS:\t\033[36m$secret\033[0m" + echo -e " 8 $ADV_HOST:\t\033[36m$host\033[0m" + echo -e " 9 $ADV_TABLE:\t\033[36m$table,$((table+1))\033[0m" + echo -e " 0 $COMMON_BACK" + read -p "$COMMON_INPUT > " num + + case "$num" in "" | 0) break ;; @@ -394,14 +388,14 @@ set_adv_config() { continue fi ;; - 6) - read -p "请输入面板访问密码(输入0删除密码) > " secret + 6) + read -p "$ADV_PANEL_PASS_INPUT > " secret if [ -n "$secret" ]; then [ "$secret" = "0" ] && secret="" - setconfig secret "$secret" - echo -e "\033[32m设置成功!!!\033[0m" + setconfig secret "$secret" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" fi - ;; + ;; 8) echo "-----------------------------------------------" echo -e "\033[33m如果你的局域网网段不是192.168.x或172.16.x或10.x开头,请务必修改!\033[0m" @@ -440,22 +434,20 @@ set_adv_config() { done } -set_firewall_area() { #路由范围设置 +set_firewall_area() { [ -z "$vm_redir" ] && vm_redir='OFF' echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m基于桥接网卡的Docker/虚拟机流量,请单独启用!" - echo -e "\033[33m如你使用了第三方DNS如smartdns等,请勿启用本机劫持或使用shellcrash用户执行!\033[0m" + echo -e "\033[33m$FW_AREA_NOTE\033[0m" echo "-----------------------------------------------" - echo -e " 1 \033[32m仅劫持局域网流量\033[0m" - echo -e " 2 \033[36m仅劫持本机流量\033[0m" - echo -e " 3 \033[32m劫持局域网+本机流量\033[0m" - echo -e " 4 不配置流量劫持(纯净模式)\033[0m" - #echo -e " 5 \033[33m转发局域网流量到旁路由设备\033[0m" - echo -e " 0 返回上级菜单" + echo -e " 1 \033[32m$FW_AREA_LAN\033[0m" + echo -e " 2 \033[36m$FW_AREA_LOCAL\033[0m" + echo -e " 3 \033[32m$FW_AREA_BOTH\033[0m" + echo -e " 4 $FW_AREA_NONE" + echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + read -p "$COMMON_INPUT > " num + case "$num" in - 0) ;; [1-4]) [ $firewall_area -ge 4 ] && { redir_mod=Redir模式 @@ -496,17 +488,17 @@ set_firewall_vm(){ vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') vm_des='当前获取到' fi - echo "-----------------------------------------------" - echo -e "$vm_des的容器/虚拟机网段为:\033[32m$vm_ipv4\033[0m" - echo -e "如未包含容器网段,请先运行容器再运行脚本或者手动设置网段" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用劫持并使用默认网段\033[0m" - echo -e " 2 \033[36m启用劫持并自定义网段\033[0m" - echo -e " 3 \033[31m禁用劫持\033[0m" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in + echo "-----------------------------------------------" + echo -e "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[32m$VM_ENABLE_AUTO\033[0m" + echo -e " 2 \033[36m$VM_ENABLE_MANUAL\033[0m" + echo -e " 3 \033[31m$VM_DISABLE\033[0m" + echo -e " 0 $COMMON_BACK" + echo "-----------------------------------------------" + read -p "$COMMON_INPUT > " num + + case "$num" in 1) if [ -n "$vm_ipv4" ]; then vm_redir=ON @@ -514,20 +506,24 @@ set_firewall_vm(){ echo -e "\033[33m请先运行容器再运行脚本或者手动设置网段\033[0m" fi ;; - 2) - echo -e "多个网段请用空格连接,可运行容器后使用【ip route】命令查看网段地址" - echo -e "示例:\033[32m10.88.0.0/16 172.17.0.0/16\033[0m" - read -p "请输入自定义网段 > " text - [ -n "$text" ] && vm_ipv4=$text && vm_redir=ON + 2) + echo -e "多个网段请用空格连接,可使用【ip route】命令查看,例如:" + echo -e "\033[32m10.88.0.0/16 172.17.0.0/16\033[0m" + read -p "$VM_INPUT_NET > " text + [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON ;; - 3) + 3) vm_redir=OFF - unset vm_ipv4 + vm_ipv4='' + ;; + *) ;; + esac + case "$num" in + 1-3) + setconfig vm_redir "$vm_redir" + setconfig vm_ipv4 "'$vm_ipv4'" ;; - *) ;; esac - setconfig vm_redir $vm_redir - setconfig vm_ipv4 "'$vm_ipv4'" } # ipv6设置 @@ -535,12 +531,14 @@ set_ipv6() { while true; do [ -z "$ipv6_redir" ] && ipv6_redir=OFF [ -z "$ipv6_dns" ] && ipv6_dns=ON + echo "-----------------------------------------------" - echo -e " 1 ipv6透明路由: \033[36m$ipv6_redir\033[0m ——劫持ipv6流量" - [ "$disoverride" != "1" ] && echo -e " 2 ipv6-DNS解析: \033[36m$ipv6_dns\033[0m ——决定内置DNS是否返回ipv6地址" - echo -e " 0 返回上级菜单" + echo -e " 1 $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" + [ "$disoverride" != "1" ] && echo -e " 2 $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" + echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + read -p "$COMMON_INPUT > " num + case "$num" in "" | 0) break @@ -557,8 +555,8 @@ set_ipv6() { setconfig ipv6_support $ipv6_support ;; 2) - [ "$ipv6_dns" = "OFF" ] && ipv6_dns=ON || ipv6_dns=OFF - setconfig ipv6_dns $ipv6_dns + [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF + setconfig ipv6_dns "$ipv6_dns" ;; *) errornum From c84a92b2e5a5cb5b0878df2fb5840bb6ffd655e8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Fri, 16 Jan 2026 20:08:01 +0800 Subject: [PATCH 059/318] ~Add i18n support for 2_settings.sh --- scripts/lang/chs/2_settings.lang | 2 +- scripts/lang/en/2_settings.lang | 2 +- scripts/menus/2_settings.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index c373b5cc..b38b3402 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -66,7 +66,7 @@ SET_FW_AREA="设置路由劫持范围" SET_VM_REDIR="容器/虚拟机劫持" SET_FW_SWITCH="切换防火墙应用" -SET_FW_AREA_DESC="仅局域网 仅本机 局域网+本机 纯净模式 旁路转发" +SET_FW_AREA_DESC="仅局域网|仅本机|局域网+本机|纯净模式|旁路转发" FW_AREA_NOTE="如你使用了第三方DNS如smartdns等,请勿启用本机劫持或使用shellcrash用户执行!" FW_AREA_LAN="仅劫持局域网流量" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index e4e715cf..768c1558 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -66,7 +66,7 @@ SET_FW_AREA="Set Routing Hijack Scope" SET_VM_REDIR="Container / VM Hijacking" SET_FW_SWITCH="Switch Firewall Backend" -SET_FW_AREA_DESC="LAN Only Local Only LAN+Local Pure Mode Bypass Forwarding" +SET_FW_AREA_DESC="LAN only|Local only|LAN&Local|Pure mode|Bypass:" FW_AREA_NOTE="If you are using a third-party DNS like SmartDNS, \ndo not enable local hijacking or run the service as a ShellCrash user" FW_AREA_LAN="Hijack LAN traffic only" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index f543e527..180f4fd0 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -143,7 +143,7 @@ set_redir_mod() { [ -z "$firewall_area" ] && firewall_area=1 [ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' [ -z "$redir_mod" ] && redir_mod='纯净模式' - firewall_area_dsc=$(echo "仅局域网 仅本机 局域网+本机 纯净模式 主-旁转发($bypass_host)" | cut -d' ' -f$firewall_area) + firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) echo "-----------------------------------------------" echo -e "$SET_REDIR_CURRENT \033[47;30m$redir_mod\033[0m ; $SET_CORE_CURRENT \033[47;30m$crashcore\033[0m" echo -e "\033[33m$SET_REDIR_RESTART_HINT\033[0m" From b3b72b4b85f4614d4b020845f1fe151a468d40dd Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 16 Jan 2026 21:04:48 +0800 Subject: [PATCH 060/318] refactor(setrules): replace recursion with while loop - Replace recursion with while loop - Add double quote to prevent word splitting - Use grep -q instead of [ -n ... ] for rule match --- scripts/menus/6_core_config.sh | 283 ++++++++++++++++++--------------- 1 file changed, 152 insertions(+), 131 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 2838f18f..a0cf9a9d 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -7,138 +7,159 @@ __IS_MODULE_6_CORECONFIG_LOADED=1 YAMLSDIR="$CRASHDIR"/yamls JSONSDIR="$CRASHDIR"/jsons -#导入订阅、配置文件相关 -setrules(){ #自定义规则 - set_rule_type(){ - echo "-----------------------------------------------" - echo -e "\033[33m请选择规则类型\033[0m" - echo $rule_type | awk -F ' ' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - [0-9]*) - if [ $num -gt $(echo $rule_type | awk -F " " '{print NF}') ];then - errornum - else - rule_type_set=$(echo $rule_type|cut -d' ' -f$num) - echo "-----------------------------------------------" - echo -e "\033[33m请输入规则语句,可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" - read -p "请输入对应规则 > " rule_state_set - [ -n "$rule_state_set" ] && set_group_type || errornum - fi - ;; - *) - errornum - ;; - esac - } - set_group_type(){ - echo "-----------------------------------------------" - echo -e "\033[36m请选择具体规则\033[0m" - echo -e "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" - echo $rule_group | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - [0-9]*) - if [ $num -gt $(echo $rule_group | awk -F "#" '{print NF}') ];then - errornum - else - rule_group_set=$(echo $rule_group|cut -d'#' -f$num) - rule_all="- ${rule_type_set},${rule_state_set},${rule_group_set}" - [ -n "$(echo IP-CIDR SRC-IP-CIDR IP-CIDR6|grep "$rule_type_set")" ] && rule_all="${rule_all},no-resolve" - echo "$rule_all" >> "$YAMLSDIR"/rules.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" - fi - ;; - *) - errornum - ;; - esac - } - del_rule_type(){ - echo -e "输入对应数字即可移除相应规则:" - sed -i '/^ *$/d; /^#/d' "$YAMLSDIR"/rules.yaml - cat "$YAMLSDIR"/rules.yaml | grep -Ev '^#' | awk -F "#" '{print " "NR" "$1$2$3}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - '') ;; - *) - if [ "$num" -le "$(wc -l < "$YAMLSDIR"/rules.yaml)" ];then - sed -i "${num}d" "$YAMLSDIR"/rules.yaml - sleep 1 - del_rule_type - else - errornum - fi - ;; - esac - } - get_rule_group(){ - . "$CRASHDIR"/libs/web_save.sh - get_save http://127.0.0.1:${db_port}/proxies | sed 's/:{/!/g' | awk -F '!' '{for(i=1;i<=NF;i++) print $i}' | grep -aE '"Selector|URLTest|LoadBalance"' | grep -aoE '"name":.*"now":".*",' | awk -F '"' '{print "#"$4}' | tr -d '\n' - } - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义规则\033[0m" - echo -e "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" - echo -e "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" - echo -e "大量规则请尽量使用rule-set功能添加,\033[31m此处过量添加可能导致启动卡顿!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 新增自定义规则" - echo -e " 2 移除自定义规则" - echo -e " 3 清空规则列表" - echo "$crashcore" | grep -q 'singbox' || echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - rule_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN PROCESS-NAME" - rule_group="DIRECT#REJECT$(get_rule_group)" - set_rule_type - setrules - ;; - 2) - echo "-----------------------------------------------" - if [ -s "$YAMLSDIR"/rules.yaml ];then - del_rule_type - else - echo -e "请先添加自定义规则!" - sleep 1 - fi - setrules - ;; - 3) - read -p "确认清空全部自定义规则?(1/0) > " res - [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml - setrules - ;; - 4) - echo "-----------------------------------------------" - if [ "$proxies_bypass" = "OFF" ];then - echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" - echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -p "启用节点绕过?(1/0) > " res - [ "$res" = "1" ] && proxies_bypass=ON - else - proxies_bypass=OFF - fi - setconfig proxies_bypass $proxies_bypass - sleep 1 - setrules - ;; - *) - errornum - ;; - esac +# 导入订阅、配置文件相关 +# 自定义规则 +setrules() { + + set_rule_type() { + echo "-----------------------------------------------" + echo -e "\033[33m请选择规则类型\033[0m" + echo "$rule_type" | awk -F ' ' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) ;; + [0-9]*) + if [ "$num" -gt $(echo $rule_type | awk -F " " '{print NF}') ]; then + errornum + sleep 1 + else + rule_type_set=$(echo "$rule_type" | cut -d' ' -f"$num") + echo "-----------------------------------------------" + echo -e "\033[33m请输入规则语句,可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" + read -p "请输入对应规则 > " rule_state_set + if [ -n "$rule_state_set" ]; then + set_group_type + else + errornum + slepp 1 + fi + fi + ;; + *) + errornum + sleep 1 + ;; + esac + } + + set_group_type() { + echo "-----------------------------------------------" + echo -e "\033[36m请选择具体规则\033[0m" + echo -e "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" + echo "$rule_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) ;; + [0-9]*) + if [ "$num" -gt "$(echo "$rule_group" | awk -F "#" '{print NF}')" ]; then + errornum + sleep 1 + else + rule_group_set=$(echo "$rule_group" | cut -d'#' -f"$num") + rule_all="- ${rule_type_set},${rule_state_set},${rule_group_set}" + echo "IP-CIDR SRC-IP-CIDR IP-CIDR6" | grep -q -- "$rule_type_set" && rule_all="${rule_all},no-resolve" + + echo "$rule_all" >>"$YAMLSDIR"/rules.yaml + echo "-----------------------------------------------" + echo -e "\033[32m添加成功!\033[0m" + fi + ;; + *) + errornum + sleep 1 + ;; + esac + } + + del_rule_type() { + while true; do + echo -e "输入对应数字即可移除相应规则:" + sed -i '/^ *$/d; /^#/d' "$YAMLSDIR"/rules.yaml + cat "$YAMLSDIR"/rules.yaml | grep -Ev '^#' | awk -F "#" '{print " "NR" "$1$2$3}' + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + *) + if [ "$num" -le "$(wc -l <"$YAMLSDIR"/rules.yaml)" ]; then + sed -i "${num}d" "$YAMLSDIR"/rules.yaml + sleep 1 + else + errornum + sleep 1 + break + fi + ;; + esac + done + } + + get_rule_group() { + . "$CRASHDIR"/libs/web_save.sh + get_save http://127.0.0.1:${db_port}/proxies | sed 's/:{/!/g' | awk -F '!' '{for(i=1;i<=NF;i++) print $i}' | grep -aE '"Selector|URLTest|LoadBalance"' | grep -aoE '"name":.*"now":".*",' | awk -F '"' '{print "#"$4}' | tr -d '\n' + } + + while true; do + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理自定义规则\033[0m" + echo -e "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" + echo -e "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" + echo -e "大量规则请尽量使用rule-set功能添加,\033[31m此处过量添加可能导致启动卡顿!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 新增自定义规则" + echo -e " 2 移除自定义规则" + echo -e " 3 清空规则列表" + echo "$crashcore" | grep -q 'singbox' || echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + rule_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN PROCESS-NAME" + rule_group="DIRECT#REJECT$(get_rule_group)" + set_rule_type + ;; + 2) + echo "-----------------------------------------------" + if [ -s "$YAMLSDIR"/rules.yaml ]; then + del_rule_type + else + echo -e "请先添加自定义规则!" + sleep 1 + fi + ;; + 3) + read -p "确认清空全部自定义规则?(1/0) > " res + [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml + ;; + 4) + echo "-----------------------------------------------" + if [ "$proxies_bypass" = "OFF" ]; then + echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" + echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" + read -p "启用节点绕过?(1/0) > " res + [ "$res" = "1" ] && proxies_bypass=ON + else + proxies_bypass=OFF + fi + setconfig proxies_bypass "$proxies_bypass" + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } + setgroups(){ #自定义clash策略组 set_group_type(){ echo "-----------------------------------------------" From 0c9d11043714db8b88a4ef1c560b32e580786291 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 16 Jan 2026 21:52:02 +0800 Subject: [PATCH 061/318] fix(5_task): add double quote to prevent word splitting - Add double quote to prevent word splitting - Format code with shfmt --- scripts/menus/5_task.sh | 455 +++++++++++++++++++++------------------- 1 file changed, 234 insertions(+), 221 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 45fd3fa0..a3b72c31 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -4,212 +4,224 @@ [ -n "$__IS_MODULE_5_TASK_LOADED" ] && return __IS_MODULE_5_TASK_LOADED=1 -#通用工具 +# 通用工具 . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/set_cron.sh -#任务工具 -set_cron(){ - [ -z "$week" ] && week=* - [ -z "$hour" ] && hour=* - [ -z "$min" ] && min=0 - echo "-----------------------------------------------" - echo -e "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" - read -p "是否确认添加定时任务?(1/0) > " res - if [ "$res" = '1' ]; then - task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name" - cronset "$cron_time$task_name" "$task_txt" - echo -e "任务【$cron_time$task_name】\033[32m已添加!\033[0m" - fi - unset week hour min - sleep 1 -} -set_service(){ - # 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间 - task_file="$CRASHDIR"/task/$1 - [ -s "$task_file" ] && sed -i "/$3/d" "$task_file" - #运行时每分钟执行的任务特殊处理 - if [ "$1" = "running" ];then - task_txt="$4 $CRASHDIR/task/task.sh $2 $3" - echo "$task_txt" >> "$task_file" - [ -n "$(pidof CrashCore)" ] && cronset "$3" "$task_txt" - else - echo "$CRASHDIR/task/task.sh $2 $3" >> "$task_file" - fi - echo -e "任务【$3】\033[32m添加成功!\033[0m" - sleep 1 -} -#任务界面 -task_user_add(){ #自定义命令添加 - echo "-----------------------------------------------" - echo -e "\033[33m命令可包含空格,请确保命令可执行!\033[0m" - echo -e "\033[36m此处不要添加执行条件,请在添加完成后返回添加具体执行条件!\033[0m" - echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m添加" - read -p "请输入命令语句 > " script - if [ -n "$script" ];then - task_command=$script - echo -e "请检查输入:\033[32m$task_command\033[0m" - #获取本任务ID - 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 - task_id=$((task_max_id + 1)) - read -p "请输入任务备注 > " txt - [ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id - echo "$task_id#$task_command#$task_name" >> "$CRASHDIR"/task/task.user - echo -e "\033[32m自定义任务已添加!\033[0m" - sleep 1 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - sleep 1 - fi -} -task_user_del(){ #自定义命令删除 - echo "-----------------------------------------------" - echo -e "请输入对应ID移除对应自定义任务(不会影响内置任务)" - echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" - echo "-----------------------------------------------" - cat "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^#' | awk -F '#' '{print $1" "$3}' - echo "-----------------------------------------------" - echo "0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - if [ -n "$num" ];then - sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null - [ "$num" != 0 ] && task_user_del - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - sleep 1 - fi -} -task_add(){ #任务添加 - echo "-----------------------------------------------" - echo -e "\033[36m请选择需要添加的任务\033[0m" - echo "-----------------------------------------------" - #输出任务列表 - cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print " "NR" "$3}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - [1-9]|[1-9][0-9]) - if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ];then - task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') - task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') - task_type - else - errornum - fi - ;; - *) - errornum - ;; - esac -} -task_del(){ #任务删除 - #删除定时任务 - croncmd -l > "$TMPDIR"/cron - sed -i "/$1/d" "$TMPDIR"/cron && croncmd "$TMPDIR"/cron - rm -f "$TMPDIR"/cron - #删除条件任务 - sed -i "/$1/d" "$CRASHDIR"/task/cron 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/bfstart 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/afstart 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/running 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/affirewall 2>/dev/null -} -task_type(){ #任务条件选择菜单 - echo "-----------------------------------------------" - echo -e "请选择任务\033[36m【$task_name】\033[0m执行条件:" - echo "-----------------------------------------------" - echo -e " 1 定时任务\033[32m每周执行\033[0m" - echo -e " 2 定时任务\033[32m每日执行\033[0m" - echo -e " 3 定时任务\033[32m每小时执行\033[0m" - echo -e " 4 定时任务\033[32m每分钟执行\033[0m" - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m逻辑水平不及格的请勿使用下方触发条件!" - echo "-----------------------------------------------" - echo -e " 5 服务\033[33m启动前执行\033[0m" - echo -e " 6 服务\033[33m启动后执行\033[0m" - echo -e " 7 服务\033[33m运行时每分钟执行\033[0m" - echo -e " 8 防火墙服务\033[33m重启后执行\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - return 1 - ;; - 1) - echo "-----------------------------------------------" - echo -e " 输入 1-7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" - echo -e " 输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" - echo -e " 输入 1-5 代表\033[36m周一至周五\033[0m运行" - read -p "在每周哪天执行? > " week - week=`echo ${week/7/0}` #把7换成0 - echo "-----------------------------------------------" - read -p "想在该日的具体哪个小时执行?(0-23) > " hour - cron_time="在每周$week的$hour点整" - cron_time=`echo ${cron_time/周0/周日}` #把0换成日 - [ -n "$week" ] && [ -n "$hour" ] && set_cron - ;; - 2) - echo "-----------------------------------------------" - echo -e " 输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" - echo -e " 输入 6-18 代表\033[36m早6点至晚18点间每小时\033[0m运行" - read -p "想在每日的具体哪个小时执行?(0-23) > " hour - echo "-----------------------------------------------" - read -p "想在具体哪分钟执行?(0-59的整数) > " min - cron_time="在每日的$hour点$min分" - [ -n "$min" ] && [ -n "$hour" ] && set_cron - ;; - 3) - echo "-----------------------------------------------" - read -p "想每隔多少小时执行一次?(1-23的整数) > " num - hour="*/$num" - cron_time="每隔$num小时" - [ -n "$hour" ] && set_cron - ;; - 4) - echo "-----------------------------------------------" - read -p "想每隔多少分钟执行一次?(1-59的整数) > " num - min="*/$num" - cron_time="每隔$num分钟" - [ -n "$min" ] && set_cron - ;; - 5) - set_service bfstart "$task_id" "服务启动前$task_name" - ;; - 6) - set_service afstart "$task_id" "服务启动后$task_name" - ;; - 7) - echo "-----------------------------------------------" - echo -e " 输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" - echo -e " 大于60分钟的数值将按小时取整,且按当前时区记时" - read -p "想每隔多少分钟执行一次?(1-1440的整数) > " num - if [ "$num" -lt 60 ];then - min="$num" - cron_time="*/$min * * * *" - time_des="$min分钟" - else - hour="$((num / 60))" - cron_time="0 */$hour * * *" - time_des="$hour小时" - fi - [ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time" - ;; - 8) - echo -e "该功能会将相关启动代码注入到/etc/init.d/firewall中" - read -p "是否继续?(1/0) > " res - [ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name" - ;; - *) - errornum - return 1 - ;; - esac +# 任务工具 +set_cron() { + [ -z "$week" ] && week=* + [ -z "$hour" ] && hour=* + [ -z "$min" ] && min=0 + echo "-----------------------------------------------" + echo -e "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" + read -p "是否确认添加定时任务?(1/0) > " res + if [ "$res" = '1' ]; then + task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name" + cronset "$cron_time$task_name" "$task_txt" + echo -e "任务【$cron_time$task_name】\033[32m已添加!\033[0m" + fi + unset week hour min + sleep 1 +} + +set_service() { + # 参数1代表要任务类型,参数2代表任务ID,参数3代表任务描述,参数4代表running任务cron时间 + task_file="$CRASHDIR"/task/$1 + [ -s "$task_file" ] && sed -i "/$3/d" "$task_file" + # 运行时每分钟执行的任务特殊处理 + if [ "$1" = "running" ]; then + task_txt="$4 $CRASHDIR/task/task.sh $2 $3" + echo "$task_txt" >>"$task_file" + [ -n "$(pidof CrashCore)" ] && cronset "$3" "$task_txt" + else + echo "$CRASHDIR/task/task.sh $2 $3" >>"$task_file" + fi + echo -e "任务【$3】\033[32m添加成功!\033[0m" + sleep 1 +} + +# 任务界面 +# +# 自定义命令添加 +task_user_add() { + echo "-----------------------------------------------" + echo -e "\033[33m命令可包含空格,请确保命令可执行!\033[0m" + echo -e "\033[36m此处不要添加执行条件,请在添加完成后返回添加具体执行条件!\033[0m" + echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m添加" + read -p "请输入命令语句 > " script + if [ -n "$script" ]; then + task_command=$script + echo -e "请检查输入:\033[32m$task_command\033[0m" + #获取本任务ID + 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 + task_id=$((task_max_id + 1)) + read -p "请输入任务备注 > " txt + [ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id + echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user + echo -e "\033[32m自定义任务已添加!\033[0m" + sleep 1 + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + sleep 1 + fi +} + +# 自定义命令删除 +task_user_del() { + echo "-----------------------------------------------" + echo -e "请输入对应ID移除对应自定义任务(不会影响内置任务)" + echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" + echo "-----------------------------------------------" + cat "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^#' | awk -F '#' '{print $1" "$3}' + echo "-----------------------------------------------" + echo "0 返回上级菜单" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + if [ -n "$num" ]; then + sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null + [ "$num" != 0 ] && task_user_del + else + echo -e "\033[31m输入错误,请重新输入!\033[0m" + sleep 1 + fi +} + +# 任务添加 +task_add() { + echo "-----------------------------------------------" + echo -e "\033[36m请选择需要添加的任务\033[0m" + echo "-----------------------------------------------" + # 输出任务列表 + cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print " "NR" "$3}' + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + 0) ;; + [1-9] | [1-9][0-9]) + if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ]; then + task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') + task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') + task_type + else + errornum + fi + ;; + *) + errornum + ;; + esac +} + +# 任务删除 +task_del() { + # 删除定时任务 + croncmd -l >"$TMPDIR"/cron + sed -i "/$1/d" "$TMPDIR"/cron && croncmd "$TMPDIR"/cron + rm -f "$TMPDIR"/cron + # 删除条件任务 + sed -i "/$1/d" "$CRASHDIR"/task/cron 2>/dev/null + sed -i "/$1/d" "$CRASHDIR"/task/bfstart 2>/dev/null + sed -i "/$1/d" "$CRASHDIR"/task/afstart 2>/dev/null + sed -i "/$1/d" "$CRASHDIR"/task/running 2>/dev/null + sed -i "/$1/d" "$CRASHDIR"/task/affirewall 2>/dev/null +} + +# 任务条件选择菜单 +task_type() { + echo "-----------------------------------------------" + echo -e "请选择任务\033[36m【$task_name】\033[0m执行条件:" + echo "-----------------------------------------------" + echo -e " 1 定时任务\033[32m每周执行\033[0m" + echo -e " 2 定时任务\033[32m每日执行\033[0m" + echo -e " 3 定时任务\033[32m每小时执行\033[0m" + echo -e " 4 定时任务\033[32m每分钟执行\033[0m" + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m逻辑水平不及格的请勿使用下方触发条件!" + echo "-----------------------------------------------" + echo -e " 5 服务\033[33m启动前执行\033[0m" + echo -e " 6 服务\033[33m启动后执行\033[0m" + echo -e " 7 服务\033[33m运行时每分钟执行\033[0m" + echo -e " 8 防火墙服务\033[33m重启后执行\033[0m" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + + 0) + return 1 + ;; + 1) + echo "-----------------------------------------------" + echo -e " 输入 1-7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" + echo -e " 输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" + echo -e " 输入 1-5 代表\033[36m周一至周五\033[0m运行" + read -p "在每周哪天执行? > " week + week=`echo ${week/7/0}` # 把7换成0 + echo "-----------------------------------------------" + read -p "想在该日的具体哪个小时执行?(0-23) > " hour + cron_time="在每周$week的$hour点整" + cron_time=`echo ${cron_time/周0/周日}` # 把0换成日 + [ -n "$week" ] && [ -n "$hour" ] && set_cron + ;; + 2) + echo "-----------------------------------------------" + echo -e " 输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" + echo -e " 输入 6-18 代表\033[36m早6点至晚18点间每小时\033[0m运行" + read -p "想在每日的具体哪个小时执行?(0-23) > " hour + echo "-----------------------------------------------" + read -p "想在具体哪分钟执行?(0-59的整数) > " min + cron_time="在每日的$hour点$min分" + [ -n "$min" ] && [ -n "$hour" ] && set_cron + ;; + 3) + echo "-----------------------------------------------" + read -p "想每隔多少小时执行一次?(1-23的整数) > " num + hour="*/$num" + cron_time="每隔$num小时" + [ -n "$hour" ] && set_cron + ;; + 4) + echo "-----------------------------------------------" + read -p "想每隔多少分钟执行一次?(1-59的整数) > " num + min="*/$num" + cron_time="每隔$num分钟" + [ -n "$min" ] && set_cron + ;; + 5) + set_service bfstart "$task_id" "服务启动前$task_name" + ;; + 6) + set_service afstart "$task_id" "服务启动后$task_name" + ;; + 7) + echo "-----------------------------------------------" + echo -e " 输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" + echo -e " 大于60分钟的数值将按小时取整,且按当前时区记时" + read -p "想每隔多少分钟执行一次?(1-1440的整数) > " num + if [ "$num" -lt 60 ]; then + min="$num" + cron_time="*/$min * * * *" + time_des="$min分钟" + else + hour="$((num / 60))" + cron_time="0 */$hour * * *" + time_des="$hour小时" + fi + [ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time" + ;; + 8) + echo -e "该功能会将相关启动代码注入到/etc/init.d/firewall中" + read -p "是否继续?(1/0) > " res + [ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name" + ;; + *) + errornum + return 1 + ;; + esac } # 任务管理列表 @@ -255,12 +267,12 @@ task_manager() { ;; [1-9] | [1-9][0-9]) 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}') if [ "$task_id" = 0 ]; then read -p "旧版任务不支持管理,是否移除?(1/0) > " res [ "$res" = 1 ] && { cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') - croncmd -l >"$TMPDIR"/conf && sed -i "/$cronname/d" "$TMPDIR"/conf && croncmd $TMPDIR/conf + croncmd -l >"$TMPDIR"/conf && sed -i "/$cronname/d" "$TMPDIR"/conf && croncmd "$TMPDIR"/conf sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null rm -f "$TMPDIR"/conf } @@ -319,27 +331,28 @@ task_manager() { done } -task_recom(){ #任务推荐 - echo "-----------------------------------------------" - echo -e "\033[32m启用推荐的自动任务配置?这包括:\033[0m" - echo "-----------------------------------------------" - echo -e "每隔10分钟自动保存面板配置" - echo -e "服务启动后自动同步ntp时间" - echo -e "在每日的3点0分重启服务" - echo "-----------------------------------------------" - read -p "是否启用?(1/0) > " res - [ "$res" = 1 ] && { - set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *" - set_service afstart "107" "服务启动后自动同步ntp时间" - cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" && \ - echo -e "任务【在每日的3点0分重启服务】\033[32m添加成功!\033[0m" - } +# 任务推荐 +task_recom() { + echo "-----------------------------------------------" + echo -e "\033[32m启用推荐的自动任务配置?这包括:\033[0m" + echo "-----------------------------------------------" + echo -e "每隔10分钟自动保存面板配置" + echo -e "服务启动后自动同步ntp时间" + echo -e "在每日的3点0分重启服务" + echo "-----------------------------------------------" + read -p "是否启用?(1/0) > " res + [ "$res" = 1 ] && { + set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *" + set_service afstart "107" "服务启动后自动同步ntp时间" + cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" && + echo -e "任务【在每日的3点0分重启服务】\033[32m添加成功!\033[0m" + } } # 任务菜单 task_menu() { while true; do - #检测并创建自定义任务文件 + # 检测并创建自定义任务文件 [ -f "$CRASHDIR"/task/task.user ] || echo '#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)' >"$CRASHDIR"/task/task.user echo "-----------------------------------------------" echo -e "\033[30;47m欢迎使用自动任务功能:\033[0m" From bacdf4675f1734c467f4c5b4f295410c8f8263fc Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 12:08:08 +0800 Subject: [PATCH 062/318] refactor(set_wireguard): replace recursion with while loop and fix some bug --- scripts/menus/7_gateway.sh | 159 +++++++++++++++++++++---------------- 1 file changed, 89 insertions(+), 70 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 115b1625..e5913b02 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -545,75 +545,94 @@ set_tailscale() { done } -set_wireguard(){ - [ -n "$wg_public_key" ] && wgp_key_info='*********' || unset wgp_key_info - [ -n "$wg_private_key" ] && wgv_key_info='*********' || unset wgv_key_info - [ -n "$wg_pre_shared_key" ] && wgpsk_key_info='*********' || unset wgpsk_key_info - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" - echo "-----------------------------------------------" - echo -e " 2 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" - echo -e " 3 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" - echo -e " 4 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" - echo -e " 5 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" - echo "-----------------------------------------------" - echo -e " 6 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" - echo -e " 7 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" - echo -e " 8 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - if [ -n "$wg_server" ] && [ -n "$wg_port" ] && [ -n "$wg_public_key" ] && [ -n "$wg_pre_shared_key" ] && [ -n "$wg_private_key" ] && [ -n "$wg_ipv4" ];then - [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON - setconfig wg_service "$wg_service" - else - echo -e "\033[31m请先完成必选设置!\033[0m" - sleep 1 - fi - set_wireguard - ;; - [1-8]) - read -p "请输入相应内容(回车或0删除) > " text - [ "$text" = 0 ] && text='' - case "$num" in - 2) - wg_server="$text" - setconfig wg_server "$text" "$GT_CFG_PATH" - ;; - 3) - wg_port="$text" - setconfig wg_port "$text" "$GT_CFG_PATH" - ;; - 4) - wg_public_key="$text" - setconfig wg_public_key "$text" "$GT_CFG_PATH" - ;; - 5) - wg_pre_shared_key="$text" - setconfig wg_pre_shared_key "$text" "$GT_CFG_PATH" - ;; - 6) - wg_private_key="$text" - setconfig wg_private_key "$text" "$GT_CFG_PATH" - ;; - 7) - wg_ipv4="$text" - setconfig wg_ipv4 "$text" "$GT_CFG_PATH" - ;; - 8) - wg_ipv6="$text" - setconfig wg_ipv6 "$text" "$GT_CFG_PATH" - ;; +set_wireguard() { + while true; do - esac - set_wireguard - ;; - *) errornum ;; - esac + if [ -n "$wg_public_key" ]; then + wgp_key_info='*********' + else + unset wgp_key_info + fi + + if [ -n "$wg_private_key" ]; then + wgv_key_info='*********' + else + unset wgv_key_info + fi + + if [ -n "$wg_pre_shared_key" ]; then + wgpsk_key_info='*********' + else + unset wgpsk_key_info + fi + + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" + echo "-----------------------------------------------" + echo -e " 1 \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" + echo "-----------------------------------------------" + echo -e " 2 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" + echo -e " 3 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" + echo -e " 4 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" + echo -e " 5 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" + echo "-----------------------------------------------" + echo -e " 6 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" + echo -e " 7 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" + echo -e " 8 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$wg_server" ] && [ -n "$wg_port" ] && [ -n "$wg_public_key" ] && [ -n "$wg_pre_shared_key" ] && [ -n "$wg_private_key" ] && [ -n "$wg_ipv4" ]; then + [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON + setconfig wg_service "$wg_service" + else + echo -e "\033[31m请先完成必选设置!\033[0m" + sleep 1 + fi + ;; + [1-8]) + read -p "请输入相应内容(回车或0删除) > " text + [ "$text" = 0 ] && text='' + case "$num" in + 2) + wg_server="$text" + setconfig wg_server "$text" "$GT_CFG_PATH" + ;; + 3) + wg_port="$text" + setconfig wg_port "$text" "$GT_CFG_PATH" + ;; + 4) + wg_public_key="$text" + setconfig wg_public_key "$text" "$GT_CFG_PATH" + ;; + 5) + wg_pre_shared_key="$text" + setconfig wg_pre_shared_key "$text" "$GT_CFG_PATH" + ;; + 6) + wg_private_key="$text" + setconfig wg_private_key "$text" "$GT_CFG_PATH" + ;; + 7) + wg_ipv4="$text" + setconfig wg_ipv4 "$text" "$GT_CFG_PATH" + ;; + 8) + wg_ipv6="$text" + setconfig wg_ipv6 "$text" "$GT_CFG_PATH" + ;; + esac + ;; + *) + errornum + sleep 1 + ;; + esac + done } - From 27aefb7699dc1b2931bd0e67a8e573334e160a15 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 12:27:38 +0800 Subject: [PATCH 063/318] fix(4_setboot): fix some errors from ShellCheck prompts --- scripts/menus/4_setboot.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index bc7789c4..acf5d8f7 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -5,7 +5,10 @@ __IS_MODULE_4_SETBOOT_LOADED=1 allow_autostart() { - [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ] && /etc/init.d/shellcrash enable + if [ -f /etc/rc.common ] && [ "$(cat /proc/1/comm)" = "procd" ]; then + /etc/init.d/shellcrash enable + fi + ckcmd systemctl && systemctl enable shellcrash.service >/dev/null 2>&1 grep -q 's6' /proc/1/comm && touch /etc/s6-overlay/s6-rc.d/user/contents.d/afstart rc-status -r >/dev/null 2>&1 && rc-update add shellcrash default >/dev/null 2>&1 @@ -24,7 +27,13 @@ disable_autostart() { setboot() { while true; do [ -z "$start_old" ] && start_old=OFF - [ -z "$start_delay" -o "$start_delay" = 0 ] && delay=未设置 || delay="${start_delay}秒" + + if [ -z "$start_delay" ] || [ "$start_delay" = 0 ]; then + delay=未设置 + else + delay="${start_delay}秒" + fi + check_autostart && auto_set="\033[33m禁止" || auto_set="\033[32m允许" [ "${BINDIR}" = "$CRASHDIR" ] && mini_clash=OFF || mini_clash=ON [ -z "$network_check" ] && network_check=ON @@ -98,7 +107,7 @@ setboot() { if [ "$mini_clash" = "OFF" ]; then if [ "$dir_size" -gt 20480 ]; then echo -e "\033[33m您的设备空间充足(>20M),无需开启!\033[0m" - elif [ "$start_old" != 'ON' -a "$(cat /proc/1/comm)" = "systemd" ]; then + elif [ "$start_old" != 'ON' ] && [ "$(cat /proc/1/comm)" = "systemd" ]; then echo -e "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m" else [ "$BINDIR" = "$CRASHDIR" ] && BINDIR="$TMPDIR" From 0317d12e1db7b534b1b014e645a6e1bd7a1e096a Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 12:54:02 +0800 Subject: [PATCH 064/318] feat(tui): add layout utilities for terminal UI formatting Prepare for future TUI modifications --- scripts/tui/layout.sh | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 scripts/tui/layout.sh diff --git a/scripts/tui/layout.sh b/scripts/tui/layout.sh new file mode 100644 index 00000000..aa0d39b4 --- /dev/null +++ b/scripts/tui/layout.sh @@ -0,0 +1,50 @@ +# tui/layout.sh +# Terminal UI layout helpers +# Provides menu/table formatting utilities + + +# set the total width of the menu +# (adjusting this number will automatically change the entire menu, including the separator lines) +# note: The number represents the number of columns that appear when the "||" appears on the right +TABLE_WIDTH=60 + +# define two extra-long template strings in advance +# (the length should be greater than the expected TABLE_WIDTH) +FULL_EQ="====================================================================================================" +FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " + +# function to print content lines +# (using cursor jump) +content_line() { + echo -e " ${1}\033[${TABLE_WIDTH}G||" +} + +# function to print sub content lines +# for printing accompanying instructions +sub_content_line() { + echo -e " ${1}\033[${TABLE_WIDTH}G||" + content_line +} + +# increase the spacing between the front +# and back forms to improve readability +double_line_break() { + printf "\n\n" +} + +# function to print separators +# (using string slicing) +# parameter $1: pass in "=" or "-" +separator_line() { + local separator_type="$1" + local output_line="" + local len=$((TABLE_WIDTH - 1)) + + if [ "$separator_type" == "=" ]; then + output_line="${FULL_EQ:0:$len}" + else + output_line="${FULL_DASH:0:$len}" + fi + + echo "${output_line}||" +} From a3a8e9aa8607e16ffdc714ebcb9bc142929e6efa Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 12:55:02 +0800 Subject: [PATCH 065/318] Update menu.sh --- scripts/menu.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/menu.sh b/scripts/menu.sh index 138da872..b0fd1685 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -19,6 +19,7 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg . "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/1_start.sh . "$CRASHDIR"/menus/running_status.sh +# . "$CRASHDIR"/tui/layout.sh # 加载语言 load_lang common From 28de72256039bb387da18841959ad96d42803fbc Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 13:12:08 +0800 Subject: [PATCH 066/318] update --- scripts/{tui/layout.sh => menus/tui_layout.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename scripts/{tui/layout.sh => menus/tui_layout.sh} (100%) diff --git a/scripts/tui/layout.sh b/scripts/menus/tui_layout.sh similarity index 100% rename from scripts/tui/layout.sh rename to scripts/menus/tui_layout.sh From 04c5f088ba369f9b2d254d9010993bd153cc6f7c Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 13:13:33 +0800 Subject: [PATCH 067/318] update --- scripts/menu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index b0fd1685..d3db9dce 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -19,7 +19,7 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg . "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/1_start.sh . "$CRASHDIR"/menus/running_status.sh -# . "$CRASHDIR"/tui/layout.sh +# . "$CRASHDIR"/menus/tui_layout.sh # 加载语言 load_lang common From 18e3046aa4d04e2cc005f8a4a4bf7f20ecf5e0b8 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 17:18:17 +0800 Subject: [PATCH 068/318] refactor(forwhat): replace recursion with while loop --- scripts/menus/userguide.sh | 254 +++++++++++++++++++------------------ 1 file changed, 134 insertions(+), 120 deletions(-) diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index 4c8be741..7b2839b4 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -4,124 +4,138 @@ [ -n "$__IS_MODULE_USERGUIDE_LOADED" ] && return __IS_MODULE_USERGUIDE_LOADED=1 -#新手引导 -userguide(){ - . "$CRASHDIR"/libs/check_dir_avail.sh - forwhat(){ - echo "-----------------------------------------------" - echo -e "\033[30;46m 欢迎使用ShellCrash新手引导! \033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m请先选择你的使用环境: \033[0m" - echo -e "\033[0m(你之后依然可以在设置中更改各种配置)\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m路由设备配置局域网透明代理\033[0m" - echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m" - [ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 1) - #设置运行模式 - redir_mod="混合模式" - [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ] && { - if grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod="Tproxy模式" - else - redir_mod="Redir模式" - fi - } - [ -z "$crashcore" ] && crashcore=meta - setconfig crashcore "$crashcore" - setconfig redir_mod "$redir_mod" - setconfig dns_mod mix - setconfig firewall_area '1' - #默认启用绕过CN-IP - setconfig cn_ip_route ON - #自动识别IPV6 - [ -n "$(ip a 2>&1 | grep -w 'inet6' | grep -E 'global' | sed 's/.*inet6.//g' | sed 's/scope.*$//g')" ] && { - setconfig ipv6_redir ON - setconfig ipv6_support ON - setconfig ipv6_dns ON - setconfig cn_ipv6_route ON - } - #设置开机启动 - [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ] && /etc/init.d/shellcrash enable - ckcmd systemctl && [ "$(cat /proc/1/comm)" = "systemd" ] && systemctl enable shellcrash.service > /dev/null 2>&1 - rm -rf "$CRASHDIR"/.dis_startup - autostart=enable - #检测IP转发 - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?\033[0m" - read -p "是否开启?(1/0) > " res - [ "$res" = 1 ] && { - echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf - sysctl -w net.ipv4.ip_forward=1 - } && echo "已成功开启ipv4转发,如未正常开启,请手动重启设备!" || echo "开启失败!请自行谷歌查找当前设备的开启方法!" - fi - #禁止docker启用的net.bridge.bridge-nf-call-iptables - sysctl -w net.bridge.bridge-nf-call-iptables=0 > /dev/null 2>&1 - sysctl -w net.bridge.bridge-nf-call-ip6tables=0 > /dev/null 2>&1 - ;; - 2) - setconfig redir_mod "Redir模式" - [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ] && setconfig crashcore "clash" - setconfig common_ports "OFF" - setconfig firewall_area '2' - ;; - 3) - mv -f $CFG_PATH.bak $CFG_PATH - echo -e "\033[32m脚本设置已还原!\033[0m" - echo -e "\033[33m请重新启动脚本!\033[0m" - exit 0 - ;; - *) - errornum - forwhat - ;; - esac - } - forwhat - #检测小内存模式 - dir_size=$(dir_avail "$CRASHDIR") - if [ "$dir_size" -lt 10240 ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到你的安装目录空间不足10M,是否开启小闪存模式?\033[0m" - echo -e "\033[0m开启后核心及数据库文件将被下载到内存中,这将占用一部分内存空间\033[0m" - echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m" - echo "-----------------------------------------------" - read -p "是否开启?(1/0) > " res - [ "$res" = 1 ] && { - BINDIR=/tmp/ShellCrash - setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env - } - fi - #启用推荐的自动任务配置 - . "$CRASHDIR"/menus/5_task.sh && task_recom - #小米设备软固化 - if [ "$systype" = "mi_snapshot" ];then - echo "-----------------------------------------------" - echo -e "\033[33m检测到为小米路由设备,启用软固化可防止路由升级后丢失SSH\033[0m" - read -p "是否启用软固化功能?(1/0) > " res - [ "$res" = 1 ] && mi_autoSSH - fi - #提示导入订阅或者配置文件 - [ ! -s "$CRASHDIR"/yamls/config.yaml -a ! -s "$CRASHDIR"/jsons/config.json ] && { - echo "-----------------------------------------------" - echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)" - echo -e "\033[0m你必须拥有一份配置文件才能运行服务!\033[0m" - echo "-----------------------------------------------" - read -p "现在开始导入?(1/0) > " res - [ "$res" = 1 ] && inuserguide=1 && { - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - inuserguide="" - } - } - #回到主界面 - echo "-----------------------------------------------" - echo -e "\033[36m很好!现在只需要执行启动就可以愉快的使用了!\033[0m" - echo "-----------------------------------------------" - read -p "立即启动服务?(1/0) > " res - [ "$res" = 1 ] && start_core && sleep 2 - return 0 +forwhat() { + while true; do + echo "-----------------------------------------------" + echo -e "\033[30;46m 欢迎使用ShellCrash新手引导! \033[0m" + echo "-----------------------------------------------" + echo -e "\033[33m请先选择你的使用环境: \033[0m" + echo -e "\033[0m(你之后依然可以在设置中更改各种配置)\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[32m路由设备配置局域网透明代理\033[0m" + echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m" + [ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m" + echo "-----------------------------------------------" + read -pr "请输入对应数字 > " num + case "$num" in + "" | 1) + # 设置运行模式 + redir_mod="混合模式" + echo "$cputype" | grep -Eq 'linux.*mips.*' && { + if grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then + redir_mod="Tproxy模式" + else + redir_mod="Redir模式" + fi + } + + [ -z "$crashcore" ] && crashcore=meta + setconfig crashcore "$crashcore" + setconfig redir_mod "$redir_mod" + setconfig dns_mod mix + setconfig firewall_area '1' + # 默认启用绕过CN-IP + setconfig cn_ip_route ON + # 自动识别IPV6 + [ -n "$(ip a 2>&1 | grep -w 'inet6' | grep -E 'global' | sed 's/.*inet6.//g' | sed 's/scope.*$//g')" ] && { + setconfig ipv6_redir ON + setconfig ipv6_support ON + setconfig ipv6_dns ON + setconfig cn_ipv6_route ON + } + # 设置开机启动 + if [ -f /etc/rc.common ] && [ "$(cat /proc/1/comm)" = "procd" ]; then + /etc/init.d/shellcrash enable + fi + + ckcmd systemctl && [ "$(cat /proc/1/comm)" = "systemd" ] && systemctl enable shellcrash.service >/dev/null 2>&1 + rm -rf "$CRASHDIR"/.dis_startup + autostart=enable + # 检测IP转发 + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?\033[0m" + read -pr "是否开启?(1/0) > " res + [ "$res" = 1 ] && { + echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf + sysctl -w net.ipv4.ip_forward=1 + } && echo "已成功开启ipv4转发,如未正常开启,请手动重启设备!" || echo "开启失败!请自行谷歌查找当前设备的开启方法!" + fi + # 禁止docker启用的net.bridge.bridge-nf-call-iptables + sysctl -w net.bridge.bridge-nf-call-iptables=0 >/dev/null 2>&1 + sysctl -w net.bridge.bridge-nf-call-ip6tables=0 >/dev/null 2>&1 + break + ;; + 2) + setconfig redir_mod "Redir模式" + echo "$cputype" | grep -Eq "linux.*mips.*" && setconfig crashcore "clash" + setconfig common_ports "OFF" + setconfig firewall_area '2' + break + ;; + 3) + mv -f "$CFG_PATH.bak" "$CFG_PATH" + echo -e "\033[32m脚本设置已还原!\033[0m" + echo -e "\033[33m请重新启动脚本!\033[0m" + exit 0 + ;; + *) + errornum + sleep 1 + ;; + esac + done +} + +# 新手引导 +userguide() { + . "$CRASHDIR"/libs/check_dir_avail.sh + forwhat + + # 检测小内存模式 + dir_size=$(dir_avail "$CRASHDIR") + if [ "$dir_size" -lt 10240 ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到你的安装目录空间不足10M,是否开启小闪存模式?\033[0m" + echo -e "\033[0m开启后核心及数据库文件将被下载到内存中,这将占用一部分内存空间\033[0m" + echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m" + echo "-----------------------------------------------" + read -pr "是否开启?(1/0) > " res + [ "$res" = 1 ] && { + BINDIR=/tmp/ShellCrash + setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env + } + fi + + # 启用推荐的自动任务配置 + . "$CRASHDIR"/menus/5_task.sh && task_recom + + # 小米设备软固化 + if [ "$systype" = "mi_snapshot" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到为小米路由设备,启用软固化可防止路由升级后丢失SSH\033[0m" + read -pr "是否启用软固化功能?(1/0) > " res + [ "$res" = 1 ] && mi_autoSSH + fi + + # 提示导入订阅或者配置文件 + if [ ! -s "$CRASHDIR"/yamls/config.yaml ] && [ ! -s "$CRASHDIR"/jsons/config.json ]; then + echo "-----------------------------------------------" + echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)" + echo -e "\033[0m你必须拥有一份配置文件才能运行服务!\033[0m" + echo "-----------------------------------------------" + read -pr "现在开始导入?(1/0) > " res + [ "$res" = 1 ] && inuserguide=1 && { + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + inuserguide="" + } + fi + + # 回到主界面 + echo "-----------------------------------------------" + echo -e "\033[36m很好!现在只需要执行启动就可以愉快的使用了!\033[0m" + echo "-----------------------------------------------" + read -pr "立即启动服务?(1/0) > " res + [ "$res" = 1 ] && start_core && sleep 2 + return 0 } From b98a996cb47fbfb6ca454de46ddf4af78b8c69ce Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Sat, 17 Jan 2026 17:29:32 +0800 Subject: [PATCH 069/318] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20bot=5Ftg=5Fservice?= =?UTF-8?q?.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/bot_tg_service.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/menus/bot_tg_service.sh b/scripts/menus/bot_tg_service.sh index 67a2ee10..53d92339 100644 --- a/scripts/menus/bot_tg_service.sh +++ b/scripts/menus/bot_tg_service.sh @@ -14,6 +14,5 @@ bot_tg_stop(){ rm -f "$TMPDIR/bot_tg.pid" } bot_tg_cron(){ - cronset 'TG_BOT守护进程' cronset 'TG_BOT守护进程' "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT守护进程" } From 66d848581a04ea647e1f911dddb1bf2b08178955 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 17:37:14 +0800 Subject: [PATCH 070/318] refactor(setgroups): replace recursion with while loop --- scripts/menus/6_core_config.sh | 177 +++++++++++++++++---------------- 1 file changed, 92 insertions(+), 85 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index a0cf9a9d..1ac60389 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -160,29 +160,31 @@ setrules() { done } -setgroups(){ #自定义clash策略组 - set_group_type(){ - echo "-----------------------------------------------" - echo -e "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" - echo -e "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" - echo -e "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" - read -p "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name - echo "-----------------------------------------------" - echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m" - echo $group_type_cn | awk '{for(i=1;i<=NF;i++){print i" "$i}}' - read -p "请输入对应数字 > " num - new_group_type=$(echo $group_type | awk '{print $'"$num"'}') - if [ "$num" = "1" ];then - unset new_group_url interval - else - read -p "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url - [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 - new_group_url="url: '$new_group_url'" - interval="interval: 300" - fi - set_group_add - #添加自定义策略组 - cat >> "$YAMLSDIR"/proxy-groups.yaml < " new_group_name + + echo "-----------------------------------------------" + echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m" + echo "$group_type_cn" | awk '{for(i=1;i<=NF;i++){print i" "$i}}' + read -pr "请输入对应数字 > " num + new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}') + if [ "$num" = "1" ]; then + unset new_group_url interval + else + read -pr "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url + [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 + new_group_url="url: '$new_group_url'" + interval="interval: 300" + fi + set_group_add + # 添加自定义策略组 + cat >>"$YAMLSDIR"/proxy-groups.yaml < " char - case "$char" in - 0) ;; - *) - for num in $char;do - rule_group_set=$(echo $proxy_group|cut -d'#' -f$num) - rule_group_add="${rule_group_add}#${rule_group_set}" - done - if [ -n "$rule_group_add" ];then - new_group_name="$new_group_name$rule_group_add" - unset rule_group_add - else - errornum - fi - ;; - esac - } - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义策略组\033[0m" - echo -e "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加自定义策略组" - echo -e " 2 查看自定义策略组" - echo -e " 3 清空自定义策略组" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - group_type="select url-test fallback load-balance" - group_type_cn="手动选择 自动选择 故障转移 负载均衡" - proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" - set_group_type - setgroups - ;; - 2) - echo "-----------------------------------------------" - cat "$YAMLSDIR"/proxy-groups.yaml - setgroups - ;; - 3) - read -p "确认清空全部自定义策略组?(1/0) > " res - [ "$res" = "1" ] && echo '#用于添加自定义策略组' > "$YAMLSDIR"/proxy-groups.yaml - setgroups - ;; - *) - errornum - ;; - esac + } + + set_group_add() { + echo "-----------------------------------------------" + echo -e "\033[36m请选择想要将本策略添加到的策略组\033[0m" + echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" + echo "-----------------------------------------------" + echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo "-----------------------------------------------" + echo -e " 0 跳过添加" + read -pr "请输入对应数字(多个用空格隔开) > " char + case "$char" in + "" | 0) ;; + *) + for num in $char; do + rule_group_set=$(echo "$proxy_group" | cut -d'#' -f"$num") + rule_group_add="${rule_group_add}#${rule_group_set}" + done + if [ -n "$rule_group_add" ]; then + new_group_name="$new_group_name$rule_group_add" + unset rule_group_add + else + errornum + sleep 1 + fi + ;; + esac + } + + while true; do + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理自定义策略组\033[0m" + echo -e "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" + echo "-----------------------------------------------" + echo -e " 1 添加自定义策略组" + echo -e " 2 查看自定义策略组" + echo -e " 3 清空自定义策略组" + echo -e " 0 返回上级菜单" + read -pr "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + group_type="select url-test fallback load-balance" + group_type_cn="手动选择 自动选择 故障转移 负载均衡" + proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" + set_group_type + ;; + 2) + echo "-----------------------------------------------" + cat "$YAMLSDIR"/proxy-groups.yaml + ;; + 3) + read -p "确认清空全部自定义策略组?(1/0) > " res + [ "$res" = "1" ] && echo '#用于添加自定义策略组' >"$YAMLSDIR"/proxy-groups.yaml + ;; + *) + errornum + sleep 1 + ;; + esac + done } + setproxies(){ #自定义clash节点 set_proxy_type(){ echo "-----------------------------------------------" From 23040b3570f9d5f23ea98c5a935a06c4e316e8ef Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 18:43:29 +0800 Subject: [PATCH 071/318] ~bug fix --- .github/workflows/core_auto_update.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/core_auto_update.yml b/.github/workflows/core_auto_update.yml index d125f6bb..9e02541a 100644 --- a/.github/workflows/core_auto_update.yml +++ b/.github/workflows/core_auto_update.yml @@ -20,6 +20,7 @@ jobs: auto_update_meta_alpha: permissions: write-all + needs: auto_update_singboxr_dev uses: juewuy/ShellCrash/.github/workflows/update_meta_core.yaml@dev with: tag1: MetaCubeX/mihomo From f7b50209f031b690c84707f089d56312471f6025 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 19:37:10 +0800 Subject: [PATCH 072/318] refactor(set_bot_tg): replace recursion with while loop --- scripts/menus/7_gateway.sh | 83 ++++++++++++++++++++------------------ 1 file changed, 43 insertions(+), 40 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index e5913b02..78745c7e 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -192,46 +192,49 @@ set_bot_tg_service(){ fi setconfig bot_tg_service "$bot_tg_service" } -set_bot_tg(){ - [ -n "$ts_auth_key" ] && ts_auth_key_info='已设置' - [ -n "$TG_CHATID" ] && TG_CHATID_info='已绑定' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" - echo -e " 2 TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - . "$GT_CFG_PATH" - if [ -n "$TG_CHATID" ];then - set_bot_tg_service - else - echo -e "\033[31m请先绑定TG-BOT!\033[0m" - fi - sleep 1 - set_bot_tg - ;; - 2) - if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - read -p "检测到已经绑定了TG推送BOT,是否直接使用?(1/0) > " res - if [ "$res" = 1 ]; then - TOKEN="$push_TG" - set_bot_tg_config - set_bot_tg - return - fi - fi - set_bot_tg_init - set_bot_tg - ;; - *) - errornum - ;; - esac + +set_bot_tg() { + while true; do + [ -n "$ts_auth_key" ] && ts_auth_key_info='已设置' + [ -n "$TG_CHATID" ] && TG_CHATID_info='已绑定' + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" + echo "-----------------------------------------------" + echo -e " 1 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" + echo -e " 2 TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -pr "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + . "$GT_CFG_PATH" + if [ -n "$TG_CHATID" ]; then + set_bot_tg_service + else + echo -e "\033[31m请先绑定TG-BOT!\033[0m" + fi + sleep 1 + ;; + 2) + if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then + read -pr "检测到已经绑定了TG推送BOT,是否直接使用?(1/0) > " res + if [ "$res" = 1 ]; then + TOKEN="$push_TG" + set_bot_tg_config + continue + fi + fi + set_bot_tg_init + ;; + *) + errornum + sleep 1 + ;; + esac + done } # 自定义入站 From 040accdef0f81c84562ab1096f0496213413a511 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 20:08:11 +0800 Subject: [PATCH 073/318] ~Fix i18n support for 2_settings.sh --- scripts/init.sh | 7 +- scripts/lang/chs/2_settings.lang | 28 ++++- scripts/lang/chs/common.lang | 1 + scripts/lang/en/2_settings.lang | 29 ++++- scripts/lang/en/common.lang | 1 + scripts/menus/1_start.sh | 2 +- scripts/menus/2_settings.sh | 198 +++++++++++++------------------ scripts/menus/8_tools.sh | 12 +- scripts/menus/bot_tg.sh | 10 +- scripts/menus/userguide.sh | 8 +- scripts/starts/bfstart.sh | 4 +- scripts/starts/clash_check.sh | 4 +- scripts/starts/clash_modify.sh | 4 +- scripts/starts/fw_iptables.sh | 20 ++-- scripts/starts/fw_nftables.sh | 10 +- scripts/starts/fw_start.sh | 12 +- scripts/starts/singbox_modify.sh | 2 +- 17 files changed, 184 insertions(+), 168 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index d5535529..4670d052 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -222,9 +222,10 @@ sed -i "s/clash_v/core_v/g" "$CFG_PATH" sed -i "s/clash.meta/meta/g" "$CFG_PATH" sed -i "s/ShellClash/ShellCrash/g" "$CFG_PATH" sed -i "s/cpucore=armv8/cpucore=arm64/g" "$CFG_PATH" -sed -i "s/redir_mod=Nft基础/redir_mod=Redir模式/g" "$CFG_PATH" -sed -i "s/redir_mod=Nft混合/redir_mod=Tproxy模式/g" "$CFG_PATH" -sed -i "s/redir_mod=Tproxy混合/redir_mod=Tproxy模式/g" "$CFG_PATH" +sed -i "s/redir_mod=Redir模式/redir_mod=Redir/g" "$CFG_PATH" +sed -i "s/redir_mod=Tproxy模式/redir_mod=Tproxy/g" "$CFG_PATH" +sed -i "s/redir_mod=Tun模式/redir_mod=Tun/g" "$CFG_PATH" +sed -i "s/redir_mod=混合模式/redir_mod=Mix/g" "$CFG_PATH" sed -i "s/redir_mod=纯净模式/firewall_area=4/g" "$CFG_PATH" #变量统一使用ON/OFF sed -i 's/=\(已启用\|已开启\)$/=ON/' "$CFG_PATH" diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index b38b3402..caca1b1f 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -57,7 +57,9 @@ SET_REDIR_MIXDES="Redir转发TCP,Tun转发UDP" SET_REDIR_TPROXYDES="Tproxy转发TCP&UDP" SET_REDIR_TUNDES="Tun转发TCP&UDP(占用高不推荐)" -SET_NO_TUN="设备未检测到Tun内核模块,请安装相关依赖或选择其他模式!" +SET_NO_MOD="设备未检测到内核模块:" +SET_NO_MOD2="请尝试其他模式或者安装相关依赖!" +XIAOMI_QOS="小米设备的 QoS 服务与当前模式冲突,是否禁用相关功能?" # ================================================= # Firewall / VM @@ -73,6 +75,9 @@ FW_AREA_LAN="仅劫持局域网流量" FW_AREA_LOCAL="仅劫持本机流量" FW_AREA_BOTH="劫持局域网 + 本机流量" FW_AREA_NONE="不配置流量劫持(纯净模式)" +FW_NO_NFTABLES="当前设备未安装 nftables,或 nftables 版本过低(< 1.0.2),无法切换!" +FW_NO_IPTABLES="当前设备未安装 iptables,无法切换!" +FW_NO_FIREWALL_BACKEND="检测不到可用的防火墙应用(iptables / nftables),无法切换!" VM_DETECT_DESC="默认的容器/虚拟机网段为:" VM_ENABLE_AUTO="启用劫持并使用自动检测的网段" @@ -80,7 +85,11 @@ VM_ENABLE_MANUAL="启用劫持并手动指定网段" VM_DISABLE="禁用劫持" VM_INPUT_INFO="多个网段请用空格连接,可使用【ip route】命令查看,例如:" VM_INPUT_NET="请输入自定义网段" +VM_NO_NET_DETECTED="未检测到容器或虚拟机网段,请先运行容器后再运行脚本,或选择手动设置网段!" +VM_INPUT_DESC="多个网段请使用空格分隔,可通过【ip route】命令查看,例如:" +#inputport +INPUT_PORT="请输入端口号" # ================================================= # Advanced config # ================================================= @@ -93,6 +102,23 @@ ADV_PANEL_PASS="设置面板访问密码" ADV_PANEL_PASS_INPUT="请输入面板访问密码(输入0删除)" ADV_HOST="自定义本机 Host 地址" ADV_TABLE="自定义路由表" +# Advanced auth +ADV_AUTH_FORMAT_DESC="格式必须为 \033[32m用户名:密码\033[0m,请使用英文冒号分隔!" +ADV_AUTH_WARN="请尽量不要使用特殊符号,以避免产生未知错误!" +ADV_AUTH_REMOVE_HINT="输入 0 可删除认证信息" +ADV_AUTH_INPUT="请输入 HTTP / SOCKS5 用户名及密码" +ADV_AUTH_REMOVED="认证信息已移除!" +ADV_AUTH_ENV_CONFLICT="请先禁用本机劫持功能或使用增强模式!" +ADV_AUTH_INVALID="输入格式错误,请重新输入!" +# Host +ADV_HOST_WARN_LAN="如果你的局域网网段不是 192.168.x / 172.16.x / 10.x,请务必修改!" +ADV_HOST_WARN_CHANGE="设置后如本机 Host 地址发生变化,请务必重新修改!" +ADV_HOST_INPUT="请输入自定义 Host 地址(输入 0 移除)" +ADV_HOST_REMOVED="自定义 Host 地址已移除,请重新运行脚本以自动获取!" +ADV_HOST_INVALID="输入错误,请仔细核对!" +# Routing table +ADV_TABLE_WARN="仅当 Tproxy / Tun / 混合模式下路由表发生冲突时才需要设置!" +ADV_TABLE_INPUT="请输入路由表编号(不清楚请勿修改,建议 102-125)" # ================================================= # IPv6 diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang index 6efb6d4f..3036c6c2 100644 --- a/scripts/lang/chs/common.lang +++ b/scripts/lang/chs/common.lang @@ -2,4 +2,5 @@ COMMON_INPUT="请输入对应数字" COMMON_BACK="返回上级菜单" COMMON_SUCCESS="设置成功!" +COMMON_FAILED="设置失败!" COMMON_UNSET="未设置" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index 768c1558..a5f05c5a 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -57,7 +57,9 @@ SET_REDIR_MIXDES="Redirect TCP via Redir, UDP via Tun" SET_REDIR_TPROXYDES="Tproxy forwards both TCP UDP" SET_REDIR_TUNDES="Tun forwards both TCP UDP (high resource usage)" -SET_NO_TUN="Tun kernel module not detected. Please install required dependencies or select another mode!" +SET_NO_MOD="The kernel module not detected:" +SET_NO_MOD2="Please install required dependencies or select another mode!" +XIAOMI_QOS="Xiaomi QoS service conflicts with the current mode. Disable related features?" # ================================================= # Firewall / VM @@ -73,6 +75,9 @@ FW_AREA_LAN="Hijack LAN traffic only" FW_AREA_LOCAL="Hijack local device traffic only" FW_AREA_BOTH="Hijack both LAN and local device traffic" FW_AREA_NONE="Do not hijack traffic (Pure mode)" +FW_NO_NFTABLES="nftables is not installed, or the version is too old (< 1.0.2). Unable to switch!" +FW_NO_IPTABLES="iptables is not installed. Unable to switch!" +FW_NO_FIREWALL_BACKEND="No available firewall backend detected (iptables / nftables). Unable to switch!" VM_DETECT_DESC="Default Container/VM Subnet:" VM_ENABLE_AUTO="Enable hijacking using automatically detected subnets" @@ -80,7 +85,11 @@ VM_ENABLE_MANUAL="Enable hijacking and manually specify subnets" VM_DISABLE="Disable hijacking" VM_INPUT_INFO="Separate multiple segments with spaces. Check your configuration using ip route. Example:" VM_INPUT_NET="Please enter cust subnets" +VM_NO_NET_DETECTED="No container or VM subnet detected. Please start the container first, or configure the subnet manually!" +VM_INPUT_DESC="Multiple subnets should be separated by spaces. You can check them using the 'ip route' command, for example:" +#inputport +INPUT_PORT="Input port" # ================================================= # Advanced config # ================================================= @@ -93,7 +102,23 @@ ADV_PANEL_PASS="Set Web Panel Password" ADV_PANEL_PASS_INPUT="Enter web panel password (enter 0 to remove)" ADV_HOST="Custom Local Host Address" ADV_TABLE="Custom Routing Table" - +# Advanced auth +ADV_AUTH_FORMAT_DESC="Format must be \033[32musername:password\033[0m, separated by a colon!" +ADV_AUTH_WARN="Avoid using special characters to prevent unexpected issues!" +ADV_AUTH_REMOVE_HINT="Enter 0 to remove authentication" +ADV_AUTH_INPUT="Please enter HTTP / SOCKS5 username and password" +ADV_AUTH_REMOVED="Authentication information has been removed!" +ADV_AUTH_ENV_CONFLICT="Please disable local hijacking or switch to enhanced mode first!" +ADV_AUTH_INVALID="Invalid input format. Please try again!" +# Host +ADV_HOST_WARN_LAN="If your LAN subnet is not 192.168.x / 172.16.x / 10.x, you must modify it!" +ADV_HOST_WARN_CHANGE="If the local host address changes after setting, please update it again!" +ADV_HOST_INPUT="Please enter a custom host address (enter 0 to remove)" +ADV_HOST_REMOVED="Custom host address removed. Please rerun the script to auto-detect!" +ADV_HOST_INVALID="Invalid input. Please check carefully!" +# Routing table +ADV_TABLE_WARN="Only required when routing table conflicts occur in Tproxy, Tun, or Mixed mode!" +ADV_TABLE_INPUT="Please enter the routing table ID (do not modify unless necessary, recommended 102-125)" # ================================================= # IPv6 # ================================================= diff --git a/scripts/lang/en/common.lang b/scripts/lang/en/common.lang index 1f21342d..06905913 100644 --- a/scripts/lang/en/common.lang +++ b/scripts/lang/en/common.lang @@ -2,4 +2,5 @@ COMMON_INPUT="Please enter a number" COMMON_BACK="Back" COMMON_SUCCESS="Successfully set!" +COMMON_FAILED="Setup failed!" COMMON_UNSET="Not set" diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index 5fab1355..c1f6b291 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -11,7 +11,7 @@ startover() { echo -e "\033[32m$START_SERVICE_OK\033[0m" echo -e "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m $START_WEB_HINT2" - if [ "$redir_mod" = "纯净模式" ]; then + if [ "$firewall_area" = 4 ]; then echo "-----------------------------------------------" echo -e "$START_PAC_HINT \033[4;32mhttp://$host:$db_port/ui/pac\033[0m" echo -e "$START_PROXY_HINT IP{\033[36m$host\033[0m} Port{\033[36m$mix_port\033[0m}" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 180f4fd0..db0ed608 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -141,8 +141,7 @@ set_redir_mod() { while true; do [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 [ -z "$firewall_area" ] && firewall_area=1 - [ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' - [ -z "$redir_mod" ] && redir_mod='纯净模式' + [ -z "$redir_mod" ] && redir_mod='Redir' firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) echo "-----------------------------------------------" echo -e "$SET_REDIR_CURRENT \033[47;30m$redir_mod\033[0m ; $SET_CORE_CURRENT \033[47;30m$crashcore\033[0m" @@ -172,50 +171,50 @@ set_redir_mod() { break ;; 1) - redir_mod=Redir模式 + redir_mod=Redir set_redir_config ;; 2) if [ -n "$sup_tun" ]; then - redir_mod=混合模式 + redir_mod=Mix set_redir_config else - echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + echo -e "\033[31m${SET_NO_MOD}TUN$SET_NO_MOD2\033[0m" sleep 1 fi ;; 3) if [ "$firewall_mod" = "iptables" ]; then if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then - read -p "xiaomi设备的QOS服务与本模式冲突,是否禁用相关功能?(1/0) > " res + read -p "$XIAOMI_QOS(1/0) > " res [ "$res" = '1' ] && { /data/shellcrash_init.sh tproxyfix - redir_mod=Tproxy模式 + redir_mod=Tproxy set_redir_config } elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod=Tproxy模式 + redir_mod=Tproxy set_redir_config else - echo -e "\033[31m设备未检测到iptables-mod-tproxy模块,请尝试其他模式或者安装相关依赖!\033[0m" + echo -e "\033[31m${SET_NO_MOD}iptables-mod-tproxy$SET_NO_MOD2\033[0m" sleep 1 fi elif [ "$firewall_mod" = "nftables" ]; then if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then - redir_mod=Tproxy模式 + redir_mod=Tproxy set_redir_config else - echo -e "\033[31m设备未检测到nft_tproxy内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + echo -e "\033[31m${SET_NO_MOD}nft_tproxy$SET_NO_MOD2\033[0m" sleep 1 fi fi ;; 4) if [ -n "$sup_tun" ]; then - redir_mod=Tun模式 + redir_mod=Tun set_redir_config else - echo -e "\033[31m设备未检测到Tun内核模块,请尝试其他模式或者安装相关依赖!\033[0m" + echo -e "\033[31m$SET_NO_TUN\033[0m" sleep 1 fi ;; @@ -237,28 +236,28 @@ set_redir_mod() { if [ "$firewall_mod" = 'iptables' ]; then if nft add table inet shellcrash 2>/dev/null; then firewall_mod=nftables - redir_mod=Redir模式 + redir_mod=Redir setconfig redir_mod $redir_mod else - echo -e "\033[31m当前设备未安装nftables或者nftables版本过低(<1.0.2),无法切换!\033[0m" + echo -e "\033[31m$FW_NO_NFTABLES\033[0m" fi elif [ "$firewall_mod" = 'nftables' ]; then if ckcmd iptables; then firewall_mod=iptables - redir_mod=Redir模式 + redir_mod=Redir setconfig redir_mod $redir_mod else - echo -e "\033[31m当前设备未安装iptables,无法切换!\033[0m" + echo -e "\033[31m$FW_NO_IPTABLES\033[0m" fi else iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables if [ -n "$firewall_mod" ]; then - redir_mod=Redir模式 + redir_mod=Redir setconfig redir_mod $redir_mod setconfig firewall_mod $firewall_mod else - echo -e "\033[31m检测不到可用的防火墙应用(iptables/nftables),无法切换!\033[0m" + echo -e "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" fi fi sleep 1 @@ -274,14 +273,14 @@ set_redir_mod() { } inputport() { - read -p "请输入端口号(1-65535) > " portx + read -p "$INPUT_PORT(1-65535) > " portx . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 if check_port "$portx"; then setconfig "$xport" "$portx" - echo -e "\033[32m设置成功!!!\033[0m" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" return 0 else - echo -e "\033[31m设置失败!!!\033[0m" + echo -e "\033[31m$COMMON_FAILED\033[0m" sleep 1 return 1 fi @@ -290,146 +289,118 @@ inputport() { # 端口设置 set_adv_config() { while true; do - . "$CFG_PATH" >/dev/null - [ -z "$secret" ] && secret="$COMMON_UNSET" - [ -z "$table" ] && table=100 - [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" + . "$CFG_PATH" >/dev/null + [ -z "$secret" ] && secret="$COMMON_UNSET" + [ -z "$table" ] && table=100 + [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" - echo "-----------------------------------------------" - echo -e " 1 $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" - echo -e " 2 $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" - echo -e " 3 $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port+1))\033[0m" - echo -e " 4 $ADV_DNS_PORT:\t\033[36m$dns_port\033[0m" - echo -e " 5 $ADV_PANEL_PORT:\t\033[36m$db_port\033[0m" - echo -e " 6 $ADV_PANEL_PASS:\t\033[36m$secret\033[0m" - echo -e " 8 $ADV_HOST:\t\033[36m$host\033[0m" - echo -e " 9 $ADV_TABLE:\t\033[36m$table,$((table+1))\033[0m" - echo -e " 0 $COMMON_BACK" - read -p "$COMMON_INPUT > " num + echo "-----------------------------------------------" + echo -e " 1 $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" + echo -e " 2 $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" + echo -e " 3 $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port+1))\033[0m" + echo -e " 4 $ADV_DNS_PORT:\t\033[36m$dns_port\033[0m" + echo -e " 5 $ADV_PANEL_PORT:\t\033[36m$db_port\033[0m" + echo -e " 6 $ADV_PANEL_PASS:\t\033[36m$secret\033[0m" + echo -e " 8 $ADV_HOST:\t\033[36m$host\033[0m" + echo -e " 9 $ADV_TABLE:\t\033[36m$table,$((table+1))\033[0m" + echo -e " 0 $COMMON_BACK" + read -p "$COMMON_INPUT > " num - case "$num" in + case "$num" in "" | 0) break - ;; + ;; 1) xport=mix_port inputport - ret=$? - if [ "$ret" -eq 1 ]; then - break - else - continue - fi - ;; + [ $? -eq 1 ] && break || continue + ;; 2) echo "-----------------------------------------------" - echo -e "格式必须是\033[32m 用户名:密码 \033[0m的形式,注意用小写冒号分隔!" - echo -e "请尽量不要使用特殊符号!避免产生未知错误!" - echo "输入 0 删除密码" + echo -e "$ADV_AUTH_FORMAT_DESC" + echo -e "$ADV_AUTH_WARN" + echo -e "$ADV_AUTH_REMOVE_HINT" echo "-----------------------------------------------" - read -p "请输入Http/Sock5用户名及密码 > " input + read -p "$ADV_AUTH_INPUT > " input + if [ "$input" = "0" ]; then authentication="" setconfig authentication - echo "密码已移除!" + echo -e "\033[32m$ADV_AUTH_REMOVED\033[0m" else - if [ "$local_proxy" = "ON" ] && [ "$local_type" = "环境变量" ]; then + if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then echo "-----------------------------------------------" - echo -e "\033[33m请先禁用本机劫持功能或使用增强模式!\033[0m" + echo -e "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" sleep 1 else authentication=$(echo "$input" | grep :) if [ -n "$authentication" ]; then setconfig authentication "'$authentication'" - echo -e "\033[32m设置成功!!!\033[0m" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" else - echo -e "\033[31m输入有误,请重新输入!\033[0m" + echo -e "\033[31m$ADV_AUTH_INVALID\033[0m" fi fi fi - - ret=$? - if [ "$ret" -eq 1 ]; then - break - else - continue - fi - ;; + ;; 3) xport=redir_port inputport - - ret=$? - if [ "$ret" -eq 1 ]; then - break - else - continue - fi - ;; + [ $? -eq 1 ] && break || continue + ;; 4) xport=dns_port inputport - - ret=$? - if [ "$ret" -eq 1 ]; then - break - else - continue - fi - ;; + [ $? -eq 1 ] && break || continue + ;; 5) xport=db_port inputport - - ret=$? - if [ "$ret" -eq 1 ]; then - break - else - continue - fi - ;; - 6) - read -p "$ADV_PANEL_PASS_INPUT > " secret + [ $? -eq 1 ] && break || continue + ;; + 6) + read -p "$ADV_PANEL_PASS_INPUT > " secret if [ -n "$secret" ]; then [ "$secret" = "0" ] && secret="" - setconfig secret "$secret" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + setconfig secret "$secret" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" fi - ;; + ;; 8) echo "-----------------------------------------------" - echo -e "\033[33m如果你的局域网网段不是192.168.x或172.16.x或10.x开头,请务必修改!\033[0m" - echo -e "\033[31m设置后如本机host地址有变动,请务必重新修改!\033[0m" + echo -e "\033[33m$ADV_HOST_WARN_LAN\033[0m" + echo -e "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" echo "-----------------------------------------------" - read -p "请输入自定义host地址(输入0移除自定义host) > " host + read -p "$ADV_HOST_INPUT > " host + if [ "$host" = "0" ]; then host="" setconfig host "$host" - echo -e "\033[32m已经移除自定义host地址,请重新运行脚本以自动获取host!!!\033[0m" + echo -e "\033[32m$ADV_HOST_REMOVED\033[0m" exit 0 - elif [ -n "$(echo "$host" | grep -E -o '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>')" ]; then + elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>' ; then setconfig host "$host" - echo -e "\033[32m设置成功!!!\033[0m" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" else host="" - echo -e "\033[31m输入错误,请仔细核对!!!\033[0m" + echo -e "\033[31m$ADV_HOST_INVALID\033[0m" fi sleep 1 - ;; + ;; 9) echo "-----------------------------------------------" - echo -e "\033[33m仅限Tproxy、Tun或混合模式路由表出现冲突时才需要设置!\033[0m" - read -p "请输入路由表地址(不明勿动!建议102-125之间) > " table + echo -e "\033[33m$ADV_TABLE_WARN\033[0m" + read -p "$ADV_TABLE_INPUT > " table if [ -n "$table" ]; then [ "$table" = "0" ] && table="100" setconfig table "$table" - echo -e "\033[32m设置成功!!!\033[0m" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" fi - ;; + ;; *) errornum sleep 1 - ;; + ;; esac done } @@ -450,11 +421,7 @@ set_firewall_area() { case "$num" in [1-4]) [ $firewall_area -ge 4 ] && { - redir_mod=Redir模式 - setconfig redir_mod $redir_mod - } - [ "$num" = 4 ] && { - redir_mod=纯净模式 + redir_mod=Redir setconfig redir_mod $redir_mod } firewall_area=$num @@ -482,12 +449,7 @@ set_firewall_area() { sleep 1 } set_firewall_vm(){ - if [ -n "$vm_ipv4" ]; then - vm_des='当前劫持' - else - vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') - vm_des='当前获取到' - fi + [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') echo "-----------------------------------------------" echo -e "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" echo "-----------------------------------------------" @@ -503,11 +465,11 @@ set_firewall_vm(){ if [ -n "$vm_ipv4" ]; then vm_redir=ON else - echo -e "\033[33m请先运行容器再运行脚本或者手动设置网段\033[0m" + echo -e "\033[33m$VM_NO_NET_DETECTED\033[0m" fi ;; 2) - echo -e "多个网段请用空格连接,可使用【ip route】命令查看,例如:" + echo -e "$VM_INPUT_DESC" echo -e "\033[32m10.88.0.0/16 172.17.0.0/16\033[0m" read -p "$VM_INPUT_NET > " text [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index d58eaf98..dad8304a 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -540,8 +540,8 @@ testcommand() { echo "----------------Redir+DNS---------------------" iptables -t nat -L PREROUTING --line-numbers iptables -t nat -L shellcrash_dns --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && iptables -t nat -L shellcrash --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { + [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && iptables -t nat -L shellcrash --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Tproxy|Mix|Tun')" ] && { echo "----------------Tun/Tproxy-------------------" iptables -t mangle -L PREROUTING --line-numbers iptables -t mangle -L shellcrash_mark --line-numbers @@ -551,8 +551,8 @@ testcommand() { echo "-------------OUTPUT-Redir+DNS----------------" iptables -t nat -L OUTPUT --line-numbers iptables -t nat -L shellcrash_dns_out --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && iptables -t nat -L shellcrash_out --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { + [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && iptables -t nat -L shellcrash_out --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Tproxy|Mix|Tun')" ] && { echo "------------OUTPUT-Tun/Tproxy---------------" iptables -t mangle -L OUTPUT --line-numbers iptables -t mangle -L shellcrash_mark_out --line-numbers @@ -564,9 +564,9 @@ testcommand() { echo "-------------IPV6-Redir+DNS-------------------" ip6tables -t nat -L PREROUTING --line-numbers ip6tables -t nat -L shellcrashv6_dns --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir模式|混合模式')" ] && ip6tables -t nat -L shellcrashv6 --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && ip6tables -t nat -L shellcrashv6 --line-numbers } - [ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && { + [ -n "$(echo $redir_mod | grep -E 'Tproxy|Mix|Tun')" ] && { echo "-------------IPV6-Tun/Tproxy------------------" ip6tables -t mangle -L PREROUTING --line-numbers ip6tables -t mangle -L shellcrashv6_mark --line-numbers diff --git a/scripts/menus/bot_tg.sh b/scripts/menus/bot_tg.sh index 05bab2b1..127755d3 100644 --- a/scripts/menus/bot_tg.sh +++ b/scripts/menus/bot_tg.sh @@ -160,7 +160,7 @@ download_file(){ } ### --- 具体操作函数 --- ### do_start_fw(){ - [ -z "$redir_mod_bf" ] && redir_mod_bf='Redir模式' + [ -z "$redir_mod_bf" ] && redir_mod_bf='Redir' redir_mod=$redir_mod_bf setconfig redir_mod $redir_mod "$CRASHDIR"/start.sh start_firewall @@ -168,8 +168,8 @@ do_start_fw(){ } do_stop_fw(){ redir_mod_bf=$redir_mod - redir_mod='纯净模式' - setconfig redir_mod $redir_mod + firewall_area=4 + setconfig firewall_area 4 "$CRASHDIR"/start.sh stop_firewall echo "ShellCrash 已切换到纯净模式!" > "$LOGFILE" } @@ -238,7 +238,7 @@ polling(){ [ -n "$FILE_ID" ] && download_file [ -n "$CALLBACK" ] && case "$CALLBACK" in "start_redir") - if [ "$redir_mod" = '纯净模式' ];then + if [ "$firewall_area" = 4 ];then do_start_fw send_msg "已切换到$redir_mod_bf!" else @@ -248,7 +248,7 @@ polling(){ continue ;; "stop_redir") - if [ "$redir_mod" != '纯净模式' ];then + if [ "$firewall_area" != 4 ];then do_stop_fw send_msg "已切换到纯净模式" else diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index 7b2839b4..087aa6f8 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -20,12 +20,12 @@ forwhat() { case "$num" in "" | 1) # 设置运行模式 - redir_mod="混合模式" + redir_mod="Mix" echo "$cputype" | grep -Eq 'linux.*mips.*' && { if grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod="Tproxy模式" + redir_mod="Tproxy" else - redir_mod="Redir模式" + redir_mod="Redir" fi } @@ -67,7 +67,7 @@ forwhat() { break ;; 2) - setconfig redir_mod "Redir模式" + setconfig redir_mod "Redir" echo "$cputype" | grep -Eq "linux.*mips.*" && setconfig crashcore "clash" setconfig common_ports "OFF" setconfig firewall_area '2' diff --git a/scripts/starts/bfstart.sh b/scripts/starts/bfstart.sh index 1dfd1af2..09060756 100644 --- a/scripts/starts/bfstart.sh +++ b/scripts/starts/bfstart.sh @@ -18,7 +18,7 @@ . "$CRASHDIR"/starts/check_geo.sh . "$CRASHDIR"/starts/check_core.sh #缺省值 -[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' +[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir' [ -z "$dns_mod" ] && dns_mod='redir_host' [ -z "$redir_mod" ] && firewall_area='4' routing_mark=$((fwmark + 2)) @@ -135,7 +135,7 @@ fi fi } #加载系统内核组件 -[ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && ckcmd modprobe && modprobe tun 2>/dev/null +[ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && ckcmd modprobe && modprobe tun 2>/dev/null #清理debug日志 rm -rf /tmp/ShellCrash/debug.log rm -rf "$CRASHDIR"/debug.log diff --git a/scripts/starts/clash_check.sh b/scripts/starts/clash_check.sh index 413aae1c..f74a85d6 100644 --- a/scripts/starts/clash_check.sh +++ b/scripts/starts/clash_check.sh @@ -5,8 +5,8 @@ clash_check() { #clash启动前检查 #检测是否存在高级版规则或者tun模式 if [ "$crashcore" = "clash" ]; then [ -n "$(cat $core_config | grep -aiE '^script:|proxy-providers|rule-providers|rule-set')" ] || - [ "$redir_mod" = "混合模式" ] || - [ "$redir_mod" = "Tun模式" ] && core_exchange meta '当前内核不支持的配置' + [ "$redir_mod" = "Mix" ] || + [ "$redir_mod" = "Tun" ] && core_exchange meta '当前内核不支持的配置' fi [ "$crashcore" = "clash" ] && [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && [ -z "$(grep '0:7890' /etc/passwd)" ] && core_exchange meta '当前内核不支持非root用户启用本机代理' diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index e08e9be1..d2a35236 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -6,7 +6,7 @@ modify_yaml() { ##########需要变更的配置########### [ "$ipv6_dns" != "OFF" ] && dns_v6='true' || dns_v6='false' external="external-controller: 0.0.0.0:$db_port" - if [ "$redir_mod" = "混合模式" -o "$redir_mod" = "Tun模式" ]; then + if [ "$redir_mod" = "Mix" -o "$redir_mod" = "Tun" ]; then [ "$crashcore" = 'meta' ] && tun_meta=', device: utun, auto-route: false, auto-detect-interface: false' tun="tun: {enable: true, stack: system$tun_meta}" else @@ -15,7 +15,7 @@ modify_yaml() { exper='experimental: {ignore-resolve-fail: true, interface-name: en0}' #Meta内核专属配置 [ "$crashcore" = 'meta' ] && { - [ "$redir_mod" != "纯净模式" ] && [ -z "$(grep 'PROCESS' "$CRASHDIR"/yamls/*.yaml)" ] && find_process='find-process-mode: "off"' + [ -z "$(grep 'PROCESS' "$CRASHDIR"/yamls/*.yaml)" ] && find_process='find-process-mode: "off"' #ecs优化 [ "$ecs_subnet" = ON ] && { . "$CRASHDIR"/libs/get_ecsip.sh diff --git a/scripts/starts/fw_iptables.sh b/scripts/starts/fw_iptables.sh index 8105bb7a..73b41af0 100644 --- a/scripts/starts/fw_iptables.sh +++ b/scripts/starts/fw_iptables.sh @@ -170,7 +170,7 @@ start_iptables() { #iptables配置总入口 #启动公网访问防火墙 [ "$fw_wan" != OFF ] && start_ipt_wan #分模式设置流量劫持 - [ "$redir_mod" = "Redir模式" -o "$redir_mod" = "混合模式" ] && { + [ "$redir_mod" = "Redir" -o "$redir_mod" = "Mix" ] && { JUMP="REDIRECT --to-ports $redir_port" #跳转劫持的具体命令 [ "$lan_proxy" = true ] && { start_ipt_route iptables nat PREROUTING shellcrash tcp #ipv4-局域网tcp转发 @@ -193,7 +193,7 @@ start_iptables() { #iptables配置总入口 } } } - [ "$redir_mod" = "Tproxy模式" ] && { + [ "$redir_mod" = "Tproxy" ] && { modprobe xt_TPROXY >/dev/null 2>&1 JUMP="TPROXY --on-port $tproxy_port --tproxy-mark $fwmark" #跳转劫持的具体命令 if $iptable -j TPROXY -h 2>/dev/null | grep -q '\--on-port'; then @@ -230,14 +230,14 @@ start_iptables() { #iptables配置总入口 fi } } - [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" -o "$redir_mod" = "T&U旁路转发" -o "$redir_mod" = "TCP旁路转发" ] && { + [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" -o "$redir_mod" = "T&U旁路转发" -o "$redir_mod" = "TCP旁路转发" ] && { JUMP="MARK --set-mark $fwmark" #跳转劫持的具体命令 - [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "T&U旁路转发" ] && protocol=all - [ "$redir_mod" = "混合模式" ] && protocol=udp + [ "$redir_mod" = "Tun" -o "$redir_mod" = "T&U旁路转发" ] && protocol=all + [ "$redir_mod" = "Mix" ] && protocol=udp [ "$redir_mod" = "TCP旁路转发" ] && protocol=tcp if $iptable -j MARK -h 2>/dev/null | grep -q '\--set-mark'; then [ "$lan_proxy" = true ] && { - [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && $iptable -I FORWARD -o utun -j ACCEPT + [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && $iptable -I FORWARD -o utun -j ACCEPT start_ipt_route iptables mangle PREROUTING shellcrash_mark $protocol } [ "$local_proxy" = true ] && start_ipt_route iptables mangle OUTPUT shellcrash_mark_out $protocol @@ -247,7 +247,7 @@ start_iptables() { #iptables配置总入口 [ "$ipv6_redir" = "ON" ] && [ "$crashcore" != clashpre ] && { if $ip6table -j MARK -h 2>/dev/null | grep -q '\--set-mark'; then [ "$lan_proxy" = true ] && { - [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && $ip6table -I FORWARD -o utun -j ACCEPT + [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && $ip6table -I FORWARD -o utun -j ACCEPT start_ipt_route ip6tables mangle PREROUTING shellcrashv6_mark $protocol } [ "$local_proxy" = true ] && start_ipt_route ip6tables mangle OUTPUT shellcrashv6_mark_out $protocol @@ -275,16 +275,16 @@ start_iptables() { #iptables配置总入口 [ "$local_proxy" = true ] && start_ipt_dns iptables OUTPUT shellcrash_dns_out #ipv4-本机dns转发 } #屏蔽QUIC - [ "$quic_rj" = 'ON' -a "$lan_proxy" = true -a "$redir_mod" != "Redir模式" ] && { + [ "$quic_rj" = 'ON' -a "$lan_proxy" = true -a "$redir_mod" != "Redir" ] && { [ "$dns_mod" != "fake-ip" -a "$cn_ip_route" = "ON" ] && { set_cn_ip='-m set ! --match-set cn_ip dst' set_cn_ip6='-m set ! --match-set cn_ip6 dst' } - [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && { + [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && { $iptable -I FORWARD -p udp --dport 443 -o utun $set_cn_ip -j REJECT >/dev/null 2>&1 $ip6table -I FORWARD -p udp --dport 443 -o utun $set_cn_ip6 -j REJECT >/dev/null 2>&1 } - [ "$redir_mod" = "Tproxy模式" ] && { + [ "$redir_mod" = "Tproxy" ] && { $iptable -I INPUT -p udp --dport 443 $set_cn_ip -j REJECT >/dev/null 2>&1 $ip6table -I INPUT -p udp --dport 443 $set_cn_ip6 -j REJECT >/dev/null 2>&1 } diff --git a/scripts/starts/fw_nftables.sh b/scripts/starts/fw_nftables.sh index 1600cd35..4b5bbf2c 100644 --- a/scripts/starts/fw_nftables.sh +++ b/scripts/starts/fw_nftables.sh @@ -96,7 +96,7 @@ start_nft_route() { #nftables-route通用工具 #添加通用路由 nft add rule inet shellcrash "$1" "$JUMP" #处理特殊路由 - [ "$redir_mod" = "混合模式" ] && { + [ "$redir_mod" = "Mix" ] && { nft add rule inet shellcrash $1 meta l4proto tcp mark set $((fwmark + 1)) nft add chain inet shellcrash "$1"_mixtcp { type nat hook $2 priority -100 \; } nft add rule inet shellcrash "$1"_mixtcp mark $((fwmark + 1)) meta l4proto tcp redirect to $redir_port @@ -168,12 +168,12 @@ start_nftables() { #nftables配置总入口 [ "$local_proxy" = true ] && start_nft_dns output output #本机dns转发 } #分模式设置流量劫持 - [ "$redir_mod" = "Redir模式" ] && { + [ "$redir_mod" = "Redir" ] && { JUMP="meta l4proto tcp redirect to $redir_port" #跳转劫持的具体命令 [ "$lan_proxy" = true ] && start_nft_route prerouting prerouting nat -100 [ "$local_proxy" = true ] && start_nft_route output output nat -100 } - [ "$redir_mod" = "Tproxy模式" ] && (modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy) && { + [ "$redir_mod" = "Tproxy" ] && (modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy) && { JUMP="meta l4proto {tcp, udp} mark set $fwmark tproxy to :$tproxy_port" #跳转劫持的具体命令 [ "$lan_proxy" = true ] && start_nft_route prerouting prerouting filter -150 [ "$local_proxy" = true ] && { @@ -184,8 +184,8 @@ start_nftables() { #nftables配置总入口 } } [ "$tun_statu" = true ] && { - [ "$redir_mod" = "Tun模式" ] && JUMP="meta l4proto {tcp, udp} mark set $fwmark" #跳转劫持的具体命令 - [ "$redir_mod" = "混合模式" ] && JUMP="meta l4proto udp mark set $fwmark" #跳转劫持的具体命令 + [ "$redir_mod" = "Tun" ] && JUMP="meta l4proto {tcp, udp} mark set $fwmark" #跳转劫持的具体命令 + [ "$redir_mod" = "Mix" ] && JUMP="meta l4proto udp mark set $fwmark" #跳转劫持的具体命令 [ "$lan_proxy" = true ] && { start_nft_route prerouting prerouting filter -150 #放行流量 diff --git a/scripts/starts/fw_start.sh b/scripts/starts/fw_start.sh index f0ae831f..36a985c8 100644 --- a/scripts/starts/fw_start.sh +++ b/scripts/starts/fw_start.sh @@ -8,14 +8,14 @@ [ -z "$common_ports" ] && common_ports='ON' [ -z "$multiport" ] && multiport='22,80,443,8080,8443' [ "$common_ports" = "ON" ] && ports="-m multiport --dports $multiport" -[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir模式' +[ -z "$redir_mod" ] && [ "$USER" = "root" -o "$USER" = "admin" ] && redir_mod='Redir' [ -z "$dns_mod" ] && dns_mod='redir_host' [ -z "$redir_mod" ] && firewall_area='4' #设置策略路由 [ "$firewall_area" != 4 ] && { - [ "$redir_mod" = "Tproxy模式" ] && ip route add local default dev lo table $table 2>/dev/null - [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && { + [ "$redir_mod" = "Tproxy" ] && ip route add local default dev lo table $table 2>/dev/null + [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && { i=1 while [ -z "$(ip route list | grep utun)" -a "$i" -le 29 ]; do sleep 1 @@ -28,13 +28,13 @@ fi } [ "$firewall_area" = 5 ] && ip route add default via $bypass_host table $table 2>/dev/null - [ "$redir_mod" != "Redir模式" ] && ip rule add fwmark $fwmark table $table 2>/dev/null + [ "$redir_mod" != "Redir" ] && ip rule add fwmark $fwmark table $table 2>/dev/null } #添加ipv6路由 [ "$ipv6_redir" = "ON" -a "$firewall_area" -le 3 ] && { - [ "$redir_mod" = "Tproxy模式" ] && ip -6 route add local default dev lo table $((table + 1)) 2>/dev/null + [ "$redir_mod" = "Tproxy" ] && ip -6 route add local default dev lo table $((table + 1)) 2>/dev/null [ -n "$(ip route list | grep utun)" ] && ip -6 route add default dev utun table $((table + 1)) 2>/dev/null - [ "$redir_mod" != "Redir模式" ] && ip -6 rule add fwmark $fwmark table $((table + 1)) 2>/dev/null + [ "$redir_mod" != "Redir" ] && ip -6 rule add fwmark $fwmark table $((table + 1)) 2>/dev/null } #判断代理用途 [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && local_proxy=true diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index d3416f59..edec27cf 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -267,7 +267,7 @@ EOF . "$CRASHDIR"/configs/gateway.cfg . "$CRASHDIR"/libs/sb_inbounds.sh } - if [ "$redir_mod" = "混合模式" -o "$redir_mod" = "Tun模式" ]; then + if [ "$redir_mod" = "Mix" -o "$redir_mod" = "Tun" ]; then [ "ipv6_redir" = 'ON' ] && ipv6_address='"fe80::e5c5:2469:d09b:609a/64",' cat >>"$TMPDIR"/jsons/tun.json < Date: Sat, 17 Jan 2026 20:18:15 +0800 Subject: [PATCH 074/318] fix(tui_layout): handle missing and empty string parameters correctly --- scripts/menus/tui_layout.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index aa0d39b4..7c10ddba 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -16,13 +16,15 @@ FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - # function to print content lines # (using cursor jump) content_line() { - echo -e " ${1}\033[${TABLE_WIDTH}G||" + local param="${1:-}" + echo -e " ${param}\033[${TABLE_WIDTH}G||" } # function to print sub content lines # for printing accompanying instructions sub_content_line() { - echo -e " ${1}\033[${TABLE_WIDTH}G||" + local param="${1:-}" + echo -e " ${param}\033[${TABLE_WIDTH}G||" content_line } From 7422a3f3c8f563c836ade98b8188deaceabcae49 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 21:12:09 +0800 Subject: [PATCH 075/318] ~Add i18n support for dns.sh ~Fix i18n support for 2_settings.sh --- scripts/lang/chs/2_settings.lang | 10 +- scripts/lang/chs/common.lang | 2 + scripts/lang/chs/dns.lang | 54 +++++ scripts/lang/en/2_settings.lang | 10 +- scripts/lang/en/common.lang | 1 + scripts/lang/en/dns.lang | 54 +++++ scripts/menus/2_settings.sh | 10 +- scripts/menus/dns.sh | 391 +++++++++++++++---------------- 8 files changed, 312 insertions(+), 220 deletions(-) create mode 100644 scripts/lang/chs/dns.lang create mode 100644 scripts/lang/en/dns.lang diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index caca1b1f..2e0db70c 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -2,13 +2,13 @@ # Settings main menu # ================================================= SET_MENU_TITLE="欢迎使用功能设置菜单:" -SET_MENU_REDIR="路由模式设置" -SET_MENU_DNS="DNS设置" +SET_MENU_REDIR="路由模式设置:" +SET_MENU_DNS="DNS设置: " SET_MENU_FW_FILTER="透明路由流量过滤" -SET_MENU_SKIP_CERT="跳过证书验证" -SET_MENU_SNIFFER="启用域名嗅探" +SET_MENU_SKIP_CERT="跳过证书验证:" +SET_MENU_SNIFFER="启用域名嗅探:" SET_MENU_ADV_PORT="自定义端口及密钥" -SET_MENU_IPV6="IPv6设置" +SET_MENU_IPV6="IPv6设置: " SET_MENU_RESET="重置/备份/还原脚本设置" # ================================================= diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang index 3036c6c2..7aadbafb 100644 --- a/scripts/lang/chs/common.lang +++ b/scripts/lang/chs/common.lang @@ -4,3 +4,5 @@ COMMON_BACK="返回上级菜单" COMMON_SUCCESS="设置成功!" COMMON_FAILED="设置失败!" COMMON_UNSET="未设置" +COMMON_MOD="模式" + diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang new file mode 100644 index 00000000..5f183953 --- /dev/null +++ b/scripts/lang/chs/dns.lang @@ -0,0 +1,54 @@ +#=====DNS主菜单===== +DNS_CURRENT_MODE="当前DNS运行模式为:" +DNS_RESTART_NOTICE="切换模式后需要手动重启服务以生效!" + +DNS_MODE_MIX_DESC="CN域名real-ip,其它fake-ip分流" +DNS_MODE_ROUTE_DESC="CN域名real-ip,其它dns2proxy分流" +DNS_MODE_REDIR_DESC="不安全,需搭配第三方DNS服务使用" + +DNS_MENU_PROTECT="DNS防泄漏" +DNS_MENU_HOSTS="Hosts优化" +DNS_MENU_ECS="ECS优化" +DNS_MENU_REDIR="DNS劫持端口" + +DNS_PROTECT_DESC="——启用时少量网站可能出现连接卡顿" +DNS_HOSTS_DESC="——调用本机hosts并劫持NTP服务" +DNS_ECS_DESC="——解决CDN下载浪费流量等问题" +DNS_REDIR_PORT_DESC="——用于兼容第三方DNS服务" + +DNS_FAKEIP_MENU="管理Fake-IP过滤列表" +DNS_ADV_MENU="修改DNS服务器" + +DNS_SET_OK="DNS模式已设置为" +DNS_CORE_UNSUPPORTED="当前内核不支持该功能!" + +#=====DNS重定向===== +DNS_REDIR_WARN="仅限搭配第三方DNS服务(AdGuard、SmartDNS等)使用!" +DNS_REDIR_HINT="建议第三方DNS上游指向" +DNS_REDIR_INPUT="请输入第三方DNS服务监听端口(0重置)>" +DNS_REDIR_NO_SERVICE="该端口未检测到正在运行的DNS服务!" + +#=====Fake-IP===== +DNS_FAKEIP_DESC="用于解决Fake-IP模式下部分地址或应用无法连接的问题" +DNS_FAKEIP_TIP="脚本已内置大量地址,只需添加出现问题的地址" +DNS_FAKEIP_EXAMPLE="示例:a.b.com\n*.b.com\n*.*.b.com" +DNS_FAKEIP_EXIST="已添加的Fake-IP过滤地址:" +DNS_FAKEIP_EMPTY="尚未添加Fake-IP过滤地址" +DNS_FAKEIP_EDIT="输入序号移除,输入地址添加" + +#=====DNS高级===== +DNS_ADV_SPLIT="多个DNS地址请使用“|”或“,”分隔输入" +DNS_ADV_CERT="使用DoH/DoT需具备本地根证书文件" +DNS_ADV_SINGBOX_LIMIT="注意:SingBox内核仅加载第一个DNS" + +DNS_ADV_EDIT_DIRECT="修改DIRECT-DNS" +DNS_ADV_EDIT_PROXY="修改PROXY-DNS(该DNS查询会经过节点)" +DNS_ADV_EDIT_DEFAULT="修改DEFAULT-DNS(必须是IP,用于解析其他DNS)" +DNS_ADV_AUTO_ENCRYPT="一键配置加密DNS" +DNS_ADV_RESET="重置默认DNS配置" + +DNS_INPUT_NEW="请输入新的DNS地址>" +DNS_IPV6_NOT_SUPPORT="该选项暂不支持IPv6加密DNS!" + +DNS_ENCRYPT_OK="已设置加密DNS,如遇DNS解析问题,请重置DNS配置!" +DNS_CORE_REQUIRE="请使用Mihomo或SingBox内核" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index a5f05c5a..0b1a7ff0 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -2,13 +2,13 @@ # Settings main menu # ================================================= SET_MENU_TITLE="Welcome to the Function Settings Menu:" -SET_MENU_REDIR="Routing Mode" -SET_MENU_DNS="DNS Settings" +SET_MENU_REDIR="Routing Mode:" +SET_MENU_DNS="DNS Settings:" SET_MENU_FW_FILTER="Transparent Routing Traffic Filter" -SET_MENU_SKIP_CERT="Skip Certificate Verification" -SET_MENU_SNIFFER="Enable Domain Sniffing" +SET_MENU_SKIP_CERT="Skip Cert Verify:" +SET_MENU_SNIFFER="Enable Sniff:" SET_MENU_ADV_PORT="Custom Ports and Secrets" -SET_MENU_IPV6="IPv6 Settings" +SET_MENU_IPV6="IPv6 Settings:" SET_MENU_RESET="Reset / Backup / Restore Script Settings" # ================================================= diff --git a/scripts/lang/en/common.lang b/scripts/lang/en/common.lang index 06905913..e7722726 100644 --- a/scripts/lang/en/common.lang +++ b/scripts/lang/en/common.lang @@ -4,3 +4,4 @@ COMMON_BACK="Back" COMMON_SUCCESS="Successfully set!" COMMON_FAILED="Setup failed!" COMMON_UNSET="Not set" +COMMON_MOD="Mod" diff --git a/scripts/lang/en/dns.lang b/scripts/lang/en/dns.lang new file mode 100644 index 00000000..55d3b464 --- /dev/null +++ b/scripts/lang/en/dns.lang @@ -0,0 +1,54 @@ +#===== DNS Main Menu ===== +DNS_CURRENT_MODE="Current DNS running mode:" +DNS_RESTART_NOTICE="Changes require a manual service restart to take effect." + +DNS_MODE_MIX_DESC="CN domains use real-ip, others use fake-ip routing" +DNS_MODE_ROUTE_DESC="CN domains use real-ip, others use dns2proxy routing" +DNS_MODE_REDIR_DESC="Insecure. Must be used with a third-party DNS service." + +DNS_MENU_PROTECT="DNS Leak Protect" +DNS_MENU_HOSTS="Hosts Optimization" +DNS_MENU_ECS="ECS Optimization" +DNS_MENU_REDIR="DNS Redirect Port" + +DNS_PROTECT_DESC="May cause slow connections on some websites when enabled" +DNS_HOSTS_DESC="Use local hosts file and hijack NTP service" +DNS_ECS_DESC="Reduce wasted traffic caused by CDN misrouting" +DNS_REDIR_PORT_DESC="Used for compatibility with third-party DNS services" + +DNS_FAKEIP_MENU="Manage Fake-IP Filter List" +DNS_ADV_MENU="Configure DNS Servers" + +DNS_SET_OK="DNS mode has been set to" +DNS_CORE_UNSUPPORTED="The current core does not support this feature." + +#===== DNS Redirect ===== +DNS_REDIR_WARN="For use with third-party DNS services only (AdGuard, SmartDNS, etc.)" +DNS_REDIR_HINT="It is recommended to set the upstream DNS of the third-party service to" +DNS_REDIR_INPUT="Enter the listening port of the third-party DNS service (0 to reset)>" +DNS_REDIR_NO_SERVICE="No running DNS service detected on this port!" + +#===== Fake-IP ===== +DNS_FAKEIP_DESC="Used to resolve connectivity issues for certain addresses or applications in Fake-IP mode" +DNS_FAKEIP_TIP="The script already includes many built-in entries. Only add problematic addresses." +DNS_FAKEIP_EXAMPLE="Examples:\na.b.com\n*.b.com\n*.*.b.com" +DNS_FAKEIP_EXIST="Existing Fake-IP filter entries:" +DNS_FAKEIP_EMPTY="No Fake-IP filter entries have been added" +DNS_FAKEIP_EDIT="Enter a number to remove an entry, or enter an address to add one" + +#===== Advanced DNS ===== +DNS_ADV_SPLIT="Use '|' or ',' to separate multiple DNS addresses" +DNS_ADV_CERT="DoH/DoT requires a local root certificate file" +DNS_ADV_SINGBOX_LIMIT="Note: SingBox core only loads the first DNS entry" + +DNS_ADV_EDIT_DIRECT="Edit DIRECT-DNS" +DNS_ADV_EDIT_PROXY="Edit PROXY-DNS (queries go through the proxy)" +DNS_ADV_EDIT_DEFAULT="Edit DEFAULT-DNS (must be an IP, used to resolve other DNS servers)" +DNS_ADV_AUTO_ENCRYPT="Auto-configure Encrypted DNS" +DNS_ADV_RESET="Reset to default DNS configuration" + +DNS_INPUT_NEW="Enter new DNS address>" +DNS_IPV6_NOT_SUPPORT="This option does not support IPv6 encrypted DNS!" + +DNS_ENCRYPT_OK="Encrypted DNS has been configured. If DNS issues occur, please reset DNS settings." +DNS_CORE_REQUIRE="Please use the Mihomo or SingBox core" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index db0ed608..e2b0b6cb 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -17,15 +17,15 @@ settings() { echo "-----------------------------------------------" echo -e "\033[30;47m$SET_MENU_TITLE\033[0m" echo "-----------------------------------------------" - echo -e " 1 $SET_MENU_REDIR:\t\033[36m$redir_mod\033[0m" - echo -e " 2 $SET_MENU_DNS:\t\t\033[36m$dns_mod\033[0m" + echo -e " 1 $SET_MENU_REDIR\t\033[36m$redir_mod\033[0m" + echo -e " 2 $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" echo -e " 3 $SET_MENU_FW_FILTER" [ "$disoverride" != "1" ] && { - echo -e " 4 $SET_MENU_SKIP_CERT:\t\033[36m$skip_cert\033[0m" - echo -e " 5 $SET_MENU_SNIFFER:\t\033[36m$sniffer\033[0m" + echo -e " 4 $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" + echo -e " 5 $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" echo -e " 6 $SET_MENU_ADV_PORT" } - echo -e " 8 $SET_MENU_IPV6:\t\t\033[36m$ipv6_redir\033[0m" + echo -e " 8 $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" echo "-----------------------------------------------" echo -e " 9 \033[31m$SET_MENU_RESET\033[0m" echo -e " 0 $COMMON_BACK" diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 1562079e..85ab59e8 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -4,231 +4,212 @@ [ -n "$__IS_MODULE_DNS_LOADED" ] && return __IS_MODULE_DNS_LOADED=1 -set_dns_mod() { #DNS模式设置 - [ -z "$hosts_opt" ] && hosts_opt=ON +load_lang dns + +set_dns_mod() { # DNS 模式设置 + [ -z "$hosts_opt" ] && hosts_opt=ON [ -z "$dns_protect" ] && dns_protect=ON - [ -z "$ecs_subnet" ] && ecs_subnet=OFF + [ -z "$ecs_subnet" ] && ecs_subnet=OFF + echo "-----------------------------------------------" - echo -e "当前DNS运行模式为:\033[47;30m $dns_mod \033[0m" - echo -e "\033[33m切换模式后需要手动重启服务以生效!\033[0m" + echo -e "$DNS_CURRENT_MODE \033[47;30m $dns_mod \033[0m" + echo -e "\033[33m$DNS_RESTART_NOTICE\033[0m" echo "-----------------------------------------------" - echo -e " 1 MIX模式: \033[32mCN域名realip其他fake-ip分流\033[0m" - echo -e " 2 Route模式:\033[32mCN域名realip其他dns2proxy分流\033[0m" - echo -e " 3 Redir模式:\033[33m不安全,需搭配第三方DNS服务使用\033[0m" - echo "-----------------------------------------------" - echo -e " 4 DNS防泄漏: \033[36m$dns_protect\033[0m ———启用时少量网站可能连接卡顿" - echo -e " 5 Hosts优化: \033[36m$hosts_opt\033[0m ———调用本机hosts并劫持NTP服务" - echo -e " 6 ECS优化: \033[36m$ecs_subnet\033[0m ———解决CDN下载浪费流量等问题" - echo -e " 7 DNS劫持端口:\033[36m$dns_redir_port\033[0m ———用于兼容第三方DNS服务" - [ "$dns_mod" = "mix" ] && - echo -e " 8 管理MIX模式\033[33mFake-ip过滤列表\033[0m" - echo -e " 9 修改\033[36mDNS服务器\033[0m" - echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num + echo -e " 1 MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m" + echo -e " 2 Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m" + echo -e " 3 Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" + echo "-----------------------------------------------" + echo -e " 4 $DNS_MENU_PROTECT:\t\033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" + echo -e " 5 $DNS_MENU_HOSTS:\t\033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" + echo -e " 6 $DNS_MENU_ECS:\t\033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" + echo -e " 7 $DNS_MENU_REDIR:\033[36m$dns_redir_port\033[0m\t$DNS_REDIR_PORT_DESC" + [ "$dns_mod" = "mix" ] && + echo -e " 8 \033[33m$DNS_FAKEIP_MENU\033[0m" + echo -e " 9 \033[36m$DNS_ADV_MENU\033[0m" + echo "-----------------------------------------------" + echo " 0 $COMMON_BACK" + read -p "$COMMON_INPUT > " num case "$num" in - 0) ;; - 1) - if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then - dns_mod=mix - setconfig dns_mod $dns_mod + 0) ;; + 1|2) + if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then + [ "$num" = 1 ] && dns_mod=mix || dns_mod=route + setconfig dns_mod "$dns_mod" + echo "-----------------------------------------------" + echo -e "\033[36m$DNS_SET_OK: $dns_mod\033[0m" + else + echo -e "\033[31m$DNS_CORE_UNSUPPORTED\033[0m" + sleep 1 + fi + set_dns_mod + ;; + 3) + dns_mod=redir_host + setconfig dns_mod "$dns_mod" + echo -e "\033[36m$DNS_SET_OK: $dns_mod\033[0m" + set_dns_mod + ;; + 4) + [ "$dns_protect" = ON ] && dns_protect=OFF || dns_protect=ON + setconfig dns_protect "$dns_protect" + set_dns_mod + ;; + 5) + [ "$hosts_opt" = ON ] && hosts_opt=OFF || hosts_opt=ON + setconfig hosts_opt "$hosts_opt" + set_dns_mod + ;; + 6) + [ "$ecs_subnet" = ON ] && ecs_subnet=OFF || ecs_subnet=ON + setconfig ecs_subnet "$ecs_subnet" + set_dns_mod + ;; + 7) echo "-----------------------------------------------" - echo -e "\033[36m已设为 $dns_mod 模式!!\033[0m" - else - echo -e "\033[31m当前内核不支持的功能!!!\033[0m" - sleep 1 - fi - set_dns_mod - ;; - 2) - if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then - dns_mod=route - setconfig dns_mod $dns_mod + echo -e "\033[31m$DNS_REDIR_WARN\033[0m" + echo -e "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" echo "-----------------------------------------------" - echo -e "\033[36m已设为 $dns_mod 模式!!\033[0m" - else - echo -e "\033[31m当前内核不支持的功能!!!\033[0m" + + read -p "$DNS_REDIR_INPUT" num + + if [ "$num" = 0 ]; then + dns_redir_port="$dns_port" + setconfig dns_redir_port + elif [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then + if ckcmd netstat && netstat -ntul | grep -q ":$num "; then + dns_redir_port="$num" + setconfig dns_redir_port "$dns_redir_port" + else + echo -e "\033[33m$DNS_REDIR_NO_SERVICE\033[0m" + fi + else + errornum + fi sleep 1 - fi - set_dns_mod - ;; - 3) - dns_mod=redir_host - setconfig dns_mod $dns_mod - echo "-----------------------------------------------" - echo -e "\033[36m已设为 $dns_mod 模式!!\033[0m" - set_dns_mod - ;; - 4) - [ "$dns_protect" = "ON" ] && dns_protect=OFF || dns_protect=ON - setconfig dns_protect $dns_protect - set_dns_mod - ;; - 5) - [ "$hosts_opt" = "ON" ] && hosts_opt=OFF || hosts_opt=ON - setconfig hosts_opt $hosts_opt - set_dns_mod - ;; - 6) - [ "$ecs_subnet" = "ON" ] && ecs_subnet=OFF || ecs_subnet=ON - setconfig ecs_subnet "$ecs_subnet" - set_dns_mod - ;; - 7) - echo "-----------------------------------------------" - echo -e "\033[31m仅限搭配第三方DNS服务(AdGuard、SmartDNS……)使用!\033[0m" - echo -e "\033[33m设置为第三方DNS服务的监听端口即可修改防火墙劫持!\n建议在第三方DNS服务中将上游DNS指向【localhost:$dns_port】\033[0m" - echo "-----------------------------------------------" - read -p "请输入第三方DNS服务的监听端口(0重置端口) > " num - if [ "$num" = 0 ];then - dns_redir_port="$dns_port" - setconfig dns_redir_port - elif [ "$num" -lt 65535 -a "$num" -ge 1 ];then - if ckcmd netstat;then - port_test=$(netstat -ntul | grep -E ":$num[[:space:]]") - else - port_test=0 - fi - if [ -n "$port_test" ];then - dns_redir_port="$num" - setconfig dns_redir_port "$dns_redir_port" - else - echo -e "\033[33m此端口未检测到已运行的DNS服务!\033[0m" - fi - else - errornum - fi - sleep 1 - set_dns_mod - ;; - 8) - echo "-----------------------------------------------" - fake_ip_filter - set_dns_mod - ;; - 9) - set_dns_adv - set_dns_mod - ;; - *) - errornum - ;; + set_dns_mod + ;; + 8) + fake_ip_filter + set_dns_mod + ;; + 9) + set_dns_adv + set_dns_mod + ;; + *) + errornum + ;; esac } + fake_ip_filter() { - echo -e "\033[32m用于解决Fake-ip模式下部分地址或应用无法连接的问题\033[0m" - echo -e "\033[31m脚本已经内置了大量地址,你只需要添加出现问题的地址!\033[0m" - echo -e "\033[36m示例:a.b.com" - echo -e "示例:*.b.com" - echo -e "示例:*.*.b.com\033[0m" + echo -e "\033[32m$DNS_FAKEIP_DESC\033[0m" + echo -e "\033[31m$DNS_FAKEIP_TIP\033[0m" + echo -e "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" echo "-----------------------------------------------" - if [ -s ${CRASHDIR}/configs/fake_ip_filter ]; then - echo -e "\033[33m已添加Fake-ip过滤地址:\033[0m" - cat ${CRASHDIR}/configs/fake_ip_filter | awk '{print NR" "$1}' + if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then + echo -e "\033[33m$DNS_FAKEIP_EXIST\033[0m" + awk '{print NR" "$1}' "$CRASHDIR/configs/fake_ip_filter" else - echo -e "\033[33m你还未添加Fake-ip过滤地址\033[0m" + echo -e "\033[33m$DNS_FAKEIP_EMPTY\033[0m" fi echo "-----------------------------------------------" - echo -e "\033[32m输入数字直接移除对应地址,输入地址直接添加!\033[0m" - read -p "请输入数字或地址 > " input + read -p "$DNS_FAKEIP_EDIT > " input case "$input" in - 0) ;; - '') ;; - *) - if [ $input -ge 1 ] 2>/dev/null; then - sed -i "${input}d" ${CRASHDIR}/configs/fake_ip_filter 2>/dev/null - echo -e "\033[32m移除成功!\033[0m" - else - echo -e "你输入的地址是:\033[32m$input\033[0m" - read -p "确认添加?(1/0) > " res - [ "$res" = 1 ] && echo $input >>${CRASHDIR}/configs/fake_ip_filter - fi - sleep 1 - fake_ip_filter - ;; + 0|'') ;; + *) + if [ "$input" -ge 1 ] 2>/dev/null; then + sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter" + echo -e "\033[32m$COMMON_REMOVE_OK\033[0m" + else + echo -e "$COMMON_YOUR_INPUT \033[32m$input\033[0m" + read -p "$COMMON_CONFIRM" res + [ "$res" = 1 ] && echo "$input" >>"$CRASHDIR/configs/fake_ip_filter" + fi + sleep 1 + fake_ip_filter + ;; esac } -set_dns_adv() { #DNS详细设置 + +set_dns_adv() { # DNS详细设置 echo "-----------------------------------------------" - echo -e "当前基础DNS:\033[32m$dns_nameserver\033[0m" - echo -e "PROXY-DNS:\033[36m$dns_fallback\033[0m" - echo -e "解析DNS:\033[33m$dns_resolver\033[0m" - echo -e "多个DNS地址请用\033[30;47m“|”\033[0m或者\033[30;47m“, ”\033[0m分隔输入" - echo -e "\033[33m必须拥有本地根证书文件才能使用dot/doh类型的加密dns\033[0m" - echo -e "\033[31m注意singbox内核只有首个dns会被加载!\033[0m" + echo -e "DIRECT-DNS :\033[32m$dns_nameserver\033[0m" + echo -e "PROXY-DNS :\033[36m$dns_fallback\033[0m" + echo -e "DEFAULT-DNS:\033[33m$dns_resolver\033[0m" + + echo -e "$DNS_ADV_SPLIT" + echo -e "\033[33m$DNS_ADV_CERT\033[0m" + echo -e "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" + echo "-----------------------------------------------" - echo -e " 1 修改\033[32m基础DNS\033[0m" - echo -e " 2 修改\033[36mPROXY-DNS\033[0m(该DNS查询会经过节点)" - echo -e " 3 修改\033[33m解析DNS\033[0m(必须是IP,用于解析其他DNS)" - echo -e " 4 一键配置\033[32m加密DNS\033[0m" - echo -e " 9 \033[33m重置\033[0m默认DNS配置" - echo -e " 0 返回上级菜单" + echo -e " 1 $DNS_ADV_EDIT_DIRECT" + echo -e " 2 $DNS_ADV_EDIT_PROXY" + echo -e " 3 $DNS_ADV_EDIT_DEFAULT" + echo -e " 4 \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" + echo -e " 9 \033[33m$DNS_ADV_RESET\033[0m" + echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + + read -p "$COMMON_INPUT > " num + case "$num" in - 0) ;; - 1) - read -p "请输入新的DNS > " dns_nameserver - dns_nameserver=$(echo $dns_nameserver | sed 's#|#\,\ #g') - if [ -n "$dns_nameserver" ]; then - setconfig dns_nameserver "'$dns_nameserver'" - echo -e "\033[32m设置成功!!!\033[0m" - fi - sleep 1 - set_dns_adv - ;; - 2) - read -p "请输入新的DNS > " dns_fallback - dns_fallback=$(echo $dns_fallback | sed 's/|/\,\ /g') - if [ -n "$dns_fallback" ]; then - setconfig dns_fallback "'$dns_fallback'" - echo -e "\033[32m设置成功!!!\033[0m" - fi - sleep 1 - set_dns_adv - ;; - 3) - read -p "请输入新的DNS > " text - if echo "$text" | grep -qE '://.*::'; then - echo -e "\033[31m此选项暂不支持ipv6加密DNS!!!\033[0m" - elif [ -n "$text" ]; then - dns_resolver=$(echo $text | sed 's/|/\,\ /g') - setconfig dns_resolver "'$dns_resolver'" - echo -e "\033[32m设置成功!!!\033[0m" - fi - sleep 1 - set_dns_adv - ;; - 4) - echo "-----------------------------------------------" - openssldir="$(openssl version -d 2>&1 | awk -F '"' '{print $2}')" - if [ -s "$openssldir/certs/ca-certificates.crt" ] || [ -s "/etc/ssl/certs/ca-certificates.crt" ] || - echo "$crashcore" | grep -qE 'meta|singbox'; then - dns_nameserver='https://dns.alidns.com/dns-query, https://doh.pub/dns-query' - dns_fallback='https://cloudflare-dns.com/dns-query, https://dns.google/dns-query, https://doh.opendns.com/dns-query' - dns_resolver='https://223.5.5.5/dns-query, 2400:3200::1' - setconfig dns_nameserver "'$dns_nameserver'" - setconfig dns_fallback "'$dns_fallback'" - setconfig dns_resolver "'$dns_resolver'" - echo -e "\033[32m已设置加密DNS,如出现DNS解析问题,请尝试重置DNS配置!\033[0m" - else - echo -e "\033[31m找不到根证书文件,无法启用加密DNS,Linux系统请自行搜索安装OpenSSL的方式!\033[0m" - fi - sleep 1 - set_dns_adv - ;; - 9) - setconfig dns_nameserver - setconfig dns_fallback - setconfig dns_resolver - . "$CRASHDIR"/libs/get_config.sh - echo -e "\033[33mDNS配置已重置!!!\033[0m" - sleep 1 - set_dns_adv - ;; - *) - errornum - sleep 1 - ;; + 0) ;; + 1) + read -p "$DNS_INPUT_NEW" dns_nameserver + dns_nameserver=$(echo "$dns_nameserver" | sed 's#|#,\ #g') + [ -n "$dns_nameserver" ] && setconfig dns_nameserver "'$dns_nameserver'" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 + set_dns_adv + ;; + 2) + read -p "$DNS_INPUT_NEW" dns_fallback + dns_fallback=$(echo "$dns_fallback" | sed 's#|#,\ #g') + [ -n "$dns_fallback" ] && setconfig dns_fallback "'$dns_fallback'" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 + set_dns_adv + ;; + 3) + read -p "$DNS_INPUT_NEW" text + if echo "$text" | grep -qE '://.*::'; then + echo -e "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m" + else + dns_resolver=$(echo "$text" | sed 's#|#,\ #g') + setconfig dns_resolver "'$dns_resolver'" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" + fi + sleep 1 + set_dns_adv + ;; + 4) + if echo "$crashcore" | grep -qE 'meta|singbox'; then + dns_nameserver='https://dns.alidns.com/dns-query, https://doh.pub/dns-query' + dns_fallback='https://cloudflare-dns.com/dns-query, https://dns.google/dns-query, https://doh.opendns.com/dns-query' + dns_resolver='https://223.5.5.5/dns-query, 2400:3200::1' + setconfig dns_nameserver "'$dns_nameserver'" + setconfig dns_fallback "'$dns_fallback'" + setconfig dns_resolver "'$dns_resolver'" + echo -e "\033[32m$DNS_ENCRYPT_OK\033[0m" + else + echo -e "\033[31m$DNS_CORE_REQUIRE\033[0m" + fi + sleep 1 + set_dns_adv + ;; + 9) + setconfig dns_nameserver + setconfig dns_fallback + setconfig dns_resolver + . "$CRASHDIR/libs/get_config.sh" + echo -e "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 + set_dns_adv + ;; + *) + errornum + sleep 1 + ;; esac } From 9360363478633305a35929a9de5362998b874b12 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 21:32:06 +0800 Subject: [PATCH 076/318] ~Add i18n switch menu --- scripts/menus/2_settings.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index e2b0b6cb..c612972b 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -27,7 +27,8 @@ settings() { } echo -e " 8 $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" echo "-----------------------------------------------" - echo -e " 9 \033[31m$SET_MENU_RESET\033[0m" + echo -e " a \033[31m$SET_MENU_RESET\033[0m" + echo -e " b \033[36m$SET_MENU_LANG\033[0m" echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" read -p "$COMMON_INPUT > " num @@ -94,7 +95,7 @@ settings() { 8) set_ipv6 ;; - 9) + a) echo "-----------------------------------------------" echo -e " 1 $SET_BACKUP" echo -e " 2 $SET_RESTORE" @@ -123,6 +124,26 @@ settings() { echo -e "\033[33m$SET_NEED_RESTART\033[0m" exit 0 ;; + b) + echo "-----------------------------------------------" + echo -e " 1 简体中文" + echo -e " 2 English" + echo -e " 0 $COMMON_BACK" + echo "-----------------------------------------------" + read -p "$COMMON_INPUT > " num + case "$num" in + 1) + echo chs > "$CRASHDIR"/configs/i18n.cfg + echo -e "\033[32m切换成功!请重新运行脚本!\033[0m" + exit + ;; + 2) + echo en > "$CRASHDIR"/configs/i18n.cfg + echo -e "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" + exit + ;; + esac + ;; *) errornum ;; esac sleep 1 From fa813126097450658fb44615f238307ef4cf4da0 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 21:34:10 +0800 Subject: [PATCH 077/318] ~Add i18n switch menu --- scripts/lang/chs/2_settings.lang | 1 + scripts/lang/en/2_settings.lang | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index 2e0db70c..524add95 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -10,6 +10,7 @@ SET_MENU_SNIFFER="启用域名嗅探:" SET_MENU_ADV_PORT="自定义端口及密钥" SET_MENU_IPV6="IPv6设置: " SET_MENU_RESET="重置/备份/还原脚本设置" +SET_MENU_LANG="多语言切换" # ================================================= # Main menu messages diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index 0b1a7ff0..2bd5798b 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -10,6 +10,7 @@ SET_MENU_SNIFFER="Enable Sniff:" SET_MENU_ADV_PORT="Custom Ports and Secrets" SET_MENU_IPV6="IPv6 Settings:" SET_MENU_RESET="Reset / Backup / Restore Script Settings" +SET_MENU_LANG="Language" # ================================================= # Main menu messages From c4a7d7a0052cd44bfc261fded83860d4ec769a65 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 21:39:19 +0800 Subject: [PATCH 078/318] Revert "docs(install): optimize prompts" This reverts commit d708f0e1130b443a00a1fe23a723b265f7c47aeb. # Conflicts: # install.sh --- install.sh | 717 +++++++++++++---------------------------------------- 1 file changed, 177 insertions(+), 540 deletions(-) diff --git a/install.sh b/install.sh index 5af7a981..ebcaff6c 100644 --- a/install.sh +++ b/install.sh @@ -1,93 +1,16 @@ #!/usr/bin/env bash # Copyright (C) Juewuy -# ================================= table format tools ================================= -# >>>>>>>>>>>>>> - -# set the total width of the menu -# (adjusting this number will automatically change the entire menu, including the separator lines) -# note: The number represents the number of columns that appear when the "||" appears on the right -TABLE_WIDTH=60 - -# define two extra-long template strings in advance -# (the length should be greater than the expected TABLE_WIDTH) -FULL_EQ="====================================================================================================" -FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " - -# function to print content lines -# (using cursor jump) -content_line() { - echo -e " ${1}\033[${TABLE_WIDTH}G||" -} - -# function to print sub content lines -# for printing accompanying instructions -sub_content_line() { - echo -e " ${1}\033[${TABLE_WIDTH}G||" - content_line -} - -# increase the spacing between the front -# and back forms to improve readability -double_line_break() { - printf "\n\n" -} - -# function to print separators -# (using string slicing) -# parameter $1: pass in "=" or "-" -separator_line() { - local separator_type="$1" - local output_line="" - local len=$((TABLE_WIDTH - 1)) - - if [ "$separator_type" == "=" ]; then - output_line="${FULL_EQ:0:$len}" - else - output_line="${FULL_DASH:0:$len}" - fi - - echo "${output_line}||" -} -# <<<<<<<<<<<<<< -# ================================= table format tools ================================= - -# =============================== display prompt message =============================== -# >>>>>>>>>>>>>> - -abort_install() { - double_line_break - separator_line "=" - content_line "安装已取消" - separator_line "=" - double_line_break - - exit 1 -} - -invalid_input_retry() { - double_line_break - separator_line "=" - content_line "\033[31m输入错误!\033[0m" - content_line "\033[31m请重新设置!\033[0m" - separator_line "=" - - sleep 1 -} - -# <<<<<<<<<<<<<< -# =============================== display prompt message =============================== - [ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev" type bash &>/dev/null && shtype=bash || shtype=sh +[ -n "$(echo -e | grep e)" ] && echo=echo || echo='echo -e' +echo "***********************************************" +echo "** 欢迎使用 **" +echo "** ShellCrash **" +echo "** by Juewuy **" +echo "***********************************************" -error_down() { - content_line "\033[33m请参考:\033[0m" - content_line "\033[33mgithub.com/juewuy/ShellCrash/blob/master/README_CN.md\033[0m" - content_line "\033[33m或使用其他安装源重新安装!\033[0m" -} - -# check available capacity +# Check available capacity dir_avail() { df -h >/dev/null 2>&1 && h="$2" df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' @@ -108,18 +31,8 @@ webget() { if curl --version >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-s' || progress='-#' [ -z "$4" ] && redirect='-L' || redirect='' - result=$(curl -w %{http_code} --connect-timeout 5 "$progress" "$redirect" -ko "$1" "$2") - - # === original version === - # [ -n "$(echo $result | grep -e ^2)" ] && result="200" - - # === fixed version === - # strictly match the 200 status code to avoid 204 (empty content) - # or 202 being mistakenly interpreted as success - if [ "$result" = "200" ]; then - result="200" - fi - + result=$(curl -w %{http_code} --connect-timeout 5 $progress $redirect -ko $1 $2) + [ -n "$(echo $result | grep -e ^2)" ] && result="200" else if wget --version >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' @@ -129,26 +42,33 @@ webget() { fi [ "$3" = "echoon" ] && progress='' [ "$3" = "echooff" ] && progress='-q' - wget "$progress" "$redirect" "$certificate" "$timeout" -O "$1" "$2" + wget $progress $redirect $certificate $timeout -O $1 $2 [ $? -eq 0 ] && result="200" fi } +error_down() { + $echo "请参考 \033[32mhttps://github.com/juewuy/ShellCrash/blob/master/README_CN.md" + $echo "\033[33m使用其他安装源重新安装!\033[0m" +} + # 安装及初始化 set_alias() { while true; do - double_line_break - separator_line "=" - content_line "\033[36m请选择一个别名\033[0m" - content_line "\033[36m或直接输入自定义别名\033[0m" - separator_line "-" - content_line "1) 【\033[32mcrash\033[0m】" - content_line "2) 【\033[32m sc \033[0m】" - content_line "3) 【\033[32m mm \033[0m】" - content_line "E) 退出安装" - separator_line "=" - read -p "请输入相应数字/自定义别名> " res + echo "-----------------------------------------------" + $echo "\033[36m请选择一个别名,或使用自定义别名:\033[0m" + echo "-----------------------------------------------" + $echo " 1 【\033[32mcrash\033[0m】" + $echo " 2 【\033[32m sc \033[0m】" + $echo " 3 【\033[32m mm \033[0m】" + $echo " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字或自定义别名 > " res case "$res" in + 0) + echo "安装已取消" + exit 1 + ;; 1) my_alias=crash ;; @@ -158,62 +78,41 @@ set_alias() { 3) my_alias=mm ;; - "E" | "e") - abort_install - ;; *) my_alias=$res ;; esac cmd=$(ckcmd "$my_alias" | grep 'menu.sh') ckcmd "$my_alias" && [ -z "$cmd" ] && { - double_line_break - separator_line "=" - content_line "该别名【\033[32m$my_alias\033[0m】和当前系统内置命令/别名\033[33m冲突\033[0m,请更换" - separator_line "=" - + $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" sleep 1 continue } - break 1 + break done } gettar() { - webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" >/dev/null 2>&1 + webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" if [ "$result" != "200" ]; then - content_line "\033[31m下载失败!\033[0m" + $echo "\033[33m文件下载失败!\033[0m" error_down - separator_line "=" - double_line_break exit 1 else - content_line "下载成功" - "$CRASHDIR"/start.sh stop 2>/dev/null + $CRASHDIR/start.sh stop 2>/dev/null # 解压 - content_line "开始解压文件......" - mkdir -p "$CRASHDIR" >/dev/null - tar -zxf '/tmp/ShellCrash.tar.gz' -C "$CRASHDIR"/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C "$CRASHDIR"/ - if [ -s "$CRASHDIR"/init.sh ]; then - content_line "解压成功" - separator_line "=" + echo "-----------------------------------------------" + echo "开始解压文件!" + mkdir -p $CRASHDIR >/dev/null + tar -zxf '/tmp/ShellCrash.tar.gz' -C $CRASHDIR/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C $CRASHDIR/ + if [ -s $CRASHDIR/init.sh ]; then set_alias . $CRASHDIR/init.sh >/dev/null - if [ $? != 0 ]; then - content_line "\033[31m初始化失败,请尝试本地安装!\033[0m" - separator_line "=" - double_line_break - - exit 1 - fi - + [ "$?" != 0 ] && $echo "\033[33m初始化失败,请尝试本地安装!\033[0m" && exit 1 else rm -rf /tmp/ShellCrash.tar.gz - content_line "\033[31m解压失败!\033[0m" + $echo "\033[33m文件解压失败!\033[0m" error_down - separator_line "=" - double_line_break - exit 1 fi fi @@ -221,162 +120,62 @@ gettar() { set_usb_dir() { while true; do - double_line_break - separator_line "=" - content_line "请选择安装目录:" - separator_line "-" - - # original version - # du -hL /mnt | awk '{print " "NR" "$2" "$1}' - du -hL /mnt | - awk '{print NR") "$2" (已用空间:"$1")"}' | - while IFS= read -r line; do - content_line "$line" - done - - content_line "0) 返回上级菜单" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 0) - return 1 - ;; - *) - dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) - if [ -z "$dir" ]; then - invalid_input_retry - continue - fi - return 0 - ;; - esac + $echo "请选择安装目录" + du -hL /mnt | awk '{print " "NR" "$2" "$1}' + read -p "请输入相应数字 > " num + dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) + if [ -z "$dir" ]; then + $echo "\033[31m输入错误!请重新设置!\033[0m" + continue + fi + break 1 done } set_asus_dir() { while true; do - double_line_break - separator_line "=" - content_line "请选择U盘目录:" - separator_line "-" - - # original version - # du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' - du -hL /tmp/mnt | - awk -F/ 'NF<=4 {print NR") "$2" (已用空间:"$1")"}' | - while IFS= read -r line; do - content_line "$line" - done - - content_line "0) 返回上级菜单" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 0) - return 1 - ;; - *) - dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) - if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - double_line_break - separator_line "=" - content_line "\033[33m未找到下载大师自启文件:\033[0m" - content_line "\033[33m$dir/asusware.arm/etc/init.d/S50downloadmaster\033[0m" - content_line "\033[33m请检查设置!\033[0m" - separator_line "=" - - continue - fi - return 0 - ;; - esac + echo -e "请选择U盘目录" + du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' + read -p "请输入相应数字 > " num + dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) + if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then + echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" + continue + fi + break 1 done } set_cust_dir() { while true; do - double_line_break - separator_line "=" - content_line "\033[33m注意:\033[0m" - content_line "\033[33m路径必须是带 / 的格式\033[0m" - content_line "\033[33m写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!\033[0m" - separator_line "-" - content_line "参考路经:" - separator_line "-" - - # original version - # df -h | awk '{print $6,$4}' | sed 1d - df -h | - awk 'NR>1 { - path=""; - for(i=6;i<=NF;i++) path=path $i " "; - sub(/ $/, "", path); - print path "|" $4 - }' | - while IFS='|' read -r mount_point path_avail; do - if [ -n "$mount_point" ]; then - i=$((i + 1)) - printf -v line_content "%-3s %s" "$i)" "$mount_point" - content_line "$line_content" - sub_content_line " (可用空间:$path_avail)" - fi - done - - content_line "0) 返回上级菜单" - separator_line "=" - read -p "请输入自定义路径> " dir - case "$dir" in - 0) - return 1 - ;; - *) - if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -E 'tmp|opt|sys')" ]; then - invalid_input_retry - continue - fi - return 0 - ;; - esac + echo "-----------------------------------------------" + echo '可用路径 剩余空间:' + df -h | awk '{print $6,$4}' | sed 1d + echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!' + read -p "请输入自定义路径 > " dir + if [ "$(dir_avail $dir)" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then + $echo "\033[31m路径错误!请重新设置!\033[0m" + continue + fi + break 1 done } setdir() { while true; do - double_line_break - separator_line "=" - content_line "\033[33m注意:\033[0m" - content_line "\033[33m安装ShellCrash至少需要预留约 1MB 的磁盘空间\033[0m" + echo "-----------------------------------------------" + $echo "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" if [ -n "$systype" ]; then [ "$systype" = "Padavan" ] && dir=/etc/storage - [ "$systype" = "mi_snapshot" ] && { - content_line "\033[33m检测到当前设备为小米官方系统\033[0m" - - separator_line "-" - content_line "请选择安装位置:" - separator_line "-" - - if [ -d /data ]; then - content_line "1) 安装到 /data 目录" - sub_content_line "剩余空间:$(dir_avail /data -h)(支持软固化功能)" - fi - - if [ -d /userdisk ]; then - content_line "2) 安装到 /userdisk 目录" - sub_content_line "剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" - fi - - if [ -d /data/other_vol ]; then - content_line "3) 安装到 /data/other_vol 目录" - sub_content_line "剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" - fi - - content_line "4) 安装到自定义目录" - sub_content_line "(不推荐,不明勿用!)" - - content_line "E) 退出安装" - separator_line "=" - read -p "请输入相应数字> " num + $echo "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" + [ -d /data ] && $echo " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" + [ -d /userdisk ] && $echo " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" + [ -d /data/other_vol ] && $echo " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" + $echo " 4 安装到自定义目录(不推荐,不明勿用!)" + $echo " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num case "$num" in 1) dir=/data @@ -389,104 +188,51 @@ setdir() { ;; 4) set_cust_dir - ret=$? - [ "$ret" -eq 1 ] && continue - ;; - "E" | "e") - abort_install ;; *) - invalid_input_retry - continue + exit 1 ;; esac } - [ "$systype" = "asusrouter" ] && { - - content_line "\033[33m检测到当前设备为华硕固件\033[0m" - separator_line "-" - content_line "请选择安装方式:" - separator_line "-" - - content_line "1) 基于USB设备安装" - sub_content_line "(限23年9月之前固件,须插入任意USB设备)" - - content_line "2) 基于自启脚本安装" - sub_content_line "(仅支持梅林及部分非koolshare官改固件)" - - content_line "3) 基于U盘 + 下载大师安装" - sub_content_line "(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" - - content_line "E) 退出安装" - separator_line "=" - - read -p "请输入相应数字> " num + $echo "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" + $echo " 1 基于USB设备安装(限23年9月之前固件,须插入\033[31m任意\033[0mUSB设备)" + $echo " 2 基于自启脚本安装(仅支持梅林及部分非koolshare官改固件)" + $echo " 3 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" + $echo " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num case "$num" in 1) - double_line_break - separator_line "=" - content_line "请选择脚本安装位置:" - separator_line "-" - content_line "1) USB存储" - content_line "2) 系统闪存" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 1) - set_usb_dir - ;; - *) - dir=/jffs - ;; - esac - + read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res + [ "$res" = "1" ] && set_usb_dir || dir=/jffs usb_status=1 ;; 2) - double_line_break - separator_line "=" - content_line "如无法正常开机启动,请重新使用USB方式安装!" - separator_line "=" + $echo "如无法正常开机启动,请重新使用USB方式安装!" sleep 2 - dir=/jffs ;; 3) - double_line_break - separator_line "=" - content_line "请先在路由器网页后台安装下载大师并启用," - content_line "之后选择外置存储所在目录!" - separator_line "=" + echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" sleep 2 - set_asus_dir - ret=$? - [ "$ret" -eq 1 ] && continue - ;; - "E" | "e") - abort_install ;; *) - invalid_input_retry - continue + exit 1 ;; esac } - [ "$systype" = "ng_snapshot" ] && dir=/tmp/mnt else - separator_line "-" - content_line "请选择安装目录:" - separator_line "-" - content_line "1) \033[32m/etc目录\033[0m (适合root用户)" - content_line "2) \033[32m/usr/share目录\033[0m (适合Linux系统)" - content_line "3) \033[32m当前用户目录\033[0m (适合非root用户)" - content_line "4) \033[32m外置存储\033[0m" - content_line "5) 手动设置" - content_line "E) 退出安装" - separator_line "=" - read -p "请输入相应数字> " num + $echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" + $echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" + $echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" + $echo " 4 在\033[32m外置存储\033[0m中安装" + $echo " 5 手动设置安装目录" + $echo " 0 退出安装" + echo "----------------------------------------------" + read -p "请输入相应数字 > " num # 设置目录 case "$num" in 1) @@ -501,173 +247,87 @@ setdir() { ;; 4) set_usb_dir - ret=$? - [ "$ret" -eq 1 ] && continue ;; 5) set_cust_dir - ret=$? - [ "$ret" -eq 1 ] && continue - ;; - "E" | "e") - abort_install ;; *) - invalid_input_retry - continue + echo "安装已取消" + exit 1 ;; esac fi - if [ ! -w "$dir" ]; then - double_line_break - separator_line "=" - content_line "\033[31m没有$dir目录写入权限!\033[0m" - content_line "\033[31m请重新设置!\033[0m" - separator_line "=" - sleep 2 + if [ ! -w $dir ]; then + $echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" + sleep 1 else - while true; do - double_line_break - separator_line "=" - content_line "目标目录:\033[32m$dir\033[0m" - content_line "可用空间:$(dir_avail $dir -h)" - separator_line "-" - content_line "1) 确认安装" - content_line "E) 退出安装" - content_line "0) 返回上级菜单" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 0) - break 1 - ;; - 1) - CRASHDIR="${dir}/ShellCrash" - break 2 - ;; - "E" | "e") - abort_install - ;; - *) - invalid_input_retry - continue - ;; - esac - done + $echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)" + read -p "确认安装?(1/0) > " res + if [ "$res" = "1" ]; then + CRASHDIR=$dir/ShellCrash + break + fi fi done } install() { - double_line_break - separator_line "=" - content_line "下载安装文件......" + echo "-----------------------------------------------" + echo "开始从服务器获取安装文件!" + echo "-----------------------------------------------" gettar - double_line_break - separator_line "=" - content_line "ShellCrash 已经安装成功!" - [ "$profile" = "~/.bashrc" ] && content_line "请执行【. ~/.bashrc > /dev/null】命令以更新环境变量!" - [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && content_line "请执行【. ~/.zshrc > /dev/null】命令以更新环境变量!" - content_line "输入\033[32m $my_alias \033[0m命令即可管理!" - separator_line "=" - double_line_break + echo "-----------------------------------------------" + echo "ShellCrash 已经安装成功!" + [ "$profile" = "~/.bashrc" ] && echo "请执行【. ~/.bashrc > /dev/null】命令以更新环境变量!" + [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && echo "请执行【. ~/.zshrc > /dev/null】命令以更新环境变量!" + echo "-----------------------------------------------" + $echo "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" + echo "-----------------------------------------------" } setversion() { - while true; do - double_line_break - separator_line "=" - content_line "请选择安装版本:" - separator_line "-" - content_line "1) \033[32m公测版(推荐)\033[0m" - content_line "2) \033[36m稳定版\033[0m" - content_line "3) \033[31m开发版\033[0m" - content_line "E) 退出安装" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 1) - break 1 - ;; - 2) - url=$(echo "$url" | sed 's/master/stable/') - break 1 - ;; - 3) - url=$(echo "$url" | sed 's/master/dev/') - break 1 - ;; - "E" | "e") - abort_install - ;; - *) - invalid_input_retry - continue - ;; - esac - done + echo "-----------------------------------------------" + $echo "\033[33m请选择想要安装的版本:\033[0m" + $echo " 1 \033[32m公测版(推荐)\033[0m" + $echo " 2 \033[36m稳定版\033[0m" + $echo " 3 \033[31m开发版\033[0m" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 2) + url=$(echo $url | sed 's/master/stable/') + ;; + 3) + url=$(echo $url | sed 's/master/dev/') + ;; + *) ;; + esac } -# =============================== the script start here ================================ - -# clean screen -printf "\033[H\033[2J" - -double_line_break -separator_line "=" -content_line " 欢迎使用" -content_line " ShellCrash" -content_line -content_line " 支持各种基于 openwrt 的路由器设备" -content_line " 支持Debian、Centos等标准 Linux 系统" -content_line " 如遇问题请加TG群反馈:t.me/ShellClash" -content_line -content_line " by Juewuy" -separator_line "=" - # 特殊固件识别及标记 [ -f "/etc/storage/started_script.sh" ] && { - systype=Padavan # 老毛子固件 + systype=Padavan #老毛子固件 initdir='/etc/storage/started_script.sh' } [ -d "/jffs" ] && { - systype=asusrouter # 华硕固件 + systype=asusrouter #华硕固件 [ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter' [ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start' } -[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot # 小米设备 -[ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot # NETGEAR设备 +[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备 +[ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot #NETGEAR设备 # 检查root权限 -if [ "$USER" != "root" ] && [ -z "$systype" ]; then - while true; do - double_line_break - separator_line "=" - content_line "当前用户 $USER 非 root 用户" - content_line "\033[33m请尽量使用 root 用户(不要直接使用sudo命令)执行安装!\033[0m" - content_line "\033[31m继续安装,可能会产生未知错误!\033[0m" - separator_line "-" - content_line "1) 继续安装" - content_line "E) 退出安装" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 1) - break 1 - ;; - "E" | "e") - abort_install - ;; - *) - invalid_input_retry - continue - ;; - esac - done +if [ "$USER" != "root" -a -z "$systype" ]; then + echo "当前用户:$USER" + $echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m" + echo "-----------------------------------------------" + read -p "仍要安装?可能会产生未知错误!(1/0) > " res + [ "$res" != "1" ] && exit 1 fi -if echo "$url" | grep -q 'master'; then +if [ -n "$(echo $url | grep master)" ]; then setversion fi @@ -677,61 +337,38 @@ webget /tmp/version "$url/version" echooff rm -rf /tmp/version # 输出 -double_line_break -separator_line "=" -content_line "最新版本:\033[32m$versionsh\033[0m" -separator_line "=" +$echo "最新版本:\033[32m$versionsh\033[0m" +echo "-----------------------------------------------" +$echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/ShellClash \033[0m" +$echo "\033[37m支持各种基于openwrt的路由器设备" +$echo "\033[33m支持Debian、Centos等标准Linux系统\033[0m" if [ -n "$CRASHDIR" ]; then - while true; do - double_line_break - separator_line "=" - content_line "检测到旧版本安装目录:\033[36m$CRASHDIR\033[0m" - content_line "\033[33m注意:覆盖安装时不会移除配置文件!\033[0m" - separator_line "-" - content_line "1) 覆盖安装" - content_line "2) 卸载旧版本" - content_line "E) 退出安装" - separator_line "=" - read -p "请输入相应数字> " num - case "$num" in - 1) - install - break 1 - ;; - 2) - rm -rf "$CRASHDIR" - - double_line_break - separator_line "=" - content_line "\033[31m旧版本文件已卸载!\033[0m" - separator_line "=" - - setdir - install - - break 1 - ;; - 9) - double_line_break - separator_line "=" - content_line "测试模式,变更安装位置" - separator_line "=" - - setdir - install - - break 1 - ;; - "E" | "e") - abort_install - ;; - *) - invalid_input_retry - continue - ;; - esac - done + echo "-----------------------------------------------" + $echo "检测到旧的安装目录\033[36m$CRASHDIR\033[0m,是否覆盖安装?" + $echo "\033[32m覆盖安装时不会移除配置文件!\033[0m" + read -p "覆盖安装/卸载旧版本?(1/0) > " res + case "$res" in + 1) + install + ;; + 0) + rm -rf $CRASHDIR + echo "-----------------------------------------------" + $echo "\033[31m 旧版本文件已卸载!\033[0m" + setdir + install + ;; + 9) + echo "测试模式,变更安装位置" + setdir + install + ;; + *) + $echo "\033[31m输入错误!已取消安装!\033[0m" + exit 1 + ;; + esac else setdir install From 013305e455c3ec5e6db5869015c886f8c3a92643 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 22:05:55 +0800 Subject: [PATCH 079/318] refactor(setproxies): replace recursion with while loop --- scripts/menus/6_core_config.sh | 218 +++++++++++++++++---------------- 1 file changed, 113 insertions(+), 105 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 1ac60389..e8f2a742 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -261,112 +261,120 @@ EOF done } -setproxies(){ #自定义clash节点 - set_proxy_type(){ - echo "-----------------------------------------------" - echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m" - echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" - echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m" - read -p "请输入节点 > " proxy_state_set - if [ -n "$(echo $proxy_state_set | grep "#" )" ];then - echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m" - elif [ -n "$(echo $proxy_state_set | grep -E "^name:" )" ];then - set_group_add - else - errornum - fi - } - set_group_add(){ - echo "-----------------------------------------------" - echo -e "\033[36m请选择想要将节点添加到的策略组\033[0m" - echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" - echo -e "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" - echo "-----------------------------------------------" - echo $proxy_group | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字(多个用空格隔开) > " char - case "$char" in - 0) ;; - *) - for num in $char;do - rule_group_set=$(echo $proxy_group|cut -d'#' -f$num) - rule_group_add="${rule_group_add}#${rule_group_set}" - done - if [ -n "$rule_group_add" ];then - echo "- {$proxy_state_set}$rule_group_add" >> "$YAMLSDIR"/proxies.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" - unset rule_group_add - else - errornum - fi - ;; - esac - } - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义节点\033[0m" - echo -e "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加自定义节点" - echo -e " 2 管理自定义节点" - echo -e " 3 清空自定义节点" - echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) - proxy_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN MATCH" - proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" - set_proxy_type - setproxies - ;; - 2) - echo "-----------------------------------------------" - sed -i '/^ *$/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null - if [ -s "$YAMLSDIR"/proxies.yaml ];then - echo -e "当前已添加的自定义节点为:" - cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g' - echo "-----------------------------------------------" - echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m" - read -p "请输入对应数字 > " num - if [ $num -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ];then - sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml - else - errornum - fi - else - echo -e "请先添加自定义节点!" - sleep 1 - fi - setproxies - ;; - 3) - read -p "确认清空全部自定义节点?(1/0) > " res - [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null - setproxies - ;; - 4) - echo "-----------------------------------------------" - if [ "$proxies_bypass" = "OFF" ];then - echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" - echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -p "启用节点绕过?(1/0) > " res - [ "$res" = "1" ] && proxies_bypass=ON - else - proxies_bypass=OFF - fi - setconfig proxies_bypass $proxies_bypass - sleep 1 - setrules - ;; - *) - errornum - ;; - esac +# 自定义clash节点 +setproxies() { + set_proxy_type() { + echo "-----------------------------------------------" + echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m" + echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" + echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m" + read -pr "请输入节点 > " proxy_state_set + if echo "$proxy_state_set" | grep -q "#"; then + echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m" + elif echo "$proxy_state_set" | grep -Eq "^name:"; then + set_group_add + else + errornum + sleep 1 + fi + } + + set_group_add() { + echo "-----------------------------------------------" + echo -e "\033[36m请选择想要将节点添加到的策略组\033[0m" + echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" + echo -e "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" + echo "-----------------------------------------------" + echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -pr "请输入对应数字(多个用空格隔开) > " char + case "$char" in + "" | 0) ;; + *) + for num in $char; do + rule_group_set=$(echo "$proxy_group" | cut -d'#' -f"$num") + rule_group_add="${rule_group_add}#${rule_group_set}" + done + if [ -n "$rule_group_add" ]; then + echo "- {$proxy_state_set}$rule_group_add" >>"$YAMLSDIR"/proxies.yaml + echo "-----------------------------------------------" + echo -e "\033[32m添加成功!\033[0m" + unset rule_group_add + else + errornum + sleep 1 + fi + ;; + esac + } + + while true; do + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理自定义节点\033[0m" + echo -e "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" + echo "-----------------------------------------------" + echo -e " 1 添加自定义节点" + echo -e " 2 管理自定义节点" + echo -e " 3 清空自定义节点" + echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" + echo -e " 0 返回上级菜单" + read -pr "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + proxy_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN MATCH" + proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" + set_proxy_type + ;; + 2) + echo "-----------------------------------------------" + sed -i '/^ *$/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null + if [ -s "$YAMLSDIR"/proxies.yaml ]; then + echo -e "当前已添加的自定义节点为:" + cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g' + echo "-----------------------------------------------" + echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m" + read -pr "请输入对应数字 > " num + if [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then + sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml + else + errornum + fi + else + echo -e "请先添加自定义节点!" + sleep 1 + fi + ;; + 3) + read -pr "确认清空全部自定义节点?(1/0) > " res + [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null + ;; + 4) + echo "-----------------------------------------------" + if [ "$proxies_bypass" = "OFF" ]; then + echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" + echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" + read -pr "启用节点绕过?(1/0) > " res + [ "$res" = "1" ] && proxies_bypass=ON + else + proxies_bypass=OFF + fi + setconfig proxies_bypass "$proxies_bypass" + sleep 1 + setrules + break + ;; + *) + errornum + sleep 1 + ;; + esac + done } + gen_clash_providers(){ #生成clash的providers配置文件 gen_clash_providers_txt(){ if [ -n "$(echo $2|grep -E '^./')" ];then From 6a0a31d76e94f0089ea03e66420d29b8aeca4d0d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 17 Jan 2026 22:57:56 +0800 Subject: [PATCH 080/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96install.sh=20set=5Fc?= =?UTF-8?q?rashdir.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 438 +++++++++++++++++----------------- scripts/init.sh | 2 +- scripts/menus/set_crashdir.sh | 277 ++++++++++----------- 3 files changed, 361 insertions(+), 356 deletions(-) diff --git a/install.sh b/install.sh index ebcaff6c..26e55653 100644 --- a/install.sh +++ b/install.sh @@ -1,22 +1,22 @@ -#!/usr/bin/env bash +#!/bin/sh # Copyright (C) Juewuy -[ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev" -type bash &>/dev/null && shtype=bash || shtype=sh -[ -n "$(echo -e | grep e)" ] && echo=echo || echo='echo -e' echo "***********************************************" echo "** 欢迎使用 **" echo "** ShellCrash **" echo "** by Juewuy **" echo "***********************************************" -# Check available capacity +[ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master" + +# 内置工具 +cecho() { + printf '%b\n' "$*" +} dir_avail() { df -h >/dev/null 2>&1 && h="$2" - df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' + df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' } - -# 检查命令 ckcmd() { if command -v sh >/dev/null 2>&1; then command -v "$1" >/dev/null 2>&1 @@ -24,14 +24,13 @@ ckcmd() { type "$1" >/dev/null 2>&1 fi } - webget() { #参数【$1】代表下载目录,【$2】代表在线地址 #参数【$3】代表输出显示,【$4】不启用重定向 if curl --version >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-s' || progress='-#' [ -z "$4" ] && redirect='-L' || redirect='' - result=$(curl -w %{http_code} --connect-timeout 5 $progress $redirect -ko $1 $2) + result=$(curl -w %{http_code} --connect-timeout 5 "$progress" "$redirect" -ko "$1" "$2") [ -n "$(echo $result | grep -e ^2)" ] && result="200" else if wget --version >/dev/null 2>&1; then @@ -42,26 +41,25 @@ webget() { fi [ "$3" = "echoon" ] && progress='' [ "$3" = "echooff" ] && progress='-q' - wget $progress $redirect $certificate $timeout -O $1 $2 + wget "$progress" "$redirect" "$certificate" "$timeout" -O "$1" "$2" [ $? -eq 0 ] && result="200" fi } - error_down() { - $echo "请参考 \033[32mhttps://github.com/juewuy/ShellCrash/blob/master/README_CN.md" - $echo "\033[33m使用其他安装源重新安装!\033[0m" + cecho "请参考 \033[32mhttps://github.com/juewuy/ShellCrash/blob/master/README_CN.md" + cecho "\033[33m使用其他安装源重新安装!\033[0m" } # 安装及初始化 set_alias() { while true; do echo "-----------------------------------------------" - $echo "\033[36m请选择一个别名,或使用自定义别名:\033[0m" + cecho "\033[36m请选择一个别名,或使用自定义别名:\033[0m" echo "-----------------------------------------------" - $echo " 1 【\033[32mcrash\033[0m】" - $echo " 2 【\033[32m sc \033[0m】" - $echo " 3 【\033[32m mm \033[0m】" - $echo " 0 退出安装" + cecho " 1 【\033[32mcrash\033[0m】" + cecho " 2 【\033[32m sc \033[0m】" + cecho " 3 【\033[32m mm \033[0m】" + cecho " 0 退出安装" echo "-----------------------------------------------" read -p "请输入相应数字或自定义别名 > " res case "$res" in @@ -84,68 +82,115 @@ set_alias() { esac cmd=$(ckcmd "$my_alias" | grep 'menu.sh') ckcmd "$my_alias" && [ -z "$cmd" ] && { - $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" + cecho "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" sleep 1 continue } break done } - gettar() { - webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" + webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" >/dev/null 2>&1 if [ "$result" != "200" ]; then - $echo "\033[33m文件下载失败!\033[0m" + cecho "\033[33m文件下载失败!\033[0m" error_down exit 1 else - $CRASHDIR/start.sh stop 2>/dev/null + "$CRASHDIR"/start.sh stop 2>/dev/null # 解压 echo "-----------------------------------------------" echo "开始解压文件!" - mkdir -p $CRASHDIR >/dev/null - tar -zxf '/tmp/ShellCrash.tar.gz' -C $CRASHDIR/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C $CRASHDIR/ - if [ -s $CRASHDIR/init.sh ]; then + mkdir -p "$CRASHDIR" >/dev/null + tar -zxf '/tmp/ShellCrash.tar.gz' -C "$CRASHDIR"/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C "$CRASHDIR"/ + if [ -s "$CRASHDIR"/init.sh ]; then set_alias - . $CRASHDIR/init.sh >/dev/null - [ "$?" != 0 ] && $echo "\033[33m初始化失败,请尝试本地安装!\033[0m" && exit 1 + . "$CRASHDIR"/init.sh >/dev/null + [ "$?" != 0 ] && cecho "\033[33m初始化失败,请尝试本地安装!\033[0m" && exit 1 else rm -rf /tmp/ShellCrash.tar.gz - $echo "\033[33m文件解压失败!\033[0m" + cecho "\033[33m文件解压失败!\033[0m" error_down exit 1 fi fi } - set_usb_dir() { while true; do - $echo "请选择安装目录" + cecho "请选择安装目录" du -hL /mnt | awk '{print " "NR" "$2" "$1}' read -p "请输入相应数字 > " num dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ -z "$dir" ]; then - $echo "\033[31m输入错误!请重新设置!\033[0m" + cecho "\033[31m输入错误!请重新设置!\033[0m" continue fi break 1 done } - +set_xiaomi_dir() { + cecho "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" + [ -d /data ] && cecho " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" + [ -d /userdisk ] && cecho " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" + [ -d /data/other_vol ] && cecho " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" + cecho " 4 安装到自定义目录(不推荐,不明勿用!)" + cecho " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 1) + dir=/data + ;; + 2) + dir=/userdisk + ;; + 3) + dir=/data/other_vol + ;; + 4) + set_cust_dir + ;; + *) + exit 1 + ;; + esac +} +set_asus_usb() { + while true; do + echo -e "请选择U盘目录" + du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' + read -p "请输入相应数字 > " num + dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) + if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then + echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" + sleep 1 + else + break + fi + done +} set_asus_dir() { - while true; do - echo -e "请选择U盘目录" - du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num - dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) - if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" - continue - fi - break 1 - done + cecho "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" + cecho " 1 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" + cecho " 2 基于自启脚本安装(仅支持部分梅林固件)" + cecho " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 1) + echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + sleep 2 + set_asus_usb + ;; + 2) + cecho "如开机无法正常自启,请重新使用U盘+下载大师安装!" + sleep 2 + dir=/jffs + ;; + *) + exit 1 + ;; + esac } - set_cust_dir() { while true; do echo "-----------------------------------------------" @@ -153,8 +198,8 @@ set_cust_dir() { df -h | awk '{print $6,$4}' | sed 1d echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!' read -p "请输入自定义路径 > " dir - if [ "$(dir_avail $dir)" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then - $echo "\033[31m路径错误!请重新设置!\033[0m" + if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -Eq '^/(tmp|opt|sys)(/|$)')" ]; then + cecho "\033[31m路径错误!请重新设置!\033[0m" continue fi break 1 @@ -164,114 +209,60 @@ set_cust_dir() { setdir() { while true; do echo "-----------------------------------------------" - $echo "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" - if [ -n "$systype" ]; then - [ "$systype" = "Padavan" ] && dir=/etc/storage - [ "$systype" = "mi_snapshot" ] && { - $echo "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" - [ -d /data ] && $echo " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" - [ -d /userdisk ] && $echo " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" - [ -d /data/other_vol ] && $echo " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" - $echo " 4 安装到自定义目录(不推荐,不明勿用!)" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - dir=/data - ;; - 2) - dir=/userdisk - ;; - 3) - dir=/data/other_vol - ;; - 4) - set_cust_dir - ;; - *) - exit 1 - ;; - esac - } - [ "$systype" = "asusrouter" ] && { - $echo "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" - $echo " 1 基于USB设备安装(限23年9月之前固件,须插入\033[31m任意\033[0mUSB设备)" - $echo " 2 基于自启脚本安装(仅支持梅林及部分非koolshare官改固件)" - $echo " 3 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" - $echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res - [ "$res" = "1" ] && set_usb_dir || dir=/jffs - usb_status=1 - ;; - 2) - $echo "如无法正常开机启动,请重新使用USB方式安装!" - sleep 2 - dir=/jffs - ;; - 3) - echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" - sleep 2 - set_asus_dir - ;; - *) - exit 1 - ;; - esac - } - [ "$systype" = "ng_snapshot" ] && dir=/tmp/mnt - else - $echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" - $echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" - $echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" - $echo " 4 在\033[32m外置存储\033[0m中安装" - $echo " 5 手动设置安装目录" - $echo " 0 退出安装" - echo "----------------------------------------------" - read -p "请输入相应数字 > " num - # 设置目录 - case "$num" in - 1) - dir=/etc - ;; - 2) - dir=/usr/share - ;; - 3) - dir=~/.local/share - mkdir -p ~/.config/systemd/user - ;; - 4) - set_usb_dir - ;; - 5) - set_cust_dir - ;; - *) - echo "安装已取消" - exit 1 - ;; - esac - fi + cecho "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + case "$systype" in + Padavan) dir=/etc/storage ;; + mi_snapshot) set_xiaomi_dir ;; + asusrouter) set_asus_dir ;; + ng_snapshot) dir=/tmp/mnt ;; + *) + cecho " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" + cecho " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" + cecho " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" + cecho " 4 在\033[32m外置存储\033[0m中安装" + cecho " 5 手动设置安装目录" + cecho " 0 退出安装" + echo "----------------------------------------------" + read -p "请输入相应数字 > " num + # 设置目录 + case "$num" in + 1) + dir=/etc + ;; + 2) + dir=/usr/share + ;; + 3) + dir=~/.local/share + mkdir -p ~/.config/systemd/user + ;; + 4) + set_usb_dir + ;; + 5) + set_cust_dir + ;; + *) + echo "安装已取消" + exit 1 + ;; + esac + ;; + esac - if [ ! -w $dir ]; then - $echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" + if [ ! -w "$dir" ]; then + cecho "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" sleep 1 else - $echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)" + cecho "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail "$dir" -h)" read -p "确认安装?(1/0) > " res if [ "$res" = "1" ]; then - CRASHDIR=$dir/ShellCrash + CRASHDIR="$dir"/ShellCrash break fi fi done } - install() { echo "-----------------------------------------------" echo "开始从服务器获取安装文件!" @@ -282,94 +273,101 @@ install() { [ "$profile" = "~/.bashrc" ] && echo "请执行【. ~/.bashrc > /dev/null】命令以更新环境变量!" [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && echo "请执行【. ~/.zshrc > /dev/null】命令以更新环境变量!" echo "-----------------------------------------------" - $echo "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" + cecho "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" echo "-----------------------------------------------" } - setversion() { echo "-----------------------------------------------" - $echo "\033[33m请选择想要安装的版本:\033[0m" - $echo " 1 \033[32m公测版(推荐)\033[0m" - $echo " 2 \033[36m稳定版\033[0m" - $echo " 3 \033[31m开发版\033[0m" + cecho "\033[33m请选择想要安装的版本:\033[0m" + cecho " 1 \033[32m公测版(推荐)\033[0m" + cecho " 2 \033[36m稳定版\033[0m" + cecho " 3 \033[31m开发版\033[0m" echo "-----------------------------------------------" read -p "请输入相应数字 > " num case "$num" in 2) - url=$(echo $url | sed 's/master/stable/') - ;; + url=$(echo "$url" | sed 's/master/stable/') + ;; 3) - url=$(echo $url | sed 's/master/dev/') - ;; + url=$(echo "$url" | sed 's/master/dev/') + ;; *) ;; esac } -# 特殊固件识别及标记 -[ -f "/etc/storage/started_script.sh" ] && { - systype=Padavan #老毛子固件 - initdir='/etc/storage/started_script.sh' +# 安装检查 +check_systype() { + [ -f "/etc/storage/started_script.sh" ] && { + systype=Padavan #老毛子固件 + initdir='/etc/storage/started_script.sh' + } + [ -d "/jffs" ] && { + systype=asusrouter #华硕固件 + [ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter' + [ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start' + } + [ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备 + [ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot #NETGEAR设备 } -[ -d "/jffs" ] && { - systype=asusrouter #华硕固件 - [ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter' - [ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start' +check_user() { + if [ "$USER" != "root" ] && [ -z "$systype" ]; then + echo "当前用户:$USER" + cecho "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m" + echo "-----------------------------------------------" + read -p "仍要安装?可能会产生未知错误!(1/0) > " res + [ "$res" != "1" ] && exit 1 + fi } -[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备 -[ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot #NETGEAR设备 +check_version() { + echo "$url" | grep -q 'master' && setversion + webget /tmp/version "$url/version" echooff + [ "$result" = "200" ] && versionsh=$(cat /tmp/version) + rm -rf /tmp/version -# 检查root权限 -if [ "$USER" != "root" -a -z "$systype" ]; then - echo "当前用户:$USER" - $echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m" - echo "-----------------------------------------------" - read -p "仍要安装?可能会产生未知错误!(1/0) > " res - [ "$res" != "1" ] && exit 1 -fi + # 输出 + cecho "最新版本:\033[32m$versionsh\033[0m" + echo "-----------------------------------------------" + cecho "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/ShellClash \033[0m" + cecho "\033[37m支持各种基于openwrt的路由器设备" + cecho "\033[33m支持Debian、Centos等标准Linux系统\033[0m" +} +check_dir() { + if [ -n "$CRASHDIR" ]; then + echo "-----------------------------------------------" + cecho "检测到旧的安装目录\033[36m$CRASHDIR\033[0m,是否覆盖安装?" + cecho "\033[32m覆盖安装时不会移除配置文件!\033[0m" + echo " 1 覆盖安装" + echo " 2 卸载旧版本并安装" + echo " 0 取消安装" + read -p "请输入相应数字 > " num + case "$num" in + 1) + install + ;; + 2) + [ "$CRASHDIR" != "/" ] && rm -rf "$CRASHDIR" + echo "-----------------------------------------------" + cecho "\033[31m 旧版本文件已卸载!\033[0m" + setdir + install + ;; + 9) + echo "测试模式,变更安装位置 $CRASHDIR" + setdir + install + ;; + *) + cecho "\033[31m已取消安装!\033[0m" + exit 1 + ;; + esac + else + setdir + install + fi +} -if [ -n "$(echo $url | grep master)" ]; then - setversion -fi - -# 获取版本信息 -webget /tmp/version "$url/version" echooff -[ "$result" = "200" ] && versionsh=$(cat /tmp/version) -rm -rf /tmp/version - -# 输出 -$echo "最新版本:\033[32m$versionsh\033[0m" -echo "-----------------------------------------------" -$echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/ShellClash \033[0m" -$echo "\033[37m支持各种基于openwrt的路由器设备" -$echo "\033[33m支持Debian、Centos等标准Linux系统\033[0m" - -if [ -n "$CRASHDIR" ]; then - echo "-----------------------------------------------" - $echo "检测到旧的安装目录\033[36m$CRASHDIR\033[0m,是否覆盖安装?" - $echo "\033[32m覆盖安装时不会移除配置文件!\033[0m" - read -p "覆盖安装/卸载旧版本?(1/0) > " res - case "$res" in - 1) - install - ;; - 0) - rm -rf $CRASHDIR - echo "-----------------------------------------------" - $echo "\033[31m 旧版本文件已卸载!\033[0m" - setdir - install - ;; - 9) - echo "测试模式,变更安装位置" - setdir - install - ;; - *) - $echo "\033[31m输入错误!已取消安装!\033[0m" - exit 1 - ;; - esac -else - setdir - install -fi +check_systype +check_user +check_version +check_dir diff --git a/scripts/init.sh b/scripts/init.sh index 4670d052..3a3e358f 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -231,4 +231,4 @@ sed -i "s/redir_mod=纯净模式/firewall_area=4/g" "$CFG_PATH" sed -i 's/=\(已启用\|已开启\)$/=ON/' "$CFG_PATH" sed -i 's/=\(未启用\|未开启\)$/=OFF/' "$CFG_PATH" -echo -e "\033[32m脚本初始化完成,请输入\033[30;47m $my_alias \033[0;33m命令开始使用!\033[0m" +printf '\033[32m脚本初始化完成,请输入\033[30;47m %s \033[0;33m命令开始使用!\033[0m\n' "$my_alias" diff --git a/scripts/menus/set_crashdir.sh b/scripts/menus/set_crashdir.sh index 2f1be6c9..5109fbd1 100644 --- a/scripts/menus/set_crashdir.sh +++ b/scripts/menus/set_crashdir.sh @@ -1,150 +1,157 @@ #!/bin/sh # Copyright (C) Juewuy -. /tmp/SC_tmp/libs/check_dir_avail.sh -[ -n "$(echo -e | grep e)" ] && echo=echo || echo='echo -e' +#. /tmp/SC_tmp/libs/check_dir_avail.sh -set_crashdir() { - set_usb_dir() { - echo -e "请选择安装目录" +cecho() { + printf '%b\n' "$*" +} +set_usb_dir() { + while true; do + cecho "请选择安装目录" du -hL /mnt | awk '{print " "NR" "$2" "$1}' read -p "请输入相应数字 > " num dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ -z "$dir" ]; then - echo -e "\033[31m输入错误!请重新设置!\033[0m" - set_usb_dir + cecho "\033[31m输入错误!请重新设置!\033[0m" + continue fi - } - set_asus_dir() { - echo -e "请选择U盘目录" - du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num - dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) - if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" - set_asus_dir - fi - } - set_cust_dir() { + break 1 + done +} +set_xiaomi_dir() { + cecho "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" + [ -d /data ] && cecho " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" + [ -d /userdisk ] && cecho " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" + [ -d /data/other_vol ] && cecho " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" + cecho " 4 安装到自定义目录(不推荐,不明勿用!)" + cecho " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 1) + dir=/data + ;; + 2) + dir=/userdisk + ;; + 3) + dir=/data/other_vol + ;; + 4) + set_cust_dir + ;; + *) + exit 1 + ;; + esac +} +set_asus_usb() { + while true; do + echo -e "请选择U盘目录" + du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' + read -p "请输入相应数字 > " num + dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) + if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then + echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" + sleep 1 + else + break + fi + done +} +set_asus_dir() { + cecho "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" + cecho " 1 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" + cecho " 2 基于自启脚本安装(仅支持部分梅林固件)" + cecho " 0 退出安装" + echo "-----------------------------------------------" + read -p "请输入相应数字 > " num + case "$num" in + 1) + echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + sleep 2 + set_asus_usb + ;; + 2) + cecho "如开机无法正常自启,请重新使用U盘+下载大师安装!" + sleep 2 + dir=/jffs + ;; + *) + exit 1 + ;; + esac +} +set_cust_dir() { + while true; do echo "-----------------------------------------------" - echo "可用路径 剩余空间:" + echo '可用路径 剩余空间:' df -h | awk '{print $6,$4}' | sed 1d - echo "路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!" + echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!' read -p "请输入自定义路径 > " dir - if [ "$(dir_avail $dir)" = 0 ] || [ -n "$(echo $dir | grep -E 'tmp|opt|sys')" ]; then - echo "\033[31m路径错误!请重新设置!\033[0m" - set_cust_dir + if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -Eq '^/(tmp|opt|sys)(/|$)')" ]; then + cecho "\033[31m路径错误!请重新设置!\033[0m" + continue fi - } - echo "-----------------------------------------------" - if [ -n "$systype" ]; then - [ "$systype" = "Padavan" ] && dir=/etc/storage - [ "$systype" = "mi_snapshot" ] && { - echo -e "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" - [ -d /data ] && $echo " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" - [ -d /userdisk ] && $echo " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" - [ -d /data/other_vol ] && $echo " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" - $echo " 4 安装到自定义目录(不推荐,不明勿用!)" - echo " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - dir=/data - ;; - 2) - dir=/userdisk - ;; - 3) - dir=/data/other_vol - ;; - 4) - set_cust_dir - ;; - *) - exit 1 - ;; - esac - } - [ "$systype" = "asusrouter" ] && { - echo -e "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" - echo -e " 1 基于USB设备安装(限23年9月之前固件,须插入\033[31m任意\033[0mUSB设备)" - echo -e " 2 基于自启脚本安装(仅支持梅林及部分非koolshare官改固件)" - echo -e " 3 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" - echo -e " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res - [ "$res" = "1" ] && set_usb_dir || dir=/jffs - usb_status=1 - ;; - 2) - echo -e "如无法正常开机启动,请重新使用USB方式安装!" - sleep 2 - dir=/jffs - ;; - 3) - echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" - sleep 2 - set_asus_dir - ;; - *) - exit 1 - ;; - esac - } - [ "$systype" = "ng_snapshot" ] && dir=/tmp/mnt - else - echo -e "\033[33m安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" - echo -e " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" - echo -e " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" - echo -e " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" - echo -e " 4 在\033[32m外置存储\033[0m中安装" - echo -e " 5 手动设置安装目录" - echo -e " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - #设置目录 - case "$num" in - 1) - dir=/etc - ;; - 2) - dir=/usr/share - ;; - 3) - dir=~/.local/share - mkdir -p ~/.config/systemd/user - ;; - 4) - set_usb_dir - ;; - 5) - echo "-----------------------------------------------" - echo "可用路径 剩余空间:" - df -h | awk '{print $6,$4}' | sed 1d - echo "路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!" - read -p "请输入自定义路径 > " dir - if [ -z "$dir" ]; then - echo -e "\033[31m路径错误!请重新设置!\033[0m" - setdir - fi - ;; - *) - echo "安装已取消" - exit 1 - ;; - esac - fi - - if [ ! -w $dir ]; then - echo -e "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir - else - echo -e "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir -h)" - read -p "确认安装?(1/0) > " res - [ "$res" = "1" ] && CRASHDIR=$dir/ShellCrash || setdir - fi + break 1 + done } +set_crashdir() { + while true; do + echo "-----------------------------------------------" + cecho "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + case "$systype" in + Padavan) dir=/etc/storage ;; + mi_snapshot) set_xiaomi_dir ;; + asusrouter) set_asus_dir ;; + ng_snapshot) dir=/tmp/mnt ;; + *) + cecho " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" + cecho " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" + cecho " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" + cecho " 4 在\033[32m外置存储\033[0m中安装" + cecho " 5 手动设置安装目录" + cecho " 0 退出安装" + echo "----------------------------------------------" + read -p "请输入相应数字 > " num + # 设置目录 + case "$num" in + 1) + dir=/etc + ;; + 2) + dir=/usr/share + ;; + 3) + dir=~/.local/share + mkdir -p ~/.config/systemd/user + ;; + 4) + set_usb_dir + ;; + 5) + set_cust_dir + ;; + *) + echo "安装已取消" + exit 1 + ;; + esac + ;; + esac + + if [ ! -w "$dir" ]; then + cecho "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" + sleep 1 + else + cecho "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail "$dir" -h)" + read -p "确认安装?(1/0) > " res + if [ "$res" = "1" ]; then + CRASHDIR="$dir"/ShellCrash + break + fi + fi + done +} From 5ee05aafb37bc08784a2277215c881f130d7f326 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 17 Jan 2026 23:04:55 +0800 Subject: [PATCH 081/318] fix bug --- scripts/menus/6_core_config.sh | 22 +++++++++++----------- scripts/menus/7_gateway.sh | 6 +++--- scripts/menus/userguide.sh | 12 ++++++------ 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index e8f2a742..39a3dc73 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -167,17 +167,17 @@ setgroups() { echo -e "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" echo -e "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" echo -e "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" - read -pr "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name + read -r -p "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name echo "-----------------------------------------------" echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m" echo "$group_type_cn" | awk '{for(i=1;i<=NF;i++){print i" "$i}}' - read -pr "请输入对应数字 > " num + read -r -p "请输入对应数字 > " num new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}') if [ "$num" = "1" ]; then unset new_group_url interval else - read -pr "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url + read -r -p "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 new_group_url="url: '$new_group_url'" interval="interval: 300" @@ -206,7 +206,7 @@ EOF echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' echo "-----------------------------------------------" echo -e " 0 跳过添加" - read -pr "请输入对应数字(多个用空格隔开) > " char + read -r -p "请输入对应数字(多个用空格隔开) > " char case "$char" in "" | 0) ;; *) @@ -234,7 +234,7 @@ EOF echo -e " 2 查看自定义策略组" echo -e " 3 清空自定义策略组" echo -e " 0 返回上级菜单" - read -pr "请输入对应数字 > " num + read -r -p "请输入对应数字 > " num case "$num" in "" | 0) break @@ -268,7 +268,7 @@ setproxies() { echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m" echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m" - read -pr "请输入节点 > " proxy_state_set + read -r -p "请输入节点 > " proxy_state_set if echo "$proxy_state_set" | grep -q "#"; then echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m" elif echo "$proxy_state_set" | grep -Eq "^name:"; then @@ -288,7 +288,7 @@ setproxies() { echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' echo "-----------------------------------------------" echo -e " 0 返回上级菜单" - read -pr "请输入对应数字(多个用空格隔开) > " char + read -r -p "请输入对应数字(多个用空格隔开) > " char case "$char" in "" | 0) ;; *) @@ -319,7 +319,7 @@ setproxies() { echo -e " 3 清空自定义节点" echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" echo -e " 0 返回上级菜单" - read -pr "请输入对应数字 > " num + read -r -p "请输入对应数字 > " num case "$num" in "" | 0) break @@ -337,7 +337,7 @@ setproxies() { cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g' echo "-----------------------------------------------" echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m" - read -pr "请输入对应数字 > " num + read -r -p "请输入对应数字 > " num if [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml else @@ -349,7 +349,7 @@ setproxies() { fi ;; 3) - read -pr "确认清空全部自定义节点?(1/0) > " res + read -r -p "确认清空全部自定义节点?(1/0) > " res [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null ;; 4) @@ -357,7 +357,7 @@ setproxies() { if [ "$proxies_bypass" = "OFF" ]; then echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -pr "启用节点绕过?(1/0) > " res + read -r -p "启用节点绕过?(1/0) > " res [ "$res" = "1" ] && proxies_bypass=ON else proxies_bypass=OFF diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 78745c7e..04605d02 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -204,7 +204,7 @@ set_bot_tg() { echo -e " 2 TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" echo -e " 0 返回上级菜单 \033[0m" echo "-----------------------------------------------" - read -pr "请输入对应数字 > " num + read -r -p "请输入对应数字 > " num case "$num" in "" | 0) break @@ -220,7 +220,7 @@ set_bot_tg() { ;; 2) if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - read -pr "检测到已经绑定了TG推送BOT,是否直接使用?(1/0) > " res + read -r -p "检测到已经绑定了TG推送BOT,是否直接使用?(1/0) > " res if [ "$res" = 1 ]; then TOKEN="$push_TG" set_bot_tg_config @@ -485,7 +485,7 @@ set_shadowsocks(){ set_shadowsocks ;; *) errornum ;; - esac + esac } # 自定义端点 diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index 087aa6f8..b51cd5ed 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -16,7 +16,7 @@ forwhat() { echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m" [ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m" echo "-----------------------------------------------" - read -pr "请输入对应数字 > " num + read -r -p "请输入对应数字 > " num case "$num" in "" | 1) # 设置运行模式 @@ -55,7 +55,7 @@ forwhat() { if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then echo "-----------------------------------------------" echo -e "\033[33m检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?\033[0m" - read -pr "是否开启?(1/0) > " res + read -r -p "是否开启?(1/0) > " res [ "$res" = 1 ] && { echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf sysctl -w net.ipv4.ip_forward=1 @@ -100,7 +100,7 @@ userguide() { echo -e "\033[0m开启后核心及数据库文件将被下载到内存中,这将占用一部分内存空间\033[0m" echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m" echo "-----------------------------------------------" - read -pr "是否开启?(1/0) > " res + read -r -p "是否开启?(1/0) > " res [ "$res" = 1 ] && { BINDIR=/tmp/ShellCrash setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env @@ -114,7 +114,7 @@ userguide() { if [ "$systype" = "mi_snapshot" ]; then echo "-----------------------------------------------" echo -e "\033[33m检测到为小米路由设备,启用软固化可防止路由升级后丢失SSH\033[0m" - read -pr "是否启用软固化功能?(1/0) > " res + read -r -p "是否启用软固化功能?(1/0) > " res [ "$res" = 1 ] && mi_autoSSH fi @@ -124,7 +124,7 @@ userguide() { echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)" echo -e "\033[0m你必须拥有一份配置文件才能运行服务!\033[0m" echo "-----------------------------------------------" - read -pr "现在开始导入?(1/0) > " res + read -r -p "现在开始导入?(1/0) > " res [ "$res" = 1 ] && inuserguide=1 && { . "$CRASHDIR"/menus/6_core_config.sh && set_core_config inuserguide="" @@ -135,7 +135,7 @@ userguide() { echo "-----------------------------------------------" echo -e "\033[36m很好!现在只需要执行启动就可以愉快的使用了!\033[0m" echo "-----------------------------------------------" - read -pr "立即启动服务?(1/0) > " res + read -r -p "立即启动服务?(1/0) > " res [ "$res" = 1 ] && start_core && sleep 2 return 0 } From b4bbaba73d6f558fc322a449c72364cdb30d9f7a Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 09:03:44 +0800 Subject: [PATCH 082/318] refactor(set_shadowsocks): replace recursion with while loop --- scripts/menus/7_gateway.sh | 245 +++++++++++++++++++------------------ 1 file changed, 123 insertions(+), 122 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 04605d02..ab025d69 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -364,128 +364,129 @@ EOF done } -set_shadowsocks(){ - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m设置的端口会添加到公网访问防火墙并自动放行!\n 脚本只提供基础功能,更多需求请用自定义配置文件功能!" - echo -e " \033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" - echo "-----------------------------------------------" - echo -e " 2 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" - echo -e " 3 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" - echo -e " 4 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" - gen_base64 1 >/dev/null 2>&1 && - echo -e " 5 一键生成分享链接" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - if [ "$sss_service" = ON ];then - sss_service=OFF - setconfig sss_service "$sss_service" - else - if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ];then - sss_service=ON - setconfig sss_service "$sss_service" - else - echo -e "\033[31m请先完成必选设置!\033[0m" - sleep 1 - fi - fi - set_shadowsocks - ;; - 2) - read -p "请输入端口号(输入0删除) > " text - if [ "$text" = 0 ];then - sss_port='' - setconfig sss_port "" "$GT_CFG_PATH" - elif check_port "$text"; then - sss_port="$text" - setconfig sss_port "$text" "$GT_CFG_PATH" - else - sleep 1 - fi - set_shadowsocks - ;; - 3) - echo "-----------------------------------------------" - echo -e " 1 \033[32mxchacha20-ietf-poly1305\033[0m" - echo -e " 2 \033[32mchacha20-ietf-poly1305\033[0m" - echo -e " 3 \033[32maes-128-gcm\033[0m" - echo -e " 4 \033[32maes-256-gcm\033[0m" - gen_random 1 >/dev/null && { - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m2022系列加密必须使用随机生成的password!" - echo -e " 5 \033[32m2022-blake3-chacha20-poly1305\033[0m" - echo -e " 6 \033[32m2022-blake3-aes-128-gcm\033[0m" - echo -e " 7 \033[32m2022-blake3-aes-256-gcm\033[0m" - } - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请选择要使用的加密协议 > " num - case "$num" in - 1) - sss_cipher=xchacha20-ietf-poly1305 - sss_pwd=$(gen_random 16) - ;; - 2) - sss_cipher=chacha20-ietf-poly1305 - sss_pwd=$(gen_random 16) - ;; - 3) - sss_cipher=aes-128-gcm - sss_pwd=$(gen_random 16) - ;; - 4) - sss_cipher=aes-256-gcm - sss_pwd=$(gen_random 16) - ;; - 5) - sss_cipher=2022-blake3-chacha20-poly1305 - sss_pwd=$(gen_random 32) - ;; - 6) - sss_cipher=2022-blake3-aes-128-gcm - sss_pwd=$(gen_random 16) - ;; - 7) - sss_cipher=2022-blake3-aes-256-gcm - sss_pwd=$(gen_random 32) - ;; - *) - ;; - esac - setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" - setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" - set_shadowsocks - ;; - 4) - if echo "$sss_cipher" |grep -q '2022-blake3';then - echo -e "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" - sleep 1 - else - read -p "请输入秘钥(输入0删除) > " text - [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" - setconfig sss_pwd "$text" "$GT_CFG_PATH" - fi - set_shadowsocks - ;; - 5) - read -p "请输入本机公网IP(4/6)或域名 > " text - if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ];then - ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" - echo "-----------------------------------------------" - echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" - else - echo -e "\033[31m请先完成必选设置!\033[0m" - fi - sleep 1 - set_shadowsocks - ;; - *) errornum ;; - esac +set_shadowsocks() { + while true; do + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m设置的端口会添加到公网访问防火墙并自动放行!\n 脚本只提供基础功能,更多需求请用自定义配置文件功能!" + echo -e " \033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" + echo "-----------------------------------------------" + echo -e " 2 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" + echo -e " 3 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" + echo -e " 4 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" + gen_base64 1 >/dev/null 2>&1 && + echo -e " 5 一键生成分享链接" + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$sss_service" = ON ]; then + sss_service=OFF + setconfig sss_service "$sss_service" + else + if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then + sss_service=ON + setconfig sss_service "$sss_service" + else + echo -e "\033[31m请先完成必选设置!\033[0m" + sleep 1 + fi + fi + ;; + 2) + read -r -p "请输入端口号(输入0删除) > " text + if [ "$text" = 0 ]; then + sss_port='' + setconfig sss_port "" "$GT_CFG_PATH" + elif check_port "$text"; then + sss_port="$text" + setconfig sss_port "$text" "$GT_CFG_PATH" + else + sleep 1 + fi + ;; + 3) + echo "-----------------------------------------------" + echo -e " 1 \033[32mxchacha20-ietf-poly1305\033[0m" + echo -e " 2 \033[32mchacha20-ietf-poly1305\033[0m" + echo -e " 3 \033[32maes-128-gcm\033[0m" + echo -e " 4 \033[32maes-256-gcm\033[0m" + gen_random 1 >/dev/null && { + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0m2022系列加密必须使用随机生成的password!" + echo -e " 5 \033[32m2022-blake3-chacha20-poly1305\033[0m" + echo -e " 6 \033[32m2022-blake3-aes-128-gcm\033[0m" + echo -e " 7 \033[32m2022-blake3-aes-256-gcm\033[0m" + } + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -r -p "请选择要使用的加密协议 > " num + case "$num" in + "" | 1) + sss_cipher=xchacha20-ietf-poly1305 + sss_pwd=$(gen_random 16) + ;; + 2) + sss_cipher=chacha20-ietf-poly1305 + sss_pwd=$(gen_random 16) + ;; + 3) + sss_cipher=aes-128-gcm + sss_pwd=$(gen_random 16) + ;; + 4) + sss_cipher=aes-256-gcm + sss_pwd=$(gen_random 16) + ;; + 5) + sss_cipher=2022-blake3-chacha20-poly1305 + sss_pwd=$(gen_random 32) + ;; + 6) + sss_cipher=2022-blake3-aes-128-gcm + sss_pwd=$(gen_random 16) + ;; + 7) + sss_cipher=2022-blake3-aes-256-gcm + sss_pwd=$(gen_random 32) + ;; + *) ;; + esac + setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" + setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" + ;; + 4) + if echo "$sss_cipher" | grep -q '2022-blake3'; then + echo -e "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" + sleep 1 + else + read -r -p "请输入秘钥(输入0删除) > " text + [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" + setconfig sss_pwd "$text" "$GT_CFG_PATH" + fi + ;; + 5) + read -r -p "请输入本机公网IP(4/6)或域名 > " text + if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then + ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" + echo "-----------------------------------------------" + echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" + else + echo -e "\033[31m请先完成必选设置!\033[0m" + fi + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } # 自定义端点 From 180629c8ddb30b3dd8fd6c66a901444fcedc227e Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 09:14:43 +0800 Subject: [PATCH 083/318] perf: optimize port validation with efficient grep usage - Use 'grep -q' to avoid unnecessary output and sub-shell usage --- scripts/menus/check_port.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index 1a3c288f..728ea1ba 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -1,17 +1,17 @@ #!/bin/sh # Copyright (C) Juewuy -check_port(){ - if [ "$1" -gt 65535 -o "$1" -le 1 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - return 1 - elif [ -n "$(echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep "|$1|")" ]; then - echo -e "\033[31m输入错误!请不要输入重复的端口!\033[0m" - return 1 - elif [ -n "$(netstat -ntul | grep -E ":$1[[:space:]]")" ]; then - echo -e "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" - return 1 - else - return 0 - fi +check_port() { + if [ "$1" -gt 65535 ] || [ "$1" -le 1 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + return 1 + elif echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$1|"; then + echo -e "\033[31m输入错误!请不要输入重复的端口!\033[0m" + return 1 + elif netstat -ntul | grep -q ":$1[[:space:]]"; then + echo -e "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + return 1 + else + return 0 + fi } From 1d76570c2c124d10c009a128b8ed40f9c77d1551 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 09:46:13 +0800 Subject: [PATCH 084/318] refactor(dns.sh): replace recursion with while loop --- scripts/menus/dns.sh | 200 +++++++++++++++++++++---------------------- 1 file changed, 98 insertions(+), 102 deletions(-) diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 85ab59e8..6dec58af 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -6,32 +6,36 @@ __IS_MODULE_DNS_LOADED=1 load_lang dns -set_dns_mod() { # DNS 模式设置 - [ -z "$hosts_opt" ] && hosts_opt=ON - [ -z "$dns_protect" ] && dns_protect=ON - [ -z "$ecs_subnet" ] && ecs_subnet=OFF +# DNS 模式设置 +set_dns_mod() { + while true; do + [ -z "$hosts_opt" ] && hosts_opt=ON + [ -z "$dns_protect" ] && dns_protect=ON + [ -z "$ecs_subnet" ] && ecs_subnet=OFF - echo "-----------------------------------------------" - echo -e "$DNS_CURRENT_MODE \033[47;30m $dns_mod \033[0m" - echo -e "\033[33m$DNS_RESTART_NOTICE\033[0m" - echo "-----------------------------------------------" - echo -e " 1 MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m" - echo -e " 2 Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m" - echo -e " 3 Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" - echo "-----------------------------------------------" - echo -e " 4 $DNS_MENU_PROTECT:\t\033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" - echo -e " 5 $DNS_MENU_HOSTS:\t\033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" - echo -e " 6 $DNS_MENU_ECS:\t\033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" - echo -e " 7 $DNS_MENU_REDIR:\033[36m$dns_redir_port\033[0m\t$DNS_REDIR_PORT_DESC" - [ "$dns_mod" = "mix" ] && - echo -e " 8 \033[33m$DNS_FAKEIP_MENU\033[0m" - echo -e " 9 \033[36m$DNS_ADV_MENU\033[0m" - echo "-----------------------------------------------" - echo " 0 $COMMON_BACK" - read -p "$COMMON_INPUT > " num - case "$num" in - 0) ;; - 1|2) + echo "-----------------------------------------------" + echo -e "$DNS_CURRENT_MODE \033[47;30m $dns_mod \033[0m" + echo -e "\033[33m$DNS_RESTART_NOTICE\033[0m" + echo "-----------------------------------------------" + echo -e " 1 MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m" + echo -e " 2 Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m" + echo -e " 3 Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" + echo "-----------------------------------------------" + echo -e " 4 $DNS_MENU_PROTECT:\t\033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" + echo -e " 5 $DNS_MENU_HOSTS:\t\033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" + echo -e " 6 $DNS_MENU_ECS:\t\033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" + echo -e " 7 $DNS_MENU_REDIR:\033[36m$dns_redir_port\033[0m\t$DNS_REDIR_PORT_DESC" + [ "$dns_mod" = "mix" ] && + echo -e " 8 \033[33m$DNS_FAKEIP_MENU\033[0m" + echo -e " 9 \033[36m$DNS_ADV_MENU\033[0m" + echo "-----------------------------------------------" + echo " 0 $COMMON_BACK" + read -r -p "$COMMON_INPUT > " num + case "$num" in + "" | 0) + break + ;; + 1 | 2) if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then [ "$num" = 1 ] && dns_mod=mix || dns_mod=route setconfig dns_mod "$dns_mod" @@ -41,36 +45,31 @@ set_dns_mod() { # DNS 模式设置 echo -e "\033[31m$DNS_CORE_UNSUPPORTED\033[0m" sleep 1 fi - set_dns_mod - ;; + ;; 3) dns_mod=redir_host setconfig dns_mod "$dns_mod" echo -e "\033[36m$DNS_SET_OK: $dns_mod\033[0m" - set_dns_mod - ;; + ;; 4) [ "$dns_protect" = ON ] && dns_protect=OFF || dns_protect=ON setconfig dns_protect "$dns_protect" - set_dns_mod - ;; + ;; 5) [ "$hosts_opt" = ON ] && hosts_opt=OFF || hosts_opt=ON setconfig hosts_opt "$hosts_opt" - set_dns_mod - ;; + ;; 6) [ "$ecs_subnet" = ON ] && ecs_subnet=OFF || ecs_subnet=ON setconfig ecs_subnet "$ecs_subnet" - set_dns_mod - ;; + ;; 7) echo "-----------------------------------------------" echo -e "\033[31m$DNS_REDIR_WARN\033[0m" echo -e "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" echo "-----------------------------------------------" - read -p "$DNS_REDIR_INPUT" num + read -r -p "$DNS_REDIR_INPUT" num if [ "$num" = 0 ]; then dns_redir_port="$dns_port" @@ -86,93 +85,95 @@ set_dns_mod() { # DNS 模式设置 errornum fi sleep 1 - set_dns_mod - ;; + ;; 8) fake_ip_filter - set_dns_mod - ;; + ;; 9) set_dns_adv - set_dns_mod - ;; + ;; *) errornum - ;; - esac + sleep 1 + ;; + esac + done } fake_ip_filter() { - echo -e "\033[32m$DNS_FAKEIP_DESC\033[0m" - echo -e "\033[31m$DNS_FAKEIP_TIP\033[0m" - echo -e "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" - echo "-----------------------------------------------" - if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then - echo -e "\033[33m$DNS_FAKEIP_EXIST\033[0m" - awk '{print NR" "$1}' "$CRASHDIR/configs/fake_ip_filter" - else - echo -e "\033[33m$DNS_FAKEIP_EMPTY\033[0m" - fi - echo "-----------------------------------------------" - read -p "$DNS_FAKEIP_EDIT > " input - case "$input" in - 0|'') ;; + while true; do + echo -e "\033[32m$DNS_FAKEIP_DESC\033[0m" + echo -e "\033[31m$DNS_FAKEIP_TIP\033[0m" + echo -e "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" + echo "-----------------------------------------------" + if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then + echo -e "\033[33m$DNS_FAKEIP_EXIST\033[0m" + awk '{print NR" "$1}' "$CRASHDIR/configs/fake_ip_filter" + else + echo -e "\033[33m$DNS_FAKEIP_EMPTY\033[0m" + fi + echo "-----------------------------------------------" + read -r -p "$DNS_FAKEIP_EDIT > " input + case "$input" in + "" | 0) + break + ;; *) if [ "$input" -ge 1 ] 2>/dev/null; then sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter" echo -e "\033[32m$COMMON_REMOVE_OK\033[0m" else echo -e "$COMMON_YOUR_INPUT \033[32m$input\033[0m" - read -p "$COMMON_CONFIRM" res + read -r -p "$COMMON_CONFIRM" res [ "$res" = 1 ] && echo "$input" >>"$CRASHDIR/configs/fake_ip_filter" fi sleep 1 - fake_ip_filter - ;; - esac + ;; + esac + done } -set_dns_adv() { # DNS详细设置 - echo "-----------------------------------------------" - echo -e "DIRECT-DNS :\033[32m$dns_nameserver\033[0m" - echo -e "PROXY-DNS :\033[36m$dns_fallback\033[0m" - echo -e "DEFAULT-DNS:\033[33m$dns_resolver\033[0m" +# DNS详细设置 +set_dns_adv() { + while true; do + echo "-----------------------------------------------" + echo -e "DIRECT-DNS :\033[32m$dns_nameserver\033[0m" + echo -e "PROXY-DNS :\033[36m$dns_fallback\033[0m" + echo -e "DEFAULT-DNS:\033[33m$dns_resolver\033[0m" - echo -e "$DNS_ADV_SPLIT" - echo -e "\033[33m$DNS_ADV_CERT\033[0m" - echo -e "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" + echo -e "$DNS_ADV_SPLIT" + echo -e "\033[33m$DNS_ADV_CERT\033[0m" + echo -e "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" - echo "-----------------------------------------------" - echo -e " 1 $DNS_ADV_EDIT_DIRECT" - echo -e " 2 $DNS_ADV_EDIT_PROXY" - echo -e " 3 $DNS_ADV_EDIT_DEFAULT" - echo -e " 4 \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" - echo -e " 9 \033[33m$DNS_ADV_RESET\033[0m" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" + echo "-----------------------------------------------" + echo -e " 1 $DNS_ADV_EDIT_DIRECT" + echo -e " 2 $DNS_ADV_EDIT_PROXY" + echo -e " 3 $DNS_ADV_EDIT_DEFAULT" + echo -e " 4 \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" + echo -e " 9 \033[33m$DNS_ADV_RESET\033[0m" + echo -e " 0 $COMMON_BACK" + echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + read -r -p "$COMMON_INPUT > " num - case "$num" in - 0) ;; + case "$num" in + "" | 0) + break + ;; 1) - read -p "$DNS_INPUT_NEW" dns_nameserver + read -r -p "$DNS_INPUT_NEW" dns_nameserver dns_nameserver=$(echo "$dns_nameserver" | sed 's#|#,\ #g') [ -n "$dns_nameserver" ] && setconfig dns_nameserver "'$dns_nameserver'" echo -e "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 - set_dns_adv - ;; + ;; 2) - read -p "$DNS_INPUT_NEW" dns_fallback + read -r -p "$DNS_INPUT_NEW" dns_fallback dns_fallback=$(echo "$dns_fallback" | sed 's#|#,\ #g') [ -n "$dns_fallback" ] && setconfig dns_fallback "'$dns_fallback'" echo -e "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 - set_dns_adv - ;; + ;; 3) - read -p "$DNS_INPUT_NEW" text + read -r -p "$DNS_INPUT_NEW" text if echo "$text" | grep -qE '://.*::'; then echo -e "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m" else @@ -180,9 +181,7 @@ set_dns_adv() { # DNS详细设置 setconfig dns_resolver "'$dns_resolver'" echo -e "\033[32m$COMMON_SUCCESS\033[0m" fi - sleep 1 - set_dns_adv - ;; + ;; 4) if echo "$crashcore" | grep -qE 'meta|singbox'; then dns_nameserver='https://dns.alidns.com/dns-query, https://doh.pub/dns-query' @@ -195,21 +194,18 @@ set_dns_adv() { # DNS详细设置 else echo -e "\033[31m$DNS_CORE_REQUIRE\033[0m" fi - sleep 1 - set_dns_adv - ;; + ;; 9) setconfig dns_nameserver setconfig dns_fallback setconfig dns_resolver . "$CRASHDIR/libs/get_config.sh" echo -e "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 - set_dns_adv - ;; + ;; *) errornum - sleep 1 - ;; - esac + ;; + esac + sleep 1 + done } From 9ba5a687afa944beb47c0ffc30e5cadad6975822 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:39:27 +0800 Subject: [PATCH 085/318] refactor(load_ddns): replace recursion with while loop --- scripts/menus/ddns.sh | 79 ++++++++++++++++++++++--------------------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index 933f4bf9..d672ae43 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -135,44 +135,45 @@ rev_ddns_service() { sleep 1 fi } + load_ddns() { - ddns_dir=/etc/config/ddns - tmp_dir="$TMPDIR"/ddns - [ ! -f "$ddns_dir" ] && { - echo -e "\033[31m本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!\033[0m" - sleep 1 - return 1 - } - nr=0 - cat "$ddns_dir" | grep 'config service' | awk '{print $3}' | sed "s/'//g" | sed 's/"//g' >"$tmp_dir" - echo ----------------------------------------------- - echo -e "列表 域名 启用 IP地址" - echo ----------------------------------------------- - [ -s "$tmp_dir" ] && for service in $(cat "$tmp_dir"); do - #echo $service >>$tmp_dir - nr=$((nr + 1)) - enabled=$(uci get ddns."$service".enabled 2>/dev/null) - domain=$(uci get ddns."$service".domain 2>/dev/null) - local_ip=$(sed '1!G;h;$!d' /var/log/ddns/$service.log 2>/dev/null | grep -E 'Registered IP' | tail -1 | awk -F "'" '{print $2}' | tr -d "'\"") - echo -e " $nr $domain $enabled $local_ip" - done - echo -e " $((nr + 1)) 添加DDNS服务" - echo -e " 0 退出" - echo ----------------------------------------------- - read -p "请输入对应序号 > " num - if [ -z "$num" -o "$num" = 0 ]; then - i= - elif [ "$num" -gt $nr ]; then - set_ddns_type - load_ddns - elif [ "$num" -gt 0 -a "$num" -le $nr ]; then - service=$(cat $tmp_dir | sed -n "$num"p) - rev_ddns_service - load_ddns - else - echo "请输入正确数字!" && load_ddns - fi - rm -rf "$tmp_dir" + while true; do + ddns_dir=/etc/config/ddns + tmp_dir="$TMPDIR"/ddns + [ ! -f "$ddns_dir" ] && { + echo -e "\033[31m本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!\033[0m" + sleep 1 + return 1 + } + nr=0 + cat "$ddns_dir" | grep 'config service' | awk '{print $3}' | sed "s/'//g" | sed 's/"//g' >"$tmp_dir" + echo "-----------------------------------------------" + echo -e "列表 域名 启用 IP地址" + echo "-----------------------------------------------" + [ -s "$tmp_dir" ] && for service in $(cat "$tmp_dir"); do + # echo $service >>$tmp_dir + nr=$((nr + 1)) + enabled=$(uci get ddns."$service".enabled 2>/dev/null) + domain=$(uci get ddns."$service".domain 2>/dev/null) + local_ip=$(sed '1!G;h;$!d' /var/log/ddns/"$service".log 2>/dev/null | grep -E 'Registered IP' | tail -1 | awk -F "'" '{print $2}' | tr -d "'\"") + echo -e " $nr $domain $enabled $local_ip" + done + echo -e " $((nr + 1)) 添加DDNS服务" + echo -e " 0 退出" + echo "-----------------------------------------------" + read -r -p "请输入对应序号 > " num + if [ -z "$num" ] || [ "$num" = 0 ]; then + i= + rm -rf "$tmp_dir" + break + elif [ "$num" -gt $nr ]; then + set_ddns_type + elif [ "$num" -gt 0 ] && [ "$num" -le $nr ]; then + service=$(cat "$tmp_dir" | sed -n "$num"p) + rev_ddns_service + else + echo "请输入正确数字!" + sleep 1 + fi + done } - - From c52327a30c2ade7194bdc3a6185b848571030343 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 10:47:39 +0800 Subject: [PATCH 086/318] refactor(ddns.sh): replace recursion with while loop --- scripts/menus/ddns.sh | 250 ++++++++++++++++++++++++------------------ 1 file changed, 144 insertions(+), 106 deletions(-) diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index d672ae43..fa89e6a2 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -1,15 +1,15 @@ #! /bin/bash # Copyright (C) Juewuy - -ddns_menu(){ - echo ----------------------------------------------- - echo -e "\033[30;46m欢迎使用DDNS!\033[0m" - load_ddns +ddns_menu() { + echo "-----------------------------------------------" + echo -e "\033[30;46m欢迎使用DDNS!\033[0m" + load_ddns } + add_ddns() { - cat >>"$ddns_dir" <>"$ddns_dir" </dev/null 2>&1 & - sleep 3 - echo 服务已经添加! + /usr/lib/ddns/dynamic_dns_updater.sh -S "$service" start >/dev/null 2>&1 & + sleep 3 + echo "服务已经添加!" } + set_ddns() { - echo ----------------------------------------------- - read -p "请输入你的域名 > " str - [ -z "$str" ] && domain="$domain" || domain="$str" - echo ----------------------------------------------- - read -p "请输入用户名或邮箱 > " str - [ -z "$str" ] && username="$username" || username="$str" - echo ----------------------------------------------- - read -p "请输入密码或令牌秘钥 > " str - [ -z "$str" ] && password="$password" || password="$str" - echo ----------------------------------------------- - read -p "请输入检测更新间隔(单位:分钟;默认为10) > " check_interval - [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 - echo ----------------------------------------------- - read -p "请输入强制更新间隔(单位:小时;默认为24) > " force_interval - [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 - echo ----------------------------------------------- - echo -e "请核对如下信息:" - echo -e "服务商: \033[32m$service\033[0m" - echo -e "域名: \033[32m$domain\033[0m" - echo -e "用户名: \033[32m$username\033[0m" - echo -e "检测间隔: \033[32m$check_interval\033[0m" - echo ----------------------------------------------- - read -p "确认添加?(1/0) > " res - [ "$res" = 1 ] && add_ddns || set_ddns + echo "-----------------------------------------------" + read -r -p "请输入你的域名 > " str + [ -z "$str" ] && domain="$domain" || domain="$str" + echo "-----------------------------------------------" + read -r -p "请输入用户名或邮箱 > " str + [ -z "$str" ] && username="$username" || username="$str" + echo "-----------------------------------------------" + read -r -p "请输入密码或令牌秘钥 > " str + [ -z "$str" ] && password="$password" || password="$str" + echo "-----------------------------------------------" + read -r -p "请输入检测更新间隔(单位:分钟;默认为10) > " check_interval + [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 + echo "-----------------------------------------------" + read -r -p "请输入强制更新间隔(单位:小时;默认为24) > " force_interval + [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 + echo "-----------------------------------------------" + echo -e "请核对如下信息:" + echo -e "服务商: \033[32m$service\033[0m" + echo -e "域名: \033[32m$domain\033[0m" + echo -e "用户名: \033[32m$username\033[0m" + echo -e "检测间隔: \033[32m$check_interval\033[0m" + echo "-----------------------------------------------" + read -r -p "确认添加?(1/0) > " res + if [ "$res" = 1 ]; then + add_ddns + else + set_ddns + fi } + set_ddns_service() { - services_dir=/etc/ddns/"$serv" - [ -s "$services_dir" ] || services_dir=/usr/share/ddns/list - echo ----------------------------------------------- - echo -e "\033[32m请选择服务提供商\033[0m" - cat "$services_dir" | grep -v '^#' | awk '{print " "NR" " $1}' - nr=$(cat "$services_dir" | grep -v '^#' | wc -l) - read -p "请输入对应数字 > " num - if [ -z "$num" ]; then - i= - elif [ "$num" -gt 0 -a "$num" -lt $nr ]; then - service_name=$(cat "$services_dir" | grep -v '^#' | awk '{print $1}' | sed -n "$num"p | sed 's/"//g') - service=$(echo $service_name | sed 's/\./_/g') - set_ddns - else - echo "输入错误,请重新输入!" - sleep 1 - set_ddns_service - fi + while true; do + services_dir=/etc/ddns/"$serv" + [ -s "$services_dir" ] || services_dir=/usr/share/ddns/list + echo "-----------------------------------------------" + echo -e "\033[32m请选择服务提供商\033[0m" + cat "$services_dir" | grep -v '^#' | awk '{print " "NR" " $1}' + nr=$(cat "$services_dir" | grep -v '^#' | wc -l) + read -r -p "请输入对应数字 > " num + if [ -z "$num" ]; then + i= + break + elif [ "$num" -gt 0 ] && [ "$num" -lt "$nr" ]; then + service_name=$(cat "$services_dir" | grep -v '^#' | awk '{print $1}' | sed -n "$num"p | sed 's/"//g') + service=$(echo "$service_name" | sed 's/\./_/g') + set_ddns + break + else + echo "输入错误,请重新输入!" + sleep 1 + fi + done } + set_ddns_type() { - echo ----------------------------------------------- - echo -e "\033[32m请选择网络模式\033[0m" - echo -e " 1 \033[36mIPV4\033[0m" - echo -e " 2 \033[36mIPV6\033[0m" - read -p "请输入对应数字 > " num - if [ -z "$num" ]; then - i= - elif [ "$num" = 1 ]; then - use_ipv6=0 - serv=services - set_ddns_service - elif [ "$num" = 2 ]; then - use_ipv6=1 - serv=services_ipv6 - set_ddns_service - else - echo "输入错误,请重新输入!" - sleep 1 - set_ddns_type - fi + while true; do + echo "-----------------------------------------------" + echo -e "\033[32m请选择网络模式\033[0m" + echo -e " 1 \033[36mIPV4\033[0m" + echo -e " 2 \033[36mIPV6\033[0m" + echo -e " 0 返回上级菜单" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + use_ipv6=0 + serv=services + set_ddns_service + break + ;; + 2) + use_ipv6=1 + serv=services_ipv6 + set_ddns_service + break + ;; + *) + echo "输入错误,请重新输入!" + sleep 1 + ;; + esac + done } + rev_ddns_service() { - enabled=$(uci get ddns."$service".enabled) - [ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用" - echo ----------------------------------------------- - echo -e " 1 \033[32m立即更新\033[0m" - echo -e " 2 编辑当前服务\033[0m" - echo -e " 3 $enabled_b当前服务" - echo -e " 4 移除当前服务" - echo -e " 5 查看运行日志" - echo -e " 0 返回上级菜单" - echo ----------------------------------------------- - read -p "请输入对应数字 > " num - if [ -z "$num" -o "$num" = 0 ]; then - i= - elif [ "$num" = 1 ]; then - /usr/lib/ddns/dynamic_dns_updater.sh -S $service start >/dev/null 2>&1 & - sleep 3 - elif [ "$num" = 2 ]; then - domain=$(uci get ddns."$service".domain 2>/dev/null) - username=$(uci get ddns."$service".username 2>/dev/null) - password=$(uci get ddns."$service".password 2>/dev/null) - service_name=$(uci get ddns."$service".service_name 2>/dev/null) - uci delete ddns."$service" - set_ddns - elif [ "$num" = 3 ]; then - [ "$enabled" = 1 ] && uci set ddns."$service".enabled='0' || uci set ddns."$service".enabled='1' && sleep 3 - uci commit ddns."$service" - elif [ "$num" = 4 ]; then - uci delete ddns."$service" - uci commit ddns."$service" - elif [ "$num" = 5 ]; then - echo ----------------------------------------------- - cat /var/log/ddns/"$service".log 2>/dev/null - sleep 1 - fi + while true; do + enabled=$(uci get ddns."$service".enabled) + [ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用" + echo "-----------------------------------------------" + echo -e " 1 \033[32m立即更新\033[0m" + echo -e " 2 编辑当前服务\033[0m" + echo -e " 3 $enabled_b当前服务" + echo -e " 4 移除当前服务" + echo -e " 5 查看运行日志" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + /usr/lib/ddns/dynamic_dns_updater.sh -S "$service" start >/dev/null 2>&1 & + sleep 3 + break + ;; + 2) + domain=$(uci get ddns."$service".domain 2>/dev/null) + username=$(uci get ddns."$service".username 2>/dev/null) + password=$(uci get ddns."$service".password 2>/dev/null) + service_name=$(uci get ddns."$service".service_name 2>/dev/null) + uci delete ddns."$service" + set_ddns + break + ;; + 3) + [ "$enabled" = 1 ] && uci set ddns."$service".enabled='0' || uci set ddns."$service".enabled='1' && sleep 3 + uci commit ddns."$service" + break + ;; + 4) + uci delete ddns."$service" + uci commit ddns."$service" + break + ;; + 5) + echo "-----------------------------------------------" + cat /var/log/ddns/"$service".log 2>/dev/null + sleep 1 + break + ;; + *) + echo "输入错误,请重新输入!" + sleep 1 + ;; + esac + done } load_ddns() { From de3f4b4254ced4621ce669f1cc58fe8ffdd9e64b Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 16:02:29 +0800 Subject: [PATCH 087/318] refactor(set_fw_filter): replace recursion with while loop --- scripts/menus/fw_filter.sh | 184 ++++++++++++++++++------------------- 1 file changed, 92 insertions(+), 92 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index af719952..605e587f 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -4,106 +4,106 @@ [ -n "$__IS_MODULE_FW_FILTER_LOADED" ] && return __IS_MODULE_FW_FILTER_LOADED=1 -set_fw_filter(){ #流量过滤 - [ -z "$common_ports" ] && common_ports=ON - [ -z "$quic_rj" ] && quic_rj=OFF - [ -z "$cn_ip_route" ] && cn_ip_route=OFF - touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter - [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON - echo "-----------------------------------------------" - echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" - echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" - echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" - echo -e " 4 过滤CN_IP(6)列表: \033[36m$cn_ip_route\033[0m ————优化性能,不兼容Fake-ip" - echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" - echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) - ;; - 1) +# 流量过滤 +set_fw_filter() { + while true; do + [ -z "$common_ports" ] && common_ports=ON + [ -z "$quic_rj" ] && quic_rj=OFF + [ -z "$cn_ip_route" ] && cn_ip_route=OFF + touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter + [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON echo "-----------------------------------------------" - if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - read -p "切换时将停止服务,是否继续?(1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports - else - set_common_ports - fi - set_fw_filter - ;; - 2) - checkcfg_mac=$(cat "$CRASHDIR"/configs/mac) - fw_filter_lan - if [ -n "$PID" ]; then - checkcfg_mac_new=$(cat "$CRASHDIR"/configs/mac) - [ "$checkcfg_mac" != "$checkcfg_mac_new" ] && checkrestart - fi - set_fw_filter - ;; - 3) + echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" + echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" + echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" + echo -e " 4 过滤CN_IP(6)列表: \033[36m$cn_ip_route\033[0m ————优化性能,不兼容Fake-ip" + echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" + echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" echo "-----------------------------------------------" - if [ -n "$(echo "$redir_mod" | grep -oE '混合|Tproxy|Tun')" ]; then - if [ "$quic_rj" = "OFF" ]; then - echo -e "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" - quic_rj=ON + echo -e " 0 返回上级菜单 \033[0m" + echo "-----------------------------------------------" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + echo "-----------------------------------------------" + if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then + read -r -p "切换时将停止服务,是否继续?(1/0) > " res + [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports else - echo -e "\033[33m已取消禁止QUIC协议流量!!\033[0m" - quic_rj=OFF + set_common_ports fi - setconfig quic_rj $quic_rj - else - echo -e "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" - fi - sleep 1 - set_fw_filter - ;; - 4) - if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then - if [ "$cn_ip_route" = "OFF" ]; then - echo -e "\033[32m已开启CN_IP绕过内核功能!!\033[0m" - echo -e "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" - cn_ip_route=ON - sleep 2 + ;; + 2) + checkcfg_mac=$(cat "$CRASHDIR"/configs/mac) + fw_filter_lan + if [ -n "$PID" ]; then + checkcfg_mac_new=$(cat "$CRASHDIR"/configs/mac) + [ "$checkcfg_mac" != "$checkcfg_mac_new" ] && checkrestart + fi + ;; + 3) + echo "-----------------------------------------------" + if echo "$redir_mod" | grep -oqE '混合|Tproxy|Tun'; then + if [ "$quic_rj" = "OFF" ]; then + echo -e "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" + quic_rj=ON + else + echo -e "\033[33m已取消禁止QUIC协议流量!!\033[0m" + quic_rj=OFF + fi + setconfig quic_rj $quic_rj else - echo -e "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" - cn_ip_route=OFF + echo -e "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" fi - setconfig cn_ip_route $cn_ip_route - else - echo -e "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" sleep 1 - fi - set_fw_filter - ;; - 5) - set_cust_host_ipv4 - set_fw_filter - ;; - 6) - [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" - echo -e "当前网段:\033[36m$reserve_ipv4\033[0m" - echo -e "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" - read -p "请输入 > " text - if [ -n "$( - echo $text | grep -E "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" - )" ]; then - reserve_ipv4="$text" - echo -e "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" - setconfig reserve_ipv4 "'$reserve_ipv4'" - else - echo -e "\033[31m输入有误,操作已取消!\033[0m" - fi - sleep 1 - set_fw_filter - ;; - *) - errornum - ;; - esac + ;; + 4) + if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then + if [ "$cn_ip_route" = "OFF" ]; then + echo -e "\033[32m已开启CN_IP绕过内核功能!!\033[0m" + echo -e "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" + cn_ip_route=ON + sleep 2 + else + echo -e "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" + cn_ip_route=OFF + fi + setconfig cn_ip_route $cn_ip_route + else + echo -e "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" + sleep 1 + fi + ;; + 5) + set_cust_host_ipv4 + ;; + 6) + [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" + echo -e "当前网段:\033[36m$reserve_ipv4\033[0m" + echo -e "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" + read -p "请输入 > " text + if + echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" + then + reserve_ipv4="$text" + echo -e "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + setconfig reserve_ipv4 "'$reserve_ipv4'" + else + echo -e "\033[31m输入有误,操作已取消!\033[0m" + fi + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } + set_common_ports() { [ -z "$multiport" ] && multiport='22,80,443,8080,8443' echo "-----------------------------------------------" From c72840d813f2be16adb45e7c20b4d749832e4687 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 17:33:26 +0800 Subject: [PATCH 088/318] =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20?= =?UTF-8?q?=20=20=20=20scripts/menu.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index d3db9dce..bd4d704b 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -19,7 +19,7 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg . "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/1_start.sh . "$CRASHDIR"/menus/running_status.sh -# . "$CRASHDIR"/menus/tui_layout.sh +. "$CRASHDIR"/menus/tui_layout.sh # 加载语言 load_lang common From bdc2505570b48fb02d4487aba3cfdb8ed9491c6f Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 17:44:46 +0800 Subject: [PATCH 089/318] ~Add install_en.sh --- README.md | 18 +-- install_en.sh | 373 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 382 insertions(+), 9 deletions(-) create mode 100644 install_en.sh diff --git a/README.md b/README.md index 0649f7b5..c5ce0571 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ ShellCrash is designed to be compatible with the vast majority of network device > Install via wget (jsDelivr CDN source) ```sh export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ - && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && bash /tmp/install.sh \ && . /etc/profile &> /dev/null ``` @@ -67,7 +67,7 @@ export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https:/ ```sh export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ - && bash -c "$(curl -kfsSl $url/install.sh)" \ + && bash -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile &> /dev/null ``` @@ -77,7 +77,7 @@ export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ > GitHub Source (Recommended for overseas environments or environments with proxy access) ```sh export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https://raw.githubusercontent.com/juewuy/ShellCrash/master)' \ - && sh -c "$(curl -kfsSl $url/install.sh)" \ + && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile &> /dev/null ``` @@ -85,14 +85,14 @@ export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https:/ ```sh export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ - && sh -c "$(curl -kfsSl $url/install.sh)" \ + && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile &> /dev/null ``` > Or Author's private source ```sh export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ - && sh -c "$(curl -kfsSl $url/install.sh)" \ + && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile &> /dev/null ``` @@ -100,7 +100,7 @@ export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ > GitHub Source (Recommended for overseas environments or environments with proxy access) ```sh export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https://raw.githubusercontent.com/juewuy/ShellCrash/master)' \ - && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` @@ -108,7 +108,7 @@ export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https:/ > Or jsDelivr CDN source ```sh export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ - && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` @@ -118,7 +118,7 @@ export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https:/ > Author's private HTTP beta source ```sh export url='[http://t.jwsc.eu.org](http://t.jwsc.eu.org)' \ - && wget -q -O /tmp/install.sh $url/install.sh \ + && wget -q -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` @@ -132,7 +132,7 @@ apk add --no-cache wget openrc ca-certificates tzdata nftables iproute2 dcron # Execute installation command export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ - && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh \ + && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null ``` diff --git a/install_en.sh b/install_en.sh new file mode 100644 index 00000000..90ccdbde --- /dev/null +++ b/install_en.sh @@ -0,0 +1,373 @@ +#!/bin/sh +# Copyright (C) Juewuy + +echo "***********************************************" +echo "** Welcome to **" +echo "** ShellCrash **" +echo "** by Juewuy **" +echo "***********************************************" + +[ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master" + +# Internal Tools +cecho() { + printf '%b\n' "$*" +} +dir_avail() { + df -h >/dev/null 2>&1 && h="$2" + df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' +} +ckcmd() { + if command -v sh >/dev/null 2>&1; then + command -v "$1" >/dev/null 2>&1 + else + type "$1" >/dev/null 2>&1 + fi +} +webget() { + # Parameter [$1] Download Path, [$2] Online URL + # Parameter [$3] Display Output, [$4] Disable Redirects + if curl --version >/dev/null 2>&1; then + [ "$3" = "echooff" ] && progress='-s' || progress='-#' + [ -z "$4" ] && redirect='-L' || redirect='' + result=$(curl -w %{http_code} --connect-timeout 5 "$progress" "$redirect" -ko "$1" "$2") + [ -n "$(echo $result | grep -e ^2)" ] && result="200" + else + if wget --version >/dev/null 2>&1; then + [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' + [ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect='' + certificate='--no-check-certificate' + timeout='--timeout=3' + fi + [ "$3" = "echoon" ] && progress='' + [ "$3" = "echooff" ] && progress='-q' + wget "$progress" "$redirect" "$certificate" "$timeout" -O "$1" "$2" + [ $? -eq 0 ] && result="200" + fi +} +error_down() { + cecho "Please refer to \033[32mhttps://github.com/juewuy/ShellCrash/blob/master/README.md" + cecho "\033[33mUse an alternative source to reinstall!\033[0m" +} + +# Installation and Initialization +set_alias() { + while true; do + echo "-----------------------------------------------" + cecho "\033[36mPlease select an alias or enter a custom one:\033[0m" + echo "-----------------------------------------------" + cecho " 1 【\033[32mcrash\033[0m】" + cecho " 2 【\033[32m sc \033[0m】" + cecho " 3 【\033[32m mm \033[0m】" + cecho " 0 Exit Installation" + echo "-----------------------------------------------" + read -p "Enter number or custom alias > " res + case "$res" in + 0) + echo "Installation cancelled" + exit 1 + ;; + 1) + my_alias=crash + ;; + 2) + my_alias=sc + ;; + 3) + my_alias=mm + ;; + *) + my_alias=$res + ;; + esac + cmd=$(ckcmd "$my_alias" | grep 'menu.sh') + ckcmd "$my_alias" && [ -z "$cmd" ] && { + cecho "\033[33mThis alias conflicts with a system command; please choose another!\033[0m" + sleep 1 + continue + } + break + done +} +gettar() { + webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" >/dev/null 2>&1 + if [ "$result" != "200" ]; then + cecho "\033[33mFile download failed!\033[0m" + error_down + exit 1 + else + "$CRASHDIR"/start.sh stop 2>/dev/null + # Extract + echo "-----------------------------------------------" + echo "Starting file extraction!" + mkdir -p "$CRASHDIR" >/dev/null + tar -zxf '/tmp/ShellCrash.tar.gz' -C "$CRASHDIR"/ || tar -zxf '/tmp/ShellCrash.tar.gz' --no-same-owner -C "$CRASHDIR"/ + if [ -s "$CRASHDIR"/init.sh ]; then + set_alias + . "$CRASHDIR"/init.sh >/dev/null + [ "$?" != 0 ] && cecho "\033[33mInitialization failed, try local installation!\033[0m" && exit 1 + else + rm -rf /tmp/ShellCrash.tar.gz + cecho "\033[33mFile extraction failed!\033[0m" + error_down + exit 1 + fi + fi +} +set_usb_dir() { + while true; do + cecho "Please select installation directory" + du -hL /mnt | awk '{print " "NR" "$2" "$1}' + read -p "Enter number > " num + dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) + if [ -z "$dir" ]; then + cecho "\033[31mInvalid input! Please try again!\033[0m" + continue + fi + break 1 + done +} +set_xiaomi_dir() { + cecho "\033[33mXiaomi device detected, please select installation location\033[0m" + [ -d /data ] && cecho " 1 Install to /data, Free space: $(dir_avail /data -h) (Supports soft-hardening)" + [ -d /userdisk ] && cecho " 2 Install to /userdisk, Free space: $(dir_avail /userdisk -h) (Supports soft-hardening)" + [ -d /data/other_vol ] && cecho " 3 Install to /data/other_vol, Free space: $(dir_avail /data/other_vol -h) (Supports soft-hardening)" + cecho " 4 Custom directory (Not recommended for beginners!)" + cecho " 0 Exit" + echo "-----------------------------------------------" + read -p "Enter number > " num + case "$num" in + 1) + dir=/data + ;; + 2) + dir=/userdisk + ;; + 3) + dir=/data/other_vol + ;; + 4) + set_cust_dir + ;; + *) + exit 1 + ;; + esac +} +set_asus_usb() { + while true; do + echo -e "Please select USB directory" + du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' + read -p "Enter number > " num + dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) + if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then + echo -e "\033[31mDownload Master startup file not found: $dir/asusware.arm/etc/init.d/S50downloadmaster. Check settings!\033[0m" + sleep 1 + else + break + fi + done +} +set_asus_dir() { + cecho "\033[33mAsus firmware detected, please select installation method\033[0m" + cecho " 1 Via USB + Download Master (Supports all firmware, ARM only, USB required)" + cecho " 2 Via startup script (Merlin firmware only)" + cecho " 0 Exit" + echo "-----------------------------------------------" + read -p "Enter number > " num + case "$num" in + 1) + echo -e "Please install and enable Download Master in the router web UI first, then select the storage directory!" + sleep 2 + set_asus_usb + ;; + 2) + cecho "If auto-start fails after reboot, please use USB + Download Master method instead!" + sleep 2 + dir=/jffs + ;; + *) + exit 1 + ;; + esac +} +set_cust_dir() { + while true; do + echo "-----------------------------------------------" + echo 'Path | Free Space:' + df -h | awk '{print $6,$4}' | sed 1d + echo 'Path must start with "/". Files in virtual memory (/tmp, /opt, /sys...) will be lost on reboot!!!' + read -p "Enter custom path > " dir + if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -Eq '^/(tmp|opt|sys)(/|$)')" ]; then + cecho "\033[31mInvalid path! Please try again!\033[0m" + continue + fi + break 1 + done +} + +setdir() { + while true; do + echo "-----------------------------------------------" + cecho "\033[33mNote: ShellCrash requires at least 1MB of disk space\033[0m" + case "$systype" in + Padavan) dir=/etc/storage ;; + mi_snapshot) set_xiaomi_dir ;; + asusrouter) set_asus_dir ;; + ng_snapshot) dir=/tmp/mnt ;; + *) + cecho " 1 Install in \033[32m/etc\033[0m (Best for root users)" + cecho " 2 Install in \033[32m/usr/share\033[0m (Standard Linux systems)" + cecho " 3 Install in \033[32mUser Directory\033[0m (Best for non-root users)" + cecho " 4 Install on \033[32mExternal Storage\033[0m" + cecho " 5 Manual path entry" + cecho " 0 Exit" + echo "----------------------------------------------" + read -p "Enter number > " num + # Set Dir + case "$num" in + 1) + dir=/etc + ;; + 2) + dir=/usr/share + ;; + 3) + dir=~/.local/share + mkdir -p ~/.config/systemd/user + ;; + 4) + set_usb_dir + ;; + 5) + set_cust_dir + ;; + *) + echo "Installation cancelled" + exit 1 + ;; + esac + ;; + esac + + if [ ! -w "$dir" ]; then + cecho "\033[31mNo write permission for $dir! Please reset!\033[0m" + sleep 1 + else + cecho "Target directory: \033[32m$dir\033[0m | Free space: $(dir_avail "$dir" -h)" + read -p "Confirm installation? (1/0) > " res + if [ "$res" = "1" ]; then + CRASHDIR="$dir"/ShellCrash + break + fi + fi + done +} +install() { + echo "-----------------------------------------------" + echo "Retrieving installation files from server..." + echo "-----------------------------------------------" + gettar + echo "-----------------------------------------------" + echo "ShellCrash installed successfully!" + [ "$profile" = "~/.bashrc" ] && echo "Please run [. ~/.bashrc > /dev/null] to update environment variables!" + [ -n "$(ls -l /bin/sh | grep -oE 'zsh')" ] && echo "Please run [. ~/.zshrc > /dev/null] to update environment variables!" + echo "-----------------------------------------------" + cecho "\033[33mType \033[30;47m $my_alias \033[0;33m to start management dashboard!!!\033[0m" + echo "-----------------------------------------------" +} +setversion() { + echo "-----------------------------------------------" + cecho "\033[33mSelect version to install:\033[0m" + cecho " 1 \033[32mBeta (Recommended)\033[0m" + cecho " 2 \033[36mStable\033[0m" + cecho " 3 \033[31mDev (Unstable)\033[0m" + echo "-----------------------------------------------" + read -p "Enter number > " num + case "$num" in + 2) + url=$(echo "$url" | sed 's/master/stable/') + ;; + 3) + url=$(echo "$url" | sed 's/master/dev/') + ;; + *) ;; + esac +} + +# Pre-Install Checks +check_systype() { + [ -f "/etc/storage/started_script.sh" ] && { + systype=Padavan # Padavan Firmware + initdir='/etc/storage/started_script.sh' + } + [ -d "/jffs" ] && { + systype=asusrouter # Asus Firmware + [ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter' + [ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start' + } + [ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot # Xiaomi device + [ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot # NETGEAR device +} +check_user() { + if [ "$USER" != "root" ] && [ -z "$systype" ]; then + echo "Current User: $USER" + cecho "\033[31mPlease use the root user (do not use sudo directly!) to install!\033[0m" + echo "-----------------------------------------------" + read -p "Install anyway? Unknown errors may occur! (1/0) > " res + [ "$res" != "1" ] && exit 1 + fi +} +check_version() { + echo "$url" | grep -q 'master' && setversion + webget /tmp/version "$url/version" echooff + [ "$result" = "200" ] && versionsh=$(cat /tmp/version) + rm -rf /tmp/version + + # Output + cecho "Latest Version: \033[32m$versionsh\033[0m" + echo "-----------------------------------------------" + cecho "\033[44mFor issues, please join the TG group: \033[42;30m t.me/ShellClash \033[0m" + cecho "\033[37mSupports various OpenWrt-based router devices" + cecho "\033[33mSupports Debian, Centos and standard Linux systems\033[0m" +} +check_dir() { + if [ -n "$CRASHDIR" ]; then + echo "-----------------------------------------------" + cecho "Old installation detected at \033[36m$CRASHDIR\033[0m. Overwrite?" + cecho "\033[32mConfiguration files will NOT be removed during overwrite!\033[0m" + echo " 1 Overwrite Installation" + echo " 2 Uninstall old version and reinstall" + echo " 0 Cancel" + read -p "Enter number > " num + case "$num" in + 1) + install + ;; + 2) + [ "$CRASHDIR" != "/" ] && rm -rf "$CRASHDIR" + echo "-----------------------------------------------" + cecho "\033[31mOld version uninstalled!\033[0m" + setdir + install + ;; + 9) + echo "Test Mode: Changing installation path $CRASHDIR" + setdir + install + ;; + *) + cecho "\033[31mInstallation cancelled!\033[0m" + exit 1 + ;; + esac + else + setdir + install + fi +} + +check_systype +check_user +check_version +check_dir From 6aa56b0c29397decafe2325920fb6a00a361dc6e Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 17:49:29 +0800 Subject: [PATCH 090/318] ~Add install_en.sh --- README.md | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index c5ce0571..77139255 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ ShellCrash is designed to be compatible with the vast majority of network device > Install via wget (jsDelivr CDN source) ```sh -export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && bash /tmp/install.sh \ && . /etc/profile &> /dev/null @@ -66,9 +66,7 @@ export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https:/ > Or install via curl (Author's private source) ```sh -export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ - && bash -c "$(curl -kfsSl $url/install_en.sh)" \ - && . /etc/profile &> /dev/null +export url='https://gh.jwsc.eu.org/dev' && bash -c "$(curl -kfsSl $url/install_en.sh)" && . /etc/profile &> /dev/null ``` ### :satellite: Router Device Installation @@ -76,7 +74,7 @@ export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ **Installation via `curl`:** > GitHub Source (Recommended for overseas environments or environments with proxy access) ```sh -export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https://raw.githubusercontent.com/juewuy/ShellCrash/master)' \ +export url='https://raw.githubusercontent.com/juewuy/ShellCrash/dev' \ && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile &> /dev/null ``` @@ -84,22 +82,20 @@ export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https:/ > Or jsDelivr CDN source ```sh -export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev' \ && sh -c "$(curl -kfsSl $url/install_en.sh)" \ && . /etc/profile &> /dev/null ``` > Or Author's private source ```sh -export url='[https://gh.jwsc.eu.org/master](https://gh.jwsc.eu.org/master)' \ - && sh -c "$(curl -kfsSl $url/install_en.sh)" \ - && . /etc/profile &> /dev/null +export url='https://gh.jwsc.eu.org/dev' && sh -c "$(curl -kfsSl $url/install_en.sh)" && . /etc/profile &> /dev/null ``` **Installation via `wget`:** > GitHub Source (Recommended for overseas environments or environments with proxy access) ```sh -export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https://raw.githubusercontent.com/juewuy/ShellCrash/master)' \ +export url='https://raw.githubusercontent.com/juewuy/ShellCrash/dev' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null @@ -107,7 +103,7 @@ export url='[https://raw.githubusercontent.com/juewuy/ShellCrash/master](https:/ > Or jsDelivr CDN source ```sh -export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null @@ -117,7 +113,7 @@ export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https:/ > Author's private HTTP beta source ```sh -export url='[http://t.jwsc.eu.org](http://t.jwsc.eu.org)' \ +export url='http://t.jwsc.eu.org' \ && wget -q -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null @@ -129,9 +125,8 @@ export url='[http://t.jwsc.eu.org](http://t.jwsc.eu.org)' \ ```sh # Install necessary dependencies apk add --no-cache wget openrc ca-certificates tzdata nftables iproute2 dcron - # Execute installation command -export url='[https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master](https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master)' \ +export url='https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@dev' \ && wget -q --no-check-certificate -O /tmp/install.sh $url/install_en.sh \ && sh /tmp/install.sh \ && . /etc/profile &> /dev/null From 48fd622ba20baabfb1a847f2b5867acf8d26ef56 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 17:57:17 +0800 Subject: [PATCH 091/318] ~Add i18n install set --- install.sh | 1 + install_en.sh | 1 + scripts/init.sh | 2 ++ 3 files changed, 4 insertions(+) diff --git a/install.sh b/install.sh index 26e55653..201050f2 100644 --- a/install.sh +++ b/install.sh @@ -7,6 +7,7 @@ echo "** ShellCrash **" echo "** by Juewuy **" echo "***********************************************" +language=chs [ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master" # 内置工具 diff --git a/install_en.sh b/install_en.sh index 90ccdbde..19f446b9 100644 --- a/install_en.sh +++ b/install_en.sh @@ -7,6 +7,7 @@ echo "** ShellCrash **" echo "** by Juewuy **" echo "***********************************************" +language=en [ -z "$url" ] && url="https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master" # Internal Tools diff --git a/scripts/init.sh b/scripts/init.sh index 3a3e358f..e7aad554 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -101,6 +101,8 @@ grep -q 'firewall_mod' "$CRASHDIR/configs/ShellClash.cfg" 2>/dev/null || { } #设置更新地址 [ -n "$url" ] && setconfig update_url $url +#设置语言 +[ -n "$language" ] && echo "$language" > "$CRASHDIR/configs/i18n.cfg" #设置环境变量 [ -w /opt/etc/profile ] && [ "$systype" = "Padavan" ] && profile=/opt/etc/profile [ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add From 599dcdb15b7eec1ce9f7dd7459b360333f9aad3a Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 17:59:51 +0800 Subject: [PATCH 092/318] feat(content_line): add automatic line break functionality --- scripts/menus/tui_layout.sh | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 7c10ddba..2e6bc65b 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -14,10 +14,35 @@ FULL_EQ="======================================================================= FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " # function to print content lines -# (using cursor jump) +# (using cursor jump with auto-wrapping and color handling) content_line() { local param="${1:-}" - echo -e " ${param}\033[${TABLE_WIDTH}G||" + + # Calculate Available Text Width + local text_width=$((TABLE_WIDTH - 3)) + + # 1. Extract color codes (if present) + # Use sed to capture the leading ANSI Escape Code (\x1b is the hexadecimal representation of ESC) + # This line extracts \033[33m... from \033[33m and stores it in color_code + local color_code + color_code=$(echo -e "$param" | sed -n 's/^\(\x1b\[[0-9;]*m\).*/\1/p') + + # 2. Generate Clean Text + # Use sed to remove all ANSI color codes, retaining only plain text content + # This allows fold to accurately count characters without premature line breaks + local clean_text + clean_text=$(echo -e "$param" | sed 's/\x1b\[[0-9;]*m//g') + + if [ -z "$clean_text" ]; then + echo -e " \033[${TABLE_WIDTH}G||" + else + # 3. Insert line breaks in plain text + echo "$clean_text" | fold -s -w "$text_width" | while IFS= read -r line; do + # 4. Output Restructuring + # Force the addition of color_code to each line and append \033[0m to reset at the end + echo -e " ${color_code}${line}\033[0m\033[${TABLE_WIDTH}G||" + done + fi } # function to print sub content lines From 7e3ec496bece38046c23138300aac58b0f9c905c Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 18:15:57 +0800 Subject: [PATCH 093/318] refactor(set_common_ports): replace recursion with while loop --- scripts/menus/fw_filter.sh | 148 +++++++++++++++++++------------------ 1 file changed, 75 insertions(+), 73 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 605e587f..1b5877ed 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -105,80 +105,82 @@ set_fw_filter() { } set_common_ports() { - [ -z "$multiport" ] && multiport='22,80,443,8080,8443' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" - [ -n "$common_ports" ] && - echo -e "当前放行端口:\033[36m$multiport\033[0m" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" - echo -e " 2 添加放行端口" - echo -e " 3 移除指定放行端口" - echo -e " 4 重置默认放行端口" - echo -e " 5 重置为旧版放行端口" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case $num in - 1) - if [ "$common_ports" = ON ];then - common_ports=OFF - else - common_ports=ON - fi - setconfig common_ports "$common_ports" - set_common_ports - ;; - 2) - port_count=$(echo "$multiport" | awk -F',' '{print NF}' ) - if [ "$port_count" -ge 15 ];then - echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" - else - read -p "请输入要放行的端口号 > " port - if echo ",$multiport," | grep -q ",$port,";then - echo -e "\033[31m输入错误!请勿重复添加!\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - multiport=$(echo "$multiport,$port" | sed "s/^,//") - setconfig multiport "$multiport" - fi - fi - sleep 1 - set_common_ports - ;; - 3) - read -p "请输入要移除的端口号 > " port - if echo ",$multiport," | grep -q ",$port,";then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") - setconfig multiport "$multiport" - fi - else - echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" - fi - sleep 1 - set_common_ports - ;; - 4) - multiport='' - setconfig multiport - sleep 1 - set_common_ports - ;; - 5) - multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' - setconfig multiport "$multiport" - sleep 1 - set_common_ports - ;; - *) - errornum - ;; - esac + while true; do + [ -z "$multiport" ] && multiport='22,80,443,8080,8443' + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" + [ -n "$common_ports" ] && + echo -e "当前放行端口:\033[36m$multiport\033[0m" + echo "-----------------------------------------------" + echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" + echo -e " 2 添加放行端口" + echo -e " 3 移除指定放行端口" + echo -e " 4 重置默认放行端口" + echo -e " 5 重置为旧版放行端口" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$common_ports" = ON ]; then + common_ports=OFF + else + common_ports=ON + fi + setconfig common_ports "$common_ports" + ;; + 2) + port_count=$(echo "$multiport" | awk -F',' '{print NF}') + if [ "$port_count" -ge 15 ]; then + echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" + else + read -r -p "请输入要放行的端口号 > " port + if echo ",$multiport," | grep -q ",$port,"; then + echo -e "\033[31m输入错误!请勿重复添加!\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + multiport=$(echo "$multiport,$port" | sed "s/^,//") + setconfig multiport "$multiport" + fi + fi + sleep 1 + ;; + 3) + read -r -p "请输入要移除的端口号 > " port + if echo ",$multiport," | grep -q ",$port,"; then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") + setconfig multiport "$multiport" + fi + else + echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" + fi + sleep 1 + ;; + 4) + multiport='' + setconfig multiport + sleep 1 + ;; + 5) + multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' + setconfig multiport "$multiport" + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } + set_cust_host_ipv4() { #自定义ipv4透明路由网段 [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip From bd5b9b315ed42edca2a0d19df277d768772ed7f7 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 18:52:29 +0800 Subject: [PATCH 094/318] =?UTF-8?q?~1.9.5a1=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShellCrash.tar.gz | Bin 122491 -> 132732 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index ce5c8caae7ce9cc40d02b16fb2aa89f803064d29..8ffc5e7ea593378414ea761fbfbae16ff3a9176e 100644 GIT binary patch literal 132732 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%0DP^riOpj*G)Q#x_1T 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 literal 122491 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%0DX{@+`-mCXX>D0 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 JL<|7H2mqTwGcy1H diff --git a/bin/version b/bin/version index c74fa349..06dd04fb 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.4beta4 +versionsh=1.9.5alpha1 GeoIP_v=20251205 diff --git a/version b/version index 1073bb39..07be7c83 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.4beta4 +1.9.5alpha1 From 8b2bff3b03e57b3a3675f6f5cac3f794e7c42322 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 19:06:59 +0800 Subject: [PATCH 095/318] ~bug fix --- ShellCrash.tar.gz | Bin 132732 -> 132745 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 8ffc5e7ea593378414ea761fbfbae16ff3a9176e..4331d692dde7b5c3e8091ce3743d4ab2855113f0 100644 GIT binary patch delta 121393 zcmW(*cQ_l|+a_WpMv2(k3Nd0v#B8+@L}Kq0xW?3mLD8cbs4VdW+*Z5=vLc$|Y6gI6N<1%3n0O5h$^gQdoMAz8;ju4;fu$Z1u z#DKMCPssk03q#|)V_tv3PF^=Xo(lq1-AYRmnAE}R-`~D}`}Xa7vm39s*I#YE_5IKN z_L&=^MEU9GV;{@k{Sp4DXIJdU(x!bz_x^YNYerAj0%&_l<-K zd^<5I`R_|2_3RQ=-dcqjKIOd>m~Zu;Pr{v_i&j)`l~+U?Ba`sVyQ;d&c*}a zI`NEL^L2edbqe5_{-dH=QB-)Wjcf3bDvQg&t7_VNPug5AMLsi<{^B2O-U}h6ozf1M zjtIX4X1n#x1y0_DF%dLFK^frBL=ALi?c!u}y?XaVQm%6FF z#p2d>maFd+%dhksJT~C5gUDxA)=Y!9h$~hwwvG2Ua_1Rnv#&N!aOU<2C9O)HXFo`{xSeHkAca|MGGYAmgq)EkTM2 ze^KR?NelQ-6%zsr&hCixDEpw`psa`5iRLrwPO7%f4x+1;B-=#`{gkkl&`WJW#Hu1^ zQ!$4&`7!A?13G{Tv~f8_`kie!Wa3h+M(AYaq={a^E0N1h`W0+Cle?FiYW^LYSx%ZT*{wqBdl{UgEU`f!8fx zAdKqv8WJD^7tY5Ok+g8GZ{vy)Lw>A^5X2UQnhA2b<>5j*oz~%=R>^fTQAK|BcXOT6 z_(N0;4BhwKk%WX$=`15uS5go~PB08t<+yE!KdvN)!4S6D_aL?W9hJjuVEu z*OeR4Pxo_0W|!_!H)EEib>TzhjnjIyilONr_j1$y&~ZwygTpq=o&c*y*g|4KM;!=gh_jmM+XO zM@<^&E(~Xei#MH2?4P_IXq)U9W$5ZIszXf5hkDs%yzWN8jjCWuH|n?LpTX37=GB1( z+|V*=77Fr^J!0jB3U{>|NIdt_?zPBMO_+x2dHWi(mPlW=cb{W$hxWt75>%gnruR<0 zc97hPE-y!ei(k=Lki>7%tkk�-u}j4VuzIO;k>0RXMTroZRk+cGH<7Cc@`xc(>~5 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 kXXDv;HlB@V Date: Sun, 18 Jan 2026 19:10:02 +0800 Subject: [PATCH 096/318] Update README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 77139255..6de35e6b 100644 --- a/README.md +++ b/README.md @@ -171,3 +171,7 @@ crash -h # View the list of command help - FAQ: [Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/) - Changelog: [Release History](https://github.com/juewuy/ShellCrash/releases) - Discussion: [Telegram Group](https://t.me/ShellClash) + +## :scroll: License + +This project is licensed under the [GNU General Public License v3.0](LICENSE). From 3f6b38b5fbbb8175046eacd079362f9857749d7b Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 19:12:47 +0800 Subject: [PATCH 097/318] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6de35e6b..9707b5fa 100644 --- a/README.md +++ b/README.md @@ -174,4 +174,4 @@ crash -h # View the list of command help ## :scroll: License -This project is licensed under the [GNU General Public License v3.0](LICENSE). +This project is licensed under the [GNU General Public License v3.0](LICENSE.txt). From 1dd48baca25f5fc9d04c3fb35559511162e91604 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 18 Jan 2026 19:14:25 +0800 Subject: [PATCH 098/318] Update README_CN.md --- README_CN.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README_CN.md b/README_CN.md index e1bc4b50..d76f3f70 100644 --- a/README_CN.md +++ b/README_CN.md @@ -179,6 +179,12 @@ crash -h # 查看命令帮助列表 --- +## :scroll: 许可协议 + +本项目采用[GNU通用公共许可证第3.0版](LICENSE.txt)授权。 + +--- + ## :airplane: 机场推荐 - [**Dler-墙洞**](https://dler.pro/auth/register?affid=89698),多年稳定运行,功能齐全。 From 8fe56b622e0ee83be9449bf50292ce55c7b43e0d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 20:44:29 +0800 Subject: [PATCH 099/318] ~bug fix --- scripts/menus/fw_filter.sh | 2 +- scripts/menus/running_status.sh | 4 ++-- scripts/starts/singbox_modify.sh | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 1b5877ed..40b57bcb 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -16,7 +16,7 @@ set_fw_filter() { echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" - echo -e " 4 过滤CN_IP(6)列表: \033[36m$cn_ip_route\033[0m ————优化性能,不兼容Fake-ip" + echo -e " 4 过滤CN_IP(4/6)列表: \033[36m$cn_ip_route\033[0m ————优化性能" echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" echo "-----------------------------------------------" diff --git a/scripts/menus/running_status.sh b/scripts/menus/running_status.sh index 1e0245a9..e62c8acc 100644 --- a/scripts/menus/running_status.sh +++ b/scripts/menus/running_status.sh @@ -7,7 +7,7 @@ running_status(){ if [ -n "$start_time" ]; then time=$(($(date +%s) - start_time)) day=$((time / 86400)) - [ "$day" = "0" ] && day='' || day="$day天" - time=$(date -u -d @${time} +%H小时%M分%S秒) + [ "$day" = "0" ] && day='' || day="$dayD" + time=$(date -u -d @${time} +%H:%M:%S) fi } diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index edec27cf..1a04c444 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -200,7 +200,7 @@ EOF EOF #生成add_route.json #域名嗅探配置 - [ "$sniffer" = ON ] && ! grep -Eq '"action" *:[[:space:]]*"sniff"' "$CRASHDIR"/jsons/*.json && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' + [ "$sniffer" = ON ] && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' [ "$ts_service" = ON ] && tailscale_set='{ "inbound": [ "ts-ep" ], "port": 53, "action": "hijack-dns" },' cat >"$TMPDIR"/jsons/add_route.json < Date: Sun, 18 Jan 2026 20:52:02 +0800 Subject: [PATCH 100/318] ~bug fix --- scripts/libs/get_config.sh | 7 +- scripts/libs/web_get.sh | 2 +- scripts/menus/6_core_config.sh | 2 +- scripts/menus/fw_filter.sh | 150 ++++++++++++++++--------------- scripts/menus/running_status.sh | 4 +- scripts/menus/tui_layout.sh | 29 +----- scripts/starts/singbox_modify.sh | 6 +- 7 files changed, 87 insertions(+), 113 deletions(-) diff --git a/scripts/libs/get_config.sh b/scripts/libs/get_config.sh index 333c85ac..d882287d 100644 --- a/scripts/libs/get_config.sh +++ b/scripts/libs/get_config.sh @@ -13,10 +13,7 @@ routing_mark=$((fwmark + 2)) [ -z "$dns_nameserver" ] && { dns_nameserver='223.5.5.5, 1.2.4.8' - cat /proc/net/udp | grep -q '0035' && dns_nameserver='localhost' + cat /proc/net/udp | grep -q '0035' && dns_nameserver='127.0.0.1' } [ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8" -[ -z "$dns_resolver" ] && { - dns_resolver="223.5.5.5, 2400:3200::1" - cat /proc/net/udp | grep -q '0035' && dns_resolver='127.0.0.1' -} \ No newline at end of file +[ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1" diff --git a/scripts/libs/web_get.sh b/scripts/libs/web_get.sh index 261a91ee..51ccb5df 100644 --- a/scripts/libs/web_get.sh +++ b/scripts/libs/web_get.sh @@ -43,7 +43,7 @@ webget(){ wget -Y off $progress -O "$1" "$2" return $? else - echo "找不到可用下载工具!!!请安装Curl或Wget!!!" + echo "No Curl or Wget!!!" return 1 fi } \ No newline at end of file diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 39a3dc73..b6ddacb1 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -551,7 +551,7 @@ EOF sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json #使用模版生成outbounds和rules模块 - cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json + cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json rm -rf "$TMPDIR"/provider_temp_file #调用内核测试 . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 605e587f..40b57bcb 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -16,7 +16,7 @@ set_fw_filter() { echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" - echo -e " 4 过滤CN_IP(6)列表: \033[36m$cn_ip_route\033[0m ————优化性能,不兼容Fake-ip" + echo -e " 4 过滤CN_IP(4/6)列表: \033[36m$cn_ip_route\033[0m ————优化性能" echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" echo "-----------------------------------------------" @@ -105,80 +105,82 @@ set_fw_filter() { } set_common_ports() { - [ -z "$multiport" ] && multiport='22,80,443,8080,8443' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" - [ -n "$common_ports" ] && - echo -e "当前放行端口:\033[36m$multiport\033[0m" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" - echo -e " 2 添加放行端口" - echo -e " 3 移除指定放行端口" - echo -e " 4 重置默认放行端口" - echo -e " 5 重置为旧版放行端口" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case $num in - 1) - if [ "$common_ports" = ON ];then - common_ports=OFF - else - common_ports=ON - fi - setconfig common_ports "$common_ports" - set_common_ports - ;; - 2) - port_count=$(echo "$multiport" | awk -F',' '{print NF}' ) - if [ "$port_count" -ge 15 ];then - echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" - else - read -p "请输入要放行的端口号 > " port - if echo ",$multiport," | grep -q ",$port,";then - echo -e "\033[31m输入错误!请勿重复添加!\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - multiport=$(echo "$multiport,$port" | sed "s/^,//") - setconfig multiport "$multiport" - fi - fi - sleep 1 - set_common_ports - ;; - 3) - read -p "请输入要移除的端口号 > " port - if echo ",$multiport," | grep -q ",$port,";then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - else - multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") - setconfig multiport "$multiport" - fi - else - echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" - fi - sleep 1 - set_common_ports - ;; - 4) - multiport='' - setconfig multiport - sleep 1 - set_common_ports - ;; - 5) - multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' - setconfig multiport "$multiport" - sleep 1 - set_common_ports - ;; - *) - errornum - ;; - esac + while true; do + [ -z "$multiport" ] && multiport='22,80,443,8080,8443' + echo "-----------------------------------------------" + echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" + [ -n "$common_ports" ] && + echo -e "当前放行端口:\033[36m$multiport\033[0m" + echo "-----------------------------------------------" + echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" + echo -e " 2 添加放行端口" + echo -e " 3 移除指定放行端口" + echo -e " 4 重置默认放行端口" + echo -e " 5 重置为旧版放行端口" + echo -e " 0 返回上级菜单" + echo "-----------------------------------------------" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$common_ports" = ON ]; then + common_ports=OFF + else + common_ports=ON + fi + setconfig common_ports "$common_ports" + ;; + 2) + port_count=$(echo "$multiport" | awk -F',' '{print NF}') + if [ "$port_count" -ge 15 ]; then + echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" + else + read -r -p "请输入要放行的端口号 > " port + if echo ",$multiport," | grep -q ",$port,"; then + echo -e "\033[31m输入错误!请勿重复添加!\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + multiport=$(echo "$multiport,$port" | sed "s/^,//") + setconfig multiport "$multiport" + fi + fi + sleep 1 + ;; + 3) + read -r -p "请输入要移除的端口号 > " port + if echo ",$multiport," | grep -q ",$port,"; then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + else + multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") + setconfig multiport "$multiport" + fi + else + echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" + fi + sleep 1 + ;; + 4) + multiport='' + setconfig multiport + sleep 1 + ;; + 5) + multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' + setconfig multiport "$multiport" + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } + set_cust_host_ipv4() { #自定义ipv4透明路由网段 [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip diff --git a/scripts/menus/running_status.sh b/scripts/menus/running_status.sh index 1e0245a9..e62c8acc 100644 --- a/scripts/menus/running_status.sh +++ b/scripts/menus/running_status.sh @@ -7,7 +7,7 @@ running_status(){ if [ -n "$start_time" ]; then time=$(($(date +%s) - start_time)) day=$((time / 86400)) - [ "$day" = "0" ] && day='' || day="$day天" - time=$(date -u -d @${time} +%H小时%M分%S秒) + [ "$day" = "0" ] && day='' || day="$dayD" + time=$(date -u -d @${time} +%H:%M:%S) fi } diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 2e6bc65b..7c10ddba 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -14,35 +14,10 @@ FULL_EQ="======================================================================= FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " # function to print content lines -# (using cursor jump with auto-wrapping and color handling) +# (using cursor jump) content_line() { local param="${1:-}" - - # Calculate Available Text Width - local text_width=$((TABLE_WIDTH - 3)) - - # 1. Extract color codes (if present) - # Use sed to capture the leading ANSI Escape Code (\x1b is the hexadecimal representation of ESC) - # This line extracts \033[33m... from \033[33m and stores it in color_code - local color_code - color_code=$(echo -e "$param" | sed -n 's/^\(\x1b\[[0-9;]*m\).*/\1/p') - - # 2. Generate Clean Text - # Use sed to remove all ANSI color codes, retaining only plain text content - # This allows fold to accurately count characters without premature line breaks - local clean_text - clean_text=$(echo -e "$param" | sed 's/\x1b\[[0-9;]*m//g') - - if [ -z "$clean_text" ]; then - echo -e " \033[${TABLE_WIDTH}G||" - else - # 3. Insert line breaks in plain text - echo "$clean_text" | fold -s -w "$text_width" | while IFS= read -r line; do - # 4. Output Restructuring - # Force the addition of color_code to each line and append \033[0m to reset at the end - echo -e " ${color_code}${line}\033[0m\033[${TABLE_WIDTH}G||" - done - fi + echo -e " ${param}\033[${TABLE_WIDTH}G||" } # function to print sub content lines diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index edec27cf..1a04c444 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -200,7 +200,7 @@ EOF EOF #生成add_route.json #域名嗅探配置 - [ "$sniffer" = ON ] && ! grep -Eq '"action" *:[[:space:]]*"sniff"' "$CRASHDIR"/jsons/*.json && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' + [ "$sniffer" = ON ] && sniffer_set='{ "action": "sniff", "timeout": "500ms" },' [ "$ts_service" = ON ] && tailscale_set='{ "inbound": [ "ts-ep" ], "port": 53, "action": "hijack-dns" },' cat >"$TMPDIR"/jsons/add_route.json < Date: Sun, 18 Jan 2026 20:52:44 +0800 Subject: [PATCH 101/318] ~bug fix --- ShellCrash.tar.gz | Bin 122505 -> 132178 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 52b31603572b0edb6c07e5306b156d94c7d9d911..ddfc7b3b9b783cc7362be8c684b637ad301c2061 100644 GIT binary patch literal 132178 zcmW(*cQ_l~`z2x|Mv2(k3Nd0v#B6BI#x7fUDz_yUFB$6kX&rkF7_xhmdGe@UaG=1}wZF{s_a>S!= zznB*02Oj^a_2=%z8*j}N)G8Yo-q+>iX(UC-K4 zq5BCLS7HB!5b*_gJ2Fq1LQ^ z+TY1%+Ydj}uf-gEyxaKT*wE)G$Iypyg|$CJ4(8u9UNhZzl@M?_HT6?hSX^A1Lf^`x zw7S*bS8lf^t^C<5=_oYoP!GVu_Uqs0l#FY+oW1vNXJ_8}t*day#L&MdyqisJFZ@+} z;pcrE7IU`!J3ij{x&2xxX|U(-%ePu7o^s=QhL;u^U+TX(m8V$V6!9X{{qtd$ZYY|3jXAm8#o@Ax}E7cD7XO0TY3D<&%bSMc*CLH)nk^$*NRf}WhJ#erh! zRXw(zOOXpV*kACpEPoHiu91^fhH~%1ujM#xEO2i(^5+iI%D{>Q)^U=s;=A)+ z)6F?l5|S$)s@7N8jhwG+%2$iA?8#MihCGy1gW9s>Y7D?F+>VeQywdDiDNOWrrTM)$ z7vXds(rM>*r}6-|uwtcjo9AcbS@m6}T#MsecHa|da5c;GiS6lo(k--@CS0#%CieQZ zMD7HA7jI#2a}mX&&?Xw2oRixm^jLko?2#M3o-69AWMczru~aQ`XX62I{j^N;bzMMp zGT@o+qoP`2R9K9)OVE%qlS9WVtJ`@^TBnsFpBYGg@e4BTg%DHCG{Ypr!|s4tu6=U> zlXqdcOQV6tI#!9Rbw+N=gr@CsOK%dbO&6QFCs+WU;r@3!^eF$uZc1;lsFkh7>O1-J zOZ|F}^|)*yvYC}N)8MTYOBl=A>no}AG_=`AlPf55`-FlhE}kaXtN6kSHU zM>Mjs>MErDAzt9?I7K=4zd5~&@K5*87RYQW@~8acX2(OuUAS5T<>UXM$}1BW@SiFs z_!gYp5b2S2fkA;;4>c1^XVx8+ZJg|dS1pJ(i{`q?p)Da7+XAbKoQy^6+hoTi-wbF0 zD$s`IWXX3nVUUT7F=`=`m6Jv~1&;>{g$-(^b@Sq5Q)0MnTurZOYCqQ8X4VMaFw&(Q zF>O)R#s5=VFyiA#z-tHHHbN}~Zwg={Pqg)KB8u9O`8o;L;`v^;e1Xub+iQq`a9kJ< zM@Zb9h*-uuQ6xiY)T2znklr${Vb#r|-7sh9ty? zNM;$Jx)KA)GW?;qDv#|pgV1&=qOoTPA6qLWSlV6y{_1Re!8D4G`n=? zdXKz;x_qCP9ndwci7imN5d|IcSD{a|9aA2UoVMIa&8>lKvX$TVwOLkGOe*);uX}+S z=hj&syy*629KYHd`=-EIe2DSyU{J!X{L*sgvVOOp@gdnq#Dmw+PNP%|OGDJ81DPINFr3W!a}9DdPe!SJW27 z@mo|&RSto`n2Wv>3vg&eORlgIvg4JT{|LvSfXU0eS+pJfWhdn{5obHBDpkPJ~_S(k)i2 zn}~YsJl3R8A4z#Q>vn=ptlUj&ahDhTLbdc*WCfu^cxNGy*&z8-t(mWdA=TrM$0y=m z4ZaxKjBg8sF0h;-E)0~5WUW2mO~1C6D0djyF)a9|Xk^8U6>C1pwl>n|{<@P|?jby7 z=F0Q*!14@QAtH>UZ2)OZcsOy1lwr)lt3mR(K0VZk&yrP%H!rp}mffzq&+wocRMUVbF1ygGvl7$l*)fjA% zg2)541g5L(EaO14rMVC2sU26>KJM&68znK-gb=gyeq46TQB+B=RLDn3VO83}eFGFu z76;4EmkJ2$B;HZaEC;DDdh6qtolIi1=Vu)QPv(mUOB!rg#(a6L1QU>&4J2#@&DgAy zTMFWDHiaGY*(U0-n!0%25#7 z;%?g<2@Y=Izp}6%UHzmAh^#(A?6;C~dZlodP~Jv~_o@tpTIo(r#!w{SMc(qxbT4)% zN{ME?=!BdBX}W*~0n-%hX~gV{tbyopkbqvcvb^$z@zJ}8TffgIv;p4r6!^wl=?wg| z6e7^wki5+jNEoudzUWz6B%_WKy!1{sT#a#Ly}{DxR-ZkSvfgQaJ@>#Dq~zk2bzqru zBUacbF2K#8mxh&<%|vWo!A}S69AE;=E#YRiqEBV~wIyZ`IIhb(o$Yhk@i*fs(GTjq zGvJyLuLQos_7G0Tbsr{)xH3Gm$oH5{DntEl^tHsu%cDkw7>iLbt?oyHHis&km@gq5 zo$gGYl#JSfDka+?eURu~5a-$6e~N4Q+zSUJOFm zojn26W_(mkK&qd9R($TQfUsZBlT4r_?{&N-pSo*SMBd&Lb%_TGRHpPNvPEAeZSE}! z{D9iz(NQUE*ipfpTp$iOqLjrxlrs|ff`N}1w9^1Ny-;(gNqdCR^;{#fd+}ebKt3!#^m(140o8k4E1w83v6*O$qKU@n0S19pGqi znlq)-%`VzqAlVxkT0E3F|!XZ_suakVXh~n3f*2eYI{D3mJ zP>oDiAnjVhMTDvF3;O&N@KXs5soi=yI)zQ4%sV z$<64i)s}03Qj>nlculNez5Hy{h=RA;=mYZC|~h1$u!a+~aNHi6kS&=vFtp$jRPkr@r|aX(=)&wJW#;BoIx7J0Je zr>sWLWOhufHg8DtV0uT0e^3Ih=Ltj4c=l_NugAkLm_RD0U_9?g!Qinjf{wwM|9D?N!M=`%#q!Yi{$u3SByZ5O#Oq9XHe* zydx-EVMBjd)THb`WqHWkq6PnK^~x0otGjM5anWLh=Qt^1^Di!YNcDvDNi6(E^4@Z( zufKz6tQ$_h*?nvntasLL-pkf2|7)z>`XEs-Z>FKEZiL-g@3WS?K(TysB2hTOG^lY% zBSQPCZCiF`S5|o>K+ag*3HP(ixG29H+Qwo(KG&xDASA$UJFIIh)5WyK9IHMjLA$r(!9gBc&7-)rGckR_86gi9zQne=Wx1m zi|)W9jOkJrOzK)y>*pRSqDwhPoyc2rlIqALrnqda(FRBss=$32D;b1s@s#GS9D3at z=(h5i9LaEIh%q(?1e0#xI66wjsoap5{ETh_aVm%4AzmTN)#J@$D-qXwdV-{}??WP% zxGhGDfdZ4A!2(`f0$A*zhm$sKD!d$E?9)(e=T@KH&@bQck1v8Vn1#9STmEDuO5g%@ zN~2FkyRpeHEX7(Q(5^De&4^p3Qnnktt(GQPVisJm7Sy#KW5s63hrKt%#!Nx?Mjfh=eD#!`w{Iyw3mp3BNQSRt0KC&k5i@s>sl zl&-Gnvcw@gkuCM*U%EF}Z{_N+wjWnphGn+}23hE(EgeC|bpsmNBBNfX!b8Ax{wzQ< zFchwWXkZP|e##n_US=wONkl?#=N^7>zij-OlQ!rOP(dyFGk{n1+wxQZi=}pUowa?d zm^ozJCf+@Iolp8Iwaj%)NI49)anwR82t7GG%F#cQF%yPeXTQ(TpDYUwp=Ka#Rxb;y z)Qkq9!h%~5SO~3zM8}VcJf3LT!S6GOULt*0Q-8pi_wiYsXW^RTg zN-~%gunx@6b@ujdY^o1|2<(x=5rkMfb=fx#zaX|ZIARF}gBuz?1&Pyg^j$8&=}<3W zaj;&o!TE)(eg*YYNuBmKo%ze-xwbUY zZ!W&Y{wH9uS-a=F2NeBXQh#>dO+1binYhxw#DF0v2mCpD{R&_|C#rS+<;2)t)#6nK z%a;-yj(;pV7bUBHmiYFq-E(+fc_cAOF|?S0>T1&0%{>>SyQ#rI2iK71pM`zMUXJHf zl+Nq(ASG>?z$#H{%6o`)o3Cs3hj!CVPg-etCMA{rA`9E-Jk#-H>1w$n z+y*Bf>~8V-KmM}Z&S>m;qZ{hiRZFTru;iVJJoO4xIbvLvmTHro?4XKyAN5n_^tD9m z{nqHnT0`!FGFw!E%8t{-iQ>c#Kg)8TB2%1|dn<_ruRW!!`w4p>-xT- zC#`=>_!C4NTv#E$k4}VG=E<#-k6`fg*TFzso?VTmi^(bx)2}D`CN-;%)5Z&X$dI2= zej_awRHc|p&`RoMa<^~_6K}gLEdl7s@op}>zCYp>TLdK`?flY?;R(A86-q=Ar|plf zqJpykusn-CN|EO8q6zil$id-kkDKv3IDyI%?sh$f55(btm;{ML+p-Y^XnV*HZ)kFi zg%#IlY(r*;klcAL2}Lyro_4&_ZYIozqsh+t=QW8QJO=SO8H8NmbET)ih74SH-nf!s zkJKhw#U~8@2WNy()0rDTm9zgPBEOHiDX*uP5RR7aJjy`k+7=UQKgx!?>E*B<^J!+X z^2}T;BX1s&!ET6pG5r9?a^exk^=$5WHqvKR67r5$a3d%*ekJ`%hxXJ9P+!1qfRR!% zQYIA9*sE>z-A=eZJ_vbFHh0woj_nLZE7FeHi6_fzC17Q1@rJwx*tbil#}zmAVbLMH z6RamNfqoe)r6$^>PK~}v9)ozz>f8G)ICATu%_dzoBaq*NCh*p7%n~1=p?AB?8`lbX zDcua4AfHXeH=R9Z0)U6VVsUk+I;ns_cbKAi8fTqze!tjLNGA6d1^bb|&EA98J%}$B zbxm+$yN|=*rK5_);aHi|Ax+P$wx7TneUXDwE|XAe%M2dCZnRSk;b=PM`spg$rW_bj z@pgZOj$n}pNK`HpsB*`Bm;Qx_p*|&H%FXI~q(q2qs8HNjJ*S6+8;OZduG`5a{4S-P ziP&=v@>pV(unppwjv(m@pao=U2pNI*kPTz=ZFs&;gYpxUcxNL9lSG5{wxZqpQg#kjVHzM(m$fm=nJ?w|i>&y_iEf zps<1mdA}&d_i1$1XtxdjVN7mRBr`!E+6I5~xd~@&V;d(C?f!Od9-o5X$=$}`<@97% z=%TlZfXp#JF@5%^N*N=h(y%>eY_^>d+${n0+2!oEsNH__N0|HC?evpPjiCPjNI@~7 zTz<5u@(?{Px}9#%us|g6;yp(ITv|HD@?PgmsH8)Jd>8DC@TXneg0(@ zv*8Yg>~C)5h&yl^Fm;TO_p|_zz5@6vT4uruulpNHj{tlu4R4Hp+s4#T!2SuMtQe2!1bJ6DPHy=v+ z<70C=0(XNirodxI7UW&jmje25s{vi3@GQ)Pe~ji@z4BlsL_;h-$ADwvw?JpBzY+5E zKLJLJAy7$qoL#X~k6!>)J{x-2B!(zd$|jhnx8zYfN?IQSV&hwT--TfTrcPlYe|KW}o_ZLmbUnyctw!3vmSvvJ!G{|`Q$>_GZ z(6b-BL2ylFH6>j^>fUYvMyMj(Qwx)lFV5C9NCy|&ng>ZLi)au)13ct2=cesJGbUPf z!|${el3o zRH0BwkjtbGJGWhHL1u7X19-poHrEXtLR9R(|BW{GcCK!~ZxTUq+9PvDx?=f4)BG}h zQ2$AuqTlXa~E8T zevjGxsPjAyvk8+1#s%?sd#mVLY9-P;;v;R1kl2y_4Zb#7|w{!)%9^PK9 z2HrF-Gh*A7Kul6=Pey*W&wM~-OTM~h{*#AG6kOLDq3J|yi3rJzYEXE~#xJwx@ddK% zpLt}^6m@<{SE=5c@(#8~Q$x2(^o;y{y_H&(G!-8$bCw(r556E1_*8dDk(LW8p;g`& z^Y(6FCyqFE!*g!jJ_2&pd<`8_`;iqODQvICkTy;VdIgFqQh+)L1!o%qZ;adg+YuY1 z3RIX!oGX;Ra!gwHAT=K^6DOux`N_0?p?IFP6M?;!HAh<_Q6&!ud=frY8atG_;}5NU zev^Pmm*D3wytq1K+a4&JYz-1Sqz(JwY+w*Ous9_%!ZoU}IEW7%akD`qMsvn_Z4_)B zGa}^?5n^Wnsj_b*dz|xJF7P}zY@FP^3r~&8v6&@I8EYBeF06p}p9smExndg}wo0uL zQsXcV@Sq}Tz2!SE+y^nm{+P4`+aS2x>v?W--M*qR)idT;JqCJgTtPWQ@v!UH`ayeB zz^@-YY+3rE>Bdu7FfOej30XC*G#kPw>Cb+oXMutSXe(b-9v*$quADZ=61_`iZKt2{ z#_6WIwVUx;UVqSrr0l=R1oM1a?#Nict7a|_+X+vJ(o`gaxs){xMPxR zy_x7%T2|O#+nQO92h#kprS=KoSv7<6qv)`sWURK#DBwF$C+9&Ma$D%6VECl zj9oXJ-$UkDN?`Y(`;Qs}&23u0Wm)=5puhVzu&!8GsVJD7SFAX9A|VG=4w*olT@OW` zrGK$dsUQ9gD|&nc*zfyw$tc3PNZcj&t06!Bs(dF+Z33lMW|)SKbGbV`C2YAGYK6?U z%5qxv5Wwa}X$x!%SE|rVx`8+Trp>Wq>!6eEIb{}`@*DEidU|__xYOOYZ|HPd3+8a5g?aUSrxmT9 z!xa|tP`@p4W2N!Nid1EYN7cPKS_!b($(b3M?U58YfYu1kuPNa#aEDxGm{zH)Pu%B{iw$m&wY}VID7wva)7x?c4aZR zT!czEGc8ArsBPEBo#(%3(Ns6|;X1NCwfz@=c=*VVXb@)#a^y4HL=#J1vJWbYvtmC# zX@diO%k5C<77fom-X(}Nzu2!y%kkV~xLwDX&{%l>hqP7mK7J*Cd{0G_;G zJ~wIrJ0*`cj~k)L? zG3ZN{WiVQ;=dpryc;fY&RB>bDVH$rLw>PGz25 z@%?8PY2sbXV=hhLuqO2%wi~jmttwgR7t^KBefrY;XTu`^WMCP*m!xw7rB`j@0<>p&?_c*p>kgG~N4Wf7b>SA6aK!4qst zcgdNexgW|&-6hw4E|n-7=__o_Fzn0uCY$&w&mC#gMTk8Y_mCD89p$YmPA6QGs$6_y zl_dotU?w%K>V`=onQ-{HP>UC_y6&=@US5LuC)_=xT*7Iu$eLXQKBP*4rt7TuVW%qn z8#`AtRAekROdpmY5Ykfq?d~brl6L==x0ujv*M!M3_bj?jRqUzc++U=Q4l zsoTGrGh?^u`u*GKL1qfPVj-`77n!p^=V{bvl)_B-M|I0A`odW7N=nM7a-ah2gAyy6`p=9l33?qqqqd{A?;aP?MPB>6^kioKkcTq(ty7{K z>yEvEtXNpTj#}Ps(x@baXx)N56P8zcdYil1C=};Re3xzS3h}vFDXZuEpZw)3FV;zu zhH;PdQx>Xi3uNDjqX?+yGHGejF*9&2Fy4g`bF~4)rbqD5DhAxr855nWE7+7i zQmvNa({!|MQc`MgloNaWoRQMmS=t{I8F(8kcLzNtA5O=Ls}?rIU(e)EH|`{9*1J-l zQz~yxHUYf85{n$!$lst!%LXCUJll}`P%$&HfTEF>_GzV)MayjsV7VI}LBB6J1fJM| z8)&3Y@=k1<7EglIZ;oo2f3Rrs)V-@5@OE775LzehXy;J{)ZvOJu?FXJ_RdC)h926( z32I7f92>uJMrmOFeEk^Ra46MV=ZiYtKa@P{S@+*K#o#GbX^QYMj#Ndy>E26W1ou!n z%`};3giCI>=Jyoo_9Mt2{5LNYRWWa*xa8Pv870316qJ98E9xP8gC2P`XMuc*UP3^ zITTazz^$&MVu^;XU;M4a1=2dXVJKjKT_nj>_czc*T(Px&yTiIuIKIOa9O~sNfWl|g3V_f@~x9kT3nb&N2tKHjfyT?eo$HjQy(e^nb)Je75ibD1%0_Ka%0Cf8w zkKYA@mp|Otdj-IUAa(p5N?7o3+wCZ8f6~hz?T>gB$#KKnI4zrxfB98Jdd0p#LjJ3W zoIi@je6uTiR)Otx`|E-)C%q5vZ6dyy0OZDVPBtiSiy7z(P!DbcU-qoGsUewC$GK2U zWfWHYk5xE`;2Jp52XPL9XF)!Ht5E*db5p$|xo!od%7?p9I{JF5G^_dqN>&QJ<_CDZ zJoQLc4yvu@Q1heR^~&4QYbLL&txth{-JLfWo6PpYPq7n_-*!5#G-v6?-||%$oY50C z$mh8NWw$YWC#gsd&sP_Zv`TaYqogWFYFk^X4Jxn^Hq@$iuOEAD1UZ?J;nooZpBe=J zLs9>dn{=~5;e(*Vf(DP$#`c;O!H#BPN}PI6f*Z&Pd&6epuLtDxaERVBnVZEuV;`Ueg!M#XSosTjbl|nSBM;TgVinM1nl@2MXG(G+h-ft5>TM6 zkTGrk>K%N0)vE)U7-IHEi}-9?FeIfP@a*ngaMWTkIc&ISj$;bS-;Noc7GJlNgL(>qh~) zGhWVbVQxX)`B&fBD6`$012E~=Mp}b!N9RuNxtwkEx4*Sz&KT9c2TG_{x+gdR+*Z!| z0U1e$tBSh#Xm~h1;^NKMcL-cm23N=NMKMkcHZ8B6U+{87=GXj5R6P}}IQRJ6XN@3! z)k9j)yQ`KtBg~s$bAStr{wEE)4hmx;NHvKByotx9%Q~u}mtXmf(wS83$~?k8Z(CJ! zH0Ly9^nNfU=48%SELYLQHOW_D37%5cF*KvZ`C@g#UNx|#UVlBpZv4is)dqB<6e?MN z0=M~=FY1hX3SdRDzHW*zO3JDdtOFm4Ay7%6tay!4fO+@?#5c`PvENLCSS%Dt;sgXs zxi0%ZhN_}F1I^qUy3gjZQmDBa-#lUx3lwuy%@P9Ti7ZM0y&hy@vGE@&PI|R=H08C+ zoR0+Cxy*JK3yB|f;r;oPNH@9EhBY`r9 zGOeO+`Vb->(8xY_J)GV(1{6|gU38o3L~@BOHpo?gG-P=b6xL(ApOFZ(_l4Ui79AZ-(G#JL2Qs`4jJB{)0UxnW+i6r%O$N`eBbJpOK?u9U;TirT;gka~2 zrE8qTV@^dlWNNh!kdcKpA@t0K% zgA0c@8QBe_5G>;P^9)zky854>KQ-6-UHcDS?zDbgFG+^yGg~&rf))`Iml4GbABbr9Y8D*v$KAXw$0KA#vwj`lU9JJm*%gm=myR>#f}hDDIaph4)RBKBfAj zHMv_OL=t08?aZRX4)wI0=Qwho;RmneNFmb)hd=vE6sgk0yX{Z*JBZ?!*yF4U()Jqm z64!E9i?`(qukcQy!#BMRFh`!MK^Kj1cn4k5s3YU1OXk#4A+kpuUdL!4dgkrWv-m`f zeu>$LZyw)^mX9eRI1v}qAnm$I@tfx3z7u9;=AB zbUYUfx!*;f(n)<6mKPVO3YASOCU3h0w3v0CrUkGpK7EP^yL()*^{_C-q>a5pbdeO7 zvyhbIKVqWsW3%Ec5VOUx*jgLQEMXWg6CR;*^TS%Z_b+GG{6QX9`m+(3>Du}aC*f(7 zR241Bo3E#OuW1AKa*jU#Cn@{X(D*gQrcZ*|r!q@M;uk7JuG+K?hi-HnlUOK}&WZ}FoIsBM~wS48T*__jcE}tYK@&dx6 z-wd(7eL1^{xaaHc787`$Jgc+^HZ1Jc$Udpqnv!biu>YCuv&jwi zt-SR|?J9JWyDg&6P3zoVKT%{V@m+~_8C#nu54-7*ntOWd4Wj+h3g${!;w$Se^jy_l z^q9~c#-5gpB7A^1qOlG1V^HW2Z03YF<$vb8A{#Z$<9>6m+}_VrY(g_6-Pfyah7Lx< z7}aVq%_;trK8RL2cZ=@Zo1}YVYS=yA22o#~#%!C24j+N5XK_Nd5l<3$#jBS`)Q%`m z-b?}i9wy=y0#C8V#4aZJkzdKGjIt~%nn5KE#w9v5!^>q{=fI=#X|P4$xTihR=C+D- zBtLM!e2mFVv^Yo#dZrzZ(?#6G#4#ldtOrd@$Mv-#{j?}-ZnPhK=LtiFuJ0($scHp< z?x4pxSIyabm(4Ttl^uf@-ZN{72>Hf9*ob>>^bF0sukJX+2{|ytV~5oI7(e-FjXPKH zRoi<~z`!*O#r2&uHZV9z6B9#kS1#Ju<<1ZG2IV_~K>JHUKRj@-l-zBfI`Wfm4-%pr zC6s$r#71+xgNzokaknFvi5$#hni^4wL>zd8~?0yJ!ITJ^uuHf(Mo+CZf5^a zVQ-%TJ!YBsDs;H?U-k`QFLCNP5h7`n3~SX~g5_n{=AO-m8}RsUEsw=sDQ^z7aENdv z{fQ|3#AdQ!1>SFz(RrDF8v1GTDk%mY$K-LpSY@_PKL@aQc? z);e`_iE#6Lo9sIs$>>fg|M|oNFTcRPGkSDm>DSllW~xRjWlX_QY0aeV*VHkJTzc@5 z*f%{%)cLb@<-_Gw)d4vZmG(7NY43X`K+NVppNWJsK2rcA3)_at!4&Th2MHiLJR1DK z!x7?j_fK*2Co$^7Sx%BxW`D}~E7Aa05+AHv{(;uO%8B`A~CE2`5== zc}+i>^qdRtXJT(}QPr6GrO7oUwt3VP-gR!fg>7-?B7m4e`A3!46Po?$ zVQ~gLLfx^>LAxN)M^z0hTO`KC^tTvl=!j*sUChYNb+IZZKv;cdk8xZHg*6lJ$Ynv_ zAYyQvV7GOohCXJYTIXtnv^bjy-B`ZViNkz}@>2Lc>ws3#S5*fq_UOEyP;K+*`C8l> zP$U{LG9K71eypAu)Hm*-rb@Abh5;whjnwVZ`OXG-v(bz^)mLJ5KU@1m2%O=a+J3#t ziF(&N#=|KEw3{MwqZh6acp<1396>LdqlT5ucYdah7K=$|qK$Hca>c7s$@~tCfM(ZC zs==aB^1@8PQ3hEgW!yE_we-}bxRvr*XDqXU#-z7|9B!H@bHdw7L>rMZor`kmQA^z1 zO08}2s;C%jx|R2k>S5NfE0eU$L~5|U>xd>YrHKwUckdSwEWmnzo`Ci40H_ME9B~5& zHF?}nrlMrKUcAXDmwbKbLhJNOulVPv7lj-SSZ!9Ab%Ch+y1%OJJY8Q_-Soe(v(n3u)FRv z86l+^0Ii=D)y|0Y$2XT72@)`H=b>C4=~|lsnF#B^Zi?VTRwHZb+Qk1^UoaKJX5K& zQTAo|fW#z1#HJW#93pSEl2X20Ae~p@(XT+s@I2|_mD366SthE|zwUG_LsTzhAIp1p zDy30wb^J4PRA@?Lls7EsA^QM&zC_pYW1fOJn=?Rz0g9iKM*RRD$KbF=V6R|qFC|w# zfm?Yz_@wKZ%w7U2O>Q0n&Zg;A&`toEwL(M7dcfX&H&twlkCjq$J^Vxnps0)LyD*t6T94^Q)P!yar6vujdM)5@R$IM_2C0`{#a{(iaG z)ZDRIgya|uYI6p4Z=9Qw9W*77W_uQm&H1#PA|;sGY4O={?;VPO-%Tc-BlUZULMqZv zh`r>{$elzLbVT5eld@!(ke^CGuK@_l7$gh5iClY#vc)?;z+>Nw<}zXHMLHmAIrdv1 zDP2m1fR8xF4(k#i5J5wW7k`__<>#D)kOgiulhPl{nAb@dK15oON!#XGxe2WS@w=9D zU7r)`2ct@;0ts(%7DplRki;{nZ$Js zZ8Z^i3Xi4pg6!vZ*y4B1-H@t9da~eLLlJ|g9cUFhbF;?&4gfTF2?v_`$lmv?hq9Cu z&S&}58vl7jaK@8t@i_f}zb4LGfb$*>yt$(};{FRC7YL43VX?Asz6VD40nZenD#LCr zBa$I?lE(YI2@jrj#$(i837}AQ@m_Ie9gWRgZMtGXGzGeSBK*CXw=SeU+B1FcD2fO^ zQLMBTX7E(N-L!Z0inADTKeC)zE>@J_>Kjoyk6CS_tO%jC@lie=uSzHIGnFM(>JN_dG{^(?~(6co%UKyg&*61swG6;HiJ|RkC0?Cd4mFS z$R+6^O=ZbVFh^6q#e4bIpo~vm>bqXKSX5*i!deXfU8aINljs0Ygh62-U1H_*4cQVC z+^>%wed5E_1B81gXFALYluu3=!%^P;mpk)w^e_52y8=%5MW+kIx8WnJ!Q%<4mfO>& z0{;`L$1MQJW8w|JWb)(eYY)w4U@L_koy79PZmJ}F84Wsedaz$YxrBY`)I3v&fZ8Bu zB2AK{s~2AljaRJ65D4#u81VC1eFn(ad?s3IYm%jISgVz< z2<1iwd&ebYrkoPsNJGOEzoNgF2U$`Qv=V(H3fv-cj((Hs|8A3(feVy9^IZR_#6u>Z zBvHN`iW?m8j)=9D`~MV=u|Ri~FB(j*IY_`wJ2F0_a0vxcLz+#&kNnlGgg^UOhE%62 zw54JC=j~m>VmpElE0=U{?rV)jw(C2CuuBSBIn)nf`N6nxy@jNram4R*@8GnhXaVXr zrb6P+N7ho#fSf5+ABeN*;nU=uVk*UcEk}>Ig0ecJNVMXgv{2}_TUBVmFN8oyad=2% zP}o+9ARMiilp!fVwKGa>ROr1JR)6NEC7=nWg|>Z15faM(#SDFX0(7Q)|cQ2*!z@ z)g=l)Vxy#G4MicUDSD@uzu&7Q8F!^YA;dhtk?TuVx#wPx*5aV8`LJ1$RDiY?%wkuW z`zu3X8Rkv7LPaqEacS;@?xp&$KKXK>3y$3NPa2R^+|8PT>ScL^BgZzkZ5&v}-GF*mshy*#7gSqV656xO!zyM3@zi zCtPa|3-57vQZ}&e1h2-HE+cA?ygy^Yez_tAR&L&lq=yc~j}FOLKzuu{G21h04z}lW zn9U`}4Ed0|D(2l5*ejpJZfiTxn2NeH$oe%go#yyUotG-Ued-9L7(eL)(Vi2;_O#DH z==vZHQW>zy$%w$w0$JewNY(8_?I8jjW!mi2$L^3PFVo2>eCZh)!J^!=-E;T$(+$+x z__Ij3HjS9~FCsYdhbA`8LruOc$Cj-&X4WrCUgl`<&fIfZ*1Qh3?$6b|qZ%X7B$D%O zqbaEA$DEbu9)e5?Gi>aUv9F@7EAEM3=DyJg;1<-#2KHwYzzb_Psw;tFV7Gcj?2)%< z*m#U)XL`W5;j2y30WVM3N|%6l)BH`)&Gi?aUI$I$#;|)QeVL4wM>W?WuB{4Qh*|9K zEE7Xox2-7hJdiudS~R|hvn=CYw6igC=!#40xgJAAC$t~d*6ELWgyT*o*wX8@G8JCs zAD$D-p7p?_s;=gE1ZlWgfNZ4rg|flVDNYwrgngF!ItW{{Pr|>!3KAFI+f6f&~cf4#8R6CAe&GU)&vnYaqD0FYdBP zfW?9ZcXxMpcewlB-&fyXx9ZudQ#(D?vpYT0&w2Ws(|!}*6G$Oc59Gy@1lsroLUv)3 z#qyrdFCU^D9_SopM)10{ExxS*DcU4<)A8x+$?y^&-%_WX#H1OksL7oY8q+qpkUrQ^ zU0#P9X*LxiP&*;YSI=G=A_QSlI$nPN076eq@6J#m6y4p9i>=3Uo)31FWp#35RbJRJ zQB8lKY5Lvb!*YW!#7^7;6j?!jhxa-7i2{6};HOM9p~>)xZ7c?kErnZ^nU=l_TO^$N zktiorQl0cDoeHb}r>t3kkVfzL-k_#M&ce2}O;2gt`v?MNg!(g%j*+ewQI??8g&_M0 z3jex%Yk%w}aO{Rrey{_cH6p$|hM}$oCXx=TH`bVub)QNL1Ab6oEl6%6lV>EfktP)5`;31cDNhAk$T}-V3eP-|AT*Li1F!5 z#FzJD<&AzqDU1fPt~6jpW&c(?1BBtIxW91RG5sTyj#r@=G@m0f@FJ;Xs=bxrT2CH& zE7mk_tZ#6dA;mSl=fmd=43yjLj52NLW`>EyaWA+&N_e$YkCKUwnK6(h!_fns@4*w? z{^tx3^v4Rc;E_7A`(Cs;$kY*c{=fDL(v;5=ByEuST64bOqoEJfzbT?>1a-O{WR<05 zlX1P=;hPfw$jMX)j+E^vg35o=&R|3*xPiTt1GVwHW70$`zUI2tl9e>kh|;}h|JT$L z7Qjx_p0u^R_-Uj<*Jv8?jze2US~^1oNJ4i4rKMZNTG~ohn3y;rKu^noN~vmk91~o&mwH#1b%DX^XT##6$_+umDCee5s-fLwcN<@WUqei* z9bm&$IsBG|x+EQ&ks!UQ#*6!{>wsA)b7S;bhgn&}TV{>vP^46=kkX`nGD^uv^q zBpbYL4tBiiNuX-tEPpcCUxxt8M6;0|6q)ihC+rg%mhgMah$+>|d!7_%k8>?HH5x+( zZ48KtgGOr?y4a%}M2TAiO!(5#jWVVyYA6{`!PvwKV$R*dpwRh22M<2gcu%QQ{f!Y0 zUA7tvyHN`$D+5IDuG5JxBOE1jU?8VUOGlF7mLIUFwq+Adp{>&X!)HqSUeh-NtiR|Kod_aE=v`fTy2{cK6&8hjWGm-*=z-tp)xLsC zjQkZ%>=N^S(wXiT(PILlHC$<&=+Gxmco2IvjIcH9i`Pqt^P0$Hk`xY09(1IYk(mr4 z-Ka6}-?4wepPhZL{*6D=Z+>-K(}WfzV##`H@yP{irl3(mHiCcr${o;kOXdE@K{F1^ za;B37BE4OnupW-w|CQVxHy1fcJ(f~g3F}k1I%6DLggWw^#&=1uVhs*+QRJ_F0aj!IL zI5Hm!4;?v5)n%aQB(_>epzFTo>2L2-X9^u^IiTVUzXUSc`}b*tb~6|5XzE^@f)yX~ zEf7&yQ4L!p-AM~9Wl)$P`4U1ER2O*ar^dEXbPg4(Bin#KizuG5Knp(}OWFubf(+7+9tU@~Ur+PLmTlQ;&86=1lnL2=1| z{y;6M9yCsc{0G%3(~PsS@)dEAIz&BZ<+V`fj3>d#D% zG03%;75ms1`^*(3Y0L}*SnnX?7*?4oZ=|t|eV#TtlrSMorx6X#fMwQ+B?) zUV4USA4ZJq?GY(;_p3N;pITshRAIJ8*j0EnJ|ONe{bQJe^hD@P=G1p?i-zR$mLZW& zE=!O^gg2=6o8DARgZR)4$L`cKv;zEp!BQ56>v6%yX?w)8Q`3DK!`rQmj5-9@m50KA z=HD+V0u2A4QPMMxswR?bfFd7{ls$bZZMknMC*Q`wL}7~!E&oPRjZaI!yQ2(E#sqwe zv`j)|uIOyWL!H8j*1?9O4+3>MEBM`*AQ}g<*Wf4eh-eax#v|rflm{0bSJq@@BvZR< zWDmB2u$r)Tm5j0{yOV~cG1;s0dt}&#g;7Q1>^J0+3t6+1wa(8ase${sub13XUUhhv zX)*_&MCNQnWrriPiNV(Jl_8({J&KzQ?TRvmNtjY%e^eKJihm3vcH#LZw1tPMN+wRb zgX(hgKI39g7Bj_Pjw*b!aIl47S8oY9M)=cWs8#q9y2NHZq67&MhZ0-4JW7g^k@aeEh zhnG8gWU662oEKlNG?Y+Ewi_ zs?r-ySHr%791h9KJHo%CX`0MTU~3R@*yp5`e>qkW2AJR|6>#WZ%IGorVyWXh6^kaB z>Zv)|m#cf6UNDTU1Xa^Nlh9*SMM-Q%i^^Yub*bbU^du%>?Zbds^LteG-b_JyCn?V) zAS6Laz=N&o-h1i7lEqc=N_u<44XUaIwap|=YP~u2q~=(c&Y~d;dB+{`z7z!}?8;n#wkh zt*|^ur65+n2q)viM8BnX5g_=`1o$VU=x-_+b>gfQMM9{*Dz~+Zg}=OonmOmeQWz6* zLaIXeFXa#%#h!u(wQy$HZ5?7MN^W>cvS5eP?}=)oP3i`zeyQOs{2WmdLQEB5Dddtn zUPzu0iZvBiQ60Tnxo~@RIA*#nGG^0K2{wy?IJ{y6`UI5>N)SkF=+A=m1d^VY;FqIVQTS-SN_78UB^^l>=q#P&mD zj25L>Px4b;Wq6Z7FK?kn_3%-{NqdFj*~XPeU8ZE$y|Y zR%?n{P363Xz_-bqC$_WD2H00-a$YG`i_NN2tJGDk)Ou>~Jz?+IZ%Scsr8{vT=b+E= zbC(z-L`{fGK6;PRL8`-BpT@1q)E^(JyT`_|&%R$>8JA}36FojWu)VYJ@o_*o+a%b1 zaC~pU`7m=1DBZ{gF#O)#OPM|gRKRTE|LocGF||*hDuR8rP~K_?UQIcluXetSTU|mn z^!2)g^>5#ei~*`P^p#*X$@`J9s*(+TEtoC&pI!bx+wOhEw|0V8PV4)gmatbiz6M#?@h6qSFtlbyOH#(G26jH3*$HT2H zI0Y=`&f9dk%dFhjZWkwtfX>=63O{7Mm3I>sg-W*)pu7p=n*^ZR;MuZVH6ghrY6PaL z+$7Hb^|nb+)Xk|g!A*|<>r6(De-i9k!1?w#5rh1$p%oVD?B>9 z3ak6c+sFK}xIDEetP_i7TS@8LlCRR!WeJLudKi}Gl1MmMT$bB7LEEsBRiFO_vJ!wN z6v6C*0n&IQyhXfy-F69z)`l3Elrf$|Hln4}^fDG+JuZlFmg;n@o7B@RNs3*nq9`he zbvWOq<&zZo)kIJHWYm?VwWOjzGV)76TOGtY2kPi3NH}f5NriXRmc|4qEWx;F zWYki!F;1!01P6n`SrY!|e+aR_iStXGU`?Cos*YSNVdwkCK3kOAEt{s4;35fcC@D9K z&lzHdm>!2#3v5?|G=qbK5dfuU+WNy|IlahA7G~uC;Sh*#DxEY zhj_1ve4nJef~?cx6R&n&EDKHX?y11H<$hx@HfQjjGt2h>4@6sgS<0!?QA@WyI(%N< zleLUnd-*5s;+J%DsKj+3Me#}|?5Gn+F>73L5snYf(VPYLhq|nQ$)(4%BVv1t^9yt0 z3qqwQKIz7Xr%sFOvT}Tyh^DoW!b+U^Wa=WKrE6m1kIQ>-;eT1&KOm|V?!}{6-L2^8 ziLW)@@6JdmNsj-U8oPuVneGQ|LEHh%jYkIZp~?QmN>M#dLbRpbag%w_RrX0qT%+D; zXsL-LGxU{N(BFlU4f>2LX^;AGjxXM?hUGQE&tC45%l6(fN}wNb%NV0F<<6;LjR_<0m#cpK%L|eWQk4Qxc|1 zI!YK|ljUspkoD${T?=(~7w|l?r&IkmKA0TTwAzL*m?LVgX;$ zvd%718HYH_k9&~}`c7rxphIey1OYUv34_@5)9K^xp9F^XQ0BoI0lvQeL682IAB3kaH}3}e*O}& zPKd1uIEjU>n5`&v1^qOv*@dO#t|{m{v?Lg&*f^jt zmF8lTR6tR)(V5C}s|i3lV!%{|A?raV7Xfz&zM8joV8(Z2a5TJjNO%X+O!xUGi%pMY zM|etUR$Qjdo1|PSuT9xOrC^KA0WWkg%|fVIR+KgYB&_e*y-@9mC927?j@ya=P?-z6 z_t4wtVueS9 zvK(mOfgL%|>=cJ+TQ!h!kPHNMxsw^Ar@x41U={5)=pAP$j9$0b1nHLXpYbOZ8jiKWTF7nq@zVN0m; zSCZt#*ggX4D$G~+!(iP4NvOpMU5AsHAFiF;5fr8;UQN1!!U(I%W91Q27$4$^qkyJw<;+LPLp%CTph(z!e0t>0F!fGcibs~aM_t}H(;rUO)=vV%{HvP^MPQ5o}qsrtb9|2IE(^( zYh{0iJj}%?aCE(Df_B7Dor%ry3hBwqA!(47+~SA6twUaR$EJT!gb`C9gE#1S+~}M$ zWQp7&v;3b+95k<+^7|y1(edht10NDr+{#W4qPd-{kFCkGRNG8ZqApcnfZbMC;wU9h z=TbV~iQIZ>*!W_yu?^nrDIhPCQ6$JC2W}RCn{Z$26TWTmY1nU{zwD z#M0AMHo*O?L&=4KC{Gszpk#=p3WG`|9FwERf;wLm{EX>f6g0AiS^DQn$Kg(Lx3}^T zbzQ}Ab;11q)!SNR1M4J$IXM=;HJWr##F&gICr{r>OAJvL?jp>@M^147tsbkBWm6K< z6v*+ER~_yX{4n?Pf{O%`IUl%+KhB}?S?FVRa5t^nNlr0y2iKb@a8WV2kvnF=L8&jQ z^S+Iis)Q~Piq=T7x{6yHY%7)joWyz(B#`KAbHoZGpa0=eO$;Bnp0kd%eNhC_mrh%uYo9k$?`z%v}yK!Jc<(dmx04Taw>ZeCVex*c&gG z5cj*bZ1}PcfpO}$m#BScxEYgzQVslVlnkbtMEw0NuOwAl&7l|5yV@3PawcgN$BgQN zZW8JX+R(Y+?Ve7``Ph~~3Ej@&s2M1!lqAP4_Bgb7I&~L&0=ib*35`|&incSSWoO@* z1X(a%ZE1ZhEu_}-0p^ai6tY}hZb3UMvemz^%K}@WN~urKet^b_p{0+*W(wicjhL6N zI4r!&QW8cfYzKKIWi68Wyk2rL3gjrW$1If}p~F=`u*X*T)bs7;%A^PC97~1oPxcK ztQg=);09y2Ny_RGF?~3qZo5x(F@U0O0Gdn{Y#u;GtrxHu)|cU0ywxkJH_n8T#;(K} z$va`TS6l&ewc?kLcidf8U*k=)Ay{0CIff!2(l!~3blx|LF zcX3)_Q%{3;W=0j+J_d0fK4OR^aSYB(cZAg@Yx@^xv@a8yC`=bqi_K=CMN>XovuBWJ z7ciP?#L7&Myqkw+1!r<|zy=B+V92Rb;@cWREz96k|0{#93{KBlsB#;A=p@f@mwh1m z(AF`bhv(;%|wswN_Q!Ai*dwq{Rl)sceaqrvSmUdwh-c zkzd5Oc>nCnOD3eYXO`Wjb>wZ&p(v3*NOlXZJ_Lfl_ zwe>aqDx!wo>(&0&+NSErjGgiPaaQ7RA|lhO$IS*>rNBd;EX)3#{Fky_(2>cO-wo!A z%Rob&*^!@B#mp%=MZuE$4~;Wd634%2Bg+r%dwae)B`w>fq_jgmX z@DJN^)RZThzk)?amSUfiDxUYpZ~?xr!72B*y$5ApMN3l`Z7c5Uex-H03w}Rb+?)yt zmOO0wdHVuBpTh)-@h>Y)%)ecQd0hYU+hhjvSQirrN?>m#C?LKH$2^~Wj${^H^k`fH z9icsD8lDFfzNS^PKMS|`XJmsbKO^o5qJd7c;y;3V@~cO$AG_@K7^9l5o?bQ(EhZZX zfg>BSZZ+lMaL@Lk)WxTk_$q#w=Xc*jGDvcAb_w8DRuLBho1b*1v+%TakFt4(f=J)7 zKDd!+^9a#sHm(M67lNUTnBN84 zwp_^sG)2D!DK`D=s+zoW76`fE%>zh@p7qXOUKbsooEw-JbSplsA>EFYwtED?3xoDf zz-68*?BR06{kfD*JX3;&rNqx}i5#E3V?P`_6P&z)5-8;sJT%;zhNvZR&4f6V)kbHR*;|%&tlWvU`Xh?E=)Bu?^_+cza?K5v19rpJ5 z$>0EQ36|hm+ddi8;w~;^GKNr|98crR``AON;rmL{mh%rwTgxhQ`$R=0z3X%kac1JA znU`kKc;puG9@oruOWe)f@mJ}@iPPcYBOB>?*Xtpkxtv@09qF_bLUgb!Dj{GHz}n5XzgwnM=HU_t$z@ZwQf5Tv8vyrp+y6(X1?(-BC^PT)Po~! zrf~<~cOTL#{QBE|`+NBD-obz>#Z}1IkZ(bGo(K?dcasw|{kz1s;-;->V2HOfl^WN2E2pp=}AYa=zL3+V9y;!76y8 z$w!}TANCwB)cv=OgTY+eO2^yh;0)re=Dt4R#m4*Y{S;FD*KLLL6cT*F+oy?I1sm8# z54$~geWxfzd>!}BoHlZ3!QSKoN^&2CL)5$+#z9Awo$~}}r)X_A73&=ad%Hm)T+AkR^RZ3Ten|_g{4u1b)JEp+ERe5=$Vzr0m@ZcJn`+(tDa#>RG&kdYI+?V$ z78L5g$X_?BgZO!deFS*d+n zSK`Eo$t+J!xvStb+`sVm9fl?Kgv(_tZcWd!#dJyiYfL~vTHp(CWf9cT$`q=%k9(sm zMfm~NEA>3`R#ofjnFS9=DSV!=5#PkT%T$n5XlcIa%x6JXCs~IYSYfB|)YoJDsBozt z^Rn4VG++;R<1giV8g*{w<6P0!*CSc-7$H3i7H(_4m@=<=zTDie)jzkJzu#$(IpP0# zw;9)pd^emUQ0$@a{Fml)=mCllb00zDx@B9HavgScZl$*PdRN&;Ny4u#`F%c|o_hlm zDuC%4iIno)*}%$`Mj{8bBNO4&WlM<5%|>yRx2w|S10Y+-<)N#XThG(%dV4S9!S~@h zcVL~L7Mb>`A_{l4`La);())4|Hf5PyAJIs~v_p~4$j+TfK7dp!$LM1#&JfqU%ik+3 zUcG+fyE=c_@v_Q2m3tiqem-=?1c4`3-8b?lipK_T!^UUJHvbs5evN7A`rTyoj!V3# z28Rt7iR8xsGvZG9f|t2XG>CtIsSZJRGRyQBg#<%M(Q?csn#fL%NjL zNVMjD{1LrgX#KJrgla>UMrEW_w%DPX64CopK`(K`*-N?JppF+W!)}V!+yaZ7a7TFo zU4nB-U~}MK@;~5{df;K%5gfWwX3^}&{&`3`op(Lqmm>1;^52hpff`d*9*Sv+M&Xf5 zMz?p->C2qI0FUA7*qi)Lr{JH~XydA2z2=R$hb0j<;E#qr4^>7;{vLn&j z4iKL0!8L6jM$cdmf}nhmB}z(wYwhNhnN`IH%(;0~YR4+$;US0S*$+vEjY8`Kl@qO2 zSvMMxRnSnn`CJ!s+I1D!;_Cr&odOEJ+QU%xo0aoLb(Gs$PSRedHq!QY6X?9Y9eh68 ztL^o{Cz1nX*2I|Nqwos;%fA%BHV46n%RStxwwJcVB^|N0%X?#kF5lY#)>sOIJ}@6P zV@HOQr&9k$f~c;aLF~Nw2UZ5M%NJTaQ8zn*SM)g@t}G9mEe&D(qwBd3nlp{PbWI<_ zf0u13_Z4yo%I;lL%vEameL!x1bz>2mI~_-b$;+NA3vRHa+Du2d^ig% zKWTF4ZahFN*=gin*^Yg@O|#9be`>WFjt)?PZRxXgh9b|*43CNQ(`D~rj*G-AI%0i@ zRJiuyo6y+?1MSRxgcw2x;3af%QAy*#IphAZ-w^!Vh%*u% zGu0}83mjK9$lGazvJaZ_3dB7dKO=uj;oJz@CS9Tt7B)-igT(@6V^KEG=tImtudIf_ zIF3yD=aVAHdfP)+$ld5kcG@&&7LNBqUjn?2C0fxfd>M1cbldm7hmGHE>-PoNALa&w zA>H31q6b7vz0K1Zh6E^unwT(E%@nO4=5B4?k#}pPK>#mHNg+PMo>!*4fdw3sPpJmV zXW=*xjhWr~$ySgdS#9bryu?2EnNBmOw2kKG-ATtnSKmy-cR(oFh1N)e-wgp=BrqOD z!LqhGrDGOHLFr2vO~AS#@VRwto4-9sf9v6)Fpjl*-s+$m!8eyTtBx4BXf{6l+2f* z^itKlb86#HAJ>KCTGTjN15~IQe&}Rn8gj9LMJ;^&^JsVWI)xox_WE?1x*7d)NCRHE z3b*xF%JL3rR2Rd%cG1SErgjV$ol#YE+I4JR?a9i#!x%1_Ey)= z4U-yXE;OaIjdb3(_8m<}b^8_9b6#BrR(R*1s=IEceEz5-E)rW8pW!+C>Wokw7-Azt zd|LywJ{(P8R&}juyzXp40IyFw3aiOo=@F!wIiw!$TQ_J@V*(yKQ@(M0$Md6*c6XQS z1ascK-KMOYm%0sR+h2=vWlZ1jus`)La-t^X=k`ZS>}_&BiPErURvS0_pS7!Ow;11~CpN%5rzRy4t&c9RqWij*6Fqca{vcRIht&3X1o`amLw`YbKXJCzfq=FLow6$)mik7 z?YC-hOe#3kNQGTfjxD83e!3X`fzsZU8X<{qX*yLVrLz3Z2|R(Lt|Zr7$IYcBH-oZ3 zahwL!L&+&}{I+N+>WUz)davgLBV$5@tv93lU42%Bj7503`4rlX@KY9*73;be)g04v zAa(FZucDk3lT!11UGejt8kHfAg%G*7{6D$!+-J>aLl=(`Trx{fJA9{6Vb=Jw51`0v z*|rU#YE*7VgZ;dBwP=XnG|CJU0_(g!=1$31I*-M^%ip@>;#eUH;}a-#F~cy8LJr)` z0R{fOT9#0efvK{o8Nxq*!#8bd+ZGxop@kAOe&nb=llEe^Nh(x-bMxiqV4v6($hLO@EojOwxMv)RXKj-*rkc8o@-(Ed;ng+|(TxlBn2Xrr{Hoa0GL z4VGKU5t2S8ItmDWc~vj{m!m{VamuPDW&{+`9_m%Tde18Q>BG(Ij|KwGpRTfa#@G^i z;TXQR51sAb-nhPD`nr&4?4nj(eCuWp4BdHD90^uWW^iGzA|vVndbIh%v*702@n=tfAOk^bAKj$=0DW@Fy&&2PepM0&bGVY=Ju|b~A_0*Vdn=0v1 zd%^^Qch~dkKb+idwts{Y{jz=De2FRsL<_w>B=csKJO-TpvHF=AGJaP1*vCO^ez2F* z3mLU6`{ZU0U#Fxxjyq~^di1QG@obZ@<6tcJzQJCr-PX$WDH(ggF|vN{5du_mvURW> z*9m+Yia=8}|5*7h>$vKIScY(&?DtSE+V#f?$kW{zahLkY5uv{5q>bR;P)4n-W~Z;h z`esC8e=8y`uFfkO^z8EJqg|U-5KVar15-)zX*7p8laE+yo$4KyRm!a;;)*prJHD3% zhpL$*?@!5K! zvvsPe&RSC&Q)wivXvxAEbENc$22V+jq~S;bZ~x4PwYXam7+v^Q5?8$+oP^$wC8Jk} zi}CevUh3-N-WpV5X3?_@##dlgsChSG_YUNrr$7t;P9Mp%k>P*UD z?`&ivKad9W;Q>>#wh~C(kA{oGGiSbg%tHR324KAVzFzgYzpaKe zsfp_R^%QOhW?d|Q@27i>$5yI64gyAm-@LESm)Jn==J8cov%h*V*bl-rm=)c)fLmbXPpBac?xRr~2uWRb)8orW8~g zBYVX#Gm@kWKDGutnc?oW^RqMCD@(tK>Ddu!RJRFx&20+8@8OvBHp!FWdUA)3MCv!) ze_qr4cd|alY}a-*HDL@ml9swXRXLDCdpo$K0rWq0=bHltT0W4F^rJlK3;pV$;^TV@ z@Kqdukr)w)R&&D*X%=Fl^tHPcV@tA_xNUY&oO5Ko`<5`tUznp?(BpI!@w6K=%Iwbv z{drA_bC#94_3*YtNLVG*c5$CA71N4luA2SU-E_n2`KFPc;zNFx1J~<}KCT(8-xwJX z5;N>H=@$Uou24rxB%>oggp^SCG4V)OdwaAN{PMag7J_p(Ha6mze2I!lY<&*_Wl^)xUp3U+&ZoJ zG8)kn8$NNmuBLzhznizi#(F0?a|ze$`R?xCm^3dlTKvqXd~R+hA+!2_1s;z3e8o6-!8tch1vVO z?)TEz=g#-Fd7bxfwk_oU8U1xGMbhGNkUK>Ba(j5zsOl4n<85=g?)NdaV%aH1&&&3D zc`6^5bk%)Vj=3VUJJwb9hAjv z%VeE6uQc{U`F~h`Tyb7s(qzlQI-lH6o7*PQD-xqaJ;`iNpS!Hk*ygO9FpjYkcq!7Q zXDTjx98#5ReP(o?D?!SLs&3E$7&EV$~Mq_%MsoF?xYcU+d{@7?rR*7NTa+l6v zuan4-t4gwMu@2nn1*S-jz1$AcoasDlx3+sff^DD&T|E!HO=8}yuV6OAnn?c(1YF& z701LR9HTm*n7ay(9n@yWkoba%TAnx9z5f6|!@4WZ-y>;$-bl#F%sHM$VN~+amQiZT z@7vo&?fe-_BK7?fIz8#$#lD)0all@YozG9E?OYA+RWFrZ*2wq~oz%T$aQ0SNzhPG9 zJ_5m09YC=6)T$ols_*cvP9Rm%s$BxkgU+d?7InSue%;-pr^2!5K6`Z1%zUuN%FfmP zLB)1t!9xFif1C%aH+#HT}n=BdLCHHp?TY6 z<$Y{hCi_~yWl#vCj?N7c)FuvZ$9}DSXcvDe2yb|h*4&==C$y^B(XYM$cv6I)=ldN? zM~@o!G2&D=9aPh*Hse-r5$JN(gajzf=X%OivjfW#8Q;}!wct~iG&hAbqr57-Y3BTW>oVV_RsFaV=i7YQ9C9prw-n;e zZ!)X=>(RR4_`Qo}N8!;Os_y}B?+v6?%KQ!q$KM94*8IBrj62KI;;J+|(&ynU-f4}$ zJfx&WiKF%5l7Ud6?epCyiDie(G%cYXZ&t#^iM}!9gpbS#W5>o%X1xI4%kzDG!1<^1 zL33gLzV|u;9yeP~!MC;&|7bY(xb(b3HPlcsvmm1mc0TWKr`lhNhq7ClXQpA^pW_ai zZ{zdE79qg9TSJe8s)er3D}dolu+n5ZAsa}nh(kqaa*TbtCGv3mJrYrues0`^U0hbh zp)^0w;_B&^L=@fB!LGb{cO$JLLGAn`N9Z<#h3woTml1_R^V=>mf?1j-pF5in{4Ofv zaqH37ADq-|H^*_t!s88<2J1q%{(gQf*xgB`L)n5|PH)X*R)HwJ?7^YRmgudOXYtf3`&tOl$j|NYyFGRrmm%#51NR8< zI4?tegjK#}CpHTBLo2>|?v>312vvx09vkMDJYPvR+L1s9JHo;PG?8`?Mgu$bGL%b$ z3A->GY{S42X4>e^c&Y80b=pwSph|wFG`0Ezo%?Cp1f>EnTvcv6w#9SfB8uis!ckgK zN-51iy}!*_lU$priPiHs4pJomXmYseWbii72XObgx_Uv5#2Qz*zagvei;v*8iai@V z17+`8PgF+qAXbocJAHcG`6mB5HMLWiO2M7=hJY|Nc~8&4Yqxb_=pCbns3;(Wd+#ID zn*ih-Rn)_XwdNm<18QT$Y%#PyFYGr7ufwL}(Ge1giOSc*ktqFNZ5|g_5P)8JSQ9Rm z-VMf=o^8SlhAQFh-o%gZT_UpK5?#=-2A>i{VYPRLNxQUt=zIda9s>-?NR0+8kR7?e z?vC$Qyth^ymcxFw%ZS6H0!UJYJ>9EFvRP1@iq0RpG}i6|k(0k???a-lofOXEU|BDh zj#;!5m)q@*y1v)_!dDJOeKnhYwD4T}vU3lS0OXv>ms@hq_km-n48HeF3P@s42@O?3 z*AM#}#Q@)D)cvZe*V933d;MRpJ0rjpi)1Ntv@u_Mby8}C-cN@A_F}fPi0D#;eT}zr zfwW0WD5LnlEz6)KsnO!pNW^2iBT4%VXWkTlk^3?;pR(qsNcb8RaQb$_5)<4lxfRF~ z$&W_#V}xEb0r6;YR=)OUxdBfuVx|g~l>(;q@@%S9D|DYj@r5VFDW*R%^K$vT&}#q< z)Fy`h>d9yAJ{o>aDn~b!*!p7rBe84ka_oUx*>D29rX_Hdim?dXaiga$rT zUax@Ls;RA;-~IX+m|v{-Zvj>?-t^Qp3;&Qun?35@Vq7rb8^&SJ-{}&5bnUqLy)6|% zS&!WSm`dA-O|=rpzkf+HrvI>wKEI*+DDCot1ADoJ|uo;;%{4RfP#sM{Gs48{UPln!V@#x55Ks( z%r%?mN8Ud+p)cbwh7;rSV2v;xuz#Vwr#m{9@g{x8tlx9-R{u(>mF)4lrsZ?=yl3{@ zyZ-C>IfF*9@%t8kW|V%5u;*Ei12JN~v;ka@B}{*%sq}u17D!`7k0xGgu%ES3B#aU4 z!xbYhRt@~w|QK2cm`Zzb@>q{6ynvEH(T1jT{REqS~4A0o;@o&@Z+MfBYZ?oGL zn$L`V^O^APS}F6_+WXmuGr5NotRsLvKfw1sEMwSFBzPsM#;j{OedaTcrfJZoIMe!9 zT|(&IE-vb6`b*6>+kQkOIN+bf&g1liJ`LEqrbk&b62VZHFM;keq5%75s=ZvJI*XkO zNv3ccOS2qEXgN)>^LhGE_4_=ku(zl4#l=L|*`Qce)ZXexe!QBy(r+cm3T&7>s)CNr zB;}Z!`wxe}xB82|Y`fpAGjVW!Lbx-4{*yZd!k)(x)w;orIZQ*L zy=FP5(AM&1h3xb+V^xow&N&K)B8uHlL^tP2hxh0u)xK~~*S%LM|Jr^X*xCl+_UU*Q zb*#7F5AHW*FQk22vad&gx$Jh3+Dw4G8u3Rlc1^)mFYksX?U;vB`Q$*?7^h9( zU2h1f|G`;P_QriB>Uv5v3S+aVM{?s6KTk}P$1mfrY|5}53Ua!n2E41RYI=VtznDMd zKWav!>;!-R!i+s-lUez?tt*sU_;<{0eNvMFrN*%&fDRW$AnD=*;74X+r&dX04v*&% z@gEmRW|vC7xi37%dcc1x7tDLn!|=CDgL(mM8802HT~dMgHx)5}w+9(!$_)sdPG4J< zTl0(9%RzwvLNK`=iWbgTHmbQ=u7*WfmlV$Hd--U+_j(b5oTV1=FYr-Orq>s>-Vqje z{qeL-v}}}HcXt4Xkug`)A7#c;s3LZgcu1Er1)RwRZ*ChiPH$(ORqiq8?WgO$GEVV~ zee!Z1wUXZ!*4oWIeSQ6|VE!U}XAv4MBbVNr^lEi%$T-(Qb%2xG8s}R;j~G0fm_$L0 z(rBTvH^4{ZEfNg=$#KbtD`8}!AFHNzMZ)$znekGIk*Xp7>j$|ocPg0Hom36?Te|r^ zHH7?SaS67Z*z$b9pdsW36i-)po=Wn4v}i~O;B{B0mZ5cw+vRJE5Om*0WnX@nRVSgj z#G?i95Nc**F1cNkMt|2M)oXlgX+!CfIxLiuo*9t%Hsn(D7 zGJF8nx_6zvYP{m`Jp`Ae{jpbyuF2LwxCBz8VL(P=jCMr_mB8%YVHoH>jx@2K? z=)jDTN1&#(DbDK>W9aye*GF-AcD(EC=YQcEV^XB}C=E96*SJ4*5s78o(#WV#?m7J z#RBsD6>nP$Quf&73Z};Ka3mN1hd8tWv$N{6L!gQG#?Ir%sMp0x3%+HPtR2-0(S+$_ zPp4+pIT3p5boK5R%Z(5PMqZ|rxWO{9l_*^am1JqD>1+$BV$ zB?l5kWr@LS&AzVfi9R*r)ocS1kM&qYca^PAN(=_}c?!idwpcHy-_>3Vfs6PD5ikj> zx7l(nZi}$}b*i_@7s)dFF;ruiu0M6cAvpSmXz}LIdQgdQZC0l1HAF$@_1a~*_oLg^ zx6KeFJuy=xz4M8D_&Y-2gL#!$N45Y1nkKXFGs39xRYS~gWZptO;kt*1p>^ZK$>Q{w z*XHRZSn5oSkvM8v~&MT+IL;K*Yh+6g=fpHPBHgzZ{OQ-*z&;W zjj7lB;pBc~0oR`-s5Yly!EQA%hZT{myTJ(`Z~0}J9{S5h6byz2Ejp#&jWP6VQTyV? zhxO;1uOA<8Cp#!Xh>3nV-2DrMryXV3cn?=KYEp3$hKoWCy2mfIZp0x=J>GryvkFZF zQzyl`iB_nM%|GvE zxM5*4x!FtC0@wFSB#w?eI>g6mStMNQ^w(cVTsG6@1i{uXdQMPQ*eZ9ej>a^DJM%6W$f4ovxH8~yY zf+dCwp(rn$IgMCk9f|i8@_pwmUC8gY6@|c|gMcWhzGQoGx19^N=H-+TaqX2ShG z?C~mmO15jX>FxGwML#L_YnJiRo80!_t*v zRKksps1B}h$^9lzn3|P&M*jJ5ko#r$lB7m`-{6^_VZ1ynQAv(;chhvrqi=E&F?p}M z+R*H9G$DKz;!Y<4D)4bp*f71iB53vFoc3n(Li;Dw`H@cIwHZa{!&!2i?E2jTXzTQk zhswK_XxJ;SHTCn$%R>WY>UA&X)gZUctZm=OiI+iliRG?OgL8n$*MKJWC)q2GTaX@< z%Ny;2Z4Jqx6L1Vij^7<3koeh1S0p0)yZ9sWt)|NW*!7bfz8yi*qb<8RWExb9qbSqm)lpzn&dUmxT%Wr3( zefG*uINU(_?pk<~%Ed55>zO~$JE&6pvPML-E;# zDf-92f5#+XO;E>z3nuV;uYLwZV|@DO%T&Kel(~;c@AgkLdwO zB;4WGXeRzU_EdOx$c>pgE{pE!7qe-Gb-b^gp1|hyDz}>8Cs%>LAqTt29;13uL+2{J zj@*{6QTt5ICQ3TeGl%1#XLP`vwwEX6%|mdrhWXQs{-tynvc884=vJ|C>g9&{cm`r* z1jCaza8n@|7u{EudXAMZi5=GA3yn(j$B_pA0-diIR2j*GQGO%n4U!4&ozm4}i}XA{ z{1Xg%EydUCC&@M6QTT?`WS2#$+So)iq!xoW^ozf#@wPhRa!I+SdVM>_?7P-*wlqZQ z5$0|7EQiG)ccFjb7)%A7=79zp)@jL4_GI&swqck(9LjZ8EQ5?IEx+=nr3ScR{c=8i zYYvrQd?iH_2tzpWi9zTaH9gpVG%;jg<5m}RS2Y}|90&5d;%p56fl%vuKFg0au<`9U z{t6eOdi^=7?et78P~+8xbtXl9Z9^wJd&Fx(WloK^8zKkz>X58?D~EPGyWM!v&$~Uw zwT)}X^1pu0;b)_1zX^X@ajVTe+`tEJxJy{cGRB?}Obv1$Fv>fJ2?zS#X z2npVEa55B~vZmn}eNl$zMDjUdvi?8l#Q^l^2E6?kcj9xjRV*>*Jc8)L*diDr=qRGb z*w{MUGfLMAlcE0mb9DZU@Q4McP18p!BaG*$y1Kz!aALuFp}rd(T7py7VAep`4lvLy z9rq39?!3Q}raj2CiGxY53;h-@Hm%g}@R@V;zR%diFxTc*JWiLspv0W2Zqnh!kv$N3 zaA5DXC@Nh21f69*rhMIx z{ThYoB;~vC`Fy-{@XFDxh9yO>3WrPgeWI_tZ>4m<-uC9_+BII^dyRQ&Ehz5Ual@m< z-ytm$&gA_97a~H;J9O3*Vv|3j7_1(0)t)BwuLtBk&jYWd=u7TnM1q+a<-zy z(SL#WbW#_+K{bFz9g)$bno&NlCg|PYJ0Vh|HSNjNvLKb5f_#J%fI1~D_!%H^sZfgH z#07H@Xw;EBvgX{`i?I#*%f0ooG{_dm6Q1K=wq#0$_Xp(Ba(26{OpMv)&`v*VFyrY{ z({&`YkorA@=5i+RFQYNwNUvAAGY+G{xK2?u=3U;ibO)k$B47z$95ZEw$=Tz1^9F|t zBHH1<%`*Q!?iFMv$0EU&l-bX7rmD|VybV&n_+@XbFmkut+0^L~-K}j~^{WtOe{ziV z|In!Rh;D~jZ~NQab!A&ZL3=A@e@sboR9~_`fe#X|S@L3IEinzH?1Va@lEaT?&NM+J zcyC-wsXiRr_V@hUka(}HBOk$dMBIGIqj6C5a#1HV>H+S+DK?Ec{x_PvomI|Thwg4w z1ytFQ92fSPKTPZDuACWB7R7jy0G7n$L|>1S!n&LdP}LqFYbl5ng#cHaJ9kJTK$w)H zFI>$LX4T)rFyO*GMq>=0BvrqLmoAu;-X8pZLxSh~kBO)aYF&Hb{lt7CJqK-^tD)M$ z{(;8fuOLIT(AR06<^ zu=w|A#<0Rm%sPGLzeEdu`xzUdr;U#HAAU+q{{DxPl%{)pDE!2>%5=@zLVncrh5qme z{{ivb5AW67C-9eNqPx#TjK^$nBvhPZpt$;TOTX?G1typN^mzZ0duZfL!I8mHC0oca zY5WeGW7U&(xNFg;(bGIj@K33Et2JD>+b9u-R{++~{CL#VoK+e}(&U-Ww@wcH(6AsD z^c+j{VNNuC=m}LE&eNjWFa-Kd9_9YnwO1S1>phiDUczu(JAX_ie@< z=oxt!^kVZxD=E6;l5^H1P8Dycbc(A;c$S>B%-Bu1d)fm~Y}IxBIWOQ;YZ6)g58m4d z?RvTbQL$fC-h%{#FZHSokNatOGHS|4wK@rKg9@J2-dto#=$CjttJOMeQgh$Fd}l=Z zgZp0w!%vpb0e!Pqv$=cEe0V}U4&1&!j8)}uekV2ZU72RvC|yid zF!$^fT#g+xROno?c8|pQES~vp&cemBm<+0cmuZ=d(BNPZ~bFQe$GqTw3a7EGuW+r<5+*jGUlgs?x8zeH3 zSa{}<3i~EuR&tspp9zTUy&TC4(5>bP$5o6vHnhmD%@~g6*s34ubj53F5MHqj+R=lW zS#(PWyTZ6y-qTl9M{$ALxiNxXPV>dxU`#`N^euhKal|}ximQj8d#@D+YORK7J}diD zUc2He;jZnJe-Vr8)R!zIR#i>>EpWavg89J%_(OeuOI|R{uQ*Lu@{hIU!1K2y!??ms zi-os;+ff5AD$xY!-Pq95+FJ3J7h`e$s7}8xvhcXqqT6LMeKcdx*-Wmwp`F;*qWN6fkr#4V z`v-fSpQLZ?H#J_W?ma7&zK?OZa)&X2bv46DOEnCO-gqo)6M{`RPox7NH@I2S-JcKj zRS$CViut-=NbqWF!y=`mZqb9?-%bAoPEwDfAMX!Z=Y#VRpL%}wp2eD=m?yy3=5#4h zJaNr6e$K&m;Kyf?L_pJZ>XGAcGl9(tjVLX59Q<{*glw9%9yr!QQMq);rOzv+Z)x4A zOgZpXQ6$P>(~8UPw2Nuk2-&S|ya-`prlEe(UBy^wkmsrSS6GH8TWcuaq&COp5K}S5 zD##qO?T>sTp2&B}oslS;cqzmAnIwWG?jVc5r=^_0JpL8O%1l%Gk>G0+%OL`h_KZe} zrqJg@n=w!h#n@Ui@0Y%3DVhRQa-r7-;X3`~J3Xx*H(##lZ}WnMx~rIrVosG&D{W7b zADKSCr4hwP?OILKhsvw$FT5Agh(t3XbEoYPZ%6Pg;Gq}>0^~l%Im1AaFu3S|g^wc= z_1HdKjLLjLg2z$Z&BDy?(O$qa_X@@7#;!4?2r1_j^%G~~`)5-t@@+Q2@6*By!!G5X zSRQ}&mOod69-!c34@`8m1ky%R&KCx49x6=p{Rn~eOWZ<_N)qf!rCak?pKFhe0pSB1 zf|W+DOph7+>Z8W|x$~a5COo8;W2;|^e0d*^&>gW%SHfv&&mZ19`G!YT@FvTP_QrPF z@(kIDXfH55%5j>cm{w?t&ecU#6=FR&_cm>0F1clD@LxUANq?;|DDWzcef$X>CU^%l zfikJ=Vh?!JS=<&nFL>gnnJsuRZ;4rTwNv%axp?lG?Mq@_bBQyGizai*87#ZgDdZg? zF1E|QpOtaeoRY;VULR&23-9nTx;xtLVhu_+tSNYD_MWL(iz%;$e;S>O6z=4};+!i_ z@fHF6vmZixQT`Zi2+sZXu;@)&x3Jn;r>nYZF2Y8h%JkiQEuy11a-xu4gwRg>^|$&C z^)4WRDD!%9sthDGw4vc&=eu`ozcGRwhu*6eRPRMOequFK?u%CUUSU8;6miS<%?zQ5 zGfp}CZaMF~SVdI7|5fs|xg7LigyO6qyJBO+QPR+knBi6KFRrixG~6mb@hX*D{E)t4 z;Z;}TV_wNl6{-igHEyAe_}15*X0e0ss)IZ1f8FJKe8(OJK$SQN%YwAa1P^EfPYw-5 z8h9m=QnIWPt-@NvwP7w@I0WsJeha76SI<$E(&)aiHisPO`DM)ehQ@h-rzl$w`YPrz z7Oy)hole0ukW>-d|y4{|X9o3^h_lf*vHx4jns zo0^*=q1&*7ckcmc&j}gk7$N$t$l@50o$%SN>zA#iAr4rC@#wZ}Bg?^`@+!HRv(%I$ zke4lw?9!oaJMY~N&v>dg;(aXa8p~DsjE<2F2MGC+%0(qx_4Go`Z!|uaXTD8FEp~3q z_qd?IMom&v?F`*BqBLwR4*}LVhxxl*-Q5 zr8n1!=v~vQ>C3>v3E9qz!Y5GJ+s<9&w$0N!WHiC&=ns|Y!q^ znJv1z?**@dki?!I_=Ez%7kKi9C%jFA;9us!Jk3bWW^9Q@%fXIr=k8D62N!+4ptZnT zMkxsy$VO{BYW(?J?W62Xb)rCYzrj zP#v)zmi;rT%?F1h7V8Pe;-j-dk*2%-W+VlZ4*HFv&LBsgyJ%em2WEsOABxU!rcaJe zF-G6DL7qPWOmSAGV^Yyp4ng)?S;+IQY2zy-su`rZ?s>zz7}*t8+D=1IylE-v_cpCZ zki2a^d|9|bV8f`-jXNz2$*uXu4Z2o}T!&}4xq2QA!nDp91Y3>gB$i0nKk+Cd(})J{ z*@NI3+qZkmBc%hU+eRU}$-ilE0wfUqm%}>B5}A6!{ziTS1v6Pk70b;gExRxGNF+1m zKL}s)ek2l87)}^C-Pi7j;(nRN26(m4Tt3RiQ^%V$$UIwFB*5jYLsQxSFfikS%!Q1o zxjz3|fE}$mE+{din^iIKXTiX4ONRQ%hfIuGNK2MfL*_+Al{auJ{@A>^5jFWC9zu57 zDOfV$^?jei7e{i}_75tp)Ns)Q%x_ww=|H}{Tcjq%U-dh|y0dNh7|>A_w)ip3MUlzN z;UAPxaumMjCMD(@`;FV+^{2AVD5f{RN8J8W`X4sGo5G;qbOp&PUUorDjVV-2Mg5VC zb+dEGEmYkGntrvyDZAsgn@X*c4Y#q5oVcDaz37jx7|)8G(i=H*_nh#AQ13ap+l zixf&T2Nr3@X2Fa9Ysc9PL~Aqp{*mlXD(36C784hg=^hA=!f}tqBD|P+z)a@(FlQ_AR-8Xeie2!TQ*bJ65DMgHy-maAu68y$BI4_2r z!UN2IjFE$&w6SM%ZK4spB)CF0+f^NmZ{EK_|5jL?J_#z96-KsvV(9shT>TEy$rmXa z-3|p6UsS@@MR!F-l!@nyiZpx1Npo8rxpNo^TV<=R--7L;&x@>W612>lpItihRQ3)( zL;5JZy&tE)zuDt&xvYi-ubL*;eS^N;q3+&P?EEhRot&-Kf?-V9va1b<2A5Tj;n4%Ea^D&xPwdV-cnhrpd%Cf5TJ`m8vTV6>GU|txHpCWcMjH!mMV(GeJx-bh zUHIn1%o4J%L$rLlU`4CArik;yaalN7rd*F->HdsWwXCpR)hAu}Oozib-MdT7C`(;k zA?2FH?_@Hki?x@}P_v_qlqi$0Jgt+zNA-XLmGO2WalF^|!KFdMoJIc6{fyYFF+4Zl zv@ONG&`68zH?D*DVxP)PDrOnRYDE~R%$Be_E9QOmL~Eb=MR($~D%0V)U$Cj+E0VTq z-5f-mH0a4SSL5%ZB*iJt;nnY1?l|YtTc51kEN2X8(Esx&?ap)PQ@WdE7<7b9M9{lIn0ZyFJg?c2&$2(fQwj7ZimdyO8AlswL|0SjZ!vWmeGhb9Pg zaj3Qa;sbgRhEjm{TB%G7$N0akay<{15iQK4miG?*OI&W%64H&9HLMP~l|Q{#=;{YI zD`kWQ#Ur`1-?Wr+(Ab`DI3BT5qC1QVg~K$Y79vfB?HdSG9nj;k?I{aR^G2wiXMa~a zd&Wou+`paFIMUETf)k5M;UPy(Kk+4qPo}W96K@p;;<~Ibpy@9)*Zfb5K4f|rdDl7g zSjW5)P_U5D9@suSl*E|{e66YFy3$v_c9Eah`p-4Ecig!x&gUJDA|+L zAN2;CK|Ge5K(fnB?qzhx_Xg@Ix`Ka=V=HcqZ|F2^?@?jtC4rPh=bl>k{G-fJ{)I)J z=bXJ70D)wC3LRf=Uc`i5l3tg(w zu;YHej`b&s)BGsY`Grlvd$M$?bo0l@K=v>21SK4V6_YgMk1N%g6w4U}&yC1Qt;o+} z!WTIbbz;yTFNDoCmh^w3476-^^JUg;O|HYZdb8xW5l`0Di*rtZ|s{F|I3-UUQ=YqC--DIyLMvJvf?|WTU zCZ$DQ)cmZSnwfMlYZt>-w22`&K;XAXu~taK=gLH1ygkM%Ft1@h!~ZZGQZ)bBiY37- zQ}u{Ijf*;}uk~&0D0VWq+3Bxv=NWUIkSvBBkW5@R&cD*E6bke9IaN@Ytb2xsK{Q^_#~+1en7X*EIk{(IdV)A zvt-Yuwb5u^C=;Cem`d9(Eo$)FM}0utvUgaCgwhn;Va#`MoF$A53RXjq%;k(z+kzJf!&JC{6GMga$N5aafqYP60e#U45FBAVSr8`SF z5<>QlXkPUtR_eell}YtW&FUtDi!}z#ZFX-(cYU%^S|%g_vx#3@SYmwF`pyJ%D~^5q zhYHa}mt<%j6GBwepNsCkf^0%tsM?0P;qge((2s0!wWA@lhz zZ;%K7w+%w88`M?Ou217^mhtj$JldUbS_*kR+H@ycT)$KqW92E^b6dPyRfA>NT&ah8 zP~lXVuR)7ll7+o1#Si56#KtQrH>gm!*3epCvqr_c)Z|aIRwL1Od#_$}v80)sODKhd zCzedvR0c1jev5r>{+4S?BlW$coO=sMm7%ghZ!vj&t%juq#fcHKsh9#t@4-BMUW+->ta&w~Nrl;xGw>H7BRqGVeo(={@uF`8s)| z7fsr2LnN1T{=mtmq>5jV9O0ddosGN&yvK9 zM1l_iG1Z6B-96rc`|aACKBQ%sF+;`P9(;|8ke*Gox2;zkQj?K)Gvx7Z(i~9SbuK7Y zZsOjzZ%rZy(I<{QqzAGu(&3aV@!854l9heF$PQH z5@|ON!Z(u>k*Z3dolO)D%f2|E4(hy|A4DZnyss`m=@Fu4twI53O(^&oc+;b3>7fzX zCSxhNBR=%wA6aFgIbo@VlSwPa26Bx(7En-zJ}+MdkI-`cP?H>~8Wg4;g>N>nRU?71 za&Ed6^my0Q}qm$2l>~pRzQ_kC?H~1FO2v6$RM&RnWrFW2luzTm|;dx+HDN=4OJtADj#i|=kxy}enn)w}VQ)`Pe8 z?y7|?^0VUnpi^L;_V6wEygdmlfSjc_#nsJAzOe6*i6v)_ z)*n7GrHF-VR+7zVEl{Oo*l_&X1{H(k$}v=OiOyw3Il}AdAonVV@7$k{dv!$Ah@%xW zIW<-bN=tW@OBy)&#T4k{ac|5ucW%`sjgjz+;L){|)>ZJtIB(llyOH2(Ju`D93Rpf~ zUlabzpHv-yoM z1JMA+niyo$>+5Tz*o12)5|Xq&u~M{Y^WrtEyA$#M!Sl2$c=?KJ@e)|fb|@yqAQ)NK zE+T*(04YuG&O>~QyQCp*=P;OXpyxy>?hsa7FG%>vT@cp@C`r1)dR>k}$LOd&p8$Ceg z?H{Y&0HC)PpNVm`m1Nf$zuz(J1|Ie#E79hQ+*}$^do1U)T!CfB+ahCJJCN<-U0jo0 z!2506jm?=W&>AXagc5y(jJ9!QnRFRi)H7s?dtwu+NTI&_UkvdWm1Sj3bZz%~Z+awA@4w0EH++#eDMn<{ zfoVH1AhHH@yq?$kkgQBCyQQPdC@ULqv^nM3weGh$H3j5#LEP`>tH?6IuXIfyi69W< z0>FA7%4M5%|_wo4d!k+`%01^6&T8)TrSS2^XG6Ow%2(Gnxt!3%2i7G^}cP_ zAhrJI-s>gXG_EC%8{ggFJ)$o)c;_Q@MtB3oHtG#?3e-FCS8rT!*Q*ug5rwkIxy7+0evu z)kmLyCdoo61Ll^VIsJp~OSI4K^uLw~vS`x@{O!4k8Mt*h8f)=IY;*VgBKeT|&GYWe zXqqoS{%yiy;#{ZJi(al=!-$uc8gC2gwX)?hxu59b)K38k`rnS}RPYFdw|9%pZZToM z8(E8{|NW5jo;osuQT(8nX7HoX_!$4@4pCad{V6rY{Gq@Ie84PY62C)F^y@-aST7Cv z{(VZ`c7WnH^`1*2R{yT=c%mX%;$|c$e$?3#E zHJU!#6|kxWk$Gq2C%O;Qf$W3eE91(D<&Qgfs?xDj0k6kpiZtSrM$tZ`C`_kiX?*=t zEw`8@&Eu`3&guN)qxzKGsD!gq&+VlG~rH_ZWH@%Zb z3Yk@49>H+xm!Be^OB<9IpRh zyv{0zv`J3{SGpKKiuO2%;#i^#t1{L6h&XZ*<$c@Psf;MevpX8y1=j%_N$Zn=Q_21= za+10$Ni8w^ph3%{=l46JID+eRs|)FbKY9heZ1~O~7J%t?`$!{Xc`HUcZ#ozQXr|cpLM18#V8d zwj8xokN(VVr@39&=p@nZ2Ynka?Dj5@o-;|``>g}IuhtNk5i$83E^G4>N=Y2P{<@pw z=KT*;tze6bmKT9S)v|wN`6-&l_qj~zQJSQDSQBk{OZT}&hD6Wn`Wn908dZL>>4ScO z$80sJ!6(yDVf?zv?znG80#88W2hF4@*?Wwts;4BWTMP(l-+8t^D?J#eN<4is>*-{# zzT)>ZX`Tc+flt+^R!Jexk`032e02IBTCC@&!YDflMqC~$qPpnzUH)%8&Z=p$gbWPs zeawO#$w7)2jqayW;VN`rX{nk3BD{$E5nF1kL|<$x;gzRTMT52boug6L5Ebx$P}F@i z>g?YRu5gqZ8NiWBUGS$!h7`h-Cp)E!9tqYew74*IlfhlSsqhQRLwGeN1kr zuU=Dfef0RQi)Rj_E0@@eKx)&tP|eXw&c2T+Z z{z3=O(Nq5rN}Ea^7G0L<5gR9igb&Oxs`^G6WVHwdTycElF7&LDV3Db*s!wkT3YadB zpxu`#Pk888BTA*X185Al4UkMC1#P>spdhw*AYw4#VE#WIFAbS@Ts^3@4ZgkMq zDf)W`u*0$6bvM0#Xag(1d+7CE1X;ik9P0mDw$3z!d>&ZEpmX2n=FCghEWGc#Mtfgj z+xl&Nc`$E58G2L$ej5R{+rl_cOT5Zm;}m?((?0bvoI5M=b*4`CAbvkMz_K=~%3Aa* zvB<$?4cN9whsHenhn&j|4~F)Xj6;2l9gojCKIxf}Z_b7MureOv-7Myuz$)?1QJKF< ziaNcPdUjtodmLh~6X!wN2K$Vks@q(v_c``tp>&6NC&!`?i6mNv=?RZiA00~;jHdl+v*l($})UlgvSIXmWJu8@_ z`wAe?WFTpsS4Ed?MAD^8r!t78PG&_ziHb)aC)r@iy1Q$o7_e;hkQx}m^H=UpsDLmK z>5@QDhP(@cxfd!ovHf^#7v7}Nxjl2|oyzomK7DFz`#A0z?8#U4(!J8DOupW_Bl?Nk z{^erB@WM4bm6fOi4)Q}KbUlNGeSI!m+?>YzWY?Hdf^2QS&Ii@+9Mgxd$pR4P>*2L$ zq6S&OFr40eej%ETkJ;8T{EICsF&TLJOa$F7MF z>#ol$gtbI9y}olSq;80rNiRPq`OpzIBPnl)DtUpa{I^*B1D@DC8{Z5!aw}Vdas|db z?W?Z5fE-4d1C8wufIN$y$6BE<#D4fbdmgg=T+p7R1H}ubX9ux&Vc(@{Wrxbyprf=C zz}@Z1|Jf(75@bYlcDS7mspJZ^UY++At4xMO-W}y@fpus0gO#U?+2M2R(hdHHObAe_ z>_eqmw)}=|_Eq2cm*wbc6U4#AHgH^DZ@tbji?kZ8xah01E_%0~r2lYioN+11d|(3x z-EH4NrMc)M8;5A zOiF*5Wb*L+E7vu7!guo4t?n=$nKZdlzsK3#(O)mT?7U^(WNB=<3ZPDOCoL$^Lkt7( z{wSQl%^umZ-m@Mj)8T(e-Mpc>ubz~VmyoITo^!o^q3Lr=ECWNcbo-SAaQ3jfR1sv& zD8t9ug|{I@M05@do-v9Ji@|R_L3tit$%zBf>^nX0(BCtn15lA;R9j zi-WY&Oyx4AWQV!>`wiln^kKSxRfdubU(Oc2eId*IvrX8MxV6$;!NBE7;+p~^Nju~~ z5(lJY+V!q<>k9W@X`SIzy-BLOtajtLRY`r2^OxlWFkD@PAI|*2YP+q;!59)o-b-Y2 zlL>eiAi+E|dxnjd^7|>!J!C?3|DjuE!yd$aCo{Q^(g(33Cw(DE?{as*gTWP1G_Bcy z4@`EtuM0Wq(t&K_?5dF+D39Ary8Nv(L+v!IkzYBH$co+j2$RAu8^&miN9P~+!W5Y5HGFC@NY2R#xfW;(9Wnhv0XD;SIU@q?ohzbhdgtiDgirgdJO01x^e z3$=T8-Q<59Lo1Y$!dN`C#m&qAGRTyW)TClIh^wFr(oSud_X*Miicn!#GeWwKxH|1G z9zD3Z|C7=i{*dJ*=67S@>hg4Sg#sSd{VoAVW>*z@C^H_0a&X_p&;^$L>bpOYhR~TR zM}*^zF@#(koB3IzgUH~;af{>@-uL4aA_oq0E&QtL&fDLS&uPpGs~-{XJJMP-Iky|% z4bcfzTCcnO57ky(KRc+bHtAiGv_iAQ(7fsz0?9v@-!vEW2A& zc6GkVAi5fx1I7T4Q*n)>IEa&RZ@r7g} z=?Ub3pS~H1e&zL<#pEIpyJcAPXflX5Ha{)PHx>LK_sZV~*Tranwkd8s1VFzAT)%@K zY<>ytI_~Q~6ZY871-uqDT=RqXQRCe`4CpS1%j>KEO9>Bs%;)`B_F`vR`zgl|HP?A` z*#DsgUAl;ldxF{aDbDyrNGLTuQO8iEzvJWB%Wm_TYCelHN1X{ z0FAMGt!Z|aOs`K5+9I!SBurkP^saCVTrE1o#_6D{5+Jh3jD%tfUPFM9UGc18|VjJ z4ZhanOm}SJVCeFjXTE5p!_&AiIz*fJYVI&Mohxm?+uoCUQYl-gxLPr*MCw~dWz2Qz z_^r2?qCYy5+oH6(MO>b53TI|&i;C0wd^w;R2T+8S{q-1JX+gBm7Cky%5BK(0u8{P& zng*sr&1x7aFiP8}p-kwkjI`zR^AC=JO?ECBqjN4t(eQtsnpfdDVn)Bj{;%`l_F$?X z?5PsVn>LA+$w*7S3WoF9{x#4R(Y0pGly0nn9rSFiKJ|2?_A@{wkkXe+DrrKok3(yg z>-76yj7Z2+J^Na!Bm&7u+LD@H_hM+{CG$L_6VO(71nt65Y6OJM^-!1TJw(yw;+v|i z`HcubjCc&#@+@c~jR0(l8%ghy)AiS+ev6=^!+_{Zgu9Rlfc^L5T^8QwOTU;kgu&%c zD>QnX1$8C+|0ri5`tTCVRYv9G-aav%M6>Ic|CANEOWYsJtGtc3g{(}ZQoc?cyU+jJ zJl7L?AKUL#Sj7*c%P=mfl!LI^1}+kAIt<7i8ouiIeX6S#>Rgmotu>0qC9HSf^urCM+q-wcJyiFo!An->RztW==j*Ie*sV#Dtszfc zwYDf8AmtHm#-@aeR5Tmw?9H9R$`^7^3#0bZeMfrm9`6^ zCX*4=ge@@GdEFEPHzngjP5=U@&>2m6C@sed$Hm=#_d)F4Q&7w)GHW&HG|Jlm%-#VH zl1ST;Y}_p1r^_%r;}uTj-n$Vtk1}{2;gft~;>Tm#26fCi_1yLuDwc=M!ahW|Mk0k= zvb96>U#=c3ug&6Xs*!o3lpP3+OF<{e6_Xa@BhiKBkLhhsOEb%Y(OI$QlqHAr0_|o8 zx65O}ch)Hj+22ZYhIYjEqV1lFw-q-^Kg%q)0*&0Y2>4i2ASa8b|IX8cAA z8u)w;V*sS3mR~&4nVz}Nxs42I`ENXXU&iINvw@(2igyBA?9aY3-1|iC;su2a&Pg_1 zs>DrRIG|4ZgB2$K*)f3Sn0kb@OvEzdt@@dJ^+EB_zv(%F1${AOKP)$wJ_pvazQ9My z>b#h*fEv$27f*VGxm53dTt>LjlF%(S##<=e$8l6YT_kd4w-+Vlp+pUDIvN}j8q_O| zx!2hGa9N-7|5&M%Mv82V86RbTPL~-#HkX6;4z3HROM2aYX1saq1Ch~mstX1+1M9k` zv-M58u8d5-l!>+6FEOHSeW#CFPEPm^2I|KgeJb2vdS{u`N$?%F(2Ck+(&FiXEI{Om z=^&K7VvUm#&(wcQi9bMJrSJ6}re&x}Gi_aI*2Vx|Q4EJI?T1 zuDmc25@tiQ;JpA01mI7SJ#1Sp2#!0k=MDANf2WRPOouQ=l(7zv^uhFF86=C|V1GW= zk??gpbE)!R$kNlPm$a+`G^X3?jYw_>TBDzF&W_+0FNU{K!yxs(E-ts)IY~W|iIn93 zRi0@Zgmt182MD09Qiz>{8Nd&opr~e69`q~vp~xGTww?vA<0MUTox==l+O?Omi6U;~;y?Nof+Ic((ne)6y{o&}oT83;Tqp4mjca!k^pE%@4>!rIc zuK%THJdw@J@6evG>I&Q?Q`z_Blu@_u>W5qNvlrrlVXh>x6Fex+U#1BVmq>Y$Y4+vU zCreg2E;LBQZ@N28F9RX^GvZG2Mfy^!_BJjoQ2|Lm&$$n1@GscbHcHEk`%2q=aU2ts z)mgv929czLoedbpCME#s+Ib-i6~e>@eEjpo*BF;Z4Pqy-RGfitV|WUGakf*?yz&e5 zrJUb3l9c*5eIX>R5Ett5MV=t~@1aI63JKkZXEoj)WFv(@ao9_*n2c!0%PvPKqIEp; zK*;`;Q%W5ong zjK0QiCiA?JGNdv14OwHxwXw8GR{48AMRtVoZYf|OPz2>8cads`ZLC`CaGr{w30~o| znJ=i4;&^4hdfvC7`V;fd)w|H0mw3~yA_b_+xdx^-<`6lhU~v;D7+-_ZSq(4(r zB9sdUu8zmUrZmD7P)*{RJt<3*r;qH0XicOi4e4Y}%+Vc3*FMQ1jJVG;l_6jMem*cb zI?&iP%A?_bU1TjUt`6Vas=3|P@OH|rrF0Z>Uj(o%EgU_Xy){7eLI;d@TQa8F)Wq}R z#u?yisHHP{kZLcEuJ&k7KSRBdQ2>wdS79*7PK7Y1(nF(ZlHZh01c#*LWJ8N-v1x>F zMW)wD$6@)wO)i`J)scS7z7VX9nyT7=D=<$Sl~A3G+P2AXSp>Ld?g%R$4pw_kOO!Uc zI(L>h=E~@BOvPk(FI3Pxb=KjTI!%U$p8V-sH{R7>6T3fj!KZxS<(8(mwR(6PWNhEq zAXrz+-w>#5ak0wJLnr-$(nX_ijb9kE^?F{4g{DlDBCtugfvzN)bx58$1Lr_cDA^6~ zY&i&KHkKZqFCLL;-o=jF4O}`&pPS`V_-AYi^_u9&(aEvjT{aN83 zuoBhBSBTyfyo0TdKnx-8RKHVv{sG6|c`vTm4C{M4I2?Yr^|moNfEyP9(PWLFU>Bc@ zziZ&-vLB(u7us3m!JM9fR9-q3sUo5VwB#J6+J{u*mPCxSo zN{wIEnSBrvv3FgETYoF93s%$Z&jmlMT0D*JQ)&=lq%-n4(S>Ke`vMzdkO=La*I9Ju z;g97$k@mt>ImpAs*(Xl;vGQ6YuEI?>{%beVmEl4x7Kf~`U;ZydL0zw(j~G7!J$4A4>rhQ zo(sTwdfs5LZE%1EfCbH>bl8uHb*JUrmg&&0p2-g6xZyQQx#m#L2KrCA*0vDZ6(!Jk zh-B3egu>Ukkx0>fU+HxurDS}6KX{OeWD+VHZ0EzDP+lXU$FxQ?*cdBHo?E`*(ARx> zL34+76t&-9j54CRY%lFswcpedz97HYhzMO<$~p=;^?O_oax{j_r+CkZh!uQDIC!%R zvxPoat7!e@&aq&5W2>}bwiMQCQl#aU@re*XSK3mvExFmMGw-bz&jN%^9SMF63S@B! zXjoc)c#_-q^+MnvUwKOT?a1dZDVn`Gz2Cr{oWwqC+m=Z4o1I>x>wYPZ(>HL;7%PLs zW5Dmxwi`g-FPTmltK`~h_yDQ=?Uh|@WXU2x|1g*;Og+}9dX)KT-elr_3vRD6?(9Jx zrPc%>pvyUpstvBHy3z7p*&zL}nA6x^U^NkUU619zLo!eqo{y~YgH?3Qs%p}Zb=jf^ zb&Z>eCN>hjUz4CW`4}&Ai2K>Z^|NVt#>q~lRwC_Mq4O6Ls!oOf0y`I|Fq+8zAT^Qe zr~S7prk%YTp8I3_FA8ZD)thllUOfDuhc&(24tee)F)?9&y}xeizn9SN){J^Xo(H|> zUz@5FtByo81*oP*s0~jxML4*emO;AcYji&}nQxw%Z_mZ4@c!4Fj0;jc)K?KUHvHfy zF(lbe!%-}{@*xcQfScl~5v^{%z+hxXk(j0oTYpwS8qx!|6k7L$YxfExcUZzH`&s z#2Ben$9nw)vKp?0%C0A^r%oejOojnsV!p6i=cZ?7pE?QTR-Q?o??_HBh=4ACT{`7r zG`1=J5&Y?zWK~z5-Tue_g8Lo~zg?t9*y_Bt3wLe&rX_Mf@XFI{)vRfz^qTq?1scVyL;s2sM%}dEq|GsIh{7oe2r4yORm$vpH(-Hiua{TiVlqitsUHyN3?Dnk#%Sf z7%o{J5Wlm7rzZt%Q28gMgISs<<)Q{iqWzfX(S<(fn2W^eF`dCAEGPY)T25fRB-zES zH3}}UhJI=IrY7)*_hX7@%rW+L=}QB2htmUUJ z#-v8#)orZ%It7T9bOq1UB?@XoGp9L%LxXt&BhO|Z#*)R(CCgEYb5G5d;_D(`Bcj3$e|aRBn-Xr)pkoOI6t zNJ<7KM#9f3WtDWi3Ns&PCiQWglI8Dvupr;)^4~YQIm+G@_DnDP1mtsYru8wzuI5vm zyT%Pxrn`d0OS1BlFT5ffXB!J48d(+%qhjQf|=Y}@2dmz9104*+FA zn!m$Qw@}~oFWMcnR$b>H_V310^8sPrt1+M%cB1nl_j|GMWB!#;`1xK*WMS75`S8<@ z=eDXYtC!_KK`M5>S5$Tu12hG#!`mAe~7Wmb4 zVqD*e+jT~LvBajVZlro{o40AHDI{sWK#3WLAZN^ zCk{Jm-yx44dvxRJH|0n2{_^QVo0mSg`smXeFTB6``E#3ZJSDv+aXPtyx^skQYUh{|BlTI;S3 zZ@a!~dxM``s5h7BYcI*e4{zx7rFpxPm2EU;N~_74jc$OwE;*5uZi=+jvA=RC`o6%V z(BK`ixcA7BLkDN~2Q?-;acZ^s!KEwD|Eu%>W$mzb%f6j47F}DHlC2s}4|$iNtM|Lr z@nm;3;3322s_PF+cv|hZSJ(PWRp2BRYTWwjA}7y8xYQr}$7VtyBs4$C*3PgdkHVjm zCIQK4u{~&6#|6ON1K(fVdvtd1;{MrV`*uw%on37X24b7B8*E0c^n!4`S(kgalx>*}>2?$&IP znGD=2KlDBsB{@E~Rc6QML{2&*E0@1;*X-DF9(B*wj)=Ch#@mO|3;T|2y!a58L()@` ztvV#Q{K>p{tKRyZPuJWppmKwl=Tp4qN!v@vSpAIe+W;{_D&A%Mal?n|>Z( zNwPDZG+8I`@NXKv;4?jd zhZ|yvUDVGM<+sy1HT`R=r$@np{Lb1|5wAHQ^zXbsD!`_SK2R%Hor%c+E)}+fQU~6f zMECH2)=pHz0nysd4An}t%~wLcaHF_u6_I>mW;0GkP{G26?qHs#-HH`p59Xzp(kD%@Wyd(*8Jvq?wqnk4bAcVWx6&Yo&sUoQLHx2+SsXsdKJHhGio)XG+=%IjLE zCbj68yw>dH13PH8+sgYXc;XGLVJRy1ROjkxY`CPM*Z-uDwp3I{SI!t7yB7d-j*RjFKL-X)3{gD3m4G zz4IVA0-Ns-QC{M>Jf6YX(xffi>Uh@(0M2Au#dpY9MI4G^7})C{5N?JI?9J}Ia+NYX z&NrD1|Cc?13IrH&$4lA?zaj~Z9X;^T z&Yim@Iw@o`S^Iz`XpdWgZ5XN^&uNwIIXQHQ8=L+$Mu^OQNFEY-CyL zQf3GSKRP&9{?T58s+d)who9A;e|LnNo6Uuy1F#!emRC=YGJV9{IuN}0ehYnkl{d8o zB|4a7{^{Vs{S+p*3#OJPpEet_S6+R`M+g5TR)?WGTfIV6l+~HL)>E!D8WOPlF5F;E zGGefLg*JEXJz!~3OY`Cw&XCsLzhm$2_pSB2+^V-5s_!^(K&+1N<1E#pE4lB0pmIYf?*FqSrn5rJCsNdz?>6=bhzSg)I zNYv6Vl-X~#Cuxj$ufr!{_V~qQEbGQflH19&I%Qa}u_^SWx}$wGSL6vgk$ro)1FH6s z3)=ke@7uZK{mz4b-@m(a_ujuaQ*jltLX%9pMVK}j2G4}FA%TJ|foIw_t`=l_&g3uK zoh*WqvRlu^CddvJ6kov9R-has9TzIb(~3x14kyF|^Oqg(@3AL%;gMMB*wexG!evC0 z`t?{XMA<6qR=ZKF)oGiw)2^!aX_4@V=up4e1*C`&-j7=jUZGin_p$tQwBC+X& zA+d~J-vf^H0Q+*N+g81M(tyc;_(6Y-_jlNs;Y*L5UJp`&yk~V2tI(*8;6QuT0RbpA z>E(!-rJV0ZnsUl0_H@f+ef%=r?Z4|J*|EzUG(Z`6CAY&Z{?83b%%fi_g`w>*~_=;^KvWzZ`L}7%VP6&0n68bdy`2W)Z@=(2f1@(ykemRv}KCeEWD=xfJ?~Idil;(#^x38;rSUdnSEOqqBuDu7!8N~U; z{L~2VNu3zW|1hG?p20qf>*M*=JEUV)?DGetfVyxsf9Y9nbyYoc3&ylIMkas-!28E( z5v*%X7L?2)xB7KqZtSC7`$>CbK?}DQa_iT*H5!_4=T^qB6H*Mz7p|U0>)o=u%&n~# z&OZQinOLGHfAIxr19t$Dvg0Pax?VW_Ecfzi;hPo6_f3ZYUsqR(3kz7Ej8R>fup2@J zJh#bGK>ondyL>73?EgzErlq9_K(M_PPCC6Yg-_Dx01hX!jMFKvBJ{2JWn(nr8IwAG zV;D!n6A~MDesOA->rkypEneSnvbILQGzl2D>USpm+E_x}u5^zfUu{pS`)DkEsz23} zh$c@Ri>JHNr;d>pPNj}zP900YuUPg7`70UkK6R`sbsWC+9q%R|j>nSlc{d?{(yULX zWVeLD)pOkHi8RykZvAyOP3ZR|BnM+@H7jvV`~UJm=dRrccke_YC%;zNI#!h|AYJd? zONmNI$>~lR=;c4yvG*fa;vh_G?Amhxs@Rl$^LKwuxPeD4J5`?t^Sg1!6b|t(u(iGmxehEG3 zv*!(xu^_JyI}YA2JP_RRtm(XJFGaE!X3Iw00*j=7c=uiWNvj3|A~F$iNR4H!gDrIG zI+oJf6sd1>0q6xJm+a4gkM>tXyP*0^xJCtSCj9i^i~`6@4~W9nLw_L)=tIBuBr{@R z@)K67;?x#s7a@F$(NNnZii=~o8-wPNHceH1ZVwoSifPXv z?HnCfracJPcVF}b{7L58LsOrFyL2{|%x1{%=wUsYYq~p#c~X^NT4uCKz7O>GM6)q! zlqt-%Cw4eG(3h2tm4_12E$NyFS%E=#2l|2PB0pjFlD+yE(!FRK)x*Lxi*I05*ufTI zJd&}KT0ygond6SIK~-c+w7l3=-IJbJpVvLnG85Wwi593CN#Ww`ygGfMmLYGC^e_hY zP4#I$&-^#NwRvegj(P<$jpzv;0o(LeOouMsyYzEMe*RlVy7NoeOb1~>pZ}!L>`>wU z7dmaA9ajn<)P$3RC9@Aq!7bLoS+&Bwk^JM^nvtO4V7-$$V40}5lkmn8KQtN34yMvaF`+zb!thS4Q(56HjSHH8bi24dgEBcQ z#OQ**DmZQup5~;s;6tn%JwK89au@=P(;>+XCar?R?KQfYpa!h0;hKL9pXdLoH&${h zGomcEKEF7tPK=elxPhV88{~$TY;DHBg>kJuBh`g2DJ;smgHf)`6z_knjy+*@=Vn-} z@7YVGD|2!SOi~UuWofo_>09;jWy=(GxU%mQs}{alDP4M+Tb?dHds4W18s*b=F#VPU zs72FGTmwF=!nFl;?Se2YttCeTPh1An1z^&2p#=l{OXo%ttg91OiqD@E*T=CjvKeA~ zRq-@tgDI|`SFe4QTRu}*xsL}$V#RHiL#vA~)Rpu33rp(bOO`k-iB|YRNV$2fx+W3DsS+fW1ngvCiNSfi!eNT+FI5-fBr>odBuuz z#mog{+;&5U$9* zH;YygF2qGfxPx^*bEmj|t?=M%8B1+D{qA%snE`V*0rDoUtM|{UQx|RQTn%KOv_!cZ z2U*S*j3U(M&%Zt}aB zsj%l})Y(Nc-2CIO)#YUb1JIjJTtS63;tYqOTS7YJXC4%%=dd1utd{2g7mhR&ayj?n zETITcW1PSFB0s%=11VivDBZqH@F2weTD(yDcFNfpNx$822CL7C>o>?vOd79m{(mja z&{u*o==-^Q$a8fy(O4r9b!tca?-?8`IcjCYMUBgL&L+kf`*wGOte@4^k zkK>H*SE5cd zdl2g%W;zs{zE27EW|c^D>oz$LYqPWD>ip~hKj}z{tD~cY6tDk7r1^se*lT*a2?an- zk<+$v-)G@sC**oy-`;?$_={a%9$YNMp>rh4s5mcU&xs(EovR1 zx1+VeA-hl}{C2}(2}jB&3AYL8A)4%IiY1Sgb3e#p;+qH@b|fa2)Ui=AFGj^I&gLK8 z(m0)&(&uZyaS@)1UTeAKv&FTw!nI{}^hy5Wcy9HX7a9l5@|e+^x-eP%dNjW>MciMyONtd~b=_6js)Y_fL~S z;82hng3IIDO{9s6Bj*ci=ZeEq*6YOM5D8gI2~r#)znIWOJU@INlH0xdTz$TPc`dl`*Ao9&bz{y zpo{MhYcQM9mJSN?SP2A5;)*ZiZwdAI3Pu*E6p=uN_p16=B&e4ixrxzvDbW# zgOiPc!H@(fTLch9_>*fD1TfRkSmDA{>H6*3I>^JJF;42awcIK@)wOgGV3gJw?a@eqEeEZbzkVyX`izO1 z=O1WjYYG-?ZUzl8*vrx9xwS8iwQM@gy|}?RkIA!yOfI~5W| zAN(Z({YQdXO??E z@w=e|UV>I%f5VR%HmTiSQgjsWsWa?Cop@sbim+Qk>ppX>qp^G28%x9&atvlwIBGHw zFX~0HZ7qJJ2?L?kkAQ)CVtp0GKqh;tJ-Z6`SHaGR{xU68J;5iyA+LR>emSjtYZqP9ip_t~L2vyq2zhyMhI*CHJr z1i#erh*_X%5fNI$Aqhf7OKH*LTEHmctt?*1gh@p!T|o|jP)Qgg@U02Uh=mzUC?so(I zX|Xm8RmJOqt`}l+=IFx#tW=yGRA>LHLR>KFLSUJNgaE?zA@J%IbDqJGlD30e6$J;(?IY>Qg@{yB z<8W4P%&B+2;jT8YU-er%;A~&IEA`7_O@|v>8=DoBkaDpSZ92C+{NwNl`9r;S4gVlb z89H!kHrQrr6k9BgKY>5kG^`ErZ33|s9ftblw`5|PKTgf?4}JRA=tWEzz*l7K^*9$NUIiw zfUdCf4l*qj0~vAtWXPqf=hZt`)unUd4iF5Je{>61Ax!qcvI-*EPc@RhEg_2OWov`I zz-R2kvLGJj-&+0o3;S=JzXS@z`GeNgYs8^MLYgoJ0Vy&6>` zQ*5$E+vSZ$-5Q;nacFdF)lgfwS)FDZM*gHL$>K}0&6*0gw(4aftq5#l8Cm1%o%^|! znReD9-RLEC_@%lumYR$US9BaYNfcaWB}*#K?{cL2wX-%OIB%@ zyMIs^G(w;W3JHLMihK+HV=M+G2y31}HM$u}En)&Z@c#OG5I}^;kQy3nyKPoT$6PIM z-!Bv~V+TR{z)lKpSU4{l+-f|o2)81^?bmuUD)IFu&7i!k!3r*fP+_58Uy_X-Lwj*N z7ZBR?<_KYVfF_<;5<|OaOmuGfu?$$yGGg_9VfC@C1)SA6!FXmlpDs?Hvk#nMa5%Y6 zk{vr*-7M-UEZi#0jWJOx)0QQpy|J`g)Q{K16+on|kz=a9cvd)ngHUR@<)?5&b(yaQ zmR7kEs>{eHkj&|2sQ^z}#*=u3t04!t6fd<~@fkGtOtBmPJ(0dm+luPClCgMK58`YJU%A)3WPpY zw)jIm0rOxDg?SJnXOICA;+_1($GPQ|!Z#}rAcFGHMpXV5+P_#jlVWun7vuc*xAOCo zpfh}R4Nn}`ooKoqLaG~4t-GP8RT?aD8ZxPBwmZ16Z1^zSzz`VkWvn$)f%8F_yyR!Cj77lymh4R3)vvtgo#pJL;g7%oK`J>i)noM8u z)w%jFhZExJ0W8sFvV~Z9?9yC$8gGx&co`1%Flu%5LFw}cn>K1Et(##QV6*10H!FiA zhsLHpRijx<*-Y+779|%vj3(uDhFx4O?a?V60RXsjFJdroL`FJ@T2%b!M%*>!4nOb! zu4bA!n;FBM5)3%FaGRTxD5z4&!$w<1ty`0tij|Y7smK@GPUX$|sXKX3JRQoWQhgb@ zI!d}JW=)t~-&WTlc;v8b>mtDpUd98+*{*!m^s53Wd(@@!`M&-oV`z#xeA7E#J0vUI zzOFsN4426=dUGA;A=X%jw+OyrY+>!*#AbcGtQ- z3?Zwt>@nRz+9UDf)gG?o<@QSSTICRG@4INzm&D=M(AR4=FYy&MG|$amHyO1!-ZQad zQ9fxlKp$Uka`$xvn4ViR-VSifQQ<3h#FINP(~c~mH@K;|w&FhypYv-iyL$rLP(Uu5 z)atMll{?7r=vIC8Mpi?Qx6ss=>NRa6m7Ca@CYhgdo3)?0Qvy@IGzL0*{@eWID|KRt zg)wx7#_*YUc=e>wa9$K_}I9#^l;p^hQ`mT zWv7lHfGQYca&KVT7uaIZpcps+3`6+ump6**SJbJ|{Mkq5n5>l;h)Jf8{jXnFA73tA zzn#Cnj-xPFGHN8SmO3|;e|$HY?MIg+Qx#D~*HZZG1?`XuMzOKVSrs#%X1cIaiLMjx zB9&=}o7+v|Y}fTtd|N`{W~;zos_O|iZ?&p<92ONG?!V-^uppvqVIz?nv}cYe;pP^_ zy`|s&RxV267nWNS9zCCi#Dgdrwt+9Qn>4#l!9c$1i)ZS@HOM?>bPd1&GlFbCc-V=q zpwX=9OapbA?@YbAK3cl9`iDq!GwG#tYeij|&Ch(HPF!kWWzZ#p{lM&T^>ym(bI?k? z90u2ap_ux`6c))XKQ3WnI~tS}J*=Qw0~JPlb04W*lxPtpEUtQrAjb^VeCE(*0s)Q3%42lo@?u<8Qdc4P*uYgt2aTZz0JT#@ z!DdAfL}~bHY2-_=#HBwW4CLq&=?sl=4lpFgwoWQ_gzKBoFk}}x`v)>dOdx3=yUpM# zY*(k=(=gxf}?%ug?@4I{6bBzKcDGae-{=Vab_Yar?Y=%xm6MdQ5|30v9 zujSJ}GK3|f`EM3qLS(sx+oj8+KN2iU@h+16hScY;J6mI~l2Ct0X zG!(T|l+13?Ju-1D7$?MrBJ=YhS`Zm5TO`DfW^LD- zRhYI)pRqn+FgnnrxO?9n3N+XgKjjFJq+|;3o~8%lDm24BbPr^eU=M6V@G#E6ChYg? zlVLLGVWAW$^kDo6h+v0q?UxtT8#mOsX>t(qPp`kWz`i)+djyp*|IEg$7 zO!Uiyiq4UDD?rJ}=$0WJ4e1lDA|4Vv!_h1sx6q!UfC_)6*g6&Czu={h7NpicDy*KCIy>0((lKEE{N=rbZB z^Q3)sCIsog9##fJB8*y5Bp(^Wk#$ZulGcd!^>z4yivOem^A0t#7aT$GH@xd18+7U0 zvp=|V&#n)Z10U`TYJao;x9hf!|EmOpB4$S{1T+gD7VDAxJ=B;?1=F!is_$6LC&^qQ zECDHv@n1BG#uuWrMiUS-n{-b&3tY8lQ!yK1A#DgO8_BL=TGkV%PCtS0-_(Q&!$2cW z+HNw&G+Lj&ql7-KLnBnz?LiTUteAat7V#wVU=(40ga@Rk;J*J%Z5t(eKS_uS8k$1+ zy?p&$^un6?mj5Jaaflj(c{+= zlLXHkjCFNpqQ_!QLdpYZ0p2M`vf2Lap-?!owW*o>6W;DW+0)etNy3L9>&WqVEW;vX z1TvxRCqr+Adc~+LZ^`drmfeNi!91%=FuGd__zuMSV%^zP`qW1szJD;5$)0*Y747+B zv@e?Mj`@VLDJV?U_}iPd_>!qX-*zAQqfzYJCs?f4`TVW4uWT9ui3biP1LA^J$4SC! z{W-FhBhql@})V)Sd`q8A>K!l*VV#o{6P)62e&-tk^WT7r@?~ z#LL8!yK9Yg;!z#_jwSfe=sx5(@|SKFUS8M2NjvC2)I0adcr}udPqLJvV>K-L zc`0!?DbeBEweN!+d-etoeDvdm&sFn<4&xgBr9<2Lt_kWZB`Rk3C zxWP=72+}6I8AmFvxj^PSV@K84-KhrB&7DCI+U)UHim(Y-hGFv|WwC)p+1Y}jUP>g0W9%}dS`&NE_{t7@)H;L?B^K=3)h|&*T2FACf8i)^7r}2w+UZgm|0S1r+}UR zVT2%Y$0SV>Sr-PGg+MjS%Pid^Ce75wl3Sk9m6K$Urq93`%uVs!K$zG8{1z`vI1NRQ z=|K&PM1<;^-%18S#$7UJJdmCua}`sn1KWI1#(Gu=DTjxvBpaw(-0|Z`sf)tni-ik! z3#+F=C{J-^hLf$ECJk$0@ss#q2z(drFQMTNp@Sgzn-PipIDC#A0KTabW?n?oqQQ-UL_^y*P_GRR}S;!I52A0dk9u&%;nC)d>MS zC|VF^bCw}@+JTi6)yYo)!V^K@v^^np?Wi%aKQJSTuK;rU+;1t-ACxeY%F~&s^6v-3@M#d z{)e-r;T!7wl6oDC?g#~2Tm!6MTD?pt0=yZ3tIZI$c5ra8sTYKc@$RPXR3g+HOUBY5 zYK%0unqY;D$V4L0u-1kG49^?hb$IE^(6X_*kNju55-@fYFi`<)r8<1tU)v#Ht~9WN zj!i`qkUGUgpy>!%D*}Qrqd?PgoR#1Ie)m4Op@Iqk_jbhu?X)d`9K#n*Px`H^?Kc1c zyTrERn1Tut+qKxIHa#soFqQNfr9PGcSMBWE30_5^gJCB&N6C}_{0ZR3r7=S9;SMu? zdSXeupxiEl2)hh;W%bV0-14{L?F0!^sizqvxI$z@%P_GmgpGKBc?8frwkm8pl07FX zq#mk}W#scGgnksW3c%xvp6l5X8&?f4wC*EOAu=0s+VIXz=VT)6$a=s9pg>+1sBV$N z(}CLPeM}4OS@FXU0N1ndH$!zUx*jg})E<*snYU!m2pREHhtGtt%jdQzKr}7)R+{%OGSHvT};4lQ=QPf9XQX6;{8@U%wIR@kw-uEGmx@IK-%^rY!+o#ZuR_B@_~VYm`=~4izuDenY53 zYDh$nHl{RHl|8zydIjZt0y$EqsE@h+&?KTWcBh`Y=WJjmn;}j?Rvct0jAS+lQ}85g zk}w5_LMRsXMXe; zY#ooptAw!Fcpwh>0MQ)sH7ekH7fWwf!f!{K!tL9d!cE~u1vHrCRivf0t&y=LnN;`D z4EZ(C)4!eGqIz_5Nr(AsPa)Re*cHeTyZBt4{j50rxsaPl(fB@ULVTjBH=aE*(A5-A zg%poc54vy^W^u!;=5&PKF_2$^9i6Tw^40m=BVDy53ai)2B~iFH0uoy)JRwV22jZgH z=a`OHDxc`{FoxY^5TDXrk&Q&okh-Tzkew4oEByo*EC%*JY3|A@-IL+YDOBK~;Do@0 z9hrw>MUXo>+3UUDn*Ssjy4Rt_er4;b!q&0vRZg0b(vYPIt4J&UQ?$~9=T~Oa-eiWN zTd$mEnG9y!(PpM9yd}=Z$<^6IQ43dTUvx8#Mt%aUsZIfJg5k&qI}Yyr)33a!BQL6N z$ma2)l906Wi@-L#pUjfRP|?-?0(GfkoLAFf%`LBNx84LYfQh@BB?mrkY#jPTw~E~R zVWZ+FypSKf1;lMU86q3FN!MRXLS%Ogw%ru(8xnrXvAp(_k6sKLDVQG1kEFv2V-7uU z_Q<4{lY$Y^kX1)zPl1$ee{8zYH)5*A)cVyi)k?csYq9PtZLQ_$fd6W{_4BsfO8;Lq z-_l&0y;Dfl5KH#PlATl@3HST4cuy>ysc$%`)M3g1H2k`Hntv0awYEl58N%0+25M_+ zgrF(tFdR9>P%^>DO(FDsqsOPFrlv2|9qpq+zK+9$Y0+QxN3%yd{1N>{Piim;8VPE7 zL0;2MHMRg^JyQ$5rVt-u$bT|CM3IWmrdiq_+4-6pw5U*6d=;S${+H3J0-8qK2WCUT z=_P6-;`59BAdJBH;0yd8-{=-1tu0#C^&_!pU-n3_`$(+&C^N25V##P%UknAI>{Va% zpC=42uv;$%E*iw@y|9qFl|^Mb2Q%H*&Rz~Y1(FnAt|EQ zK6D<7rQ?TBbOhi{5Z(mw4GuZ5fdyBT6lo$&zG$n$Wy9>Z-`qW$(@-t^i%<$?LiHGa zQtPKP8%y+e`cJ})VH1apsX!46WW<0w-G_Tcm^L;9Pz`*97Mnbbfyu263O(wls!0;) zpN2^#5X=sMq`QhtNuW(T%rRQ&8QI`9TccCv)}af_*q0=Q4%?K{10Pwx@|BTzMt=>W zikat-9cBJOVP!r4;8tPMa9P#VfL}mYJn7hn;-e^BzG)%Zkm*?w;0-u8+D5>!qXwUT z*31(MC&<+e8dVn4R(H-uPi}Q#viS9Aer3)$zZzNaqPIH-`g_ySo)`;XL@p`R%|Hdz zRpI3D0KxvVs{+|W{++C-di_#uP2y-z9ItrG>_{7RrQ4^`Y!px?$dI=mW6e)! z+8VD5Yr=(WWC6HXP#8*S&c1ju_D)Xd zLe%2eAU$5apj zI-E|xfyJfI3GbthjplDI=YKd$@OG^UH`9Q$nGhxZXuvOqo%I*+OK+WC-aFxS5R^gW z%OCgbg)i3h7JP_|)%{N`bqPZP7EOpDY!gK%R;@^li1y7vqR7W%w&SptH;%H#oFR^8 zPeA|DkQma|!agF6Y7Q_Aw;C)iUqmf{ZvgJji%S@-DnQTN@pu+*J%(j0o6476_R%;E z%N34GDK4%UYbCdOzOXt50d#NNMVXmlxyb<=qMRIaHbIT+$A0b%C7DB4Y9QHDJ)V-{H18-4kQWDiKo%e4p|@{F zn?eT6KrBu1uXhy)e*+=N_$?VfEJ!9f_>L{7N_(FX->%_82uW&o2?U2tOKIG$! z+ev=^A@}8L)bBommw}_8uQZ;*$CwJ^vS^h*X#}*~-8axf8-Vy7Y+mu%D5SBbUiZkPmBy#gI1DeQ19;Mc8FFJ> zSjtZ?s4HKp%geAPQ==Z(R18>b%cjz~TFQ%GW$d4L&;5jW*vj&uWwOM=notf_^pViN zi9`ao5SPSA0~;lnxfUbMCX5=R!n9Jh*=mrQL(GA(4EVq&jZxu`c*aw{|Xnv*3EuGgPTZYOdS@{3?_R%JVH zw`A^o#aUWwYc_XpXU`tL^B#~3eC-Y_*OyKp7$#F@uy1=q&0S#}T2wJ5?Vq6yMQ-(Lb@n*~`yxmkSeQH0jn>Ft z4GNA|3o~SXbeR@AEkF`zlr|H*;1_P)tpq-$DCBqkfF{v=OLwbfrCkrSOX^~-ojzqe z6N&+(Px&S9JajHM7I#W;Y+>4PLkO2vTwFv(4bw7MSu|O5Ho1)@uwj#r+zJ~a3V<60 zNycl-(@!(&l3LP>Gco3F%1O2r}gzSE8xH5f&A^gGs%O(>&$W5huoZ_@# zUOTnPtgeSAGj)QY$~Lm-lFn_?e>(=Lmo#HZ>0MsV#c1_%E;6q1)sbZ(aqf~5h)WJ zpR|Cg0|nuge6Xb+7^{H8qleWrF-wg%LuklXrb1w1ISE#h-jR|w)D>1Vd?RW4}1yNUtpUFCdUedd_LG@V z>5eKQiehGbVNbrga~(vjhRg9tT2I0MXr zy-y)G5|2RHlj_b;>;LY7uGsM=GVRdefn;|!o=R%v8_19zl5W4wy*OL=ZWSo7`3J?* zSIN~1AsMLZg~wn3YWU?g@;$jAN@wxP4Xr)&=sT>c;s&_y&SymPRIMRg~yW^F{8GQFE(E-7N`^40X`sW zwv(*c-$GPO)C9jnU45x8`h~8m!M{jc^l~;WnheH{M-%;InD}}i9fjSYUu)|y{~exC zi1BgzAqx#T|G;3@cJ=hXhUW#pGD0c-Yxp{vAc9tB{-L@=Zn_y#iY|@#9kR(xPLoo( zHE6N6j>lXjJ8W`{t*xUgD!$;$P5#afB$EWU!&|!A(;XXXEp#+_9?Y zlKeHE>`4t~z-wUf`Jtpp`nM#=#{)a}7uObb$!&4{8fYIto0IR70+#le)8Aeg-Ts&Hoo(lcEg2RwXs z9ouRUdmf^P@k`Vb*3jnq!`cl10 zPcowQkh$z>2zV#oVq>3AZR%trfU^|5P$y$BuzdoT)U=;B+STN^|1t~&O8 z;oFghGKLdN_VlL+Nt_{^8Ja^Y+%Q_vsU_<4LL*7Xy9MrDXpm4_n1C9LbeVDb`B$3F z8i4`-e;?Sl_kdY104coCT50|PTIuF5J!4Uv=mlGuLxdm%LJ9&=XKtzMqj>8v2)S^j z@ZjurhJ4;>bqHRa{OiGg?Cw8$;LnNxi?wx%K_zl;jG&fU&6SPY)!LZDGMti-rdGqe#pY!N!NkL4$t)YuHyKA5)5*s+b<&KZ}k zIf1l2?wV*->ht%+Ga3L>8G6_xLs#DB=8uJYBO0!6PFP{0VlV*1BG(Lo_1*zGEF6^~ z`|r;oYp-B|(I4+g9agv@zk|UvQCmCR838MnV3?k@@`N z+nVcyhn%6vEE}u22Jl{%{3uw9v<0MMW2Az)W=>Nd zh_rRTC21>qBbVK{Rqa>f^GE!xLxI;^02u{STjP;(smZ1Y|49Do;Oo`xbxsXpd<{zT zP})il4BZRbQLO{PF`k244NZq5q`NhFq?!vrsA*}7br8W9=XZ0wxUi%Szr-*DNL_-z zBj=9%wC5WADDzK>zV8(kPMMCXb-N_NgXp=z<+hv~=38^+!D~W}$k!7znp-|gj!tgn zi{i-n!rHmg_;~5s7$o9(M6SKb{KXf%U$~4$pXbQQTbNWwA3#za0%a5n=P%wUjZPVa zK9=>!pT1FCy3KlAn=cNJf&k*u&BFZ=_3mV0YQcJsTF*MU(g+(TIqNN_K5Z@YxQqO; z^}x5754`6dq-VZ`9{iu?vG+K$pVi41MIDy2FML!)F!*Vl|HFM*dia^iE;^7>IRK=@ zUAJ%lp-%q7(Xk{sDTuf<*8(q+?URn=PJ)6kB!(g;L`*qZDtEWl_*%(I~_^ zrAhD9+2@4vFI_z^#cNdL3LNpomEx@j#aFM?m$R%QXh5hbFF5WCvTkhucS8I5YwNky zuPd=;N^^6wqHr%Ob>e2}${npEZN7#InEYK)(4dhakQdKnB9aXcPlBSfu~7WPV26jQ z;IK^qxIjn0=yo!p0B7=F=ZLZsLW9>>%v}^P>7+JibOQdVZ|6I5Bvv*{`Y|YaD>xv1TKv!m-Y+j)GBz&Ed{ZPNNpU zyv;7=k6w`l{egfe!du&TJ$xMn={5@8dDKs{WEGWVl!OP;du`nu;s+9hSYq5rg4_u4 zZ3xkqh{lth5ME9TY4Z*XgULx5VLlZ9S#Te&RK>7~RqrHrW{9R^(LQZ>40VW+8SuaQ zwlK3uHm@UG%VMK_toY-UihcWS<&)YP8X&Dw6sDNc=GFD$4;MMdh7->WbdlvJq-{2q zW<1=&SB04+kp5ArCg`PC9)dJ-b}sko8cGNW!Ya&-Sta<=2!(eG_eNNFFVYr@N>^uc zD`%Os@%mT!Cl~ThR|yCTW>FwvBz#={t9iyhKD{C7sR9~!Oki05`;NEYZomr!-QCa< z5llEH#&RnU@n>Z^CZ|Q?tudRN75w-$GNI1gU=X=9My@$X`m;*la?;phL_r|qX1M}& zV!i?tM{-AXYX&0y128%(aNg$*Z zoAnqiU)(93A9lFwDgk5SrB}H2lt2!4NKT*sWPFGaAlz+3WWvd;O1ECey0VV}>x=G>)Tid+PFykJ5db z@VGUadIPsZx&aZx28dD_dHEK3dBX0= z%eTtQvz3xoX_HrBQG8`p1fo#@OkXXBnOc2EHohUU{a{`42#2~hzU(w zqVEWt4^4?wryy>{Yny>_#z-bJveMaXs}_7C~Zey5)}Ne;rZh8CxlWcE{^10+$()MMgI8L@O6yHeXl zXkm#;Ka^Ly6$G~u*;*TEC;@YG9^zFjh zxx&LM2o_*%w7PO&pzA=EY%bE1<=R$>Hb?9w`l@1(Qjt#w%RS9-kI=}+n*K4E>28V* zG^NtLAh}iMQ;{B8)~e>Zvh)wYc_Eevrc~G2& zj2jKs1(6ss|iCeX8Tylqk1CQ0- z)*TJLqYV|;*TCVGl8J;gv?u@gs(T^<;Sq%hvhNj|mt=#&3APu{zsJdL zD7pn7zh6c;n(XvVKV|AHk9PeVxQyUwvZ>(73&DA;_AUu6lA)V&j)QwVq_;A?rq=%b z>6q<&w1^ZPw4`j%@+b$K(l&Ibg{5-uj+HE@L-#mMJT8{Ha2d31C})^GL%rY0C0n>P zjPH2-JT98i!!}_SFIueJ;7xRfkR}GR5;89gn6t-?Zmqtb1x;5rW{q3L=!c1=P&U!e zd^=w}gLs4I*3`M_-13S*@1l4}pp(5YCy@j=>CeruD5=buf@vqwiIh2xzI>sMuQ1!O z*}1|UTf`#sP@rjCY}VK0OC!t4*4CMgW{xuTKm3Wxbg`P_4ccz(f`UW$VMx3MF(dpt z-+ixh|Bi!yGM18hE9jT+{yn?wFJG;P&SY%Rxfgiok!3Y7>7`$6fH79|6}f-FvcMzg zZncZ@PALbF|G*C_J=knQBAm#7e=9#fnV)<`;5)Z=)5LCvMCCIWgbKO~XI2>=86wz} z==3H_u_vpA)f*-%NeJUs28o2bv}uGA3rK|7s*EDEO43QLk|lVoM;jhzB1AX@+a!m8 z29tr%Ph5&H)YKI{`bN)yDeQ`7-(VwS+5}+65imjN=yznG{L=8(4|XfTKIQk;HRRkr zxk)sJU{((K~`>SXD{Kx2cstlH&^*Sn#r@Z zt?f6>?akq>ZDIZY^l5L7w72~x+!k(W3AeR0Z*Bffb2!r4-uxS-x$;A?J_EqIDavnX z{G-k2@Tc|Ey%p+;CqtPdwROtQRR4)|y!S{}so&Y4{5K5jmS^%a_tgndw=&mK2HKlzWknT|q9wm+cpB|v zV}n!~y(E$xockSpR9HKQ<0xJJzA*Aoy?v#oriS18hX*?cqgDZxNLq+3wkHn8`eME5 zXd<`#rTX1hI57zNapgg7WkqPXE0yic_I9$MY7QN=m^#?CYwrOj>AG=4otw5)mBnwe z34bpt1dZxAzBYeJ#4;I-iKrP-QEM?_D#sET+j$s!X|wC)z>#QAYVbg+`>3=p-c=^! zwX1gXzC`1FneJ#`j7HEqSNLYVG_1LP)t9c!vDDTLdS6+uU2QdW_1Abh);kbQ_oxfE z^Apbt4;LN#8MKE2SvW6e&0pn>%ie(EumZHSbCfMiO5^h%COb74?d$7Iqya+k5#lr1N8RVN}Ty9zDt^6;LXWQIw@ z;ZLhH+%dFO=P^J&9>wuAViiRr89*Z*CF}%FTrGYAHlP4KW;L|pQRpR#UiB_fVU)l6 zS(Q{vWr7j$B?gkgD3#>?fXJ|;Pgt1FxvBgmhz(0>i6jd})i@7I;j)bI z@*9^4X{m$|o5IG$d|YB%5)z5_2ZRe0pkxL7;od2;a~4*aVu}YfMY(NDE_Vc5!)VKz}NWu})ZO zn%1JQ1j19}5XIcG$u{O}LPiR2b$)Vm6wPx|Y4a-`Q*~k^IwgqckYAcho1A&)w%p<1b9cvC3Q5k_3pc1+h#>#bRT3_hrFmcKPQ)w zVR3yaJQ6@~>N>kq14-^aVa8Ax6Ds&_pfSKBL+yQ6nzG#I*PDZoN--rYw=SoXwxC~v zS?^qB@y9X#5QXk=b8eX<4|XxCp?4I73;2Jdzsm68EiIzma`B9y#r1Ix z5q4`;9w?f4Ov755RATa#D5tZHG82xhL$@eP%JUvFy%2?Krq+7d7gNW;?-b%v_uWM&SZYb^T#}`nh^;EeG-IzzK#Kkzo=e z;ADK=sYD{0?8*4HD<9LjoYY>CH$KYr`5F~pPYm;@#8XLlubz9Uj<4w6D~v!JYP2>% z%Jh>KEKTHZ+%3$XRhJjkGvD|?l=cZ(K^Rs;ZOy^me>>O_04@B&RDNPkliKo$;XDb@ z1>i3zMd=`lIPg41``W z^5KJM`e;vTFzMq_EJYIyT8W>$Ara)_$#|9moJ{h=%5=q(Jxl;Z=%ZuNYz%5^vMlna zH7Jti5N`o)8l?l&DN1v#=H<>_gjs|lp$?O&(gCtAj9)lO%=$Ba1+tX9beI||$Y!U# zgb?)F;LI)VrTM`erIO|M2S%2r@K(kO)`@F*-|)2ui33%LXF8(;*(04tV<*^Hg*OBi z4yWjO!h;hq*XG!T)#bnSnuXPKgyGX`R$GQqIR71Ff?7LQSe-A-EULFZS7&ah*KUFg z_wgN$2{1AMi&evO)G)EfNcH*ggYN|i!pHtMpgxKy*Z{6B?vCD!aT^?(k#WmPrDYOG z8K&R70>Yw>6+h~#1rewngrdg1+6bXU89UrT+|9~RLsF-fqN9Z&)bqb9df?DG; zGl_&9X?S`ocj!~GBZ^Hok*pN?l#M3`Tr;s+|lKkw;S|AlA8jI-*8{T*=I0(moRanH`6m|&>#Jm#sL!V2^6SOnQ5G)G5-YFLtIWgK zMG}U)g>@+C_`PZMD>kl($%(jd?VLLI2=|=zN?<}4L2CkbM|%me$(F=l4+O!sxtmyq2X5ZSZTVk;J`q<$8M;?H@OQn#4kI)fWF<_DEjIwAwFD_nYEjS zlYjm^|9tESVG`V?3S}$}>$XD#ScKHskw5%4Y^xJdwn}FpM(X-$&=hZ)pkP;$aHd=Y z@Iwovq*9b%Lx*4-MCO2 zfLqsgw$QTv*_0dyA+upAOL^}qXCBPZtDyLNQGIo~@*Bdg5cfS{1-)zw6Zhi)xQH9F zdxY%lFvOvF+ao@n4Q`X=JYp&|b#4L(pR1?!MF$Tnaz1aZ=2q|iI6N2narhj>)4lVw zawZ(DZcy;iM|*Zve)9oMy6-%c+W5A|Vc$P)4!#`?9{%LywxJ;ZyVb+r;mDBR31;XF zya5bOqe{>M`vXoJFK1Dw$vnPMlQMCUC7(qi2_uf%rk&-ZFAIW9hGl$hP_iBBPp7&= znG>1N(O5be>kFl$$(~dq1Vtj&M9PuInCLR;}9evI}| zC5%2ptOB#zE>4lYj`#4FbcWahzHP=|5a0uTf`b{pArs=Y;BV{zCcWLX2=ogKgnyww znA*oYW2*)fYG5=RDg@ac3i;~=#t55)Mf5dD$khtFUSp^Mk(VM^vYr_~5cGF?7QYo% zujE!Q=2li3wjW9w*mv6il;wyWy;IfY2_HAd)Y4=X{Hs{&|BzVA;#A_zkK~OBx7=+; z!5N6Aj^y4m5Eg7qot`Z&EXc$?&}4VK|41xdhG45dn#l~N(o(4w9pj)?sI@Wikx>9< zOxs~C{eMdb#mF%MQe8wwLP-~qkxMgu_G?od5Bin+#-3gaEt%f?0wszY(a1$U)Y`h7i3EHa`uE<1p zMVcd#!jn~X;u5dq3VISvv&nNCJcvkO;Jlc2Aq#T+msvpgkHXq2qyaN)M0b<4q#&~<;O__qpcW+y6tt-A)f z_Hu3<&jBLk6eG1F@I)@cW1<(SnJ$BlKmc4Mv|k>{wLwo>0?(3o=@eZhvvR`N9OS7w zOif0UC(4A0LaW>Lwi^D+e-g$uwB3JF8_iIiAbibG+3QbS{FwQLN*_I%(-BUs@Y#!6 zLxg||+F5VWp3SqCW|)im@M>YOS8^+3Ao^Rm2Z1jiU&bJzg_jqLi|2T}mHdNS>h(*9 zlIp$BO7p`E4dUKTPOGnmbrVGN`lpdxSqiqv3HFjj$&|?{)ro8BDl?bb&frf-1=g49 zjVGJvscv%s(isP7q*1(8t9)Fwm8ZWeJYk{kJ^_gM0Vw+6_zma(2_@tNIq3jME(= z=Qv15MT58c9R%Q&KgUiq)YSOR@NXv=g`FrqC*%B%i$`g!A54X$wT#Qxpo=tNwDg^$ zh}7DAIKkY_e;6r^^H4&3Q;a=8T=C9is>f+XEE!cWao^l@;l7saL^JKfRRQHzGMb3V z8vDOyTqnVuw#rkV0HK;tl_6R|fC}_Z)=?g*Q#)Bv6qzkYo@#UNF+~wQ6P2@Ua5q=; zPA^Jm#epPQ5%IdRTwQEUwRciF(y*$$CDZ15BmYfou(tE`w8OaJ4%WAxzV0|2CEKL! zJ-&is_Cv%%#-=yKov`6?RACt*|Dq4lDpE6)vy2=bch9J63*>HwR-h3Y=m9cf?Am*P zT<={2y`bp3H4x|<-e<;anP-Y13wY77lTR$L} zzt@-QiuM5}V@cUEgtmaRkfYP!G(G=_VZz6Al*Z33pT~}Qh&!8O(c&QOGHfAVFv|{j z+ej&&VnB<_Q~CL8WZL?jdHGf0&I+W@6tFy=G##^Qe$!YS|(FW7SL%b|-uKQ}JZhKpKOhUng4G zupBK1T5OuN*fBkHF7nKSdIRC9r8$Kk8+W*y`dKZ95&qBWG-0Y+X1t z)!U|alkZaD{s<0_VkX((T3~R;yi9$ox$V`{^fvuVs~r%~wmakf$66hl-KHQ*VrjPB z(yXb~_Fr9t;4vV7JaI-LBRetHm*TBy`eeRC%%8=Z&iD zH{NMbj8q^rz6mlzI*_tBsE@#cLIwjGkLCAvq$`S3UZUVekakSHWAXVK$O40Sd* z9EtwWc=o-Hg;&_%KqP8PhG@Kv07`DK>uq*jw|nloeS=+Fl%dt-zut7xgkR8uQFpd= zW>cxYOjWXfxaI%Y+D2|GbN-KT+ty$6e{9CHq5L1)IuGvK_x=Ib>>tK*TJ8^1c(J}z zZ*MGZljQ>fg7reskT?xLRtq7gI<>&{T=1g3P=bR>Fsme^StYnj+5h405BGg^aL?ZN zfMUsZ_bb7Kk{IaA#_9DN4EA8WKYu231aIWvKa>x5lg@YVJV-ugQ$Z{ciI}atS+DKZ zZg*6*TM#{wTJ*4bRI#ETAHnk>Edf9iq)tL(b!H6`V6x3S7r9r)fdhX+-aVj2>w=C` zeI12+Bl*X-(LRE{0H4;mMX}p|Qhomsk&@Sbc7&UoBYGCv%8FlF5Kg0MI! zIoa1AOAe;9nE8{-A;Bo+!o@Rkdv+buzHO4bNN#;0fBpsQN!(*=OmA(Q995ap zb_u*-qw3;V;pPa~P88R_Dy%+6E+LYCbW5F^LH@ud6t>{V0e~eLFzKWUEA@Yf|8|Pm zKu%^ei`6Q%K-KdU(^1*RbC%I}EG{vP`mM*C4W`%|g1+8<`)%(bqCLl+)u&`19a_kq zl8j{uH9!z@GCRf9(zsq` zZ|}0gS95ggmu1-#4bzVB82$K{q%eVqxZ(>r+yS8;pX3U$HYHxpZtE0b{(+pt0#;Gx2nE5B*YeWJhfhM+NL6+%1$1M zV$+Z<(>CEJ$BTQ@lJh*jtByX;Ezjg$UMAFPttZx^PQjGMh{0K|6RP9qMR@QY-=~K% zTR#4@?vti1scf`A9fR=8eW|Fnlilf5l5A8aluo6x5^q{15$_!6?}=t(9cXL;tcU&% zfkogxe17tg{0ku!fL^4C`1$wf3C@nHp+qMHVdwxwrdEpeU?~Db|F>8~WOoi5*jBoL zq3l4i>1c}gMt&ZSABRr%?PaZNufhrNU#${HWXVE_ln8FROA1N@Up4=zbn6GKrp_*s zGmZJJ)zO#g!V5GFd_SHXI4<%zrO~PU=c8I2QyW$XdMSK8Qn+>*38PScl3IdZTTs_v zYt(B82r}u4!-VY8W(Jq6qzUrN6n*rd-t~dwj)!*NgdlHAs4gUJ_0%cbRuSau!fi@RV{2oZ zvW5O*yErBygVW50{;c$#U0j8VFAX7>>de#O-rf)sZC0b2U**uOuw{1|dIKEBH>C|=ie!kT&2`PQ*H zdHP-E&OhOL>(XdV%I(I6*hhw|zz))hza^)UDZK<4z5y4zO4ss_zb0FTdptvve8si#anlC z%Oe}eXKi&*pnWHlVA_7nUUsb|fn#Ek%$|Rb!$nM1cz9NwegY{1=N9qE=T`5QE`JXa ziSd=v`72KQYYK}&1KLpeRwC6yomkLd4#fWT+AA_{@AB{#T~mfx#8GX8?15&XJO%2v z_3OpO5j2L*t*++QE|k8WDP8%-F>#!IU*qGYYhwfna+;lNGW4=MtS($F4S$B=-O%xu zBg(Q2=jh&YxSBWz+j8S>{>qnd-;A#mW|qLu@%H81%c~F`?$%U(ay@@`)HQi%IVn9V zbjj*XF*LjW75G479-u1>>++QpVG+@<9TJAeiip`+1>%D+N>0b1925+X84a_ZY|(`S zIR;ONkQmWW22dGI-A0p^(Axu9JeTS&8jlgwc#uDJ&TWo zp4(8`LzYOIp0E6+n}7iriRG#Z*PfqZQgfXyQd}QLlxP&;^fR5D;cW*O z)zWXEO<@ADo^-0eD;7=jKRVNyD0LZQHk~>mKox1mres9tgKYZ%56x6M{!g@A%}84} zm$9@iK4oKlNrGN&z79mww%@u47uPu$jb}SjNz-SL zyRh6$Loy(;;4uSG=*nlqmMKQjoKsO6O2sb+1MTQi-33ZZQT|n{%V9hkMj2Clf!?3| z(na+AMN2{qFez5v731y;v^4xSHGr?|o9K$BkBUveZ&MTa%D##HDY1e5DN}WL;ZS+M zq4Iun<^4{T51dG*b{>gl#U`|OriS#__RYPQ%Ek|$5F5icrlz!)=7xO!Y&3I}!hk@M z(<<=6)C#_m4u+i1cz3K5eN1U1>`eyR5I;j}`ZvJa-{R4zyv#SO@U*Q|HBf_6XB0X! zSasA+>?i92&}dg3zB%eB{z%{uD+l-NJ78@9;MCF6ZGSYA0WW5|5$tz%W`har?;FV2 zR^RVXy7k@w zYGvCCRiITrC4LG5)lcTQ)d;=EZ!@ujxoAuYFwSZ1jP01 zXT{;q6^)dp9tJ0xdgIw616@t=RLH6#)E@UF)0Qe^L>ZcInv*}~r_!yoHjw1?$Wr4E!x{&v!&v_P0}fUvD?a^lh+iEkwzlAhLlbH}vB zeoRsp-$RoYpEY=f?9bI}NUt*DF=UZda!C(oboAA^#gd|0?SqApApzaCZB9}@flDu{`T zD5BdzI5GSF^OIkKeWg|_L`s8@`NcDI|1MlvEnOM&ARbpI#`Dv+)rqAaho_K|`*C_*LoF52VS$XD`(8Rdx0WA)bo&zhIH6XP-lwl_w9>u_;lY=T$78 z#xH9L9?7XuYzw1T9a`p67?GWKUEQs;NKCW6Cz3GuV|ev!fJY){e$%N7OsJJfXv#sY zlvA!6TBY(J>1X)T*&j_u6Q0m66n817xA@b>&szJsj3T!>igplt_8mZ7BVY}*etq#o zon0awizcyHD}V6?O~vS0;~1e~I4DkszCkjgF5J#fJTE+4WM~TPOxT;;^5gvED}n}d z%U`PBeT9A6q>eUpSS370Fqpn#IF5?pG76?%aTydY1DBZ(*e?K&wN@LCQ89731R@pJ zRSlEvPs#BV`$)rfc!8e%a^rm<#$F_n)H7vNkq0jSQ59e>(#nmi* zwoq934iGrSH)L@M0xx|_FoLt%+-wfAI*XOC8Gdv&ZF)4v_V;H(T?6qxE!&-f z85=Y>+OdC+auB$9XA6aD%3Khj_&_K`(Z8hib-1Es+)YO`jO4d(Qz%AplV1kV+GD{! zic8BCi)$iv08@QXPF06WY^L}qv z@BW|lg{nzz`pH^0!G9=L3>)P(PWNlp5hqspa?QHn!Lo3mw(Aa9%Ch%PC`~GWFvILm zj&LszF|=13F$fkG<)8#iDl;PxC|07Waj5mZs-BLqVuka|Mdb>M^C@+vsF(nzj! zl|K6L{WmrqSTB*#+4tw&*0`b-cCiU?a*-uOD!jUrzj6^*1VV8|`{SWlGMhfp)ZH8Z zPx7ndz~A@oYl5*h?LMB3rIXRV-zH+&BdMMa@T}|Xi)XUGg&6noRI(%TTZ*tcux&ac zA7WElHr`{+$XeyqX8q!3AK3k&L>sIhNCFKWFepD5ewzm2u{j?~8FipM8Ij_b0jW)S zy5t0BOJT{b4>}^pky$Xk4E?-$OmDx4WvyR%3s-Fn`dZgloubY^0ONwD%n@=LL|t`m z^=nX8UB3h(%jc`=nVY;;m7K&Rc7WwvdCW4aY8M`}I`pzxSaideotbQ9Gc)>P;1mHR z**B8E`BHs3Te!25dv$g@r=ojlb4{`1(L_H>5tfK$GSS}He~RcC6^*&oJB7)qO($$c zGdnY}-hHoD6y%vs$${g@AW=}^N^`eQahO<}L>q86#v$X5m z+UN0jR%tHd*y*tyzePO_`UB#2zDCqBN7KG8Nn#|4Av1r+vXkn+jeQB3bF>nQ-e5Uf z-|ZGVkS8nR$w*k(5hJll!~+5uufvonpz>4MitzZXpEua`jyi7RQ~cJcFcU0tTA(B{z#>far8%0 zm)1(-v$$C-tpIIDotw!|e5+o2m7kr%Xw#?-*5 zaaXKspchk3;&{-2(NHSF%&}3uyld|P4Eb2Uy{)AIgBdA?@-1vvGMPS1mRv97$!;h< zKc`NN87j204s>v1{>e1XLGk`+b>fPlLK~}qgGCQ1<}y4v-P%m1VJP0t1_Z?3+?Y;b ztbau)kNoic`rcHkm(U2=!G=n$tkE`Gi}EyL=TBy9XDP9(7R;#=(Ri{G2wVP!ofg5` zvIlmU|B}Uym|MMz<_+{{w6-QJz0=N*ALoIJ z^4ISY=qWDVCg?GLdbXZ?YCwn}>n%AeLV(XLYk0r_BP%`~7h=oGKBa%Z9j2-J& zWGUrecex~!5!CR^_gD+D)tN~3P&ee{VT>y%r#H!01*9GdEks}w9Qe2cG1+qn^Ado3 zyh?YnGv2S93^j&^LOt*3uiEu@pML!D_Dp}YJGT9kPqvUZ4k^zJV~vudgtS92C41ju z^S%w=A4_zmV?FUSo$tQAK0EG6z5yRX)!z|(=(7HNp?UC67B2IBL%7UfA6dj8Iq6-o zw8UB7T3PVd?n!3c8qlJ8(z*EQv|+2Y(;3{Y1n7iLeGoq$&;zA9^jd))5B8^1$4@|) zrw$GzdAH@*^^ z!y*eoiTSomBCX0R%XcXVS??TCy?meShEpDvv1>)&FS5uUkiWjv8#+tQ1Mt$h)!)S9 zaLPJlPFv`7Pk7wIjouXw4H-7l%atKtOt-`M8idZV1VXMF<1qif zN+1(Y_I9O?2Vjp-deqq;%^v9xeI@^qNhLEZ`bHD{pl)Y2g-=8ieY`OIs1$2KV>u?3 zK)A8Bxjz6C(nnA^k7vnJwwsrdCnQEc%U16tO4P7d_G8uQz}Lw59#{M)A?isinT>Zxv+-1N=)b~|txe73pYV2n zB7U3&xKAni6%?fL@&o^IG8<3CIw2)jHk*znGlyg8p@0(5l^0APL14hpxAn-%vZBLt zG)}tnzh%AuYz|C=H20IZ2y~%ODbc~Bitl89I-bmeAd`IC0{KUVeD*E8CIDbg6?RLU ztfPGnHP8er@~B}}=LL-Or3G?<_&h7;^Ov5LE1oQY3KNF4jkET~myL7Oi= z8zoKhcvl3>@)H-)+7{AafA#_eRWj+TfH-VrI)X^mB2KlfL`9}UwY5|VWD<&c$3EFa ze}^s=rl?0iH^#4KEK@lFY`dOyoQf@(!1DTd?&Vc=WFEo*&fFl_9khCa8@6073rU)0 zmka`PYW~54Lq!s7N+G&-AON>%>E36h3+o6>Y)G{2!nJb**?>bKZNBh$vaoVLKl7kC zJxBMCzySs?M9F1weO$eBpJN~1d~WS#?!^t1bfKb@53wb|`0xx$`INw5G@T^d7tn0_ zP_At7{}BdL8DXd99=|$@xRo!T4jybc20`sCAv6Xgi!To9w5Z9#v06{Xi-D}!F=D2{ov)#L#p6$c9c&V3(zuw(D8 zH$1TxmxtB^d#=+NEE6Jj;K3*kkKB2%d^eiC?$*6cZR-^}b zU~B`^XO5x0dcUyx*w)IeK_WS4@cVDS}pnCTiYVP=6~OeXG8hl-|qZq z|9cE3E6FoQXZ4@ zH-;g{Fh#}jCoE71jq8zLnIjwu8rx#5Cfgv}gx5JK3cF$a_>YWAf3}ob#--hRdsb0yQ>q=ruMT* zrAWtQJI=y%n;hrm=#Q9G8$@Y*15JXlbUZPF2;0-5>KO6yHkkym+1fBx%w-Z_Kpq)6 zXbq>bsXPI|3dG1KV8M{2q)|vggqmV5PlsyxWBw+k?`$!ZEwVR?!y=+_VfGAK!o_^n z07Hibf2u*z;RyxH4^1_~R+q}oEid-*e=Iz|RQ|`@(uE(@6z#2Im8isTb?j|3$`Iz_ zZGM_`yE_sM9CBYG+0rmJ0mh&mS|PbbfB}!2^~j_R%y7uIOWFl7J>E zq1Fsaq|IXMgQKhb;AVN|C}s-68XR0s>V>^=an<)tkugzS2qHTpk!MFzL>;Gj1zqs! zphO8M$W8=)(Dq904;mo2J`6C(g;S-oPRF>TnbNsOrPB}WxzDga-njFlboNdvx1~>j z;nh z8tZ|WRT%Ia*S4}D(m)SmS(?Pe00mS$n;7?jjI?txe}+XY|?r~aghtDVqq|! z9xWEUDnwlsw7tqvy3*t&;;; zN6Z#YLxbUopt6TrEdFH+WX)LDk{qB1yP>gkXf!cs4$k1}pnUlgW^*`qseJFGi2A^L z>RL}0j;8>X+Ph;{Dz$&m&9-V7EQ(c8FU+lWlU6D}?w#h-k*drT!nvD9S!YHDdM785 zOnSAqwt9PG*>skuFC!y7n<@Y8+2-11kVEN{>x7GdWBKgKrJGM-r~mZS!t<*{RnX zlsjR7y90(T=RvCQYCw91tC+me5Qn8vW80c4CN_=@q~6m8=QTD_x}k%sr`4JU_5Oy9 zn^4lIZOZm0(uKW=tb6ZV&Zu~!p@WIRWTQs*cP>xWG+qBEHM;j;eymW-N~nEcqSesf z9n#&hhqrTVfV?2gw3y0Qo3vs&n>-i|M>-oiIMHgTpuo~-PGV0TCHkeDL$5LRjgeJ< zFwxKvvNjveN$MS2KD9ZLt%Y)G9~w5<@R4mAD-g2yb2^LH?8MMKHy~cV1^}>fErYA4 zRmZR@D9Y}-<>OE7sc&#oR|Zu&K3TeY+@5`4pZEt+c@}^Af_zzgajbOzHX;Pvh-OYL z%zwBr|E<@J+2u)IujrC23;0MCu_ndL?!ne;0s)OJ)zWPSJz8}pwbKsP-M8x%^oaz-4jZh) z0BfQ%w?GcCEAt4W7)lUO2u^A43Ehy%&goreY0AKmOemmeLTVZo3Z|eEk3`dWJ-nF6 z2Z#S|xt=)C{hAryE=zT7xtpcU+dUhe9s#aNgirJ0S6|v^PU-+H^Ma}$EP!8~#Flvi zU`2h%>`SKe)RLfBBn_~^u}#O{56G!=%Syti(o_pWXU0-Zw7NM#p153{6pPc{MpU*T4Y}?%sP`;G;DyJ+YgT0CUA9Y@!*fFA zDF6BF`tC?5{DI~_p=W>&L;^0VY(^fyHZT5k*lqr5E=|vrZ_hP!1*_Dj8rW4De9g_3 z8src}NLaFEG^zuIvSUG@P%>!h%8H?PnBD!0$E7bmp$)K-G&o(%pU7v%yDj*8HT>Pv zWp%FUu@adi`IbqK5;>!zkQ*uvjpWGQ%O30{s*rpj-#5;?lJAuZ^GB8@KeA`07=|z0 zDE)AbNFfmV>fuq4-)_v>FFpo`di=r**t4_TiTg1c*gQ`ySxVmNhYLSnA<|8G?gbJT z2zs|aA+u{=x`*gvcLJ1Awy4PTvs(}yn+YxZt-zt7T)s6Oi>y!oKDKT1`t%!bkjcRd z5@|nNg|sFn0y-=Uv!~0~?<{@znSJ-8h3Ds3uq!$=T;628xNL-4!s1GYtc_d9)%`Zv zu{pJHVH+^mpiS}xdh{wAt12}_GBRKfB^>v>8pSJzfX!j| z``to?7?%V~71MaaJ$xgF?U(DB+2P?}O9Tf$7W_8R$Bpm1#rqD_n$=>U(*>whPP%|+NEd`A_os`4d*gCfp)VF@ z&#+2}Nz_+p_s#spr>AI9wE$tmxD%rYu<+tq`P?NGBZUsgAwYegg%hevCxo&PB!EXG z!3)B02;-Nh`LZ@CLBUb@5DUG9ZIDgufK~a!M}}vYI3iNp6C%>03W}T$BF#`(0(gzx z@P^P(zza}0(5eu*15G{oeqsKMK#Mvzi^qNtxX0&a;YDq3VeZu8%s;Ys_GwIKY4*g)>&f(nqfF5a* zpP*BkwgqV=h4dtx+~TU};^JFl*?rmEeuXokw9@c>harOsz9@}rc$3||yn^9JGbXl< zJxSP^9zlBx(ht^DyyR7Z;4M@9HJ6s?Y@TVap4JMd@TqLY;+gvjl-ts%jHQ~8x^cO(HZ^cc$E#aMnMh7WmOgxF64SXkUM-FIMt>FOEFwGM_C z9`uI1qb`{-ct}|)f6(G2?P@^#2lBc7kQD%y`$#U4jMK={oSo--Ex+N&PSS@Y58gm< z6=5Y~2ZF0w4soz1f~)qBCAi1m;^zSY2|0yA0qafmYGFPV1iOHHQMGD|}eD#*-EBVCpi(l^`4W!%cM_Uy+PGC(l|x2VKjxdmaxRa+qYk3zcM4KxT1 zE+c}<$l!kWlwtW(t*)r;?zG(cmgcM2CZ`LWd6r9EK#n<=?gg>}`>WfEi-P zWo4(^XM+$_hqXZ>!{{aoABUGHb^!NJ91*|aaY;&^vVS}$Ke7s}Gn-0$T$8>-WA47sR z2l`gI!Sn3Ns~1O;!h%D8RE;Y`BM6+frygOn3|wDu!(jU1;>XX4HjUmErSET+t{yKx zJHPnwEUMK+szQq=GAS7mg&#wjy%`*XU?{3`%1r|ua3POguchIw!G8cFEz?*D5d7fi zY32fZ^;>c6wxUSvb&4nV461fHESJ>C>J;NDUk9qDC5e$Y>_n+21DB6)vw0zMp*=fW znwud*S(y8D@x#x{&(AI$JGOM?CV{_#*k1$X z2uCzDBt7lys0hzh!zCH_yTLrOyh z2RwnoZBjYEC9(sD!3E>Q3K1aPw{eSJx;nXd_d}e1!YWXst2hf0apgkzx`r~;hR^5c z-`Up9+CV;JKez~)#}&)G)@oF=I-bgBQ-xf1*x71gWOQ#rZhX1c_P&gQK{Rf)xSe=O^_;0F^*$zv#FY;wEwT zAtSX!BB#PH;J>#~}J~ny);b7f&2$ANU@pK`VZ|_f}M+$?9kyQJi)A`i! zSR$Wn-Ey};6;pSn6^JNCh!?GB z0WzP`a^Q|KB@5y#xXN~#${Nbm8k>f$PjME-n@GvOoSxB*jkyKYq7H7LnS0|kqbcYfbatKy^9IdVP znd=}h;)J#_1)8w?Yqz}7W4-yNunjMqadVTC5lrqn9IBIGqDUzb!nKQK8N0TstZYUPjR8hesG-7 zW4lAWUp}Tr64^n>cL0a81G(J3VA_4xwec3AZWa=RSvyQJ_Bw$>F*Dxlrbo!mxaJ&M z6|3lzhBtQ;tEDWA4)Dr0wjx~Ezt+-xarKR@!F~OAu)OT1@nA!L9U3ZB&KIIuf47RQ zNo?YZPo4B3yn4?*eWrZ#9LDN|z@As{E#CSDg$jtEJO%lY(F!dOJgCz@HtfE4!9S*i z2)c7vCDV(li3jv!M3b^z5upy-k=x~W<+|>y()G&q+~w7?E}S>KUw5<^W|Z)%;EEVi ztY$rOL`ta}L|0G}mq$|7CSKK*VZKnoe{ndKL%(oz?*d<7>7&1|+i`Am=(AQD~q+x!NGDc!U^MbS{$Ri1}mZ#`;C`f{l+-N5*At= z@~`XbtwIeskQaf@)4`=-?#p6|RIf_{0&}{opq=Y}%*Gs~0bW|xWg~L$nO+c3$?$zm-H4g5-f(xq2 zk^mpKQUM=>6Y9%4o^mW#@jGQawUW!JXvx@s!v|lHPLvhJ?HH@bdJ=hP*^UuYj2tiD z1HX#63KpoV3-zMn%l8pn)r$H7S^90RK6oW#`-=v57e-L>h&3Jus^N|e1;rhE?^fQg_+mEj=4i_4dRM>8*y$nE8~VM zEtA)dt&AIPl-`s0=&5~dzBF~-zJ1!BV)wVeuKn{Q2Ax~F`4a^Cq+!18BTp8de}-oU z^|{`P(MT6t#rqa4`*nNVb~eW2R&O=zJo$BR=!llmwL3IAn)@nA!<-?7zmIYnV~Xh- z0-JFM)jT=~w`TxZtq{TH(hNO$3gP*!$=Or*_;_?9f+BL=CeG|u_4d=*n10xqV+YwX zjNNoKrW+hcN5-R&~oDda|y=~O;Mub`W-)jggb5l&tPWyX|0A4P}+P>oRvILS`k*WAn27Rqm|Y+!QcBFhi~wwRyy^a(CP1zT=bNrcT@bf8H%O=nMdZb0BEOFwFepjKysB`GZJmaAFFP z)C4cFlqGI?hSW2}p)weWYe0zMx19JBOuXd&R&HdaGGJQ2*#RoJyUjO1=#J7z!mo)e6j^eMOo)n>wL zslOu6HIbkZ96*u-GD++J)A0_m5IJ!28*0#fHRc!c;tQgGI-J&6Y6ptfe@@;N|9SbX zQ7_5l08gj@o@+@yq)^MD$_n{1@7q>TB^TLY6yS9py~nd-2a3+l9Vd1# z+xDv9-eN{lj&eZRY#+TuR1Y;6ZK*zPJCIa&JYq&@Yh^wB-C zDVOJ`5vgF8q1PM{(+hLPow`x#Ee3A3Pah*HbZGJJ(ejn^Ja@Z?JgKMlh!|Iym^1E< zH>MxDn)1~RZ*?S?*T-l&nH#dQ!|Ch+gS$+l$Wq#ADcR{`LM3X2Pie_U-g1af z#srxRrpr+X%+^d&MG{4Y;>*3&^@|>U{;@krkgm9bbJ(UcV2}lG7E8~95J*&9(1UG@bc}#?0xO2v1+8v!jAZOWdd3WO*jKq@n|rb8E7-M5_Pr$ z=i={eay1bNc6&9^>1^Wt#9*=m+F82)ImqkowpM$!rQ^eKC%GC%x}1PuIu}>}-C;QV zF*ea{LWf5)YrLE3F`>kOhlm#*j1Sk6R!`3oZBUpz6tSrim4(}k+}vw*z5+I1&zS&I zbz*|PU6xtY3Q`A(seCpu5+9?^@W!yuh6Ksd#S@SCrKe{yT_|=8CbJzw1e=B6-_xUh z_g+x*zQN*Mqpnu(5b}xr>@L7qA(dydOGo4iNftt@P)N78uzrKiXf;*G(OF>}kUqQi zmb%O>G3}=IcDgG-R8KoS=632El$U=83nNXJtGY}*)55@~7EOcp;#3)GF{L^LBdwH& z)&idfnD0e1sy4_rbkqYWn(DRBI{cb{fvd$go-RK8aN+4)dP6T?Z20ZGYF60F_l5@( z9fPTSF+G$X1jZI55K<%TQ2K!B-LKgITlE6pOG5;sEgUR}@GO~hypT!tGdo;mK&>i>D*QO<7xZUd5jBDKK``y-~@)^P&%hA=SEZ6LSclO#-QnfLyvdA zukvXIv(y(?X<6`_zW5MT#l^`};ga*8m|R8 zIb0V&HhFCTVx?>Ce&fLZffVWk@YyeT3=FVW)an>A7CWN;R{`1+X1Kr`Z zr4x6^@ACcQ7$>Is1&Pvy8$_62e8Iw-6U`R+4BTQk`NEt&wgG5k9E-08dC;Ss#BxI~ z3#^BGJPnNFL@8^jO*8uL$-Xpv4l^&>cX3W#l9$d%XgESDc^UbLQ-lx)F={G5L&bE= zyNV%6G<;B)P^vl2uufP!lN&TL!a7DbqQQ&oN0&=izs3c_mMEM|(vU{Xq_50zP0Wr) z{&b!E6cXbpqV5nTC)l9WmE_?!oCC>U>?lYnm>-F!f#u;B=WB7B595)lKe4Eij+}?~ zS+0Pm-6WrzK}TFGkPX%CBi|C1Q>{9YH%xWu)i=E^ zMF680tO7sqVreU0Z5OXq;SXu55W*QM;Kk~wJS}%7jE0>VeAGqjeua`1OH5;zb9jB% z>I{;bv>UL9dDAD@7Rbr6f+smfPt}q~b*)#kKf#dr1tu)5+=-CviHx?KBZ#%ofy z4^NZ9EZ=HMFB~C%hz%v2azRDwg(-FcGBCQYF{bv?>%|eRz`^Ar&bT2`;*v0U2S%v- zE;`sp)7deH*u=#zwabp-lobuTQ$Gq631+;)DC%^gNKTM5o**5$kc?cf++<)3G{D+c zuu*C7%LTzahZ zr8Ke&y9(4nY8A-M+kBpEIQ6;r#)a9h7v^ARUwrb={`nJ%Fv)McHVY{ldv6vibY6ij zP6#}B`nd!NGig>}y#}7DO?~Y=*Lx~c4WCMBozv)VxALH4q*!rNMcitx8cH-mHEoAt z6Uw{i$bIC&@yE@gaNOZ|=4wSVBZn)8XL83W;T|BRkAHyshExJ2;xu78LWmBGm@PXQwC+b zciSe0xNSQ?->wFcwhF8D=N5HcvYt6o7kny9So~8#(n1`0#F3&e8^aDobCp6}cBVuQ-S}3Y(L|_412@wH~JYJYTFHCfm4zjD^$P+&X z+_)UYE3rBwBHg0>h6gAmwuw;NA!1*?nq~6q`Nb`I{dqEBpU7t|IP}p2sDn*SOKmsS-+#M zPp_iGU)QJkHR{_{*xS^^c3ok6Kv|6cBzu=Nm?S%9GMxuAh1C*nTTdPYgX>546CppS znJq@r1BKB3)Ij{Ngl3v~lv_uh)bu$lnil)vfS?e7@g21jzk{-*7lH}CB2kA<6>nwy&~vY}Y$ z8)_eWPQ)bo0CJ=Onz$EXYulkFUm;Z-g*1sxJ|fNx!jV-+2Nxg|c?FK}nQY?oVX=Kf zg`FcH=`pb?>TmKW8!j*%HI`e}^w!M%whwI318 zZv4ZB{w2qtU0C|?k zNDl4cUGDL(+vAtr?(w(p@fTAEitIUQls+0wg#Yrz{m8+u3fZQbQNwpG|cE*KS$e1XyYV+QwJCK!t}PyU={UAm9r1X>;thx2&;(&{_FbnTijm`dI;bPg$Ich!^__+ zUHw`VCdH=9uDNVr zt4iPAT6}Q^&0vz@5h-g`yyXyMAcej0k%@Ry3m*ge3$~E4HvPxs%&HdZK?Mt86H(E*Q=iGwY`0Ggz3``PJ*=U0L5aLNJJt-afJX|TdF z@~5-lL>}LlI*7Mt*X^c-cQZlj5M8MLb^d=|o%+w&Y0I8@2%&pUd_&|+f4hG$F)}ic z7~B_!2ymnnZ1cr9h2KBX?rh_~u7CQKRi1ljADhI`pT-t)qZJxB_taWCcA7weI5RYm zPf;NJ7z^NocJpxl>-uM(SQzOP!e_m>U~DOoggu17;nS*q{;|cpAfMeJdbgo!F`vj5 zz$=Y|(FFfbu-SN(ypz1kr$$E(#xvy6*eH410)#+WD&G;+!H6A^as)9B&KoRA_5o+& zOq$KIG<6<*Lm?eCjUg){rv)fqU;&~lCtF?5cT_4@pjrB~3hQoeEnbw}pz`fSdAbQZ8@&wWmL&8da? zBdAg0)QT|820*g8+^B!zgLdT3b+H>?3xm;XrG7nQF#u=?Ju@1{M&p#4+>7-SYw^WJ z`^@!9^FV5QO~X-~2I#-iG(i7y7PRI5D_QRZ9wI^vl0M_$2#Z1`o@9gc9PfX>ua}-@ z`+N~XKR%y9o1ocwsk=022|gd)hU4^*TgIfo=HPZSMvX`nVgdA#dJUoxJvyp#a6(Q2 zaHpZA&|1?Dck<^yFV7zZx5Vprkbw}!Lh8|jt`9+AP^1{73v_~^hc)yywJ1d4t2zw2 zIS}A2`h~n*zn=URr2}?{*HDK-gK4-_9x+1I4UX>4Kyzq*!PJhPqsCAhSm7lxz(-97 z(@6)T`*~|4@hfqS4k?^;0$hqc#-k=Qt}-6BSeHK%YUA;N&CEOyF3FOui4eC)SR$xf zl#GeI1iSh+5oL0xUr8_`7W3c6Qu%}a;3}d5DEUmRfFBxUc~<krPlXs zL^c&%way<3ttV}^ghH~3UMsLC*gE|8!(*cd4g()J3_Dg^i!LZD^Ya1Utmrd{s!9f+ zD)Nknke{0gXm3&YK(nLeLEv^lKbk1+)u1EfBi zCq(%FZk5*QD!B1Wl>!P=5TcDj^}4_VTMu>syqGviYcKiY%deA8%W z6X~(3nN4;tmIB#LsKfUuvhji>E<`sS1OkH)@j<$8R#gEZ9&Ft3?z?Yq*!V{#9jKBo z-D;$zN;%n3Oo61JT(^W-TYRTdMPS-eHV2MvaKdK2@%sC(XI@XnU;o4FTVLNv-|9v_ zhKqO$sU$ARid}qgi1Ad%#w}3jw}LL%5h>)UIHwU$ynzR?&j4PFva!|yo_j-X0GM1j z7GP3gFBZ|bDLUg!pIw^#P*v!FdZ>H_K0YswEZv+hU3|DOe+P%uPW~smd5~;v<@wL- zM?aI||1miOqd?on1e!2t{SW;Ppv1gOn4* z$DK7ILzRo19qW^)0B{QRDB(e?Hlj&86Vgt-`24}*!&?ip^I+G!cT(&gqqz~HLs6To z&l$YK$K)GNd0`hlzAn7QEzi;Jf6EOG5hfIC!5xjD1-4q3v?Nq?KRW?WC;e39J0yke zNZ4v#y7)arf1n#P*-saq|4_Q{xP1O$`Q%3+IezyMY7K0=^!X;p|KvZhv3m8K(|TUF zJKVAM1DbZOm`IN>F>G+GXmupl5pj{q^In@Z^e1*{dcCuB>iE*94;JQ5lIak5Cb~1@ zdsV<f(}} zwugh1*QH2#KA$2F;R9tEs=Kx(c(7G1#X`LrwQS%$HnKQnO;HWRIVZ!^C=(fmPqj!^ z8q{mXQBm2a;-EBpXw3t13NZBziQ7nVJW|+ca&$_qCk{CVyW$JJ<_^)6+UD*7?6B0t z28QkjPwl%OEzF*5r5g0H()?}A8igfjW`pdW{|kS(Z}+$rz#;*Q@4UL?VI5{1!it95 zu&z3U&KgG`ExO7Wbn~bu0ilS;D&lfa>`$ceDHX`%5vSjYp?_YTwuFBd=A~GCaBJz} z5zIJ3vrU>iCR^Pq>{GyLE=hNuCKp%4Zm?s8E3z|>N*s|H&m>P$n6%(Yyp+nBq%z2S zxD>>weqwFZ^-n>fJYix8HsV#v+v4cUvFXzxqa_K2XG(G$8ZI}txn(UCt6+*|*hEa) zXP+<3-)8t@+>>^XoHIm?;cZ%*Twn>ok*9nGznZjZ^NHXVvM!eqntt7GG5<0j)&B?l zUz01~1XS7oC)^c|h8_Mto#ANDZ~i~8;-mQg)Zn7iG@4J3gP=2`Z*5MTFd!jGu+DyMS2sbllxnDc!62}dhn)txQmHNq37@S4mN_C&~ zfj50|I9AcE=@12bLea(GTxM)wBt7VuZwZ@#quON{*hYZEu22%&?2i&%q-n`pt zNmCE?PJSbT+F?0BAXHGLnmecZd=Bs1&P@5+Z=sRWw>QzpmXYhjr;87-ZP_HekI~x& ztf+L;ch+(DVR5UzC!-9y zfjq1Nm}NUf0WfK1si*gzIFB0kLhhdb=w-lni@f(IT zFAXFbo_d5WtIeugfg1*jL52=yLQ)({IGTjbiV*EzsJ-aWn)Zp7fYcO3P5*x-AF2O0TN`tu2lMISy+x~a zW1IEA=yiamCP^E5LKwV8GF-HJy1P5O$;vu>SUe?)i#sHN`@S<3oVa7ahtiaM|I6~t z2bho8o_y9C>7ZS-8S~rd$*+X4b+{#yK0u*9%uZPFdoo+#-!LD+Vf6@+REr$;*AF*Q zz2O8HpC3DI-#!g@wrMu0+JMfcig3Mvs5Hf~5fz|yEs@>3*A+$+gQ;~Nd{7lM7DbEp z3EQp7?&xp#KVQkG`85u+KPJ*L)Jffn|Sh={q-BHWiuWg+fU62hm7XG6LCU@AVA zO%qvdZ*DAKkgrB^xqV}!amZ>zT1)0KiF8)JWvx?xT-h1@DGOmGLv6^#z-scZ+RHdK zib8By?J1;Z#VYixd^wsZ6!z!xWNa<`t9+RrjTgw!04e)Z1M)d;_Bi%TIy+WO6`U{A z*&-QOVuZA-KX77DDX2eCzR*~m}f4Fkjz^D`>)gYYGuL9rEq58`J{Jt4q> zm;6T$$`8J)3?-*y2t>-hQb?8OD+a6m@M!tQhj8a>{&xBJDKxTH2A3}r0v7*D!Bw8G z7`Pbb8jtsvF8sK3`SVu$^tpxSr`Oq2N0&amz8({mF3iqFn4MN%eCmkwH-0IaJ6}L- zr3hXHcfBHleWa_4rC-(G#vhhV;15gQ3oR)tm?9(7~@Olj*?eCA3qf2Tu$3A0m5_FE#`JnR-MDKnpLkdjcgCj;0rRQ_%Hz_6ThHO_Ug|kw2jG^{ zYEiRUF)EeBXyyXCYvJCc1;Q`L4U5Szlw$P;VCyUFP2^M948#J}Rlx>ks+AYEDczN( zXBK|GLa5KBD5CvLhn*|1<5u7=%>j>qW0n?iESne6v8uGSe~>I%8Mw!T`&WoI=7=y> zCDJ~8^mspxIAVlLgyqQ>i!BD@$Qm+DC{)2CfY*&cV_Y!hNELi>+e|%5-#8Tn#jkfy zFcddbR@Q+RMoigV{koyVV0F*~J2@jQvFp0ri%cv&8X>;Q%3HDJfd1p?-dZ6#bj0Gv ziCg;q)K#HiR4v%^(($J2Uj-|aV2>*zv9OB*W1Pl~KqKW#l_tIdd8qL#5Z9u58 z-c1Ojj%Oo6x%6&CSaLiYaYz(i4QU1{?_rVJ$<#=ym~u8yuUO!~za#snnbAP+1#dnT zgWO19La0_O5`flBGy+uzbD2!qRlD|~biEYH8qsri!-FtWKeq7%S)#dNRX?Hlglj75 znYUW8?#P(G#EvOU$JMqcY9p_#jzYtWh- z*VS(qKe-H1s(-$=_|y6Aqp9ql^F{mUk@9mm0|j$9ZZz#`OdRI?MfaC>xB)deX&;;O z3Yl6{w)Y8D7n9N(swZ+xOf?DU#&wsD(kXNle<2hgDv95rp;&MFTNp+gFE!Xx7Zz{c z!-veC%6?EWg?`=AhY|J~na>W?cs?j$HxdUBWHaIF9xv3U(I9-95e&WrtvBD~g|%W- zUvACjnY*e+Vzml=-h05Z_r{UjU}A(w+oTCP>5q= z>66#ClpK}*fM3gm1!eLyJ7r*x-)~?%Q~)D7I{D2^VwR8u;Ta!+oL|aP3~k71AkWbh zC0DIk?6WLfu&+Ycv*)Jm=_ggKAlyJ&G1j`nE+TIEyB0Ehs##3{`DXiwqUhIUbxBod zlUqRa^;adnx>Mh(YVpv0SWwQc)6nrs&wttZ|4JVJS3Cb-9gR5ee?>aGx_>+We-)qV z{$K1`M?Ah|XMF4SO}pOhjT7b;e|P(aO}(2$Fd&d6n#^Tl5hjI=B(lR6NKB+J^4dZp z8hZ4jbr0MOa>*KVQNk&FA)Xs8G9bk7*!FGCvefM>pDU&Yd1>W|p?qqv0C#b-DPCMY zh;84zx$(IaTL51hckS5GyR9Ek*o#(=uGQ;1!x^iEVaBSSA(%F_qjzWjh8_L!ZQJ{| zZ0udR%zF`Q>z4OgHg4a#b^A7e8g79V#pw?~0z-+DLh((#J2zG|+U&@U6;svQ+Od6C ze{Z$cIxQNI%G_F~+FCD><14h*2qbk`*kA9qUGcsh+xvSr_AAizWK`nh32KV83M)LytF)wNn>|XKy&D}Z%2l8@NeX&4xLRqDqFY=QWJ8zknR=r* zH+|c8I1#X$EoibJ=wm6mpuS?g6%tcv4 z-@D1!9z}scv-i$-;;_I8?9vqo?7}IB*M{C@;KbXew%fUF$E@w!414$H&74pS+qruf ztdOJe8m(=+b+JQ2q{to!k5L%Wp%F#2M!g{EF&Ix3Aw`0sODgn~MtR}|j4Y!!>;=y1 zl};)d$tat^pEvB-W?oVr;ty2%!xApScSH3Lz@aQE%v!=h`86_Y zCtIzmZ^K95BV&Fs5Cb>RNL^NPupwQMPI2C=xi7F=9Ud@2H1mCfnWVV5K&n@`!$4ZK zoOc&04iUgGmh>7SThH==fpb^P{^dbL+qM%vw&PDGDVl#A?AFZXO_`+}6{}db*XS#5 zD6tQYyCEE!GkdI3X|2JPgP+u?|+Fe@kDr z3O!nd-uE_a?R&T3S`*sa3Z{UcI)2PfLuMisAaB{(ZzNFFCNI)F)&N5lLzgEYTl@Oo zcLAahdIQazTECmNph%p~j*dxo$An_~aCu_!DwjySTQIF$H9WFx6m3@7C>q>LpUwOUR$RjrX_jVtbZwyufjKGC-4(vT^&i&0BVCbtf){ zkM59(LJQR|7(U@LM_ov%kCVFi6E#OIKD=9=KkBeX5k~o{Jk7{hiLT!PhA|mT2Q_3k zug9F7-khv&$M*N$r?oAof<457b$VCc)Vq1Zu6JqYqH-tK&I`E_wPz386)4C%``+Es zU(GfJ1vmEYaI-5j7pLuR+4j!c+uw`7yJhQ^eh)wzW6ly?0z--8l$gy`dP$0X5APzq zNyN0-PNZ#kP-Vle{_XMJZ5wyI-&X-&!d9VRct zwg}pNd|U6I{g%F%T)MD)B|T;J=kgG{`EYal9;?~uEX%Cr&RUeo>9VVQZTSO^3W17R zj^y_{cWvC*yK`qX%{p2ihB&`);fKG_vBRI%gBw}LfEoUhst%w?n2Lt)gU~RM(MAvC3_pHTEV3N7%SQPpEzeAGj|G^*h{}|fO)T$Nn0;%l( z(bc(nb&oUtPj^rBH~)`U@p&o#kIjFEz~%kDJF0qtI7@;rNV8S?>BFUC(-=jcs@j77 zYIOYoCu*9sFkdY2%n!;VgG0yP#?piF{9jpN_KUi5IGfIbk%68!@|NWjtwJ$3Hn>*{ zf5uG}nZ%&+x!YXJI%Q62FVT`C^gIQaREpzV@Dm{Qi9}5U^=6#QrE6cq*V+~8X+sBQr4NM)z5DU*q1%!few2)9>Cy2ng2B>* zpVs-7CO@)grp8AS+4BA4_U+T9Yaiid$MTtn_N|Z2&LX1Kg%{V#=Psc~wbm-;D4M^c z7Fd{_!+5OaD-TLHjzO?2Qy-0>P16-C4>zj+0avXWa1JXYIXg3|w3w-Vs6xX?HVgG0k{!k1zdxxM3%kME1%JLxe?S{i#N_-e=TY-)c! zopb!EZP1X;`Xgx8uY?IvGY?irROd?2FS8to%t}fM7%&}_o;)Fp?r{HTK6l{Y;r_9# zm;Hd9@(9_144rJK-q;o+P>tRYN$Bo}gu-F#z+DZq9mt@aA`6|@{T==ha?3W?>)KDZ zAzc0R`O@Pl2^Q{X2wXj2DAExBIHnptQgvk&EsoN<)$>jk;SgPic|4fY3(qbu%zs&) zIl608A0Nf3(uEta`SAGrUW2Od?8t4V;>E+PE3@{I9~Qs*#Gblj-~O(2Zc4OK5dcjLchkR|yXf-P23ZwE zIDC0Td8rHhQ*nVPl`VDNU&4;1-WDuBo3kICr4$PDaqR*G(7*aM%E6otdCIm^c()L5 z$}tqwGWhyj5xd=8KqRSDEWhka*HCj`sqw-PAAEs_#;m{f@qI_lE zVfZ*4?CGLEB4I1ivo;v*Wv%t2DmsiQOu(cx@8NB2rc&Uj6^J0}j6(hNr>W?FR~o%H_A^0&6OM!R>1JGwtO z93}sBeL#~V9FAa)gy_WK-4XKTE&8)|re%Np`c9+fmU zq>$V|FEjLR-SQr?;Dyl>&2f~Vwh znae7%rqbs>FWx*QOgPe}!tu0{_la=V2@wfl>B4=40SC3Nq9w^}C&Ih9>Uhki9SrJH zI(5u`aJgFPE^Fx+OO_(_v~ZSL_Q=E`oi25FMe-CvXP<|iC&3h&V%6d z`{yoSbT(E*Q@g}dyB3wdy#=4uuJV|I^xG$2U~GO7)z@>g6)y5PXBZTD=lDx|DCBpWe&8b)hN!Mlb2a6rJ{h5cLyk&Y$gQi> z*0Sm9e;N%q@xbOEu@DNaw~!X#-}aUjqltQCQa6f-Sc=P+NCg#hY#4g3&$Oe6g}S?p z0Ri=N)9u*}N}mxTeMZ)HQ7N>mr@Os-&Fc0w-JR`g*TVngca)ZMiKiZ*dC$!+C9!K- zKFI7=vp7Y9N9y?$s!UBjq2-T`BnDIQWNIiu1|^#jD!<437&V%Cq^la*4+$P244x7lO%;$5Ju0%DRwT!m(@skhE_zcZq@We49;=cu<||cA0v;7A z0*OsH&2E^&Jp#iVqY2Ag?-g;`@XFj?xD6PCZ`FUO&IKrsf6~BPd;XyfA+Rb#e~+fdlLG{}>3cS3SRFKQsD3g)Ok#U-@G3`CY3#|5@qU zb)4Y_n~J=G$&t>>SAHy=x#JjLwIFje%|@*O=9m($ZWM5jobMBfUcOIk=-8a-7y@(u z?sXru9qOKNJZ)~nUHTQ1YBrY@q$2Cm_>49|Q=HJeZp-T9_m!J>q zxjKnpxqrp^HU>^y)-bA_Xw{JJ(gZ3SiQJsiqYdAi{VKM3MA}v&*tLlaK=ARRKBFJ- zE8eFYvLC;?&DgXDixd4wFdT|;e)_;H;t)O~}!{`w<~c zqJNgY`v{W9QVm(`q24~ozphQ66D!x3U+K1QJoVolj<8dG`qx{PJOo^2TNUpB=^XIZ zazqEYI2#~9yuuNCY)a-}Gr!o@#MPMPZB6OX6_!NOqtykG&Xo{EXvftljTZZto$+6_ zETTZFi6Y6=NIWqz(nwjPM*6DjDpK_zMr3;FHJ63i`=#%1;-07;@Nwz0wxkB$k%~m} zE|2zwk4qJYJAC|dMhYkNX-AqW$P)loB_&6|a_7L6S^z$Z0ndB&5w;+YB+wEk!=W;h znO?w^9a0}_OKWS|kf}h6s4pOB8RrNqv-imO8 zXv9q?;3QAyl`Y&S-{ZtrI(lb(xH39gTb&4b!!e_6X2F5tdMrb;d_ZGPvTAc5&)0-f z^QQja0I{!7>Ug<5+Y59>2+{WOWkAo57*L)R_wqW1SauaiwnpC3zmma`RHBe7uww|U z5({`24Aj#_vgSUL^>tFrAXFYLJ6_k;T(*!&6#iDJMXf}IMrAe5Xtly*t+J&GIZWie zY~^7rurz-bFCSx7cBt&E8ngVOpj)ca4)5YQ8U{vOY7Tf5D-7n-qp`rk>}f2atu0fF z4oE#)#Mg|-o9RbVx?Eu4^HJgbD?O)1 ztka=0Q)dR+D-6SQN0LD=i9-Usv}rEGYi*t`inxg-*SKY6dZuR~$E;;+MIC z5~6FJRrLVQqljCMZuA8q#&~gudh$IIcI|jq95{vZCV$6Ve|Y?-9laYiZS4(ak}DEp z2%ee+q{qoe^jLuddadzr}xg6(5YcW8c3BH#TS*QhVkT!4AvkPAy%#1;!8h zs;LQXdEaKgi11@Scxs_!*5qqmJoCh! zK95O@OBWt5oqN&b<5ARjN@W`EHBLSAMvHUD_=#dW-@4mV_O++6zlRFh8@ z6oyf+mIwq=N0X0LmtfXTYfCHSrMKRAz0hWLSV|M%zMM=PgfbMkkhP|#D;%cJX~Lq! zL8`HbxtV~J4ba3`@QuFTjQhTkZ)v_pHMQ8*;ru!DptFzKZwG#IJvVQ9AEtMNcqYG z`?+!-I!Tt!-gm7~CR_CKEsFXrizYo0mE77LgrxDj0u5F^vQj;Js^Uf{Pg>A;Xt4CN zv3g&9W5#D5$;fDYCTdABogGt5AJXbfuV(AT>GF3!*bgq2&Oa^xFkha(&P?RWL@hjrTkrBt!fs%3A;RtwEK(SD1?CD` zp7g?A;}o~s$N#bL{1VZ3mM;AGpU*Cn3E;%W%605*Yh{<4pFgy(%-N^TW0aaU(cM@f zl~1M%`}8iOYL}u&4c&^eHFOOihH_-4^YQWAhz>xfbIeM?8b`0xs0a-2vP*U;Z(`A| zTES86%)Q0aGh`Cs`^7W%N$^J_bf&ftW(mu&on_o2t8w-D9EKIVkOXUyB7ogsiHe7O za@dPbt+YfJd)?Kh-ismS*mHV4DRm%Sq!(wDJ2Fr0GPUK0SCDyR!8f9HanSK%~D=J{AI8 z>`&xV!9+e2N)-n~>1?_fOon!Lhm*PeSxEPsNffkXR;F7`rK?|;j{i)ka$)x5;`8VB z?XT?FDWK4qheVfLn12k!Usr#~ihy;|8#WGx=~M4T@mpFLxB{thA#a)SsKSMTAyTKm$y z^7FGxH-EBc&e+qB*mk7i^yy;^G6M|n=}A(IP0{W15GL#XMf;J0 z9PL%4tqR!FfJlOP`{z$A$EGC(uH+EmLQYQ8Lw&v(vxy`f4P%oK3YJDUvuE!TRg0>9 z&sdB)8a&B9dI@4eT)JF3c^%AA_b;{ruWJwGMvLvC!ofl?7;J-Tl$k(e!mIbdZIEb@ zGiOSVr|jF`iQt2k1VpiEvY`TL!mgnSd46@9Mscr=c|4P|BRs#BA z0{LMAcw1}ea7&w)^RZK6q)@G}#Mq=Ni7QN9PHxL1W#RIWfm0Wc{a`;j%WrajQa*R7 zJa;#;^=-Hw`{jqQ{ZeXl4WDrof@eHqPt)zGFOejZmu;gWKiy>t#auoyoT68keLf;9 z7qW@b!rol5&C&&ERsz@pjn|mR0(=i)uffbB8laurT2mn)LRSekm$=GU5u{(ttKv^k0+%g^dxQ7(135j*Nb7aj15IJqbp{1PLVzY)Vk}NWPgJ6M_cX9f zD?c8WH819^@(}j+>Sq=J87pBToj^nzU7{TC5lCSXoCZ}3;kCKmdb0w9xbABKkh$Nh*C6!nXM z#WAoQ_K77$UYwi5IM7$;7v~;^Xv8Z;ys?5oP?|}_Qoa2Q2q~YaCO)F>JGcS8WMm3? zY6DT{L!*Y@cU+c5gDT3t%}u48(pu^bC<=%Zj!DcI$q+@^?c(qJk~ou zhMMHgDYzXhXiap7IKWe9=mT1ortN4rd_p9q98M01yG52l%C5wHUmb5)0u88^96&N{ z-8|ZB4DC{Jl3i^3>H z`v7a)q|_z;O0}c1y-!JM;u5|-hlT^-x-1_{zuYV*IBKu}3Po1B{`fm{{1RaVg4^fE zgV9#PC*Y4{Q7dV~O6v~C9!CJ=iu69vAadxkMq?$zv4-&=%$?)0%xag%OAMInv|_4$ zs3a4C6$8dIf&!x9f8=eH%cXlfdkDn%>e!Sy`z0f0eR_creD{`WKroEuz2(mfxd+nz=^WLTE^jGGiFLq$y=h9GezyeETXpdgldq{p+ z@X#jq!49>D+gt$P+gy6?wjT?F@~&Ba35f9`4J)jL`tQHg7tTBOd$`TLwZ{pq9;=MWDa&za$uN3CmN2u#+O_aHwQ6gv<(!;2M&Wh zNRaz8c?~nxWHUxN06t4;6D=PvJAm779Wd~X7yLlivJDJ$`8UDeyC6B6fx<=xjt776 zFk6S=YZR8E1HAm6L%_csV4+ulg+E;OIqDj7@zSasm519xv=L0g!vocNZG&Kt#gRE2 z!ki-Iq?NLY9h1PO)u&#`A#9g!{#-ltgZbd=P%udoFapYGy>w&`hw|m3kglYh@36gj zmUnJNaSX&h1q!F}iTw-X(fZ%0Fl&pqM-%Za(XQxw?@8nWwSBX$qPKSLYP zlUk)rM|^;ch=n+JY(2^%2JU2vn8~@GsRv6p&zdiOBc7J2$b3T%GgezjsC;&k(%S~9 z3~9Lf3uQ|h!}e>ZpUNn_Uds(?li&@dEtx^QXjl&g<`OidV)nC4?+~v|4@ouLTPWqU zvdUsOyN_9sf6~7NF;|#)&_=9SDYNNP)c$h0xHT5Day=!shSNPPrGw?lp(^T$qiRtr z_a9Za9<^cf?@^B3QFWNR5aBWkzmGyP7l;xh5ZSUe3EUQ^jAr#A3wAIMDZjF z_=I|TmrFknYMZe0Nhp!#h%@G?)w&ePbR(K>r>2{Ih*?;ZdZ0@k0chWpcgT>o3iB(vI3 zp;BHC4e&Dd|7}}3Jo?`)U7c_BzZ>yuR$%U9V(vrD$`QQ;%pL5;kM}C{Ug_7fMG$b{ z2kkP=w+|4 zI+WO?r9XoSz^di`jDc6DJ+O-hGjP%%X$H8N6fh4%KxedkpU&#)`7-bn48&jH*iB_C zX#$`_izo{N6;QI7yl%8W6Zt|}->Mvej~qB0U&!6$%Lc2$-vVB#Lbj62<6Af>wPI0+ zbukDs1uLeWJgM@RhEkw+OjjN{vi*a7yON*m-Ff80?yflYJFWLZ>q>dB0HmT^(ps|x z#81x^vnVebWjHAN4D?CX(gRvPrQ=8-z^tC{gE2Dt3zckI>Cy45)zB{)P@*RF<3&AH z*3*jAYD;MM$NTmrcl}$p+Pwikm73cL#G+emRo3@^DvoDwC7&vz9=Kc}yK-i_0y9Xn zjH6dU9#KhEN(RjRXO&#BCB(}lv5YWRVb|jdE|MI`=qD0eTZi3l!Qm6^^Dt@UPe=nj zyayHmQ;qweWK?=QXrcEx`-;eEDIjb`EkA@0nLMn53Ikz;plWih*url)gxOuS1fF^T z8>fUpE@L5sm?!-BW8lxZ{UH=|Tn0 z0tP?HE{@%v0P4~F(R}deSsPcHP1+}lk0aLysii1oTv`2%c9boY^l71kvNvXX;#IAK%zhi>mJyrYru3BGT) z#Dx~I|IK8xbvJtHS7(Qt z{&&US`u}anZzcD?W6$gJ^C7WD#I|zVsjzakK?z!{)So^wuU`D)<*oYkB;^%dd_HDQ zOfQX`LkELT6S4T;92PB3OO{B&n;hGzPPg6$Dj<9VBm0(4!GVV?i^`PY1Ycc4b&|lB zzI;_3pIl3QDKGr!T@aGY%h%TehRJVui{n?dnF4FbR&y?orM&lk|5L}ScVK#A{<+J= z!axJwD~~7#F5L(%ogHJzh%eG8Syuk{y(__iPQw*p{VWBnCsqS@U=!nNy-)VI44nL- z3~9Nn7Y2K~LI|H3Fex4g?5!^Zp#!l&Yz}CqLD&3-Vuesd=ez^4LI|RB-hpsN&+$zw z>FIxv9a?bEPs~D*6*C|8- zeURe2P?Wxymd$8}63z`J*hR$Yi3G*cDgm-I=^mw=7YiQ}BJklh?L;y3 zG&d(e(y=Cx=#>(S+J^4|Q!j49*nORwvWWf83)!w1^g(v{G7yoJ!(vq~Wf?cqzf$Qa zW=YSabWbg`tHv0GtFJjYI7m0=o-fYB(6>osyPVw+V;$eR<-NbgW9bNAK_KW1rhNyN zxjpJxOp|Kk>svBE0J0NP$vYS1ot<58<-d*iEieCZSsMfK8`?c~$I4C+oj&|jg z>W>fV3*+Q_X`eD^R{^KQ%WLNJOW1hI8$SYkjwSQ#D7l?3&SPo=LWzzdkd^~bkfNGz zf_mh=y7=mD?aXf=Q^SddUa-um1+DIGKdXNA0t0hB9wWZDW!*ZaBt+ClG7TWNWG?Jk z$t1~kU~%rd+Ld#`9Tf2=yK>A6jr&&5owb-tdQnXc1g|R_(wPAGDRc0IpSs5@dx6$ZG!$^M;PxL zw&FkK^)kjuWcNfyl1u;$yu}4vpg@nV94{xSj@w?NK|Xb2v1j4|@;&dzX9s zm=|=WsA$|Shp(SOC6a;l(iM@i*hKoWg&r+yxrs+W(%8%jMPso(>8+6}6!qxlFurY3 z{bWlg{>=7^jj9`cpK?Z}$mGf8OTsiXF2$|T{6}uscT-a^0g8L()r+-qsi%~RBBx%+ z+nPFN@Il)!5yOwn8C}H}>0tjre@RQx^SFiGN*Kp88D^32lqzSJL4ylhe6H+T)R5v8 zzTD@7^MLc}%cALwLBZcDMMqh@S7z_KeLB^wkk#tmL-qL|&55ginnkC*oYlOV{{j%tcJ!9J|`lN7y)pj|9F9)XdM;>bts zk;jUdzsynvz>;EK&%RLTJDxl~kX-3`@HZ?N36`~ynIu`mI?!PcET;E+Lc?hF`?8Qk z$udx6Hd2{gBEe*3h0!sx3Fn^xL9fsJUVVBQovkjslEcklDjHU$di@2=8#DTq(RC5B zW~KJ%RQ2hDbRl(2FY%N9)*0-2Pbrh`)A>KG`QBEvxoFK4iEcY-fMd)WSL}{A+_WnL z)wLp6USDM%=oo)(EdgXqqOm^AKm*Q5b#O+^Y|)p@Gv!ba(WV2NSt1&WdT{sdpn@*i z-4j&MNA4%}kl#HKGXfS^n@n{By0zKa zEfL<@F@7!`y$b|0`@=u1@FsBdOLAaHs6>RE8t8}Wh=YhFxr9sf(IP44%mjs~kr;HW zX=FZUp+Kdu0HPJ@CZ{`AVNB3eW+7L-Nt)iYr0OCl^4$mpHduT68spO znOM5NL2m758O9nbcRL~BwajS7rutC=GZsP zXK{oASW$t15HRl6tJ4$JAHTJ@t?{Kt*Wr;%R7?+#0c%gsFTT7*{4Iz9zlyNRsenX-}uIR-W+ zcKpVP>7|=L1F7Z_&Bo5xW*?)b=lKKR4h|pw(6hjNR)`BE3kkW31p@+8OfX5~Kc(+bM-zAzOy^_+SYvo|5dU*eZz+>pV|wIX-f% zYjSt&!)p_qGf;|-1-weQb*6e}giXyz_330w@bLoYCxtSrUc$U$P=0Z4UT&lcY~AU3 z`M_C+%LsX$)W&DbJKvKXKJ|GO%LCXSi#~QIya$Zm_U%e~T~7?B>xom^lA2J};Pd46 zJ+`yvC|5z~HAl&NEA?vBoP?coijUXC6ACv*t_8%(m@_|-{(*-VnLO{rQ7m)rucKHI1_`|I{`#{oCEorv?1$PFy<{*Sp!I5F8UK&Y zEp6`n4~dShEpPAtHsaT;?A`e;Ih`w%xJBW~-^hZAzuQDb{&;yS5s$YnKEF`AFlwIt zere=Zb@s}(Hh5=_T|*)WPwn`0f427Rh*9a;)&Wnb6HnqpCp^?2pD{vdC06{^IJ!5MumP+S=^3%5{>e>4GV{D#=WVRI~A!Sdd++XRb-F}98 ztJy1?P~F0UMv?}LF4kHE;F2~N?PFDt#&F|!)S&u;Z&&Cs%OXxbG3RD^6XvCb>f9t8 z^zYc9`}(7w4H~JaUWpb;eNekY*^w<&(!E)b-gyT%5&LUbD(lP%Ce^!w?uOc+zgV&M z_|)R;ECylt^%4R#$9`J+`hVV8x_b{e4WLkjAW@=YdwJy-qp)VtN^ z&#R*oZ=_$lE7>gXR+n!p@4ne_#P;mLR5mTnk5@+?BVSM1MbD1oUIc8mDAi~8fN7<} zkQUJzM>^Y|(G$s(wMqf_dk)~JaGrgHF_*4Ad#xtYS-r$t_^TMqhquhz^MwCeAaCEX z55Xi4=9%XZuK(ozO17M_;!Uvj5^>QUaQnCC7oUF#H&6v~Q8w)k*I>whEfMqht5FNP^4e|LbaV=l|;Lc$@!gLw+_PYvl{hv0&}b$&U`x z5<^vN$Xm@tE^G$X1%p^5EsvX(ff6g&g5=n-_WFjpw8i{uRlhlJoCX|kP5@lOa?V$D(e`%#Z^UmU{=b&L z5BC#YHuy7BC%XecvzNuebm&dQe_l4eGvz8N1O<0qE`BtN)WAYXH4Y8kIBHm^xpv`2 zb?PDy%-Tbt&RDoHpAcF6Gu9gpX^qQja#=^1wV)ckgGnq$HJTR}?wV7h#H4Z4Lb@2B z`WzLy*KvpAeZSy5?L3!Wfagh&g& zz93`KVkTYaRYV*x%fd4pClBvtGHgOwbn4#Xt4pk|V^oyDUo&P^zjBUlT5C_Q*RD-c zi0NKMm5d3gZ_Lib^6;dbPGqhH6r?^iLpM_V>gV~GdF3)C{F1L}LRREThfxo^lkOBZ z(E#N6T=m8&mkpxtJg|x7Yk^%bWv%OOhH@dBX21^~@ZNLt36rY@*pqS#ZzaO4MUDEn;z%n1w%KdQQ*yf`~e_;?W$m9aD zXPmGYc0h>5B9y=vx*v8_{hPH1q{yASj_awzZ1svoF4?A`Ih728lFkVP)0z&W+FH^v zWgUDP4#{6>Q}`Iao;>M4`_j5}EC72Py8?z#+T)hpM$G7HH3m|ckQg(9$9UuNG+Lt} zk^%Y~+|syFYG*RV>}o9x=%uVSgnz>7qU@I*s`OrBQA)FRLW`sdi>~$--6v$hL+gWbg#!g~7xp+7_$;XK8e!R1tIY-Wj|2y&s z{=brQ&LSxaJGYf2?-&OBjiEx}A-l{zwqZ6<;_ht3&eFAO8 z9=Ah0%C5FB1X3*D|6}jkyPG(&{QhfwilU{Y4Y>9414mfwnZrOPXD10KkUeJ>gO89} zb`P?o=wVE3p94uCCgGK2vShL(giIdHWCComA>kE1Oe`7ywO?WHty@)H{gMm;vYByD z#;CjN)m69Z-nw<~?;b`VFl*ngm!6k)*HL+ROewK$M=+l(@g;`T+@XxHgB_w~57k+OFD-LS;$-p37XsGBi_Ak6@ioajrrL^yMUAY#u z2|{`?GsJ;If;Kc$lSaj!vn!KEj!ha)wOpGtyw4I@cw%U@Lq=`D9mt|B)UDp{y5`mg z`7B;~j$v*3eIo0rM>DWfWoiBZD!NP=kBw-sc*I~ylPGZT2UMU-PDwiWv z*?(c9kF{0e`X|@_1QZI7p^iS|KQfXH;Qx+fM>h0-PvUwU`oCW|_*+l)oURy*uim+} zdhvMY*d6&zKBWx*Fwe7m2HJP~#{GMjgxXAPggw#7JQ5k%w{t;+9+zy`2Wyymo~PDy zO9qHraHF$n=u5DF3Y{!@Kt8xz1Z(bx$9U4e$s+Tc2vO9X&{39ao%G zh@#Uk+*rHtKe2)MzGu-J>Cact&QIH&Q>PuOLGja5V*i9a_u>m~AU(hNy*IV6zZVa2 zLO^Yu^JhEfu9H`vN5_DgF<+P!;qjwX69>YT#Ua5NAdU7QL{3AUSiF1o%G$Bx-3y<0 z?p=rtV8KMxqwp(Ax$^xt)O{cvay4^ofPB(tTcs(1dM4vec%Seu2sDJnML=*;oao?b z*jcnn!ECv3gWQ)wx`_u;z}}T85w$8dC^Sh_cG!Ja5eHfIaD-L{x|IXza5n+8rs8Ni z16ulQ`Hv+Bcx$PY$u>=>2~(lo1YIE6L{!Zpd{E>p?XOH?#ug_3C)f>hqilp6C`=tG z@o{lg0&#b=qpC5~sB}NN43oU~s7M_nb*pd6=qa`{PD)XwsBJ3+;L+7G`m0S!<>Pya zF1YU4#=GBMLGL3svd#d_3NJpgQ4iT9Z*yG2SZ8DS@Cbil3dXe_Re6sneB}qUq4_mmfy2kg zP)8s9w`_KFY(xJ4g|7d9^1mov!iAy;`Kl}9se5(293t@qBSw-6*)OaMSJ%Uc1B706 z@;QF=-S<|0cndwk$-|G1c`w{py}gW%xpel+<^LWh#e_VDD^up@Z)@m1VQ4+9VM6ba z*O68ap5R~8cCAke5gsgLf8_#Mxw{|VK@1O0sh$-|vrbjP3rgrNlcRN*vQ&Y7C6bA| zyh-V2YR#4zRlj#{XO5ULL}mh+XKJ?4IE-N*%17`Q+sd*S@nN=b*q&+4Rz%FTKV5>2 z5lPAz_VVuEHTP#ctlHtme{4HIl_h&ViP_o2#I6^2$0j!Y_Qjq1{;+2k!-qR!6Z~DJ zP@T>jcGZ9f=s3lVMlJi5wlkMEb{3$Et(~=Mt5E}nD2`9_Mzv-Y@zoH6UtF*rVzaQc zSq%)V<=`$Qw7fldQe6lsC^Yr1`MSg1NmcSRrkeqYa|i!u%2J#uG(aHC8!zwMZH*iH zD;|r?m~-qS2z#Ox#G?b{VY!KJ3ykDm>J%Ij#n22zKMvG%aztEKYTs- zj5V^Ea!(v;>>$^9(se_Y)m!(dwEw;HArv@F1&;6nKReS|zCrLmHHcOwr%!a> z{`+Ql3|SGPgF}uZsKDi~K$2`XDl2z63gek?JLj$utP_>3z6=JrVVCnVP~M?hp;1b{ ziYJ+{14z~@1>9YVZY#rpS%^ZCW7!ejL;nE@c@}EAG@i%Ln@ANr)r6Fh;bmar&KIxY z4vzPYeg?3!)u?RUJ&KMQ&;iTeBTCEHpRHZ~4(fxQo~NFP6pSzqJ&iehC(NiA&b6f& zOvrknsLx!u)h4Wn#7p>+xN1;0>*rkfRID8Ma|#N`^M^9gt0ED;2_zguYj1|IMhJLx zq}D(uA)vc5^luVoJrjqfIx5~Itbiq$a?MHibgH(CnLNJWLS|@qX)@XWx4C(J4U7ck zQ`C9tJfJEcCw-3DSi z#p0=A2I-&j5T6e*Bh4d0rVaR+ z9UT=nn->>@DKig{R0Nn@PugsDL`$n~!qblEZBRGiZP=DgX2wKfYK6!Vk^UJ>Kd!f0 zv^*mH*fWq|Bs6_&V6z*{-GGtXwR4}bT?KWQF9_{ZQDH7I>&$ZytnG~QY-f94-1%>N zN5j&f8WTsKQwfPHERs+>+_x^^oyi~FVj`w|qAXup{uyem^mN5Dq=~v19m{#2w zRxM`!6ql3;3?GrdG<|1(Win~C>ZlY7h`t^{OfEBes8;ceWZ{yh@d0tzeHB|D?rEG* zF+BR0aK*_XUHuZGgOCULBJw&ZZ#@_@5?==UOT!S+G|R3w`sGH&RYv~~op7{dO399> zeW!lxEMND6znn%Wzl&E0=SdzsM_9%7jjpSvL(fVnc#w!ta$-3QlIA$6`Uk}J0>ga6 zf1J!Ijuu!h#Io0;K1crTXXI&$#likBzd`8X5pL#eBwPSwpDte}97C=D5`6Xdu!w)+ay-OtTmC*4YQdhRMuxr{ zcHgZB5tvUIWH^IPDI&6o5=l{SprJmCLmwF#1)j;D5fM@bddFSS-p_mAPs1qJIkCD` zg1D~uin!P7wb~4ekgD%p4r`|H0TnF%nf6vMXqFZ#x2)WJj?(9HIYUC;$~-(?h)_AL zetUcM_9a>aS8u-|302dDK=1EsSB37y`yBD&b*V!Ex6{m`->tUSlucOYk%bo>;e`jr zam~kKArQ{)OQGHW=TXZ)u`6uBc+_?Di~pS&^XvbI(;NQ3Pv(lbtbtS`9QL1h8||{B z(wD&Nldbs{JaeiAWOE!20G>$of-Xe5$rbzaGdBqo?Z+s^(BbwvoaKLqzW?cVGxe-p zdu~tG+WA7NVOKD!G03mLTCJi}YN+<%MT=;Wht;MJVl%jw!mfyw3$sq;C_|+Me~20? z0kb<>n1^y_>CW)jdhoC099dOTIC7Yon^Ff8si&WYf8wbHih(?c${bPaQ%w^D4s)_< z3?!f^yB~Ov_Jma zaC$hs!T+Dc^^hmceBa!v)hf+kf-p4jm`h;9DTG?@+*<<9T{q4YoPZmSmYpi>lPuUV z)V(JYHHHiBW_6HTElt%6jY8gJ{Ah`71+q$;UJVhZ>b!Gz<@RTt6L&gSZ@RloUQL*t zX+o8(?{H+byc;lue!dc2SV##jzX~V>e>!&FRZIPJ>>Yx|kI+ZTQly@?-qy6V(bfi( z%%dO{&w7_A8Ve1@Bgp0JDk90wJuk1^yWBnQiFwjJ{buLthn>&ffK6fN&sVx1-{^k) zhC~!S&W1CZorJ8GckL1T5YQkh4pi^(P7p*RLZzHmktKvhtV+ z4B_t~Tv=8roIO=hMsM!yo+ZkH+)nFTREQJt>|9t8p2o#}F?3eHyp4>+?Pk0J-ogPf zBC(KJ>Uor@=N1Nn{-&UbsKg;e2U$-Zb)wFXXFP{m3slMy76Z*NG||Cu+of~!q0aZ; ztQ|YndGi*9KtpqN*EHSqrNKds&+jH+_2!O*Od!2*)a4kt(Pe=L*CCP$Lv zXqTHrQ&ji|1Y1_B%_QsXL!OY|+@!@SvSF6sO5G#k7&9$;}@K zuZL4-grN-I$&yJMkHV0e!5wMCDRj=9yMOhn+Sh7kG`O!tqcCOuK++R#aCNf_k6A0m zXUj2)^FY64J*G$HV$T<63e{a7(qy}tec#GbXUK3Ki=sGs}1!NS4C)#J^WfaeV7}xiU3J!)uZx$O)y_H+!k;*NFv%H8hum2Xr4f@c<#ej$v zdM@8L9Y5EP>^Nah&XsQ~Kb)a38yMM;n@X8FWJ+|m1P*3gdk}6=5NZoT6u|{^vf?0H z29M>17;>*lXgy!B_R+^^6hgKtBH$o5>t4D2m(}wpP3>e#sk-88pT41XG|%l(p(i^x zZ*$jpyI4)mHkztYiqe#! z6pz&?NImdISXuF!H@VSy&4c^*=bH6G(as$>u%%cHZTuFBKImz)*oLO4RSf<=C7M1( zkN)u#XI}o#2lSDP0sZh_(gFX^kHh+^IZB$aZbs=vg3~hPqq~6Q?RLI+cpN?VJ z`IWmTSMJl9rzN+DBhV-ht%gQ{ekEHCV z-r>p|a`YOrvLup?S;NSe2sxB|EPbZ$Zb7cTN60Aw1BAf$NXhWRm)%e9Xo4SgLxA9< znJM=%V$Y(@Cy;@=HGMq84;$0f+vmjI^x93;SiL8(leoMCT|)nPhE;_!RjzdCI>$@V z{SJYk$n`MT)j(J-+}OG2uw4oD$>YOU4q5;#Wd@JqP;+7>o0-Q^3eY*f80}*5YsZ zKc=f5Hshv8J?ydN;u4c+km{B&2p*T@e#*wy=;VR55BHuYM=(=#KMPB|r)?>IVIdL;E~~N25X#pnoXP zMT0idVXk@yp{Sf0w5|vq9dPZgS_cH_0compMbjgSYJwRaF!BZvP6XBnN%eUHx9D|X z!(_YvQH&ac)KHHOryOrjgQS1xzozT^T$`3*TZ`9o*Y2@z(Je!oR8Hwfu`v_`>3nbasl9`NLfRm1H4 zb#9fNcTaPML3iDA?{-dnP64b5%lF}kKwGcmC)U*v?9=T{^?J#?#|zYkYh>4ap=cv(N(xdKDpjsQ9HJ)~YnMtRo}CkQe?QfLE`yonrXA zB_Zxa98lJk&3a%KsA(@GztFBEk;wR2BGC{p*@Dlr;FtJZYPCSEfU$6w06+YZcqixx zrZq4Y>^BnLN5+8|%ANGp|?iXuAE(dy&!=sCq%NZEIf9c_XMF z)wdHo)l{t>STa3QtW`jh01`67B-v2$Da3>{{=&XJ0)pJL{J2!Z>(J>2r5oBPc!V7K z4W*a}FqAA*OO2XSLK7`mPqXRaWG1~WIhGtBS4ohz57lai!_tJvC86t32Cvw>*Fs8v~BdtsBS~gD$As{>kKl%?razhBT8H zpaNd)Re*UgZtCfYYMr{=jPM*n0qQY~^=2R*&@)q3%jDfMgixsdi3z<5&&MeW@gxDl zNXXBKBn84a_vpkyjOv{FCNP~b`4l2p=1rme6ygI%`;a&4M38I-nAezx!5)%?7qQWR zXQncd#KO@;GNG#SsEOS((geQib3*DdJkq{Bv4EME+=-yRKaLPf_ueG%N?=L%uN_~x z`Ni7bPQwpZssK(uRkRy{)l6ccG*es{z$6y1bfT zs&H}o!Nq1}0^>dRQ0nz~FhS?evCfxo!vKW5qmYKAd)KR$gyPoUtA_RD_gdxP;RQ_M z5Z)2U-P@x<;9ai%^;Y+jJKguMyQ6@XGh8ywd$<ch4O zEK0W`o*Q-yZngN%-7&;F=a+%|hK$bg_3#dp+;BZzBsQJsc3;xApz-9ERLWJVWSmJB zNgwJQDp3ecMU>Fp8QI23p40qxgFMq+UEN(>T~%FOr76M=%M?)JEh+6NKBq4~ zXIJ>8eon#8q#IrD`Tu2LNY2=b+S0yD1fEhMw`=DCLP+GlHuX^26K9S_cuhp1*{$Jr z&b#ipMpn}}cej4^y~dSyB+!biQ#5DO^sRFXWox{|mK#Mn-a{=Wm_7llC$aIQ9A%Zw zUt&U9TJWH(kNxs)hfuminw^P6ScO8zv{O~!VHcwd6?QSX8P|CyJkVr1BX~(snvMwk z)06``SP34?4mo5K#>!~5mFs6}i}zeeFeZw)xOkxp-7$ggHshsM5f=UA$JLQ=E8SqV zJUSv!gn+$W*dOCXhP4qhlHJ|9DjW24uH3oaxN`{)cNno>d8Y}gl+{3rZYI@moU;UH zf@(R~Sc<))B~(53H~BflX(Ef6xB3++hvg+nXCX5QW1ECyM&`u&UC=Rn|1Dj97L+$a zOydvoG-Ph-p}uS&a)>zS=j9q z*UpH$2@^g&wk%}D@fUjyXM};zotd&+c@x<=nPs^@X+!Pulh27v)tt>7i)Y6t^yv@51s{ja~a<+js5Q-zz(Q&PV1G1O2_|2iaRJ@dFuk zXy^5NAseDi8k3ndjfpg#nb_~Q#r~5f&xqN-=lXh6{R>^BUbFArFOJ4v4KT(#_U_)c zYmYL-iAaKtuR5q60!H&ewdplTU7c;fF6O-q^fEDC`t*`*@vG13awIZ9QAp~Oc9AtH zuM_aVilmIb;X-mkaYROVnOv^5F?UyU4!0=bJJM76qpG6<9+jy^alxTB{%)U)o!y}B zKF=F!5uHv_s!oc^vImP>9g#NhWZ6kLPCVS3w&zyNj!S48-0V)_yw8e`^UW+q>%3>kP#(hKtGRHixv*Baq`zdA`|=!AOZvDcsnuslv`m7dX0 zWXI!gS~;_jpQ*%)r0m3Gf_lpylOlQlYPt+jQ4(^b82A0jg|LeT9pj{UJuE#~eL|_o zTE2gqNK`mf@)C}s{**9cuqr(1l-ZEg_=38{Y@fe6)-pY-fv>|&D%mz`GNfchzz4W- zaq?{M^8E|oX?Wrk`X9NgK!yz^$qYaBS6-#ZGDjSTo6?CA9M2o#%-#@3^fW-b?7?6- z&fFbN3*gCP&=_+u%Pg4LDj96$xZI`DI23*(jE7fYcE|Lq=4TVgbBCm!$T&o)rYT1q8bLSJy4L?Ys~ zJ7?-2ed{`irFwnVNXB%FBEsjI{lar~o7mV-9B9MFPrkq-<@li3z_rz-kHlu{LP!?} zGFDXrojI~M*)2#{(PXEQSLyL;pUWRY#K`JeSEI5;0}~(j499!G0YJKKCc6f^I$r?qQ5 zf+HJ{Q#g^ksRiQ|()!t-_v+Aiv}`EXO1l_e4c1)d`|yQlCh~qn}q1;#_*GcoomP_Dx>^Y_Zb}C5^`))^2~?gzG{8 zID<_d-4!XLQMNz0IXB*nUs8VeQ@uK;&0Ds?ZTRH>Cf}U#KL`2;+W9{=9ImSn{ZWg z=8bf7cnOHkPN+a!2u+y9^mL}HdrpLiMx}W=!v#&y0YR2YXGmG@qb$FG{Mgggk}g(h zD_QMina&139EM^sQjVvIOQ5fr6d{wSgc=`Dyt?B9ocd7Y9t>|OOW zfj9Y7ImW42DsokNx(Gbo{!ZsY$PhOL5;W7<%(1ewLy1M-Mv-+nrYSza~uU85fL<^Ev zoB*pyfEexT*{Pfet zN0)22FEzgYTwe4TtYOkTnwy>~i%W+DggECUzirdv^ZlvB=nHT_O2s#f&VTCN)hibO zE~zQlJb(zBN3(_L92mXCdjmZ6>DzGk3;Ck%J9|sMPg6YPZ;+L>`-Lo@O8FDcFND^$ zFEM(c!+zN9vme+XDJxoFKtuG7BOf<9@T?d80LfGAZ9REOOc>nkK=i+~18xe>s!|0zTN?*SJ z@Q24&M*9W^4h_CC&_9JVP5wjNd`Qj8LiFofr zP{$s8SHE_varJ!`W1L2FgihSQPc%d}LKrED#<0PumaPbCSPaRs6K1^)b2%a$K?^D3 zDgt6?18cCv6q*PqVl6{wOGSg;#UcNK>vGnFU&`j>wg!az+tgKh z*n|l|D>VbItSt;MOvlQRK^g)9(V%Ha=NN>Etb*F&X*ol9 z_z7&~pFD+NXsQ7dxvyn7l5uO}6QD^zzwOGk9cNRL<_>Aqnda`u{Vo3)2XmjKQM-x5aJ$+cMbB|FmPJRq=f|Ds7?Xi7Kt`H?Fmoj3tgKXV&@(9dx);qi&zqk6#E?J(rI zVV(tij}RXX@o|mP=ubCNG+Y1UvtW%aWS&U^aG&)*FtByNW&htY&|d$W@r3xa2 zf0@-u@~fE7&d(5e2fh`KX32-6W)VJ*!1+IU8+F?E(6b!S6Me;4Sdte73r$BAc-4=V z_br8ei>2i5u^3Sriz0bdtr*eKV$_Hla(L57BEir})lPg(5Wz85(NRttY{#oO;k1a= zSjEg7kt={kE2e=Zn3TKpoZP1XwUt*XZ9Ntz8b0JfB+pBNxb64h@XYp_2BFWD3ve}t z4QyIMYMA%HAuQU&N8~KB!lgQHXQ4h?5}O3iP#5mFwp?PGO7Ljt<{r@ zaR2|&O$;H0S=I2j?e@SbqN2_G)orp5kDD*i*kpaic#cLXd&!U}L$=Fdz>V6;hqc8& z@7gCZlR_z*DY!UqkoV?9}IiomvZArhzSU(|0QE+D9QdEC(lsdP+#KZl#v=Ff4)3M z%DfEA0cb5n+Un~|l3xS;_^TgYldANO+}KOvQ$G!$XGr8aj^rBt$$DgL?qkb;`EnHk zfLWXE|1q#-t2_R0f2uA2ZORiM{|7x)e2T+oUqT%rOtei}OjAaUQZ7dTgYm8&zXF!jd$(#Q?r|-5h!;r+ zU>%YEq56Br;UEL<_I=q^%v2LZFr6rv-9)^zzpZ}web?UC5AJ*YU}E3?k^SW7u06l* z?uZNy)i2(yo%#eE<*vMAfdof2Oj4eJ>xgU_s%FcH>0CLHDR8&-GY@O0-UTk609Gly z8(X-b0cKJS1f2a*03Kq2|Qw z*`rP*6Uce%rW9I&_Bb*NzQ8o4ZEO!6btZXH@h(@i^hLMf1jWim6}%^7IS9*VY#A_O zZ<293`1<}me)R~Ede`e*{rIo7PyW<6x6~ZWlmT)02psy45}eNg(PR9AuuoTa1) z_)QfVGNJ+H>A17;2g5m!0@*7?e(aTlJ%**`o3=tHc0*d>S6peZF|-)U0xX<-(wC?o zNLnAvDv_(f4VNu2BO)cs9e}%&pKw2!UN`apl4j z2x0Q}mvArQn?D5IGh5vwHG877#x5p|>rCN7fbp*6wu943vT!_`DXPLTdiW5TsPWcU zwHud19jsJ3lg*mtYF9THf+MUnG`4FGk#SH@NQOPFvsjyJBm|Rf+qaMGI|x47?o+l1 z|7!!_FW5b(m~WcdHTM8(OD*gl`By@M8`c9)_@oD&jjxt!i+`@a|9Sn?UqT&n(P7#0 zEfR@3`b@Pe=R44o1mp|fuUtP9>R@KoreP#;sRW2NDbI#3_%m9UXCK;HGT2F1qmm+=)jMh;r@3mmF&iYI&njk^uxHSVuL9ZP02e z-(dd!#~(ooz{Ni^5ubWZBTHGi^K|vn9h8<<6PAAKeHwS#x)b6o|HJ0A{M;ux?|K&XdA;V)W!|Y?x^KwG;Q2pL~e7(G=CX z05lGE3TP3o&1!>NsmK4eS`CccmWB;m_@x^G^$d*(swJ-grNs{%mQ8ODQFjn!B8N*P zAn&k~+C-UD=@w(8yZPhY$CO_uXHue@DZg&Q<9RuayCBxc6uozrP)_Y8yBN@T{IGWS z1A$AL_ZMjF(@PlV7B0!(`zu*jwa3i=zwyca+KInmoJ+53evXS^cC6q9l|HCRW_=Wb z_62F+(xi+;A;=+q&g9|hAwgK~W2$K%e{Qs~;K9ibGBR;Y4*5(zjG4yKYWm>5{d<4= zAD)4_kh`%$u~?}{Cq~J*2rLgHhM|RPd=~x<$nlUq1bOg=nh^)XK}Q=+_^0Q3KvyR{ zKS3)UcUw|g3APGZ7oA}wqi^iqw*TKEQ3FD)WfKs5lxUHRYVi8L<#C**P7Ht{<8PVO zwG6)e_>GU7Wk5r8O*zMhKla2{ITWJGNCWM(jUw`rUeuKCHo8rwTea5a8n{GlacSl4 zC&(+v0)*z9GYI5VcwW3NX5m6M7?MW_zo3+X1F?2)CLtDl7jf<&>tqq|JZq*VcQPa{NS~p7>!eVeKQ3O&7ftOU?U(FT7sA^w!F~B@|Ni zWw!5A%V-tU^)1EVJ#k^o58kV#Y^g9TuR=FaTfY_+z}C_P3vJ&;W$qgQk3-VL@o2V* z@S$o^&~&rf7Rlf+Gph)z%Fey}f3t1>4yXXP#w5#%v!!(ixe-2S9!85Y8c0x2hOG!UdP;Ot;~FTk z6?s9A#yYm2XT8(ROzCNr3V6a3XN~4d%@b(jP`s&Zo}gz$cs|d;tF}t=!C|Or-3Ce; z@Hc~UClfjyJN6uKn2H@9G7u$T!0j#4vKcqP=s*$QL4oJl*xa1BrkWv377|A{<%h0z zN$JnQboYATtjp7U)f}Aex{oh7*9sIf?$3vmS$1!Ta1ITuM>fK$V%oyuNF@ zpv&J)=d+5O&u)#aH;2nU-zW-eu|8eer_is%O^tZ}j2P$mbKi4?!gJs0X=mt7rq3t7|=jFr(rNZWwaClK-5 z$QL1{hkf1~Ng9+xk^&WDPQGfGT3`|MNGr>aPN0E?K~}@nFdwc!4Oz4yvQf-&&oH?i z>1yJ?r!ZM*i<=7s>S=m&54<;M127*_j3QF$d8^k5_d;|eJ%Dafl?loSL2?KYori75 z*>}dU<_z#3HK@Kwhhg*;W4w@=urLAHOr`*D7G!8L)9M}`&pYn9I+khAW(0eIvK!W*0l5c}U zWDZJ|eDzpYEZNtWh$Xl5bqk@z`?|@#z55Ry5bM(RdlKuYm#>`;+bhq;&T$dJ9RR8M zdgS;aSnO$&dlJ2dNVqNTOEhmG>}bNqTo+M*0cR>)5XdYPRsG^!e!-AaP;I2#j!3TRzax0Wg z2))X=M0i0NTAbP1{riOfpkEc4e zqk$V7>y!ju+??A0tUciRV$D>}z*HsON^F7F#i%Nhip?3^(vU(q!Vi<$-aHwV>&jT` zH-Q*kHov!_F~jcOw!OJnqQA@Gg5x)kCWMA$Q!y7It-46io>brdIIc{%d$sd5++JJi zmwjQP<=zP@n~Tt<19WbqwxnhPvb*Jgw~Jb(tBs(dptHS^b8CAVkRGU(Y1)jpLqRL_ zPG^vkygI4gq{1?NNtkUY8a^$qv+Kb-sWGr_=CXjtX3vR=p=rW#cX z$|0(Tytb?$wxl0Q>fzvqsE0y345}O|x}ifgq_ZIA4^&t@n+l0_t33#%v*F%f>1&5% z`WzKa8IgB%aO;3eD@z5?%HUCqC59ctybuUmuFa8Gqg^^Nx*zStuJ;4RXt!&viq1f= zG+Pf0*d@r><=Go)(FW2KisSUel3F2THUJ4N*ogrg5}?8y@VFq5@NbKdbAy8ey~a!A zzp8wX+9=u=R_-k|E_~xJ6tV~na6ZX&T1@5Ec<({|&S?osGdGgp>H;0Y!XOSI2-{R! zgEbxL>S9h;YVwul8a1GwCYlg{V(TByC0)8TSVe5@I?$+au&7bhlXC|D#`j- zVA&o`8mPO$NjE{=9M2y$M#JRCXxJ#2GiJfanPbxvikV47&k#l?(A=9@Yvyd`(6Ys5 z9c-n;Y1sG~+Is@fBAh)2Cq$-Lt$z9^IDoXTv-%S!w4*4MEtp>f07ctfyB$WrTdy@n z1%x)4IS9wmi>8@{4KdD$R(wq~ErQX?a7`bt>-Z%~|?9u;^tyf#h06-|A;x)qZ? zG+LhsPokIggAJU&V(*gkTLU=YD-Bw@o z#o^sYtwFE#KaJg3o{t*a-G_G0@o#V5EsD+?LfWqgArN;}?a3MWV`OemZ0MHbj$1GvZj}i`4B?D|$qOwCC+ZR|X z&&J(TQHKm$JduBPHt~-P;8)0jqt?RzVNzT(AHuc9MbJ7B2UR=Q9|*zW$lx)kG@uRH z7F!)jgsG0D0xQr}>n?G_8elTr*~tdTYA#r$podScU9;PFz~{(__X6Kqkjxg$EWlbP zrH0g?=9@DSOl$$ak6?459*MNp*%mGqHlK2Qry%Vwu8FGy8i`FA98c4aulOdKkQ7=r z&t7BXG5=a?JWNb=x|k+|Q=Rsj77yoITI!ihS2F{jra{=g-7WFwS;S#k%Nn4#plGc* zEfJD|v`NDLuHhk??U$6)LvzR()1qMPm-Cvk08&b)+TxSnPI^=t)9?{QSIa0-7v-HgZW zM}F-4AN1G8U;g+fzxyA3gIoKyI_`h;r;`2c`yZR}_}~9%k`r3BUusi{14rY3hFDVE z+VRIB<~!>=1fU#HeK{Nz#{yAaP4$PTmE>2$a8xgv;6CvjI{$k(+TY*%QeQ8e#lO@? ze!zJ=RBPsM&rE;%7^6~Kyme`B6gHRF4~*=mP%EWUmEE=z?=rcmJl7IL<>4r`DTqD^ z#~)gZ{WToL@-RVBul5yjVmLY&g$c$yz_%|pKDx#H1vHY!bHm1dbhmEGH{+C(y z@{W!Umckl-Dk-cxSXj^w^h@)FZ#(kXiJIU0e);~{+Nryw1YU3d;qe*yRy%o*7u$sa zPrc#Z(Lv9y05y4p<*}u=AeGT2<0Ev{VGw1&qMxVc?Pda|wuPB|Mm=i{Jde%`v;ZDN zZGg@+b76_`g1Hc49x`xhBvGoDBU3Y@WB?KtdENb}xT_0)pl69=6fka7Q%cdb=QXEI z+wvQ6XrcL_dxIx~UpsZPe(^R7RCM9X)#Dd*jG~!m7)3;qu8|(KK$4z7^zRwj3Vi@U zcZ!w7Qn4#-v6**fi1FIjq!h`@eRZ_)Ya#O!03XQGCWnnkJmIOoTE{?jB+2IWYkEQ)oh|-TBX8F98M^m zsTu+uB#`A+Ab$??_-RElFhrrIcR(weHs%d*FNp0NGNL>8>>nOZqN9NU4hDo1!y#iV z4|*B_YUD?4SR$=?(&)6!f#6XUBMoO@Ew~zU-km0d-uU9t>gAiIvRRz1RH61%#`+x@ z;2nDote!kuyK|*>{sTJ9UDMe-$TvoAGFy)Sij_RncQ`Ii*+KPE#|&s&Y+C>z2aaLQ z0I+f(mgL=Stw-6C<^NLonTY>B@_#Zl*tf+g{|^qf?|*N~6F~kKrvrf2h5VS6n1F}|)cJwXpRPc5(##%7 zXQy)R@4iZh(L{f7>mxr8#bU$UOP*Z$-RCZqhE9WwtJq?zyNq#m_$ z$XjZy+M&dc)J4s4L={q`Enjf%s5vcyV}Wl1fTBlT!NK`;)D5na?nD8{&`t^I;ja*I zDx8@cTY#qaRfo`8hRhow&4^);uJw`~3-z^ul&6E($qm%&m|?I7Z|Eeu0Cr*s*B6L3 zq(bKbVFRN|H6Bl7y}-e+ZXh_n?ynumjer_p1&KrUmcTU~#n!&D6)6wPWHKl5NQggtwrea7~>slj&9}{ z4#`VTi>8_rNUa?xU(ybbv_>i@v}J0CiRU?NAq$xIsHua$;ZU35>dx8~WSRpZ92|6K z{r-u@`FEw9#V7w#d-M=87t`sinn%I)z$qF^qK-qz&`4_Pmg(B+T@=E$tLmJ=s&aIvRauxvllC5k49L-ZZ_bzr(Na0Ahsr*POD zqR)7)0b-!>TqCCIgS%d-%x}&&R?c2?YwHlS?UDKsCG8+lgqz~t&@1A*oN!n3z4WcyPp0o^B zhf)A}+FiIQVjkevvW5QErxv()(7DT($?9g(JN<3sOsiTc9bGWfacrBqHm*MvVs{o={xN8g2L;Z`meG9(b(Y|^ zJvvo1zoUr00MUf@xIdB8co#T(_P^OxnVp|bm}EpDLJLg8Mmquc`2QxiZtZi%e;-Vy z+UNh9@of6}KM{P#^96I5u1fZY?#v%#JNDVbD}YLWl~U3DnICl@0G6;FSOPum?ks0= znVC$n_Qx}|v*#MuKWdy?s@-_Iw)pYt$wllOy26Ig#WQDwDVA2XRLM-337Wi$dZM~M z*)2(qpVT9jJERf;de)FTEjgf8jbxv2Kt=!40cvbg{7-Q&J_K;W5e5VXe}3MO2bGBQ zVqB>n@Owy^%R;O~r^`p9SZAsCZ}`nHy-~_{o;e#<3-`A6^+U$ zdpw=ByYH?%Sz7(@`}(=ukmEhSFEGXRDWQ*6y6DpT3DN8O5oN9r0Y=!fP4RWztdXCr~^{I^pG~p8^DW zHC+Z34xx{*%S#3vW9SdSp09t#|M!n<+p&8jK9zeGJO-G2YH-kt|M&F|3_AFKGPSks z|FtPkkI((^_)MWRf#nG>^1gQa z64WBa9-YHR3PeZ1g}!q4ZGza3JvRRv9=85%;W-Xoua)dZw&5fH4fOXr?|%(!O(omw ze={B;|5+da;;hFi(?ufj8MyRo=g)>fgc}aq??)>^#4u}71NrmWLp9qHzISq z;DV4Q!FMxL%*D;(43Sk%f41`E3FDRY$}C8gEHx$VCmF_lyLK2%aw+F?RQ?Dj$PmlR zjeH1)$e@z(&p~J*7HQNZf)i25>0g;~xTGvp@kcG{OhqE!@Sm2cORg zX@bHvYM=k1{->)P7~TTgV$@DuUU_t>B>BjXtwL4d^hh$%= zpSt(M<13P>gNS4X+{JVC)h;u1bf|9#qe~&hW-Mzq=jaTX+G#T2>UyE*%Mk}fDSG{n z4}xk-$J6P|M__R@9&2^hG}eE86_4~@l~|t_qih|(jiP5VOGzePSrjG$dRIS zO=yFNm$iqBKRiAK_EbXnRO}@B3H}LJBhD}V@c2Di&6+L)?OA3lmm!J;+=7||Zn6+& z!MWgx#n{4tuk5Fz0E`uUWy9w9S~0D1X0{lc${aQNv|n;&A#)6ZQcK@(1jr)ayLz1icFLgD&Y!D)cy{^8 zRj+Bxh-oxlz@=R(YgTrtT=rYpZ(Xh5zCqfnE#75H1)Tr(F_*-;m@ansL>m(!%@T=|M0h{-@r~{K_Z9D;SnUsQGz(Ma3v+ipnlTnpwU6 zh>5^jtR*Ri-K?iFj4Hx(5P-{1o)VNPbE=*Cr1t0`wZBhd zsdX+>$xInkrl2twbYGd|p!>w=fy^Sx3A!>?HD^{TMxVzwaEpz`h$zxM?VDy$tmMRveT{p9}(REAKAP~TSbExEl5|1Wsl`#+_F`(U|W?K-&U1jNi0Yy-$ z!HdXIz=&<9Cs%TvH?309k~{z;Y)Y292^XVfIy&D=j98>U`SR3YZm zuz^o>W2K{MY82RL2LPY-pCs$uCI7eczi-YHQf3}wo3mF;(0%VL$a2?ip^A@k z9V<~;zW-tEn?Kb~Ut4+mi3oN`SALc(OEg9CvTD#nDhtc<2VIzno;dug9La{Q$xN;^ zYn8G`tV(!3OhlQPJdv=haI{+r|D+8I09d5WquI$!al&MQ0hD(J$Bsz8>=zzm%RP(o z)JH510Wd{67^^qlS-$^1(FwA}xK*+0AKk5=y;FPmp%@C`f=k9>3ZqpKLD~6*`QXy7 zJjZ%I@;lP=YGxvA^bAQ^F?zz;VmRtOaL_-BMg9uegB= z^2zjt7Jh76Y(Ja-IQc)-NjG>K@H_w8(l_AX|67uMTiX18Gai5cFV6IUFmQjs{eY1S zOMrnYzO+TGoc=@O4-e|6E((6lk105d`yDX%F3Q*EC#%)+yu|3cD&4Qn&rF$?HD9fi z-pmx|XY&zd0HgP!IU9B!m(W-!vDO~@9EFGcW5H)m-Cch8t~^x#IDX!V!9R|F@WbOX z%TL~2e*Ad(!MWOl@4&HwdR5eK|G9Df4me@ZQC)s|z5dn`4+^Mays~t!cK6ejrH{~H zl8W_{IaoPv0tbl8k4SG$lLpXBhe$MQnEeHLK@)ncorADw^-G`CKRSisLK~0Xk@H7QR|;|< zS9>t1Ir#faj;giuXB%JK6@?@>ytyz1GZZEet3+K2_flbKh)ijiOmJ_QOfRR7(L-S( z2#st%7#=;WofeE%1VQJl1R*j6G}=W$jdq9QJ&Dm|q8v4T8IBy>y$|I_wjYwRmfZsm20IRhf|QHNGTdU)JED=~_(`$oeAjc_wG!08qENz;je1IY@UNP3py zluXYjYd5bfKe@bm{8DZ4UPzt4UPwEKQ!#p|m;4`p_a06h_8709xs}u*{}GiWKYnb3 z4FJvMzk$I4xBkDieg3yOkH7q9K=jeoTX%KxUO7{-%rqw+k;xeIXw}c&U@}C-qA3jQ z2y;nb%Gv3v5z9q;qeg5zY5#4|zcDQ#jsG1EvqcI4KKWlX&K~=n%~&ReHpO*zM@rn9h}TKy6HQ&`c|nmHS2N zC_NfI)H8b6(HtL~$Q&vC{PTyMow2{;ug*h`0yv(udM5$z@fH5<911)L4y+ChC0vLp z?K&ZYNQw76hxs^&Sc!b{y#~*Y(#=9NI^=skxKvt^Mi(A3ZS&P^xf>hWG9Y&mo?K~? zYAhBj0hf|pMXK{e<6s3|a>MA+LKo^1vC`ha(3he&N43$oBAQMXmpmXy6ap^msj$N@S7*xQEF*7~DqccF!0 zMC&GPaZI*+`yrMCXl5#6J<~(KUZIQ3F8;P7}>isG-rg#8?tEO zhdE;wV0Gt<<0V+u)%+A3ArXE!gt>_p$c#WOX_PX#9F5Q~%^GvBpl{Qqa#ardfZUNM z!lXq6h2a(7T&9|#=UrLq^Nqk+h+OH-a5Sth8YWzaL+sphaG#Vy({oVNPVk{2bwI_3 z!9iAoYz|%=V({$sBseBRLizxzmF9gpQ=ODR!4r`?BE1hs{$=m(kwl!s=;$!m#Xx)` ziXN8XSInF_PPCt#=mGme1LH$YNAu*9h-)rkN6@4N<34{RZ96BICepQ z`}+ps$-b@eRQ#ov!tT=JnXEZhDjm@l7o~a5GeY64#V|c>&`$wbXe``Brg)6etTZ6@ z_N9y(z=lLpoUr+pi1bYeK;^GA2?Uk?9KlSg6|!(AjtxWB`*E@xLexAOu*?1euhOMr z;TV!Ab6(4t)zWl@?7ooLw<9xMEv505h+{t@?Z{l?C*tci@Uw2ZD+n(y^qdAhI0*kTh0<82K-D*>Vf%B#gV_n_$LO5FEw;b} zD2I;GOh$@;3NWx%*jR{4!h{ngDPWQ2$aG3d{o{ct0LYicSNIbG9R`p3FgK@v zymJgM(u+~@#K8<`zwAknQVF@oFOoMeuA{%qlCC9Jp2JH^%HcUpGTVFl_zkkvTK zmLrrJl@{bES&_YAA4HJA^oTIxlMrFAwD{ns_2NV6L5~iSii{0?qeX^(362X!Z{uw5 zchhF&Seorqhr-)nmbZ~7>}Gw)l&EUXgb%K@^FOKHUNL7Y;HFWng500voRV^N!upV( z*BAd-J8=skt~@=&EL@gCINH4WzFItKoBhzR2SYGRZ#sgoPy@4qrZ<4 z0vv=u`5|%!(}BYAgz7{jD{-D0o6>DrX=A1UuC~dOtyoq;C=4F}pN9FC+Q}81aS@2@r(ISY*cu$~m);pQ*%&e3h7(OzfD3FTcqb z`9OdR73jCWg29WC(Th1p$ZjQ9nk^PenH-lJNsCNO6e+Ows&tFI1I|JzyO0RK8W10W zevpw9g?-0OC1o#T09nWd8V9_TqsZ@IljyrU_^SlrAFnHoL}N*;_GS6cI9x zGO^=?xfYy^q{FMZ5TjcRZvdKWHj|w+g$bx5qA0YCc1+-6CLu0*=b06jcqEjPcUi~& zTf24*(gj~SQ9pNsC4GeVG?HL3KR#|&WIdd{f_;ceAek&&f}jQm_`=Pt;7&x|ZRzWq zvTQNP!}JUpS2Ov7mCfJ==T?rZR?IA;Zp;p6whZ*jjZfy^Bz!kU?OD7v?+sUsK$G2; zB@|8jF}Gf|xHqfREpkr_fLG5r@hRiQUrKZ1!$%C#1UCRl+pNMZvS+b<+5!rYr z$$|o?Fy2mC9PWf-cjDZAsZcv+81OY>!#6Jzjv>8{#4_urP|`3SHAtcws^0$ z^lsxb+k{VVh?Xk3)_~L7w=#YJhKQi>lTsI%I*v9~mLmKwsw(kD@e}_mN@kFdovb5h z=SLYwd2(#$Lq^_w48#+ZR^BeYZoO40{JNl!!}2Oq=mK+2 zgQfn?mE{NTLD0XiE~9N1k|TN?JVLfa&Bn04^F@Id9xno}>{L&a8eNkzou*QEx#He|WvIityYW?Uv~a@>50h@9q@?3SVa!PLt`xxSajhEjbmXA-GFmul!*Y}M)F z8rB)9<(~KHqB7~!;So-*(ws|7E7iDpTs~Hd$bGW~W+r+k69au*u0CwT0kwwjt3)}n z#4#3O+@L3c*Z}V7Q(-M#sYh6_b!(gjB=30EU4FLUd*(3@nZ20|O@$5>K(C8;a5IX# zO$@6ZxXp_BrlU;;Kx%WWP$EO*-6Y$4gEVRHXmmg;HFH_&Ag*}RyzasKScxQ7nGh4v}#t8cmAEX6)ZHo#o@Ou_q@#soHt5cwdX}qc<=zO zGu}gw-`tG;-iTY|pmch#y33A%Y1PXqwgTO`wh~>#?4NBMH!oJw7M%qjQqsKvMAyZTSe@ z@yJ44FcuOTmql=!O7kNDhu;xaUbPSP0NB2q-Vu zQ_^_!VeRhs2&DwkU}?%0LsT+EB}^EjT)vWGkkM@mt~C_Q1sD44y$ktn_l&Az`39)& zgcA@p0QaTd0Hq23JggZ)xe)~%x;`)HJb|@!lzD~6gGFd7v#Fp-6>v^ybT=Waxb8Ji z9U;Oaq^NR$Pmg678lCjg<@?L`AFh1SSU>xaP(5F zmJP`&Xvp%SGM|T#b2`s^BXa<8L1LP7%J>wDq~5q+MJATuZGC)s60}GBh5(8Yj@u$_3i)fe$Fu<5h$PnJy1~)r+uOA*? z)%qz8ymMUOzWvfi-n2_^-J6w430y06H#0C8aBK&`;h%Typ`jIH+nor}Y)Rd^d-4$q z+kOXsrCGiWsetV&M%Fp>F5WXrJ0>aDw9_DN%UX0eVuPdxDs{tW#ww}VW_o}_9|3cM zM@=?I_E&+DxZJH9^7?1j$u3#D`OV6=w|;m`w#$2Xy&Nuf&)L8h{&D;R`~J0jx0^$k zuXfk2J#1V*E;obmdH$Q!91t~mf-@ajWTU|pUNR_Avzd6+BT8vkJ6+I;9u2wZcR$3j z@%Y2q?TU>38`|ae{VD z{FMeTgnX$O=l^d1mu-9YjJ)<=n1|4!Sreo7p-wZvRuI6$0;Uf%2tu200+3!jW7ihC z%K2Pr+{jf*BjVB^h?pKk_I7yeRW!RJrDKw%Td*A2_NF670tqMyhr>D=ghI` z32JJPb2#$0NOj$72(L@CP>ImPQ~5NTx^#Iq$6BXiL(Fu29xb}c&*RB+4s$rrTX(p* z6=y1$DLkm_qQB`3Th?USEOvt&!2l&%Dc`Z5}{FA;+6HMSVzf{Tp z-poNk%NGY{d9`)NSF(Lqr%An|boCx7fu)`Zk8nx3I9@W~swPcn%IOqkNH`ZwkTO)Z z>q&@G@gpT$q?}jY&(BAVZkUIwUqWn9j3rG(qxzXY5cRJ_mQW!>MnPzMG=OOH*NN#e z(bK#>Ley094YTc)jAAJR{zScn(yUp5PKG1c+i))h1Fzh`djX2;6TE~Be(Y}}%zl7v z-lF%}Ahrqv4}HG-E}X$0DPfMi+Nrx_{6Za?IjojS1w61lQnEp?7cf`!0G&^l%_Xd3 zR<>Gz1bk#Q#K$W6+=R*gi516VS+Zxu^5sNlz;X`G^1Ey%R5lU=){#O0=4NSolQdlUk>on6~X$}u1-?CT9T;6geCKgjR z+6gz0Dyv(3)Lb5`PwM5n#cvX1=i%hi*ojfAnl<_D4zl7RygB5+^{xMgP3 zWOIgb*f8+QAj1X;_7nRr)?}!IPa(^eM5mBm55PggUXIbWpK%R@8N= zsDGcfNT|a(GtClms*;kFR>3U7(xqYjIXv6e#Q;m!^KEhm*tAbzQ*nMYTut=afR=kf!nAoKkjp6hc`0wBFJ7LQ&iI7 zCi{5)Tl~Af4=-dB3CiePd9qadJ;-$uO=#Gz$P4dCmomEU9W~Iy+~mA?%ZYEiyL?0;^FNZ zz+}!Zg}8-X4UD5=#CcpE^cP%kJw&OVkN1r1-@kW1{k3!3!ELX_d!pSTZVBcIIpwzB z0>kpPTaByl*H7PCy>MAXgYnX z86=Lw)vYGlI<9YR!WqXtN(4{og;XIiWfrHc#8|1Cu1=7GVTuXh+|jYA^Iy$aM`#F~ zXV`|H{ct3*bmHW%Klhc`nLY@xvtLI;=R=?7iy1> zLw*XWSnZEzu*mZL+pBLsq3I#sTDfx{!^K0j?ocS%m+Z9ZUR_Geq-FCBX46Xc_3P`D z%AJ_!T2o~}SA`umc4BUFO|3zx7Ayw(AE-H9&Sk1RMr~*PlW*%6@7At<*?9PL<<5=O zk5AMde1|{*4cRbwi{9x88`&hO`xQ_pv;|ak-zJgzFWQYEt#cc(sv*#Cby~xJ;n*ccPVGYag{VQ)>VfP{-i7yMh_s$4VtmObCGhtlc~rtDiX6xbS6Y zz2>-0f0)a_Gi}39{_9K1_P-?X|1EuO{=X?tGX8RWOQuks%p~LeKR4oSKkcXew4e6V ze%ep_X+Q0!{j{I<(|+1d`)NPzr~R~__S1gaPy1;!Cyw*0`mZRr+HMKx>L>HL#k6M`z#evOU=7}# z{Q~Z(u0tx**K}1&!jkqSYy{%a!I&Fy8Vo*=uwg(*$ogMCqpEKGixhd;P{rt#;ebSKIqmZ$^fHTfc|*wCCsVSrMIJ zYGrl4-D~%U?>x13`tbV4PY;g1QFEVXfAa9`1C7O{`jd@?`LQtC;K(O~qtC3Je_F-7 zV{rWZ;OmQnm!9|1_`&M@{Omt97VmELR8sef7U(Yi@9v^WY5l_a%g>(B1+ZTs?vJ{= z_w+}^8ou}J;Mr%YWA)p!4=jz&5JyGj4iXs=-K#l`C#$;2k^w?4;OAwMJMyOD2 zAy8pBApUl&6Toy9nO72_U}@x9UBFWGcCK3nU`f8RD05?3V_X^*L3o69E2z>jmYQh+ z5HAeh0lAq8kn2W(iUcDw_GOx!+wKy}DJ|3EPa$0x1)+Qx@kH|WB8L?!gY{t}YUnG&PxXk`1D!8k2}b-#}-wv8(= zXE-(2w*aN78BY$EdK8PvT})bWVv*>2+zeuv`57}f1}p?55xLag%etAo7=Y3>Q0b

8oNPI%78aZZOLJ2%W^tz1RfAQx(cdwP_i*09V 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%0Dn!Z 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 Bpq>B# diff --git a/bin/version b/bin/version index ff419bbc..76d2829a 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.4beta3.2 +versionsh=1.9.5alpha1.2 GeoIP_v=20251205 diff --git a/version b/version index 52b3c493..cb423fd4 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.4beta3.2 +1.9.5alpha1.2 From e25be4fafc1ee037d18989f4c8cadc95b2be5609 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 18 Jan 2026 20:54:42 +0800 Subject: [PATCH 102/318] Revert "feat(content_line): add automatic line break functionality" This reverts commit 599dcdb15b7eec1ce9f7dd7459b360333f9aad3a. --- scripts/menus/tui_layout.sh | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 7c10ddba..2e6bc65b 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -14,10 +14,35 @@ FULL_EQ="======================================================================= FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " # function to print content lines -# (using cursor jump) +# (using cursor jump with auto-wrapping and color handling) content_line() { local param="${1:-}" - echo -e " ${param}\033[${TABLE_WIDTH}G||" + + # Calculate Available Text Width + local text_width=$((TABLE_WIDTH - 3)) + + # 1. Extract color codes (if present) + # Use sed to capture the leading ANSI Escape Code (\x1b is the hexadecimal representation of ESC) + # This line extracts \033[33m... from \033[33m and stores it in color_code + local color_code + color_code=$(echo -e "$param" | sed -n 's/^\(\x1b\[[0-9;]*m\).*/\1/p') + + # 2. Generate Clean Text + # Use sed to remove all ANSI color codes, retaining only plain text content + # This allows fold to accurately count characters without premature line breaks + local clean_text + clean_text=$(echo -e "$param" | sed 's/\x1b\[[0-9;]*m//g') + + if [ -z "$clean_text" ]; then + echo -e " \033[${TABLE_WIDTH}G||" + else + # 3. Insert line breaks in plain text + echo "$clean_text" | fold -s -w "$text_width" | while IFS= read -r line; do + # 4. Output Restructuring + # Force the addition of color_code to each line and append \033[0m to reset at the end + echo -e " ${color_code}${line}\033[0m\033[${TABLE_WIDTH}G||" + done + fi } # function to print sub content lines From a4d2a3d7d6d4fc5546c8a642a11d94d92be09553 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 19 Jan 2026 09:10:21 +0800 Subject: [PATCH 103/318] Update tui_layout.sh --- scripts/menus/tui_layout.sh | 161 +++++++++++++++++++++++++----------- 1 file changed, 114 insertions(+), 47 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 2e6bc65b..2b00c6bb 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -2,7 +2,6 @@ # Terminal UI layout helpers # Provides menu/table formatting utilities - # set the total width of the menu # (adjusting this number will automatically change the entire menu, including the separator lines) # note: The number represents the number of columns that appear when the "||" appears on the right @@ -14,43 +13,128 @@ FULL_EQ="======================================================================= FULL_DASH="- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - " # function to print content lines -# (using cursor jump with auto-wrapping and color handling) content_line() { - local param="${1:-}" + raw_input="$1" - # Calculate Available Text Width - local text_width=$((TABLE_WIDTH - 3)) - - # 1. Extract color codes (if present) - # Use sed to capture the leading ANSI Escape Code (\x1b is the hexadecimal representation of ESC) - # This line extracts \033[33m... from \033[33m and stores it in color_code - local color_code - color_code=$(echo -e "$param" | sed -n 's/^\(\x1b\[[0-9;]*m\).*/\1/p') - - # 2. Generate Clean Text - # Use sed to remove all ANSI color codes, retaining only plain text content - # This allows fold to accurately count characters without premature line breaks - local clean_text - clean_text=$(echo -e "$param" | sed 's/\x1b\[[0-9;]*m//g') - - if [ -z "$clean_text" ]; then - echo -e " \033[${TABLE_WIDTH}G||" - else - # 3. Insert line breaks in plain text - echo "$clean_text" | fold -s -w "$text_width" | while IFS= read -r line; do - # 4. Output Restructuring - # Force the addition of color_code to each line and append \033[0m to reset at the end - echo -e " ${color_code}${line}\033[0m\033[${TABLE_WIDTH}G||" - done + if [ -z "$raw_input" ]; then + printf " \033[%dG||\n" "$TABLE_WIDTH" + return fi + + printf '%b' "$raw_input" | awk -v table_width="$TABLE_WIDTH" ' + BEGIN { + textWidth = table_width - 3 + + currentDisplayWidth = 0 + wordWidth = 0 + currentLine = "" + wordBuffer = "" + + lastColor = "" + + ESC = sprintf("%c", 27) + } + + { + n = split($0, chars, "") + + for (i = 1; i <= n; i++) { + r = chars[i] + + if (r == ESC && i+1 <= n && chars[i+1] == "[") { + # Scan forward until "m" + ansiSeq = "" + for (j = i; j <= n; j++) { + ansiSeq = ansiSeq chars[j] + if (chars[j] == "m") { + i = j # Advance main loop + break + } + } + wordBuffer = wordBuffer ansiSeq + lastColor = ansiSeq # Remember color for wrapping + continue + } + + charWidth = 1 + if (r ~ /[^\x00-\x7F]/) { + charWidth = 2 + } + + if (r == " " || charWidth == 2) { + if (currentDisplayWidth + wordWidth + charWidth > textWidth) { + printf " %s\033[0m\033[%dG||\n", currentLine, table_width + currentLine = lastColor wordBuffer + currentDisplayWidth = wordWidth + wordBuffer = r + wordWidth = charWidth + } else { + currentLine = currentLine wordBuffer r + currentDisplayWidth += wordWidth + charWidth + wordBuffer = "" + wordWidth = 0 + } + } else { + wordBuffer = wordBuffer r + wordWidth += charWidth + + if (wordWidth > textWidth) { + printf " %s%s\033[0m\033[%dG||\n", currentLine, wordBuffer, table_width + currentLine = lastColor + currentDisplayWidth = 0 + wordBuffer = "" + wordWidth = 0 + } + } + } + } + + END { + if (wordWidth > 0) { + if (currentDisplayWidth + wordWidth > textWidth) { + printf " %s\033[0m\033[%dG||\n", currentLine, table_width + currentLine = lastColor wordBuffer + } else { + currentLine = currentLine wordBuffer + } + } + + cleanText = currentLine + gsub(/\033\[[0-9;]*m/, "", cleanText) + gsub(/^[ \t]+|[ \t]+$/, "", cleanText) + + if (cleanText != "") { + printf " %s\033[0m\033[%dG||\n", currentLine, table_width + } + } + ' } # function to print sub content lines # for printing accompanying instructions sub_content_line() { - local param="${1:-}" - echo -e " ${param}\033[${TABLE_WIDTH}G||" - content_line + param="$1" + if [ -z "$param" ]; then + printf " \033[%dG||\n" "$TABLE_WIDTH" + return + fi + content_line " $param" + printf " \033[%dG||\n" "$TABLE_WIDTH" +} + +# function to print separators +# (using string slicing) +# parameter $1: pass in "=" or "-" +separator_line() { + separatorType="$1" + lenLimit=$((TABLE_WIDTH - 1)) + outputLine="" + if [ "$separatorType" = "=" ]; then + outputLine=$(printf "%.${lenLimit}s" "$FULL_EQ") + else + outputLine=$(printf "%.${lenLimit}s" "$FULL_DASH") + fi + printf "%s||\n" "$outputLine" } # increase the spacing between the front @@ -58,20 +142,3 @@ sub_content_line() { double_line_break() { printf "\n\n" } - -# function to print separators -# (using string slicing) -# parameter $1: pass in "=" or "-" -separator_line() { - local separator_type="$1" - local output_line="" - local len=$((TABLE_WIDTH - 1)) - - if [ "$separator_type" == "=" ]; then - output_line="${FULL_EQ:0:$len}" - else - output_line="${FULL_DASH:0:$len}" - fi - - echo "${output_line}||" -} From 950afe955da4217b8e3177e01f25840e70d7d18c Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 19 Jan 2026 10:05:01 +0800 Subject: [PATCH 104/318] Update fw_filter.sh --- scripts/menus/fw_filter.sh | 370 +++++++++++++++++++------------------ 1 file changed, 193 insertions(+), 177 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 40b57bcb..737f80a9 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -221,195 +221,211 @@ set_cust_host_ipv4() { #自定义ipv4透明路由网段 ;; esac } -fw_filter_lan() { #局域网设备过滤 + +# 局域网设备过滤 +fw_filter_lan() { get_devinfo() { - dev_ip=$(cat $dhcpdir | grep " $dev " | awk '{print $3}') && [ -z "$dev_ip" ] && dev_ip=$dev - dev_mac=$(cat $dhcpdir | grep " $dev " | awk '{print $2}') && [ -z "$dev_mac" ] && dev_mac=$dev - dev_name=$(cat $dhcpdir | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name='未知设备' + dev_ip=$(cat "$dhcpdir" | grep " $dev " | awk '{print $3}') && [ -z "$dev_ip" ] && dev_ip=$dev + dev_mac=$(cat "$dhcpdir" | grep " $dev " | awk '{print $2}') && [ -z "$dev_mac" ] && dev_mac=$dev + dev_name=$(cat "$dhcpdir" | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name='未知设备' } + add_mac() { - echo "-----------------------------------------------" - echo 已添加的mac地址: - cat "$CRASHDIR"/configs/mac 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m" - cat $dhcpdir | awk '{print " "NR" "$3,$2,$4}' - echo -e "\033[0m-----------------------------------------------" - echo -e "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" - echo -e " 0 或回车 结束添加" - echo "-----------------------------------------------" - read -p "请输入对应序号或直接输入mac地址 > " num - if [ -z "$num" -o "$num" = 0 ]; then - i= - elif [ -n "$(echo $num | grep -aE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$')" ]; then - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then - echo $num | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" - fi - add_mac - elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then - macadd=$(cat $dhcpdir | awk '{print $2}' | sed -n "$num"p) - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then - echo $macadd >>"$CRASHDIR"/configs/mac - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" - fi - add_mac - else + while true; do echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - add_mac - fi - } - add_ip() { - echo "-----------------------------------------------" - echo "已添加的IP地址(段):" - cat "$CRASHDIR"/configs/ip_filter 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[33m序号 设备IP 设备名称\033[32m" - cat $dhcpdir | awk '{print " "NR" "$3,$4}' - echo -e "\033[0m-----------------------------------------------" - echo -e "手动输入时仅支持\033[32m 192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" - echo -e "不支持ipv6地址过滤,如有需求请使用mac地址过滤" - echo -e " 0 或回车 结束添加" - echo "-----------------------------------------------" - read -p "请输入对应序号或直接输入IP地址段 > " num - if [ -z "$num" -o "$num" = 0 ]; then - i= - elif [ -n "$(echo $num | grep -aE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$')" ]; then - if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then - echo $num | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" - fi - add_ip - elif [ $num -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then - ipadd=$(cat $dhcpdir | awk '{print $3}' | sed -n "$num"p) - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then - echo $ipadd >>"$CRASHDIR"/configs/ip_filter - else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" - fi - add_ip - else + echo "已添加的mac地址:" + cat "$CRASHDIR"/configs/mac 2>/dev/null echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - add_ip - fi - } - del_all() { - echo "-----------------------------------------------" - if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then - echo -e "\033[31m列表中没有需要移除的设备!\033[0m" - sleep 1 - else - echo -e "请选择需要移除的设备:\033[36m" - echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m" - i=1 - for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do - get_devinfo - echo -e " $i \033[32m$dev_ip \033[36m$dev_mac \033[32m$dev_name\033[0m" - i=$((i + 1)) - done + echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m" + cat "$dhcpdir" | awk '{print " "NR" "$3,$2,$4}' + echo -e "\033[0m-----------------------------------------------" + echo -e "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" + echo -e " 0 或回车 结束添加" echo "-----------------------------------------------" - echo -e "\033[0m 0 或回车 结束删除" - read -p "请输入需要移除的设备的对应序号 > " num - mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) - ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) - if [ -z "$num" ] || [ "$num" -le 0 ]; then - n= - elif [ $num -le $mac_filter_rows ]; then - sed -i "${num}d" "$CRASHDIR"/configs/mac - echo "-----------------------------------------------" - echo -e "\033[32m对应设备已移除!\033[0m" - del_all - elif [ $num -le $((mac_filter_rows + ip_filter_rows)) ]; then - num=$((num - mac_filter_rows)) - sed -i "${num}d" "$CRASHDIR"/configs/ip_filter - echo "-----------------------------------------------" - echo -e "\033[32m对应设备已移除!\033[0m" - del_all + read -r -p "请输入对应序号或直接输入mac地址 > " num + if [ -z "$num" ] || [ "$num" = 0 ]; then + i= + break + elif echo "$num" | grep -aEq '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$'; then + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then + echo "$num" | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" + sleep 1 + fi + elif [ "$num" -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then + macadd=$(cat "$dhcpdir" | awk '{print $2}' | sed -n "$num"p) + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then + echo "$macadd" >>"$CRASHDIR"/configs/mac + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" + sleep 1 + fi else echo "-----------------------------------------------" echo -e "\033[31m输入有误,请重新输入!\033[0m" - del_all + sleep 1 fi - fi + done } - echo "-----------------------------------------------" - [ -z "$dhcpdir" ] && [ -f /var/lib/dhcp/dhcpd.leases ] && dhcpdir='/var/lib/dhcp/dhcpd.leases' - [ -z "$dhcpdir" ] && [ -f /var/lib/dhcpd/dhcpd.leases ] && dhcpdir='/var/lib/dhcpd/dhcpd.leases' - [ -z "$dhcpdir" ] && [ -f /tmp/dhcp.leases ] && dhcpdir='/tmp/dhcp.leases' - [ -z "$dhcpdir" ] && [ -f /tmp/dnsmasq.leases ] && dhcpdir='/tmp/dnsmasq.leases' - [ -z "$dhcpdir" ] && dhcpdir='/dev/null' - [ -z "$macfilter_type" ] && macfilter_type='黑名单' - if [ "$macfilter_type" = "黑名单" ]; then - fw_filter_lan_over='白名单' - fw_filter_lan_scrip='不' - else - fw_filter_lan_over='黑名单' - fw_filter_lan_scrip='' - fi - ###### - echo -e "\033[30;47m请在此添加或移除设备\033[0m" - echo -e "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" - echo -e "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" - if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then - echo "-----------------------------------------------" - echo -e "当前已过滤设备为:\033[36m" - echo -e "\033[33m 设备mac/ip地址 设备名称\033[0m" - for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do - get_devinfo - echo -e "\033[36m$dev_mac \033[0m$dev_name" + + add_ip() { + while true; do + echo "-----------------------------------------------" + echo "已添加的IP地址(段):" + cat "$CRASHDIR"/configs/ip_filter 2>/dev/null + echo "-----------------------------------------------" + echo -e "\033[33m序号 设备IP 设备名称\033[32m" + cat "$dhcpdir" | awk '{print " "NR" "$3,$4}' + echo -e "\033[0m-----------------------------------------------" + echo -e "手动输入时仅支持\033[32m 192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" + echo -e "不支持ipv6地址过滤,如有需求请使用mac地址过滤" + echo -e " 0 或回车 结束添加" + echo "-----------------------------------------------" + read -r -p "请输入对应序号或直接输入IP地址段 > " num + if [ -z "$num" ] || [ "$num" = 0 ]; then + i= + break + elif echo "$num" | grep -aEq '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$'; then + if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then + echo "$num" | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" + sleep 1 + fi + elif [ "$num" -le "$(cat "$dhcpdir" 2>/dev/null | awk 'END{print NR}')" ]; then + ipadd=$(cat "$dhcpdir" | awk '{print $3}' | sed -n "$num"p) + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then + echo "$ipadd" >>"$CRASHDIR"/configs/ip_filter + else + echo "-----------------------------------------------" + echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" + sleep 1 + fi + else + echo "-----------------------------------------------" + echo -e "\033[31m输入有误,请重新输入!\033[0m" + sleep 1 + fi done - for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do - get_devinfo - echo -e "\033[32m$dev_ip \033[0m$dev_name" + } + + del_all() { + while true; do + echo "-----------------------------------------------" + if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then + echo -e "\033[31m列表中没有需要移除的设备!\033[0m" + sleep 1 + else + echo -e "请选择需要移除的设备:\033[36m" + echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m" + i=1 + for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do + get_devinfo + echo -e " $i \033[32m$dev_ip \033[36m$dev_mac \033[32m$dev_name\033[0m" + i=$((i + 1)) + done + echo "-----------------------------------------------" + echo -e "\033[0m 0 或回车 结束删除" + read -r -p "请输入需要移除的设备的对应序号 > " num + mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) + ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) + if [ -z "$num" ] || [ "$num" -le 0 ]; then + n= + break + elif [ "$num" -le "$mac_filter_rows" ]; then + sed -i "${num}d" "$CRASHDIR"/configs/mac + echo "-----------------------------------------------" + echo -e "\033[32m对应设备已移除!\033[0m" + sleep 1 + elif [ "$num" -le $((mac_filter_rows + ip_filter_rows)) ]; then + num=$((num - mac_filter_rows)) + sed -i "${num}d" "$CRASHDIR"/configs/ip_filter + echo "-----------------------------------------------" + echo -e "\033[32m对应设备已移除!\033[0m" + sleep 1 + else + echo "-----------------------------------------------" + echo -e "\033[31m输入有误,请重新输入!\033[0m" + sleep 1 + fi + fi done + } + + while true; do echo "-----------------------------------------------" - fi - echo -e " 1 切换为\033[33m$fw_filter_lan_over模式\033[0m" - echo -e " 2 \033[32m添加指定设备(mac地址)\033[0m" - echo -e " 3 \033[32m添加指定设备(IP地址/网段)\033[0m" - echo -e " 4 \033[36m移除指定设备\033[0m" - echo -e " 9 \033[31m清空整个列表\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - 1) - macfilter_type=$fw_filter_lan_over - setconfig macfilter_type $macfilter_type - echo "-----------------------------------------------" - echo -e "\033[32m已切换为$fw_filter_lan_type模式!\033[0m" - fw_filter_lan - ;; - 2) - add_mac - fw_filter_lan - ;; - 3) - add_ip - fw_filter_lan - ;; - 4) - del_all - fw_filter_lan - ;; - 9) - : >"$CRASHDIR"/configs/mac - : >"$CRASHDIR"/configs/ip_filter - echo "-----------------------------------------------" - echo -e "\033[31m设备列表已清空!\033[0m" - fw_filter_lan - ;; - *) - errornum - ;; - esac + [ -z "$dhcpdir" ] && [ -f /var/lib/dhcp/dhcpd.leases ] && dhcpdir='/var/lib/dhcp/dhcpd.leases' + [ -z "$dhcpdir" ] && [ -f /var/lib/dhcpd/dhcpd.leases ] && dhcpdir='/var/lib/dhcpd/dhcpd.leases' + [ -z "$dhcpdir" ] && [ -f /tmp/dhcp.leases ] && dhcpdir='/tmp/dhcp.leases' + [ -z "$dhcpdir" ] && [ -f /tmp/dnsmasq.leases ] && dhcpdir='/tmp/dnsmasq.leases' + [ -z "$dhcpdir" ] && dhcpdir='/dev/null' + [ -z "$macfilter_type" ] && macfilter_type='黑名单' + if [ "$macfilter_type" = "黑名单" ]; then + fw_filter_lan_over='白名单' + fw_filter_lan_scrip='不' + else + fw_filter_lan_over='黑名单' + fw_filter_lan_scrip='' + fi + + echo -e "\033[30;47m请在此添加或移除设备\033[0m" + echo -e "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" + echo -e "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" + if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then + echo "-----------------------------------------------" + echo -e "当前已过滤设备为:\033[36m" + echo -e "\033[33m 设备mac/ip地址 设备名称\033[0m" + for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do + get_devinfo + echo -e "\033[36m$dev_mac \033[0m$dev_name" + done + for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do + get_devinfo + echo -e "\033[32m$dev_ip \033[0m$dev_name" + done + echo "-----------------------------------------------" + fi + echo -e " 1 切换为\033[33m$fw_filter_lan_over模式\033[0m" + echo -e " 2 \033[32m添加指定设备(mac地址)\033[0m" + echo -e " 3 \033[32m添加指定设备(IP地址/网段)\033[0m" + echo -e " 4 \033[36m移除指定设备\033[0m" + echo -e " 9 \033[31m清空整个列表\033[0m" + echo -e " 0 返回上级菜单" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + macfilter_type=$fw_filter_lan_over + setconfig macfilter_type $macfilter_type + echo "-----------------------------------------------" + echo -e "\033[32m已切换为$fw_filter_lan_type模式!\033[0m" + ;; + 2) + add_mac + ;; + 3) + add_ip + ;; + 4) + del_all + ;; + 9) + : >"$CRASHDIR"/configs/mac + : >"$CRASHDIR"/configs/ip_filter + echo "-----------------------------------------------" + echo -e "\033[31m设备列表已清空!\033[0m" + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done } From 7bf661ee3de375fa3dbd96431dd849499d10c1c4 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 19 Jan 2026 13:44:56 +0800 Subject: [PATCH 105/318] refactor(set_cust_host_ipv4): replace recursion with while loop --- scripts/menus/fw_filter.sh | 80 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 737f80a9..13a2514d 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -181,45 +181,47 @@ set_common_ports() { done } -set_cust_host_ipv4() { #自定义ipv4透明路由网段 - [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" - . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip - echo "-----------------------------------------------" - echo -e "当前默认透明路由的网段为: \033[32m$host_ipv4 \033[0m" - echo -e "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" - echo "-----------------------------------------------" - echo -e " 1 移除所有自定义网段" - echo -e " 2 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应的序号或需要额外添加的网段 > " text - case "$text" in - 2) - if [ "$replace_default_host_ipv4" == "OFF" ]; then - replace_default_host_ipv4="ON" - else - replace_default_host_ipv4="OFF" - fi - setconfig replace_default_host_ipv4 "$replace_default_host_ipv4" - set_cust_host_ipv4 - ;; - 1) - unset cust_host_ipv4 - setconfig cust_host_ipv4 - set_cust_host_ipv4 - ;; - 0) ;; - *) - if [ -n "$(echo $text | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" -a -z "$(echo $cust_host_ipv4 | grep "$text")" ]; then - cust_host_ipv4="$cust_host_ipv4 $text" - setconfig cust_host_ipv4 "'$cust_host_ipv4'" - else - echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的网段地址!\033[0m" - fi - sleep 1 - set_cust_host_ipv4 - ;; - esac +# 自定义ipv4透明路由网段 +set_cust_host_ipv4() { + while true; do + [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" + . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip + echo "-----------------------------------------------" + echo -e "当前默认透明路由的网段为: \033[32m$host_ipv4 \033[0m" + echo -e "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" + echo "-----------------------------------------------" + echo -e " 1 移除所有自定义网段" + echo -e " 2 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" + echo -e " 0 返回上级菜单" + read -r -p "请输入对应的序号或需要额外添加的网段 > " text + case "$text" in + "" | 0) + break + ;; + 1) + unset cust_host_ipv4 + setconfig cust_host_ipv4 + ;; + 2) + if [ "$replace_default_host_ipv4" == "OFF" ]; then + replace_default_host_ipv4="ON" + else + replace_default_host_ipv4="OFF" + fi + setconfig replace_default_host_ipv4 "$replace_default_host_ipv4" + ;; + *) + if [ -n "$(echo "$text" | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" ] && [ -z "$(echo "$cust_host_ipv4" | grep "$text")" ]; then + cust_host_ipv4="$cust_host_ipv4 $text" + setconfig cust_host_ipv4 "'$cust_host_ipv4'" + else + echo "-----------------------------------------------" + echo -e "\033[31m请输入正确的网段地址!\033[0m" + fi + sleep 1 + ;; + esac + done } # 局域网设备过滤 From 1b3e4892a1b36196352573f62a97ff344bcfa941 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 20 Jan 2026 00:29:27 +0800 Subject: [PATCH 106/318] refactor(set_ddns): replace recursion with while loop --- scripts/menus/ddns.sh | 57 ++++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index fa89e6a2..1b2d241a 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -33,34 +33,35 @@ EOF } set_ddns() { - echo "-----------------------------------------------" - read -r -p "请输入你的域名 > " str - [ -z "$str" ] && domain="$domain" || domain="$str" - echo "-----------------------------------------------" - read -r -p "请输入用户名或邮箱 > " str - [ -z "$str" ] && username="$username" || username="$str" - echo "-----------------------------------------------" - read -r -p "请输入密码或令牌秘钥 > " str - [ -z "$str" ] && password="$password" || password="$str" - echo "-----------------------------------------------" - read -r -p "请输入检测更新间隔(单位:分钟;默认为10) > " check_interval - [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 - echo "-----------------------------------------------" - read -r -p "请输入强制更新间隔(单位:小时;默认为24) > " force_interval - [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 - echo "-----------------------------------------------" - echo -e "请核对如下信息:" - echo -e "服务商: \033[32m$service\033[0m" - echo -e "域名: \033[32m$domain\033[0m" - echo -e "用户名: \033[32m$username\033[0m" - echo -e "检测间隔: \033[32m$check_interval\033[0m" - echo "-----------------------------------------------" - read -r -p "确认添加?(1/0) > " res - if [ "$res" = 1 ]; then - add_ddns - else - set_ddns - fi + while true; do + echo "-----------------------------------------------" + read -r -p "请输入你的域名 > " str + [ -z "$str" ] && domain="$domain" || domain="$str" + echo "-----------------------------------------------" + read -r -p "请输入用户名或邮箱 > " str + [ -z "$str" ] && username="$username" || username="$str" + echo "-----------------------------------------------" + read -r -p "请输入密码或令牌秘钥 > " str + [ -z "$str" ] && password="$password" || password="$str" + echo "-----------------------------------------------" + read -r -p "请输入检测更新间隔(单位:分钟;默认为10) > " check_interval + [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 + echo "-----------------------------------------------" + read -r -p "请输入强制更新间隔(单位:小时;默认为24) > " force_interval + [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 + echo "-----------------------------------------------" + echo -e "请核对如下信息:" + echo -e "服务商: \033[32m$service\033[0m" + echo -e "域名: \033[32m$domain\033[0m" + echo -e "用户名: \033[32m$username\033[0m" + echo -e "检测间隔: \033[32m$check_interval\033[0m" + echo "-----------------------------------------------" + read -r -p "确认添加?(1/0) > " res + if [ "$res" = 1 ]; then + add_ddns + break + fi + done } set_ddns_service() { From dfaf2da1683d9e8d8f53e18747f5a681673f49df Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 20 Jan 2026 09:52:08 +0800 Subject: [PATCH 107/318] feat(9_upgrade.sh): redesign TUI --- scripts/menu.sh | 126 ++--- scripts/menus/9_upgrade.sh | 1046 +++++++++++++++++++++++------------- 2 files changed, 733 insertions(+), 439 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index bd4d704b..815f1c17 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -26,8 +26,10 @@ load_lang common load_lang menu errornum() { - echo "-----------------------------------------------" - echo -e "\033[31m$MENU_ERR_INPUT\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m$MENU_ERR_INPUT\033[0m" + separator_line "=" } checkrestart() { @@ -110,7 +112,7 @@ ckstatus() { #脚本启动前检查 echo "-----------------------------------------------" #检查新手引导 if [ -z "$userguide" ]; then - . "$CRASHDIR"/menus/userguide.sh && userguide + . "$CRASHDIR"/menus/userguide.sh && userguide setconfig userguide 1 fi #检查执行权限 @@ -120,18 +122,18 @@ ckstatus() { #脚本启动前检查 echo -e "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m " read -p "$MENU_TMP_CORE_ASK(1/0) > " res [ "$res" = 1 ] && { - zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') - . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype - . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" + zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') + . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype + . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" if [ "$?" = 0 ]; then - echo -e "\033[32m$MENU_CORE_LOADED_OK\033[0m " - switch_core + echo -e "\033[32m$MENU_CORE_LOADED_OK\033[0m " + switch_core else echo -e "\033[33m$MENU_CORE_LOADED_BAD033[0m" rm -rf /tmp/"$file" - echo -e "\033[33m$MENU_CORE_REMOVED\033[0m" + echo -e "\033[33m$MENU_CORE_REMOVED\033[0m" fi - sleep 1 + sleep 1 } echo "-----------------------------------------------" done @@ -239,64 +241,64 @@ main_menu() { } case "$1" in - "") - main_menu +"") + main_menu ;; - -t) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - $shtype -x "$CRASHDIR"/menu.sh +-t) + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + $shtype -x "$CRASHDIR"/menu.sh ;; - -s) - "$CRASHDIR"/start.sh $2 $3 $4 $5 $6 +-s) + "$CRASHDIR"/start.sh $2 $3 $4 $5 $6 ;; - -i) - . "$CRASHDIR"/init.sh 2>/dev/null +-i) + . "$CRASHDIR"/init.sh 2>/dev/null ;; - -st) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - $shtype -x "$CRASHDIR"/start.sh $2 $3 $4 $5 $6 +-st) + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + $shtype -x "$CRASHDIR"/start.sh $2 $3 $4 $5 $6 ;; - -d) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - echo -e "$MENU_TEST_RUNNING\033[32;4mt.me/ShellClash\033[0m" - $shtype "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log - $shtype -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log - echo ----------------------------------------- - cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug - if [ -s "$TMPDIR"/sh_bug ]; then - while read line; do - echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" - grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log - echo ----------------------------------------- - done <"$TMPDIR"/sh_bug - rm -rf "$TMPDIR"/sh_bug - echo -e "\033[32m$MENU_TEST_DONE_FAIL\033[0m$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" - else - echo -e "\033[32m$MENU_TEST_DONE_OK\033[0m" - rm -rf "$TMPDIR"/debug_sh.log - fi - "$CRASHDIR"/start.sh stop +-d) + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + echo -e "$MENU_TEST_RUNNING\033[32;4mt.me/ShellClash\033[0m" + $shtype "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log + $shtype -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log + echo ----------------------------------------- + cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug + if [ -s "$TMPDIR"/sh_bug ]; then + while read line; do + echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" + grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log + echo ----------------------------------------- + done <"$TMPDIR"/sh_bug + rm -rf "$TMPDIR"/sh_bug + echo -e "\033[32m$MENU_TEST_DONE_FAIL\033[0m$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" + else + echo -e "\033[32m$MENU_TEST_DONE_OK\033[0m" + rm -rf "$TMPDIR"/debug_sh.log + fi + "$CRASHDIR"/start.sh stop ;; - -u) - . "$CRASHDIR"/menus/uninstall.sh && uninstall +-u) + . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; - *) - echo ----------------------------------------- - echo "$MENU_CLI_WELCOME" - echo ----------------------------------------- - echo " -t $MENU_CLI_TEST" - echo " -h $MENU_CLI_HELP" - echo " -u $MENU_CLI_UNINSTALL" - echo " -i $MENU_CLI_INIT" - echo " -d $MENU_CLI_DEBUG" - echo ----------------------------------------- - echo " crash -s start $MENU_CLI_START" - echo " crash -s stop $MENU_CLI_STOP" - echo " $CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" - echo ----------------------------------------- - echo "$MENU_HELP_ONLINE t.me/ShellClash" - echo "$MENU_HELP_BLOG juewuy.github.io" - echo "$MENU_HELP_GITHUB github.com/juewuy/ShellCrash" - echo ----------------------------------------- +*) + echo ----------------------------------------- + echo "$MENU_CLI_WELCOME" + echo ----------------------------------------- + echo " -t $MENU_CLI_TEST" + echo " -h $MENU_CLI_HELP" + echo " -u $MENU_CLI_UNINSTALL" + echo " -i $MENU_CLI_INIT" + echo " -d $MENU_CLI_DEBUG" + echo ----------------------------------------- + echo " crash -s start $MENU_CLI_START" + echo " crash -s stop $MENU_CLI_STOP" + echo " $CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" + echo ----------------------------------------- + echo "$MENU_HELP_ONLINE t.me/ShellClash" + echo "$MENU_HELP_BLOG juewuy.github.io" + echo "$MENU_HELP_GITHUB github.com/juewuy/ShellCrash" + echo ----------------------------------------- ;; esac diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 51f290ec..8bf6c436 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -9,25 +9,27 @@ __IS_MODULE_9_UPGRADE_LOADED=1 . "$CRASHDIR"/libs/web_get_bin.sh error_down() { - echo -e "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" - echo -e "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" + content_line "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" + content_line "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" + separator_line "=" sleep 1 } # 更新/卸载功能菜单 upgrade() { - double_line_break while true; do - [ -z "$version_new" ] && checkupdate + + if [ -z "$version_new" ]; then + checkupdate + double_line_break + else + double_line_break + fi [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) - # Automatically generate '====' lines separator_line "=" - content_line "\033[30;47m更新与支持\033[0m" - - # Automatically generate '- - - ' lines separator_line "-" content_line "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" @@ -35,20 +37,20 @@ upgrade() { content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } separator_line "-" - content_line "1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" - content_line "2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" - content_line "3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" - content_line "4) 安装本地\033[35mDashboard\033[0m面板" - content_line "5) 安装/更新本地\033[33m根证书文件\033[0m" - content_line "6) 查看\033[32mPAC\033[0m自动代理配置" - content_line "7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" - content_line "8) \033[32m配置自动更新\033[0m" - content_line "9) \033[31m卸载ShellCrash\033[0m" - content_line "99) \033[36m鸣谢!\033[0m" - content_line "0) 返回上级菜单" + content_line "1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" + content_line "2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" + content_line "3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" + content_line "4) 安装本地\033[35mDashboard\033[0m面板" + content_line "5) 安装/更新本地\033[33m根证书文件\033[0m" + content_line "6) 查看\033[32mPAC\033[0m自动代理配置" + content_line "7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" + content_line "8) \033[32m配置自动更新\033[0m" + content_line "9) \033[31m卸载ShellCrash\033[0m" + content_line "a) \033[36m鸣谢!\033[0m" + content_line "0) 返回上级菜单" separator_line "=" - read -p "请输入对应数字> " num + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -63,14 +65,13 @@ upgrade() { setgeo ;; 4) - double_line_break setdb - double_line_break ;; 5) setcrt ;; 6) + double_line_break separator_line "=" content_line "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" content_line "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" @@ -86,7 +87,8 @@ upgrade() { 9) . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; - 99) + a) + double_line_break separator_line "=" content_line "感谢以下项目和作者!" separator_line "-" @@ -134,85 +136,125 @@ upgrade() { *) errornum sleep 1 - break ;; esac done } -#检查更新 +# 检查更新 checkupdate() { - echo -ne "\033[32m正在检查更新!\033[0m\r" + double_line_break + separator_line "=" + content_line "\033[32m正在检查更新......\033[0m" get_bin "$TMPDIR"/version_new version echooff [ "$?" = "0" ] && { version_new=$(cat "$TMPDIR"/version_new) get_bin "$TMPDIR"/version_new bin/version echooff + content_line "\033[32m检查更新成功\033[0m" + separator_line "=" } if [ "$?" = "0" ]; then . "$TMPDIR"/version_new 2>/dev/null else - echo -e "\033[31m检查更新失败!请尝试切换其他安装源!\033[0m" + content_line "\033[31m检查更新失败!请尝试切换其他安装源!\033[0m" + separator_line "=" setserver - [ "$checkupdate" = false ] || checkupdate + if [ "$checkupdate" != false ]; then + checkupdate + fi fi rm -rf "$TMPDIR"/version_new } -#更新脚本 +# 更新脚本 getscripts() { + double_line_break + separator_line "=" get_bin "$TMPDIR"/ShellCrash.tar.gz ShellCrash.tar.gz + if [ "$?" != "0" ]; then - echo -e "\033[33m文件下载失败!\033[0m" + content_line "\033[33m文件下载失败!\033[0m" error_down else "$CRASHDIR"/start.sh stop 2>/dev/null - #解压 - echo "-----------------------------------------------" - echo "开始解压文件!" + # 解压 + content_line "开始解压文件......" mkdir -p "$CRASHDIR" >/dev/null tar -zxf "$TMPDIR/ShellCrash.tar.gz" ${tar_para} -C "$CRASHDIR"/ if [ $? -ne 0 ]; then - echo -e "\033[33m文件解压失败!\033[0m" + content_line "\033[33m文件解压失败!\033[0m" error_down else . "$CRASHDIR"/init.sh >/dev/null - echo -e "\033[32m脚本更新成功!\033[0m" + content_line "\033[32m脚本更新成功!\033[0m" + separator_line "=" fi fi rm -rf "$TMPDIR"/ShellCrash.tar.gz exit } + setscripts() { - echo "-----------------------------------------------" - echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m" - echo -e "最新脚本版本为:\033[32m $version_new \033[0m" - echo -e "注意更新时会停止服务!" - echo "-----------------------------------------------" - read -p "是否更新脚本?[1/0] > " res - if [ "$res" = '1' ]; then - #下载更新 - getscripts - #提示 - echo "-----------------------------------------------" - echo -e "\033[32m管理脚本更新成功!\033[0m" - echo "-----------------------------------------------" - exit - fi + while true; do + double_line_break + separator_line "=" + content_line "\033[33m注意:更新时会停止服务!\033[0m" + content_line "当前脚本版本为:\033[36m$versionsh_l\033[0m" + content_line "最新脚本版本为:\033[32m$version_new\033[0m" + separator_line "-" + content_line "1) 立即更新" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + case "$res" in + "" | 0) + break + ;; + 1) + # 下载更新 + getscripts + # 提示 + double_line_break + separator_line "=" + content_line "\033[32m管理脚本更新成功!\033[0m" + separator_line "=" + exit 0 + ;; + *) + errornum + sleep 1 + ;; + esac + done } -#更新内核 -setcpucore() { #手动设置内核架构 +# 更新内核 +# 手动设置内核架构 +setcpucore() { cpucore_list="armv5 armv7 arm64 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" - echo "-----------------------------------------------" - echo -e "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" - echo -e "当前可供在线下载的处理器架构为:" - echo "$cpucore_list" | awk -F " " '{for(i=1;i<=NF;i++) {print i" "$i }}' - echo -e "不知道如何获取核心版本?请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" + content_line "不知道如何获取核心版本?\033[0m" + content_line "请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" + separator_line "-" + content_line "当前可供在线下载的处理器架构为:" + separator_line "-" + + echo "$cpucore_list" | + awk '{for(i=1;i<=NF;i++) print i") "$i}' | + while IFS= read -r line; do + content_line "$line" + done + + separator_line "=" + read -r -p "请输入对应标号> " num [ -n "$num" ] && setcpucore=$(echo "$cpucore_list" | awk '{print $"'"$num"'"}') if [ -z "$setcpucore" ]; then - echo -e "\033[31m请输入正确的处理器架构!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m请输入正确的处理器架构!\033[0m" + separator_line "=" sleep 1 cpucore="" else @@ -220,32 +262,67 @@ setcpucore() { #手动设置内核架构 setconfig cpucore "$cpucore" fi } -setcoretype() { #手动指定内核类型 - echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash - echo -e "\033[33m请确认该自定义内核的类型:\033[0m" - echo -e " 1 Clash基础内核" - echo -e " 2 Clash-Premium内核" - echo -e " 3 Mihomo(Meta)内核" - echo -e " 4 Sing-Box内核" - echo -e " 5 Sing-Box-reF1nd内核" - read -p "请输入对应数字 > " num - case "$num" in - 2) crashcore=clashpre ;; - 3) crashcore=meta ;; - 4) crashcore=singbox ;; - 5) crashcore=singboxr ;; - *) crashcore=clash ;; - esac - echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash + +# 手动指定内核类型 +setcoretype() { + while true; do + double_line_break + separator_line "=" + echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash + content_line "\033[33m请确认该自定义内核的类型:\033[0m" + separator_line "-" + content_line "1) Clash基础内核" + content_line "2) Clash-Premium内核" + content_line "3) Mihomo(Meta)内核" + content_line "4) Sing-Box内核" + content_line "5) Sing-Box-reF1nd内核" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num + case "$num" in + "" | 0) ;; + 1) + crashcore=clash + ;; + 2) + crashcore=clashpre + ;; + 3) + crashcore=meta + ;; + 4) + crashcore=singbox + ;; + 5) + crashcore=singboxr + ;; + *) + errornum + sleep 1 + continue + ;; + esac + echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash + break + done } -switch_core() { #clash与singbox内核切换 - #singbox和clash内核切换时提示是否保留文件 + +# clash与singbox内核切换 +switch_core() { + # singbox和clash内核切换时提示是否保留文件 [ "$core_new" != "$core_old" ] && { [ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns [ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns - echo -e "\033[33m已从$core_old内核切换至$core_new内核\033[0m" - echo -e "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" - read -p "是否保留相关数据库文件?(1/0) > " res + double_line_break + separator_line "=" + content_line "\033[33m已从$core_old内核切换至$core_new内核\033[0m" + content_line "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" + content_line "是否保留相关数据库文件?" + separator_line "-" + content_line "1) 保留" + content_line "0) 不保留" + separator_line "=" + read -r -p "请输入对应标号> " res [ "$res" = '0' ] && { [ "$core_old" = "clash" ] && { geodate='Country.mmdb GeoSite.dat ruleset/*.mrs ruleset/*.yaml ruleset/*.yml' @@ -273,23 +350,33 @@ getcore() { [ -z "$crashcore" ] && crashcore=meta [ -z "$cpucore" ] && check_cpucore [ "$crashcore" = unknow ] && setcoretype - echo "$crashcore" | grep -q 'singbox' && core_new=singbox || core_new=clash + if echo "$crashcore" | grep -q 'singbox'; then + core_new=singbox + else + core_new=clash + fi # 获取在线内核文件 - echo "-----------------------------------------------" - echo "正在在线获取$crashcore核心文件......" + double_line_break + separator_line "=" + content_line "正在在线获取$crashcore核心文件......" core_webget case "$?" in 0) - echo -e "\033[32m$crashcore核心下载成功!\033[0m" + content_line "\033[32m$crashcore核心下载成功!\033[0m" + separator_line "=" sleep 1 switch_core ;; 1) - echo -e "\033[31m核心文件下载失败!\033[0m" + content_line "\033[31m核心文件下载失败!\033[0m" + separator_line "=" [ -z "$custcorelink" ] && error_down ;; *) - echo -e "\033[31m核心文件下载成功但校验失败!请尝试手动指定CPU版本\033[0m" + content_line "\033[31m核心文件下载成功但校验失败\033[0m" + content_line "\033[31m请尝试手动指定CPU版本\033[0m" + separator_line "=" + sleep 1 rm -rf "${TMPDIR}"/core_new rm -rf "${TMPDIR}"/core_new.tar.gz setcpucore @@ -300,27 +387,40 @@ getcore() { checkcustcore() { [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" # 通过githubapi获取内核信息 - echo -e "\033[32m正在获取内核文件链接!\033[0m" + double_line_break + separator_line "=" + content_line "\033[32m正在获取内核文件链接......\033[0m" webget "$TMPDIR"/github_api https://api.github.com/repos/"${project}"/releases/"${api_url}" if [ "$?" = 0 ]; then release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') release_date=$(cat "$TMPDIR"/github_api | grep '"published_at":' | awk -F '"' '{print $4}') update_date=$(cat "$TMPDIR"/github_api | grep '"updated_at":' | head -n 1 | awk -F '"' '{print $4}') - [ -n "$(echo "$cpucore" | grep mips)" ] && cpu_type=mips || cpu_type=$cpucore + echo "$cpucore" | grep -q 'mips' && cpu_type=mips || cpu_type=$cpucore cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE "https://github.com/${project}/releases/download.*linux.*${cpu_type}.*\.gz\"$" | sed 's/"//' >"$TMPDIR"/core.list rm -rf "$TMPDIR"/github_api if [ -s "$TMPDIR"/core.list ]; then - echo "-----------------------------------------------" - echo -e "内核版本:\033[36m$release_tag\033[0m" - echo -e "发布时间:\033[33m$release_date\033[0m" - echo -e "更新时间:\033[32m$update_date\033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m请确认内核信息并选择:\033[0m" - cat "$TMPDIR"/core.list | grep -oE "$release_tag.*" | sed 's|.*/||' | awk '{print " "NR" "$1}' - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + separator_line "=" + + double_line_break + separator_line "=" + content_line "内核版本:\033[36m$release_tag\033[0m" + content_line "发布时间:\033[33m$release_date\033[0m" + content_line "更新时间:\033[32m$update_date\033[0m" + separator_line "-" + content_line "\033[33m请确认内核信息并选择:\033[0m" + separator_line "-" + grep -oE "$release_tag.*" "$TMPDIR/core.list" | + sed 's|.*/||' | + awk '{print NR") "$1}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in 0) return 0 @@ -340,11 +440,13 @@ checkcustcore() { ;; esac else - echo -e "\033[31m找不到可用内核,可能是作者没有编译相关CPU架构版本的内核文件!\033[0m" + content_line "\033[31m找不到可用内核,可能是作者没有编译相关CPU架构版本的内核文件!\033[0m" + separator_line "=" sleep 1 fi else - echo -e "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + content_line "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + separator_line "=" sleep 1 fi rm -rf "$TMPDIR"/core.list @@ -354,25 +456,27 @@ checkcustcore() { setcustcore() { while true; do [ -z "$cpucore" ] && check_cpucore - echo "-----------------------------------------------" - echo -e "\033[36m此处内核通常源自互联网采集,此处致谢各位开发者!\033[0m" - echo -e "\033[33m自定义内核未经过完整适配,使用出现问题请自行解决!\033[0m" - echo -e "\033[31m自定义内核已适配定时任务,但不支持小闪存模式!\033[0m" - echo -e "\033[32m如遇到网络错误请先启动ShellCrash服务!\033[0m" + double_line_break + separator_line "=" + content_line "\033[36m此处内核通常源自互联网采集,此处致谢各位开发者!\033[0m" + content_line "\033[33m自定义内核未经过完整适配,使用出现问题请自行解决!\033[0m" + content_line "\033[31m自定义内核已适配定时任务,但不支持小闪存模式!\033[0m" + content_line "\033[32m如遇到网络错误请先启动ShellCrash服务!\033[0m" [ -n "$custcore" ] && { - echo "-----------------------------------------------" - echo -e "当前内核为:\033[36m$custcore\033[0m" + content_line "当前内核为:\033[36m$custcore\033[0m" } - echo "-----------------------------------------------" - echo -e "\033[33m请选择需要使用的核心!\033[0m" - echo -e "1 \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" - echo -e "2 \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" - echo -e "3 \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" - echo -e "4 Premium-2023.08.17内核(已停止维护)" - echo -e "9 \033[33m自定义内核链接 \033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + separator_line "-" + content_line "请选择需要使用的核心:" + separator_line "-" + content_line "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" + content_line "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" + content_line "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" + content_line "4) Premium-2023.08.17内核(已停止维护)" + content_line "9) \033[33m自定义内核链接 \033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -402,32 +506,46 @@ setcustcore() { checkcustcore ;; 9) - read -p "请输入自定义内核的链接地址(必须是以.tar.gz或.gz结尾的压缩文件) > " link - [ -n "$link" ] && custcorelink="$link" - setcoretype - getcore + double_line_break + separator_line "=" + content_line "请输入自定义内核的链接地址" + content_line "(必须是以.tar.gz或.gz结尾的压缩文件)" + content_line "" + content_line "或者输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " link + if [ "$link" = 0 ]; then + continue + elif [ -n "$link" ]; then + custcorelink="$link" + setcoretype + getcore + fi ;; *) errornum sleep 1 - break ;; esac done } setziptype() { - echo "-----------------------------------------------" - echo -e "请选择内核内核分支及压缩方式:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[36m最简编译release版本,upx压缩\033[0m-不支持Gvisor,Tailscale,Wireguard,NaiveProxy" - echo -e " 2 \033[32m标准编译release版本,tar.gz压缩\033[0m-完整支持脚本全部内置功能" - echo -e " 3 \033[33m完整编译alpha版本,gz压缩\033[0m-占用可能略高,稳定性自测" - echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "请选择内核内核分支及压缩方式:\033[0m" + separator_line "-" + content_line "1) \033[36m最简编译release版本,upx压缩\033[0m" + sub_content_line "不支持Gvisor、Tailscale、Wireguard、NaiveProxy" + content_line "2) \033[32m标准编译release版本,tar.gz压缩\033[0m" + sub_content_line "完整支持脚本全部内置功能" + content_line "3) \033[33m完整编译alpha版本,gz压缩\033[0m" + sub_content_line "占用可能略高,稳定性自测" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in - 0) ;; + "" | 0) ;; 1) zip_type='upx' ;; @@ -439,6 +557,7 @@ setziptype() { ;; *) errornum + sleep 1 ;; esac setconfig zip_type "$zip_type" @@ -452,47 +571,51 @@ setcore() { [ -z "$zip_type" ] && zip_type="tar.gz" echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#; s#-linux.*$##')" - ### - echo "-----------------------------------------------" + + double_line_break + separator_line "=" [ -z "$cpucore" ] && check_cpucore - echo -e "当前内核:\033[42;30m $crashcore \033[47;30m$core_v\033[0m" - echo -e "当前系统处理器架构:\033[32m $cpucore \033[0m" - echo -e "\033[33m请选择需要使用的核心版本!\033[0m" - echo -e "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" - echo "-----------------------------------------------" - echo -e "1 \033[43;30m Mihomo \033[0m: \033[32m(原meta内核)支持全面\033[0m" - echo -e " >>\033[32m$meta_v \033[33m占用略高\033[0m" - echo -e " 说明文档: \033[36;4mhttps://wiki.metacubex.one\033[0m" - echo -e "2 \033[43;30m SingBoxR \033[0m: \033[32m支持全面\033[0m" - echo -e " >>\033[32m$singboxr_v \033[33m使用reF1nd增强分支\033[0m" - echo -e " 说明文档: \033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" + + content_line "当前内核:\033[42;30m$crashcore\033[47;30m $core_v\033[0m" + content_line "当前系统处理器架构:\033[32m$cpucore\033[0m" + content_line "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" + separator_line "-" + content_line "\033[33m请选择需要使用的核心版本:\033[0m" + separator_line "-" + content_line "1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" + sub_content_line "说明文档:\033[36;4mhttps://wiki.metacubex.one\033[0m" + + content_line "2) \033[43;30mSingBoxR\033[0m:\033[32m$singboxr_v \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" + sub_content_line "说明文档:\033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" + [ "$zip_type" = 'upx' ] && { - echo -e "3 \033[43;30m SingBox \033[0m: \033[32m占用较低\033[0m" - echo -e " >>\033[32m$singbox_v \033[33m不支持providers\033[0m" - echo -e " 说明文档: \033[36;4mhttps://sing-box.sagernet.org\033[0m" + content_line "3) \033[43;30mSingBox\033[0m:\033[32m$singbox_v \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" + sub_content_line "说明文档:\033[36;4mhttps://sing-box.sagernet.org\033[0m" } [ "$zip_type" = 'upx' ] && { - echo -e "4 \033[43;30m Clash \033[0m: \033[32m占用低\033[0m" - echo -e " >>\033[32m$clash_v \033[33m不安全,已停止维护\033[0m" - echo -e " 说明文档: \033[36;4mhttps://lancellc.gitbook.io\033[0m" + content_line "4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" + sub_content_line "说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m" } - echo "-----------------------------------------------" - echo -e "5 切换版本分支及压缩方式: \033[32m$zip_type\033[0m" - echo -e "6 \033[36m使用自定义内核\033[0m $custcore" - echo -e "7 \033[32m更新当前内核\033[0m" - echo "-----------------------------------------------" - echo "9 手动指定处理器架构" - echo "-----------------------------------------------" - echo "0 返回上级菜单" - read -p "请输入对应数字 > " num + content_line "5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" + content_line "6) \033[36m使用自定义内核\033[0m $custcore" + content_line "7) \033[32m更新当前内核\033[0m" + content_line "9) 手动指定处理器架构" + content_line "" + content_line "0 返回上级菜单" + + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) [ -d "/jffs" ] && { - echo -e "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m" - sleep 3 + double_line_break + separator_line "=" + content_line "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m" + separator_line "=" + sleep 2 } crashcore=meta custcorelink='' @@ -534,21 +657,21 @@ setcore() { *) errornum sleep 1 - break ;; esac done } -#数据库 -getgeo() { #下载Geo文件 - #生成链接 - echo "-----------------------------------------------" - echo "正在从服务器获取数据库文件......" +# 数据库 +# 下载Geo文件 +getgeo() { + # 生成链接 + double_line_break + separator_line "=" + content_line "正在从服务器获取数据库文件......" get_bin "$TMPDIR"/"${geoname}" bin/geodata/"$geotype" if [ "$?" = "1" ]; then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" + content_line "\033[31m文件下载失败!\033[0m" error_down else echo "$geoname" | grep -Eq '.mrs|.srs|.tar.gz' && { @@ -557,13 +680,19 @@ getgeo() { #下载Geo文件 } if echo "$geoname" | grep -Eq '.tar.gz'; then tar -zxf "$TMPDIR"/"${geoname}" "${tar_para}" -C "$BINDIR"/"${geofile}" >/dev/null - [ $? -ne 0 ] && echo "文件解压失败!" && rm -rf "$TMPDIR"/${geoname} && exit 1 + if [ $? -ne 0 ]; then + content_line "文件解压失败!" + separator_line "=" + sleep 1 + double_line_break + rm -rf "$TMPDIR"/${geoname} + exit 1 + fi rm -rf "$TMPDIR"/${geoname} else mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" fi - echo "-----------------------------------------------" - echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" + content_line "\033[32m$geotype数据库文件下载成功!\033[0m" geo_v="$(echo "$geotype" | awk -F "." '{print $1}')_v" setconfig "$geo_v" "$GeoIP_v" fi @@ -571,12 +700,12 @@ getgeo() { #下载Geo文件 } getcustgeo() { - echo "-----------------------------------------------" - echo "正在获取数据库文件......" + double_line_break + separator_line "=" + content_line "正在获取数据库文件......" webget "$TMPDIR"/"$geoname" "$custgeolink" if [ "$?" = "1" ]; then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" + content_line "\033[31m文件下载失败!\033[0m" error_down else echo "$geoname" | grep -Eq '.mrs|.srs' && { @@ -585,7 +714,8 @@ getcustgeo() { } mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" echo "-----------------------------------------------" - echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" + content_line "\033[32m$geotype数据库文件下载成功!\033[0m" + separator_line "=" fi sleep 1 } @@ -594,19 +724,28 @@ checkcustgeo() { while true; do [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" [ ! -s "$TMPDIR"/geo.list ] && { - echo -e "\033[32m正在查找可更新的数据库文件!\033[0m" + double_line_break + separator_line "=" + content_line "\033[32m正在查找可更新的数据库文件......\033[0m" + separator_line "=" webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url} release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|.*.mrs|.*.srs' | sed 's|.*/||' | sed 's/"//' >"$TMPDIR"/geo.list rm -rf "$TMPDIR"/github_api } if [ -s "$TMPDIR"/geo.list ]; then - echo -e "请选择需要更新的数据库文件:" - echo "-----------------------------------------------" - cat "$TMPDIR"/geo.list | awk '{print " "NR" "$1}' - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + + double_line_break + separator_line "=" + content_line "请选择需要更新的数据库文件:" + separator_line "-" + awk '{print NR") "$1}' "$TMPDIR/geo.list" | + while IFS= read -r line; do + content_line "$line" + done + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -628,11 +767,13 @@ checkcustgeo() { *) errornum sleep 1 - beak ;; esac else - echo -e "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + separator_line "=" sleep 1 fi done @@ -642,22 +783,34 @@ checkcustgeo() { setcustgeo() { while true; do rm -rf "$TMPDIR"/geo.list - echo "-----------------------------------------------" - echo -e "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" - echo -e "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" - echo -e "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" - echo -e "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" - echo -e "\033[0m请选择需要更新的数据库项目来源:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m (仅限Clash/Mihomo)" - echo -e " 2 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Clash/Mihomo)" - echo -e " 3 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限SingBox-srs)" - echo -e " 4 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Mihomo-mrs)" - echo -e " 5 \033[36;4mhttps://github.com/Loyalsoldier/geoip\033[0m (仅限Clash-GeoIP)" - echo "-----------------------------------------------" - echo -e " 9 \033[33m自定义数据库链接 \033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" + content_line "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" + content_line "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" + content_line "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" + separator_line "-" + content_line "\033[0m请选择需要更新的数据库项目来源:\033[0m" + separator_line "-" + content_line "1) \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m" + sub_content_line "(仅限Clash/Mihomo)" + + content_line "2) \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m" + sub_content_line "(仅限Clash/Mihomo)" + + content_line "3) \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m" + sub_content_line "(仅限SingBox-srs)" + + content_line "4) \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m" + sub_content_line "(仅限Mihomo-mrs)" + + content_line "5) \033[36;4mhttps://github.com/Loyalsoldier/geoip\033[0m" + sub_content_line "(仅限Clash-GeoIP)" + + content_line "9) \033[33m自定义数据库链接 \033[0m" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -688,41 +841,45 @@ setcustgeo() { checkcustgeo ;; 9) - read -p "请输入自定义数据库的链接地址 > " link + double_line_break + read -r -p "请输入自定义数据库的链接地址 > " link [ -n "$link" ] && custgeolink="$link" getgeo ;; *) errornum sleep 1 - break ;; esac done } + setgeo() { while true; do + double_line_break . $CFG_PATH >/dev/null [ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版 - echo "-----------------------------------------------" - echo -e "\033[36m请选择需要更新的Geo数据库文件:\033[0m" - echo -e "\033[36mMihomo内核和SingBox内核的数据库文件不通用\033[0m" - echo -e "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" - echo "-----------------------------------------------" - echo -e " 1 CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" - echo -e " 2 CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" - echo "-----------------------------------------------" - echo -e " 3 Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" - echo -e " 4 Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" - echo "-----------------------------------------------" - echo -e " 5 Mihomo-mrs数据库常用包(约1mb,非必要勿用)" - echo -e " 6 Singbox-srs数据库常用包(约0.8mb,非必要勿用)" - echo "-----------------------------------------------" - echo -e " 8 \033[32m自定义数据库文件\033[0m" - echo -e " 9 \033[31m清理数据库文件\033[0m" - echo " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + separator_line "=" + content_line "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m" + content_line "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" + separator_line "-" + content_line "请选择需要更新的Geo数据库文件:" + separator_line "-" + content_line "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" + content_line "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" + content_line "" + content_line "3) Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" + content_line "4) Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" + content_line "" + content_line "5) Mihomo-mrs数据库常用包(约1mb,非必要勿用)" + content_line "6) Singbox-srs数据库常用包(约0.8mb,非必要勿用)" + content_line "" + content_line "8) \033[36m自定义数据库文件\033[0m" + content_line "9) \033[31m清理数据库文件\033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -761,49 +918,74 @@ setgeo() { setcustgeo ;; 9) - echo "-----------------------------------------------" - echo -e "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" - echo -e "\033[36m清理后启动服务即可自动下载所需文件~\033[0m" - echo "-----------------------------------------------" - read -p "确认清理?[1/0] > " res - [ "$res" = '1' ] && { - for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db; do - rm -rf $CRASHDIR/$file - done - for var in Country_v cn_mini_v china_ip_list_v china_ipv6_list_v geosite_v geoip_cn_v geosite_cn_v mrs_geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v mrs_v srs_v; do - setconfig $var - done - rm -rf "$CRASHDIR"/ruleset/* - echo -e "\033[33m所有数据库文件均已清理!\033[0m" - sleep 1 - } + while true; do + double_line_break + separator_line "=" + content_line "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" + content_line "清理后启动服务即可自动下载所需文件" + separator_line "-" + content_line "1) 确认清理" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + case "$res" in + "" | 0) + break + ;; + 1) + for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db; do + rm -rf $CRASHDIR/$file + done + for var in Country_v cn_mini_v china_ip_list_v china_ipv6_list_v geosite_v geoip_cn_v geosite_cn_v mrs_geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v mrs_v srs_v; do + setconfig $var + done + rm -rf "$CRASHDIR"/ruleset/* + double_line_break + separator_line "=" + content_line "\033[33m所有数据库文件均已清理!\033[0m" + separator_line "=" + sleep 1 + break + ;; + *) + errornum + sleep 1 + ;; + esac + done ;; *) errornum sleep 1 - break ;; esac done } -#Dashboard +# Dashboard getdb() { dblink="${update_url}/" - echo "-----------------------------------------------" - echo "正在连接服务器获取安装文件…………" + double_line_break + separator_line "=" + content_line "正在连接服务器获取安装文件......" get_bin "$TMPDIR"/clashdb.tar.gz bin/dashboard/${db_type}.tar.gz if [ "$?" = "1" ]; then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" - echo "-----------------------------------------------" + content_line "\033[31m文件下载失败!\033[0m" error_down return 1 else - echo -e "\033[33m下载成功,正在解压文件!\033[0m" + content_line "\033[33m下载成功,正在解压文件......\033[0m" mkdir -p "$dbdir" >/dev/null tar -zxf "$TMPDIR/clashdb.tar.gz" "${tar_para}" -C "$dbdir" >/dev/null - [ $? -ne 0 ] && echo "文件解压失败!" && rm -rf "$TMPDIR"/clashfm.tar.gz && exit 1 + if [ $? -ne 0 ]; then + content_line "文件解压失败!" + separator_line "=" + double_line_break + sleep 1 + rm -rf "$TMPDIR"/clashfm.tar.gz + exit 1 + fi + #修改默认host和端口 if [ "$db_type" = "clashdb" -o "$db_type" = "meta_db" -o "$db_type" = "zashboard" ]; then sed -i "s/127.0.0.1/${host}/g" "$dbdir"/assets/*.js @@ -815,37 +997,49 @@ getdb() { fi #写入配置文件 setconfig hostdir "'$hostdir'" - echo "-----------------------------------------------" - echo -e "\033[32m面板安装成功!\033[36m如未生效,请使用【Ctrl+F5】强制刷新浏览器!!!\033[0m" + content_line "\033[32m面板安装成功!\033[0m" + content_line "\033[36m如未生效,请使用【Ctrl+F5】强制刷新浏览器!\033[0m" + separator_line "=" + sleep 1 rm -rf "$TMPDIR"/clashdb.tar.gz fi sleep 1 } dbdir() { - if [ -f /www/clash/CNAME -o -f "$CRASHDIR"/ui/CNAME ]; then - echo "-----------------------------------------------" - echo -e "\033[31m检测到您已经安装过本地面板了!\033[0m" - echo "-----------------------------------------------" - read -p "是否升级/覆盖安装?[1/0] > " res + double_line_break + separator_line "=" + if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then + content_line "\033[33m检测到已经安装过本地面板\033[0m" + separator_line "-" + content_line "请选择操作:" + separator_line "-" + content_line "1) 升级/覆盖安装" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then rm -rf "$BINDIR"/ui [ -f /www/clash/CNAME ] && rm -rf /www/clash && dbdir=/www/clash [ -f "$CRASHDIR"/ui/CNAME ] && rm -rf "$CRASHDIR"/ui && dbdir="$CRASHDIR"/ui getdb else - echo -e "\033[33m安装已取消!\033[0m" + double_line_break + separator_line "=" + separator_line "\033[33m安装已取消\033[0m" + separator_line "=" return 1 fi - elif [ -w /www -a -n "$(pidof nginx)" ]; then - echo "-----------------------------------------------" - echo -e "请选择面板\033[33m安装目录:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 在${CRASHDIR}/ui目录安装" - echo -e " 2 在/www/clash目录安装" - echo "-----------------------------------------------" - echo " 0 返回上级菜单" - read -p "请输入对应数字 > " num + + elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then + separator_line "请选择面板\033[33m安装目录:\033[0m" + separator_line "-" + content_line " 1) 在${CRASHDIR}/ui目录安装" + content_line " 2) 在/www/clash目录安装" + content_line "" + separator_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) return 0 @@ -875,26 +1069,29 @@ dbdir() { setdb() { while true; do - separator_line "=" - content_line "\033[36m安装 dashboard 管理面板到本地\033[0m" - content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m" - separator_line "-" + double_line_break + separator_line "=" + content_line "\033[36m安装 dashboard 管理面板到本地\033[0m" + content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m" + separator_line "-" + content_line "请选择面板安装类型:" + separator_line "-" + content_line " - - - - - - -维护中- - - - - - -" + content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" + content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" + content_line "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" + content_line "" + content_line " - - - - - -已停止维护- - - - - -" + content_line "4) 安装\033[32m基础面板\033[0m(约500kb)" + content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" + content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" + content_line "" + content_line "9) \033[31m卸载本地面板\033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" - content_line "请选择面板\033[33m安装类型:\033[0m" - content_line " - - - - - - -维护中- - - - - - -" - content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" - content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" - content_line "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" - content_line " - - - - - -已停止维护- - - - - -" - content_line "4) 安装\033[32m基础面板\033[0m(约500kb)" - content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" - content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" - content_line "" - content_line "9) 卸载\033[33m本地面板\033[0m" - content_line "0) 返回上级菜单" - separator_line "=" - - read -p "请输入对应数字 > " num + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -926,36 +1123,56 @@ setdb() { dbdir ;; 9) - read -p "确认卸载本地面板?(1/0) > " res - if [ "$res" = 1 ]; then - rm -rf /www/clash - rm -rf "$CRASHDIR"/ui - rm -rf "$BINDIR"/ui - echo "-----------------------------------------------" - echo -e "\033[31m面板已经卸载!\033[0m" - sleep 1 - fi + while true; do + double_line_break + separator_line "=" + content_line "是否卸载本地面板:" + separator_line "-" + content_line "1) 确认卸载" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + case "$res" in + "" | 0) + break + ;; + 1) + rm -rf /www/clash + rm -rf "$CRASHDIR"/ui + rm -rf "$BINDIR"/ui + + double_line_break + separator_line "=" + content_line "\033[31m面板已经卸载!\033[0m" + separator_line "=" + sleep 1 + break + ;; + *) + errornum + sleep 1 + ;; + esac + done ;; *) errornum sleep 1 - break ;; esac done } -#根证书 +# 根证书 getcrt() { - echo "-----------------------------------------------" - echo "正在连接服务器获取安装文件......" - get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt + double_line_break + separator_line "=" + content_line "正在连接服务器获取安装文件......" + get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt echooff if [ "$?" = "1" ]; then - echo "-----------------------------------------------" - echo -e "\033[31m文件下载失败!\033[0m" + content_line "\033[31m文件下载失败!\033[0m" error_down else - echo "-----------------------------------------------" [ "$systype" = 'mi_snapshot' ] && cp -f "$TMPDIR"/ca-certificates.crt "$CRASHDIR"/tools #镜像化设备特殊处理 [ -f "$openssldir"/certs ] && rm -rf "$openssldir"/certs #如果certs不是目录而是文件则删除并创建目录 mkdir -p "$openssldir"/certs @@ -965,40 +1182,67 @@ getcrt() { export CURL_CA_BUNDLE="$crtdir" echo "export CURL_CA_BUNDLE=$crtdir" >>/etc/profile fi - echo -e "\033[32m证书安装成功!\033[0m" + content_line "\033[32m证书安装成功!\033[0m" + separator_line "=" sleep 1 fi } -setcrt() { - openssldir="$(openssl version -d 2>&1 | awk -F '"' '{print $2}')" - if [ -d "$openssldir/certs/" ]; then - crtdir="$openssldir/certs/ca-certificates.crt" - else - crtdir="/etc/ssl/certs/ca-certificates.crt" - fi - if [ -n "$openssldir" ]; then - echo "-----------------------------------------------" - echo -e "\033[36m安装/更新本地根证书文件(ca-certificates.crt)\033[0m" - echo -e "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" - echo -e "\033[31m无上述问题的设备请勿使用!\033[0m" - echo "-----------------------------------------------" - [ -f "$crtdir" ] && echo -e "\033[33m检测到系统已经存在根证书文件($crtdir)了!\033[0m\n-----------------------------------------------" - read -p "是否覆盖更新?(1/0) > " res - if [ -z "$res" ]; then - errornum - elif [ "$res" = '0' ]; then - i= - elif [ "$res" = '1' ]; then - getcrt +setcrt() { + while true; do + openssldir="$(openssl version -d 2>&1 | awk -F '"' '{print $2}')" + if [ -d "$openssldir/certs/" ]; then + crtdir="$openssldir/certs/ca-certificates.crt" else - errornum + crtdir="/etc/ssl/certs/ca-certificates.crt" fi - else - echo "-----------------------------------------------" - echo -e "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" - sleep 1 - fi + + if [ -n "$openssldir" ]; then + double_line_break + separator_line "=" + content_line "安装/更新本地根证书文件(ca-certificates.crt)" + content_line "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" + content_line "\033[31m无上述问题的设备请勿使用!\033[0m" + if [ -f "$crtdir" ]; then + content_line "" + content_line "\033[33m检测到系统已经存在根证书文件:\033[0m" + content_line "\033[33m($crtdir)\033[0m" + fi + separator_line "-" + + if [ -f "$crtdir" ]; then + content_line "1) 覆盖更新" + else + content_line "1) 立即安装" + fi + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + case "$res" in + "" | 0) + break + ;; + 1) + getcrt + break + ;; + *) + errornum + sleep 1 + continue + ;; + esac + + else + double_line_break + separator_line "=" + content_line "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" + separator_line "=" + sleep 1 + break + fi + + done } # 写入配置文件 @@ -1007,13 +1251,16 @@ saveserver() { setconfig url_id "$url_id" setconfig release_type "$release_type" version_new='' - echo "-----------------------------------------------" - echo -e "\033[32m源地址切换成功!\033[0m" + double_line_break + separator_line "=" + content_line "\033[32m源地址切换成功!\033[0m" + separator_line "=" } # 安装源 setserver() { while true; do + double_line_break [ -z "$release_type" ] && release_name=未指定 [ -n "$release_type" ] && release_name="$release_type(回退)" [ "$release_type" = stable ] && release_name=稳定版 @@ -1021,21 +1268,30 @@ setserver() { [ "$release_type" = dev ] && release_name=开发版 [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" - echo "-----------------------------------------------" - echo -e "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" - echo -e "当前版本:\033[4;33m$release_name\033[0m 当前源:\033[4;32m$url_name\033[0m" - echo "-----------------------------------------------" - grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2}' - echo "-----------------------------------------------" - echo -e " a 切换至\033[32m稳定版-stable\033[0m" - echo -e " b 切换至\033[36m公测版-master\033[0m" - echo -e " c 切换至\033[33m开发版-dev\033[0m" - echo "-----------------------------------------------" - echo -e " d 自定义源地址(用于本地源或自建源)" - echo -e " e \033[31m版本回退\033[0m" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应字母或数字 > " num + separator_line "=" + content_line "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" + separator_line "-" + content_line "当前版本:\033[4;33m$release_name\033[0m" + content_line "当前源:\033[4;32m$url_name\033[0m" + separator_line "-" + + grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | + awk '{print NR") "$2}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line + content_line "a) 切换至\033[32m稳定版-stable\033[0m" + content_line "b) 切换至\033[36m公测版-master\033[0m" + content_line "c) 切换至\033[33m开发版-dev\033[0m" + content_line + content_line "d) 自定义源地址(用于本地源或自建源)" + content_line "e) \033[31m版本回退\033[0m" + content_line + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) checkupdate=false @@ -1071,60 +1327,97 @@ setserver() { saveserver ;; c) - echo "-----------------------------------------------" - echo -e "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" - echo -e "\033[36m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" - echo -e "请务必加入我们的讨论组:\033[32;4mhttps://t.me/ShellClash\033[0m" - read -p "是否依然切换到开发版?(1/0) > " res - if [ "$res" = 1 ]; then - release_type=dev - [ -z "$url_id" ] && url_id=101 - saveserver - fi + while true; do + double_line_break + separator_line "=" + content_line "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" + content_line "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" + content_line "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "-" + content_line "是否依然切换到开发版:" + separator_line "-" + content_line "1) 确认切换" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + case "$res" in + "" | 0) + break + ;; + 1) + release_type=dev + [ -z "$url_id" ] && url_id=101 + saveserver + break + ;; + *) + errornum + sleep 1 + ;; + esac + done ;; d) - echo "-----------------------------------------------" - read -p "请输入个人源路径 > " update_url - if [ -z "$update_url" ]; then - echo "-----------------------------------------------" - echo -e "\033[31m取消输入,返回上级菜单\033[0m" - else + double_line_break + separator_line "=" + content_line "请直接输入个人源路径" + content_line "" + content_line "或者输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入个人源路径> " update_url + if [ "$update_url" = 0 ]; then + continue + elif [ ! -z "$update_url" ]; then url_id='' release_type='' saveserver fi ;; e) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then - echo -ne "\033[32m正在获取版本信息!\033[0m\r" + content_line "\033[32m正在获取版本信息......\033[0m" get_bin "$TMPDIR"/release_version bin/release_version if [ "$?" = "0" ]; then - echo -e "\033[31m请选择想要回退至的稳定版版本:\033[0m" - cat "$TMPDIR"/release_version | awk '{print " "NR" "$1}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - if [ -z "$num" -o "$num" = 0 ]; then + content_line "\033[32m获取版本信息成功\033[0m" + separator_line "=" + + double_line_break + separator_line "=" + content_line "\033[31m请选择想要回退至的稳定版版本:\033[0m" + + cat "$TMPDIR"/release_version | + awk '{print NR") "$1}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line + content_line "0) 返回上级菜单" + read -r -p "请输入对应标号> " num + if [ -z "$num" ] || [ "$num" = 0 ]; then continue elif [ "$num" -le $(cat "$TMPDIR"/release_version 2>/dev/null | awk 'END{print NR}') ]; then release_type=$(cat "$TMPDIR"/release_version | awk '{print $1}' | sed -n "$num"p) update_url='' saveserver else - echo "-----------------------------------------------" errornum sleep 1 continue fi else - echo "-----------------------------------------------" - echo -e "\033[31m版本回退信息获取失败,请尝试更换其他安装源!\033[0m" + content_line "\033[31m版本回退信息获取失败,请尝试更换其他安装源!\033[0m" + separator_line "=" sleep 1 continue fi rm -rf "$TMPDIR"/release_version else - echo -e "\033[31m当前源不支持版本回退,请尝试更换其他安装源!\033[0m" + content_line "\033[31m当前源不支持版本回退\033[0m" + content_line "\033[31m请尝试更换其他安装源!\033[0m" + separator_line "=" sleep 1 continue fi @@ -1132,7 +1425,6 @@ setserver() { *) errornum sleep 1 - break ;; esac done From 83139a4936dd6e8d82f6dbb0e21a0cce2ad26f91 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 20 Jan 2026 09:52:20 +0800 Subject: [PATCH 108/318] Update 9_upgrade.sh --- scripts/menus/9_upgrade.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 8bf6c436..3fba2299 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -713,7 +713,6 @@ getcustgeo() { [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset } mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" - echo "-----------------------------------------------" content_line "\033[32m$geotype数据库文件下载成功!\033[0m" separator_line "=" fi From b39311d0a7419075b54dc2649af641899dcc073d Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Tue, 20 Jan 2026 13:52:51 +0800 Subject: [PATCH 109/318] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20bin=5Fupdate.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复面板解压失败 --- .github/workflows/bin_update.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/bin_update.yml b/.github/workflows/bin_update.yml index 835fcc2a..16c4f25c 100644 --- a/.github/workflows/bin_update.yml +++ b/.github/workflows/bin_update.yml @@ -45,7 +45,7 @@ jobs: # 确认子目录名称 subdir=$(find "$TEMP/yacd" -maxdepth 1 -type d ! -path "$TEMP/yacd" | head -n1) # 打包 - tar -zcvf "$DASH/meta_yacd.tar.gz" -C "$subdir" . > /dev/null + tar -zcvf "$DASH/meta_yacd.tar.gz" -C "$subdir" * > /dev/null ######################################## # metacubexd ######################################## @@ -55,7 +55,7 @@ jobs: # 确认子目录名称 subdir=$(find "$TEMP/xd" -maxdepth 1 -type d ! -path "$TEMP/xd" | head -n1) # 打包 - tar -zcvf "$DASH/meta_xd.tar.gz" -C "$subdir" . > /dev/null + tar -zcvf "$DASH/meta_xd.tar.gz" -C "$subdir" * > /dev/null ######################################## # zashboard ######################################## @@ -71,7 +71,7 @@ jobs: # 删除字体文件 find "$ZDIR" \( -name "*.ttf" -o -name "*.woff" -o -name "*.woff2" \) -delete echo 'board.zash.run.place' > "$ZDIR/CNAME" - tar -zcvf "$DASH/zashboard.tar.gz" -C "$ZDIR" . > /dev/null + tar -zcvf "$DASH/zashboard.tar.gz" -C "$ZDIR" * > /dev/null ######################################## # 一步清理所有临时文件(核心) ######################################## From 4f5a037cc49614bc6e18ac76bbb5a68c7c107120 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 20 Jan 2026 17:00:28 +0800 Subject: [PATCH 110/318] Update 8_tools.sh --- scripts/menus/8_tools.sh | 855 ++++++++++++++++++++++++--------------- 1 file changed, 524 insertions(+), 331 deletions(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index dad8304a..801933bb 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -8,43 +8,55 @@ __IS_MODULE_8_TOOLS_LOADED=1 . "$CRASHDIR"/libs/web_get_bin.sh stop_iptables() { - iptables -w -t nat -D PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 >/dev/null 2>&1 - ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 >/dev/null 2>&1 + iptables -w -t nat -D PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 >/dev/null 2>&1 + ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 >/dev/null 2>&1 } ssh_tools() { while true; do [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=禁止 || ssh_ol=开启 [ -z "$ssh_port" ] && ssh_port=10022 - echo "-----------------------------------------------" - echo -e "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" - echo -e "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" - echo -e " 2 \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" - echo -e " 3 \033[33m$ssh_ol\033[0m外网访问SSH" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" + content_line "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" + separator_line "-" + content_line "1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" + content_line "2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" + content_line "3) \033[33m$ssh_ol\033[0m外网访问SSH" + content_line "" + content_line "0) 返回上级菜单 \033[0m" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) - read -p "请输入端口号(1000-65535) > " num + double_line_break + read -r -p "请输入端口号(1000-65535)> " num if [ -z "$num" ]; then errornum - elif [ $num -gt 65535 -o $num -le 999 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" + elif [ "$num" -gt 65535 ] || [ "$num" -le 999 ]; then + double_line_break + separator_line "=" + content_line "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" + separator_line "=" elif [ -n "$(netstat -ntul | grep :$num)" ]; then - echo -e "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + separator_line "=" else ssh_port=$num - setconfig ssh_port $ssh_port + setconfig ssh_port "$ssh_port" sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - echo -e "\033[32m设置成功,请重新开启外网访问SSH功能!!!\033[0m" + + double_line_break + separator_line "=" + content_line "\033[32m设置成功,请重新开启外网访问SSH功能!" + separator_line "=" fi sleep 1 ;; @@ -53,18 +65,22 @@ ssh_tools() { sleep 1 ;; 3) + double_line_break if [ "$ssh_ol" = "开启" ]; then - iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 - [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 + iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 + [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 echo "iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user [ -n "$(ckcmd ip6tables)" ] && echo "ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user - echo "-----------------------------------------------" - echo -e "已开启外网访问SSH功能!" + separator_line "=" + content_line "已开启外网访问SSH功能!" + separator_line "=" else sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - echo "-----------------------------------------------" - echo -e "已禁止外网访问SSH!" + + separator_line "=" + content_line "已禁止外网访问SSH!" + separator_line "=" fi break ;; @@ -85,30 +101,31 @@ tools() { [ "$mi_mi_autoSSH" = "已配置" ] && mi_mi_autoSSH_type=32m已配置 || mi_mi_autoSSH_type=31m未配置 [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用其他工具菜单:\033[0m" - echo -e "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" - echo -e "磁盘占用/所在目录:" - du -sh "$CRASHDIR" - echo "-----------------------------------------------" - echo -e " 1 ShellCrash\033[33m测试菜单\033[0m" - echo -e " 2 ShellCrash\033[32m新手引导\033[0m" - echo -e " 3 \033[36m日志及推送工具\033[0m" - [ -f /etc/firewall.user ] && echo -e " 4 \033[32m配置\033[0m外网访问SSH" - [ -x /usr/sbin/otapredownload ] && echo -e " 5 \033[33m$mi_update\033[0m小米系统自动更新" - [ "$systype" = "mi_snapshot" ] && echo -e " 6 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" - [ "$systype" = "mi_snapshot" ] && echo -e " 8 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "\033[30;47m工具与优化\033[0m" + separator_line "-" + content_line "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" + content_line "磁盘占用/所在目录:" + content_line "$(du -sh "$CRASHDIR")" + separator_line "-" + content_line "1) ShellCrash\033[33m测试菜单\033[0m" + content_line "2) ShellCrash\033[32m新手引导\033[0m" + content_line "3) \033[36m日志及推送工具\033[0m" + [ -f /etc/firewall.user ] && content_line "4) \033[32m配置\033[0m外网访问SSH" + [ -x /usr/sbin/otapredownload ] && content_line "5) \033[33m$mi_update\033[0m小米系统自动更新" + [ "$systype" = "mi_snapshot" ] && content_line "6) 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" + [ "$systype" = "mi_snapshot" ] && content_line "8) 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) testcommand - break ;; 2) . "$CRASHDIR"/menus/userguide.sh && userguide @@ -132,8 +149,10 @@ tools() { sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root fi - echo "-----------------------------------------------" - echo -e "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" + double_line_break + separator_line "=" + content_line "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" + separator_line "=" sleep 1 fi ;; @@ -141,19 +160,24 @@ tools() { if [ "$systype" = "mi_snapshot" ]; then mi_autoSSH else - echo "不支持的设备!" + double_line_break + separator_line "=" + content_line "不支持的设备!" + separator_line "=" fi ;; 7) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ ! -f "$CRASHDIR"/tools/ShellDDNS.sh ]; then - echo -e "正在获取在线脚本……" + content_line "正在获取在线脚本......" get_bin "$TMPDIR"/ShellDDNS.sh tools/ShellDDNS.sh if [ "$?" = "0" ]; then mv -f "$TMPDIR"/ShellDDNS.sh "$CRASHDIR"/tools/ShellDDNS.sh . "$CRASHDIR"/tools/ShellDDNS.sh else - echo -e "\033[31m文件下载失败!\033[0m" + content_line "\033[31m文件下载失败!\033[0m" + separator_line "=" fi else . "$CRASHDIR"/tools/ShellDDNS.sh @@ -161,48 +185,70 @@ tools() { sleep 1 ;; 8) + double_line_break + separator_line "=" if [ -f "$CRASHDIR"/tools/tun.ko ]; then - read -p "是否禁用此功能并移除相关补丁?(1/0) > " res + content_line "是否禁用此功能并移除相关补丁:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res [ "$res" = 1 ] && { rm -rf "$CRASHDIR"/tools/tun.ko - echo -e "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" + double_line_break + separator_line "=" + content_line "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" + separator_line "=" } elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then - echo -e "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" - echo -e "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" - sleep 1 - read -p "我已知晓,出现问题会自行承担!(1/0) > " res + content_line "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" + content_line "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" + separator_line "-" + content_line "1) 我已知晓,出现问题会自行承担!" + content_line "0) 返回上级菜单" + eparator_line "=" + read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then - echo "-----------------------------------------------" - echo "正在连接服务器获取Tun模块补丁文件…………" + double_line_break + eparator_line "=" + content_line "正在连接服务器获取Tun模块补丁文件......" get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko if [ "$?" = "0" ]; then mv -f "$TMPDIR"/tun.ko "$CRASHDIR"/tools/tun.ko && /data/shellcrash_init.sh tunfix && - echo -e "\033[32m设置成功!请重启服务!\033[0m" + content_line "\033[32m设置成功!请重启服务!\033[0m" else - echo -e "\033[31m文件下载失败,请重试!\033[0m" + content_line "\033[31m文件下载失败,请重试!\033[0m" fi + eparator_line "=" + else + continue fi else - echo -e "\033[31m当前设备无需设置,请勿尝试!\033[0m" + content_line "\033[31m当前设备无需设置,请勿尝试!\033[0m" + separator_line "=" sleep 1 fi ;; *) errornum sleep 1 - break ;; esac done } mi_autoSSH() { - echo "-----------------------------------------------" - echo -e "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m" - echo -e "\033[33m如有问题请加群反馈:\033[36;4mhttps://t.me/ShellClash\033[0m" - read -p "请输入需要还原的SSH密码(不影响当前密码,回车可跳过) > " mi_mi_autoSSH_pwd + double_line_break + separator_line "=" + content_line "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m" + content_line "\033[33m如有问题请加群反馈:\033[36;4mhttps://t.me/ShellClash\033[0m" + content_line "" + content_line "请输入需要还原的SSH密码(不影响当前密码)" + content_line "(回车可跳过)" + separator_line "=" + read -r -p "请输入> " mi_mi_autoSSH_pwd mi_mi_autoSSH=已配置 cp -f /etc/dropbear/dropbear_rsa_host_key "$CRASHDIR"/configs/dropbear_rsa_host_key 2>/dev/null cp -f /etc/dropbear/authorized_keys "$CRASHDIR"/configs/authorized_keys 2>/dev/null @@ -213,9 +259,12 @@ mi_autoSSH() { nvram set boot_wait=on nvram commit } - echo -e "\033[32m设置成功!\033[0m" + double_line_break + separator_line "=" + content_line "\033[32m设置成功!\033[0m" + separator_line "=" setconfig mi_mi_autoSSH $mi_mi_autoSSH - setconfig mi_mi_autoSSH_pwd $mi_mi_autoSSH_pwd + setconfig mi_mi_autoSSH_pwd "$mi_mi_autoSSH_pwd" sleep 1 } @@ -231,47 +280,59 @@ log_pusher() { [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 - echo "-----------------------------------------------" - echo -e " 1 Telegram推送 ——\033[$stat_TG\033[0m" - echo -e " 2 PushDeer推送 ——\033[$stat_Deer\033[0m" - echo -e " 3 Bark推送-IOS ——\033[$stat_bark\033[0m" - echo -e " 4 Passover推送 ——\033[$stat_Po\033[0m" - echo -e " 5 PushPlus推送 ——\033[$stat_PP\033[0m" - echo -e " 6 SynoChat推送 ——\033[$stat_SynoChat\033[0m" - echo -e " 7 Gotify推送 ——\033[$stat_Gotify\033[0m" - echo "-----------------------------------------------" - echo -e " a 查看\033[36m运行日志\033[0m" - echo -e " b 推送任务日志 ——\033[$stat_task\033[0m" - echo -e " c 设置设备名称 ——\033[$device_s\033[0m" - echo -e " d 清空日志文件" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "1) Telegram推送 ——\033[$stat_TG\033[0m" + content_line "2) PushDeer推送 ——\033[$stat_Deer\033[0m" + content_line "3) Bark推送-IOS ——\033[$stat_bark\033[0m" + content_line "4) Passover推送 ——\033[$stat_Po\033[0m" + content_line "5) PushPlus推送 ——\033[$stat_PP\033[0m" + content_line "6) SynoChat推送 ——\033[$stat_SynoChat\033[0m" + content_line "7) Gotify推送 ——\033[$stat_Gotify\033[0m" + content_line "" + content_line "a) 查看\033[36m运行日志\033[0m" + content_line "b) 推送任务日志 ——\033[$stat_task\033[0m" + content_line "c) 设置设备名称 ——\033[$device_s\033[0m" + content_line "d) 清空日志文件" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$push_TG" ]; then - read -p "确认关闭TG日志推送?(1/0) > " res - [ "$res" = 1 ] && { + content_line "是否确认关闭TG日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then push_TG= chat_ID= setconfig push_TG setconfig chat_ID - } + else + continue + fi else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" . "$CRASHDIR"/menus/bot_tg_bind.sh chose_bot() { - echo "-----------------------------------------------" - echo -e " 1 使用公共机器人 ——不依赖内核服务" - echo -e " 2 使用私人机器人 ——需要额外申请" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case $num in + content_line "1) 使用公共机器人 ——不依赖内核服务" + content_line "2) 使用私人机器人 ——需要额外申请" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num + case "$num" in + 0) + return 0 + ;; 1) public_bot set_bot && tg_push_token || chose_bot @@ -287,210 +348,320 @@ log_pusher() { } chose_bot fi - sleep 1 ;; 2) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$push_Deer" ]; then - read -p "确认关闭PushDeer日志推送?(1/0) > " res - [ "$res" = 1 ] && { + content_line "是否确认关闭PushDeer日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then push_Deer= setconfig push_Deer - } + else + continue + fi else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" - echo -e "打开快应用/APP,并完成登陆" - echo -e "\033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" - echo -e "\033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" - echo "-----------------------------------------------" - read -p "请输入你复制的秘钥 > " url - if [ -n "$url" ]; then + # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + content_line "1. 请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" + content_line "2. 打开快应用/APP,并完成登陆" + content_line "3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" + content_line "4. \033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" + separator_line "-" + content_line "请直接输入你复制的秘钥" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " url + if [ "$url" = 0 ]; then + continue + elif [ -n "$url" ]; then push_Deer=$url - setconfig push_Deer $url + setconfig push_Deer "$url" logger "已完成PushDeer日志推送设置!" 32 else - echo -e "\033[31m输入错误,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi sleep 1 fi ;; 3) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$push_bark" ]; then - read -p "确认关闭Bark日志推送?(1/0) > " res - [ "$res" = 1 ] && { + content_line "是否确认关闭Bark日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + + if [ "$res" = 1 ]; then push_bark= bark_param= setconfig push_bark setconfig bark_param - } + else + continue + fi else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" - echo -e "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的Bark推送链接 > " url - if [ -n "$url" ]; then + # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + content_line "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" + content_line "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" + separator_line "-" + content_line "请直接输入你的Bark推送链接" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " url + if [ "$url" = 0 ]; then + continue + elif [ -n "$url" ]; then push_bark=$url - setconfig push_bark $url + setconfig push_bark "$url" logger "已完成Bark日志推送设置!" 32 else - echo -e "\033[31m输入错误,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi sleep 1 fi ;; 4) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$push_Po" ]; then - read -p "确认关闭Pushover日志推送?(1/0) > " res - [ "$res" = 1 ] && { + content_line "是否确认关闭Pushover日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + + if [ "$res" = 1 ]; then push_Po= push_Po_key= setconfig push_Po setconfig push_Po_key - } + else + continue + fi else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的User Key > " key - if [ -n "$key" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m请检查注册邮箱,完成账户验证\033[0m" - read -p "我已经验证完成(1/0) > " - echo "-----------------------------------------------" - echo -e "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的API Token > " Token + # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + content_line "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" + content_line "" + content_line "请直接请输入你的User Key" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " key + if [ "$key" = 0 ]; then + continue + elif [ -n "$key" ]; then + double_line_break + separator_line "=" + content_line "\033[33m请检查注册邮箱,完成账户验证\033[0m" + read -r -p "我已经验证完成(1/0)> " + separator_line "=" + + double_line_break + separator_line "=" + content_line "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" + separator_line "=" + read -r -p "请输入你的API Token> " Token if [ -n "$Token" ]; then push_Po=$Token push_Po_key=$key - setconfig push_Po $Token - setconfig push_Po_key $key + setconfig push_Po "$Token" + setconfig push_Po_key "$key" logger "已完成Passover日志推送设置!" 32 else - echo -e "\033[31m输入错误,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi else - echo -e "\033[31m输入错误,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi + sleep 1 fi - sleep 1 ;; 5) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$push_PP" ]; then - read -p "确认关闭PushPlus日志推送?(1/0) > " res - [ "$res" = 1 ] && { + content_line "是否确认关闭PushPlus日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then push_PP= setconfig push_PP - } + else + continue + fi else - #echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - echo -e "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" - echo "-----------------------------------------------" - read -p "请输入你的token > " Token - if [ -n "$Token" ]; then + # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + content_line "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" + separator_line "-" + content_line "请直接输入你的token" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " Token + if [ "$Token" = 0 ]; then + continue + elif [ -n "$Token" ]; then push_PP=$Token - setconfig push_PP $Token + setconfig push_PP "$Token" logger "已完成PushPlus日志推送设置!" 32 else - echo -e "\033[31m输入错误,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi + sleep 1 fi - sleep 1 ;; 6) - echo "-----------------------------------------------" + double_line_break if [ -n "$push_SynoChat" ]; then - read -p "确认关闭SynoChat日志推送?(1/0) > " res - [ "$res" = 1 ] && { + separator_line "=" + content_line "是否确认关闭SynoChat日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then push_SynoChat= setconfig push_SynoChat - } + else + continue + fi else - echo "-----------------------------------------------" - read -p "请输入你的Synology DSM主页地址 > " URL - echo "-----------------------------------------------" - read -p "请输入你的Synology Chat Token > " TOKEN - echo "-----------------------------------------------" - echo -e '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' - echo "-----------------------------------------------" - read -p "请输入你的user_id > " USERID + read -r -p "请输入你的Synology DSM主页地址> " URL + double_line_break + + read -r -p "请输入你的Synology Chat Token> " TOKEN + + double_line_break + separator_line "=" + content_line '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' + separator_line "=" + read -r -p "请输入你的user_id> " USERID if [ -n "$URL" ]; then push_SynoChat=$USERID - setconfig push_SynoChat $USERID - setconfig push_ChatURL $URL - setconfig push_ChatTOKEN $TOKEN - setconfig push_ChatUSERID $USERID + setconfig push_SynoChat "$USERID" + setconfig push_ChatURL "$URL" + setconfig push_ChatTOKEN "$TOKEN" + setconfig push_ChatUSERID "$USERID" logger "已完成SynoChat日志推送设置!" 32 else - echo -e "\033[31m输入错误,请重新输入!\033[0m" setconfig push_ChatURL setconfig push_ChatTOKEN setconfig push_ChatUSERID push_SynoChat= setconfig push_SynoChat + + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi + sleep 1 fi - sleep 1 ;; # 在menu.sh的case $num in代码块中添加 7) - echo "-----------------------------------------------" + double_line_break + separator_line "=" if [ -n "$push_Gotify" ]; then - read -p "确认关闭Gotify日志推送?(1/0) > " res - [ "$res" = 1 ] && { + content_line "是否确认关闭Gotify日志推送:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then push_Gotify= setconfig push_Gotify - } + else + continue + fi else - echo -e "请先通过Gotify服务器获取推送URL" - echo -e "格式示例: https://gotify.example.com/message?token=你的应用令牌" - echo "-----------------------------------------------" - read -p "请输入你的Gotify推送URL > " url - if [ -n "$url" ]; then + content_line "请先通过Gotify服务器获取推送URL" + content_line "格式示例: https://gotify.example.com/message?token=你的应用令牌" + content_line "" + content_line "请直接你的Gotify推送URL" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " url + if [ "$url" = 0 ]; then + continue + elif [ -n "$url" ]; then push_Gotify=$url setconfig push_Gotify "$url" logger "已完成Gotify日志推送设置!" 32 else - echo -e "\033[31m输入错误,请重新输入!\033[0m" + double_line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" fi + sleep 1 fi - sleep 1 ;; a) + double_line_break if [ -s "$TMPDIR"/ShellCrash.log ]; then - echo "-----------------------------------------------" cat "$TMPDIR"/ShellCrash.log - exit 0 else - echo -e "\033[31m未找到相关日志!\033[0m" + separator_line "=" + content_line "\033[31m未找到相关日志!\033[0m" + separator_line "=" fi sleep 1 - break ;; b) [ "$task_push" = 1 ] && task_push='' || task_push=1 - setconfig task_push $task_push + setconfig task_push "$task_push" sleep 1 ;; c) - read -p "请输入本设备自定义推送名称 > " device_name - setconfig device_name $device_name - sleep 1 + double_line_break + separator_line "=" + content_line "请直接输入本设备自定义推送名称" + content_line "或直接回车确认返回上级菜单" + separator_line "=" + read -r -p "请输入> " device_name + if [ -n "$device_name" ]; then + setconfig device_name "$device_name" + fi ;; d) - echo -e "\033[33m运行日志及任务日志均已清空!\033[0m" rm -rf "$TMPDIR"/ShellCrash.log + double_line_break + separator_line "=" + content_line "\033[33m运行日志及任务日志均已清空!\033[0m" + separator_line "=" sleep 1 ;; *) errornum sleep 1 - break ;; esac done @@ -498,143 +669,152 @@ log_pusher() { # 测试菜单 testcommand() { - echo "-----------------------------------------------" - echo -e "\033[30;47m这里是测试命令菜单\033[0m" - echo -e "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" - echo "-----------------------------------------------" - echo " 1 Debug模式运行内核" - echo " 2 查看系统DNS端口(:53)占用 " - echo " 3 测试ssl加密(aes-128-gcm)跑分" - echo " 4 查看ShellCrash相关路由规则" - echo " 5 查看内核配置文件前40行" - echo " 6 测试代理服务器连通性(google.tw)" - echo "-----------------------------------------------" - echo " 0 返回上级目录!" - read -p "请输入对应数字 > " num - case "$num" in - 0) - main_menu - ;; - 1) - debug - testcommand - ;; - 2) - echo "-----------------------------------------------" - netstat -ntulp | grep 53 - echo "-----------------------------------------------" - echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" - exit - ;; - 3) - echo "-----------------------------------------------" - openssl speed -multi 4 -evp aes-128-gcm - echo "-----------------------------------------------" - exit - ;; - 4) - if [ "$firewall_mod" = "nftables" ]; then - nft list table inet shellcrash | sed '/set cn_ip {/,/}/d;/set cn_ip6 {/,/}/d;/^[[:space:]]*}/d' - else - [ "$firewall_area" = 1 -o "$firewall_area" = 3 -o "$firewall_area" = 5 -o "$vm_redir" = "ON" ] && { - echo "----------------Redir+DNS---------------------" - iptables -t nat -L PREROUTING --line-numbers - iptables -t nat -L shellcrash_dns --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && iptables -t nat -L shellcrash --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Tproxy|Mix|Tun')" ] && { - echo "----------------Tun/Tproxy-------------------" - iptables -t mangle -L PREROUTING --line-numbers - iptables -t mangle -L shellcrash_mark --line-numbers - } - } - [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && { - echo "-------------OUTPUT-Redir+DNS----------------" - iptables -t nat -L OUTPUT --line-numbers - iptables -t nat -L shellcrash_dns_out --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && iptables -t nat -L shellcrash_out --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Tproxy|Mix|Tun')" ] && { - echo "------------OUTPUT-Tun/Tproxy---------------" - iptables -t mangle -L OUTPUT --line-numbers - iptables -t mangle -L shellcrash_mark_out --line-numbers - } - } - [ "$ipv6_redir" = "ON" ] && { - [ "$firewall_area" = 1 -o "$firewall_area" = 3 ] && { - ip6tables -t nat -L >/dev/null 2>&1 && { - echo "-------------IPV6-Redir+DNS-------------------" - ip6tables -t nat -L PREROUTING --line-numbers - ip6tables -t nat -L shellcrashv6_dns --line-numbers - [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && ip6tables -t nat -L shellcrashv6 --line-numbers - } - [ -n "$(echo $redir_mod | grep -E 'Tproxy|Mix|Tun')" ] && { - echo "-------------IPV6-Tun/Tproxy------------------" - ip6tables -t mangle -L PREROUTING --line-numbers - ip6tables -t mangle -L shellcrashv6_mark --line-numbers + while true; do + double_line_break + separator_line "=" + content_line "\033[30;47m这里是测试命令菜单\033[0m" + content_line "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" + separator_line "-" + content_line "1) Debug模式运行内核" + content_line "2) 查看系统DNS端口(:53)占用 " + content_line "3) 测试ssl加密(aes-128-gcm)跑分" + content_line "4) 查看ShellCrash相关路由规则" + content_line "5) 查看内核配置文件前40行" + content_line "6) 测试代理服务器连通性(google.tw)" + content_line "" + content_line "0) 返回上级目录" + separator_line "=" + read -r -p "请输入对应数字> " num + case "$num" in + 0) + break + ;; + 1) + debug + testcommand + ;; + 2) + double_line_break + netstat -ntulp | grep 53 + separator_line "=" + content_line "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" + separator_line "=" + double_line_break + ;; + 3) + double_line_break + openssl speed -multi 4 -evp aes-128-gcm + double_line_break + ;; + 4) + double_line_break + if [ "$firewall_mod" = "nftables" ]; then + nft list table inet shellcrash | sed '/set cn_ip {/,/}/d;/set cn_ip6 {/,/}/d;/^[[:space:]]*}/d' + else + [ "$firewall_area" = 1 -o "$firewall_area" = 3 -o "$firewall_area" = 5 -o "$vm_redir" = "ON" ] && { + echo "----------------Redir+DNS---------------------" + iptables -t nat -L PREROUTING --line-numbers + iptables -t nat -L shellcrash_dns --line-numbers + [ -n "$(echo $redir_mod | grep -E 'Redir|Mix')" ] && iptables -t nat -L shellcrash --line-numbers + [ -n "$(echo "$redir_mod" | grep -E 'Tproxy|Mix|Tun')" ] && { + echo "----------------Tun/Tproxy-------------------" + iptables -t mangle -L PREROUTING --line-numbers + iptables -t mangle -L shellcrash_mark --line-numbers } } - } - [ "$vm_redir" = "ON" ] && { - echo "-------------vm-Redir-------------------" - iptables -t nat -L shellcrash_vm --line-numbers - iptables -t nat -L shellcrash_vm_dns --line-numbers - } - echo "----------------本机防火墙---------------------" - iptables -L INPUT --line-numbers - fi - exit - ;; - 5) - echo "$crashcore" | grep -q 'singbox' && config_path="$CRASHDIR"/jsons/config.json || config_path="$CRASHDIR"/yamls/config.yaml - echo "-----------------------------------------------" - sed -n '1,40p' "$config_path" - echo "-----------------------------------------------" - exit - ;; - 6) - echo "注意:依赖curl(不支持wget),且测试结果不保证一定准确!" - delay=$( - curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & - { - sleep 3 - kill $! >/dev/null 2>&1 & - } - ) >/dev/null 2>&1 - delay=$(echo | awk "{print $delay*1000}") >/dev/null 2>&1 - echo "-----------------------------------------------" - if [ $(echo ${#delay}) -gt 1 ]; then - echo -e "\033[32m连接成功!响应时间为:"$delay" ms\033[0m" - else - echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m" - fi - main_menu - ;; - *) - errornum - main_menu - ;; - esac + [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && { + echo "-------------OUTPUT-Redir+DNS----------------" + iptables -t nat -L OUTPUT --line-numbers + iptables -t nat -L shellcrash_dns_out --line-numbers + [ -n "$(echo "$redir_mod" | grep -E 'Redir|Mix')" ] && iptables -t nat -L shellcrash_out --line-numbers + [ -n "$(echo "$redir_mod" | grep -E 'Tproxy|Mix|Tun')" ] && { + echo "------------OUTPUT-Tun/Tproxy---------------" + iptables -t mangle -L OUTPUT --line-numbers + iptables -t mangle -L shellcrash_mark_out --line-numbers + } + } + [ "$ipv6_redir" = "ON" ] && { + [ "$firewall_area" = 1 -o "$firewall_area" = 3 ] && { + ip6tables -t nat -L >/dev/null 2>&1 && { + echo "-------------IPV6-Redir+DNS-------------------" + ip6tables -t nat -L PREROUTING --line-numbers + ip6tables -t nat -L shellcrashv6_dns --line-numbers + [ -n "$(echo "$redir_mod" | grep -E 'Redir|Mix')" ] && ip6tables -t nat -L shellcrashv6 --line-numbers + } + [ -n "$(echo "$redir_mod" | grep -E 'Tproxy|Mix|Tun')" ] && { + echo "-------------IPV6-Tun/Tproxy------------------" + ip6tables -t mangle -L PREROUTING --line-numbers + ip6tables -t mangle -L shellcrashv6_mark --line-numbers + } + } + } + [ "$vm_redir" = "ON" ] && { + echo "-------------vm-Redir-------------------" + iptables -t nat -L shellcrash_vm --line-numbers + iptables -t nat -L shellcrash_vm_dns --line-numbers + } + echo "----------------本机防火墙---------------------" + iptables -L INPUT --line-numbers + fi + double_line_break + ;; + 5) + echo "$crashcore" | grep -q 'singbox' && config_path="$CRASHDIR"/jsons/config.json || config_path="$CRASHDIR"/yamls/config.yaml + double_line_break + sed -n '1,40p' "$config_path" + double_line_break + ;; + 6) + double_line_break + separator_line "=" + content_line "\033[33m注意:依赖curl(不支持wget),且测试结果不保证一定准确!\033[0m" + separator_line "=" + delay=$( + curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & + { + sleep 3 + kill $! >/dev/null 2>&1 & + } + ) >/dev/null 2>&1 + delay=$(echo | awk "{print $delay*1000}") >/dev/null 2>&1 + double_line_break + separator_line "=" + if [ $(echo ${#delay}) -gt 1 ]; then + content_line "\033[32m连接成功!响应时间为:"$delay" ms\033[0m" + else + content_line "\033[31m连接超时!请重试或检查节点配置!\033[0m" + fi + separator_line "=" + ;; + *) + errornum + ;; + esac + done } debug() { echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml - echo "-----------------------------------------------" - echo -e "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" - echo -e "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" - echo -e "如长时间运行后台监测,日志等级推荐error!防止文件过大!" - echo -e "你也可以通过:\033[33mcrash -s debug 'warning'\033[0m 命令使用其他日志等级" - echo "-----------------------------------------------" - echo -e " 1 仅测试\033[32m$config_tmp\033[0m配置文件可用性" - echo -e " 2 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" - echo -e " 3 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" - echo -e " 4 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" - echo -e " 5 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" - echo -e " 6 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" - echo "-----------------------------------------------" - echo -e " 8 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" - [ -s "$TMPDIR"/jsons/inbounds.json ] && echo -e " 9 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" - echo "-----------------------------------------------" - echo " 0 返回上级目录!" - read -p "请输入对应数字 > " num + double_line_break + separator_line "=" + content_line "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" + content_line "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" + content_line "如长时间运行后台监测,日志等级推荐error!防止文件过大!" + content_line "你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" + separator_line "-" + content_line "1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" + content_line "2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" + content_line "3) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" + content_line "4) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" + content_line "5) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" + content_line "6) 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" + content_line "" + content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" + [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line " 9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" + content_line "" + content_line "0) 返回上级目录" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in 0) ;; 1) @@ -651,7 +831,7 @@ debug() { "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml fi rm -rf "$TMPDIR"/CrashCore - echo "-----------------------------------------------" + double_line_break exit ;; 2) @@ -659,7 +839,7 @@ debug() { "$CRASHDIR"/start.sh bfstart $COMMAND rm -rf "$TMPDIR"/CrashCore - echo "-----------------------------------------------" + double_line_break exit ;; 3) @@ -675,9 +855,19 @@ debug() { main_menu ;; 6) - echo -e "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" - read -p "是否继续?(1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR"/start.sh debug debug flash + double_line_break + separator_line "=" + content_line "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" + separator_line "-" + content_line "是否继续:" + separator_line "-" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then + "$CRASHDIR"/start.sh debug debug flash + fi main_menu ;; 8) @@ -685,7 +875,10 @@ debug() { main_menu ;; 9) - . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && echo -e "\033[32m合并成功!\033[0m" + . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && double_line_break + separator_line "=" + content_line"\033[32m合并成功!\033[0m" + separator_line "=" [ "$TMPDIR" = "$BINDIR" ] && rm -rf "$TMPDIR"/CrashCore main_menu ;; From ce4953ba7540d1e28b5ba6c8416332c28cd24137 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 18:17:09 +0800 Subject: [PATCH 111/318] =?UTF-8?q?=E8=B0=83=E6=95=B4Action?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bin_update.yml | 6 +++--- .github/workflows/core_auto_update.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/bin_update.yml b/.github/workflows/bin_update.yml index 16c4f25c..835fcc2a 100644 --- a/.github/workflows/bin_update.yml +++ b/.github/workflows/bin_update.yml @@ -45,7 +45,7 @@ jobs: # 确认子目录名称 subdir=$(find "$TEMP/yacd" -maxdepth 1 -type d ! -path "$TEMP/yacd" | head -n1) # 打包 - tar -zcvf "$DASH/meta_yacd.tar.gz" -C "$subdir" * > /dev/null + tar -zcvf "$DASH/meta_yacd.tar.gz" -C "$subdir" . > /dev/null ######################################## # metacubexd ######################################## @@ -55,7 +55,7 @@ jobs: # 确认子目录名称 subdir=$(find "$TEMP/xd" -maxdepth 1 -type d ! -path "$TEMP/xd" | head -n1) # 打包 - tar -zcvf "$DASH/meta_xd.tar.gz" -C "$subdir" * > /dev/null + tar -zcvf "$DASH/meta_xd.tar.gz" -C "$subdir" . > /dev/null ######################################## # zashboard ######################################## @@ -71,7 +71,7 @@ jobs: # 删除字体文件 find "$ZDIR" \( -name "*.ttf" -o -name "*.woff" -o -name "*.woff2" \) -delete echo 'board.zash.run.place' > "$ZDIR/CNAME" - tar -zcvf "$DASH/zashboard.tar.gz" -C "$ZDIR" * > /dev/null + tar -zcvf "$DASH/zashboard.tar.gz" -C "$ZDIR" . > /dev/null ######################################## # 一步清理所有临时文件(核心) ######################################## diff --git a/.github/workflows/core_auto_update.yml b/.github/workflows/core_auto_update.yml index 9e02541a..b3fa54a5 100644 --- a/.github/workflows/core_auto_update.yml +++ b/.github/workflows/core_auto_update.yml @@ -2,7 +2,7 @@ name: core_auto_update on: schedule: - - cron: 0 18 * * * + - cron: 0 18 */3 * * workflow_dispatch: jobs: From 7336e733548666e9c53423e53da66fda9f233b98 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 18:43:40 +0800 Subject: [PATCH 112/318] =?UTF-8?q?=E5=B7=B2=E6=B7=BB=E5=8A=A0=20=20=20=20?= =?UTF-8?q?=20=20=20=20.github/workflows/core=5Feasy=5Fupdate.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/core_easy_update.yaml | 85 +++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 .github/workflows/core_easy_update.yaml diff --git a/.github/workflows/core_easy_update.yaml b/.github/workflows/core_easy_update.yaml new file mode 100644 index 00000000..8df4e888 --- /dev/null +++ b/.github/workflows/core_easy_update.yaml @@ -0,0 +1,85 @@ +name: core_easy_update + +on: + workflow_dispatch: + inputs: + tag1: + description: 'meta or singbox or singboxr' + required: true + type: string + +jobs: + get_meta_version: + runs-on: ubuntu-latest + outputs: + meta_version: ${{ steps.meta.outputs.version }} + steps: + - id: meta + run: | + # 访问 GitHub API 获取最新 Release 的 Tag 名 + latest_tag=$(curl -s https://api.github.com/repos/MetaCubeX/mihomo/releases/latest | jq -r .tag_name) + echo "version=$latest_tag" >> $GITHUB_OUTPUT + + update_meta_upx: + if: github.event.inputs.tag1 == 'meta' + needs: get_meta_version + permissions: write-all + uses: juewuy/ShellCrash/.github/workflows/update_meta_core.yaml@dev + with: + tag1: MetaCubeX/mihomo + tag2: ${{ needs.get_meta_version.outputs.meta_version }} + tag4: meta + tag5: "" + tag6: upx + secrets: inherit + + update_meta_tar: + if: github.event.inputs.tag1 == 'meta' + needs: [get_meta_version, update_meta_upx] + permissions: write-all + uses: juewuy/ShellCrash/.github/workflows/update_meta_core.yaml@dev + with: + tag1: MetaCubeX/mihomo + tag2: ${{ needs.get_meta_version.outputs.meta_version }} + tag4: meta + tag5: "" + tag6: tar.gz + secrets: inherit + + update_singboxr_upx: + if: github.event.inputs.tag1 == 'singboxr' + permissions: write-all + uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev + with: + tag1: reF1nd/sing-box + tag2: reF1nd-main + tag4: singboxr + tag5: with_quic,with_utls,with_clash_api + tag6: upx + secrets: inherit + + update_singboxr_tar: + if: github.event.inputs.tag1 == 'singboxr' + needs: update_singboxr_upx + permissions: write-all + uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev + with: + tag1: reF1nd/sing-box + tag2: reF1nd-main + tag4: singboxr + tag5: with_gvisor,with_quic,with_wireguard,with_utls,with_clash_api,with_tailscale + tag6: tar.gz + secrets: inherit + + update_singbox_upx: + if: github.event.inputs.tag1 == 'singbox' + permissions: write-all + uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev + with: + tag1: SagerNet/sing-box + tag2: main + tag4: singbox + tag5: with_quic,with_utls,with_clash_api + tag6: upx + secrets: inherit + From 3d01ec827d7d947733d460d88f72629ca662d1f9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 19:09:01 +0800 Subject: [PATCH 113/318] =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20?= =?UTF-8?q?=20=20=20=20.github/workflows/core=5Feasy=5Fupdate.yaml=20?= =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20=20=20=20=20.github/work?= =?UTF-8?q?flows/update=5Fsingbox=5Fcore.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/core_easy_update.yaml | 30 ++++++++++++---------- .github/workflows/update_singbox_core.yaml | 2 +- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/workflows/core_easy_update.yaml b/.github/workflows/core_easy_update.yaml index 8df4e888..99012f31 100644 --- a/.github/workflows/core_easy_update.yaml +++ b/.github/workflows/core_easy_update.yaml @@ -9,25 +9,27 @@ on: type: string jobs: - get_meta_version: + get_version: runs-on: ubuntu-latest outputs: - meta_version: ${{ steps.meta.outputs.version }} + version: ${{ steps.get_version.outputs.version }} steps: - - id: meta + - id: get_version run: | - # 访问 GitHub API 获取最新 Release 的 Tag 名 - latest_tag=$(curl -s https://api.github.com/repos/MetaCubeX/mihomo/releases/latest | jq -r .tag_name) + [ "${{ inputs.tag1 }}" = meta ] && repo="MetaCubeX/mihomo" + [ "${{ inputs.tag1 }}" = singbox ] && repo="SagerNet/sing-box" + [ "${{ inputs.tag1 }}" = singboxr ] && repo="SagerNet/sing-box" + latest_tag=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r .tag_name) echo "version=$latest_tag" >> $GITHUB_OUTPUT update_meta_upx: if: github.event.inputs.tag1 == 'meta' - needs: get_meta_version + needs: get_version permissions: write-all uses: juewuy/ShellCrash/.github/workflows/update_meta_core.yaml@dev with: tag1: MetaCubeX/mihomo - tag2: ${{ needs.get_meta_version.outputs.meta_version }} + tag2: ${{ needs.get_version.outputs.version }} tag4: meta tag5: "" tag6: upx @@ -35,12 +37,12 @@ jobs: update_meta_tar: if: github.event.inputs.tag1 == 'meta' - needs: [get_meta_version, update_meta_upx] + needs: [get_version, update_meta_upx] permissions: write-all uses: juewuy/ShellCrash/.github/workflows/update_meta_core.yaml@dev with: tag1: MetaCubeX/mihomo - tag2: ${{ needs.get_meta_version.outputs.meta_version }} + tag2: ${{ needs.get_version.outputs.version }} tag4: meta tag5: "" tag6: tar.gz @@ -48,11 +50,12 @@ jobs: update_singboxr_upx: if: github.event.inputs.tag1 == 'singboxr' + needs: get_version permissions: write-all uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev with: tag1: reF1nd/sing-box - tag2: reF1nd-main + tag2: ${{ needs.get_version.outputs.version }} tag4: singboxr tag5: with_quic,with_utls,with_clash_api tag6: upx @@ -60,12 +63,12 @@ jobs: update_singboxr_tar: if: github.event.inputs.tag1 == 'singboxr' - needs: update_singboxr_upx + needs: [get_version, update_singboxr_upx] permissions: write-all uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev with: tag1: reF1nd/sing-box - tag2: reF1nd-main + tag2: ${{ needs.get_version.outputs.version }} tag4: singboxr tag5: with_gvisor,with_quic,with_wireguard,with_utls,with_clash_api,with_tailscale tag6: tar.gz @@ -73,11 +76,12 @@ jobs: update_singbox_upx: if: github.event.inputs.tag1 == 'singbox' + needs: get_version permissions: write-all uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev with: tag1: SagerNet/sing-box - tag2: main + tag2: ${{ needs.get_version.outputs.version }} tag4: singbox tag5: with_quic,with_utls,with_clash_api tag6: upx diff --git a/.github/workflows/update_singbox_core.yaml b/.github/workflows/update_singbox_core.yaml index 3e6e2e91..32f805fe 100644 --- a/.github/workflows/update_singbox_core.yaml +++ b/.github/workflows/update_singbox_core.yaml @@ -88,7 +88,7 @@ jobs: git fetch --tags sekai version=$(CGO_ENABLED=0 go run ./cmd/internal/read_tag) [ -z "$version" ] && version=${{ inputs.tag2 }} - version=$(echo $version | sed 's/-reF1nd//') + version=$(echo $version | sed 's/-.*$//') echo version=$version >> $GITHUB_OUTPUT if [ -z "$TAGS" ];then if [ "$REPO" = 'SagerNet/sing-box' ];then From 7fc043ec49b9e5445713c8a8f2598940852aaf80 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 20:08:53 +0800 Subject: [PATCH 114/318] ~Add tui_lite.sh ~Add tui switch menu ~chang double_line_break() > line_break() --- scripts/lang/chs/2_settings.lang | 1 + scripts/lang/en/2_settings.lang | 1 + scripts/menu.sh | 7 +- scripts/menus/2_settings.sh | 19 ++++++ scripts/menus/8_tools.sh | 106 +++++++++++++++---------------- scripts/menus/9_upgrade.sh | 94 +++++++++++++-------------- scripts/menus/tui_layout.sh | 2 +- scripts/menus/tui_lite.sh | 16 +++++ 8 files changed, 143 insertions(+), 103 deletions(-) create mode 100644 scripts/menus/tui_lite.sh diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index 524add95..f269d4f6 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -11,6 +11,7 @@ SET_MENU_ADV_PORT="自定义端口及密钥" SET_MENU_IPV6="IPv6设置: " SET_MENU_RESET="重置/备份/还原脚本设置" SET_MENU_LANG="多语言切换" +SET_MENU_UI="UI切换" # ================================================= # Main menu messages diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index 2bd5798b..76dfbf41 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -11,6 +11,7 @@ SET_MENU_ADV_PORT="Custom Ports and Secrets" SET_MENU_IPV6="IPv6 Settings:" SET_MENU_RESET="Reset / Backup / Restore Script Settings" SET_MENU_LANG="Language" +SET_MENU_UI="UI Switch" # ================================================= # Main menu messages diff --git a/scripts/menu.sh b/scripts/menu.sh index 815f1c17..b4daade1 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -19,14 +19,17 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg . "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/1_start.sh . "$CRASHDIR"/menus/running_status.sh -. "$CRASHDIR"/menus/tui_layout.sh + +# 加载Tui界面 +[ -z "$tui_type" ] && tui_type='tui_layout' +. "$CRASHDIR"/menus/"$tui_type".sh # 加载语言 load_lang common load_lang menu errornum() { - double_line_break + line_break separator_line "=" content_line "\033[31m$MENU_ERR_INPUT\033[0m" separator_line "=" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index c612972b..714ed11b 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -29,6 +29,7 @@ settings() { echo "-----------------------------------------------" echo -e " a \033[31m$SET_MENU_RESET\033[0m" echo -e " b \033[36m$SET_MENU_LANG\033[0m" + echo -e " c \033[33m$SET_MENU_UI\033[0m" echo -e " 0 $COMMON_BACK" echo "-----------------------------------------------" read -p "$COMMON_INPUT > " num @@ -144,6 +145,24 @@ settings() { ;; esac ;; + c) + echo "-----------------------------------------------" + echo -e " 1 TUI-layout by Sofia-Riese" + echo -e " 2 TUI-lite" + echo -e " 0 $COMMON_BACK" + echo "-----------------------------------------------" + read -p "$COMMON_INPUT > " num + case "$num" in + 1) + setconfig tui_type 'tui_layout' + . "$CRASHDIR"/menus/tui_layout.sh + ;; + 2) + setconfig tui_type 'tui_lite' + . "$CRASHDIR"/menus/tui_lite.sh + ;; + esac + ;; *) errornum ;; esac sleep 1 diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 801933bb..28bf2955 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -16,7 +16,7 @@ ssh_tools() { while true; do [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=禁止 || ssh_ol=开启 [ -z "$ssh_port" ] && ssh_port=10022 - double_line_break + line_break separator_line "=" content_line "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" content_line "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" @@ -33,17 +33,17 @@ ssh_tools() { break ;; 1) - double_line_break + line_break read -r -p "请输入端口号(1000-65535)> " num if [ -z "$num" ]; then errornum elif [ "$num" -gt 65535 ] || [ "$num" -le 999 ]; then - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" separator_line "=" elif [ -n "$(netstat -ntul | grep :$num)" ]; then - double_line_break + line_break separator_line "=" content_line "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" separator_line "=" @@ -53,7 +53,7 @@ ssh_tools() { sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - double_line_break + line_break separator_line "=" content_line "\033[32m设置成功,请重新开启外网访问SSH功能!" separator_line "=" @@ -65,7 +65,7 @@ ssh_tools() { sleep 1 ;; 3) - double_line_break + line_break if [ "$ssh_ol" = "开启" ]; then iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 @@ -101,7 +101,7 @@ tools() { [ "$mi_mi_autoSSH" = "已配置" ] && mi_mi_autoSSH_type=32m已配置 || mi_mi_autoSSH_type=31m未配置 [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF - double_line_break + line_break separator_line "=" content_line "\033[30;47m工具与优化\033[0m" separator_line "-" @@ -149,7 +149,7 @@ tools() { sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root fi - double_line_break + line_break separator_line "=" content_line "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" separator_line "=" @@ -160,14 +160,14 @@ tools() { if [ "$systype" = "mi_snapshot" ]; then mi_autoSSH else - double_line_break + line_break separator_line "=" content_line "不支持的设备!" separator_line "=" fi ;; 7) - double_line_break + line_break separator_line "=" if [ ! -f "$CRASHDIR"/tools/ShellDDNS.sh ]; then content_line "正在获取在线脚本......" @@ -185,7 +185,7 @@ tools() { sleep 1 ;; 8) - double_line_break + line_break separator_line "=" if [ -f "$CRASHDIR"/tools/tun.ko ]; then content_line "是否禁用此功能并移除相关补丁:" @@ -196,7 +196,7 @@ tools() { read -r -p "请输入对应标号> " res [ "$res" = 1 ] && { rm -rf "$CRASHDIR"/tools/tun.ko - double_line_break + line_break separator_line "=" content_line "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" separator_line "=" @@ -210,7 +210,7 @@ tools() { eparator_line "=" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then - double_line_break + line_break eparator_line "=" content_line "正在连接服务器获取Tun模块补丁文件......" get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko @@ -240,7 +240,7 @@ tools() { } mi_autoSSH() { - double_line_break + line_break separator_line "=" content_line "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m" content_line "\033[33m如有问题请加群反馈:\033[36;4mhttps://t.me/ShellClash\033[0m" @@ -259,7 +259,7 @@ mi_autoSSH() { nvram set boot_wait=on nvram commit } - double_line_break + line_break separator_line "=" content_line "\033[32m设置成功!\033[0m" separator_line "=" @@ -280,7 +280,7 @@ log_pusher() { [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 - double_line_break + line_break separator_line "=" content_line "1) Telegram推送 ——\033[$stat_TG\033[0m" content_line "2) PushDeer推送 ——\033[$stat_Deer\033[0m" @@ -303,7 +303,7 @@ log_pusher() { break ;; 1) - double_line_break + line_break separator_line "=" if [ -n "$push_TG" ]; then content_line "是否确认关闭TG日志推送:" @@ -350,7 +350,7 @@ log_pusher() { fi ;; 2) - double_line_break + line_break separator_line "=" if [ -n "$push_Deer" ]; then content_line "是否确认关闭PushDeer日志推送:" @@ -383,7 +383,7 @@ log_pusher() { setconfig push_Deer "$url" logger "已完成PushDeer日志推送设置!" 32 else - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" @@ -392,7 +392,7 @@ log_pusher() { fi ;; 3) - double_line_break + line_break separator_line "=" if [ -n "$push_bark" ]; then content_line "是否确认关闭Bark日志推送:" @@ -426,7 +426,7 @@ log_pusher() { setconfig push_bark "$url" logger "已完成Bark日志推送设置!" 32 else - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" @@ -435,7 +435,7 @@ log_pusher() { fi ;; 4) - double_line_break + line_break separator_line "=" if [ -n "$push_Po" ]; then content_line "是否确认关闭Pushover日志推送:" @@ -464,13 +464,13 @@ log_pusher() { if [ "$key" = 0 ]; then continue elif [ -n "$key" ]; then - double_line_break + line_break separator_line "=" content_line "\033[33m请检查注册邮箱,完成账户验证\033[0m" read -r -p "我已经验证完成(1/0)> " separator_line "=" - double_line_break + line_break separator_line "=" content_line "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" separator_line "=" @@ -482,13 +482,13 @@ log_pusher() { setconfig push_Po_key "$key" logger "已完成Passover日志推送设置!" 32 else - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" fi else - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" @@ -497,7 +497,7 @@ log_pusher() { fi ;; 5) - double_line_break + line_break separator_line "=" if [ -n "$push_PP" ]; then content_line "是否确认关闭PushPlus日志推送:" @@ -527,7 +527,7 @@ log_pusher() { setconfig push_PP "$Token" logger "已完成PushPlus日志推送设置!" 32 else - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" @@ -536,7 +536,7 @@ log_pusher() { fi ;; 6) - double_line_break + line_break if [ -n "$push_SynoChat" ]; then separator_line "=" content_line "是否确认关闭SynoChat日志推送:" @@ -553,11 +553,11 @@ log_pusher() { fi else read -r -p "请输入你的Synology DSM主页地址> " URL - double_line_break + line_break read -r -p "请输入你的Synology Chat Token> " TOKEN - double_line_break + line_break separator_line "=" content_line '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' separator_line "=" @@ -576,7 +576,7 @@ log_pusher() { push_SynoChat= setconfig push_SynoChat - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" @@ -586,7 +586,7 @@ log_pusher() { ;; # 在menu.sh的case $num in代码块中添加 7) - double_line_break + line_break separator_line "=" if [ -n "$push_Gotify" ]; then content_line "是否确认关闭Gotify日志推送:" @@ -616,7 +616,7 @@ log_pusher() { setconfig push_Gotify "$url" logger "已完成Gotify日志推送设置!" 32 else - double_line_break + line_break separator_line "=" content_line "\033[31m输入错误,请重新输入!\033[0m" separator_line "=" @@ -625,7 +625,7 @@ log_pusher() { fi ;; a) - double_line_break + line_break if [ -s "$TMPDIR"/ShellCrash.log ]; then cat "$TMPDIR"/ShellCrash.log else @@ -641,7 +641,7 @@ log_pusher() { sleep 1 ;; c) - double_line_break + line_break separator_line "=" content_line "请直接输入本设备自定义推送名称" content_line "或直接回车确认返回上级菜单" @@ -653,7 +653,7 @@ log_pusher() { ;; d) rm -rf "$TMPDIR"/ShellCrash.log - double_line_break + line_break separator_line "=" content_line "\033[33m运行日志及任务日志均已清空!\033[0m" separator_line "=" @@ -670,7 +670,7 @@ log_pusher() { # 测试菜单 testcommand() { while true; do - double_line_break + line_break separator_line "=" content_line "\033[30;47m这里是测试命令菜单\033[0m" content_line "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" @@ -694,20 +694,20 @@ testcommand() { testcommand ;; 2) - double_line_break + line_break netstat -ntulp | grep 53 separator_line "=" content_line "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" separator_line "=" - double_line_break + line_break ;; 3) - double_line_break + line_break openssl speed -multi 4 -evp aes-128-gcm - double_line_break + line_break ;; 4) - double_line_break + line_break if [ "$firewall_mod" = "nftables" ]; then nft list table inet shellcrash | sed '/set cn_ip {/,/}/d;/set cn_ip6 {/,/}/d;/^[[:space:]]*}/d' else @@ -756,16 +756,16 @@ testcommand() { echo "----------------本机防火墙---------------------" iptables -L INPUT --line-numbers fi - double_line_break + line_break ;; 5) echo "$crashcore" | grep -q 'singbox' && config_path="$CRASHDIR"/jsons/config.json || config_path="$CRASHDIR"/yamls/config.yaml - double_line_break + line_break sed -n '1,40p' "$config_path" - double_line_break + line_break ;; 6) - double_line_break + line_break separator_line "=" content_line "\033[33m注意:依赖curl(不支持wget),且测试结果不保证一定准确!\033[0m" separator_line "=" @@ -777,7 +777,7 @@ testcommand() { } ) >/dev/null 2>&1 delay=$(echo | awk "{print $delay*1000}") >/dev/null 2>&1 - double_line_break + line_break separator_line "=" if [ $(echo ${#delay}) -gt 1 ]; then content_line "\033[32m连接成功!响应时间为:"$delay" ms\033[0m" @@ -795,7 +795,7 @@ testcommand() { debug() { echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml - double_line_break + line_break separator_line "=" content_line "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" content_line "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" @@ -831,7 +831,7 @@ debug() { "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml fi rm -rf "$TMPDIR"/CrashCore - double_line_break + line_break exit ;; 2) @@ -839,7 +839,7 @@ debug() { "$CRASHDIR"/start.sh bfstart $COMMAND rm -rf "$TMPDIR"/CrashCore - double_line_break + line_break exit ;; 3) @@ -855,7 +855,7 @@ debug() { main_menu ;; 6) - double_line_break + line_break separator_line "=" content_line "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" separator_line "-" @@ -875,7 +875,7 @@ debug() { main_menu ;; 9) - . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && double_line_break + . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && line_break separator_line "=" content_line"\033[32m合并成功!\033[0m" separator_line "=" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 3fba2299..517e4780 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -21,9 +21,9 @@ upgrade() { if [ -z "$version_new" ]; then checkupdate - double_line_break + line_break else - double_line_break + line_break fi [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) @@ -71,7 +71,7 @@ upgrade() { setcrt ;; 6) - double_line_break + line_break separator_line "=" content_line "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" content_line "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" @@ -88,7 +88,7 @@ upgrade() { . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; a) - double_line_break + line_break separator_line "=" content_line "感谢以下项目和作者!" separator_line "-" @@ -143,7 +143,7 @@ upgrade() { # 检查更新 checkupdate() { - double_line_break + line_break separator_line "=" content_line "\033[32m正在检查更新......\033[0m" get_bin "$TMPDIR"/version_new version echooff @@ -168,7 +168,7 @@ checkupdate() { # 更新脚本 getscripts() { - double_line_break + line_break separator_line "=" get_bin "$TMPDIR"/ShellCrash.tar.gz ShellCrash.tar.gz @@ -196,7 +196,7 @@ getscripts() { setscripts() { while true; do - double_line_break + line_break separator_line "=" content_line "\033[33m注意:更新时会停止服务!\033[0m" content_line "当前脚本版本为:\033[36m$versionsh_l\033[0m" @@ -214,7 +214,7 @@ setscripts() { # 下载更新 getscripts # 提示 - double_line_break + line_break separator_line "=" content_line "\033[32m管理脚本更新成功!\033[0m" separator_line "=" @@ -232,7 +232,7 @@ setscripts() { # 手动设置内核架构 setcpucore() { cpucore_list="armv5 armv7 arm64 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" - double_line_break + line_break separator_line "=" content_line "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" content_line "不知道如何获取核心版本?\033[0m" @@ -251,7 +251,7 @@ setcpucore() { read -r -p "请输入对应标号> " num [ -n "$num" ] && setcpucore=$(echo "$cpucore_list" | awk '{print $"'"$num"'"}') if [ -z "$setcpucore" ]; then - double_line_break + line_break separator_line "=" content_line "\033[31m请输入正确的处理器架构!\033[0m" separator_line "=" @@ -266,7 +266,7 @@ setcpucore() { # 手动指定内核类型 setcoretype() { while true; do - double_line_break + line_break separator_line "=" echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash content_line "\033[33m请确认该自定义内核的类型:\033[0m" @@ -313,7 +313,7 @@ switch_core() { [ "$core_new" != "$core_old" ] && { [ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns [ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns - double_line_break + line_break separator_line "=" content_line "\033[33m已从$core_old内核切换至$core_new内核\033[0m" content_line "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" @@ -356,7 +356,7 @@ getcore() { core_new=clash fi # 获取在线内核文件 - double_line_break + line_break separator_line "=" content_line "正在在线获取$crashcore核心文件......" core_webget @@ -387,7 +387,7 @@ getcore() { checkcustcore() { [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" # 通过githubapi获取内核信息 - double_line_break + line_break separator_line "=" content_line "\033[32m正在获取内核文件链接......\033[0m" webget "$TMPDIR"/github_api https://api.github.com/repos/"${project}"/releases/"${api_url}" @@ -402,7 +402,7 @@ checkcustcore() { if [ -s "$TMPDIR"/core.list ]; then separator_line "=" - double_line_break + line_break separator_line "=" content_line "内核版本:\033[36m$release_tag\033[0m" content_line "发布时间:\033[33m$release_date\033[0m" @@ -456,7 +456,7 @@ checkcustcore() { setcustcore() { while true; do [ -z "$cpucore" ] && check_cpucore - double_line_break + line_break separator_line "=" content_line "\033[36m此处内核通常源自互联网采集,此处致谢各位开发者!\033[0m" content_line "\033[33m自定义内核未经过完整适配,使用出现问题请自行解决!\033[0m" @@ -506,7 +506,7 @@ setcustcore() { checkcustcore ;; 9) - double_line_break + line_break separator_line "=" content_line "请输入自定义内核的链接地址" content_line "(必须是以.tar.gz或.gz结尾的压缩文件)" @@ -531,7 +531,7 @@ setcustcore() { } setziptype() { - double_line_break + line_break separator_line "=" content_line "请选择内核内核分支及压缩方式:\033[0m" separator_line "-" @@ -572,7 +572,7 @@ setcore() { echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#; s#-linux.*$##')" - double_line_break + line_break separator_line "=" [ -z "$cpucore" ] && check_cpucore @@ -611,7 +611,7 @@ setcore() { ;; 1) [ -d "/jffs" ] && { - double_line_break + line_break separator_line "=" content_line "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m" separator_line "=" @@ -666,7 +666,7 @@ setcore() { # 下载Geo文件 getgeo() { # 生成链接 - double_line_break + line_break separator_line "=" content_line "正在从服务器获取数据库文件......" get_bin "$TMPDIR"/"${geoname}" bin/geodata/"$geotype" @@ -684,7 +684,7 @@ getgeo() { content_line "文件解压失败!" separator_line "=" sleep 1 - double_line_break + line_break rm -rf "$TMPDIR"/${geoname} exit 1 fi @@ -700,7 +700,7 @@ getgeo() { } getcustgeo() { - double_line_break + line_break separator_line "=" content_line "正在获取数据库文件......" webget "$TMPDIR"/"$geoname" "$custgeolink" @@ -723,7 +723,7 @@ checkcustgeo() { while true; do [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" [ ! -s "$TMPDIR"/geo.list ] && { - double_line_break + line_break separator_line "=" content_line "\033[32m正在查找可更新的数据库文件......\033[0m" separator_line "=" @@ -734,7 +734,7 @@ checkcustgeo() { } if [ -s "$TMPDIR"/geo.list ]; then - double_line_break + line_break separator_line "=" content_line "请选择需要更新的数据库文件:" separator_line "-" @@ -769,7 +769,7 @@ checkcustgeo() { ;; esac else - double_line_break + line_break separator_line "=" content_line "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" separator_line "=" @@ -782,7 +782,7 @@ checkcustgeo() { setcustgeo() { while true; do rm -rf "$TMPDIR"/geo.list - double_line_break + line_break separator_line "=" content_line "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" content_line "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" @@ -840,7 +840,7 @@ setcustgeo() { checkcustgeo ;; 9) - double_line_break + line_break read -r -p "请输入自定义数据库的链接地址 > " link [ -n "$link" ] && custgeolink="$link" getgeo @@ -855,7 +855,7 @@ setcustgeo() { setgeo() { while true; do - double_line_break + line_break . $CFG_PATH >/dev/null [ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版 separator_line "=" @@ -918,7 +918,7 @@ setgeo() { ;; 9) while true; do - double_line_break + line_break separator_line "=" content_line "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" content_line "清理后启动服务即可自动下载所需文件" @@ -939,7 +939,7 @@ setgeo() { setconfig $var done rm -rf "$CRASHDIR"/ruleset/* - double_line_break + line_break separator_line "=" content_line "\033[33m所有数据库文件均已清理!\033[0m" separator_line "=" @@ -964,7 +964,7 @@ setgeo() { # Dashboard getdb() { dblink="${update_url}/" - double_line_break + line_break separator_line "=" content_line "正在连接服务器获取安装文件......" get_bin "$TMPDIR"/clashdb.tar.gz bin/dashboard/${db_type}.tar.gz @@ -979,7 +979,7 @@ getdb() { if [ $? -ne 0 ]; then content_line "文件解压失败!" separator_line "=" - double_line_break + line_break sleep 1 rm -rf "$TMPDIR"/clashfm.tar.gz exit 1 @@ -1006,7 +1006,7 @@ getdb() { } dbdir() { - double_line_break + line_break separator_line "=" if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then content_line "\033[33m检测到已经安装过本地面板\033[0m" @@ -1023,7 +1023,7 @@ dbdir() { [ -f "$CRASHDIR"/ui/CNAME ] && rm -rf "$CRASHDIR"/ui && dbdir="$CRASHDIR"/ui getdb else - double_line_break + line_break separator_line "=" separator_line "\033[33m安装已取消\033[0m" separator_line "=" @@ -1068,7 +1068,7 @@ dbdir() { setdb() { while true; do - double_line_break + line_break separator_line "=" content_line "\033[36m安装 dashboard 管理面板到本地\033[0m" content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m" @@ -1123,7 +1123,7 @@ setdb() { ;; 9) while true; do - double_line_break + line_break separator_line "=" content_line "是否卸载本地面板:" separator_line "-" @@ -1140,7 +1140,7 @@ setdb() { rm -rf "$CRASHDIR"/ui rm -rf "$BINDIR"/ui - double_line_break + line_break separator_line "=" content_line "\033[31m面板已经卸载!\033[0m" separator_line "=" @@ -1164,7 +1164,7 @@ setdb() { # 根证书 getcrt() { - double_line_break + line_break separator_line "=" content_line "正在连接服务器获取安装文件......" get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt echooff @@ -1197,7 +1197,7 @@ setcrt() { fi if [ -n "$openssldir" ]; then - double_line_break + line_break separator_line "=" content_line "安装/更新本地根证书文件(ca-certificates.crt)" content_line "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" @@ -1233,7 +1233,7 @@ setcrt() { esac else - double_line_break + line_break separator_line "=" content_line "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" separator_line "=" @@ -1250,7 +1250,7 @@ saveserver() { setconfig url_id "$url_id" setconfig release_type "$release_type" version_new='' - double_line_break + line_break separator_line "=" content_line "\033[32m源地址切换成功!\033[0m" separator_line "=" @@ -1259,7 +1259,7 @@ saveserver() { # 安装源 setserver() { while true; do - double_line_break + line_break [ -z "$release_type" ] && release_name=未指定 [ -n "$release_type" ] && release_name="$release_type(回退)" [ "$release_type" = stable ] && release_name=稳定版 @@ -1327,7 +1327,7 @@ setserver() { ;; c) while true; do - double_line_break + line_break separator_line "=" content_line "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" content_line "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" @@ -1357,7 +1357,7 @@ setserver() { done ;; d) - double_line_break + line_break separator_line "=" content_line "请直接输入个人源路径" content_line "" @@ -1373,7 +1373,7 @@ setserver() { fi ;; e) - double_line_break + line_break separator_line "=" if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then content_line "\033[32m正在获取版本信息......\033[0m" @@ -1382,7 +1382,7 @@ setserver() { content_line "\033[32m获取版本信息成功\033[0m" separator_line "=" - double_line_break + line_break separator_line "=" content_line "\033[31m请选择想要回退至的稳定版版本:\033[0m" diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 2b00c6bb..b14d5d5e 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -139,6 +139,6 @@ separator_line() { # increase the spacing between the front # and back forms to improve readability -double_line_break() { +line_break() { printf "\n\n" } diff --git a/scripts/menus/tui_lite.sh b/scripts/menus/tui_lite.sh new file mode 100644 index 00000000..093afbcf --- /dev/null +++ b/scripts/menus/tui_lite.sh @@ -0,0 +1,16 @@ + +content_line() { + printf '%b' "$1\n" +} + +sub_content_line() { + content_line " $1" +} + +separator_line() { + echo "-----------------------------------------------" +} + +line_break() { + return +} From 496467332ad7e576cabc8e86573f3241278c2dd1 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 21:05:56 +0800 Subject: [PATCH 115/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96ReadMe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 ++++--- README_CN.md | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9707b5fa..2d0973cf 100644 --- a/README.md +++ b/README.md @@ -32,10 +32,11 @@ ShellCrash is designed to be compatible with the vast majority of network devices based on the Linux kernel: -* **Router Devices**: Supports various firmwares based on OpenWrt or its derivatives. -* **Linux Servers**: Supports devices running standard Linux distributions (e.g., Debian, CentOS, Armbian, Ubuntu, etc.). +* **Router Devices**: Supports various firmwares based on OpenWrt or its derivatives (e.g., Xiaomi, Netgear etc.). +* **Linux Servers**: Supports devices running standard Linux/GNU distributions (e.g., Debian, CentOS, Armbian, Ubuntu, etc.). * **Third-Party Firmware**: Compatible with Padavan (Conservative Mode), Pandora, and ASUS/Merlin firmware. -* **Customized Devices**: Compatible with other specialized network devices developed using the Linux kernel. +* **Other Devices**: Compatible with other devices based on Linux/GNU or Linux/busybox. +* **Docker**:Compatible with Docker environments (e.g., Synology, PVE, etc.). > For additional device support, please submit an [Issue](https://github.com/juewuy/ShellCrash/issues) or provide feedback in the [Telegram Group](https://t.me/ShellClash) (please include the device model and the output of the `uname -a` command). diff --git a/README_CN.md b/README_CN.md index d76f3f70..e3c11f40 100644 --- a/README_CN.md +++ b/README_CN.md @@ -32,10 +32,11 @@ ShellCrash 旨在兼容绝大多数基于 Linux 内核的网络设备: -* **路由器设备**:支持各种基于 OpenWrt 或其二次开发的固件。 -* **Linux 服务器**:支持运行标准 Linux 发行版(如 Debian、CentOS、Armbian、Ubuntu 等)的设备。 +* **路由器设备**:支持各种基于 OpenWrt 或其二次开发固件(如 小米路由、网件路由等设备)。 +* **Linux 服务器**:支持运行标准 Linux/GNU发行版(如 Debian、CentOS、Armbian、Ubuntu 等)的设备。 * **第三方固件**:兼容 Padavan(保守模式)、潘多拉固件以及华硕/梅林固件。 -* **各类定制设备**:兼容其他使用 Linux 内核开发的专用网络设备。 +* **其他设备**:兼容各种基于Linux/GNU或者Linux/busybox开发的设备。 +* **Docker**:部分可能不兼容的设备(如群辉、PVE),支持docker环境运行。 > 更多设备支持,请提交 [Issue](https://github.com/juewuy/ShellCrash/issues) 或前往 [Telegram 群组](https://t.me/ShellClash) 反馈(请附上设备型号及 `uname -a` 命令的输出信息)。 From 8902a742a2c77678b91bf841a05f79f3a5e3db70 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 21:09:07 +0800 Subject: [PATCH 116/318] ~bug fix --- scripts/lang/chs/menu.lang | 4 ++-- scripts/lang/en/menu.lang | 22 +++++++++++----------- scripts/menu.sh | 18 +++++++++--------- scripts/menus/2_settings.sh | 19 +++++++++++-------- scripts/menus/9_upgrade.sh | 7 ++----- 5 files changed, 35 insertions(+), 35 deletions(-) diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang index f52be2b5..b84c71e2 100644 --- a/scripts/lang/chs/menu.lang +++ b/scripts/lang/chs/menu.lang @@ -24,6 +24,8 @@ MENU_RUN_ON="正在运行" MENU_RUN_SET="已设置" MENU_RUN_OFF="没有运行" +MENU_PURE_MOD="纯净" +MENU_MOD="模式" MENU_IP_DF="设备IP地址" MENU_AUTOSTART_ON="已设置开机启动!" @@ -34,7 +36,6 @@ MENU_MEM_USED="当前内存占用:" MENU_RUNNING_TIME="已运行:" MENU_TG_CHANNEL="TG频道:" -MENU_TG_URL="https://t.me/ShellClash" # ===== /tmp 文件检测 ===== MENU_TMP_CORE_FOUND="发现可用的内核文件:" @@ -68,7 +69,6 @@ MENU_TEST_LOG_HINT="完整执行记录请查看:" MENU_ERROR_FOUND="发现错误:" # ===== 命令行帮助 ===== -MENU_CLI_WELCOME="欢迎使用ShellCrash" MENU_CLI_TEST="测试模式" MENU_CLI_HELP="帮助列表" diff --git a/scripts/lang/en/menu.lang b/scripts/lang/en/menu.lang index 4e4f1f38..9e3abcbf 100644 --- a/scripts/lang/en/menu.lang +++ b/scripts/lang/en/menu.lang @@ -18,23 +18,24 @@ MENU_OVERRIDE_ASK="Cancel the disable setting?" # ===== Welcome & Status ===== MENU_WELCOME="Welcome to ShellCrash!" -MENU_VERSION_LABEL="Version:" +MENU_VERSION_LABEL="Ver:" -MENU_RUN_ON="Running" +MENU_RUN_ON=" Running" MENU_RUN_SET="Configured" -MENU_RUN_OFF="Not running" +MENU_RUN_OFF="Stopped" +MENU_PURE_MOD="Pure" +MENU_MOD=" Mod" MENU_IP_DF="Device IP Address" -MENU_AUTOSTART_ON="Autostart is enabled!" -MENU_AUTOSTART_OFF="Autostart is disabled!" -MENU_AUTOSTART_DEBUG="Running in debug mode!" +MENU_AUTOSTART_ON="Autostart enable!" +MENU_AUTOSTART_OFF="Autostart disable!" +MENU_AUTOSTART_DEBUG="Debug mode!" -MENU_MEM_USED="Memory usage:" -MENU_RUNNING_TIME="Running time:" +MENU_MEM_USED="Memory usage: " +MENU_RUNNING_TIME="Running time: " -MENU_TG_CHANNEL="Telegram Channel:" -MENU_TG_URL="https://t.me/ShellClash" +MENU_TG_CHANNEL="Telegram Channel: " # ===== /tmp File Detection ===== MENU_TMP_CORE_FOUND="Available core file found:" @@ -69,7 +70,6 @@ MENU_TEST_LOG_HINT="Full execution log can be found at:" MENU_ERROR_FOUND="Error found:" # ===== Command Line Help ===== -MENU_CLI_WELCOME="Welcome to ShellCrash" MENU_CLI_TEST="Test Mode" MENU_CLI_HELP="Help List" diff --git a/scripts/menu.sh b/scripts/menu.sh index b4daade1..c71154b1 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -67,7 +67,7 @@ ckstatus() { #脚本启动前检查 versionsh=$(cat "$CRASHDIR"/version) [ -n "$versionsh" ] && versionsh_l=$versionsh - [ -z "$redir_mod" ] && redir_mod="纯净模式" + [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" #获取本机host地址 [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) @@ -90,12 +90,12 @@ ckstatus() { #脚本启动前检查 PID=$(pidof CrashCore | awk '{print $NF}') if [ -n "$PID" ]; then - run="\033[32m$MENU_RUN_ON($redir_mod)\033[0m" + run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" running_status elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then - run="\033[32m$MENU_RUN_SET($redir_mod)\033[0m" + run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" else - run="\033[31m$MENU_RUN_OFF($redir_mod)\033[0m" + run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" #检测系统端口占用 checkport fi @@ -104,14 +104,14 @@ ckstatus() { #脚本启动前检查 [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" #输出状态 echo "-----------------------------------------------" - echo -e "\033[30;46m$MENU_WELCOME\033[0m $MENU_VERSION_LABEL$versionsh_l" - echo -e "$corename $run,$auto" + echo -e "\033[30;46m$MENU_WELCOME\033[0m\t\t$MENU_VERSION_LABEL$versionsh_l" + echo -e "$corename$run\t$auto" if [ -n "$PID" ]; then - echo -e "$MENU_MEM_USED \033[44m$VmRSS\033[0m,$MENU_RUNNING_TIME \033[46;30m$day\033[44;37m$time\033[0m" + echo -e "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t\t$MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" fi - echo -e "$MENU_TG_CHANNEL \033[36;4m$MENU_TG_URL\033[0m" + echo -e "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" echo "-----------------------------------------------" #检查新手引导 if [ -z "$userguide" ]; then @@ -287,7 +287,7 @@ case "$1" in ;; *) echo ----------------------------------------- - echo "$MENU_CLI_WELCOME" + echo "$MENU_WELCOME" echo ----------------------------------------- echo " -t $MENU_CLI_TEST" echo " -h $MENU_CLI_HELP" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 714ed11b..deaef0ec 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -17,7 +17,7 @@ settings() { echo "-----------------------------------------------" echo -e "\033[30;47m$SET_MENU_TITLE\033[0m" echo "-----------------------------------------------" - echo -e " 1 $SET_MENU_REDIR\t\033[36m$redir_mod\033[0m" + echo -e " 1 $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" echo -e " 2 $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" echo -e " 3 $SET_MENU_FW_FILTER" [ "$disoverride" != "1" ] && { @@ -181,10 +181,11 @@ set_redir_mod() { while true; do [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 [ -z "$firewall_area" ] && firewall_area=1 + [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" [ -z "$redir_mod" ] && redir_mod='Redir' firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) echo "-----------------------------------------------" - echo -e "$SET_REDIR_CURRENT \033[47;30m$redir_mod\033[0m ; $SET_CORE_CURRENT \033[47;30m$crashcore\033[0m" + echo -e "$SET_REDIR_CURRENT \033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT \033[47;30m$crashcore\033[0m" echo -e "\033[33m$SET_REDIR_RESTART_HINT\033[0m" echo "-----------------------------------------------" [ $firewall_area -le 3 ] && { @@ -460,12 +461,14 @@ set_firewall_area() { case "$num" in [1-4]) - [ $firewall_area -ge 4 ] && { - redir_mod=Redir - setconfig redir_mod $redir_mod - } - firewall_area=$num - setconfig firewall_area $firewall_area + if [ $firewall_area -ge 4 ];then + redir_mod='' + else + redir_mod=Redir + fi + firewall_area="$num" + setconfig firewall_area "$firewall_area" + setconfig redir_mod "$redir_mod" ;; 5) echo "-----------------------------------------------" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 517e4780..5c2f5d37 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -679,7 +679,7 @@ getgeo() { [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset } if echo "$geoname" | grep -Eq '.tar.gz'; then - tar -zxf "$TMPDIR"/"${geoname}" "${tar_para}" -C "$BINDIR"/"${geofile}" >/dev/null + tar -zxf "$TMPDIR"/"${geoname}" ${tar_para} -C "$BINDIR"/"${geofile}" >/dev/null if [ $? -ne 0 ]; then content_line "文件解压失败!" separator_line "=" @@ -975,7 +975,7 @@ getdb() { else content_line "\033[33m下载成功,正在解压文件......\033[0m" mkdir -p "$dbdir" >/dev/null - tar -zxf "$TMPDIR/clashdb.tar.gz" "${tar_para}" -C "$dbdir" >/dev/null + tar -zxf "$TMPDIR/clashdb.tar.gz" ${tar_para} -C "$dbdir" >/dev/null if [ $? -ne 0 ]; then content_line "文件解压失败!" separator_line "=" @@ -1079,14 +1079,11 @@ setdb() { content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" content_line "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" - content_line "" content_line " - - - - - -已停止维护- - - - - -" content_line "4) 安装\033[32m基础面板\033[0m(约500kb)" content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" - content_line "" content_line "9) \033[31m卸载本地面板\033[0m" - content_line "" content_line "0) 返回上级菜单" separator_line "=" From a73efc839e19885a4f1323c6fdd2240cdbcf31c5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 20 Jan 2026 22:22:00 +0800 Subject: [PATCH 117/318] ~1.9.5a2 pkg --- ShellCrash.tar.gz | Bin 132178 -> 134021 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index ddfc7b3b9b783cc7362be8c684b637ad301c2061..479211c85ecdd91789f6812a949d41cf44289321 100644 GIT binary patch literal 134021 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

iHUcQQ!LE1Ob=~f{>-G(HZMh7suKe{=Cr$V_ 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 Jkmvx|2>=Z}S#SUV literal 132178 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 Date: Tue, 20 Jan 2026 23:36:06 +0800 Subject: [PATCH 118/318] fix(tui_layout.sh): resolve awk 'bad regex' error by using octal escape --- scripts/menus/tui_layout.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index b14d5d5e..9f8512df 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -57,7 +57,7 @@ content_line() { } charWidth = 1 - if (r ~ /[^\x00-\x7F]/) { + if (r ~ /[^\001-\177]/) { charWidth = 2 } From 41595bb643926f2eb7a62e3eaf7d78a260e781e2 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Wed, 21 Jan 2026 14:23:29 +0800 Subject: [PATCH 119/318] Update tui_layout.sh --- scripts/menus/tui_layout.sh | 164 +++++++++++++++++++----------------- 1 file changed, 87 insertions(+), 77 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 9f8512df..8a44f335 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -21,93 +21,103 @@ content_line() { return fi - printf '%b' "$raw_input" | awk -v table_width="$TABLE_WIDTH" ' - BEGIN { - textWidth = table_width - 3 + printf '%b' "$raw_input" | LC_ALL=C awk -v table_width="$TABLE_WIDTH" ' + BEGIN { + textWidth = table_width - 3 + currentDisplayWidth = 0 + wordWidth = 0 + currentLine = "" + wordBuffer = "" + lastColor = "" + ESC = sprintf("%c", 27) + } - currentDisplayWidth = 0 - wordWidth = 0 - currentLine = "" - wordBuffer = "" + { + n = split($0, chars, "") - lastColor = "" + for (i = 1; i <= n; i++) { + r = chars[i] - ESC = sprintf("%c", 27) - } + if (r == ESC && i+1 <= n && chars[i+1] == "[") { + ansiSeq = "" + for (j = i; j <= n; j++) { + ansiSeq = ansiSeq chars[j] + if (chars[j] == "m") { + i = j + break + } + } + wordBuffer = wordBuffer ansiSeq + lastColor = ansiSeq + continue + } - { - n = split($0, chars, "") + charWidth = 1 - for (i = 1; i <= n; i++) { - r = chars[i] + if (r <= "\177") { + charWidth = 1 + } + else if (r >= "\340" && r <= "\357" && i+2 <= n) { + r = chars[i] chars[i+1] chars[i+2] + i += 2 + charWidth = 2 + } + else if (r >= "\300" && r <= "\337" && i+1 <= n) { + r = chars[i] chars[i+1] + i += 1 + charWidth = 1 + } + else { + charWidth = 1 + } - if (r == ESC && i+1 <= n && chars[i+1] == "[") { - # Scan forward until "m" - ansiSeq = "" - for (j = i; j <= n; j++) { - ansiSeq = ansiSeq chars[j] - if (chars[j] == "m") { - i = j # Advance main loop - break - } - } - wordBuffer = wordBuffer ansiSeq - lastColor = ansiSeq # Remember color for wrapping - continue - } + if (r == " " || charWidth == 2) { + if (currentDisplayWidth + wordWidth + charWidth > textWidth) { + printf " %s\033[0m\033[%dG||\n", currentLine, table_width + currentLine = lastColor wordBuffer + currentDisplayWidth = wordWidth + wordBuffer = r + wordWidth = charWidth + } else { + currentLine = currentLine wordBuffer r + currentDisplayWidth += wordWidth + charWidth + wordBuffer = "" + wordWidth = 0 + } + } else { + wordBuffer = wordBuffer r + wordWidth += charWidth - charWidth = 1 - if (r ~ /[^\001-\177]/) { - charWidth = 2 - } + if (wordWidth > textWidth) { + printf " %s%s\033[0m\033[%dG||\n", currentLine, wordBuffer, table_width + currentLine = lastColor + currentDisplayWidth = 0 + wordBuffer = "" + wordWidth = 0 + } + } + } + } - if (r == " " || charWidth == 2) { - if (currentDisplayWidth + wordWidth + charWidth > textWidth) { - printf " %s\033[0m\033[%dG||\n", currentLine, table_width - currentLine = lastColor wordBuffer - currentDisplayWidth = wordWidth - wordBuffer = r - wordWidth = charWidth - } else { - currentLine = currentLine wordBuffer r - currentDisplayWidth += wordWidth + charWidth - wordBuffer = "" - wordWidth = 0 - } - } else { - wordBuffer = wordBuffer r - wordWidth += charWidth + END { + if (wordWidth > 0) { + if (currentDisplayWidth + wordWidth > textWidth) { + printf " %s\033[0m\033[%dG||\n", currentLine, table_width + currentLine = lastColor wordBuffer + } else { + currentLine = currentLine wordBuffer + } + } - if (wordWidth > textWidth) { - printf " %s%s\033[0m\033[%dG||\n", currentLine, wordBuffer, table_width - currentLine = lastColor - currentDisplayWidth = 0 - wordBuffer = "" - wordWidth = 0 - } - } - } - } + cleanText = currentLine + gsub(/\033\[[0-9;]*m/, "", cleanText) + gsub(/^[ \t]+|[ \t]+$/, "", cleanText) - END { - if (wordWidth > 0) { - if (currentDisplayWidth + wordWidth > textWidth) { - printf " %s\033[0m\033[%dG||\n", currentLine, table_width - currentLine = lastColor wordBuffer - } else { - currentLine = currentLine wordBuffer - } - } - - cleanText = currentLine - gsub(/\033\[[0-9;]*m/, "", cleanText) - gsub(/^[ \t]+|[ \t]+$/, "", cleanText) - - if (cleanText != "") { - printf " %s\033[0m\033[%dG||\n", currentLine, table_width - } - } - ' + if (cleanText != "") { + printf " %s\033[0m\033[%dG||\n", currentLine, table_width + } + } + ' } # function to print sub content lines From fc247210cb3f20002f22efb29a559c0c0ceb134c Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Wed, 21 Jan 2026 18:30:41 +0800 Subject: [PATCH 120/318] Update 7_gateway.sh --- scripts/menus/7_gateway.sh | 527 ++++++++++++++++++++++++------------- 1 file changed, 337 insertions(+), 190 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index ab025d69..97745557 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -11,30 +11,43 @@ __IS_MODULE_7_GATEWAY_LOADED=1 # 访问与控制主菜单 gateway() { while true; do - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用访问与控制菜单:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" - echo -e " 2 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" - echo -e " 3 配置\033[36mDDNS自动域名\033[0m" + line_break + separator_line "=" + content_line "\033[30;47m访问与控制\033[0m" + separator_line "-" + content_line "1) 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" + content_line "2) 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" + content_line "3) 配置\033[36mDDNS自动域名\033[0m" [ "$disoverride" != "1" ] && { - echo -e " 4 自定义\033[33m公网Vmess入站\033[0m节点 \033[32m$vms_service\033[0m" - echo -e " 5 自定义\033[33m公网ShadowSocks入站\033[0m节点 \033[32m$sss_service\033[0m" - echo -e " 6 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" - echo -e " 7 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" + content_line "4) 自定义\033[33m公网Vmess入站\033[0m节点 \033[32m$vms_service\033[0m" + content_line "5) 自定义\033[33m公网ShadowSocks入站\033[0m节点 \033[32m$sss_service\033[0m" + content_line "6) 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" + content_line "7) 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" } - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) - echo "-----------------------------------------------" + line_break + separator_line "=" if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - read -p "需要先停止服务,是否继续?(1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_fw_wan + content_line "\033[33m公网访问防火墙需要先停止服务\033[0m" + separator_line "-" + content_line "是否继续:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then + "$CRASHDIR"/start.sh stop && set_fw_wan + else + continue + fi else set_fw_wan fi @@ -55,7 +68,10 @@ gateway() { if echo "$crashcore" | grep -q 'sing'; then set_tailscale else - echo -e "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + line_break + separator_line "=" + content_line "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + separator_line "=" sleep 1 fi ;; @@ -63,14 +79,16 @@ gateway() { if echo "$crashcore" | grep -q 'sing'; then set_wireguard else - echo -e "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + line_break + separator_line "=" + content_line "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + separator_line "=" sleep 1 fi ;; *) errornum sleep 1 - break ;; esac done @@ -80,44 +98,66 @@ gateway() { set_fw_wan() { while true; do [ -z "$fw_wan" ] && fw_wan=ON - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m如在vps运行,还需在vps安全策略对相关端口同时放行" + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m如在vps运行,还需在vps安全策略对相关端口同时放行" [ -n "$fw_wan_ports" ] && - echo -e "当前手动放行端口:\033[36m$fw_wan_ports\033[0m" + content_line "当前手动放行端口:\033[36m$fw_wan_ports\033[0m" [ -n "$vms_port$sss_port" ] && - echo -e "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" - echo -e "默认拦截端口:\033[33m$mix_port,$db_port\033[0m" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭公网防火墙: \033[36m$fw_wan\033[0m" - echo -e " 2 添加放行端口(可包含默认拦截端口)" - echo -e " 3 移除指定手动放行端口" - echo -e " 4 清空全部手动放行端口" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + content_line "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" + content_line "默认拦截端口:\033[33m$mix_port,$db_port\033[0m" + separator_line "-" + content_line "1) 启用/关闭公网防火墙:\033[36m$fw_wan\033[0m" + content_line "2) 添加放行端口(可包含默认拦截端口)" + content_line "3) 移除指定手动放行端口" + content_line "4) 清空全部手动放行端口" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case $num in "" | 0) break ;; 1) if [ "$fw_wan" = ON ]; then - read -p "确认关闭防火墙?这会带来极大的安全隐患!(1/0) > " res - [ "$res" = 1 ] && fw_wan=OFF || fw_wan=ON + line_break + separator_line "=" + content_line "是否确认关闭防火墙?" + content_line "这会带来极大的安全隐患!" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then + fw_wan=OFF + else + fw_wan=ON + fi else fw_wan=ON fi setconfig fw_wan "$fw_wan" ;; 2) + line_break port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') if [ "$port_count" -ge 10 ]; then - echo -e "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" + separator_line "=" + content_line "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" + separator_line "=" else - read -p "请输入要放行的端口号 > " port + read -r -p "请输入要放行的端口号> " port if echo ",$fw_wan_ports," | grep -q ",$port,"; then - echo -e "\033[31m输入错误!请勿重复添加!\033[0m" + line_break + separator_line "=" + content_line "\033[31m输入错误!请勿重复添加!\033[0m" + separator_line "=" elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + line_break + separator_line "=" + content_line "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + separator_line "=" else fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") setconfig fw_wan_ports "$fw_wan_ports" @@ -126,22 +166,46 @@ set_fw_wan() { sleep 1 ;; 3) - read -p "请输入要移除的端口号 > " port - if echo ",$fw_wan_ports," | grep -q ",$port,"; then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + while true; do + line_break + separator_line "=" + content_line "请直接输入要移除的端口号" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " port + if [ "$port" = 0 ]; then + break + elif echo ",$fw_wan_ports," | grep -q ",$port,"; then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + line_break + separator_line "=" + content_line "\033[31m输入错误!\033[0m" + content_line "\033[31m请输入正确的数值(1-65535)!\033[0m" + separator_line "=" + sleep 1 + else + fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") + setconfig fw_wan_ports "$fw_wan_ports" + break + fi else - fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") - setconfig fw_wan_ports "$fw_wan_ports" + line_break + separator_line "=" + content_line "\033[31m输入错误!\033[0m" + content_line "\033[31m请输入已添加过的端口!\033[0m" + separator_line "=" + sleep 1 fi - else - echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" - fi - sleep 1 + done ;; 4) fw_wan_ports='' setconfig fw_wan_ports + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" sleep 1 ;; *) @@ -152,12 +216,13 @@ set_fw_wan() { done } -#tg_BOT相关 -set_bot_tg_config(){ - setconfig TG_TOKEN "$TOKEN" "$GT_CFG_PATH" - setconfig TG_CHATID "$chat_ID" "$GT_CFG_PATH" - #设置机器人快捷命令 - JSON=$(cat < " num + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" + separator_line "-" + content_line "1) 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" + content_line "2) TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -214,13 +282,25 @@ set_bot_tg() { if [ -n "$TG_CHATID" ]; then set_bot_tg_service else - echo -e "\033[31m请先绑定TG-BOT!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先绑定TG-BOT!\033[0m" + separator_line "=" fi sleep 1 ;; 2) if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - read -r -p "检测到已经绑定了TG推送BOT,是否直接使用?(1/0) > " res + line_break + separator_line "=" + content_line "检测到已经绑定了TG推送BOT" + separator_line "-" + content_line "是否直接使用:" + separator_line "-" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then TOKEN="$push_TG" set_bot_tg_config @@ -240,22 +320,24 @@ set_bot_tg() { # 自定义入站 set_vmess() { while true; do - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m设置的端口会添加到公网访问防火墙并自动放行!\n 脚本只提供基础功能,更多需求请用自定义配置文件功能!" - echo -e " \033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mVmess入站 \033[32m$vms_service\033[0m" - echo "-----------------------------------------------" - echo -e " 2 设置\033[36m监听端口\033[0m: \033[36m$vms_port\033[0m" - echo -e " 3 设置\033[33mWS-path(可选)\033[0m: \033[33m$vms_ws_path\033[0m" - echo -e " 4 设置\033[36m秘钥-uuid\033[0m: \033[36m$vms_uuid\033[0m" - echo -e " 5 一键生成\033[32m随机秘钥\033[0m" - echo -e " 6 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m" + content_line "设置的端口会添加到公网访问防火墙并自动放行!" + content_line "脚本只提供基础功能,更多需求请用自定义配置文件功能!" + content_line "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" + separator_line "-" + content_line "1) \033[32m启用/关闭\033[0mVmess入站 \033[32m$vms_service\033[0m" + content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$vms_port\033[0m" + content_line "3) 设置\033[33mWS-path(可选)\033[0m: \033[33m$vms_ws_path\033[0m" + content_line "4) 设置\033[36m秘钥-uuid\033[0m: \033[36m$vms_uuid\033[0m" + content_line "5) 一键生成\033[32m随机秘钥\033[0m" gen_base64 1 >/dev/null 2>&1 && - echo -e " 7 一键生成\033[32m分享链接\033[0m" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + content_line "6) 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" + content_line "7) 一键生成\033[32m分享链接\033[0m" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -269,13 +351,17 @@ set_vmess() { vms_service=ON setconfig vms_service "$vms_service" else - echo -e "\033[31m请先完成必选设置!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先完成必选设置!\033[0m" + separator_line "=" sleep 1 fi fi ;; 2) - read -p "请输入端口号(输入0删除) > " text + line_break + read -r -p "请输入端口号(输入0删除)> " text if [ "$text" = 0 ]; then vms_port='' setconfig vms_port "" "$GT_CFG_PATH" @@ -287,7 +373,8 @@ set_vmess() { fi ;; 3) - read -p "请输入ws-path路径(输入0删除) > " text + line_break + read -r -p "请输入ws-path路径(输入0删除)> " text if [ "$text" = 0 ]; then vms_ws_path='' setconfig vms_ws_path "" "$GT_CFG_PATH" @@ -295,12 +382,16 @@ set_vmess() { vms_ws_path="$text" setconfig vms_ws_path "$text" "$GT_CFG_PATH" else - echo -e "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" + line_break + separator_line "=" + content_line "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" + separator_line "=" sleep 1 fi ;; 4) - read -p "请输入UUID(输入0删除) > " text + line_break + read -r -p "请输入UUID(输入0删除)> " text if [ "$text" = 0 ]; then vms_uuid='' setconfig vms_uuid "" "$GT_CFG_PATH" @@ -308,7 +399,10 @@ set_vmess() { vms_uuid="$text" setconfig vms_uuid "$text" "$GT_CFG_PATH" else - echo -e "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" + line_break + separator_line "=" + content_line "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" + separator_line "=" sleep 1 fi ;; @@ -318,7 +412,8 @@ set_vmess() { sleep 1 ;; 6) - read -p "请输入免流混淆host(输入0删除) > " text + line_break + read -r -p "请输入免流混淆host(输入0删除)> " text if [ "$text" = 0 ]; then vms_host='' setconfig vms_host "" "$GT_CFG_PATH" @@ -328,7 +423,8 @@ set_vmess() { fi ;; 7) - read -p "请输入本机公网IP(4/6)或域名 > " host_wan + line_break + read -r -p "请输入本机公网IP(4/6)或域名> " host_wan if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then [ -n "$vms_ws_path" ] && vms_net=ws vms_json=$( @@ -348,17 +444,21 @@ set_vmess() { EOF ) vms_link="vmess://$(gen_base64 "$vms_json")" - echo "-----------------------------------------------" - echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$vms_link\033[0m" + line_break + separator_line "=" + content_line "你的分享链接是(请勿随意分享给他人):\n\033[32m$vms_link\033[0m" + separator_line "=" else - echo -e "\033[31m请先完成必选设置!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先完成必选设置!\033[0m" + separator_line "=" fi sleep 1 ;; *) errornum sleep 1 - break ;; esac done @@ -366,20 +466,22 @@ EOF set_shadowsocks() { while true; do - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m设置的端口会添加到公网访问防火墙并自动放行!\n 脚本只提供基础功能,更多需求请用自定义配置文件功能!" - echo -e " \033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" - echo "-----------------------------------------------" - echo -e " 2 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" - echo -e " 3 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" - echo -e " 4 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m" + content_line "设置的端口会添加到公网访问防火墙并自动放行!" + content_line "脚本只提供基础功能,更多需求请用自定义配置文件功能!" + content_line "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" + separator_line "-" + content_line "1) \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" + content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" + content_line "3) 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" + content_line "4) 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" gen_base64 1 >/dev/null 2>&1 && - echo -e " 5 一键生成分享链接" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -r -p "请输入对应数字 > " num + content_line "5) 一键生成分享链接" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -393,13 +495,17 @@ set_shadowsocks() { sss_service=ON setconfig sss_service "$sss_service" else - echo -e "\033[31m请先完成必选设置!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先完成必选设置!\033[0m" + separator_line "=" sleep 1 fi fi ;; 2) - read -r -p "请输入端口号(输入0删除) > " text + line_break + read -r -p "请输入端口号(输入0删除)> " text if [ "$text" = 0 ]; then sss_port='' setconfig sss_port "" "$GT_CFG_PATH" @@ -411,23 +517,29 @@ set_shadowsocks() { fi ;; 3) - echo "-----------------------------------------------" - echo -e " 1 \033[32mxchacha20-ietf-poly1305\033[0m" - echo -e " 2 \033[32mchacha20-ietf-poly1305\033[0m" - echo -e " 3 \033[32maes-128-gcm\033[0m" - echo -e " 4 \033[32maes-256-gcm\033[0m" + line_break + separator_line "=" + content_line "请选择要使用的加密协议:" + separator_line "-" + content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" + content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" + content_line "3) \033[32maes-128-gcm\033[0m" + content_line "4) \033[32maes-256-gcm\033[0m" gen_random 1 >/dev/null && { - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m2022系列加密必须使用随机生成的password!" - echo -e " 5 \033[32m2022-blake3-chacha20-poly1305\033[0m" - echo -e " 6 \033[32m2022-blake3-aes-128-gcm\033[0m" - echo -e " 7 \033[32m2022-blake3-aes-256-gcm\033[0m" + content_line "" + content_line " - - - - - - -\033[31m注意\033[0m- - - - - - -" + content_line " 2022系列加密必须使用随机生成的password!" + content_line "5) \033[32m2022-blake3-chacha20-poly1305\033[0m" + content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" + content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" } - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -r -p "请选择要使用的加密协议 > " num + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in - "" | 1) + 0) ;; + 1) sss_cipher=xchacha20-ietf-poly1305 sss_pwd=$(gen_random 16) ;; @@ -455,29 +567,41 @@ set_shadowsocks() { sss_cipher=2022-blake3-aes-256-gcm sss_pwd=$(gen_random 32) ;; - *) ;; + *) + errornum + sleep 1 + ;; esac setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" ;; 4) + line_break if echo "$sss_cipher" | grep -q '2022-blake3'; then - echo -e "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" + separator_line "=" + content_line "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" + separator_line "=" sleep 1 else - read -r -p "请输入秘钥(输入0删除) > " text + read -r -p "请输入秘钥(输入0删除)> " text [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" setconfig sss_pwd "$text" "$GT_CFG_PATH" fi ;; 5) - read -r -p "请输入本机公网IP(4/6)或域名 > " text + line_break + read -r -p "请输入本机公网IP(4/6)或域名> " text if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" - echo "-----------------------------------------------" - echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" + line_break + separator_line "=" + content_line "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" + separator_line "=" else - echo -e "\033[31m请先完成必选设置!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先完成必选设置!\033[0m" + separator_line "=" fi sleep 1 ;; @@ -493,20 +617,21 @@ set_shadowsocks() { set_tailscale() { while true; do [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" - echo -e "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" - echo -e "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" - echo -e "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" - echo -e " 2 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" - echo -e " 3 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" - echo -e " 4 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" - echo -e " 5 设置\033[36m设备名称\033[0m(可选) $ts_hostname" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" + content_line "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" + content_line "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" + content_line "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" + separator_line "-" + content_line "1) \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" + content_line "2) 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" + content_line "3) 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" + content_line "4) 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" + content_line "5) 设置\033[36m设备名称\033[0m(可选) $ts_hostname" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -516,12 +641,16 @@ set_tailscale() { [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON setconfig ts_service "$ts_service" else - echo -e "\033[31m请先设置秘钥!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先设置秘钥!\033[0m" + separator_line "=" sleep 1 fi ;; 2) - read -p "请输入秘钥(输入0删除) > " text + line_break + read -r -p "请输入秘钥(输入0删除)> " text [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" ;; @@ -530,16 +659,28 @@ set_tailscale() { setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" ;; 4) - [ "$ts_exit_node" = true ] && ts_exit_node=false || { + if [ "$ts_exit_node" = true ]; then + ts_exit_node=false + else ts_exit_node=true - echo -e "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" + separator_line "=" sleep 3 - } + fi setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" ;; 5) - read -p "请输入希望在Tailscale显示的设备名称 > " ts_hostname - setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" + line_break + separator_line "=" + content_line "请直接输入希望在Tailscale显示的设备名称" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " ts_hostname + if [ "$ts_hostname" != 0 ]; then + setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" + fi ;; *) errornum @@ -570,22 +711,24 @@ set_wireguard() { unset wgpsk_key_info fi - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" - echo "-----------------------------------------------" - echo -e " 1 \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" - echo "-----------------------------------------------" - echo -e " 2 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" - echo -e " 3 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" - echo -e " 4 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" - echo -e " 5 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" - echo "-----------------------------------------------" - echo -e " 6 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" - echo -e " 7 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" - echo -e " 8 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" + separator_line "-" + content_line "1) \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" + content_line "" + content_line "2) 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" + content_line "3) 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" + content_line "4) 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" + content_line "5) 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" + content_line "" + content_line "6) 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" + content_line "7) 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" + content_line "8) 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -595,12 +738,16 @@ set_wireguard() { [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON setconfig wg_service "$wg_service" else - echo -e "\033[31m请先完成必选设置!\033[0m" + line_break + separator_line "=" + content_line "\033[31m请先完成必选设置!\033[0m" + separator_line "=" sleep 1 fi ;; [1-8]) - read -p "请输入相应内容(回车或0删除) > " text + line_break + read -r -p "请输入相应内容(回车或0删除)> " text [ "$text" = 0 ] && text='' case "$num" in 2) From 382a9b7be3fa3636266298b00329b14cff9fa83e Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Wed, 21 Jan 2026 18:33:05 +0800 Subject: [PATCH 121/318] Update 7_gateway.sh --- scripts/menus/7_gateway.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 97745557..b8214827 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -236,7 +236,11 @@ EOF bot_api="https://api.telegram.org/bot$TOKEN" web_json_post "$bot_api/setMyCommands" "$JSON" web_json_post "$bot_api/sendMessage" '{"chat_id":"'"$chat_ID"'","text":"'"$TEXT"'","parse_mode":"Markdown"}' - echo -e "\033[32m$TEXT\033[0m" + + line_break + separator_line "=" + content_line "\033[32m$TEXT\033[0m" + separator_line "=" } set_bot_tg_init() { From 9b7c5e658c7221eff61e4213cc21f0d9dba72a3b Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 21 Jan 2026 19:05:40 +0800 Subject: [PATCH 122/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=91=BD=E4=BB=A4=20~=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=9B=9E=E9=80=80=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=94=AF=E6=8C=81=E5=9B=9E=E9=80=80=E5=88=B0?= =?UTF-8?q?=E8=BF=91=E6=9C=9Ftags=20~=E4=BF=AE=E5=A4=8D=E4=BF=9D=E5=AE=88?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E5=81=9C=E6=AD=A2=E6=9C=8D=E5=8A=A1=E6=97=B6?= =?UTF-8?q?=E6=9C=AA=E6=AD=A3=E7=A1=AE=E6=B3=A8=E9=94=80=E9=98=B2=E7=81=AB?= =?UTF-8?q?=E5=A2=99=E7=9A=84bug=20~=E4=BF=AE=E5=A4=8D=E5=B0=8F=E7=B1=B3?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=9B=A0=E5=AE=89=E8=A3=85=E5=9C=A8u?= =?UTF-8?q?=E7=9B=98=E7=AD=89=E5=AF=BC=E8=87=B4=E8=87=AA=E5=90=AF=E5=91=BD?= =?UTF-8?q?=E4=BB=A4=E4=B8=8D=E6=AD=A3=E7=A1=AE=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # Conflicts: # scripts/menu.sh # scripts/menus/9_upgrade.sh --- scripts/start.sh | 13 +++++++------ scripts/starts/snapshot_init.sh | 12 ++++++++---- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/scripts/start.sh b/scripts/start.sh index e046040f..e9ee6403 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -72,9 +72,10 @@ stop) cronset '运行时每' cronset '流媒体预解析' #多种方式结束进程 - if [ -f "$TMPDIR/shellcrash.pid" ];then - kill -TERM "$(cat "$TMPDIR/shellcrash.pid")" - rm -f "$TMPDIR/shellcrash.pid" + if [ -f "$TMPDIR/shellcrash.pid" ];then + kill -TERM "$(cat "$TMPDIR/shellcrash.pid")" + rm -f "$TMPDIR/shellcrash.pid" + stop_firewall elif [ "$USER" = "root" ] && grep -q 'systemd' /proc/1/comm; then systemctl stop shellcrash.service >/dev/null 2>&1 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 rc-service shellcrash stop >/dev/null 2>&1 else - stop_firewall #清理路由策略 + stop_firewall fi killall CrashCore 2>/dev/null #清理缓存目录 @@ -115,8 +116,8 @@ debug) else sed -i "s/log-level: info/log-level: $2/" "$TMPDIR"/config.yaml fi - [ "$3" = flash ] && dir=$CRASHDIR || dir=$TMPDIR - $COMMAND >${dir}/debug.log 2>&1 & + [ "$3" = flash ] && dir="$CRASHDIR" || dir="$TMPDIR" + $COMMAND >"$dir"/debug.log 2>&1 & sleep 2 logger "已运行debug模式!如需停止,请使用重启/停止服务功能!" 33 else diff --git a/scripts/starts/snapshot_init.sh b/scripts/starts/snapshot_init.sh index 0d566b34..f578cfd3 100644 --- a/scripts/starts/snapshot_init.sh +++ b/scripts/starts/snapshot_init.sh @@ -1,9 +1,14 @@ #!/bin/sh # Copyright (C) Juewuy -CRASHDIR="$(uci get firewall.ShellCrash.path | sed 's/\/starts\/snapshot_init.sh//')" - -[ -f "$CRASHDIR"/configs/ShellCrash.cfg ] && . "$CRASHDIR"/configs/ShellCrash.cfg +CRASHDIR="$(uci get firewall.ShellCrash.path | sed 's/\/starts.*//')" +i=0 +while [ ! -f "$CRASHDIR/configs/ShellCrash.cfg" ]; do + [ $i -gt 20 ] && exit 1 + i=$((i + 1)) + sleep 3 +done +. "$CRASHDIR"/configs/ShellCrash.cfg autoSSH(){ #自动开启SSH @@ -78,7 +83,6 @@ init(){ while ! ip a| grep -q lan; do sleep 10 done - sleep 20 autoSSH #软固化功能 auto_clean #自动清理 [ -s "$CRASHDIR"/start.sh ] && auto_start From e8651591ff419faa371b2516dc85cf6df742c0db Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 21 Jan 2026 19:15:49 +0800 Subject: [PATCH 123/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=91=BD=E4=BB=A4=20~=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=9B=9E=E9=80=80=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=94=AF=E6=8C=81=E5=9B=9E=E9=80=80=E5=88=B0?= =?UTF-8?q?=E8=BF=91=E6=9C=9Ftags?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menu.sh | 20 +++++++++++++------- scripts/menus/9_upgrade.sh | 15 ++++++++------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index c71154b1..35347807 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -248,24 +248,30 @@ case "$1" in main_menu ;; -t) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - $shtype -x "$CRASHDIR"/menu.sh + shtype=sh + [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + "$shtype" -x "$CRASHDIR"/menu.sh ;; -s) - "$CRASHDIR"/start.sh $2 $3 $4 $5 $6 + "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" ;; -i) . "$CRASHDIR"/init.sh 2>/dev/null ;; -st) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - $shtype -x "$CRASHDIR"/start.sh $2 $3 $4 $5 $6 + shtype=sh + 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) shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash echo -e "$MENU_TEST_RUNNING\033[32;4mt.me/ShellClash\033[0m" - $shtype "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log - $shtype -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log + "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log + "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log echo ----------------------------------------- cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug if [ -s "$TMPDIR"/sh_bug ]; then diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 5c2f5d37..256bbadd 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -1374,16 +1374,17 @@ setserver() { separator_line "=" if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then content_line "\033[32m正在获取版本信息......\033[0m" - get_bin "$TMPDIR"/release_version bin/release_version - if [ "$?" = "0" ]; then + . "$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 content_line "\033[32m获取版本信息成功\033[0m" separator_line "=" line_break separator_line "=" - content_line "\033[31m请选择想要回退至的稳定版版本:\033[0m" + content_line "\033[31m请选择想要回退至的具体版本:\033[0m" - cat "$TMPDIR"/release_version | + cat "$TMPDIR"/tags | awk '{print NR") "$1}' | while IFS= read -r line; do content_line "$line" @@ -1394,8 +1395,8 @@ setserver() { read -r -p "请输入对应标号> " num if [ -z "$num" ] || [ "$num" = 0 ]; then continue - elif [ "$num" -le $(cat "$TMPDIR"/release_version 2>/dev/null | awk 'END{print NR}') ]; then - release_type=$(cat "$TMPDIR"/release_version | awk '{print $1}' | sed -n "$num"p) + elif [ "$num" -le $(cat "$TMPDIR"/tags 2>/dev/null | awk 'END{print NR}') ]; then + release_type=$(cat "$TMPDIR"/tags | awk '{print $1}' | sed -n "$num"p) update_url='' saveserver else @@ -1409,7 +1410,7 @@ setserver() { sleep 1 continue fi - rm -rf "$TMPDIR"/release_version + rm -rf "$TMPDIR"/tags else content_line "\033[31m当前源不支持版本回退\033[0m" content_line "\033[31m请尝试更换其他安装源!\033[0m" From 8fd77bb66626443b68c93209659e93ff2e3e00f8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 21 Jan 2026 19:40:25 +0800 Subject: [PATCH 124/318] =?UTF-8?q?~crash=20-t=E5=91=BD=E4=BB=A4=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=88=B6=E8=B0=83=E7=94=A8tui-lite.sh?= =?UTF-8?q?=E6=9C=BA=E5=88=B6=20~=E6=9B=B4=E6=96=B0=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=8F=8A=E9=83=A8=E5=88=86=E6=96=87=E5=AD=97?= =?UTF-8?q?=E8=AF=B4=E6=98=8E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menu.sh | 6 ++++- scripts/menus/9_upgrade.sh | 50 ++++++++++++++++---------------------- 2 files changed, 26 insertions(+), 30 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index 35347807..a04db994 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -22,6 +22,7 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg # 加载Tui界面 [ -z "$tui_type" ] && tui_type='tui_layout' +[ "$1" = '-l' ] && tui_type='tui_lite' . "$CRASHDIR"/menus/"$tui_type".sh # 加载语言 @@ -247,10 +248,13 @@ case "$1" in "") main_menu ;; +-l) + main_menu + ;; -t) shtype=sh [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - "$shtype" -x "$CRASHDIR"/menu.sh + "$shtype" -x "$CRASHDIR"/menu.sh -l ;; -s) "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 256bbadd..cc1a8591 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -37,20 +37,19 @@ upgrade() { content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } separator_line "-" - content_line "1) 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" - content_line "2) 切换\033[33m内核文件 \033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" - content_line "3) 更新\033[32m数据库文件\033[0m > \033[32m$GeoIP_v\033[0m" - content_line "4) 安装本地\033[35mDashboard\033[0m面板" + content_line "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" + content_line "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" + content_line "3) 安装/更新本地\033[32m数据库文件\033[0m" + content_line "4) 安装/更新本地\033[35mDashboard面板\033[0m" content_line "5) 安装/更新本地\033[33m根证书文件\033[0m" - content_line "6) 查看\033[32mPAC\033[0m自动代理配置" - content_line "7) 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m" - content_line "8) \033[32m配置自动更新\033[0m" - content_line "9) \033[31m卸载ShellCrash\033[0m" - content_line "a) \033[36m鸣谢!\033[0m" + content_line "6) \033[32mPAC\033[0m自动代理查看" + content_line "7) 切换\033[36m安装源及版本分支\033[0m" + content_line "8) \033[31m卸载ShellCrash\033[0m" + content_line "9) \033[36m感谢列表!\033[0m" content_line "0) 返回上级菜单" separator_line "=" - read -r -p "请输入对应标号> " num + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break @@ -82,50 +81,43 @@ upgrade() { setserver ;; 8) - . "$CRASHDIR"/menus/5_task.sh && task_add - ;; - 9) . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; - a) + 9) line_break separator_line "=" - content_line "感谢以下项目和作者!" + content_line "感谢以下项目及其开发者们的无私奉献!" separator_line "-" - content_line "\033[32mClash项目 \033[0m作者:\033[36mDreamacro\033[0m" + content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" content_line "" - content_line "\033[32msing-box项目 \033[0m作者:\033[36mSagerNet\033[0m" + content_line "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" content_line "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" content_line "" - content_line "\033[32mMetaCubeX项目 \033[0m作者:\033[36mMetaCubeX\033[0m" + content_line "\033[32mMetaCubeX \033[0m开发:\033[36mMetaCubeX\033[0m" content_line "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" content_line "" - content_line "\033[32mYACD面板项目 \033[0m作者:\033[36mhaishanh\033[0m" + content_line "\033[32mYACD面板 \033[0m开发:\033[36mhaishanh\033[0m" content_line "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" content_line "" - content_line "\033[32mzashboard项目 \033[0m作者:\033[36mZephyruso\033[0m" + content_line "\033[32mZashboard \033[0m开发:\033[36mZephyruso\033[0m" content_line "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" content_line "" - content_line "\033[32mSubconverter \033[0m作者:\033[36mtindy2013\033[0m" + content_line "\033[32mSubconverter \033[0m开发:\033[36mtindy2013\033[0m" content_line "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" content_line "" - content_line "\033[32msing-box分支项目 \033[0m作者:\033[36mPuerNya\033[0m" - content_line "项目地址:\033[32mhttps://github.com/PuerNya/sing-box\033[0m" - content_line "" - - content_line "\033[32msing-box分支项目 \033[0m作者:\033[36mreF1nd\033[0m" + content_line "\033[32msing-box-reF1nd \033[0m开发:\033[36mreF1nd\033[0m" content_line "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" content_line "" - content_line "\033[32mDustinWin相关项目 \033[0m作者:\033[36mDustinWin\033[0m" - content_line "作者地址:\033[32mhttps://github.com/DustinWin\033[0m" + content_line "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" + content_line "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" content_line "" separator_line "-" @@ -440,7 +432,7 @@ checkcustcore() { ;; esac else - content_line "\033[31m找不到可用内核,可能是作者没有编译相关CPU架构版本的内核文件!\033[0m" + content_line "\033[31m找不到可用内核,可能是开发者没有编译相关CPU架构版本的内核文件!\033[0m" separator_line "=" sleep 1 fi From f4048b4b9ca47781b71b2b35a16f69345e7a8919 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 21 Jan 2026 19:42:12 +0800 Subject: [PATCH 125/318] ~1.9.5a3 pkg --- ShellCrash.tar.gz | Bin 134021 -> 134349 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 479211c85ecdd91789f6812a949d41cf44289321..207e14a0f5cb96385a1046aeae45f77115bb40e5 100644 GIT binary patch literal 134349 zcmW)mcQhN`|Nn`V#Hd7&SQR3~Y7o1FAQF4mDnaZ$szZknDg=octFY z{bKBHRf6-anN`$q=vyVzm7m$*59DnjLkTQT0Kd2T=kHAaa9`Oc%j#a)O4eN(PBgLb zyRV-J3-BKQsqyE*<@R@{ex$@klbB<#JuL2u!fwej0>_u~$Sr!QR7zP!IR#D7BWRG-0% z{jbtHWol0Xu5~{f`Isx0v^k}GhKYG}>hgBMGs|0f*M3n8CWgOmZH+xBdwBIAh4YT< zcuLgAq*pg*LXUdvJ5K*iJf0wl9>fHmy=2( zn5&_Nw#sEm?d-cB^iLcw9m$dXpIda-gJt;5hiln#e>?8|=KcWS!x~>p&7{eT z%5>Eh4j#{}6$;c7lRz64^g_~eRNM|xR`{2Ibbs2#+Ihk-?k!0{B6QSPKM-hsDM<8q zxeL!O_p@`3%?`z6m!NJ-uA<8W2AO8(lDLAX+^n??d6Gk>+@=$^A=U=@l9)r$0H-e) zYysB8>bj-6Q)SE*o)D2tkeE0L(c+q+cB`3z=U(_vonR5zfN`9gozDXe-O#pj4dB(= zWsrXQe!daTB8~s)c)QMLpYQp*6WUf{WLxe zaXdrCN$kef0PN)o|5&vuN#RZ(Y6?m<&w;3Jy2rTe%Duh5(y?J;FX8A0tqBPYv8)`) zf121p;3t#twb-6;4?pj673vRQt0Uu1c8yC9pGn*7Uy;c;v`L~AwentBAlD4bau_)KQk)^pQsw|d>$XW0GFM%eX&Dhp+x zEodfGYfke1Pggew{-G`Nh%#Rg7cgvL9@?=Yj;Lt9 z>Kb4e>0R0#`KI#?nNmG#}gEuJU?!o*&5m3OK<6~pSq!Fe3ix8Xh;DB@zxCHGb4{Y z@L=0d3H~9VQKv#|ZEI(70nRSr#i)OPpkv5Ohm+pOF>Y8E97K1LDiecS!nDC+U>&fa z6QkH&+$MAe(@w~0ss3r-!F>08j%*kSrsYt8MC+z|gv2RQ#3m?3vBzDhrkYOGj@5it zL@zDOkMuVF=43E(#|mggl67v(#du0+6}J^EfwSXY*Kzh!z!H~Lt=%&ciCo%XoqWBl zFMv4%#b>0Qy1EohyBk3iG1EI*SytS;qOEdc40Hnt1HbR6UF z*hn?Km>SjAO2&XV4jm5mIAyLHA1>B1NQq3qXU~$P%lr`){$ho!kqYW^Byla(Ki=*I zJQl|Azq8v!c4Exp%mag4WI00|`l)$^-1JKXh1NiSt+H-FFbEW^m3wQR{h6OO?MHi8 zsUPS4(feymlOJqu)Dh}bq3tB$V++{n)nq}qgX(T^hJBE8npb=Cgw!1z`3~k&zlAm{ zNH@V$Y2!i{46#31{^R>Widtoj71PQFtPwg@p${nfaR3n9g}wD7DRgh= zXVPP#&-g0MFPq-r@1gpiEWIaGqyxyN4rwbgI9G-cId*Cz6*v77wvYa256lXY-^=KC zgxOI9CUBPv4c0Ki!FHD==I1<8)k^ed=hjrzh-6bgSO#n-M1u?cDy&cfEJ^t+A*{@x zKXTJ1ND+`ZIr`+F-jw^Q>DwT5MWWeSg4td|Jk9PJcq6a^ey02)r)6;Z!b`dqtCnQkQGX#`_DATIVb^>Tru&Q7T%OO)z2vr{% zstbJ>KPC}eCr2sZlQA{`g>P3R&oRm~QvcjJ`WXlB}m zPDx%>*mh4d2H(tx6V2Z`-6zp2k_v zWRK#5(h(_~%8b-dJ2KPBUDTZbduMg{Au{Bl-fA*7-h=I!dQ9jF%PHxaWQl6$@%R0F zl3)DG?MFp#kSrRjdI4x&G!Ca7d?H7z@DiPHZbK;j2;^M|Y)rgEfR*SWGczmuKe*csMO9?`I3SD?F6kP%izPyErpe(vfnq71; z7`?MGyKf4Wz{OD~L}y?jbofEMh;zl+4Aua<4t;OIg|!;je09ix6k%o}$f)`etGPgz zild3!h9^5xwez0E14pmFn>(M=%n_&Q3J$nuZ@ zH{fuJqPkWlWyQ~&N(=hrb#YEvEivW_%D5d=HDfy>gTyX$o7=Ah&uvTRo_m+X!v7ap z=)*-f5gD4fKug#I>^;#)huclWcrXXgxu}fn+4vR-xAKT(`PV*xsB|3~X#X*l*Ez+f zy=<39*VhY(`?z$Ap3dJHXt_FSBniy`4-BiY5i!c8M>0V4N0^{k1;QsNqr* zNl-Eiq2p-!U|8GvQgVn4x2L!Z#>>Aa%UTUk|KqcIQNELzil&l-A}qW~UtJiH4$7%u z&QdepX}LPQQB!NuRR@RFmt@fEp8tN7%BMjL7uT)RP&I>Q8IP;@r~LF9k&M+Ndmhy@ zZmNUPSr0>+#;rzD%@@_qnm%;VwIO=Wi-G6jzJ7VpDQ{SUizI~yCZ0(X%P(a{2_?>j zU+o|2I|2vvit@~!jmB^-w5DqXXL3}trr@Ml^oIzWR{1!=5}&} z7Su<@v5SEU&hdguak}3%yDczLeA?U)VWF?rii;Z@wYVOzx#3?=afJij%2r~TDcdIi zyJKa7qI;3&09U!(h~JA%f+QYOglhAt7RXwM0{|C7^Ht0Z2NP5QF~qJJ97Yp}y26&( zqSBA?s*>RMbr#*dd{iRTb8(AhfFZ}sqg;in&#M`Oe->sFo3QPfM3n&8@;7dJXh?+< z3)1Ae0S^1nUiJFM`F1wd#X8}5$DQIAy15DhI%UVD^iv9`|Z=A^U83VT~%1#q!3;lz17d7KIrdgQ&20z;sack1{U8@k-Fu;^Ib_KYVY#$9$X7 zLLQAcojE~SZ?dU+$v<>c`>uBCpbtOl$dTi-)uO>=MT0)!z)usFtIvx3EuPAWZosEaQM7Q|67sLo8OpY zS+*e&Ww*Qh!>>$jkE_V5rE_(E&$w7CrGZ(*kAp9Q(sntF8 z1BX@P%>psCRk}lG-JklTm%4R?v>CRI|H7eTR)^BZf}GDfNNa~T>FHPE6qsLW-e%r; zOT-Ugsf}pR*WTIZvnOrIBbIzqA=d-#C?o28s#@JwOyx6r#COIydPDElp=o#iTC0n1whYEN|d1c?t5kw zm%cow|xjcCJ|2WrMy>e+#>NuIWMK0ap-CJG9-QxDjbf{=iW}j;N1#ij?q&*Ef$7vi*Sf z3aTLjLfr9CdH9`NB$;0x2->@o`VHW5B}k3Yqon#6FCM32^#myuolM9H2iDyW4E@@g zk-Wpgl}^VXlnw%e?0cc(z4Hv9vb>@-Pv5vq;8TC?AkLZ>C(zp_zGH64pzibbg(p~D{fOe?H`7UaeheGk38HMYW092Vwg!AwJRnAHjAL4`e1Yn5{bOonL>6Sd*z{R{PC z{Es|IYpdQ1Aa}AOPvIHDlV)-Tw1@FU){I|EYQvE{&UrzOXNekg?~rq1x8S84RatYF zebXMxcd|GymoTSdt*k3n#ReWH(+E6ygZC`-L@yXw=S10=1|BF)&;u`ChFiPvkWR&U zIz)*>04sOzL6I~Ye{ED?TJOCGtoL;HuvMW4DHtj<1a)C`TGK@P&KiNcv2`p;iKlMe z5W=G;mT(#NtqERKq-!N*C6O{@cd_uv1ets%rT>uS#cyk=}D7Ec^h?aeh;C=Ku;MPl2ZfKPH*dFG3ru8Wv zg=|5WmvgFHxbc_eXN@GbLqve|%X3nLWj~@4i7JJ`<}fLb_Hy=ar$R2{q6eBj^BUEs zA1Eb>s|a-+97<@lZkx_Z9glL{kkQaRM6=M1w${_K`KiQf3;E*ZXqoH0Ho>$tdI+cic!%~71%Hqnu( z&YjM=!6kij<4Y{h$9I?ZU1pd|N32Bej+?2~U(9(Q?-^`@JO&N7k}g>_CfG@ue6ae7 zcy%kza=$St^rpTQn8sm9_O{_y?u<%_UBaHAc^8+sEOT=l?!sIQ0IyDDldvQo>}65E z-fF%@KX9hB>W8V=pc!UWXLK*l{A4$A@BRtSwkU%BQq=qATP<~P9bH^>$1OuxU8mU7 z7!jV?vo4zFj+lGN4S!K5gn6P;$zz6a#B@-Ep{E*zF_oneJ{Ho%j5eFS!&=THH{_3i zJgAqWB7iyKf6e69hDxpJ_?6CE0F9I@EMrim^$D?#uzdJTwZ080m}dr`1v*>Et1K|5+TUmTZr6Pm%Tek;6>iccEvn=D za`8Jc?a@Eai>%94)MY+CG|qZVmymc{cRZOf z7aAH$Dek}_{$&bTB#rp)5$=Y{<6BYnO)Y#_#M`DiK;Ne|a~DZXhJeyHe2@rA4sc?I(c!Z;noOP2*E>QS+>H(VU?nJ?hi`RfnkZ1v zJU=IWH2buZdFb>Fq3Rf*x}PTZQ*-Rpgsjr*R!5t&1)b{?fhJ(~rYXs`*f~s2ZmigZ zAN~O-YZK%#rE=SvS=o$)*$HJ_F!O6SQy49?R0JS~ai%YxL6z&)XbH|_#X36;=g2GV zAP+?~74&@()2e9|DP%hC+TQ*%k4>9D>fL?P`9pLyHCjN6P==VhsX~)6pBS>bowMo| zgg9sQhg_HeD~Nhx#*RFi^^-SL)aOs0PSYk486Y!to8=m4-a|vvU0|T%L_e^7dH_{5 z5tA?KoaiulZUl)c98$;+#v9+CB=%%;+RX@gWU{2wILy*Kl?Q+b7p)}8CY!XJlTw@; z6@{;PEk7wqCuZi5L>eiJRGUomR~J^4@R^?Bp66AN2KnZ*Mx^f&>QjDgQOEn4fMDF}y-Y3DWFQ2r z4BGw{GeZAbkZdh5{{->ldfeTi^t%-3Cr%+!I-b+e)G8binSA^>}j zs^H-WF3GwwB|{-Dw6%@Q3A|Lw>;G9OJ%2mWE8k8=o>QR9Wg`SJx5?Xhm+ucBLUM#s zUVpfBq3V+=UsvMcr%{k{n4|pcP0EKtGRRdPd>w}vvmk02#)1K*0FFmuTNBL$-Tm+$ z9a0_R&%g}Hq~G}>KjID8qvy*tq&s3HNYt~4d`p@8q~0@yqi=(}*f4}X0`KV~c>+|&d&NI?Ev@BauD`oyyC!GR% zYKs|{o<9*n7s%)AD%dLqJGndSS(A}ITB!_U-tN6axBQNnkD(q}uQiDH{k9vp>Tq@2 zT{#vy*G8DiCYgRH>l%UQgzntWhb2N4IjPo>vA5uKyK7nGr@J%*E^!o|orz{Iy zo7h<8*Q(o)%w%>JR?$b*vE6r#0b1TSU)|w)dCE?{=OvdaQIn76QE1SHQd;5`z4kmZ z+A8E*D0h4NgJk*_;rsk&85#dFS z4@lhBPOA4GNHD64l^2)v=4V!&xoak+PFok`W@vMX10Q~5ER`7w(s}u51+&Fq0}CB> z?HiYj#vnyvBgO4raK?;~GE(_YU9c71cb4hx$6ij)7n#gzirba-^LAm^!=OmQPh zyDxiL}u<^w8ZIk^0c&hb|uVe~6ypq8qM zC`YyqU1$f@ek-(+AMX8D#%fAd=(_Womf`^4&tQlDxVWf*T_q_&mntPGkA^apOnz;s zQ7o>YmOt)41wXuY0PZ}87$UKL8F&f>o({EWi@yHz;>~Su?Nv{LG*adk*f8)%23b$oR;2=N81KIc3S-Lu6P?-{`n(z= zQ~y2FNkvF#rp%V&>#dLaIbCWXuooZzrBv#u4x+;Y?a}w0{npH-)goN76 zLQKyT=JkHz1CblX??3F~a>F^~StpFg@|@L*3bA8=Mj0ch1Mstk1v#ZLFl@H0MlAw2 z?YKGwu#6a#bPJ)lm_f_TYN>7sXP0Kq2ELXtS`x}1xMQxgQ@2@BT(L4?4P6%NW^WJF zYxP8q+wsGK>@K6IM7r_P{nxJjCKWy=;r&Wl{w<&1C0DUtPQER;EnkhWD|;Kt$R{!X zZ7F+Au*a$N&%uGt@6JoK&@6ZS=zM~-gHoF}-c_Yi!58gD09uyBgG*vtB6@M-OXH&c zC5$DRPyfIcI#2a^V>0n8JdnTZ?|_4!{7tWKacCEo%hEm@yk3d!Yb|dsA};Fx`oX}$ z&5pf5;cj!I%nNW#O}#Iro_@xl0z#G^XH=$)vZ{{sBfb^~N|px-KdIvDy?j1>T8w|l zFyE68=QagxFigkcMl80zk$O`>E$FzHp)rK6F7A0&b=J;qY{|INSn)Bd2%jJV=w&pt z`%Tr;>BnuoZxo+f{32I{`^zB5_&vLv{c3Zu)KMjvorKc63Zn1Daek@iscbjZf~D0* z;T4V*H$;MPkJy+&vWT7R{-!Ss_Fx)Q`K=J4aXgYMOZ0&jv{8^T*#zQ~yRkGFIB!tB zmca5)y4xI^BAEG%psuw{6Hl=#bbp~`N?lSiNM}7g;htJfW%@J4NFbmxa?VlVz#gY# zTga_4Gibh23eJlwNtTdLiu1G^*(V8>Zh)h z>byL(LSDvxzhQ$9|BYl89pmk_{JLNe;>Z+p%KEA=K)f!~#!wkMsZvyY>VC9S($r&N z^NBzUY>7pN!;%{ipB1JF+!iiHGmJWUyINt_+Z;`P-yv}8NR`d!0wQ`B02BRQYuJ<| z%_-;AQ(Uj!YLDF8xZ9fH@b)vk-76I+q?@-ZtUDaWjpEi&vFJ4JF?zdHiaOa+?YN+s z0_M@FDE}I*f>x5ik~O7ulc=Y?F$0+^+Fja)+EbJw^f--it2#3zu$E3NXHRGt?NZEZ zV7{+=%X^Xu)|%CqoEyk^{F78F;Tu;y*3Pz92D$^>ajz`(E76%6dfhkJDW`$bzO4)6 zL}+BggbR|1np68?2tMbzCy+gNwqN~}psgXvB&i4u(@WZ$SyWG__uJ95_f1{#1Z2Cc z#9N&|r~E*I`Fiz70>>S+|B$Re%+1QRV;4v)XW~xi%%lOh)lqFxZN$r^_wVJBWIhj> zAd;%P5f&Ywp#gtpWm$G!B;J>=qW)QQ;W4zb(KdD{ZTxDllI5Zv!1mlM6CcudqLj} znvkUd>KqIzo{q`6@j=_*mxrN;f4Er{NJ}cb;S4siyXsGw5~U`z@m<)A_WeHhDHWT} zREw+ai<;bD9tR)h3fTS_NICC$50XIPu>7b4f6VVe+$i_!O#ULPwo(9|R|lyLw|RRd zA4(~sjFvAc>6JVHuaqLYy2KX@&c_g@%xqlzA54mC5-;Pv$JdQ@?H$ajRm^_TQavMl zc(HC*LL*xAsVR7+wu_yvVLVOp;hRxY+$do(XWF-N%~hUO=*C>w{4uE_FL#Me4_xM* zrdF(t^o}aoMnzYO+dW&tXgTaiD9WZKFOvCV@Iii2iy;)O+zpx7HW@iC$^ND}lDCnt zT34HL*Cn$Wt+GP*a7L}Mp|0CFt-{-9GVNiqI(x-L6E~mvz4~K=S!8EYbjob_1yK90 zulof(W`cByDsz0pPq*fZy8OelXmGd-#M38fmUBRr6g;m6{AZQ6f*iu!% zqEpBL(mhLKKDe}W$6+!X?J|~{$dFQfRi1uLFepvT+ndRF4loGBT`M+#Yj6!+BFuXU zm$L1yS>QKHIKy_=ww>*Z-!3F`^yBqCq~HZol*Ln3<8|f~uDGLMAq+j&Kb=+Gd|%=<>PD2Uq933 zu4IZMr({x3al-KHqLWq{2N$m6(AE!oZ?$6$8V`F?Gj{B*xtX7+i>ygIs12|s5{m+^ zz#OUS3HcNb3EwX(`k6y>WPGr%NG!PO3*FtvI0svVxK^hZf{LgXwNIA>;f9Rebg=&( z9~NDZGlq+fbe&kZ;( zC15J8F@r_ojC#~U6a_F&H`n8zfi^%$;T{jDy;VZC#W+iRcAG1F&gzC;dpp0$I!l7E z9aOgA{7VETC&8nXNcMrhak6oAih z)DUF5>|ttnPsP)h@T6kB!Fs~2U(EC4iBrp2$A+n&<65p_(vPPCpGJ^|_6@UT{=0=x z#;6e1w^NjFpvOfepNC~2}1&gVHgT3pxbJG>z6E>%$9By0Wt6|+fX%fsospy1&t6@z2B`_Blb zryeTxmgG)7@BBwOwF@T0!j!rN3<#XN-1P>51jm&3H(Z^ep0`V-biDp2bM@Nmx2fa$ z(NA>~=cE-abK(Vze~Q~(1uH*dH|J@6aOfZ1(^0;nl~cld`jmKWDtYcM{K z&Z?9M6=>=jg-W^HBD?nOVQHlo6bviMzm>> zs#w#mOL=v%sZ(k(*0aAw_gp!0Al5IemERM)uC^x%BdK5-@i?;bf%#&YRLn~v5PzzW z`I=+pJyKEVSM;oUxIa4XsM}}Tl`${{e06*1#|=niN2z7E^6(>27*wy70=YNg4|#dj zo%%=$-QJkf&D2Uzp?>sPzsU5g>E;HPi(|S1w>tko8iSV-xE=hr+(0>nO3391_)8W% z!Xk*u+ih)SQoBl_b1=5qNHm{(Wiy>5ZY%#PKpeIPB<(V)x8RiG|u#YAfoUU{BZ zviyFy$f=&^$M;M`Peu66xh<+Vi;vsfjF6;9Nz#{wb$(8sF%^>Re04ftAYjxz^Pfph zL2&4<{p>zT7~zmK=oS;@!FDM0ot5H8=e(nTOl)U0-ARx;pJm)mURm6k#5+hq&J&5 zjr%tPyYAh5&R6sUgUwd5ywmJqv)I+I+2w86_jLQbfzwHqy9z=Y+9Z?rh+NqCf80Vh zr}a;ZYd0#U#HE7sHEUij9p>L#E-iVhf9+j-3ec}rf2hd<)OVe{t{{EhC-uw!v^Ba- zc_<%UO0Qy2*3VC*Q!taK3zUSvXi7Lx1GXU=T6vuuc>u->Fv9wJ+W&z4Dm*1@e>1p9 z7%T~EwEMGwIdgu>zVh>Q?eX;XrluIX*tLa;i+BBLR~t$&lPYxPsT*hpB3CJkda^eF zB#woukvIACK`Jsf%+-R_Hj9SoqlLKncTPZCnv;&W^sP$WP{onOq<7{1$qFgd6HfDa z;M#@lLw9vQ^Qo-3-d^YMPEV2EY|@i*Qr!bL(=T9|s{aPPLaJV! zQ|i+(_s7N5e`*ZL^M$S)c&$&ao(WCWdaOrf)BKE0AZ>6 zJAK*#Ym4a>F@WKM(dp9-9i4wo8qnr;S(DT379$+ebQ(hCG^cN!G%=BG`~+k<5~aQ8 zX6L|;zj`9WPVL?9L&CQVH2U8S&7RzMimdgqy|ZCjF%&fbimg^05FF#(R?1ic`kLg6 zVKExwYE5U8Qwh?Iod{_9v_6mSjI6g)#C|1iQP3tp`O)g*r%k|w^Ob+HmWF9*m47%G zE5Cs1s;+|9pCVqJ$)JU$dcL!3?0q1gtsOuDw*XI8WjU}M-9re2t|seyIysX`?{eX*oVNe&H>c zs1Wy&D=p@JD-yH=8FBQt;>gc(7Bco%*4YLC8e}*j1HCJh{=X*!ehEo{l}c;VTBO6$ zfVtxmJR_v-ePfr8GkC>I!xk$gXN%>`iB=db<(POzLxIDZo2}(8s%IQcOdLWAh1P&n`8K zDGD$Ta*In42-tUYyQ(&-KzUi}q$@H6{Hk5C!KbTpnsc;_lxpldOE9t z4rKBjtY3h`F2TM)Ao=3X&Ca3L7!H&nr=ubKo{wtK+iJaC7?AwP0X#!RRElj67lb z-DNlN+#03qfvf&mn+!%jsp7x8gLj0654zaXwF%akhwxHsl?uOv8^hPur$zHKbet>f z`Yw~qVwAJ>S5~WgmvM*nH@)Bd4^`~&wnZm^&V7j@oFq@g^(|IODT~a6`~mtc_3iWZ zp*Q8K6M#X{wmMtCvV+!dad z>d=~+`27+gx`r9$dg+wxY6e@}Bx9biy8;1weV+}D`rF-HhOWcLm)B3(i6z9i@g}*V zfFZY-ZLoto?BrG6k{|sAH9ev?5Sc6A1g)UUf@jim3P3;piwZfQkM3N0*2`N_qdVF4 zx5{{)g|P5L+et%aUJnF3tJnG>V+LvCw1R^6DAk{jcUWg~9$Y2+g3FQw54p(?%7Y-6 z0xG-s@4tLXRl~+>b&&B@_u8EuJ|;t@F!p%GO;QNOps1(4Zj_+?%s}z6#=M(B?Mtth zmi|dOb=cay1KYZB&cBbPBk+H<@*3t{E3mT5!mEaV>fDcMtv(fmM7aU6J>dl7?|pyt zqs{hmjluLvhmbEMs8sEc%~kgY^21HX#wKb@Wv^vctcO|b)+p3UT6x$c2zf-voZM}D zo9){N;mXlD_RrBt+Qn^?l}|lU(aW!7Cw>u6{5AZIjCZxh} zO-We)bH+G*`sLc^5`>WPpmb+&{IB6bsvd9S)*`bK**`Y^fpTZS3PS&WOy^wg%#swnQ8(g(EbORThxIP(U5 zlkHV))9<1V;x&^kxYUs_+VCs=A$D50H`-r#*u@vJKiC4|v-PiMp6s=Q#_=5dO+~|x zEG;@u2*yVUOmjO4ZZ3W{gaAE^b|8uA<(5lDW^zog2PYNoCSIcG9&)93aKf$?o&g_n zx%7Hu6&ocko0L%QeI=DxQSO@LGR`)h9P2ndDs(v=DSt-C@U!AssgURA%E;(*b~D97 z5a1Iue0FiuEG)!n~b2P@z35GN_SY}L+sC(Toxh#fT8tD{nK zy~A9GoE%CYZZjoU7mivuB%dUD4kD~idOqtORTPxYuqUE8) z-D9ya)YmeSNUafG7HhW~SM7wm@R{#(!)<7lDK{(N1f`7p%Tz+Dwv+BDycwzL&4_snGf+s5vbuJ{clVzTt6XhI= z0b|2t%~T>1a``%idwNmbis-6Xb+zh446^#1r;t}5Y`rdo15oO{ea071&abkr z;Kk_|N7Uf=F#I8}m70zGcwVJ4U!92}5QP44x*fTvU;UeU zOBwg;p>BhT!z`1eD*_RB3ji;*rYgEh&qBQH)4KD2r23eYxtcEL9S=ykG3jtz8=5k_ zuF&le5!jXHm~bdeIs(s#_OiecLj!lI_rUf)@kb>psQ9Is@f!wKYkJ816Yy|USLu?}gh=91&pA)M%~U<5$vgrgPu<3Q zopsd*-{UcP!b(ss(%*77G-Wtl_=ZSlwM_H92FB|caoi2xoPh1OR7#{b75)#<8tr`r zxd!|l^UwJ@uI8C5m#r2t6V9(AQ2R$L!ClNir^nK?{kF^OK!q0kEB{-#F!e7zopVmD zX{)Jz9ID=B(9`T3up{SHA@4nP;yCL|{g!&NPOnlJJ-ozX+s)J@{%%7|#1<;$&XW@! zQn!Yi_BkhCI1#P&ZG1j6vo?v@O`Wm-p|Nq(T>T~)wg5}F7I6cu_s%Bzmq@BUtQU51 z4pXxym7F`xFO?9HHL)pWo-NV5d#l!U!j4NJOx;DVy5Xi1Q>>1yd>h33|CzQ0ggdBJ zzx=w{xI5i3@x`KLRU3!HGms%_inipk+X#RUCx2)a9+D#O9Nlm`%u%@Xyj({YYbb{#Tr4&fU3uGFvgcZ4h zENJ(XO$NfUpwYuzq_6vylbeR32U=Y}Yg!2*rXW_j#Q650tpZekM3GyTZF3w*G3YSi z6Y25hF?jg%^NkFx6m=U&?({?$FYa~*U-!p-^8ly#+8TNP-)zm(rgyU1OHT4-Q%#O! zMbaui0mUWC#rp7urs_5S;7kJ|5Z6c#5?8{Eg>I8qTbAU`B)mi_u5mtFyFULn^UYcB zOzpOw?2HddSK=n!P~L7%&Om^sL);M4s!xIHh!jU+TCGZhL3OF+#r08;gptxrh)#}~ z@~i!&VbU&H|75*^#m|xN4Uu~?N+@+Oh8}7~AloRGbQQR6zRmZ)+oqx@o~@vK+Gi&; zEASG{+VepZCuB>p?50+u7yJYG@UI}X0!yeWn7bKGnPaf&CLFkdIy@be5@^*5Nw>Qb zQva9(?XNRvthcyVa2;a2B>WVkS(+AV--(UGMxKmc4ruEWYPdS#{(;;$uq3Oj{J#az zgbmNYGe{u>w$|}P`d=XQ3H>R>a=rnlji_H8D4%Bp72T*?J&CRkB&s0@BAS(i+0AWJ zW|S-3h-JuHEYebz`MAywkkfe6uf|(}NODZ)O!p0|oDUjgDp)WpGOMBC(r0o=e*m(# zH!`~aH|uY{G<3?5>fVtn&8Nr=*ywXGRUM$XRY|CrUX4mP>Pq2DVO@~)7?FF*%fUkt z(K5@m-5UB?A=teun^E4T3G&%%Z^K?kaBG@fNiBd+oKVa^N21KSM~JJ$+O&9%@50o{ zuyy2WQ*^v#-;X;7oJ>ysdM<0+{hENc z(NBwuKP?0`EP%c7%WYBw=$=AJ3;6+>dHUw2!Vpvpg}a)L+4lV)=c z0x$WIGk%D_1zhl-n*0pwd)#mTDO=ujlGDXN0@h!p4tWD4S1FTne4hA7ccszEFWF*Dy^6j;otNnuh~k+5{LAst^RTqC_=gqJ(o zCZ92Tk}=~A$p?tVHGch;_F78p8VU$mw&vr`)=4!{i=z5v0QsiVY{WP0hTqQ7s?Kd$ z@Yg)dvY(lw6N5G`tdsM(^&kNln+Oao#wdkiwt%|R_jxX7<>o!rht;Jf3PmeH?GyL7GvsmMIwxUv#>v_+r> zO0p?Jy5_!?289;5_G?JzFj#FC_IDZHG~QLMI*`n~n4U_Q82l?axzx7%;)igvZ!UEr z_(?r^RtWlQS1Zs10a?McLz&5Ef`U0>3m*X!iSE31vK2^~jWSFUqEf$PHFmBp zCHUA-Dis})xJf%DugWTzL-8P40`@_`yPf>Wp zC~`>a@w7XH$}e5&;%EF@=^wctT^zs%c$US!3&qwRlDxzYW8q?_Ov4>bMspP7Z%2!I zMnG2{OOz&E*F7GWuXkat=EVK5iVdyl$^pSvyTUd~ zzBE*+GIY{8Zx|Q7;m9VREU_{wsbQ!~wM;qkYF`--H1Vq{NR9zo5b-wT@qX6;rwO9( z>vtc_KQ=@{PuL%YIY9kSiZl57lfOxyl9D<t9z-Vpq)gOZsXkkkXIJo-Cvtx}uYj zJ5!N69r}57uVl59MEYP;fx6JpR5W z@-Q&*vx9Dr$(Ir+eT|eekQuYdKUUM_WOL#wJaiqp3cq-(m`We7s=PI)+Z@?$&2wlc zT2EVf)_f<{k<|vx1^GfG@9}l`W!a;$ObEudOuUa+n?WOxZ~3%hl593mtCqCCc2*4P zWJO3)sP$sHdMTtnG@YYnF3c}!jAe>$cy9L2%Ft$^#;<&5pQ*L;<*;#s-MTNtr`Y^K zDKf<{LVuq}NL#(|jLd#ruw5tzlN;kbWcSOUc1zjr5~9{%qTE|z?p|wj!M{p!mr-C%;UHvI?k5b`AXjtn+!p3;O58pl|Mb zEf^^Ap@dIzd!*WYz-fl`zd}6LrwCfBAU;Uev^jkYis6~PcEZo*vX;(qlRzFnqv0D4#{zLO%f4;isY`8YeAD-xmLgifmc3b8-C}yY zPB+Yd$2e&@UD;Crev|lDu*;q;anQEJ7|1u;VDh44N^<&^8DRMdiZArT;BX*Scv{&4b#0V) z*POxs&M?wvB$UX%eGTDVHBL>=rVySsWtkuQu0(;2_v>sGbqAG{4dK0c+Rg`!iru9m zjGTb@*FcOqe%1U+do5`BXA0U~%|d<@;$bOthFr{>0Ks4p=l25KtZ&&E)iwMT;XU{> z35}739*F`V^vsEcXU8Nx^Q-MTf4PfcF9duWaaJ9H*%lLTnfi0@A7EDBXv>^n8zq|To;}x;wxsg`WEWD-UUoL#h9In_)<{Jrdeb-(idqlRv~vJlAYuKA6su7 z6i4&?0Vf24B@o;pSa5f};1=A%VZq(qg9mpz+#N!2m*6frDu4GJ&xj!yWyw0okgL`IYh*8dexV&L7 z6}dc4x8S-wi9DeDtBIa}q@Ehr;5im(N|&UT zj4fU?1bdpx>qz78UBxK0E~rX%T31FWp*YmemtQ{svC=d9SJX+wp*sojO}MU*Fn2i) zlUBm=V`t9FiN~bQpB?_}H$<{{pMQ8>0MJZgo4^P(eFnSjg{6~*d#Jq#Nd~u&v za8BugbJ?#X>ciXGs+K^}H0B@jN^~F3*M*f^}(_O0$kq&ptXg{DR(1AFYG!M=k##9<#;$ z(Mx#p^WS?CvHKJ-%JV$(UnuaC?>6!gIO8T$b;EEW&L!BA4WN0vDufsO@aHRPo@}8l zn}t(WB5q>h?tp>lS5{hEbu}A@dTW7Xd?r%)#*pouZ0H*9rq=rllM)ps$+A^u6zkI% z75SbIj`mJl8y|)ocKMs##awLC2;KTRC$zA!vCqnBLPj)zMej>X8M{O}b*|A6ffm6cgnP)3P@Wy&cX zBp0D<{aBPLBi}bY2FMqow$xGV5Wi6kvz#D?%qHeGNp0h~{*LO9`mq$W8R>X}7XzL~ z6q4oqw!L~f5T&*vFJ{uPn>gqT)Ke!|mEbpk?jW-$y9mFPw-l2xE3MEQM78%LA}FYp zBd&}{3n6Ez$gcx&8s}=w{|lY_{*k3RKZU2EMA^hslL=(FrxwE-lLqb|vpLlJ zSEOGN(cEvnMQb|zvqUQ{#+iuZY1-w9(#YaZ1d}29lBfdmQe%E$6G`nUbQ^sX9`2*J?SOOLhd2e=vF-xIT zJVV-=0+p6t_S2H}Ti!qiP!?Wsj6hLw9WgM_ii0{Mn0XpauEJfMQT~WbK~Bv6BO2$p z9v;h}F3NO&7;;eV&xQdjMi1XC1&DFmQeH<53pOZ;*#&rFT;7*}E>I*F_G2q- zk2Rm2OAae_g^(p}+6fhlwImrwF|P6_R?T-D-XN6X?~!OLRkXB4#VA`qR=Jsv7V#}9 z@yX+gp)Dk(rVWd{8TkqgwYtBBOv@0(dcfF-Y7z6;3_lgN5oZw~>{x`OwJbhTcc7oD z`_jK;Wl*rA2y^gH62*bGQcU2tr(t`)K69&<2ThCP;e=4R6yk;|Fi7xeW_UVv{1M7f zh={ixl4I}2X6pIVi6nFKsTxVH!dFeEdQUtNX!*{>mmX{EO}f$W?*@$DoJ$8E`Y*l= zF-y##$wys$WhyHy`!c|y23!eD7_uO0;_FR{`5RdzTZtd0BSmGAji{~nH4Me89Yw#a zD2Oy6vVdNt!8jsWrvcc~g}^x*lGy0TVRkG5Ri&EUGfU#OEw|j%tV9Wwi4f0~G)Y0N zDgSA$&PH2KmUJ*17N}&kOH*By?>79;)?>O{t`}Fmq9t$aXA<`8IioT?jfAS3tY!G* zF2?zu5?!C>Yy+ZZr+ULV?x*c8nfg20_Q zdF(i&P0@J>ihe#n6}u6Jq&RaphZS&^Dn^cBynmmTzBP{~U&hG3Vtf)o$tqF&D%sT% zD^dVEpE(j=PK6a~F1Z;rTVUl17?q*}+ zvDvq4qsWSKS$6{7qS-j`wMpaicd|HK4mP75ZK_KqtOr_Yt&nLNd>=0kfDhDy&8>*L zc2t2dT$JHLu2q@QcQ#Sk+UrLAXdxbUjMH7H-d$0is}1s;P<)Td@3Y(%uMsa zrhR)4d~w+)$S!f|ouYu`-v{dG@V=n_nI@8$|6$~a4eIg@A3mrxaq|R2s;lLFmv7K3 z)Ku@NxZ*W#ql}?=9jHaFSK)-SL&*2j2~8*$Vd@iEwvS5+-U~l|g!1J)HB-mUFk1Ig z@%rHGRAs-{!1tIm*^7xlNr56u$)icD&m;}H3ZARGJw}<_)dfZP# zom?pVB^PmD|M|ja2*OWjLIY~y#O;5;jahMK0FFfvB*j{#pt4r?l@emi;m7LXAulljHI>rEyi#g|>;It;+@ zX$YlKQ*zRLlL9s{6w&?sAW@>DkF$}6oAH;wwlQ>Lr8i-fLL&(75!j+b0~bqI#F^t# z5xG}s^IhS*;fu5?6(2^W9$MEQjpV+lxy!AFjxSR7NJ+y{+jr60TA&u(Dk@c6Hccp) z{SIQ_`K+E7TvpQZPL;;K9nFD1YMg0|q^7`8oyVkklEs1fTreCO(s z6cm&D>InpSPy-lM30e15$8|X}N!W4y9Xy(KiVT(zQ|RSVxC|3%zKH~5xuKeaE5#~i8QS2L%u3B1pXZdl)4}g}FDQ5s z3xiZn7L;^e6Re3Py0uhR4>Yy?v~edciG1Cu;L~ym(f# z6iju-*e}exyd~s}emj4f{il8J$HmzL` z?xp6!c$A-8_YfLf+rLRCF&82n;daih@`?S201Z^R%wOLaY&LNjcGAi}mVV`SCdsw> ztCDStIytR@k5d#f3sfw^R*fGuuf|ZEhP%~P;rj{InHgbU$<-+zP9s#Lb9c)p~<`mec<|`j&+KmXp*3;V6$abR(RQo)L1cmmzw=4ZNWBaD-$nJ zL0;gOf{t~<2cYwpL53jtUEIB2sq@pERlI5qL9-Cr!)o!paa_qbfm`_~$aDe-O4BSY8CFtE$R0kfLi^&b$%H0|!4PR$h*j_- zHD7LAq4bnhuBwlYEu2e?c*PzTq^docp-E;c~U8c z>DgFS$iV=v+_U?y&#J6UKvfBw`5D3!|2$0tVJ-FdbCFh(QRU)#GaYT*8AH@RQ#~6N z9XY<);3@IFt&V6KLolE;P1hZM61AHC$WB!ywYIS|Ebj0le@6lzyQ?=HrDwA`+> z@BB?@6N;p9$WPRAQ#F;vf&{Bp2D?1pNpq^w1{XDui@Z&WyDTJHi_?V0S=xuQ&@Y9D zfreSzfF3fP#S19aPfMyY7FyP zPAuXeuisT=E4rlknRG5E+G=5-;m8=`Cf;9fMC{-Y~=@l zTUWoj! z9%~u~gBO@=9;fzHzg}Iz3$<17ULD?6f9VFj*vwz&PL2J9?k!XubQk~EfCSzkwd2KR zrV4m!g&}K~`|m@cvJ?^n6?0R0{HCi8=FAl-n8DWvYKjyMTkvX%2Ajt&eZETT z$F7scLdE9&rkvdLAv!C!FZlyJ4dx%KH6<#2LGucqfCdswHkJxJ4WN<% zo^0%e>&T|E&kdj^TAmYG8%V-@v@%dVt)Ya>N>OMQ#4&0;NMC6sqcs;>Wgh(p)N}w= zwB#{KUWisTm}@F1F^mNHGguFnmHqd$Y-Wnx$viIb538&5e<$2FgB?0^P3DT-+%}KJ zI$Y2RP!kLIdQ45Rn;9Japr*JC4&chJmEM&mNm+s+QNpp7VsiR1l5HR0wi%;&c7MowS{ zxqNepjad7V59y=%B2Rvkx)h?OsF65*i{^rgXr;xVx<#wOk)kr7A&#ex3daAUp`4;3 zqA7k8D5s?++aAl5NoC(lRYDlQOEm{7C0JRQN<;Q%2n}avP_U$fiSel zq&~!4if55XGu2!}2Q(v>{y(UuxJhfy6KU#LxJH`)2c`d@VfJ57|HE8s!v7#+sswel z-?=W~E-lQhr$v+7+tFCf9xCFyOgEQG*%ZkB@c+R}d^vM=*tNw)aK%gBTuEt&uXHkevlJP-+K{i8|3-Q3u25a`-wFx&l2^Wi@ zEl*bsD+xr8Bcc9@>{k$mq*!}fp1%Hc4J+rLo~W#7PqC-c;Sp&aG$GQm@5b~3Jkt2w zoD^ffRAs;XkR!4l5r@ZJvodXCmWPDW>Lb&xMk&%Ur)1t=t$ zA^J4J-h=xf5A@pQiVUqO^WM z^Y??Z&XCyIl_r_@kY2XUn_`}yn(@MmI1RLDy10=C*a~HBIT5jz#3zBFSQi3Da_&7n zvj|xn`OSKuof#?sa7Tuz@h{%DUi%c>2yj2z%x6e)3lb-T|Fos$@bBem&N%#qWUPhc zg!z8>k8_vj!kKR^as98tdGtUjElwX@vtlqvh^+g4xAt7hyTJcBb zF`la9UbG)WIr4}N%bGaE!2}vfm$~?13MxK6gt*hE3oZ*)}uGYxyeW#mFM)v#z0VTVm;uf^`CrIs5-2sM^s42?_(ecp$1sh^5EVqwok>~dm{Nnhch> zOJdB%GE~`w$Iblz7jACSez|>2*%~JUXi$_UA-!aUF@(}j4Z@Maz!~xS{#ke*IubUI z4fHknW}-3R?$kd<6)btW_M+IW_vPJ|nD1F26IV^Ep*7#TI4 zp6G}#bx(X`lZW1mO zG!?gFW#nNY5!zsGE4W5?BWF-s(z+mEwW(dO`_T?^X`;EtUqV)EptBEVGBKdtk@`S8 zU=U#DG)L!kGwQ5sjG>R05vR11jK9#YV7;Z|j>H?nGG>c3{`<&PLboEn(b^KPm?h%u zk830fUb&Ui#|f?Gatg%02t~0;Tadz|Uv+*XR|7o~iv)YHVlx_bZojY^m#ZAvznQQd z+T*-z@g%CT2<`|Sj7qr(3Z^T$LE*(jxKy5ESR1>LHw@7yA~qRU7=^2&Q6{;md*sz8 z9v+bd4Fx<&|BhCRh3_EiqcB)J4`KnhXac$yzLF|Xn}uxT4m=)n6j4z{1`t}=NN*jh;1IH2Z`pmjLe088<})9GnVbMh;mW}&9y?0YFMRjdhzz#K+RE|uY;N-bkA1;iD05#ORhsj9A;2gyNnTn?5J6t-ydg7LU7L+Mp*H(pG zSnZRV!|Bdou9WBbC8`3{ror=|>F<*P4?l+g;5S;3s%`PqwKOegw149=^jIO&&}62P zn%ZLK2-Jt54d_PpxFNA>stoHT;6h8N{21u5be)sxvRaFTFFB`h*lM+K+mM=UY$d*|iOXN&bsVr(@G!H{B z-VExAn4*ks#YnZ3x8BUwbhYg4<(Mo`M-hTBw7n(3<=fiRfKqLyz~l=&o;E(`316nP z%&zKjOK2$Q=lVJeVs^ed;wGw$DDC8;1k&BkHpTxgu+rR0Q>86eW`cQUyOYJJ0{fOT z1y2+=KoQdr+2F-MI=dMIK|Ca@@(k}HrQJlJ=1zhjdAa`9acG?)z7#pjlpN2$X8H8P zzZD~xFg+?>QdE0}P&VqZc$$a?nWSS{taxDGvvQybgBmm``ZufWkJBH!&I-n&<-3WH z)VuF$$3xbSbwC5!J_yxcVq!ZSLY?2k)H;pHw2dNaGtP45t>TR|+uRe0Apff3Sz0rw zI!aiwN7l>6OE|W zzkUHXG^0*Rej8j9nTGe$kdIR^7&>0arZ!tA_lY5+N#xEjked{`(RDaHEJ z@&=-&wlioMZ3MdJE0|*hfrX_;4EXuJC~DxzZ4K=aCfrX}oB-dLdohWt#h2{xo5)3o z$Zx5t7?LCspiljfxWvYHL*?Srn)4?mnn~CGI=7}~0@9Y8^Up<_6BK1ZeQq=L_n%L~ zE2tZfv%o7#P4#?W3H9G&3C&2OD8;jXZupU|3Op>1>02q4@^3x-pl}t1)4j4-OCfkf zMSKNc5`o9JwNszuP!q50=vu%Wm4k3!J_#tw=cYcm$#FRtIDys;Ix>lXo6USI*0cEj zK6A5Y-3?Xc_3Huqz4ZlkofE?c_)3x4*!&E%u=n=ME~5@KsBGp^@*Uq*=cqXVwTNsE za`F;vPr^6Y&{i3^Av1G4s&QvXd^VV>apX@bO_+8t4Xr^iBw|6}L}@4{v?EWKSk0oq zn$WFaVp3TbyrWIq$_L7Vy2+;C8fa_DEh{XS!#D-AM@jCLO4VhqMmM-E!rnwVdMi7A zWJ?vo-XiJwB_gW^{l>zdd0$ja%l4$TOx-FmOe=L&&7*MW>2*<`su20Nc)U=`e!Y*c zY_*u+Z*iV-ltifzB1?W_@YI(!GK7ZMTtnkHo3PZde3`57!Fe3DD=RHKLk$IC^Osi& zaLsCKZhU@aOQuU{(&LkmR$Og@b`6twMxr=bZe2JvGzI7_6OSE2ISVbL$U&4mFEt*8kM+HG_LS$URw8TM>w zddx4B4)98c<1eF)eFJVQLwJ%**_F*zr3U?obnen z*RnQoYgqv-op9(YlW>;V?#cwTc|Kh6b@Vs$O=_&xuja(woeVzTDcA5!eKf6T&tw8G zPMS!pxd>andA%gYnE01{gkX6WY+}*&cb?%_y?fh?x&{Z}A#vmNYIxng=a{M}JG{NR z@g;Aa=>59kVJ?}_*y~@W;V1PuFwLglRB&p0>28SDg=JNJ=gaS90U481m_dLiHt70f zP|byZCz!dC>g_9u@kp_c^q|HD4NPR3(&9aRS?i!!vxge*=BcPfBi)eJ!lT8M6BPL? z^Go&+e(Y2PtKOMd=5#K``DeOg;eRKq0DeA{*xQ8%X;Jq`w#7{~Fez_p#qQI?{)oR$ zY8^ds)p?6W8yQdFEt!!2HwzaZ6GhmJCB{7X=h-`QQqt|tVG=E*A?@V}${{f1z`l}r z+wXVm;`PRO9{3om4|Aci(IsT|H1~kzF4Imtq>e73#WV<|gXD?sVZMI|?tcn>Mv--1 zGdC%Ba>j0xkrZA$;Yq{f_4y0k&^v!#I(xrTzV6BZ{AixD^~4zA;Dq+WvSB}8ZIXq3(6NTkW=Zg1F(*W1T>-*5wYHG$3H-aO!245BIwwT7u5mip?{2}t_7b6yA+F_NDmrJ_ZfNcY<9DUma~F2>TRje|3?3w|Wr+jwAbXcfXgw)vRdyH|xEJpE zw_R*4X9Aw5CZ-HKFHe(5raHL1kK=?nDK=axrZ$x4tiqv~b_U*YS6<|fYR5a(fsu5Z zc`P0s*(dIpVeNi39zgp!!zkFo=7iyv?t`}1n?>mt%)jXZmjR^E=AGBf%WWZ&<8RJk zef~YIai&>@9uxM@_Jg&{N6rlA|FnVcnJy@o3A|pqOV}{kKIJw+0BYh@7a0y zd76@<2rBpH|I6zTy!v#9_(~$UvqA_E5q+5%9H5i#zQ4bu3s~v69^S88kIC^f-oBCH zW9tIAJFqXI4whCJ*;uphkZg`vqdmHOZzMpjZaifiufEvm+R$A`BS&$!7rmbzEH;c@ z^HDPA#XqM=1BCBsRUS}JxL>)}6QEFykGgx$7DvwiUm@oNa^A0HqexQ+a;|1 zld6hO=>mwUH;?%JSL2Gt;DZZG(oh$S&RMe2TM3+&Piwf@1Iqk*D*D9Vs&AeoG|5&U zQ%<+?7WBxn4l%tp&j4dn6`2ID+}=m3!@D1*c3oZUtc&@wtlgB9+}dowM66`|Ue`(x zVNV>WIsR$Rl81&_y^HHb;mjC3t%leAC|8=a!;9zf4zQ8<+l%9u^mNGTY4G3%>~d-T z;b|eQ0_^YOnA2PxKt35YVP6ZhIm-Z{l-!S$@!%;oDqVINe4NZpE97o$TFbOfFVj5Z zu1!O=9UiB}1H1Rpq;C|k0i?Tco2r)fm(t)#IhY;p?pg6XgwrupTr;L#3ZG(EU4Gn_ zfg*;KG{?rC7C`Jbp1pvra<>m)#VpA7zj@BMzZN|$NgvUc1cTk#dGvI$1)BmAUa8AJ zeggr^y^nmgH2)6FgT`an-p|-dZlT|0D@!YPv|scU{zlU}-D~*ajF-mW)P()5#;s|} z$9A`2-yHYMUCr(GPW|NYTEoH5%gc6;C%~8R<@|I|Ij8e7DhkfoC&P`l30^sxUN=^w zWNukjxMD7|woGOYa!B)(9L~K2=6jHoFI-Y8s(*cSTctwC)gn`Yys0D+xgDDkQjX2> z&TrCn9kI4MnQbIVJUqvOSfve zOR7%r#(6USrahnS!pm^XWmzT3uVIlpc3Fp9a%1<;SaWx`N@6~9{kULo&qd15t zeCLer*SXF7u6FKuuDB6o8fS@Fkx$GA7AAIpNQ^agWRbfDLs@B8?$tu28MXo{DQS|xEw~}-zCf#2egt! zi{9VOlww}W8kR{s__oz7dVj8E`g6?3N@w^2+X6SQr}<_o3~Q4Id~m&=@@Idqhj{%x zsWh1OyUQd!ny9b*FQ!i)NS|y!YavN?VIoQFPsR)Zwi3q%x#H|#mqRAmFTgkL#A*Cy zXFosZ9k%>)Vo;2m6{sIBKGMwV8LWLJ`}Q$2_=!N5$xcD%5R)MMckdce!;@=umbT6J zmv)8uTNwXgOS!(vn3F^62*b@u{j#LpoewxY8@aTyQLK5LBnzmA;m*)AkiBQP?0GCO z8N?O<8z0<0v+cS_hR6*}P}^3CL%B$f>`p<`2;s!FVF_O-KDp`h`%20OiKB@penwp5 z5u)1_V$yr-wP@&&4XOELkvit=N%b&vPwFFKW9`ZZUpW8U8 zsCrB!tk{{%f?v>SFSBiGn6IMmx0&>-A!lje~A00wLZ>v8+z?~6!ICSs>?c4 z`^BPuxh}U%m|8{^wkdCDt18muj1lwn{c2~+n`Y(TX2Z&&eR#b<^!~RLI<_GgM);jg ztfzx!={%X2WEqEF={GvH=y}D29^$&^=JQPDS)BjFMmh-f$OgJ&aS0^w5Q!3||LK_R zdo}Bmc?Jq`%x|2GJ7R3aMf!AecH~`6f+sR#D5$)b{GQV`z>OXWkzx2~8(W|!hKVPL zQBNw{eXfFZU{g<9EEhBH&T6Z=-~cC!sudn#@))f?VFp`#4+mEY6@dA|l@{RNAF8lI z`{|lGe*FvHYvr=0#&d{l`%%urUoQ2JIbjZ$rfTnvosTG&Ok~J3QEACNzATQm4nUoo z1vcugbGO|!qc(GQbh1#k@7MSZmOL+RVgN8baxcfIdpWDCS>(%KqHXv0&{_)U(=s?M zciT0ATQ31g+oJvN=OA#G%l1S#pa0EPGVx`l!;ACvJi7Dkerwq^JCK9BN#e?c>}#m) z*uROlPSyn{(%M{*aihkRoGNdG@`jJ)QKuuf(zALjy&XW{~?3Btz)^Duw2p zocDL6zLJqC1&0^w>;9wjyOe}eE}q?j&X9R_V^2PjO5QXc6YzNhp zZ3}b)Ll@g_wh*(1VMmyp-@1J`)cmy08p|EFsa_4$(V(6noc= zB8AFZn2`@oAF~f7q(T7k`_BUH+N}3>F>_a7$MrM1XVId*RZYFd5l*~}e~^UI;R-HN zZe(0>KCg|A6~=LP&{|?~R*Vu>FTt3S-P{f-?~Sr}xFA^AX>07}hQKay{%*`~B@<^s zt?H_ia3lrRKCmFqoj~VpLdjVN>#2?iEpU4FL}9FNhA1$^Uch$ z&0@Ghpn1TMwyPB>bveY!u=I3*XFPK2l`dJaQ5xni!j^Y5b=_%?di;zEOaaMwp zvr}Rd+Szla=(ZNfjj9^c1d|SCM=-4{m~GOon~CDvW(S>aJ8So+RJT_6?0Zt3mRS}_y?UzgO{eC4Z^_X9$9d-%sP}kQmL2IG{t-}hhb485 zJ-&>x09?L4aNph+>N0DSs6J<>cOQ@ZA)y=_;F`hv^8=BE4IL9DPqizhg^M|YPSH%| zWV&idv?E^1E%1VHsZ#!oSs+LiG-gcsmw_7kEuxavN9S15Kv)E+?jEoZyYR-yN*-o0 z_A9lJGGmMQp{54ik39`lnSju2WIke^v1=7=cSrSJ;ZRNg@P@|l6G?TNL1Haa@J&vx zcc+Jl9G~d@kLwi^gTue8^$SUlqeE%ZaiV2vI3uo*qn2#v0=3Z?6~fQ=KAx(1xq594z3aHAO{SD^55-TvD!sw zZ$`cMnLwM5&k1@u_otp$V}r#|0J+@E|X*(8uncQ#8ZwXd_i%q5--3CR3>DLcCIgC`wp$`^Iy2hw&oZ)g)5-TZ16TG}Kl6(C z?{1O6e!QLU&DCG=-J>fUGMG<@JzlPzjU#{A-c>e;zwIxyU>oT`ASWMw_mm6p8=w&s ze0>hk7~v)N5tHh)Fxr%5$0N;Lf6X?r`dpi^!v#!mjc)SX22ixYb={%?m#e6!y|_u{ zApQo&YYKw1oQ&;<*C!IV8LsQ%K36)f6VpQ@_jR%Ek+k!5Y(fE$#!DZls*lK>dcdYP zc)Uq{mF4PqyI&W2ME}d%xms>-~p`D{9W;N6uASBJvG&xk;trjKfJ zOlrQXIOp?cHqS&aQ~1bW$HkLu(v@?T4G4_lzN`Iph+#OO`TkY=Rej|=3dWBtQc@!S zCRRMeZ(}iSWPfqIZ)-E7bvp{Z9zC4D5OV*VnVAcqerV~C)p{>I)g|ctxR-c!L?dGn z(zyynhDkm-T>4hG634p#I9|u#RrcZaiqao@ z9R{0;QC<_Ti}SO%9o~A$DEvL;caBWn;dPKdM)3?ibP&+?|Ap^sYk#{THmsG?DpT9Z z>wS7K6NTv@eDx)!<*dhp!06qE&SB;aQ+GSJ_w7QVMJ}Pf_s(H=M-0^z`GY;Lh^Wtw zYZ!@STj=Y^@+H0P2X$Y}PS}WrdS-4nw>Ol>D=h6mB~s!EdJ1jyJ;JjZzDy(D%kDK2QN9m&9}FF_J};&lzq=*N-hSF!nR)QC+-D0w8hn~P&lyAi z;rp36ns@E#CWVi6^rPA+u5;o!nd^430^I1~vYX@qSGv~VQ%11~{NZE^mbJne8YGEP z?>s2>{)v)pwKte^^KU@QhXJGlf%s8o(Dj1V1^O za~wORIR!UG$lKT69^X8|RT3dFA|BC;BF;cFj8vG<>{DN8Qnw)~#++m~W zn#cDnyzg5z_DdL$4OV?C-Y}TY9xjiyK{*j2nUEFe$M+b7@Tghvu&)?afA*Zf)&N$1;HF~p7ShKGR}CKVeK zQ~m(&+fwwWxZ!3OY;u5Of4RILf`Palf{sXn^!zlt!=SLXt-Bl=jl=kuN+f>j{u$XbKJ|cQ# zEDCyZcD;vUupYM`ePZSr;Ji6ZZ~;sYerI>0@agUON{sGgba-hob-wb-`is~o_#&FJ z02kO_b~L#uH9_9$uKGAKFfTxehi2==<$~OB{I1sZfinRAeJq=}MajkCLDj?K?~fJL zhlIJS$maOww`^q$UN=c;ylh=a(hZZQ;i{eYx!$!KBj(UNuc)V3w(-n&VWe$wFZ6qH zxKw7@Ua_3WS-0n1t=sHuS^u0JmOKwt{jtR&FviJ)HRiSxGxotl66Slcq=p->BK&L^ zSa9*M`rDudzw1o5f5*jRDe(C=S#|$;A$ZD7``zZZ&2Dm7c?WGs^FwWrhWCTA@+DH? zG9!9=W`c2WheHD$t*%tM5f^%ejL{giug*37Zy=;pS}#Go%GvOIg{x2|Cl!|gGz=d? z?+{-OOnXVpp_IwA(##r#|_^X zbaiBzRkp{C``-Jsozo{sX(oIPNb9|$AtM3*bP%?d=IP}g0bkB53W~ZK9TSs){q}{G zZ`>NHif|YHy_eizk}l7r3It=glWcFel_g^6BE=BqdcAVyR7Cv*HOEM>)DC!n4zdB( zJMJIA1Z?yDE6517-k-yaFRva_7ATxeMk9WP4Jae@wV|LD>lFV;Dv*H287clW?d}zM z?q!cZt2b>xY9&?_ZVj~Wx;W)0mt^_rh~7IyZsz$Qb+b^AFJu=$~hwp_GkpLYOj` zx?evkqp3e7HP?z>KkRRo!c83*!?m?9x1%-=hJG)*6AEdTsWKKAQvn{*>+HW`(ffYZ zQY`s6m*~B~Vq(Hs^EFP{`L*Abl&j4czsF9YHxlQp%crl8raGh29K_wQ#$9qQ4@L7g=YRg8c!z~4cg0n%L0U}c(hv2BbZLUI}YeyO-D$8#DE6F*)9EEtoRZ(prT)%`3KTCpfq2#o|5yWi4@! z)CxBxS0fiib8`=?N4Y4XbNqU%KNEcs{tD+5FQasEJ*a21GS)wPa?RmuM_oq^3g21q zKTV20>3nV_I`i|#-+UdAVe?GLTWC4_M!6fzal5TN=0e#9u0!&CE^}$UJU}M5yzF-p47t(pqX#zO%um5J)|Sf)p-Xtu zMt*nS*B2rtMz{`6x_*Nwp@xNVnkho#p;@QfapRErdclhU5T)ZT(ZimORKxpx%_5z4 z?REzV$j#MxJz0zCzSrzN>3aRNSKj`j<2&}UR|0d7j7fD!gwwwyt9k2HABTK-wb99h zr6QVbsknGSh5fG@o&}dH^!g`@uBuaF=O6^J-O5SEr@b8!Fc7Slb6gW-d3jDDLlE#` zDw-c^@u}-MZaGpi%7=opv)^IgV9S)caoFtG)4J#V7AvJW>RV zXm(D+6{s*rEwd-~k+LSIw(I(gB;bDJJv%E71~!dF(&uOl)&Mj$4z#SLso?v7jyJTZ zf#RyNqK|ou#${BR6R+#RQ&+F*XoCc={NAsnKXfL|Ue`OB9pq%<{NWCNH-3RLa}Iib z+b%lsWke&USI-ogg&#V~h@wRw3z^q_=Ow=EYL=j`Kiupm0FD9dbh&f(ussL9*KKNs za(%BeCx85|N2r4L;r_PB$X8K*3K7`B{+5h?ZKXTK%3XHG5_LgvL+FxNI$^!c&du|F z9l<~=;a1RhW@_TypMR`;bTD(fK6Bj_UqVC9q_!?4tI%8KHif_!)G8*gH8%$_du)MJ zPqWLwRo2t`Yx&@jfQytF7eFJEV$*sSQcV|ZMN8eT`EvBd5L49k1NUg&n&;Vt$Y2xs zU1^&*Ji5eWgu^Ncg+Gd5*Pegmc01=!L&5o?V~pM6&7AHbuki_+D6wH#hN9nJFxH8# zB+5sKJraol%K+=>-4zvkl>QwxjtQcJ!?^Wbbl~U>tc<1ckJ=Suso=itOusr2+j-x= z6nZ^xw08q=W64i7T{5g3Vv#4^jW-m&oZee*t?s6xj=!}ciIO+R@9xM%sjiD1{Cwd* z2WN6rL)s0_+laN3Tg;o%Bxii?uN}mHm~#NxlNI8%(;DG%%rI&_tWE?!7VP<=0y&Iv zVzbfxZHot;Y4R{y)!TyM=<)US&VE{e5dZJ8STX^`R=H}rbGn52vgnuf;M$zm0L+)f zIF#2TjF+^3BqPqpv&pGEoFjoRBI?MG=p9osm;s-Y?|#VDT|COnri-ufE*A}%@11tp zygWsPn`25y6~(EpDGc4`Kh?bGG;(iZ?6^%v_K*9kXlYja3?sIgCQKRkw&I0fqbqP%&^s{mswS{JIYy59|>2JwLpH9EVQ*Q;3VNz==ZiT7N^$SWp=| z{djvusq}fZKHW)^$snuY!M?kUKmYrMHia+jkc7gn<8mqtGcu{ECUSL0GX<%hM;L#= z$ND-mpzCqE5DH^W%TxuQ50^m0&g5)TGG1MLwbIS@4?J3YD!OO)>f^@4UR%TcuemO} z9r4e>q;HxMUgzj9x?WR5MpzzR&0!5ZFfg)VVD{zG-hEhc)n+lX_rEmsA}cam-?PpZ zrvt05nxdSqHFkDkvXcn6RIv`VeS7t;cl}60^#v0VUw0(_EO{IYL4eT?9eVzGGlt7# zilII|^;wJtvWY-ihbjd(vLcl~574vwnRk+NQvpu9t8~SU$ZSA?{DP8@LQH_91G)9+ z?>LGbx5SQ7JS0kTT6Hv5H%tHZz>If^Pb1g^lQbW1>=^h@^`9{Ew0f2#4JDZBah@^0 zYQ7XJK!^^aNR+z=!>wKuwn@4lw+Cze5v+0_e`$|14DXLQg~ftMAvcFMqpBo;dAW}- z;mUe1*KR9=!5;8n_u*&;5@u)y=QD-%$kFn!`i1-r<(w2ghBSab;$GcDrc6(07Itke z1O_uZ=Wsiin~-^x7`2m6Px4?j#)W6@9g|41xjsfG3DEH1>zDnaQZhmz>arUFuou4n zWI(l^DbNt`^4p}#mZj4+qNB&8{>qWdWnr9>l^Cu4y;mKR#S`2Y+&5Bc$BBf--M(JE z;Ej3h*%?S9Y ztd|EfnE3*uTwyh;99eiWzPp##El$faXx3fT9q;COzv_E4o^9Z}Z+`6>d#+iu%JPRY zRKaKSoV3M&c!CLM_IY!x=k61yMqXu-V$fc?7Cy-M6#tc$Y5$wWWkwM+Tb+(v3(s8Y zd(1x+1LPj27qaiaZeC3EKA?8ZzcQxo8MMN8UUsAi^lyk2m>!hoC6N(q7iOEjyD$0S z`32SoN&(#UDJFf#eo1mCEJN%}Ww&sLo|L`clY^xc&~(Qe5NeefPQ>YngNH1N)xa$m z{t)DjMskUfeHj-l7WU;SG{&ajLyCmeVrYE|Vre!7;7vLC`l*%pI5*}~9_3S?@-;JW zFcJI%YW#j>^ls4yIe3nf70>UmW_etXg%dY@vkm++I_tDGRQCD2@ov#xp%YHNx^!7^ zU4)~6yyOBjMCK80KBfBHvDWg5>+;bh(It&WeXp_^M(&y7Xg)It5uVSv12r55;2<9X z`3Ebz{V;{>C;E34geGG@cWrzSZ2GkKe93Jva+FtT`-%l%_E>f(-k{5nMrnHFMY@aY z4;!OLmvxBy!I7x6;kbT~5y60NU0MX#j!>GUBsXzW&WL6JS_|qq0>q7=#a1I$w6G&# z;!MB~&=&J~<=q{Ye%r6^R+1-}sgQ@TY+L$+S zS|Qj_8>@5ZWW}yT5h;fJfJEYFBkf^`>^fgfB;DX}1q>;)1Jk@gAicqSdt#K;N)r!( zfk*AhMjs2Cd)xBcJIJ5e>UlRqDjll*9_{(M{P%Z|JvwzlTDFzy?K!-2JN3#%EBM6t z?hQAR&!X2L`b4*y89RPWI!A63o5$l1NSe(g3E}x8H&NjLUsz}MWH;ioL(tW!KYZh^ zrnEtW2&dr;VZD-DdDG`?-qGaAofCuCx&O8Vc8`ojh(%2`t*tq_Q6x+=zE@`4MiRskhQfQg_h(3?k&u_jemZV{AzFF!{n1} zCfzgY4fRx_t+HF`2ol#675v2!mEJ$S**wx941@c>Qj!&-4!RZQzqwOWyd1Iq+MaM4 zK}55K#c3uT?(}$`oAd|suX~--GPfmRgBD7eDzCnFF#Hakbu)awgf{lk;IG6@2L|z! z7PC*ux~)6T)+-D&?xRGlf{Gh~8V5OJ9&h7rY5PFJnz<88yrO~3-!I;ICa80@QCc6h zGbZ9`SDYuI74!&=Xyjn&#FxNW9sV(8997|%r?rW;kuWC}=iX`S- zw}KsruXhdm#2kfgq-kr)4!O6q+xqo!`yZ-qjxMCcu~;$(oT%ka;Hk-3&;p(h;k~xT zBPezazxq6(XcS|$ZiuB`)JrpB3$!IB=rhndsxs=-sj{}p)2&J0O`gCvvOQZ{{?ZM& zlxIzT2Uw~g(2x^Vsc_nt=;o0lnRhXYS_#N2j^83+>O~|I6Slo2Kw^c0%MwX@zu-?u+l|)3(Oo2#_Ahf^ZJY&ihhvxpg%}CpWW1sqzRWr$`HjP1 zeWS^-Fy8I=^q1m$W%vlWXEbrXo>>{5QjEJxMHvPcG%U;$5gRMMo&B)e@n+-h74u7J zp{&j$dbkbbNJKF8BeQd? z_#qhxK|(wvIAZpf%q^XG4eBk)qf8W(C^UCeUTc8F;HXa!m6)&p2%*}0|2qn|YCor2mMH!-?TY29&dz}IaI^u?m% zH#^2gg^v{3=Y#VpUSNl+vu&x&++&I#{BgKlg*q5<{5Kr}S`|8v%nE!w z9V8!8L`*dcpwBk7`cp7JU30XVu7OQc*IDl_6r8#IhHTU^{BDKSFKBwHz-f7I2^BLF z&uF{Hmfr4f-nM2vrvUAUIBQG?R8TD}ItTNxM$3lRorev0>kJ6#n{B@W*{@K@Xpr&G zF_!i%CwcC#gT}7{92Q*y%k_DL!G?SMv~pfxb@~kcC-i`zZ`a|7P5JU-M*o?&E=@|9 zhoA~~+`qYezV%7KAnkwHQV5RAh-$-d>Fcleq~8?=`O$3{KhOeTnOi1R(UBbym`P0( z5rx;FpE*Vj?XQcAyZT66ar8W>N?lcnj@hNF3|wh+3gdygC0V41$yTdk_DJn-&k#{$I3^J? zxkgEuvp_6Fa|buX90ls?*) zfF*?ctAa3)uJWQ=WSC~fcEKrw*)&Ulg@jG8=yujxSgBcdNb&OZoPDq444Cqo;q5uu z@3Io?UQD|YJe%m$abm(~QCbLTd8wGd1*ut9on`P5zkj5ystt(`QS8ggmgZyJvns{X zk8{_1I;L_Wo}YKMdm6>ro03-!_1?y!@rfu_LbjX=J2X}&?0bAvG6cZd&@uK@2Vpc( zk!#(@p=XfWxUq9$VaqViuZ+*Z(tTIyQuk!EidWeZ&yO{7D`_uo*7>e~R0SMO@6vMr zVS>Tku!{aQx)oOMjh@O1jU~u@E4o^*cx}vpw!I`#seo0ZPQMd6xZ_$g=gw3C*Dhlv zFH!6X?$TWd0g?lJkub_u;Nm(`wny)Q1aVgJ(3yVW{0I=%Rj~Ip#f#qTLt+%u`oxe7 z#!BNJYd3jHGBxYrdTII*@b3B?Ut`2XiE+m*J2f6i`SnV?ks4CFS{w*{?R)In&@r*|A$}N-B=Bj}BTW`Wffm zZca14)GYnBCHiH6tojvVV@QW-dzUjq9`mZK_w+MN;ZSSuE^_hRYHKv^7-f)n$AWN- z@T&M=zr+3?w8b9w2azlmsyy#Y(M+brO_Lf7c9$~l$p^;Q(In@1=FHqX8+s*)h0c!~ zC9VB8EZt=-6MI86aD>~6g{FK%ADTDPUj#17O2a%E(|6(D3d8mmTxb2Vw!_6lr_c3$4a8yywE`LbzV=L4hS7MOSKH7Q3`)^*s9IWi`pozd z=cue_JEqC>pS=X_ZjGN*$V#QvvE3H)89nuZwOd&0!jBHtQ>iqB)uPq$MW*stIFwKF z?l)I+e0cv2xI4D0mGZlsA!DH9aGJzEG0Qr;*_fiuQgN9a)!eV3G}KdMu5S=lA)zsL zLuA-%8D&5txlJHJgtcx4(pDi@>FqNPP7SI(M_e9^lo!qNP!^aeOiWu5QB>YO#~Pg7 zJv^+PsV3ZjmyYU?3MEvML|}On+H+k=+FhZ0RqVJ{`=YuN83L_4&XzFsJupl#CV4#gDc1zY2veK)_b0?QVPr3{V&~^wL`SJN1x2RnUll5Wrel= zQC=Lu8&Cp`n%F`yWaap{cmmb{dR2WJ8JPT%6WJ;w9J)0*b_bZU$-jJ!FhLDl4S21= zV%rnp8gXq>^P`FUOPszxe<#i5x3{DoG|W#_5bp?kRr2Pu5OEh(oEH7VbW(&q497Z` zYi4!_f(jBMu{M~W)N{lys9UCT)tW<^!0=J#uhpPGmL?$5F*mu?pWHGJrfPoz2udqe zKX$qz_{&K%AM@@AOOr-E=cKV)F!cP1_NFfw+~U zq`0_>0ZVRgO!Q7h$b%QD9!4LBUImRbNV3(_`p0${6JWhE`DUoNGE?{*t;q!|S0~>N zi`lw8=TGh$3~-Yr-B-r6SpP(&d9yC9q~9-HMnINF{icJ7Q2r@J4!+#FD1Pt2lB@D@ zG^wF-8My5+rDvUa*aJU*3Q9D$3$-vlP0FTGGhXvi&bXh~%;ANfmd@)A`R(1!Txw)~ zI}*W+#OOfvF>eqn>I3+95UbYLZvY!epeTMYgHTc9da*gXs_Ih-6$4sZ#Iw}%c(zU zB@%hdS>_wVV$>h>6pSfD6VV<_A3N|}k4;GE%#~PH>OQ_q-3rgenO=oOFzrwdkmdCT z_)ITwpFnJZd&pSwZhk^BeV|>sLiRaWp}QLNGIy>Svn07J!TRwx{`)db&a?hX`XKYz zKps{S+*>SF{HTH>x?kBfxwT*9wO*f9+z>e7&W8${r0r*v8Dst4b^p1nvjUgUh2!5v zf7o&{#GId(5hEl`vLLRfj7^Aj&|c%Hyo_xoBjx5ux)FbLRkHT^BNi9vw8nDey7dFo z%u0VmZimF|T7X@(nirt%k7q5WWkGz(n)7$mCO;QPsgWM}@&OaNIZAa5p1&WB4vY)- z1JcNp+(&uPh;VV8vdr+ZAB*{Ygb!=!o-ef0l(eVk`Z={%ra?q}N$6H&0g} zG2_cnnuOMd$v~(wm#Fw;STAW^VX1%P@D5I_m2E}mE~8{nVH2JXzQNXp8j#H`L|T1q zvS{_+sQD+A{ZH0yv42_@Q%bt^Af+nRQNSqbO>?%VSYhq?2Nsc`ru2WJx((Y=Fek&d zKmPr!BSdMkyb-mD!#tlh{tm7CG%YQ7fW06WS%QCaXSy}2$~c30qo z=!QuCIFi45w;lb9F|o%;+Lellf~>MVj=o|$Ll~W|r=qv?LHCr4sN=^T69k@%0Fa#{ zNo$Xjkum8PpLrVDC^V6;(nX$; z1@$AGyv0+AclQDwPBEP)YZ$~%iR=j8iir>W{}lW_TrH5`WG0Z1s`r$jXhoG$5 z!A7CsJ>NEa;eX&l1vqx#WB0Fwy&4dB`x1-3vFN37a6L{q9S%A-yh98_b^jMhu6wJ` z-W*MX2Z36a@6g*%vkoR|_Jp;H!ZBPzlik@<`Rvu5ndne&51}r{x>p5% zTXW}i5->b7GPZL!)Ig#VU<_ldL(9+5xWs8Ts-_8Qi9S!&X~&fr$EH|mERjz#9~$#! z8S3_XDo(ELpF-gPLq?&rt5HbfEpTiNN%O`24%opC=%#c(!(*f-fRildi)JWg?XLEi zum|K}9){*dpM?*s4ZX}VVixT_U$ts*Rh!VU<4sI|>OBIwGPo!UW#QPcA`29^%aOt( zc1y_hL`gO3eP4AvJ9uZ2@r7PqgJgv}JZdIWDbfDz>Qt04PJ zq&pMq>Pp7rv@f~$K;*GTgYr$F{yVByz%fkdV`8UYqocR8?T!od){(QT%bR2#{{@ocH+0_k9B(NEe4u0^z1TCInPB!_T57=cl?}%88ZMXy~!LD@8k`^Ebr1r z9J;VP5B|wbV=!!10cB+$JJjWdJ6){h%>tlfZ|-!FhG81aH|Lxuk|ju^{DJw3T(AHs>mFezg&tGg#r;9LERg zQVAMfs8j-Z(C*(U`&~Az-N&e^AbZJIb&x{Pq7cT$bECce83nqOtQ02g>3in9;~1&s zotL#NJY`u6_>6fp$)!wruJ#q>qP)5e*wjNd!5&75V<1GgCjDBOiv4p#gXb1w1Ny!I zwRkm5iZ6!l0AvGV?tV|t6Zge?Lp*}T351a1Ul3w;JNdsU;=sUA|MK=WI}aymE+`rO zzWd)p-sdX5KaIHdI)$uobZmlnduKZaWlVSz`OjgJ)1fM%nBh!dJ1pGxS%pA7DE@~qNZ3AzT+%5j0kAAUx*B$Rd773P$f4N% z>IE?qDew!T`agc=z3XQ!O?>i|%sg0j`~8-^!dd(4&PR;wW52Vnp3hOSo!NBYBSx!# z(A^J+3VAzX`(MkCueX!er2@{R!{o(`=^6RF0h!{F*R#dV;jOL5*m{&TbKK<$D;;)8(YTTRnx3=dwL^pb&zXc{$ zFI8NNW!vz1X7BPATa2zrl`qw%#2c@wxZ+CNP$Gg)=k#J{YML%B zJ+xUKY+D+J)><%MlH?}_ztt8x56~0ik-YUXIO#^H3E~UK{ZT2f3{M;d)I>D^XvHkxCwrFD9J?XTM|sGYJZM>VTX@& zkt$k&kxahB*jcIc%B!9yg!xBBtn#blTSqq1g(lwe13L1U<9Pd-An- z5c5fCCt8Uxmej{-n3X@)n?DHZDcG?UWo0MOC)@6}^LJFoyW6!P2EY)> zH}20&(r-zaA;A-7tWSgbd6>1O3zaRn`gujjN?HqEsES5=f5Gm*k@za;BUR0NX9#fM zFbJx2rds3(R!dPh9VK2{~Mwt)~yL+9BK2Ub;DpX(&xN{Ra za9o=ty3Z-gSD7{ z23^{69GC-Ny~OW}bRD}Ti!PXQ83w-nXfKt^Cd?3Q842}p&FiyFOi-Q|shiQ8#j(OG zRD3mUj;xOd2x)dN!C{SPTAn|05Nfgdcr z#I61y*GMUdE;=2Tn|k6VX%Dm&(-;*5%oV9mqiB$m>-+P*=R^n^gkb~r8n~(-0l?22 zYe$AHaX!SPU(%_XbQZU1&{!I*(sm`G!NpSJ3F^>RJJ4eK#Y>qgPTr8Y4Ye6F($~ODrVhw*?p(vym+^(w1K`B1W^x>zZFWpl^g6fI0 z#KgRjudAkOe*Uz+#H__%xi$4_IXjn!M{d`Zm&?(k(1y+bc4_$aSG2W}w`>sar_wP5 zU-%yQpB@U)H5pn2slIRN*F)|-_064rls_xuL);DAEFxRafO%{!H;5zD-&a@7%u8Xv zIxl)jy21v}DDH!Z;T}_;y^e2qZqG}pQHYDH6;GqA_ND{Ni={`rN#~b{xynz?SqXwY zu+Jc7m)X^+^Z9OM2(s_q@HAUoyTaF$-YESh`}f#hIr4o=0kWOFGn06GN$^NqcKjz(_eesNjd z-K#S2gefkKw+8;M8Q4uc!>zfbOWG>0%>8FK4Llu~zKsNVmRFJ}b8@YoP@;9-H0&HW z#;W7!Y1vk~(aG*GeErn?Zs%p!oa2ZvTuS##CV&6EH1fh7F_!WGuz=Ps}j?-WJ!`e;iFL7IL^EL z@YZ?4pG1EkyVKp|xB!8$oDB4>`F6A%m}aZ2lE09xT+DTqy{pu(^Zn^(J39GvLKad> zx=qSTHmi-Ve3$qfuw@P++Ne6Z#J^F(OTG7o8oWc@C;sxA%k7nORguu1Gu1?QeoCRg zLm$@=@$Db)00EBOCTu}druEkEZ#sXy_QZww+*_})ypO)dZaQCVF#sYK<%{i_1mH#It@MVFp%q6=f5psPL@xgX3Xh&Qj|ME}wTHMPIlRP}gjYAMKv?X-4~)SZh6iMgaGtjv=N{%vX_ z*59SU4+nLo{{;*!Oy_@toDvPlBNFr*R00_0*QKT~UvM#Fe9wUQ@K61U_U?yN58-%& zKW7onFMw<*84w>h+VGg3|J{+!Va}vcsuT<@QXAtJw~rq9_mj$D)_PfjdbQZiJBl&G zs`0@b`)U3u|KQtC+gaT;uqrq$oW)n=YD+mIT5N>9X|@=TKBoe`IkH`P7Njgp-udGGje8Y7eyM^%r&2Lc8}o;=%g@_UOT4w;DF$|xApbBic-=?D!|tF zk4yl7*Wu>0bLWc3=Jd2Tw;kfZJWm0@_%y1jx0(P1uC3h(!N~JIXrYXRHDEs~dSyQW z1XCpovgUP!1d?Ql6Ims+)71WmlRHtZG1D@hMifPozP2M>)}j}s@|=sAk>Tso5>~1> zQ9M}!*Dv1^O`;saSmj9Z9lgN_)}MhT6Ew|ChIY3>Yxr{D*dmKYmEOS_Z177hU3H9y z-)NF@EsOdRnUUF=Byp$h?q@~~OQpB#?vOBhl?x0gd~R4QuzL>hHAK=q)`@*i7@Hs=qMF9uF4EF@>bj{w67#l@kjsM zw^hNTg`IA8>Y7&ZLo5(IX?=(6%o)0zwfpn^sToZiL0!Z-J4qIG_*d}SGy17BC|_IR zcK>@xXD5)hPYA3>5#G0xlG!ig*fY9$#W71__!>Pu!ZIgvYLj(fu!-7UHOh9t8;8M0 z*PCzATsgP`yE$b3>o3!e^QH2B4mxGa^&f*uw*)si zR5IrDDP8GEf^AKNDSHkfpcJHc_P5L9--`8t69rZ2rjV)ZbtI_$4P2>TbL-hpu_uyI zaU{34pY?wa^U(^jN#lYoIn;&KD?-=$7Q5%8R{%GAAl%CPnPWLxxlmkq9$wmHpNE5S z8N+w$aB=LCJ>F%Kg5|+P_IM}Bf5Y*LwBQ81*n3Lc70^Nfmlan*(swHkS_^}sq_0|r zlEhYQ-O2UJBc+)Qmrot~g+-0a{f*znS|nT<*0yb4eY%qqiszn{)-f%(rOmmb@--4r z_saX$`i{KS>!ZytWYpg?!)}#JWYx`+N-7@&sp1jwUyY}HFvj2dI9w$J@o>LB{-Vj` z>vp|53q)MA({z363d~+-8NS#*0DMA<&+zW2de+*H;WB_IY49U`y&hn)BQICqdN6Ca zyX;@lLXq`H{`)=kt!b)`gA4$Zkw-J1YSjU|)ehB1&=H!O@tz`U#hHf^O`M94Gtbj_ zci6g|5q&ZqR%iOH{h4j9KGOQBY6RN@1Y^=Z1tK?-k(23Hbb*dI+|nE0ND$Zb9lxzZ zF)kB$y-}A(wuq+TK%W(+rV#t{Hgp5`wHHcRq#crSm0l-DeA}${Ax{F;Ftk$mWOd7j z=IHvObZb>TzC&(gF#F(O2uIoZ;0GtP-kfu~H}|r>WUm%QTHzxD5x};`Vb(m>^>1(E z7dcx?16EAQS>L7vzv5Wf%L$Lp>VW8KIwnbIu|8*g6#!GhfhLT$2KUJ6vS!UF#{T>{ z=5ZSSiPph&r)az8?2L=MHxz^QOvF#_mU&!RVlcV2K57t&`T1^eok_y`VC3q|z;lQ7 zW&eN)w~Zvc+Uf*Fdw5Qvt`ruPOdn2~zR6EK3CyyNgVp^qQXm_B5REoly$82VQk;#2 zeuk9s2w>~wlKk|r7)EWnEn+u^kXVBZgk%u}=HpiW%SICC#&ezUoNG-onF?4dlD(@V*Lb3WGV;pUN1n4F3=wCDNr$x^>4OI@96)`+ASi7TsPbPSoTcTgKV`rTn?hNy!<&ighp ztO;%iTQrzdDF;dl&&V$=)FF$s5ATp)E_IJkIo7c$x=rL1qTe@^`0E){-n~k}y*SIz zzL;InrvGlA8bu_K{}%)>O_$B%_}WmLyz*k68O!n6j1_TL6&7m@j(*u|ey@%htM8Fb=iRtH@qqfP%A~IX7LDcZah-1!F+hTMX&uP;d}GvGzmtp% zO}{LwS?Vw9uHl6$dxkFFW+tF5!^V@VR4DEreeQaZ&qrDf4Lwgu83|(srhck5y^G8y zlUr`wU=7T?|7r@oWg=V#JHhIGzI$HIB~q6-f7)?4Ly7`ivlXl7#b^H~Zwff_xUu*m z{^5p9`2^Ff!DNtFXM0$6``{vFY$^QpN+WgBQ}77SWI@Z=>`A7LEA7fH7)eG+9-UP1 z^174J$4>LwkOZN2D9a6mZ=*JR3|FBc?q-XaWB+!c%n}B7@T>m`CYTkO(%EM4bz8B% z9gyQbo*zs*|9jbSzdyS%cioa5e_f&oylGNFxtabTAv-aCc{AqE;Y)ksygsS7|8ow& zC7sp48gAnWTLK%~uU%I1rHrgtqmJQiNtZ_BnqpnX$P&a~MM+bY0QKd*)Uokod40yX&ci1SqS~b6&Jg+CgZ6NrQK=sz6K=|SCV*bz(A5Qp} zLN`z}5euq-=@er&F5N_VJd;G%8C^0pNKW#uMC;7(#{&2FcjxN7#kE?zwR*{pfNzcC zKZ|F5ZF8366P~^Z@;<%%`U~paXr;RrKt4;Pag%8n4SwHm2D(iet)lh03Cc@*crLsIzvwg z?lrRx>gLxyZoE+NQ|r=c(7TWz00znl+Z4JiCWg+knS05`G^ti6WPMv2O2!oH_RzWQ z8n|LYX^Tv_UXK2oHi@wj2jblfzqp$?kK9oWDY-({H+JX|DbeVC+{7B{n(h=Acq5b9 z<3X=SM)6akctoXOpE!*;mnWW(A%SdC3CpidJ7NYDdfja`J4bUiOhq4vy@;6itvv*u z=+G%k*SQ}`cU;01=%})(+i%E)$AmO`|w&UJV8k0ukt$(2syyy zd`|{g7=&tmA83RDwjUr{2-Xo)cWX5flA?{|Q6F;;8~D@oei$7QAOInaKsoXx<7^j<4>{_SLGxV+a8}^gNprC36k)JiL$C~1(`_hA0XWq$12mrLa9<%;s<9o%=Jg8z=e0N0wx54LUW?)mRP_>CSS?^Q zMp40;#T|aqBh(PAu4`PlDS2YWj>?H&})PCvR z99xD)JL>CMuR6`(a49)TT3xK;6e>qLhR-Vrng@hkn1E}~@jpoVGZ095tA*$Y{^oX@ z!{i_lo+q|xStS2XJW@B#L>(KwqgFlk zsYZwzg$w`}^5`9%7jv%4vEUc=ra2pk{fNYOZ(GzT0L+cCVtsB-{(hBGlk9_mn8)wC zA+{1~6QNa4xLc!js3Db=nFkgk9k>n$m!V7sl3uq3)8r`so44on(C7yK%>s%3UH_No z(yL7(+2ivj!VZD zDFd^igrxNgaLO--TX^7>OtbpriG_h)kG_aLRkbV2KCO;vi~N|;9?Hd|RdQ?inCDa9 zjH1Znw+_qfi?9DN>aL}ZHNy2*kR)H6cm0suO1ZkX!2j;QNT#b#b_;fQ9~&5sQBt}} zG<$rv;CM%W^Gykp2a@%6k6(};iG|Hg_ofi|?&@UK7Ih3b2kX zd9}!`a3($s8y4-%-HzzL&&zcmpO7YOhLUMr2nWI@nIzlnPoLeFCXP3(kjEH`+s1k5 zMpGAhRk#4oexq#JGdU8dS1Qyod>DRqZ#!xGR2&H{C$Fp z-{ujRnEWi?xE=?ss7aq5B^VxuGFGP9v-B&eAMB6S1p6vbz1Z8OGJ{RVdOcwUE2jIV zuII=44tDTQ^w!U@D*5+u*0vs!P7Wp7znjHj{{3zkwm@Rnc6*xy(MJ($N7Jv6emhMh zG~dx)W@2e~`>2TUR9&H8U;LWza(nf9V%8tA?i}UAqKwyWg-f26w|UPe!WwzD_T~#? zmB^dNVBb%*zx^>xG`=qbCE&B|{>MwNuG(~AlambMA3#83M`O3msj(L&;HlOMM_N9v zEVHhS8;^z9gLCx{iWB`d1(m$8u?fyOjemAE{F1gIM!0<6$QaH?%pU5uQdSfLUBtTL z#wk{1!mZZ0Ju^igKfBLP>Z5;$U7*ydNlrD7x*wbG&u1TxgY)@CmV$m4HA(?R50==D z$A@A(B%1UY5 zn#FA~YI?M|=9B!=eO7$sEk5t$i}<;iU7SCncBB{hZTPlb91dh zce5e_829ycJ7;1YJlrtook;5@v~)8uF8gvrI$lk4f9TlX^6akDT1mkD+oTU@_%cXx z6uOnKdzUx3=h5J<+rd1Xfd&UrCVi~ACF#HcX=HAG@rz@6NM{br?{ghPWwLr|4DqB;W_k**~v6n{XxXeVu-`+H-Qni%O}Ui;I=kB%eh z2Ts>m>-W$XZ*pzh&JhDpm1xPQyZxD>Vo;DYA0RzL@2t^!F49$|B&_n+kHD|*pf@ui zSfmCSt;#ZkH5a2yhQ4%^$_5qcXYu^qWP@wZn2e&HVxh_e?n$$)#kDdQuc zwXXT}KwU zDOP|hMV96rxZ9t?7{xzyo^_4+_urktGwsZfe^0Ajtw;}LV?rw#+`no&e${qA5&PzD zKmmP!#wq7KXuS;5$NN8pfaZmi5K=is>SS9EO5oD!C$j!pIsF_*r(vD_l3S~xng@(V zEy>$-)P}up-<-X=Q!ZuD^^!uwmUTuzlNI2DFpWqsKQCB#`{UqG>r$;EU_WHu+GT_F z%<-EOQkSWCvN3yQVT@#;cN=FzC&9jqau{Trj-?H-UGrr9+O#va@;Lq~Pr*R2wav}_ z8HCe-dGxBDvWHD+SHy`@UUKH9kBm!kaeUhTM@ZR2A( znBZTlo~4_2L>DOPRAc>Tue)k79eIHi?G-3YGn*K?>09R<5jPlQgKjoY`MIkyj+uDh zU-tE%syJr6{f#ipVF9vySKCjhk7d@fZc&(?`bn48ui4NkYKkMi&#SkVPhO6e$=G_b zRDKthYy@vpZ7M`hFiF<(Fro@i8@U}K1?p)QdtoTEXHc|b*V1Y1^Vqz1cXQa} zdq&+GutGSR^RA@t!j~GLsJ|e{y>L%$kHv1S;P?MSMgL56;*P= zPnN#dY!wx^IiTiLZCFJ@J@V`z!pqBHq_t;fuzGk$ie{L3FUA4(&;D4g_KmN?zf7GN zkSL?6ZNKw}Hzc>kuLYD0{=yz6!(F#3mGpoYgBe0-xgXZ27>bhyILFwV7{nTFg6k<>`DBk6 z!_A{PEx;vYB4Hiqw260&VJZxC{1!(SRp z3tA*7C`G%i<;ufM<>F$j$xAVOF;1A2g0FDz(N#O*pa~pxLZCtH)C`CwaFQ6;i z`dcl$ee_k9IS2eYr&NbxMcHfS-Z|JFdqiSzJ7!K zr6lMAYZ7jltjQyyW5Ll6klS(a|%^pg%VG*=~I}x+074k zM9K84FBvY=clR3;MHsIbJ5wzi^DLEstR>Lchg>cK4`O=Y8)`L0yB4 zY_ShwLgd2bK5deh`aYakGsaPu>x=uhO@F*$$2}5*XZULMI+M|ct&~1a1k?NXC%~Qf zyTjv%&8Be_n6bAEq9&0kY0F)@CQW&f>pU(5oTKkGw@$+=8lKQ;rU2>KV*rQ=*Ag>5nXa zF$4;iP&cj?*CbqII;^pQ>r02?d><@tXi6j-zoqNgHa2Q>96d%)0Fg|l(RB)pJY=u8 z3uX*(qt730VjFkoyZiEzZ+CGOJVjXq4Ui7kcQF@g&vgX(sXSsz8RkL zv#bPMKb`GDp1`;ry0334@2tj5I^Z75+Ro|X)HyRJ3+OnX@C8eI!3~H5J39JYJgkXi z4Vm3bdBE#fq1}HpI>Prc5$=;(uVfS82Fs9He?gwQTZ79s&SBjmjJoFs3DL2^(!+;3 zJHJ>fc)r?c!67pI96rG)#c2c-#5lF2M{W4QHxJuLk7xJdSP$+eH6?r4alGDZ(>L6f4 zhbm{2(dMZU6da?#{olMZ#+MVS0i)L~rnkl(0^L!wYBH@@kd7M|6;lm7QXWFI;i}%Z z)gBcNC@&o^GO6cAxm+}})8pcVk5{CNq*DTAWeZ9wvFlp3;Sd`+$~M(?30%7HNH^~o zoDADa?YKdM@ae8pR_W@r+<>M#)2x^23zDssybV7i%#9d2dBogd zHMTL&4AlJar3RmgU2J1aE(ii2|6bbUU^Mb~Ezu02wwW)1RScHf;K`5Au-56iAE|tf zxdYstD^?afy!<92R#32R65?f@%+#{?v8Q2RM$WM^6o5E1FC@ui&JJ zO18FEVw$FhI2`=9Sc2A5 zjF>?D&%&vapr7V1R4Lf{kK@kFiib`Q4{W{@j%x~Wq|GA;$B7X|>_6^isA^KmEmOmM zQ9D4^8sc>4-;c>jN_s~PlVWducJ#BmsPuj4bnd0K{@Sc|x`owTt@Bv>LhqKe6=7@J zQy?dEXX-AQy>S1O^C+IjBCx`-w%!ochU9z2yiCMHYjilgbI_7^bwwcEPE&*cw~_Dt ztTU!@c{8WIV8`HVO^4CgZi%%gIOL*m!RWQz+(;_Z=1Y^wZ=^3#KL1TIA29Y zE49=!_*Tv@QOv_()KU$k9e@AL6g~TONO~&?<=5Kf%|@)8wcFM&PK<(w+1{}q26_vd zyKeh6@?!l=^Zpe?S;zQ?pOk%WR6_fI0Es|$zdz^Jb;@W2i0h(ls15n(#pes~GZmT! zeNJr@+u`3EIP>pC z@~sXsr>T7lM0O%MB^Kt72+tFCN`G}5KNMSTR$IisZu3LP1BAD&qBn0i z8}h__kf4qq*(#C};lV8o@BOV}#U|Fw!d7v%lG$!hyS9|wmd0kRj;P|e3Q{(MY zGOweyOkUr6YM#|u6p_Sr>v4;mBQh?BXU&7?`mAfV7WmZ+Vq8Cn+YLs2u|yB8%sM?+ z&)c-r_96f8Ha+OH$5`2Jk+ovlb2Bpsw2P?vJ??CG7=&AKv!$<;n_ap1;N{PLcKO5i zHePsiYj!r%JGtD|b~k>6za=gO-X_&Cx^-#*nbbTh5H8~2O@WP!XUyoaM>n2+Q+`;E(HPZKB|+_vI>isM$NY-aJ{U zXUJ7M7_7Hi)nL%!E92a4!4dJ9FW$M6YwJB=mBFC3)?FRmc74_MCO-;qeWg=&;rQ&N z^q&_joePfjJKg5w(QY-Uww}KtNq4wqjK94JY-L;R1u!6v1x2K~Be#ttEX22*kJm1x zE5C<(tuo}dvcBllxqXj$@KF1p0e)B)pdUC`C5WuB(Tdw97#&G~-EKLN)UgH~aK`?^ zN#Hw!llu+tuf=^wjvShuIS|ZbmjSf+j#el(WlQ^wZGN&Y^VE2mi%&4 ztcHAWdid$X9(5buUFBok8#Y&6hiJmFZ@;~|)?cauC$TsItgkL|@^pkt{gHo5E6x&x z1|Le;v6a2gbvQ#qWo_+7ZQ>~WIbjlzvKHHemi1%-<8ttOi~Ekw>{~oAb8P?aT}$Uy zn}dNk+U@~8WsCEi$@awg2`;VBT3e2H<1CZRG}(Xr=+PNtoRkZ{Gh5y%+!@$&UtL0T zrr%msOvD#i1?}Rp)@$Kk*yMWy+Lz*k8L_^V*x^+VzZ=Ijgi9A$wLgFQ%88*H#)ovg zE;km`tjxo+-`^rH9naRMd@=Jo6kytoBw^e4x=R{6ABP$bp;i1{F z;{qCL>`oyz3Qy65g^I1RWHnb(V&heNwfL;+Gr^y@i;$PfS17{IoTTwCaczp)H@H(4diP+p5;n+anNh74o>xl*VgygIrjb8ee;KB z7yr-vv1_YA;fGYA6VXH+!^6KR_~O)*eX6;r-mZ3(Fm+3XtF^71F;09@D17j>$c{qS>L5qYjQ^-S+|u4AVE|Ji%@{w9uOVR-+wKgC4Wu55xW z$u|gDXAcV|%h_;w!0hFPL`Sw{qeU05B-^my=VuZO1`IX{cTBj1+a|##Apv7!{9Vp! zB>As>KEm78)!oxG(=!?wnPhjFJttT*-PO11>ZM8DnM7`mZQ?2(rol^l$Is$IHmmszljm22tT!`eX8I)h%t}Z)MZn=xo zj0$_$&Z9_^VAFFLLgMReXu>uUoZY#tXY+4A>UO>d@Jb#7e5kGyjDZ*UT6mpBUj8Sa zMaOB}zPs9KRJ6c{sWtyaqas1~mL710ww@od!o_uZJfpJ>q$A!Mbk~dk?rd7kSIAsN z?uusW*z0c);Whx`P4`Z5wt*JCp$)S|mgI@oahSl74Ebcww z#{BvGhoOW|lyp*lwWhc@x_94}E!~RyPvMhCYrFf`Fi;R@LSg4(oqh&c1WKl=U<`OJ zDS-_uib`7G7SqM5;(C z&+YMlOm8&EExNEiOOzzriYF2WQbx>tNEqaK`)hP18)X_gG%-T<;igH#%QL@y<5zx%2 za@uNoyI=GFhK%N~+)9f!1RDqvbS2V5aaE(OYj-hAmj!l2WZSMiJ2v;w84VL#-|(wOO9mro(=iG#^pwvs4GPAALkRAD{I zhLFtkMUynQ=@B}RT|0%tH2)|RZT^pTZQ1-$r037OyCdB@|KQHW)yM);G3+*J*rXdG zm)5Ej3XTk(W!c2_AX{^$f7#?_jh0rOdKK)^oNz(&1uU=v)fk9X;9@+@hyrprC2yEN zZ2oAwGs6py!a~fM4|Y~ABbhXg$F(Aq?W$(^iMm#eb|@R|UDGyg8XlP(8YjC%6!BoU z6GhaqaTd}6+4oCj81a;uO*aaOWsLeBXru?+S7Y7AwL2$Glnj_3^cDJOvx5tWa@!g8 zAc@R}cDKeF_1cUMv{eHUfKyW*j+mLu{cNNu%Usu+`V%l<9?wJCLAUdeR<&DOQe73J z^4NKi?d7jp;J~jN_lKL``}i3BFU`$%ER0F+T1Sty?hl38%U1GtbKA#F2R>*#&;qsS zTO*^JxmI&Kuhv2S?SN`cw?H`=SKzYh_iZk z&Gsx6J>*;tZd(Qm8+(RICl0ie%hE2SlNFIDCkov@B6Yj%CDiNj`fEu!SEFunQ!Lr; z1cb7KDHpi;1JAh0es%?RZDVN=YiGOHMsCJl9GxAn71f_{w|@FI9CglS?T6Kbs$Mp(b+An3cC!*+Slb8*;Z*VIqvDAv zFeF1XC_cW2K_>LaSM`}k`n~I=hv!zlI=^!5@A`vJi&t)!mM)YQXY^YOr8{Hgx##-X zW&O#`^4z6=zC7+?NLZfxp?LMYqM5?{ITqNCrf4fHj$`hfm8;*Ej(?-yy@uC||9m-F zn7^n$o-WV6((j!j{aBe9Te*8vzsJH_kZ$SYPq*&eTTLe}&J`z*ilf@s8>r-d2 zjq>uT;^IBhFe~=iBT_)0yU+ z+A-TPr3;d2uBgopQt6X2wuN~E`)$XQ!xr{C-%T4;q_#D`s*h&cW4Wbw0P1?vH7e+Y z!ggMqr~J$vt+(8kH#Qxm!Ti}-O3=97I7;Ey>hd)AW@Dx_$gxb{p?LP#U?!G|rjHFL zvc1`3!vw;y%y915a0-6K^9RXa=|tbL;oi()_?A4}M?M^mr{QxqA>moprdtkWBKI1p zlZ}L|*+if5I-ezMeHs$P1)5&>>@pOVf7lV(+TGK=1$Cd|v}NxeHD3zFs-q5`(CKxQ1+*13F^Y&wqh{U20AmAnw;!{KistwqN%X+-p=Qd z;eydacMn@qNuZ?60N-=1)FH=&19;zw>TiW#RyfqMabruUB@_&IYT*s7E#VF9m(+qW zdI6C11x1MX;XL)5VDStO=Pmn{zm&OQ7%l5@8%&b%VcRzRNvjf8NFpXO4XLxub#ogX zx2C2SP5xqr5B>Pu9Sz9Y>MjY@F9>>5HMjcHWl3QUm4pyA~a+*8Kec*o6zF@Id zEV~1J#rRLlI4pf3MP!Ihy?7%gDyxkDXV1A-)9`}yagYDl8tQCov&MgH-w=Kq|M5*c ztBU{F4nZAh&W%dpAFU-J`Xk}XGb0hmXHUben1kPP_lRsCq{c{P(#D-FO<9H({ox>d zY@(zOUMTGDWG4&B)-RqG8cH6T8%;4$V(iPK&!_l-I2!m;&-b2zGTl`oew~u79ha$A6420>OT&K2LPZ}4t`0d^D@_AHd*)hh@ zn5}^$BoPLV@(CYh%^10j^p|50V4ikKZGdRkz-_8C%n^< zc!l$S5+H@+;)pD8Uo#Eqh`inc0n^|=@N!o}jHC;HU*~hh$AuSZtL2_)+ zkccwu1||A+ed6}YwR`&XiPF=>(&8J7j{R zl1Ry6Ny)t2eY}71)_n`7TB-A`(0SZO)pg!;99teP)HuO~?C;TY)i&S7i!TcE3wD|- zXRaXqcIrAjl~-9}F%$|0!vu;KGmX(!!RMMCQjFBWHq`JFrjo-kc2#uD#vhU+-i^tt zWFac!g*?fKcQDUq?vMVjH#bz6+3;`vAAbJJLlU{+h`|At#bgk3JY zI7>JJylO4peo;I(iyc|HGP`p3DxrfAzisZ)%GZRl^(1CenFUkroygtDA?TqAOU+-#Qvl9*G9i z>_H#i&n_Qu_&%+9Ag{HC+Bd3YScjD*N9U)H#7;+6Tpu4Nta#%Gt)U%Fu-0^U6Apmv zBDZA~zQoeOPT2LpuAPC3>MwSDd2m^fyDo?*tIm!fX72zfsgF;fpkgtFa2bRHHHXfl z?4T5^@l%&b3hnJg1vYVU$|6dk%}u5AQ@}z4mEw&bis$a4xPwDS0{xG%X{AW?kFg8b z&g;22+i)0xuJFsJ2Bmz<%A)oj zdfQs7>~aOpM4WEeEon>n6rodrJVev6mUw!&n)5-G-@wA)uq`q1L_axB#>KdpxvAo} zcetc;e&w?zkhq9UMUS<@{Mqu-Qt8ILKK`_L`BY)?nHL@h?Ae&Lm_B>D{MC4IVVYnt znbh)E1aZHFmZu+(#tTFwoqJh6^#fy7?tNGO;l7K*0Kq_}7Na9*1YBrR7Hrj4#!eT{ z{(WER2HX3}Vr^9GF?+r6;N}*pa{kbrU*m1-UuN_ zLWyjBaJ0az&`H5XQ4N?su_3Mb;73|8Mb2&WDNc}fC&k=W9|#QL(SSSQ@ji2wIU$UV zV<&)>U=~#Lf(vGQ(9P-XZ_=i#$dV;;ue*l`vh^3%#fwCQ>K>V~ta_)xt@OHXVelvGMFsGTuz)rS$l;KJ%!wuv~t4 zf^-7Ag4_@s9ye|yPgFjBv9xrdJT_@RPCRyzu%(nC#V(4232m#3V-F#@;j7Q|=d;+q z;@L;~6xk`C702%yb13)g*8TF_T_P?LfZjVLwqfz=96cf-n7b>R<}DB)V_7XXTa|<@ zcpNXj#5_9jYnGY{MU^V+kJt*P>bAa{Dw?-(1xD%TY|&HQgZ4iik$g0FXibcNeo-<1 zYq%}6!D9bIKEKWX`bM5r+5dDzdN%LO_8-`B^V*PFv4VRmzx zQJdx1b}W$1q~SAxhqt^89{*-_p&N4Qk;}^T$*oZCw9%u~100 zbhm@S zH*GV27$PJ=c1b!<+B)(-I-Q!4mj((38Trt#tBIIqjLhi0bg#*8E0o2kBPX`5xUR)f z{bOueRreob7bFc4PKNcIWGBWD?ExJO9b1Y?T81YHMJQ{E_6AL#`jki@;lkoqMgcdi=9q+gSh!h1wkvrd9K|S?~0X<<~y=z}8_lR+{+1lD@8qjoHAjHaj-i zW10C}JE!Uc!yyGywn-?6_@};AkkE{ivC^fJNX6mP$jJ@-TbL=o$#>=#v!?-9HKb>xHNY&vMg;>|mS z#b->_JoAW?tx1@y>GNoa!CsC(FD!jwuI12Z;l(W`d7M5=*yPg7%jH*MG5kmQB9BU| z4715;FKy03TaAk_I`Hz`V}0sAUVPDPLdJH$_#pJ9!&YE2SC?O^YU)2++EF7HeiL+E zbY2Ev#Uc#-u@kVSj1j$b?B{@pO8ceIuAfH%3BAlkszRu#-(cHY_i6zquH3hR@ zIC33`m+M6tHjl?>p+IQ$BT=AOJXuo;WU;5(zP0pl5$ufUFUv$V5_$p>^3r$u7w7bo z<8TR1KQz^pAiTDZAKch^-dfC+bXW^~(hy*}O50wA)2wZ@HgO+(Ax2KpUppDd^WN8mTMnHb9_o#JbAfOn>Zejdz9_>n6Z zxmqDMArEByrxqC9nz%xk*9sV)OypL#85$do`I{Uzgt$nk)t+GXpicXu3glMY;e>?C zDUE*w#xEk`k|oLqtJqAV+BDW`R!8~>#3r?_&Nz$Lat-C%7H!byMCPnU9?}{9Gw5EM zvU?Cr(x4+&g{DnKXb&$WDHUy{Wmjd1qR6MRd>|7c6|Hn7Jpf`Q5sbjMra7s7ATA7p z@D_yV8gU-f}^2AOxMGq%<&D@Pl(()CJ}deKLx>Uz;t)??D| zD%#^gDoj=7QX}kv+Uxg4oH>F>A zgsnOTesHK*ymH^QVw+=&Po_X0;#Rlav96>-sd-Qgr^q)eV~d2fEk5}{fAJK84o#gQ zf;(I)(HKVTo^1YX@$!rE!w34*1tCe-aQ!+ov|$#?1iY*|ea>|rJJq$O&%4&zV5#M# z!*Zy;Q4?{I%y0;I$NYHKX8qQLxnSIdBr;0@_NC)PlGSVGJcB(Yu$wn%8g^LNN79`O zp`0d9!CtvFt>62*aJ7N;YTVETd;7|LrC$~U9bVtQKBS?BRH&6G=)(NiKgN!eKlB?n z@DBpY)PNh<<_-%`gjhcH6#ihtumcjy1ZpeV4gHI+$-uZm>=s=q&?}27^w!~jXb=2H z;YV;oFf{r<LG{&{SXHQ8N%X9b1q=1_X)uWNV7UsW}$s6hMKVMFS znp@lc`SLUid^%((ErgQ2%NQ`d0w5sir9kP^7sX3I_!JfRh{c;AsT&I7GV$SuaQNhn zRfQv6+pss%T@AnMv7&hE+M#%O{f6~nE6z}I^8`PUned8yoz3BmR!CR=-bo-p3eRiT z!yCz;D_4FHM^PnY#Kp!VZ}p2^ThtSskO?yHLC1SQ7%u%ls2lG}O0spcp&gEkV;tN` z5vaBc0pr5XJIb`x3}xi;lP<4Zzo_54u0OdTuK=Mi#c%K6EQHBA*k(ay`{|9OZ(YzF zgHf6rYz01J8@37YF#h(nAHTHz=J6}AKpsEbx_TTwZNdc~oJKF%yh_)78W$sk@|Upi z%(a(uHL8nE2DDQRG+GJh^m!Mc8`g}pg+ux|wqWE>I+H9gBU`M=aC^H^rnMcBO)jGX zuHSoDSUBIwAku|?qL01QpPVdCo<+UkOeIx79W-tA3IvW*_{*2dsfKl^6-WD zAOr@No$IFAapKjjs-Dv9oznD4rfOxkW$EZZJXLu`xjedN~-SQ zVqE`Wv)b1EBSW#wxpr?Sp^7J+-!h4R3;b9Bs6#pJMK0)H&l z{84*7uG80i4Hf;D!zp?80GH@AIbtk4PHCe&^*83$Uq*vH^jaT(wDQ@bH`Z&nTQ}1% zz-Gx;*Y`UNC+UDdy#^HBQo+q)S}`y zt8v#q@@6g9RIHrhnu>gJY*Y=_PuR$s}{?>nP=-SZ~6d+P1q6!K21yM;8gU@p2we&T;0~?0!{3Wsi5MV!W?^$e2J; zhi`hu^G&iK?CUyH%y5}Zqc_)a5u3a%Ral-aUgU~DxrIs~T1D`2ydPZ!2qWi7>6^14 zpUamPR>52iqFpQAx?h?(E0p#W1QEaWC42O%wO$|(r#64&)7xb6!cCWpUz{r}&A57r zx*X^HaXQwGZb(^@RgdKi;*Y|Qmp|f?SJ*4jV^v_Nv+trqTMCC?Q(LbIUg0Zh0x!&7 z-!N%$J!j&>Q88%NL7$j!a`trv*gZEl-VO-MQR%C2#8W#k(}rxJH-xD;pYeZ;UGQ_r zl|6wSIG_rP)b27BwcE(>7*>6aW>Le4x6qQz3|N+t>P;L>ldMm*V4X+qmJn1-jfu~m z`MP-el|J!=g)@+dr5ER7g|i}mR=KVU7h=(QCs*RvY|`d>43A=Dui@w4@$vn1eh^)fELG$yy0+4%FKB~QF^a%yXI0F6 zn(4$UHM(xHi&Cc@4s}}8*%jwY^Q{YpLw1F~@~$Tw+F-xtahX(jg#S{-i3Js18|#VM zpgng`3y0dY%8-8bE43;`99We=c=UW4l{cbn*ap7Hm9*In8V2&!Up&(%Za~T|vugkb zn2~h*&HZkC1&wA+M;d70zB7&b^7zV~#SdCTA=1jqodtbis(Ai$ed0<6Y@ zYi!V`p2Mxw%Q0~Mmx}41Phye6{NokO2uFjGqK6e!Yof|%Z|);&7bRMzPCQ)EnnsC6 z9Fcutc=PI3nb3qv4Kp`|sz8@&Z6+zFlT{7K#@*&-QL$r%R(;SIPj#x>&JtL%{Zq)@TZ&a5-L&y*Nw+*Tf=BUcyWvX*xhl8+4> zg|yQcdH_f}B@}E_lt8SEU0*r=1z6(JpAZIe{Hbz;<~Ro!l4E0pY8~PDCOiyTg~;Gg z?w|!FonyC|T!o$LbUM}HzEO%g8x(aY2klhh-zQeezvF|*)*0!`WaCEUjoP;18viBS z-q{ffTjIa8wQgvC8~^1^JgbWT(iz#ZYftxJ1=9zF9_rT!N77< zx}bCeL^XJ2_NJkvrKW6lo8gg(eZe>(4jh?ZbjfDEqKKS~dd>umvOFr?(f=gunM|GO z-Re38^TVy}2J#xatujVz3>b_KxE6Qkw$VV7GxJl80!hiHh~{Z}AaR9eT8F-&yw)6p zWoYil5jceXetkAfg*_~kBE=qzKLHW!(5?OIoPO(;K7EdCgyPd1;_vOdOG_7uvp-^- zIgFC8Pre{~MMgrf6F)hw&%SWfTRLF~LP5O?%oHR^pfhNLVDP-=g6^7L*qsB}%+R3O ztI~BP=?6EJC&7t9l~U0?@@@?{85Q3$YLFpgple8nB+qa(%f}^j7AVDiAPwNcv2RhI zx=e^`>HL%8%xRhQN+B6<>(l2;i;pp`wp>P-4C|*BRxVy+!C#)-goFgtsa}$rooFMS zEZdFGzZ-G%nF*0~(7px>fpifMYeOLsN9`n1^o-HS1~(c>YebXDE?=|eKWd`9qwCoV zK_J8%(e$VTx%6${-MnS{);-$ZJzJXj-|XK`!`AVyT642Z*^vqX&my|TS|opuu1{y0 zv+-OeIUM&XGM7kGKuTl$7tYc6f|S>20cPe6ofGZ~SN^?5o*QdK^2Iqm~(U%c_)fs6k&g>2uM-Gb^jN& zZB*R*DMDP(&=lIQ)$?EBUYMJ2`HvEaqtqbG(_W-?9c~&|&0;v-sH!Kc^1Z3)I+Ln9 z;19OT2DlhQsibL}DS~H?#Cs#T=y1G6N_hYf;GK3bpC8;542D}bw1mk2!khd@W4#f` zu00A_M-C_AITj%!kPB`)8hj@>AV+0+M|}>n>@MUC7Fk`IqupA-w>O@Q_vJI$WBc}e z)DzF;kA0Mh#(o=3M$>(9pHwyjh3Pf^rj~WSbY{f2$w&TJFSqTJEY=%*{&w0{J_~`w z0|(LpdBWDlNy2XALAW5wp@RqR^0k#yllt;E#dFW`^1>pXIx}G`L&@nEE2pN=o{6P) zlEPV;tk^i-OK4x2#mgnq1HGBU`sb6>;!z*}jwSfud>_gi#VfZ64%-y``rMtBJIjt8sL|cjija34jFBo9T~nDsiAuv)J(mV)L824$SgxCGb=1;lNo>2|7o=F`%rFG`D-$izwM zHrb|)^d1?E=In+=|5}$gf|cmqH zr+N3TJw5a#{o}*#UE6oVfA?vujKD-o4E`H}B~7*?U1rE$PPgJ>6S+ z8uoPmH~GikXr{zXR<1t>qc*p~}b^AYQ_}C)@xu&;JjAt@$>dN8w z?ehH0x5CYmS)n{Ri8jZwtX`OZ3>Hh2vY=Y2IB|LVZjo`YbmNEe@|QTlx4Ct)9Do^A@$SsL z`VI7t^ra04o+=ca%87Ml*^G`-21{u8jCVFqq5yJu0olY}mg*TTR2)hecHd}nD4QgF zVm_W7jvA+_jY291Rs8Yn%GfP^=81k2jP3{rTV4XHzp{9ha0GZVfK;0!V(rMtNXq~y z7ZZIgeVJ5nAfAqALDkqAYPaAD>5+v+pkb{|1sI(-z3cMQmI<=Cx{v&4lNK;H6tHjs zY^J(={I5-rFIO4Z!JwwH2}pxxVbBbM%!_~`%&gF~ZD;M*zwX`zCseZr$h}FkU^|5c zm}B}P_({Kgw*4j~V29Wy>{GLb%yvDt$%n_o15-_(S?go#@S5#?C&jC*bTF;No4MpE ze)be-=+d|lg zN0>(d&12U@Y)7`|NR6(CYGfJt{3+od<*WkmR3y)hY>LgZh6h^T!Kf6O4JB=OSLx2l z!q}1dfCE5-ye?4PriZ5;b-4GjOtj~VAF%<%J&SlV+EC%HN2opdW4Trqkeme}Gkxmv zSqPRDj;%hPTjo+8WaDbC-<)M%>*dPNON;55nshR1f-bX!Yptl+tcIhkxoNt6fNBjO znwEPjEtG(sN_)}FRm176k#bIA9(_5g*Vo9g-kgu;@>+j1ne2`B9nzASXso%HDfk_# z6P~xrhbVx@n1(6}_M>=deC7H~dFk8I!$qz9!>#htl7914`HscOS)x!~!q(c2nUTLT z8%X-z5>AIO9KK+KLPmKxrawFzT(A08TKuAT^HwnCQ`{l4s61NW0OO)s)&-0!mWGyf z!Jzb;b6UX$ym&G0H>5hGhC=n|U`n&5y2pyMUPC>f#Ew*{>SL}yG>PbWr(I9ob5=2u zH=#~JQ5WqT%PG{PfO*=vOXWM0>%r@ZdO4E+)2E)Vr>M-- zEhn#mHT}$(e)`<{!mG37h;Vc~l8+K1V&jH5-~&Q)z_(rl-@ABrlNNrjwI$rSu_fFR zUa!FoCVAD`*50w6i6ps9-=Q4&H541%L{Cv8y1Amk;*B35*5Ju&kRx{Pxjyx2dF(SO zHc2aZTiF@Kug<)s`wP z-Xw=a>A`W(*iz*QnaT!G7fn6Kbi7LaMAAbax=ANKp{t_miCQ47oGL-JPZ+QCGZ3&C z+W)MjE4y}2MLQ?)0tXc*1Sg!>JX9-!-qFoo@Ac;VXDQIV4lnjrtXmVYjxDct)Jl{_ zZ6NF_t;EmKN)Mj5!ltvy3?;W-CCw@Y%!I4W%$mrSI371wXAebfQl)dzH)%BTGZ0M; z4)_fij_lanv*mYhWl>jI)L4)=CyOdV(y9*v$MAkCOBz$fiuMNuU)y#o`=4sQ#a)}db4Y8UmK=zuBUB#==lgIX7SHAyn~rJ?m@)tj zzpkGU-(+m9uTxZp@U;X$eO;XtGzA@oTaPi4Oek_o5Pje1_Nl9@OJ@3_Nvh=Q>L)^r z@oF%dKiK7OHD1IrBWbvipq3ZpHCqKiTQ(eNlGDn19Wv^}!&b#-V_ zp|SWX5)AQ|*{T9SqwNE;p%DBMwGr|8<#rH9pnvcM{>3+jg-ClF&$@mv9!=&CHuoKj z_Z?!!6v7+YqZ`;+J<4()$KPMxOZuRR6HLI@Gxyy zAa^J+80m{=^E7QUqmY!)^AC~Xcs9|0q$>b#n&C||zQHaBRx#n4mLVXrGp<^jDy&IR6~7qs%-iEi4xw-6@?m9aeR9;1|%FNV~S7`6vljFIrI5 zWx7`+d;`gi!U(uF)Z{bvnsq?o6gj%#MwP|1HJr22lUtuXUH)pkxG-%VU!5v=(R-1h z!GUZv7H8p$$RUMyGf)BVs&H_)fnfdFQGw#2_)cb2zj>v;E_EoDz$4x^Is&6%&%K|8M3jmt}z#Z5DTZjc|N1r&QpZ*?~nV(*4D-!-w7Unk* z5&V<=(dNH>9Mq0#!B1duz#Vn)eQnfzjhy>pxpkCUrqI{>2Ui7I@@A;B#W+)K2xFE+D@%NpkX}`^d|1 zD70QWxYlb!Ir4Tt*8G^Jt?@ds7Fx)97J!2Vm7$d9OeWIt_hT7AY4V+G(*5vSnd^a+ zqg;VYxmH%rIwz8nUV6VCqSg=i40-;O^%^K$0D|MJlNy>Ij4tcc(@egvdZKCF>ZZC5 zI7sc+$`i!ce&hgQRHCpvyK?`DyaQpgPfw8lvJF85?_BVxd8S5#mZ=L4sHncOhx8_- zPYXADAQ9eRR@jB6Z7Qh%U3MqX!19yNi0q@E953FUFaCIz(CvB)ZKeTfb3w}d(STo! zIvX$GmjRs~-do^xGh7CdFTdTs6TaBfTZk?)QTI1IbqON^wwn-B*d|I&?6)FyGTFBV zi6S3|9s6M~Z|-HCHA5WDo`C+PK{=$YO?*Ti)f!+JPBoZZF^N2YZvf8D%TF*`ReZ5rWwj&&;Ql4Bn)=FXVVrlUt1kk;8A9ZG?=_VU&luB~U-Bc;d zv2X6uoDIM#stUhityWU?!E33J%6V zMB{Q9ln%EZ6ho$RYQxIdbwWf|K6|83oW%96B$aWwDUwf;Ba+Hr;H7MS-5(_rD#>M@ zCzSOa#nuQVRHWmEd4~^$*O-r;MaBml%5LAVi^WC<{p7m#Y8_5G2`RycH#bpW~6DrKp!YhBg9>{WEawtXt zK>pIv^^P)zeX{4OF>7P$hTFa@5Igq-7G&AE3Z!)SV ze86Y^c)+JBUSTQNaJ(sb)>58K#j^u(yHrC-Tk{q*L9T&hi4iJM%qu?|hcwpI>mG%) zl~a>w9EJzeUfgNTIdWoLdQv<$t1o<^&(Fi0OpbdHQ!!w%qnJv^YAY{)Rf&J{IrlS? zVQVXgRw)uob3!Fp*+;_oCNl}bLR=9e4Q!NP!e=A2A{ zbiDp-ayyZ&P@DsUvo*H!u9VDO%s5MHZO`WJZSOhLchLe$fv??w?f5bn1k+%u4EF78 z2wFo6U&2PBQ$O-JQcO~F-zyswYOM^?$``MS=kN3AKG*GAiA=i(aBZ5ji)g~Qaddht zKE8)dFd&W_$_}$#kW{o;wt{jBR9?gR_LeC7b(3UQNRX{?N#l=0erpBQpa_GBDhi8V z=~K@k*cTz{Ai~@`x85H4t4YKD@-Rcz$Ixl9-2yBD=d_vP1-}UEZY}T$B_Z$n16-r| zj^S3zN>|*_6;cmMOUt@r zpB!NKjxwS!IRUD8n0*hKs{vA%r6)|sci>mS0|&@|1_Di5gB;0@8R##4OW5w$#w*K5 z=)%7lVmV}@2fe9Mj?>&G%xj|#nbnQ(WR^xSRM~1KUD3Eh`ft}D^$IYyl-||lT#T+= z&P66Q-uVW@L=f4LoLZb0`12MT0)r~1kV-H_!sA4E-BP+i%gQIb66uVFX(hQlIFDX@ zMLHo^5x$6=gP>wiVg4-mFuZt%otDX!{@~Mpj7{_E^2I(V<7Lm&e~evF^y~HJv}W|x zg_3DOBx3scMRaqwYDB7}#z$?a>cT;IWgi^52PP_D_vmJ|49r&Jr(rbIGgBipvF!vq zOYh3bo9fCK7DSwqd3itqS3uV2KP+KD1)m;V8RtCk>RIy}=OP9RSPhLfjh>HFR1@x> zmCn3T+gtOSQOmxf_ag7mixCml$mIk^wx9F{bkolq-K#2){k}B}SYJ`k=hbJ9U6^JI z^XJhb3U9QW?AHjrC@g%wGIqV9_uK35G7EB}oGLLY=KN}_@MBYBydyhQ0q4A>c`hv7 zE-zn&WX}}QkpPIp#gZ~kc0+ZW@ao)8d)JN~L1#-@-B*}jP--U}6@7|Xlahp*?SAZG zuxd0QC+)N6>kdN)y_SitqNb$wos5$+=~>?Zo8(QgiPKsshnAK5j@o$&dk2`|!Sxe( zf;M6VFZ_WNA(qJ6;BaED)X03b@0GC+y}%awBkSPa%OiW%{a|{7iW%>P30%vNz4aLEN><@F+CPCL2d*Tv=86 zGspF+6*g6wMa}X(<~iado@P~tC=ezK)o_%uyS3s#Glg_}auR!~i53jNnh;Bir^kvj zr(IJ1S}jTzAC?v$*J8A47NZ6}>8@8qHZOH*+d-Y8qOoD>(_jv!x$@0bP^M$faIlhj z2Tga3SQ21u&jP+s6B%Z+sVaabnk=+v>E&hp;Jx?-uU4bGVEagP`WRl$fSAs zCeo#ENV8uRUYsp`w+I~A%%k#&>*Q#KkPP(dMZ{nLZusSOs)AgqZ@@^J8#caY_;cGP zC_^X*cZPD9BDsj$B*BHu#p^Va$#Fu&OW#~0e+-&kH_4maP;WD}z$1V2^m6dJFPj+5 zmmZ(Sh#B<_VzR|-u|S>R4zPpF*%mTqe+p7HQ49PI_9ipE^b4I=lYfys>D4S+G~FCO z98C?9ZsO~qY!p_9eywl7{CBuRA;!nuZ&+x^nMWqGw(BSUcWg%TDd&yQ1 zIAn#gcB5kH5$&Ur_s;6aRl99f(<%95A|1<&a4+@5+4iSuL4K4-4;?1dvN*Fqrq~K~IFV9-Y9zdR>Ed@7 z6$evVf@1ROtJ1v%NY8Zn6wu+b%LuDUZh4fRTHNg0c5bl`W*58~tOY7f%MVVLZd}IG z0hx24E|iQAPC}MXZ3x(zN@fPMSURVr^Me|AjwSjNY9@xz1hY$6p;=c7qgeQcUg zFG2^w9*iOyy7)F0mQJF2S3miE>FeW7RdgqwjtyoAOPnK;8Ja_D!Z2DhxFzcJLL*5h z`XuRH0!X+mOh64ry39EJ;wx^mMsUFY-+OoM+-toTfD~S6tu*rpt#pf5p0OxS^nk6+ zCPEYfB?ZB#Gk5gmaXj@HhFrQhs4EIgY?ohaR@*(6#r3`D5w9aZc+) zDLYQo3lH~8_aKJf%C zJejxU@-#W6373b4QILP}_)PKfUG6&JA!jHG%jRkol=aM)MV6dhbS^fZ8}PHqcjz<}Z&N(Wik+Q<6Lc6U32GMXT-=Wg`SE6X>Oe!;2u+2=G z0)-Z$&8ZLXt=-*&;U;{K@kGc-5&@m2M=#9ZUpaMd<;v{J-K*g2L}MWmu0sg-ke8i$ z_G9%G0)enHl%zT5eK2(a9jFRRw<-5Jw{r7KeSW^MaI*aHD`TEPPfd3faL5yI%>!YR z&Mre};_11HZ3tRRwNJn`J@^!ZQx+B%3rm;y04D{5Lr6Vojr2i3`4rNn&W}No`l)GB zvUvOwnKp3&HHj<7PZ8>a{YQ@rx##-{#rU|Ak}VJpI9=^Y z$5@wL1#4(prE;2l_PrrG>`lu*>a@S!jG_>(NP)wQ;G9vBOTM4uD#F#W>$D!;B_e;x zg0a%OMDBqf1#6LxfKqLYT(G#AJ=)S?} zw(T3{TXXHvYhsQp*Ap^Ym_JLlPGRBm^6`tMr3)*kPOaQH35j^VCCA?B;^h~jT{w)! zpBKo^n?0?MKZ2w>1j}TdW0zpTwq?_{ZQHhuO53(=+qP}nw(UyWs6^+z?~VS@{U6SV zvt!4ab5Wqu>GrlT@mc)&SU)LpKU966&{;iPl<}~}K|%PXyYTSVZu975XE)~*|LKy8 zV<8@)c=cSblV7XYx@qvW+P$$|hQ4kGI?lB%#QZ#Nzu<|#(6>CAsD#*LQT%gW2RDg>rn0Tz(j9`SnS*_8QY087?qV*kE)KsDF;?owuF?xZ*_sUj zbv$YzMhTc;qPX8_u55^Vw8`yr!FlkhR;#DH$Xe+L8sUDZ`953pP^I>}(^N&Y6)2~q z=eUvXviA{EXisFILxeKPx~rcewy4)`?nB?)WlK?hN)V_NVee{Y!M&nnN9M||x{+D@a$j=BD8 zzTjga5H%hDxwu?>=WKM>Iq*cow&^>OSD<_8d2NonyfpW3)^tdBl*&?LpW@d=L&ApR zVPBRm&8u&HcTb(LZ_-Ph+TG|5)!JHS|Y#3@-_(`{P&CR zXt>h@L93KRokByKWwhR(q>YrNMe@@ip(IZi3Jgj7Z9hz7mht^ONG&YE+U_?38XDDe z>v`2h#v?ep2~7>xA7pfBtp6<(s+JuxZnNLOYMR(skjEiL{&?4dAu?0; z=P<#b0mEDqpr8(o#-PpH)9T&i8v83;=X?Yn$hl6i;qzS-p*ZLd(FUslL0+WU z@i=$~SzYDyYVmDiMg9!746)Gd7HBPLtSYs~N1!rrw4jOVQ_Bt-)Jq2U=~v&c_=d0?05mQIafhw4vw{kYu+e8iRV{J?*}Hc#oXGU zEl|yUM;*?yfco@~0Yfx4Cx=G=<*za|rDmWMKXkB7DnxNt(#hO6*mNwg)_LKdF=)QT z5xaP9amM~)lCfqOw8gxEw6>M32EUe-Lr%jVN=0u*utD_Ox@`?+dCyuE8s$r?s09*$K{EWf0G(aNrf&QIRjdJj?DY6lIfujO zhBQ>i!xon^*FZ87)%UxTE(U|OpvK#RiE%Pz%V-= zakldhi)|xLZof$jsXcAsW&o?Ak&qtY9c{t^^cF0Jx;MbM#B zLuEl~T-W3zk2PEu9||7wY%okjYEc;i6Osn9l$8D5`~D;t7Ruog{vO}pWLT2YgppnU z#DekXZ0t8YU;H~c)1`{HU)GxWVo%3t3hI;(_2}wEb7?e2Gm`9awYF@y6^>-Rh=3J3 zVr5)POAW1w+EAyl6@xM8R9C#5_#Qz9%z+1Gia&X}q?fWxhaB3?$!9EI{l-ku;1zEE!&m-7jL8sD%ORI=G%(jG;9RtzrSd2<# zi-N_ioa0XYns;a+|LsWm{UF%)dZBmb&zmOkgmO*WLSJ49H|MgS(3b1h`>VcmqqAha z<9G$v2vUQvu&=FN$$lj(j9*ai<@%PshX*8%E@hU4y0F=c{B$Qd8Umh1ME-|vkpm?f zMYf^U{ihesRb`=8`1e1R=%Nw1y$2ORQ>~GRfhQMYFm=8|(|r z(piODH^=eRo9F{>M1J{l)98BH^pPmEDmHgyT*Bgrf$HFCXyDN+hk~uO-MPS0YHo`- zt&z8|2=W1M%lLQKUU#s2FnXHvrPE&m5UDTff-pk1{l{z(aX+SS^!(|InTzMKce91A_{z2$AO+_BL`Q$xd(@;wRMxU(D6+<~^q)c~NVC!`sbn@51}-0gdSVE!>OxZk~3^Qh!mp55^x- z^$C^JufMUM_`=pc@<-cK8=ldt>z`c-?Ei?yi3O&9c!E$G} z13IdqA|enw60V++KUe3!Yx2|(>BPZyl>wpysvbtM2vCwiYZX&eP1^V3$V^iAD=ln1 zH!_h;5Ny;ef3T#0d3m8IhRsE6-lwD+KMdRz$$XT$hV!%a@7S+>`=dO03co{OAwJZ8I?Vmz;GjV_YD%>qv{R;!!Dtqh^Q z_1P1KMz5Tin&0rvfNk_e_4OvxI8Qibn>nBMx#b+EkWl)_pvbJPBI4!mD24Wxo~9#o&GHwW z27Y0JPK!-?^Uosoh5flp3wQGMED3NY@JsAw+Kd6>jp6=*?$!1Z$$xfO2$j9L3*i#R z|8~b?b+lf6mT@-_-tC>_U-8+0I3E^jXSBN795((E+g=C5JM%Fz$aT7Pbc*B$GlrPUF5 zqgLyq$NdrO^Qx(>mCN4zB2Gvs*BLMd+p+}P%D9LiKLXw`uVnZM`QAxew+i2OxK=bU z5DeVSnh<{gMnuD`5u&zPRc*E1=}0@Tw%u7Qo7=dkB4XqOX=G<#*)@hu8Y#PguW+Xe zBZTXaMPdC;1Y^yf6ZPuQX1#XVT>TwAPd*AKIACMk z3Z7n%Qy7QJtPGDgS*A3<=F-Yy#2#0gI|epS@R2v(`W0BPm&|U_$aB+rGpg42!#+C!Q1MOvs6Xl2w?J+T;<@&R}-{sLsSga)*xa2%(WD-#)*LVZ{n3j7d@=6yMny z)8k&qjyTO2)kX7h%)^ z!&Noh5OsB`>G8^;BD&q~@lHq*@G3EwckapL7W7#O2Z-ElIaJK6yyp<2N}R4z0l%B~ znA$^OqF{z7_mz8xbos<3J>VodlxpO%9vTZtRr(EP3PyO!E>h5k1I7u8BQdH=A;s$M z>FV6SmNd6NRBq&4G<2@k$m&?ni9gl7xXtULd)Vg{4QXbjuz06pqqe^ z{G6{hHH209vYGyo1q+On&GBI2O-F<$93NNx{X3k7AqQcUl1L1A2pq?6GN4&T9;HSg z#85%n)b%t!)~m!x9ya7)Fq7V!OBIEP*Gf=kngmGYZoNst(4*k*SacUQmYT7WB|L>w zN!G6#kEn|Fd*rWffR9Af(e96bOOV1T5nO&X=(09jl2F2gVu1L~Q^(PsndS9P5}|}1 zv&)Zw47-+Qa;%KYb%jgOL_PhbgfOww(k+V=xl3?La<6+U^{~lYE?sSP1w%YrbiH=| zTVW~Lg-IOc3xkqGg43x|;p*{@75tImr_k-u_jc^?wJY2%U+ipj{Na4B6i7U__b_VP z%}D;V)#_p9cO4e=b{O!ZversAh6-g#W1C+pPPYLl9&jf5!6a;PuxQLn&mgDu*xLW$ zAHLe^l*M|0oMi}%6U-T9WzaGP9&4_m4a>PffG!4x201VJqbv-2EznTbH-*uuQ2-HAD*i?bu_nxHct2_AVAjkq5oli9isi zbj`DKa%DQk7zRSt`>qplK#9t`&Cq;?u-z;D8nAHPVn4 zb6~nTSDGmkO+6v#ta!WqY`x2%9!QV=Y1}hGyRePS>>>!E`bQz6QzdO~izu1$QLF^&5#$85Udvp^O2fXsEI5D?90nW&d!(;V+Y(le0^{Gs?3q2Q#d;Q4x zVQfjxb*F?*K{pLRnG=oO3rAcCFfLJ@A~hQkO8ZX#&IdLE?6Yh4R)WVKrHY8)(?Qo( zbWwDypjUA7wzC?wUi9xN9eo}WNg0?KDDBBiY=oucU-a2cS>zk_Xzk@H-P@4cY6iR& zlvXBb`e>9YHUYOV%>xllY+hwwf`=^~-ty`ScIOqO-l%mq=ReDkz5Gf z=QjsOl^J{Noz?u+JgxX0*?q65Qe@Y25;el;qeYYy`uY))_E7;kWRZ#+Uvzm*Adw*m zGywJsPWf7#RP*sy<-K>o-@NdVF+=YFLA0Cl?)Y7tL;1t*Uy%&J`|i+;MhcT>!62$T ztnee<#`s@?xZwq=M8c7Edh>vQaiASzYX83OB6-BmeDp4F`lsOxbiWhR)-L z<;|j2k^F5Baq2h|*cLaY!`E2_$spG2S3mN%>xtWxTWDhdd_vs-=-|*k7?}veUAQVx zHzm2ohTX4iz7h-jD%|yHhFxk^QZ|EBz>FndjOgySUul7+UdxggTfc@zWC$yI=MdO$ zQ~WCr)sJ8Rw(MdB9Qu+!sABg#<5Y+28jevsrai;Qdh-61?^@;>*dgIe;m6=e;T!y{ z?kUVr$uG>#b#vz5(wZMyUHfLUOhc9b zqj^M8^M9_h3p8k=N#e&!MPnlB+(yVmFKk?__%*TeaNy9<(LGs}PgW`cQS|sPF_8~V zE1gXZ6l@Pj%!MV+M7lr9rJ-TqT*#7rJY)#pH#bd4$+|oz3VT~PK$+G5?j}!%ey4tF zqp=B@)!F6{OPcxo?-}g&Pw(gFWZ+9Ch5?@p<8jRuMl-dAU@d8jLPilFe7z6!uCC)Z0irqKC zJ~tl|)9SaKvizqcZN+4VTIv{drD=n~%in7vL`Iu;)7#S@3y*|f9EsuFWo_nRog-@7 z8hY!BWy{u#i{DC?eHy0F*#BbY@3L!q*3fLSt@eCb-$)9QSo+$fwc1@ujFU;bO$Gmr z4OkjS_nyrz1x(Cl_1xY{8Sl8U4L2EDvOX<(f_0T$ zu{xnEm=0DRhE0;+ zF@GX31FR!FR2Nz<;@1y{2vh-xaX`VFGJ5rIBkdJi!;ez{9-?j%m5tVz=pwhZ;A+F0D;~s1%7G|E8Vy2)e z-0k&tHSn%)fJ{)7kC9C?JI|iL8rM&LHsz@3!UEHx8jE8G0oX0xd#{D-@Pg*;Z_4#j zr{GWZoHJ}2w0`UlF0n(jmGK?1u>jR0S$tx|ELbTR1*?OKwMgO-`Q(I0q&Wve0Pcm} zp^Ll(eXhd_=ZhtV4is;e%MRrCDJCW& zlE@U+O~h8W6n9|g$)vhMo`>MZx<&_A=B5wUm5f-0j7)`ufHv+4mZh*+C?(1@oboVBj?+=X$3-O#b2>fO2aouz*Ne4#g8c;6QTUt%RkP9l=(`b}V*8mv*nn ztb`R^N;yU?`pQe#tfzWZK{!9xP(0Dl4SOLn(;@BIn5lZ!OjBz_=88)nnm5}>dd7Y90Z#JeG)W-);G2* zMM{?0ZJzpLW(uZZCqv33U=7>Snwm>@fvmP3Sj4wjx>(>T&2ySUm)RXWLWw~nTHG+nTwOTy_w}z&}Ue?CfOqn{r z2rf#G`%#bP)LT%wT9xSsZ&XLdP>zhQMyX$(fj$tR(Qe1y(~^;d88HFVDcw_P7atvk z(P8$d8Owq;J7~3fm2#_)(SiF_p-pk-ylwIl=GJ!0eC;S@D0FPlP)QFobSMDejqgDZ zk8>MQUQIcd-rTYxUQHTfHNV%2xZ~T_8D^iG)wkGMM7 zV9OBdzh~rlYDCD7BMT}H)DwEcA)@Zji&xt$YHpgNM0Ip*Joh0AJ4d6IS6oMLQXk(& z4yT~$ngKs;AC=BFffEHj#2o@vWE%@sEIp~(=%zJ;xQHUmZrL56Ey<~&OLf9(sZl-Z zODx3Fb;)YPm6#?kV}ii%*4eVx@&5d-Y@;GpcbxI(VKXLbxE_5#V(m`G?nzr1wUrnS zbxM;X#x=+ZT+Qob3D%UJcTR|y_|XGlfnru9EGtsT2xnwf$#K$(;H4I2P{;~yT@is*TVY$F!G9{Xl4UEXEl+nGY;u%gmFH~cp6gaa*w(N#x%o5$_?tPYIcx}$FmP>Z z{yhzn!jKDKT}xnFK%Gu0kI%OxhLJrctK3aC27Z+I7OC>8Kz3g=_`)Z4_0u;%H{rCo z2m%Qmm;^km(ZTq z0Tq2yb`-Slx5fj;YSS;O8@VH~J(%C`H_;UhQg9WuKbbX8Yrqv8Q)KO&EjyQ-mU61B zH%)QtTOT&$b2=Ny;K4GsFec2HCblz;f2!kum~l4i3wl;Ef0#eneonJIR8xMOjEc?H zYU5s1r@t-e#+>{#3%$sgfr0ObxqwoH@i9LzG2wCARWIk$g zWv*qmS$4fT-)^+jnf;rE56~HZg|(caq-9N>CO;ck+r~Lchq3i99PHS-nZNHP3o0RpHW#L@NWFj|MpkQSMn?h_u znZO8L$mYu@IE=Myb%hmOCf@k|KR&pEWssp#Y2^Pgd_r_A>g~|{xNi_%76dVwo@lM& z&26Y?wrhRdoS*Q!+|cs!^*CCH{a8!obw|S*Rngp!Y?w^H>r%f~4?bAmA3}pk>GFDo zlJx?l*d?a)Lvj%q``j3xzub%M_oemG(DI4Vb+^1-VL{EG?Yy@LV&5V_?M=4nEyWyY(%K zyi!nqiLkJ%ykf(f9+f1QfDmh5g(Ov=&XQ3o}N4JEtp13iScX4 zV&SI9&@1-?hF;7xEZDZ7K=3%ck8Xw$I{>?C0IoxwPSJcCtpwbkd6nX@0x|&aiG&xw z?j}{P){5bz2vLo55DokI!x$8CBr}_}e{q$ZmKoN!YaJe{(>?)~#(TW$UOx zdzC#@_lp$;Ug)mfUVJ0X<%K9cq2sJ~*Y9BsQuXWQ+tKTG?0S1jpu{9f*mQCs9((QCW)o9nhXK7LFWvrstVd5msx_rYn64rFO$?pb{ ztx95mZG&Mv!Jk8#KsBkF6e@1ZUK>^P}9RguCGBLK08|Q-(Ex1;ZME1??1WL zsfiU=gQ5;-USSIsX3F0h#MfEQCm^@(p8KEVsylCs75JvxFVBrXiIap#} zuiLbgj=BC7?VJ3NEc;d$)Q@pXl1R7|9seyhr$mB}cfzo(=tJt<=o>{<5j0Wwv3gRv zIE(abwSUGxhHK*tapU%lN%aa6N<&`)g_(&3~H#c5KqAib%GK|@A>}o9q@dl z*=h4eLAo9%h?&}UyFFbDKfkxI-@Gxs4Ck&tta#bt=gvEf!+QGYgtCTIWrbR~!rw=& zKr9Fr74YL~fLyr?ZcDH%M=h;iVKDTV|I(GFOdGzR=sXxH`aUgs>Oy&Q2;a*mxq+9C7-A=9$Ay-lx6>-)~uS10ui- zwK}C1^br};8X3!iY39I`K)W7{$u8OuHDd-F;PwE;VrTo@7KaYAARU*+K{wcRmkB3@Dew(QFi8j)(Yz<|b%lA=Kv-^<#X z8qjXM!p?|mps720qH<;t{>Qs(gE$I8OlRtOn)tk z2kYU?Y}0gimda*pc+wf7LyOh1-&2)w-Y01#YnN2o@;%8RXmb62m*^iJ_2YqE%$9Ob zb7{!N6d(UpiXj-i{ad1PADqQ^{w)YeO_PrZ{3YqnbSziH;2OOgmbT~|Py=-^Q6^8+ z*_hX{<4i~J6Rhc^awId}TLri0L5NNj8dv83aI^yAJ!V)R+L;&UDhaivHVl+(%X)HP z%VuPVc!T1_QZ#=?Zv2`^M1we8A)F_Duz=wvh>GoJ})IL;vo1)XikJBGv$#$Dd zPZZQ0Pih?v9z>>w?x6v^O=61Jv3N;<0rt@n+@&yw?_gr~-$a*ib=y~TZz+4UwLI9i zO?t%@Gi$+#Ju*Rj&jO9RU&GuC$?z@siGYRL(d55LQxoLz zEH4FZuJQKXU&^m-R0PXXKH4~+QU}D)4|iM(Oo_knaL=tIOoCn4fPTvC*EC7qc0{;J zJLvIv$A|H@x_6G1j9GVZqTD{8T0WoL;g6pGd7BGZAV0_$6td0NDFSb=!LdC*Z~&Tx zLI0%$)K0Z`plGgS2T<#n=QpD}9e7h-hnw8u5gxtVYj42&Zk%i_&tLI345JzOl z<)2RJQ2Ujs;X|A*Nz+fa@HBoUc%LZnz`|to=U8?X+Y6%W7}^fob<0Qg?|nMJ0O$f1 z&$OWDDxT7wDZ>7x?bUS|!$z)G_2`EjeZ6K>J7yFwQKdJ-MEPvvETgg7E}SUHZqFcI zIz${NCMKq3fMjF>XHm8*?c-la3n$Zp`$d{j<*9SOOP&9<|5s+(-unrwLEY|@(;jVk zF(dL_J0G`-26O~npM2U9RE(zm^@~L`h)J!XsnzCGgOt^Xt}9+3m;DM}FOcQG8QCJX zKlw*z5mBgkeOrE~1E9{QbLg+-LcZtZee3swQ<^yVzowZqd_Ki_*~!oIc&AN0qUr^c z*GAT|x7S7x$Ah2h2H#eAX-RS;Jx(9PO`AF`8ioH*Q*Di)<3SVHv>*jo2R@Z~pQHfv zm*7p3C`Jso)L@ZjOToRnx?NU!742De8zW!cNiD$R5Bv zCH=Kv=2TKWVmNEC7%^G-r39xOHJNozsN}6G^*`i)>zaPbOE(RU&EAj#YD;-=j}^Lw zIDrrQ&NJq)8IyBDMjV<=wtKDUGt>JWgnI&?(dC~j$ctU*JO-t!Relxrr5$y%^TjD* z2u0aI&HzuTfC)8*`eA(u+a0 z+Yv`me|K(W`G;Fi{gh6GA-JBBQV03$M*jK$!-TyyLRlRak2N%aFnn~+70Awp$a33| z)`NtLGY#q$h9sFgt~=E1@1146+oN*{7;}G_8@2l0e1*IKM?mo<3^~wGuUXotNL4oE zYnJ|pQ7Yl9^2;E4S;$FLty|3?)hJ9^Ie_1l7P#%t-L&4ok!6D>;C=mVE*e^H%YIws zSzzF;=afE{e9cm|SLA$eh2Sl=ba^oWWh1Q!L#dN)3 z4mlP*=;^6mUi=LK$@b1lQ~l+{r^d_I9qu(2G!ubvH<~S%^Oc^%mMIR2@Csa984$_y ztAy0vfML7wy4oJU-Hs~IkBvni4*a>&q6xiU&2>0*b&yyCg9A%D*v%j9UVXjp|Ki1^gk)JgW!AfyGm4a&QtC~rrZKrH}iyb@p=ge{a z0Ij5M@mHdj9+07FnnXJ4pHNr9wz>gcJ*QD08C!*_*M~V2-ZrX~5=?DjZDrmmWjs#0 z4~+@+XV_c^IU&5Qi>9aU+K!~Ct@^XqX&+M+i#;K~CWEYC6fOaS)?s*Yr68I)AFA9b zQSigQgg9XqH)@()>YUu_jS|4X)E(Dum?Qp2s4Ro3HEC-a-4)i>oY-zuhz3;^aOq~K z00uKy5YeN^*7y+>EBWScpWELnjp@Oi()Ye~BvPa}s*^pR>v!-bK-6%4U=cW}wbG&=3W& zetme3Jt(&=iCuk$nrg_;o!#Cx$IB!Jat-)2p5bY4Gk=ofQ;y0Qq{6?AEsmE_YLTWo zBmpm$PNR_ZF4=Wa%Sxf4Uy(Yt6|%3&bK$3&;wGD*OGc2Z;M-)~FKh013jiUko)TMP z;2h*wH9JljGx>fuZ|F%yEVdWsR)hMRnMymYWUYoB+DO%}r*dp!M;#~jm!l^Ey~;}O z@1Q=1#Y)GnyY&q^>dIVL<4vD;!F&!g6^`I_(LqD{#57c!=T6szOx9(UIo(SHv9ftA z?YqbHknGwxUh5q36EFy=to(=RsT1ctBiHalaoqGp;%Udy^1m%6Je@Rsp>2*Z2xCvB zAK_DQPczBiX7Q&#=jK|xh|6UsP*JZ7G-xx5NrIzntU_-93E=+WJ*G)q(Br84w0^`hB2^=^KjbH7}+AdXmMH+eAwsZPyPHzw_-qmIlv{-6& zQIDJPoq{089v0P2(&qS_(3N_GW*mz`CH+L(zzkidwO=ugYRz0Xkr#K_(O$2;cxKwK z(I*h)WE6N4FvnJ*_9{f4vRk!)jZM!E!>^VOJO7wChwAq`)+iq%FXP`fxvy&5t`C za;ZLpg^XEv?93KZrM|k%lA`OEioSUAaLPBV&3tBB|MsM~#hl_E$!&)z)%gh|AbPA5 zzicQlGmT`}MKMGF-&B+=quh!_44!YX&7MX;zSgo%$}vpT4)vCx^OH}8_4c};-wIHN zh-W^#6GuN2;WIfHQP9HY03E0Kyq;r*bL_~mbpSp~d8F_G@q+Rnlu-QLW^2avn}EBI zmw9~vE-QgL)xk&8+!m@H-TQN5qU`U-W0z>NW%guQ!)CRoKe(9Tr$4_2*pnkMSuuJnrhJIH5DuxlbW|ro8cD(GRNa z&O8#)547Dw8B&-A*JQM5cGL_@m&tyb_+x}Jj}XbTHD6v#sngf}mAL>k278#ym(cvk zYHuc4erbd3`?W$K%eCK_uYlTmjO--N%PM4{xt~l_EY700ICxWpv+m=P-6cWPL-`!; zq}BGLQ^&PAu#IhVL}{jLZ?5Z|*l7J3&nGnqvTnP2_k;EEBz(v_X#4Hh!dr7P?+HGS z3P|f{>*Q|}fj1&ew!WRiA(JP1%AEJFW)bw_A^UFCv+sycNrkF%a9Ddx08y&smqUhObHl=Z!}J=eLUUB%oC(4 zET&a?UdA0B1!_)2pf1*tQN&_oFmwXjeLU|@M+?mR7?)T!g-(Y61vUs#;VlYYJ{?VW zb)KJcZ`({doB=o)>j0{~hX=~voKXVIz_ysdxvK%-p>9!4(3yo+Qakgq+``F*GSZCh+NHLacM$qa zUas&9h`EL1E5!FEg74n=cyjIIsOkak*gLt5x6-q%!BG4F=xAB!{z>=&(@V4y4zIXO z5A|dY1Byu zlyFeRoofZC?LQqYZ^f*34RjSDpiND#8Q55fd?}z^2ZwR%mdKY|Yxn8d~c$}`X zo>^;!%pM9#S9DXPN0KcfGNiWvS-pb5NVuD*`fVEoRn7l8;zbWNuk@1XAwm5~9Jf@F09-pNBQf7hz1iFdG5gy&@*%}1VETwyd zpE#J|5*R_`T@pZMQdq|ujs6?p^nAa|X|@eOHKQ#3#(yds|9W3^Iu?`Hq9E-^o990W zW1=kUxDO+e;pXv)nu{G{UZb&2!Y3z0=*zhq@5d#&-3W5cCZf)>zD2me_?20r?UjKY z&Z8X0DbMfgbb$*(WFp9`xJo2I-T%eV1&}Gk>w0c_5h%qXQ%m}>O~j!VAnlod(QD&J zTYu>qo7)p$mv9#EOx2x0CYT9}kI@U|6x@Zz*5A|f9K0x$H$DEp@z)&hRiT#K$S=&m zo&t-$e7RA(!hyWCr8_xajpqJw#RQWLzZh@DOXTyYgG^f1MYhT5ZWptVMP%nB5H0l zE9@K~%7XMI-ktNwY12paiLr6z*Jfvl`ZpI+o&wlWl@!FdLe=0;0vIn2_Yl6$n4jGu zZ3oa#$ja$M3nY!-;Gay7_?WhpbuS1E8A^xCXeV<;hnrCwXk~_+J|7y zYf_Qhje*FJ*E>HVB_2Uf#GmX+l}S!y9m1HUE_)E-TteXnCWByE>Q8{q1x#UGAwHO{ z+N^7Eb0BN@-=HB%-T(D-3~1J-KaL}+id#}|$n|8Hv$Z-t+TNcy9&d}s)^Gk9*`nX~ zJRJd+|GKb7LT>VUL{r7E{+i=4EUjA(T&?&3>m?&9ZX>u>GLtGJ&$mJ*pIEJ(kBRBV zK0raz7}{+Unt9CxVM3MPrsD6YlGmo(^C%wlRvU>9n-^%Z6&(f*SM8nRH$6N|@nB)eX{83fz<-mI7WmtVwZ(u%Joq z!~Y|0`!MEtK4NT7fru0RQbByQjz#dml2kyiL(R)YEp&62y17U0HJzXlfxq2EkB5Jb zt;%*X0b8_UA;iAkK$eT!N@8t4t57Gk#hffx44ITC!-T2y=^FU1dyS6T#*N`Vm#5S5 z2qZUN!5lmgoMe9iWPl1CWpAPK`{wX;*Y5k{Y~i??3bhr}Ro^yFNh-Tam2&7N*lZ9{ zu`UIc9{FN&J#lqa&&vvPv2wCIeINyU8v{4o#C`PA?BY6aeNv6?e3*;Nh{EH=B2$bb_=?g(0F{tEZXxwp?BAYSNI zuNi&%aR4hB4FB$X+y70c7i6PHzw(g)vc9qJ#%aP@-zw0*3xpf+<<>N7zl(6W7PF$* zR-NyIEbGf%NY_w`IkEN9X2*8G!b>kZTSGLSfEZmW#7=MGBcDrAlRGLL=J*!Kdk2x{u+$!&H~flReSB5KNWTPRJ^_6(ZQoxOUa?5 z#wIY|G<$PmWk#^xT@67Ds8*MyBjd4*{m7BFj_RH=#2t}opBQK0l$<58j5Tac{FG!R zO8fFw0Wg2qmD}MrhCM56)A|;!_~?C@PZoPT6sRjZ_nAyBn#*loD=o!&0lQEcN6i$~ zTR5JUGl_PJD;)10(mE^m{?&dC`LF;asf43_8Kkg-yUwP;$`7*Sy~w4l;*;(?S7#ex zvAx7yg9&A#X=H_OCVc=B4yi;OxymGHPd+YKPxbGyY-M>)74{bCs(@!HRVoOm)Tk3| zePVAK{2S!fmD{=l%>}FZ<(t1gHOPJN3D@E03=yxeY|Vl@5pDxNI9i~iDQKAWP{jYJouFHHPk*JM1&<7SW8m^x6*GFPSRY{3i}p{*mGgXEZw zwC8XwXA1pIo*1Q)OMv<}7@O_PqR%MMDmmLrzdBu~$5du2-1{J-&R^JJWa5J)9U@K+ z$Ew$uS)f#c>(VWjhlva_2sc?R^<2oH)`n!eD7BZpGRHf@xF#n*%CF)BI=5{61l1dA z+4xJ!p&3#Cl?S$j#VS}(S}O5^W?j>`Lrq3Kd!X|&W6j30#*{wXX)#;AOE0Z-dy}*g zWHd%z8uNRvemjO-AH8y1Xr~_DL%f5(eGqM`IDmuw?gISY+Nf=@xmqr)z<8%l!64za znl<@&{F;C<$X$;L5&>Y*#n|(yn;;5R3K_ZoeUf-Shiqk0vqjI-CGsW~smtJotbV)p z@Ofvh7aQYu2lVmH#pdDvC0_oSm>PU*pRazU9O<3G^U>1i7%nVR$ZX&LczaBhbjo(E zub$siHA5vC7n>u99IU_&a-^Z9I^YM`JKTZ{=zVPxYnz^c?So)JayMZotL9x<1sLt) zAaZQ}|Ls?c^Lj)FRzQBU3;xQWb3xZzFRqY(fMqk`!2gwhF2jkUoTAxkR52N>A0PdORPwcOrjnn{6&o=gaQ)0+P91xCft#xSnZV9Qr z$uJ0OG|BXvO<)vHw>8zvTtzWP@XZ<$s1zDQ81ByLiZdyH*ed=!So3zh`D=}CHX^IM zxyPfKKWSzIx|E zR1n>b1tHzD>z-*^zS{q3l0s%Ox^!~S8&MO3BuSjN0#&KK)!lt*uOj?p;UI=$?i!mA-~s;VtL;ynMu2_GlN#}4 zZN%_Ges_m{FE$BFbO>}CaG|ZRmiqvuCi#&ey*Bv5d>XI!$Hxo}SFaG^68t90bAo)U zMx00dj`GH53&L{2Cmi}WX++{j0;VBhDlu36%l;?V~HTu9KiAv&|Q+y zYTmK2q~2kDyx5Jxhav|vVVur!TRT!C<~05JP6Yz)r6}D3XTn>t0n0>fX?gH;)*Bl}7CZE+(Z9pwl}~x4 zd-fAL(-~#uu&9?n+??LTc!smp8aa0+m)gBz@>DY(ZGCcKK!gMzH-Ai+3Ce(XgQ-8P zz`7Ay59r_2-kZd`w!*S;7o5-8|KaMM+9L}WZ2`x&ZQC|Fwr$(CZQEAIb~@z@t4xFhL%ic>pup~OYIer;fL~eaLNsP_M-`G1q_@7+5Gvr~DB;c$XzUSd_2P~Zv zhfA`vtp($GAyZ4ioQFbaKSp_d4~ZS;HkebD?2z$u1z)kMy>G|X9BhFYxJ=5txCv@H zdO&B|)kYu;Ix+|gLf;XH{t~JW0pDKhRB*DJedG5H(0Uc5uRkGTfb<;|7MvyFIKuF{ zCu}A7wa@O3UyV!D6+9ylH6t;tnN)M3Vw z9!RDGbp;5~88zq{e!ZTKjf*ujHl2J<#{j5Ng;7B2%VL;SYDf^li%9g zK!{KtwPt#EYfXU%-L)Y*oe?yf!zI8+`p-I-%P0XmzTH7dxNzV*xU7g!*o== zSW+(02zb(Iq^*H<+-otM?Q_G$FINmKi{fWIu>Ro#kZO-3JNTXuX#U`LT;^6v)sL?w%GZM>eQwV;+-*lo z(cq<87MA!4p#PxnWoFJ%6_~^j7l7}Uva@Le+Q70g>}@pvr}BAzeEhHlzSM z=!&D1k%>}H;f1p%>&-k_Jg>=RpkM+%7YlAE86kXcC4?C{=lp>8FCgs?DQ!uFpnCl)-i#ed_Upo?d@QQ?cD!=&w0$(T1rK3 z+#S^m_!T$0${Wg>wQJry4s=5WC|Q`bt6ED;d76x9+~U6Vv_r^ z5xcEE+8|nQ%3;d8L2QGesNsxHvqnsYfoc!zQDem6x+`CX6r!e)L`n!`iTOC1IjQl` zjw)LYBY&T6m+LNb-mjeb*bUTUx3RgM(x#lhCo76JIx?0fGM=E9Bu7*w>4s&agwYl^ z-0q5=BpYpn(Pi#}ER+8h~ zv~4uqqI1E-YX8iI4zk^A<+hn|{WS!Ys%x|q^sF^Jpyi^;a^%c1Dq-5pkUW%QY#`G( zm-D?lAnHSnUDn`f9dC;jB5@-F`f}$o{%G9Lp*+_&dKOThM5AU*1jxh~oGIu7(|UZ{ zo*(aW(|T-d+l;*7{u;W=jdX66S{9;WN;6G{w6@${P@rKvIBrRiow!uhOPAI(3KO&G zGfX5*<2%T$wxg#ble+y*$6{N@t^2i4?Fl@l*3@lsR|#pM5iZY2^j}?8gSC{^ zv~YzbO%l83bUb}Dw`XKKxizHdFk-$GdHNPH9HmR~k=5u7AeUYbLFa#xvzLXaqdk0h1C{h#J)fsWiC8#Lhs;|j98 z6R--U2^=CWBi*TuVI&-Ir!-r$O;t1WW58UD7H667a?s-Nt+5xXY2l{=VRWJ{S%}=2 z@%zz1KAEI{Z=`Q$qzAE{(}2qT%5p?|dD{omyh1Gz#l#;x<)ok8vk46utbg zBR;=DH?R-P$mZ^f?UsQ$k!{ghz|po`;ZzuMphWk#7-Kqt6`Sz$%DFU?Z%dS`3fjdy z66gRuAOKy%k38OV;Q?MC#-lVNk z1(Uf_ErV7*BEeic!tS6!ticCyBB0yq`={}CO0cNfD^ejYIaqX&%vpS1WWJ7rMPu{T zVv}X)*3+@vk_eFx=X>5!(RGSa@s26hgqK&ucHgg?U!l3wu zqcr(yW=!vJSQkL7uA>IB941V!H4I7`c0zbVtK}izD1_4Jg?FMUV|+u9GZ@+$eiQ`^^XHUP9u-nSF8)?HoJx+;Vp!+#B_M7|s{cT2@Wt5_wWF)09 z00IL8Azr!syxoI#*@0H=4J6eqJEpGCOtV0pqgK~a zrARO4kF)Vn!0z-e6{TFq)LDLZ8A$D3irVhZvca9bz4UiZw>HT3Rk~~7O8@#&D<(&z z8Jwp%K08}f7|~U?diys{N}ZZcZOv6Oyo(#_GN7{H%Hz{u=Yy}PsR0=a0<9d}U0%lv zw2(C$P@BMgl7zXJBeBy`JDk^t@WP{^3>%_J8Dkr-a8r?HnrgSZ<$h@kDuoSR%bl&Q z+9-c!#X_OXZrmi|-iU%hG45+f1AElUisxSc^sgCSomy;9iB${ca&K81>|a@xA=2M? z7)~8SU@7Q&w-rK8lUh^XOU=lHo9z;p%=E&)5n58QQ|%^#Sh9kC5j z3B0RLcy`DKcaab~;*Tx)4bXmb!HZf*UO^EghwLvAKs;CT9i)Lx-3Xa}%uG{2=GVNVLlckaS=$Ddh=xZ$ z?r;6u4KLW-frIG}HW3^68!tIbiR!s);W>LwmAC3FJX`_>mY+9g5aV9GoN`Vx;T}=I z{}%*5tGYQ%WaR7^FXZxKotT-H-l&GFS$qXic;?5owRruy*DZsvh2TR z$xUK>xTW_L)%v;S)qzfzp_6c1YdHCIgFp22eR8}@bZQ+~Y%m1sF zoHfy&=OH1)9&Ub2#!otE;`%=OhTXl@S(C@V_Au6qvQ>vje8u5J|f^Uq0pC3P%zynTuJ|xq~t6yS!Q`fj6i9mVsVBI2Rdi zLCk7jxRN~gf_%8@koEeOH&arAG-?p)?h_rJKnMFs&~?M8Jq)2r7}3KU^yUC7+>^)= zL8Fk7-h9f*6)%jIZF?ri@Yh}ow4$=6_F3Zq=3tjPcMHM}gQGyWCz~K*_)*H?8Wr}^ zds>dc#nd5~)?+i4&ua_nxO{B(dQ2>U3sjsMt1jf}-L=G0#R=jV88JpZ7+HAj(L-0^vx6BbO=}@`G>5iu1e>vG$ zo{lo~PjpOcTw(qBggIUZev}t&^6B6eln18SMhw} zC&r}HS1!mM^(ZDbV-kL^V!@RY3qag0n75O!uheR8uIh|=3x7&@u*=c-UeIcRnHOnx zM)C{pK*rfT39s<=w#eFq83Yf#=*-h&dvXk+C! z;y{FYg?76^{i7N$qfla=X5OhFkt{###mFOBs)kvDeJ?UHbJ~Q@*xKH=#PF_(MzuED zV#94G7e{e}nX-yw(x#TDtP5<2(EH<%+4eetRE^tC5?v7~R9(9#BGkx;&Wu9)54LIdaP@5O-r`;V!b~-7Yj>p z9a#I-R!@n}2i8*l$9(1Do=P~%XLGynfAV1ge6U7G`2hynxkG9|bvRF7qh(b==}oVr zokI(MtJR|3J5|K=q0$L+>9!3kb^t39NoFu@yINa6jm`pcX7o%kKJS}71bOL^k4b0EXzW+nbx%_t|IC}T(}hzb_(-7 z7$Qf)FWu2agEPiIrcjPfyzVjvo{By9A$^~60N&^g6!dE8fJNRoOsuVS83|F&CjBSE z9ssERDQ~xjWVi+?fEaYic?IqnwX(A+!&GKibu%|KtiP|QgOS`%N6?V8QX;pbFB@NX`VQ6=JwsH<_YXWJJUsk0)rM%)1 zTo}#twQVw2!-XpAAa-Xz?b_KUI`k@lKS(5Nyz6( z#+y0?2F^BogCnO5_wQ1ZB*Wn*rYz@UBK1TYa3A%k#q&$D;j|?3m`O;fWrNtXg!J!^ z1r_G(Z}M`|-(fa@eMVZ#6^15vom%2Dn)s4wGdu|>0iTGa`tT7kj$20_U2j$RTzU4~ z3y7!1ZAT*&(-;fX-UagoT(zGN zH)>hm{xH`S4+s&zTqK-Hw$y2mC(24fIzzJfV7r$&EuUx96-(jNS*rRNe2zOtdHlO~Xc1^~mC?dd>yD?BCn7uiVU6r9M^8mw z7vM`a=yq5169w$fVPZDMp5?mYn_LDeS*}eTCH{!$DaCkk#=v6lFKpq;jf4k=?RNyN zYqMI>1CSI+A{W>DU>4Up#E{P#yY=?dlJWHEq}`j%&Zm+a2A>2=t&8i5`axPtLSH1Z zZhEfF>CBreT8N~9I&G=68-76un45<-4@1`2)(}m!s|*gj*%K5~?Hm*BOUQm_>8WKN zoWz6e5`PBsAxN=^LhlEsnJ%`!phIxUetKc`jo9%?f(Cg#Yj_Sg z8$45~3My0z$=1e5wZ~o&F~|C`&_F-fQ)WR(P-#}2;+ItbvP^IT)vLkhQt-*ZFA&%C zC$*v(RJ_+Yr_tuvEFG!T^$To)(UF$7J63~B{*=ET5qWdUgbcUAUFYCe=%}hVM(8iS z=IKVB>2y}x-xRg0rueCD^!~LlH=PtI!kM-`vch1$6RFZ>>+__3PUzM$w3a5LnLo*H z9@GW4!z2ReJ-omb;$s&s29}4Uw6L)Z<}r?+bI*IUrMnOo?++_G;l2#Gw(0|xBk0G4L? zShsos_&f)ET2sjtIy*XrXE3w$akLd8`ZPHXbgLFNZc1kC7YCM}HUr@``F1;~=yl(f zY-x3V^vT10ZE=^tH$ArkjT)tFbv45iFXw6*>HrgT%>W`CC4yG$b`@)E!9G^kJ1sf}#x@#c z&zB!}9c64)ata1GiB~2nRN{QfbY#X(lmi`J=E(<{@82az#2Qls*Al42MQfQ7EjhB> zXeGzLRjkJc2&kCHgDHTce&^q$ZAz>+Eif*-HlXuaC^}Wx9y;JiejG@4)J-MX&^z5L z9zZxYEG!@}d|{htlgzC0zD76;r-{ZfuxLJbjG6~y;INyZsj7A5CW5mu-WOUit|c{s z*2m1cj3%l{k%^7-DT&D4%l6dMC_dvNUqdTICgWB=a!49yA*}6sxaD%0Xp?drh$F2l zi7ub=A(9REXsucmwJM@Ycv2vGF1x5($ zwgr!tfPu@i(GlvRLn?v3KU!!F^dZqlfARgibOl{<63-7t!iEmoRf8TX`MMRg`HKFA zCOSxsuFKV>wiZFOyLn=cpQIAB8Ols*6t8dww*<9w1|K+eA*XT*?7O6fRj+-0Iu#YD zd3>F^`(fy$#3qoF%;xqdM5<)|bTtBf8vfU72-T5mcW@wLE-9-BJRTdgK8=*g%ynuPy9z=dTLZjkzscBZDSx8Z$T@4owBEu&8ul3LGYGW&Sdo)7f2Y)jMTpjO+CXGYC$r0et_8@5)CfX zbHap=$9{@uK^jQpAQDzEP^R0oD-O0Z0^6;Fq*)GwW}v#2UNK!qCI)IazoA`uCZX;((!Vx4?e;b8e=y-Ec$suOZjH0Kg#M*0yKwZ(ZJ0vN%UTh{eI3P=FjRRi1n)B#CL#gDAHTb-g12(dn1uqoj<%PoOBY zXjfs_#XZ$Ij8MMOxk;h_zng140d5wE9z&++LZ z-E32#<;U1376j^s=8@%^O>p=^Jd`A9XegG>L0vxl&Fphr658CC`M=73kR@K#NtCSJ#~wL8 zZ4RR^%<9#b{e@G?lCksNKqykj5QU(QOi!*qRTZ$^1x}v;7bJ0k3yq<0guk7 zZ4Xy-;p_kqn-X<;tc4B~4@8ORTgafTFA?x6Xn)l6OUl#MtNy7EuK2t#NGm6^P~$!l z_OrwLxUGBZ4Z-_i!R}^X5rKIXv?FeY+VBKsGwf2}fi~zvQzmqe>xq`rm8akK&9zQ< z$1eN!s1D0|hg#@bC;Uy;1swjQy-;()C-BeK+kbk0O;u>?$XWqfz z)ncY~0=Gn-F|)t z=-nN9#)3bvpdow61a5jG0jbD|fN3gcHs#w>6QN6QL2R2Z!Ljnyx2hmk+fX+o#KR*l z-GI54zhKm#0g~72-R=4T-~95BJ<;L`uR(yVAyTeJ@`%2hvz^Y_C5^RTePY?w!U&@Y zhPml-A6ENcv9$csoYf8~w*eLu-`s*_=Zh{#=#PInLrY%jUY^8LCUz_V**mHjNouZ> zf5;mFyJz0Cu|FP{|01-ljN}E`!@b~Bkyt_)fEaq`)aCO?dk45xfX2tHD19?Oj}D(M z_CNb|407j~GC)Ue^!kcJ(c%WNMc$Pxs=e=7&9|Q^Nw^l1Ty(hq>?m5Lyl?)k%E#{{YfT6kSR&Zpp5ZyIV>SIAnBB%VEF9KNRXl~%q>N@_qe+ebq`%>#NCN1zP!y6d1Y z=szq_m{r0W+1KX}x{IA;fjasJcg-QN&p*fh7`I(X+G2-_5%ZA})A0E*EGBhD76apt zlKY=BbZBcdd?^c-kiPkZRZ_S5=&hwUEy6tai`7M(OCb2ey8Q5>L8wuR4|D#aw2X#} zQ-{tv(5mYeI7%n%Lceyiz~?wMCcBq{34h8jVmdKGD^?JHnsL>GWlG1{q5FI7#}43$t|SJZ~xl5d3(Or|j>L zZ|~n9M}l>(1J6Rv4~mw1Tsh;Uzo>FZ78kJ{5!?bt7cHJx6YwPB1`ivDXe;&2XX=U|79Xi%U!PS`V2Bwt(};hB+=T6GCZ5E`%7X2%t_)C+5Wxb&g`t*65|( zqk8N<+#Se=j`Rysca>~U`VmH(C0@hQT^Ub61L>yA9DXSK5?0^#K7_shBqHDzYOmNm zfQQ_oW_}ya0nOKeBebv~d|t23?d_WgLBl*mU|kWE8AB&aZ8{&|fpNqB#Rq4(TZ(>6l-Cv6k$xMy7`riD6+ z7~Zm%NcO^Jk+NpSC5UNd%51@eI~Lc)%Aq&pGYV4HetBHV#?^;V(WV|pa2K}s$gUrh z@G^+3yKyKkIv&N}uaGJYDSNa|kuv)&Y~Vuz*LB1L^Gwobn<5Vv?aE5;b%B}H)W&x4 zpCEsI`jCalFN$*5+E-?9E)G;Gu0?F*BMK;5&qM7XQW_g>KufcgcmPZRn*Zcgj?&(8Q~HIzX{6-6Z9gp-LAQd?e0i$t^g zBTT?Cgr&{|5;JY#Sl@m>%=XKEv0%I%-}-kRX84?IG{YoJi;pPKL|Kv@#NJ$5pe;Jn z#ZW(5(YN&-mL|3zl*{xu-S9EFMc=%YnKVb=tS4;ZxTZAs73ZX;UBcv8l5dd6>uF;1 zGQ`*f@~8TM==?dpPvealt#Jt({opEnI{KN=+7>~mUpT;gPthoS1zb#x&?-Bz#KFPq z0=6v9Q#CzG6zXpLLH^j0?&3{H-hsV_=+4KfS>?!4$T6JFDg5hhUW=Ay$gB$s46>ua9?PjNcj%@Fp+# zfM2C;cmJeW+*OEF%piQ)Gu7TBYP}Z`0eWfD`4ampf!$RCL5q)I1rO+&L`3R5u8~)m z8J%0*Pc|RG|t6w4Hztb@&rd(C*R$FR2^dJZ)X=@NDzPF{YlGY*fEl@+gn*}mUE+|%vg z`O0IMrmR_I)(mCFS6*eh5_NiboIGs~3u^{bIYMAb)-8&WeSe%u=5WeiFnUz`J;Efe z)+SH+ch6&#Oo@-x=?+HLm^}^@_Ef_wb~(#6N$xj)cGM|QezV>IcM)cAz%VAtdSWLW zYRO1t;$UfZjS@dBPX(&6@eNhv5Bv=LbllD~VhoS~$GO0m%S-W&QAMrbSPykQAZ_r)56m&jm@v`W;3Gq6 zDXSw}3AvJG545KSu`%fStzf_JW>L#wEg7M7JzQ<4)f{FLC3PWH;!;Tb z-?l47$uUY_f~Yd(WU@C+u6lqIAxCx*uJokN(#0;OX3bBb_{A}2Qw&kRK!)?8XB(XM z&w3p4fMjNR|cTQx4$Wu2&`K-ep|Dys|f#6ga@HhK#2~sGm$LlZXcRFWoHp?yp8~9Oy^i;!V~qH;dKYrH#;Sf zwvLiE^{&^{rOP)YIFx#R8alc&#(ZYb)q9JrsT@fHoMm7b+`nos7;$ZK_4G3BS|O;8 z3z2P>5c=;LaVO^QATL}*at9s6I&_2`k+CcsQB8{@x)Wm+ZhHjDglEp|HaybZ{4`QF zj*P5JIkJyhE1PFIXAw!N>euv8p}17CW0IZ*5}TJp7=Rs4M;fj7s1@Y^?1`t=kqAqP zvW1g)l)Vtq&Jg7HsL9Gli`j@mY@=*L(at}8R@DxVT``ho0)ih?r-dJ+vWr4|F}gJT zpgwD+c)c2F@A;ayg%yzDStjAXj8Ge=J_b)cX#^LFo8+fU@rZd>JxBl(Qx-7&=~(~ z>Szz9LZ4#2ARdI3+ZayVPaY(nTo)pNSSr^KKQVJ^5$Q?gKVpG#hQ+x&4R)CBcIg*| zM}*TaGY%g7D8oe6yC0T$CqW(z7I_8DP{-;H{7Mw`^^0=tiI z4T?QgI_^I?kXH3~jNL@VI8Si`G`}0Mq2AX&0JXgpV_%L(WueeUayS|lQr!x;XH`T!JD50h zbJS)PmlL+bdm>f|&ZyX3Da81C@$77dMTSQGUujCXVN?H7B(Eq5$f9)y8CIljc;YF; z$* z%th$&4^x~VyWqpKS93zt52Qn-m_g492@um;-u1QoXMm;X2L$cU?)=-z_fH(38%-PG zOiv#j&dsXJ)?P-k+ktqv&smqiO_8;c{3b@zv8P5p)^^FHeiiCA3ywiL?6Qy zQ;|g)CWc_rHevc(wA$7c+grP7D%&A%?B~xBGxdJGu{yy1sciPQf`>@hwvD)PaakKe zFEm$Xdz;aI1yW1=8QxcnSpKmPJ*)ft`9&c5?J(D73Xx!n3JUp8`!Jp2y1$B7$gejD zmqdv45MeORl&HbY-L=IHt8d)M6~C>bshOE+oXcr3=rH`@`Cg-px0&cz-y2{+*}`!y zQe>;%q^7$z1h4a)D3Bv8>JyrH;JkX!fm6DL} zmA^wIMCv`yNlf&vq_W0213oI0en0guqOXJ`yC(IWg0!=M%sFq`AIuv|KbfE1@x?m? z7Q9}i3{s%EkWQ^eRKqlBDDdgxXoPikt4n}!R|giQ-z&-}Bo;Sz=P-}Gw+EP_I<43) z9h{o4?a!xv%+xFa|GZ)xA~A>fx5tRBAWGJoi2;Rs`_8)F=V?lnN7S=1_*ap`!dKdy zB_bSxG_g5RD8@{AUTouavQWiGw}kn9kt#F|t(BM_qh{iV%`aB5tP%q%YnK8dg0~6g zYw?u}Yx?*Xixvxq;LqY~CRXgx_?)5guY=w(AHFN6t12;XD#BSUL5c-0mPX6u0rvjJ znL^dMPmv3Vp7VqSd$F?4z?e!XZd9oX#3qHt!p611B3+D9H0kExCQ{RU6hCB5uO&S5 zAV&Kg87yRu9|1PDR_|@g{^GsYo?3wxDrU|A!hUwjdJp$$#kcfM+2 z3);mHPVM#p<)Si~I)ig4orxXKYm^Lcq>h15l!frl`~V+KXR%L2XejEmw8T*M=iJun zxqFiTgbH!KXuY6ib>V~kwq3yEx9bO2M-=^k3h83Kw#W7Vw#B=~e@gW-b{f1^nb*N~ z{xs;m86Cfm{`%S~8(Qd;dmoudn|0{z|Lxhz=hMK{k7RDG|8J)?e&$mxn$7eJ=zeVI zOwRs8%rwN&$0u@KB&*LoOw^`3l})YNSs-5)y@8MQq@)%9bXc~y_Mg!=&2+?52peIW zf~kP^n`@?^du!XOHO~=j*TJ<{B%L^Y7!yn)bz(Wyq~uOn%8`p6e!s&J*iwFxw62k& zvluOQYvK%-2FlXl7S`_B3_9{3C-!N#>5j5+MO?7q*CK#DWY)*NkKS|Saw;2pUPj*x z_BlMQ{(3&#+L9(utRCwurpJbj%+GwUo2r7vb{adJe6N7kI}NnAHjN)^eh39Y!n=xR z7Wb&KrIkx!?quC{cL5=+;KSuo-Oc)v2Rl2gy_XUmNDdRI@b7v{^jnlP8k*_67D_}N zctw(MeP1pu9vSEF^#bbGJ^D1x^fb<(To4XGt|@ICu_PrUH{I%L>ab&qZxMwd%%Xnc zIg3tOE4|cZ`eUcuYN&08>#*5R;vnVCv^s099yd7ZaLA^$UdF4udMnKT^uGjd>E4>qG3H`T`A?6<^a&M>X zi{4}Pi1gtZ`b7|S>m8iMIt(fYtD*D}R$RjR3n1g)?CYKONLYekVNK20$m*BJjd2Z!e6l4?y#YckyS*x%71Il< zSY8MCatanLtqGt|-77c|s#LrnDClME$T<>jkS0eo`9Rr8=2N4jjV4c)`~)3f)hP_k zlig%6eL2g*r(D*&3z*Q#Q>{_seIOx~eJIuIsZwQV9lKjmD}&|K<>F(6<*H_D9AL!O zBHZ|7`fTjPV^p4ky;PFj_9=8)%9G~DuL>^au#K(-r3v;`s*0iw9!rrsUu&k|bF0pR z=5tnfAH;H~aD?2fjdch+7UG<@Hs1ptF{S{w=Fh`py^#Ay!e+0pBTp;n8v|kV1juP` zZURJBzLL`^?>i41+(iX?E^|#)+3a&? zWGP<^Xz`DMQwvsYpL*ef4&}aoPzEev^dG|OXz!=b+gRHT=5?&h`H0d~StG}g+_D`V ze_+|yi>o*dIbSiB1YQF%InYZUoK1M9WXgi=~F_P?22chi`pf zzXxBwZbv}!t>W;A%@AR&C57yE?YOL@tSbG03#fOAQzsUV7K1;To4AIsKJz$sYh&PG5_RK@QvLYK=Zv9{Z|tF>0QU5RaE=K(Q+jaDz47jJLjRbRU!Yjj}OP~dDPX`aDOBPb-;tedaKEw`n)-tJCMII zHr!{>aO5H|;%)A?+XvNLnAKD7>T-RB`4}V{>aUA{<$vt7kte)LpO={n)SWi~WEhNV?@sek5 z>(C*^=@~*u!SH}=5doJj+L5J?6yct9niqC(bbDMk$q)Fq6-|T}?!zlb4R^@kV_nB( zTkW^oefzyUZ?}jtP(9{%;1;EEIDCc3#I1^h)%8<@!FK4pK@{c+D|v#B_^+G&d;jXvONM+`y#4fIlZzvW=g8%rS71Nkg5 z5u52l8l4%)^Hi!*G?1Q&RzhnoAGVV!<&eu`lFAI~elZiCT@$>F3yc^fXus2}(p!eN zMp*gSea-9B;&>UJj`U{Wnd1262%-7~LRvYK9=p8q*A+64Te8XChq$j|Pq^8V_ zy&NZv!D6azKEi#?o|VYdKoB7y%=RJbSC#3gOT4V-s|lq#ebEiLKAeUBE?tCL_vg^3 zqH0%x;pZgV=!}_b;tx=Cn*VG{)L~E4AlGYFt##~fobNe&FNqj90s>jk`qw0rwxg1{ zm}nI}7M^EaE8N!M?P9>6H9P*y$g+Ae^9sO&YUZ2$Jj!75%3-zxHhN56B-k^u6;HEN z!a~_+6E+-W;!2CBHea5pke8A@)rNa&(moW0*U#3H@VkA!Z7(B3&)8Mjb2hfS@U;%a zydB4hJYuQK84VKX^({=IUT_1s;nNt9@FMY-UnnG}OIj{0|7uKYbI}2>6U(x#E%utM z5_Unaw!(a;48Q)X_q+OwGRDXyF9A}CqTF`1(P{UQkAKnfY<{U}s$JKy%?aL_pM?6rc0?3(cDS#4X|F(}-ux7NNZzQ8hJfiQuP1A)N zJY~tuT+(yP`04zmV5Hz0(zp_^WdQS0jL=<)9avAu14s9LJ((mpLz)(|Y0 zTPF0^51(5#eCdx$R*^iF>*Ie~FAZK?e+mFYF_kDu*Cg%E#(FT+=MCP~vf@XYvRLC$ z5SJybL|w{qRTY^0LD8q>CP}aV+QTUY&qJOGzer_kwNYu2JU$YhXPzBv*uPaIBsO(E z5;*T`C%;WL35ivG0e4@~>O?EahOi5TfUs7dvo*{=3`HfKy#k3vL?+V;Dca_@+;KDG z9%U@oPdBQ0%!%(Xbo2g7>IigKoK(2Sz9dnOolKe|R#87lx&7OYY7+EomA>{G8?BPR zOpbuz@WF4Z2&potdhmYW*G&)utcb6XHaF+Qu3+&{=XiUm74+!(dpaKjsG7Cm2MZbNdBP$G z;-QC|v1daIRGcIkJ4wy6t#}t${Olx9>B*`LEIfNkR?XZmCzb8VwTk!05l5D6Ks=>x zmsg|bjhZJneP;IDLr?`b2C6dbIHyczb*_3F482*CekTJK?F5sFz~Ow%_Wqd~D!tsg z1f!$M*~NvaoA>geV53ci~+2oGv5a&k%fFI!tqIe!rLI!oZ0q^+%%GDtER4E`%JV zIrvG6S^sD&HH{L`cDc*2LJ(u1r9MZfM2Ma(Ko#+*wP4EO_C3;^RosvY7_j#OyA=wT zM^HUo#~@8i+d-1L7<3BWcXZvW3SVc4EvzF^C`v&@4*=W!z4*NTam`Umo7tu7%VFdS ztH5@p%f6l1LHwljKpGK}=tKE&0aMbjE z(vHj5^BcTESk1%3R71tdI13A`VD7{SS7MA5T#MSgs~=_5^wq*xN+T$w&UL~d9`H~t zb&!f4#r+hGBu{cq+iLo{FGPV5U4hA#_(ua!dpAmIojcV}SNH2QMv@J{zTpy3h2tv1+ zG-1+c6*`I7q@_o-C2Ob&cWsq++zQ%3<$d)OX0f?p(cUk5y03}a;XAj=vgW*RsE8KF zQy=;|{40wJjGeg+l$#NQI_+2f*Vd!}TRS@o#SP)9$shN*_9mp>RQ_}a>*E{mW;aoN zZL(ncFF)XgKKb0z`zDI{nk@4{P?$=<6f^lqUX(4rQ8e_b98*wji~otzJsg)v2_~Bu zs15<6pqDD1;BCv%bFO5njEZhrrPH#v+rpQ|^y=E$+D4P$($@Wbllp_g#~(KCu_mUI zaZ7yuHbL3%SNN}W*TS-M%S}sk^x!yCwCOs+;VJd+-&IOJFPZ)4djIzDur#rY8b4+} zkSuRfQhqOm*vO}cL<&Bj2aKjgNXR$Yqd}^5er|e;pF}A$H4J7go`KIQ|8Zd`;y69g z&P>zta!HshSyE&vD5MCM)f)=%0N2)8b%3jLaBv{~NfhKr?vJfW-UxSNL72O=_4cs+ zK~3Hp`qa`4Uo3(?4 zr;9ratTOnbbLl^ZN6$RU3xI-Z4v;mSYib5BUe(x7&t%;!=H?=b_}ww>A5a>-rB zd1*ULPB!i&-1fxqRg=NL16JIpiHdo63EGCl2v*@jx?rT@d+{nw$!?nrmMME3^-w%x zNvGq3FTe1RwE|NWRv<$Jx-TFJOiUs#C~WJ=wp9O+c3>TicZ4liz&OOh>KjGtY*6yy&w|)1%?EOsKs%y`T<@2~sd)fJe#P<$%FoIZ#_eF{9 zSMJn9-i^!%DA+CugU~7`EP0rrR-wW0ezaT& zu)G|P807wmCg#Z_8Z?j|r9p_fvBvJ5)ND^I2ny#7Zh?GUaXG$```R&MzFgz&P7h^X zuSBRaG`m=Uj`xbMwZb#U*$`?}$6s7Y?yu+zAC90~B=T)yLC`HC0Pg*;8Nm*xbs zZq@h&>$?#7UVZo8rnF>@-5>HfyD}fR+Yuz*jBHP0qsW>E(;#=dS`Xl&g<*zLAkNSXsL+UI@(X$5^BKgzC`d44l^M-s)FTOV?9Zs=O9etL_ zjE`OQ_72)u9HyO8V-O%?QKs|aG?_$+Bd&ld*&@_slC2LZU;Jx4lIZ9#y=6A(rmM3y zXFEgXY;ogbqrFTsS3qtUd#f)8eWalHr@a0Bv2$UVG8a`TPDa~Q4Fw`#(>vhOThlmW zCQP{%yDGOvC$_@#Sj)%>&yCENC<4)e<%jSR0`FGF<0(T00Ul`#_(s{@S4-c!Fb$)h zYNsa*N-;$UlqE9y9z#k{n$w>uzuy77Ual8%w%V9^AzH6Z!~I4~dLjzxtrPS5n^y3Z zgVP~~<7L=w`df~W6aN~kwa4zE8^=<$t&lC)%a~GEUd$xw@AkB-#=K4nXiXLE&gctH zUNlJRxwR$+c;@|)sT&T9r>X@hA4kwGnga-k*~0R{(IARPnsPKC78bV1lM5t2C0?G2 zK!()A8$ zF)sAj?%}T|75r2H$#Y4#?O4t!vubS^6CQMXXmFh_G_Y-m;+Z7*>#20CgwZ!12k4ub z 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 a`D{L$&*roFY(AS0fBrw03NS?g015!|nSSj6 literal 134021 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

iHUcQQ!LE1Ob=~f{>-G(HZMh7suKe{=Cr$V_ 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 Jkmvx|2>=Z}S#SUV diff --git a/bin/version b/bin/version index ab82acae..537f3d26 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha2 +versionsh=1.9.5alpha3 GeoIP_v=20251205 diff --git a/version b/version index 93686bea..faea0a17 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha2 +1.9.5alpha3 From a45bd9c0d1e4885cb14a03e4e3e41def70893de5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 21 Jan 2026 20:23:48 +0800 Subject: [PATCH 126/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E8=A2=ABTui=E5=88=87=E6=96=AD=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/7_gateway.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index b8214827..342fc348 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -449,9 +449,7 @@ EOF ) vms_link="vmess://$(gen_base64 "$vms_json")" line_break - separator_line "=" - content_line "你的分享链接是(请勿随意分享给他人):\n\033[32m$vms_link\033[0m" - separator_line "=" + echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$vms_link\033[0m" else line_break separator_line "=" @@ -598,9 +596,7 @@ set_shadowsocks() { if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" line_break - separator_line "=" - content_line "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" - separator_line "=" + echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" else line_break separator_line "=" From 89975bdfff26387971dca825d405b3fc6394cad9 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 22 Jan 2026 01:19:25 +0800 Subject: [PATCH 127/318] feat(5_task.sh): redesign TUI --- scripts/menus/5_task.sh | 460 +++++++++++++++++++++++++--------------- 1 file changed, 291 insertions(+), 169 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index a3b72c31..3a0611f4 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -13,13 +13,24 @@ set_cron() { [ -z "$week" ] && week=* [ -z "$hour" ] && hour=* [ -z "$min" ] && min=0 - echo "-----------------------------------------------" - echo -e "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" - read -p "是否确认添加定时任务?(1/0) > " res + line_break + separator_line "=" + content_line "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" + separator_line "-" + content_line "是否确认添加定时任务:" + separator_line "-" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -r -p "请输入对应标号> " res if [ "$res" = '1' ]; then task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name" cronset "$cron_time$task_name" "$task_txt" - echo -e "任务【$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 unset week hour min sleep 1 @@ -37,7 +48,7 @@ set_service() { else echo "$CRASHDIR/task/task.sh $2 $3" >>"$task_file" fi - echo -e "任务【$3】\033[32m添加成功!\033[0m" + content_line "任务【$3】\033[32m添加成功!\033[0m" sleep 1 } @@ -45,74 +56,134 @@ set_service() { # # 自定义命令添加 task_user_add() { - echo "-----------------------------------------------" - echo -e "\033[33m命令可包含空格,请确保命令可执行!\033[0m" - echo -e "\033[36m此处不要添加执行条件,请在添加完成后返回添加具体执行条件!\033[0m" - echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m添加" - read -p "请输入命令语句 > " script - if [ -n "$script" ]; then - task_command=$script - echo -e "请检查输入:\033[32m$task_command\033[0m" - #获取本任务ID - 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 - task_id=$((task_max_id + 1)) - read -p "请输入任务备注 > " txt - [ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id - echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user - echo -e "\033[32m自定义任务已添加!\033[0m" - sleep 1 - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - sleep 1 - fi + while true; do + line_break + separator_line "=" + content_line "\033[33m命令可包含空格,请确保命令可执行!\033[0m" + content_line "\033[36m请勿附带执行条件,执行条件请在命令添加完成后再返回设置!\033[0m" + content_line "亦可手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m以添加命令" + separator_line "-" + content_line "请直接输入命令语句" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " script + if [ "$script" = 0 ]; then + break + elif [ -n "$script" ]; then + task_command=$script + line_break + separator_line "=" + content_line "请检查输入:\033[32m$task_command\033[0m" + separator_line "=" + # 获取本任务ID + 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 + task_id=$((task_max_id + 1)) + read -r -p "请输入任务备注> " txt + [ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id + echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user + + line_break + separator_line "=" + content_line "\033[32m自定义任务已添加!\033[0m" + separator_line "=" + sleep 1 + break + else + line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" + sleep 1 + fi + done } # 自定义命令删除 task_user_del() { - echo "-----------------------------------------------" - echo -e "请输入对应ID移除对应自定义任务(不会影响内置任务)" - echo -e "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" - echo "-----------------------------------------------" - cat "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^#' | awk -F '#' '{print $1" "$3}' - echo "-----------------------------------------------" - echo "0 返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - if [ -n "$num" ]; then - sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null - [ "$num" != 0 ] && task_user_del - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - sleep 1 - fi + while true; do + line_break + separator_line "=" + if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then + content_line "请输入对应ID移除对应自定义任务(不会影响内置任务)" + content_line "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" + separator_line "-" + + grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null | + awk -F '#' '{print $1") "$3}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num + if [ "$num" = 0 ]; then + break + elif [ -n "$num" ]; then + sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + else + line_break + separator_line "=" + content_line "\033[31m输入错误,请重新输入!\033[0m" + separator_line "=" + sleep 1 + fi + else + content_line "\033[33m你暂未添加任何自定义任务\033[0m" + separator_line "=" + sleep 1 + break + fi + done } # 任务添加 task_add() { - echo "-----------------------------------------------" - echo -e "\033[36m请选择需要添加的任务\033[0m" - echo "-----------------------------------------------" - # 输出任务列表 - cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print " "NR" "$3}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - 0) ;; - [1-9] | [1-9][0-9]) - if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ]; then - task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') - task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') - task_type - else + while true; do + line_break + separator_line "=" + content_line "\033[36m请选择需要添加的任务:\033[0m" + separator_line "-" + # 输出任务列表 + # cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print NR") "$3}' + grep -Ev '^(#|$)' "$CRASHDIR/task/task.list" "$CRASHDIR/task/task.user" 2>/dev/null | + awk -F '#' '{print NR") "$3}' | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num + case "$num" in + 0) + break + ;; + [1-9] | [1-9][0-9]) + if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ]; then + task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') + task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') + task_type + break + else + errornum + sleep 1 + fi + ;; + *) errornum - fi - ;; - *) - errornum - ;; - esac + sleep 1 + ;; + esac + done } # 任务删除 @@ -131,61 +202,65 @@ task_del() { # 任务条件选择菜单 task_type() { - echo "-----------------------------------------------" - echo -e "请选择任务\033[36m【$task_name】\033[0m执行条件:" - echo "-----------------------------------------------" - echo -e " 1 定时任务\033[32m每周执行\033[0m" - echo -e " 2 定时任务\033[32m每日执行\033[0m" - echo -e " 3 定时任务\033[32m每小时执行\033[0m" - echo -e " 4 定时任务\033[32m每分钟执行\033[0m" - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m逻辑水平不及格的请勿使用下方触发条件!" - echo "-----------------------------------------------" - echo -e " 5 服务\033[33m启动前执行\033[0m" - echo -e " 6 服务\033[33m启动后执行\033[0m" - echo -e " 7 服务\033[33m运行时每分钟执行\033[0m" - echo -e " 8 防火墙服务\033[33m重启后执行\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "请选择任务\033[36m【$task_name】\033[0m执行条件:" + separator_line "-" + content_line "1) 定时任务\033[32m每周执行\033[0m" + content_line "2) 定时任务\033[32m每日执行\033[0m" + content_line "3) 定时任务\033[32m每小时执行\033[0m" + content_line "4) 定时任务\033[32m每分钟执行\033[0m" + content_line " - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -" + content_line " 逻辑水平不及格的请勿使用下方触发条件!" + content_line " - - - - - - - - - - - - - - - - - - - -" + content_line "5) 服务\033[33m启动前执行\033[0m" + content_line "6) 服务\033[33m启动后执行\033[0m" + content_line "7) 服务\033[33m运行时每分钟执行\033[0m" + content_line "8) 防火墙服务\033[33m重启后执行\033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in - 0) return 1 ;; 1) - echo "-----------------------------------------------" - echo -e " 输入 1-7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" - echo -e " 输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" - echo -e " 输入 1-5 代表\033[36m周一至周五\033[0m运行" - read -p "在每周哪天执行? > " week - week=`echo ${week/7/0}` # 把7换成0 - echo "-----------------------------------------------" - read -p "想在该日的具体哪个小时执行?(0-23) > " hour + line_break + separator_line "=" + content_line "输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" + content_line "输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" + content_line "输入 1~5 代表\033[36m周一至周五\033[0m运行" + separator_line "=" + read -r -p "在每周哪天执行?> " week + # week=`echo ${week/7/0}` # 把7换成0 + read -r -p "想在该日的具体哪个小时执行?(0~23)> " 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 ;; 2) - echo "-----------------------------------------------" - echo -e " 输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" - echo -e " 输入 6-18 代表\033[36m早6点至晚18点间每小时\033[0m运行" - read -p "想在每日的具体哪个小时执行?(0-23) > " hour - echo "-----------------------------------------------" - read -p "想在具体哪分钟执行?(0-59的整数) > " min + line_break + separator_line "=" + 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~59的整数)> " min cron_time="在每日的$hour点$min分" [ -n "$min" ] && [ -n "$hour" ] && set_cron ;; 3) - echo "-----------------------------------------------" - read -p "想每隔多少小时执行一次?(1-23的整数) > " num + line_break + read -r -p "想每隔多少小时执行一次?(1~23的整数)> " num hour="*/$num" cron_time="每隔$num小时" [ -n "$hour" ] && set_cron ;; 4) - echo "-----------------------------------------------" - read -p "想每隔多少分钟执行一次?(1-59的整数) > " num + line_break + read -r -p "想每隔多少分钟执行一次?(1~59的整数)> " num min="*/$num" cron_time="每隔$num分钟" [ -n "$min" ] && set_cron @@ -197,10 +272,12 @@ task_type() { set_service afstart "$task_id" "服务启动后$task_name" ;; 7) - echo "-----------------------------------------------" - echo -e " 输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" - echo -e " 大于60分钟的数值将按小时取整,且按当前时区记时" - read -p "想每隔多少分钟执行一次?(1-1440的整数) > " num + line_break + separator_line "=" + content_line "输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" + content_line "大于60分钟的数值将按小时取整,且按当前时区记时" + separator_line "=" + read -r -p "想每隔多少分钟执行一次?(1~1440的整数)> " num if [ "$num" -lt 60 ]; then min="$num" cron_time="*/$min * * * *" @@ -213,8 +290,14 @@ task_type() { [ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time" ;; 8) - echo -e "该功能会将相关启动代码注入到/etc/init.d/firewall中" - read -p "是否继续?(1/0) > " res + line_break + separator_line "=" + content_line "该功能会将相关启动代码注入到/etc/init.d/firewall中" + separator_line "-" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -r -p "请输入对应标号> " res [ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name" ;; *) @@ -227,7 +310,8 @@ task_type() { # 任务管理列表 task_manager() { while true; do - echo "-----------------------------------------------" + line_break + separator_line "=" # 抽取并生成临时列表 croncmd -l >"$TMPDIR"/task_cronlist cat "$TMPDIR"/task_cronlist "$CRASHDIR"/task/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | awk -F ' ' '{print $2" "$3}' >"$TMPDIR"/task_list @@ -237,80 +321,109 @@ task_manager() { rm -rf "$TMPDIR"/task_cronlist # 判断为空则返回 if [ ! -s "$TMPDIR"/task_list ]; then - echo -e "\033[31m当前没有可供管理的任务!\033[36m" + content_line "\033[31m当前没有可供管理的任务!\033[36m" + separator_line "=" sleep 1 break else - echo -e "\033[33m已添加的任务:\033[0m" - echo "-----------------------------------------------" - cat "$TMPDIR"/task_list | awk '{print " " NR " " $2}' - echo "-----------------------------------------------" - echo -e " a 清空旧版任务" - echo -e " d 清空任务列表" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + content_line "\033[33m已添加的任务:\033[0m" + separator_line "-" + # cat "$TMPDIR"/task_list | awk '{print NR ") " $2}' + awk '{print NR ") " $2}' "$TMPDIR/task_list" | + while IFS= read -r line; do + content_line "$line" + done + + separator_line "-" + content_line "a) 清空旧版任务" + content_line "d) 清空任务列表" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; a) task_del "#" - echo -e "\033[31m旧版任务已清空!\033[36m" + line_break + separator_line "=" + content_line "\033[31m旧版任务已清空!\033[36m" + separator_line "=" sleep 1 - break ;; d) task_del "task.sh" - echo -e "\033[31m全部任务已清空!\033[36m" + line_break + separator_line "=" + content_line "\033[31m全部任务已清空!\033[36m" + separator_line "=" sleep 1 - break ;; [1-9] | [1-9][0-9]) task_txt=$(sed -n "$num p" "$TMPDIR"/task_list) task_id=$(echo "$task_txt" | awk '{print $1}') + line_break + separator_line "=" if [ "$task_id" = 0 ]; then - read -p "旧版任务不支持管理,是否移除?(1/0) > " res - [ "$res" = 1 ] && { + content_line "旧版任务不支持管理,是否移除:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') croncmd -l >"$TMPDIR"/conf && sed -i "/$cronname/d" "$TMPDIR"/conf && croncmd "$TMPDIR"/conf sed -i "/$cronname/d" $clashdir/tools/cron 2>/dev/null rm -f "$TMPDIR"/conf - } - break + + break + fi else 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}') - echo "-----------------------------------------------" - echo -e "当前任务为:\033[36m $task_des\033[0m" - echo -e " 1 \033[33m修改\033[0m当前任务" - echo -e " 2 \033[31m删除\033[0m当前任务" - echo -e " 3 \033[32m立即执行\033[0m一次" - echo -e " 4 查看\033[33m执行记录\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请选择需要执行的操作 > " num + + content_line "当前任务为:\033[36m$task_des\033[0m" + separator_line "-" + content_line "1) \033[33m修改\033[0m当前任务" + content_line "2) \033[31m删除\033[0m当前任务" + content_line "3) \033[32m立即执行\033[0m一次" + content_line "4) 查看\033[33m执行记录\033[0m" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) - return 0 + continue ;; 1) task_type && task_del "$task_des" ;; 2) task_del "$task_des" + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" ;; 3) 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='执行失败!' - echo -e "\033[33m任务【$task_des】$task_res\033[0m" + line_break + separator_line "=" + content_line "\033[33m任务【$task_des】$task_res\033[0m" + separator_line "=" sleep 1 ;; 4) - echo "-----------------------------------------------" - if [ -n "$(cat "$TMPDIR"/ShellCrash.log | grep "$task_name")" ]; then + line_break + if cat "$TMPDIR"/ShellCrash.log | grep -q "$task_name"; then cat "$TMPDIR"/ShellCrash.log | grep "$task_name" else - echo -e "\033[31m未找到相关执行记录!\033[0m" + separator_line "=" + content_line "\033[31m未找到相关执行记录!\033[0m" + separator_line "=" fi sleep 1 ;; @@ -324,7 +437,6 @@ task_manager() { *) errornum sleep 1 - break ;; esac fi @@ -333,19 +445,25 @@ task_manager() { # 任务推荐 task_recom() { - echo "-----------------------------------------------" - echo -e "\033[32m启用推荐的自动任务配置?这包括:\033[0m" - echo "-----------------------------------------------" - echo -e "每隔10分钟自动保存面板配置" - echo -e "服务启动后自动同步ntp时间" - echo -e "在每日的3点0分重启服务" - echo "-----------------------------------------------" - read -p "是否启用?(1/0) > " res + line_break + separator_line "=" + content_line "\033[36m是否启用以下推荐的自动任务配置:\033[0m" + content_line "每隔10分钟自动保存面板配置" + content_line "服务启动后自动同步ntp时间" + content_line "在每日的3点0分重启服务" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res [ "$res" = 1 ] && { + line_break + separator_line "=" set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *" set_service afstart "107" "服务启动后自动同步ntp时间" cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" && - echo -e "任务【在每日的3点0分重启服务】\033[32m添加成功!\033[0m" + content_line "任务【在每日的3点0分重启服务】\033[32m添加成功!\033[0m" + separator_line "=" } } @@ -354,19 +472,20 @@ task_menu() { while true; do # 检测并创建自定义任务文件 [ -f "$CRASHDIR"/task/task.user ] || echo '#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)' >"$CRASHDIR"/task/task.user - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用自动任务功能:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加\033[32m自动任务\033[0m" - echo -e " 2 管理\033[33m任务列表\033[0m" - echo -e " 3 查看\033[36m任务日志\033[0m" - echo -e " 4 配置\033[36m日志推送\033[0m" - echo -e " 5 添加\033[33m自定义任务\033[0m" - echo -e " 6 删除\033[33m自定义任务\033[0m" - echo -e " 7 使用\033[32m推荐设置\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "\033[30;47m自动任务菜单\033[0m" + separator_line "-" + content_line "1) 添加\033[32m自动任务\033[0m" + content_line "2) 管理\033[33m任务列表\033[0m" + content_line "3) 查看\033[36m任务日志\033[0m" + content_line "4) 配置\033[36m日志推送\033[0m" + content_line "5) 添加\033[33m自定义任务\033[0m" + content_line "6) 删除\033[33m自定义任务\033[0m" + content_line "7) 使用\033[32m推荐设置\033[0m" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break @@ -379,17 +498,21 @@ task_menu() { rm -rf "$TMPDIR"/task_list ;; 3) - if [ -n "$(cat "$TMPDIR"/ShellCrash.log | grep '任务【')" ]; then - echo "-----------------------------------------------" + line_break + if cat "$TMPDIR"/ShellCrash.log | grep -q '任务【'; then cat "$TMPDIR"/ShellCrash.log | grep '任务【' else - echo -e "\033[31m未找到任务相关执行日志!\033[0m" + separator_line "=" + content_line "\033[31m未找到任务相关执行日志!\033[0m" + separator_line "=" + sleep 1 fi - sleep 1 ;; 4) - echo "-----------------------------------------------" - echo -e "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m" + line_break + separator_line "=" + content_line "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m" + separator_line "=" . "$CRASHDIR"/menus/8_tools.sh && log_pusher ;; 5) @@ -404,7 +527,6 @@ task_menu() { *) errornum sleep 1 - break ;; esac done From beab3386d200a8bfae402b4e4ac3cfe1cf23bda3 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 22 Jan 2026 13:04:52 +0800 Subject: [PATCH 128/318] feat(4_setboot.sh): redesign TUI --- scripts/menus/4_setboot.sh | 251 +++++++++++++++++++++++++------------ 1 file changed, 174 insertions(+), 77 deletions(-) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index acf5d8f7..57662787 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -34,159 +34,256 @@ setboot() { delay="${start_delay}秒" fi - check_autostart && auto_set="\033[33m禁止" || auto_set="\033[32m允许" + check_autostart && auto_set="ON" || auto_set="OFF" [ "${BINDIR}" = "$CRASHDIR" ] && mini_clash=OFF || mini_clash=ON [ -z "$network_check" ] && network_check=ON - echo "-----------------------------------------------" - echo -e "\033[30;47m欢迎使用启动设置菜单:\033[0m" - echo "-----------------------------------------------" - echo -e " 1 ${auto_set}\033[0mShellCrash开机启动" - echo -e " 2 使用保守模式: \033[36m$start_old\033[0m ————基于定时任务(每分钟检测)" - echo -e " 3 设置自启延时: \033[36m$delay\033[0m ————用于解决自启后服务受限" - echo -e " 4 启用小闪存模式: \033[36m$mini_clash\033[0m ————用于闪存空间不足的设备" - [ "${BINDIR}" != "$CRASHDIR" ] && echo -e " 5 设置小闪存目录: \033[36m${BINDIR}\033[0m" - echo -e " 6 自启网络检查: \033[36m$network_check\033[0m ————禁用则跳过自启时网络检查" - echo "-----------------------------------------------" - echo -e " 0 \033[0m返回上级菜单\033[0m" - read -p "请输入对应数字 > " num - echo "-----------------------------------------------" + line_break + separator_line "=" + content_line "\033[30;47m启动设置菜单\033[0m" + separator_line "-" + content_line "1) 开机自启动: \033[36m$(printf '%-4s' "$auto_set")\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 "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\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 "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) + line_break + separator_line "=" if check_autostart; then # 禁止自启动:删除各系统的启动项 disable_autostart - echo -e "\033[33m已禁止ShellCrash开机启动!\033[0m" + content_line "\033[33m已禁止ShellCrash开机自启动!\033[0m" else # 允许自启动:配置各系统的启动项 allow_autostart - echo -e "\033[32m已设置ShellCrash开机启动!\033[0m" + content_line "\033[32m已设置ShellCrash开机自启动!\033[0m" fi + separator_line "=" ;; 2) + line_break + separator_line "=" if [ "$start_old" = "OFF" ] >/dev/null 2>&1; then - echo -e "\033[33m改为使用保守模式启动服务!!\033[0m" disable_autostart start_old=ON setconfig start_old "$start_old" "$CRASHDIR"/start.sh stop + content_line "\033[33m改为使用保守模式启动服务!\033[0m" else if grep -qE 'procd|systemd|s6' /proc/1/comm || rc-status -r >/dev/null 2>&1; then - echo -e "\033[32m改为使用系统守护进程启动服务!!\033[0m" "$CRASHDIR"/start.sh cronset "ShellCrash初始化" start_old=OFF setconfig start_old "$start_old" "$CRASHDIR"/start.sh stop - + content_line "\033[32m改为使用系统守护进程启动服务!\033[0m" else - echo -e "\033[31m当前设备不支持以其他模式启动!!\033[0m" + content_line "\033[31m当前设备不支持以其他模式启动!\033[0m" fi fi + separator_line "=" sleep 1 ;; 3) - echo -e "\033[33m如果你的设备启动后可以正常使用,则无需设置!!\033[0m" - echo -e "\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m" - read -p "请输入启动延迟时间(0~300秒) > " sec + line_break + separator_line "=" + content_line "\033[33m如果你的设备启动后可以正常使用,则无需设置!\033[0m" + content_line "\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m" + separator_line "=" + read -r -p "请输入启动延迟时间(0~300秒)> " sec + + line_break + separator_line "=" case "$sec" in [0-9] | [0-9][0-9] | [0-2][0-9][0-9] | 300) start_delay=$sec setconfig start_delay "$sec" - echo -e "\033[32m设置成功!\033[0m" + content_line "\033[32m设置成功!\033[0m" ;; *) - echo -e "\033[31m输入有误,或超过300秒,请重新输入!\033[0m" + content_line "\033[31m输入有误,或超过300秒,请重新输入!\033[0m" ;; esac + separator_line "=" sleep 1 ;; 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}') + line_break + separator_line "=" if [ "$mini_clash" = "OFF" ]; then if [ "$dir_size" -gt 20480 ]; then - echo -e "\033[33m您的设备空间充足(>20M),无需开启!\033[0m" + content_line "\033[33m您的设备空间充足(>20M),无需开启!\033[0m" elif [ "$start_old" != 'ON' ] && [ "$(cat /proc/1/comm)" = "systemd" ]; then - echo -e "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m" + content_line "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m" else [ "$BINDIR" = "$CRASHDIR" ] && BINDIR="$TMPDIR" - echo -e "\033[32m已经启用小闪存功能!\033[0m" - echo -e "如需更换目录,请使用【设置小闪存目录】功能\033[0m" + content_line "\033[32m已经启用小闪存功能!\033[0m" + content_line "如需更换目录,请使用【设置小闪存目录】功能\033[0m" fi + separator_line "=" else if [ "$dir_size" -lt 8192 ]; then - echo -e "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" - read -p "确认停用此功能?(1/0) > " res - [ "$res" = 1 ] && BINDIR="$CRASHDIR" && echo -e "\033[33m已经停用小闪存功能!\033[0m" + content_line "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" + separator_line "-" + content_line "是否确认停用此功能:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = 1 ]; then + BINDIR="$CRASHDIR" + line_break + separator_line "=" + content_line "\033[33m已经停用小闪存功能!\033[0m" + separator_line "=" + else + continue + fi else rm -rf /tmp/ShellCrash BINDIR="$CRASHDIR" - echo -e "\033[33m已经停用小闪存功能!\033[0m" + content_line "\033[33m已经停用小闪存功能!\033[0m" + separator_line "=" fi fi setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env sleep 1 ;; 5) - echo -e "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" - echo -e "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m" - echo " 1 使用内存(/tmp)" - echo " 2 选择U盘目录" - echo " 3 自定义目录" - read -p "请输入相应数字 > " num - case "$num" in - 1) - BINDIR="$TMPDIR" - ;; - 2) - set_usb_dir() { - echo "请选择安装目录" - du -hL /mnt | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num - BINDIR=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) - if [ -z "$BINDIR" ]; then - echo "\033[31m输入错误!请重新设置!\033[0m" - set_usb_dir + while true; do + line_break + separator_line "=" + content_line "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" + content_line "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m" + content_line "1) 使用内存(/tmp)" + content_line "2) 选择U盘目录" + content_line "3) 自定义目录" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num + case "$num" in + "" | 0) + break + ;; + 1) + BINDIR="$TMPDIR" + ;; + 2) + set_usb_dir() { + while true; do + line_break + separator_line "=" + content_line "请选择安装目录:" + separator_line "-" + du -hL /mnt | + awk '{print NR") "$2" (已占用的储存空间:"$1")"}' | + while IFS= read -r line; do + content_line "$line" + done + + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " num + BINDIR=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) + if [ "$num" = 0 ]; then + return 1 + elif [ -z "$BINDIR" ]; then + line_break + separator_line "=" + content_line "\033[31m输入错误!请重新设置!\033[0m" + separator_line "=" + else + return 0 + fi + done + } + set_usb_dir + if [ $? -eq 1 ]; then + continue fi - } - set_usb_dir - ;; - 3) - input_dir() { - read -p "请输入自定义目录 > " BINDIR - if [ ! -d "$BINDIR" ]; then - echo "\033[31m输入错误!请重新设置!\033[0m" - input_dir + ;; + 3) + input_dir() { + while true; do + line_break + separator_line "=" + content_line "请直接输入命令语句" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " BINDIR + if [ "$BINDIR" = 0 ]; then + return 1 + elif [ ! -d "$BINDIR" ]; then + line_break + separator_line "=" + content_line "\033[31m输入错误!请重新设置!\033[0m" + separator_line "=" + continue + fi + return 0 + done + } + input_dir + if [ $? -eq 1 ]; then + continue fi - } - input_dir - ;; - *) - errornum - ;; - esac - setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env + ;; + *) + errornum + sleep 1 + continue + ;; + esac + setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env + break + done ;; 6) - echo -e "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!!\033[0m" - echo -e "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" - echo -e "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m" - read -p "是否切换?(1/0) > " res - [ "$res" = '1' ] && { + line_break + separator_line "=" + content_line "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m" + content_line "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" + content_line "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m" + separator_line "-" + + if [ "$network_check" = "OFF" ]; then + content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用:" + else + content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用:" + fi + + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "请输入对应标号> " res + if [ "$res" = '1' ]; then if [ "$network_check" = "OFF" ]; then network_check=ON else network_check=OFF fi setconfig network_check "$network_check" - } - sleep 1 + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + fi ;; *) errornum sleep 1 - break ;; esac done From a91cfc44ca5064267be12b1082c13ee6944f3301 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 22 Jan 2026 23:57:57 +0800 Subject: [PATCH 129/318] feat(2_settings.sh): redesign static text menu --- scripts/lang/chs/2_settings.lang | 26 +- scripts/lang/chs/common.lang | 3 +- scripts/menus/2_settings.sh | 800 ++++++++++++++++++++----------- 3 files changed, 539 insertions(+), 290 deletions(-) diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index f269d4f6..a29a3ee8 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -1,7 +1,7 @@ # ================================================= # Settings main menu # ================================================= -SET_MENU_TITLE="欢迎使用功能设置菜单:" +SET_MENU_TITLE="功能设置菜单" SET_MENU_REDIR="路由模式设置:" SET_MENU_DNS="DNS设置: " SET_MENU_FW_FILTER="透明路由流量过滤" @@ -17,14 +17,14 @@ SET_MENU_UI="UI切换" # Main menu messages # ================================================= SET_WARN_NONROOT="非root用户可能无法正确配置其他模式,是否继续?" -SET_SKIP_CERT_ON="已开启跳过本地证书验证!" -SET_SKIP_CERT_OFF="已关闭跳过本地证书验证!" +SET_SKIP_CERT_ON="已启用跳过本地证书验证!" +SET_SKIP_CERT_OFF="已禁用跳过本地证书验证!" SET_SNIFFER_CORE_SWITCH="已自动切换至Meta内核(域名嗅探需要)" SET_SNIFFER_LOCKED="当前内核与DNS模式组合下,域名嗅探无法关闭!" SET_CORE_RUNNING="检测到服务正在运行,需要先停止服务!" -SET_CORE_STOP_CONFIRM="是否停止服务?" +SET_CORE_STOP_CONFIRM="是否确认停止服务:" # ================================================= # Backup / Restore / Reset @@ -33,9 +33,11 @@ SET_BACKUP="备份脚本设置" SET_RESTORE="还原脚本设置" SET_RESET="重置脚本设置" -SET_BACKUP_OK="脚本设置已备份!" +SET_BACKUP_OK="备份脚本设置成功!" +SET_BACKUP_FAIL="备份脚本设置失败!" SET_RESTORE_OK="脚本设置已还原!(被覆盖配置已备份)" -SET_RESET_OK="脚本设置已重置!(旧配置已备份)" +SET_RESET_OK="重置脚本设置成功!(旧配置已备份)" +SET_RESET_FAIL="重置脚本设置失败!" SET_BACKUP_MISS="未找到备份文件,请先备份!" SET_NEED_RESTART="请重新启动脚本以生效!" @@ -45,7 +47,7 @@ SET_NEED_RESTART="请重新启动脚本以生效!" SET_REDIR_DEFAULT="Redir模式" SET_REDIR_CURRENT="当前路由模式为:" SET_CORE_CURRENT="ShellCrash 核心为:" -SET_REDIR_RESTART_HINT="切换模式后需要手动重启服务以生效!" +SET_REDIR_RESTART_HINT="注意:切换模式后需要手动重启服务以生效!" SET_REDIR_APPLIED="已设为" @@ -57,7 +59,7 @@ SET_REDIR_TUN="Tun模式" SET_REDIR_REDIRDES="Redir转发TCP,不转发UDP" SET_REDIR_MIXDES="Redir转发TCP,Tun转发UDP" SET_REDIR_TPROXYDES="Tproxy转发TCP&UDP" -SET_REDIR_TUNDES="Tun转发TCP&UDP(占用高不推荐)" +SET_REDIR_TUNDES="Tun转发TCP&UDP(占用高不推荐)" SET_NO_MOD="设备未检测到内核模块:" SET_NO_MOD2="请尝试其他模式或者安装相关依赖!" @@ -72,7 +74,8 @@ SET_FW_SWITCH="切换防火墙应用" SET_FW_AREA_DESC="仅局域网|仅本机|局域网+本机|纯净模式|旁路转发" -FW_AREA_NOTE="如你使用了第三方DNS如smartdns等,请勿启用本机劫持或使用shellcrash用户执行!" +FW_AREA_NOTE_1="如你使用了第三方DNS如smartdns等," +FW_AREA_NOTE_2="请勿启用本机劫持或使用shellcrash用户执行!" FW_AREA_LAN="仅劫持局域网流量" FW_AREA_LOCAL="仅劫持本机流量" FW_AREA_BOTH="劫持局域网 + 本机流量" @@ -88,7 +91,8 @@ VM_DISABLE="禁用劫持" VM_INPUT_INFO="多个网段请用空格连接,可使用【ip route】命令查看,例如:" VM_INPUT_NET="请输入自定义网段" VM_NO_NET_DETECTED="未检测到容器或虚拟机网段,请先运行容器后再运行脚本,或选择手动设置网段!" -VM_INPUT_DESC="多个网段请使用空格分隔,可通过【ip route】命令查看,例如:" +VM_INPUT_DESC_1="多个网段请使用空格分隔,可通过【ip route】命令查看" +VM_INPUT_DESC_2="例如:" #inputport INPUT_PORT="请输入端口号" @@ -119,7 +123,7 @@ ADV_HOST_INPUT="请输入自定义 Host 地址(输入 0 移除)" ADV_HOST_REMOVED="自定义 Host 地址已移除,请重新运行脚本以自动获取!" ADV_HOST_INVALID="输入错误,请仔细核对!" # Routing table -ADV_TABLE_WARN="仅当 Tproxy / Tun / 混合模式下路由表发生冲突时才需要设置!" +ADV_TABLE_WARN="仅当 Tproxy/Tun/混合模式 下路由表发生冲突时才需要设置!" ADV_TABLE_INPUT="请输入路由表编号(不清楚请勿修改,建议 102-125)" # ================================================= diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang index 7aadbafb..0a553b51 100644 --- a/scripts/lang/chs/common.lang +++ b/scripts/lang/chs/common.lang @@ -1,8 +1,7 @@ -COMMON_INPUT="请输入对应数字" +COMMON_INPUT="请输入对应标号" COMMON_BACK="返回上级菜单" COMMON_SUCCESS="设置成功!" COMMON_FAILED="设置失败!" COMMON_UNSET="未设置" COMMON_MOD="模式" - diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index deaef0ec..37bbdb19 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -14,81 +14,154 @@ settings() { [ -z "$sniffer" ] && sniffer=OFF [ -z "$dns_mod" ] && dns_mod='redir_host' - echo "-----------------------------------------------" - echo -e "\033[30;47m$SET_MENU_TITLE\033[0m" - echo "-----------------------------------------------" - echo -e " 1 $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" - echo -e " 2 $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" - echo -e " 3 $SET_MENU_FW_FILTER" + line_break + separator_line "=" + content_line "\033[30;47m$SET_MENU_TITLE\033[0m" + separator_line "-" + content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" + content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" + content_line "3) $SET_MENU_FW_FILTER" [ "$disoverride" != "1" ] && { - echo -e " 4 $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" - echo -e " 5 $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" - echo -e " 6 $SET_MENU_ADV_PORT" + content_line "4) $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" + content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" + content_line "6) $SET_MENU_ADV_PORT" } - echo -e " 8 $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" - echo "-----------------------------------------------" - echo -e " a \033[31m$SET_MENU_RESET\033[0m" - echo -e " b \033[36m$SET_MENU_LANG\033[0m" - echo -e " c \033[33m$SET_MENU_UI\033[0m" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num - + content_line "8) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" + content_line "" + content_line "a) \033[31m$SET_MENU_RESET\033[0m" + content_line "b) \033[36m$SET_MENU_LANG\033[0m" + content_line "c) \033[33m$SET_MENU_UI\033[0m" + content_line "" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1) - if [ "$USER" != root -a "$USER" != admin ]; then - echo "-----------------------------------------------" - read -p "$SET_WARN_NONROOT (1/0) > " res - [ "$res" = 1 ] && set_redir_mod + if [ "$USER" != root ] && [ "$USER" != admin ]; then + line_break + separator_line "=" + content_line "$SET_WARN_NONROOT" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + set_redir_mod + else + continue + fi else set_redir_mod fi ;; 2) . "$CRASHDIR"/menus/dns.sh && set_dns_mod - sleep 1 ;; 3) . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter - sleep 1 ;; 4) - echo "-----------------------------------------------" - if [ "$skip_cert" = OFF ]; then - skip_cert=ON - echo -e "\033[33m$SET_SKIP_CERT_ON\033[0m" + line_break + separator_line "=" + if [ "$skip_cert" = "OFF" ]; then + content_line "当前\033[33m已禁用\033[0m跳过本地证书验证,是否确认启用:" else - skip_cert=OFF - echo -e "\033[33m$SET_SKIP_CERT_OFF\033[0m" + content_line "当前\033[33m已启用\033[0m跳过本地证书验证,是否确认禁用:" fi - setconfig skip_cert $skip_cert + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " num + + if [ "$num" = 1 ]; then + line_break + separator_line "=" + if [ "$skip_cert" = OFF ]; then + skip_cert=ON + content_line "\033[33m$SET_SKIP_CERT_ON\033[0m" + else + skip_cert=OFF + content_line "\033[33m$SET_SKIP_CERT_OFF\033[0m" + fi + setconfig skip_cert $skip_cert + separator_line "=" + else + continue + fi + sleep 1 ;; 5) - echo "-----------------------------------------------" - if [ "$sniffer" = OFF ]; then - if [ "$crashcore" = clash ]; then - rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" - crashcore=meta - setconfig crashcore $crashcore - echo "$SET_SNIFFER_CORE_SWITCH" + line_break + separator_line "=" + if [ "$sniffer" = "OFF" ]; then + content_line "当前\033[33m已禁用\033[0m域名嗅探,是否确认启用:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " num + + if [ "$num" = 1 ]; then + line_break + separator_line "=" + if [ "$crashcore" = "clash" ]; then + rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" + crashcore=meta + setconfig crashcore $crashcore + line_break + content_line "$SET_SNIFFER_CORE_SWITCH" + content_line "" + fi + sniffer=ON + else + continue fi - sniffer=ON - elif [ "$crashcore" = clashpre -a "$dns_mod" = redir_host ]; then - echo -e "\033[31m$SET_SNIFFER_LOCKED\033[0m" + elif [ "$crashcore" = clashpre ] && [ "$dns_mod" = redir_host ]; then + content_line "\033[31m$SET_SNIFFER_LOCKED\033[0m" + separator_line "=" + sleep 1 + continue else - sniffer=OFF + content_line "当前\033[33m已启用\033[0m域名嗅探,是否确认禁用:" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + sniffer=OFF + line_break + separator_line "=" + else + continue + fi fi - setconfig sniffer $sniffer + setconfig sniffer "$sniffer" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 ;; 6) if pidof CrashCore >/dev/null; then - echo "-----------------------------------------------" - echo -e "\033[33m$SET_CORE_RUNNING\033[0m" - read -p "$SET_CORE_STOP_CONFIRM (1/0) > " res - [ "$res" = 1 ] && "$CRASHDIR/start.sh" stop && set_adv_config + line_break + separator_line "=" + content_line "\033[33m$SET_CORE_RUNNING\033[0m" + content_line "$SET_CORE_STOP_CONFIRM" + separator_line "-" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + "$CRASHDIR/start.sh" stop && set_adv_config + else + continue + fi else set_adv_config fi @@ -97,83 +170,132 @@ settings() { set_ipv6 ;; a) - echo "-----------------------------------------------" - echo -e " 1 $SET_BACKUP" - echo -e " 2 $SET_RESTORE" - echo -e " 3 $SET_RESET" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + line_break + separator_line "=" + content_line "1) $SET_BACKUP" + content_line "2) $SET_RESTORE" + content_line "3) $SET_RESET" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in - 1) cp -f "$CFG_PATH" "$CFG_PATH.bak" && echo -e "\033[32m$SET_BACKUP_OK\033[0m" ;; - 2) - if [ -f "$CFG_PATH.bak" ]; then - mv -f "$CFG_PATH" "$CFG_PATH.bak2" - mv -f "$CFG_PATH.bak" "$CFG_PATH" - mv -f "$CFG_PATH.bak2" "$CFG_PATH.bak" - echo -e "\033[32m$SET_RESTORE_OK\033[0m" - else - echo -e "\033[31m$SET_BACKUP_MISS\033[0m" - fi - ;; - 3) - mv -f "$CFG_PATH" "$CFG_PATH.bak" + "" | 0) + continue + ;; + 1) + line_break + separator_line "=" + if cp -f "$CFG_PATH" "$CFG_PATH.bak"; then + content_line "\033[32m$SET_BACKUP_OK\033[0m" + else + content_line "\033[31m$SET_BACKUP_FAIL\033[0m" + fi + ;; + 2) + line_break + separator_line "=" + if [ -f "$CFG_PATH.bak" ]; then + mv -f "$CFG_PATH" "$CFG_PATH.bak2" + mv -f "$CFG_PATH.bak" "$CFG_PATH" + mv -f "$CFG_PATH.bak2" "$CFG_PATH.bak" + content_line "\033[32m$SET_RESTORE_OK\033[0m" + else + content_line "\033[31m$SET_BACKUP_MISS\033[0m" + fi + ;; + 3) + line_break + separator_line "=" + if mv -f "$CFG_PATH" "$CFG_PATH.bak"; then . "$CRASHDIR/init.sh" >/dev/null - echo -e "\033[32m$SET_RESET_OK\033[0m" - ;; + content_lin e"\033[32m$SET_RESET_OK\033[0m" + else + content_lin e"\033[32m$SET_RESET_FAIL\033[0m" + fi + ;; + *) + errornub + sleep 1 + continue + ;; esac - echo -e "\033[33m$SET_NEED_RESTART\033[0m" + content_line "" + content_line "\033[33m$SET_NEED_RESTART\033[0m" + sleep 1 exit 0 ;; b) - echo "-----------------------------------------------" - echo -e " 1 简体中文" - echo -e " 2 English" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + line_break + separator_line "=" + content_line "1) 简体中文" + content_line "2) English" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in - 1) - echo chs > "$CRASHDIR"/configs/i18n.cfg - echo -e "\033[32m切换成功!请重新运行脚本!\033[0m" - exit - ;; - 2) - echo en > "$CRASHDIR"/configs/i18n.cfg - echo -e "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" - exit - ;; + "" | 0) + continue + ;; + 1) + line_break + separator_line "=" + echo chs >"$CRASHDIR"/configs/i18n.cfg + content_line "\033[32m切换成功!请重新运行脚本!\033[0m" + ;; + 2) + line_break + separator_line "=" + echo en >"$CRASHDIR"/configs/i18n.cfg + content_line "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" + ;; esac + separator_line "=" + sleep 1 + exit 0 ;; c) - echo "-----------------------------------------------" - echo -e " 1 TUI-layout by Sofia-Riese" - echo -e " 2 TUI-lite" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + line_break + separator_line "=" + content_line "1) New Design by Sofia-Riese" + content_line "2) TUI-lite" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in - 1) - setconfig tui_type 'tui_layout' - . "$CRASHDIR"/menus/tui_layout.sh - ;; - 2) - setconfig tui_type 'tui_lite' - . "$CRASHDIR"/menus/tui_lite.sh - ;; + "" | 0) + continue + ;; + 1) + setconfig tui_type 'tui_layout' + . "$CRASHDIR"/menus/tui_layout.sh + ;; + 2) + setconfig tui_type 'tui_lite' + . "$CRASHDIR"/menus/tui_lite.sh + ;; esac + line_break + separator_line "=" + content_line "\033[32m切换成功!\033[0m" + separator_line "=" + sleep 1 + ;; + *) + errornum + sleep 1 ;; - *) errornum ;; esac - sleep 1 done } set_redir_config() { setconfig redir_mod "$redir_mod" setconfig dns_mod "$dns_mod" - echo "-----------------------------------------------" - echo -e "\033[36m$SET_REDIR_APPLIED $redir_mod\033[0m" + line_break + separator_line "=" + content_line "\033[36m$SET_REDIR_APPLIED $redir_mod\033[0m" + separator_line "=" + sleep 1 } # 路由模式设置 @@ -181,31 +303,33 @@ set_redir_mod() { while true; do [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 [ -z "$firewall_area" ] && firewall_area=1 - [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" + [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" [ -z "$redir_mod" ] && redir_mod='Redir' firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) - echo "-----------------------------------------------" - echo -e "$SET_REDIR_CURRENT \033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT \033[47;30m$crashcore\033[0m" - echo -e "\033[33m$SET_REDIR_RESTART_HINT\033[0m" - echo "-----------------------------------------------" - [ $firewall_area -le 3 ] && { - echo -e " 1 \033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" - echo -e " 2 \033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" - echo -e " 3 \033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" - echo -e " 4 \033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" - echo -e "-----------------------------------------------" - } - [ "$firewall_area" = 5 ] && { - echo -e " 5 \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" - echo -e " 6 \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" - echo "-----------------------------------------------" + line_break + separator_line "=" + content_line "\033[33m$SET_REDIR_RESTART_HINT\033[0m" + content_line "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" + separator_line "=" + [ "$firewall_area" -le 3 ] && { + content_line "1) \033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" + content_line "2) \033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" + content_line "3) \033[32m$SET_REDIR_TPROXY\033[0m:$SET_REDIR_TPROXYDES" + content_line "4) \033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" + content_line "" } - echo -e " 7 $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" - echo -e " 8 $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" - echo -e " 9 $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" - echo "-----------------------------------------------" - echo -e " 0 $COMMON_BACK" - read -p "$COMMON_INPUT > " num + [ "$firewall_area" = 5 ] && { + content_line "5) \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" + content_line "6) \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" + content_line "" + } + content_line "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" + content_line "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" + content_line "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" + content_line "" + content_line "0 $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -220,14 +344,18 @@ set_redir_mod() { redir_mod=Mix set_redir_config else - echo -e "\033[31m${SET_NO_MOD}TUN$SET_NO_MOD2\033[0m" + line_break + separator_line "=" + content_line "\033[31m${SET_NO_MOD}TUN\033[0m" + content_line "\033[31m$SET_NO_MOD2\033[0m" + separator_line "=" sleep 1 fi ;; 3) if [ "$firewall_mod" = "iptables" ]; then - if [ -f /etc/init.d/qca-nss-ecm -a "$systype" = "mi_snapshot" ]; then - read -p "$XIAOMI_QOS(1/0) > " res + if [ -f /etc/init.d/qca-nss-ecm ] && [ "$systype" = "mi_snapshot" ]; then + read -r -p "$XIAOMI_QOS(1/0) > " res [ "$res" = '1' ] && { /data/shellcrash_init.sh tproxyfix redir_mod=Tproxy @@ -237,7 +365,11 @@ set_redir_mod() { redir_mod=Tproxy set_redir_config else - echo -e "\033[31m${SET_NO_MOD}iptables-mod-tproxy$SET_NO_MOD2\033[0m" + line_break + separator_line "=" + content_line "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" + content_line "\033[31m$SET_NO_MOD2\033[0m" + separator_line "=" sleep 1 fi elif [ "$firewall_mod" = "nftables" ]; then @@ -245,7 +377,11 @@ set_redir_mod() { redir_mod=Tproxy set_redir_config else - echo -e "\033[31m${SET_NO_MOD}nft_tproxy$SET_NO_MOD2\033[0m" + line_break + separator_line "=" + content_line "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" + content_line "\033[31m$SET_NO_MOD2\033[0m" + separator_line "=" sleep 1 fi fi @@ -255,7 +391,10 @@ set_redir_mod() { redir_mod=Tun set_redir_config else - echo -e "\033[31m$SET_NO_TUN\033[0m" + line_break + separator_line "=" + content_line "\033[31m$SET_NO_TUN\033[0m" + separator_line "=" sleep 1 fi ;; @@ -280,7 +419,10 @@ set_redir_mod() { redir_mod=Redir setconfig redir_mod $redir_mod else - echo -e "\033[31m$FW_NO_NFTABLES\033[0m" + line_break + separator_line "=" + content_line "\033[31m$FW_NO_NFTABLES\033[0m" + separator_line "=" fi elif [ "$firewall_mod" = 'nftables' ]; then if ckcmd iptables; then @@ -288,7 +430,10 @@ set_redir_mod() { redir_mod=Redir setconfig redir_mod $redir_mod else - echo -e "\033[31m$FW_NO_IPTABLES\033[0m" + line_break + separator_line "=" + content_line "\033[31m$FW_NO_IPTABLES\033[0m" + separator_line "=" fi else iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables @@ -296,32 +441,40 @@ set_redir_mod() { if [ -n "$firewall_mod" ]; then redir_mod=Redir setconfig redir_mod $redir_mod - setconfig firewall_mod $firewall_mod + setconfig firewall_mod "$firewall_mod" else - echo -e "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" + line_break + separator_line "=" + content_line "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" + separator_line "=" fi fi sleep 1 - setconfig firewall_mod $firewall_mod + setconfig firewall_mod "$firewall_mod" ;; *) errornum sleep 1 - break ;; esac done } inputport() { - read -p "$INPUT_PORT(1-65535) > " portx + line_break + read -r -p "$INPUT_PORT(1~65535)> " portx . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 + line_break + separator_line "=" if check_port "$portx"; then setconfig "$xport" "$portx" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + separator_line "=" + sleep 1 return 0 else - echo -e "\033[31m$COMMON_FAILED\033[0m" + content_line "\033[31m$COMMON_FAILED\033[0m" + separator_line "=" sleep 1 return 1 fi @@ -335,200 +488,282 @@ set_adv_config() { [ -z "$table" ] && table=100 [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" - echo "-----------------------------------------------" - echo -e " 1 $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" - echo -e " 2 $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" - echo -e " 3 $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port+1))\033[0m" - echo -e " 4 $ADV_DNS_PORT:\t\033[36m$dns_port\033[0m" - echo -e " 5 $ADV_PANEL_PORT:\t\033[36m$db_port\033[0m" - echo -e " 6 $ADV_PANEL_PASS:\t\033[36m$secret\033[0m" - echo -e " 8 $ADV_HOST:\t\033[36m$host\033[0m" - echo -e " 9 $ADV_TABLE:\t\033[36m$table,$((table+1))\033[0m" - echo -e " 0 $COMMON_BACK" - read -p "$COMMON_INPUT > " num + line_break + separator_line "=" + content_line "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" + content_line "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" + content_line "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" + content_line "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" + content_line "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" + content_line "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" + content_line "8) $ADV_HOST:\t\033[36m$host\033[0m" + content_line "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break - ;; + ;; 1) xport=mix_port inputport - [ $? -eq 1 ] && break || continue - ;; + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; 2) - echo "-----------------------------------------------" - echo -e "$ADV_AUTH_FORMAT_DESC" - echo -e "$ADV_AUTH_WARN" - echo -e "$ADV_AUTH_REMOVE_HINT" - echo "-----------------------------------------------" - read -p "$ADV_AUTH_INPUT > " input + line_break + separator_line "=" + content_line "$ADV_AUTH_FORMAT_DESC" + content_line "$ADV_AUTH_WARN" + content_line "$ADV_AUTH_REMOVE_HINT" + separator_line "=" + read -r -p "$ADV_AUTH_INPUT> " input + line_break + separator_line "=" if [ "$input" = "0" ]; then authentication="" setconfig authentication - echo -e "\033[32m$ADV_AUTH_REMOVED\033[0m" + content_line "\033[32m$ADV_AUTH_REMOVED\033[0m" else if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" - sleep 1 + content_line "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" else authentication=$(echo "$input" | grep :) if [ -n "$authentication" ]; then setconfig authentication "'$authentication'" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + content_line "\033[32m$COMMON_SUCCESS\033[0m" else - echo -e "\033[31m$ADV_AUTH_INVALID\033[0m" + content_line "\033[31m$ADV_AUTH_INVALID\033[0m" fi fi fi - ;; + separator_line "=" + sleep 1 + ;; 3) xport=redir_port inputport - [ $? -eq 1 ] && break || continue - ;; + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; 4) xport=dns_port inputport - [ $? -eq 1 ] && break || continue - ;; + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; 5) xport=db_port inputport - [ $? -eq 1 ] && break || continue - ;; + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; 6) - read -p "$ADV_PANEL_PASS_INPUT > " secret + line_break + read -r -p "$ADV_PANEL_PASS_INPUT> " secret if [ -n "$secret" ]; then [ "$secret" = "0" ] && secret="" setconfig secret "$secret" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + line_break + separator_line "=" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + separator_line "=" fi - ;; + ;; 8) - echo "-----------------------------------------------" - echo -e "\033[33m$ADV_HOST_WARN_LAN\033[0m" - echo -e "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" - echo "-----------------------------------------------" - read -p "$ADV_HOST_INPUT > " host + line_break + separator_line "=" + content_line "\033[33m$ADV_HOST_WARN_LAN\033[0m" + content_line "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" + separator_line "=" + read -r -p "$ADV_HOST_INPUT> " host + line_break + separator_line "=" if [ "$host" = "0" ]; then host="" setconfig host "$host" - echo -e "\033[32m$ADV_HOST_REMOVED\033[0m" + content_line "\033[32m$ADV_HOST_REMOVED\033[0m" + separator_line "=" + sleep 1 exit 0 - elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>' ; then + elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>'; then setconfig host "$host" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + content_line "\033[32m$COMMON_SUCCESS\033[0m" else host="" - echo -e "\033[31m$ADV_HOST_INVALID\033[0m" + content_line "\033[31m$ADV_HOST_INVALID\033[0m" fi + separator_line "=" sleep 1 - ;; + ;; 9) - echo "-----------------------------------------------" - echo -e "\033[33m$ADV_TABLE_WARN\033[0m" - read -p "$ADV_TABLE_INPUT > " table + line_break + separator_line "=" + content_line "\033[33m$ADV_TABLE_WARN\033[0m" + separator_line "=" + read -r -p "$ADV_TABLE_INPUT> " table if [ -n "$table" ]; then [ "$table" = "0" ] && table="100" setconfig table "$table" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + + line_break + separator_line "=" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + separator_line "=" fi - ;; + ;; *) errornum sleep 1 - ;; + ;; esac done } set_firewall_area() { - [ -z "$vm_redir" ] && vm_redir='OFF' - echo "-----------------------------------------------" - echo -e "\033[33m$FW_AREA_NOTE\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m$FW_AREA_LAN\033[0m" - echo -e " 2 \033[36m$FW_AREA_LOCAL\033[0m" - echo -e " 3 \033[32m$FW_AREA_BOTH\033[0m" - echo -e " 4 $FW_AREA_NONE" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + while true; do + [ -z "$vm_redir" ] && vm_redir='OFF' + line_break + separator_line "=" + content_line "\033[33m$FW_AREA_NOTE_1\033[0m" + content_line "\033[33m$FW_AREA_NOTE_2\033[0m" + content_line "" + content_line "当前路由劫持范围:$firewall_area_dsc" + separator_line "-" + content_line "1) \033[32m$FW_AREA_LAN\033[0m" + content_line "2) \033[36m$FW_AREA_LOCAL\033[0m" + content_line "3) \033[32m$FW_AREA_BOTH\033[0m" + content_line "4) $FW_AREA_NONE" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num - case "$num" in - [1-4]) - if [ $firewall_area -ge 4 ];then - redir_mod='' - else - redir_mod=Redir - fi - firewall_area="$num" - setconfig firewall_area "$firewall_area" - setconfig redir_mod "$redir_mod" - ;; - 5) - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0m此功能存在多种风险如无网络基础请勿尝试!" - echo -e "\033[33m说明:\033[0m此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" - echo -e "\033[33m说明:\033[0m支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6!" - echo -e "\033[31m注意:\033[0m如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" - echo -e "\033[31m注意:\033[0m如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" - echo "-----------------------------------------------" - read -p "请输入旁路由IPV4地址 > " bypass_host - [ -n "$bypass_host" ] && { - firewall_area=$num - setconfig firewall_area $firewall_area - setconfig bypass_host $bypass_host - redir_mod=TCP旁路转发 - setconfig redir_mod $redir_mod - } - ;; - *) errornum ;; - esac - sleep 1 + case "$num" in + "" | 0) + break + ;; + [1-4]) + if [ "$firewall_area" -ge 4 ]; then + redir_mod='' + else + redir_mod=Redir + fi + firewall_area="$num" + setconfig firewall_area "$firewall_area" + setconfig redir_mod "$redir_mod" + + case "$firewall_area" in + 1) firewall_area_dsc="$FW_AREA_LAN" ;; + 2) firewall_area_dsc="$FW_AREA_LOCAL" ;; + 3) firewall_area_dsc="$FW_AREA_BOTH" ;; + 4) firewall_area_dsc="$FW_AREA_NONE" ;; + esac + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + ;; + 5) + line_break + separator_line "=" + content_line "\033[31m注意:\033[0m" + content_line "此功能存在多种风险如无网络基础请勿尝试!" + content_line "如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" + content_line "如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" + content_line "\033[33m说明:\033[0m" + content_line "此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" + content_line "支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6" + separator_line "=" + read -r -p "请直接输入旁路由IPV4地址> " bypass_host + [ -n "$bypass_host" ] && { + firewall_area=$num + setconfig firewall_area "$firewall_area" + setconfig bypass_host "$bypass_host" + redir_mod=TCP旁路转发 + setconfig redir_mod $redir_mod + } + ;; + *) + errornum + sleep 1 + ;; + esac + done } -set_firewall_vm(){ - [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') - echo "-----------------------------------------------" - echo -e "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m$VM_ENABLE_AUTO\033[0m" - echo -e " 2 \033[36m$VM_ENABLE_MANUAL\033[0m" - echo -e " 3 \033[31m$VM_DISABLE\033[0m" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + +set_firewall_vm() { + [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') + line_break + separator_line "=" + content_line "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" + separator_line "-" + content_line "1) \033[32m$VM_ENABLE_AUTO\033[0m" + content_line "2) \033[36m$VM_ENABLE_MANUAL\033[0m" + content_line "3) \033[31m$VM_DISABLE\033[0m" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in - 1) - if [ -n "$vm_ipv4" ]; then - vm_redir=ON - else - echo -e "\033[33m$VM_NO_NET_DETECTED\033[0m" - fi - ;; - 2) - echo -e "$VM_INPUT_DESC" - echo -e "\033[32m10.88.0.0/16 172.17.0.0/16\033[0m" - read -p "$VM_INPUT_NET > " text - [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON - ;; + 1) + line_break + separator_line "=" + if [ -n "$vm_ipv4" ]; then + vm_redir=ON + content_line "\033[32m操作成功\033[0m" + else + content_line "\033[33m$VM_NO_NET_DETECTED\033[0m" + fi + separator_line "=" + sleep 1 + ;; + 2) + line_break + separator_line "=" + content_line "$VM_INPUT_DESC_1" + content_line "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" + content_line "" + content_line "Tips:直接回车确认可返回上级菜单" + separator_line "=" + read -r -p "$VM_INPUT_NET> " text + [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON + ;; 3) - vm_redir=OFF - vm_ipv4='' - ;; + vm_redir=OFF + vm_ipv4='' + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + ;; *) ;; esac - case "$num" in - 1-3) - setconfig vm_redir "$vm_redir" - setconfig vm_ipv4 "'$vm_ipv4'" - ;; - esac + case "$num" in + 1-3) + setconfig vm_redir "$vm_redir" + setconfig vm_ipv4 "'$vm_ipv4'" + ;; + esac } # ipv6设置 @@ -537,12 +772,13 @@ set_ipv6() { [ -z "$ipv6_redir" ] && ipv6_redir=OFF [ -z "$ipv6_dns" ] && ipv6_dns=ON - echo "-----------------------------------------------" - echo -e " 1 $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" - [ "$disoverride" != "1" ] && echo -e " 2 $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" - read -p "$COMMON_INPUT > " num + line_break + separator_line "=" + content_line "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" + [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -552,21 +788,31 @@ set_ipv6() { if [ "$ipv6_redir" = "OFF" ]; then ipv6_support=ON ipv6_redir=ON - sleep 2 else ipv6_redir=OFF fi setconfig ipv6_redir $ipv6_redir - setconfig ipv6_support $ipv6_support + setconfig ipv6_support "$ipv6_support" + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 ;; 2) [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF setconfig ipv6_dns "$ipv6_dns" + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 ;; *) errornum sleep 1 - break ;; esac done From 358fd945f226ac8ca7a21e83ec22239dd2efdb31 Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 23 Jan 2026 13:47:29 +0800 Subject: [PATCH 130/318] fix(tui_layout.sh): apply font color --- scripts/menus/tui_layout.sh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 8a44f335..42ca4247 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -29,15 +29,14 @@ content_line() { currentLine = "" wordBuffer = "" lastColor = "" + savedColor = "" ESC = sprintf("%c", 27) } { n = split($0, chars, "") - for (i = 1; i <= n; i++) { r = chars[i] - if (r == ESC && i+1 <= n && chars[i+1] == "[") { ansiSeq = "" for (j = i; j <= n; j++) { @@ -74,26 +73,28 @@ content_line() { if (r == " " || charWidth == 2) { if (currentDisplayWidth + wordWidth + charWidth > textWidth) { printf " %s\033[0m\033[%dG||\n", currentLine, table_width - currentLine = lastColor wordBuffer + currentLine = savedColor wordBuffer currentDisplayWidth = wordWidth wordBuffer = r wordWidth = charWidth + savedColor = lastColor } else { currentLine = currentLine wordBuffer r currentDisplayWidth += wordWidth + charWidth wordBuffer = "" wordWidth = 0 + savedColor = lastColor } } else { wordBuffer = wordBuffer r wordWidth += charWidth - if (wordWidth > textWidth) { printf " %s%s\033[0m\033[%dG||\n", currentLine, wordBuffer, table_width - currentLine = lastColor + currentLine = savedColor currentDisplayWidth = 0 wordBuffer = "" wordWidth = 0 + savedColor = lastColor } } } @@ -103,7 +104,7 @@ content_line() { if (wordWidth > 0) { if (currentDisplayWidth + wordWidth > textWidth) { printf " %s\033[0m\033[%dG||\n", currentLine, table_width - currentLine = lastColor wordBuffer + currentLine = savedColor wordBuffer } else { currentLine = currentLine wordBuffer } From fed0bfeb90212997d2900e120509095d082b1b1f Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 23 Jan 2026 14:34:35 +0800 Subject: [PATCH 131/318] feat(tui_layout.sh): identify line break "\n" --- scripts/menus/tui_layout.sh | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 42ca4247..5f3bcea3 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -52,10 +52,7 @@ content_line() { } charWidth = 1 - - if (r <= "\177") { - charWidth = 1 - } + if (r <= "\177") { charWidth = 1 } else if (r >= "\340" && r <= "\357" && i+2 <= n) { r = chars[i] chars[i+1] chars[i+2] i += 2 @@ -66,9 +63,6 @@ content_line() { i += 1 charWidth = 1 } - else { - charWidth = 1 - } if (r == " " || charWidth == 2) { if (currentDisplayWidth + wordWidth + charWidth > textWidth) { @@ -98,9 +92,7 @@ content_line() { } } } - } - END { if (wordWidth > 0) { if (currentDisplayWidth + wordWidth > textWidth) { printf " %s\033[0m\033[%dG||\n", currentLine, table_width @@ -110,14 +102,15 @@ content_line() { } } - cleanText = currentLine - gsub(/\033\[[0-9;]*m/, "", cleanText) - gsub(/^[ \t]+|[ \t]+$/, "", cleanText) + printf " %s\033[0m\033[%dG||\n", currentLine, table_width - if (cleanText != "") { - printf " %s\033[0m\033[%dG||\n", currentLine, table_width - } + currentLine = lastColor + currentDisplayWidth = 0 + wordBuffer = "" + wordWidth = 0 + savedColor = lastColor } + END {} ' } From 5647f603735ea58c293674378b7d2c57bdc48a74 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 23 Jan 2026 14:42:27 +0800 Subject: [PATCH 132/318] feat(dns.sh): redesign static text menu --- scripts/lang/chs/dns.lang | 12 +- scripts/menus/dns.sh | 474 ++++++++++++++++++++++++++++++-------- 2 files changed, 382 insertions(+), 104 deletions(-) diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang index 5f183953..2fe64656 100644 --- a/scripts/lang/chs/dns.lang +++ b/scripts/lang/chs/dns.lang @@ -23,17 +23,16 @@ DNS_SET_OK="DNS模式已设置为" DNS_CORE_UNSUPPORTED="当前内核不支持该功能!" #=====DNS重定向===== -DNS_REDIR_WARN="仅限搭配第三方DNS服务(AdGuard、SmartDNS等)使用!" +DNS_REDIR_WARN="仅限搭配第三方DNS服务(AdGuard、SmartDNS等)使用!" DNS_REDIR_HINT="建议第三方DNS上游指向" -DNS_REDIR_INPUT="请输入第三方DNS服务监听端口(0重置)>" DNS_REDIR_NO_SERVICE="该端口未检测到正在运行的DNS服务!" #=====Fake-IP===== DNS_FAKEIP_DESC="用于解决Fake-IP模式下部分地址或应用无法连接的问题" DNS_FAKEIP_TIP="脚本已内置大量地址,只需添加出现问题的地址" -DNS_FAKEIP_EXAMPLE="示例:a.b.com\n*.b.com\n*.*.b.com" +DNS_FAKEIP_EXAMPLE="示例格式如下:\na.b.com\n*.b.com\n*.*.b.com" DNS_FAKEIP_EXIST="已添加的Fake-IP过滤地址:" -DNS_FAKEIP_EMPTY="尚未添加Fake-IP过滤地址" +DNS_FAKEIP_EMPTY="当前尚未添加任何自定义Fake-IP过滤地址" DNS_FAKEIP_EDIT="输入序号移除,输入地址添加" #=====DNS高级===== @@ -42,12 +41,11 @@ DNS_ADV_CERT="使用DoH/DoT需具备本地根证书文件" DNS_ADV_SINGBOX_LIMIT="注意:SingBox内核仅加载第一个DNS" DNS_ADV_EDIT_DIRECT="修改DIRECT-DNS" -DNS_ADV_EDIT_PROXY="修改PROXY-DNS(该DNS查询会经过节点)" -DNS_ADV_EDIT_DEFAULT="修改DEFAULT-DNS(必须是IP,用于解析其他DNS)" +DNS_ADV_EDIT_PROXY="修改PROXY-DNS(该DNS查询会经过节点)" +DNS_ADV_EDIT_DEFAULT="修改DEFAULT-DNS(必须是IP,用于解析其他DNS)" DNS_ADV_AUTO_ENCRYPT="一键配置加密DNS" DNS_ADV_RESET="重置默认DNS配置" -DNS_INPUT_NEW="请输入新的DNS地址>" DNS_IPV6_NOT_SUPPORT="该选项暂不支持IPv6加密DNS!" DNS_ENCRYPT_OK="已设置加密DNS,如遇DNS解析问题,请重置DNS配置!" diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 6dec58af..604a7e11 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -12,79 +12,233 @@ set_dns_mod() { [ -z "$hosts_opt" ] && hosts_opt=ON [ -z "$dns_protect" ] && dns_protect=ON [ -z "$ecs_subnet" ] && ecs_subnet=OFF - - echo "-----------------------------------------------" - echo -e "$DNS_CURRENT_MODE \033[47;30m $dns_mod \033[0m" - echo -e "\033[33m$DNS_RESTART_NOTICE\033[0m" - echo "-----------------------------------------------" - echo -e " 1 MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m" - echo -e " 2 Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m" - echo -e " 3 Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" - echo "-----------------------------------------------" - echo -e " 4 $DNS_MENU_PROTECT:\t\033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" - echo -e " 5 $DNS_MENU_HOSTS:\t\033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" - echo -e " 6 $DNS_MENU_ECS:\t\033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" - echo -e " 7 $DNS_MENU_REDIR:\033[36m$dns_redir_port\033[0m\t$DNS_REDIR_PORT_DESC" + line_break + separator_line "=" + 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 "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 "" + content_line "4) $DNS_MENU_PROTECT:\t\033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" + content_line "5) $DNS_MENU_HOSTS:\t\033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" + content_line "6) $DNS_MENU_ECS:\t\033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" + content_line "7) $DNS_MENU_REDIR:\033[36m$dns_redir_port\033[0m\t$DNS_REDIR_PORT_DESC" [ "$dns_mod" = "mix" ] && - echo -e " 8 \033[33m$DNS_FAKEIP_MENU\033[0m" - echo -e " 9 \033[36m$DNS_ADV_MENU\033[0m" - echo "-----------------------------------------------" - echo " 0 $COMMON_BACK" - read -r -p "$COMMON_INPUT > " num + content_line "8) \033[33m$DNS_FAKEIP_MENU\033[0m" + content_line "9) \033[36m$DNS_ADV_MENU\033[0m" + content_line "0) $COMMON_BACK" + separator_line "=" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1 | 2) + line_break + separator_line "=" if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then [ "$num" = 1 ] && dns_mod=mix || dns_mod=route setconfig dns_mod "$dns_mod" - echo "-----------------------------------------------" - echo -e "\033[36m$DNS_SET_OK: $dns_mod\033[0m" + content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m" else - echo -e "\033[31m$DNS_CORE_UNSUPPORTED\033[0m" - sleep 1 + econtent_line "\033[31m$DNS_CORE_UNSUPPORTED\033[0m" fi + separator_line "=" + sleep 1 ;; 3) dns_mod=redir_host setconfig dns_mod "$dns_mod" - echo -e "\033[36m$DNS_SET_OK: $dns_mod\033[0m" + line_break + separator_line "=" + content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m" + separator_line "=" ;; 4) - [ "$dns_protect" = ON ] && dns_protect=OFF || dns_protect=ON - setconfig dns_protect "$dns_protect" + while true; do + line_break + separator_line "=" + if [ "$dns_protect" = ON ]; then + content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用:" + else + content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用:" + fi + separator_line "-" + content_line "1) 是" + content_line "2) 重置为默认值" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 0) + break + ;; + 1) + if [ "$dns_protect" = ON ]; then + dns_protect=OFF + else + dns_protect=ON + fi + ;; + 2) + dns_protect=ON + ;; + *) + errornum + sleep 1 + continue + ;; + esac + setconfig dns_protect "$dns_protect" + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + done ;; 5) - [ "$hosts_opt" = ON ] && hosts_opt=OFF || hosts_opt=ON - setconfig hosts_opt "$hosts_opt" + while true; do + line_break + separator_line "=" + if [ "$hosts_opt" = ON ]; then + content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用:" + else + content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" + fi + separator_line "-" + content_line "1) 是" + content_line "2) 重置为默认值" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 0) + break + ;; + 1) + if [ "$hosts_opt" = ON ]; then + hosts_opt=OFF + else + hosts_opt=ON + fi + ;; + 2) + hosts_opt=ON + ;; + *) + errornum + sleep 1 + continue + ;; + esac + setconfig dns_protect "$hosts_opt" + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + done ;; 6) - [ "$ecs_subnet" = ON ] && ecs_subnet=OFF || ecs_subnet=ON - setconfig ecs_subnet "$ecs_subnet" + + while true; do + line_break + separator_line "=" + if [ "$ecs_subnet" = ON ]; then + content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用:" + else + content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" + fi + separator_line "-" + content_line "1) 是" + content_line "2) 重置为默认值" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 0) + break + ;; + 1) + if [ "$ecs_subnet" = ON ]; then + ecs_subnet=OFF + else + ecs_subnet=ON + fi + ;; + 2) + ecs_subnet=OFF + ;; + *) + errornum + sleep 1 + continue + ;; + esac + setconfig dns_protect "$ecs_subnet" + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + done ;; 7) - echo "-----------------------------------------------" - echo -e "\033[31m$DNS_REDIR_WARN\033[0m" - echo -e "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" - echo "-----------------------------------------------" + while true; do + line_break + separator_line "=" + content_line "\033[31m$DNS_REDIR_WARN\033[0m" + content_line "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" + content_line "" + content_line "请直接输入旁路由IPV4地址" + content_line "或输入 r 重置DNS劫持端口" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " num + case "$num" in + 0) + break + ;; + r) + dns_redir_port="$dns_port" + setconfig dns_redir_port - read -r -p "$DNS_REDIR_INPUT" num - - if [ "$num" = 0 ]; then - dns_redir_port="$dns_port" - setconfig dns_redir_port - elif [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then - if ckcmd netstat && netstat -ntul | grep -q ":$num "; then - dns_redir_port="$num" - setconfig dns_redir_port "$dns_redir_port" - else - echo -e "\033[33m$DNS_REDIR_NO_SERVICE\033[0m" - fi - else - errornum - fi - sleep 1 + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + break + ;; + *) + if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then + line_break + separator_line "=" + if ckcmd netstat && netstat -ntul | grep -q ":$num "; then + dns_redir_port="$num" + setconfig dns_redir_port "$dns_redir_port" + content_line "\033[32m操作成功\033[0m" + separator_line "=" + sleep 1 + break + else + content_line "\033[33m$DNS_REDIR_NO_SERVICE\033[0m" + separator_line "=" + sleep 1 + fi + else + errornum + sleep 1 + fi + ;; + esac + done ;; 8) fake_ip_filter @@ -102,31 +256,60 @@ set_dns_mod() { fake_ip_filter() { while true; do - echo -e "\033[32m$DNS_FAKEIP_DESC\033[0m" - echo -e "\033[31m$DNS_FAKEIP_TIP\033[0m" - echo -e "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" - echo "-----------------------------------------------" + line_break + separator_line "=" + content_line "\033[32m$DNS_FAKEIP_DESC\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 - echo -e "\033[33m$DNS_FAKEIP_EXIST\033[0m" - awk '{print NR" "$1}' "$CRASHDIR/configs/fake_ip_filter" + content_line "\033[33m$DNS_FAKEIP_EXIST\033[0m" + content_line "" + awk '{print NR") "$1}' "$CRASHDIR/configs/fake_ip_filter" | + while IFS= read -r line; do + content_line "$line" + done else - echo -e "\033[33m$DNS_FAKEIP_EMPTY\033[0m" + content_line "\033[33m$DNS_FAKEIP_EMPTY\033[0m" fi - echo "-----------------------------------------------" - read -r -p "$DNS_FAKEIP_EDIT > " input + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "$DNS_FAKEIP_EDIT> " input case "$input" in "" | 0) break ;; *) + line_break + separator_line "=" if [ "$input" -ge 1 ] 2>/dev/null; then - sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter" - echo -e "\033[32m$COMMON_REMOVE_OK\033[0m" + if sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter"; then + content_line "\033[32m移除成功\033[0m" + else + content_line "\033[31m移除失败\033[0m" + fi else - echo -e "$COMMON_YOUR_INPUT \033[32m$input\033[0m" - read -r -p "$COMMON_CONFIRM" res - [ "$res" = 1 ] && echo "$input" >>"$CRASHDIR/configs/fake_ip_filter" + content_line "请确认需要添加的地址:\033[32m$input\033[0m" + separator_line "-" + content_line "1) 确认无误" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT>" res + if [ "$res" = 1 ]; then + line_break + separator_line "=" + if echo "$input" >>"$CRASHDIR/configs/fake_ip_filter"; then + content_line "\033[32m添加成功\033[0m" + else + content_line "\033[31m添加失败\033[0m" + fi + else + break + fi fi + separator_line "=" sleep 1 ;; esac @@ -136,53 +319,146 @@ fake_ip_filter() { # DNS详细设置 set_dns_adv() { while true; do - echo "-----------------------------------------------" - echo -e "DIRECT-DNS :\033[32m$dns_nameserver\033[0m" - echo -e "PROXY-DNS :\033[36m$dns_fallback\033[0m" - echo -e "DEFAULT-DNS:\033[33m$dns_resolver\033[0m" + line_break + separator_line "=" + content_line "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" + content_line "$DNS_ADV_SPLIT" + content_line "\033[33m$DNS_ADV_CERT\033[0m" + content_line "" + content_line "DIRECT-DNS:" + content_line "\033[32m$dns_nameserver\033[0m" + content_line "" - echo -e "$DNS_ADV_SPLIT" - echo -e "\033[33m$DNS_ADV_CERT\033[0m" - echo -e "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" + content_line "PROXY-DNS:" + content_line "\033[36m$dns_fallback\033[0m" + content_line "" - echo "-----------------------------------------------" - echo -e " 1 $DNS_ADV_EDIT_DIRECT" - echo -e " 2 $DNS_ADV_EDIT_PROXY" - echo -e " 3 $DNS_ADV_EDIT_DEFAULT" - echo -e " 4 \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" - echo -e " 9 \033[33m$DNS_ADV_RESET\033[0m" - echo -e " 0 $COMMON_BACK" - echo "-----------------------------------------------" + content_line "DEFAULT-DNS:" + content_line "\033[33m$dns_resolver\033[0m" + content_line "" + separator_line "-" + content_line "1) $DNS_ADV_EDIT_DIRECT" + content_line "2) $DNS_ADV_EDIT_PROXY" + 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 "" | 0) break ;; 1) - read -r -p "$DNS_INPUT_NEW" dns_nameserver - dns_nameserver=$(echo "$dns_nameserver" | sed 's#|#,\ #g') - [ -n "$dns_nameserver" ] && setconfig dns_nameserver "'$dns_nameserver'" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + line_break + separator_line "=" + content_line "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m" + separator_line "-" + content_line "请直接输入新的DIRECT-DNS地址" + content_line "或输入 r 重置DIRECT-DNS地址" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " res + case "$res" in + 0) + continue + ;; + r) + dns_nameserver="127.0.0.1" + setconfig dns_nameserver "'$dns_nameserver'" + + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + ;; + *) + dns_nameserver=$(echo "$res" | sed 's#|#,\ #g') + line_break + separator_line "=" + if [ -n "$dns_nameserver" ]; then + setconfig dns_nameserver "'$dns_nameserver'" + content_line "\033[32m操作成功\033[0m" + else + ontent_line "\033[32m操作失败\033[0m" + fi + ;; + esac + separator_line "=" ;; 2) - read -r -p "$DNS_INPUT_NEW" dns_fallback - dns_fallback=$(echo "$dns_fallback" | sed 's#|#,\ #g') - [ -n "$dns_fallback" ] && setconfig dns_fallback "'$dns_fallback'" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + line_break + separator_line "=" + content_line "当前PROXY-DNS:\033[32m$dns_fallback\033[0m" + separator_line "-" + content_line "请直接输入新的PROXY-DNS地址" + content_line "或输入 r 重置PROXY-DNS地址" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " res + case "$res" in + 0) + continue + ;; + r) + dns_fallback="1.1.1.1, 8.8.8.8" + setconfig dns_fallback "'$dns_fallback'" + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + ;; + *) + dns_fallback=$(echo "$res" | sed 's#|#,\ #g') + line_break + separator_line "=" + if [ -n "$dns_fallback" ]; then + setconfig dns_fallback "'$dns_fallback'" + content_line "\033[32m操作成功\033[0m" + else + ontent_line "\033[32m操作失败\033[0m" + fi + ;; + esac + separator_line "=" ;; 3) - read -r -p "$DNS_INPUT_NEW" text - if echo "$text" | grep -qE '://.*::'; then - echo -e "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m" - else - dns_resolver=$(echo "$text" | sed 's#|#,\ #g') + line_break + separator_line "=" + content_line "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m" + separator_line "-" + content_line "请直接输入新的DEFAULT-DNS地址" + content_line "或输入 r 重置DEFAULT-DNS地址" + content_line "或输入 0 返回上级菜单" + separator_line "=" + read -r -p "请输入> " res + case "$res" in + 0) + continue + ;; + "r") + dns_resolver="223.5.5.5, 2400:3200::1" setconfig dns_resolver "'$dns_resolver'" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" - fi + line_break + separator_line "=" + content_line "\033[32m操作成功\033[0m" + ;; + *) + line_break + separator_line "=" + if echo "$res" | grep -qE '://.*::'; then + content_line "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m" + else + dns_resolver=$(echo "$res" | sed 's#|#,\ #g') + setconfig dns_resolver "'$dns_resolver'" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + fi + ;; + esac + separator_line "=" ;; 4) + line_break + separator_line "=" if echo "$crashcore" | grep -qE 'meta|singbox'; then dns_nameserver='https://dns.alidns.com/dns-query, https://doh.pub/dns-query' dns_fallback='https://cloudflare-dns.com/dns-query, https://dns.google/dns-query, https://doh.opendns.com/dns-query' @@ -190,17 +466,21 @@ set_dns_adv() { setconfig dns_nameserver "'$dns_nameserver'" setconfig dns_fallback "'$dns_fallback'" setconfig dns_resolver "'$dns_resolver'" - echo -e "\033[32m$DNS_ENCRYPT_OK\033[0m" + content_line "\033[32m$DNS_ENCRYPT_OK\033[0m" else - echo -e "\033[31m$DNS_CORE_REQUIRE\033[0m" + content_line "\033[31m$DNS_CORE_REQUIRE\033[0m" fi + separator_line "=" ;; 9) setconfig dns_nameserver setconfig dns_fallback setconfig dns_resolver . "$CRASHDIR/libs/get_config.sh" - echo -e "\033[32m$COMMON_SUCCESS\033[0m" + line_break + separator_line "=" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + separator_line "=" ;; *) errornum From ef07b31fd9d77c682d7f3cde927a502e9049f5ba Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 23 Jan 2026 18:10:35 +0800 Subject: [PATCH 133/318] feat(1_start.sh): redesign static text menu --- scripts/lang/chs/1_start.lang | 2 +- scripts/menus/1_start.sh | 35 ++++++++++++++++++++++------------- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/scripts/lang/chs/1_start.lang b/scripts/lang/chs/1_start.lang index 275f0996..b5d4be1f 100644 --- a/scripts/lang/chs/1_start.lang +++ b/scripts/lang/chs/1_start.lang @@ -1,6 +1,6 @@ # ===== 启动完成 ===== START_SERVICE_OK="服务已启动!" -START_WEB_HINT="请使用" +START_WEB_HINT="请前往" START_WEB_HINT2="管理内置规则" START_PAC_HINT="其他设备可使用 PAC 配置:" START_PROXY_HINT="或使用 HTTP / SOCKS5 方式连接:" diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index c1f6b291..e52241be 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -7,15 +7,18 @@ load_lang 1_start # ===== 启动完成提示 ===== startover() { - echo -ne " \r" - echo -e "\033[32m$START_SERVICE_OK\033[0m" - echo -e "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m $START_WEB_HINT2" + line_break + separator_line "=" + content_line "\033[32m$START_SERVICE_OK\033[0m" + content_line "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m $START_WEB_HINT2" if [ "$firewall_area" = 4 ]; then - echo "-----------------------------------------------" - echo -e "$START_PAC_HINT \033[4;32mhttp://$host:$db_port/ui/pac\033[0m" - echo -e "$START_PROXY_HINT IP{\033[36m$host\033[0m} Port{\033[36m$mix_port\033[0m}" + content_line "" + content_line "$START_PAC_HINT \033[4;32mhttp://$host:$db_port/ui/pac\033[0m" + content_line "$START_PROXY_HINT IP{\033[36m$host\033[0m} Port{\033[36m$mix_port\033[0m}" fi + separator_line "=" + line_break return 0 } @@ -27,16 +30,16 @@ start_core() { core_config="$CRASHDIR/yamls/config.yaml" fi - echo "-----------------------------------------------" - if [ ! -s "$core_config" ] && [ -s "$CRASHDIR/configs/providers.cfg" ]; then - echo -e "\033[33m$START_NO_CORE_CFG_TRY_GEN\033[0m" - [ "$crashcore" = singboxr ] && coretype=singbox [ "$crashcore" = meta -o "$crashcore" = clashpre ] && coretype=clash . "$CRASHDIR/menus/6_core_config.sh" && gen_"${coretype}"_providers + line_break + separator_line "=" + content_line "\033[33m$START_NO_CORE_CFG_TRY_GEN\033[0m" + separator_line "=" elif [ -s "$core_config" ] || [ -n "$Url" ] || [ -n "$Https" ]; then "$CRASHDIR/start.sh" start @@ -50,9 +53,11 @@ start_core() { fi startover } - else - echo -e "\033[31m$START_NO_CORE_CFG_IMPORT_FIRST\033[0m" + line_break + separator_line "=" + content_line "\033[31m$START_NO_CORE_CFG_IMPORT_FIRST\033[0m" + separator_line "=" . "$CRASHDIR/menus/6_core_config.sh" && set_core_config fi } @@ -61,7 +66,11 @@ start_core() { start_service() { if [ "$firewall_area" = 5 ]; then "$CRASHDIR/start.sh" start - echo -e "\033[32m$START_FIREWALL_DONE\033[0m" + line_break + separator_line "=" + content_line "\033[32m$START_FIREWALL_DONE\033[0m" + separator_line "=" + line_break else start_core fi From 60d945c3a23c9e0d301579a5cdb59b96eeb38ea2 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 23 Jan 2026 19:55:59 +0800 Subject: [PATCH 134/318] chore: enhance interface display effects --- scripts/menus/2_settings.sh | 18 +++++++++--------- scripts/menus/4_setboot.sh | 10 +++++----- scripts/menus/5_task.sh | 23 ++++++++++++----------- scripts/menus/7_gateway.sh | 26 ++++++++++++-------------- scripts/menus/8_tools.sh | 36 ++++++++++++++++++------------------ scripts/menus/dns.sh | 20 ++++++++++---------- 6 files changed, 66 insertions(+), 67 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 37bbdb19..d53d55ec 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -17,7 +17,7 @@ settings() { line_break separator_line "=" content_line "\033[30;47m$SET_MENU_TITLE\033[0m" - separator_line "-" + separator_line "=" content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" content_line "3) $SET_MENU_FW_FILTER" @@ -44,7 +44,7 @@ settings() { line_break separator_line "=" content_line "$SET_WARN_NONROOT" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -72,7 +72,7 @@ settings() { else content_line "当前\033[33m已启用\033[0m跳过本地证书验证,是否确认禁用:" fi - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -100,7 +100,7 @@ settings() { separator_line "=" if [ "$sniffer" = "OFF" ]; then content_line "当前\033[33m已禁用\033[0m域名嗅探,是否确认启用:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -128,7 +128,7 @@ settings() { continue else content_line "当前\033[33m已启用\033[0m域名嗅探,是否确认禁用:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -152,7 +152,7 @@ settings() { separator_line "=" content_line "\033[33m$SET_CORE_RUNNING\033[0m" content_line "$SET_CORE_STOP_CONFIRM" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -355,7 +355,7 @@ set_redir_mod() { 3) if [ "$firewall_mod" = "iptables" ]; then if [ -f /etc/init.d/qca-nss-ecm ] && [ "$systype" = "mi_snapshot" ]; then - read -r -p "$XIAOMI_QOS(1/0) > " res + read -r -p "$XIAOMI_QOS(1/0)> " res [ "$res" = '1' ] && { /data/shellcrash_init.sh tproxyfix redir_mod=Tproxy @@ -645,7 +645,7 @@ set_firewall_area() { content_line "\033[33m$FW_AREA_NOTE_2\033[0m" content_line "" content_line "当前路由劫持范围:$firewall_area_dsc" - separator_line "-" + separator_line "=" content_line "1) \033[32m$FW_AREA_LAN\033[0m" content_line "2) \033[36m$FW_AREA_LOCAL\033[0m" content_line "3) \033[32m$FW_AREA_BOTH\033[0m" @@ -714,7 +714,7 @@ set_firewall_vm() { line_break separator_line "=" content_line "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" - separator_line "-" + separator_line "=" content_line "1) \033[32m$VM_ENABLE_AUTO\033[0m" content_line "2) \033[36m$VM_ENABLE_MANUAL\033[0m" content_line "3) \033[31m$VM_DISABLE\033[0m" diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index 57662787..c02ba5ce 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -40,7 +40,7 @@ setboot() { line_break separator_line "=" content_line "\033[30;47m启动设置菜单\033[0m" - separator_line "-" + separator_line "=" content_line "1) 开机自启动: \033[36m$(printf '%-4s' "$auto_set")\033[0m" content_line "2) 使用保守模式: \033[36m$(printf '%-4s' "$start_old")\033[0m ———基于定时任务(每分钟检测)" content_line "3) 设置自启延时: \033[36m$(printf '%-7s' "$delay")\033[0m ———用于解决自启后服务受限" @@ -132,9 +132,8 @@ setboot() { else if [ "$dir_size" -lt 8192 ]; then content_line "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" - separator_line "-" content_line "是否确认停用此功能:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -164,6 +163,7 @@ setboot() { separator_line "=" content_line "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" content_line "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m" + separator_line "=" content_line "1) 使用内存(/tmp)" content_line "2) 选择U盘目录" content_line "3) 自定义目录" @@ -183,7 +183,7 @@ setboot() { line_break separator_line "=" content_line "请选择安装目录:" - separator_line "-" + separator_line "=" du -hL /mnt | awk '{print NR") "$2" (已占用的储存空间:"$1")"}' | while IFS= read -r line; do @@ -253,7 +253,7 @@ setboot() { content_line "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m" content_line "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" content_line "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m" - separator_line "-" + separator_line "=" if [ "$network_check" = "OFF" ]; then content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用:" diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 3a0611f4..74026c88 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -16,9 +16,9 @@ set_cron() { line_break separator_line "=" content_line "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" - separator_line "-" + content_line "" content_line "是否确认添加定时任务:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否" separator_line "=" @@ -107,7 +107,7 @@ task_user_del() { if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then content_line "请输入对应ID移除对应自定义任务(不会影响内置任务)" content_line "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" - separator_line "-" + separator_line "=" grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null | awk -F '#' '{print $1") "$3}' | @@ -151,7 +151,7 @@ task_add() { line_break separator_line "=" content_line "\033[36m请选择需要添加的任务:\033[0m" - separator_line "-" + separator_line "=" # 输出任务列表 # cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print NR") "$3}' grep -Ev '^(#|$)' "$CRASHDIR/task/task.list" "$CRASHDIR/task/task.user" 2>/dev/null | @@ -205,7 +205,7 @@ task_type() { line_break separator_line "=" content_line "请选择任务\033[36m【$task_name】\033[0m执行条件:" - separator_line "-" + separator_line "=" content_line "1) 定时任务\033[32m每周执行\033[0m" content_line "2) 定时任务\033[32m每日执行\033[0m" content_line "3) 定时任务\033[32m每小时执行\033[0m" @@ -293,7 +293,8 @@ task_type() { line_break separator_line "=" content_line "该功能会将相关启动代码注入到/etc/init.d/firewall中" - separator_line "-" + content_line "是否确认继续:" + separator_line "=" content_line "1) 是" content_line "0) 否" separator_line "=" @@ -327,7 +328,7 @@ task_manager() { break else content_line "\033[33m已添加的任务:\033[0m" - separator_line "-" + separator_line "=" # cat "$TMPDIR"/task_list | awk '{print NR ") " $2}' awk '{print NR ") " $2}' "$TMPDIR/task_list" | while IFS= read -r line; do @@ -367,7 +368,7 @@ task_manager() { separator_line "=" if [ "$task_id" = 0 ]; then content_line "旧版任务不支持管理,是否移除:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -385,7 +386,7 @@ task_manager() { task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $3}') content_line "当前任务为:\033[36m$task_des\033[0m" - separator_line "-" + separator_line "=" content_line "1) \033[33m修改\033[0m当前任务" content_line "2) \033[31m删除\033[0m当前任务" content_line "3) \033[32m立即执行\033[0m一次" @@ -451,7 +452,7 @@ task_recom() { content_line "每隔10分钟自动保存面板配置" content_line "服务启动后自动同步ntp时间" content_line "在每日的3点0分重启服务" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -475,7 +476,7 @@ task_menu() { line_break separator_line "=" content_line "\033[30;47m自动任务菜单\033[0m" - separator_line "-" + separator_line "=" content_line "1) 添加\033[32m自动任务\033[0m" content_line "2) 管理\033[33m任务列表\033[0m" content_line "3) 查看\033[36m任务日志\033[0m" diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 342fc348..b5ce28a2 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -14,7 +14,7 @@ gateway() { line_break separator_line "=" content_line "\033[30;47m访问与控制\033[0m" - separator_line "-" + separator_line "=" content_line "1) 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" content_line "2) 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" content_line "3) 配置\033[36mDDNS自动域名\033[0m" @@ -36,9 +36,8 @@ gateway() { separator_line "=" if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then content_line "\033[33m公网访问防火墙需要先停止服务\033[0m" - separator_line "-" - content_line "是否继续:" - separator_line "-" + content_line "是否确认继续:" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -106,7 +105,7 @@ set_fw_wan() { [ -n "$vms_port$sss_port" ] && content_line "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" content_line "默认拦截端口:\033[33m$mix_port,$db_port\033[0m" - separator_line "-" + separator_line "=" content_line "1) 启用/关闭公网防火墙:\033[36m$fw_wan\033[0m" content_line "2) 添加放行端口(可包含默认拦截端口)" content_line "3) 移除指定手动放行端口" @@ -124,7 +123,7 @@ set_fw_wan() { separator_line "=" content_line "是否确认关闭防火墙?" content_line "这会带来极大的安全隐患!" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -271,7 +270,7 @@ set_bot_tg() { line_break separator_line "=" content_line "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" - separator_line "-" + separator_line "=" content_line "1) 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" content_line "2) TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" content_line "0) 返回上级菜单" @@ -298,9 +297,8 @@ set_bot_tg() { line_break separator_line "=" content_line "检测到已经绑定了TG推送BOT" - separator_line "-" content_line "是否直接使用:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否" separator_line "=" @@ -330,7 +328,7 @@ set_vmess() { content_line "设置的端口会添加到公网访问防火墙并自动放行!" content_line "脚本只提供基础功能,更多需求请用自定义配置文件功能!" content_line "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - separator_line "-" + separator_line "=" content_line "1) \033[32m启用/关闭\033[0mVmess入站 \033[32m$vms_service\033[0m" content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$vms_port\033[0m" content_line "3) 设置\033[33mWS-path(可选)\033[0m: \033[33m$vms_ws_path\033[0m" @@ -474,7 +472,7 @@ set_shadowsocks() { content_line "设置的端口会添加到公网访问防火墙并自动放行!" content_line "脚本只提供基础功能,更多需求请用自定义配置文件功能!" content_line "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - separator_line "-" + separator_line "=" content_line "1) \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" content_line "3) 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" @@ -522,7 +520,7 @@ set_shadowsocks() { line_break separator_line "=" content_line "请选择要使用的加密协议:" - separator_line "-" + separator_line "=" content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" content_line "3) \033[32maes-128-gcm\033[0m" @@ -623,7 +621,7 @@ set_tailscale() { content_line "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" content_line "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" content_line "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" - separator_line "-" + separator_line "=" content_line "1) \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" content_line "2) 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" content_line "3) 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" @@ -714,7 +712,7 @@ set_wireguard() { line_break separator_line "=" content_line "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" - separator_line "-" + separator_line "=" content_line "1) \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" content_line "" content_line "2) 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 28bf2955..bd9cf3f6 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -20,7 +20,7 @@ ssh_tools() { separator_line "=" content_line "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" content_line "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" - separator_line "-" + separator_line "=" content_line "1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" content_line "2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" content_line "3) \033[33m$ssh_ol\033[0m外网访问SSH" @@ -104,11 +104,11 @@ tools() { line_break separator_line "=" content_line "\033[30;47m工具与优化\033[0m" - separator_line "-" + separator_line "=" content_line "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" content_line "磁盘占用/所在目录:" content_line "$(du -sh "$CRASHDIR")" - separator_line "-" + separator_line "=" content_line "1) ShellCrash\033[33m测试菜单\033[0m" content_line "2) ShellCrash\033[32m新手引导\033[0m" content_line "3) \033[36m日志及推送工具\033[0m" @@ -189,7 +189,7 @@ tools() { separator_line "=" if [ -f "$CRASHDIR"/tools/tun.ko ]; then content_line "是否禁用此功能并移除相关补丁:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -204,7 +204,7 @@ tools() { elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then content_line "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" content_line "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" - separator_line "-" + separator_line "=" content_line "1) 我已知晓,出现问题会自行承担!" content_line "0) 返回上级菜单" eparator_line "=" @@ -307,7 +307,7 @@ log_pusher() { separator_line "=" if [ -n "$push_TG" ]; then content_line "是否确认关闭TG日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -354,7 +354,7 @@ log_pusher() { separator_line "=" if [ -n "$push_Deer" ]; then content_line "是否确认关闭PushDeer日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -371,7 +371,7 @@ log_pusher() { content_line "2. 打开快应用/APP,并完成登陆" content_line "3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" content_line "4. \033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" - separator_line "-" + separator_line "=" content_line "请直接输入你复制的秘钥" content_line "或输入 0 返回上级菜单" separator_line "=" @@ -396,7 +396,7 @@ log_pusher() { separator_line "=" if [ -n "$push_bark" ]; then content_line "是否确认关闭Bark日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -414,7 +414,7 @@ log_pusher() { # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" content_line "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" content_line "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" - separator_line "-" + separator_line "=" content_line "请直接输入你的Bark推送链接" content_line "或输入 0 返回上级菜单" separator_line "=" @@ -439,7 +439,7 @@ log_pusher() { separator_line "=" if [ -n "$push_Po" ]; then content_line "是否确认关闭Pushover日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -501,7 +501,7 @@ log_pusher() { separator_line "=" if [ -n "$push_PP" ]; then content_line "是否确认关闭PushPlus日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -515,7 +515,7 @@ log_pusher() { else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" content_line "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" - separator_line "-" + separator_line "=" content_line "请直接输入你的token" content_line "或输入 0 返回上级菜单" separator_line "=" @@ -540,7 +540,7 @@ log_pusher() { if [ -n "$push_SynoChat" ]; then separator_line "=" content_line "是否确认关闭SynoChat日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -590,7 +590,7 @@ log_pusher() { separator_line "=" if [ -n "$push_Gotify" ]; then content_line "是否确认关闭Gotify日志推送:" - separator_line "-" + separator_line "=" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -674,7 +674,7 @@ testcommand() { separator_line "=" content_line "\033[30;47m这里是测试命令菜单\033[0m" content_line "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" - separator_line "-" + separator_line "=" content_line "1) Debug模式运行内核" content_line "2) 查看系统DNS端口(:53)占用 " content_line "3) 测试ssl加密(aes-128-gcm)跑分" @@ -801,7 +801,7 @@ debug() { content_line "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" content_line "如长时间运行后台监测,日志等级推荐error!防止文件过大!" content_line "你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" - separator_line "-" + separator_line "=" content_line "1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" content_line "2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" content_line "3) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" @@ -858,7 +858,7 @@ debug() { line_break separator_line "=" content_line "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" - separator_line "-" + separator_line "=" content_line "是否继续:" separator_line "-" content_line "1) 是" diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 604a7e11..e17168c9 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -16,7 +16,7 @@ set_dns_mod() { separator_line "=" content_line "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m" content_line "\033[33m$DNS_RESTART_NOTICE\033[0m" - separator_line "-" + separator_line "=" 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 "3) Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" @@ -65,7 +65,7 @@ set_dns_mod() { else content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用:" fi - separator_line "-" + separator_line "=" content_line "1) 是" content_line "2) 重置为默认值" content_line "0) 否,返回上级菜单" @@ -109,7 +109,7 @@ set_dns_mod() { else content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" fi - separator_line "-" + separator_line "=" content_line "1) 是" content_line "2) 重置为默认值" content_line "0) 否,返回上级菜单" @@ -154,7 +154,7 @@ set_dns_mod() { else content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" fi - separator_line "-" + separator_line "=" content_line "1) 是" content_line "2) 重置为默认值" content_line "0) 否,返回上级菜单" @@ -262,7 +262,7 @@ fake_ip_filter() { content_line "\033[31m$DNS_FAKEIP_TIP\033[0m" content_line "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" - separator_line "-" + separator_line "=" if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then content_line "\033[33m$DNS_FAKEIP_EXIST\033[0m" content_line "" @@ -292,7 +292,7 @@ fake_ip_filter() { fi else content_line "请确认需要添加的地址:\033[32m$input\033[0m" - separator_line "-" + separator_line "=" content_line "1) 确认无误" content_line "0) 返回上级菜单" separator_line "=" @@ -337,7 +337,7 @@ set_dns_adv() { content_line "\033[33m$dns_resolver\033[0m" content_line "" - separator_line "-" + separator_line "=" content_line "1) $DNS_ADV_EDIT_DIRECT" content_line "2) $DNS_ADV_EDIT_PROXY" content_line "3) $DNS_ADV_EDIT_DEFAULT" @@ -354,7 +354,7 @@ set_dns_adv() { line_break separator_line "=" content_line "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m" - separator_line "-" + separator_line "=" content_line "请直接输入新的DIRECT-DNS地址" content_line "或输入 r 重置DIRECT-DNS地址" content_line "或输入 0 返回上级菜单" @@ -390,7 +390,7 @@ set_dns_adv() { line_break separator_line "=" content_line "当前PROXY-DNS:\033[32m$dns_fallback\033[0m" - separator_line "-" + separator_line "=" content_line "请直接输入新的PROXY-DNS地址" content_line "或输入 r 重置PROXY-DNS地址" content_line "或输入 0 返回上级菜单" @@ -425,7 +425,7 @@ set_dns_adv() { line_break separator_line "=" content_line "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m" - separator_line "-" + separator_line "=" content_line "请直接输入新的DEFAULT-DNS地址" content_line "或输入 r 重置DEFAULT-DNS地址" content_line "或输入 0 返回上级菜单" From ca72c5e1fcd9d9f49f39b27f7f291bbe13abe31d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 24 Jan 2026 00:00:05 +0800 Subject: [PATCH 135/318] =?UTF-8?q?~=E9=87=8D=E5=86=99=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E5=8A=9F=E8=83=BD=E5=B9=B6?= =?UTF-8?q?=E6=8B=86=E5=88=866=5Fcore=5Fconfig.sh=20~=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E6=A1=86=E6=9E=B6=E6=96=87=E4=BB=B6=20common?= =?UTF-8?q?.sh=20~=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=BA=BF=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=97=B6=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=A4=B1=E6=95=88=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/common.lang | 11 +- scripts/lang/chs/menu.lang | 1 - scripts/lang/en/common.lang | 7 +- scripts/lang/en/menu.lang | 1 - scripts/libs/logger.sh | 4 + scripts/menu.sh | 8 +- scripts/menus/6_core_config.sh | 1466 ++++++-------------------------- scripts/menus/common.sh | 44 + scripts/menus/override.sh | 483 +++++++++++ scripts/menus/providers.sh | 293 +++++++ scripts/menus/subconverter.sh | 171 ++++ scripts/starts/core_config.sh | 3 +- 12 files changed, 1292 insertions(+), 1200 deletions(-) create mode 100644 scripts/menus/common.sh create mode 100644 scripts/menus/override.sh create mode 100644 scripts/menus/providers.sh create mode 100644 scripts/menus/subconverter.sh diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang index 0a553b51..0bdfae85 100644 --- a/scripts/lang/chs/common.lang +++ b/scripts/lang/chs/common.lang @@ -1,7 +1,12 @@ -COMMON_INPUT="请输入对应标号" +COMMON_INPUT="请输入对应数字" +COMMON_INPUT_L="请输入对应字母或数字" COMMON_BACK="返回上级菜单" -COMMON_SUCCESS="设置成功!" -COMMON_FAILED="设置失败!" +COMMON_SUCCESS="操作成功!" +COMMON_FAILED="操作失败!" COMMON_UNSET="未设置" COMMON_MOD="模式" +COMMON_ERR_NUM="请输入正确的数字!" +COMMON_ERR_LETTER="请输入正确的字母或数字!" +COMMON_ERR_INPUT="输入错误,请重新输入!" +COMMON_ERR_INPUT="操作已取消!" diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang index b84c71e2..f1dd1218 100644 --- a/scripts/lang/chs/menu.lang +++ b/scripts/lang/chs/menu.lang @@ -1,5 +1,4 @@ # ===== 通用提示 ===== -MENU_ERR_INPUT="请输入正确的字母或数字!" MENU_RESTART_NOTICE="检测到已变更的内容,请重启服务!" MENU_RESTART_ASK="是否现在重启服务?(1/0) > " diff --git a/scripts/lang/en/common.lang b/scripts/lang/en/common.lang index e7722726..8a089b1e 100644 --- a/scripts/lang/en/common.lang +++ b/scripts/lang/en/common.lang @@ -1,7 +1,12 @@ COMMON_INPUT="Please enter a number" +COMMON_INPUT_L="Enter a letter or a number" COMMON_BACK="Back" -COMMON_SUCCESS="Successfully set!" +COMMON_SUCCESS="Setup Success!" COMMON_FAILED="Setup failed!" COMMON_UNSET="Not set" COMMON_MOD="Mod" +COMMON_ERR_NUM="Please enter a valid number!" +COMMON_ERR_LETTER="Please enter a valid letter or number!" +COMMON_ERR_INPUT="Invalid input, please try again!" +COMMON_ERR_INPUT="Operation cancelled!" diff --git a/scripts/lang/en/menu.lang b/scripts/lang/en/menu.lang index 9e3abcbf..df004e77 100644 --- a/scripts/lang/en/menu.lang +++ b/scripts/lang/en/menu.lang @@ -1,5 +1,4 @@ # ===== Common Prompts ===== -MENU_ERR_INPUT="Please enter a valid letter or number!" MENU_RESTART_NOTICE="Changes have been detected. Please restart the service!" MENU_RESTART_ASK="Restart the service now? (1/0) > " diff --git a/scripts/libs/logger.sh b/scripts/libs/logger.sh index 5d168ecb..5f71e7f0 100644 --- a/scripts/libs/logger.sh +++ b/scripts/libs/logger.sh @@ -1,3 +1,7 @@ + +[ -n "$__IS_LIB_LOGGER" ] && return +__IS_LIB_LOGGER=1 + #日志工具 . "$CRASHDIR"/libs/web_json.sh #$1日志内容$2显示颜色$3是否推送 diff --git a/scripts/menu.sh b/scripts/menu.sh index a04db994..23c6d89f 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -17,6 +17,7 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg . "$CRASHDIR"/libs/check_cmd.sh . "$CRASHDIR"/libs/check_autostart.sh . "$CRASHDIR"/libs/i18n.sh +. "$CRASHDIR"/menus/common.sh . "$CRASHDIR"/menus/1_start.sh . "$CRASHDIR"/menus/running_status.sh @@ -29,13 +30,6 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg load_lang common load_lang menu -errornum() { - line_break - separator_line "=" - content_line "\033[31m$MENU_ERR_INPUT\033[0m" - separator_line "=" -} - checkrestart() { echo "-----------------------------------------------" echo -e "\033[32m$MENU_RESTART_NOTICE\033[0m" diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index b6ddacb1..c5a0e669 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -4,941 +4,314 @@ [ -n "$__IS_MODULE_6_CORECONFIG_LOADED" ] && return __IS_MODULE_6_CORECONFIG_LOADED=1 -YAMLSDIR="$CRASHDIR"/yamls -JSONSDIR="$CRASHDIR"/jsons - -# 导入订阅、配置文件相关 -# 自定义规则 -setrules() { - - set_rule_type() { - echo "-----------------------------------------------" - echo -e "\033[33m请选择规则类型\033[0m" - echo "$rule_type" | awk -F ' ' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) ;; - [0-9]*) - if [ "$num" -gt $(echo $rule_type | awk -F " " '{print NF}') ]; then - errornum - sleep 1 - else - rule_type_set=$(echo "$rule_type" | cut -d' ' -f"$num") - echo "-----------------------------------------------" - echo -e "\033[33m请输入规则语句,可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" - read -p "请输入对应规则 > " rule_state_set - if [ -n "$rule_state_set" ]; then - set_group_type - else - errornum - slepp 1 - fi - fi - ;; - *) - errornum - sleep 1 - ;; - esac - } - - set_group_type() { - echo "-----------------------------------------------" - echo -e "\033[36m请选择具体规则\033[0m" - echo -e "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" - echo "$rule_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) ;; - [0-9]*) - if [ "$num" -gt "$(echo "$rule_group" | awk -F "#" '{print NF}')" ]; then - errornum - sleep 1 - else - rule_group_set=$(echo "$rule_group" | cut -d'#' -f"$num") - rule_all="- ${rule_type_set},${rule_state_set},${rule_group_set}" - echo "IP-CIDR SRC-IP-CIDR IP-CIDR6" | grep -q -- "$rule_type_set" && rule_all="${rule_all},no-resolve" - - echo "$rule_all" >>"$YAMLSDIR"/rules.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" - fi - ;; - *) - errornum - sleep 1 - ;; - esac - } - - del_rule_type() { - while true; do - echo -e "输入对应数字即可移除相应规则:" - sed -i '/^ *$/d; /^#/d' "$YAMLSDIR"/rules.yaml - cat "$YAMLSDIR"/rules.yaml | grep -Ev '^#' | awk -F "#" '{print " "NR" "$1$2$3}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - *) - if [ "$num" -le "$(wc -l <"$YAMLSDIR"/rules.yaml)" ]; then - sed -i "${num}d" "$YAMLSDIR"/rules.yaml - sleep 1 - else - errornum - sleep 1 - break - fi - ;; - esac - done - } - - get_rule_group() { - . "$CRASHDIR"/libs/web_save.sh - get_save http://127.0.0.1:${db_port}/proxies | sed 's/:{/!/g' | awk -F '!' '{for(i=1;i<=NF;i++) print $i}' | grep -aE '"Selector|URLTest|LoadBalance"' | grep -aoE '"name":.*"now":".*",' | awk -F '"' '{print "#"$4}' | tr -d '\n' - } +if echo "$crashcore" | grep -q 'singbox';then + CONFIG_PATH="$CRASHDIR"/yamls/config.json +else + CONFIG_PATH="$CRASHDIR"/jsons/config.yaml +fi +# 配置文件主界面 +set_core_config() { while true; do - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义规则\033[0m" - echo -e "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" - echo -e "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" - echo -e "大量规则请尽量使用rule-set功能添加,\033[31m此处过量添加可能导致启动卡顿!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 新增自定义规则" - echo -e " 2 移除自定义规则" - echo -e " 3 清空规则列表" - echo "$crashcore" | grep -q 'singbox' || echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - rule_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN PROCESS-NAME" - rule_group="DIRECT#REJECT$(get_rule_group)" - set_rule_type - ;; - 2) - echo "-----------------------------------------------" - if [ -s "$YAMLSDIR"/rules.yaml ]; then - del_rule_type - else - echo -e "请先添加自定义规则!" - sleep 1 - fi - ;; - 3) - read -p "确认清空全部自定义规则?(1/0) > " res - [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml - ;; - 4) - echo "-----------------------------------------------" - if [ "$proxies_bypass" = "OFF" ]; then - echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" - echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -p "启用节点绕过?(1/0) > " res - [ "$res" = "1" ] && proxies_bypass=ON - else - proxies_bypass=OFF - fi - setconfig proxies_bypass "$proxies_bypass" - sleep 1 - ;; - *) - errornum - sleep 1 - ;; - esac - done -} - -# 自定义clash策略组 -setgroups() { - set_group_type() { - echo "-----------------------------------------------" - echo -e "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" - echo -e "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" - echo -e "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" - read -r -p "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name - - echo "-----------------------------------------------" - echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m" - echo "$group_type_cn" | awk '{for(i=1;i<=NF;i++){print i" "$i}}' - read -r -p "请输入对应数字 > " num - new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}') - if [ "$num" = "1" ]; then - unset new_group_url interval - else - read -r -p "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url - [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 - new_group_url="url: '$new_group_url'" - interval="interval: 300" - fi - set_group_add - # 添加自定义策略组 - cat >>"$YAMLSDIR"/proxy-groups.yaml < " char - case "$char" in - "" | 0) ;; - *) - for num in $char; do - rule_group_set=$(echo "$proxy_group" | cut -d'#' -f"$num") - rule_group_add="${rule_group_add}#${rule_group_set}" - done - if [ -n "$rule_group_add" ]; then - new_group_name="$new_group_name$rule_group_add" - unset rule_group_add - else - errornum - sleep 1 - fi - ;; - esac - } - - while true; do - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义策略组\033[0m" - echo -e "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加自定义策略组" - echo -e " 2 查看自定义策略组" - echo -e " 3 清空自定义策略组" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - group_type="select url-test fallback load-balance" - group_type_cn="手动选择 自动选择 故障转移 负载均衡" - proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" - set_group_type - ;; - 2) - echo "-----------------------------------------------" - cat "$YAMLSDIR"/proxy-groups.yaml - ;; - 3) - read -p "确认清空全部自定义策略组?(1/0) > " res - [ "$res" = "1" ] && echo '#用于添加自定义策略组' >"$YAMLSDIR"/proxy-groups.yaml - ;; - *) - errornum - sleep 1 - ;; - esac - done -} - -# 自定义clash节点 -setproxies() { - set_proxy_type() { - echo "-----------------------------------------------" - echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m" - echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" - echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m" - read -r -p "请输入节点 > " proxy_state_set - if echo "$proxy_state_set" | grep -q "#"; then - echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m" - elif echo "$proxy_state_set" | grep -Eq "^name:"; then - set_group_add - else - errornum - sleep 1 - fi - } - - set_group_add() { - echo "-----------------------------------------------" - echo -e "\033[36m请选择想要将节点添加到的策略组\033[0m" - echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" - echo -e "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" - echo "-----------------------------------------------" - echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字(多个用空格隔开) > " char - case "$char" in - "" | 0) ;; - *) - for num in $char; do - rule_group_set=$(echo "$proxy_group" | cut -d'#' -f"$num") - rule_group_add="${rule_group_add}#${rule_group_set}" - done - if [ -n "$rule_group_add" ]; then - echo "- {$proxy_state_set}$rule_group_add" >>"$YAMLSDIR"/proxies.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" - unset rule_group_add - else - errornum - sleep 1 - fi - ;; - esac - } - - while true; do - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义节点\033[0m" - echo -e "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加自定义节点" - echo -e " 2 管理自定义节点" - echo -e " 3 清空自定义节点" - echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - proxy_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN MATCH" - proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" - set_proxy_type - ;; - 2) - echo "-----------------------------------------------" - sed -i '/^ *$/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null - if [ -s "$YAMLSDIR"/proxies.yaml ]; then - echo -e "当前已添加的自定义节点为:" - cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g' - echo "-----------------------------------------------" - echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m" - read -r -p "请输入对应数字 > " num - if [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then - sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml - else - errornum - fi - else - echo -e "请先添加自定义节点!" - sleep 1 - fi - ;; - 3) - read -r -p "确认清空全部自定义节点?(1/0) > " res - [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null - ;; - 4) - echo "-----------------------------------------------" - if [ "$proxies_bypass" = "OFF" ]; then - echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" - echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -r -p "启用节点绕过?(1/0) > " res - [ "$res" = "1" ] && proxies_bypass=ON - else - proxies_bypass=OFF - fi - setconfig proxies_bypass "$proxies_bypass" - sleep 1 - setrules - break - ;; - *) - errornum - sleep 1 - ;; - esac - done -} - -gen_clash_providers(){ #生成clash的providers配置文件 - gen_clash_providers_txt(){ - if [ -n "$(echo $2|grep -E '^./')" ];then - local type=file - local path=$2 - local download_url= - else - local type=http - local path="./providers/${1}.yaml" - local download_url=$2 - fi - cat >> $TMPDIR/providers/providers.yaml <> $TMPDIR/providers/providers.yaml </dev/null | + awk '{print " " NR ") " $1 "\t" substr($2,1,30) "..."}' + separator_line "-" } - } - if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then - provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $2}')" - else - provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - fi - echo "-----------------------------------------------" - if [ -s "$provider_temp_file" ];then - ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file - else - echo -e "\033[33m正在获取在线模版!\033[0m" - get_bin "$TMPDIR"/provider_temp_file "rules/${coretype}_providers/$provider_temp_file" - [ -z "$(grep -o 'rules' "$TMPDIR"/provider_temp_file)" ] && { - echo -e "\033[31m下载失败,请尝试更换安装源!\033[0m" - . "$CRASHDIR"/menus/9_upgrade.sh && setserver + content_line "a) \033[32m添加提供者\033[0m(支持订阅/节点/本地文件)" + content_line "b) \033[36m本地生成配置文件\033[0m(基于providers,推荐!)" + content_line "c) \033[33m在线生成配置文件\033[0m(Subconverter)" + content_line "d) \033[31m清空提供者列表\033[0m" + content_line "e) \033[36m自定义配置文件\033[0m" + content_line "f) \033[33m还原配置文件\033[0m" + + common_back + read -r -p "$COMMON_INPUT_L > " num + case "$num" in + "" | 0) + break + ;; + [1-9] | [1-9][0-9]) + line=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |sed -n "$num p") setproviders - } - fi - #生成proxy_providers模块 - mkdir -p "$TMPDIR"/providers - #预创建文件并写入对应文件头 - echo 'proxy-providers:' > "$TMPDIR"/providers/providers.yaml - #切割模版文件 - sed -n '/^proxy-groups:/,/^[a-z]/ { /^rule/d; p; }' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/proxy-groups.yaml - sed -n '/^rule/,$p' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/rules.yaml - rm -rf "$TMPDIR"/provider_temp_file - #生成providers模块 - if [ -n "$2" ];then - gen_clash_providers_txt $1 $2 - providers_tags=$1 - echo ' - {name: '${1}', type: url-test, tolerance: 100, lazy: true, use: ['${1}']}' >> "$TMPDIR"/providers/proxy-groups.yaml - else - providers_tags='' - while read line;do - tag=$(echo $line | awk '{print $1}') - url=$(echo $line | awk '{print $2}') - providers_tags=$(echo "$providers_tags, $tag" | sed 's/^, //') - gen_clash_providers_txt $tag $url - echo ' - {name: '${tag}', type: url-test, tolerance: 100, lazy: true, use: ['${tag}']}' >> "$TMPDIR"/providers/proxy-groups.yaml - done < "$CRASHDIR"/configs/providers.cfg - fi - #修饰模版文件并合并 - sed -i "s/{providers_tags}/$providers_tags/g" "$TMPDIR"/providers/proxy-groups.yaml - cut -c 1- "$TMPDIR"/providers/providers.yaml "$TMPDIR"/providers/proxy-groups.yaml "$TMPDIR"/providers/rules.yaml > "$TMPDIR"/config.yaml - rm -rf "$TMPDIR"/providers - #调用内核测试 - . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml - if [ "$?" = 0 ];then - echo -e "\033[32m配置文件生成成功!\033[0m" - mkdir -p "$CRASHDIR"/yamls - mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml - read -p "是否立即启动/重启服务?(1/0) > " res - [ "$res" = 1 ] && { - start_core && cronset '更新订阅' - exit - } - else - rm -rf "$TMPDIR"/CrashCore - rm -rf "$TMPDIR"/config.yaml - echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" - fi -} -gen_singbox_providers(){ #生成singbox的providers配置文件 - gen_singbox_providers_txt(){ - if [ -n "$(echo $2|grep -E '^./')" ];then - cat >> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/outbounds_add.json <> "$TMPDIR"/providers/outbounds_add.json - else - providers_tags='' - while read line;do - tag=$(echo $line | awk '{print $1}') - url=$(echo $line | awk '{print $2}') - providers_tags=$(echo "$providers_tags, \"$tag\"" | sed 's/^, //') - gen_singbox_providers_txt $tag $url - echo '{ "tag": "'${tag}'", "type": "urltest", "tolerance": 100, "providers": ["'${tag}'"], "include": ".*" },' >> "$TMPDIR"/providers/outbounds_add.json - done < "$CRASHDIR"/configs/providers.cfg - fi - #修复文件格式 - sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json - sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json - #使用模版生成outbounds和rules模块 - cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json - rm -rf "$TMPDIR"/provider_temp_file - #调用内核测试 - . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers - if [ "$?" = 0 ];then - echo -e "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" - mkdir -p "$CRASHDIR"/jsons - mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json - rm -rf "$TMPDIR"/providers - read -p "是否立即启动/重启服务?(1/0) > " res - [ "$res" = 1 ] && { - start_core && cronset '更新订阅' - exit - } - else - echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" - rm -rf "$TMPDIR"/CrashCore - rm -rf "$TMPDIR"/providers - fi -} - -# 自定义providers -setproviders() { - . "$CRASHDIR"/libs/set_cron.sh - . "$CRASHDIR"/libs/web_get_bin.sh - while true; do - # 获取模版名称 - if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then - provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') - else - provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') - [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file - fi - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理与生成自定义的providers服务商\033[0m" - echo -e "\033[33m支持在线及本地的Yaml格式配置导入\033[0m" - [ -s "$CRASHDIR"/configs/providers.cfg ] && { - echo "-----------------------------------------------" - echo -e "\033[36m输入对应数字可管理providers服务商\033[0m" - cat "$CRASHDIR"/configs/providers.cfg | awk -F "#" '{print " "NR" "$1" "$2}' - } - echo -e " d \033[31m清空\033[0mproviders服务商列表" - echo -e " e \033[33m清理\033[0mproviders目录文件" - echo "-----------------------------------------------" - echo -e "\033[36m按照a-b-c的顺序即可完成配置生成\033[0m" - echo -e " a \033[36m添加\033[0mproviders服务商/节点" - echo -e " b 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" - echo -e " c \033[32m生成\033[0m基于providers的配置文件" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应字母或数字 > " num - case "$num" in - "" | 0) - break - ;; - [1-9] | [1-9][0-9]) - provider_name=$(sed -n "$num p" "$CRASHDIR"/configs/providers.cfg | awk '{print $1}') - provider_url=$(sed -n "$num p" "$CRASHDIR"/configs/providers.cfg | awk '{print $2}') - if [ -z "$provider_name" ]; then - errornum - else - echo "-----------------------------------------------" - echo -e " 1 修改名称:\033[36m$provider_name\033[0m" - echo -e " 2 修改链接地址:\033[32m$provider_url\033[0m" - echo -e " 3 生成\033[33m仅包含此链接\033[0m的配置文件" - echo -e " 4 \033[31m移除此链接\033[0m" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请选择需要执行的操作 > " num - case "$num" in - "" | 0) ;; - 1) - read -p "请输入名称或者代号(不可重复,不支持纯数字) > " name - if [ -n "$name" ] && [ -z "$(echo "$name" | grep -E '^[0-9]+$')" ] && ! grep -q "$name" "$CRASHDIR"/configs/providers.cfg; then - sed -i "s|$provider_name $provider_url|$name $provider_url|" "$CRASHDIR"/configs/providers.cfg - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - ;; - 2) - read -p "请输入链接地址或本地相对路径 > " link - if [ -n "$(echo $link | grep -E '.*\..*|^\./')" ] && [ -z "$(grep "$link" "$CRASHDIR"/configs/providers.cfg)" ]; then - link=$(echo $link | sed 's/\&/\\\&/g') #特殊字符添加转义 - sed -i "s|$provider_name $provider_url|$provider_name $link|" "$CRASHDIR"/configs/providers.cfg - else - echo -e "\033[31m输入错误,请重新输入!\033[0m" - fi - ;; - 3) - gen_${coretype}_providers $provider_name $provider_url - ;; - 4) - sed -i "/^$provider_name /d" "$CRASHDIR"/configs/providers.cfg - ;; - *) - errornum - ;; - esac - fi - sleep 1 - ;; - a) - echo "-----------------------------------------------" - echo -e "支持填写在线的\033[32mYClash订阅地址\033[0m或者\033[32m本地Clash配置文件\033[0m" - echo -e "本地配置文件请放在\033[32m$CRASHDIR\033[0m目录下,并填写相对路径如【\033[32m./providers/test.yaml\033[0m】" - echo "-----------------------------------------------" - read -p "请输入链接地址或本地相对路径 > " link - link=$(echo $link | sed 's/ //g') #去空格 - [ -n "$(echo $link | grep -E '.*\..*|^\./')" ] && { - read -p "请输入名称或代号(不可重复,不支持纯数字) > " name - name=$(echo $name | sed 's/ //g') - [ -n "$name" ] && [ -z "$(echo "$name" | grep -E '^[0-9]+$')" ] && ! grep -q "$name" "$CRASHDIR"/configs/providers.cfg && { - echo "-----------------------------------------------" - echo -e "名称:\033[36m$name\033[0m" - echo -e "链接地址/路径:\033[32m$link\033[0m" - read -p "确认添加?(1/0) > " res - [ "$res" = 1 ] && { - echo "$name $link" >>"$CRASHDIR"/configs/providers.cfg - echo -e "\033[32mproviders已添加!\033[0m" - } - } - } - [ "$?" != 0 ] && echo -e "\033[31m输入错误,操作已取消!\033[0m" - sleep 1 + ;; + b) + if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ];then + if [ "$crashcore" = meta ] || [ "$crashcore" = singboxr ]; then + . "$CRASHDIR"/menus/providers.sh + providers + else + error_report "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" + fi + else + error_report "请先添加提供者!" + fi ;; c) - echo "-----------------------------------------------" - if [ -s "$CRASHDIR"/configs/providers.cfg ]; then - echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" - echo "-----------------------------------------------" - read -p "确认生成${coretype}配置文件?(1/0) > " res - [ "$res" = "1" ] && { - gen_${coretype}_providers - } - else - echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" - sleep 1 - fi - ;; - b) - echo "-----------------------------------------------" - echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m" - echo -e "\033[33m请选择在线模版:\033[0m" - echo "-----------------------------------------------" - cat "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print " "NR" "$1}' - echo "-----------------------------------------------" - echo -e " a 使用\033[36m本地模版\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应字母或数字 > " num - case "$num" in - "" | 0) ;; - a) - read -p "请输入模版的路径(绝对路径) > " dir - if [ -s $dir ]; then - provider_temp_file=$dir - setconfig provider_temp_${coretype} $provider_temp_file - echo -e "\033[32m设置成功!\033[0m" - else - echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m" - fi - sleep 1 - ;; - *) - provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${coretype}_providers.list 2>/dev/null | awk '{print $2}') - if [ -z "$provider_temp_file" ]; then - errornum - sleep 1 - else - setconfig provider_temp_${coretype} $provider_temp_file - fi - ;; - esac + if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ];then + . "$CRASHDIR"/menus/subconverter.sh + subconverter + else + error_report "请先添加提供者!" + fi ;; d) - read -p "确认清空全部链接?(1/0) > " res - [ "$res" = "1" ] && rm -rf "$CRASHDIR"/configs/providers.cfg - ;; + separator_line "=" + content_line "\033[33m警告:这将删除所有提供者且无法还原!\033[0m" + separator_line "-" + read -r -p "确认清空提供者列表?(1/0) > " res + [ "$res" = 1 ] && { + rm -f "$CRASHDIR"/configs/providers.cfg + rm -f "$CRASHDIR"/configs/providers_uri.cfg + common_success + } + ;; e) - echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" - read -p "是否继续?(1/0) > " res - [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers + checkcfg=$(cat $CFG_PATH) + override + if [ -n "$PID" ]; then + checkcfg_new=$(cat $CFG_PATH) + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi ;; + f) + if [ ! -f "$CONFIG_PATH".bak ]; then + echo "-----------------------------------------------" + content_line "\033[31m没有找到配置文件的备份!\033[0m" + else + echo "-----------------------------------------------" + content_line "备份文件共有\033[32m$(wc -l <$"$CONFIG_PATH".bak)\033[0m行内容" + content_line "当前文件共有\033[32m$(wc -l <$"$CONFIG_PATH")\033[0m行内容" + read -p "确认还原配置文件?此操作不可逆![1/0] > " res + if [ "$res" = '1' ]; then + mv "$CONFIG_PATH".bak "$CONFIG_PATH" + echo "----------------------------------------------" + content_line "\033[32m配置文件已还原!请手动重启服务!\033[0m" + sleep 1 + break + else + echo "-----------------------------------------------" + content_line "\033[31m操作已取消!返回上级菜单!\033[0m" + sleep 1 + fi + fi + ;; + *) - errornum - sleep 1 + error_letter break ;; esac done } -set_clash_adv(){ #自定义clash高级规则 - [ ! -f "$YAMLSDIR"/user.yaml ] && cat > "$YAMLSDIR"/user.yaml < "$YAMLSDIR"/others.yaml < " num + link_info=$(echo "$link$link_uri" | cut -c 1-30) + common_tittle "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" + content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" + content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m" + [ -n "$link" ] && { + separator_line '-' + content_line "3) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" + content_line "4) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" + content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude\033[0m" + content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include\033[0m" + echo "$link" | grep -q '^http' && + content_line "7) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" + } + separator_line "-" + content_line "a) \033[32m添加此提供者\033[0m" + [ -n "$link" ] && + content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" + echo "$link$link_uri" | grep -q '://' && + content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" + [ -n "$link" ] && + content_line "e) 直接使用此配置文件(不经过转换)" + content_line "d) \033[31m删除此提供者\033[0m" + common_back + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break ;; - 1) - if [ -n "$(pidof CrashCore)" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" - read -p "是否停止服务?(1/0) > " res - if [ "$res" = "1" ]; then - "$CRASHDIR"/start.sh stop - setport - fi - else - setport - fi - ;; + 1) + separator_line "=" + content_line "注意:名称或代号不可重复,且不支持纯数字!" + separator_line "-" + read -p "请输入具体名称或代号 > " text + text=$(echo $text | sed 's/ //g') #去空格 + if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "$text" "$CRASHDIR"/configs/providers.cfg;then + name="$text" + else + error_input + fi + ;; 2) - setrules - ;; - 3) - setproxies - ;; - 4) - setgroups - ;; - 5) - echo "$crashcore" | grep -q 'singbox' && set_singbox_adv || set_clash_adv - sleep 3 - ;; - 9) - echo "-----------------------------------------------" - echo -e "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" - echo -e "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" - echo -e "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" - echo "-----------------------------------------------" - sleep 2 - read -p "我确认遇到问题可以自行解决[1/0] > " res - [ "$res" = '1' ] && { - disoverride=1 - setconfig disoverride $disoverride - echo "-----------------------------------------------" - echo -e "\033[32m设置成功!\033[0m" - } - ;; - *) - errornum - sleep 1 - break - ;; - esac - done + separator_line "=" + content_line "订阅链接-支持https/http开头的clash配置文件订阅链接" + content_line "分享链接-支持ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)..." + content_line "本地文件-必须放在此目录下:\033[32m$CRASHDIR/providers\033[0m" + separator_line "-" + read -p "请输入具体链接或文件名 > " text + text=$(echo "$text" | sed 's/ //g') #去空格 + if echo "$text" | grep -q '^http';then + text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接 + link="$text" + elif [ -n "$(echo $text | grep -E '^ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)')" ];then + link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 + [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) + elif [ -f "$CRASHDIR/providers/$text" ];then + link="./providers/$text" + else + error_input + fi + ;; + 3) + read -p "请输入健康检查间隔(单位:分钟) > " num + if [ -n "$num" ];then + interval="$num" + else + errornum + fi + ;; + 4) + read -p "请输入自动更新间隔(单位:小时) > " num + if [ -n "$num" ];then + interval2="$num" + else + errornum + fi + ;; + 5) + read -p "请输入需要排除的节点关键字(支持正则) > " text + if [ -n "$text" ];then + exclude="$text" + else + error_input + fi + ;; + 6) + read -p "请输入需要筛选使用的节点关键字(支持正则) > " text + if [ -n "$text" ];then + include="$text" + else + error_input + fi + ;; + 7) + read -p "请输入浏览器UA > " text + if [ -n "$text" ];then + ua="$text" + else + error_input + fi + ;; + a) + addproviders && common_success + break + ;; + b) + if echo "$link" | grep -q '^http';then + addproviders + . "$CRASHDIR"/menus/providers.sh + gen_${coretype}_providers "$name" "$link" "$interval" "$interval2" "$exclude" "$include" + else + content_line "\033[31m$请先完成必填选项!\033[0m" + fi + ;; + c) + if [ -n "$name" ] && [ -n "$link$link_uri" ];then + addproviders + Url="$link$link_uri" + Https='' + setconfig Url "'$Url'" + setconfig Https + # 获取在线文件 + jump_core_config + else + content_line "\033[31m请先完成必填选项!\033[0m" + fi + ;; + d) + if [ -n "$name" ] && [ -n "$link" ];then + sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg + content_line "\033[32m$COMMON_SUCCESS\033[0m" + elif [ -n "$name" ] && [ -n "$link_uri" ];then + sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg + content_line "\033[32m$COMMON_SUCCESS\033[0m" + fi + break + ;; + e) + if [ -n "$link" ];then + content_line "注意:\033[31m此功能不兼容“跳过证书验证”功能\033[0m" + content_line "\033[31m请确认你完全理解自己在做什么\033[0m" + read -p "我确认遇到问题可以自行解决(1/0) > " res + [ "$res" = "1" ] && { + if [ -s "$CRASHDIR/$link" ];then + [ -n "$name" ] && addproviders + ln -sf "$CRASHDIR/$link" "$CONFIG_PATH" + elif [ -n "$link" ];then + [ -n "$name" ] && addproviders + Https="$link" + Url='' + setconfig Https "'$Https'" + setconfig Url + # 获取在线文件 + jump_core_config + fi + } + else + content_line "\033[31m$请先完成必填选项!\033[0m" + fi + ;; + *) + error_letter + break + ;; + esac + done } -gen_link_config(){ #选择在线规则 - echo "-----------------------------------------------" - echo 当前使用规则为:$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') - grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2$4}' - echo "-----------------------------------------------" - echo 0 返回上级菜单 - read -p "请输入对应数字 > " num - totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list ) - if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then - errornum - elif [ "$num" = 0 ];then - echo - elif [ "$num" -le "$totalnum" ];then - #将对应标记值写入配置 - rule_link=$num - setconfig rule_link $rule_link - echo "-----------------------------------------------" - echo -e "\033[32m设置成功!返回上级菜单\033[0m" +addproviders() { + [ -n "$name" ] && { + [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg + [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg + } + if [ -n "$name" ] && [ -n "$link" ];then + echo "$name $link $interval $interval2 $ua $exclude $include" >>"$CRASHDIR"/configs/providers.cfg + return 0 + elif [ -n "$name" ] && [ -n "$link_uri" ];then + echo "$name $link_uri" >>"$CRASHDIR"/configs/providers_uri.cfg + return 0 + else + error_report "\033[31m请先完成必填选项!\033[0m" + return 1 fi } -gen_link_server(){ #选择在线服务器 - echo "-----------------------------------------------" - echo -e "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" - echo -e "\033[32m感谢以下作者的无私奉献!!!\033[0m" - echo 当前使用后端为:$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$3" "$2}' - echo "-----------------------------------------------" - echo 0 返回上级菜单 - read -p "请输入对应数字 > " num - totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list ) - if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then - errornum - elif [ "$num" = 0 ];then - echo - elif [ "$num" -le "$totalnum" ];then - #将对应标记值写入配置 - server_link=$num - setconfig server_link $server_link - echo "-----------------------------------------------" - echo -e "\033[32m设置成功!返回上级菜单\033[0m" - fi -} -gen_link_flt(){ #在线生成节点过滤 - [ -z "$exclude" ] && exclude="未设置" - echo "-----------------------------------------------" - echo -e "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m" - echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔" - echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - echo "-----------------------------------------------" - echo -e " 000 \033[31m删除\033[0m关键字" - echo -e " 回车 取消输入并返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入关键字 > " exclude - if [ "$exclude" = '000' ]; then - echo "-----------------------------------------------" - exclude='' - echo -e "\033[31m 已删除节点过滤关键字!!!\033[0m" - fi - setconfig exclude "'$exclude'" -} -gen_link_ele(){ #在线生成节点筛选 - [ -z "$include" ] && include="未设置" - echo "-----------------------------------------------" - echo -e "\033[33m当前筛选关键字:\033[47;30m$include\033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" - echo -e "多个关键字可以用\033[30;47m | \033[0m号分隔" - echo -e "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - echo "-----------------------------------------------" - echo -e " 000 \033[31m删除\033[0m关键字" - echo -e " 回车 取消输入并返回上级菜单" - echo "-----------------------------------------------" - read -p "请输入关键字 > " include - if [ "$include" = '000' ]; then - echo "-----------------------------------------------" - include='' - echo -e "\033[31m 已删除节点匹配关键字!!!\033[0m" - fi - setconfig include "'$include'" -} -jump_core_config(){ #调用工具下载 +# 调用工具在线获取配置文件 +jump_core_config(){ . "$CRASHDIR"/starts/core_config.sh && get_core_config if [ "$?" = 0 ];then if [ "$inuserguide" != 1 ];then @@ -948,282 +321,3 @@ jump_core_config(){ #调用工具下载 fi fi } -gen_core_config_link(){ #在线生成工具 - echo "-----------------------------------------------" - echo -e "\033[30;47m 欢迎使用在线生成配置文件功能!\033[0m" - echo "-----------------------------------------------" - #设置输入循环 - i=1 - while [ $i -le 99 ] - do - echo "-----------------------------------------------" - echo -e "\033[33m本功能依赖第三方在线subconverter服务实现,脚本本身不提供任何代理服务!\033[0m" - echo -e "\033[31m严禁使用本脚本从事任何非法活动,否则一切后果请自负!\033[0m" - echo "-----------------------------------------------" - echo -e "支持批量(<=99)导入订阅链接、分享链接" - echo "-----------------------------------------------" - echo -e " 1 \033[36m开始生成配置文件\033[0m(原文件将被备份)" - echo -e " 2 设置\033[31m节点过滤\033[0m关键字 \033[47;30m$exclude\033[0m" - echo -e " 3 设置\033[32m节点筛选\033[0m关键字 \033[47;30m$include\033[0m" - echo -e " 4 选取在线\033[33m配置规则模版\033[0m" - echo -e " 5 \033[0m选取在线生成服务器\033[0m" - echo -e " 0 \033[31m撤销输入并返回上级菜单\033[0m" - echo "-----------------------------------------------" - read -p "请直接输入第${i}个链接或对应数字选项 > " link - link=$(echo $link | sed 's/\&/%26/g') #处理分隔符 - test=$(echo $link | grep "://") - link=`echo ${link/\#*/''}` #删除链接附带的注释内容 - link=`echo ${link/\ \(*\)/''}` #删除恶心的超链接内容 - link=`echo ${link/*\&url\=/""}` #将完整链接还原成单一链接 - link=`echo ${link/\&config\=*/""}` #将完整链接还原成单一链接 - - if [ -n "$test" ];then - if [ -z "$Url_link" ];then - Url_link="$link" - else - Url_link="$Url_link"\|"$link" - fi - i=$((i+1)) - - elif [ "$link" = '1' ]; then - if [ -n "$Url_link" ];then - i=100 - #将用户链接写入配置 - Url="$Url_link" - Https='' - setconfig Https - setconfig Url "'$Url'" - #获取在线yaml文件 - jump_core_config - else - echo "-----------------------------------------------" - echo -e "\033[31m请先输入订阅或分享链接!\033[0m" - sleep 1 - fi - - elif [ "$link" = '2' ]; then - gen_link_flt - - elif [ "$link" = '3' ]; then - gen_link_ele - - elif [ "$link" = '4' ]; then - gen_link_config - - elif [ "$link" = '5' ]; then - gen_link_server - - elif [ "$link" = 0 ];then - Url_link="" - i=100 - - else - echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的链接或者数字!\033[0m" - sleep 1 - fi - done -} - -# 直接导入配置 -set_core_config_link() { - while true; do - echo "-----------------------------------------------" - echo -e "\033[32m仅限导入完整的配置文件链接!!!\033[0m" - echo "-----------------------------------------------" - echo -e "注意:\033[31m此功能不兼容“跳过证书验证”功能,部分老旧\n设备可能出现x509报错导致节点不通\033[0m" - echo -e "你也可以搭配在线订阅转换网站或者自建SubStore使用" - echo "$crashcore" | grep -q 'singbox' && echo -e "singbox内核建议使用\033[32;4mhttps://subv.jwsc.eu.org/\033[0m转换" - echo "-----------------------------------------------" - echo -e "\033[33m0 返回上级菜单\033[0m" - echo "-----------------------------------------------" - read -p "请输入完整链接 > " link - test=$(echo $link | grep -iE "tp.*://") - link=$(echo ${link/\ \(*\)/''}) # 删除恶心的超链接内容 - link=$(echo ${link//\&/\\&}) # 处理分隔符 - if [ -n "$link" -a -n "$test" ]; then - echo "-----------------------------------------------" - echo -e "请检查输入的链接是否正确:" - echo -e "\033[4;32m$link\033[0m" - read -p "确认导入配置文件?原配置文件将被备份![1/0] > " res - if [ "$res" = '1' ]; then - # 将用户链接写入配置 - Url='' - Https="$link" - setconfig Https "'$Https'" - setconfig Url - # 获取在线yaml文件 - jump_core_config - break - fi - elif [ "$link" = 0 ]; then - i= - break - else - echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的配置文件链接地址!!!\033[0m" - echo -e "\033[33m仅支持http、https、ftp以及ftps链接!\033[0m" - sleep 1 - fi - done -} - -# 配置文件主界面 -set_core_config() { - while true; do - [ -z "$rule_link" ] && rule_link=1 - [ -z "$server_link" ] && server_link=1 - echo "$crashcore" | grep -q 'singbox' && config_path="$JSONSDIR"/config.json || config_path="$YAMLSDIR"/config.yaml - echo "-----------------------------------------------" - echo -e "\033[30;47m ShellCrash配置文件管理\033[0m" - echo "-----------------------------------------------" - echo -e " 1 在线\033[32m生成配置文件\033[0m(基于Subconverter订阅转换)" - if [ -f "$CRASHDIR"/v2b_api.sh ]; then - echo -e " 2 登录\033[33m获取订阅(推荐!)\033[0m" - else - echo -e " 2 在线\033[33m获取配置文件\033[0m(基于订阅提供者)" - fi - echo -e " 3 本地\033[32m生成配置文件\033[0m(基于内核providers,推荐!)" - echo -e " 4 本地\033[33m上传完整配置文件\033[0m" - echo -e " 5 设置\033[36m自动更新\033[0m" - echo -e " 6 \033[32m自定义\033[0m配置文件" - echo -e " 7 \033[33m更新\033[0m配置文件" - echo -e " 8 \033[36m还原\033[0m配置文件" - echo -e " 9 自定义浏览器UA \033[32m$user_agent\033[0m" - echo "-----------------------------------------------" - [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$Url" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到已记录的链接内容:\033[0m" - echo -e "\033[4;32m$Url\033[0m" - echo "-----------------------------------------------" - read -p "清空链接/追加导入?[1/0] > " res - if [ "$res" = '1' ]; then - Url_link="" - echo "-----------------------------------------------" - echo -e "\033[31m链接已清空!\033[0m" - else - Url_link=$Url - fi - fi - gen_core_config_link - ;; - 2) - if [ -f "$CRASHDIR"/v2b_api.sh ]; then - . "$CRASHDIR"/v2b_api.sh - else - set_core_config_link - fi - ;; - 3) - if [ "$crashcore" = meta -o "$crashcore" = clashpre ]; then - coretype=clash - setproviders - elif [ "$crashcore" = singboxr ]; then - coretype=singbox - setproviders - else - echo -e "\033[33msingbox官方内核及Clash基础内核不支持此功能,请先更换内核!\033[0m" - sleep 1 - checkupdate && setcore - fi - ;; - 4) - echo "-----------------------------------------------" - echo -e "\033[33m请将本地配置文件上传到/tmp目录并重命名为config.yaml或者config.json\033[0m" - echo -e "\033[32m之后重新运行本脚本即可自动弹出导入提示!\033[0m" - sleep 2 - exit - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - break - ;; - 6) - checkcfg=$(cat $CFG_PATH) - override - if [ -n "$PID" ]; then - checkcfg_new=$(cat $CFG_PATH) - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 7) - if [ -z "$Url" -a -z "$Https" ]; then - echo "-----------------------------------------------" - echo -e "\033[31m没有找到你的配置文件/订阅链接!请先输入链接!\033[0m" - sleep 1 - else - echo "-----------------------------------------------" - echo -e "\033[33m当前系统记录的链接为:\033[0m" - echo -e "\033[4;32m$Url$Https\033[0m" - echo "-----------------------------------------------" - read -p "确认更新配置文件?[1/0] > " res - if [ "$res" = '1' ]; then - jump_core_config - break - fi - fi - ;; - 8) - if [ ! -f ${config_path}.bak ]; then - echo "-----------------------------------------------" - echo -e "\033[31m没有找到配置文件的备份!\033[0m" - else - echo "-----------------------------------------------" - echo -e 备份文件共有"\033[32m$(wc -l <${config_path}.bak)\033[0m"行内容,当前文件共有"\033[32m$(wc -l <${config_path})\033[0m"行内容 - read -p "确认还原配置文件?此操作不可逆![1/0] > " res - if [ "$res" = '1' ]; then - mv ${config_path}.bak ${config_path} - echo "----------------------------------------------" - echo -e "\033[32m配置文件已还原!请手动重启服务!\033[0m" - sleep 1 - break - else - echo "-----------------------------------------------" - echo -e "\033[31m操作已取消!返回上级菜单!\033[0m" - sleep 1 - fi - fi - ;; - 9) - echo "-----------------------------------------------" - echo -e "\033[36m如果6-1或者6-2无法正确获取配置文件时可以尝试使用\033[0m" - echo -e " 1 使用自动UA" - echo -e " 2 不使用UA" - echo -e " 3 使用自定义UA:\033[32m$user_agent\033[0m" - echo "-----------------------------------------------" - read -p "请输入对应数字 > " num - case "$num" in - 0) - user_agent='' - ;; - 1) - user_agent='auto' - ;; - 2) - user_agent='none' - ;; - 3) - read -p "请输入自定义UA(不要包含空格和特殊符号!) > " text - [ -n "$text" ] && user_agent="$text" - ;; - *) - errornum - ;; - esac - [ "$num" -le 3 ] && setconfig user_agent "$user_agent" - ;; - *) - errornum - sleep 1 - break - ;; - esac - done -} diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh new file mode 100644 index 00000000..b8f0986c --- /dev/null +++ b/scripts/menus/common.sh @@ -0,0 +1,44 @@ + +error_report() { + line_break + separator_line "=" + content_line "\033[31m$1\033[0m" + separator_line "=" + sleep 1 +} + +common_tittle() { + line_break + separator_line "=" + content_line "$1" + separator_line "-" +} + +common_back() { + content_line "0) $COMMON_BACK" + separator_line "=" +} + +errornum() { + error_report "\033[31m$COMMON_ERR_NUM\033[0m" +} + +error_letter() { + error_report "\033[31m$COMMON_ERR_LETTER\033[0m" +} + +error_input() { + error_report "\033[31m$COMMON_ERR_INPUT\033[0m" +} + +cancel_back() { + separator_line "-" + content_line "$COMMON_CANCEL" + sleep 1 +} + +common_success() { + separator_line "-" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 +} diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh new file mode 100644 index 00000000..ad950dc3 --- /dev/null +++ b/scripts/menus/override.sh @@ -0,0 +1,483 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_MODULE_OVERRIDE" ] && return +__IS_MODULE_OVERRIDE=1 + +# 配置文件覆写 +override() { + while true; do + [ -z "$rule_link" ] && rule_link=1 + [ -z "$server_link" ] && server_link=1 + echo "-----------------------------------------------" + echo -e "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 自定义\033[32m端口及秘钥\033[0m" + echo -e " 2 管理\033[36m自定义规则\033[0m" + echo "$crashcore" | grep -q 'singbox' || { + echo -e " 3 管理\033[33m自定义节点\033[0m" + echo -e " 4 管理\033[36m自定义策略组\033[0m" + } + echo -e " 5 \033[32m自定义\033[0m高级功能" + [ "$disoverride" != 1 ] && echo -e " 9 \033[33m禁用\033[0m配置文件覆写" + echo "-----------------------------------------------" + [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$(pidof CrashCore)" ]; then + echo "-----------------------------------------------" + echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" + read -p "是否停止服务?(1/0) > " res + if [ "$res" = "1" ]; then + "$CRASHDIR"/start.sh stop + setport + fi + else + setport + fi + ;; + 2) + setrules + ;; + 3) + setproxies + ;; + 4) + setgroups + ;; + 5) + echo "$crashcore" | grep -q 'singbox' && set_singbox_adv || set_clash_adv + sleep 3 + ;; + 9) + echo "-----------------------------------------------" + echo -e "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" + echo -e "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" + echo -e "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" + echo "-----------------------------------------------" + sleep 2 + read -p "我确认遇到问题可以自行解决[1/0] > " res + [ "$res" = '1' ] && { + disoverride=1 + setconfig disoverride $disoverride + echo "-----------------------------------------------" + echo -e "\033[32m设置成功!\033[0m" + } + ;; + *) + errornum + sleep 1 + break + ;; + esac + done +} + +setrules() { # 自定义规则 + + set_rule_type() { + echo "-----------------------------------------------" + echo -e "\033[33m请选择规则类型\033[0m" + echo "$rule_type" | awk -F ' ' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) ;; + [0-9]*) + if [ "$num" -gt $(echo $rule_type | awk -F " " '{print NF}') ]; then + errornum + sleep 1 + else + rule_type_set=$(echo "$rule_type" | cut -d' ' -f"$num") + echo "-----------------------------------------------" + echo -e "\033[33m请输入规则语句,可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" + read -p "请输入对应规则 > " rule_state_set + if [ -n "$rule_state_set" ]; then + set_group_type + else + errornum + slepp 1 + fi + fi + ;; + *) + errornum + sleep 1 + ;; + esac + } + + set_group_type() { + echo "-----------------------------------------------" + echo -e "\033[36m请选择具体规则\033[0m" + echo -e "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" + echo "$rule_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) ;; + [0-9]*) + if [ "$num" -gt "$(echo "$rule_group" | awk -F "#" '{print NF}')" ]; then + errornum + sleep 1 + else + rule_group_set=$(echo "$rule_group" | cut -d'#' -f"$num") + rule_all="- ${rule_type_set},${rule_state_set},${rule_group_set}" + echo "IP-CIDR SRC-IP-CIDR IP-CIDR6" | grep -q -- "$rule_type_set" && rule_all="${rule_all},no-resolve" + + echo "$rule_all" >>"$YAMLSDIR"/rules.yaml + echo "-----------------------------------------------" + echo -e "\033[32m添加成功!\033[0m" + fi + ;; + *) + errornum + sleep 1 + ;; + esac + } + + del_rule_type() { + while true; do + echo -e "输入对应数字即可移除相应规则:" + sed -i '/^ *$/d; /^#/d' "$YAMLSDIR"/rules.yaml + cat "$YAMLSDIR"/rules.yaml | grep -Ev '^#' | awk -F "#" '{print " "NR" "$1$2$3}' + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + *) + if [ "$num" -le "$(wc -l <"$YAMLSDIR"/rules.yaml)" ]; then + sed -i "${num}d" "$YAMLSDIR"/rules.yaml + sleep 1 + else + errornum + sleep 1 + break + fi + ;; + esac + done + } + + get_rule_group() { + . "$CRASHDIR"/libs/web_save.sh + get_save http://127.0.0.1:${db_port}/proxies | sed 's/:{/!/g' | awk -F '!' '{for(i=1;i<=NF;i++) print $i}' | grep -aE '"Selector|URLTest|LoadBalance"' | grep -aoE '"name":.*"now":".*",' | awk -F '"' '{print "#"$4}' | tr -d '\n' + } + + while true; do + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理自定义规则\033[0m" + echo -e "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" + echo -e "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" + echo -e "大量规则请尽量使用rule-set功能添加,\033[31m此处过量添加可能导致启动卡顿!\033[0m" + echo "-----------------------------------------------" + echo -e " 1 新增自定义规则" + echo -e " 2 移除自定义规则" + echo -e " 3 清空规则列表" + echo "$crashcore" | grep -q 'singbox' || echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" + echo -e " 0 返回上级菜单" + read -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + rule_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN PROCESS-NAME" + rule_group="DIRECT#REJECT$(get_rule_group)" + set_rule_type + ;; + 2) + echo "-----------------------------------------------" + if [ -s "$YAMLSDIR"/rules.yaml ]; then + del_rule_type + else + echo -e "请先添加自定义规则!" + sleep 1 + fi + ;; + 3) + read -p "确认清空全部自定义规则?(1/0) > " res + [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml + ;; + 4) + echo "-----------------------------------------------" + if [ "$proxies_bypass" = "OFF" ]; then + echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" + echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" + read -p "启用节点绕过?(1/0) > " res + [ "$res" = "1" ] && proxies_bypass=ON + else + proxies_bypass=OFF + fi + setconfig proxies_bypass "$proxies_bypass" + sleep 1 + ;; + *) + errornum + sleep 1 + ;; + esac + done +} + +setgroups() { # 自定义clash策略组 + set_group_type() { + echo "-----------------------------------------------" + echo -e "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" + echo -e "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" + echo -e "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" + read -r -p "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name + + echo "-----------------------------------------------" + echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m" + echo "$group_type_cn" | awk '{for(i=1;i<=NF;i++){print i" "$i}}' + read -r -p "请输入对应数字 > " num + new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}') + if [ "$num" = "1" ]; then + unset new_group_url interval + else + read -r -p "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url + [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 + new_group_url="url: '$new_group_url'" + interval="interval: 300" + fi + set_group_add + # 添加自定义策略组 + cat >>"$YAMLSDIR"/proxy-groups.yaml < " char + case "$char" in + "" | 0) ;; + *) + for num in $char; do + rule_group_set=$(echo "$proxy_group" | cut -d'#' -f"$num") + rule_group_add="${rule_group_add}#${rule_group_set}" + done + if [ -n "$rule_group_add" ]; then + new_group_name="$new_group_name$rule_group_add" + unset rule_group_add + else + errornum + sleep 1 + fi + ;; + esac + } + + while true; do + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理自定义策略组\033[0m" + echo -e "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" + echo "-----------------------------------------------" + echo -e " 1 添加自定义策略组" + echo -e " 2 查看自定义策略组" + echo -e " 3 清空自定义策略组" + echo -e " 0 返回上级菜单" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + group_type="select url-test fallback load-balance" + group_type_cn="手动选择 自动选择 故障转移 负载均衡" + proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" + set_group_type + ;; + 2) + echo "-----------------------------------------------" + cat "$YAMLSDIR"/proxy-groups.yaml + ;; + 3) + read -p "确认清空全部自定义策略组?(1/0) > " res + [ "$res" = "1" ] && echo '#用于添加自定义策略组' >"$YAMLSDIR"/proxy-groups.yaml + ;; + *) + errornum + sleep 1 + ;; + esac + done +} + +setproxies() { # 自定义clash节点 + set_proxy_type() { + echo "-----------------------------------------------" + echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m" + echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" + echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m" + read -r -p "请输入节点 > " proxy_state_set + if echo "$proxy_state_set" | grep -q "#"; then + echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m" + elif echo "$proxy_state_set" | grep -Eq "^name:"; then + set_group_add + else + errornum + sleep 1 + fi + } + + set_group_add() { + echo "-----------------------------------------------" + echo -e "\033[36m请选择想要将节点添加到的策略组\033[0m" + echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" + echo -e "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" + echo "-----------------------------------------------" + echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -r -p "请输入对应数字(多个用空格隔开) > " char + case "$char" in + "" | 0) ;; + *) + for num in $char; do + rule_group_set=$(echo "$proxy_group" | cut -d'#' -f"$num") + rule_group_add="${rule_group_add}#${rule_group_set}" + done + if [ -n "$rule_group_add" ]; then + echo "- {$proxy_state_set}$rule_group_add" >>"$YAMLSDIR"/proxies.yaml + echo "-----------------------------------------------" + echo -e "\033[32m添加成功!\033[0m" + unset rule_group_add + else + errornum + sleep 1 + fi + ;; + esac + } + + while true; do + echo "-----------------------------------------------" + echo -e "\033[33m你可以在这里快捷管理自定义节点\033[0m" + echo -e "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" + echo "-----------------------------------------------" + echo -e " 1 添加自定义节点" + echo -e " 2 管理自定义节点" + echo -e " 3 清空自定义节点" + echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" + echo -e " 0 返回上级菜单" + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + proxy_type="DOMAIN-SUFFIX DOMAIN-KEYWORD IP-CIDR SRC-IP-CIDR DST-PORT SRC-PORT GEOIP GEOSITE IP-CIDR6 DOMAIN MATCH" + proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" + set_proxy_type + ;; + 2) + echo "-----------------------------------------------" + sed -i '/^ *$/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null + if [ -s "$YAMLSDIR"/proxies.yaml ]; then + echo -e "当前已添加的自定义节点为:" + cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g' + echo "-----------------------------------------------" + echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m" + read -r -p "请输入对应数字 > " num + if [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then + sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml + else + errornum + fi + else + echo -e "请先添加自定义节点!" + sleep 1 + fi + ;; + 3) + read -r -p "确认清空全部自定义节点?(1/0) > " res + [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null + ;; + 4) + echo "-----------------------------------------------" + if [ "$proxies_bypass" = "OFF" ]; then + echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" + echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" + read -r -p "启用节点绕过?(1/0) > " res + [ "$res" = "1" ] && proxies_bypass=ON + else + proxies_bypass=OFF + fi + setconfig proxies_bypass "$proxies_bypass" + sleep 1 + setrules + break + ;; + *) + errornum + sleep 1 + ;; + esac + done +} + +set_clash_adv(){ #自定义clash高级规则 + [ ! -f "$YAMLSDIR"/user.yaml ] && cat > "$YAMLSDIR"/user.yaml < "$YAMLSDIR"/others.yaml <> $TMPDIR/providers/providers.yaml <> $TMPDIR/providers/providers.yaml < "$TMPDIR"/providers/providers.yaml + #切割模版文件 + sed -n '/^proxy-groups:/,/^[a-z]/ { /^rule/d; p; }' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/proxy-groups.yaml + sed -n '/^rule/,$p' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/rules.yaml + rm -rf "$TMPDIR"/provider_temp_file + #生成providers模块 + if [ -n "$2" ];then + gen_clash_providers_txt $1 $2 + providers_tags=$1 + echo ' - {name: '${1}', type: url-test, tolerance: 100, lazy: true, use: ['${1}']}' >> "$TMPDIR"/providers/proxy-groups.yaml + else + providers_tags='' + while read line;do + tag=$(echo $line | awk '{print $1}') + url=$(echo $line | awk '{print $2}') + providers_tags=$(echo "$providers_tags, $tag" | sed 's/^, //') + gen_clash_providers_txt $tag $url + echo ' - {name: '${tag}', type: url-test, tolerance: 100, lazy: true, use: ['${tag}']}' >> "$TMPDIR"/providers/proxy-groups.yaml + done < "$CRASHDIR"/configs/providers.cfg + fi + #修饰模版文件并合并 + sed -i "s/{providers_tags}/$providers_tags/g" "$TMPDIR"/providers/proxy-groups.yaml + cut -c 1- "$TMPDIR"/providers/providers.yaml "$TMPDIR"/providers/proxy-groups.yaml "$TMPDIR"/providers/rules.yaml > "$TMPDIR"/config.yaml + rm -rf "$TMPDIR"/providers + #调用内核测试 + . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml + if [ "$?" = 0 ];then + echo -e "\033[32m配置文件生成成功!\033[0m" + mkdir -p "$CRASHDIR"/yamls + mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml + read -p "是否立即启动/重启服务?(1/0) > " res + [ "$res" = 1 ] && { + start_core && cronset '更新订阅' + exit + } + else + rm -rf "$TMPDIR"/CrashCore + rm -rf "$TMPDIR"/config.yaml + echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + fi +} +gen_singbox_providers(){ #生成singbox的providers配置文件 + gen_singbox_providers_txt(){ + if [ -n "$(echo $2|grep -E '^./')" ];then + cat >> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/outbounds_add.json <> "$TMPDIR"/providers/outbounds_add.json + else + providers_tags='' + while read line;do + tag=$(echo $line | awk '{print $1}') + url=$(echo $line | awk '{print $2}') + providers_tags=$(echo "$providers_tags, \"$tag\"" | sed 's/^, //') + gen_singbox_providers_txt $tag $url + echo '{ "tag": "'${tag}'", "type": "urltest", "tolerance": 100, "providers": ["'${tag}'"], "include": ".*" },' >> "$TMPDIR"/providers/outbounds_add.json + done < "$CRASHDIR"/configs/providers.cfg + fi + #修复文件格式 + sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json + sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json + #使用模版生成outbounds和rules模块 + cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json + rm -rf "$TMPDIR"/provider_temp_file + #调用内核测试 + . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers + if [ "$?" = 0 ];then + echo -e "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" + mkdir -p "$CRASHDIR"/jsons + mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json + rm -rf "$TMPDIR"/providers + read -p "是否立即启动/重启服务?(1/0) > " res + [ "$res" = 1 ] && { + start_core && cronset '更新订阅' + exit + } + else + echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + rm -rf "$TMPDIR"/CrashCore + rm -rf "$TMPDIR"/providers + fi +} + +#providers +providers() { + . "$CRASHDIR"/libs/web_get_bin.sh + while true; do + # 获取模版名称 + if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then + provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') + else + provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') + provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') + [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file + fi + echo "-----------------------------------------------" + echo -e " 1 \033[32m生成\033[0m包含全部节点/订阅的配置文件" + echo -e " 2 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" + echo -e " 3 \033[33m清理\033[0mproviders目录文件" + echo "-----------------------------------------------" + echo -e " 0 返回上级菜单" + read -p "请输入对应字母或数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + echo "-----------------------------------------------" + if [ -s "$CRASHDIR"/configs/providers.cfg ]; then + echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" + echo "-----------------------------------------------" + read -p "确认生成${coretype}配置文件?(1/0) > " res + [ "$res" = "1" ] && { + gen_${coretype}_providers + } + else + echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" + sleep 1 + fi + ;; + 2) + echo "-----------------------------------------------" + echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m" + echo -e "\033[33m请选择在线模版:\033[0m" + echo "-----------------------------------------------" + cat "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print " "NR" "$1}' + echo "-----------------------------------------------" + echo -e " a 使用\033[36m本地模版\033[0m" + echo "-----------------------------------------------" + read -p "请输入对应字母或数字 > " num + case "$num" in + "" | 0) ;; + a) + read -p "请输入模版的路径(绝对路径) > " dir + if [ -s $dir ]; then + provider_temp_file=$dir + setconfig provider_temp_${coretype} $provider_temp_file + echo -e "\033[32m设置成功!\033[0m" + else + echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m" + fi + sleep 1 + ;; + *) + provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${coretype}_providers.list 2>/dev/null | awk '{print $2}') + if [ -z "$provider_temp_file" ]; then + errornum + sleep 1 + else + setconfig provider_temp_${coretype} $provider_temp_file + fi + ;; + esac + ;; + 3) + echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" + read -p "是否继续?(1/0) > " res + [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers + ;; + *) + errornum + sleep 1 + break + ;; + esac + done +} diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh new file mode 100644 index 00000000..ce2cbd3d --- /dev/null +++ b/scripts/menus/subconverter.sh @@ -0,0 +1,171 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_MODULE_SUBCONVERTER" ] && return +__IS_MODULE_SUBCONVERTER=1 + +[ -z "$rule_link" ] && rule_link=1 +[ -z "$server_link" ] && server_link=1 + +#Subconverter在线订阅转换 +subconverter() { + while true; do + separator_line "-" + content_line " 1 \033[36m开始生成配置文件\033[0m" + content_line " 2 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" + content_line " 3 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" + content_line " 4 选择\033[33m在线规则模版\033[0m" + content_line " 5 选择\033[0mSubconverter服务器\033[0m" + content_line " 6 自定义浏览器UA \033[32m$user_agent\033[0m" + common_back + read -r -p "请输入对应数字 > " num + case "$num" in + "" | 0) + break + ;; + 1) + providers_link=$(grep -v '^#' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|') + uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk -F '#' '{print $1}' |paste -sd '|') + Url=$(echo "$providers_link|$uri_link" |sed 's/^|// ; s/|$//') + setconfig Url "'$Url'" + setconfig Https + # 获取在线文件 + jump_core_config + ;; + 2) + gen_link_flt + ;; + 3) + gen_link_ele + ;; + 4) + gen_link_config + ;; + 5) + gen_link_server + ;; + 6) + set_sub_ua + ;; + *) + errornum + break + ;; + esac + done +} + +gen_link_flt() { # 排除节点正则 + [ -z "$exclude" ] && exclude="未设置" + separator_line "-" + content_line "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m" + separator_line "-" + content_line "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m" + content_line "多个关键字可以用\033[30;47m | \033[0m号分隔" + content_line "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" + separator_line "-" + content_line " 000 \033[31m删除\033[0m关键字" + content_line " 回车 取消输入并返回上级菜单" + separator_line "-" + read -r -p "请输入关键字 > " exclude + if [ "$exclude" = '000' ]; then + separator_line "-" + exclude='' + content_line "\033[31m 已删除节点过滤关键字!!!\033[0m" + fi + setconfig exclude "'$exclude'" +} + +gen_link_ele() { # 包含节点正则 + [ -z "$include" ] && include="未设置" + separator_line "-" + content_line "\033[33m当前筛选关键字:\033[47;30m$include\033[0m" + separator_line "-" + content_line "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" + content_line "多个关键字可以用\033[30;47m | \033[0m号分隔" + content_line "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" + separator_line "-" + content_line " 000 \033[31m删除\033[0m关键字" + content_line " 回车 取消输入并返回上级菜单" + separator_line "-" + read -r -p "请输入关键字 > " include + if [ "$include" = '000' ]; then + separator_line "-" + include='' + content_line "\033[31m 已删除节点匹配关键字!!!\033[0m" + fi + setconfig include "'$include'" +} + +gen_link_config() { #选择在线规则模版 + separator_line "-" + echo 当前使用规则为:$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') + grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2$4}' + separator_line "-" + echo 0 返回上级菜单 + read -r -p "请输入对应数字 > " num + totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list ) + if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then + errornum + elif [ "$num" = 0 ];then + echo + elif [ "$num" -le "$totalnum" ];then + #将对应标记值写入配置 + rule_link=$num + setconfig rule_link $rule_link + separator_line "-" + content_line "\033[32m设置成功!返回上级菜单\033[0m" + fi +} + +gen_link_server() { #选择Subconverter服务器 + separator_line "-" + content_line "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" + content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m" + echo 当前使用后端为:$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') + grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$3" "$2}' + separator_line "-" + echo 0 返回上级菜单 + read -r -p "请输入对应数字 > " num + totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list ) + if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then + errornum + elif [ "$num" = 0 ];then + echo + elif [ "$num" -le "$totalnum" ];then + #将对应标记值写入配置 + server_link=$num + setconfig server_link $server_link + separator_line "-" + content_line "\033[32m设置成功!返回上级菜单\033[0m" + fi +} + +set_sub_ua() { + separator_line "-" + content_line "\033[36m无法正确获取配置文件时可尝试使用\033[0m" + content_line " 1 使用自动UA(默认)" + content_line " 2 不使用UA" + content_line " 3 使用自定义UA:\033[32m$user_agent\033[0m" + separator_line "-" + read -r -p "请输入对应数字 > " num + case "$num" in + 0) + user_agent='' + ;; + 1) + user_agent='auto' + ;; + 2) + user_agent='none' + ;; + 3) + read -r -p "请输入自定义UA(不要包含空格和特殊符号!) > " text + [ -n "$text" ] && user_agent="$text" + ;; + *) + errornum + ;; + esac + [ "$num" -le 3 ] && setconfig user_agent "$user_agent" +} diff --git a/scripts/starts/core_config.sh b/scripts/starts/core_config.sh index de1bd553..5ed30281 100644 --- a/scripts/starts/core_config.sh +++ b/scripts/starts/core_config.sh @@ -6,6 +6,7 @@ . "$CRASHDIR"/libs/web_get_bin.sh . "$CRASHDIR"/libs/compare.sh . "$CRASHDIR"/libs/set_config.sh +. "$CRASHDIR"/libs/logger.sh update_servers() { #更新servers.list get_bin "$TMPDIR"/servers.list public/servers.list @@ -44,7 +45,7 @@ get_core_config() { #下载内核配置文件 fi #输出 echo "-----------------------------------------------" - logger "正在连接服务器获取【$target】配置文件…………" + logger "正在连接服务器获取【$target】配置文件…………" 36 echo -e "链接地址为:\033[4;32m$Https\033[0m" echo 可以手动复制该链接到浏览器打开并查看数据是否正常! #获取在线config文件 From a8f9aa43857a9537f192405699c5b18aa7de83a8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 24 Jan 2026 00:01:06 +0800 Subject: [PATCH 136/318] ~1.9.5a4 pkg --- ShellCrash.tar.gz | Bin 134349 -> 136525 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 207e14a0f5cb96385a1046aeae45f77115bb40e5..c395af9726cd4b7f896eeac1709a012b7d3fb88a 100644 GIT binary patch literal 136525 zcmW)ncQo7I|Hp|KiP0ot#AuNqu^JJZmLT>XwJQWMs#X=P7ERO$P3#e^5vxW~Ra9Fe z)CjezindmD(NCxD_S@g@eeOB$_kZtm@45FrpRdRB-XnQJJpcdj?fs6p=>H(@Xu;c- z_i6=ZtB_Dqtkbn>aG?tdy;%uN?q8Wb=@u)f6F$+EjsWUx1T*hnf&1M-&vzwFF9%P$ zMdx{JaaP;E#*gw2TVD|V+Y#70a7ZXu38PxJZOOTvdgIyk*4DQ@rInXLgwaC+5{qS=xxO%?s*rQJ0^0%i0 z6`XS4?1y&S#y7pdS5w}VfSd zqE4#zSC#oyW^OUq<-PB#1%qtw7M}ckK~N& zXx!YH@Y-Cpn+%s7v_-`Xm6kJ$I%P>h=6ags6uR`9)p{#Ed)4EL6-_S8wvvh4Z4}8s zKNQ(YD~jZigY4zn(Yk^4xFR`Tk2im|6vWQ#^OheL2pYI@31zN0P-M?fet@Nsk-CMq z&~Ufk#lqRG%&Eu;a6BYO14*+~aqvKeHhUpD&NmXk{4PIlN=uYfG+NqP96GMT^WPNO zGatIb7N00cDfk@C&<-&!giUKg!^SPuTuCFiW2^Pl$=qgX6XxLReA{BG(@XRL#C9w=&Q-?&WD{x#}!g7Ag5@too>L zTrlKFs)KW|_xF06ZE36&BYDe>RwjBk*^0+*&AcJtDl7-Q_zm_I6z&pZbTp&CVikdo z4O@;*uOKODc%ap8j!OU0vnafTCq%eq)iodhMp4X)fI7pus-B7Vxqz{z!OSjS9bJz- z53Fr0Su#rx*AY*W)DfGa5LaYsguWvOhxJ-e`&7U~ekjQ;~I=%IBAYHuT4w zAjdWyc;>(8blof;3sx#$MVb?9L{8LCe9;@$Abvq3ocvS>v+jGv5Nj>hYgWpIgLtiq zQ-BAN+F((qXiu}k+*66^@y{$}cIlR-H;

POP;p;I8{>dLEN|vN_6;))$3ik&q8| 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%0A2s-1~5ukTtw>PyF~q)&wyoWpFG-+QXS{tqE%?4 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%0D(#%<@RET*8+Q-5a?4y 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 literal 134349 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 z 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 a`D{L$&*roFY(AS0fBrw03NS?g015!|nSSj6 diff --git a/bin/version b/bin/version index 537f3d26..48fe9b09 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha3 +versionsh=1.9.5alpha4 GeoIP_v=20251205 diff --git a/version b/version index faea0a17..f31f81e5 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha3 +1.9.5alpha4 From 022b78a4e3c7fade58b0ca1aeb3436fbcacf56b7 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 24 Jan 2026 00:02:35 +0800 Subject: [PATCH 137/318] feat(menu.sh): redesign static text menu --- scripts/lang/chs/menu.lang | 20 +- scripts/lang/en/menu.lang | 1 - scripts/menu.sh | 586 +++++++++++++++++++++---------------- scripts/menus/1_start.sh | 1 + scripts/start.sh | 4 +- 5 files changed, 349 insertions(+), 263 deletions(-) diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang index b84c71e2..f1ccbc57 100644 --- a/scripts/lang/chs/menu.lang +++ b/scripts/lang/chs/menu.lang @@ -1,8 +1,7 @@ # ===== 通用提示 ===== MENU_ERR_INPUT="请输入正确的字母或数字!" -MENU_RESTART_NOTICE="检测到已变更的内容,请重启服务!" -MENU_RESTART_ASK="是否现在重启服务?(1/0) > " +MENU_RESTART_NOTICE="检测到配置变更,是否立即重启服务以应用新配置:" MENU_PORT_CONFLICT_TITLE="检测到端口被以下进程占用!内核可能无法正常启动!" MENU_PORT_CONFLICT_HINT="请修改默认端口配置!" @@ -14,10 +13,10 @@ MENU_CORE_REMOVED="内核文件已移除,请认真检查后重新上传!" MENU_CFG_LOADED_OK="配置文件加载完成!" MENU_OVERRIDE_WARN="你已经禁用了配置文件覆写功能,这会导致大量脚本功能无法使用!" -MENU_OVERRIDE_ASK="是否取消禁用?" +MENU_OVERRIDE_ASK="是否取消禁用:" # ===== 欢迎与状态 ===== -MENU_WELCOME="欢迎使用ShellCrash!" +MENU_WELCOME="欢迎使用ShellCrash" MENU_VERSION_LABEL="版本:" MENU_RUN_ON="正在运行" @@ -39,10 +38,10 @@ MENU_TG_CHANNEL="TG频道:" # ===== /tmp 文件检测 ===== MENU_TMP_CORE_FOUND="发现可用的内核文件:" -MENU_TMP_CORE_ASK="是否加载(会停止当前服务)?" +MENU_TMP_CORE_ASK="是否立即加载该内核(会停止当前服务):" MENU_TMP_CFG_FOUND="发现内核配置文件:" -MENU_TMP_CFG_ASK="是否加载为配置文件?(1/0) > " +MENU_TMP_CFG_ASK="是否立即加载为配置文件:" MENU_MAIN_1="启动/重启服务" MENU_MAIN_2="功能设置" @@ -55,14 +54,15 @@ MENU_MAIN_8="工具与优化" MENU_MAIN_9="更新与支持" MENU_MAIN_0="退出脚本" -MENU_MAIN_PROMPT="请输入对应数字 > " +MENU_MAIN_PROMPT="请输入对应数字> " # ===== 服务操作 ===== MENU_SERVICE_STOPPED="服务已停止!" # ===== 测试 / 调试 ===== -MENU_TEST_RUNNING="正在测试运行!如发现错误请截图后前往咨询" -MENU_TEST_DONE_OK="测试完成!没有发现问题,请重新启动服务~" +MENU_TEST_RUNNING_1="正在测试运行!" +MENU_TEST_RUNNING_2="如发现错误请截图后前往咨询:" +MENU_TEST_DONE_OK="测试完成!没有发现问题,请重新启动服务~" MENU_TEST_DONE_FAIL="测试完成!" MENU_TEST_LOG_HINT="完整执行记录请查看:" @@ -82,4 +82,4 @@ MENU_CLI_BOOT_INIT="开机初始化" MENU_HELP_ONLINE="在线求助:" MENU_HELP_BLOG="官方博客:" -MENU_HELP_GITHUB="发布页面:" \ No newline at end of file +MENU_HELP_GITHUB="发布页面:" diff --git a/scripts/lang/en/menu.lang b/scripts/lang/en/menu.lang index 9e3abcbf..5f4fdf60 100644 --- a/scripts/lang/en/menu.lang +++ b/scripts/lang/en/menu.lang @@ -2,7 +2,6 @@ MENU_ERR_INPUT="Please enter a valid letter or number!" MENU_RESTART_NOTICE="Changes have been detected. Please restart the service!" -MENU_RESTART_ASK="Restart the service now? (1/0) > " MENU_PORT_CONFLICT_TITLE="The port is occupied by the following process. The core may fail to start!" MENU_PORT_CONFLICT_HINT="Please modify the default port configuration!" diff --git a/scripts/menu.sh b/scripts/menu.sh index a04db994..63c0c63a 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -2,9 +2,10 @@ # Copyright (C) Juewuy CRASHDIR=$( - cd $(dirname $0) - pwd + cd $(dirname $0) + pwd ) + CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg # 加载执行目录,失败则初始化 @@ -30,238 +31,309 @@ load_lang common load_lang menu errornum() { - line_break - separator_line "=" - content_line "\033[31m$MENU_ERR_INPUT\033[0m" - separator_line "=" + line_break + separator_line "=" + content_line "\033[31m$MENU_ERR_INPUT\033[0m" + separator_line "=" } checkrestart() { - echo "-----------------------------------------------" - echo -e "\033[32m$MENU_RESTART_NOTICE\033[0m" - echo "-----------------------------------------------" - read -p "$MENU_RESTART_ASK" res - [ "$res" = 1 ] && start_service + line_break + separator_line "=" + content_line "\033[32m$MENU_RESTART_NOTICE\033[0m" + separator_line "=" + content_line "1) 立即重启" + content_line "0) 暂不重启" + separator_line "=" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + start_service + fi } -checkport() { #检查端口冲突 - for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do - if [ -n "$(netstat -ntul 2>&1 | grep ":$portx ")" ]; then - echo "-----------------------------------------------" - echo -e "【$portx】: $MENU_PORT_CONFLICT_TITLE" - echo -e "\033[0m$(netstat -ntul | grep ":$portx" | head -n 1)\033[0m" - echo "-----------------------------------------------" - echo -e "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" - . "$CRASHDIR"/menus/2_settings.sh && set_adv_config - . "$CRASHDIR"/libs/get_config.sh - checkport - fi - done +# 检查端口冲突 +checkport() { + while true; do + # Before each round of checks begins, execute netstat only once and cache the results + # Avoid calling the system command once for each port + current_listening=$(netstat -ntul 2>&1) + + conflict_found=0 + + for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do + # Use `grep` to search within the cached variables instead of re-running `netstat` + conflict_line=$(echo "$current_listening" | grep ":$portx ") + + if [ -n "$conflict_line" ]; then + line_break + separator_line "=" + content_line "【$portx】:$MENU_PORT_CONFLICT_TITLE" + content_line "\033[0m$(echo "$conflict_line" | head -n 1)\033[0m" + content_line "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" + separator_line "=" + + . "$CRASHDIR"/menus/2_settings.sh && set_adv_config + . "$CRASHDIR"/libs/get_config.sh + + # Mark conflict and exit the for loop, triggering the while loop to restart the check + # This replaces the original recursive call to `checkport` + conflict_found=1 + break + fi + done + + # If no conflicts are found after the entire for loop completes, + # the while loop exits and the function terminates. + if [ "$conflict_found" -eq 0 ]; then + break + fi + done } -ckstatus() { #脚本启动前检查 - #检查脚本配置文件 - if [ -f "$CFG_PATH" ]; then - [ -n "$(awk 'a[$0]++' "$CFG_PATH")" ] && awk '!a[$0]++' "$CFG_PATH" >"$CFG_PATH" - else - . "$CRASHDIR"/init.sh >/dev/null 2>&1 - fi - versionsh=$(cat "$CRASHDIR"/version) - [ -n "$versionsh" ] && versionsh_l=$versionsh - [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" - #获取本机host地址 - [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host='$MENU_IP_DF' - #dashboard目录位置 - if [ -f /www/clash/index.html ]; then - dbdir=/www/clash - hostdir=/clash - else - dbdir="$CRASHDIR"/ui - hostdir=":$db_port/ui" - fi +# 脚本启动前检查 +ckstatus() { + # 检查脚本配置文件 + if [ -f "$CFG_PATH" ]; then + [ -n "$(awk 'a[$0]++' "$CFG_PATH")" ] && awk '!a[$0]++' "$CFG_PATH" >"$CFG_PATH" + else + . "$CRASHDIR"/init.sh >/dev/null 2>&1 + fi - if check_autostart; then - auto="\033[32m$MENU_AUTOSTART_ON\033[0m" - else - auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" - fi + versionsh=$(cat "$CRASHDIR"/version) + [ -n "$versionsh" ] && versionsh_l=$versionsh + [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" - PID=$(pidof CrashCore | awk '{print $NF}') - if [ -n "$PID" ]; then - run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" - running_status - elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then - run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" - else - run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" - #检测系统端口占用 - checkport - fi - corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') - #[ "$firewall_area" = 5 ] && corename='转发' - [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" - #输出状态 - echo "-----------------------------------------------" - echo -e "\033[30;46m$MENU_WELCOME\033[0m\t\t$MENU_VERSION_LABEL$versionsh_l" - echo -e "$corename$run\t$auto" + # 获取本机host地址 + [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host='$MENU_IP_DF' - if [ -n "$PID" ]; then - echo -e "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t\t$MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" - fi + # dashboard目录位置 + if [ -f /www/clash/index.html ]; then + dbdir=/www/clash + hostdir=/clash + else + dbdir="$CRASHDIR"/ui + hostdir=":$db_port/ui" + fi - echo -e "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" - echo "-----------------------------------------------" - #检查新手引导 - if [ -z "$userguide" ]; then - . "$CRASHDIR"/menus/userguide.sh && userguide - setconfig userguide 1 - fi - #检查执行权限 - [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh - #检查/tmp内核文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box|meta.*'); do - echo -e "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m " - read -p "$MENU_TMP_CORE_ASK(1/0) > " res - [ "$res" = 1 ] && { - zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') - . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype - . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" - if [ "$?" = 0 ]; then - echo -e "\033[32m$MENU_CORE_LOADED_OK\033[0m " - switch_core - else - echo -e "\033[33m$MENU_CORE_LOADED_BAD033[0m" - rm -rf /tmp/"$file" - echo -e "\033[33m$MENU_CORE_REMOVED\033[0m" - fi - sleep 1 - } - echo "-----------------------------------------------" - done - #检查/tmp配置文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do - tmp_file=/tmp/$file - echo -e "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m " - read -p "$MENU_TMP_CFG_ASK(1/0) > " res - [ "$res" = 1 ] && { - if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then - mv -f /tmp/$file "$CRASHDIR"/jsons/config.json - else - mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml - fi - echo -e "\033[32m$MENU_CFG_LOADED_OK\033[0m " - sleep 1 - } - done - #检查禁用配置覆写 - [ "$disoverride" = "1" ] && { - echo -e "\033[33m$MENU_OVERRIDE_WARN\033[0m " - read -p "$MENU_OVERRIDE_ASK(1/0) > " res - [ "$res" = 1 ] && unset disoverride && setconfig disoverride - echo "-----------------------------------------------" - } + if check_autostart; then + auto="\033[32m$MENU_AUTOSTART_ON\033[0m" + else + auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" + fi + + PID=$(pidof CrashCore | awk '{print $NF}') + if [ -n "$PID" ]; then + run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" + running_status + elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then + run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" + else + run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" + # 检测系统端口占用 + checkport + fi + corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') + # [ "$firewall_area" = 5 ] && corename='转发' + [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" + + # 检查新手引导 + if [ -z "$userguide" ]; then + . "$CRASHDIR"/menus/userguide.sh && userguide + setconfig userguide 1 + fi + + # 检查执行权限 + [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh + + line_break + separator_line "=" + content_line " $MENU_WELCOME" + content_line "" + content_line "$(printf "%$((${TABLE_WIDTH:-60} - 1))s" "$MENU_VERSION_LABEL$versionsh_l")" + content_line " $MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "=" + content_line "$corename$run\t $auto" + if [ -n "$PID" ]; then + content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" + fi + separator_line "=" + + # 检查/tmp内核文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box|meta.*'); do + line_break + separator_line "=" + content_line "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" + content_line "$MENU_TMP_CORE_ASK" + separator_line "=" + content_line "1) 立即加载" + content_line "0) 暂不加载" + separator_line "=" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + line_break + separator_line "=" + zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') + . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype + . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" + if [ "$?" = 0 ]; then + content_line "\033[32m$MENU_CORE_LOADED_OK\033[0m" + separator_line "=" + switch_core + else + content_line "\033[33m$MENU_CORE_LOADED_BAD\033[0m" + rm -rf /tmp/"$file" + content_line "\033[33m$MENU_CORE_REMOVED\033[0m" + fi + separator_line "=" + sleep 1 + } + done + + # 检查/tmp配置文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do + tmp_file=/tmp/$file + line_break + separator_line "=" + content_line "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m" + content_line "$MENU_TMP_CFG_ASK" + separator_line "=" + content_line "1) 立即加载" + content_line "0) 暂不加载" + separator_line "=" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then + mv -f /tmp/$file "$CRASHDIR"/jsons/config.json + else + mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml + fi + line_break + separator_line "=" + content_line "\033[32m$MENU_CFG_LOADED_OK\033[0m " + separator_line "=" + sleep 1 + } + done + + # 检查禁用配置覆写 + [ "$disoverride" = "1" ] && { + line_break + separator_line "=" + content_line "\033[33m$MENU_OVERRIDE_WARN\033[0m" + content_line "$MENU_OVERRIDE_ASK" + separator_line "=" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && unset disoverride && setconfig disoverride + } } main_menu() { - while true; do - ckstatus + while true; do + ckstatus - echo -e " 1 \033[32m$MENU_MAIN_1\033[0m" - echo -e " 2 \033[36m$MENU_MAIN_2\033[0m" - echo -e " 3 \033[31m$MENU_MAIN_3\033[0m" - echo -e " 4 \033[33m$MENU_MAIN_4\033[0m" - echo -e " 5 \033[32m$MENU_MAIN_5\033[0m" - echo -e " 6 \033[36m$MENU_MAIN_6\033[0m" - echo -e " 7 \033[33m$MENU_MAIN_7\033[0m" - echo -e " 8 $MENU_MAIN_8" - echo -e " 9 \033[32m$MENU_MAIN_9\033[0m" - echo "-----------------------------------------------" - echo -e " 0 $MENU_MAIN_0" + content_line "1) \033[32m$MENU_MAIN_1\033[0m" + content_line "2) \033[36m$MENU_MAIN_2\033[0m" + content_line "3) \033[31m$MENU_MAIN_3\033[0m" + content_line "4) \033[33m$MENU_MAIN_4\033[0m" + content_line "5) \033[32m$MENU_MAIN_5\033[0m" + content_line "6) \033[36m$MENU_MAIN_6\033[0m" + content_line "7) \033[33m$MENU_MAIN_7\033[0m" + content_line "8) $MENU_MAIN_8" + content_line "9) \033[32m$MENU_MAIN_9\033[0m" + content_line "0) $MENU_MAIN_0" + separator_line "=" + read -r -p "$MENU_MAIN_PROMPT" num - read -p "$MENU_MAIN_PROMPT" num - - case "$num" in - "" | 0) - exit - ;; - 1) - start_service - exit - ;; - 2) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/2_settings.sh && settings - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 3) - [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop - "$CRASHDIR"/start.sh stop - sleep 1 - echo "-----------------------------------------------" - echo -e "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" - ;; - 4) - . "$CRASHDIR"/menus/4_setboot.sh && setboot - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - ;; - 6) - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - ;; - 7) - GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg - touch "$GT_CFG_PATH" - checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") - . "$CRASHDIR"/menus/7_gateway.sh && gateway - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 8) - . "$CRASHDIR"/menus/8_tools.sh && tools - ;; - 9) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/9_upgrade.sh && upgrade - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - *) - errornum - sleep 1 - ;; - esac - done + case "$num" in + "" | 0) + line_break + exit 0 + ;; + 1) + start_service + exit + line_break + ;; + 2) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/2_settings.sh && settings + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 3) + [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop + "$CRASHDIR"/start.sh stop + sleep 1 + line_break + separator_line "=" + content_line "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" + separator_line "=" + sleep 1 + ;; + 4) + . "$CRASHDIR"/menus/4_setboot.sh && setboot + ;; + 5) + . "$CRASHDIR"/menus/5_task.sh && task_menu + ;; + 6) + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + ;; + 7) + GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg + touch "$GT_CFG_PATH" + checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") + . "$CRASHDIR"/menus/7_gateway.sh && gateway + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 8) + . "$CRASHDIR"/menus/8_tools.sh && tools + ;; + 9) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/9_upgrade.sh && upgrade + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + *) + errornum + sleep 1 + ;; + esac + done } case "$1" in "") - main_menu - ;; + main_menu + ;; -l) - main_menu - ;; + main_menu + ;; -t) - shtype=sh + shtype=sh [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - "$shtype" -x "$CRASHDIR"/menu.sh -l - ;; + "$shtype" -x "$CRASHDIR"/menu.sh -l + ;; -s) - "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" - ;; + "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" + ;; -i) - . "$CRASHDIR"/init.sh 2>/dev/null - ;; + . "$CRASHDIR"/init.sh 2>/dev/null + ;; -st) shtype=sh ckcmd bash && shtype=bash @@ -270,48 +342,62 @@ case "$1" in start_legacy "$COMMAND" 'shellcrash' "$shtype" -x "$CRASHDIR"/starts/afstart.sh "$CRASHDIR"/start.sh stop - ;; + ;; -d) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - echo -e "$MENU_TEST_RUNNING\033[32;4mt.me/ShellClash\033[0m" - "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log - "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log - echo ----------------------------------------- - cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug - if [ -s "$TMPDIR"/sh_bug ]; then - while read line; do - echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" - grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log - echo ----------------------------------------- - done <"$TMPDIR"/sh_bug - rm -rf "$TMPDIR"/sh_bug - echo -e "\033[32m$MENU_TEST_DONE_FAIL\033[0m$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" - else - echo -e "\033[32m$MENU_TEST_DONE_OK\033[0m" - rm -rf "$TMPDIR"/debug_sh.log - fi - "$CRASHDIR"/start.sh stop - ;; + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + line_break + separator_line "=" + content_line "$MENU_TEST_RUNNING_1" + content_line "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "=" + "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log + "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log + line_break + cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug + if [ -s "$TMPDIR"/sh_bug ]; then + echo "===========================================================" + while read line; do + echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" + grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log + echo "===========================================================" + done <"$TMPDIR"/sh_bug + rm -rf "$TMPDIR"/sh_bug + line_break + separator_line "=" + content_line "\033[32m$MENU_TEST_DONE_FAIL\033[0m" + content_line "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" + separator_line "=" + else + rm -rf "$TMPDIR"/debug_sh.log + separator_line "=" + content_line "\033[32m$MENU_TEST_DONE_OK\033[0m" + separator_line "=" + line_break + fi + "$CRASHDIR"/start.sh stop + ;; -u) - . "$CRASHDIR"/menus/uninstall.sh && uninstall - ;; + . "$CRASHDIR"/menus/uninstall.sh && uninstall + ;; *) - echo ----------------------------------------- - echo "$MENU_WELCOME" - echo ----------------------------------------- - echo " -t $MENU_CLI_TEST" - echo " -h $MENU_CLI_HELP" - echo " -u $MENU_CLI_UNINSTALL" - echo " -i $MENU_CLI_INIT" - echo " -d $MENU_CLI_DEBUG" - echo ----------------------------------------- - echo " crash -s start $MENU_CLI_START" - echo " crash -s stop $MENU_CLI_STOP" - echo " $CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" - echo ----------------------------------------- - echo "$MENU_HELP_ONLINE t.me/ShellClash" - echo "$MENU_HELP_BLOG juewuy.github.io" - echo "$MENU_HELP_GITHUB github.com/juewuy/ShellCrash" - echo ----------------------------------------- - ;; + line_break + separator_line "=" + content_line "$MENU_WELCOME" + separator_line "=" + content_line "-t $MENU_CLI_TEST" + content_line "-h $MENU_CLI_HELP" + content_line "-u $MENU_CLI_UNINSTALL" + content_line "-i $MENU_CLI_INIT" + content_line "-d $MENU_CLI_DEBUG" + separator_line "-" + content_line "crash -s start $MENU_CLI_START" + content_line "crash -s stop $MENU_CLI_STOP" + content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" + separator_line "-" + content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" + content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" + content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" + separator_line "=" + line_break + ;; esac diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index e52241be..7548dd4e 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -19,6 +19,7 @@ startover() { fi separator_line "=" line_break + sleep 1 return 0 } diff --git a/scripts/start.sh b/scripts/start.sh index e9ee6403..3dc8bd16 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -28,7 +28,7 @@ stop_firewall(){ start_l(){ bfstart && { . "$CRASHDIR"/starts/start_legacy.sh - start_legacy "$COMMAND" 'shellcrash' + start_legacy "$COMMAND" 'shellcrash' } && afstart & } @@ -65,7 +65,7 @@ start) fi ;; stop) - logger ShellCrash服务即将关闭…… + logger ShellCrash服务即将关闭...... [ -n "$(pidof CrashCore)" ] && web_save #保存面板配置 #删除守护进程&面板配置自动保存 cronset '保守模式守护进程' From 58508966debb18f843090fff530ff3c3bc4917ca Mon Sep 17 00:00:00 2001 From: Sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 24 Jan 2026 10:27:54 +0800 Subject: [PATCH 138/318] chore(menu.sh): remove errornum() and use from common.sh --- scripts/menu.sh | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index c079ce88..af1cfdb1 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -31,13 +31,6 @@ CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg load_lang common load_lang menu -errornum() { - line_break - separator_line "=" - content_line "\033[31m$MENU_ERR_INPUT\033[0m" - separator_line "=" -} - checkrestart() { line_break separator_line "=" From b93a63d94ac78ae49e1b0abaa0e631267044803d Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 24 Jan 2026 13:49:57 +0800 Subject: [PATCH 139/318] feat(uninstall.sh): redesign static text menu --- scripts/menus/2_settings.sh | 1 + scripts/menus/6_core_config.sh | 490 +++++++++++++++++---------------- scripts/menus/common.sh | 35 +-- scripts/menus/uninstall.sh | 40 ++- 4 files changed, 293 insertions(+), 273 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index d53d55ec..6ff7e73d 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -250,6 +250,7 @@ settings() { ;; esac separator_line "=" + line_break sleep 1 exit 0 ;; diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index c5a0e669..d3e3d4c6 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -4,74 +4,74 @@ [ -n "$__IS_MODULE_6_CORECONFIG_LOADED" ] && return __IS_MODULE_6_CORECONFIG_LOADED=1 -if echo "$crashcore" | grep -q 'singbox';then - CONFIG_PATH="$CRASHDIR"/yamls/config.json +if echo "$crashcore" | grep -q 'singbox'; then + CONFIG_PATH="$CRASHDIR"/yamls/config.json else - CONFIG_PATH="$CRASHDIR"/jsons/config.yaml + CONFIG_PATH="$CRASHDIR"/jsons/config.yaml fi # 配置文件主界面 set_core_config() { while true; do - common_tittle "\033[30;47m配置文件管理\033[0m" - [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { - echo -e "\033[36m输入数字可管理对应提供者\033[0m" - cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | - awk '{print " " NR ") " $1 "\t" substr($2,1,30) "..."}' - separator_line "-" - } - content_line "a) \033[32m添加提供者\033[0m(支持订阅/节点/本地文件)" - content_line "b) \033[36m本地生成配置文件\033[0m(基于providers,推荐!)" + format_box "\033[30;47m配置文件管理\033[0m" + [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { + echo -e "\033[36m输入数字可管理对应提供者\033[0m" + cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | + awk '{print " " NR ") " $1 "\t" substr($2,1,30) "..."}' + separator_line "-" + } + content_line "a) \033[32m添加提供者\033[0m(支持订阅/节点/本地文件)" + content_line "b) \033[36m本地生成配置文件\033[0m(基于providers,推荐!)" content_line "c) \033[33m在线生成配置文件\033[0m(Subconverter)" - content_line "d) \033[31m清空提供者列表\033[0m" + content_line "d) \033[31m清空提供者列表\033[0m" content_line "e) \033[36m自定义配置文件\033[0m" - content_line "f) \033[33m还原配置文件\033[0m" - + content_line "f) \033[33m还原配置文件\033[0m" + common_back read -r -p "$COMMON_INPUT_L > " num case "$num" in "" | 0) break ;; - [1-9] | [1-9][0-9]) - line=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |sed -n "$num p") - setproviders - ;; - a) - line='' - setproviders - ;; + [1-9] | [1-9][0-9]) + line=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | sed -n "$num p") + setproviders + ;; + a) + line='' + setproviders + ;; b) - if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ];then - if [ "$crashcore" = meta ] || [ "$crashcore" = singboxr ]; then - . "$CRASHDIR"/menus/providers.sh - providers - else - error_report "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" - fi - else - error_report "请先添加提供者!" - fi + if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then + if [ "$crashcore" = meta ] || [ "$crashcore" = singboxr ]; then + . "$CRASHDIR"/menus/providers.sh + providers + else + error_report "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" + fi + else + error_report "请先添加提供者!" + fi ;; c) - if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ];then - . "$CRASHDIR"/menus/subconverter.sh - subconverter - else - error_report "请先添加提供者!" - fi + if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then + . "$CRASHDIR"/menus/subconverter.sh + subconverter + else + error_report "请先添加提供者!" + fi ;; d) - separator_line "=" + separator_line "=" content_line "\033[33m警告:这将删除所有提供者且无法还原!\033[0m" - separator_line "-" - read -r -p "确认清空提供者列表?(1/0) > " res - [ "$res" = 1 ] && { - rm -f "$CRASHDIR"/configs/providers.cfg - rm -f "$CRASHDIR"/configs/providers_uri.cfg - common_success - } - ;; + separator_line "-" + read -r -p "确认清空提供者列表?(1/0) > " res + [ "$res" = 1 ] && { + rm -f "$CRASHDIR"/configs/providers.cfg + rm -f "$CRASHDIR"/configs/providers_uri.cfg + common_success + } + ;; e) checkcfg=$(cat $CFG_PATH) override @@ -87,7 +87,7 @@ set_core_config() { else echo "-----------------------------------------------" content_line "备份文件共有\033[32m$(wc -l <$"$CONFIG_PATH".bak)\033[0m行内容" - content_line "当前文件共有\033[32m$(wc -l <$"$CONFIG_PATH")\033[0m行内容" + content_line "当前文件共有\033[32m$(wc -l <$"$CONFIG_PATH")\033[0m行内容" read -p "确认还原配置文件?此操作不可逆![1/0] > " res if [ "$res" = '1' ]; then mv "$CONFIG_PATH".bak "$CONFIG_PATH" @@ -112,212 +112,218 @@ set_core_config() { } setproviders() { - case "$(echo "$line" | cut -d ' ' -f 2)" in - http* | ./providers*) - set -- $line - name=$1; link=$2; interval=$3; interval2=$4 - ua=$5; exclude=$6; include=$7 - ;; - *) - set -- $line - name=$1; link_uri=$2; - ;; - esac - [ -z "$interval" ] && interval=3 - [ -z "$interval2" ] && interval2=12 - [ -z "$ua" ] && ua='clash.meta' + case "$(echo "$line" | cut -d ' ' -f 2)" in + http* | ./providers*) + set -- $line + name=$1 + link=$2 + interval=$3 + interval2=$4 + ua=$5 + exclude=$6 + include=$7 + ;; + *) + set -- $line + name=$1 + link_uri=$2 + ;; + esac + [ -z "$interval" ] && interval=3 + [ -z "$interval2" ] && interval2=12 + [ -z "$ua" ] && ua='clash.meta' while true; do - link_info=$(echo "$link$link_uri" | cut -c 1-30) - common_tittle "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" + link_info=$(echo "$link$link_uri" | cut -c 1-30) + format_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m" - [ -n "$link" ] && { - separator_line '-' - content_line "3) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" - content_line "4) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" - content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude\033[0m" - content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include\033[0m" - echo "$link" | grep -q '^http' && - content_line "7) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" - } - separator_line "-" - content_line "a) \033[32m添加此提供者\033[0m" - [ -n "$link" ] && - content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" - echo "$link$link_uri" | grep -q '://' && - content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" - [ -n "$link" ] && - content_line "e) 直接使用此配置文件(不经过转换)" - content_line "d) \033[31m删除此提供者\033[0m" + [ -n "$link" ] && { + separator_line '-' + content_line "3) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" + content_line "4) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" + content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude\033[0m" + content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include\033[0m" + echo "$link" | grep -q '^http' && + content_line "7) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" + } + separator_line "-" + content_line "a) \033[32m添加此提供者\033[0m" + [ -n "$link" ] && + content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" + echo "$link$link_uri" | grep -q '://' && + content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" + [ -n "$link" ] && + content_line "e) 直接使用此配置文件(不经过转换)" + content_line "d) \033[31m删除此提供者\033[0m" common_back read -r -p "请输入对应数字> " num case "$num" in "" | 0) break ;; - 1) - separator_line "=" - content_line "注意:名称或代号不可重复,且不支持纯数字!" - separator_line "-" - read -p "请输入具体名称或代号 > " text - text=$(echo $text | sed 's/ //g') #去空格 - if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "$text" "$CRASHDIR"/configs/providers.cfg;then - name="$text" - else - error_input - fi - ;; + 1) + separator_line "=" + content_line "注意:名称或代号不可重复,且不支持纯数字!" + separator_line "-" + read -p "请输入具体名称或代号 > " text + text=$(echo $text | sed 's/ //g') #去空格 + if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "$text" "$CRASHDIR"/configs/providers.cfg; then + name="$text" + else + error_input + fi + ;; 2) - separator_line "=" - content_line "订阅链接-支持https/http开头的clash配置文件订阅链接" - content_line "分享链接-支持ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)..." - content_line "本地文件-必须放在此目录下:\033[32m$CRASHDIR/providers\033[0m" - separator_line "-" - read -p "请输入具体链接或文件名 > " text - text=$(echo "$text" | sed 's/ //g') #去空格 - if echo "$text" | grep -q '^http';then - text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接 - link="$text" - elif [ -n "$(echo $text | grep -E '^ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)')" ];then - link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 - [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) - elif [ -f "$CRASHDIR/providers/$text" ];then - link="./providers/$text" - else - error_input - fi - ;; - 3) - read -p "请输入健康检查间隔(单位:分钟) > " num - if [ -n "$num" ];then - interval="$num" - else - errornum - fi - ;; - 4) - read -p "请输入自动更新间隔(单位:小时) > " num - if [ -n "$num" ];then - interval2="$num" - else - errornum - fi - ;; - 5) - read -p "请输入需要排除的节点关键字(支持正则) > " text - if [ -n "$text" ];then - exclude="$text" - else - error_input - fi - ;; - 6) - read -p "请输入需要筛选使用的节点关键字(支持正则) > " text - if [ -n "$text" ];then - include="$text" - else - error_input - fi - ;; - 7) - read -p "请输入浏览器UA > " text - if [ -n "$text" ];then - ua="$text" - else - error_input - fi - ;; - a) - addproviders && common_success - break - ;; - b) - if echo "$link" | grep -q '^http';then - addproviders - . "$CRASHDIR"/menus/providers.sh - gen_${coretype}_providers "$name" "$link" "$interval" "$interval2" "$exclude" "$include" - else - content_line "\033[31m$请先完成必填选项!\033[0m" - fi - ;; - c) - if [ -n "$name" ] && [ -n "$link$link_uri" ];then - addproviders - Url="$link$link_uri" - Https='' - setconfig Url "'$Url'" - setconfig Https - # 获取在线文件 - jump_core_config - else - content_line "\033[31m请先完成必填选项!\033[0m" - fi - ;; - d) - if [ -n "$name" ] && [ -n "$link" ];then - sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg - content_line "\033[32m$COMMON_SUCCESS\033[0m" - elif [ -n "$name" ] && [ -n "$link_uri" ];then - sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg - content_line "\033[32m$COMMON_SUCCESS\033[0m" - fi - break - ;; - e) - if [ -n "$link" ];then - content_line "注意:\033[31m此功能不兼容“跳过证书验证”功能\033[0m" - content_line "\033[31m请确认你完全理解自己在做什么\033[0m" - read -p "我确认遇到问题可以自行解决(1/0) > " res - [ "$res" = "1" ] && { - if [ -s "$CRASHDIR/$link" ];then - [ -n "$name" ] && addproviders - ln -sf "$CRASHDIR/$link" "$CONFIG_PATH" - elif [ -n "$link" ];then - [ -n "$name" ] && addproviders - Https="$link" - Url='' - setconfig Https "'$Https'" - setconfig Url - # 获取在线文件 - jump_core_config - fi - } - else - content_line "\033[31m$请先完成必填选项!\033[0m" - fi - ;; - *) - error_letter - break - ;; - esac - done + separator_line "=" + content_line "订阅链接-支持https/http开头的clash配置文件订阅链接" + content_line "分享链接-支持ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)..." + content_line "本地文件-必须放在此目录下:\033[32m$CRASHDIR/providers\033[0m" + separator_line "-" + read -p "请输入具体链接或文件名 > " text + text=$(echo "$text" | sed 's/ //g') #去空格 + if echo "$text" | grep -q '^http'; then + text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接 + link="$text" + elif [ -n "$(echo $text | grep -E '^ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)')" ]; then + link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 + [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) + elif [ -f "$CRASHDIR/providers/$text" ]; then + link="./providers/$text" + else + error_input + fi + ;; + 3) + read -p "请输入健康检查间隔(单位:分钟) > " num + if [ -n "$num" ]; then + interval="$num" + else + errornum + fi + ;; + 4) + read -p "请输入自动更新间隔(单位:小时) > " num + if [ -n "$num" ]; then + interval2="$num" + else + errornum + fi + ;; + 5) + read -p "请输入需要排除的节点关键字(支持正则) > " text + if [ -n "$text" ]; then + exclude="$text" + else + error_input + fi + ;; + 6) + read -p "请输入需要筛选使用的节点关键字(支持正则) > " text + if [ -n "$text" ]; then + include="$text" + else + error_input + fi + ;; + 7) + read -p "请输入浏览器UA > " text + if [ -n "$text" ]; then + ua="$text" + else + error_input + fi + ;; + a) + addproviders && common_success + break + ;; + b) + if echo "$link" | grep -q '^http'; then + addproviders + . "$CRASHDIR"/menus/providers.sh + gen_${coretype}_providers "$name" "$link" "$interval" "$interval2" "$exclude" "$include" + else + content_line "\033[31m$请先完成必填选项!\033[0m" + fi + ;; + c) + if [ -n "$name" ] && [ -n "$link$link_uri" ]; then + addproviders + Url="$link$link_uri" + Https='' + setconfig Url "'$Url'" + setconfig Https + # 获取在线文件 + jump_core_config + else + content_line "\033[31m请先完成必填选项!\033[0m" + fi + ;; + d) + if [ -n "$name" ] && [ -n "$link" ]; then + sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg + content_line "\033[32m$COMMON_SUCCESS\033[0m" + elif [ -n "$name" ] && [ -n "$link_uri" ]; then + sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg + content_line "\033[32m$COMMON_SUCCESS\033[0m" + fi + break + ;; + e) + if [ -n "$link" ]; then + content_line "注意:\033[31m此功能不兼容“跳过证书验证”功能\033[0m" + content_line "\033[31m请确认你完全理解自己在做什么\033[0m" + read -p "我确认遇到问题可以自行解决(1/0) > " res + [ "$res" = "1" ] && { + if [ -s "$CRASHDIR/$link" ]; then + [ -n "$name" ] && addproviders + ln -sf "$CRASHDIR/$link" "$CONFIG_PATH" + elif [ -n "$link" ]; then + [ -n "$name" ] && addproviders + Https="$link" + Url='' + setconfig Https "'$Https'" + setconfig Url + # 获取在线文件 + jump_core_config + fi + } + else + content_line "\033[31m$请先完成必填选项!\033[0m" + fi + ;; + *) + error_letter + break + ;; + esac + done } addproviders() { - [ -n "$name" ] && { - [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg - [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg - } - if [ -n "$name" ] && [ -n "$link" ];then - echo "$name $link $interval $interval2 $ua $exclude $include" >>"$CRASHDIR"/configs/providers.cfg - return 0 - elif [ -n "$name" ] && [ -n "$link_uri" ];then - echo "$name $link_uri" >>"$CRASHDIR"/configs/providers_uri.cfg - return 0 - else - error_report "\033[31m请先完成必填选项!\033[0m" - return 1 - fi + [ -n "$name" ] && { + [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg + [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg + } + if [ -n "$name" ] && [ -n "$link" ]; then + echo "$name $link $interval $interval2 $ua $exclude $include" >>"$CRASHDIR"/configs/providers.cfg + return 0 + elif [ -n "$name" ] && [ -n "$link_uri" ]; then + echo "$name $link_uri" >>"$CRASHDIR"/configs/providers_uri.cfg + return 0 + else + error_report "\033[31m请先完成必填选项!\033[0m" + return 1 + fi } # 调用工具在线获取配置文件 -jump_core_config(){ - . "$CRASHDIR"/starts/core_config.sh && get_core_config - if [ "$?" = 0 ];then - if [ "$inuserguide" != 1 ];then - read -p "是否启动服务以使配置文件生效?(1/0) > " res - [ "$res" = 1 ] && start_core || main_menu - exit; - fi - fi +jump_core_config() { + . "$CRASHDIR"/starts/core_config.sh && get_core_config + if [ "$?" = 0 ]; then + if [ "$inuserguide" != 1 ]; then + read -p "是否启动服务以使配置文件生效?(1/0) > " res + [ "$res" = 1 ] && start_core || main_menu + exit + fi + fi } diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index b8f0986c..5d38b815 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -1,22 +1,23 @@ - error_report() { line_break separator_line "=" content_line "\033[31m$1\033[0m" separator_line "=" - sleep 1 + sleep 1 } -common_tittle() { - line_break - separator_line "=" - content_line "$1" - separator_line "-" +format_box() { + line_break + separator_line "=" + for line in "$@"; do + content_line "$line" + done + separator_line "=" } common_back() { - content_line "0) $COMMON_BACK" - separator_line "=" + content_line "0) $COMMON_BACK" + separator_line "=" } errornum() { @@ -24,21 +25,21 @@ errornum() { } error_letter() { - error_report "\033[31m$COMMON_ERR_LETTER\033[0m" + error_report "\033[31m$COMMON_ERR_LETTER\033[0m" } error_input() { - error_report "\033[31m$COMMON_ERR_INPUT\033[0m" + error_report "\033[31m$COMMON_ERR_INPUT\033[0m" } cancel_back() { - separator_line "-" - content_line "$COMMON_CANCEL" - sleep 1 + separator_line "-" + content_line "$COMMON_CANCEL" + sleep 1 } common_success() { - separator_line "-" - content_line "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 + separator_line "-" + content_line "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 } diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index 4fe3bfda..01d3d0a9 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -1,19 +1,30 @@ #!/bin/sh # Copyright (C) Juewuy -#卸载 +# 卸载 uninstall() { - read -p "确认卸载ShellCrash?(警告:该操作不可逆!)[1/0] > " res + format_box "\033[31m警告:\033[0m" \ + "\033[31m该操作不可逆!\033" \ + "是否确认卸载ShellCrash:" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then - #停止服务 + # 停止服务 "$CRASHDIR"/start.sh stop 2>/dev/null "$CRASHDIR"/start.sh cronset "clash服务" 2>/dev/null "$CRASHDIR"/start.sh cronset "订阅链接" 2>/dev/null "$CRASHDIR"/start.sh cronset "ShellCrash初始化" 2>/dev/null "$CRASHDIR"/start.sh cronset "task.sh" 2>/dev/null - #移除安装目录 + + # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then - read -p "是否保留脚本配置及订阅文件?[1/0] > " res + format_box "是否保留脚本配置及订阅文件:" + content_line "1) 是" + content_line "0) 否" + separator_line "=" + read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then mv -f "$CRASHDIR"/configs /tmp/ShellCrash/configs_bak mv -f "$CRASHDIR"/yamls /tmp/ShellCrash/yamls_bak @@ -26,10 +37,10 @@ uninstall() { rm -rf "$CRASHDIR" fi else - echo -e "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" - sleep 1 + error_report "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" fi - #移除其他内容 + + # 移除其他内容 sed -i "/alias $my_alias=*/"d /etc/profile 2>/dev/null sed -i '/alias crash=*/'d /etc/profile 2>/dev/null sed -i '/export CRASHDIR=*/'d /etc/profile 2>/dev/null @@ -54,12 +65,13 @@ uninstall() { userdel -r shellcrash 2>/dev/null nvram set script_usbmount="" 2>/dev/null nvram commit 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" - echo -e "\033[33m请手动关闭当前窗口以重置环境变量!\033[0m" - echo "-----------------------------------------------" - exit + format_box "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" \ + "\033[33m请手动关闭当前窗口以重置环境变量!\033[0m" + line_break + sleep 1 + exit 0 else - echo -e "\033[31m操作已取消!\033[0m" + format_box "\033[31m操作已取消!\033[0m" + sleep 1 fi } From 26fca6b359e342e62c0c782b496ab460bd332199 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 24 Jan 2026 22:05:49 +0800 Subject: [PATCH 140/318] =?UTF-8?q?~=E5=AE=8C=E5=96=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=94=AF=E6=8C=81=EF=BC=9A=20=20=C2=B7?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=AE=A1=E7=90=86=E5=90=84=E7=A7=8D=E8=AE=A2?= =?UTF-8?q?=E9=98=85/=E8=8A=82=E7=82=B9=E9=93=BE=E6=8E=A5=EF=BC=8C?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=EF=BC=8C?= =?UTF-8?q?=E6=9C=AC=E5=9C=B0base64=E6=96=87=E4=BB=B6=20=20=C2=B7=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E8=AE=A2=E9=98=85=E3=80=81=E6=9C=AC=E5=9C=B0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E9=80=9A=E8=BF=87providers=E7=94=9F=E6=88=90=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=20=20=C2=B7=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E3=80=81=E8=8A=82=E7=82=B9=E9=80=9A=E8=BF=87?= =?UTF-8?q?Subconverter=E8=8E=B7=E5=8F=96=E5=9C=A8=E7=BA=BF=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=20=20=C2=B7=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E3=80=81=E6=9C=AC=E5=9C=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E4=BD=9C=E4=B8=BA=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E4=BD=BF=E7=94=A8=20=20=C2=B7=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=94=9F=E6=88=90=E5=85=A8=E9=83=A8=E6=8F=90=E4=BE=9B=E8=80=85?= =?UTF-8?q?=EF=BC=8C=E6=94=AF=E6=8C=81=E5=9C=A8=E7=BA=BF=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E8=AE=A2=E9=98=85=E3=80=81=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=20=20=C2=B7=E6=9C=AC=E5=9C=B0=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E8=83=BD=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=81=A5=E5=BA=B7=E6=A3=80=E6=9F=A5/=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=9B=B4=E6=96=B0=E9=97=B4=E9=9A=94=E3=80=81=E6=AD=A3?= =?UTF-8?q?=E5=88=99=E7=AD=9B=E9=80=89=E5=8F=8AUA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/common.lang | 2 +- scripts/lang/en/common.lang | 2 +- scripts/menus/1_start.sh | 10 +- scripts/menus/6_core_config.sh | 178 ++++++++++++---------- scripts/menus/common.sh | 4 + scripts/menus/providers.sh | 233 ++--------------------------- scripts/menus/providers_clash.sh | 123 +++++++++++++++ scripts/menus/providers_singbox.sh | 129 ++++++++++++++++ scripts/menus/subconverter.sh | 15 +- scripts/menus/tui_lite.sh | 2 +- scripts/starts/bfstart.sh | 4 + 11 files changed, 394 insertions(+), 308 deletions(-) create mode 100644 scripts/menus/providers_clash.sh create mode 100644 scripts/menus/providers_singbox.sh diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang index 0bdfae85..0895be08 100644 --- a/scripts/lang/chs/common.lang +++ b/scripts/lang/chs/common.lang @@ -9,4 +9,4 @@ COMMON_MOD="模式" COMMON_ERR_NUM="请输入正确的数字!" COMMON_ERR_LETTER="请输入正确的字母或数字!" COMMON_ERR_INPUT="输入错误,请重新输入!" -COMMON_ERR_INPUT="操作已取消!" +COMMON_ERR_CANCEL="操作已取消!" diff --git a/scripts/lang/en/common.lang b/scripts/lang/en/common.lang index 8a089b1e..25d435ee 100644 --- a/scripts/lang/en/common.lang +++ b/scripts/lang/en/common.lang @@ -9,4 +9,4 @@ COMMON_MOD="Mod" COMMON_ERR_NUM="Please enter a valid number!" COMMON_ERR_LETTER="Please enter a valid letter or number!" COMMON_ERR_INPUT="Invalid input, please try again!" -COMMON_ERR_INPUT="Operation cancelled!" +COMMON_ERR_CANCEL="Operation cancelled!" diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index 7548dd4e..64371e81 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -32,10 +32,12 @@ start_core() { fi if [ ! -s "$core_config" ] && [ -s "$CRASHDIR/configs/providers.cfg" ]; then - [ "$crashcore" = singboxr ] && coretype=singbox - [ "$crashcore" = meta -o "$crashcore" = clashpre ] && coretype=clash - - . "$CRASHDIR/menus/6_core_config.sh" && gen_"${coretype}"_providers + if [ "$crashcore" = singboxr ];then + CORE_TYPE=singbox + else + CORE_TYPE=clash + fi + . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" && gen_providers line_break separator_line "=" diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index d3e3d4c6..c19d556b 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -5,10 +5,13 @@ __IS_MODULE_6_CORECONFIG_LOADED=1 if echo "$crashcore" | grep -q 'singbox'; then - CONFIG_PATH="$CRASHDIR"/yamls/config.json + CONFIG_PATH="$CRASHDIR"/jsons/config.json + CORE_TYPE=singbox else - CONFIG_PATH="$CRASHDIR"/jsons/config.yaml + CONFIG_PATH="$CRASHDIR"/yamls/config.yaml + CORE_TYPE=clash fi +URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?' # 配置文件主界面 set_core_config() { @@ -17,15 +20,14 @@ set_core_config() { [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { echo -e "\033[36m输入数字可管理对应提供者\033[0m" cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | - awk '{print " " NR ") " $1 "\t" substr($2,1,30) "..."}' + awk '{print " " NR ") " $1 " \t\t" substr($2,1,30) "..."}' separator_line "-" } - content_line "a) \033[32m添加提供者\033[0m(支持订阅/节点/本地文件)" - content_line "b) \033[36m本地生成配置文件\033[0m(基于providers,推荐!)" - content_line "c) \033[33m在线生成配置文件\033[0m(Subconverter)" + content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" + content_line "b) \033[36m本地生成配置文件\033[0m(By Providers,推荐!)" + content_line "c) \033[33m在线生成配置文件\033[0m(By Subconverter)" content_line "d) \033[31m清空提供者列表\033[0m" content_line "e) \033[36m自定义配置文件\033[0m" - content_line "f) \033[33m还原配置文件\033[0m" common_back read -r -p "$COMMON_INPUT_L > " num @@ -35,10 +37,9 @@ set_core_config() { ;; [1-9] | [1-9][0-9]) line=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | sed -n "$num p") - setproviders + setproviders "$line" ;; a) - line='' setproviders ;; b) @@ -80,28 +81,6 @@ set_core_config() { [ "$checkcfg" != "$checkcfg_new" ] && checkrestart fi ;; - f) - if [ ! -f "$CONFIG_PATH".bak ]; then - echo "-----------------------------------------------" - content_line "\033[31m没有找到配置文件的备份!\033[0m" - else - echo "-----------------------------------------------" - content_line "备份文件共有\033[32m$(wc -l <$"$CONFIG_PATH".bak)\033[0m行内容" - content_line "当前文件共有\033[32m$(wc -l <$"$CONFIG_PATH")\033[0m行内容" - read -p "确认还原配置文件?此操作不可逆![1/0] > " res - if [ "$res" = '1' ]; then - mv "$CONFIG_PATH".bak "$CONFIG_PATH" - echo "----------------------------------------------" - content_line "\033[32m配置文件已还原!请手动重启服务!\033[0m" - sleep 1 - break - else - echo "-----------------------------------------------" - content_line "\033[31m操作已取消!返回上级菜单!\033[0m" - sleep 1 - fi - fi - ;; *) error_letter @@ -112,23 +91,24 @@ set_core_config() { } setproviders() { - case "$(echo "$line" | cut -d ' ' -f 2)" in + case "$(echo "$@" | cut -d ' ' -f 2)" in http* | ./providers*) - set -- $line + set -- $@ name=$1 link=$2 interval=$3 interval2=$4 ua=$5 - exclude=$6 - include=$7 + exclude_w=${6#\#} + include_w=${7#\#} ;; - *) + *://*) set -- $line name=$1 link_uri=$2 ;; esac + last_name="$name" [ -z "$interval" ] && interval=3 [ -z "$interval2" ] && interval2=12 [ -z "$ua" ] && ua='clash.meta' @@ -141,13 +121,13 @@ setproviders() { separator_line '-' content_line "3) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" content_line "4) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" - content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude\033[0m" - content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include\033[0m" + content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" + content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" echo "$link" | grep -q '^http' && content_line "7) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" } separator_line "-" - content_line "a) \033[32m添加此提供者\033[0m" + content_line "a) \033[36m保存此提供者\033[0m" [ -n "$link" ] && content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" echo "$link$link_uri" | grep -q '://' && @@ -175,23 +155,58 @@ setproviders() { ;; 2) separator_line "=" - content_line "订阅链接-支持https/http开头的clash配置文件订阅链接" - content_line "分享链接-支持ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)..." - content_line "本地文件-必须放在此目录下:\033[32m$CRASHDIR/providers\033[0m" + content_line "\033[33m订阅链接\033[0m: https/http开头的clash配置文件订阅链接" + content_line "\033[36m分享链接\033[0m: $URI_EXP" + content_line "\033[33m本地文件\033[0m: 必须放在此目录下:\033[32m$CRASHDIR/providers\033[0m" + content_line "\033[36m Base64 \033[0m: 请直接写入本地文件" separator_line "-" - read -p "请输入具体链接或文件名 > " text + list=$( + for f in "$CRASHDIR"/providers/*; do + [ "$f" = "$CRASHDIR"/providers/uri_group ] && continue + [ -f "$f" ] || continue + printf '%s\n' "${f##*/}" + done | sort -V + ) + if [ -n "$list" ];then + i=1 + printf '%s\n' "$list" | while IFS= read -r f; do + content_line "$i) $f" + i=$((i+1)) + done + separator_line "-" + read -r -p "请选择对应文件或输入具体链接 > " text + else + read -r -p "请输入具体链接 > " text + fi text=$(echo "$text" | sed 's/ //g') #去空格 - if echo "$text" | grep -q '^http'; then + case "$text" in + http*) + #处理订阅链接 text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接 link="$text" - elif [ -n "$(echo $text | grep -E '^ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)')" ]; then - link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 - [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) - elif [ -f "$CRASHDIR/providers/$text" ]; then - link="./providers/$text" - else - error_input - fi + common_success + ;; + [1-9] | [1-9][0-9]) + #处理本地文件 + file=$(printf '%s\n' "$list" | sed -n "${text}p") + if [ -s "$CRASHDIR/providers/$file" ]; then + link="$file" + common_success + else + errornum + fi + ;; + *) + #处理分享链接 + if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then + link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 + [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) + common_success + else + error_input + fi + ;; + esac ;; 3) read -p "请输入健康检查间隔(单位:分钟) > " num @@ -210,38 +225,49 @@ setproviders() { fi ;; 5) - read -p "请输入需要排除的节点关键字(支持正则) > " text - if [ -n "$text" ]; then - exclude="$text" - else - error_input - fi + read -p "请输入需要排除的节点关键字(支持正则,不支持空格,输入0删除) > " text + text=$(echo "$text" | sed 's/ //g') #去空格 + case "$text" in + 0) + exclude_w='' + ;; + *) + exclude_w="$text" + ;; + esac ;; 6) - read -p "请输入需要筛选使用的节点关键字(支持正则) > " text - if [ -n "$text" ]; then - include="$text" - else - error_input - fi + read -p "请输入需要筛选使用的节点关键字(支持正则,不支持空格,输入0删除) > " text + text=$(echo "$text" | sed 's/ //g') #去空格 + case "$text" in + 0) + include_w='' + ;; + *) + include_w="$text" + ;; + esac ;; 7) - read -p "请输入浏览器UA > " text - if [ -n "$text" ]; then - ua="$text" - else - error_input - fi + read -p "请输入浏览器UA(输入0重置) > " text + case "$text" in + 0) + include_w='clash.meta' + ;; + *) + include_w="$text" + ;; + esac ;; a) addproviders && common_success break ;; b) - if echo "$link" | grep -q '^http'; then + if [ -n "$name" ] && [ -n "$link" ]; then addproviders - . "$CRASHDIR"/menus/providers.sh - gen_${coretype}_providers "$name" "$link" "$interval" "$interval2" "$exclude" "$include" + . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" + gen_providers "$name" "$link" "$interval" "$interval2" "$ua" "#$exclude_w" "#$include_w" else content_line "\033[31m$请先完成必填选项!\033[0m" fi @@ -302,11 +328,11 @@ setproviders() { addproviders() { [ -n "$name" ] && { - [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg - [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg + [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$last_name /d" "$CRASHDIR"/configs/providers.cfg + [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && sed -i "/^$last_name /d" "$CRASHDIR"/configs/providers_uri.cfg } if [ -n "$name" ] && [ -n "$link" ]; then - echo "$name $link $interval $interval2 $ua $exclude $include" >>"$CRASHDIR"/configs/providers.cfg + echo "$name $link $interval $interval2 $ua #$exclude_w #$include_w" >>"$CRASHDIR"/configs/providers.cfg return 0 elif [ -n "$name" ] && [ -n "$link_uri" ]; then echo "$name $link_uri" >>"$CRASHDIR"/configs/providers_uri.cfg diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index 5d38b815..55c8aeb6 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -32,6 +32,10 @@ error_input() { error_report "\033[31m$COMMON_ERR_INPUT\033[0m" } +error_cancel() { + error_report "\033[31m$COMMON_ERR_CANCEL\033[0m" +} + cancel_back() { separator_line "-" content_line "$COMMON_CANCEL" diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index 5a981454..cc657967 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -5,220 +5,23 @@ __IS_MODULE_PROVIDERS=1 if [ "$crashcore" = singboxr ]; then - coretype=singbox + CORE_TYPE=singbox else - coretype=clash + CORE_TYPE=clash fi -gen_clash_providers(){ #生成clash的providers配置文件 - gen_clash_providers_txt(){ - if [ -n "$(echo $2|grep -E '^./')" ];then - local type=file - local path=$2 - local download_url= - else - local type=http - local path="./providers/${1}.yaml" - local download_url=$2 - fi - cat >> $TMPDIR/providers/providers.yaml <> $TMPDIR/providers/providers.yaml < "$TMPDIR"/providers/providers.yaml - #切割模版文件 - sed -n '/^proxy-groups:/,/^[a-z]/ { /^rule/d; p; }' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/proxy-groups.yaml - sed -n '/^rule/,$p' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/rules.yaml - rm -rf "$TMPDIR"/provider_temp_file - #生成providers模块 - if [ -n "$2" ];then - gen_clash_providers_txt $1 $2 - providers_tags=$1 - echo ' - {name: '${1}', type: url-test, tolerance: 100, lazy: true, use: ['${1}']}' >> "$TMPDIR"/providers/proxy-groups.yaml - else - providers_tags='' - while read line;do - tag=$(echo $line | awk '{print $1}') - url=$(echo $line | awk '{print $2}') - providers_tags=$(echo "$providers_tags, $tag" | sed 's/^, //') - gen_clash_providers_txt $tag $url - echo ' - {name: '${tag}', type: url-test, tolerance: 100, lazy: true, use: ['${tag}']}' >> "$TMPDIR"/providers/proxy-groups.yaml - done < "$CRASHDIR"/configs/providers.cfg - fi - #修饰模版文件并合并 - sed -i "s/{providers_tags}/$providers_tags/g" "$TMPDIR"/providers/proxy-groups.yaml - cut -c 1- "$TMPDIR"/providers/providers.yaml "$TMPDIR"/providers/proxy-groups.yaml "$TMPDIR"/providers/rules.yaml > "$TMPDIR"/config.yaml - rm -rf "$TMPDIR"/providers - #调用内核测试 - . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml - if [ "$?" = 0 ];then - echo -e "\033[32m配置文件生成成功!\033[0m" - mkdir -p "$CRASHDIR"/yamls - mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml - read -p "是否立即启动/重启服务?(1/0) > " res - [ "$res" = 1 ] && { - start_core && cronset '更新订阅' - exit - } - else - rm -rf "$TMPDIR"/CrashCore - rm -rf "$TMPDIR"/config.yaml - echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" - fi -} -gen_singbox_providers(){ #生成singbox的providers配置文件 - gen_singbox_providers_txt(){ - if [ -n "$(echo $2|grep -E '^./')" ];then - cat >> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/outbounds_add.json <> "$TMPDIR"/providers/outbounds_add.json - else - providers_tags='' - while read line;do - tag=$(echo $line | awk '{print $1}') - url=$(echo $line | awk '{print $2}') - providers_tags=$(echo "$providers_tags, \"$tag\"" | sed 's/^, //') - gen_singbox_providers_txt $tag $url - echo '{ "tag": "'${tag}'", "type": "urltest", "tolerance": 100, "providers": ["'${tag}'"], "include": ".*" },' >> "$TMPDIR"/providers/outbounds_add.json - done < "$CRASHDIR"/configs/providers.cfg - fi - #修复文件格式 - sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json - sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json - #使用模版生成outbounds和rules模块 - cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json - rm -rf "$TMPDIR"/provider_temp_file - #调用内核测试 - . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers - if [ "$?" = 0 ];then - echo -e "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" - mkdir -p "$CRASHDIR"/jsons - mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json - rm -rf "$TMPDIR"/providers - read -p "是否立即启动/重启服务?(1/0) > " res - [ "$res" = 1 ] && { - start_core && cronset '更新订阅' - exit - } - else - echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" - rm -rf "$TMPDIR"/CrashCore - rm -rf "$TMPDIR"/providers - fi -} - -#providers providers() { - . "$CRASHDIR"/libs/web_get_bin.sh while true; do # 获取模版名称 - if [ -z "$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then - provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') + if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then + provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}') else - provider_temp_file=$(grep "provider_temp_${coretype}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print $1}') + provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') + provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}') [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file fi + echo "-----------------------------------------------" + echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" echo "-----------------------------------------------" echo -e " 1 \033[32m生成\033[0m包含全部节点/订阅的配置文件" echo -e " 2 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" @@ -232,13 +35,9 @@ providers() { ;; 1) echo "-----------------------------------------------" - if [ -s "$CRASHDIR"/configs/providers.cfg ]; then - echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" - echo "-----------------------------------------------" - read -p "确认生成${coretype}配置文件?(1/0) > " res - [ "$res" = "1" ] && { - gen_${coretype}_providers - } + if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then + . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" + gen_providers else echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" sleep 1 @@ -249,7 +48,7 @@ providers() { echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m" echo -e "\033[33m请选择在线模版:\033[0m" echo "-----------------------------------------------" - cat "$CRASHDIR"/configs/${coretype}_providers.list | awk '{print " "NR" "$1}' + cat "$CRASHDIR/configs/$CORE_TYPE_providers.list" | awk '{print " "NR" "$1}' echo "-----------------------------------------------" echo -e " a 使用\033[36m本地模版\033[0m" echo "-----------------------------------------------" @@ -260,7 +59,7 @@ providers() { read -p "请输入模版的路径(绝对路径) > " dir if [ -s $dir ]; then provider_temp_file=$dir - setconfig provider_temp_${coretype} $provider_temp_file + setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file" echo -e "\033[32m设置成功!\033[0m" else echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m" @@ -268,12 +67,12 @@ providers() { sleep 1 ;; *) - provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${coretype}_providers.list 2>/dev/null | awk '{print $2}') + provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list 2>/dev/null | awk '{print $2}') if [ -z "$provider_temp_file" ]; then errornum sleep 1 else - setconfig provider_temp_${coretype} $provider_temp_file + setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file" fi ;; esac @@ -281,7 +80,7 @@ providers() { 3) echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" read -p "是否继续?(1/0) > " res - [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers + [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers && common_success ;; *) errornum diff --git a/scripts/menus/providers_clash.sh b/scripts/menus/providers_clash.sh new file mode 100644 index 00000000..689905b7 --- /dev/null +++ b/scripts/menus/providers_clash.sh @@ -0,0 +1,123 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_PROVIDERS_CLASH" ] && return +__IS_PROVIDERS_CLASH=1 + +. "$CRASHDIR"/libs/web_get_bin.sh + +#生成clash的providers配置文件 +gen_providers(){ + if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then + provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $2}')" + else + provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') + fi + echo "-----------------------------------------------" + if [ -s "$provider_temp_file" ];then + ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file + else + echo -e "\033[33m正在获取在线模版!\033[0m" + get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" + [ -z "$(grep -o 'rules' "$TMPDIR"/provider_temp_file)" ] && { + echo -e "\033[31m下载失败,请尝试更换安装源!\033[0m" + . "$CRASHDIR"/menus/9_upgrade.sh && setserver + setproviders + } + fi + #生成proxy_providers模块 + mkdir -p "$TMPDIR"/providers + #预创建文件并写入对应文件头 + echo 'proxy-providers:' > "$TMPDIR"/providers/providers.yaml + #切割模版文件 + sed -n '/^proxy-groups:/,/^[a-z]/ { /^rule/d; p; }' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/proxy-groups.yaml + sed -n '/^rule/,$p' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/rules.yaml + rm -rf "$TMPDIR"/provider_temp_file + #基于单订阅生成providers模块 + if [ -n "$1" ];then + gen_providers_txt $@ + providers_tags=$1 + else + #基于全部订阅/本地文件生成 + [ -s "$CRASHDIR"/configs/providers.cfg ] && { + providers_tags='' + while read line;do + gen_providers_txt $line + providers_tags=$(echo "$providers_tags, $tag" | sed 's/^, //') + done < "$CRASHDIR"/configs/providers.cfg + } + #基于全部节点分享链接生成 + [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { + mkdir -p "$CRASHDIR"/providers + awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' "$CRASHDIR"/configs/providers_uri.cfg > "$CRASHDIR"/providers/uri_group + gen_providers_txt "Uri_group" "./providers/uri_group" "3" "12" + providers_tags=$(echo "$providers_tags, Uri_group" | sed 's/^, //') + } + fi + #修饰模版文件并合并 + sed -i "s/{providers_tags}/$providers_tags/g" "$TMPDIR"/providers/proxy-groups.yaml + cut -c 1- "$TMPDIR"/providers/providers.yaml "$TMPDIR"/providers/proxy-groups.yaml "$TMPDIR"/providers/rules.yaml > "$TMPDIR"/config.yaml + rm -rf "$TMPDIR"/providers + #调用内核测试 + . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml + if [ "$?" = 0 ];then + echo -e "\033[32m配置文件生成成功!\033[0m" + mkdir -p "$CRASHDIR"/yamls + mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml + read -p "是否立即启动/重启服务?(1/0) > " res + [ "$res" = 1 ] && { + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + exit + } + else + rm -rf "$TMPDIR"/CrashCore + rm -rf "$TMPDIR"/config.yaml + echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + fi +} + +gen_providers_txt(){ + if [ -n "$(echo $2|grep -E '^./')" ];then + type=file + path=$2 + download_url= + else + type=http + path="./providers/$1.yaml" + download_url=$2 + fi + tag=$1 + interval=${3:-3} + interval2=${4:-12} + ua=${5:-clash.meta} + exclude=${6#\#} + include=${7#\#} + + cat >> "$TMPDIR"/providers/providers.yaml <> "$TMPDIR"/providers/providers.yaml <> "$TMPDIR"/providers/proxy-groups.yaml +} + \ No newline at end of file diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh new file mode 100644 index 00000000..c3e06a0a --- /dev/null +++ b/scripts/menus/providers_singbox.sh @@ -0,0 +1,129 @@ +#!/bin/sh +# Copyright (C) Juewuy + +[ -n "$__IS_PROVIDERS_SINGBOX" ] && return +__IS_PROVIDERS_SINGBOX=1 + +. "$CRASHDIR"/libs/web_get_bin.sh + +#生成singbox的providers配置文件 +gen_providers(){ + if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then + provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $2}')" + else + provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') + fi + echo "-----------------------------------------------" + if [ -s "$provider_temp_file" ];then + ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file + else + echo -e "\033[33m正在获取在线模版!\033[0m" + get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" + [ -z "$(grep -o 'route' "$TMPDIR"/provider_temp_file)" ] && { + echo -e "\033[31m下载失败,请尝试更换安装源!\033[0m" + . "$CRASHDIR"/menus/9_upgrade.sh && setserver + setproviders + } + fi + #生成outbound_providers模块 + mkdir -p "$TMPDIR"/providers + #预创建文件并写入对应文件头 + cat > "$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/outbounds_add.json < "$CRASHDIR"/providers/uri_group + gen_providers_txt "Uri_group" "./providers/uri_group" "3" "12" + providers_tags=$(echo "$providers_tags, \"Uri_group\"" | sed 's/^, //') + } + fi + #修复文件格式 + sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json + sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json + #使用模版生成outbounds和rules模块 + cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json + rm -rf "$TMPDIR"/provider_temp_file + #调用内核测试 + . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers + if [ "$?" = 0 ];then + echo -e "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" + mkdir -p "$CRASHDIR"/jsons + mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json + rm -rf "$TMPDIR"/providers + read -p "是否立即启动/重启服务?(1/0) > " res + [ "$res" = 1 ] && { + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + exit + } + else + echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + rm -rf "$TMPDIR"/CrashCore + #rm -rf "$TMPDIR"/providers + fi +} + +gen_providers_txt(){ + tag=$1 + interval=${3:-3} + interval2=${4:-12} + ua=${5:-clash.meta} + exclude=${6#\#} + include=${7#\#} + if [ -n "$(echo $2|grep -E '^./')" ];then + cat >> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/outbounds_add.json +} diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index ce2cbd3d..04e15560 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -11,12 +11,12 @@ __IS_MODULE_SUBCONVERTER=1 subconverter() { while true; do separator_line "-" - content_line " 1 \033[36m开始生成配置文件\033[0m" - content_line " 2 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" - content_line " 3 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" - content_line " 4 选择\033[33m在线规则模版\033[0m" - content_line " 5 选择\033[0mSubconverter服务器\033[0m" - content_line " 6 自定义浏览器UA \033[32m$user_agent\033[0m" + content_line "1) \033[36m开始生成配置文件\033[0m" + content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" + content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" + content_line "4) 选择\033[33m在线规则模版\033[0m" + content_line "5) 选择\033[0mSubconverter服务器\033[0m" + content_line "6) 自定义浏览器UA \033[32m$user_agent\033[0m" common_back read -r -p "请输入对应数字 > " num case "$num" in @@ -124,8 +124,7 @@ gen_link_server() { #选择Subconverter服务器 content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m" echo 当前使用后端为:$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$3" "$2}' - separator_line "-" - echo 0 返回上级菜单 + common_back read -r -p "请输入对应数字 > " num totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list ) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then diff --git a/scripts/menus/tui_lite.sh b/scripts/menus/tui_lite.sh index 093afbcf..dfd0c816 100644 --- a/scripts/menus/tui_lite.sh +++ b/scripts/menus/tui_lite.sh @@ -1,6 +1,6 @@ content_line() { - printf '%b' "$1\n" + printf '%b' " $1\n" } sub_content_line() { diff --git a/scripts/starts/bfstart.sh b/scripts/starts/bfstart.sh index 09060756..b2af8ea0 100644 --- a/scripts/starts/bfstart.sh +++ b/scripts/starts/bfstart.sh @@ -97,6 +97,10 @@ fi [ ! -s "$BINDIR"/ui/index.html ] && makehtml #如没有面板则创建跳转界面 catpac #生成pac文件 #内核及内核配置文件检查 +[ "$CRASHDIR" != "$BINDIR" ] && { + mkdir -p "$BINDIR"/providers + ln -sf "$CRASHDIR"/providers/* "$BINDIR"/providers/ +} if echo "$crashcore" | grep -q 'singbox'; then . "$CRASHDIR"/starts/singbox_check.sh && singbox_check [ -d "$TMPDIR"/jsons ] && rm -rf "$TMPDIR"/jsons/* || mkdir -p "$TMPDIR"/jsons #准备目录 From e03be1f184ab0a675a1216f137659caf8f7b3a99 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 24 Jan 2026 22:11:12 +0800 Subject: [PATCH 141/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/update_singbox_core.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update_singbox_core.yaml b/.github/workflows/update_singbox_core.yaml index 32f805fe..2eeb8072 100644 --- a/.github/workflows/update_singbox_core.yaml +++ b/.github/workflows/update_singbox_core.yaml @@ -88,7 +88,7 @@ jobs: git fetch --tags sekai version=$(CGO_ENABLED=0 go run ./cmd/internal/read_tag) [ -z "$version" ] && version=${{ inputs.tag2 }} - version=$(echo $version | sed 's/-.*$//') + version=$(echo ${version%-*}) echo version=$version >> $GITHUB_OUTPUT if [ -z "$TAGS" ];then if [ "$REPO" = 'SagerNet/sing-box' ];then From 3759951575ae2818280ab5619374660a235bafbc Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 24 Jan 2026 22:15:39 +0800 Subject: [PATCH 142/318] ~1.9.5a5 pkg --- ShellCrash.tar.gz | Bin 136525 -> 137663 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index c395af9726cd4b7f896eeac1709a012b7d3fb88a..dcc26acf56e4f2999583444e99804d67e2c2c4d4 100644 GIT binary patch literal 137663 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

feDr2riO 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 DNa|EB literal 136525 zcmW)ncQo7I|Hp|KiP0ot#AuNqu^JJZmLT>XwJQWMs#X=P7ERO$P3#e^5vxW~Ra9Fe z)CjezindmD(NCxD_S@g@eeOB$_kZtm@45FrpRdRB-XnQJJpcdj?fs6p=>H(@Xu;c- z_i6=ZtB_Dqtkbn>aG?tdy;%uN?q8Wb=@u)f6F$+EjsWUx1T*hnf&1M-&vzwFF9%P$ zMdx{JaaP;E#*gw2TVD|V+Y#70a7ZXu38PxJZOOTvdgIyk*4DQ@rInXLgwaC+5{qS=xxO%?s*rQJ0^0%i0 z6`XS4?1y&S#y7pdS5w}VfSd zqE4#zSC#oyW^OUq<-PB#1%qtw7M}ckK~N& zXx!YH@Y-Cpn+%s7v_-`Xm6kJ$I%P>h=6ags6uR`9)p{#Ed)4EL6-_S8wvvh4Z4}8s zKNQ(YD~jZigY4zn(Yk^4xFR`Tk2im|6vWQ#^OheL2pYI@31zN0P-M?fet@Nsk-CMq z&~Ufk#lqRG%&Eu;a6BYO14*+~aqvKeHhUpD&NmXk{4PIlN=uYfG+NqP96GMT^WPNO zGatIb7N00cDfk@C&<-&!giUKg!^SPuTuCFiW2^Pl$=qgX6XxLReA{BG(@XRL#C9w=&Q-?&WD{x#}!g7Ag5@too>L zTrlKFs)KW|_xF06ZE36&BYDe>RwjBk*^0+*&AcJtDl7-Q_zm_I6z&pZbTp&CVikdo z4O@;*uOKODc%ap8j!OU0vnafTCq%eq)iodhMp4X)fI7pus-B7Vxqz{z!OSjS9bJz- z53Fr0Su#rx*AY*W)DfGa5LaYsguWvOhxJ-e`&7U~ekjQ;~I=%IBAYHuT4w zAjdWyc;>(8blof;3sx#$MVb?9L{8LCe9;@$Abvq3ocvS>v+jGv5Nj>hYgWpIgLtiq zQ-BAN+F((qXiu}k+*66^@y{$}cIlR-H;

POP;p;I8{>dLEN|vN_6;))$3ik&q8| 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%0A2s-1~5ukTtw>PyF~q)&wyoWpFG-+QXS{tqE%?4 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%0D(#%<@RET*8+Q-5a?4y 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 diff --git a/bin/version b/bin/version index 48fe9b09..2689624b 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha4 +versionsh=1.9.5alpha5 GeoIP_v=20251205 diff --git a/version b/version index f31f81e5..93ea1c19 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha4 +1.9.5alpha5 From 4e0417c9512bf403e90ea0e41166e1ae0ba77ce7 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 25 Jan 2026 00:03:30 +0800 Subject: [PATCH 143/318] update --- scripts/menus/6_core_config.sh | 8 +- scripts/menus/check_port.sh | 6 +- scripts/menus/common.sh | 22 +- scripts/menus/dns.sh | 13 +- scripts/menus/fw_filter.sh | 389 +++++++++++++++++++-------------- scripts/menus/uninstall.sh | 5 +- 6 files changed, 253 insertions(+), 190 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index d3e3d4c6..fd1b84eb 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -47,10 +47,10 @@ set_core_config() { . "$CRASHDIR"/menus/providers.sh providers else - error_report "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" + msg_alert "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" fi else - error_report "请先添加提供者!" + msg_alert "请先添加提供者!" fi ;; c) @@ -58,7 +58,7 @@ set_core_config() { . "$CRASHDIR"/menus/subconverter.sh subconverter else - error_report "请先添加提供者!" + msg_alert "请先添加提供者!" fi ;; d) @@ -312,7 +312,7 @@ addproviders() { echo "$name $link_uri" >>"$CRASHDIR"/configs/providers_uri.cfg return 0 else - error_report "\033[31m请先完成必填选项!\033[0m" + msg_alert "\033[31m请先完成必填选项!\033[0m" return 1 fi } diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index 728ea1ba..97ef9124 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -3,13 +3,13 @@ check_port() { if [ "$1" -gt 65535 ] || [ "$1" -le 1 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" return 1 elif echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$1|"; then - echo -e "\033[31m输入错误!请不要输入重复的端口!\033[0m" + msg_alert "\033[31m输入错误!请不要输入重复的端口!\033[0m" return 1 elif netstat -ntul | grep -q ":$1[[:space:]]"; then - echo -e "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + msg_alert "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" return 1 else return 0 diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index 5d38b815..cf77fb6a 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -1,9 +1,19 @@ -error_report() { +msg_alert() { + # Default sleep time + _sleep_time=1 + + if [ "$1" = "-t" ] && [ -n "$2" ]; then + _sleep_time="$2" + shift 2 + fi + line_break separator_line "=" - content_line "\033[31m$1\033[0m" + for line in "$@"; do + content_line "$line" + done separator_line "=" - sleep 1 + sleep "$_sleep_time" } format_box() { @@ -21,15 +31,15 @@ common_back() { } errornum() { - error_report "\033[31m$COMMON_ERR_NUM\033[0m" + msg_alert "\033[31m$COMMON_ERR_NUM\033[0m" } error_letter() { - error_report "\033[31m$COMMON_ERR_LETTER\033[0m" + msg_alert "\033[31m$COMMON_ERR_LETTER\033[0m" } error_input() { - error_report "\033[31m$COMMON_ERR_INPUT\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" } cancel_back() { diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index e17168c9..2293c310 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -17,17 +17,18 @@ set_dns_mod() { 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 "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 "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 "3) 设为Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" content_line "" - content_line "4) $DNS_MENU_PROTECT:\t\033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" - content_line "5) $DNS_MENU_HOSTS:\t\033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" - content_line "6) $DNS_MENU_ECS:\t\033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" + content_line "4) $DNS_MENU_PROTECT:\t \033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" + content_line "5) $DNS_MENU_HOSTS:\t \033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" + content_line "6) $DNS_MENU_ECS:\t \033[36m$ecs_subnet\033[0m\t$DNS_ECS_DESC" content_line "7) $DNS_MENU_REDIR:\033[36m$dns_redir_port\033[0m\t$DNS_REDIR_PORT_DESC" [ "$dns_mod" = "mix" ] && content_line "8) \033[33m$DNS_FAKEIP_MENU\033[0m" content_line "9) \033[36m$DNS_ADV_MENU\033[0m" + content_line "" content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 13a2514d..3a5d3814 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -12,25 +12,27 @@ set_fw_filter() { [ -z "$cn_ip_route" ] && cn_ip_route=OFF touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON - echo "-----------------------------------------------" - echo -e " 1 过滤非常用端口: \033[36m$common_ports\033[0m ————用于过滤P2P流量" - echo -e " 2 过滤局域网设备: \033[36m$mac_return\033[0m ————使用黑/白名单进行过滤" - echo -e " 3 过滤QUIC协议: \033[36m$quic_rj\033[0m ————优化视频性能" - echo -e " 4 过滤CN_IP(4/6)列表: \033[36m$cn_ip_route\033[0m ————优化性能" - echo -e " 5 自定义透明路由ipv4网段: 适合vlan等复杂网络环境" - echo -e " 6 自定义保留地址ipv4网段: 需要以保留地址为访问目标的环境" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单 \033[0m" - echo "-----------------------------------------------" - read -r -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量" + content_line "2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤" + content_line "3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能" + content_line "4) 过滤CN_IP(4/6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" + content_line "5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" + content_line "6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" + common_back + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1) - echo "-----------------------------------------------" if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - read -r -p "切换时将停止服务,是否继续?(1/0) > " res + format_box "切换时将停止服务,是否继续:" + content_line "1) 是" + content_line "0) 否,返回上级菜单" + separator_line "=" + read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports else set_common_ports @@ -45,36 +47,32 @@ set_fw_filter() { fi ;; 3) - echo "-----------------------------------------------" if echo "$redir_mod" | grep -oqE '混合|Tproxy|Tun'; then if [ "$quic_rj" = "OFF" ]; then - echo -e "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" quic_rj=ON + msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" else - echo -e "\033[33m已取消禁止QUIC协议流量!!\033[0m" quic_rj=OFF + msg_alert "\033[33m已取消禁止QUIC协议流量!!\033[0m" fi setconfig quic_rj $quic_rj else - echo -e "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" + msg_alert "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" fi - sleep 1 ;; 4) if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then if [ "$cn_ip_route" = "OFF" ]; then - echo -e "\033[32m已开启CN_IP绕过内核功能!!\033[0m" - echo -e "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" cn_ip_route=ON - sleep 2 + msg_alert -t 2 "\033[32m已开启CN_IP绕过内核功能!!\033[0m" \ + "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" else - echo -e "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" cn_ip_route=OFF + msg_alert "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" fi setconfig cn_ip_route $cn_ip_route else - echo -e "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" - sleep 1 + msg_alert "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" fi ;; 5) @@ -82,23 +80,29 @@ set_fw_filter() { ;; 6) [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" - echo -e "当前网段:\033[36m$reserve_ipv4\033[0m" - echo -e "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" - read -p "请输入 > " text - if + format_box "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" \ + "当前网段:\033[36m$reserve_ipv4\033[0m" \ + "" \ + "请直接输入自定义保留地址ipv4网段" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + if [ "$text" = 0 ]; then + continue + elif echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" then reserve_ipv4="$text" - echo -e "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" - setconfig reserve_ipv4 "'$reserve_ipv4'" + if setconfig reserve_ipv4 "'$reserve_ipv4'"; then + msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi else - echo -e "\033[31m输入有误,操作已取消!\033[0m" + msg_alert "\033[31m输入有误,操作已取消!\033[0m" fi - sleep 1 ;; *) errornum - sleep 1 ;; esac done @@ -107,19 +111,21 @@ set_fw_filter() { set_common_ports() { while true; do [ -z "$multiport" ] && multiport='22,80,443,8080,8443' - echo "-----------------------------------------------" - echo -e "\033[31m注意:\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" - [ -n "$common_ports" ] && - echo -e "当前放行端口:\033[36m$multiport\033[0m" - echo "-----------------------------------------------" - echo -e " 1 启用/关闭端口过滤: \033[36m$common_ports\033[0m" - echo -e " 2 添加放行端口" - echo -e " 3 移除指定放行端口" - echo -e " 4 重置默认放行端口" - echo -e " 5 重置为旧版放行端口" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -r -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "\033[31m注意:\n\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" + if [ -n "$common_ports" ]; then + content_line "" + content_line "当前已放行端口:\033[36m$multiport\033[0m" + fi + separator_line "=" + content_line "1) 启用/关闭端口过滤: \033[36m$common_ports\033[0m" + content_line "2) 添加放行端口" + content_line "3) 移除指定放行端口" + content_line "4) 重置默认放行端口" + content_line "5) 重置为旧版放行端口" + common_back + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -130,52 +136,82 @@ set_common_ports() { else common_ports=ON fi - setconfig common_ports "$common_ports" + + if setconfig common_ports "$common_ports"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi ;; 2) port_count=$(echo "$multiport" | awk -F',' '{print NF}') if [ "$port_count" -ge 15 ]; then - echo -e "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" + format_box "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" else - read -r -p "请输入要放行的端口号 > " port - if echo ",$multiport," | grep -q ",$port,"; then - echo -e "\033[31m输入错误!请勿重复添加!\033[0m" + content_line + format_box "当前已放行端口:\033[36m$multiport\033[0m" \ + "" \ + "请直接输入要放行的端口号" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " port + if [ "$port" = 0 ]; then + continue + elif echo ",$multiport," | grep -q ",$port,"; then + msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" else multiport=$(echo "$multiport,$port" | sed "s/^,//") - setconfig multiport "$multiport" + + if setconfig multiport "$multiport"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi fi fi - sleep 1 ;; 3) - read -r -p "请输入要移除的端口号 > " port - if echo ",$multiport," | grep -q ",$port,"; then + format_box "当前已放行端口:\033[36m$multiport\033[0m" \ + "" \ + "请直接输入要移除的端口号" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " port + if [ "$port" = 0 ]; then + continue + elif echo ",$multiport," | grep -q ",$port,"; then if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - echo -e "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" else multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") - setconfig multiport "$multiport" + if setconfig multiport "$multiport"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi fi else - echo -e "\033[31m输入错误!请输入已添加过的端口!\033[0m" + msg_alert "\033[31m输入错误!请输入已添加过的端口!\033[0m" fi - sleep 1 ;; 4) multiport='' - setconfig multiport - sleep 1 + if setconfig multiport; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi ;; 5) multiport='22,80,143,194,443,465,587,853,993,995,5222,8080,8443' - setconfig multiport "$multiport" - sleep 1 + if setconfig multiport "$multiport"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi ;; *) errornum - sleep 1 ;; esac done @@ -186,39 +222,48 @@ set_cust_host_ipv4() { while true; do [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip - echo "-----------------------------------------------" - echo -e "当前默认透明路由的网段为: \033[32m$host_ipv4 \033[0m" - echo -e "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" - echo "-----------------------------------------------" - echo -e " 1 移除所有自定义网段" - echo -e " 2 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应的序号或需要额外添加的网段 > " text + format_box "当前默认透明路由的网段为:\033[32m$host_ipv4\033[0m" \ + "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" + content_line "1) 移除所有自定义网段" + content_line "2) 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" + common_back + read -r -p "请输入对应的序号或需要额外添加的网段> " text case "$text" in "" | 0) break ;; 1) unset cust_host_ipv4 - setconfig cust_host_ipv4 + if setconfig cust_host_ipv4; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi ;; 2) - if [ "$replace_default_host_ipv4" == "OFF" ]; then + if [ "$replace_default_host_ipv4" = "OFF" ]; then replace_default_host_ipv4="ON" else replace_default_host_ipv4="OFF" fi - setconfig replace_default_host_ipv4 "$replace_default_host_ipv4" + + if setconfig replace_default_host_ipv4 "$replace_default_host_ipv4"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi ;; *) - if [ -n "$(echo "$text" | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" ] && [ -z "$(echo "$cust_host_ipv4" | grep "$text")" ]; then + if [ -n "$(echo "$text" | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" ] && echo "$cust_host_ipv4" | grep -q "$text"; then cust_host_ipv4="$cust_host_ipv4 $text" - setconfig cust_host_ipv4 "'$cust_host_ipv4'" + if setconfig cust_host_ipv4 "'$cust_host_ipv4'"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi else - echo "-----------------------------------------------" - echo -e "\033[31m请输入正确的网段地址!\033[0m" + msg_alert "\033[31m请输入正确的网段地址!\033[0m" fi - sleep 1 ;; esac done @@ -234,105 +279,119 @@ fw_filter_lan() { add_mac() { while true; do - echo "-----------------------------------------------" - echo "已添加的mac地址:" - cat "$CRASHDIR"/configs/mac 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[33m序号 设备IP 设备mac地址 设备名称\033[32m" - cat "$dhcpdir" | awk '{print " "NR" "$3,$2,$4}' - echo -e "\033[0m-----------------------------------------------" - echo -e "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" - echo -e " 0 或回车 结束添加" - echo "-----------------------------------------------" - read -r -p "请输入对应序号或直接输入mac地址 > " num + format_box "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" + content_line "已添加的mac地址:" + content_line "" + if [ -s "$CRASHDIR/configs/mac" ]; then + while IFS= read -r line; do + content_line "$line" + done <"$CRASHDIR/configs/mac" + else + content_line "暫未添加任何mac地址" + fi + + separator_line "=" + content_line "序号 \033[33m设备IP 设备mac地址 设备名称\033[0m" + if [ -s "$dhcpdir" ]; then + awk '{print NR") "$3,$2,$4}' "$dhcpdir" | + while IFS= read -r line; do + content_line "$line" + done + else + content_line "无纪录" + fi + + content_line "" + common_back + read -r -p "请输入对应序号或直接输入mac地址> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= break elif echo "$num" | grep -aEq '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$'; then - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then + if cat "$CRASHDIR"/configs/mac | grep -Eq "$num"; then echo "$num" | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" - sleep 1 + msg_alert "\033[31m已添加的设备,请勿重复添加!\033[0m" fi elif [ "$num" -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then macadd=$(cat "$dhcpdir" | awk '{print $2}' | sed -n "$num"p) - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then + if cat "$CRASHDIR"/configs/mac | grep -Eq "$macadd"; then echo "$macadd" >>"$CRASHDIR"/configs/mac else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的设备,请勿重复添加!\033[0m" - sleep 1 + msg_alert "\033[31m已添加的设备,请勿重复添加!\033[0m" fi else - echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - sleep 1 + msg_alert "\033[31m输入有误,请重新输入!\033[0m" fi done } add_ip() { while true; do - echo "-----------------------------------------------" - echo "已添加的IP地址(段):" - cat "$CRASHDIR"/configs/ip_filter 2>/dev/null - echo "-----------------------------------------------" - echo -e "\033[33m序号 设备IP 设备名称\033[32m" - cat "$dhcpdir" | awk '{print " "NR" "$3,$4}' - echo -e "\033[0m-----------------------------------------------" - echo -e "手动输入时仅支持\033[32m 192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" - echo -e "不支持ipv6地址过滤,如有需求请使用mac地址过滤" - echo -e " 0 或回车 结束添加" - echo "-----------------------------------------------" - read -r -p "请输入对应序号或直接输入IP地址段 > " num + format_box "手动输入时仅支持 \033[32m192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" \ + "不支持ipv6地址过滤,如有需求请使用mac地址过滤" + content_line "已添加的IP地址(段):" + if [ -s "$CRASHDIR/configs/ip_filter" ]; then + while IFS= read -r line; do + content_line "$line" + done <"$CRASHDIR/configs/ip_filter" + else + content_line "暫未添加任何IP地址(段)" + fi + + separator_line "-" + content_line "\033[33m序号 设备IP 设备名称\033[32m" + if [ -s "$dhcpdir" ]; then + awk '{print NR") "$3, $4}' "$dhcpdir" | + while IFS= read -r line; do + content_line "$line" + done + else + content_line "无纪录" + fi + + content_line "" + common_back + read -r -p "请输入对应序号或直接输入IP地址段> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= break elif echo "$num" | grep -aEq '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$'; then - if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then + if cat "$CRASHDIR"/configs/ip_filter | grep -Eq "$num"; then echo "$num" | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" - sleep 1 + msg_alert "\033[31m已添加的地址,请勿重复添加!\033[0m" fi elif [ "$num" -le "$(cat "$dhcpdir" 2>/dev/null | awk 'END{print NR}')" ]; then ipadd=$(cat "$dhcpdir" | awk '{print $3}' | sed -n "$num"p) - if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then + if cat "$CRASHDIR"/configs/mac | grep -Eq "$ipadd"; then echo "$ipadd" >>"$CRASHDIR"/configs/ip_filter else - echo "-----------------------------------------------" - echo -e "\033[31m已添加的地址,请勿重复添加!\033[0m" - sleep 1 + msg_alert "\033[31m已添加的地址,请勿重复添加!\033[0m" fi else - echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - sleep 1 + msg_alert "\033[31m输入有误,请重新输入!\033[0m" fi done } del_all() { while true; do - echo "-----------------------------------------------" if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then - echo -e "\033[31m列表中没有需要移除的设备!\033[0m" - sleep 1 + msg_alert "\033[31m列表中没有需要移除的设备!\033[0m" else - echo -e "请选择需要移除的设备:\033[36m" - echo -e "\033[33m 设备IP 设备mac地址 设备名称\033[0m" + format_box "请选择需要移除的设备:" + content_line "" + content_line " \033[32m设备IP \033[36m设备mac地址 \033[35m设备名称\033[0m" i=1 for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do get_devinfo - echo -e " $i \033[32m$dev_ip \033[36m$dev_mac \033[32m$dev_name\033[0m" + content_line "$i) \033[32m$dev_ip \033[36m$dev_mac \033[35m$dev_name\033[0m" i=$((i + 1)) done - echo "-----------------------------------------------" - echo -e "\033[0m 0 或回车 结束删除" - read -r -p "请输入需要移除的设备的对应序号 > " num + content_line "" + common_back + read -r -p "$COMMON_INPUT> " num mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) if [ -z "$num" ] || [ "$num" -le 0 ]; then @@ -340,26 +399,19 @@ fw_filter_lan() { break elif [ "$num" -le "$mac_filter_rows" ]; then sed -i "${num}d" "$CRASHDIR"/configs/mac - echo "-----------------------------------------------" - echo -e "\033[32m对应设备已移除!\033[0m" - sleep 1 + msg_alert "\033[32m对应设备已移除!\033[0m" elif [ "$num" -le $((mac_filter_rows + ip_filter_rows)) ]; then num=$((num - mac_filter_rows)) sed -i "${num}d" "$CRASHDIR"/configs/ip_filter - echo "-----------------------------------------------" - echo -e "\033[32m对应设备已移除!\033[0m" - sleep 1 + msg_alert "\033[32m对应设备已移除!\033[0m" else - echo "-----------------------------------------------" - echo -e "\033[31m输入有误,请重新输入!\033[0m" - sleep 1 + msg_alert "\033[31m输入有误,请重新输入!\033[0m" fi fi done } while true; do - echo "-----------------------------------------------" [ -z "$dhcpdir" ] && [ -f /var/lib/dhcp/dhcpd.leases ] && dhcpdir='/var/lib/dhcp/dhcpd.leases' [ -z "$dhcpdir" ] && [ -f /var/lib/dhcpd/dhcpd.leases ] && dhcpdir='/var/lib/dhcpd/dhcpd.leases' [ -z "$dhcpdir" ] && [ -f /tmp/dhcp.leases ] && dhcpdir='/tmp/dhcp.leases' @@ -374,39 +426,43 @@ fw_filter_lan() { fw_filter_lan_scrip='' fi - echo -e "\033[30;47m请在此添加或移除设备\033[0m" - echo -e "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" - echo -e "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" + format_box "\033[30;47m请在此添加或移除设备\033[0m" \ + "" \ + "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" \ + "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then - echo "-----------------------------------------------" - echo -e "当前已过滤设备为:\033[36m" - echo -e "\033[33m 设备mac/ip地址 设备名称\033[0m" + content_line "当前已过滤设备为:" + content_line "" + content_line "\033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m" for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do get_devinfo - echo -e "\033[36m$dev_mac \033[0m$dev_name" + content_line "\033[36m$dev_mac \033[35m$dev_name\033[0m" done for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do get_devinfo - echo -e "\033[32m$dev_ip \033[0m$dev_name" + content_line "\033[36m$dev_ip \033[35m$dev_name\033[0m" done - echo "-----------------------------------------------" + separator_line "=" fi - echo -e " 1 切换为\033[33m$fw_filter_lan_over模式\033[0m" - echo -e " 2 \033[32m添加指定设备(mac地址)\033[0m" - echo -e " 3 \033[32m添加指定设备(IP地址/网段)\033[0m" - echo -e " 4 \033[36m移除指定设备\033[0m" - echo -e " 9 \033[31m清空整个列表\033[0m" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字 > " num + content_line "1) 切换为\033[33m$fw_filter_lan_over模式\033[0m" + content_line "2) \033[32m添加指定设备(mac地址)\033[0m" + content_line "3) \033[32m添加指定设备(IP地址/网段)\033[0m" + content_line "4) \033[36m移除指定设备\033[0m" + content_line "9) \033[31m清空整个列表\033[0m" + content_line "" + common_back + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1) macfilter_type=$fw_filter_lan_over - setconfig macfilter_type $macfilter_type - echo "-----------------------------------------------" - echo -e "\033[32m已切换为$fw_filter_lan_type模式!\033[0m" + if setconfig macfilter_type $macfilter_type; then + msg_alert "\033[32m已切换为$fw_filter_lan_type模式!\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi ;; 2) add_mac @@ -420,13 +476,10 @@ fw_filter_lan() { 9) : >"$CRASHDIR"/configs/mac : >"$CRASHDIR"/configs/ip_filter - echo "-----------------------------------------------" - echo -e "\033[31m设备列表已清空!\033[0m" - sleep 1 + msg_alert "\033[31m设备列表已清空!\033[0m" ;; *) errornum - sleep 1 ;; esac done diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index 01d3d0a9..3e91208c 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -37,7 +37,7 @@ uninstall() { rm -rf "$CRASHDIR" fi else - error_report "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" + msg_alert "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" fi # 移除其他内容 @@ -71,7 +71,6 @@ uninstall() { sleep 1 exit 0 else - format_box "\033[31m操作已取消!\033[0m" - sleep 1 + msg_alert "\033[31m操作已取消!\033[0m" fi } From 5a5b688ad51b6b8c4d223ee7962dd77de9b567fb Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 25 Jan 2026 12:42:01 +0800 Subject: [PATCH 144/318] feat: redesign static text menu --- scripts/menus/6_core_config.sh | 4 +- scripts/menus/common.sh | 13 ++- scripts/menus/fw_filter.sh | 178 +++++++++++++++++---------------- scripts/menus/uninstall.sh | 6 +- 4 files changed, 111 insertions(+), 90 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 6889c3d3..7e224634 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -16,7 +16,7 @@ URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?' # 配置文件主界面 set_core_config() { while true; do - format_box "\033[30;47m配置文件管理\033[0m" + comp_box "\033[30;47m配置文件管理\033[0m" [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { echo -e "\033[36m输入数字可管理对应提供者\033[0m" cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | @@ -114,7 +114,7 @@ setproviders() { [ -z "$ua" ] && ua='clash.meta' while true; do link_info=$(echo "$link$link_uri" | cut -c 1-30) - format_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" + comp_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m" [ -n "$link" ] && { diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index 111bf38e..c457af12 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -16,7 +16,8 @@ msg_alert() { sleep "$_sleep_time" } -format_box() { +# complete box +comp_box() { line_break separator_line "=" for line in "$@"; do @@ -25,6 +26,16 @@ format_box() { separator_line "=" } +# bottom box +btm_box() { + for line in "$@"; do + content_line "$line" + done + separator_line "=" +} + +# ================================================= + common_back() { content_line "0) $COMMON_BACK" separator_line "=" diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 3a5d3814..8f966915 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -20,6 +20,7 @@ set_fw_filter() { content_line "4) 过滤CN_IP(4/6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" content_line "5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" content_line "6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" + content_line "" common_back read -r -p "$COMMON_INPUT> " num case "$num" in @@ -28,7 +29,7 @@ set_fw_filter() { ;; 1) if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - format_box "切换时将停止服务,是否继续:" + comp_box "切换时将停止服务,是否继续:" content_line "1) 是" content_line "0) 否,返回上级菜单" separator_line "=" @@ -50,56 +51,59 @@ set_fw_filter() { if echo "$redir_mod" | grep -oqE '混合|Tproxy|Tun'; then if [ "$quic_rj" = "OFF" ]; then quic_rj=ON - msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!!\033[0m" + msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!\033[0m" else quic_rj=OFF - msg_alert "\033[33m已取消禁止QUIC协议流量!!\033[0m" + msg_alert "\033[33m已取消禁止QUIC协议流量!\033[0m" fi setconfig quic_rj $quic_rj else - msg_alert "\033[33m当前模式默认不会代理UDP流量,无需设置!!\033[0m" + msg_alert "\033[33m当前模式默认不会代理UDP流量,无需设置!\033[0m" fi ;; 4) if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then if [ "$cn_ip_route" = "OFF" ]; then cn_ip_route=ON - msg_alert -t 2 "\033[32m已开启CN_IP绕过内核功能!!\033[0m" \ - "\033[31m注意!!!此功能会导致全局模式及一切CN相关规则失效!!!\033[0m" + msg_alert -t 2 "\033[32m已开启CN_IP绕过内核功能!\033[0m" \ + "\033[31m注意:此功能会导致全局模式及一切CN相关规则失效!\033[0m" else cn_ip_route=OFF - msg_alert "\033[33m已禁用CN_IP绕过内核功能!!\033[0m" + msg_alert "\033[33m已禁用CN_IP绕过内核功能!\033[0m" fi setconfig cn_ip_route $cn_ip_route else - msg_alert "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!!\033[0m" + msg_alert "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!\033[0m" fi ;; 5) set_cust_host_ipv4 ;; 6) - [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" - format_box "\033[33m地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" \ - "当前网段:\033[36m$reserve_ipv4\033[0m" \ - "" \ - "请直接输入自定义保留地址ipv4网段" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text - if [ "$text" = 0 ]; then - continue - elif - echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" - then - reserve_ipv4="$text" - if setconfig reserve_ipv4 "'$reserve_ipv4'"; then - msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + while true; do + [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" + comp_box "\033[33m注意:地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" \ + "" \ + "当前网段:" \ + "\033[36m$reserve_ipv4\033[0m" + btm_box "请直接输入自定义保留地址ipv4网段" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + if [ "$text" = 0 ]; then + break + elif + echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" + then + reserve_ipv4="$text" + if setconfig reserve_ipv4 "'$reserve_ipv4'"; then + msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi else - msg_alert "\033[31m$COMMON_FAILED\033[0m" + msg_alert "\033[31m输入有误,请重新输入!\033[0m" fi - else - msg_alert "\033[31m输入有误,操作已取消!\033[0m" - fi + done ;; *) errornum @@ -124,6 +128,7 @@ set_common_ports() { content_line "3) 移除指定放行端口" content_line "4) 重置默认放行端口" content_line "5) 重置为旧版放行端口" + content_line "" common_back read -r -p "$COMMON_INPUT> " num case "$num" in @@ -144,55 +149,56 @@ set_common_ports() { fi ;; 2) - port_count=$(echo "$multiport" | awk -F',' '{print NF}') - if [ "$port_count" -ge 15 ]; then - format_box "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" - else - content_line - format_box "当前已放行端口:\033[36m$multiport\033[0m" \ - "" \ - "请直接输入要放行的端口号" \ + while true; do + port_count=$(echo "$multiport" | awk -F',' '{print NF}') + if [ "$port_count" -ge 15 ]; then + comp_box "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" + else + comp_box "当前已放行端口:\033[36m$multiport\033[0m" + btm_box "请直接输入要放行的端口号\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " port + if [ "$port" = 0 ]; then + break + elif echo ",$multiport," | grep -q ",$port,"; then + msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" + else + multiport=$(echo "$multiport,$port" | sed "s/^,//") + + if setconfig multiport "$multiport"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi + fi + fi + done + ;; + 3) + while true; do + comp_box "当前已放行端口:\033[36m$multiport\033[0m" + btm_box "请直接输入要移除的端口号\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ "或输入 0 返回上级菜单" read -r -p "请输入> " port if [ "$port" = 0 ]; then - continue + break elif echo ",$multiport," | grep -q ",$port,"; then - msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" - else - multiport=$(echo "$multiport,$port" | sed "s/^,//") - - if setconfig multiport "$multiport"; then - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" else - msg_alert "\033[31m$COMMON_FAILED\033[0m" + multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") + if setconfig multiport "$multiport"; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi fi - fi - fi - ;; - 3) - format_box "当前已放行端口:\033[36m$multiport\033[0m" \ - "" \ - "请直接输入要移除的端口号" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " port - if [ "$port" = 0 ]; then - continue - elif echo ",$multiport," | grep -q ",$port,"; then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" else - multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") - if setconfig multiport "$multiport"; then - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" - else - msg_alert "\033[31m$COMMON_FAILED\033[0m" - fi + msg_alert "\033[31m输入错误!请输入已添加过的端口!\033[0m" fi - else - msg_alert "\033[31m输入错误!请输入已添加过的端口!\033[0m" - fi + done ;; 4) multiport='' @@ -222,7 +228,7 @@ set_cust_host_ipv4() { while true; do [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip - format_box "当前默认透明路由的网段为:\033[32m$host_ipv4\033[0m" \ + comp_box "当前默认透明路由的网段为:\033[32m$host_ipv4\033[0m" \ "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" content_line "1) 移除所有自定义网段" content_line "2) 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" @@ -279,7 +285,7 @@ fw_filter_lan() { add_mac() { while true; do - format_box "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" + comp_box "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" content_line "已添加的mac地址:" content_line "" if [ -s "$CRASHDIR/configs/mac" ]; then @@ -308,14 +314,14 @@ fw_filter_lan() { i= break elif echo "$num" | grep -aEq '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$'; then - if cat "$CRASHDIR"/configs/mac | grep -Eq "$num"; then + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then echo "$num" | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac else msg_alert "\033[31m已添加的设备,请勿重复添加!\033[0m" fi elif [ "$num" -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then macadd=$(cat "$dhcpdir" | awk '{print $2}' | sed -n "$num"p) - if cat "$CRASHDIR"/configs/mac | grep -Eq "$macadd"; then + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then echo "$macadd" >>"$CRASHDIR"/configs/mac else msg_alert "\033[31m已添加的设备,请勿重复添加!\033[0m" @@ -328,9 +334,10 @@ fw_filter_lan() { add_ip() { while true; do - format_box "手动输入时仅支持 \033[32m192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" \ + comp_box "手动输入时仅支持 \033[32m192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" \ "不支持ipv6地址过滤,如有需求请使用mac地址过滤" content_line "已添加的IP地址(段):" + content_line "" if [ -s "$CRASHDIR/configs/ip_filter" ]; then while IFS= read -r line; do content_line "$line" @@ -339,7 +346,7 @@ fw_filter_lan() { content_line "暫未添加任何IP地址(段)" fi - separator_line "-" + separator_line "=" content_line "\033[33m序号 设备IP 设备名称\033[32m" if [ -s "$dhcpdir" ]; then awk '{print NR") "$3, $4}' "$dhcpdir" | @@ -357,14 +364,14 @@ fw_filter_lan() { i= break elif echo "$num" | grep -aEq '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$'; then - if cat "$CRASHDIR"/configs/ip_filter | grep -Eq "$num"; then + if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then echo "$num" | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter else msg_alert "\033[31m已添加的地址,请勿重复添加!\033[0m" fi elif [ "$num" -le "$(cat "$dhcpdir" 2>/dev/null | awk 'END{print NR}')" ]; then ipadd=$(cat "$dhcpdir" | awk '{print $3}' | sed -n "$num"p) - if cat "$CRASHDIR"/configs/mac | grep -Eq "$ipadd"; then + if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then echo "$ipadd" >>"$CRASHDIR"/configs/ip_filter else msg_alert "\033[31m已添加的地址,请勿重复添加!\033[0m" @@ -379,14 +386,15 @@ fw_filter_lan() { while true; do if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then msg_alert "\033[31m列表中没有需要移除的设备!\033[0m" + break else - format_box "请选择需要移除的设备:" - content_line "" - content_line " \033[32m设备IP \033[36m设备mac地址 \033[35m设备名称\033[0m" + comp_box "请选择需要移除的设备:" + content_line " \033[32m设备IP \033[36m设备mac地址 \033[35m设备名称\033[0m" i=1 for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do get_devinfo - content_line "$i) \033[32m$dev_ip \033[36m$dev_mac \033[35m$dev_name\033[0m" + content_line "$(printf "%s) \033[32m%-18s \033[36m%-18s \033[35m%s\033[0m" \ + "$i" "$dev_ip" "$dev_mac" "$dev_name")" i=$((i + 1)) done content_line "" @@ -426,21 +434,23 @@ fw_filter_lan() { fw_filter_lan_scrip='' fi - format_box "\033[30;47m请在此添加或移除设备\033[0m" \ + comp_box "\033[30;47m请在此添加或移除设备\033[0m" \ "" \ "当前过滤方式为:\033[33m$fw_filter_lan_type模式\033[0m" \ "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then content_line "当前已过滤设备为:" content_line "" - content_line "\033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m" + content_line " \033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m" for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do get_devinfo - content_line "\033[36m$dev_mac \033[35m$dev_name\033[0m" + content_line "$(printf "\033[36m%-20s \033[35m%s\033[0m" \ + "$dev_mac" "$dev_name")" done for dev in $(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null); do get_devinfo - content_line "\033[36m$dev_ip \033[35m$dev_name\033[0m" + content_line "$(printf "\033[36m%-20s \033[35m%s\033[0m" \ + "$dev_ip" "$dev_name")" done separator_line "=" fi diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index 3e91208c..ebfcbf60 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -3,7 +3,7 @@ # 卸载 uninstall() { - format_box "\033[31m警告:\033[0m" \ + comp_box "\033[31m警告:\033[0m" \ "\033[31m该操作不可逆!\033" \ "是否确认卸载ShellCrash:" content_line "1) 是" @@ -20,7 +20,7 @@ uninstall() { # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then - format_box "是否保留脚本配置及订阅文件:" + comp_box "是否保留脚本配置及订阅文件:" content_line "1) 是" content_line "0) 否" separator_line "=" @@ -65,7 +65,7 @@ uninstall() { userdel -r shellcrash 2>/dev/null nvram set script_usbmount="" 2>/dev/null nvram commit 2>/dev/null - format_box "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" \ + comp_box "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" \ "\033[33m请手动关闭当前窗口以重置环境变量!\033[0m" line_break sleep 1 From 7f403992b6f522d3a4b5490e2a21b29ddad1871f Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 16:05:37 +0800 Subject: [PATCH 145/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E5=8A=9F=E8=83=BD=E7=9A=84?= =?UTF-8?q?=E8=8B=A5=E5=B9=B2bug=20~=E4=BC=98=E5=8C=96=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E5=8A=9F=E8=83=BD=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=98=BE=E7=A4=BA=20~add=20content=5Flist()=20for=20t?= =?UTF-8?q?ui?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/6_core_config.sh | 178 +++++++++++++++++++-------------- scripts/menus/providers.sh | 41 ++++---- scripts/menus/subconverter.sh | 21 ++-- scripts/menus/tui_layout.sh | 9 ++ scripts/menus/tui_lite.sh | 8 ++ 5 files changed, 154 insertions(+), 103 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 7e224634..58d4aebb 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -16,11 +16,12 @@ URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?' # 配置文件主界面 set_core_config() { while true; do + list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | + awk '{print $1 " \t" substr($2,1,30)}') comp_box "\033[30;47m配置文件管理\033[0m" - [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { - echo -e "\033[36m输入数字可管理对应提供者\033[0m" - cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | - awk '{print " " NR ") " $1 " \t\t" substr($2,1,30) "..."}' + [ -n "$list" ] && { + content_line "\033[36m输入数字可管理对应提供者\033[0m" + content_list "$list" '...' separator_line "-" } content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" @@ -75,7 +76,7 @@ set_core_config() { ;; e) checkcfg=$(cat $CFG_PATH) - override + . "$CRASHDIR"/menus/override.sh && override if [ -n "$PID" ]; then checkcfg_new=$(cat $CFG_PATH) [ "$checkcfg" != "$checkcfg_new" ] && checkrestart @@ -117,23 +118,18 @@ setproviders() { comp_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m" - [ -n "$link" ] && { - separator_line '-' - content_line "3) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" - content_line "4) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" - content_line "5) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" - content_line "6) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" - echo "$link" | grep -q '^http' && - content_line "7) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" - } + [ -n "$link" ] && + content_line "4) 设置\033[33m本地生成覆写\033[0m" separator_line "-" content_line "a) \033[36m保存此提供者\033[0m" [ -n "$link" ] && content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" echo "$link$link_uri" | grep -q '://' && content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" - [ -n "$link" ] && - content_line "e) 直接使用此配置文件(不经过转换)" + echo "$link" | grep -q '^http' && + content_line "e) 从此订阅链接直接拉取配置文件(不经过订阅转换)" + echo "$link" | grep -q '^./providers' && + content_line "e) 直接使用此文件作为配置文件(不经过本地生成)" content_line "d) \033[31m删除此提供者\033[0m" common_back read -r -p "请输入对应数字> " num @@ -165,14 +161,10 @@ setproviders() { [ "$f" = "$CRASHDIR"/providers/uri_group ] && continue [ -f "$f" ] || continue printf '%s\n' "${f##*/}" - done | sort -V + done | sort ) if [ -n "$list" ];then - i=1 - printf '%s\n' "$list" | while IFS= read -r f; do - content_line "$i) $f" - i=$((i+1)) - done + content_list "$list" separator_line "-" read -r -p "请选择对应文件或输入具体链接 > " text else @@ -184,6 +176,7 @@ setproviders() { #处理订阅链接 text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接 link="$text" + link_uri='' common_success ;; [1-9] | [1-9][0-9]) @@ -191,6 +184,7 @@ setproviders() { file=$(printf '%s\n' "$list" | sed -n "${text}p") if [ -s "$CRASHDIR/providers/$file" ]; then link="$file" + link_uri='' common_success else errornum @@ -200,6 +194,7 @@ setproviders() { #处理分享链接 if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 + link='' [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) common_success else @@ -209,55 +204,7 @@ setproviders() { esac ;; 3) - read -p "请输入健康检查间隔(单位:分钟) > " num - if [ -n "$num" ]; then - interval="$num" - else - errornum - fi - ;; - 4) - read -p "请输入自动更新间隔(单位:小时) > " num - if [ -n "$num" ]; then - interval2="$num" - else - errornum - fi - ;; - 5) - read -p "请输入需要排除的节点关键字(支持正则,不支持空格,输入0删除) > " text - text=$(echo "$text" | sed 's/ //g') #去空格 - case "$text" in - 0) - exclude_w='' - ;; - *) - exclude_w="$text" - ;; - esac - ;; - 6) - read -p "请输入需要筛选使用的节点关键字(支持正则,不支持空格,输入0删除) > " text - text=$(echo "$text" | sed 's/ //g') #去空格 - case "$text" in - 0) - include_w='' - ;; - *) - include_w="$text" - ;; - esac - ;; - 7) - read -p "请输入浏览器UA(输入0重置) > " text - case "$text" in - 0) - include_w='clash.meta' - ;; - *) - include_w="$text" - ;; - esac + custproviders ;; a) addproviders && common_success @@ -301,10 +248,13 @@ setproviders() { content_line "\033[31m请确认你完全理解自己在做什么\033[0m" read -p "我确认遇到问题可以自行解决(1/0) > " res [ "$res" = "1" ] && { - if [ -s "$CRASHDIR/$link" ]; then + file=$(echo "$CRASHDIR/$link" | sed 's|\./||') + if [ -f "$file" ]; then [ -n "$name" ] && addproviders - ln -sf "$CRASHDIR/$link" "$CONFIG_PATH" - elif [ -n "$link" ]; then + ln -sf "$file" "$CONFIG_PATH" + common_success + break + elif echo "$link" | grep -q '^http'; then [ -n "$name" ] && addproviders Https="$link" Url='' @@ -312,10 +262,14 @@ setproviders() { setconfig Url # 获取在线文件 jump_core_config + break + else + content_line "\033[31m请先完成必填选项!\033[0m" fi } else - content_line "\033[31m$请先完成必填选项!\033[0m" + content_line "\033[31m请先完成必填选项!\033[0m" + sleep 1 fi ;; *) @@ -342,6 +296,80 @@ addproviders() { return 1 fi } + +custproviders() { + while true; do + separator_line '-' + content_line "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" + content_line "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" + echo "$link" | grep -q '^http' && + content_line "3) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" + content_line "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" + content_line "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" + common_back + read -r -p "请输入对应数字> " num + case "$num" in + "" | 0) + break + ;; + 1) + read -p "请输入健康检查间隔(单位:分钟) > " num + if [ -n "$num" ]; then + interval="$num" + else + errornum + fi + ;; + 2) + read -p "请输入自动更新间隔(单位:小时) > " num + if [ -n "$num" ]; then + interval2="$num" + else + errornum + fi + ;; + 3) + read -p "请输入浏览器UA(输入0重置) > " text + case "$text" in + 0) + include_w='clash.meta' + ;; + *) + include_w="$text" + ;; + esac + ;; + 4) + read -p "请输入需要排除的节点关键字(支持正则,不支持空格,输入0删除) > " text + text=$(echo "$text" | sed 's/ //g') #去空格 + case "$text" in + 0) + exclude_w='' + ;; + *) + exclude_w="$text" + ;; + esac + ;; + 5) + read -p "请输入需要筛选使用的节点关键字(支持正则,不支持空格,输入0删除) > " text + text=$(echo "$text" | sed 's/ //g') #去空格 + case "$text" in + 0) + include_w='' + ;; + *) + include_w="$text" + ;; + esac + ;; + *) + error_letter + break + ;; + esac + done +} # 调用工具在线获取配置文件 jump_core_config() { . "$CRASHDIR"/starts/core_config.sh && get_core_config diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index cc657967..93ecd359 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -20,38 +20,37 @@ providers() { provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}') [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file fi - echo "-----------------------------------------------" - echo -e "\033[33msingboxr与mihomo内核的providers配置文件不互通!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m生成\033[0m包含全部节点/订阅的配置文件" - echo -e " 2 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" - echo -e " 3 \033[33m清理\033[0mproviders目录文件" - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" + separator_line "-" + content_line "1) \033[32m生成\033[0m包含全部提供者的配置文件" + content_line "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" + content_line "3) \033[33m清理\033[0mproviders目录文件" + separator_line "-" + common_back read -p "请输入对应字母或数字 > " num case "$num" in "" | 0) break ;; 1) - echo "-----------------------------------------------" + separator_line "-" if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" gen_providers else - echo -e "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" + content_line "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" sleep 1 fi ;; 2) - echo "-----------------------------------------------" - echo -e "当前规则模版为:\033[32m$provider_temp_des\033[0m" - echo -e "\033[33m请选择在线模版:\033[0m" - echo "-----------------------------------------------" - cat "$CRASHDIR/configs/$CORE_TYPE_providers.list" | awk '{print " "NR" "$1}' - echo "-----------------------------------------------" - echo -e " a 使用\033[36m本地模版\033[0m" - echo "-----------------------------------------------" + list=$(cat "$CRASHDIR/configs/${CORE_TYPE}_providers.list" | awk '{print $1}') + separator_line "-" + content_line "当前规则模版为:\033[32m$provider_temp_des\033[0m" + content_line "\033[33m请选择在线模版:\033[0m" + separator_line "-" + content_list "$list" + separator_line "-" + content_line "a) 使用\033[36m本地模版\033[0m" + common_back read -p "请输入对应字母或数字 > " num case "$num" in "" | 0) ;; @@ -60,9 +59,9 @@ providers() { if [ -s $dir ]; then provider_temp_file=$dir setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file" - echo -e "\033[32m设置成功!\033[0m" + content_line "\033[32m设置成功!\033[0m" else - echo -e "\033[31m输入错误,找不到对应模版文件!\033[0m" + content_line "\033[31m输入错误,找不到对应模版文件!\033[0m" fi sleep 1 ;; @@ -78,7 +77,7 @@ providers() { esac ;; 3) - echo -e "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" + content_line "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" read -p "是否继续?(1/0) > " res [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers && common_success ;; diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 04e15560..e363d3fa 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -11,7 +11,7 @@ __IS_MODULE_SUBCONVERTER=1 subconverter() { while true; do separator_line "-" - content_line "1) \033[36m开始生成配置文件\033[0m" + content_line "1) \033[32m生成\033[0m包含全部节点/订阅的配置文件" content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" content_line "4) 选择\033[33m在线规则模版\033[0m" @@ -24,10 +24,11 @@ subconverter() { break ;; 1) - providers_link=$(grep -v '^#' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|') + providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|') uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk -F '#' '{print $1}' |paste -sd '|') Url=$(echo "$providers_link|$uri_link" |sed 's/^|// ; s/|$//') setconfig Url "'$Url'" + Https='' setconfig Https # 获取在线文件 jump_core_config @@ -98,11 +99,14 @@ gen_link_ele() { # 包含节点正则 } gen_link_config() { #选择在线规则模版 + list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') + now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') separator_line "-" - echo 当前使用规则为:$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') - grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$2$4}' + content_line "当前使用规则为:\033[33m$now\033[0m" separator_line "-" - echo 0 返回上级菜单 + content_list "$list" + separator_line "-" + common_back read -r -p "请输入对应数字 > " num totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list ) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then @@ -119,11 +123,14 @@ gen_link_config() { #选择在线规则模版 } gen_link_server() { #选择Subconverter服务器 + list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') + now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') separator_line "-" content_line "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m" - echo 当前使用后端为:$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print " "NR" "$3" "$2}' + content_line "当前使用后端为:\033[33m$now\033[0m" + separator_line "-" + content_list "$list" common_back read -r -p "请输入对应数字 > " num totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list ) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 5f3bcea3..d330fa18 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -146,3 +146,12 @@ separator_line() { line_break() { printf "\n\n" } + +content_list() { + i=1 + printf '%s\n' "$1" | while IFS= read -r f; do + content_line "$i) $f$2" + i=$(( i + 1 )) + done +} + diff --git a/scripts/menus/tui_lite.sh b/scripts/menus/tui_lite.sh index dfd0c816..8e9abab7 100644 --- a/scripts/menus/tui_lite.sh +++ b/scripts/menus/tui_lite.sh @@ -14,3 +14,11 @@ separator_line() { line_break() { return } + +content_list() { + i=1 + printf '%s\n' "$1" | while IFS= read -r f; do + content_line "$i) $f$2" + i=$(( i + 1 )) + done +} From ca236f265117f3e07db7769431949adeb034dc1d Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 25 Jan 2026 17:05:45 +0800 Subject: [PATCH 146/318] feat(bot_tg_bind.sh): adapt new designs for more interfaces --- scripts/menus/bot_tg_bind.sh | 106 ++++++++++++++++++----------------- 1 file changed, 54 insertions(+), 52 deletions(-) diff --git a/scripts/menus/bot_tg_bind.sh b/scripts/menus/bot_tg_bind.sh index de04cb03..18e3e867 100644 --- a/scripts/menus/bot_tg_bind.sh +++ b/scripts/menus/bot_tg_bind.sh @@ -3,57 +3,59 @@ . "$CRASHDIR"/libs/web_get_lite.sh private_bot() { - echo "-----------------------------------------------" - echo -e "请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m" - echo "-----------------------------------------------" - read -p "请输入你获取到的API TOKEN > " TOKEN - echo "-----------------------------------------------" - echo -e "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" - url_tg=https://api.telegram.org/bot${TOKEN}/getUpdates -} -public_bot() { - echo -e "请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" - TOKEN=publictoken - url_tg=https://tgbot.jwsc.eu.org/publictoken/getUpdates -} -tg_push_token(){ - push_TG="$TOKEN" - setconfig push_TG "$TOKEN" - setconfig chat_ID "$chat_ID" - "$CRASHDIR"/start.sh logger "已完成Telegram日志推送设置!" 32 -} -get_chatid(){ - i=1 - chat_ID='' - while [ $i -le 3 ] && [ -z "$chat_ID" ]; do - sleep 1 - echo -e "\033[33m第 $i 次尝试获取对话ID失败,正在重试...\033[0m" - chat=$(web_get_lite "$url_tg" 2>/dev/null) - if [ -n "$chat" ];then - chat_ID=$(echo $chat | sed 's/"update_id":/{\n"update_id":/g' | grep "$public_key" | head -n1 | grep -oE '"id":.*,"is_bot' | sed s'/"id"://' | sed s'/,"is_bot//') - fi - i=$((i + 1)) - done -} -set_bot() { - public_key=$(cat /proc/sys/kernel/random/boot_id | sed 's/.*-//') - echo -e "发送此秘钥: \033[30;46m$public_key\033[0m" - echo "-----------------------------------------------" - read -p "我已经发送完成(1/0) > " res - if [ "$res" = 1 ]; then - get_chatid - [ -z "$chat_ID" ] && [ "$TOKEN" != 'publictoken' ] && { - echo -e "\033[31m无法获取对话ID,请返回重新设置或手动输入ChatID!\033[0m" - echo -e "通常访问 \033[32;4m$url_tg\033[0m \n\033[36m即可看到ChatID\033[0m" - read -p "请手动输入ChatID > " chat_ID - } - if echo "$chat_ID" | grep -qE '^[0-9]{8,}$'; then - return 0 - else - echo -e "\033[31m无法获取对话ID,请重新配置!\033[0m" - sleep 1 - return 1 - fi - fi + comp_box "请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m" + read -r -p "请输入你获取到的API TOKEN> " TOKEN + url_tg=https://api.telegram.org/bot${TOKEN}/getUpdates + + line_break + separator_line "=" + content_line "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" } +public_bot() { + comp_box "请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" + TOKEN=publictoken + url_tg=https://tgbot.jwsc.eu.org/publictoken/getUpdates +} + +tg_push_token() { + push_TG="$TOKEN" + setconfig push_TG "$TOKEN" + setconfig chat_ID "$chat_ID" + "$CRASHDIR"/start.sh logger "已完成Telegram日志推送设置!" 32 +} + +get_chatid() { + i=1 + chat_ID='' + while [ $i -le 3 ] && [ -z "$chat_ID" ]; do + sleep 1 + comp_box "\033[33m第 $i 次尝试获取对话ID失败,正在重试...\033[0m" + chat=$(web_get_lite "$url_tg" 2>/dev/null) + if [ -n "$chat" ]; then + chat_ID=$(echo "$chat" | sed 's/"update_id":/{\n"update_id":/g' | grep "$public_key" | head -n1 | grep -oE '"id":.*,"is_bot' | sed s'/"id"://' | sed s'/,"is_bot//') + fi + i=$((i + 1)) + done +} + +set_bot() { + public_key=$(cat /proc/sys/kernel/random/boot_id | sed 's/.*-//') + content_line "发送此秘钥: \033[30;46m$public_key\033[0m" + separator_line "=" + read -r -p "我已经发送完成(1/0)> " res + if [ "$res" = 1 ]; then + get_chatid + [ -z "$chat_ID" ] && [ "$TOKEN" != 'publictoken' ] && { + comp_box "\033[31m无法获取对话ID,请返回重新设置或手动输入ChatID!\033[0m" \ + "通常访问 \033[32;4m$url_tg\033[0m \n\033[36m即可看到ChatID\033[0m" + read -r -p "请手动输入ChatID> " chat_ID + } + if echo "$chat_ID" | grep -qE '^[0-9]{8,}$'; then + return 0 + else + msg_alert "\033[31m无法获取对话ID,请重新配置!\033[0m" + return 1 + fi + fi +} From 323b8cf61c5abb6cf8bb9320df3ee563b22f12c0 Mon Sep 17 00:00:00 2001 From: sofia <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 25 Jan 2026 18:38:18 +0800 Subject: [PATCH 147/318] feat(ddns.sh): adapt new designs for more interfaces --- scripts/menus/9_upgrade.sh | 23 +++--- scripts/menus/bot_tg_bind.sh | 7 +- scripts/menus/common.sh | 8 +++ scripts/menus/ddns.sh | 132 +++++++++++++++++++---------------- 4 files changed, 95 insertions(+), 75 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index cc1a8591..d91542aa 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -30,13 +30,13 @@ upgrade() { separator_line "=" content_line "\033[30;47m更新与支持\033[0m" - separator_line "-" + separator_line "=" content_line "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } - separator_line "-" + separator_line "=" content_line "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" content_line "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" content_line "3) 安装/更新本地\033[32m数据库文件\033[0m" @@ -46,6 +46,7 @@ upgrade() { content_line "7) 切换\033[36m安装源及版本分支\033[0m" content_line "8) \033[31m卸载ShellCrash\033[0m" content_line "9) \033[36m感谢列表!\033[0m" + content_line "" content_line "0) 返回上级菜单" separator_line "=" @@ -87,28 +88,28 @@ upgrade() { line_break separator_line "=" content_line "感谢以下项目及其开发者们的无私奉献!" - separator_line "-" + separator_line "=" - content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" + content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" content_line "" - content_line "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" + content_line "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" content_line "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" content_line "" - content_line "\033[32mMetaCubeX \033[0m开发:\033[36mMetaCubeX\033[0m" + content_line "\033[32mMetaCubeX \033[0m开发:\033[36mMetaCubeX\033[0m" content_line "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" content_line "" - content_line "\033[32mYACD面板 \033[0m开发:\033[36mhaishanh\033[0m" + content_line "\033[32mYACD面板 \033[0m开发:\033[36mhaishanh\033[0m" content_line "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" content_line "" - content_line "\033[32mZashboard \033[0m开发:\033[36mZephyruso\033[0m" + content_line "\033[32mZashboard \033[0m开发:\033[36mZephyruso\033[0m" content_line "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" content_line "" - content_line "\033[32mSubconverter \033[0m开发:\033[36mtindy2013\033[0m" + content_line "\033[32mSubconverter \033[0m开发:\033[36mtindy2013\033[0m" content_line "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" content_line "" @@ -116,11 +117,11 @@ upgrade() { content_line "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" content_line "" - content_line "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" + content_line "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" content_line "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" content_line "" - separator_line "-" + separator_line "=" content_line "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" separator_line "=" sleep 2 diff --git a/scripts/menus/bot_tg_bind.sh b/scripts/menus/bot_tg_bind.sh index 18e3e867..4647465f 100644 --- a/scripts/menus/bot_tg_bind.sh +++ b/scripts/menus/bot_tg_bind.sh @@ -7,9 +7,7 @@ private_bot() { read -r -p "请输入你获取到的API TOKEN> " TOKEN url_tg=https://api.telegram.org/bot${TOKEN}/getUpdates - line_break - separator_line "=" - content_line "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" + top_box "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" } public_bot() { @@ -41,8 +39,7 @@ get_chatid() { set_bot() { public_key=$(cat /proc/sys/kernel/random/boot_id | sed 's/.*-//') - content_line "发送此秘钥: \033[30;46m$public_key\033[0m" - separator_line "=" + btm_box "发送此秘钥: \033[30;46m$public_key\033[0m" read -r -p "我已经发送完成(1/0)> " res if [ "$res" = 1 ]; then get_chatid diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index c457af12..8482fffa 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -26,6 +26,14 @@ comp_box() { separator_line "=" } +top_box() { + line_break + separator_line "=" + for line in "$@"; do + content_line "$line" + done +} + # bottom box btm_box() { for line in "$@"; do diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index 1b2d241a..fda41949 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -2,8 +2,7 @@ # Copyright (C) Juewuy ddns_menu() { - echo "-----------------------------------------------" - echo -e "\033[30;46m欢迎使用DDNS!\033[0m" + top_box "\033[30;46m欢迎使用DDNS!\033[0m" load_ddns } @@ -29,34 +28,42 @@ config service '$service' EOF /usr/lib/ddns/dynamic_dns_updater.sh -S "$service" start >/dev/null 2>&1 & sleep 3 - echo "服务已经添加!" + msg_alert "服务已经添加!" } set_ddns() { while true; do - echo "-----------------------------------------------" - read -r -p "请输入你的域名 > " str + line_break + read -r -p "请输入你的域名> " str [ -z "$str" ] && domain="$domain" || domain="$str" - echo "-----------------------------------------------" - read -r -p "请输入用户名或邮箱 > " str + echo "" + read -r -p "请输入用户名或邮箱> " str [ -z "$str" ] && username="$username" || username="$str" - echo "-----------------------------------------------" - read -r -p "请输入密码或令牌秘钥 > " str + echo "" + read -r -p "请输入密码或令牌秘钥> " str [ -z "$str" ] && password="$password" || password="$str" - echo "-----------------------------------------------" - read -r -p "请输入检测更新间隔(单位:分钟;默认为10) > " check_interval + echo "" + read -r -p "请输入检测更新间隔(单位:分钟;默认为10)> " check_interval [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 - echo "-----------------------------------------------" - read -r -p "请输入强制更新间隔(单位:小时;默认为24) > " force_interval + echo "" + read -r -p "请输入强制更新间隔(单位:小时;默认为24)> " force_interval [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 - echo "-----------------------------------------------" - echo -e "请核对如下信息:" - echo -e "服务商: \033[32m$service\033[0m" - echo -e "域名: \033[32m$domain\033[0m" - echo -e "用户名: \033[32m$username\033[0m" - echo -e "检测间隔: \033[32m$check_interval\033[0m" - echo "-----------------------------------------------" - read -r -p "确认添加?(1/0) > " res + + line_break + separator_line "=" + content_line "请核对如下信息:" + content_line "" + content_line "服务商: \033[32m$service\033[0m" + content_line "域名: \033[32m$domain\033[0m" + content_line "用户名: \033[32m$username\033[0m" + content_line "检测间隔: \033[32m$check_interval\033[0m" + separator_line "=" + content_line "是否确认添加:" + separator_line "=" + content_line "1) 是" + content_line "0) 否,重新輸入" + separator_line "=" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then add_ddns break @@ -68,12 +75,18 @@ set_ddns_service() { while true; do services_dir=/etc/ddns/"$serv" [ -s "$services_dir" ] || services_dir=/usr/share/ddns/list - echo "-----------------------------------------------" - echo -e "\033[32m请选择服务提供商\033[0m" - cat "$services_dir" | grep -v '^#' | awk '{print " "NR" " $1}' + comp_box "\033[32m请选择服务提供商:\033[0m" + + # cat "$services_dir" | grep -v '^#' | awk '{print NR") " $1}' + awk '!/^#/ {print NR") " $1}' "$services_dir" | + while IFS= read -r line; do + content_line "$line" + done + nr=$(cat "$services_dir" | grep -v '^#' | wc -l) - read -r -p "请输入对应数字 > " num - if [ -z "$num" ]; then + common_back + read -r -p "请输入对应数字> " num + if [ -z "$num" ] || [ "$num" = 0 ]; then i= break elif [ "$num" -gt 0 ] && [ "$num" -lt "$nr" ]; then @@ -82,20 +95,19 @@ set_ddns_service() { set_ddns break else - echo "输入错误,请重新输入!" - sleep 1 + msg_alert "\033[33m输入错误,请重新输入!\033[0m" fi done } set_ddns_type() { while true; do - echo "-----------------------------------------------" - echo -e "\033[32m请选择网络模式\033[0m" - echo -e " 1 \033[36mIPV4\033[0m" - echo -e " 2 \033[36mIPV6\033[0m" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字 > " num + comp_box "\033[32m请选择网络模式:\033[0m" + content_line "1) \033[36mIPV4\033[0m" + content_line "2) \033[36mIPV6\033[0m" + content_line "" + common_back + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break @@ -113,8 +125,7 @@ set_ddns_type() { break ;; *) - echo "输入错误,请重新输入!" - sleep 1 + msg_alert "\033[33m输入错误,请重新输入!\033[0m" ;; esac done @@ -124,15 +135,17 @@ rev_ddns_service() { while true; do enabled=$(uci get ddns."$service".enabled) [ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用" - echo "-----------------------------------------------" - echo -e " 1 \033[32m立即更新\033[0m" - echo -e " 2 编辑当前服务\033[0m" - echo -e " 3 $enabled_b当前服务" - echo -e " 4 移除当前服务" - echo -e " 5 查看运行日志" - echo -e " 0 返回上级菜单" - echo "-----------------------------------------------" - read -r -p "请输入对应数字 > " num + line_break + separator_line "=" + content_line "1) \033[32m立即更新\033[0m" + content_line "2) 编辑当前服务" + content_line "3) $enabled_b当前服务" + content_line "4) 移除当前服务" + content_line "5) 查看运行日志" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break @@ -162,14 +175,16 @@ rev_ddns_service() { break ;; 5) - echo "-----------------------------------------------" + line_break + separator_line "=" cat /var/log/ddns/"$service".log 2>/dev/null + content_line "" + separator_line "=" sleep 1 break ;; *) - echo "输入错误,请重新输入!" - sleep 1 + msg_alert "\033[33m输入错误,请重新输入!\033[0m" ;; esac done @@ -180,27 +195,27 @@ load_ddns() { ddns_dir=/etc/config/ddns tmp_dir="$TMPDIR"/ddns [ ! -f "$ddns_dir" ] && { - echo -e "\033[31m本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!\033[0m" + btm_box "\033[31m本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!\033[0m" sleep 1 return 1 } nr=0 cat "$ddns_dir" | grep 'config service' | awk '{print $3}' | sed "s/'//g" | sed 's/"//g' >"$tmp_dir" - echo "-----------------------------------------------" - echo -e "列表 域名 启用 IP地址" - echo "-----------------------------------------------" + separator_line "=" + content_line " 列表 域名 启用 IP地址" + content_line "" [ -s "$tmp_dir" ] && for service in $(cat "$tmp_dir"); do # echo $service >>$tmp_dir nr=$((nr + 1)) enabled=$(uci get ddns."$service".enabled 2>/dev/null) domain=$(uci get ddns."$service".domain 2>/dev/null) local_ip=$(sed '1!G;h;$!d' /var/log/ddns/"$service".log 2>/dev/null | grep -E 'Registered IP' | tail -1 | awk -F "'" '{print $2}' | tr -d "'\"") - echo -e " $nr $domain $enabled $local_ip" + content_line "$nr) $domain $enabled $local_ip" done - echo -e " $((nr + 1)) 添加DDNS服务" - echo -e " 0 退出" - echo "-----------------------------------------------" - read -r -p "请输入对应序号 > " num + content_line "$((nr + 1))) 添加DDNS服务" + content_line "0) 退出" + separator_line "=" + read -r -p "请输入对应序号> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= rm -rf "$tmp_dir" @@ -211,8 +226,7 @@ load_ddns() { service=$(cat "$tmp_dir" | sed -n "$num"p) rev_ddns_service else - echo "请输入正确数字!" - sleep 1 + msg_alert "\033[33m请输入正确数字!\033[0m" fi done } From 71e4816020e67bd6e439486dc22ff92c38450f3f Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 18:57:43 +0800 Subject: [PATCH 148/318] ~Change content_list() > list_box() --- scripts/menus/6_core_config.sh | 4 ++-- scripts/menus/common.sh | 8 ++++++++ scripts/menus/providers.sh | 2 +- scripts/menus/subconverter.sh | 4 ++-- scripts/menus/tui_layout.sh | 7 ------- scripts/menus/tui_lite.sh | 7 ------- 6 files changed, 13 insertions(+), 19 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 58d4aebb..42c0af0b 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -21,7 +21,7 @@ set_core_config() { comp_box "\033[30;47m配置文件管理\033[0m" [ -n "$list" ] && { content_line "\033[36m输入数字可管理对应提供者\033[0m" - content_list "$list" '...' + list_box "$list" '...' separator_line "-" } content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" @@ -164,7 +164,7 @@ setproviders() { done | sort ) if [ -n "$list" ];then - content_list "$list" + list_box "$list" separator_line "-" read -r -p "请选择对应文件或输入具体链接 > " text else diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index 8482fffa..66791e5e 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -42,6 +42,14 @@ btm_box() { separator_line "=" } +list_box () { + i=1 + printf '%s\n' "$1" | while IFS= read -r f; do + content_line "$i) $f$2" + i=$(( i + 1 )) + done +} + # ================================================= common_back() { diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index 93ecd359..92e7a8ac 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -47,7 +47,7 @@ providers() { content_line "当前规则模版为:\033[32m$provider_temp_des\033[0m" content_line "\033[33m请选择在线模版:\033[0m" separator_line "-" - content_list "$list" + list_box "$list" separator_line "-" content_line "a) 使用\033[36m本地模版\033[0m" common_back diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index e363d3fa..0b91addf 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -104,7 +104,7 @@ gen_link_config() { #选择在线规则模版 separator_line "-" content_line "当前使用规则为:\033[33m$now\033[0m" separator_line "-" - content_list "$list" + list_box "$list" separator_line "-" common_back read -r -p "请输入对应数字 > " num @@ -130,7 +130,7 @@ gen_link_server() { #选择Subconverter服务器 content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m" content_line "当前使用后端为:\033[33m$now\033[0m" separator_line "-" - content_list "$list" + list_box "$list" common_back read -r -p "请输入对应数字 > " num totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list ) diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index d330fa18..8fac3f05 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -147,11 +147,4 @@ line_break() { printf "\n\n" } -content_list() { - i=1 - printf '%s\n' "$1" | while IFS= read -r f; do - content_line "$i) $f$2" - i=$(( i + 1 )) - done -} diff --git a/scripts/menus/tui_lite.sh b/scripts/menus/tui_lite.sh index 8e9abab7..e0e06200 100644 --- a/scripts/menus/tui_lite.sh +++ b/scripts/menus/tui_lite.sh @@ -15,10 +15,3 @@ line_break() { return } -content_list() { - i=1 - printf '%s\n' "$1" | while IFS= read -r f; do - content_line "$i) $f$2" - i=$(( i + 1 )) - done -} From 0ecfad2d2c600313852d5b08f71b4f231962a173 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 19:08:45 +0800 Subject: [PATCH 149/318] =?UTF-8?q?~=E7=8E=B0=E5=9C=A8=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=97=B6=E5=A6=82=E6=8C=87=E5=AE=9A=E4=BA=86=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=88=86=E6=94=AF=EF=BC=8C=E5=9C=A8=E6=9B=B4=E6=96=B0=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=B8=8D=E5=86=8D=E4=BC=9A=E6=98=BE=E7=A4=BA=E6=9C=AA?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 10 ++++------ install_en.sh | 10 ++++------ scripts/init.sh | 3 ++- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/install.sh b/install.sh index 201050f2..b5eff7cb 100644 --- a/install.sh +++ b/install.sh @@ -286,14 +286,12 @@ setversion() { echo "-----------------------------------------------" read -p "请输入相应数字 > " num case "$num" in - 2) - url=$(echo "$url" | sed 's/master/stable/') - ;; - 3) - url=$(echo "$url" | sed 's/master/dev/') - ;; + 1) release_type=master ;; + 2) release_type=stable ;; + 3) release_type=dev ;; *) ;; esac + url=$(echo "$url" | sed "s/master/$release_type/") } # 安装检查 diff --git a/install_en.sh b/install_en.sh index 19f446b9..5a0f4cae 100644 --- a/install_en.sh +++ b/install_en.sh @@ -286,14 +286,12 @@ setversion() { echo "-----------------------------------------------" read -p "Enter number > " num case "$num" in - 2) - url=$(echo "$url" | sed 's/master/stable/') - ;; - 3) - url=$(echo "$url" | sed 's/master/dev/') - ;; + 1) release_type=master ;; + 2) release_type=stable ;; + 3) release_type=dev ;; *) ;; esac + url=$(echo "$url" | sed "s/master/$release_type/") } # Pre-Install Checks diff --git a/scripts/init.sh b/scripts/init.sh index e7aad554..e8076471 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -100,7 +100,8 @@ grep -q 'firewall_mod' "$CRASHDIR/configs/ShellClash.cfg" 2>/dev/null || { setconfig firewall_mod $firewall_mod } #设置更新地址 -[ -n "$url" ] && setconfig update_url $url +[ -n "$url" ] && setconfig update_url "$url" +[ -n "$release_type" ] && setconfig release_type "$release_type" #设置语言 [ -n "$language" ] && echo "$language" > "$CRASHDIR/configs/i18n.cfg" #设置环境变量 From 7c91ab5c02cfaa441b306b2c9117bde0173d9a1c Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 19:24:17 +0800 Subject: [PATCH 150/318] ~bug fix --- scripts/libs/core_tools.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/libs/core_tools.sh b/scripts/libs/core_tools.sh index 4a830e77..98dfb1c1 100644 --- a/scripts/libs/core_tools.sh +++ b/scripts/libs/core_tools.sh @@ -44,7 +44,11 @@ core_check(){ return 2 else rm -f "$BINDIR"/CrashCore.tar.gz "$BINDIR"/CrashCore.gz "$BINDIR"/CrashCore.upx - mv -f "$TMPDIR/Coretmp.$zip_type" "$BINDIR/CrashCore.$zip_type" + if [ -z "$zip_type" ];then + gzip -c "$TMPDIR/core_new" > "$BINDIR/CrashCore.gz" + else + mv -f "$1" "$BINDIR/CrashCore.$zip_type" + fi mv -f "$TMPDIR/core_new" "$TMPDIR/CrashCore" core_v="$v" setconfig COMMAND "$COMMAND" "$CRASHDIR"/configs/command.env && . "$CRASHDIR"/configs/command.env From ccbe2468b847e1fa7809123a78d5ed0574ba9eae Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 19:28:10 +0800 Subject: [PATCH 151/318] =?UTF-8?q?~=E4=BF=AE=E6=94=B9=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=86=85=E6=A0=B8=E7=B1=BB=E5=9E=8B=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/9_upgrade.sh | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index d91542aa..0f97ac32 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -264,30 +264,26 @@ setcoretype() { echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash content_line "\033[33m请确认该自定义内核的类型:\033[0m" separator_line "-" - content_line "1) Clash基础内核" - content_line "2) Clash-Premium内核" - content_line "3) Mihomo(Meta)内核" - content_line "4) Sing-Box内核" - content_line "5) Sing-Box-reF1nd内核" + content_line "1) Mihomo(Meta)" + content_line "2) Singbox-reF1nd" + content_line "3) Singbox" + content_line "4) Clash" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num case "$num" in "" | 0) ;; 1) - crashcore=clash - ;; - 2) - crashcore=clashpre - ;; - 3) crashcore=meta ;; - 4) + 2) + crashcore=singboxr + ;; + 3) crashcore=singbox ;; - 5) - crashcore=singboxr + 4) + crashcore=clash ;; *) errornum From 08afce3500c025cea91f0260b24057e2e83bbfa6 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 19:51:36 +0800 Subject: [PATCH 152/318] ~bug fix --- scripts/libs/get_config.sh | 7 +++++++ scripts/menu.sh | 6 ------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/scripts/libs/get_config.sh b/scripts/libs/get_config.sh index d882287d..4b4a0ff2 100644 --- a/scripts/libs/get_config.sh +++ b/scripts/libs/get_config.sh @@ -1,3 +1,10 @@ + +# 检查配置文件 +if [ -f "$CFG_PATH" ]; then + [ -n "$(awk 'a[$0]++' "$CFG_PATH")" ] && awk '!a[$0]++' "$CFG_PATH" >"$CFG_PATH" +else + . "$CRASHDIR"/init.sh >/dev/null 2>&1 +fi . "$CRASHDIR"/configs/command.env >/dev/null 2>&1 . "$CRASHDIR"/configs/ShellCrash.cfg diff --git a/scripts/menu.sh b/scripts/menu.sh index af1cfdb1..dff75885 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -86,12 +86,6 @@ checkport() { # 脚本启动前检查 ckstatus() { - # 检查脚本配置文件 - if [ -f "$CFG_PATH" ]; then - [ -n "$(awk 'a[$0]++' "$CFG_PATH")" ] && awk '!a[$0]++' "$CFG_PATH" >"$CFG_PATH" - else - . "$CRASHDIR"/init.sh >/dev/null 2>&1 - fi versionsh=$(cat "$CRASHDIR"/version) [ -n "$versionsh" ] && versionsh_l=$versionsh From 4a1e49e1f0784a441b8c25b993bec9613089f17f Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 19:54:39 +0800 Subject: [PATCH 153/318] =?UTF-8?q?~=E9=87=8D=E5=86=99=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=A4=87=E4=BB=BD=E8=BF=98=E5=8E=9F=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=94=B9=E4=B8=BA=E5=A4=87=E4=BB=BD=E8=BF=98?= =?UTF-8?q?=E5=8E=9F=E5=AE=8C=E6=95=B4/configs=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/init.sh | 2 +- scripts/menus/2_settings.sh | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index e8076471..9441ca1f 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -216,7 +216,7 @@ sed -i '/shellclash/d' /etc/group rm -rf /etc/init.d/clash rm -rf "$CRASHDIR"/rules [ "$systype" = "mi_snapshot" -a "$CRASHDIR" != '/data/clash' ] && rm -rf /data/clash -for file in webget.sh misnap_init.sh core.new; do +for file in webget.sh misnap_init.sh core.new configs/ShellCrash.cfg.bak; do rm -f "$CRASHDIR/$file" done #旧版变量改名 diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 6ff7e73d..3d5fe085 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -170,6 +170,7 @@ settings() { set_ipv6 ;; a) + BACK_TAR="$CRASHDIR/configs.tar.gz" line_break separator_line "=" content_line "1) $SET_BACKUP" @@ -185,20 +186,23 @@ settings() { 1) line_break separator_line "=" - if cp -f "$CFG_PATH" "$CFG_PATH.bak"; then - content_line "\033[32m$SET_BACKUP_OK\033[0m" + if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then + content_line "\033[32m$SET_BACKUP_OK $BACK_TAR\033[0m" else content_line "\033[31m$SET_BACKUP_FAIL\033[0m" fi + sleep 1 + continue ;; 2) line_break separator_line "=" - if [ -f "$CFG_PATH.bak" ]; then - mv -f "$CFG_PATH" "$CFG_PATH.bak2" - mv -f "$CFG_PATH.bak" "$CFG_PATH" - mv -f "$CFG_PATH.bak2" "$CFG_PATH.bak" - content_line "\033[32m$SET_RESTORE_OK\033[0m" + if [ -f "$BACK_TAR" ]; then + tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . + rm -rf "$CRASHDIR/configs/*" + tar -zxf "$BACK_TAR" -C "$CRASHDIR"/configs + mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" + content_line "\033[32m$SET_RESTORE_OK $BACK_TAR\033[0m" else content_line "\033[31m$SET_BACKUP_MISS\033[0m" fi @@ -206,7 +210,8 @@ settings() { 3) line_break separator_line "=" - if mv -f "$CFG_PATH" "$CFG_PATH.bak"; then + if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then + rm -rf "$CRASHDIR/configs" . "$CRASHDIR/init.sh" >/dev/null content_lin e"\033[32m$SET_RESET_OK\033[0m" else @@ -219,7 +224,6 @@ settings() { continue ;; esac - content_line "" content_line "\033[33m$SET_NEED_RESTART\033[0m" sleep 1 exit 0 From 64566495ffb6731e1ad133659fa93419b220c52f Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 20:02:15 +0800 Subject: [PATCH 154/318] =?UTF-8?q?~=E5=A2=9E=E5=8A=A0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=9B=9E=E9=80=80=E6=97=B6=E9=9C=80=E9=87=8D=E6=96=B0=E8=BF=9B?= =?UTF-8?q?=E5=85=A5=E6=96=B0=E6=89=8B=E5=BC=95=E5=AF=BC=E7=9A=84=E6=9C=BA?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/9_upgrade.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 0f97ac32..522beaf2 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -179,6 +179,7 @@ getscripts() { error_down else . "$CRASHDIR"/init.sh >/dev/null + echo "$release_type" | grep -qE '^[0-9]' && setconfig userguide #回退时重新新手引导 content_line "\033[32m脚本更新成功!\033[0m" separator_line "=" fi From 89e6fe7faa1159c54d46fc517f99bbfbc1a9a3c0 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 20:06:09 +0800 Subject: [PATCH 155/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=B0=8F=E7=B1=B3=E8=B7=AF=E7=94=B1=E8=87=AA=E5=90=AF=E6=97=B6?= =?UTF-8?q?=E5=87=BA=E7=8E=B0=E5=A4=9A=E4=B8=AA=E8=BF=9B=E7=A8=8B=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/snapshot_init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/starts/snapshot_init.sh b/scripts/starts/snapshot_init.sh index f578cfd3..3001edfd 100644 --- a/scripts/starts/snapshot_init.sh +++ b/scripts/starts/snapshot_init.sh @@ -85,7 +85,7 @@ init(){ done autoSSH #软固化功能 auto_clean #自动清理 - [ -s "$CRASHDIR"/start.sh ] && auto_start + [ -s "$CRASHDIR"/start.sh ] && [ ! -x /etc/init.d/shellcrash ] && auto_start } case "$1" in From 219279c1650e0be8d4c1e66f25484f6ebf252ac9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 20:18:12 +0800 Subject: [PATCH 156/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96bot=5Ftg=E6=9C=BA?= =?UTF-8?q?=E5=99=A8=E4=BA=BA=E7=BB=91=E5=AE=9A=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/7_gateway.sh | 4 ++-- scripts/menus/bot_tg_bind.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index b5ce28a2..1f01d0a2 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -224,13 +224,13 @@ set_bot_tg_config() { cat < Date: Sun, 25 Jan 2026 21:01:39 +0800 Subject: [PATCH 157/318] ~bug fix --- scripts/lang/chs/2_settings.lang | 2 +- scripts/lang/en/2_settings.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index a29a3ee8..c456d0df 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -52,7 +52,7 @@ SET_REDIR_RESTART_HINT="注意:切换模式后需要手动重启服务以生 SET_REDIR_APPLIED="已设为" SET_REDIR_REDIR="Redir模式" -SET_REDIR_MIX="混合模式" +SET_REDIR_MIX="Mix模式" SET_REDIR_TPROXY="Tproxy模式" SET_REDIR_TUN="Tun模式" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index 76dfbf41..46c2a751 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -50,7 +50,7 @@ SET_REDIR_RESTART_HINT="You must manually restart the service for the change to SET_REDIR_APPLIED="Routing mode set to" SET_REDIR_REDIR="Redir Mode" -SET_REDIR_MIX="Mixed Mode" +SET_REDIR_MIX="Mix Mode" SET_REDIR_TPROXY="Tproxy Mode" SET_REDIR_TUN="Tun Mode" From 62a54a458a6eb9a2a49469c458a02e84458fa1f3 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 25 Jan 2026 21:32:31 +0800 Subject: [PATCH 158/318] ~1.9.5a6 pkg --- ShellCrash.tar.gz | Bin 137663 -> 138416 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index dcc26acf56e4f2999583444e99804d67e2c2c4d4..dc200561d92138896afcb2779ceed3b036a164eb 100644 GIT binary patch literal 138416 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�$w@^zQ*S%zB3yBZ*?6 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 O^!$Iw;}<&scnSb+YUXkP literal 137663 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

feDr2riO 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 DNa|EB diff --git a/bin/version b/bin/version index 2689624b..f5499317 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha5 +versionsh=1.9.5alpha6 GeoIP_v=20251205 diff --git a/version b/version index 93ea1c19..40b34310 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha5 +1.9.5alpha6 From 6077061ba47cd3191b17815ec68b28fe8eebabc3 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 26 Jan 2026 17:56:00 +0800 Subject: [PATCH 159/318] ~bug fix --- scripts/menus/fw_filter.sh | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 8f966915..89203c4c 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -48,18 +48,14 @@ set_fw_filter() { fi ;; 3) - if echo "$redir_mod" | grep -oqE '混合|Tproxy|Tun'; then - if [ "$quic_rj" = "OFF" ]; then - quic_rj=ON - msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!\033[0m" - else - quic_rj=OFF - msg_alert "\033[33m已取消禁止QUIC协议流量!\033[0m" - fi - setconfig quic_rj $quic_rj - else - msg_alert "\033[33m当前模式默认不会代理UDP流量,无需设置!\033[0m" - fi + if [ "$quic_rj" = "OFF" ]; then + quic_rj=ON + msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!\033[0m" + else + quic_rj=OFF + msg_alert "\033[33m已取消禁止QUIC协议流量!\033[0m" + fi + setconfig quic_rj $quic_rj ;; 4) if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then From 21366a0667d30c3423f93e88f72d3e402f70fccc Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 26 Jan 2026 19:07:38 +0800 Subject: [PATCH 160/318] =?UTF-8?q?~=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E4=BC=98=E5=8C=96=E5=92=8Cbug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/6_core_config.sh | 44 +++++++++++++++++++++------------- scripts/menus/subconverter.sh | 2 +- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 42c0af0b..56f22417 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -17,11 +17,19 @@ URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?' set_core_config() { while true; do list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | - awk '{print $1 " \t" substr($2,1,30)}') + awk '{ + f1 = $1 + f2 = $2 + if (length(f1) > 12) + f1 = substr(f1, 1, 9) ".." + if (length(f2) > 39) + f2 = substr(f2, 1, 36) "..." + printf "%-10s\t%-30s\n", f1, f2 +}') comp_box "\033[30;47m配置文件管理\033[0m" [ -n "$list" ] && { content_line "\033[36m输入数字可管理对应提供者\033[0m" - list_box "$list" '...' + list_box "$list" separator_line "-" } content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" @@ -90,7 +98,7 @@ set_core_config() { esac done } - +# 添加/管理提供者 setproviders() { case "$(echo "$@" | cut -d ' ' -f 2)" in http* | ./providers*) @@ -108,6 +116,9 @@ setproviders() { name=$1 link_uri=$2 ;; + *) + unset name link link_uri interval interval2 ua exclude_w include_w + ;; esac last_name="$name" [ -z "$interval" ] && interval=3 @@ -119,7 +130,7 @@ setproviders() { content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m" [ -n "$link" ] && - content_line "4) 设置\033[33m本地生成覆写\033[0m" + content_line "3) 设置\033[33m本地生成覆写\033[0m" separator_line "-" content_line "a) \033[36m保存此提供者\033[0m" [ -n "$link" ] && @@ -132,8 +143,8 @@ setproviders() { content_line "e) 直接使用此文件作为配置文件(不经过本地生成)" content_line "d) \033[31m删除此提供者\033[0m" common_back - read -r -p "请输入对应数字> " num - case "$num" in + read -r -p "请输入对应字母或数字> " input + case "$input" in "" | 0) break ;; @@ -195,7 +206,7 @@ setproviders() { if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 link='' - [ -z "$name" ] && name=$(echo "$text" | grep -o '#.*$' | cut -c2-) + [ -z "$name" ] && name=$(printf '%b\n' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//') common_success else error_input @@ -207,12 +218,12 @@ setproviders() { custproviders ;; a) - addproviders && common_success + saveproviders && common_success break ;; b) if [ -n "$name" ] && [ -n "$link" ]; then - addproviders + saveproviders . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" gen_providers "$name" "$link" "$interval" "$interval2" "$ua" "#$exclude_w" "#$include_w" else @@ -221,8 +232,9 @@ setproviders() { ;; c) if [ -n "$name" ] && [ -n "$link$link_uri" ]; then - addproviders - Url="$link$link_uri" + saveproviders + [ -n "$link" ] && Url="$link" + [ -n "$link_uri" ] && Url=$(echo "$name $link_uri" |awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }') Https='' setconfig Url "'$Url'" setconfig Https @@ -250,12 +262,12 @@ setproviders() { [ "$res" = "1" ] && { file=$(echo "$CRASHDIR/$link" | sed 's|\./||') if [ -f "$file" ]; then - [ -n "$name" ] && addproviders + [ -n "$name" ] && saveproviders ln -sf "$file" "$CONFIG_PATH" common_success break elif echo "$link" | grep -q '^http'; then - [ -n "$name" ] && addproviders + [ -n "$name" ] && saveproviders Https="$link" Url='' setconfig Https "'$Https'" @@ -279,8 +291,8 @@ setproviders() { esac done } - -addproviders() { +#保存 +saveproviders() { [ -n "$name" ] && { [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$last_name /d" "$CRASHDIR"/configs/providers.cfg [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && sed -i "/^$last_name /d" "$CRASHDIR"/configs/providers_uri.cfg @@ -296,7 +308,7 @@ addproviders() { return 1 fi } - +#本地生成覆写 custproviders() { while true; do separator_line '-' diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 0b91addf..e584a348 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -25,7 +25,7 @@ subconverter() { ;; 1) providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|') - uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk -F '#' '{print $1}' |paste -sd '|') + uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' |paste -sd '|') Url=$(echo "$providers_link|$uri_link" |sed 's/^|// ; s/|$//') setconfig Url "'$Url'" Https='' From 215fc29c3530b88f7a33e4bcd17a42ac15cc6801 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 26 Jan 2026 19:08:06 +0800 Subject: [PATCH 161/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/set_config.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/scripts/libs/set_config.sh b/scripts/libs/set_config.sh index c0e0d82f..c1cf3e7d 100644 --- a/scripts/libs/set_config.sh +++ b/scripts/libs/set_config.sh @@ -1,9 +1,6 @@ #参数1代表变量名,参数2代表变量值,参数3即文件路径 setconfig() { [ -z "$3" ] && configpath="$CRASHDIR"/configs/ShellCrash.cfg || configpath="${3}" - if grep -q "^${1}=" "$configpath"; then - sed -i "s#^${1}=.*#${1}=${2}#g" "$configpath" - else - printf '%s=%s\n' "$1" "$2" >>"$configpath" - fi + sed -i "/^${1}=.*/d" "$configpath" + printf '%s=%s\n' "$1" "$2" >>"$configpath" } \ No newline at end of file From 692f2590d5922ce8b3ffa1224ba393130965bde6 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 26 Jan 2026 21:20:31 +0800 Subject: [PATCH 162/318] ~Improve UI --- scripts/lang/chs/menu.lang | 3 +-- scripts/lang/en/menu.lang | 1 - scripts/menu.sh | 11 +++++------ scripts/menus/2_settings.sh | 3 +-- scripts/menus/tui_layout.sh | 6 +++++- scripts/menus/tui_lite.sh | 5 +++++ 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang index 25e01531..2d0b37d4 100644 --- a/scripts/lang/chs/menu.lang +++ b/scripts/lang/chs/menu.lang @@ -15,8 +15,7 @@ MENU_OVERRIDE_WARN="你已经禁用了配置文件覆写功能,这会导致大 MENU_OVERRIDE_ASK="是否取消禁用:" # ===== 欢迎与状态 ===== -MENU_WELCOME="欢迎使用ShellCrash" -MENU_VERSION_LABEL="版本:" +MENU_WELCOME="欢迎使用ShellCrash!" MENU_RUN_ON="正在运行" MENU_RUN_SET="已设置" diff --git a/scripts/lang/en/menu.lang b/scripts/lang/en/menu.lang index 421aa035..bded58e7 100644 --- a/scripts/lang/en/menu.lang +++ b/scripts/lang/en/menu.lang @@ -16,7 +16,6 @@ MENU_OVERRIDE_ASK="Cancel the disable setting?" # ===== Welcome & Status ===== MENU_WELCOME="Welcome to ShellCrash!" -MENU_VERSION_LABEL="Ver:" MENU_RUN_ON=" Running" MENU_RUN_SET="Configured" diff --git a/scripts/menu.sh b/scripts/menu.sh index 96b6d254..dad6fced 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -139,14 +139,13 @@ ckstatus() { line_break separator_line "=" - content_line " $MENU_WELCOME" - content_line "" - content_line "$(printf "%$((${TABLE_WIDTH:-60} - 1))s" "$MENU_VERSION_LABEL$versionsh_l")" - content_line " $MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "=" + content_line "\033[30;43m$MENU_WELCOME\033[0m" + content_right "Ver: $versionsh_l" + content_line "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "-" content_line "$corename$run\t $auto" if [ -n "$PID" ]; then - content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" + content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" fi separator_line "=" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 3d5fe085..11c6b041 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -27,11 +27,10 @@ settings() { content_line "6) $SET_MENU_ADV_PORT" } content_line "8) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" - content_line "" + separator_line "-" content_line "a) \033[31m$SET_MENU_RESET\033[0m" content_line "b) \033[36m$SET_MENU_LANG\033[0m" content_line "c) \033[33m$SET_MENU_UI\033[0m" - content_line "" content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 8fac3f05..16ac351a 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -113,7 +113,11 @@ content_line() { END {} ' } - +# function for right side text +# color sould be disabled +content_right() { + content_line "$(printf "%$((${TABLE_WIDTH:-60} - 3))s" "$1")" +} # function to print sub content lines # for printing accompanying instructions sub_content_line() { diff --git a/scripts/menus/tui_lite.sh b/scripts/menus/tui_lite.sh index e0e06200..e71234ac 100644 --- a/scripts/menus/tui_lite.sh +++ b/scripts/menus/tui_lite.sh @@ -1,8 +1,13 @@ +TABLE_WIDTH=60 + content_line() { printf '%b' " $1\n" } +content_right() { + printf "%$((TABLE_WIDTH - 13))s\n" "$1" +} sub_content_line() { content_line " $1" } From f99d5f974bfabf87cfab3ef504aaaba270bdbed5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 26 Jan 2026 21:37:01 +0800 Subject: [PATCH 163/318] ~1.9.5a6.1 pkg --- ShellCrash.tar.gz | Bin 138416 -> 138617 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index dc200561d92138896afcb2779ceed3b036a164eb..e5aa35392cd6e4a6cf47f8ddf0e9e72e78d6a6fb 100644 GIT binary patch delta 136928 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

pL;w7MskDPu5s1G2NW)KqrzyTV~B8|1|I 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 XBbSdH0t*fNw4eVEL5s2)0C)-j+k&Ed delta 136701 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

wYpwQsaz&D`g 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 diff --git a/bin/version b/bin/version index f5499317..1905eb48 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha6 +versionsh=1.9.5alpha6.1 GeoIP_v=20251205 diff --git a/version b/version index 40b34310..4265945d 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha6 +1.9.5alpha6.1 From 517675ff5307fa0d79a696c75ae252ffd6c55531 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 27 Jan 2026 10:35:13 +0800 Subject: [PATCH 164/318] =?UTF-8?q?~1.9.5a6.2=20pkg=20~=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E6=8F=90=E7=A4=BA=E5=8F=8A=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86=E9=83=A8=E5=88=86=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=20~=E4=BF=AE=E5=A4=8Dsingboxr=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E7=94=9F=E6=88=90=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=AD=A3=E7=A1=AE=E6=8B=89=E5=8F=96=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E6=96=87=E4=BB=B6=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShellCrash.tar.gz | Bin 138617 -> 138681 bytes bin/version | 2 +- scripts/lang/chs/1_start.lang | 3 +-- scripts/lang/en/1_start.lang | 3 +-- scripts/menus/1_start.sh | 2 +- scripts/menus/6_core_config.sh | 16 ++++++++-------- scripts/menus/providers_singbox.sh | 6 ++++-- version | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index e5aa35392cd6e4a6cf47f8ddf0e9e72e78d6a6fb..e940d0bfb9f4f4469dec8d3c666e9269460d552d 100644 GIT binary patch delta 133416 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

f|Z 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

^LV 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°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 diff --git a/bin/version b/bin/version index 1905eb48..4e4045db 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha6.1 +versionsh=1.9.5alpha6.2 GeoIP_v=20251205 diff --git a/scripts/lang/chs/1_start.lang b/scripts/lang/chs/1_start.lang index b5d4be1f..a21e148a 100644 --- a/scripts/lang/chs/1_start.lang +++ b/scripts/lang/chs/1_start.lang @@ -1,7 +1,6 @@ # ===== 启动完成 ===== START_SERVICE_OK="服务已启动!" -START_WEB_HINT="请前往" -START_WEB_HINT2="管理内置规则" +START_WEB_HINT="管理面板:" START_PAC_HINT="其他设备可使用 PAC 配置:" START_PROXY_HINT="或使用 HTTP / SOCKS5 方式连接:" diff --git a/scripts/lang/en/1_start.lang b/scripts/lang/en/1_start.lang index c45276af..f7d09866 100644 --- a/scripts/lang/en/1_start.lang +++ b/scripts/lang/en/1_start.lang @@ -1,7 +1,6 @@ # ===== Startup ===== START_SERVICE_OK="Service started successfully!" -START_WEB_HINT="Please use" -START_WEB_HINT2="manage built-in rules" +START_WEB_HINT="Dashboard:" START_PAC_HINT="Other devices can connect using PAC configuration:" START_PROXY_HINT="Or connect using HTTP / SOCKS5:" diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index 64371e81..60dcb649 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -10,7 +10,7 @@ startover() { line_break separator_line "=" content_line "\033[32m$START_SERVICE_OK\033[0m" - content_line "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m $START_WEB_HINT2" + content_line "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m" if [ "$firewall_area" = 4 ]; then content_line "" diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 56f22417..b000157a 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -21,10 +21,10 @@ set_core_config() { f1 = $1 f2 = $2 if (length(f1) > 12) - f1 = substr(f1, 1, 9) ".." - if (length(f2) > 39) - f2 = substr(f2, 1, 36) "..." - printf "%-10s\t%-30s\n", f1, f2 + f1 = substr(f1, 1, 8) ".." + if (length(f2) > 30) + f2 = substr(f2, 1, 30) "..." + printf "%-7s \t%-28s\n", f1, f2 }') comp_box "\033[30;47m配置文件管理\033[0m" [ -n "$list" ] && { @@ -150,11 +150,11 @@ setproviders() { ;; 1) separator_line "=" - content_line "注意:名称或代号不可重复,且不支持纯数字!" + content_line "注意:不可重复,不支持纯数字,且不要超过4个汉字!" separator_line "-" - read -p "请输入具体名称或代号 > " text - text=$(echo $text | sed 's/ //g') #去空格 - if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "$text" "$CRASHDIR"/configs/providers.cfg; then + read -r -p "请输入具体名称或代号 > " text + text=$(printf "%.12s" "$text" | sed 's/ //g' ) #去空格 + if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg; then name="$text" else error_input diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index c3e06a0a..13a7d7a0 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -89,6 +89,8 @@ gen_providers_txt(){ ua=${5:-clash.meta} exclude=${6#\#} include=${7#\#} + [ -n "$exclude" ] && exclude_ele="\"exclude\": \"$exclude\"," + [ -n "$include" ] && include_ele="\"include\": \"$include\"," if [ -n "$(echo $2|grep -E '^./')" ];then cat >> "$TMPDIR"/providers/providers.json < Date: Tue, 27 Jan 2026 15:24:22 +0800 Subject: [PATCH 165/318] ~1.9.5a6.3 pkg --- ShellCrash.tar.gz | Bin 138681 -> 138583 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index e940d0bfb9f4f4469dec8d3c666e9269460d552d..5cae0f33e08461ae2932cdc89c60ef7c8ece0abe 100644 GIT binary patch delta 136934 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 LW1hs^0C)-jToWM& delta 137104 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 #N-j+YIMK(z}lngBDkxY80NF7hqf!vmL{& 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 diff --git a/bin/version b/bin/version index 4e4045db..13d9a577 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha6.2 +versionsh=1.9.5alpha6.3 GeoIP_v=20251205 diff --git a/version b/version index 1b53a015..3484d994 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha6.2 +1.9.5alpha6.3 From bae05042dbbe7bebd4e9c834e56398f7d13623d4 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 27 Jan 2026 17:17:39 +0800 Subject: [PATCH 166/318] ~bug fix --- scripts/menus/6_core_config.sh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index b000157a..d3701445 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -17,9 +17,10 @@ URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?' set_core_config() { while true; do list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | - awk '{ + LC_ALL=C awk '{ f1 = $1 f2 = $2 + gsub(/\360[\200-\277][\200-\277][\200-\277]/,"",f1) if (length(f1) > 12) f1 = substr(f1, 1, 8) ".." if (length(f2) > 30) @@ -153,7 +154,7 @@ setproviders() { content_line "注意:不可重复,不支持纯数字,且不要超过4个汉字!" separator_line "-" read -r -p "请输入具体名称或代号 > " text - text=$(printf "%.12s" "$text" | sed 's/ //g' ) #去空格 + text=$(printf "%.12s" "$text" | sed 's/ //g') #截断12字符+去空格 if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg; then name="$text" else @@ -194,7 +195,8 @@ setproviders() { #处理本地文件 file=$(printf '%s\n' "$list" | sed -n "${text}p") if [ -s "$CRASHDIR/providers/$file" ]; then - link="$file" + link="./providers/$file" + [ -z "$name" ] && name="_$(printf "%.12s" "$file" | sed 's/ //g')" link_uri='' common_success else @@ -206,7 +208,7 @@ setproviders() { if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 link='' - [ -z "$name" ] && name=$(printf '%b\n' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//') + [ -z "$name" ] && name=$(printf '%b' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//') common_success else error_input From 17f30cba331e172f0bdafd3272510437b74fbd66 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 27 Jan 2026 17:37:46 +0800 Subject: [PATCH 167/318] ~1.9.5a6.4 pkg --- ShellCrash.tar.gz | Bin 138583 -> 138745 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 5cae0f33e08461ae2932cdc89c60ef7c8ece0abe..f303c966c57ca8d4a1b54145cb5d792bd5dc6d41 100644 GIT binary patch delta 136774 zcmWifcQhN``^SxhBu0r?K`TTgHVHMVjUW+hU<&b|NLbDr~@``qXKdOuGGK|hB;EM?d@8p|uUQ19Iec|_hm zVo>GzJ!Yr~XUQK~bWV-djb@gxUOSKe2Jp2U9fIutPQV{NJWgp&DzE9Hc)l6f!g)!sLS@apTDA(wjQ zM$hCQzOXfU`9zuief^YQqjSHnFfSd@OL!ysWo6AnRd+A$r`zxHouQ@2d@y@a=NS2J z^U%%XznB_nKOu34&N|g7#z;kdd17Nzc--|!l(+Wu_rAvxHrB5Xpev|Bw*&87qe6|BqexKfUmk=}$D(OD?LXVEM7R zY9TI}hS0y^BRktpQp&;kEZYB+a)xvMm~GS4ul_O1yf31FnvQ0R&gD7(H?2HP0@?!6 z=P-#eiem!$`3Ao`O1t8LDniXnh?t$EzB`M-AlroN6l0*J=hJi1(Alu?28c!p%bA0| zZ%_>qk*X!FW^;+K>#BU&;Kw=v})FW^F}lOKDAdctR{yewS? z2?GkjC*g1I?^n$QCM-=BB{L5nRMGtM_Grck%thO zus{|wVbB~s7glM5Ygqrs%3rSNwB0M?=<8GNYPRsf-}?OL+=y4NF^5rg_}<3}9Ggs0 z`Db;d-Z436T4+ujsPwiU@4|&rJ)fg8U)+OVbVJk6n`%*I!m0g`v5@Xr3a=WG>;53f zpwca$)ncS(>Yw8R1wyd5Rh`$SCZf|SgH%8o zu+o(nQChXmLkoC=F~)LaUX;JKhcuNNA^sIf({|NNbo+$3Nofyl$;z#Tpupl&+*u)> zwGLBnvwn*7WKyxLMeExb*8-M>7DLb+$f{YD(s7m1#u#;(8tc;S!N8)C$|^6z@)yL5 z542W#H;~qv!8+&rmIAdCu zHNS&K?+E{7oKz$m3-vDe&zs;Mt=b&stfuW@s<`rg)auAlX_%g>#3x&!-Y4PUhq#d! zISmL2I}dKp4X&@#yzyLn&iI&29gNMP;T5=Tf@q>d%h^K zvD*e+1W}6ZaVpvat-dS8Cn?L<(rXE37u~deJ0|APE9%(=&YcQ!ytf)jTF(gXc6=&F zhRp`w-fg3}vTjCZf1aVao3qm^BQLagD2jYx0z5~@f)~SpGtkeq$5vcj3%TeKRGd0%N zsNsRykbE63j$13(6Nd|>4;HazJ->O#eF4Vqt`!$;b^N-nudN^wc}euCS`NJ5r#PEA zfK)kMW0iOInsV zn#%?6t+9m)Y0x(pZ0}>$kLN|c*BW6wQiymPTPnR3Vi5$(g1w2*;zLCn5=9sy^XK!j zz7+M`H!>i?i3qWLbqcjTeGttk2XC8&S*~|BBrf|mmR;eVlT+tuMcO;*F#%01eilN0oMKfb?WU5vV|C=7;sfSlc2I-NhDye|pM}`gO>u+M@LnCdi zq%Lz3I7xl@Am1MMsun%!;HJ9R@xI6oGGBMU6v;1<-&%aWJTxa4MAO7F8_}qTY+zRg zlBSoZ3Xu}2^q>L^F2ErzCh69;K^7Ewmo|~{m1na_r-v!>6qA<)JMONL%~d zw67|TjTx!fOv{ndOVc2$GAN4|hV$AU(&HVHpmQBZM5tM#l}21D))3&Xgwt|Lnpi83iqQ=MUQC4`o!x?&R>; z=&qMN4i9=n4da3=^+Ql-@1x#S$RUZ_s`#i3jWCC3*SJWJdf1t|W>>dUpwVW)HAb-5 zH+u8`zs%{_&osk^lV__n+P;@bFUrUOZ_n9T5;t~#o*c=bayoM1^YAjn&s_Ns(Jtjb z9h-UH3VNr1x{{J*fKqCKIQP@dK^6k-ZZa3^26| zUZW$aJqnq%KUNRxbcO{6)yM?%rM%MyruF;EC1-)~S+rgyewh?-O+=d^T->8COhvGp zUn@jrV8!z_$c%-5Nbu*|3_w8*hn!VBx<9Bym2UVd%SyP6I6n@LjMR`8>{L}u(|;w{ zSwLxCQIZ8m{8ULh+&;ipRJWuyD?(x5`Tz!ZNyHGjvMoQD0py7mA8Y-2ej*5HWtu~$ zmR+l-EuEu0P@i(Ko%o5bFHW_*z=KCU7GdN+DB`WU@)<+oR$VxKrm*?yD{$W|$kW{H z)G#K&??jsZUwA8w3OKdUpW&OL+4d$V;F=y{9J)8!y!303=dwj1E?DlPVvA=#UX?m7 zqU5hEWE1}w^5C(XaJYC&bOEIGP8$spP4A)c-Y2)N5PT2I%zxIqd_v2%CaFdHQE=6f z1bE4~A$W0Q}HfLnsdL3FcZ__Ohz5yrG;IO*D3X|W@a_!19Wt^fMY zw#@y$zFqRtWJ^U;r0f1Enc!De__$oxAn<1?sPTi7WS6lNq00`ZZ7C~SrT$XG%T3rI z+T;0Or36vcyD8-pTCUPewuA6Pw!Kyv7`MRp!)@EsX7<^mv`|yq5QyD6}%LQ9`F-*!Kq{+Gr5lpu*-a*NuD2I7@+4rk-+j#e0IB`S76qY1U+(;Nvg#fz{mft>%~cRT zXo$zITI1jSZddFIy)8ZeP7iq7wV~m2smrYCnr8cjn_PPZFWeH;GvqE@$~b0iDj0iJ zvrVbe(7mL(0A4hlVtoUlV-t-_2Ihb1qYwJM4UVWpbrv-Vgq5DGlv)ParQ0&w{Ux&3 zL&pd8yQMpO`^PA!@AKDac=eHJs{Rd&bst%1)d{pTd=q6?6yMglVzOi$EIva@q0Sq! z%kvZY*%pMw!ts_I?HfxCVZlkB%+iwj*Ob7u^|XRIIzcnf*~{Q~J?KHhv^!-x)#>f` zv7dGIj{MMB^-u&VG$l)tC9iu#tZ9B*-F}m~!CZqq4PXzQ-r=L-^k`Q*^vYWi`ILhx zHN>dOXo`4+P*l@Z9xpctG*D9SA}q>p2UV8qEQ9`RfT%}O}GFi#>e;fHN@I+Q~(uQV?!R8+ROFivJJ$p#tIl1;3%i2Ts~`|PV*E8 z#{Eaed$u&hm?3_&Bk3-!P~_3j12pcWqam@Z!BqNtiA$WwW?+m1Tg z(?JDc61qWgu+|b=LYCzgy_xKo#qTB*r*KDkzjFTPD*Kpa=EHhP`jnVO)iRvuk>jdD z`Iu3Eid3wc9ravT=84yXLl_jCkeVU-MevZ%>e1k*2F z{^-ffX<9I0ZQ@3zA&(KlDa^#!KD#J}${!A%4-ZlQKK4*M&eiE7Qcwpj_WT!Bb_G9` zSPp+ylQH?su2=q1?03DoHlgD9EnL%cxC)>*JVA{BuN>o$CxxyitWf&dVVPyRY;Aieg3k8PtuNiJ_d z>i(FkW`b3XYRnI2dDG%&A*$&xH(s7PO6M}irfd5V)7g`c6{AX^QA2e+Qc zd6hX5SoEKATo%eIT_iW|W|z&3!)L4b>e_Q6ac@Ph!UcRCEXTE-eQF!3LzfJ+V;wp6 z#csT^9wf2LQHz+$sHL{M>6xy!(`ea$3w{NXKY8vOXI=?7A ze(%Hd2+T=9g0VIZlRc_Y9E1z%7C=`3$*YPeUsgh=yS3Yg@&eqXjZ~|gX`as0>P-te zc;*+0*4oPj8d2MG%fXx@+mg}=6!`*)kc0%ww7+$mKjH)*@1Ea-&CD%-VH@ap*^D@+ zHfC(~D1D}jzN(qLd#pLYv{g_!`Su^?jMG5V!NLIUv4R@IDttnu%B$h8Z*YFjadw53 z?jyTv`+U@FZJNNjXL`UfY3U2EjrGIH&dXR|xQe_FC-J!~ zH9lLE7Ys6TidB#S8t@?5ZknS)OY(N7Yng^)alfl<3tw{!8q@wp4ya94Fe{1 z6%BTTa6CItXHLy^bq28={K@EtaNS%&_-Q4^%!coW&+lMk$BlC&OI|0#N)Bru8wMXq zV>S9ngP7DxQ!!4>nwZMkxLxSMfF6II>-vP_s%DFT zC`2h}PJFNpZdQ)Z;}_{48$l8?{!AFAzpa;S--vze&~917vwFlFyDRA^Iw_L)(JA=C zG2czCCgTT8(sM~Mp(tT>=0-8HUic1A{)xTH`f6G;%XrS_7P{j%3jq^PSDR8>s{=Xy zWV>w8?!dpj$-G?Tg z8-yl;g)Sk&?BlF(#>%W-p(mB4{2KwBz9PQT`nX_qaUrTz~l&M z?3^|zbXN*~VO=6y!;R{GLa@1}R6||CFw9Z*yt4H}Ep_)dV+dH=YJF+(w_D0@RVh{Y zMAf(oWckN!-==x|#dt!9KRF%y>%~g8J}M0)2~mfXA9Ri~_e;|3gcqjef6#9A4VU%R zz%rt(^c&V}`sXqGaT)l7WE!`$S4ZM)fz#WbBU;}<>iF~r3;gU?q`Ui1qN;{FZG~Ab zY~ytKadLV>$Wn(FGhLeNd@}nud)hmVyacW?oie2Aw1|GoNky zQ^B3xns4Nyf$1`)300WMeSMnc@NaG9Ly>0$_V3rr`N{Lia@cA?vD$uHg8#aC{YicTJ-XCN9YMMd!HSafF>>a5ZR7&bvNb!rt%{xhn+^qgz^4v!$(jre_vs&L##U9yRby2$LnJR!9qGd zZb2+8kZeP%xcdvG54b#3;0C?-m>3cqEJdFOTc{T<{@80nggSmR$Rw+iR81!qCU#&; zWz$gaY#XNXmUy~-%AIn$^!wx5c5?$ja(3+}7Ale146YSi7@NDA?rf|-5s1B~M+}+t z_bTC5jDh;rTrWIV7iucIqOxq5q9TI_f+bY_ptN&Jm8PS2H{)VX=!b5~W*42oSjdBY zD51&8fMDYjW>NgN5^C_&Tm0@UcL?+r`cq%=7DWO7{Cdm)rlGPG*mLi_fB{#5bCo}I zX&6OeZt#+B3k~0R!YADZ()UdjAVlf$mjEv3>xG2uMU}bSC-d7CYpxE-uo|k=msX4x zXcYsk0#-$5Q_FRf#9s4hNSMAtbe&C*k;8~W)f=XzV{=oyLuI~zR1e$eW9$f%mFpT2 zA5K5)vwFN^;CJEL2?#dv8&3Imd>URfyv^zH!^t<`|H@mp{A}e*s?D@4Grx`3XKXfn zo1THc9m&zd9*t9q1xdr9AJ36q9XTe#ebz?{YF8)kYtNbj0eC|BkvFxYop z+6r6rGMNeK87Zr-&VDLLT-^yM{P7X#<$gKAUUfF|RmXss*mSu6wz*$ z#clE7!%hiYxG;d<@++s5mYg}CySd|rW)Kg8z>H~sc}9PT72>^|OGJ!Y(N2axEu?oh z*s`3<^@J(kFkX|>hsN%v9_4zk8#FCLbR5u<*R4M>H?JU!UD|v21mN!lP%tWSOoP3) zsB)p=I?tNab(ZiHu+5=VOjo51`OyJn*hWc8{FpQQ0SEY*Eh;knZx8nc*m2gPq&ZRt9+B0WTo zKHQAD6(zF~4>Cjks#?fc9{T%w{d`sY!`RdE9rS(@@1p_N>%mqo4G%%t6R3ZPq0}6e zM?VQ8#a6w27fI}3Oe=^uauk4#jQCf1CMu;=oSgFk{~i-Lvpa|gCC|?`-$7KX{y%i; z_w4n}bVPYVpuXbhSsWOruU=h#@#%bjy=umB^pVJY5f!{s z{@IHm{Ozae#VcrU>6=12!Ov%lm8G&9L`uGTWE-{Ib8%(j`8zZRxx9JBak2K;vF*E^ z1l16D@vIhHt>@YhxA(rr_wCt{mZGg2YLh1FCU0zz?e0pwTA|%B>U=P5vys6-CQxLiH+9g*{Z6BN`gWv?Ur@G6sawqMe8iXzq6@R;R_MAiA7&hV)7r6kZ)Brdbc{Njl4zmJ}K`nfC?a0w2QSMG-(Lcl*S!))Dz}p0IsL7No9eGyq-!^D{wrnN-TFh2A4iq-NGtmymZZ z6vFbpa`6>o{&bi^#1ltGz6ndRj zjFO8ZiZ!Ooe_c6E(GWpaQ66bpTr!zUw-&wg#eByg6$9G9<&@e5vT({NX1&Zm1KJj?M6nDy0XekmuoFw@`imVd!^}(5m?l02&D+EJR81|E-kZi_<9qyX zFX>=wOpgzp0s&_p{}@!u9(Mkg{lZzQT^bLaO>+g9VXp%V_Q@MW!^PZRw)Na$(N^k* zqp(`2rrc~rex*6#kXNqX*y*}uwxWEQyfgi1B_F*;=6Zo>H zq&tmgtJ7fO)lK1vw)2TTN8=(RYX)zBd)mxGWuf)8Q8}FrH$$ zcP3KoSAA3T8sl2FXcB=J#<5aVBy=N#me#8sDWL>o3h48!jrS+G;=oIE>YM_KWA?LMmHC8%B)#vcQH6LL}J!-iqDaxJ2g#{%NOPCvs81+M)}tS!aYoj>{^4> zmcAj4!bvz{E!0mezDK=vb<$r&{j%)fNFZKjJyKb=JQDePc4)^Lo_e4WCEkZv88k87-V6}S%DP&;MQ1@mSzp>E9;(WT*k%&(vtMxPIE&t9NMgu+JbfKlUcfMM)n2v5FCH+QpP#P$heM{eAt>hy z_x#T6uf(&IZg68t2p{@8tqR1j4%D zldF~Ft=XJneRW7t5`F@!Ze_82#rPZQ%RS`mOShJp?AaEA$W;lAoNVIbWf3_O)-nUK zu>;gY)#i`mPVc)-iz2_AZlvAT&wKd1PVYi;tN0OFHh$YGjV}E*_Z)c6l>l@1;zYB; zl2`DL{s*nD9CQ1A;NQ>fRj>FgW4Sz=ul7$AYfBj5Kul4)?GD)72Y_w#w>6Tv2H;8;D3<_*JvApgC(E+thCPY4 zq=eg1Nnosio4?Y<-^Xkpz3)U%MJxqvP^ymQ#S6>Au#9)m5meVwulG97h-;nE?J z%61NMpUePx4CbOoW)xMsoQoUsldsOXowzl%?BsLd6N1Ke_HpdcZSKFU%r*CecAlG2 zvH352yBG#jiCY-1b%H|F#hxEg<3IZft;#i-j43t6QZD>3>qg>}#@91nfc#VBf~)Q<9J^mILMP(Lsop!i-0m zszW_4&a~t+;Qf}S!BfjE9Fa3Q$q?{j)SzMQl^s@axeQ40ykz5{~uzPtp9u znOKX_>h3pivrqXYO}v53+OLq-V~mo(_0k8%$!PzLAM!VjeI{1OYBslB{d$9Vqewa# zQjr~}b{sBXJhCqtsbCjb|0%|K`S5fQ;!?l0{$6hNC?# zif7Thn6atr`d9fpFH*L^^3*FVGIBDur{8MHTW0+qXNo-PPlBd8~mMi`9$+Clp^cBwiK@dAYS6de{ECa%7q0>dEwjL#n<33x!Da^-EIjYI~j! zRc;lIs~G(51l@B+ir{WOx8iw{3zI=gf^H(u^P(mZx=kPqFJa-B|m zR4n0O#I&~;ZBbbu2&^E~>h)s`h`&m4wQprYk`AfO&7y^N!OjX&cLC#U$=+rnm0!KV zBUO4v$=?8aSWM%c(iM#x2E~J(07;~OLFX1#Y!h(C*r8@0hlq>Et2#->CajgvtOQzm zNLSrBrJl|!hwbm@%>JE+_>pgPO4T(aEkva<7g!s|TKcDI{!GU|m0;VEBA`ijYugGp8sFKAZN=cOH#_qv4W6B4uZ7O>;Uo+Qa3yQbJ+{$vS22|r6; z7LyzrKsJ;_WOO^c(7#-;vTI{1VI}Ox{#s_pb7yq1)E9tF3qaLNAMFo+c47?!qgx-# zJ(kn=3=STmQiQOZ(lNSK1YOX{Q-2pQMb(xR_uz9d)Aa8Ph$YV(dX6vam-c( zL!SXAPaedB?V!swE3Pb=dGGgXR)cM0Ky8pO8(m}k3j5}QMZC>!iFtZ4nDgW?!=U|Y zp5Hym4_}_wr5DZ4czw?J$iySR!=n=$=a= zkX0A0t}+g!DMpZHOcWE4`>vWUQgu%$vrF$I3~8QfQi8IY0*^Q!;t~;A1p-&sCgiKf zmxvsJcPLN2$KW&ZaM{z3Z!JeZ-euaR!r0@kjjPLAs7>$a3h%3m&qBWZGBY^V7G*65 z4=qmPVYM*K{|Oo&t3G;M+TglsdVB^1s@wQ*`JnjfYF!0w4SQ*K08j6Hsz7mX0{lLq z*Hx6yu2BAcpP83B%eP|gL3M&W^#4XiREm6l97-0f%>%;LS?8@1rc|R(NyzP-0Uva& zwW0O61&8?L*P%NN;7fBp1XmCCr*^ASxts=i&EK#b^S$ezHI&*sxjE^Q@730hRnC9l z*$_7~E*+&g*2DjmwvbFNaQq)BJ^R_I_K%x7E#a+A&~*)s8aIFA*ZO^aU1NtA9>GFk zyooE8Qlvu<;MN53)h@b*T#kocydYT^CTm}`SdziCZh7%#F?M0w^+y%7iK>A*{w!*q zn05F2Vs&tuO8Qs;C#w+Bw7mV%TPw)wb8bAY$Bp)`(-$7`v;|t7r@?R2=6Utw8MToo zWTTRr0S^PC#1L9t@d$oqi6n}7<^G24f3^!YyJ)9a`B&XRPiG~|*%+ZE2piG3 zQ&ms9e0FNjosD6u3WxT`OT0J>{SwyhA!lN6h-ODA|0z%@-GN_9_OdwbTRb~;6k64# z-ca;cz;{l!VJ;4)6;1r1Xz9N?Dhz4CFb)L7fzwswpnq^O`pCp0eIiG4fb8vd8HH>! z&0v`{cNPnSA~s-01*oujNX6Hv$TIZbXj(Pg>DLn@K$GGF#&uIYobZtQi?nF0$_22G<_|Rm}*> zLcIly|E)Mbx_kiW#a3kS2=$#NIgOohqI2FAP9f$ku-+lxDvH*zD#|}sg>hJ?R62@H zh5);E`?Pa3zFJ>T&PVI*xT6LOX{lAzvP_Jce9D?Xy1U7fY@2Tcia{Uh5-h5$b9&hMRm$iHace!q1n_ zI*uAAbAq!K?w zG#}tiGFo(?sIRo^@=_SnuHon{7LV$9D#>26#-vgfXWqTj6#JeN{^Fn8Z~2K>x`{P4 z2A1Gah%j#MRR1H2INK;!>ns&*7U9Uyc?VISd#*jW5^O*p%is9;>Sae5Naq3MX#V_k z^H)NsPD59gl8Jxes)Cs(H%-)T@gbnIMZ94`%b zD=R<(3HLkWoG&FDj!UKM+5064`botXI-3HpeJz!PzYlMc>Y921sV7`D3hm|cU4w>> z+r37(FQg}ESs>Jg9wQpesRG8gWxGh(w`M-w4PA?tSNY!~_nEZ=&1n8m;~4tO0_Wwx zL$%unfkrfsd3q={soVW!WQNR4E~PIQz(0+3Eo~g|G-g#lRttR3iO?Pk658#(Xh9|n zt+#d#gbKWTCDw7J=vkblQCoSmUvLfsI+Dr`bffT|a!z;B}HhPls3 zoNXPQc-al}j9?p$lgh_JUqDVXuvK@STtxOhBSEn6SMRM(O)1tG8z;nC#O-n_R06Fd z^0jxNhR(YiFBLcQii2+FWGOGkfY@t7@F%>F!7`VWQ>J8Ap}Q}cr% zbwBaPKlMgiO8rhr;Lf5t#Ij;7_IaQX2V6uOwS3130aec5;axN^7ceW zrj3%!u9tb_Qeyt6_u^S3?YAofVQfCJi^^InS4}V}mv-zO@ayE}yY?$;2HdEK>1}p% z9m+fda(svF!_2{2!H(qp!<`6YOV+@C@S%G748QrYNWblZ3)|wU7oMx;J*=}veTbpu zeVho1$WwLuP_ukqRr)6051{F1Hlx=2xG$&aqbEknOQRf+(NsV_=4BM@_J%5pX9!2+%4zk!fu6orht& zl-GCv<=bC5AV|9Ys-=2RoSOY#4pViGx-8r7-;ubW=F2B&AF>z-G|6UJvayVpPVzR&@5Mfw#AJOm>o^)-&J?8ue59t$jb2D&qAZ zynoC(1Lf*Kip$9ZoS%-&sQg01jZB@da?WxzocbY4pZX=D5v_F|UXmi4bjW^P?ySfs zPmGSCrO=+n8pZSS;YJxe>4XTbth zd0}d}WLr|iWtq`Hd4@Lz-iHTw>=$k>zSpn~bx=u@!j8vs#H1O-2pYgHy8SEE@0-;o zx21Mn-5!!v7%eS&LfKXC&n^3riI3DRI(4M|du_1hpwu#*c84p_)q0u5y)ZKX409zMusB>KJg%_5Ct?+#{z3j|FzvUZoI&EE?v<45{Ld zwI2sE?Q$zi>Q+2vm&t`Duk{^G!nCgZ#O-8u_L;jrS1xYyqb=E;|6k{A{-}(B*m^ox z++?eiu^Ji|OYYJx8fyuOQZ!q3czmlTdV>FSJgbmcso=w29@GDFhfcl4(zO+lKTWWC z8<9T3_$w~jdD6u7q65PGAEA-C4}UN<0w%BeO9ubb2zJMwYP#ot%NvKk%kf%NRFd&p zZhtCD6({bf(;~W1vDB2pjMc!a^(H1EdK*G(a)$JaJVMJ2vBg_YTsOhx-Zd-BS3e~b zYCB5kynZB%x)iA3aFz$ zNfz;;*6z#x|Dp5-tN3Hn6{`US?Vg&k!MxVAn6Je!+8w>t+R&!b1{2#BO3u7ak%iT! zfX8k3Gk~2%yHGKgW$z-xB{$AUwrrUFgLv{F^X~sFm?7_+H5)3wZMl7=E`_A1dN|6% z;c62SJrzYLJ?*EW{D-JyN(=~xXI($K;CH)?J{5TQMwiPcBm(829&6DxpgIkGE+MId zwTpa1%V7^NtSyg007)6@jz2iVJ8wMC%mJDl;QyQmfDR`}M&N57(l3@Wi!e5EJQyTN zwU3SwaMVg?=%kytxEkcsmrhtfXWcA|htb``Hcb0tIWMD@07HDN{={olSvc#2ZSsSO z=Y)}Otp3GH1=T}4dtkt-@-KN4s&e`Dv`E^8*J{!fu26R6>5fT_%Z+36Qp$%7t#eu_ zX`FKhk_H3fRtfgefr(E*Vrc&ES?=;)AK8ja?N>`fOnt;FtHuE}J|5LH#Lrh(oWL=` zp+UK^(TA@~&ep(XChEGS%E;3Nxf!HAk^4UYWg5MGTNrO7peor|H0hoVx_i03lO{b0 z4whudr|UbQn=oOxt7tOD5i7juJD&8j;fuKZ&zbf+?$!=y-n5pCCVGI5GrR2R17+zQ z)3*WQrY4>;QDt+S&&=UsNjb*X1lTxC9rp>8Tw^?9+d3xS(K0Yg_A*O~g_ZeDKbgns$IYwdbQ` z{$uv2OqLJg<$e6bPaY^Sc=cO86Yk2E%mxZx1~%y-I_)F%8)q>x+PEDbfeP3gTpv1l zUN=~H=v6|l-8N+sEJGA;DGPVJ$b4EpQku+sEuQo_??qDlyi@H5Z(79g=|n&nz?yyb zeCAe-)CwSZZLS|9X77tR`eqx)A-_gEJX-khsR4%}sw!OJs1}i!P)~ZQA*wW`X#Z%E z{m*Z-vB5i5b${T7L@f1>wX}iRGohyC%JZt$*HlbgEY+5dUxJr>1o{R(5PSW4- zHusqR^X*_9a4thDi*eng8`v-U3E~*6c#lbnSDUj4(f6pI(8rvTZ}RB;XZnU)`perd z5HxO&`H(iGUbG|OiA(UUeS>t)nyoUfxPX4(# z1w)+_iXWyvD7ZHgIr9moCT{4Qt$t>>KT#mO-}nITlpiN3uyg?f5BaMUyTg%PUzfE; z1VYFHk+Ofe-424$406T-x^pCBHA;-vj1R1bKhPIDNf-Z@Zr(PA$$qQ8Y`Zw;QqhNq z1Q$+6c+Ng8yK6bpS}J4t+_*WTY(hgKPx@SjPhsGAx$%hRSMUD+Ei+=Gk3JF+#3FC< z$+B}Ws-tc{P$6||QWhDk$}of_067Fq9{{u;BN2$;P-$40q_hc_Uv2c_F}It96?Ek{ zVh^2**qT!N$Lu@RExq>S1$>gODIwh28;j;|B55X}0)=J3^h*V?=>w)|vO%2!qpoUB zA9p2`cfbecrVbNru*m=+e#C>ncPDD&0$7zW3K8L>OD60}kcP@7$+Iyt7?}|iEcc|r z9WHG_WJNjFJfNC33llwK`oebDOXfl#!;6B9kKE6Vw|Z zayodx?ZWT+KAzQKFoC}9YB9XaRG!UH2xB7%77NM&}YBRU}lc!uWQyk>c2RA@#n6ilz&)H^6?g zWexNAAm?1DZf#srMq!KTWyGQ zO6xbZ8sol!D_xu9r0FXQFi2I0FSvs*Zwv!lG(Fh6kLQJ3U*Vl0{f~gy^U>R$f$f4Ol-TnNd@@^6 z87Ve(%fQAA6L8Jk&H8h+&BwgEwjo?tVtDDjYkU{2Pc_jw7q$*O(7?Du6SX(W!^QuX zP%K@%1}zR0^Sn!+fjKEM?~+&3 zoAL3JAy!cWvXaRZMJp~VrCqAidB7ZpFS#{$DTDh24wDR;QNX#hb zba>v>z5Ba|Omb+|W^r?QH{fsj9TL>{xvMj(aiCUwk=@YOqS^Lu(o<+H2|+t#4FGB0 z!7&$mu^6J~@a#D{NbkL!+P<9&Nl47_HCiC@ctRLHs9q|a1hOU(>?ynfj}TWL>CDSh zNsS2$M!6L&CWdIR{(H!Tpg;aMu`r8Qb5lP!KD2Jfg7!+p{rH!d!oLLy2m{^k$~9)o zriJ0ysxu+(9tUd@D9m#8#;2{E0cPDA^zmEE1Hs zt!LCamvC8kV4q9lBACDTvG1Qz{^!9LDf=)6PcZjA~o;umu-NlRsnN$koy=|Cds z$iKECwyH$+S^nFclNd&KXB9hi(;@Y5=w0v@QNwY&ZpNqTm+3+cFk}D*W zu2>Eu_V@Ti+-Vk@QQR8~cZ`{OSU~b0cKl=9^i$pOlKelvVTr%Y{Jrp6TNlP1xa0~| z9JDJVaW=83w9@b0vYN5W)IZ}??5R@@?imt>BnOp*dZ2)+pkoTm%JZ?-*PSv_8VrNqZjSgi{qoIqR-AT)#8oJyItL$Y zCJT;sI15*YDfnqqIL)%2nzHt28cQZd4_a$&`AWnmBDDP~biPs6aZcpInc@*9GUn(M zY^L_>w4=nGYIxQ*9F!w9#Maq6|I&U$vBDgZGi>d3@7l6;?%9_aKaS?U;7O=ojuFt& zMp%AQ_ysYDsoy0Uy6x6-&B>6fzia<5d0wW7S1OLehBs6x8kzv>@+R8h9cFKYw zVtxN?9=sKq$w@a;wqrf2vsvH9*4^1^N^onyig?8?RC2J@sBAVc4}mJOigzPAkU7{9=tQ?Y745 zQq=F6BsRwGj6Ephx33~gL|3qMk8iAwgI&FmEnrls*#-wDURd^F{_rJ3QT=BrMgq6Y zFc|@_?F70}LDrqccqxc_?x$is`j}dO4%|u2lA@E2bIcn0H-G+Jj1*zR=N}s;sxmAu zQ`N2HEDSvRz3-K)rY2*Wb1l{?Pfqnj zkfm}M>8p~XhE?v-0Kmw50y@GI3$K330fT3_hv#Hx1KpJ=L9bb9Nm#N))!3BBAoW627r?{(nX z;$F)CvGr9^bp+eC2^xY0cL)S0XmAbg5Fog_1$XV>!QI{6!p1GQySuwP8`=AD&b{M( z-7)6J>h7wRQPtJUdM+sw6h}|pDrt0G`pViw z;bR9`Y$2EJod;z0esJ-jj8#9rp2#;3J^Qj8C!g2$+*$|5jJk`m=XoTJ8c$%^yeYv1#C47~UD+QuZ5CvqaTWkE5g*})EqEfY^e_A+W zW**6c*+v9=C`A8#VX)0Ph=Z3KIu^r{k*PUH2>!SFsZ`c}=FciS1y>}kgGkLFQkPT$ z_6UvmWgwQRkLcOW+;(?rMf%N(%qm9^y+PNlK}BI9{Vl^R_N$44C8bV$@u-gf z8Ls~Zu?}Ql@)SRwy?E15`n+lk1*9u2mP@&~`dtGi48Nb4p={q0x}jOrhf`Zp^_> zjuwY9!@bgOuM}oYXAv>~mU^rhZatjG6WC*_;Q8Z*eSjnFDcDGgAm(9qlsQCqWDuzC=xoh(0j|snV;j2 z+=(Ed&$%9l3Y~$NE?R5XS|M)KvNnA0BO;SYJT-xT=(B(uQqYlfSj}m$MRQ=3>>qp1 z!c&VDUHAz5t~3@5G1`8|pPN>U3{;HbpOPIl%WS#*dKm)?Ol-eWu5nZ4FEzZaL`7}3 zU8ga*#BlHNWIsufYmHFCRz+e-eX|giG@xw<8g|3>(|#)*BK-OA1uj$^#Vy=bntZGw zFX;HUbB~YMr!-o1VT)XUB$3!=;jr$)gj}L>xi%KP^~}*iF{#EK%0vB7Rf8qxE+sxO zW8paZ>{+Fq=9mK9w14<^GL&rZ%<$PNDq$<+9C_c@whh$|{s8$;zh#?#JpNoJ;}E`! z3%KR%U1NS%SBF9i}|9ggbn{u?Q1-LxEgY@ z`ge)4AAfPjiz0jm`DMi1^*E*blEQIG>%)GyC(zzXv;R!pjQdzZeWx6^%zDIRV{w>( zt1vxGs1@Qo=89OEhAqch7>3M?!c9kxQw>}PicDjxhIpS%cC5Y!uO5jtNu?#_{wRZ_s&$ph!{LMm3#NRUpVEQW&0w`7*a6-%meW)@x)8aL}I@;x9nChy`YNJ18Za|0X_}Q#nm-Pdq|2JK?cll?F%9 za*3wC%`x}NTFUo2bmDN9+3L7Bky@`_rSlDzGs6s4`v)n{;$yF_qpz-FaZ@obMT{@I z$U@+5#g5x>t*4>nR7K3Q6eHysbHlpJkF}=;aRaJV zIFA_C)7Qg&$?x>8r9#*!qxDCVQ@&n1MYQ>iQV2=zFH9w;j3#4!y+a_AZMW@aQ~X>v zswjA)mA@#Vt}RlM&1!q9d#__1@jP=8=rvAox^Z!scS z>Tb-hm%G5C_jueghX|xS;=a1~*)W~GD(`IqXkt|zg=iOntq5-{eOJ}w{|o%N!0i=eX4e6lqNG}1weRvrcHw{g^b z`f0eaEg!Yiu%Z@Gup>_$>9j_W@UZ$p!*B;`TdF7_mdJ=zA7K(j7!7%K zNK3tc{~Yfj^9|cn@zg19p)*Oe`gX(@nK6VkKlwHOpUgE-WZb4WYMA~tGwzKA06kH3 znwnl^Sc_ZYVaXn~9Hnyn2axiHiXyInm+M!QWL1B#?<>gbG~Z5ZyQiV`Z-C;;#Y=_`-VG z-b#_;QEWSp_s1_Fq zQys2|{kXckFqp{vyq)5rHR$%JY}j0 zG_;+95QU7H(x4=_LR(~mJtGlnncoXiGFql(wMpR4cc9BQ9v({h%T!bmPInR*W{#&2 zmIvn&C>?}XwkP@P8Dqt_x1?m~Z^cmE?atrc=n-WhCfU~}hr@wL>tn)&pPW^tHaaS6 zO+`S5w7gGz+7mU$oxJsN`ur?cWvQK-%0@*|ho-zwUD}fw$K9CKar(k6S9PhKp2|jE zQHQv^Pk7o>62~2*^|AK+Y-2^Kou2>>k;WAoLl(hp&WBfhZ-f78C$p{G~JsyE~NGyCkzuwJ+ ziwX(oBfJ|^WUkuM)#>5aXL?sj-A)Lh;&{0+g`a%6jU$84;j-Pik?1hKns*;d1vlK!1b(=W;qd2~EKa%lZD3R>w)RvtKGpCADS*E#)<*(>x0} z?xd`jY0EA1D~d=pT4*wfGO7P5y(oZf|G$FL=&~{s(}E*prFEvxI`1jMMTHk9JWE3r+FD zNALmY+wT7dQl*^??9BeSrPBf35f6{eMn;33!U|XMS-Lq$!a0PZcr5ens8gC!)?_v4 z<6Acc^Fe8e;k7h!sR!-wnBd~}!koB*KT`AXnQ>t$31ZFoX+VU9C^m@v{cFTvCRUOO5eh%!CL6VL5+EDTueFO9{$fzrVGplzSuYdT zYb6p?f?*@4151EIX2H(ByJ%yPDj9Bl{m1%R%DTIdW9vH2zM05&>EM!$*!b!{3a69h zy&PR1N*@+F~VQdimQ* z89dW%PatE57XY)&qx!v^>Vw7H&)>0`%i1%p5`LYP)=t(f0sQ~8W^4b7BhPZ`e?ijD z(k{%yNTw4XvFhH_U{D4rFrtF5hyX&zaxM^Vq4*PN2aFQFybw(6ey}hXzm?2Lp$R*R zvKK?&H*N#u_WXQwxp%qo>T@6-CI(t6{X2=;=8Ue%w9w`*?3rysE#1}b!uoQvl|t3n zt;T}Bkr~(JY&SURqDg<;+<^3W*UuhE2$5h6X&;Xi4QadnHx5 z$l$|ZCP;TBCC_ZsS~I6mh=|mJ3p15RNLZfR#{nt`R&xhU>pe#N*RY*@yT@*CExmZV z(w;8Ov6Af(3TGttq9ee*#<>LFy_7nb`8(D?-K-0XKep2pg@QhT3>%5Mauk~wmgIW) zB=L|0yVI}LX$^Vq{Sb!AaPJn8~s5@rDfS$?h5Cx;Q3ncnmGb$@zV#$5IvH?q+QK%gMqgY<}C>9v&j zY5d3NpHD+vuX%*^y>ZLFT8a8kVY$?w-t^yTnJ?MB6xq8t9FcsabXQ-f^^|4`_F|`J zX*_h~ouYXxxA5}zIBb@$MOF3qib$$;G!GLQjP=NOB~YmPNIU;F9mTgfnl_KIBC3h+ zPlaYoZ>QNy%X2eS0slg3OoJ+a6Lj#dO(t1eR1#{5TaIk&CMjU#e&t}S%3a##yz~36 zQA;-%B=4k|UCjY<4Mr%;G5ui1a-?Rs8=oR+70gr`fNvwE*Nc`$$4>V*PAWbnu_i6y zF_$gdWHo@Xbgx(yym#!56IQX2n9JJVR+91a5yX9O>2W@_3<$QW@aN!ErWTO8CEu); z0}MAaqU)djs9|w2^OJ%cJ9Ae;vn5ybKKohhXMLBGUG=n2TR`TiyzHq>^G+Rj^LacD zSQg5bPg7o56mIORjucYui{~j%FWU=+x7Q8Cg#AJJs4#LVU1Qe7-##jxiI(;|X={ry z*nlER#0zf34iFy_<&ry6aZH}RowoGAW;dn})B0^5XretI(`H2DupO7jU6D&waEgs#6E&p1P+VRo*n6q zKz{i3N1m+pqk+7{pKUkBrHc- zxV4ne29#7)lFF#thpU;L_$VhSvWvf3d6+gFq@z}11(Rm;-B)>vS!=&HwG2&1ES~GD z{L!@cp{nX%^T&@z3~}A78iC3Fn6;){gd?f4!@w8jEB>o#EAiZP!&d5ng5V@J<_TKn zw(@UR8&;qk(_%&)X3al;GY>i@u(Odll|&xC1$cHsHDEl7r^0(NrI3$ zNPu6>)b+SqO?iE}+A#%t2eF{PX-)8G19MJhyN-UA7=$B9YLB4B+&=pS;;N7wm%lK{ z;?rT65AUR{{|?Gm&zMwDXLMvDP4U*^H3lW%$d_XZMbk_BXl;d@fKDtTrZM$4W=rj0 zR^$TbC2)Juh%Lj5EY-0K_RNlBc@t%=RDoE@WA_5r(0IIYPR+Nah@YnKhg~8|Ur*T( z-iyu`PD~_Mx;|YAwa?O+rP0(&@)V!zd+&tc(F&zf71@ScKKr!>%#ARHf(w#lt+bbn zrEAH`-uxLJK_9H^P^>LL3Y#Wf6wxMQ%1N{LQsN_2g=WZeaifKnNwc@2jLA%N-vC8& zeC2hA$M`O)NpV#94UPHTkqopZGUv$_T7RzQe_Z*N#YCdo4SYm#Nv)rBv*19cR~kxK z#j|vQ55X}NN)gO?94yzgYTTA#KG71fm%2P*y`O#+@voq1g%D{W*4O4zae%N71}*7O z<94t%gZn9zh2)I|#~2ZG-s8?sMX=Y1gGSL8u5TD$ZYM46WXp%RBp6)9M(j1y+K9-b zk#iVn#BDSB@r#C@C7gA{>ynCTQ-kBBwe{eMpGLLO;w!YxfffRuUt0x>Lw@nf6m|xU z0>#%7ahC>a1--~P90Hg(GcuQ#N&oR7OsFs$WqB18k<|{h{TT73EfAnpPDinpHgac| zQr=cA$#fsJbmO(9bw+L}BzK~w4`!uV-hF9OmG@MQ^Qs)OBo!?yxYW?3vSGF@zP>qh zrmx=O%Tyo%#zq2WGDu-4y0@}o2=!jSUq(2tynKFabR=zaL4|0g# z%%@Sgw1FPAMyUF>9QUUvk{d4(>iKSs7O`(F9S&Y&5HJM^{-t3N5O#4G`wQpFwtgsNg2zK@a6)I zeMtw=-_p=g8LxJ<^uLMCIM_9VpDBRMeV;jHH=EKKT>`a}$i#Dl$L52sJ)Q-Mc;OKNWxkKXlrzuO>M4U%-3lzOHu*K+6jxsCF(=xN+{!Uk%e8qYg^zTl)16>UvKn zhXET~8e{dg#*3#}38M)ZjO#vkTW;0-VE-_d!v_VFvVG4Jlbw!8tXI^b#yhi<4y*RL zb8?E_6>m8J@4^+b=S)`C{0uOD^;TE%7>^e^e3(E9i4?9|xY(dE67l%`Mp1420EKMO z&oA|(10`0b5Mq>t@_nn$!efD7N9g6Rd*?E$H@SR^8r6hsq{TxM$J$<|>FDy2HoWqw z0m+c_%4CS=o)E<37${oNIU8oq2cBOKH?qFzn*gJ8=SWjDw97s%E8*Q^>JViPauR)#xA=FKM zK(9OZsO3iY-I=fbsk7T6FOuQBB8O)f{Syrt<_kayCPF>b4Fo;gH`cF{-SYKpwvN1h zGd6z&+~4yEap<~Wj(b5Y3%z7qEpVcOd1p@0TQlp}ch4_wLuhhjHY~n!g@~>X{-wpd z>?BVhZYegEf>-#r0sFdl`_9Lz%4zZp$c#~KYMl^23$3lcgQV8!Jih-F06f(8?cDeW z5ebxFJ*;r_cOOIkny34^lGgX2#79Mwp9V zU`S8z(-;ub+YO!UIUmng8v`zG7u1)FTWvHCtppxDYXH61F$Vs}ErjX?lev>DrC-P2 zKfY0yr=HWvpKW&L7qD(-VjC0#GZqgE>BN@9=dCRax=gGsEZ4b4mk)G$Fmxp7&WP>D zzwAv+jo;-rTe+o2-WyDkm65Y^FX?nLqudw(ox1f1#)K#2R{^$8axYwq=qdw?=NGQ& zuX9WVeX!R|UJ?cziTvR3DW_5;=k(i<+nbiGxmv9v?z$lM@O8@pHy!`6EA<(tcOEW+3 zeme7d_iQpf5DojK8MH%&&BZzTtLcqMlXvny7ZCnwsIKN+7r{j?a=$`aL)PYpRJ^fu61H@M$6yyCvs6)!yEYxl= zdg2$$w;|GxH}8`LmF<0(s9M3T7@fA&BlZ8{^({zQdT-d*%wFoa$JxwZLZscDUN&Mj z&b5o1-lY&`5U-5Q0pay^Cu>+VAze1l4+v0Xd`H)aYEm))xY@?a*Y~yu_jLZ!^)$I% zB$JrnuLU3HYvXMYJnOM6A@vuR8CqMh>|$+&T77)vsaTc`nD=x;eVTW_eBC_JM?Xh* zwG()p+%MFRSnv3ZMTGnqeUjZ%XFWF>Yu4&fwuB6a;c40mv{Ak+AY}`L^h8Y4B?i=HEhlSh>SR-V-{_B4Ho7JBP9bVudi7 z!N-;qJSJU_d&Up6CG9FFV{-;SP+>o_s;+d6y0b@hI3cw!lMFwJ;xu8dV~=h#5LcBj zp%=|Rzvj|M0adS7ZkChQRj3O0A^bOPSzFd~mEi!%>%EfH9=qb+PbVL%daevB7X>+& zmXkTlDiUtXTZKh-cbt85yo;#BY^O4>n)btzYjqiL14t#1(kyYkKwTz&alXhTK)6k~MvrRpw@!9`bl* zd?kB*$5gsiN{;FUHghs~F(y=&p8hN_l%-2mzas*2NA%Yu-(0Wl>F`_I`i|Gn#VZ5q z?_H+6&(Y_6t`mOE`DHYue43RNr}}mx3p)hRKLhjR*y-H$1ErNXq`?or9cTz{O`qYG zyJqcO0Gs1Q2o)r{fRn}2s{YvKQco2%S?h$2Ll9rA9wQWel}m_N;A(#VCc2weqdj`Y ze~2SvXYt93rFngc=d5;4#ea-;^{n9VG+pKFc=o5Av8m~=2M(Z(0CGFOubAC@9Uh(^ zoxL+w0}dC8J`-|(n2z-ce;CbSFLu{M(!{`Nv)M;L#B|Qo|96R8Jkfi~)5I|o!4*^ll}}>0 z-(Q`&87%ABO625N#rkbHXUvOCdykIj7OB2heyhBVzS>ORaGp7Jrb^#?ry~DZN|{u* zbqD2*R+7_mZNO&P#QPH9klX~ucJJ!3b{6DjXo=^nteY@F={RIu@h3PbP5rKPv0fxT zdiN`LxFsk(k?*5jBllHzDmvBf=C#+kTS;AqN`Qs$0pGLBe9J~ky7eKu$@$^YHXV0_ zjQn`(%AXM_atk3ceE99p+4<3=yMBT=q8>m?)np5KHABrV(E9*z|z6ERt%|hu|@C{;{*{4(#_&LqF_GDeU^ZSg9tvM=)2hoLIf9dIJ13! z-6RVUoZK$Jrpz_<(>23}{ife>94KTLkU6-;T&P<34TIGQabw~5g?6rORoTF3+AO3) z*bV1pK6yS<>j)@B8iFrKHJ6=s{y3<3spqxVSaWgE=JZhW<=2^q zTihT2%)$lX2C@r3x-YD@&0bVE!tWXa`7Vydav6F|H^5fxF4;~tTgz9ZXiDfJ&l9Y% zt7n@$?I~8CdE?W`+-S}UU+t>UH@~@@c4yqxPW#8p4lwLDtd?FCf97Y8+usalUAunY z6RA>G$qreB@GlXFvui{)wTA2y7b&M$rD+o{emS`W(exrVn)=J2$S^{eQ&B$$K7Mt& z>w~skPXc5T)t!{BF$of$Bv^8Xs#BO3jaW?!$~G?ImgNOR0oU%GX^X$;zj?bX=;)Qs z9#?-uF$lw@6f6U?)#wHM_LYv?VzpsQ!s3>zLHx3QSvIZ%zu^tZoMO0$@C9$C93v5( znC+QQFMsk9kbQ~&m;-w=ggSaG>qxTK+fBAs(*nS0C$F!2j_jg(84-E+Rma6G!{zzb zMP03x93my1uxAF5mUO+==gzY3YJIP68YHyW(WLmfPk$Ieq+Uon|IqTmGxR;G)E7HE zIc6A~p)srjbHq~A2nlkn?VQgtfam3aPS6v^f+DNz=1lZ=_>7+vAX_8lJuI!OEH7NN z2?c<|ow$l7#+T&J)f>NP^%+cw6zz4>jHLPm6Nh@s*n9LsC~>2|Fguh|aeJL5suORZ zJe|3%1zdcvTZXjohq)-Kg(P9Kf2ews2; z^-1-l1SQTljiZ&iy)wIF6bE@SS*fhG!ci^1iW@1vv=JP6_pK?ZL$HEK8oo<)3&w7HsWwh0M=)*JcP*~_c#&rE6{wUc=p@L5mzVHi~q>sJ7Dw7QY$)woRZJkf+iT^e{Z*C5s`RM|# zHA1H0SwCW|)Zy9orjc&^{OW{Z1*kepMpMv;;cfH&@v%^Q$e)ud_?0T(P0LTPR=dnf zI~wBae6=@nA>@0Ph}h`+@JaoIOCS8*%62kK@x}9mhRjaz{$)M@J=*vFY7ZSi#!ZUW zBW=G$4wWV!@<`YWPwfTPYZx5er%J*}#6vxzEg|1Dh2)v&2p0;1Hqb$Qju zza;H#>{)K-12d2AwHS!btcvYXE%y_4tc(UG%bxz`x_;ET`<`ntAt%OZXz9k;RhiJy zuQg=K_(9L|NznI{X=ys@WplaDz(cyqtIz#Ue=W5hgJ71oFpHWOA_Gc7Jeub~tXuj^V8*G$dJ{I?HuYIQ)Q0 zSBRYmp+3K!8Tt7YK*BG>%Yu731Cq)j_x64ALO#N^KvHcvYBo;`SkCFgod041_szI9 zOi)g0e881deIKj(dOzG;17qecHx2&ps5-rso&@)wYyt=n_N`Yg*Bsq{&WwRu*P(WU zUlks9D~jtAL`ry!JSb<}f$qorM-7+XUYSwM_p8L)#U{CWtu`aQYwma!H%kwac;nGF z1MCYj-|tff)t2|2E`DWoazAYztQ5KD9izAOly$j~igdOflg&716lD7!SMwGQ;XZDo zSp}3RX7jekr`wXzsE^$h-U&M)z2qjJmyf?WTKJdr4@TlS{|UbvFM7Cxohm~_8zt+B z-?B9aT=OusW~}g(IjyND#R=Pwoqu#Lp*jUw8VtfF>k$kmKE|S`Q`^#g9X0xq^x-;< zjc_tyvG4Emw8Cbgipr-jsMDD}>STUVFVKK$5kyk9&M~dK@~OzYiYbepWjOBaOQpIu zHLmMq{$(=zO3Um?Xb0`S0dohXzB&w%fY7}JaN(I}+wpvU*lnzL+Ozg;0qc1fF}}{9W}R*3jap=O-j3R^6zDeHelQxf((d&j zH+K0COISD5q-{*yw|b{5n|8e`K*faF@YgS!_7x&me;#U#uAN?9SiKF8re144F1`jo zv!DELni`A_5-vDT5JKGAL_zeLKGBzF4pv{d$sGG009NR3co*Q z+$eNzKAYP%GvCd( z+2x4m$OIE#TjaYaLGUL3J{pGIR=)EGJtE<*M^zZzTkS|^D|z9V!sp`A?n=2N<;f@DQchgkFv>>r?!2Ab>*o8O-3 z-*7x028D2C`(`4nx^1q=e*WYh=Xr87OvV(M1s*$0rIAP`ZGN(|%lYRd*^xOGF+swU zxb+dE;Zn#$mlR%@73ecP-a{A4db@Vt)J$g*104Z+A2-MjVyid2(eX9YRw7!U#RKAU z`}(*#`gp}750OJ{<>Rj4Lx4^gO!6zC3Ob>K$2;tzt;Ip-Kzu%US+_ zJy#sjF7SMKK1xlk(6|Y*5 zLT2Xh)*FBz>>xf*Z(moBBiYTxYjeNW8f*J;{PS_#(|=wwa}z)bo>z3A?}3v? z4198yq!-~{$yJJKLb8sPx4KP~N9GBBlO-?wk6(fDz8u56k6!j0tGO+c`5Tad`Romr zT-7PDX-fPHle`*!%8Q@c)lkC|w`d)3-;EXMvV&QfQ&)EOd%?DPH+BpS2;7~%pdga8 zqS#Bw&pB`X8$cESS6LR(|G7Q|y-P(W~nayWjKo ztH!|Jc%VU#`ZT1=s#Diz-jIVdwA}vLhKi{!u^^#hial*Y^VU zTfEesa)`JfwQ^yvuxU$}q*gkvd5!xgIv3Ey>x`q=n;}ElM9c4)Ri}jZBP4`#$wxAZ zI1Ot$#Eo^UPf@U3+AF<7;@H=?E!KSu-lkg^6?M)?A^;vC~y@rR!q9=c}$b9 z|Dx%5z7pa>mRLojqRrgi2Hvd(x@zSDNfts=!CENzb(4fXmtU(}tT+;B$aV(qCnEGA zms?W+|DgFQ0~z#`7;!WAav1Rd<%}ro_u2gcr@s3iJXKemtTF`$Uqc61y6tA@`9QLe zuPRd@GjKVWC_KLotV#z)Q(>TN`wsJLH-|w{9^jrR#Wl<+eZc9 zlvs-*FEzt!3w^*yP#rpyjq?^1nljq0Z4UGM zsF%HPg$YyVgBL;MgT292Cr|@EmRzR3O{isieF(s7vG(KchHjukM0j& zQ?%~RA(Cx)UjrLdA+ucwi66}1L4}__B@p~wk0Z+;cw4it>*C1N$-GnD&d$JFMWaE8 z+Y^iDwstngAJ&bG*#WGY2?gl5I{z>bLh6#UvMVD~yE@J;N z_$zS_!biH80I#P2!_N~)Lk8iF-f8xZX=|Qml@6^bGGHLTdlGsXS&r_*=K1)thrSNS@sPNo556N(&-SrAnWjqHom%Qa z-pEqr1)1o4Lh$C7J|D_*1jjFMlC=aHHIHp-)By6Tg|7qbl*39E{+u>7JZ<1y3npS$ zSICM{sgH$i=V+Ad+h3(uCU*SCR1BN^eUfB{mN(?er*;>7>~7!He>NoS5387!Qgw!v zyp`u-eU;R*4eb6$HLzc;w^fEb`pq+M0c+HwN*qCHh)_w5ecZlZjOT?Bib7C=ji$K zfUw49@i|wmB0Mq;s}@Hdt_>*rhNjrb=eh6E_`4w09#$7}xx_#w2*c1Vdr^+y??uwu zj&<#wOVVvs^SkB#Y65oe6h@C>k&5aamn$If4~M2t9vH3uk{tm6g5&eaKe5d6}=>3!SX#wF6+yBQuncCb#+{@Trr1aclk?(g}f$2(Ds zO~YSd^iS@i?(4Oeq7HadzP&sjhM2DdfL7FiUteDKqV8&*?3g#%shui3qZ;G^A7hPJ25)f zjG}gKX7(Ng69QBeJZrp__D%6+>z0e&e@mT|E0HGjw?@8s>E2$2Xxh*{1E3;PDI_+y z{0glvr`gFXYA32rrhi)zw7Pl#0^JuRV&tuq6NvXdNh51C6S02A8adO&xts-$?=RCL zJnFWG@n|MNLC;6V=B0X%EgKdA^8EBN|H%TEEkpFX!6|r_4}UTb%b6hu``NxNNdAM~ zh+~oA0zY67lZ9YxuzfPtfC-^1s5@B#CQQFzuJa*$-iO@3KdGQX=z=3q#ndOg$C1O# zY`<3Kg=Xkw+$uYXz*ARZ@!acm{!O*6&ly%~EG>bw$w_8*3Kd+&Z~TaLX!z&`|Hqu?OfRER?3zG+fWFUB zx2tX>L(H+>In)=p%r!Q+fbW4>^djR@m`EueK9I4P;^q(}vFmss)mUYEK?%v$pCr|1 zIinLrYp~p6G!Vqd^Iwvohpar6a>m(|NBM-0=ZaVvUhmFjxAh?w{0s%3(x0VI2h+9E zYX~U~C?PRlkIn|ujHXBPe{I0ufV-)guF579xbed8y6^?KJ-1bt9!z;zQW*jeWbE%- zpV7!Lk_I+>?ZMTG^bCC$zF%FZ^gGm7StmI5y}TM%gl4l9c%2L+w}Rq$ZdNT0e)f5# z_Vaq1TxH8wdmfl>cK-1N_n8la8hZ61D0>V#qFkdydNpwG$Q^CQdVQ)#X)B}igqDb%j3@U*m)We5PU*nVMlVl-J z@Nmc`H|VZ6y87kOr#31-^$1lzF+Gr;%JOkrwwq_smii#gkJdNQ$Z@(vKpNFSB#UNf`-g=hSUhJZy(;yr{(8#X6WJ{ zHlS8vj$qM43rEb8&4M+wTcA&JbS{LHqgoLN{c_{cU2n$X$A%5qF1 zoq+_2m2-vt#^l?E(LX`D455)cfbIe%4_3GUgk*P<5ettnn^V)8`A2-fPr(K~D6Asv z&p}0BhrLRg!UZ@yyyGIWUM#!4n}eDErt$#b^3Gq7 z!vAKHHFIsECeaZUM-LLCdZzF=UaJ9MC6t=jrT3!;-^-a*z z`TRF40q{a^^0M{Kv3TnmF?y4|!S~_A>P+G6X7Srvk92nB`+(bvtNE{z#}LVsbu}q(GnYi4@z6vO;|;|G z=bb*PUL9U}Y+;AFtT{YOkCvHrh>``0mfT(}#Qr4XA19JeDJV$x4-<{}IlSg}^iTNg z{+pZFiSzXrIfx?*eY7ga)?4AQuPZ+cl;~~9SLkm2mRh3%yjb*iUhjco9U@Eh5h5DO zZx|tH6Qp{)z7b!2B&8EaK;=Q4VjIdV};rkl*#>J*o#MXuFHFbUH(p-qI z0@2Uar^4~raPpvZ=c`K$p3iS84x$~>VuJfqrcH1in;w!02@H<@`DO@B&al^8d5u$zFx+jjV^7V)U?I;0%P5~VO~js_i&IA$pZZl z!DmW*DQ{`mb;d>}0X#W)?TZ&U$Uj|Y+uMyYq>a6>y<6j)#W6&ffbDa)_AkCvf9uBzMM3Tdk2 zDbZXkwrp)|fX(de=ek>xm6pfxKh+u@Ly6guM`Jo=%*2KH657KPVaDW|T8T0ROS7Ax9c$B0 z2F*|+Ct@6V9xCJUsGVwLNvn`A-fh-~hDzql@C{6X!1%ke{sTWzr|ox(40gKU&G<3s zBWrc>87jq~Zkuk7v|eC<MA`n%oao{_1s;P~yA7{e|{loh?^1AQowJh|m~5DM4L0mGDyyW?%X~jqtCFf6a&w1T;@7=e0+-h2Zepv%1kUPxeG&3B2F0y{_-XtZ z-?sL#;Ui~`d&1A#;O!Ez+DM`QeU@>6Mv1ujpmT@2l?P(id%@rWdFGq@c#(~R!uY1- z2N1O<9fGJ^d-#hjp>j>GR{X1W>W_7T$hMgO$fkrZ`|ix_YUXvSJwH%N8BhY&T z1_sLJJvoSHNnxui!tD;=P`pXAejY!B zY*VWqhL{Jf>QupW*{lbER(G6mZvi^)7Nl(tpG-vp26Lh=h;Q^aW7w<|L9Z5%d$JRS zAW_(AVY^S&T8ND6v%2ea-*>b9aYKZ116&dLA7=dccO5t9mjkx5*%)2!;W1YrmyaE& z>kgYPHcW>T2(VLX-j4hAA)>q6u3eiAcgG<_-fR|#_FoKJnS)Q?d46FYT?d}>cM&aU zQwnh0R@VHQu=zJVGO_bP^|ee0QG+O+%qZNOoTD5gYgt)H)(Xkih5qWAh27S*9aAU5 zSuwNpWCSq`ZAu^nj>&I&uUFTwubaPsFWhUpeOvs$HS+!(3lsw{$C<3^NDEPlPUA0W z`6(zq%z<9(I`ETDKK7XB%m0t2v;2!HTHCN7t$=`pbO z?vn2A?(Syj?(UkGbI$Mm7xss>*K{18j9Sy%hJWxtV{#3a09~;*(A+QFTQ;DQc?>uvf}Hrd3##t08M0{ z0_$!?d&*x@L_)<;nm=tM5p9((T0ZCTk})e-JQa{J658q>)t^6^G?f$vT1?9&!pMQo z{^bJAPsZoKwzu5d>1jhtkpSurevSc87hxSVtQpp_ZRI;f#Rm{<7(kv>L1s^akV2w+h*IGWJVer~;t9hjSLTp*)M&+Q{1ev=v z1La3jDT%u4-YNy(>_IfSCA4Lel})Zuz0monV0Ql;r!xsqC>AOK!>EsA*cuz=*^cP|wflyd|(i z;eo_EvtO!mjC1*PulPEm6k~wK$$u>Sr(qB}br@U2H4*RZsc0|1!}ndX^HH}82;u1> zjzYLc$j&kE8!kq9KL3&WiFur;&$FS^!j1h&>5a>&n-~|TMe#?f4X&i7MqPYfE-ptc zyR7F3FQ;enRJCX5tCJ30V7?96g-r+%wTgFVsQx#pGHMvtNnbq%h%M%)pE-5klw$TP=XiN@f&l-sGo#pMoeAd44xka5!FkvAria&kz@> zFtr5JpvSZAst+VrWlrz}xEHO9AYR_7XjdLDVA!4Dxt?Xx5<-606d*ueCTYj8HE)xp zFC%^Gdo=SeFU!gRctsqO$ANaV7ES}2%2hh+-L%)CS))PS;gO6@nbt4lzMp|OUqxk2 z2o*c+xX4kYRIpZp-}Z9xNP@NC6)|Vu1hRM36XtT}w+z*y_0^)aH+eW6q@Qj(E7ep; zJs0WNHRuqpOg6}bGxOet)$qj#qE5Z)gJewZK4jyH$|F($I0kkjnVp;8yw6ltB$uyE z+IJ~rRE?#x|45~5M{gtFm^ENv2tO(~w5d4gdT?~N?M$kSohT2sN6`I2(Pp*gCi@%I z(U$%6baibnF=-@5C^+0%8hC2@+0`oPaFOaejw9~z`#vQXR;>h?&1kyNiDT2+yJ#?F z?}W-Hy$R1Vz@-^=68n0#{?8W%1vh3gx*ToW>ckmZ71YU-bS>hUWrpAL2c!}!4h1Xb zg%(U*nDK~m=K-!nB|$3P3(imsyQC0psG%%I)v->QBBsUCG39;H;AcgaTL0C|T~Uv* zk!*%fA2*1N1)V8Vu7w51?T~s`Ei2`sx{X&Fj;Nq2z&it#yvg^Q?-8Me&LD%rz-|xi z*1O*69p~IchU9)>Vx$UX@ixp^r;X%QucH}LGSxWV(S|Y9=y;`zJ&w@)6{^dR^;rA0 zy5xKNi1)oyPFR%F%Dx$|xeQP_-wYX|5=$@zpP|h2@Lb zr`0zuC3mg35!HDvHC+2&u~>iCbwn+y>Wc1(^DmHCQn%GfImP`fIhn@yZZSt$YkHle z8GrRhsn>A%Ht%Qv%gwDFa$$OnV0X(+<%mcc48XZgA6a)xn(%?X8Z)|SkeKgQwvJ{Y zSLN(dXg&JVJ*zJ8K@y5vg0y@|en)XW`2f89hT$ora5e{cST_Id@KY&ne{RL(|r%{Rsf-p;y~cD=((P1KzIroDJs7r3kMoJ|vkrb|5SJani7 zGT8SN$F)yN&vIIu$u!bVrbl1k3urZep^EshzF@;`lOofp{5CwY22t;dtr1C|A-#Nw>6Hm^Ve`r~T8M17RYV|&{?ESftKw{P7uvQ^^aL2f zex&ft>!B+Yd{xFm@t6Ax9v6zUGx`l z=J!V{lvb`Dv)r%i=}{S^4LDPFq~*H_ZmIX=i|a&Cfe=~UPdTa%{dH}|vX!~Mtc^g& zo~c$1A?Dx1!oMudry(q5yB3u|?L&-aC>H08k10{_tzrr|GikxdR9{D~Mpo@#yu;s#GEY*9?k?;QmiB0=N2iJv^po=^v=^ z=m==a?Kx2x+PxBe6!5)ZQ!f+o?-Q=t#xtE3%T3}?Q^vv5Q#vc+uT9fH#V?09gSs|r zp1VF@FP;bT2ZD2z#_+SvC9cO!$Ye_FKhVA}tggm4(EHGa_;aWF^EKTP-#daM;imcy zr^W3Leg2#65;+c>YRjuy4i#@i?CY>juuy;F4_6|A#03L<1(pah6agl$3K{Gi@RbT$ zrIBMLf;Uub>Y%lNe-cUvP@Nj)V}~pvI|f$2qOPSF!c`%F^?k%1!C>>4xO;oz`ymq( zQ+wW!(@PA+j&ZH5#EOJ`X9@%w(i3ze zme`i*6EQDi1D-n4>5|mUnF)L160>-TLJi^SA2C2sqkPg!H_wz0PqJ<6^ zc)LjZ{KBkRGNlfcj5CD$p;=LO+=w7`)CF4lb5lM=0(G2boXrQ!0k5hhute(lXNzns z{L0$j7d~3;Cto1cVF;hZ)ZYk^Zflu671@E3u}oMz6!PCUZ7#;g^B>K(ovvSG>C3!$m5?k%`bVzqyI7sQA6NZ}1T9ndI6 z5!(SOVCV&Zn3Kb0uHxi#uqPFQ|R>=WP{Nu`XT$F@FbwBxRlzh1Fa~5aT zO7#||ge`)&KS>bUkbtN&U-rd`)g6ABzVt=d3JZhtD z-MR#+v~MYqRm-oQ|Jnjwzgt@oA^A%|n$*^sz+r+&y55gL`;v%N=^sbD5SJj)qZ~AI zWVgunxywM-Gv=tV_TndrYuZh5a>jGc4OtK>+40V9BpQ28fv3IyRw7W{vJ7#kcGvxF z?&ajM!_7TUfpG`UD|m2>BRN&!K^qo7lEwYUc)hFBM!4By;hAz^y6p!3<`m@X| zcPMjI-J2n_oOjMV2ar$YV;TtL`Db54fRmtbLMcWM4ua&k0B^N;>=ppT?HYQtaMipzqf^l-atH<*PUZwq zw?jkaU&xt7OYGhBjJ zhT+Onkg_obzg2GA6S*9g)#Bmz>;mS(tC>xq5-m`@IPY|coa~j5k(W*4q9f%N=RkGK zWY4bk$a}lR8N0<{eT8ork?%r|_U(EZomaPup21K4n_vp^wAxJ|t~KQmPIR#X|8B7i zw-#|1{=8hnRR=Jxg5O1%gs?mPm3||ig%*gLM}fiH0wQ*J9b_f!v5WSf8p8Fr`akvb z3Ko~xVeo29RyVijuR5S77TKl;;NRu;6NGD%OMD@<5NNk}oJw!_rm86}P!r_uMa5sa zQ-hgdFI$3DM*w`$#HL#Xr13CZEmt<-ClAS|&D)z{E#Pv8pv383}DI6rR47Hk_kKc0H z^615%jsGG%aQvF6dm{a;S}u!Rxv7+;sSnNX61&cyPy@Uwrr#S@GhxtFUmr-BRyT4g zNbZRthASK4lsgIA@^AO=%ed&pNF3X?TY@}ozg=9qwRb(WFF4nNLMyTS4r-5d9rPVU zT~6K>uq~~<#&hvrI$v5J*K1vJeSS%pR(wzo;8v2teO4FcJ8Nk%QhQeo?|w_-G~oM| zMtQp%%>lpmxcoQT>uoP#Qob!x)2d%Yk(JP~>Zn;*J}F)bq2BJx|M~u0+jt=T8*+qF z3KxlOxQ8S!Ucy_xv@V@{dN8!sao^w8k8i-;?>6E}9v@IuA-9#To~H8b!(j84``www zIC0>~xXfQxK9yA9V&gySJhmsXys*ZF6rBkrfJoOdIr+m%XOHh+RNYV{7rApPJAhqa z-chGX4r7QSB|*3S>Bsv+N%HvHee6tlIhg(Vj+@(;OiE zH#4tZClo1Q2S+%Kg75t@PxhuseBwxykcca-XP2>kKO!S^PQ(rGlNzx1o$H zuZ#tvzQ+py$+zRFfva*=aSpSK{AQ9EAIe|Q{acLz|7jhYX1#o+ju@rei(~TUi=k;k zcd+w=*qzT?{`tr20~;#4yXFfG;0|xW)93leXl|f3U^Av!O!tuMGTksAu!-}&mkwkc zpu+_hzpXNz-FLGxpWGz=oJX2gX!=;#_b6c$Ewl{Sw#q$t>ev9X!Sv+Fp|O%Hdd!*z zY!3+D0y(;8k!B|;-x^0J!}(%2T)OgUOq8Q)s3O|yUyba_ytU`DNLy%j>9ES-BavA& ztaHPP?zJtPE_1R_A*JU5*>&5R9!zU@R!%E%i)d(bs8&4)l(Xz{=5IyEyY2I09(@6c z#=QmTG)y2JgC-AloHHZoK0lpZx$Q1}wsWZL6`?66!XD=NP@C!%tQPB@r&|wFzA-_2 z7wzG8cU4XlZk#}e><^RMCi-)2A+TCgd)N~6>w=@9-1viuy~cGYv=X zy(lvwAp+=CsDGQ9oob!kWD_&G86<7Y22g>W%ejx)>xcMtsww0!4mE=8v7dbn2BE(; zPSw*A6XM%qSg%d1+HZZJeYfLAMXSwGoq>F%TGjnZa>an$ zPg$!OG-{fUIfw@Qsfi7?tlf?4Q&XWaNoKIWP?_$jNSv8?1py-I8n4_kyub)TeYAz; ze^3QO0g9hnLKnTE$*v|~bCGRC@7zB@J&gyERdPw+8V`IT#B*#atbTCzi%R~a#8T1C z_c`lWc&qz!mpX8BYwN;YGbmb#txXvSEt=Qh_zcP+NjVlo^P*ID^-*(wQH#qfPtg92Rrxghcz_FUs#-ka zXq!;P>nbl?vyeRREm5%;eI;kioynex9$%+Flb7vi;<_zTOd5RgN-0)DNmy$Yz@dnL zFJfsk`ec%}jxfQcZ27fbeO?m7{4(`dVc^kHJ=Salu~hy}?#HC9g_rD=(D~tbSQXNE z|B$<>`MYWH8Hc@lEP-=N%Wk&Mvkx`Pa|$Ke;|_&Oh2}So$9Clk)GpDzMqWXiTW-#&SpQ*Xp0^2H{PWeT`?I2;mGu2g6o3fdY9DZxdadsz*k z;X>vepK!v{aCrBI`3tqc;yXuwwj|kIKcR$3UM}vFKF>olbuEn?XC*k`N$Em1=-NPeGHH>;c^kO4>&59o_LZyqT zX%Ww<&3x<&7x#TnZqP%cDa3T~S%@b2cRv7U_8` z-{IPVhuns=Gs#I?oh4OooG!CwE}6O_YuXVgJny+@Ow_Ix;<8hxyrA84%v-*lQ0dJJ zkVPuqTJE*z`aaJd&7;5`p^tqc3GuS#EpQC}@~nCfl2bl_#3Rk=K7#Uh;DiQTQ5I>a z?~RR*=O!}h8&}U$8jZq!On2OI<3$Cg$s-#2L@lH-0@9uPZyC!h@gz2TThFQ+L9I2s zch%Puv&RX~3u}9&WF#vO@Y(k1nV3)xa@UI_dx{SUbdDZhHtHN3@MTJnV7|6Dx0$GI z=!WM=O&luwuf>maDoA8R9m>iC%FU(9x@qIbRSZkpVi-|D(6Uc#(;~%jJwy!9 zF;Tc$@ZZuq+xQr9vL<8b6<8f&;JBC%K&F$z6NEYOc$3!9Q!O@7b5V=MtEtYv;aD-_ zeI$gQbqw7;-GtW4ar#RyT{mw`-q^_gO0R!yh`q??-rKy<_D*v4u-@SjL0ww_F?MDZ zq4-Ro$?mt&4?|XR*CikK^w_w;nFgg!+3qiBo0~zVWs8<+D&4bN%3CK`s-MrguQO=L zMO`)X-nPku)Ohkodd|=ocOl%jUj&A9yw<0?# z{rdc`-ez+_b4`ZF?Y>H9U}2yq9RZHBaXneK-WN5I0Rl#@?;qqj{rP4v5y`;Ly9f$c zjzAi&>L`~wr~%$LK2#2*LjDMa_Z%ir@e9|VUrn1hR;;8V^bh*p&BmxMzI|x;v-=_X zaJ{3}aHn=-LH&Y}(bn*|H!}sTODL3p`4IK-;Ks@+Y?ypY82*r!Xw+ygX(7-Ce>S;u zT}>OC2HFT6Bn5L3whKpH$jUmOEO8)+bvwYu%e%?{J^r8=$z4K{*w;6+BP9;<$)qT? zM=t>xi%#FKl0A`=a5<%1p{8JR_l*Gx?MMq6z4WLQbuz|1F4rkpU6VL888o$THCk_7 zIlO^e|9M|;*I*fpiz7Q$=83e!f_ki`+#KNbH$1gP(GLNKT_mGIQS@>_t-7zUbEZF~ zyyfI- zr;%T3+(ZK{4h0h;EU6t<1^d&Ve8rOMH<((!`6H)GjPgI>gxO=k^s9oUBrNGoE)|`f+osr zUl3xc^|`s-%pJ$M;hhx$Mk1?DnNY5f<`v(E40h2QC}Iu-hK`!20Tp zQcv#%i{QKOE-h)g4-am+Tc_Qc0-%Nm?YXNTd*ubU+3WUcx!E{t?yfB*TA%XiCwA8# z`1^LfjU?m+_#00Bhj%E*Ua+|t2q5Tu={?>m(5=FAcM~@}0=EW_OL=e6wiKx!IIMN_ zvur>6o9+UP{fjr?4c6wn=fRghSrOc`fURiS&Z2smf1}gT!C=g!M0o?i6U7J+kx;5} zK%kTG&g#ixn^!wl5$Stfg_kMM13Oy}nA0h+CBE)eO%zzGMf}FG`6cm4=~QhYT^$jW zXQC5E)+Q1yy;QB#f6D`Xx975wL|(+9F@1T{3Y>7|-2S$5-S0|i*V%{U^yIFt2s}c# z!%jWsx7Njwd8((pH5P!FllRoac8MLP(|&$35m0{FJH8QSIYJP2ouP5k7M7%C>buQ${py_WRzMMVw`#TD(^ci^yv0QQSrSQS zl#VEFh9lG4*fd#=+!T|-Ik`-sjGMZylSW;p+=HXV!e*&ZI>)%s-e8_;Ut;OIh-ucFUR=YwiaSmAdhK|;2UvGmpzKEW1Qm!#i^ zW6ONn^Cd$8#NQgOKb2#C1Pa=|Sv*A=O;=jATn*DfDo`b1gf@B(|raSd77(VXJ>`G3+4 zQaCwvHEy}%Gknx0IO$D)%=lfMoP0@Mupof7A8y+0^UiI`(DdDkf+9ydD9tN=*oKtt zydhVUj!FF#T|D5b#m7Wf0T1#$QC$UX!Q-5tLBSVOjc`z~#Q>b-493KA5zGwSCKb;v zzW{UV(-LVP04;8KZCGj~1<~EI?YF#!SPLXv!o549?#S(ewq&S5 zSrT<2R>0#c)z}z{q1&m}!+Nl@PLB11vW9s>emH;d`BTE}g3h+7_e;OZv;MbC{HFC> zlAk62^Xvm88v9gk2VAi@3ICUL11!g{5LNLl;vx|O`|WAVzARQ$od|dOLv|b2=vyV6 zPT}$o8#AVup{i{eg&N-dlk0w15e4KAyx4b}!)2{lf_y^w@DH4EsIxdXFFu05rs7XA zt!&%3b5>By=lE}`ZC0O-LvSAzij!U8V!mIFO){zpE8y>&yN4 z))6s)%T5MHXlM&iTC)1t>6D*R)f-Kc6E9f4WS1C&(45RkO5&Se;1^q4Rnhe}6;*c` z^81$K0gNUHx6|kuO{6zF50q46VSyW>^%N=FC^Hhgctl2F33)e1FX)-in8!Rd49IpybiY0I!wCq0>3 z!sK6Rnh1vZax_qTHoT+2O;Y6>sMn~HQU@f;RmJ{02UUbTuY`XQ3)R=IQF(06a{w@J z#umJWOx?rP?;(*dG91Q6CwTA6Y@AW!pi(HIQ#`~VzbLQiHp{oyRJQO;uf8pua4rL>55DVEwdV&Kq>T!RZF(vZWAM%;N$0NRK~ zcyHwC3kFODCW8OlE8R)$c{tirn!C++7U3``JP}H^ZheY!R1~js!Y}Baci<|(cqK!G?IHVhd3nxfk^N?`;ALw* ze3_q`2ccePrM`!aH`hHN86tYsneJ)FgLmGVuO>{eR<+;Akz)f50#)(^NQZ4aoG#1) zj?8HSgaAu2V=KUXr_KKBIEnxE$(H`zwHsX1@Kb%d%!oU{B8eOWJTAM`|HwSR?Qzpi zIt}h~IjJMu8{tFWyFQ9~T9|F&BvOs3`}uV`eZHbL$Tfx?)3v%k?($hW(k~Tm>HflP z>A78u7w%ypa4)A@o!4UV8(GInnBnCqAwX`)MBI00^FuyYu zuK*aqxqg{OT9Db|v-h_~^}W={Tx$8`WLzdFK>}&Zjr>kdizRgtmpqr8oj-^xR+mqk ztPj^;tT{lb@tfMwLUoX#)A~mq&c_c*HJ|%KImDfS0)T%=(WvCY&IP2N(i7Tr4^m{c zCaYlgd48#(>`&(>M#o$1^=V zQD@!3ji=AxE&d{?f86kHKB?vX6zWfXTsx$RnJ&70!nb_70-}I%qmO zs|X=L%j5G#?@dB>!F7dc>O0UA9mvx>3emGL#jaxG>F2&TN2z_A?-S@D7vvNtfS_%R z2P>#piE2z>Yv(44xKA0WYcUt0xoFZ?sf zhz=7Aw3#V>Unxh6pa1swprrb9wA>qh5MLSaT;ix!p757`9Us@a`|9IAk;F)8IH{Gd zd)Ve0xz?#p*ofeq_wTcN`klc9BD+7;u+O0)>s$%;mV)-WmtCb2Va;||?WpZ9Mbnej z6NynvEoUsF#XVQQWToiJi|FVEm+N~1hS~9s*R{S55ThVoCT^$Q6SK|-x=js4xoHKU z_L=Z3|4)DhL4S8!LrbI2!?8{5yEAr0z2)&)l+Gu;2DSlvY_9gJs4?KIlSwd&3eb}`%*&#wOw;yi~|xcg~# zXJU-yebpGRV0$$N|t!+R6HIM}F^MOMy?L@=r zmv%m?nM_=CBQLBZpP)W?=007m^6{s%x?P4pg5h#-7LAaHq1MD)M!_3?`*ZkrycKxd z5+!`^7S9l0ssP&mB=z{`=^I%RIm$`VaLT{(cl^_eM< zis5AEi%-JnzlIV{R1s*|Jg@F)S8Rj%V_(>PnRcqrNSe}GFgJsI8B+FPlF=B5$&;dVCbFqsWVzjB zV~XdbACJ@<<@R|-;MbMB%Z$I0!qHMgL@EFC^L95#y!DB`2p!YqG%76(pwCgJmm$!! za+zOXG&kaiP)53V6%zkVIoO(~6~y#bKez*cu9wdBe{U!K z&#zDH26ni&8X)|mca8qH{FGk7Yb7)gD#ebpkb}m9ERNktGva=o8_dw+sn6TLSErq_ zsg@Lrn)(Oqe%vj&ZKdkm{{W7)LLj2#e8=$H6F_2q_$iI#{DE^9)(gDNLGMb^4>9EeQxPdNSD3_d2LdGC)0_VMrV@3*}6lrNRJkT#yhK^GwoB`wXe#JZ|Ol)bA3DLA*K=;TA-N+ z64Uj6I;nMUd0D<%_lmN90qhJ7qo~RW0K9eRm^Sn>?c({2xwnRxpGt44 z{ocD-+UlO-kIisTdS(fx)D~cW`HS3mZ2z_y>lgQ;O56%w1caO@*-BcJ-sNm#(n-wb~Wad=7xg*qUqG$T z@0y04)5FKJ?99quf*Ud|%|wV=G7MZ8l~Bci&N9R@{NKuC)bPs^TQg<%8pQ!=I-#KY zOOcm0hfnDHOBV*CJ3w7!Y;#S6-vn9gO_u+-P*&rKa_gIwpN=u|0j1|yok9X+OdH+} zR22kVM(C#J4Vxbq#k=)v_OfkL4l%hl-|g6#60$bG9z|pdd_XZ2PXA^TKJh^TGBh~o z$-_#NZWLQD)b#Q|7tn=$IXL!LpozQ}Rpqoao$%R|_0TrEv3^9_rGbyX-_}DtaG};) zY50nHF`RXk=i(n1GRbVAB*!anK&ARt_51XDvIg(wwW-3UGcKaEWtu_`=7P}U3Q9>` z%fDLsc83cpFm!`o3MSX-0H-T>%Q<7r`UDzA14bcP{UT3>{nOWAz)8A?1 zl^QPKX4s?pukl!Dfxn=2UCoYBq`xV-d@yx5)t&JLjoaPC>0t|gllWmHV^2k7{&}lA zY6$^eS2JOD2DBhS?#^SwI<_%#&#@3oc>@)Z10M@NEW-8r45B3O1dG1KR?(?SXqs^gZ1IR%q!0b88hWBgVtbYO-(EG-V#GI;RwmsWHtt{UlI zyeJ^kw^{ozZI{>ou!?d7yyJcv9!k7KskA*Nt+J{AAov9O^Lk+vDO$WuR9Cb~lxw$ed3gjhoZ* z5vC5#FT0TRxsSgXTZ|PldzzL0>8yi8U^jVTKiyqR#G0+Mlft$1kNYM(z4875RrMCl ziNUi!-?SQSw6Gp^xYbJ&du^u(moKRHe4cX^kV(##ddJ`J(l7&{0SxzmO1ZRFtWW2 z0vspon|X&Nc5&n4Wfg{h*gWA~3R%xoSwm#!)7p5*zX%Z>XPMAVPa70AJIkiS-aSjW0qn$>TnU+tRd1zwiDm4RQ} z++u6ustdP5@Yd($)YR?!l08~DtieB2_2S)0T%NAm4z+quIAzFS+0fIMY;4~3v431* zG=$kL>mm2FXp8qDFvKG1kBQ$Wx;o`3#F| z^PSSYFA3>89#H>&s%0s;fV~U=HhPo4kH81!0=QHQ@I@jIN8%60j<$c{UyN`=mR<`o ziwez{wlp-aEot37##D$OcNi`S)E2)*MEgzGrqq6ubL~pe9{6fFG}r5_=cx86uhE_v zKF+iJ=K8qYSv+nuMVvqFf$&TGO&$Pp>gOC`w*cR;6#gddgixXp*V+P#tmUdq<$a&C z?L&URuKmMK4G?ClUaClG;CH)X-i}sk@kS9@jfRhIy)7K>ZXc2iTC3D=5r!I8Q1WE$ zcVgho4ac*px7-X3_sC?HpsoIlS>1uRq3j~d0U>zc1zQWfqoGvWN9=MY2!qo=c1She zfh>)aPt~td%Gcn(Ur&KjRq0N5z(B|BF`1GsT4%9lwC-1rI*FiqqxPT;&BD=GN6U*; zB9@?~deT`T{LZ-ZsWc6y$tIkVEAuth)`7q76w z9K+(++>;Pze?57CLEZ4YpG{&QqDgr>*b-^k|i>_xs%qd8a`?{hM;*v&HpSr_E>0a#nL;IUXD#-Y?l&6r-!zXdrmG2wt*eG? z&d4JJC4OJ1iDjkwzDjOwzg#c}nVeI~>YsbVS5<(4L1CT>_ca^?vaZsH0EE1 zN;kXpoWDNmwEc9+#iay;F}N~(M`WxhUKIOfKEH(7J{ZM?GBK0#2*;$PbTw~^SD4e# zjRg!oJ&)B;QR1;JaT+$TznBb_##iO3=486eU;*=y$~spB9?LvJ%286xKk8kq_YxcT zL5Wco%_InsQGc6dKZqZhp{Ycd649w5ZvFHskwzk^Zjt;cra=&O+WZw*{E}00f5Wh4 zSN$X9PfeF%p;o+y+fTZ#iw34E;Z3GjpV$egGs=FoC2NShflN}_8*dtKoP^u{1ofS z46jWXXs!oiAmN`P?Nbtf(P!_w?2&qhI4PG2b{fbqBWcVV+w8J)&iBg|j_PqsW)zS= zGRw3hcLQYbBgbo=>9(tcY0||lp20+xG;^vvsL6OPHsjDJGua}S!yix~5|Ut*RV`HA zqucXbsQXc9Zz|@y<#ip@M(y4~*>7&lWU}4NyWRx#tZJ>_ygCFJf4vgFJ@7Zxo`Yaq zXZwM1{ku6xGwxt!Q-R6lnj#U8^i(8Sl@9ZpMkoDkvJqcuo!h-GrAcVqAvoc2k4p-d%D7(WF_l-W z+c_U$jILstfUAb)v3&I>TLFC24&cN84r3{weh1M4@URD%aW8qUd_@ zR7-N+n0faD)2jw-!*tOHqJi^IRN^v|=D>91|oDet5%YJz) z`FAL6lla_8)p2F^wA67m^!^#>VLLs$eln)dC2@i_f0@x>bOp5s25P?>JBw`u{C<>S zKVz0nWHGs#9y}>6aV{Fu4GCF{jx(3lY_oX+_GuL-D95;bJwb3+eS2}YEW(nAcMA{l z9N8|na`dY?n$j*ZQz(utUe@o(fti(Fna^?ukjykQE_*!z`yIkfI_~(P|JQG6gIDOx z-5l$3K8&QWoiGnPU@)zbkL|l&&;F_3@QgI!9Xi&zoLzx9-A7(Vz+AWZ`9A{m&et)Z z=Zd>kkt@w>imeZ|k_E#34(g&`YFne0z{L$3m_<5g$2u1=*y1eB&^vGJ?`YG7`&{o# zu#7AwC7PIgtt)cJl(CZ!DE6)XJynf4jMPSE+}_;e=atA0lM&=1V~vmr)HpVinUc`e ziNnu$3tJ0XSRV8(oo++M*;)ZAT!pjuZ`zNNiA!4t-Q8t4q8N8p4;^k3f5xK zhKtumc^E9l6^lM$KTn&PxF0)dYQRS;Sg%*$GM3A5dlC0ENx0FfP762Ji{YE>Bqqt}ApW+7Ba;Dy%`6mZweTPG$b@ssD=OSGTAjSiN;=5FVol5yO($nHpE zToeD^s4X`-%{HGeh?V^5Q!Rd3mJDw2)$U@=1A|$DTGthQ+SkXw?-zm>oo?NGG8#o% z_@p)(wh5^3)Hkk9@WP-ee{b?lrTuw1Y+SA*>PJ4&+!hs*02&D1HsXKxaz}|%5}|lj z4Uzhp_E(&DsIhu!u?H|Le0iIOX5tUwSJ?gWmlx4roWGnpNyU$s0s;+I?w1{%N%F1k zfZLBPUW`M+bp~!S7d?`4=iW2SR@30K14fF0i1^W7Uj)|&6wa$m3wEWRTd5LnnCC+H z&d$CxDp;xN19wl8IV&IKk&}r=v3cfEo0#G&h=wu)xiPcAbxM8r(~V{(BJ9w74HDvm z6Eh)g0m*U4!cf(M1?50Cn%Iczf5AopBzplM#XGGigMAW<=@33s)EdeOU9R7lk!&_E ze0C_LnhjTk<&n?+3W4K%9SAu!7FAB^MuR`Q<6Jw0A<9d$Pc|^}CEk`~V45Vsw?{`I z&$sw@L=bb-l?*99nVp2%$mKKI-?jH?I~@ssew=?Vxl~-XH=7OkK`%^57#aX1L`S6_6n>$$xh{LGi{ofD+x=hz%didNIlHuEFrS;a7U+VR@*v-Z-Fkz8qY zn6W}*JIi_I^U~mtx$MM8#W!|<+!B3{cmEUAf@b5}263lxBa_DDy7ZeB3>oq?cSUDR zj_=v>P0LHW=Wp=@i>nTt=SNyz)f658jDu&AC0cokQ^IW@l3}&sGHpdPO_a5>rh{L5 z*=Bc9wms5^+UqM9m?)&SC$9-O_FGSnZ5&559c{I)(Q{S1ATjNZFNiK+1U{oz%$;fK z)h=nDNIzc)hR>ckceNfE=iZAt5KlAr8|T2D41eSj#=%>}6lAqK3f+?i>Iaq{4-XOC z`YoHaHI#^;{BB9qi~xBKJ)ABw2wVI4b|-Gd#pU8o!XduO$OZJXVO6=tEiY-(YAN!K zrmO}C)oOVJ9LB`F;s?CK<82R-NG_@p){Ng0vFb#&)4f61khog{9dB z%azp7YtG@rm9Ncz4d*q(Pp4U8rQ+OK366J7m2w)B_W+jFEjG~N1?ZoCg~xXmnjVq7 z+>xz(D$$_?Vb{J?ir1j7emXy!`R6Rd!eA!0P7$|VC?oatJy&kp*P0rQ0b$}ee3Ph|l||&TUs<%VZXLMe+S(d<)rAi5XM6Pw0}$5xg3D`{W_yuI8Qbiv z&tOsX^?*;`7_%bGuI;z+^t=M`5SD}9ZYGRkTw9_UkPj(UDBsvWs*Ka!uaEz(d_O|& zIzM1Gb=IFbO^{ScTD$o({mG<`h?YG~|7i_P zZu0v94mD3s{G8@2^*7UPxYIatEq~{xd7s?zqV>f5&75!Tn{7Fhp)43es;#vcw>?f+ zcE2VscuBf!`_Jij^|fhZ^Boa9W}B~tenT)4)jh|0boV$z)uataV~bnI*4n@?KQq2f z>jP8Ph+_4h4D3vD5h`z*^YubYOP-{Mzf6Ps{$`nm>FG%j9zKGGj=CJ6mG;WNsyjB! zuOg%>k!U#xh$L`8Mx!((nm#bux;N6hRS+mPDAeGFJJTy3DfoztRz2sU`qA zDyf{IVhKFEdWtrPLfH>}a|R}TI^m|71+8eaFd`ZXpa#{?W}GABjP*#?`Zk;4*{7V+uYb#d8>U!C;*9{@l= zzrWsw6dANaI(PT9e!Qn$eF*HcBfq>U#3t7jr6e>c!@ggu6HBG))F(r8sxpq3R@Its;VAhwPoACLT=!%nt3H ze`+skpB;L5!%Em{1(UYP2Og=+&~SmL<%KUcL|9Z$Y;wW3j9;%!MqaPq+Od6m^Y+(k zr$GtD*;;WOY4T{CzYofQM#=Mc|9G~%bXh;OZd`sM>s^5bo(~Ww%&j4bVry)Rz?|%w z+G9|nhL_}J6wXQ1!qnZnYgfC(b;yM_f9&(m15@GIw}yd|k}B;Qd|@Ph{=s`DFIaRK zl3h4yM@$19CEpuN%0QbTL*oPyx)eOn(Bm40H;>CWB*A{&px^YW`v9Lwt!};e^#Pm zE3LgfpIBP~xP8PpfEI{#-U*1AN&1hHywV_B|558JxPz1+?k(@al3a!Y;fo~~W3dvKV-zV^;f-6d|tf0;W67&X8% z$p?3%waqN|E}&?kcFTWr`WEq_V+F#&PCf3cs?ep?gluhvc*kMiE``1SeE@xjF9zpe3#Jrh zG6y0*IY&mU?_00!t4w}M^a%uu`x{8tpH0LE~KpA&Z!&mNUV?l%qJTy1q z!pA^x5ydH%#4Q{flqo+agXg)gztTdV{kiTyB>ds$Bl!OhG{K({fBc{0(Gw%l15FY7 zGK&5VH-BFL*++GsH9#%=7XQDbR=9;#+m8Ob9jeu%Po!qVf6W%CX^)d#9d!6ux6*x8 zMI2tM#7$7BD*OL%lQ#^kv|7`}258u^+DUVKxnreQ!8@2u$Axv!A_C_i#-ExIPFAa~7mnVLxM`uHC!MbJwakA~S#J&aR$zAuVr^ zT25C3e{P5*a0&6|)X#ixoEs~j`&Pg4418)G{+GVYG-@|v2C$56tKEosEl@ta&4P~J zKJM!I#D~GpoXyU5Rk`=WYK7Pp;zBY}!tN=4C@D##VFJ#*e-5l}22v*DcEILP9mPuu zWWcr!*>OMwMI8fBR8rhcv2qJC*R~0%7QNBa(5A^EQ)v6`)~9rDpd^K){YV zE$($N6-%!=Z4#^9^vE?;2}CCsd5otE#>pwLYI`da#^ZSsUR!^BO`l!R=VwX}&u`qj zuyOs7{@@$qf9hOm{bFf#R=>Scx-(i{dZC|vr9Zh@Ub_5xZOpA*RC!}|w77b&G(FMV zwhv;;EWIe*SuDP~$-V8#mDb|QgmGyJZPch3DPNj7N$xOt_fcGbRl2kQ?zhQw!npDh zRU%muP>1@&xG}d}{OM-tghv?+j{--qdy?*yP@q$9o6_+pRkEhFvKk4(Q5E9T-Zrr`8 z&(mn;2q*gZ)3#363mjxpdDHsjgz@8;K6QpP3SmT7=OK6(DfaCGDxfdU7+0ScS6B5j zcL0d>e+dLJDF88PDi$*V^*5dw7w(sT`iDM#pA$gGzE4~9*(dtVQD7dzy(vpeRQ41; zOJjS(W8I2tWzo7S+KjCg1xRdgxv&wNBb`h0p57WKRC~&%iyS)?Za;?2RU6!`g(x_Q!Z)<0-O(0bWqY+%Kt)m<2xm1vfmx^Ke z6DuVmrEsPhOm{K0T9bw)q9fOnY!N3b5E>kUra}=ylMC*R?LCxMB$g^c1P$OlLf3h; z(kXKiGw~e)T832JzRE>8#YUPMKKP)af2pCVF|tF8?2I-*-KID7O070ML0AvO9^2jS!?olAR2+mRPf77SQ z#LSyPF>1b$<$S?k6PdhN82toXR|R9>tOS`o?6*NZQhd1PM{znb;U17|DQO=K=KrG~ z40C}Hu1$pG%2 z|F5~JCE9Gy|JSl3@>~ADxA9bz|E~p-`hDEh<(&cCUJ|nZ#RmtoNBiQ#g)9!|Y)xaz zF5%|}8V0iIbT(r;_08V@)&;qjno9 z+sLEe@q=bw*4#iC{U{9QL3)zhXhPqIhZ6BZ65m)7Mw>_;j1LbMq_8?7k=8UeAnB3h z<{cgaksAGk(MxcJ5S8GFe@ajZQ+xwZkq)*A@JL`swZiuM2(B2RKve}L6vWNNNg_Gu z7bk>7+)%>uHxoUF=(k(w=IvA2AsKYDgDe^r|BdA&o7u#yfQAwOnkUA#y^U#2QV|+| zjv2GxQN4`I8Ft~A6s)N|E;M_h^ziQ%ONgl-;Oj%2Ea_d6EO4mq^$PB;Z?= zq~jlVbfVckL7ap6WRvMgqfMg^=K_KGz+otaH;zQ1nPlN;Huq&828lLdc_-F+b2T0( z0Ckc;5PjaEYwByG#_US@)OYMe1xHXaO^0RSZEyMlP1!wlb>sT9%b7jNv7$ej+PM0i{`i_XE$T@z zX;3;V1RBy@>Cwu@)n~=!^X2DHOEV|QF_3Bj{7$k09JhhUf2?tMOE(tv^~)A`S%cm; zg2-Hv!$!c@?fYKzU|nI-(c@e+`s8(zHji|Ha4YuWV#uh1#jw2ef*g72OE2}6OUB$O zed@(q$|_p1lcsGKRaii_YG`_m$9Kj3L7$x4xIV8>pDaCHEv?>0R7O5++{Bh-Ci#370zA;V3c^pzY(81_Ief1AmJf4)FBsOFTc7`S~%+mJxUa*I*p{McOhn-+%=-OdS4$$LdO-6 zGTb_Si&u}T>3avLRspw2AQ7xbwmGz-S#d;0P+K?!)+OkO9hD`cxv&4{eC z9ckmje?s~EG^vU3+}!kf{Z=H}ghc=1%d<$1Ar3{x+)Ly9A^~RO>f*-TYiI+7F!@WD zH@-Xfrryye_a@_9eO`Wb8_5s2`$>SPxd|Ymp%U`R>Ug6OaR9aEaNxs!`A8}-UH8e4 z=;xL<2r5Ysa#MkdLF1lVD=ta_@yXT*y4=Hqf5YRQ<3qmusQb|D>GIMNxGqgzDL)@a zk{v_CIWt=VE*SuZpqTgf+X})~{OFfj=(u(;o2yI3B7aK# zIo7%RPpLorq5e4H6?L8aW3dSOGoH&GNPQlwP5ntb0h<8XzkHk4Bq*QJ6M5u})gP^E*AFdswXO?8rz_GWWMVneakQ)=&qhR3QEb#q` zs6hJoI8uSo3jQeCv=^;ipd`FcArTC%ba!^)lz@<`6zb{>c^V`sm#^fOF=sWj4a(i9 zeh5^rk53Zq(dNn+obka3h}I@GgOE=#f0j5(&fk?nZ)tVPrsNXGNH<8G4HDl{=QZ}AmCajn_y9SwDOTuZ~GW_9&3OY)9XDJh*L1Er-5e*lj! zOkH|j zMpLzs7WIjRs?XV*2Oi_n85x4GOUn{50o#dZ5)H}BksxA=?NWl`z<@o~zmkWQ47z(y zKG7$}(F9XXVrk0w=N)1sL3`cCf4A#kDmk-2#J%G3+4A~&>Bh1?{?xc~s<`@Gi4B!I zKfRowFP<*n8#h*_(Qb;+T)u}k(OUq*^aBJ%acxFlS}UJ=Mm2)@AIi_}zsWUX$CgNV z7#sN{&@>WJyedZPwT;o!#@R=`r5lvpc~xm9HrK_O;>*+iYIvAL1B^Pbe~FX>q|O}$ zk1Br@JnH?_rU}3!NhAf2FX2bhoFpd{Jm8HuobT^Lk^(=YlRX~GP<(u_4$`x4_5qKT z4nWDm#75Q%H~YJ{5wOd|uogbNM{7(YRb<4qBs`+x(z(B;9??j&M$^y&g4Ffr=fFlZ zb5j3ifuDl_ytR=USX-b4e|h#maL}>4JI1LO#^H$&_Sjsa;Xm#ZfF}XGtpZ@i=L!{{ zfM}_B<%$noMo1SHk?hbu>0J!$W&$gINWO~LLj^LtH>l2??6JhpR6P<2kUe-^f5<*Kb4ymm1>zFDha5q?-=|+(FRsp)mmcd=_k%P8_B`AGTD`x-J_dUi zS=@d$8q-L!IeX3Tz?bT`-NqM4%Js+|m(2to&kZTyj>A{+yR+X&jO_48y}{X|3UcHL zmZX1&fgN{H9jz7~e<#U1a27b&+S@%Q)2FT(H=b2;SVkOOu-DQ#);&J3UYW3Y6Tucc zI-VOIOoq|immZ(iXBSE$Iyx3zEM-#|cEi2Q z%v+&(x1yt44|A^7jEnQBxt~e}Bn)_zexK}73eC2f5+4ldnFZTaE!7>cznvIco|l_^ zwjL~@(QkL2f8OjN_kXtc72^3XH|6rrzj)pMY1tW#L~Qqe(C4P#?*F`vr=t5m+xvQ2 zyZ^)U@{gq$-2B<9ZH&%<)%(SLef-51Yod|CRDZq^G}>N(PWZ&=EI+{ZQ{qn*x(B6UiaDF{5BO*opA3++tkmE>(k$t9<3O2Yhn;P zUVxB|Y$?ihbrM5w&%uOFU(hGc6HQ5NDzM>b zYxe>ABh zsNvKg{AD|a=ZVF5w>-kM2}rc5$q6I|uudpOk~(>t52zqHf692efFnK~lg1`2@R(1W zVaMPl+~6?Z@V$++%ES<>rYbOlRAQ?Ihg(JQ12$;Y#BN@w659}5MG+sJ$W(CqTCM&mfz{^*Lka8)No6!oSc)R9wGo+p;!? zqdE8i)r|#B=dCC?SQR0Td~iqa!5D#nE5NeY)-GKjzJ{=SYK000lUI>$FMNbMG4gdb zn98d@NrXgUgRa{;Qd=LQe~x3e-Ih85qTQCm;H)X#-T|DN%65KNIBaEu?D(F$z2&6a zU#QeyKE6S~6cFUDBhQf}jo^s82;(#|b=4xcqXVeLdNn^W^^46UanTV{8>*2LJ*Znw zFAqT@c?UpjR)Pp=IejsD2@_L#vHaqvhUQ^}Am)n_{#K1f%@7Rof5gs~%Vr?nRd`VQ zh<0Fazeyev>=fn&JFff$I$>gHe&X~fQLFF z0di?{X-dDiK$>+Ae<-i0ZCt(YS-V-?_me5G(0et|qHaL2?7K98UWD!c_zg^)Oodi< zlv1>|F}jL$RO87r{pC|g`Z0CJm|FuUCT#qr&RNT6jVmw94TeiFray>H{Ai2Do0KY))f6RR$(UWaqYp^6=Nwy(` z_p?d70md+4$E;xsiI)Ttj1Bm^+)-=!D_`N&sZ(8D-Cfn)l4X*Y(3455?y6JUsXA+& zgJCeZY8#!TW@bI7rBhM$>>1ChUG}Ofdy5NpEH*fvv#f>fvd&n=s)4dG2bxu#gcDZ?0zx%b}8OAOO zPj_|0e!q0jqLNWG@%(f<`G1Rsc03-qgEo^}8T;4RIQc`rb`Ad^KrM~=7(s^(G{P-T zJ%&Hnz?|TGvab64L+q;l@s+p}n20ubwp_b$ShkVJO zJlU0>y+g$H7HK2-&mWU^ic9y%=-~p=#M9i1FG+*Bl}F;)Mw(>-MZ#??m%^5Q6 z!QE!JsfC-sq&DxuiD&r>PeftNtYUPWzX_4rEg@VIV-zho3i8I}xsjU_yd>Bg!8O8g zt*~Qrf0Z&!2&mRY{@-dx2zr(*o1e)vl!IfP5L0HG9p#;? z(+9>sTC};Mg>77UN=s{WK7?25bj$z`{N<@YxVGPeptdS>Sr3HLFLN3DS<@+p2`(OZQkR!si4T zCNW|HZZXKccx#-9JHXpcFN=ZF4e>X(vY_`5JjP}RU)ioFZQ}}|MMf$TJ3+HbV&M>#~1WqBVT3@cBLYD>d z33Q5PS*m)Jmhq*j;SM6hT>qHbr3Ea$Yt36kwWB7e9m4^pg}3)p(np1sN~wnOsW0;E znUAi?r_Xzqv^ty`d^18Q5sj6pP|}ifGJokoe_>`CQLZUKZ{xf7kLl2Yp-;3e^`X9? zy|b3WJjZ}L%78ZVZvNszZe_Lb^(w@1reeF59KC@appM3*l*uisXa4)!`S}^}GH5qTL_-6^6^+AS0iY_xVVWQVKcAyRSvS<8 ze}v?$On{50fb?z^`iu&qt@9V?P2mzPM-?eY?g(JJ&Kp%&a3G^apw78Io8e+0t`+PK zx*p1X>a!`;eP`SF``pIQXwj>g1%2XS>GOv_&n$S^Wcjp!H++4A-8?8cgB10tan<1@ zZ;KZrHGOVu%9*sonLV#S4>pEaKu{jPe-r77dFz(C%e@Y(=$v%lVHJUCV8(3)iU4!d z6m*GeYX>JWx~7tctk+76W^JZdR!(AiC0~?{%E8vtXt{mybSRrj4QAvfR_XlPt-H{+ zva~u>NI4-G+4-08u~U`vziEyN!X9>UO7O8`kWn=D^s3`#9+`lRMuBuT%2Rx|eW#rW`MPa|-leq7lxn08_(hCkNHddxiN^+(1R)6c?BE z7tX{*YB*&CJ*(ycriz*35uy+tw=jjq_*^5}NW!bYqlj7v5BEmkcN8eI!qHYf5iV^h zLK^b6{DOBO(Z;jEShqfXYAa|>e=#+R$X@VRZv?&KQ_hv}#YUoh!B__a99IZ6?hZ2N z65~!^kl$?)zVgs3!Jl!#$vMd{B^n6$ud#FWMrW&u0&WqK;8CDRyLusf%n#&fvPkh} z(BtO8R6p1A{I{{7R2%6dewZJq0hxl+{&+?K+)%hVE(6X#%Fn#irDPM zMn7Cah*gLMijZ9JxQ6B0K$FraT#}J_XXq%)q%Qh}KmNw)|$1VI+ z_G0N0*6x8H7HtRovuI3dY#g(I+4XETAv!_k*Aa%arq#HKRrRx{ z^9%Qq*&)0GFRLe-=-Ub>f1c5%sqFzFmgn>58py##GOR{)2dBNojCWa{u|jHiYi;SY z+1xyrNegTVwYE5|l2Su;YfG2YM(whUbe4@P`kt!@I`}r$6ZsXl%z)O~(x!Ps`okYw zG?ScCdcpB|x!+}_j*B~6bdrTwLtfUaIt`O}>d$`Er?2U2tG25;e;D+g7yk$)U?uxR zv(-{THCSg{ZEn!lCrY>1{uFL$A+3~duj;FF`7{62r!O_KGI(E;{U|Oy$zMLxP)D#D zZ0pa*z-BKL)BkxIi{w@oN}s;~FHo9j5CaN8wMJ@1sgOyAWCCbOXFXHA3yyGnZhO>S7Ly*#xBD!d)p#Z!wV#xa6x3P zBSXWP0UQ3Rv$U9z16;OAr>ah0Y*1CFOHzlj;i?L+qb~kh9z@K}NN*|~Gb8U+w+;9B zk8Rq#9EDJX-n@9hKsZiy53j|`EvSnTj-_)%K}O-2s<*S=ld3{EX4n<^+r zqlrNd1%8N7sEMwY5UvkD*d5vR_kG>LOy;wZL=65te+d81rc?ijCO^v#$9q4ECXZ$Z zGoNJ!qJ61R_-g>NIi};$hH&GbgER~#r8_9glt499W)~E%Vn*)xzVW`_CaG3F#G$a@V3ms zWMHcXEgcHiih6WH4TmBGku0*7xQ>FbBeDu?fBT@Hlui4AaHZS|CcwS0tS?-G1ZC(9 zicI<3+1$%(#jy$AR1IPT_6}QeTZ(gKvo^hctD zF;JnJ8lZ{Nm9y{12U3Yt$mpy-Ig!7`vSe(9Acr*FFTQmXK5bH@v>!qrFn6-;Fyj}o z6+i`C=>55ILAGug;p~zvo%sEg&Q_m&vsI8^rMPfkKX>w{=U0pCSM=pc7O-Mwe=I*g z!@C5Rr!aNN`epr$G8esvo3MDWve?K46n#qfqlmVpItQ`k-=EjzOh`1 zsa@w$$F$8M3-fW9 z10tg^yKZ)s01h;5EPAa0j3FJLz&2T-u&q?MyEQD98;-I9WO{>C z7;OeVASja$Et3&X9!iB-WWH>pI)uCNtB!Hq7GruDYK8riY!0!`WD7NB(nXv z7xTH5Ri~_Cwqdg~304k>0C9G<@L)MVeKEK8l|J{BRj=W}Kpm+OoG`;ynBfHW5@Jq2 zUD98E!KxGbQp24)`IHe6Q4p`V43{(_B*4k%FjX$EI9Ox<9H%&G z7~aEr_EBy#8?(hDhZp2r=Nhc$)^LVqgNUIgK8Vf1Oh^lbfBJ)sT3vqnQU2mWYnXJk z@a_FS>Sxw4(}98|Lnubjk52`z!+_5M0}>pjN`XJt2aWU;Zi6M}z(1@Z0^a!66CEpAk?q8|&UNNagR z^-Lk{r>7!)f93$t876=JC0Iun?qZVn+{&r#oYwLHseHvm&7-`p+F!}W?rhh1Gdw#4 zp@X2=6uRQMaca268~&_0luB!d$XQ{*D&Duy7N#Vx0lFQiKSa~GNJ|p(6zNZ=hKHC~ zV0h!Rx>V#k6hHyq`jKtB;O{dBlW-&U*rB?*EurJIf2%dX+_UT1@S93W=GJ10;I}Bg z*T_`2@KQbtHMXM`BL*_HFr7=DQ3H<>L>BV|At30^k-+k(X4^yT_^}-dwnN7}WdKj` zq{pJR`w~=Gq4QKzhlzN^z2VsB?u~D0Xx`FDdhnK(3Dq@kG5SKml7qf9byA-@NzQKt za4Ps1e@70k50fc^LHgS!P{S(_F$l&;RHed@M3hH7hI~i-2UlLU;eXQ`3caav>azdO+ED8Ikpg=yxg^(R0kE!wX#P_0&6@@m7f2b?DKN zn5loKN2pTSpWL_6W@WRN?ZAe}*-5|A#wv?ApIyIz&t25NY2%aJt<7yQt(V9fNI| z+?CC$g>zpfg=EaF-wStHTru!-f37b+`=7D-;?u{V{8$>#J-c6ebejC}KV#Rif0)vI zr^H({z~o*)9z1>GAuxjvz5=WH)9)Yx=J?gz+F0({v=T7#wGa<)`W(V4jZf**%cV<; zr8}1~!4LrlH^?4*rB6Oqn{?n2%sPQq?!Zwa@Nf1ci(Jivr2Mmk&7sdeQ(VZzMLEQI zE3Y63PV{v@X^m$vNmxd+8Soz9e@;-0fs=6=H8tw{iF7-;tJpSaFnCZK7-)QO5lhRcq2s^L>S^9T-*IR8Z3BJC< zMt8Ntb+S8T;O292*&pn%e*oOus^e{%D_*&pKXo(z!(8#fw0`B`hi|JoFdS75tKABe za7JhTS-Nt!c=80qXkYkBpT44k%C~?Lc!%9~iDoZ9!1Z&e`l2Sl=NAd~G0$Sea={2kHOX7q zWT1ks(W0W>xK0{pe~qpl_ge|t=EwTgHYbM4&G^;fIs=7;YvlY#gYGYM9t4b$%!3j) ztn*+XMfDlF8tOzhNQAYST2wi{V+(b!gNXSF%cXLVqsPGN8jM7$0K3`M{7a)!w& z1?vAS4;je5#*=XUu78-2XzG$C4|QistwzuaIHKr{duU-s9)Kru6#RqzAR&U6KB1HZ~ePTJ^hs@VMXq>uL#y z+ids$!tEU`ukZi8il?Ice_fGx-#)PGZ*TvX=jA_pNx1n32kyHEB8C@lpjPHWOnr1C zL#cEY{MxN0e+J_{nGo1xdZ?2D6aXr)xL&%nm|HoMKl4DJhHG^!_6S4m%}=z8;Ww<^ z*ih^ZF^&b1$tJ!nyf}yOc{&0@VYveN&}d{dn)G&yw1&qx5F3p3r=yA7%9r|gH?Y_F z`BlPu=2lk)=sl@yB-?Mq$MFu}VQppS&OQ5C(43n$fAzDo5~syLeP29d_==2^b*lao%s+%nDtu!|OUPmggBnR>lp}IB)uC)^KfUX@Kh=9!+8}Q)lPRaY zPRCkBAC9K` z^u;^*f9a=%ZcZjw|M5#I3sxaGGz`W2Qin7e2V@7~(i*uY3)J?QW+IYE z(fHKC_)s?5GZ@PRecEwc&k&SGKr=NypI^8mq+s+m+<2se@i_}lxT@&Z8;ES}qYo8F zv@R!_wL{zh2_utD4H>Cu@Emv4Ro=8yhLQDie??BwU>QD>;JpT^Q+2tILqVB{0yAds#={6>#1k70+qcBTFe>;xA%f5&Jl!EQIwyy zgxPDnSDC+hf-4lbMHjXaUi7xeadOhi{JQq3=8ct$r&11%k4`X3YcTW|$btB`m8TeDbe?p&sI5Lzmvg8u7a+wfEe5o(afIGs%#li(32^chr za6|gsR}csC(vSJ`FDmde|)-JdWacPN6A=!gu15}{i+ty9W%GuH*FYxpf63NRC?NL& zwVy5s!G08Yoo@Cc%bjJn3FQi2+<2-Q=& zZ+PX4lTV!BK)b>7r&_xg9*-UDb25#`*G_ibr7lo5dH|F;7Pmwku4z!DhlOOx*+GE| z9ty$LFgP^ezgz2-hX;uFL9yEj+_+aeay(IaQz)w3q@#Y|}`! zB;pITcGH48Hg|UUs$0|BRc4fsUr_PPu2n&jD92d=pDMTlm#fBUyxd*7*rE(Tbxu1sLN_7N>}%y>oK1nLt(B(}F@m_1#M^uSo|G20uvHg$6dLj_#*9dtBYZ@Jj zcL!+Lh3%mb`O%zZJ!np)`$MDzTTWWR06?}3O~1wfgvh$Se{_d2)8qpzidU6n-}|vl zCfXkh5D6_nkswZHGY~W}A{f{jpbm2MEld@CMYc;O1~$DIfBEo!G<~=)HJS_@58@uS z?cFj`AB7XN4a+8#R3{rm*b(t$JgabuLn93<*Aq|nF@ zu@MFJlggjo=@2jWp4prE09gChuL?zywU9;m;4%-aIGYONWi~bB?7F=HQ`g{O`z^nD zBcvT8Ip#rSf34=68tZ)eP}0*lF_}noI6DwI96QQ-EWE+kV?lBx;NB0~YxA>{)#bm< znuWD<`r=iy=4Pn<3+KPft)2mQinaN|nI-+s=lYqO`n6k-y?Nm-Kfo|}sh9^Uf9XfV zQXr`H%GX){^n4C=jR)RsBE$-tsL=5y+^8WGoH?9%e-oBFGa5WP@nywcj zBD&ZUtqb9;qN=`8(YQi{i;D}r0mWK*Dub{@=SZiI^F89tE68jTIq8>4nUsPvd|PhV9k+y8Log_msWr zHkVnYf9g^Ye*3`vIJ7vm^dd9!Y6T7M7>NFVwcIad^ZibpBu!Nw$pII8bI-4$EDYO1 z<{73x`%$zATj-n(@)uX(dg9z8j2)=oTrJ!l<1P;QYftpMS4;C_`R`7E{_p%lX&8K? zys{NDQsI<-3N|1i-1)N$kS1{bdj9c+!ulHNe>FN?Qp?wM2;O}5O#a3^T={=eP8vgJ z>#b(2OpCFZK@{9g{W+L=+>$b~I|am9f(KMIi<#gmJw( ze@A#SY{CJ-^a>}Zm5@gu{HH&(y8AzL+6R$;`ZWJ^a)3yCer5{Fd5ot^J|0O}zh5sy z#t4eAD?E(*LP@Dr*c5PtlC~DSIW?1)F*cQznK3ZdJwk`2uTE=pMcq|)8Jge`J44Z`U%c#ru(N)*b_U+`~w5H>!YCRcJia zKxE#7F*@MYv@Bezs(m&j*G|ZMhRbp=^p{>!x>BPVN~$nm_ol2Cqj25}#tQmbGij*Y z|Att(A(gwT*cE>Z$oo^_8g7Pg3hu2SBTWM11p$l#V9*Qi%{0aomG&f3A$l=eVqnhiu$g`7YBZX7fLcTNv-^?>GSLz2gR` zm8X0xFanOe@RD(5b$ja{>mO5iowt5a5jZ+$bfh)_!}F5L2tKB0{sFV z;a}(v!Tu^fP9G7dF-Su|Q*G4tP^i8^kdhH3Ok$wXiL5SXE+sWhV(D^qkwei; zW;B(SDk5obN1b}e%C(3#ouzmx{_2%_0$O<}^@NfhNZtp#rqe_?Ve)=O~WTf`~n zdx912x<1PgymWm&N1+@EJg;?qUQ_Xkb$td>xyuqpsjBMwc+=iOhS~lvNY_`E`zgxrNc+il&}e;Vi;{EjA$&= z)EeH_)Zd%%QL)`xe=*$AsjLWu4K)H*!Y0jDYi-4gi6$?a#Q#~DLDm~f2_F!{E#YwC z@tQt;i7hxP5gmFMs%%6$FTG;vAkxN!K?6-agVDpWwkE!Eu8Zab*C_|*wTMnYU1~sX zi+bDzH{9^XgYkgJV<(l(fY46JnGkqLk8FWOTb%-}Nw&Kce;ZbQUXFr}OxysSPT02A z!>+Awa^r2TjSJXSwHDhwTV!ZhwH7;ETXfx={`$}+SwdSMB)wGhVKe5utE|?`ntvZ- zm&E&(DjjGW3NFqo6tI;S!GYPhZ#QMLm6I9m6B%@udS#n^OzVl*Ga=fHuomi|GnHPd zwrNb<=pO1ef6AeL71|*DU%N(U9KRekJT?}a-X35$91OzUMdO!G4tLa-UCFmqrJ7oF zxr8A}v$_eAYR1t0$`ro>)a@p$#=o$HgWKzm8NE4PCn(A@R8Q_`>Q$+VGp{wp+NS%k z5~;ax;#sXFa#(vk9CpGsJ2q_Mg7>)`vUWe`!sycv3%%m!^dHv3xn~O+j4vNHW#u zHCY{wTrZ0+^}AD;(cEl@d(+~CfkBg|?omMfm1xK%$D`5~9uN@JP^Po9R8X7)qm*^k zLz`?;R#ZV}%h9869sy+rK*l}3LMNJyD3r_MbtQc6aFQ&FNE96ek}a$8PRavY7M4S@ zf8m!u`N*bdFp!U)F3@kF^d|Pv*WHJr1XB$3!&gvD-9;>91znN&X6WaIL&@xi%L8$6q_FC2GMuPqXm13CizpwZ+m=Py3nxo1D&T6%{2!K{3LJojuGi62TG z`lX5dnLGNk9}D-#$xBWHNi9@iN7;nJpCG&x~;j5>A*e-#Pl zo8=P2V*{(i8eZL`-J|^xytb;Q-lP3P?sAUftU+=h*5jYatSEZH;x4#!W2C}vjFi=l z7`PUtV|}g@k~v)Iln6DYz4;{wjgTJUT|lHw5*n)|3Gp-zc1g%3S%b=!oN{jJaB4$`q_oPj{X+6>NtKf06~Z4;LhdqmVxFEnHgMM|U`p=M=EbeOj(8q%Td< z2GTLyG}bo6CIq~%a7{Yxmp%&*#<6jFa>$x)gQiFPHr(ZCVC@Ua68vYoYT0Q6k@(O^ zy9exTjT%ab4%nRz*f!9e70%bMNyOxP%c?A9+rs%$Bx$x!_5@gfA^$=A|hqZGKWNegG1~B}Zx>79n2Nk4?xnW$;KW?`-qJ0;?8>cN`9E7bx?bo1 zd=*bc`9HTs4(#3g-hR*QpVo3l?oV4V&%soGe=M!Y@(EElA@efne_cO?^g~I$oJFQLQa4;cyj|IBf}@P78uG{&Sj$U#NfCI}}Tfrn7~|YlXF&T={CG&pw@7 zIiFjZ&Aq%{{NbV^>!CtvH2*DYkEdl{y;Jz^@!Nmz++SFjDP5S?KYyRoPhZ4_u~n88 zDb88oi>(>eoPwBI_XqZZSG>d9yYOJp^*!I%Z19F%xXC(~Jr&UY^d}#C%47PBk!)xZU(ry?-sF(qpt}25k(BvWoq(0h z0J8tKPF3LybARQMDpfSO0+l7MeR@xyc$!-|lY4%daPYOhly-yy~bqFA7wd?f!s@EKsN>8bqmdyI6!_J6FULqD7qV!jqIGz7|!iXL2WWlUW6}}oT zT)T`cTz@D(Lw%{QE$S~WSZ+L9>(n>&4QoxA0dWZ$E0ZwIJ0E<^Kb#_xE6P^hLZrQZ zI6=4|NMZZ@g1+?J+wgD5t@%s$^z}>n+(``7j#KWaPVr8nm`B`*hjR` za3&qffU?ZGZDlQV2vRQJnno+jbA|67GtB^ovwxwkAOXvs%^c0ps8O(634}~CI+Phm z8LAYAu^)jVsuf=>>DN{Xl9MrL|1)-;|AT$1ckX1ToLp`fwpqJyU^t2HFuCL^3;myRa%^k@XMZj2IfV{Yu$ih)4Pkle?EDU$8u$>Z zaCSC#awNGAtEny^%#{a;z#BXI6^M5t5`PK^rhESc;k>vW8}!Qa579OJ?S1=lD+~JB z)A@ya+~wpI_?mP|-SpKoM6oeV%H%C2RdYE^MZRGrsDeOKc9>2N@N`n&kTckn+uFHv z&wd~Ss@b)CIi=4&hGh3=m+(x^t=%hK{vMQ1Q>&%( zSE{hVj@$MZgkht4%|xn?-o-<&RH@^r()<|QzoLd!6ao#W|I=WL zUcX*k8przuxwW<2iwmW%&Xlfv?KV=c2B)S<*Cq*B<3btPG|<$_n7(+mG=Fvi1D9fK z22T1m;-u=_N7LtEX>Z=kU-=Tam#NjlnPs>xe&=%T`BjL8di!*KW<7su!bkKjA7QKL zQvNcsqIqncN_Gw-+v_(Veg>wayuzqBUt)1rsmM7zPLj^fWMHF-aPD?0ltawnu@iLG zl9DXA2o~^!2*Vr=Wq{E2(tp4tkn@f5A*fdHsP4yjH;%?Ta{S;td!09~Y2f{H4a{b! za1s$8iHt(~;fYnQyp5mKdr|;y7HT|M@|SMG0m$SMPlp)esk*eX8P^I;(S@4}Y`edV z6wbl{&aRTZSON-3^Mx1JuaOfIm3*9Nw6?VTo+GYhCgt#{3^{|RFn_GW$y20XIBc1GQaetJGlhN8dtPXBTi zF~)d5BZJ59BY^Jx>Eq)16fdZlW#uhct3Gsy*~KkyySXU@yE4R;&3)^GJlGaVN*+?Yy)ogr_%9H(V0FYg>En7fJ?cX#s-swWGKE4N7Kr0J*gDrQix}}Q%T!r(1EgaoyRx0Z5$`K1x*!zO!pMa zqH9)7xm!^dfXwlZ!Dj~vwJ)MI1G$!3Q`73xlhc}27d(*2FMrdF#$U80#JJjG<()Bp zF^ram-!=gFN)4hXnm#OofZsL{_(~08UrGe9FJ-F^FI+0`vsB(^ue{H#^8TaA)Q*8@ zRs>J?tOC?v5~;w-$eWXh(6NRr=u`|fE|Mo1F8&LpS$yYflzuSuti-86+ zIPfl80E!>KNkv~d+6Ok@-EvWnoE4GXJLMluMu)-hD8+!iB0;mxj48_Xh)eeiYm~qZ!Vdx#Nqs{&C?7(nOb37Gt`W_gM%+k(s%lE{SeKLCi=}{&I z3FtX5CmXW`?@+YUC%)AuzJnmLS03h8SK0Z*Z>F%&An4cV18&%WTX--|z}exV09Lwl z9o${cKPI!}2dGc28$3SM!4(CM=bcku9ygvA=YNG+vuU`hrnM*w*e<{tk0cts@vtk` zJrYB*@j%$29%?YxvdH#FvZ=$dBrs$gcgpRO)B8;=e)4`dU@RXi;}^G)H_xV|`3{Axm9|Awp;*j%SCqMG_` zB7b}IBiu}2d5j|t8eAAkIlB?*GWPp9*bAL^5*MLo37`D}0IUZ`UG z7z5OQ`xxpuw=$Mnd1S;7rBiWtR-gW{dZsp86vEt#Ti61mSftH*0VpTvpwAvE)vm+o zLDi-wpWJhA89kS7O!1x`h2-z(sF!sJ2kAII7-VU2yw8qTMJTGvj&##AOKX!{27mfl zlE7ImQgDGlb?QC_-2U_Iq*znZ+~(t3;CIsgox%=zSO_Ffem9Okj6rG!wpEJ|oUE?-kYtW_2j^q0=6JSs@daT}0Wsd?lz9W0j)?n}w39Q#Nk z+xgju`{WKdS4ss@>@AI5Ev`@5#9n|q#E`T(8Ow&am`laN;*8!@}L3HdB{;RS4&3lLf zr4x&V#qWS!p=63+1YuW7kI3ooe%y;Q$b4Ma=CB?@YG@6$Ks+A5BY0&KL6a)`*(=eZ zp-iY}I6l~C>>A8DXl#?W_kZoy4uHmZqjb?epSFF%+W`cne@G#i_(jWjJEa=uaJ?F) zP>i0)^|Jk8j?{MM@~-%=!aTvaJ?%NoHNquL2YYe8nV)^{#K7Z`vzTYNOXc$9=2!C=l!@nr$Yqgp} z+<3&SE8(k-;vy?29zP#S$Rx9VWlfZDt%GU&@Oaj9_r2T9?qwp&tHZH;h^n`5mquS2>@8?$5AdVBw zD+BZL;Ro+IKnb{7QGYWqYC(G0`yadZY-%jZAQ$gg%I(6-yZI{@agY#GJ315(k<#g- z&At8cKa*eG`~Pdt-e%}$^R6S=SUMRU{6iv^9Z2e0 zu<39DNEm6^cwew;Sc^?CuylF$@A^REW@sK8Wc_^5434<<3V(puX(|3fBeat0EVa~v z8l+FGXMStYNd-zpC)am7v|Aqib5J*laIZuL6D z+ngC7dy#rxg5#wYPv+LX0zaYam%y&~bWJ~bi`S}Nyc5Y?n+gRP9wqB0MC6}JUHq5#8Tz@`SxVxHrd1^bCLi;Jq=Gc*FVrVc%o#zs< zOeWeN`?E+6(cLY#cDFEdx@txP1T9|M@iUCyrU{#2t6w8F7B9<;?L0?b3xrs!EW#2k zLmT@T>+n@UNDRTVc6-?D;@@UfoJvSpF zNS!7|OnsLxsrwMb4{b12U{KRh-qJ)&jr!Y#0zWkyzHHWLj za)VNU`q?x2=|}ptm-)G~xz)SzOlCMncGQ7)i;EA7i>rmTFDehWO?c~_v7X_62y675 zwT&0zR5ilJ&0}etQhhWqS@IC3zEBfVQbGg$rbY`A+<$`*I6SNvSz8EW91KAao8Dw3KBOHBZ4Dg{ z^}S`j>NMYd^3g}zGegnd*!GV<-a_73b)iyT)6(xK85weFO)1&?HpTl6d_R(iq+@;Y zG#&fiJps2+kQha|$@Y8z)&EG2P5TG>$i)RSZw<@z@}4ErOB1YF6WQ54v9wbkp??4% zM0V>-X8Zs#64TIe)zfJJG%$8&(=IJY2lv_g@gqSq+mB1jWw#nIn+=HV9vDiejvR%C zKRYm-wF{K6=CJBC=buc zxc7Z{K#l9Z(HsF)1;rz&;cV3qu76BKuWH*>Kz6o1N_;OD*ZnV(8ioze{Z5%*T!#eR z{?G0*X@FE$uG+Fjq^z$xgB)^zxYR(}ja zr;^^sd!yNSDtY`bt>Lcb7V^K=?e&TH5tfcJrI~cGiDtJ9{{C1to_~l%h@_s*X4BDR z=1?qsJg5at%OO+05Oi_0FFzAd)7U2cb~sL&u7ATxpgneDqcn%TeS#?3f2Ku84{L#A zL+N-jtJTwQTOf<_@qjy&4cPe&x$RgTZSHs@O*O4HPb+RCV_0+}{3`?#UOk_`^keDL zlibQG*!yub0WIN-`F{sb8G)^_t>TXp1U?TIPOvvWeGzXL6;GZhoOp)1JQd#B?K|!> zRi?t)O*u`qV_Xki?rE1z40W3Z0(#U5$D8%5{Zz9dNg3gNJI%9%YK56T`1(}t`Bi;< z9uh;Gxk+dX*x`k!X)dvX1z2tZZ>~MmOBSa?*41XYQ;O?I&U06qaW1XW7 z6t0~kCmV#Kp=}fvW(unh@@F0vXV21wBiMn7El}lKT%XeKKH$j^tZn38+{&#&+-vl8 z;5}_iFr7sPHJ@5=G@4G5r3)HqrKq;va`Rv4O~C(RK;*i$2|TL#ESXEsnzQJz=O8O- ze(Zq^T)0t#cz;F4GWdhIl~4!#&AABuT0r^Q>n(L@) zb8QKVXD;n^R^A@r1@z@f^j~1E7BgS!v&;JQa_Q0|eShJyxI+y-%GVy1z1!y5Q7~Xk zt>$MQkk8mF(sj5&I`cBOax%AailF7z+_O^vhI*S7*RPR!*qF_O0Xf5XvL`j1?8_i; zC`qcRy$M-0C)N9bv>+|R|RpDSa?W_j7ABz8<8)j zOciAHfPXyJ?j?E-(LZ@1!d3X9Y7+j!TqEWc-1kSa8-Mt4sX-zxqOKM}m zoU9$Pb?uJ#{#ZIII|s4!P3msvT4W<2a$QrOH~`VcFB3fk-o)V(z`^n&65cO%MCc=1 z=y25+x_-yr_uqee&(2NgY@0`CkfAHFa!rFqx57-W&Nd>{~_bc=F z-G8vHTH_aN>h{}WU9#D6rW0BEVPk$`S zk{8oAhvLaT_#r#P2uIZ)6TX;4PI?~yVFL)wWlE&1@{}ST@IErT1e!p8^ipc?1=83>S#6p3r}l1 z`569PYe#EaXKPDadrSCtEv@19_LkpiE!FRe^BIP{p=rOPmyBOUgTJh&?u`(ndLsux zowg%2bTl3BAINGAI~ukBMQ>f#)-sDiB(i&dsGS6wYFAv5Ddh64@baM5gm!f2O+w;vQ+QTFq{&KGUPOgu%vcSqLyxs z2&97Mst#pH7|cV4fnJMKk6FY#8rv?vdX_Nu=s}H9aNUz^f$#m;1iQ!Xym{`p(caS+ z{nWT}j@i8+{nz|5w$2HhDuIzD!G91<5*^ZKS0JSvC6LVjknM4m@1d2t(3F?##$O~E z83h14=6mFWyKhkmc`a4Y%Ozeq;gWpjK9CM&T_g3`^{M@#W`?0FKt^-#6h?TCgnz`&kO@MqBo)|&&LH|q`eEX=ceW!uD_Dbgd>C-@7nbw0 zi~8!9tYy!fM@m>7iJfFS^`xTdzS8wO`RnW6xsQ~v+7kI&&%nI%?7pvlbvE*e+4uGi zRv3K!Pd;R>uhfH9RlUnt6CTo=AMJA|3p3NuwdqN+wLQAA&FDsJ0)G!#)8E&l=9`Ti znet!UEH2;Cr!N(6Ka^p9MeeyiG79;UIm+?R-DpaoOe~w}O~;3_8C8X_qk`q=x0P;l zll>`s?1gXUT)H<8>PJ}@T*fSn7PazzRr07$VAd0Jd^W{av!bW=RO%LumLeK} z&{h5JcYnnv_s~&HR5jZ4jAdFFoSZNlo`7iq?Tv2jP?U7nw-S$O;@E#2mI`57M6Dxg zS!(;aOjjn3J26GLdY+A@oBKc29B*oEi~5FqRTaLeRPlf+UA{n$`8T!5&V^SRu^spV zPn}kL@Rfe%lu9p14(tb~un2Yyx3k%m#Noa;N`LKwvQE+vST&kHJz_4Jb1DN`{W0Y0_yu49Jbu?leUWSma3Fz%X~8h+=&RMQC# zAG@^RCm*#mz4F{DKybPK;doz+ERKHdMrmve-1n%aAO4v+r9Z!*FFp4`#1Z?& zbAPDuEep07Yj2*=c12=xm z-}nNyF|%@-Moau1fs5+hfoM80(xJh>yWroQ?ONNmPA!_~BY!30L!@U-nbe`|p}`d4 z&e)3qB4U~^%@}RAW+}cEG?1X-Hnk~(xTlvQq2xAIibe1N8*T1!*uYV41@qhS- zQ9xf=F+8t-M7^WCRW-LVTex|zH2$T2|3vP^1s2wg!o(f_)AO4y)g9{0woacmS-JJK zN$LSkPc(?;@bVhr%nPgQxQ{@3x%&mdU;WBMTxND3K?NEQcILn+tUlS-9LM06M)267 zRJtMF-TGGi-@5m_^H%(ie{9t7;(taw&Vd!t6R_dgT!;om6e!d~#T?@o|; zQ_;|{suIHorTM4LqoS%_yML;l71?aHD&-cWQ7>gI1pQIgrUB)Qebc}@>p09EYceUc zL~i8_tBsolH5Ij)(Rj9ZAY$Q6>NKO|KTp%TVhuvrktsxP+uZu~!i6g+8M33Fx%f~I zBaqzdjs5M=J3(0plVL>m!Mp8X?F^U>EM{#|f_6usDJ)zb!XRvrXn%l`J#}nk=wpB* zBDIx0A`r!{m@Cz-1!-S`7@$G&WhfmBsyb>8)U!v`5bN}(-{;oO@R<~svpDsbFBiV| z5Xuagxz*Ffv59wMDej4)&z*$32Gmhkyw?TSy2h>=L9krJJprLus7Wz z9d{og!+Y;Bl0V`@&18J6DfrVILB=vXz&+OiQDC&Qn%HwKgMULYzGcc78DZA7Z0rbO z&XZdGG1k^`2m4Ji$58&5im&=(P}d5P9^IZzL`LL|n8!_^9x4UYu(8?WNG6!dRPbj5 zwXcmb6qi4TVAxpn={4S z@#q~+9!{o4g&<=WnO#GGsO0vTo%l+4b|)!j%04n*RH8+((K5C0xe}MbEddsPS-7<4 zdfJ2AqO}dCNvh-mg`I5@I1v8Md4o`4j1dOxrSW&Y(}CDFoS_&)z8_{NCsAZOuWR`2 z8%|g5#bo~0?b4&u*i~QTw$*fI7iGI0`#wZ1$wua%pGn71BYiv&G7#EN8BuACEj#2^ z>+KaZm>P4$mgcOBHWFtCdy+j4O?&MYDHEt`Vl0aHD~OrTDq4!590`yCcup(E@x48p8pyy@+KL8h5$dWXCY znhKhBLoXwOrv%#%{Gs8V!FXmM))$FpeYSz-O#e+_d9#55%C#l6RzHndRa6!-0lHR{ z%7%uiMXDR#P?5}dQE%S?UcC+Uq*J4i5(!S4!Bn&_LNg;6t)_Nq0f~Eui5Mnc7yz2L z5PTgz(!8bqn9;4{&07wClAU@mP#-Wtpb|U^g@W3j#7o2JSTktkoO|EdeftFy@kTrc zBsDO4c{ov`7Ww| z_k2M0+^xrD1^w!~<#S}ydmE3b|CU#Cn|2TFoNR9WWEODK($P-HHFfaVtc2JET;;Rb z$KVmPQ}BG$+VtkfJ**#@Ts#a_utvW;dcofVh#4wrF zrXTWfBq`1uRav>1Mb`R{M%=VuDfFBX^1q1J_Pm1yR`qtlGM#FQ{q$<@GS z(vQOxjmTo~^)y}p%~}9Xau^t&26cfbEt9kCuEYGdJdQwrrL3{aUBe`hRA{!DAgG1K z&e|$0EIwsics8yC>`Xv#g}ZDi34g4wtmIeElJ4hL|5+SAUwCn@G&NPaHVF}}Xi13N zuzW{9`$g`>EXNja{|`=stP_);e^gkTgD6-u5Kn3BL}_9c0t900s;Sk&nPtpL0q5V; zqvGw;;Ak{|`PgrZt@al6r{7~Mo);v^4L=;Okooc+fn8jus{#ks=TJcbX# zd}WA^rdN;JafVq*4Sex&E0dX`k*ZtWY78ijR@65xl`2!3Y!q09()?KQ{y44?Tw0+b zZN;HA92X@*32JCFCiO3juV6!97x)%0=Py38s(9UK~nS|L-I z4TuT*6VY_GuyC<(;hxgu*Jd^&zi+aUF|;>o`_i#Qd^ph*ZV9(Fw`^-}?P6VoJZ01g ztFZPYfAX%fgZwt4WBZ|4>bx_yS(g%xPgOQQTDC?xzE4b0>b9evr4UmhFfD_18>)?) z7IlVysyktMckI|I?G8Z;hEz>&0}@xYV{P(|IqQSQmA zSMcRrC$I(i`LV*{7)m1Sz%!ILr-z4*U{lr>hI=9oe?p|^?~cSXsr0|b#t%f}gPGoc z=wOWe{kM2J);}Cg_mRK%MB^i|eGuec)~&D^m;mV1)TF#yxW#<+4EbK{9C}si6Aw$D zgJ=fMqEuXw^`yH}~k+iuR3Dlh6G%8tx1Sd?htTPmUp;-`D$x*gVR#sBZEijjTQ;MbzoF2m#YcxRy zYWx{M5z-LJV3V=9KAD&=3DPhxB45s9UI-=*cs#AH0koPr>|wm0Sbnhbq;U0twI&_)#)I0~RmbUG zTzZnfe1^<;{`OZ=fB4b(;dnE&-b*B)Bh7?Q;7~mTYaAxHvHmr6j|FQSx{Y@O%!tnjq`V^hEGO~$nEnY}ql(_^fY&ug?XES&OjC4V2dm?aFx{4*|)z|o|qNT@z7HZF|KnkVu z4wR_zVLUiS)=!5`{n0G6UxC>;~ zp|5==FN_<+CJS;5nHobEKr1Eg6&;kM!=+9q-f6eG4_FV4hBZfjO2+ZGq&eD2BW#C1 z8X79Qnku>|0P2iTjWMpx-Xu;5ae7Jiou<+4)qBRN)3uxDFv>E7WWIWD{?@m6sR z$s3?UpsIEA0*Lx+Az-zyozK3j!Y^2D8NC!#vXC9JnpmpjXU}PC%(0-UO*iD4(A1V2 zaBgU7yUxgIOx56jR-w;Pp`MP-79OnOF23Vz(RQg;7sL{|jPk83Om4x5UfA0XXNr=! zZSCy!>f{;J04`dEgSKjOv!~5O;wUy+&Ff{0QD@i&o!T9PP1v|jBYdD0a*})?f1x-F zH7%hyqW*$5M4J$_fk}d_k5Y0(B7%Yq{6Vl3Kgh(AkduyolZrz`$c~4&F}Zb%?9|?{ zq*@5GVt6D-AslSq6`X`=hpg@_>!Lz4>4*Sfn-)j#2i_Sh1>+l6hL#W$=NT13v9eSV zAztAiaoR$79IcM4c@q_mveY-+3f-oS^#jdee32isrrfa1h8q2Hk$|EvF80@KkJ+|t zJu_@lD={X2=}GubHBBJ(F5NVNjE;xe6JxSCYuuA@bAI-v6qJ(=SStnzfRfx_n($igVG4TRVB#xtiTH&Cp!Tfo%9n zy1?vSo%7j@n?kDvI%c6nn31dmU0( zSBK03SyF<#rmffo(wQDSm|~83$%64vU zr**cuNEroe`ZBetVBMCd#h6Idh|LPw#Y$M1AoGE#ERdJZaM-=pug^AEr4WHf&15O8 zgBNRm5zMEijzKUxD!gog1tcW^Tf%gS=aDun*QKl=+f}4XXUADwQnW0-1@4-=0`|Y7 z3E6RX@ojXiXhX4vP?mN_8@!TwahtqRyg}a*@=>DO1LD15_n84_`3pam;INdY@hH?1G-19H+N@Ecg(PCVt<+EfI z4fhs{GlcGLjv;ho_q!4M^{$h*Km=B=-J#J}n{dx-xj0fqXAgsRyOYXSo#fc?agq6d zuV<4GX6@1$dQ%q0J7j8-=hBy0oxX@@&s@w)FcsZWbf$YbI>WA3JIN8})t8>-=nJBx zGwrUA=T7Y+|iumb+iy?P^V|_3q@!J$detY3!yS*q(EVd85>OMHPUNe_~ zKa+6f=5X#&o6)zXG=;X>F>}K>&eE%FmWMqvCoPc;vJVbVfvheqxOV;fiLGn4|50^c z!HolXOd?b8p>`IDbfz4y{qO?JiH}W!7SHm`&(&!#B$I7yn2LV!Y>yj*C5QV` z=x-WftJZGr+_1Gadk*qJFi4ZNnXe;V(flA8P7B9$Fts~dNG7r)3E=tb8a&1r4UWtT~*2fmA_Y%XM^o3D;@5hd05Dz-bepq_DNnYlAO>buDse zy}VuEd`$6ZdKwJLPaeib$)GwGu6=2|JWLjgaRS5s9&-cPXGYE}yTgohz1I=6cl4iC}k0_1N5Wl-`Z?sv9GF+aAYBZp-zvS5tlJrpn$; zxqkL)>TRWUk$-N@g)iYx^UeE+VD|Eo@#qNB6A?L&8OBc?=WH^*n43OsxVj)@v0qE6^}B*nGX>KCVi9qP*b% zouWhP%nST+yE=hKy*}WvsfFQ*s$oEwN4Q&uFpq*=NtQY2Bgu$=Y?qxIr+(hB&0ddzeDrfEx%456`c zE24Oc2&Bpi9s~sYQg=ne<06TuD1&kBsPW_n+;(16qJh>MzjT2|vGx@=E$}S*#z)bF z<>mz*$5bx4m8Zz54F*x^K_LRC2bp+&fJOcSlZY^){1xn^UVd3UeaB|r$?}i+u{F#qt1tqjmakvpYi9Z`MZ;Z zg1%x*WA(lf1R@|IPqJd9NN&(-7EQZ`wD8`&d$E=9+RbY=^=lu1+H)rwb((z2XqJEW zmrL=hiR#ZMAdK9TA8NBxI18XvqrSg5HBHbmR=+rZHTV4LqE(5;siQ<*2+x0gq;`d! zdcTm;MV2YperIw2qsl!l)(N+-9km*&xJ~Wve#fhtAK@ikL2>h)6PS82NC2$`OrX~H zcHvyocr?k<#s1k0f&udjE}>KBtB)raW4mHuCg9;`6^{?Im!g&D{Xjdck!-p+q!os< zg?$Qt12%h$rUKpEBck&t)xVNmf(Fa}>b>9rJ}Kj5QkeR{a|38GTG3o0ek!?l@Ykut zRK_}W*JIXQ;Owl5>#MXNI~Pe2$K{$$?dPt?^xUSru@HW9cXo02m*37!pCx}_fSqPs#!0M@NOZOs;-P7s^8e7Ses21{<*nC&OS{0)Ab4&I zKY+J5v91`skn*^$vjPKijlZr_K#F$tdP3^9L;71XmF@&^3-`~0@Sy^^(i5Z=Pqrw3 z1U@j;WABo2eWrGELeZ1n2wqKk+`>80WLreV$3)-4f3`ZTllJs z*s`1)ja+{*NiHtdzl{gsLQiI2B~vOSbBR&v0HX}$|Nmr0cJD8ZmWyEl&9u8llN8hZ zI-M<7I#cOF=MX_@x$7U<5#81?LVA6FA4M#O0g9rH4xyCX%lv;J={B2UIwD87#xN?p z!dC4PYq!fDQmXDax;@6RpR8y9kb2aRn8@ZIPOnFg8iCWNhSS)fez_YiOylMx2o6sl z6?Ff1O4z{bJ0syXr;+CU-dgJN* z!$WgVzou^ArAjkgzF+YwBiWhClq%VwYzj`zF48G_pD~o(r~C%)RmGtp3hkHj4u?j| z`^zHSRz9037m_38-NgzEyOkQTdS|OfBJW+Ac28?vICs_fWXd>s9)knbjy_K23H-hS#Dyn^^K+rlHI zqUFxMZV(CFs`XUq{_|s?;4W`_7dFG3JBUTWeraQwQaMY|+L_j3@BYp$Emv$jB*nW& z{ao6z9&kB?)yPMj#TDfh%S76)jx;L_4#hly;|Iu)BSBWdx{#GUUYxqr9&8xqILwkx zQ6@}~YGDzp=zE=r;9QM=2?6_NPGf!!29#zrMDMSEJv+ItH}X#P_#N`QcK;a09#fvq zE)?~`4Z^O?zhntPYL`Dn`UP%fCtl(ej@x<9??c4)@)^m-uicio5n(Y^kp-bq*BlsD zr`d9cP3DC4n#_Z;uFa2C!96zx8HCBk%M@HdHWH=s*>y7M-<|+}`!btaSuuuR#9iLb zr+e_|ujDST;K`9uS{%4$I4LUw<15;t+@3oqpBTYl`zSJl3&r(rvQ3iu>(yax7EMl*l$keG~}4j6H*TuBa+?mK~@c3*ZT zQdQ3<%au$?QQbKF9XU_xRVPfUsxI|Ax7MWyU@Hl$zz+<62hoP{Zp3FnT0I_3j+aNm)5wy2(PO37g^o2GLI|I)Eu%HyHm#*Kf_n(;;&R#SaeGq z@SfFjT2B~LJtr*+MDj2v5Fn!`!-${WiEk_%n5KUiJ!t8Jk6E$?x={qki8<0}HWCS^ zZWJ7A>P)$RxC`QvJb3c_(H}Y45!~~f<;7O&#NAd0M9Kl8J1=%rCt3HN z^<99b+s%xCVx7Wm3gws?Cq8oq(&vz3vomz{xL&Yi%nKH_2PmmpOviqm7xmP$7U@QO zC~4<0JTGHZk%*A6(UXu7yTxuP%@%veM*X7pAY;gXY5zkISLlN~x7{43O_&tQO?D1v zv{=MFey2&Kml#Feb`+TtWDh?~M=p3NAFQ!b1YxixYA zhv!6pWc0Zg*J__WMuFbAeRtvL)ZpkaVSn-e8WiYJ1v>Zq1}52^fBd6y`#PvICe9cy zKfxSo*gome!Z#)SFUX0-JbR=Ihw zI=Lc?V7Ta5^D1mZiaa@@U%gXo90l4RF%rs+Jm{$Xq-L_MD(V44wa&=x2g7F4_ zRn83O5fT`lE(`OQ%MO;qdozOxxNFUUXK8tNpoKj0J56EIhN3n^b|>_BJIGc|O7OSEL1F=at`T!QhsS7uX@Zbk$CxI)knC2 z@qt^PtO7iX3ew9TQ+T8@GxOYGzq|;h+-;>!A08nlir~EVK-+Yd6}rCu&FjSEg1WC> zH!S2;*@#n&cF2+HgC8Dm>5V^ixDeNfv-G1EdqIJFuo&=oPJ|)|t!r=8n_O0Z0wHx` z<}sGYuh)n?0h&_6Y#)9+H+x^hh9yMx&GFC)5_0*Vo16w>A zUm??p5_QX(GWtJWKmP_#K2sPihX;$5L}i%pYD>~aggh&Id;cTS7m2Ryjhg?`Cl=|6 zM*bt(8}06kM!I_&CFzar87+f@zV;uK0bPy;e_c=O8`Q*}aOnZY zRS0Gt1q=R@9MM`TO}K${wggIFEf{HEO?mc#OnDkYiZ-7z(U^*}5UF%Na{5 zgi#qTCG(I66?RH+`}>LQTmIC)Sq}_sU$ebGv3>)!&|}dZD#Ngwpu>dg+_>d^#n-M} zaaa#*S-*aue|tO<2(-4gYMq^(8v5uMN1s>EJ)$qjhXA07J9D(P9|*LRGnEm@L>~YN zCIuz~ot@k|PGZZzN{+FAU@a|JY|l`6AO~zWi-i!=11O{`sr6b<4nZ0)ZgDkV#cIBqEU#5Cpm5 za;A`8S4@qP8LsFwt5j-tvO=}-1hZ@ZxMur?b@)EbO2z*Zx-5l%!x#?$kVL*b3>|<& zX?y=)x5u%IeAy*Nisg#b=B7*;QreP{9N5L1+@-JDrJK#}(mQtPmCU{hdryGUSLB!` zoNB(9&d?8=lBGQ`CA;)-o%e;Tpb<-Fkfr_o@B6o`56r*3QhRY5)v83O3RqOBZ}qL| z&+XZ??jL)%?#pj~%5RDWFd#X<4m69q$;;GGzjkHXIQ(Pv+@;#R6LKXi$@A`Hivi$Q z&R;V=KX077=~Xbif6MxwzYRtD{!chyOr5BHa=3bR#<&Ut&_tzlE>r3v%Q2iBt?Uk$ zGQ(N88u&wUXo$?`+wb(f^R_5DLZA+2hskQ#Lx%l_6v1YHJhpZ8FMoSy!^!|)sU6lf zPOFB<7uW@AK-XF;^01f%ymtI?b>dK}rWR9wvK5xu z2V#p5QWFpT-|N?Jam#XOA%q_!8YFfMFMqRo^&3%`Y>yU58_7&4sDZATk=;z&!_$n0 zd6w*O$nlYXf0I8k$A0=>={0x_u`ujmc9G^-gDa}v-I{-S8ZQe>f=Bq%6^Y;hMnKBD z6S?t3Ajrpnmi0k0*1$g}&a4Ph<7U_hD#O;pX)YJ(bMm29v2h2~ZS~QgF;y614yNc!wRv|GobCU9C3r z&^S7QISrH$iX$EX&OOx@j-DdDK%6N6lrppvIwn5(phG>J|9kz5Pc_Wr0C9U?UQj|x zrr``B{b;dNe?9w&#ykw3-I#yzg`#Sulq{6NV4Qa&0RKPEW@9;NC;3*&jO6ww^5oU% z2>BX>g+NIvKN01@h!c@g1ThXy8#Hs-hinmv=cbPn5Y@@^=yxHsT*CA=MCk%co+Gxa znLg+5WRu~h46WuTD&;FsdjS{|bV2^GKbg-_q9C2sf4d!rG=oSD`2X~tWh1nxmd72I zF2!|uRLaO$;R{vEnv-+0hf!|FsTIj-6dfrPizE8@ z2OUVAe;Xn)?Y0zwE2sYmSs4gtd;aWS|q&=Qee;nL464LbQ#9tJ%eNar>B2l={sHTh4B4%it) zP96#k8s`vs#0X_GWO_QonnV3x_1FpH_&wKAW8gTfut*H>QPaV6)4^C>uq-3dr4XYB ze=^WO0jJkz#d=l5vrEZBd0y7v6n;`nN z(5|kw;eQ+)9ocsf=)gfZvD$-HMp>Gle-HR!Mc+Zf1u_83-5$~q@^d}u+8=2DK(eFd zf#G)aek57hZRx$T%dl_=U?yw3ist~)CZprsBcB579|gna3kIRPOrqtEFk+6rMJ89| zH#^a!#UdxTg7ZpRcw}V(f5KN8Gy`G-gJFVT3-ZP@!j8^OpE6E9B@5pPiwosKe~Eys z4P~=!s)Tegfo$;5Ub+f}={#fV6N5v-0^WQT4{d{AWH*SnaZ4Slk`N9E?7e0d33!k> zg27T|Z<2+$#I0ZoC)&cqRQ2NN`6q<6|9*v~(G?J3g|hsB1A4>Dlr1{laS6(QM zBX^9qo=6gwI^H9X#PUh&aUBG-f8sd?=qR^ll0^)celsb7>k^c$vNG!Sm^bv3ACL^X zp@(eP^5`IMrj=2lsE*p6ci&ZN(a5?V%cjAs6O?FX^J1Zsvx0i$oFvC8@Y#Yfvvz^> zK``*ZySK`WzBv5XuGzTpy)|q9#Lj-1ucZfxsfUv8g(O8EDQNCWLW(the-6nEE`?Mm zf)Oy>7;105`L{RoZ>AG({_)LCZw}C}Ruvw@MIuNliAW^kj7|+PifKER1qyYo%h7j4 z3VADTxx^dy&I41Y=w47dHXG=k^SEt7H#zGox=C5Nc+^5G(GGFyvxSL6vbYAThjLF~ z=lJsQ!p+(0#fNjVcW_7@f8_tkS=~hruG;Ju#-kUc_&+Dkz$j32F^&ofTK|x4>y(&x zvrjSaJ|PbTeWH>RmmJNWk;WOeNyA9A6%AYF3>)tDi42+Ru{Ug;JgEaGQA!eC1~L!} zFEegxq354Jn16U{Zh989miJDG(_^HVBN7tTxVG3#a$8y$_u|S8f9#;w@#Q~oy>hJg zcg3M0LWJT$)PobWz(MNZg@gdEvm5H5^9OS?C&)^XJIF|Koh~xz(?3hv&Us3g(KpBv1Bx1Kog&QS zcLkE@Ioqe~6ajS$x^S+BAScz9t zJ`fjiHYSA*8TDGo?9(O3d&Bwsb|-HrV-*zR44a5aUIHT^Z~LD}PbAW7v;XOi#QI*_ z|18HNf7$=|FwqH&l(J*M3X=sRLN%m{c_L92_o3)=cyeLlGC7i%FLKQ8IQCw#vOY;j z5O=uNYG;2W^|rqc#s!z|&CSdhPaiWw)x(duw>FU?G^)?D*ixz;PM+Uj)hFQ$5H-Q3 zn*Kqng0DnnIPPiZbAT2fm&6w|6bEKSjQ7lEf7}~@G>l_`Os;$|B5KLRNsMbI#xEO& z5~?&ZI+)9*JP>>4GXd1h-l}%X11bsIxoFKSPlpr7hAPE9%r@JG2{cgpXm2^yl^La| zkSfTiAblonjEt6dC+IiPZTf2a`=F6P4J6dU=dczBa!;;6iWcZu~xjV~5Zg?SOm$vLKvtR5k z7?hi-aCv_@yeCsCWO8A`45o{DLJEp-{VB6#ouc)@N*-qwbvEFHd-vkP=fH0Ae;$cg zC4G4b8Lot^I{6uk6GkE8f^Lh3Bki(>XuW(P=HeEw9P5?)jp057!7L>0^$-_-Evv$| zifQ<@>W{Xyi+6G84MP?#;Sq83RVUBm1szgq)P6{GP}}9ObJxjfVoXoZKX|!t;em9f zum#Q!5hCsIxE?f5W$h|NUBd>Hf9ChLqr=%PKsG~_s5ma~AZc4zF1G$o7W9WyJ#*mg zj`3hfmB_`Oal+xcK)CEgGM9l^l=TsfC`Q$uo4bK3iwXPZwJHDq;>W`OgC|rrm1(vJ z08D;gPmde_A6ePgZRh`cdtdYa%ks3S*nT)FQzbOq5Ae0YFC|;Vi{gl#e>J0p%J@%$ zuwcp5erk;)zmPATY~Clj7Q(+nq7~={p-@trXdOgeLkyMB_V*L-ZP{)-n5-VZjrSEH zdao^+Wiap~!dH4vHkZ>nxA$+`Wa>|xW!o*xQ=kQEB}qlmTkB_=Er^}6mZud2P zg~tEKWHTx8t^&h}y&$x+e|~ALrU=mKgs$7EJPNyvPH8_94*>+9|9?lt|8qv$s5 zWJwh~4KiHZc;Jw!zP{W1Pe+Ps4>^|D>gX~rV z|4tXm{4dNkbx^)$B-Nq^^~Lm@i1%<$jPH-0GH#zD{l~ne{<>YrRKUf6NJo{?oZO{V z!RXGNtI8wERA$u&ANc4T3s^|oh6{pQ-=b40(g1F-Z?cZqX&=3mxKs-d`p7=B?)HCsaTRhQ1?Urp}adgRMBFbn9zUy#U&mpVpI@~CieJG-J*nZjRYd1 zH@QH?q3c1Z!z^eqXh3qAN`~-T`vP1Y(qJZ&=Jy$tvBhQXe+oqh;W{hDJVgdmg^3O< z$tWS3BvnAsW?DdD+d>`uhP2R|{_Owp|MjQD4{=syx)F_D}u@@NVyyc+|}uY!0J13T8P?H?GhMne}({nE4_ z9z6fkgehLC)4!hl7wzloi`mZqXm9Lw{D)QJ;ik1v)O<&m&{+W&e~@&TKuZ_%$!x*=%AixH8nZF_(=3FQ6ty9*C9BE*w0um^ zYgR23vA)fYjP+p^`ltDEBv~%+EtbgGg8WbOV|FA_CPM?H?9B|C?@?mMvFEde(MqOl z|40r@GO%Qhz_q@xV^At+eIa!N-V7yaH@Lu< z`uwMxaI-l8)9~xpjWeg<;;39P?a9#WOLG8i!e|3AnmnNiPV1LqHNbei(hw<=8?ZzQ+vYx$NJ9ZMULF;yfuWHgH z|C4q_df#|gFzpgrr!8FgY2otOHsjQ}x#y==8IwmAKEM92XIBJvTiQ#d}rj zE^ywN%3r0Rd-e|ydNYc_RUDs&$)}#42r~_~e2qsV4I=y5e~dBtSUJK+Q`HNPM$0BDH_TxOSG%&~DLh zZIN%0Hk>;`>bA59zKxNadbvF4MyEB+s|G0M=yX)-{1;Nh_*rx5Ban`a$kf9MXh0)SJqygOOSAQ+H^ zUG0lvQjk}=)~i!z=3ZRE74MAd+R9?NTKmA2&|_NYf5X<0Eus#_aHVlM1sMAMjqr!9 zVa-{}3EqPFB}_9@D2WK8bq2UMMJQamj8!hf*E{`a^wx8ajQbbt(OVZ4u{9g_SeCXZ zt%UAIOmiL;823zAvcuC8!GQMpoYqt>^e z>9*b3fB3onaNGVg6Ih+S@3A4#ON~3FI1@iQXel>t+OYM{J#|XQET#MEl-8TO(i=$T zjLTAQ+nZA~~5bC)t>4IOGs z+$LLjG?fKILyfABOj)gql`zKwWQo0G$1xBqfA%IZ7}t$MR|#uGIe+;r_3t-F@+yp@ z*hR5CW*bH3x&CgdJv%@D;xiU87(;ux6z*=%37!M1^2T^1J;M8_FQ4SFMJh*N%__9=0Cj*$xB{b zoB#RzmXS>1FQtlc;=Oc+OJT$3v+X3AlVZW`7T zNzG*PP%bgY#AK3?^-91YoOBD}L@$R!L>AF)qKWpd9%L9@gl+@g7?T&~Z{EYNf2a*& zMUiEpe{R@{5q#^P(Mz=6e?`RWcJh*G{xre-!8<+-bCN9y!)$=e`5;UlRlAvc z&x4i2o%gEjn=vz`NIBCCrG*F+)*T`u-1=h;a9Hie~#p}Aj5@LM?t}f2?e&Te_;EXZQB!@w`||Awtw-rK+$%M z%*x#K%%%;0<+m)PgP^Lch$|;(5PF>;g%a!f2iDeCr6AC4#nDQpKG}{^%W3#<}&7b-=Y^A-bGt=*wN^@Fs&ALDPspi3&Iqf>@ z>_E?(%_Y&Rk@B%-f5`uSBj*d73A0pOgUl7KsRAW_Gip+8h(Ak~12vmrKTAMT9M#RB z5}cTtYsyhrMON8r80g=g*zzZu&H`&I1zlzOxr{nx9FqPm+xinbHV^FB3hTdL?Wb-_ z>9z>9h`Y{AV2^H2AS!k~+aLOxk>7X`2(JU*UBR}b`Q(`te_~-c;@XzY4WySvWs67) z&*L03BoG8atjixitzv*r$zr4S^&w2f;_Q~s+>wr^5oG~N z{3wL<}WZNNf`*`RDQ=S*V!YJ|)sOE`@yUnkA=BJ-MB zG-NjP^e#UMm*mT)67W9)+_`5Ljg#k>nSQ&s{F;38=eI|`8(F9DNP3dRkZz@#MSfnH zaMx|&w@$Xr8T;$#$bid`-65f3x&tyP<^&kBbW0QpAgJ%k`It za{K7wZ=H5a)AsL8yjLzG$L*mdLk;m?)@D-hl?Vak z6JovZ5c2oRPu0_R*mdrOLzu7%thMbXAZiHJ$@46He2LLg(s@i}i&1?11BiGUcs4L6 zN{fMCe~_A%+@*Z;b|J2d$#sqh2QF`Gv!Zh^!{f245m;R;!t)CIx`9@_C}Km1b|J@B z^NI}D$Xh&4SSYYM2U#7g(!ux}GwWAsPb!}l@v}&$JVI%azH0UmTB^sfu3(U!HQbgK z)6pI$!yoS{^W;6;24*4Cf19@?2Ku-CS#@>23?p=5e!N*KFBYX< zqyD)q2ZQ2uZoh5azC+19;KBlliz=CtTcvjt4p(H&CeveXHEdKuiHSPbQ4WJyYhM@P zobTJh!D4Q}?umU^1Xwr|R&D!+t-fmYS!(tFbt2{64 zEQRllrDN+hQ2CZdWHMVtUW~qcH4_2b9$&P1z)rI}oO6)ObzKf)QjeNmW=Z7(wDx#f z_pz#ct9yhy7iXY4kiKfC3d4x(CW?GOu zqWe|EMTaJc1qHZpWBy@Xl~A3f-at3p^*UC6fByLK`{z${xO>z5g)MQ2V)P1&)QL^O z1JddC!2^2oEb0Y|uw){1*al@t!&O=sV8cHi|-MC@9FWXNjy|#Z_J;-kF$y)7SySK&Wu zB~;(mKhR&VUQ;b4wPkWaZic-Z-uPH{o!{Nna9ei$B+ZR!Hmy=o)>Tg~s&;+dWSw!j z>Ll%~0GoNr2H5nG3SFe@g@H{LSEwMZa~0QxmRZH^$oe6(lBS1jQy%&?e_buuaG=l* z+HfF3yin|O&&$?>tsT3xR(oidS09?0%*@&kwGeCqZeTK00A2y3uKbb*$i_qocx?0L z&>{IZpKXejxQhJA41k6DxgPWlH>9L}qTR)izC~63H>G@ho(SFRqW|mA-tMCRt4IEL zO}^jwZ^dr=l~X=}gI|>HfAL;4LiHM$gIC1lZ;j%0FB!vUkw7do&sEZBxG6QiXSTd3 zhHr7zf9rHlFX`%C&u1&H$70=Gz3{&d2!0w_)g2@MSyh++;{f>PjDlVy$@rtCQWMNYTdHrTw=3dqlr(#D=9 zT?%;k43hZ=zrcgsbI@fG*yN57Phkzw43fDl{F5r?;b-UHM>D1U9hxYYgJ%IGf8)iG zOu+#_-3hS@MJEKsk)g}9#|h|_#GOTR4U66a9+$ODAC=hhC;wiU^_(!b_5Yt88@8#f z4jNNWdtRw4XTYNn$E-&YjzdckIVUG3^rYFKX)VaI*>v8f5&GmGfqpCuRH}d4igZn| zBym&zT^@}8GPIXnOf5+i81MKmf4$Mj%7{JxTW?SFb^Mp*cor4^W&K|g>o;uN-oLGG z6c~F+hy~NCRewITaCB<^<bmMN31aW zWie9cpbKzKO9KjU$mSbMg-UTWwOf$T^fVK72SgCLqShv{ex(-JMreip7>dTyLKMdZ-=msjR* zoq$TLmly@V&q>-cF7!NMbJw3KCF;%^I8ZFebBV#=TmDLA7lhzg{J~qxw zj^&bt+Wlk3?NiljA7h~M+UbYJtxw!w_erqlUS6x6yMzh?D{N}7e=;|FM=mipJv0B{ z<-&yrwJQ&*H;zKOT+f!|_uj$EmnVRVwXCU+Ya7X?i$faC!M&D9Hto7;Dm|1fW%d%j zjt900Wk)IyG_V|URot0@}{lRj$avuuDubry#lbhl(UFT2cX?2qPp7yEiEm~ zC`+8dqz!T~nZqJQTEvmOnf_G7OGLLwvgm;p<7u%lahVWLe>3B~apZ9I#SKF0$Yk8)zotaS8qoMieX39-%8?y`IMkhEj$@r?W3rQv z!caZ(!H{p^YwQzXuS3_C%=W1L1x*BYR*Sb{ z(5UTFLWak*e@*-GUiDK*lu^BZ8v)EcyKFpsHh=Ud6~kl zc;upL&t{BApV7q!xV(0uI(fc&^&4cG_!8s!N={+`e`xeQW~1{Qmpggrb?8VEDI$>3 zSX7W!qsOgcUqjA`jLR;e%7p?JB8&Mdu1BcpMkM^U7M1>F79IFH($&{Pe?%i%wC|lR zBB|ofJ}tU3))no;UokEE4*YtXe~iU?7?d7R)$zYoC$KebOt-oGk!vzu9$vUPOHS|F zf6r8Je>{VXc90G1Bt|YLOcdHV8dDF+l;AEwHjbR&gufy)OJ>eEey@5Qf}LZeb4Z2u z^6>nld)33I>u*lo^#iUc!S%V86O65lf7d-B;+ESkw(78*uB|ufEa`d&RmtqDxY1kq z<{l_n3{81;0tL|`EhoNQM{C_}I1FV$YWvTr zo?Hub$MWw`Jxgkd@WH9{=!m>laGhZAQ29F6*Q&&c@-Vda$c(*y&4!IG0sr{Zh@G{f ze^XUqoDzPj^zc9?7{$a-m0l_KN%g|r+ObJLwSEJN z4Exgaj8J0Lz1kRMmm4{?wiX_;*zEn0SYWB5y^}7zb5KWr7gc`wXdg7)w<4hqe;*6O zBm{G`P%%vsBx1-@T7)`6rbFiXafN*Xn_?3lbIkMh-M6!*kU(a_xJ~xf!|KUH$adoL zkM_<@f5Qn3WiSs<8b_yyj6o!{xtS}Alg3Ov*y1Uf{J8R!MD|C(mp?_=#?+Htg?~Mp ztUjEoes|ND`i8L9Eb})R4<9Nie?>-11W@C|OY)wSa(d7Tdt0BH1!59#|{(q9dZz8@&VuZXVHG&76L24SZIrnfEkMyQz>Qe{HLcp?Y?IgA94E>wr#$ zI9@WDzr*~`*mx+|F0$&O4~S*CTljEn#ZB*MsTa2c(p+wsJhmF#FInGs-Y~raJK6~6 z=ac>P6HiLTS2`pMq>VhNRHK*riWA;uw8<=gE#^<+NC#hqe{^OnTNo;ecNAJ?4ATO$ ztkAntBXUw`T?>*DnyyF&-Hyh0mZ#yw(JJg^`G(>^gTLM3j zhMVefHU)5`wkX(8_3AgZ>vs_4$cc_4VN0gd&>ahUJ(LzE8&f@Y!Z>~pR|^4vE2Mhi z@!afTR08u|f3R=gD(nBTH3Y}<^IOKVDc#nB<)TXBYD6mzqeicbFONuxI4LfBddb2M zYQJ~sO8p&cbFIDnEtytC&)n?n-1Bn+L*9p2W6sKybt1314GJ!z4O>}h{3%+tyfx08 zs@;90q#5S4h^6i}6N;dc-5tSL2P}TeR#DDNqx0y*e}Kze!sC#a{Y=}18?~8ljOXXP zC&~LV*U13GQ#Z3W;ech$pqMpPEbm2S{iYS;j#p0hSW>(pM1IgG`~S|lhc%t+lbu6g zg0gef2ki%X$8B%hgKqAiX5T&CDa_>X*ok&;Ge}i;i~SAs))EiU(v?@@2`r)?bA>qB z*yV_We_ybK_=arh6p?(h$u_C{Nb29bPHa**mE15%MoSJI)k$YRMC)W+U*tq%`#$HI z75)uPoKHq?Q8qzRV}kNYd_;ES)z}D`dk`V$xbbAPD-w=zU4TXinW_Z;Z1NV0n+bhx z`V=-onEE~>fXIfzb;s8q6Ra#;ov42QF~JIIe=!7|v|H!kSlk$v4O=*sz`plI3yktlGFjL)2#Z1xWeXbiU`dn6?thK#t8G~6}Qo2fNQAust?&1SN2wYoMdrOP9D?+f@`5EVsl&)1uZUml&^GAYf zEYn_>ihIl6p0_q?zc)n=1qCS{@d;766g=R1u}5$^c^gp`oJUTW>rp~92LkuVB4Uwe}vy& zSzpFO3$veLv=*~E+n)C7aZMM6)g;Dp-nl;6X_vfBukV>ar(+%vkrN3#^#Q)ia_&-6FZ@G%4M)AFBhZyACK* zmpjEH0n`I2vd{G8Wv5LmJ#(omQqM&5)#<|!6ye-YbJO1-A*xgN*X@XDI|~(4Z`TG$ z=Eat}n(egoZ;l2|^L!1uo(FEM-7jHk$ZT8ON_RU;O9s2P!Zz!7f2N&rD{Tw-x=QnP zedtn5&DpD%Zah@**nRQ?ZUMImX`b2kFCDk?_0yaO!4k;}B|cemzWo@TK|9fNj{ zlGUufXi?LdhM(ZvXY+XN?!|@Aoe5RU$}z3>;AZX25h2xZP#8$frPs;`{#uB~?gwS# z0qapC8tk?-*ex}9{NvikPt`nysNLh%-P-;0wR3lBv!6Nue~c?e-D_S5SWp+qFMNBk zHggweO_!D#Vf(XXzJO`S#HeJ>PJzB7EGID%9Ea#w6HQwKm}7aAto7kh+O0VEM>Tup z?T?G>uJcA7{7mm(Sgz!X-eFW-7}rHLd7HbZKZ?d8&9dK+NEo&m^-|1{ zitxhP3!03e+o#;ngthEk$2@Q*MgJ-vv=g4 z?<5rC10}_fNJS_b!qe%1WA94GnBult$~0n@)8w;nndmURs)uuvW~*|WlX18GpRy#8;qSyM_@$rze3(Lu6$TLE%#Z*p<{3ds} zqA}k^bHwI=$$+duv)q{t)dF%`L~3VL-h6_r2r0XmJP)bSiq@HiY3LkchI-4!_K2y$ zT-7uG@V+s12Z%DIK)}3Qziym4_0Nez)gP~jzc*|}buYw!nK*15empmO-Z=S`@VxRO z1S72@hm8kn?%r#KAQU8bfGNV)R44}3yb|Rhtp)2Q$4pRefzE*wOP67K0TX{fy;QVn z+$2NhK$nmX^_g_YIQ(Sp`4?V-q@7>6{V894v&PhULQlzY4rXSO2*phIDSJUqeRB3! zul!U!bxST&z3>=W3&IeX@s1x|n}2u?trPGL!;>~rWXZ&__1}>=>Q+KzAGF?TBaj~A zSaT>Ou2Cn66g^`!vek=5(i(rsTrRG6YQX~*$~)e{UI+pq-iW5hUC5=rVQc5w4ePdP z1KZYi^1s=?eX`il*(p06pEcJqnjcFyo>@;8jWiIwr11D0V?KE z?xSmeGM{s)+3a&dT>p8pWy?z0;D$!cV0l>4ieWi-oN?+$a^^8Z(<^_|;t*P8$;d-YX1`J+Q_TQ`I3k_~@JeY_450z(cYEwrm( ziMQZFe3~uv0T)C$bgHDhv~cvK@$%d1sVAr=_odBe8XIthJoa?q=oF@jMy3h9Hfzt$ z&%gLg3N59HbuTUZ`YayPo*AE?q)Id6@b|T|_hh~gVIg`9$n zWh5NlbBM4`Z(@I-Tb<{7~|fypwAQ#TiGzFgv~8^Vkl zx4yK^lgmX7+WXZn+O45Q0Lz6#%>)*4gCpO%Aa{*dG?@NH3g^x?ZDMf$NV4n<=>FTf zix8|tTwk|k)0z#NI|p{GU%%n68vFI9{=fZY%eHlziWh%eH?X}EQjgP@^pE%Zw`|x7 z{~g${yZuJEOlWC*D#aRGM>wX~H)yc%FPD{`HW%3uXEKxg)Tgy0n zZ{d@Bj<$b2?sM!HIe4SMdB|Pm6+1s{{lF&!>3;dqthv-}o4S6mHm5v)^*fQc3lK#J z>Z2npCZZ&(&rRQln*d5#P_0y*JilQpYJcaZXKGh|nt%BvBA6U=3m1Q=-oJ&4eq-t+ zi1UstZFRc_ag%R8n0t9`Zu&%ZdYah<({n@gWp01^w3%a$bkg=2B!e?>AqaPRlb0|( zR_*NdI%&tmV!~?|nV{Ca4OFcl>nz!`Dkyi6y^1Y$gCqAjzYwt2bFPp^WVmLEfs!&F z@BQrBc*<)C`+()uhVe{ZqIt9g$9!Id5BlfC85kiP{8xDtDM0xr^~9uj79kv+RK1MC*GH-Zz>CPIePW*#ErF*kjdyo5{t zlZTBn-`0*jtv)zT-q*hSn&2C^Yaz3jttWpFAOcIYm|~`CRdkz7N6^|jnGRSPRPpZ4 zyavtXpGXxD)ogOKlp}m% zB~uzpny0CQLMjJU{rSYg#C73kPB_^4=Rox_zAc^%Ak~(MSi5)c-mYO#E@o3*sbYUV zJe(^Xys-OG_4sH~4b z$59{8Eo&(svT-BVZ$9Gq{wlSYzNtwcqb74NA5_mig~Z17G@FfZl+9HCxg3#d4Pf>9 zo!ZqC{z?laps&(?G;@t`dP{$#oRgSGy-fA`8adWGE17ad8%pMK;L4}vipg~6AXD(W zR3|)doP{LBV@yL81^ZDwcX;9Q)%oY&)$Yz}^FLjmfBxLKc69#cO)ET!LdAu@3=KY3LhtyE09$idnmQ?px7wb*b^GWPTgQ`9{&`>KmZ0BZ9yY2dr z=FJQ*vpR+G#!7t(O6G#;#GSBA$`ouH@}NJP5}DBn!J5B$vIER`PadwG_>TOaG4-T_ zE@h@}IdTaiC|sQ|j-7w%n0s-891;9V%kwB9A~tS_T{;k&U3v%eE?T9T5lN#RG<6wy z73=Ql?O-BFxtQ8hCcj40Bdh2sN`!Ow2CG+oA}kr{X7$H&pyHnTcz)s&DMO6LCWK3UXe6dZC)0pIsBmK6t6*}Y<2`wNdOk=(LjW|i|KP%W5jU9;rS&W?`p z4?a=8>}=LU<#J)oYWJ;VQY;&gNl z5mATPYvgE>BVIpUOqILxnMyJ>I+)qlMTQ+78ZD$M*NN;4)l7-I9zGQxcbQ52XmXa_#^lP9MJqys? z8K{5ft#6sq?W!d@6v52@Ok9oyONtsvHr9m>*;iaDM*M7`H<(2uHC%KYDiHuFj z)RqA?z=2F^w3J!@*G55Z%oaxX5o!sMXQm$7p^jzq3Q%qHPsn6^&q8lvNF9i7^P+!t zdj!Noqv^O@Jtp6P zIaXj_K35#p(uJ~CsElZ-OsSF`%97I{qheyDwOsJ(&iWD0-jks^^Z%UZTDSR5^+%UW@?!u}FVUnBIC^bs!U zvZ+j21rQ<{QQzK=%EbZ;8gTXn*-Ly81pjMb%VyZGtak0n1LOHQu#Tqg!C$WX_-mtEJ+kkrjP*DUTfHF~3ax;u; zjL?;YAlkBa%eMZ+_P=fIkF#$9D)dP2DFYUO^ax_X){7t7s?DE%VoaSURHb%o5)J$1 z3vQl23lpw$u!%}0KavO@5KVuNtMjjzl4VzFXxPPL+zK?Efy_QUD_c|>QA3v7PMF&h z_%XX#d{nlFcgTs>)`2gLH)phx;x8Vur0{hp!yUuN_Jhv8H5VE1unBhb!j!u0y>s@; zZU8`qRa-!RO0^yF`$Z7ev)8MWXBgo{`v+7+Rj1C(y|^+zaTxeG>Ck`oh~tl@073^s z#amq73_h*KTXv4zq112*@83=1>9hE%k-We=9)I?3D)3>#cZ;pBNdI~NLiHi2j+Xbv z#-sP}IMec)i_=_>uqjw_t$Jk>qopjC=hTlpa`1$(?O;v>#TFoEv`)(pXA0(SsIM(j zWyOuc4e0#Kiy|HG!WVxps;BP&{;z&#TzzDVwj^tCz0_lkX>McfFdW#;j+|$HNPxpn z$Uy_@%&sa?jJ&PntT?_llpD6CxO{|Ztj)Yc_$tdYAKiwrV``uvMZ@BUoNU)*v8OMO zlW!p^_WE9leH-7_6lUF6F!m@VNriccqXRe!Q20K1XuSBe4K07s@CRyW(^+T!G`{15 zkoex~-bHo3ssQ4oNE%qFmTqotU41Mn!Ks#*zgU^@xL)?C=>#Hk;p`<$?p8ha0tC0o zN9+QOBAL?(--+HRQe48<)Q{++WNqYpw~Jw}6nS}FSsQpv9#X~4cxK35Oi&-!S!?3j zYA`&I?Yr$B&Lw{r`=cXx9jBS3-jvyq!+=YjV-wY@$2{Ui+9GOW0N{pi^GbQGvovH` zDrRRu>5bH`Jeo>n%C51bmnF_@v*kZKn?XgaCTjt_<^L%8U(6=|cdzX3doBMj$J3bn zFQod!+KptVD8zqT36TC>VuC^J8qzd`1%n$SkdH7r!{vWZ#d5T$K`rbqXiWnxOCi8B zc3g3|=*^Ye;W#0TJSsUAR*6|+I1dEd`CTepe4TtSYVn1&ptW=qjlldr+C|iyVQ947<_AlVHCc+{S#Ye zA^VkNh~6eU083IewNz?pg@gddevtXhKnvTAq40l)vPt8ra7XyVoypFBd=SP`}&onSQhPU2-gt-gjt0@{exXAb!}PfuSgX0KQ85 zef`ekcCn!Zt(_*1%*}j@ijxK~Vyb`yR-~<_;6$MW9w02fWm_;BkLzRk4A^!3fsk}< z75oRn!v>@6xY+%4;9YflVe%b~hy%)5(0B0fgpPNAsp^sU-Q@qHFQ@ zkT36lZP*N7&|FB_MRw=&2N1L(CJk~JOjrzI=jwaJ&h@S%3Z!l37X* zGyAd?T=9$^JEmPsjOwFxpbnM;ku9TNj*vfpH+!}=dj#@dUB82>AIpT0EjS(sIA{Xl z%H_j{W!s1yWcJKj=)`_vLgwwG@&{6nAtMrY59i);cK%)`{N;a z(+O`n@eK|Dc2VOKLNP^Na~$m;{B!3TGS12>ZKoa_P3j-eFFXqpFDD$k+3%peoAffzanZ3~wVdKF2QN~)_7;=^xLRB3=*O-t_8J!UKIp+Z}$nRo*j!aV_ zMP5cDkq&8=JG9X{ebWd?g+CTilke=v3r zdb(q;^?%FqELQ(FuwnE2?``?3rv{LfX-o&m7T{|w;A<`5Z%zvcrl!AjEg-j{T{=Y| zcOmg&$iNhrF=SxgCl-HMC!7j@azyT6gc&eIFmQkpUrkWUpjF#ND(%w$4K-`KDBHM8 zf302nZD`kanSfm;P13L#w@)#Hcp6|!DAq#3a(KKWJpRFWSViwtThM=9D;0o_P}?MC z$73NNul%7Q~@TV9Qg?H)JkGphL@jBFq4ac9Je<_uJc==3eIO9|l zQ9{|dR!!cUpw7coji_6je|)%l;W37vN4?j=(UTY@1&_G_WCJ_Pg#4a+R6X^;nEAq( zo(7zpJnTa^2!rv^4brhX%FAC>8a0_%{H7F#%~k$+>mggc(B`E#Tow%-JHWYeg#~29 zUx^H`_q%lVbC(Wb{(|CvSBEaDbJY!2XTNxL_LEf?zdH2BRHMEWR}yp6!sE~BpvD0W z68zgCUP45D@-|mYC3EC;3vgASKZKGo@`A!(>t%`BE@kq?O2&K-3QgWTd&RqCQSB07 zsN6Mc5^gq;1f3iOFq)J;jif;x$=3}1en70C@!dG~pfu-PUnk9fBVvOdg9{Uv3DqI| z2;oFH1LCQj-#B*ApZr@mOiG#e!9aubx+lM$Ms2X)lwrgf&= zGe0n7`_kh|)zo+#&&y>h*?fi^b5NvPL=PCpH6{<6_OzwN(MR$sOGp_waFTaHxeCA_ z+jhKzbLwgx=mD{R^0*pP?=aUL89Hb|=_{@W)tMsHDq5J;Kj_f-PNwT|g-%A~su@-A zJI%M%TZ#w8#clm-)@|zV%BPp44eI3A)8pp<7m0R9ZTi1x&&tSa{oist=u>XozgRu{ z0{w!GGoOmsYPEAG7p~m`+j;sa5Ma3yu^=_eWzI}zAj=GY;UtXv7v>-SRK0lmmmb*b z$Jc}VzcgAX5QduuvK(!?6L7u#-`CS^xBu{+d-(M zy4v}dXXbBzo+RSm!nv1(>o1O`cFO`9h!P2ug@CWnSTq@9_VN77>nLDBlz4-!V5x?K1yuzSbolJO-yN*akeL_ST!_cCAyBK!AQEo!k#)Xy?M(+hnOm=zCxa z$v5g*5MjI^lnqh#5B{Rx*Xd?Mw3W_Lu&Mda-~o6YIZhh=Yi%mFs`p-QLE6+B|<~T$wRWp2x^C?V>qQ5~Q=`J=P{;a+9Knk7h+#A5B9S zF}hP?teCTQpxZuXsi4o%OEo+@!<+0en=}JQ(WYpU%hUJfPo06BpAf|8v~dE|?U2t> zf)LRbCMJxdGYCgt{C%;{-PdCC25yPcqnGSOiU9KW>eYXNmY8_SCx?CLwv;x}#Xk4I zXL{%n@(&w;yIz3%;TLceq`W<;+ks{O0?vF+B+@^vpvuT3SQxv3TpKx^@su z(6TcR%oeWeY(f9a7OL%&s3V>3hH2xe)3uxD$Tk%55@f1K2&VCD%Iu9q1?jyfESR@s zRA4o>znL>EhrMv=%$jYRux0ppbGAD5Iav?@q&k0jzIJyOIOUt)k)QHLj@?sFp_>?$Qd(;SaJ1QO1 z$nLeX>rxgJ#=Q7p+@O@gDD+{tjdcAW>G?s@@%Fax!C-sHC8U&{W2C)WVvaE&3yDj- zy6n`JPBvLn>~2_Cw#^^?(RlP3WET4R(88@xYv(T2X1p0*~_Wbz8_l;x+VOu14lC5JQMkPikV*+jXJ94YTER@yZy1IDs>@3q*+u3t0EXQ6p9B z)zDr57r9kFl*>7etCq!uWyG4k8L*a?R*i+&q@BV(*-kR@L~+hr_?p9CxE}CeX%Q?g zn>kC7ZmG!s7w)3hyK*sM9YH>#c>~bJN+zGCJhKH>4}&Gi>6Y)k(szk-HVc2S1WSOlREpx*=w^JJ-+x)`ol_D3FEo90Rg)D!%e~{L2(wT6YmVKeL`3!|K!mg zs>2a^g|$lBsNOg#t$v6RMcU@ULMa8pv(YBXu@Mmo&LyY`<}Khnfk#jicK*n5OwlNySycSjfgSIy-Lm=5{oA(pZ*va;E0+Qv5T*vD3FdOy!X93e|0ZQv5j0ho3rTMP zRO^7WVA1v;&EMvqe^)(qDMPqb1FGsAIv5KlYASUZ1X3dC7;`tyZL zw^=$*A}dZ_;z2y=zdb8gcSrKV2F=uCIAV6nU}LO@^}ur5G&it4_F$t7)y|Nk&bqyp zx{ zSdIBGn5F330CL!}_YaSj-}2FDeuNs*Ca{Kg;8Czfg+3;Raut6z$-F?fwLpgYsmld= ztOZze)-t`;GNvES>eVfxP#?!cg3zwSXp(>DJhg}>CoMrhfAT4zt^%-` z;)&{YjEB#F%fEl{c>WgTmNvehnm-Hqf}Po=ZQwCSt^mvO!tr3Jk<~pb^Mn#`(m(aY zm^`v@`K(JXV|k{mrD&eNd2jy33sdI{=|^ZHUNEwjBCcX1Z%K_*ue_X_{mK`5G{Qt_ zoH9o9#^en$*&Grdm9v&{<;(f!Uuzl)XN)*LeXL5bsqBA*n!57#C~0MLExZTBVvB1b z(&>@&M?IOp??H@d7`L7;x+e_7Br!Z3yY$3X%UT>jaatpDE7F$THG@o0D zuf+zokZpfy)ZId?3D`pHPumv4a=44+=+`nI8Q}51k)cU~LqxBdqrn5z#hV%~707{E zDDGVhEPnARODQ9c_~Pg^U4K>KM#e?T5+6#D#JlrB(o63h>i@}?>wwn92e9N&$j z^A8>w6VFiLhmsh`0YbtIA_rxzUGYgXXWXA`=n`(*x%X8;lO#q^-WEz3NwqV&4}RFw z_~z)=TXeQ~9s9#KM01PCQo3`Kbo<;SJmfq%Fy^LDkPR|7^ZERtvv7xd^ytEsBXE`T z-FJU;)5ogkp9-8nM#IB|{C{CQAV=iA>cm}G>PNo;yVCR57Y?8FIIF}V^Xc{ZN4HqB z&#z(%j_QRQwY!ImJI87#AJjkfr2TE2IbHkq;j8cOChujR)B2m*&ay7Zv7x1pn!G}n zcvG8#8=8ywU-!aH0F?bynw2$3;3PZs5Tk!UNZgKMF=|nk!vRx}?O4;cFne+S!R>Zu z$(RO-K+ynUjq`K21c)kNcC3-pU#Ju>{+S!); zED(v9f25MUvP;r1!5D7->qE%sBbRA>ezJD#Y4ySJ+IL?Qo)WC$Xum6&eV{C0%29v# z#h8Do1MI!Uw#*dch22JrWm9x>g(qLpCO~j>H2of%bM1oq|4On<*tC3lNz%X7wg2vR z=>KEgy|4BE%kucJ|Hf>FXE(ac2zJah||jw$Y^=DnI!bPUbt)ir-Rz%H^i;|8ruWwNLiiE1i@3D^3C>ntl)_VvTeDynW z>PUmrU=wg?E$BHkmMCO^OU{2l@JfpDUBTc15w&tWF=k<#q)Ix3gR;Ge!wXPJkICUr z&6TC;i1~j`oN@O3pA(-!UfKJ%I>BO=+n(Y;upAA`K=0tRh;ZXq?HuR=S^Z?vco+%u zjmE-`FpESszx;Uq1G^c)JCTOEPQg7mNf;_H-J@~4tT8gEy<>|bya|7Fk^T{Ak%uSW z!!*zj3~|wEjk1L;GuYhfn>cH4a@RD8L2ou>guR{!{Dx-LH((C$L9^LH)-*_ik&!1LThc zaNOeu$pxaykVB1{!9XEd# z_sYAb{t^)QLLrr`h508x&c8fr+3&%aeaDNf!JvryTIbFWMsc^34pIl6AO<<}*z1ex zHohmtf-&=)vaWw*$EFEdSFJt36!e^j$7f|F^#o#ElV-CS9T$oU-Lme@a7PDHg+!k0 zsKnSfg3WpTIu|9PZ?7a<=wHZ>loF(Kz4W7)_0QuTQmZExhnafc!N!Yac2QL;Trm7cD zql3-D#UE;izBO)L3b-F>0)|VOO>>R5fINeTmxa<6!c5&K+ExbeX5Vued%(0=Wc`*Igvt!0ne zo-qd9>w%bDA`R(@d@-FJ+Rtj^kAxl^Dwgueif(^N!RQQEsBA&Z6oOk1^)m- zG82fRC=i(vHj3GtQwCLjvXFMa%4dWogr+x)ja1)e+4ZTL;C< zGB$sW*F7z*io+}@`lA`oCXBl$s>klm-#ke<0$^W)GPYn6>2ETxaXi;x4~tiLI=c!Z zcpOsrL0(6foaSHz^d}Xtere^~ui#<&-_dL$m)u_*tt^EG*gO7DG`ccskN*{0`C9+G zJWs1e<~}UuKG3Rd&y)z8NA~584H~}Jc4vQbBM`o`Roja8on;Ny4IvhTxr~N%vOcCIY7!nY*NCVYxI&&+nY^Sc5B5U`U+~35^c%!M+E;+v$8u|hRdKqvYq#4 z3CV#oIuFqa2^X=S95~6saE8{+6e`&gg6LqjCkP;8COxN7uFLJDi9)fGS*2|!9~pme zLdSs3DOAd|3VTcXl`7^&^96WINM>?mBtw?PULsu3V*0^@I(u2xiujJI$^+ZiytlDG z@s|zjw*N8S7lCo7Ged9*R@qx5XGW!z?93IRf0_J94g|+?g;31lGU>XOOpie*Lcjz7 z%w-D01V`oF#nD_^8_WRFB{fRWC2W5(vu`Ams$|ld)M|TR{f>aQS9))BXoxIK`=?y8Tv=Pp6`fyzDNCzA^$)Bi@5+d`HvP?%-l4@- ziU>O6!WqzlgaWNYs7+fi(gA<;p;Yc5fGs(=31!mSvT#AOTFYv`k81_;?^|!RTOrYT zB!wu9o!JlU-^j9QBj4k+qhQ|oR+Pd*Mwr%lEBXNx(0A$z*zhC^nYq#tZ# zsw(nI^C;%+l zT8h!xc9{ryS;}jT{~1$Gc2;{UuEmt-kUH%sP=5>&>lnKE7@~_9gKNhf$hUXgQNTHw zV#^Z34dR1ToebQiqjZ0NC}`$e5}ABU0`;y*h&}d^I8WXzv)f(E!O|g<+76kVy8*P4 zW{Iwv8>dcH+le4X=T^wx8l z{L4Nk5yf2ip>*|Uv#FGA5me1XLnhGuFKAQsfmI2Z(gSz z5Whl!aasBT78R|-%Gq=V4Io=VY9{Z?Tw+aU%QUpV5Xxu`7DCNpW*Tf0;e;XJ?g2^q zS=HGW83$>my&ZqFv_yVu*R6dKl3;ms&?XJG(vH%vpcY7`QpNm8valb1WD7+29;G14 z;3J+;ijJT|$fMW@KTWBTerT@5Nax&YeyeG$p@4tj<7zos=tBT4ZKH6b!qg91IhRe5 ze?dh;Tg!l+AsAgnewC?iLXYbjK_r;+TCIBpp2X|zkeGj2;47CYY|Q4f;IYsqb&||y zlqDiAj#h|34BH^COE?CP0tq6$p^iJzE!CFRP*?B(Z+M(88m1Is0-+^%OCu0K&%t1@ z=@J#nd@4+MY$mdW6cLQdsIMxIBmvW8cU1Ofm^x{wMCP0n1cf)4`coZR873~92N!D0 z)s`FtZQ6hS0AM{qMJ;=HU42)9bO9P&tS(#9|HAd)lG*=y#eeT{5KL_?EiaL_PpNz%kh8su>aSLQ`7U$p9jPuk#=f+1l`v} zB+C0=8=oEL?m`j5E$tG=u36~eo$42-=AK`jn?7YsJzSVL!kp|ZrCDA*41q>_V8$vV z4d@D55pCBe+&y8OJiiz))Y1U# zjpeEm8f$lF7cSkF<2s6uW*QHh2g**%t2f9Dg`G2GUAef-=3ZW_ox6nQ%jkb+OdUr= zi9poO=&9oO_ME>|%krteIu1tUaaEnEUPbkatAf}hUPYf!Q{7xv4q0b3} zzV!)#CgF5Ipl_8Bgwc=*VuedH9z#>1!Y33lI42@}LJ)&jq-v;EyLT@-l{mgw$)2)F;6ts$5V(%4TKV=nk#IW1R#1PkT;7{j zB9`U>$>iYJH2bS8Sr{uN^VCQQCmbRk=fU1RuB+J@tN?b3*^07&ogMDWLu4Hr>k8qb z5C6!SibI6N)}CE7jzH8UiHJ&!Fgzl76XdqQEZK*DT)1$bg^K#-f-&{g-0Yo&qd>J~ zI*N| zBJw-s|K9G`^8a!?i;DldW1xTA`#UzQ>rZUlvSwZXI`g5U*=y!rT&sQh7(?zs791M72K;ZY{8T;r6cY2^J%#Li`;rYz zi;BR!=p=+`iI^n){e*G-Is|m0UPN=VU)9bWaUY--)A;d8vrw?yO0$Q#O!8gz>WmAJ zolK%!|9)cYn(cq=B65F~ZVR@cb!%c8US2d#Uk5B6J4Ks#4q*_@ILb}Ll>cBjf|;?)R!StvQUvvoZ3SVlD3rQtv*+et9$mY+bHi4* zk$_)ig334Amd$_m#YjC@=N}$1CcoXV_0N5F{Lw5(*%2+tJoMQ5*{g*JV_NA8nM+U$ z4d;r3$sA7;6(WMw3RF^@$o*zUl zSZbL9Y+<{0$*S(8E}AGSrYgBQ-C(jM5AQE(VMCfz*0j?HD}i$=0=v@LGA4f>9kG-J z#}fKJt{7CShW_gtw$4BQ&Y1d4rDByvMEcEW+*l6~I$&**rF6RpaN~mIS3FHDU}VNZ zINu{zfk%I*@#u2(>NntecjjSs1jhvd6#22tOC7Oftb6%o_4FO`wKjVdVz%IA%(o|u zQ$Hf4e?7adOq)ZeLptrSrl{kd!v-EngB^9-#bV$gg844Me3yxNs2I}TeV1!K$daO2 zkCagGJ5U}4q`1=#d0a3OI+1tLIgz7vtj9#`*B^gF90ZC+KJJr3a7Q0up0@E2HBV+R zX;~3|Kt!~hfApk!|0IN6I`%?NH%TTKt3YJTA2Cm%++Ev2)~eOMK2*JbD_uTuN$yZEBzt!&+e-mWZlo!Jkd1WdlJSfZ-3G zH-V6TNe&DMm57j2UE|PM@}NUWCgI}w$d7*%>su}4!27rqgrRh<@gk(O0F zbGmwC+IabiF?HM)_kIRKoHh~Fjv4BeoNPB-56c=gChdQPFFM>V?M(pFD@)_>{keR6m%>mG(zg>n^46=<7JGcZ}kt zLflO$Pj`=?K3LeU!B<_HhM5n4SEev#yGi2AVylJ+52hRk7KI`c{r6dfU*}#!C1r1d znG8rV0!WJjFilI3N25rEF7F?a?Gt}o-^^5=PA+ZfHqrD9>!qY50gi#<#LVA5^>E?h z59Fw38I4aJtP+qS45o%) z1`?C!=O+%!QHxEizhMtgL+{3UhzLf6#?c0}d2B9figV0!|EvX5~&A~xWu6#*%)@<$E z$%SjT0^3 ziLcN#%jBUXMqB5rMKO8KiKCJ)kKCj24C4r1#DV&yFC|_-%l61=0G6taI`;p)D`VZZ z`@d*U-)sBdWqDe)4eNe~;U~5Ehd)&>p4N=3kBn;*8k%accWqeYU(bIoMF|*UKI|f(gkwz0&pq0w`-VIfis2~YJvt;3BFsypE;Uw{u^U(3_usB!B1g-iea#=^BP38z6$DC{7fMD2f?#sZ>MgIJTw^$ZMbBg=Ch0W0DHv% zCy!KrKJ>fl^mKJ{swv}IKbp(2Vf86n`CW7I2<@53)Y^aMo}Y%?M1-%WqF(jzY1oUT zH!HR3PhS$I6^S7(qD5jlw>z7OCQ^Kr65wxJfP=z$=4*()e(tANY9gJ>lvoSz2xQ*A zY+QMc{a*~^HETBln8cO>wMv8apV%~-t7LiPS=wGSBHAO|{*~u*(_augzDj%VB~yFW zZf4L;l0kph0BOLueg6IRe|eP#{z9q{5c0ZTnElK+bBdgks1jp@nY16%*3l?vf5{dg z%f{r9+U%z|cRmg*Q58Et1S%dgIS;9NOZ0VuM;|Mj<)zIL?KXQ*y>NqVh-L0dVsmj# zy39J%V|EA^*D`csBRIfXiEp%5ftY3OkOeD!W^aFNi)k5p^IneZ85%hmJF`-OnqRP2 z7DT;m_HF+8?84FI=*dQ~oMY|3BjJXgqRY@eKV}<~-dU98gqe}N`I2Bg|L?xOm`(oc z?(Kf<|Gg}ad60Fo1!q~X=I6w=0bF9BiVZlc*^Ud7LAAj^7AaYP%}POu70e-7cC5L+ zNnL;3V(MDe8%K?!N7S_h8LeMc>bC=kOLhA}X{jfjY`$u{wNDRg3Zc34&;2r+3)TA6 z@&8`g*SFHP|4E70_TS6$_{smq-J6&fZr$W>RGn;307qYr>`e!nk^il3em7d6RCG)3 zRxf`XjTuCP%6q4V^Ufa-XvNf#EJf2GCOvJnf5@*Yy(g4DK3qF<1TR`^_s`eP-N9UQLz*tx65`OPnF(o*da{BRgIjB1rdqs^VmCk2r;IZv ztLL8z1oK2t>@wP7(?hSMd&NaG0Wv*Xy>Q58f~cGZIIv~Q(ikta_T4KedjWm7FJ>r2Vu zJmHwPCM&xMy)msv%e#wv;eJdmAo~FdgJBDVaG2&UV9o>bCt*rVllY)(YPt2p{(YI$ z05u`)TG49$;7eYzRBP4k5Gg3p;dC-Xu-sY7s9t{!(mJ&) z2otY;E-00@JU8PAm-{-)V=1k3R3lPHA@PhCs}Q2>Vg(#l2Doa<|$$bbdy>Dg2bRosZR2~GFpa9QE%@7D9TW0S(Jo&xLFmt zRWaAG0?jjO`&9k; zknzpubI-q6xJ5YHuc}|339&xWs3?`;#9*=FYT`q_B}fs5cxEKPUqXMXJOp+7a_#OZ zB(AmDFRItBV=qm!6DcE??6yo0DpH2=soMj|20FL*Z`;I8yWMKGtKEXxY2i{yS|V~< zq~=gU0b8ONWJ&upo?m*J@3Osok|YNmO1se^%6ur%yL2?dw*T#|Gb#Y93m6bHn~{A9 zF%G2m>Z6P}&TrjteRLMg;#6-lgXyH<% zPT=W;ej3QZqo039SPtgJjVKT4T6ec|Wh>Y}xn~Ry$sx<$WR~ny{Gls`Vn`46z<+w- zKYj3@l{&A`Zzmufyb`@>4~iT53P4ed&Qpr<@z6oLSYHos5AdPJu$of zFV+)#o&RfDo~6+LIdp%k$&0S8)gyb;%~1Z;Q{H*1=VX7yU~BE!Ozr9+W8xVflT9l_ z2WEK}kCOh)KAwMhovF=)uB;mV9`c%PP=kyoX>YrRtc|wjVd14jFP2fkz1GuEOXVEx11-P zuBS|E5l<@$%_8kBk#HA|P8r9)t)4s-XrZ~l-+HqQT#4%v@bR>w4v``K!sCStKLuJ^ zx4#eGNSE$`ou4F*BhswGGGK1YX2eUQqBU#?(wcv9=Cm>O2)+6&N(E4j*%B@@j~}6n z_&}{JR-|bqWuzAhW(kyFt<}@_7A6i=FWfO+UI?@RU|iI_!Y%#xu}b-_Q{_I-<31O{SA$$pUIhHDT}yOCn9eF;>QaNyQpCZT4^91>LvizR5Y4Si&Q=~^ieuX&en7~8Y@F`x*QEz z-_imuklOFvT4ssFU3Y1H?UAOh(D?t@aif{}b`=*2iM?q$FQy#cYRGrE|S>b09> zlY7q!S1KY}ZCgezv09@`$qmZ?&)&0kw^4s&`8oO(6-m%>qLwV#af}j&!wJbu&MuHc zV9%L}6CYV>*}ah^p@;LZeNHkY!GS=48HUI53JXJafg}qDGIsD1) zbyrJv2pQPpW+qm5y{m53y>*}J{z##?bzX>`v{~_4LWyXC8?0?=<-5yheH6sl-c*01 zI0eG?7*5mbvFuhRF8@h;gNv-(?I6P>SxjQXdE{@?g)U3JMi;Q!rPAc2b>Olhd-buM zdcZE3-3b6=jh*4kBkYCwg{+^zO7X_ygO?|&>(rt7Ek6qaq1;GNAF)yAm&3C?0>o$&B!A!^FBUbv=rHfVh)w$#a51-}&?1zrTtW z;bh@Qa^81;SiQB3hPfpC<@A3aQ89TQ!;>lh^RG3OPCm3AR51Z(8kT##S`XropdQS4 zjR85zg3ycJuL4I_!R;p`{cs!lw^C)!uPgV0(sh@^y>&RUR^k0hWD{=_4&{HJZL~X1 zT>IwT&KY$Q=$Q#nKJrsvg5%Y#S>K4J8tDrK8?#XO2feV5!x=d;%9EqLlAl z|L)$MuQl^$lqBs|V4Umv0F@Q*covJZUAy)^w=c14^V84mdEpNS_A>mqJF$zW)k^i5 ziKJIg!Ur^*;!2~g_fprNpGbf1DZv!Gdm8mls{sg6$V(@Z^@dx!oUqQYIXK$f zmN#Fj`FKmQ)^`9!()QhYPUGQ2v87%dTUw459D6;Lt&Eq>o zgS_l)e)r0sF2n5zohflY7%Lxs-TUwwH4d%icLPPUYj$Ke8eV-U{F|T`#=l-8&hg#9 zf3xKYcXWtK@0xDyCewd;VmL#Q)tf(3ZU1}w1E_F>Djek%e*SuI`3G|UL$-4OQd>~X zRND2$F z=|-tl$(}^076%~}a>mtxwguwX8FAt|!LD4(G}LPlPMx-Nf}=W%$uawVe~OC5P$ z2WIa5?N4}v<8z}k;`ek~wQc*hqhSV2!18tU((=vc_b+`9?ZHjYXlGXrRv4F_)*QwO zJ1T*DZ7Bg8vRNwYI~QKH4V$|6#&z^z%>7H^sX^1M3!Lz)I63g=6jU(5KgvueMJ7y% zWZZ(<-VEIup~HWpV~rLX2?5+yVScl)>zR;L>R$0C;RLL}mTON2Vxq=g<{TP!pE$gb z&x|ZhW(WUvhSt`>Sf_l-C!gk!Pxi5QyiWu+TA`lR}Y{U$bF60i_d@m>lT3c3?CGaM}?s-VHf%B z{q<+P&KCThVaeev|1SwY3){Dgm!ZYQXwLjPvKDr%Id7pbs^wKL_PnEdAJmJz4?7Ck z{Fum0y$~g0@;`z3$Ms%|p2y@Ldjc|yTJtA1;gwFf5lF(y?cMW2awlBP_?=88khf0- zg~jxof1H0i!P?2F%uaUjxjp}KaJwxJvN3V>Ig}8&!eRl%z`jl4?g>ebCy}-o4td&- zsRW&s&YNt;LCs(|z7+9S$^4j3-2^r*cK#Hnl*so#dj8V*or9Ul#MNpdQz%0E8ibfU zW{Bx!d?Q-8Vst)24hKnzwfQ|wkyi|Z|6*sHOzVH_7Yh$UO4Rv0e)0t|Zw((a(!UJO zm*zu6<17c<=oeeHfEoRJG{VucDJDC5?K}UE-tslm`O5`#<@e!b^7AC6zcE^|Q5PpO zAr~idJM?Xof-{N0D`%H&E@@5^tACTYUTmuR$hQ#FRgpMZpR1699sui}XPg3Ck_Mt))L5{Tt_5R>E2!F{d7Bh-`o5$6e$;EJ~(&ube}_lf(wtq}Ky)p5~FxQF@G6Otv*U#7T;i`pY{c8&cV?zHA2if@BHJV0(GZOoYV66Cket&`Xl@@E7!WJj&Iplj*?ka!7Ao7 z)IYk7mVVq!pMh0wa$pUbgj<3_XX1ZdZ`bWItU_|!_xh}z!w*!k_%mZRFJP7qs-Ujo z@gn6f7K=&gX;+rv(Ov|nYxTQZtG7O(qj&Yz840Kw3kGKYg>GH2e9Z6Yrd}s@l)re| zS@gTpHC5S!b{=VWk>t=Gekf2KOISQd2Z=(c@c&sFVB5J5yNv<%zlHqRSlEC5cX-48 z_t89w;EX2L2zUEWNQQ1%lIcs%>$9EX9r)(gONei{I{^41*$X-m8Dv*@D2!#Kqv)`Y z(iCfZ-WrVMe~-5R!`*i7cV1)vfr7i|*<8!3VdQn7UjfItWxvu={lkY&GmOsO@n}G7 z77sPJ6|rh*&aa(d$h6=ekwbqa-0aSkjzhh3^p-SqJ@_a&YE+GsjvZyr=G>8V?(xUr zPb#-SQL(omGe@-gSla>2?@ZQ{ne_0`l4G5?-2)mTj9l^BomS(7s5s7^h4Q+anN+;k z)xYitg&59+csjt_8u0wvSUmX5j~M_2)WARx5=GVzM4X&ZZ#qQz?IwQ=rHq{RY`M-O z8){AU0hTc$Dc;F5xL2kV=g~7BZ9L7aUY+C_9%P~1bn5*~J zox8U_@14Dk5s1}wk2hn}Gfk_S^{a+#mQMrb5PjYpqmLTKO%dkbPp94tctJm%dW&4( z$M7CyEs`hO>}nj@c+CRJW-x=rxBfMX&O%2~+_-#AMIYI7;KeVyKVDinZNxWOx$sKw z$_KsA&%jNr_x|OTkAGPC_>A-(dYX;oHJu3AET6_>-ZYmi#{n3B`ub-=BzyBs!5U>u zAR8K&p}n{{%ph4)kRpKt0lb;}{62$osPhL>cYnOn`~3BTdwKM_m5*M&|Nfiz-@S7G zv-f_DZk8>o9S^;Yf#?57*#4(5wtYkY>ybQzy{jY?Y>1Pa0ujlR8?Igyro%YAL$W2| z>nK*hB+`YQT+E4o{}Mm(V^4d>a=vS4nmpoVlfvRoRh6`z@4<;3$dY75!K4kW%3{qq zH*c%L=v*okLuK{LTX?<()6DNEVYAH$YDq8Tm->pb^wL5>EZh}T5tM%D&`QxLqa>=F zPi{yT7O0jbtOmM~)X+&X=$C%NXL{Gay?^Rd@0FVr0t?lDUH);3v}i~w)Vuc4y{qpK zve5@(Lo76;#?<@-teX(I6j0QHcPSp!LUuGej(V9{R7He8Kw+^;V>a9DP8%Vgxk`guW+N=k z>xr1;JRXowYKIE5ApFfkdFh9s9xjif8;0TtvqdR{y}KHpMPB_O5lcn5GqaF3x94FuSPAu)O-Eny(?GL zB}>z1z)Kb?1*vNmQBQc&(&gWVS|i5iDl+o(Prqe5j&bGoj+bXk^%;+GrD8{Ri8|xx zy%jN?zIhMGp8H?Dw|eu-)$_~bYLk?2JKee#kWXj;Xv3J0Q5+*=+`ti)d<==*F1P$< zr?|*}BUQUf4`dN(-ta4s8#K_x#R!RI6_5_h#|5mh6DRbEIr9ZB_Y`IUBinIR8Atb9 z5kD;v#(W@{=aOBkP@W)y6XqmNC!w+-0vAhevI*8Qg8LtRjM8~h8V~{Jw6O7xCYey| zkJSCo&ZryB{sSuXVDH8cD{s7w?zA`zq2{OpBJd^J>4Sd9`z5;FhI-fEanYeH(8^3y zg1-Ytbr;_9W-V_0kwb@y?PjU$6%QZYTCQ6=zm=kY z&l!Cd*U%jGioyS>B|$sIXVa!(%4LCx}KWhZOyWJ^g? zQx5JR#|&|*s3UMU1=w3Z1}L^!agqLiCgl%j(sB5aV5>(zO33-0jl z5kN=ABPqjozg+qBwnq5TG(-SS>icmU6ZSh)z5_4_uBN}t^25b+_0~mkH@$j8bylAV zoFq=~z?9JcjAd1!ER`u0nojXrbh|SEC^9{ZPBj2l;PdREt$k$4#DeGqXaIIViNEjF zPkUF-X_t$^>r?idv#{II`VjtC7|uMBe?=1h;dsAg%hY)x6yw4v__ufEeDCaKwG;IL zS{LpYm|!>E_4Wltecfssdi8WX*Wn^%fFeFn(e`zVQ zC1UAC@hhz*&%?a|*5b{VDPZ6tT$sFaXYpzN#|hZOPRcRZ!-g&orC)U?=KurTeB z4lkg`-1|zdVncFqMQC=YUhe>{sK zEE!Bb?|9Q|O*s6Ik0A?6H7MZE)M1=%%WF4k^PXER`8C-A)n}J*lUE-WHKv|{o=Cpj zpL_rFvF4z@@BA%j)2uTHe-AwW+@8G$561IyOkJ>6qwKZY04?z5iZ>Tl6*`%0RI5pJ zn3nR&ZHlKV?33Uf;}qAuj_yv6hd7AwTLUGewUcIViuDM?ea&=i(NgKe{-U;ZP~4ky#g7?M@+-Y zFa|5fn=~-KtN`NqZP524SU1Ui>TQ+-;xrO>xsdpNJhZSx;V78 zkrm%=;zpy}f2Q2EL3M7kQS-|u0Eao+tUA`+h=(1q`$SnS(Z0(q+nbLH67_8t0l|U8 z8gy>xwJVh)4iCLgKEVL2@19+Gn6po-uW3J@G8GGm%|KI%*+f!?FD~B^we=AhOy$!JiJbPj34vi0I*!b}H zusc3JJ`C9;&U4XJ1!fg}y-@W_8P=(_wW6b=BTyFpJq$@Nb^WqEZAs8YF_O%tQh1K+ z0=4Z0iD;clqMedIi+0NJnq3&43%|s0sn^220jx!E1cd$Mh%^C5u&n{H;6wlllMYl8 zd@%AWe~pZP?+8{mCD0qC0F4TpzvGw18XQWd%}>e03E16@V{WY^mMB5!?0ML8iBR;2 z1mRSk%SyB>YCTBq!c=s9{oU=hpgth9#HXpQKLwwXiMCg6c{l?4kwBt2k>-n%NNWI{ zNb6*xbo=I_vp1X<%?n(j3#ELRN$y8m^jz-1f7HFJw+yFI?cR+aqKs7i-obNCHJXtl z(;#=<66y{RHDV)qt#p<}*EIF)3kQU+YUB6`poX`h!wr%_bfYk+A^HuqIOvHcTdG%D z4ZniATyUNihDWmb;T_qr?D)9Kg0MZ^XdJcWvCt*fbI5{uBnEecFY9)8rqP(Gd8MY` zf6nsL-I~ytGckQIZv8CXq_yN$K;Q9&jGeuA0YO(ma+--LnbCgjWp{kq{ z6pSf>HxjN(q6z_}6XVlaO6tW8f;)27HEEJt0`FgkCbNf!7DkqmQlDZIRdBLj1F|9XY3{F9akp%!FEr$^c3gisi zV4edR)jR)fWIJQ_DRgx>;Ru)A(g7NOIZBrjD@R?*v}(%WCkMjRG^Py@r5YMa+StPe2x|N(^u_bzE9B)6P}04tr|;hQ+x`E(06zk%0xishEt{! z2G(L*T{gM!BvCct88;i&T>qJ;58Eo776uLR(r{x4n#Hu>#*pg0xeVCXvO3Gx>=P!j z;aa9hTsqM{yP{n|Q`xP#T)=&Q$@`Nm7Cw}~DqXVXB1q9My=*J&&tSYuj0J5`y314! z-sdIPl0`_>jH=XE$Q{bQV9&o06xeNFQ)EclW;cHQcdxmouoFIO?txnbpGK{+f8Rj> zB=|Rg9u9j-ILVR^1QZr*jb=ROqH9e@&FUN1Rz5tx`oS5kYJ=9Pd&j1K_}4HB6??oP zwj1wsb}Q$Yke_|zp19S#?v7KeUv5U*TKEvHPveSj2OwPo%~URzG;85=nldl&h{gCu zMJ%Q_6A_H!gH2AA)LBy3mLrXS`ksKHql6^5#Sm>Gjxt{C-lYq@i`OHa5QixBC2|%< zx;w49`xF~rZ->=5rCd9Iom|f_M5&m8s4k*s*DW+2woUY!xhy|4WGnKJp47c7msYR5 zOHv>K>>r%z(^Y=dU@&Jv)yO`Vq0i9O=Gx{`;f{56H3q-w&mjpDWeU+$FsK|6z+$S5 zAuPnP2`6THLG9lq+krnArR&d<@kNno@}V=04mVT!uQP~3Bn~NmM8{Ddlo};H4611z z<$fN?q6oph)QV0kgf9{%ImtpKi_@PPSqDT#o>&lzr#`fPt`*yxv;s#dSz=|7K z(bCml4l4$GcPVmz9{n?LB6l{b`hkn`)%)ZZb$+fL39u*RWbJk|$?6w9q(A_ zM7CU=vB$|nmgkh>197DS(L*{ANuWp?xukI#M!;G&6Z>)=la6+iX|YeHrca=?l_|>z z>v_f?P@(Hd%OrI@H3d-D)c-{6KG~*A$^(ZoknF?Fr9$vyd$`$ryS!3};d z3}?m)OIx5^zx1JPli4TNFvm|n_smoKpEag9m(Gd#H77NO!011z0lcoItc^DiWQ*Sh zcAA*1L*rt2m{Ntvg0*T5@rnowx9=;Kv-n*bdo8iw9GmGs`(&)^p!ny`a^g5y;@O(22IN^Ro zk#;O97UB}#hGe_*_8i6n{U{;g5%{-^DuBYay3=WYX4tehTblP9ts)~aNe1cDxl*Ty z_Kzsv@5}-XoilACGmHyhr9;gQm(kCZtN+*D*Y`JZBndzNTAyMfE0OKBB+D-%an`rX zf!X6O0UjW?`#hNVWNBZks7f8;KLp%|2CB>dE0 z`7}O}KH@mslunfJc-|0a_J%m3CoZ*R3kJh+=I$_BKuaEjctwj@X5P$HV6c_ra+gHo z5crKSJ-iCDLoV!Yw|aua&$m>PtJp!{<6!F8w7E=d2xL+fd>ZjEt#TBW&L8dK^i z^ElZ9ZDg8Z!=hg`2qR^;&m4i!j`*Ar5-ED^`lq!U7v*zHirg~!kh>|L1nML_J|D>( za`PnbaM+`~Qc$!y9O179E2R{&IrIg`NhED}?arC{hu^vmVu@UzF_JOeqKNRhW^eRd z-9|R{N(b7o+b7@jk)kq?*5Lit+knXI>MkBu>$E$rV zdkEo7t7}7*${GzCA-88F-h&1J(zP_%hS=5d`sdfy{&GfG5(E0NsCHK$Hm;pekb=z`EEpkY_e4R$)d{3!T%QP? zqMujc3tRfCSQXE^_Dx>^Y_XG=5{<_n)NX&&gzBQFID<_d*%b+)QMNz4VmH~0UJ`n@ z#dqwqajQ1D4xjkX$-bo1|K~t|f3ofWZA%{i`(GMG6)=KkAp<<*`a>0OAR4j8M`_bo z$RR3mj8pSzi}|o19wpf)atnbhLEHbOO(N|qMyWcH&t(#>V$Ps~ZmKQ;(dh;ihzp@9 zvoKywcXiJhRH#3FiwersG-obR?nC}%JPmodU9$WEgC|!jMV%wlR$`BT$$Xp*ek6?9 zVvvsq^GZPY;@{HMxx=6KN7{dVqY~F z^~E7PT+0}-d^Z=R1UOcI`2q4pwc8q)4+xqoGt|bHxMNjuEF&V%(%Jx}N7m7iptTM1 z+IA2)YE?rmR%K6KlWx&v8tNd?3_rWF^7!-mr^Kb!N6W93^VGu@Mm9XZ2y2&wofLr` z(J9^HqDy=?&^n)d4R^ngE9lbMS4gjtcF1WMva|bz44+CliOw(j-L-ExdNhZ<*!8m) zS|Q{WH87wdasiTmj~f|z5L@Rc0xu-2>cp?;zBUq>qc00D@MOS+1^8@Jj|Hd~epJZ4 z%@@!Xgq&BCUsmQQeW_+k^aV;vomjBx7x&3A!tOWOtn}*lAJk4gB<~w=8X{aq6X(#B zE3aQUTRVNNcA4E3MXy7&yZ<=xzD)4`--$28e;|jY?6#nP=NYyHNFeQ%`wxG3{P9@d zz`&uwmk0W1C|Z->eKTRZTy1H2<xpLsIC3S%<@%&j?4TVwAR3ILy#G z-eAEDG#*la#B#>Y77GTsf&+iiVmV{to3cN-l>p&BHz}}bh2+1*^XkO9Jn@v>@^R^w82cTYGSR7}X26x@ zMI8{6v2sKhMn^%!sT##|>ZA!)L2c=@96`Eq`n&pn374NIk5TTQS$S|378Ck?;){l| zEdY4s{%N+P&YvT`!*CjYn=2gHv5$LJKMmU%EI16ENF%;NRvO-!Fm%+#yms*1x`% zsGa;~0RA?E&t^hleQ^;DHk}cfi|q^2X1M_1l+0A?G0S%MFXxrp=_}b{Dr#A^~7ERd$2DwasCp(Xnbd{7{zJIoM{tWWRH(&)n!L9t0 zr|2wA)mu{PYZ)F<-sM&@m4SZSl}kI0q$J@T<6j@u1eI5R#!<^B$@xL6bB$}O03^h5 zulsv{h0POpOU)Leu0`%E@xPNN+xD}bN7nyx*V@k_{znu4|9wM4F8%M&z))NNyA@A= zNSS%6+^U^D)p+9Vv`NoZhtIM}*OE*=S zl6s!RFhu z!^#v(ra?Gs*(2+0x-gG^^5%2J%6!Q*%k$Y{<_P>L6|*ytb~IO>D9;})n3ef|;!$h< z=nVccE7R~+$Yth_0zZps`C}PKIA#_wc@)h$;A_;W!lf4muz8}d)EAm$9K&1_5(SNF z9?kofqJ4{{Eb|X zX{#p6X8MR+05uk38epQ*jxH&GVK4)fRz9V)<(QvvOvs_gm6HT5a=hKqc`%*JTbXp; zq!#uSPb>Ng^@2f>C~748`r@fU;sh<(7gf_!kUp8+mL5(fhcd(Iq>28}249S#0ewg3 zZ*ygHs+ulmX^pc}8?oDm(sHX18oowD!YK#+!pBF-pR)6(qQbV{ar?l33nzv0qLjz$ zUkuB}r5PIG)9H|m?B;?{0pw09;}$*TWy?fP@yT!$kH|9=kq0K+6w?(IcH{BG#+A3+ z{spCuiTRNRKKW9AJehitqC*OhgZalx_8ZAL;Aq@xS_V*7mD1%1-AcsB}_Gn+q-9A7wM6v!Cjp5-W`#TBGaNlrW z;-!?48ib!OO+cQPaG@X;rl79Az9hU2^wYO~{0v3OkL<*YBB`HvmNX*m63|ml@F@{H0nFlI8L@1D&_D7P-on0CqBlLl6yC6 zC+~4B$1u;55WqSj{loQlPvAi%UfI3XRY+G7Aec<$&2C_S@9ng;55Di(``W>MuN_S6 z+dsM=UU%>LO?O9RaJYW)Zf)@sw155hj}~(9M8g320bEC9Xt%^5(7p7$gAfK8_!qal(llopBWO!K>MkD4S_`i#klY_=u!h9FmmxkfZ_+ z3GBNPTPJs@IWl|psFR`z#=Lf83duow9GOKEe-hFe80cOT;E+Fx&rJtJ zkMT!K?5SK94Y3EI6&OEKQ9(4R8Q5Qt2x2iP9;5FOgrrt0?w@F*TMp4icvfN=5qkfW zu=TDU5yp;qsg(pAzo~*D1EDWR#+{8n9*lA4uDy~&*IwC&YgnqjX)R=8H>DPSbDj7Q zq#9#?nf*q~2J(?gHvkFoHTGz7$W<;db8*GNNMg$cz`swVX7n67F0dOh-5fsSn z2lzR~C%W*RTtHvu>d6B7_KUC|GulHFQ2E=|c`hKyGxW)-XDjA=y37X^9wqqw;6 zY`^V-UyO{7WpH(mtvk=&3Aiox(b6nOSC1IQ078d0k?3`G@vGIRpHR0Tu=SB-N^Jmt zt3=2de3){q31SQqT+nhPI=s=KjS}ve4~>E`?yvSdH22cnIx=n?A)8KE3H}Z>N6yH< zzV_-q7gU!EmQBUcO~TVaT^BeTprbCk4)-QTujQ^hI=OcFeErO++MSQ-o<|jp!Ix5i z<|$2+161JQE0I#r_K&oI){gJz-?!I)24^z04cSc>8gB^YVXz^B|D@Bd@!t?D8eTz0 z#C}wqnJE^=8Dr!ORiN3V{n`htfE_$#Ynz#Bv7I80i_%P6#u*|t0exgmq`!eDWmOB> zNGl`NkU9wFKsg5_pt9?N1m!{tl4K1-<&di}V$eFJYMtaf;2}A4JYBDxY|Em5jw2CX zzJH@~@PJzm#^L&LW#J~0?z$yb3B3zIl!-Vx5cZJ=NzUzT9keD6YG$SdanMom=1GHd zzO^w)uBmj`ygZT7nwIBEguoni|IeJGb|KP#KZaWAVhj8x zV3naFw7f(E(TQ*0yZQ7 zJiDQIHpAcynbL#_!Ch%-^}-YMO!W3Gy!Z6YAA;_gt?rSUJ<(ZWH)FnHs3Ha>+S(9E!D7p^j`r5H?0Sr@XCg4|zNjz$CDb8j9g#KPB9O47&qTU%enUA)K)&$(>a{bW4yIOZYGp>3N&sUt zc}{G5t;t!^2=cX;c(A2^ZAXW-R824ZRrmHLdJ|K|%U0s`-b4cb_C|yYYqq1S6EBV` zRIH`_cYY)TfTJroQM%yyU`Rw#2w*J2l?HtTapIUq4GJ~Lp@EyS;kxj~18^rjnxIXt zoxH_ct!Y}$$QNY*0TI?wOd=bkm`XR;eV!AKFtX>;pBal!tmY|yNm;$~bnVg|o3L<7 zO!0v*d3$&5Vh$l>`oxbM-=RJ^sfioimZZ>e?wHy8sTrvzYWAxlvZ*Z^pqgqVtlLJ+R1w>Pd=cxO%>5Pk2sEc3ak-t#%q1nsmK4eSdE0-=7tTM`6U|x zu?&t0tc6e5q^0+N9hyyV3t_i!bl}4!6p(k=X>I&lB6N!}(%tOy?qkZYlSfmcn<>9; z;^TSwl$%!8V2a*73z$>8!7he09zU$zeP6U?oc9-T?9)rseKq>Qxc66BSGC9N{zv1J z`?ZsQqwZ_HuJJl9dfG0)7gYQpDw&O82-Po012+zNBn+W{6yoQM9A4=Lsgs_bP%RxdTT*HXwhCDno!()iufMu||G!0| z26|A;B+#dSFi4RMYp8n;%i}mrofrfI<8PUj^$foJ_>GU7WMD;PO*zMhKla2{I1~_N zq=9zoMrq?Exu_}LZFZeZwrZ`;bx?`g((>xtPbjT`1&Gx*ClHiU(evUB5ervigEjI9 z&R|nw1Fs7sx{JN z5Ao)aCwzRzOt#MX&Jjq*?g!V|f7gtZ5 z4Ac|9)=RDSVaTclZ^2UY{oo6))i1rZdT*IBsro!S_NjTa0_w(=V(^~0TFejLE5%GP zKO(PxLN`!bz7_>g*V3dF+P;gz+%^Co2d7ELquD0HhpI(J(@knyM1#Xjts=B4yY}w? z?e_gUu>jtAlQb*Nnl`}XM);t4@D8HaUR%rt7)W>B>*Q39ZE!6IWKbO5U!NN>h|8c- zS&ITr24-WJ*E05P00UF&KtVkkw!+-#G0}~GjqAY3R`>;dGd8gOJnNn2=!_m$34pD=Vz+Vl@jZDaN?A&v}p(=J*$e@>q z0k^eC%WB*Jqk~y|2L+#JqjPh%HPx)Ku#k9jQ-00WE-C#vnC@N=o^^SuubP9?UH9>S z1?O6UV#fXHkTT2e4H3_wk@Uz)Sar;V1r(k&|L@m!?+|$TW;K@?FTX*}$M!_2R}422 zlFt&!f6hMd&>*q?k_Ca`dBMUNT&FTlvW`UA4T|UV*Fd8BVyR~3QffhUI$GWD)OKt6 zFBM}32M5G{7!eH)h(-F{HAn@i05vp!9SOZo*x70ABEc4Itg8XQ2Jhg4w*xBs{&!*W z$GQLAzb!e?@4Ejz*!KUnC6E98Z{_AJa}_V&DYm`4NC6keev#-kNJwp|c*?d>kZ<71 zS7&{Ih0^^;<_xqSHHf@OhGFbw zV=|wfvS?hvqvCJqBg zI7B1TKRjJ59_a!Rml?1p;7_Sq={C?u0QO$;8<1f3kdQVw40BK{=PJj$V#&U~L@YVf z*DaV9@9QS}_U=D;K&(sK?n$hpUcPoZY^yxGb&iV&9FFbssrh>3?W16SX-}Knljt>g z1@?W3<~4*JRoE@pc@$v4nFtpIGV{Jwzj&8lFyt7NnNH^lIuv3!92qchreVenK65aO z6n*{M?2o4!I>E_=VN;{k%OBU@y9xwJvLba{|M#m3Wd*_7v(*r!95N=la*pdBeqcyI zAkCGJ7Ft3;SV!>6244Dqkc&3Es}Xn(l$#a`aMvaN;DbFUnH9<^gkI%bBD|msEuGog z{rfyQe85paiTZt{;x)@c3Q?V(7n;TLvN7!K!-J2(&a$OmJYyBn=!^`IPHZ*G3 zSGVtI&X(x!a=7654Wx;#LD^KyMW9v}3fhzE+aJf333sn{y+XIwmilF1m}t3o0?Xzi zr0M{j+pI0A8H4PuIpFQ0R`F^xuqfzkZ|2eaG5|mdb)f-h< zFh8kfo7xPY8aLQ~_28YWSwa3KW4nB=o&GbBSiqGTe=Q3DjY18F4fk#`$2|=T;(dt@>pQro~ksc z?1m@Z&~$S$cgz?I!^>FM$eTyaypc60s#A)ZNqEl?N+y)tn`vw2Y~s+e#%2R#rNgP% z_!;VZ0^lN^JqAZaCRnX~`WYTT+SghAkrV4tgvu6w)Gq>nBJHkU4aexEe^=8!p<4iBa z&l#d6Y6;h=ld%x?Q@YZTw(&Kh)+TL9$Yk~%OOcI))*B4Ay}(+7?dKN&hCx!{GuHs5 z$3alb*3gL!hgTe^c*U^hY3n5Yo76L3B>e4pJ$EN+c9$J_lR0w2mPY zgXb_}LF^k7E7iN0WS&RnkGLnZ3(^qmQa|jH_VlY$uQ;cb$fI;Cpa0U|%3u7n_T_uE zGZ%R-h2BsbALo!d{o!Kn$$S+rqzB61*}4+|5`y=*CA9fbpgV+ zwmOm&raG1itUy<-yTlD^gvn%QCmDd%oVOsOhfS_svfFpS=U~Kpk!~$WY73?oV6{W8 zVb!Vm)=UIrThQ(!*j%VbBCU0{g^PuM&8M7xQyT5hu8FGy8jejF98cAcFZ(8{kOW#b z&t7BXG5=a^JPBM^EsVq9RH|On;$d7%ay^sjYNp`RREXQRyC(iT3qLIDSp%dkl(p8J zmI%&3+9Yv**U%8n_6s@n&>VcmWU)M(E@zuT^(djiaGoU4nVp)=aMrCUUE^jA$ixF1jY^Ap{4*ExynyK?5m6yxpTP?6j1#*5*5b+QC>{7hbM*PPa}9#FRI`+@fcSgf$ycH&z)JCoyoQi3Qv5+ynX z(I;W}L$a}7BT4C#tI@6*UiJBQ&m;} zODuYQM@I(>VUDj#2=fkq<`%Sr+NJrzw+(sh0Mze(zjFU=;w%fyBUM2t>I`ct)8_8o=4{e zS_F@*HbQ5TxzNOT!CVM23mH5$k}%cFkg1tcG5`w4QUS5JtBbyWP|Fg>C{VvqO)*7R zpVyo=t;=u3v4-Y@?hPIWzqWXze(^SQRCM9i+KCG~Leb1Jj5I{zt|>lhfh0YF=)W_x z74iTD-6>WQ3o)sN1ot}b7%-S}qp+nX49_R^iT>mRLaPB=v)cp2q3Jjtk$Fe{lv*|duJ zqj5Z;bcSjObdUhcEe}6Oxc{^Q3=9a=uNor_dpn(BU zVmxGw99f%fHF{n6=Yr$2S^X@c%AbR7=M{AdF6ia4dwp_u| zGimEh7~q|I4y>IzTf6gd?fm;>n7gW(9P&3tb~;mv|C;4I)OR>8PT5iPQpXH&TWnhh zAd7}!%>b}`$d=^Xb!|l0lKKB)>6x(qKKy?&1x&w_{~sI}X!HMD@dV)i#c5{alRLF1 zA9Bu8kTHsX%ls#-aU+w3jRY{4D9s{$-7mw3c>LwkY_{7WGvspZ08W7_Lz&~Av z%(R&~GM<^qy3>7y4x@?u;+98#9)iWDnU_4f00NyrCt$N9w%hIJ^oe+?Fpmx7VB&!7;~wHvvGAqpslK{5t9e*GYDwfMaNf zg!Hgi2sjna$c-&PQ~RoG(0Yc{xn^HMi5-)1{-Jg*-Sm<|EXJu|5!+@qjvr5{Dn4t-1~TXsXpVvb|e> ziF@7}Jbx~Q#WQLVQnOYyh3BMAIm7_bY^1|GkwD$nD$_}p|qVLFW zprxAwHxRygGKb9}`i$o~AO;%Gb+&Y4a5u`8`OW#}^4aUIZ3B$9JyJg+ryazraLd!0 z3PcLm?d#Wv-*z>%MTT1wNVG+c+iRGN@u3vck=CKs|zh*Fbx5hnV7aMJa;BauS)=n+a&QVj?5H<148e!5(t5Phd zr_2NiUPUZXT}gILlHn(@NaY5pz(CI$a;GH&)QXYp69%Z%{&avSn-u$hQ@R%)LO9_F z1A>D;KX1r`3M{=CS0V@e9z*6b7c0?f=~$GOnJHEa72KLDGo?ujdsQ~cx8Cw>ua*0~ zIWjo(DoaejAEUE&{j=KX&+)zSUk}$VeY^7L=Guurteretzjzn#kI+a?=iX~P{;&GQ z2erpb!cr?5m7DDGbk^>FzO(vddF_Mm>*sFb#gsD_SMEPtxqo7H@oTo(aHo(s{BKN7 zTGC+CVN3P-j8LR21ALe=4_wPv97Q$XWV{C<$9q_Elo_K%xd~c7nxIYQU|qa(xpwlV zj6)#_X{8o~*sb~1r=K)#y;onnSX=yj?edM1RbUQ zM2tsHC%p3XQ-naSrputhA!;M+vXVi=81jOx=j)%*|NW!ecfL9rpUFN88iPbWH8|)+ z|NHs}1|9T2nM$?ee{9LqxNvLb;knxFkMN4^w^vuc{WHZ?ppo?}XKSagQ4SK8_v#-% zu3z~&6sq68QM1&YY~B|7zvYqm?Hg(yL@E_iw|xU0wdR{?WM~ z9-qkNb9WZ=Fya$S|6VL=Zmof3`wjnV@{013gA0c$oc?_E$rDB^$(32;Dp_bs(oY!1eYdwm;SdZejDHqg3o%clCNNGQkdt5ONxY;iMB{}J^++Ugn-k_# zu3&@@;8(nhYY#r36R3i~HELh{q5jzw4vgLc8!~E(msg*jU%hr_<^ChQyiIOyGlGxh zfIAT$rzJq7}RW7DKRo_eQgr}JX5d{sS6}Ts!^ejEhN*Wcim_?Sn$0>o15;at z0aw=xX};`nP~;-l|9D&Z{5(Cm`o&umY3hGIQUCjUA&+62m{dlIc~$%s)#dlOJt&eP zOd4T-R?Z+s)jk8r8%6LMa0A%O+QX$E9xtLk6%e1WogkmkpLjLm{PGWv-zCMYY6)@A zGGo~^2o`t?Y7VK%LYO({!Y3AE3jSfIU!0U3$>Dr6&JnXSr0P zgv#e3Mt-$63DC9jabt)L$qbcL?7X}URJ|%l)jv+WMRo?SzT3A>Lec>Ls_i^r>mE0M z{|7Uc*<3NuhyUyE8yIr(e?!~a`oArCg#M4|(KB&+MI{tEaB%zngCj4!1aG7J|9$t4 z(ea(zM_=8$XZQad9Z8CBzumw4;OICoI`Hka1Ms$g?+$$b8S;EO4PvW2AHBHANHZbh z9d;NK(mFq8i8tECXDL_8o3l+ur_9HHh4`g$=H*b_-vvI%j_1g3e)@4d{K_Z#D;SYj zsQG#NiLg;v72#cgn_0W|h_S%hR!dwAyID_o7?p+T0Dvn`o!U=}H#pvz-bvSzt|Z1j1g zp;?TSmdO__Q)w*I7B(JzQ2+F5{oOB#Q(^7kDZB%{)DQnJ5FSEBLVaD$x8(LN{6FAv z@Ba*MHn9#r{cmcUQ~xuVY~TOgn&;4KgaxM*K0ZRMqKH7ur(whM&(}W)mlMTf<3uU2*#-bU>puzW-Npa6)xe-lQTvamThr-(Y;o2qW{z0p@O&6pnWH)2u&i*jTXO%Tbqj#47&nh)rqhKf zlQ{-Zz8SoA!1=N_dWpjkDskv#T=)fxPlAg$@GO5er#N9KU@De=|7Q4H+dWIJO3N%8*tG7p(Oli z)Bi1a{O!Lu(L=^<$nq=Ak7kdB|PO zW#%nwdcIOD&x@+((}m-hY8A89Bh_v~LCHSA@V#KphMmVH#1~4ewZ}e3;V%D}^O?oF zD-Yk1hw2|E&O2N1j}!0z@c7KilXq4gKVErouJ+(NG^`+hRu%Qze{Nj6gGLx+R9Bu} ztG~6(odT*YUR}OdyZh0-YFxNlUpy~22VvQOj^!#w zlAi&QIi(g$*q)P*nFYtCFB|VJQiBe$-*wGqj9A|IrF(R{shyiECI~kWvl6ezd&0TG zM6p`PTH)b;#GL#?H(weMbBA7^TYxjO@SlCl}FH<(@+7m(gBWU9kah6FKEEW+BtNK zR=@Ol{li7-F0}FJk8=E|YB?`Ea zDcnn#p<$TPFidc77^atF$Jn7TFhZj{4u;1LYo~>JD?+DpRsxWW0vhWgpvJnx@t(w3 zGEs^e{}hfKe03k?AK88gc`dsWbQP#QcVOT;+l@H-vLTh{`2&^i#pM&@&$~Xf>pV`|Yz5W7K!w zSQwfSZq^JmdPREDbYk#8vWzE^p1C+Clk>^ijgMEJTwXhIskU@4q|RS2hMl8RF?OgI z{-^J~hZBcA#_MOUC3WzBAd=)Jk8iR9pgI44H!wKhmjAc4&;PdO@#p^x^ggKQXXJiC8Kp;KhkC{iJF4S@6PbhD&p&_I*%>>XzI7gQ zWT4|oigyBdk5v5IIUINp9IZMuoNzTvsn-b^SxS1(bA*qB@Ri6X-)rz}FWt;Vql3Ta zgG;y-X>{>{X`8QPO5L=gp#iyz_+*QJ(?nviSPs0D?8;J^2Z@7ac+m}`M+;pvpEKUZ z>h~YiPCX2Dkd+fab};{4=I7(l^urCbSz-W!L~(7{Wz+PY`eqy z(s^K3L_eN^UuyJ!v@ z3hnir!kbZrm)abk%#OBE-J_;XiB(L<%ogwjuS1s(rDMN8jGQ8ia~c6^^-n=s=1_~e zwW2ns?A-}<#3e)y&>3vKtvGG1Kbm?MS{O#E-6U0xb@58a<`>4geQS11TPKxV%tE$Q z1QwUIhum?hSp2*jM|bZYThTgyJLO7Y4iM~nQO}JS)zUF9U9vVVZ-?$e+QhisHZ*7; z0c1&=K^Rog&(&9+!}#SdNB8au%^6|%0*e-3%%f%=S9h*3S;S>s$<5#q641k88k=YV zW&}$~qm<5OiHCk^)|hz(`8r-KRb;mhlsfW2m?Vq9FnYx|o35nEc~^#i*nCsq%tfyB zWh5HbXAJ|@;Sf9b9NZ^`(DWP>wG(`3pbU!mI5?ElP%?)f4l#K4dJ+_qH9|^2(Mt2Z zl&(xmpzw*v9g)6=Bmc7Z)zL(p!|3QR*u_BlMPxlJ!!Mgza}uPVtmpwtA&&8}q@#LB z5`N94mXd_w;iS9~9+s1T38KW)g>1Q)%c5Zy_P4)pAfD{o7Ei@rd@=0KJ(-xT;%g$ooGeF0Ckkdo-htfv zjPQjH1&AAS$dSo^=gdNd6^B}s-;Ciy_!tS?v@GQM#A#(`{qqO)vv)8|1i2(i*NygU z(heNt;zy?P#ffyDh;LZJw&%u&MkgSN(K&-_Y>@~M3LPVnj1&eHVbD@xV<9Rr6V4_{ z4vRELrZZCLACHzIfLuwW;!kvV#3D;&i!lSjIl6%AHx->2LY>bj4emZH6|^{F<6nkVV{Oj1k*Q! zA)nL`_DS0wnzYgO5PZ-#hoXwy8uCTk7?KjaE!2A(Cwp&J&GPYawoe@jZ^v2Q4o}!k z`Y2H%qB&zexYW*n61lx>&X&KglU2q3S??`Y1iGFa4=@@+O72`t(%&(G7<> z-kWGT=r*!$XrxSIY1l$Q9D%<5F6Lcg)UB z&dWgFKqcOAB7uxBj74S=nw&NBxufMc@K=ec>BP<|ru;Tn-~)jsR4Cv68V4^1qZf0I zkX=i*I9tdU(^<|pLXC_~6e14(dpJZR=HfVi*_svC&~k}qonkN@P8-9e@#%8u@fk8s zrt|rUbmmAH!ykru;9nA`0Y(wI?s?dV$iGqc4U2Bd+_Ewrj0~f*E_-c>-+WYhn>L>< z#USms1A_(W!6vtp(|R}dx>L~k+TeH@O%jRFE#eM1Go|cI!u@K%_K4;O899;JcidD| z_EHAGe?ra^Kj6hIY5Yz$i5}$Lu|e9~qtr=5WirT?!Bl-#e5zQS%A4s@&WdZd5&cGN z*Q48ndChvx$|I3B&Lfeq9ia}*`22=!n%Inh+(pFRX4ly(dn?8kMFfwdOzb2O*SwRE zba+)4Vt7m48=&NxNoS@_p#tiNC;~0R9TTaTe+kG%?mV;15{<-M@-FMxe`{B-Vz}T- zC+p{~v!IXoodhW?p(UPx-^&$cF3nsz*;bHML!aJ(w;wQDj)iG^-`(xtdNj%zY2LcQdgBcq4j#H=Fzw2ipsO{dgB`bn0jeA+xODMaH{X6bRsqA5)EC8tx_$lW1T@M z_qv+~(ezxFy<}r_vy%`Tpm<|;{uZwnYe>IA`PU==Y zaGhoI4M&{}fK=y1z6e9)T_xLlgH&nnXk~cW5z~68Z&X~CGjZ)kE0H-(OxmlhaCqiv<(6=!svNce4`U5 zwTfX+I5KDd;=0d6?s77$e<{XO30Mp(7%cir1B+H7fptUkdH#La(bpHAm=Q4&^fS`?%0YG4)qOPQ-6EH8V41dcYWAf3G4*2nLLi-d{x* zw;bOzysFqZsd`$vDx|m`!DF)5JC$AUczPypQN>#v-*vI)ZA#$0QR*r^FS6o858yiE zJ>>Y!odk=yP>eCLh*-<3nPjKI@t$7tp9i3rv2*XM+jsAY9e8cmuHC=uP3UwNM%Z14 zv;4n}{-59O-M>=?e{jS+&e-4P5O(j2?by9@KPj3kjc0P%vTvCK`*+0Ta`Ew?C3hY; z7~8jZ|3OlWab5m(i4yVgKxKY2x_9?JQees~=1M{GAJ~0xl$XGputCQy)zZMx>5`_& zw*>l48a;3zwrBgRw0-EY1sD^~&@?OEo1ikbEXR6gjwDbjfA&aD=EmkE#epQ^8`}I4 zvg5%*Trd_A8k0pdn;Pdw0uH-H;u76*ZNi!&%)6fRl1K9@lp7zmf@J0X?Z(G{ln0km zrIklFYfGoYTyKqvFu_!E`*RkF!Z|f#hhPQ{_mX3LpR*xP82p}23oxvNM{B9R%sZ9v ztw9d5R`2}{f6o=Kd|kV8x01J3m)}}>@Wt9+&cKT-d00nqS(s&wJz+@37S`xo0d|yX z*=~vag|yt40c>uesssSR$`$XM`j*fUb2V+VTVh|Qyivb+ySB94xNr;ad6Ekj0`v<4 z$_w_CG#-6WyZb$bQbcdCBxH*r3K^mh4H%9f01nquQlY&1y}RgcUR-P-7~6= z9GW^|HEm+!6If4KU^JB?2+QU|(tO^ySVz~LljrqgAd#C&ne zz@wK!f2CwdT0ukR7nS)uL@B59yf-q35Emq(Ij4+Iz5wMW{R(O+teiuENrU^ihuj+= z888@c;)xi2#@;xK1o-~9^-JH?ZomLN5fv;r=12^1?fPeHrUZ!(-Sk@6qe!c(HrV2Db2z6Ytyi zf3M}c-5k1nwYzrpVdL5fxf<%9=Rcw3fGEiWoavec8x0NNC4&+ro3U3tBA0fxlLejV z(V&Zd_oHoWJpQ0|`=gMy?j9T6_3g5WuI;|&=Y0|PM|$}E-$J@%O&2TABmkI?|Cepa zq$~bcs()Mi{_j>i{`Y@{cU@o}tC^fJe`QvLgYUTHyA}Y|L0FMZmKG4u>ZLSGGa#M}nbLcANvc*XwTP~I+%yhY% z#ycY^1+xMbqRabARhUT+_xH~}6V>BNK71mq#iU{6BiiXSQ3Jm|dg zeSSV_bmKf+xrNR|sq<;zrRrz?0PQlvroYKwPa{6Za?Ijj_md3wToq-cX+A8@Y7i94Szn@U*6txP445&K{@#3#zR z?3Bs=#0rzK3~Vy7Tq)5RFrS06yqQVI3YHZ!Gq9?IfuQpayH&vae<@L5f$S&anY@`U z$Xg0?I&=0^S1VS;yEkvdZN?be`r}p{&s8a)M+DOEU@{(D26a_sB=ULECIL7%s6b$I1ZZzUKwQE zAW`9B|6)~!I`|Z_@JeI~$$bJkNPL6|2Xjn8G|3ab*a|U9y1Ga_f^B#}LJ-riFb&|H zJ+t86Wd~@LV^MYphh?vu$4Dr3!O2B|5K18!qVz;vZ*!uCe__Q9-VSl;fWlfs#8N(1 zMDzHZPh?B(<-c?L?@|X6@DE4@D^Ks#Zkz@B!Mw|o&EN8-In?Ts><9>{c6X`q&EK{G zpagwgxqqs5@*M`1-a+Z0TbBpHupI>`CN$B5q%h;-1X;s6DKb*sU;Xn3R9`NFA9yq$ zDwI@yRy+d}e??EcUFhRofX1S=^2FXyn#g?P9LC`??|v~@2((}!TPlcYpuy{VAvZXCT?v*8gn96XJ)s z1ObZqe=Ix1-NWs!j$~%C#v8>dnh60r%=c>hixI0D(iR{c-4P#8XmJ+@ev3t=#z;|a z`XV`ohYYOhBe^^Pe~EvSZfN5s#=wl;lKWMR${a5EKz;il*Y<gWfCpri>wXIl7OviGTzRj4`sUh&%fc)0>hc$jNAJ*|A`feh z+8T0p!0Vvr9ONM4$HvO`vsI5m|MTWlIr<=+iTWtNDcyt$WhO9 z{x$1=d^WqeB*1t5_dD1BU^3ZW|6B6-e}~jGGO#4NvN>|)&WQANzYHJZ@s~@p+3pZ< zW+ZNv8-oSEXT}rvV(p6n>(abq5=AQ@2>v+9%p=$sML|wcZ?8uXh%?&K-af6;E-b<1;$hQAfI{8f0%`; zm6#}2#w$~hF-%&5ZSLsU()q8Xts}$*(le~XPyQR~Pde6r-?sjC{I4x}I#(V&0?A_c zPWD3M+Oi+3%iq>NI@i@%Te`RQ@rBys6BwUF%2xZ+8JcC~{_VB5pOEk%Z>`?BPs0UZ zvF=bP*_Z6J@m^g@Oets64W^Y#fA;n3%M?qUG|suE$bha0J3H>AvFSCX2BlKC7|1_Z zvRcZfE8ItMXZ@3J>lg3VuH0%oe7bt)`r1b)YY)DoKn18FFHqCP3We6$c>A^+QWp#y z1=S5uQeIGI&53a9^7PZ%?T^+zybGyg z@A{?h)-HVuvy@Ew4n*1H`c>Km5>^CC_WP8ip(QP)FjJK#lLJ15XJ)b!N=XrAjcL|H z$$rnKmx;$7ZmohyuzKhFwG&H#va9!&8yCI-@xAfZSGDVx0ZM--)e>y$Bbt4p4Im8a z1X?eY$sGiAjmnXULI8lZZX2g!^^@ls7jA`qc8XAD0rE`i@ZGqs?_=%KcIlQPGtd zk&$~8<(4SA-|N%&*YELoKOXP*zvq3<`#j#~yq@RhUGb-P#93;vag5P$g^kv&jj%Dw z<^g<__xHp;Ho;ajnSB~9YqYw+8ou>ZtL6)b^CSO~8YdT@#<1_pxx*_i+!s^>d`97*n*!i$8 zU-BBhABO+81J)|CRo2xlOgGN_{d^C1*5(CZ`9=C2tD5QgM+bt=eSsep`7FP-|DFD2 zl|;F?&vOnA7Y}(Hhy(iSO?)l27d=1?P46(Y{M@(i%$K{HKcd_PCA0AVh3s!Jee}Pg zANED9?gYMe1=C(?p8Vx9sHOU_OIE%y@ozc`p!MlJ=YKVgpWaLU)sN>8x0J;m7j%N@aK*0@hyOW}~2>san%VZYH~Jf^_PsWb4YB z9GzBYB9UGH=W)C`);Uc*MgyYk-p;3#(Qk-BhM*rETZ(8g{S9{5>3k#82ywfNNSPDW zUVB!uf_=Pn%Fs&X+zs(skK2lSlUtqk_4nXJX3nahz`yF1`@F18Bt6OA9vXfHMC6=n zUskVD8#WiKwwF!Ddyr9lJF1OGu4DNsKkAKBoyZlcLPI;=vm6t%_3jaH#RcAU1rMk` z4Ol$%guP!1A0D6S5!#1-z&*rv^x~X=zu$G|hcEjIJsBsTI084fJ2`$l?y8Q=#c|>V z_=#MMhicv{OU2QI3u|t#P;A68Xaty8FA$f%p=YK;*!$yU#YvSd>V*0yMm2frH z_tT3BuQ3tq=u?bv$Jbk_QWJu-%2Zg^J4P5?+e>jRHqbX;|CS*!zF0y9_(0 zGjhmdvp-77@+2bW014~)ZyV3II-iJ?nF2mvEz$RPYdM z!a8rC1K|km?zN6nY6!N^}zDkPAga|K?-K;8R^)ZhiHcX)cIZa^U9gdp}vm7 zezZ#wx^CzWi)+{QP8q^I-)!hw7&iAl?1IaBicp{JF;9m9ijJ;S? zY|xzVDXQ{U)ox!&py!#!5%IFsP*~q3P0moO3VJYk%x){Apa#0ukB;qbwX3QeMt2`w z@dY9 z%V^XLFkLG**BW~iJaY#UXGK}J>(*3|JC^@|S|NoVl=pyI*X6S>x;sAH1P;sQF!^*o zlTQn8H1-C0R;4%=vg<>mf0o8I_WC2RcU_QOQ<9=FQpQh5PMI@`4k44m#je_Y(bYK4 z^{w0@4m-z=nzScmw((Xy(7>ifW}D|QOsY^RZk`ffZohcKBXZLkB(YqM#@aqdiBRD= zaE7w|8Ic$sdxdVU-4^UvST1Wf1Q}@d)-&aw>m*X(FpDu;}p#v<7B)PJ1rA z{#PuQAoKLG0AiS>{gYGYRmW?k9uct%5aB$NMhBA~DAdWB5*G2kLz)|fjt`GObV;g@O22`SA zS0X9u_|201o@D5hXbsiwjCGz^H$8NT+b3Oa1Sq8U<26`c&i2ElTqOooCUDO_|NNg8 z(Ef`?i0u*vqSbjJ3}NZWd$0Z91n&p7xvv|jsDGliZqVJEbrF=~uH?aM=n~;{&ME1^ z^vSRF5EBm5f1iyg#VF+v2$!nr^ z@*yZKX;YDa-*${0t{ZZF(U=&})!eFR@Lx?M= z=b*wA1dx(`Y%#_e8}7}O9odP&a5jMo+Bu-?2)jCcSkwvI=Ql(4(z)Z%V(7i#mGQD? zU+*q>W&iZe)9bBQe4eJBi*nZC(AFRv8P4Q&Hq|dPhF2>Hn|*_b+B*2Y-=2{a>rhRX z9q_vVli$7#C84?{w;9l5%ZQ{G{jKrg$eb^6u;%>V$nnCuip z8b?AJx|@jy_#J$tzG_~ibV+Azw#HI!XR~#J0Q1D$IoTf${RAm3*_ieS@fd6RD!PuM zcFBwCTGRNC`fx_EBgWpd9ik-JH^*^Lo?pk=)b<7(xOu>4&{hh-%0d5ZcV6roGKnH2 z>jwCH_73M8oVvm!*aaSO&S~q&>(BXopRB@6@wpYQdXT8CuUn7ChB~6RFB_rhMY@xn!-m^4h_M)!ij)JQ1-IO?-qNra9 z*MyBR)CNo!nlT`s#wDdep1+JWWR5yoBPyo?xN^7E&;kx$N|m+s*P^5V+mp8tqJLEQi%g&6R^ppFR2gX{VZY zB_WaG6cKs&f?Nq_DpB&(T3lvte?>-4vVXqlR>y6a$Xaa35?oyb{_GUccMF|VUpF6Z z=CxeGkQ9n_GW|9pkCkieSOd@!$)e13E_rr`$nY9}P}uHX5SJZbZ3nWoy4=*%<|Wx* zoFp=Qc3-~*tvr&N9)PNSRVZ?%a}!{9#=p|qAWMFF2|Dsc9bOdTRdT|81mo2$Vx606 zI*o+MY@?u6N3YQQ*RxeG;~cb+ulHm-ev;aS$F*A-z)bc#AmW@vS1^JY2lk6MZsZf^ zW250Z0lMm+$_*h2|A`ELiQ{>2WLsUWS5f1DNaF=~I ztNSU$!4}sa*tDcC7e|Z^;;^d-pWZx~t#4FB-DVkj8A=~PG2xl=P zF5cQ*KVDMjxuo~ktB#y`%_?li3jSX4%ReV4I;8EGgC03TUQwZRZMPbXGe6q zrMQTMU7Vm>Ilc9S7&5=S@l)?6AH{{5sG`E~U0#}#&U;plaF40loG{o^vW*G3?lHGt zq{)u4-{*#Sa-w1aA`Xoy+`*Pm!p|^>y>vj_sxGy2achEJ5G>|9+-T#9R#9$}dq9E7 zHCj{>pGl8YW}xGgo?0)gNORwPV-GnxN5@~e-UW@jH?}#ft)`o^=UPbyV+cOvpE?nK z`024kKke^(Tr|p4oF+Q2mbutG(Adkgg!*6mso$BrM|R}QJus*GA|q*gdTh{Ak!Dc< ztNcXuIJ1Me7{9X_MAp9Y`T*#wqoZxP$3SNu$S2)q-9y%Mv9w2^%f)1Msq*KkF~2;3 z54O)xq(rvoMaH8QMLXVirwB^syvf%GVY7}oxsN?bHgB`8cfPw1F-i!S@^$hp`WoxJ z(wl8mINo@z_Eh-1n@gfatR3L3d|z&_O4k&1NuDtA68a{wuCOkms-IL0DRVy`;To)g z1?d>xNU>4NEtP*eEcEVwwg$a$^FOhqD*?;uMM*gxnS9%NrdoqnG_x9O|G17H`Pz3q z-`q@Nn@f2b>~As+3Kj#qA6BT=yw&TUSHW2HGxTt!Rb0r(&f8;g1`6rG5(7tnWT{hC z@=QFlxu31-Udp}Bq*;K-)|Xj19M(3RWF2|$EP?4*eHm9|RA5B&3`h@ocdKa+XR5#P z7T@<$E`hdaR7saClzeL*fM_pjMkwp%A~#%VBvl*`OUVirTI6PdveZ!YIM6Eq{A{ES z>pog%)LQ-wreF*idm?L?87JOI?Tv`py_%c#o0G;JPuh=uh40q&2Zuc-H1feCBa>Ne zh7P0MoE~`UhC(Vxai-)d0au)G4oIqT3@!xq zN`>)PyQ`KaZ&e{1h2!c1cb=;b7%t70tI#xui#fvu2_I-ZQI4i`8LokX?E{g?qaHFf4ff}U2<@tJq?X_?4ud}7i+%H=t0fZA9nGs z_bK7t`3TK#agn!wiEc`H2g4SnmENv1okdgo-D=BfnRJw2nVCF3Xg&AF5#MlE>0JI* zObTu=BEM(dy&mb5ME%gnR@_Pry$ix`iu1 zUl?x4G#Dm=BA3oenG}MvHSS8!D=8MU4@oy;622RA2!KM$<)WG;Ij!3Qiq$}=WN$Pf z>1}mj_#VRA!cI*8YRk?=u-M9f2yj>bzm#H`!Dj_!A+;fTRc&vLUahgMVzFY&d``` zZyWqRoA^^h|MASt3lGZ@;m1C?U~|scCHvkEl-repfyN?=%Ac$ zaSUV4U%^4p`&fgvTYEUjTQDzkz;lDb(J1Ks;4~yZ+Fl}l5GLc}wNt(>;Gu0ooa?@2hlSN5ufT*w@Z(Oua^SK->PrW*2$T2*Xroa1G)Zh^sSc0$xgjRW=sHx~Jq)Dg=1G`EVch+(>z*>dS5PG9ikI%r zXL>$}Xq^=y7DOIZ!&ODRL9wT&q=EG{*=A3Sc;O^Hare!}XdW-jEwY9a6>@5em={S?v@i`VYGljbMBYD5f1@R1=N9k%=)dhzxG)pYkinzBlr~>mVi6G! z(l)oSDHi7y{9Z~?f;V+^8DX)Kx$?d?fL1GzoLb#Y;gWwOT-EVxNLemS?$#?L`&P!5 zIE%+t-P6Bm%|)R`a*zu83GR&NFWS}8vTm@$0_gKmLD0z%GfIA&8D^t>RR-!9EK4z} zV^a0;9=qzPW2`B((vO@n!y(zJl`QLL2(Ks)F*R0bfhT^Bqx%Ni#>8^7wzP5L`0?oW4q^x!1ixh=WP~L zXYOmP{&e&tx4B&yLUde6&ZbCa7u;X)?X`7El0$o|uRuFE_me1L>Q|{etAOoOFb`U3 z#AYOSM(_NU`(Wpd6YXUiBi4Ar8m(OcG<^4M@~UJ_Z&LI4!tT?qzA0dnyBT*fM*o!Q z$MupQb@|=r%VtPkLltfo$a@4vvYiZ6ODZ?Lc~_4iTv-^f3(~yy$BEct^;5mgIa%87 z0_^+OVC6e%zTfTa``=PgHfsKRALKj8ZG{8hW>|u>!1C)8^H`^VUVW37N#LCrw zGH9Ry3_3b8zemGa||auI{!BIBq9tg-Z1?{3Itna_<$YSyR~ zZK)m6Xz}#*F>wk;?l+{d4g&GpAN`@;y}x^~_OBIC$Wz0%Rn$qt3e7ZWXE}!!G2*H~ zEpz+_U#UntHP8ie9ICNIbJ|V5ti<#_Ul9Csi{UFGkFsXQQ&vufzmfc2{HX6g0jub^ z8tFk3Fai~x&0b!X&0qbq(+(P$NCt36#oTN>w8|v~(|P{Wx~1 zJ1-&P7OAye@01|bk)lGJ#Ln(30Q-a=&E56EEA8TzBXuyuVjdc1k{SV9E0)da4YRB3 zbFpuhNGV#pQYhsIkvQg_)w`AzCLs5>eO?w1%Nb*a>h==q?AjHEjEbqbD|TJe0P*Nv z362{FE_*eY=2^HCcnzV59GV9Q%5h3*fhKWOz`I0QD9Szm$eU4F+mQXG3L{~7tjPaw zD5r+WAer_bZ3Y1bQm8otr)R+t+g`%~qt}S}4YRif#ou&1Cb=SIBoI5 zEPa|mMDRk6rxZ!>h?J%a>=SP?h57L|-;G*-i-^zxTS$b2S1l6ZS679}N8q7UljPab z2C+MT?D=%maP$s`ecdmA47tPFigT3+egCa8?{&;$^x(~i9_X4nd~i(sxN4~`K%0XD zb3ZDxx#$AyYYC7Obn(SEWJp01PhAQ0QbyQV2hNdGk8;hov@wSM%OxQ@A98C?`i>r0 z*5Jslev+$N*2ulMmn3O*U6!i7uD6CVNdHM`N_6UG-tJ3edlQ(bbTBQFcm& znRfDJtH1LhMa&p7u{*kK^2$5N^S@V?s%`gHlS=MZU|#b!cr(1zOzLS0@h;JOq5U=? z^47$U644y4+yQMQG)(OI)pU7%R-@viMIwbszp`YZhKV%6EsgrHuEUF~RuWkyuIzuS zsyYC6;}qoN4N60BYq@9bFVh)C4l-+n3s~^TSgtMQ9O4+0_u(KJi<|H~F{ZG>c#^9EKlZw9}9H0C~k(gj^q{=SrnoIRfVhfsSKqWdGiYQo$x(pa^5+U7 z{};HyVQPjlrkvZwdm03Hm|%5*{=lff@?kJI5k|UUUrBbfMuDe_q1)8@ zoS1qQ>*P=9s)^a}m~?RTifoQf*Za@WzO1FT`$+aR+VDfPXWsEV+o`Op z4C5NJ=g5Va!JPwmaL4;RJMY6XllpU>sWydF2#*!8b1pUO%X)B*opyyy+n1fGdz4)r zEmIl2O8J3!1voJz4k@m!)2GHU3a_$$+z&-v^Z4W2koD~*Nz~|{_Ybdz4@_o1qm}dy#BUA4PZN`amv=E(_4gMy~j~@N7$}lc1w$)Jm*H$ zeWRNV*<-}3y8qHG&9Ob$`nXBtH*u=~?L^tz8KGe*;mlDTSEfc?X0Cc@c@e%oq2OTR z6j4h9(R4av#&rUK(CwpdI&*2@pZ*FPap8(?ko5(@V`Or1Qt>z!{vd^9zVQ5+;y026 zLl`3kGCKBH-F_UUHeHC%v?C3aB~i`QnP{kY)jhY$QXs)6h8R*>`E;?Wj>W#}Sugpr zRtMR@s*u+G06%}kmroP8#QbkSqD=BIMH@MN&*)E5CEYxy=kg}Ar{M$QX6*fxd-i_M zpWX#xM^7YD^m-LTdSVx)Ss0=BK88mbuE?_Yuedd6q6 z-Jp|>rrl#UQj`N>A+E^nFlRqY!dUQj)YouE$G&V$L2C#1eDE`r%`0OkvcpW}m8*xw zwiZIQ8*l?+3Sa#@Q~_I~)Trd*y(fR%%TDm`b59E&;e^l=e=<@U+DA@PvVS0J%d-Lg znGfi>K7eOMK}B*hZvwgeR0s{UEm?7lukOv8;?v~;>GHwGI%OMTVk1_e)N{?0N-Zzj_vzq+n5hu zUjXW6-a-B69(F#ZF4`eB37vC|pq`d-`CArTe)DIHvyp9rT9@h=^m$i%5^>u0SFr$G za6rS)XY0`Q$CuE)$_Dhm(JfJo-8+H7vjWg!h0bKre*oEBMPCbrP4dlXT~YVvip1pG z5eiW!jH-1x*1JCw@866XvpLlZxl3W|aM<-Lm3-q{4la^Z(VHTMZ%ULG(9XLSF2uX? z+FgMhN)H9ZMlRU&=%c35qaVU0jG%`+4-7us_eOXo26#&f8Gw(}1|-P$XrqwZkvIV)0Cdj5xLe6b)<7W9E%TIH{ta&h zVmQkIr?ni@4&KqMHNK&4$F=P&^m8Gr0N`y+=e|3H;b)zG$L9=~OI?=#lKHMN>gX5Z zFHMVu{TB0dI?R07N!EUZsO31!!`M9&MLyxlP(dNowb^Rn?-J|GBU}p&Vl_msk=Tk- zM_7d!1aDY}D(d97DE4#GOcZ8%ZXPi#rZkmr{I9v_o*xj>1(`+yH0>iVqO@`UWJwD?4u zT4ZecRGjOJx>e+3!nCp{8)U3ra#5~6@|eV9oq*e9?3q)NwpjR7{rfex=jz8B+0r&- zJBU |J_iVewy9I^W0xIWObrtWmhdSp@!hsSbnd)Pgc!*tDE(D>Rab9PuA1EIJD zd`H};fQ&S?Cj4sord`ALazfV|R(mIuJusS9a-9_g#CgsW6C+0dK1RQY+C>*V2kme-)q zDmjkF_dk{hByK{NFq9qWBo$NnBAqP2;+<)d&GLP8Pj&H|D4g6MGz!h0J zRL||mSYiCn)GvST4S=LhOk9fF5tzCbBVJ3Nn%3ogg1Mf_@!Y?@M6F9=tVi{J8c_}m zYA>sAp1zCdBY7`r2dEF1|A-b}0p50KOu#l}58t&3$t2|E{8&|xa-n)HVE4)2N^gM^ z-$7-M^6X(HZBuRo~LU; zm5+LbG|V~1?|Y&hf3QXnDK^<#yTEgpHnaID->bQGHvisHp+1;%MyaVYqs8}W1Y6c7 z$BynWvZ>Gh+AJ1e0;S31;rZk30<@5_e_lxy!OSSFE~S3OchDM-lA@`gXNQ^5CtVJg z@aVr?+{!zTp$kV2DHM+E466T$<$SqhGE5qtte1IlU$ClfY!?B7nP_-~>OKznp+R}l z`4&(sc+&wz=s6Jyi#WWYA*aAu0vw)KmNncvsCmcVt7iE=U&Chs0lmM8XtM zov+I2ATTc%_75ULX+IxBV=2L@kxn-LBOBaFq(Z5bf4)gmxSzkW9a;}mw)B@UCi7V$Q zSwI?T8d32I$CTNS_G;e&ORamOF#$bRW1-zvSB-Q&x(6#bF=E5IIZSF;S72yUO8mv~ zx9>+j)LxShiDpp%h$o$mxWD^WKE%KH;Wg4;415gMA>Yf_414a>9Ge+Ld-9|0H9(dh zbRx^W2)gsXegVlOG>EqIKfL}Yn?2#*y|`A|sMI;FoN)b-!=-4cG<^j(y6vXyxZ%al zHk;tahvq`BH?tW#yrg*_EBKU(U9S8sCy_X7n<^|68)|7`s1rWSx|OSRK# zoFlWUjq@Y^Iz<`&?SG@Xq&q{9rY9t`WE%Z}tdn4Xk#I*S`W( zsq=5*KP(6OXe~OYY;H6Q((JyC0V!*>s+~sy0Z+B)Y zakD-wpK-w59jm5L8~v`TS%9S79==yVL`V5B685o`j03dadG?GMFm}J_C5L~zOc>}5 zS0=8~J0;zKS3ktk_Rkx3dxkUz7pt&VAKRoor3fp#yhAodEdS_b`)x{ud-nkRUIv10 z#!!exFUirvm*}K#64CY#>7+;Qot^O2RLSI+eFrd{X4o^Tgc*zwrFZ5L>%Vj-#9D6qJeOgns3=~0(?6-Q z<8iX#cGa80y~)6XA2l~1s>yfVoP&cx^J_kUP}Ar9e-kSVw zr6hFyePb7Oe=y?U_AA#j!*;cWZyS9C(yl81eCzEFQQikCs`){RjQgvEyaJBw*QTka zP{;`Hdk-q*^7or7;+k;{ER!_H_4dHNKTD zq)e6QPgwxdfZY&aOi3_(0!UE&$1 znrE4NaKwPzua=Jw%$rNCFR=@diGMcbsm>Uo9@gV+EV^#j78<+jZ_{y+W~ENN6RMN& zShiRn%qT*N4>N+~gyEIX_Pi3Wx7|oeGr%w(Q{X0y+vhGkYW2@N{-qB_^jSt|8quY5x7J+#PP;D8F7@_SWFd7_25MR` zNX@)mf$UY$T_QM|R!&Q>`{?`_(rx&T+=*Nkfp=*QxA+V#HL!~fI+0pE?LQ-Mvg&*B zKMJ<4-#%&>zGr#_amt1j9e>}(*j0r$^+A@8OIVbOcNwuFZp#Rlsv_UK%VcU~6hDK0 z_>bIXi4P$-=Is8$mgl*-Q1?!B0dvZB4&~9malk9HK>~H;V~a=MOR~Eo^8XlknqPQ+ zy%WS*?Ug-qkQkC_l~(mUbJ2?;SHfK!_sD1g`gAQ(|x7& zH)ZnRtwDf?74_7_1ABXIAYkE6$V%U+ANi$I7 zn~+`FS&}8}qJz=%KQd-RLj{v0dy;9{4bFnnjfH>@wWT!0hw*5UsxeE#gld4<6!${S z4{XCi^eM>md7lN!zR!mIefxBI7OzaN^zyl$fkxWVJag(xr(erk$_S&X^Y1=rrT_4x z6V9%FXh~XAbp12EdSrX{wlnX8>zO9c%NWT(+F)`foTX_ey|1IR7#Xf#my{ABePD+Y zZJQLEXmG;_X!?9%_a9fTP3!w_FzrOkf4ffdxhr4Pu2w72jui`E`FfizZYB;uOdVHK z+SB@i?krYNT`9ZL50GXZPnMePJb9XC=$o1Sxhs-3o3{$BvLeM3DRM0d+=K792S4m4 zU&Lx=Dsb=J)#GbitkWxYzMmTUy2$GuAVIc0e%GvW;m}LXV*arv=YTd}sCco3=Es1= ze3y?BcSEX_qn`*6H0=lK3mHe{Ac&z@jf`jm%7|1C^|wS-@X`VKflF9n*8#%b5iIN2 zlh<}?8{0gGA395xd>``-*~Ob<8aLu99p<6?+!h|Uzj9c1KuTv7SUAmjZ3NFLL ztLf*ai=_5R1#O@o+-Z} zNs?VVrUvQyfEiRx3imvP!khi)9j{mCK^d>F%nGzP2La#f)27wH8ZTdu7%_VW)A(y0Q` zs#MAq=LMVF!5clnAqs_cB3mTwVrt60hr`LT=1TG!Vi}P`tyz)pj}OqSQ$xDxkrLzq zj`iKMd*fS50Y42NmvvS9$Ud(Yi$H!9yPrj9qs<;TFicZcx4l0?28vxQ93dK(4@r{- zhLlS-VLW8CvAiJ5`~>)%eDMb~GS<<)^Vt!`^6p94xF7b}G{H z4NZ;=YZ-oGb<51Ax6I%G=SNdHHp_^Bj%7Mk+W#}ny8Cu>Qv6pGHT!G%alGk^3+^wt z=GU57^NF0L4GqvJTi!h+^=EbeR;*Y*C?y_hcEi7;p8>xNxHIMC@qy1fRZ`@UyNTh_ z(2jTQ#AJ&kyyiUa%Qku%u#N3P!tCdLkFdowg31h4$I#pOZ-4h17I)Zo&?Dzdk4#nj zUED76GLMLkE>p9mP6m;x`g;P5fR-F|b{}$5#OB%y=M!`FP<&=a?=Weol+Gd4^n->r ziwRCiwsyTjY*UR^=%#{#)JKfW0{D{IYAK-Q^0E8&a!iw$eKGKe3*wqI%>jEm=0dCq+MhQ^={{bo1N2Dl#2C5Knz!3itb>_OC+z!BcZMrQM zF%28%YN=|ZN`Ri)u6aZyGA$dswPd0%Y(;HwvVE@sns>`9y|Tc{YLT~Y>ReSRfI1z? zIz0Y*@&Q8+K((9n~Pz0)<40uLgB+m7~q?%4jE9r^foKWlp$yX&N8Yfv9&G{8^Lpy0Y-1q$QXw6a8WpxA1d+ zoiMbU?~T#Qw}(XnhY5Ae=CY}OI7gG&xC%2){`srCiG$%A2fIIc$Q#!wnRffO*KR6ux1XSu zJ!$UTDZT^YP?+>FrO2Gq{{tXjD{D+LVxF4fW62>TH3dl(g?|ujKfY-wpV;EtL!E4l z0ta~TW|r!gC=c^hcg{c2*5_W(*78*{=XhT-|7sX?Ow99zVa36PQG-*@M=6I-J_xH5 zy*(vcCJPIheKZP$l+2eSB&GliT?`DDx@#$ilb{4! zCT}U1Cp>VsJ1n=^@OD_4z%LTiCni#z@|s}RhJG=L*z3khm4J-wSd~YFv$7Wd!YxE~ZYd!q zE<}IG#vPB!6WX(HT|(c|7!GZbcM%U=m;Vm)R=;YE^0bd~Sl)zgPh+C+L}!E?gzqrh#pYPhr3$FP{^i1&?eX;%!V8QNVMDG zBEf!pq@pMJlg*A;p_18={_sR7-7Falcby5)9m68+r8K~OwirlWR^|f~u1dl$4-B}( zK_Tm6)T;Z`Q6S9?*WKLBPz{WBC#waR~+PWAx%EDhBnY7XMMa} z5uU%PqhJ_XOnbX;Ge`k9t~IZ%YZsU9>rdN%?u5mGI^>%-lPu>T9-{#6G)=v+L~ z<+TnSa-L+O>txl}{9;p6$UCM5?$^M$x78o@tV16zNQsLwtMpjq0c*227L#NY4_Eys zMrE|yu@_Dm7Nr)1c{O54x|AZL*O@jCl}oX~nW7D}XKgmN0UQBOe~!iOzx7(jc_E8; z0q6?WU^V2foTNXzkv}}A74BFR>Ln9-#1j*JD;C`Yz(QNx+}G{|15{kdsJmLp0QTL{#@rmoekAW)-CWZgzWsK-y0r*!24Ktfn z2aBr+N$*8{S=YgDR5L;q^C6q4B+^6LTG3(U?>a?b&&eA1UsnKMbEpl;RZ;eY?Va(Dxk_)cJNa3_|xZZcleBN2D-q5#PQ*z503I}p3)eQ*t( z){btDW4Hq3^< z_Aa8pHST9zU1UtSJjVo8ZO+!B1iiXy`;tU=m8}qn)Ca@)qwI|4z2^+vehTkeeLI*) zAGx=5A?aPPmemqkWc?7b;PTXm`HdKHhEvjw{CgG-LNqE7W-5jK#u{wW!@%t}|Fe@Y zLX8U0So#!qaDhjnK2d$J;d;a|rDYw}H&b&nTibN9&1QAJwh^i`?ejmFSP4EkV69j? z(az?RmyG!3ArMB$;NO!$P33?2RwmS1`y?~{&?8k-Nfv5qSJewN1zu`FBO8#I&z=^V zH?N=kC1*Z6VD6LLM)_trnF-z@~yKLTPsC7_1S@ht?b>`+}v!46RVQ$f8~E>quM`pvL>dfSjkM|A{o*yo}Q55TX-?lDqifjb6;@78yyuIUo|fjvT`X z+X!PSUp-|;)SisY3WR(uMRIiH@C5~Nrli@nyA0LOs(Z4D zzxhjBp2{6?Zx3B^s1i7vLJPhdj(leLI7#x}&e4}0_3dEpt4L$%z6 zN|Dze1;255N~hm`su#;Ekt`8=mxZ;_Pe&+zxmyDtRlbpfE|dJ6qjYt)4;~;&ckm=^WRDbD;VHIt68(G7Btk+QZIeoVM)}?1wm^0&q@U8M&@Aa}aC+bzK|J=gEWa3V}n z`}?+Sp~tRX=C}PT|2HQY{3f{rK4Q2SO`Fa@;)5Ugaf({x5H?4XHWYd z^T!-c5dU^jeB@oD_^EOOu&|0QKi~*(`A0+!JMm?pl`ERDmgSP!eZXlm_`3?>3sbc^ zRneq@a>IO)DBtLbQ`V}mSyfvbjahk<2d0RBRRrMyTOQ&Nu?GF8=I_-5B2CsEZH%tL zOiHitW%WXtf9O)#Wyq;?GisZR_KP%G;9ZHjTEFq=_%o%NC^LynyW`fG?%7#6<+gxl z<0w$fn{QQIpe*DcpGMsKhJYN5$F^q$f4fI*R0@7_(CMEX8FSd+KjWt3AFmvhV;0eJ zete1try>rg7dSfC(1M%HBzEC%maO^uHvLPoK%uHlzaKs<%FD0*0`)f(4+#@G_cgT- zHEDLrREiv{f%h?v@g?=Nfyfhdm;&;e`iuD~;JKgKn!X11Y64lfgXDqW3Sf_{HZJC5 z#-sN6L)?3;s!yuozdmU=^+%9}HsW?To&BCphj}rSDvN>5Fqi)6qQ$%xFPionEIa6e z0I;y^x$rQ;EP$Rs?a$hc2aUX$a&9Z!YB>MELBU2A+oF-_<~*eM$h0TRlrBVb_IHSr z9A<#s7d6GrwY@H_Ry8;bp@ih@$25VS6CV*e_>>Oy=@nF;#`16PCr6(&`PJCeD^MTA zkk;)29HToFvOK%rBH4x`lxQyicpQ2R6zLk?uy0F1L{MLNdj!u;ZG@HoA6su3R7dl? zfhK4O7F*cXu|pyL)gwNI1A#aCdii_rvA){;Tend#j!gy|XjBTRYa> zGxIb#pK~erpBh|gKfU71Ojyi1;{@)0P99w;o{>Ak=#GbEZ^J-qTCNbHKXa3%{~{kp zVDFVC`VWrq4C=~!;ti?13|+-fbPbrf#_xM~<}~?{a_xmg7bnQQ++Ij2QpdF zl~Vj&mnTqYOnGt0lCi|3;9`RrfwJ3X&rAILna|ZO`w}E~mqkq~RCUxJ(s5&KL zrxyw0?bckSpFi;!J}G^lboxz-o91(}N}ekito#G-MjKCfJgH_vuy$a6Azb+;A*Qs{$)GlKw63K|wytn(*#Y}{#U5>3D+Ih~bORlAjL(2JQ!CcEp;fZ z^&)hUQo)cZDt*tv{K*J-*)}~s=lO!x4Bbvu=5Vv|d<{GTUs5Or=?$>OJn$ERO`ITR z={&8x#0bv+m>hPXe#pEtIWSg;95gWFvd;%>BokSy6m!^$1nYr_Qs5@}+shUj>}cWc zP5jUW3o~ZV*y;zf7)L zs6vazmzfou+|=KA8!KDAU3e(#Lk^aw{zY>P%twLG=^%1)^088im_%32M9lMuj38;+ zWCEpT#=$J`m5(+@Ujcbkw@;Wg?wb9DdhfoyD#CAOL}nShn01=&UlgR~k}NCzq#6U6 zQxc7o@@Y*lz%o5dsj%a?P`p?2Kox~QGff+DVPfJWEA0R)3R$96_Ej+W=M{x6&LW4A zsG{r_(gEX8m<05knHx#^n8d)`6kj1OGII^tMxje;VX!H(jm2Qha^B|Wr3KM7(rW9U zPNI!B;r}eng$T&;iX7^_HuEs&l_qdOO$E$3*z<{^fYYat;mn&qdlu0=f(UE}B|9o{ z!<=1pjN3vN=_1PDh2olYd&z^zJbe7}L9#mw6Il(;sM(1rd`%5ut0&fA@w&W669!eQ zY5VtYXe}BMm0c-Jx0kM<)D}udGB2x>Y#gwQ`5Qc*xpy5id-41K1K@v2ii8DNgXjf% zih+s$?8j|`3-UP-zr<2E5^q?;lDw<;(MsV@OcW& zgOJ)6Y6`!&H1pDd)*|B2l1_?HjZ=xRZeTu>JZ;(#M;Z%7dw^2*2Mor&*BScf=>$xJ zLF7qCgl{QdHm#)=C!Je9<8J!18IXo5L>88G&T1-2X@(O647>3vtM*V~TAw5bSAIz} zJ4lJu+9VJ*i+HU1FOmpzeS%_0CXN*XCriL-f2E2wod}NZRPeMJ#2RJ$m_LF11x@S| zdIatn_G!FOx{WB}?8n34=TKr+#Y+DPAy|w+Ql|jSAZZ$54z)CQgVt7_H0iKd+kVN3 z4)pTQzdo?y!0DGLSjjSPCGn_zp?FPmD5F-IxPcF;1_RagDAhj(4`F(*DEmo;CqGL? zI0(~~1eDPB(Z_48_$BvS;ng#CWkvOb_ezvw2WyBznPtJ?XbT2^@@V;_Qv&uUhzrl7 zR;V@%+tC1PHnu|jPzs8#vu8Is5#CcI?Y{miNn5W11};ie1H1D@a^>@KhhS1v1ldYc z;%A~I-7JKKi^2BsYI76Z1y=Pu=CcL*;WVn+69%1<@8>s?s4(M;O1O8dLhg1^2KMEs zx<#kJFj#HMV0)Y|u}$kBZo=~(OZnC+ReenQT!w!nH}8jb0$Axwb4^^p1I0*XTzC3$? zFAwRUxrFaDw(nI?j`t>&-jgW(>(1~9RhX*`bLnAiwT64puPZ0*s|=$-d8<-NP!ZAO z`3KMd)nh=_?*78nv*qx4IVf5F3UTsox#pCm`7|cCUO;4-|Ga#H>Jhr>DnxZR<}^A- ztzQ~(xf5w{n|A*5ODLO#$L^N&2SyK|Ko~E+pK(uG2K$jqY)#NKE{E*;_&{1_Zx|uj zGa#l=m%|{9Dpq5UD#rsf>R1)@>+Du_4-q%{IdZJ6edu$?w}@UUkL@_DHFx76z0;{G zqr+m=EwG{WKk0&}JwZbPC00Y1ebx!&B@hMgnPY6VEWY|AY0g{)!u(AS{iHX*7WK#~ zU|UZ4KhQ;5c8lsZ%E_*B%e8;6IW|JMobvDa(N%5UGt@%-S8*afuM^gi87!n4OYtip zp`e?pj#mlaQ!*ioQ8q$C2bR7ZLEIWHT+Foz6SNx`fncO*;_p;`K^xoy4uV#P^^?j? zW?EI(=hNuM-HiMWM^pfWN3V$?X;s3f``#>%`b z0zpa00z~;Ej9S8_RxL#AAW+RkEucMXp_M7@v0#D9#T-smrcAGJK#_F+i1Vn43-=>) zq!WBzf#X;mR1Z?GO5kFy#rG=<3)w~_X4-Xig{pACTW=A;!FQB>uw4VKu^=*lGo=t) z@(+cVVJ2ybjGRNXxdk$Pk13fb9W_XY)E0}|q==X%-Cs?gS}0I?#t)NTlvU>lW-?S< zCik?UW>DAjLonPC8Qy18R{LrBm^z8rMpC9igiq6rqxAWb2#R6)QU=pOL0aqV$WxUF zO0(5KX_R34J?_H5;aUPff6Q-7@0^Hsc=Fnj{K=k zyh4z?<`r4}i$W64XK9|FQdX%7Ju`C1$~^qaxk9dc%I_{PN3#u)Fe7SM%_U|r9==pk zi**z<@_#0xbe86$-1zw?@S3|pMr*Fy<~{(Z!|P|NBD6#Y*%Q+LV~}s1IYg}JF)x>C2g*;qTvs$A_NP> zKBdMAQNjk%JRFu~#s@f^CRX=*N?G{ifhQXBX#%VeS!^Nv#qoWWsp)LDrdIHixm?PV; z6PDp>Plq+V^5aD3g4feVr8&9;Plt~`KA8J@Iv}5K;qN^%2)7e;KQs`|?^TAWaeY$*H^w$Jg#P)x$+rlsEWz(J{ z#0peXZYU@sw2GxK%8jjzd$mUIB^<=A|-0(M;(F9p9oy}&gqExFkm~j-poz-fo z_5DsEe*5>?3zO2K(f8_}E8CPV4`u|Vv)j$ifOL9NT#@yb-V0SGsIhrlc%3TFN=%lC zg}Z`R*~!RTR6mhh&PtY`F#=&XChvKk_tV-4AnIK=$wwU}-;~64irofh4YAnj zj)D_Lr*t$EfrAoyvmShNn-jM@^RwW(8(xvgh4w;ffb^8oVkDPhMn`mVW%Q7ep!M>v zjMbJV6)$W}0#)p<9h;vVc+=U(4q+BYrv6aV1YZOHuvu-@zck9G#C^Z>Mow>)egcoM zMi%aZ2@4l(VvxX5dfkW8#~;dxxvHtmr7`QNF;^*)6>72(#8{(lJG(<# z7>tC>fF{<#d{N)(0aUdkM0F-uz48Ky3QCnw{KOar}uDN>P#v*eE*~zW+yuSCWR^f4t6O3Y8Si;#%#-6Rx zM8A@)ek}%Jbw=wXeKIdDr&NJMEul;jphrsibK}ZP{U=Kq7Od(2TTK=gcd@jsZhVaT zqQS++_Vkz-wHn){!g>;_ZggIvJ9%HN)V$Y3YVvQoJ=a_~CP-OY*!Kkp4qiDz28mk4 zwTDy*Vv0@22o^LMOd!XkPdU=yAqUK?NnIkLEC`(+96)0T9_*;rjT59`CB|2I<}YZE z>6?%CuIPtbI3R-2MJ4tsd7&}#>pm$t zA!H?BClKaW|Mz$HT1?<~8krv09d2Ew~RLL{Z-byD4t)WLt zhmo=9nxBbHe0z)JuM+I0rJzc;<1}m3pVUUYmA2y2b$eY6%Cn?U(VgjG@Luf9!g1t^y3?1Nhm~5wwG=Q1Ez$nbk8V%?maQ9)CyO+RE@RbQ zcl`ZYGD!Z19SpA0)(|2#y@~6DMLM@mYOJGk>kTLUrMbybKRu!hMvJ^B zV%Z;X;FRDfBOjoI{#39+MgLeZM21x(Ps^)xNVR?wVL5{?ZTW1W>U&5RoGutUH6cwG z<&7TU9j`vadgflx8B9H1JOspxp(t6=OG4vX2OXW*w@z^7Co!qo(5^m31Nl&_tSD@RX-#v3N`n8jHfE`91=GK z{;1hrm)Z}S1alKd-AVk&2zAarzwie+yQx%Q7>=?Q~F(5 z=a0x*XFu( zPi#B&uc^kE+tB^_PVaEN0d8)@`rLroHH*cm{*%N9IqR zO{J>|qIPDnp5IBGnNZr>#oHBa30Cu9b-7mvwvbNC5zmnL&?l-AfwJPAbtasofT@P@ zkIW<&hf!EtxgeUTEC5?EIPoF(2ZzcG&8xr5NE42Tu(0sNj}o6>!ba3u{8;-J#=?Q! zCi?W@li*?rgsDh2nl9K$v{NBK7GA4N5+ur5Y3^`Xh%K@O^*wDs$8xXr|C($?1u z{P(vIi=W=roOy*U>qTU~8bom-2kTbf2e`SZ*by|UZs}a zK}55R@8P_f*$IXv4N|FF2D3YezLjWS!(dtxw;0IiV#&j1#1l>^(PA~Xo^qfCPwdLs zHt?VxWKh7;!bCj2X1LQ1I1z5}62V^B2(2`yh&g8u8@loX;xW6q*aE5MUWnD>Bet*S z0l1-XcIRt87Ehi@<9FG$sMvnkiR5@v4ml&F=^Y<3?#eukVdcb=fCLFGU0BSg5v|V& zZLne&Rm0k*TW@Scncl93#E@X?_>{iclk zUNd2uH&{h-v*xeVlJ1J!?*8PVif)e^cNRC0o&sOY#Rnr2*uzJ{)~aAD9m?@L&ONqZ zoWk%`ScaF_= zyy1SzIft5(6BN1dYN}u`lp*xL@WvA1=GEY9ZuQr-n}!x`uQ^`di$b_ZpUe8rmJEwq zepJkTrCaT~a2gL7cB&MmYzWlA-L)`&OX?tx*m_?Xpi|++d~=k>W#)&medl;?BWL>` z$Fs33(V75<>+`~CRFWwwWZ8~Qed%@96i30OsHwSL>9V7_O?foQRx5;akqGH=y+`VW zOyXrd;dQobQd`gJs$+Tewv3Hnx$W^puR+(#(suJ;k8WRFzLlN*A`J zTt^Zx`LJ$Yar;b{o<}>Yd1wdbvhxC!abVI=Gw41(m}M|RUasH;TAq#tbbQ~s7moh@ zS+*3>sQBx^tQXJbiDef^$N1`U({*lNv8UOUY|u|s8JPQnSc|>`kPiC_wvIgsw!wCCt%ZaR{OL;r7eX1)u66pMyJ%0-x>bv zv8wRDZPrH(AFC?s>)g^B*dXt+bO-Om;M}?*Ky~Ja-Bz$8@mpo*JY=@h)AGm zNeA1yHxaO>v;j{V`#_b)bPmPJNYSH5=tV>YvZO zY$eAyig86tM)~Z**|zW)7sTSj+ZBM0B0HaT3}t>FuwC5JGbj0}*0*d@S!Gh-F?Qqa zdSKmL@SL<@RlFH=3;DB-2e+Wo7g#vW zEF^IQiUqWTX?^l*W(ZI`$cFPII^Tj791pUSNw9tecfdalAAWqA(cb^FtOX>iHnxn5 zo?b01dA^NkFuZ&S?do`b=nmuR>W(6uL3lm`~r%&9sT-&yTqP@RN-^l*1?t8t2#N zVQ!WI>*!o}C-$5p_WD zdZ;KPr5zqY@B%9vx9Jt0t1RKN-z0L$lsTvQ3QNDexFxc}wI)EFIO7AS5YGfM*+n09 zx58lxF&r^|6(k6MpEPmdcGuY-^(^G*N^2y2R`pZc+DSsBCt;-QV*pu3X>^F-Ji^6vR*` zclA`7J8IzOqQU0;YzvHq-TkUI~9LdB7czsg@+X;*Q9B5+a_jp&IA!dI$)e=t@(yM<@%-PZ|a~HG?rZVPpvWcmgQ4IR<~#C^Tf=e4$Rl8p7M^~ z;wwhSkJSMXqF`pHn>Wr8yQ4RboqjX+)HGw%pvT|RL^PZoC-JK{N+HDKy9=3Qk+*JtI+*Ko``3;mv7j>*BJ<&XsPukVsaVB*wE&Q`Ch2-RcS z{zmwwWyVJ_%vust$}e}D-Xp1qfTxFZ-CamG-VXZ_w$9D6tqC8g%-{ogktI(mVa&ft zH-=pG7GVvb1WLU-!(YQYs0VAduxrM%LqMf(5~$NVWkB&9t?L?u#F|0ISiC{aE|*pL z>-?WfGxtg}Ei2_gcfrb_u`8A07Tv79CBFnQyTzieawd*i`}+}y5pCLPe#CiQfg3mAKSy=kybIdaREMKG1Ww@>(!AMb2Swg@t@Go!o#(O>H zFdh^eZ*{+&G;?q3zb~oY?sER^KkSS`unfFp2h{ef$n*OC)zsjsUJI=3XMv!_fP|^p z9V}y%wdi<}&OdI;{WuuDLjVVqZXPWGGndd2FGP|y`cpHOv&$Q8W%vyBb0(JFOre%! z=tPZnzMP(0pwWGzAjN7=qGH$tE6)C!+gW|bwpynpqw->y48_J}$;m~I;-%Tr(zSm> zLknkC5Ohz=zgantb^P z(|eg_l;CU11nB7|ZmM_*&FO= zgx=Q~w&_`w#2iIC0H5 zjG>C)#(Dnuh0Fck_PNuj$@O7BJMfrLBM0#P)`+sojOY3DspJQPi?-BszOx*oU6AmOLzBvFsP}O9 z2S7w931NoN!)sfhQli3@eec@w6AXFm`pvQN5QqgeFBM$gOBog|DOBohmQhZ} zOTynskD+3yVEH&dX8nPr*DS4^5wf2Y0zjBNUnv%Y3RtI(Q}u3F0Vi-elYP6K~F+{<8f zmp$5tz3cNxT@SOHVfgosx$ujFP9R|}c;Q%MCr9POw^VsseKozrV`?gF$U*QdK(Ww# zb2q0&X}5r}yg}!ilsH5AvyfVKm7+lxLsl-0$rn^xPln zKZ{ozX+>+==S3%^k<110JzDfV(Mlw2vpEHLBy99qKTo2=!zw;a2MFxZ&crnOhHF6O z_`=X`6rkt2U?kAyOoZRBumHxUKv~zeJ)hsrv0xpj-aSeTz?jSv!`oK)07R0 zJN4^+BNkHLBb5jGeXzqz8>jB7_vY-V03VgQY@?WWO`Xf3PSX&Pj<@$Q2kJG=)sZv~ zr;Z4+y2-!Uv@@nqLH(08@7K*yy*8%8^p~UK4uaP^k3}zMJ(VH?8!h~0pis0KB6#b} z!Gh^S%{b&t_%t^f3a(0`11ag(8Sp<0iXUq&-s?z zk})MQOy^e=^T!?de3!H@fY0u_K;u()4kPdoe6ptP-$n2?(34Ts&f)nqNJsSAq7u;W zs^@c-G%26GnVGR)w&XS!(qI8Sr>kVm+*v{`2v_SsP4F5nW8nNleSL$IXxycY(xaSVKL3Q|JCM0zcQx4o|&wD8^{_acPsL zw=KB&qh7yy&yY+ZfSl$$8s5%O{jIC6t7}3F!?k(Y3S|S{I+Xsp9=%h*lHGuwK< zHvaEeUW=j)Af|GulGh$q7^gBVD87Pyxq@?l5S$k!8fm6X{RIk^y#lR%{q(+Nz0NDx zn~9sHN_biph%1@L(1fS@84BScDVKu!Rr{~^C0F<*VYy>=ilFG__d#HbApLU@7`10g zs}dcuNknP7=fUl2H$L?Ce4F!3`3-s=+GsYd4)Qcn;y|DdS~840e=NRa&JMD|BJEq~ zYY`~Rw{8*SAYJIvYkQiqW9+!!AH{*>&F#4JY`IDR+jqM}vnPu7uy5M}w%NezamG2H z_ii^?24gFY4gLJWVXD9A)*nd1udq1)|L%FY4+>iH6=xGi6*SSYs4lijX+HJ6HMusz9VjYq2`s~byHQln z@eeC)K25Wz&C&5=Ao3hAKS-zB=p5aO=zVdj#?gzfqVtQ&Ci2P$-1rnZ z)_vTZH<=ml;?B~J!+drFr1QmzRBFPexKEjF8&0Uz`Co2#?+II9E~&g}_ysun>f~A4 z;gqNE*Wi||yLk@RoJ{*q*V?>_iaa*L{#1(mSlgrPn7`bR$2_0NrTLq}#9m*&c8bi? z6$n17QEhT(vI?8*D`qEZvG1P)3f&qYPuG(@b_4pGS(5Ge-Zoz(de*WWT4_PhvGeZ) zMfe&m>uqfahFULw+s@j#1(?d@eY!lfm*13MwBN>KgBoBCakLpOpMjM(WiW8Ovk`Fu zos;`I&D*vJ;n*@;5>TpFBK98hIB|xM$-i6^F+uE}0N}D?wTtxy$^uAAOaPHbebZY2 ztPL(7Mr!QF3E$%@z0KV;-W0@2`8nGXsOPq`IL&YI)jAux3|4Vu;@9_4yPRV&W z%};Upo&Stl@*zLu&GE5kzp&@xAWhn_4CUcou=0;XfzkE)s~MKfbVTU;d4h(qNuG|C=9^6C9|)23B!6;|gzX7y#iPfZrg9gJ`f)1B$SRK_ z34N`d56LP|trNKAE%$hyQHgYUIR!X+G={W9z?lxZv1-a_+rZMP-9G`Xo#PFIh6dh; z717SRegUF;#iQuA#NGd*bCq^oS@?SY{-&-&@jHSv5Lj3+lRS7B>E4P?tVImT zC5jm3-$lC`q07G>k6LExHw_G!oon&dxg>H-%J+I4re5f3+MeEi5!n0sJ!|q_czrW} z|Dqd7{^%$G7`JYJ083qT5N;jkg5(KTUoIM`Z!Yad33YgxoUA|ofMC3}x*X;XpTC_Q zoj+3hgqnJL+ulu(NT^kMi*-QQ^a5gZ-QBMb=Pf#4;XB$sLHSXYHt<)yY)&1dtw&~i z7&;%umA~D=edhJLSzf$(IGI$&tNdbs_?9rgtM~;IP}VNegY+RGxqhw*X2j#VscVvcgAO`TLQ?MjV|7h;6`^XFVegQ-0p}n zwy&Je7G8K&Zc;j+>}(D#M)y${zF|X%Gwj~>hOBT3I}@EEPsp|NY}?%}oHyOn`Ms}) zLhRmv(|o<*=JX<+%$x*L6>x^Nsmn8z#Ysr3dk9KcsJid{gdCcQ%%bp4ul);8Eh79G z+T|{!&iG+2AK+F(&X|hYv?JmRZi!nVep?ogiAmT&xel}6BbGnh&WRxuU^LS8J-6V8 zBZsc^ewdyN>SyS z_Df5@dGTxT-3;w5R}C`-EB;MKyw23RcJltm-JOtte7V#Iis&eG(1ncfomQG2w@0y6 zejzCDTrP+Qx&|M{7uL^~fDJ9G=VojI8R~ox;p?41J>(@A0TfOdPub;8g%Pw%;!(Wh`HHI5;k7fwn5~{4bng@Q z_fRtrjufi{z34Y@?kLV$t1J576<<=hCRO^F5kdhJ&AszNS8`?NThgSca4rrOCj}L+ zjxQxCYr7tPjQJC<#?dJP-q7IseL^51>!tSghk*c++VklV%RL>lA3b3v7x=B$Kv&JU zm_U3THIviTTI^uZkaPR+?8=KMHBE#zh5P#za~v%N3hlHi@6-~QGoUX(qBP&L$cHqRVxIe~u`~lFz4m=Xz ziw4!~JR>mFMitJEUu}#yBpuK70|b26wL#G0yMx~m67%_?#&g;Izh{S%Nt=`U ztRj0D%E3+3lrj-7jdu(cN0kHaXeg0%o=0Csh^2|J^ zFs4!_cctNeaLn>I6Wrya-~~vlUbgrcE*al$Q?%Z0Tg`{h$IfyDezZJv?0b-0#!b*M zzOg>6zi#_kzTIahzbf7)ibJl4&WZlAl&5|$nNkYDs68%3BYGUkk2>~v zju}0{`3|#5_HXhaOu(A|c4AKXJ&fSic)Zg(f8KM6Ghf=0=i%-s6#yVdn~-|rL7?HW zTe!94Z~29aOSscDB1;6?_^X>h`^#myBZ>E8fOzH0WlYMtS04uQ^lp%R4#l(Z1Un6FN+Md)x4Aq8rkJ((^?HN;QU>ixBGc zFLc&p%|0?xfi%MW0R!;DD*sC4UxLPtD~}5$H7a=nGfI#>3!F?^nH7F}ZIJJ(I5rT< zOyeoRV&eQd6arzHu=m#IZi~T@ryA{#1S!}k_PfUjaMm(8>Hl<@E+=XqsAIOTbB6l> zKI(g$VnK*uXMvy9S^*3V)+!v0r`z6e7J&jvy5SM!M4FApcPlgNx9?_eGRD}Ra?I84 zmvCqMJI>y8fG`D0EJgxi;(B%v1`AmizBZ(AdTd)CHg64qj)1%djH(MvvF8>?CLMMV zwNB_D_M$=Fd@sx#dp^kpc0iR~?so7GhQwBukLcTq(PB9s4>HVKqveK-ey5J^=9Mt6 z+n^5B8&b|6k&xB=mfmr3a}akOPl|=JNKwWA@UWKvyfJVUps<&SFwy;?5BmLQB=$D> z1@}Dy)+lYojM_R zrKVM?b+hdcW>TCp0Mn9yZsx($vYzNYSvs zvWn^wAS0Yd5JYJ{4VTfAK@`5%ZD6+7PM^FKVum_!(ij*Qk0F2eFJJdB)R?mOjbAo9 z5osUf4$@N#?;>g_dGd8-?rR!< zNvc3I5#2^IlS%AZzZ$Q05DOco(%lADMWWG_6*5Nsyza(V`SRi6KPhJy&RaF9^?h}} z8Hva*&h8%^Dx0A=W6wT3;?!V?bhn$J4}e3r>}y^q;X>1z6zO~}=H9-zX~{Rsc0-g% zN8p&)Ma^lu+9azcZM|u?ByOCqS=LJ4M?C$a763a_7XuJdo8eq&b}`U=Y^(u}KUQ+m zU_)(mJwJFfxr*?hvb)5DaVOCc@i7K(7)>CqdAVOlr4&Y&X>FBGh7einv<|d<%!vF& zizAU^BlYp?ky-d>%3o~~zeTDSag!YkRl49yW5a)hb9Q4Q6H#^%zV6wv11=w}DGdj~ zw}Z9$dM}^(j|gubQnr!}?|>cPmQb(v?mYUrLnGen9_Z(|2W$uIkjBKv$34grrIFej z7rf81CYKo_69gkd+Vpux_6o1Pr5w6@XyHZ*CT8EwuihlowV4)f+RjT1c$AS(8SCTk zZQ%jS_*vy+r!O_w^75Mo^6Wi^Q}@h}nYE39DpBCAh*k)u&E7&yUlV{Ku5h`V{V^xO zxXWSa%frQp{{r<@4-cCwnWe2K`eMcp#RBN(eUuRbb{C&}fu@r6mtmv%ny_cLmyrj% zd;Yg5z1!tO$lJp8n?a=Le+uI%wi7{4&by|OOOWX}6|fuegR$pV`XoDY>R_O$knGeK zZLQS(JseZi5p(H9pqPzbSSpqT*JKudvomw0Ub8BlE@72z;xi#+_+U$Zwo@}_=V{Xp-`Cd zi|D7MLfXeSj|&Y5Ff?=DttWQ=g0$k(H1-;jvQu<;Fo{~p3pz_7$^uT0ta1h-MFu5E zwa#DOxxY7Hdi8H0dd84F4S2jHoHQ}-YmR(zi1WrqCNHG%QLkhD>H1kovia(6+Z);Q z_7=xwesUPFjQ`C`%qTjO)ApNS_TUH~ zD!!>d*LvO_&YNbg1%pptzrDPBwCay7wf$7?9pCPO0Mu{rUW~ZdoommH4xaybRr%G0 zBL0to}<&1)* zgqT281=*qJCoYs4F;ll#Ph^)_RPA~S#M*{Ni{FzE?^k&QPQCCy*H|ffLyh0MSD~-uP?W( zLUJL_Q)#d~pBWQJ()Pu8ifPw|S?A*N5#OvmXL%T*-$ZYQiG1B3xA#X#|5DPVk9BF} z2SxI`2UmelxRuc<@lA|RWhl@*J30S~io*xKt(vc8P6nql*F9rA{ z@T5L`g0Xs)wiE1lyZx$_qTBH@IjqhP)1M2X^7Y>BKaX%B7?rVmC|e;{p^@yt(L*2W zcFo7b^Dd<3xDcUEBwbj;G225Sc;3&C-SR@!^-*hSy|DE;L{mc83LzeSnW!giGz|My ze1+hph`_>p@V|+7c7AQ$`>|gv5eRcB8|xgKE+d{w_!%LIc}Bx;Sjm4=qVYO}X2xnj zxRBT%N`DCaxbBc2`HX|O+7|6Bf2aQ3>J~TG?h(Iz{)+diM{ou)#Qwl@@MeMQbq-J% zcq+ejpb4CQ_qpv#F(~rcgUY!`ti4ISV^l>aTj%fJFdw(z;euy)-NdQ(Eh$vq3kbn~G>fnj54MQHnEl%a# z9qy8P_>bLtk9tmcZW{+-z^LA<$+fybP@{a?IO3kM@yQ_P&;CfHThHD3Blhp@FY(xC z_t}jvljV)kA!q+odm($eq9#b$mo-MU@KJ*g+v+6Ss5x;w$SDHuFvT^uE#e#5425t4 zb+?1k_HN^aG4+J6wKL<1QyG##BJaB&fRl3sPxkcapVsB`oVmz?Rff6fh z7W`_;Prkb?`C#?2Z40^b^}1?l$)F=SlW)sZDwOU<;e`zb9s>WUB)7^QnAV$gOD5jH zVg|5uUI{$`Y={YTXBtln7!Qm@Nxt8nP7?HqFDa1S8{YjZ+Dus1ZPyqN&~B4>3vbHM zBvU^`#U^@w&PN2A7|yG>QdtNE4`OV@fHtRyWuW{x-Wat zJ3j|M5E+ecLqk>E7^wc)eXzAZ1^Z3TIRQGvOmwYTTO_f&-^&ywfUF_3^i*(f8)3|p z;Tk1?XX^1@f1^CwSZHJ{46Disl=NC@Okq3Xpu)PF7|F#G-7!W4`WAh0S^4+~o7IN7 z(EJ79hAzR+fkzn+ht{uZb=eJ&XMfx7Z_Tdf2qkvAboHb3KtmbI0z8~AU8p)&YZ31= z8>Lyh4%%|GeNHZdkntGyx-<<^1&{pLsw~XXh&tyC%qz>Adx$m^G^*%oNOdO*I$N~BDwlL2jJ(e!Ao(i|n9-ymgq5dvOnV!^Bc_2WK zrzL-DZ{SZ0ErY2w_eY-9+pdY7%}fN2VruhDH6mT-eR}uu%#GWJH>eok+!?|Xwl%=_ z_Kj+B^b#QR)hoSTUoTa2f2+_pcX(Iwmk#PgirE&wZE~Gnj|W;6|08>K4H7u6-JtyV zg7ytY@0Z;joYm-U83!v$eCFJtGoaN);?QRN8h5dM?=tTXjYX8cUOCs2Rme-Pw#_inWWsrURmWxiNyF3BQvI7=E9JeN3eaEPf1 zJNgDEP?4i%FYi~bzTDy2-?_gbS?CK;+bRY5x~mP07SeuM+2fNK=HoZ}3FP?aXAo!4 z&p#&CIM$;P9NcrVuy2GN))r@&z15tlaI#+D-@sj#xlC-yuI^?*i9l$~9Uk5TK)Q80 z349w6W`MT?@liu)rj^X}h-*$!W6sw%zQOCx@A*TlnZDTcQJLv_af&e5;vm^-Rrxk{ zQ3beu;6Sf`HXK0t!*SJp0)Pahd}D+CB{dxyR=*OEODoeLXhZ2p#!z-~Aif zwnw{m=JYVFde6B@jn+L$m9`c8_-h;C4uT};D(+)b_g7IX1!%tQSt3S(1=O)S4*zLc zU4k*_P>S%9HK(Wksx>^PB>U3`*8PzxuJFN$d!fetQPmH8^YH%5{G?hi;Hg=^DBjh8}v(yx%$B-?N^zX3bjj-22}9 zcU_xx9Sp1#lpbI?CUfte^et9As-D5jDu(|+Km-oyyKUDO-pL%FZ=22N9M+iI=Om5% zNAt@V^IQHw`6QkF^-ndH+x8FDhy{tW?X~}e4QReArqZS{$B8cpMw=EJG=H7U%qu4d zFAFT4T1VfWtz7JK=A)R+;*ieiJ8Vwd(}LwU!GK(6%B8z{=`WAtz7yfO&5K9&xT+sg ziav=ts^H>xbx~o@X0S_#K4o**qQ7d8G&Jj6Vecb zDroN^JZC_MmqDaBvBz!-8~tK4_CvEB7~RhX_}g~)T-MgD+eoDiqXhx73HNnnK1}&_fz=RE6Ve1c8=m{Wzz#VSwB;=l)G5e5`h9Q{F$-+Epav z->fTxl+J;@E4bo=&$fkb0y>YPBWN$sipX7K~sK3A@d!oohz>^^Fc&qoTjw zy%Kq|%iL(yfoD6VJVSHl1)MBwKkWKq0-3{Rs2ttY1KQ`D&5B3eZ8{n09C|_Go6;PK zcn@3y8}s@UhBJ{o+t^$e0u|R0m#`2hBXU_9;f6L&i-mbLkx$=MsUkJo)_ zl~l*)MCoOMiLm#jtR$CnFKij&UruL=BS=Ve3$q~DwwjSVo1f8l@SA_XWrY>H68@pD zy#DpX&p&Cdyrmv}#V3`=ziw+oaYRdSjUzUJ49@5KwL-k_r4EN5bIbFQ48S@NVv+5` zWDu^G^_GH+E5*|(yzSM#iz#0|^E0?r#?;$ZlhnzWqjGyQ+%NJMUt97?%(M%0n>@-~ zEHYHuLJ4YIyVkw~K?tj_dt_xIBDUA)Ho?3&PajV>waDZc8t_JchrerE^bDJL!`_nz zQ!W@s7kqN2y(e&sR)RU1&^tKT-_WMZdy6xrxv0jLrdA|c;MFCW z4h{??mR_cHoH3v@{=#>1<4SfRKBMMXhnE&Wp+ut`w(*D8(Ha2S+EyknUQULnoS)b- z-KRaJUuF^az*WP{3KqvYo2FCJW+4?V2+ym#Te6qhCK{-AB^yd{H3set;awN94{qGL zBTqH56~n?y=JYGB_Tx)~_B|%J32fnH)kkhId2s0&c)ex=`3ANU8mrd_Dg3#=rKa|6 zVpz?ipDM*_S+I0Hc;}0;8yq}{{rb$4ij$XQPgGr*-dXMbBYP3=6fHn6`AgY{G22Qk z(Cnl^r)Y4a4zzOhs~KSbS;IbU{nYtsK(l6BLd{IC>AT9+`^|$|RBD%O>^ma?x(@rR zwa~*>r{7J+Etk6eGX-O{+!tuCccy*4qs869w?~ee}l=PvM}8(S)#mH&sK;dh5ea)jz%A-4R^xP;u}gW=82<+9&@t#@ zFRoCjhCh^_PwWEj!IH(bo~wldCbUm37TS(g-T5?WHY59!2>7N!;##K=EtOAdnZXH)N3YQKA^oy&KCE5VAH_yo(8}?<-p&I9AupTlJquw`s0{rO=80= z-FaoSaoINt&Fbh8D+_R6^QTc!|nBV%@fKNI3e(n8@? zppjA9YfF9Pz_gOweLg863c&gS75g#aovv(8KW*^D@tt*z!pBWng~g{)Gvh}jzbbz8 zxi>s121bX`%2m;?$AuMCBFu3983$+_uOl? z+(aV(B!pm3@-$324%4y=)`A3LgxVN>SbFT z9lW^na(acsF@M39TRT9^u_EJr@L+G-x3wSDaq|77r%@$9!w>!5w2&I;Vrhq=ao36k z077sy(a_qVL8Tq=n21YGLFFI`q_)6;t`TG5w#=lgdalFK zSc@~|bP=b#D@lOMp`0Mpce)~i^VXR$%4K##hW`VL66YsVm>s@WAeJCrE<0vJ$qYA7 zFBIh9vDu}+Iv_|h_wD!k`j<6<@1A9VdF?Uz@1Cu0j7dE6orfg#q?am1IUEX0F-Lhb zVk!Etw+e5xY;8G)`riJ)Dj&1eJo?h?!N55m;^`7{-Z;wti)b(?RtaubRoB&W{GB57 z$dMLGOW4bvW{Ia9myW|?1fCn*z2VhB z#?dxzm;K_!BIaQ?t+U0)yw47dhbBWIM^G48{s~Wse2WL)lx;<}0rimkg@fX+7y*gw z`o-KpngOBcb}<=PzposE&$EwA5KQv+k>J@g2ANyi_vZ-Arm8%R#^8ooK)?Q7sj=mA z^?vtPDX^a)g;w0VWStaTw&HI^8UBadMqdvZQ)qJ@w#e`&8l3u@t@m%}AEpjFcusD^ zGUtF2OQeaDuginSEC1VHy=W%LpuhbGRC80?M_K?zu;J`N)7;W0uoJTRGR;Hk2b5{c zNPDOh0@gVDt1)A=UPhb?>{cMUOs8>!-{aR(T|Wfoes1;=3el>ERS=ar4rvg{+rH$f zagTMFHbQ44wCj{OpbsqR!0k@dl)@%d$lxV+dM^25+lXX!PB>Ts-oqVYSYEC%yS?8z zNh;&g=2r8pe1|D(%d+0i%Hmim!SaBq5t}NQA*qvov%sD3haVWv z+v%Bz`@Z;!_sZ-i1HBNF+I<5L8O&lyXUd`NCW|B&{$PT_Z`)z&yBS2?n#A6fBW*Yv zxNy@$%L4KB_M9tp+`oCo^9E!xHsBw{TBX}=?Qbz(PL*k0t>@itu>6#rI46ASg+Yr0 zN%5iR_22CLjuY&N1=aQ;>NTOnGIg>HM4CBL8+ski#+;3uLj@aH&k@{`}r;MjT8ZZG=$HTHU_k<)SPw>^aR z8VAHDPLWv|_$ldv>#A?FFeXUiD_?4`YYU1iUU`vQk)!gKGF|F93)GxMtPz47Xb)Z< z2*QF|wC-=^^gPfQkOcH;2u>VV>7Q55&fOh?XL*#$zwi>B(BQD%$uc5wG~MXo&KT|N zIJpbOZSwCE|I*RoUk5JFb5*(cjkdyB-+T1jlct?nfUZk4nL{B(-hFRl}A@dQE>^CiA4jCZFWq(=-!1o`m9;C1d6!9sw`AUcBeAe0cVH$A_cy zm7w7juztt16+&`u9F4VG(Bhf*3w|pVZkBXJDrfS(u}R@R;!&$vF^K2lEKE;o>Ve3F z2HJ{T|8)Q1?%7<~-$E@+>Y#*dTRQP_WFD`_D)18(ty#{=p1Np&wE=e84Wzz2l&i0B zBOj8kJb7tH#<5mANNJ?{-C?(ej<&oD>x_iJ|Brn46;b)Z7(m49i))CWN+7cgy_<)V zW=XT+C#F}_e?fg+kYIkTD(}LU_42HZvmlPvm3rLC`^9Gq(HH@i_YdM23H#rP0zI02 z(dY0WqR)LbSsfa9D3nhy4-_VvDQM3%Hf@HiI59{CM0&ccJtVrp;dxZ4AbOf;cEBjYO1B~F9{@FEAZ@%uUFIgM^ zx=GpI|G_*63ygt>_pNj?We_unb)OvRLj1mR>pDD5q<-kx1ne=CjIulM=jD-#r0~b= zH!WVsIf9$$xcc1#qbh1?!D5FAvSig**ha1~t_r-#UbfgEp$r2Ie8is%!nTuXLLT;WleC#dew+cLBDOs z-RYk!$*<{8Ncb7?IssLvKw0=^dC>Z;z0W-D0_`MJJm^5lvnYA)A5+*pk#>?0Q^Y7D*Vs^8UZ!6F6~C ze;=KEV-x5C3%PZT1LX0TZnFa7(a8C9qz>gu1`;%&A}Fb}-gP`#fDq=9j*-%BWX`O*!yA#M?M(#OHBRn8r_~63WoJ%rK#r z65Vp;|Av_jm-2VJofM!6*xb96NMOpP@qEBM+CrvVKp)`yqj%Y;pW80VuKbH~7A6rz zZnG^{4n2Oebm_&LAmd2KLUZpxB4fwzH`treA_+<tYW#yE>*8>Wtvg{ob4b)T z5oe8iuI(Nh-X>`EG~4Q_*pc2YdG( zDA}F*P$?~H1=dP6o9eCxt2(i7CYOJ?*CLq&@8J`h+)cpRK z$FINu2bzqE9^UbK<*@XB@rLLfxPOgG!o+Ol9J+IPfn^;S6my&DhLKG_c1cW{@^-G(j$HD%Ted z*fMgtP{Y#2hphQz*Ys&;g%K&Y%+RY8^U2piz~Jx2(IHa1*inPua6|%BaZL5D2-e!KlC-nW2mH+-7S1QYC zT6j_OZhczgZH=4_dK|X(rTo&zBrazECr_K6aVN}6dpLT(XN_2-2b-lyP!{)Lm*n(x zQrYuLnb5xVzj(>v3Ey(u7_-&3KTA|E0}?bzGXw(%aKlU9y^Jj?Jf=}P1&atm%(hvU z>P>0Y`5@ne1z9wR`r<3r*p5D!ZehI)tZ%TQP1G3=(-fV!uYSdvy{NMEtEqF1ZSl|P zar2vsDT|3?U7>#i8p`C#LoBIp2A}rkvU4W!8h%S>9C>QM9M{_F3yrmnbGD&M83N)2 zeacvZoH&tGtg^bHB*RMcJPsOd>Jtl8;#f>xDNc%gyaY@UMceV}pBixp_FAV_aAb%- zM8*;iS5D3RbAD~`$4V#U-$)1d*?6SliXjFkt)L7|3)S&&X5dJ7`wD+8F?32{GxbNf zqD8cBL{Xom)bvo72obM&li=%VEINnN0C~O(7Q}Mp6&oFcpX?<|LRnH~{=_GEYIWK? zH1p7rwj?*v+h3tZ2W;Tf;FsF~hx%SZ$~pjrvDbaWFnSqv{7h?g=tqxenxDS!s6N|& zJ&?MbsWFfAZ`QvgPfiPBS8R{EH0rGxF+l!ZPdH5vK>L^Al3|awny{Wh0o)fpAVcr_ z+;RS4Jdxg%ypo*jFtXjf!gbA?(fLh{u5k*xYBs$&_Vzq3h8bDn>!O>q-^ZO?h}OP| zac4h|3!L&o?fD!LTMiD9)jjnjuh%*;K4w<5ZBc)Y1Mt8rlz-hny=g*lU!?TYS4K!n;Rk6{&_fCG@TVCvWOZ&j_oNq@Tcy5oq@V*TE)i0wG|2=+2L zF6l!xdT^SO7r7BNCa~#&=|h>Kth$rq;yyPpTkWb!D*kM)3Q^uE_<9KPu~omz%hg## ze@R#nqT4n4BW@CDMdg|OOPsto7b>7_+-GwNu239Ie{B+f2 z#W8D1q#&H*iW|>v^imGaUL*}K+s%(XLF5||FIqcTdAh74n~=TNM*BQG+J{CdnDZw0 ztR=fh3UlFpDrEGH^`)_s)7ACH`a;XvS!Ro6jOtAHjRhCy(w6J#6i`_u3Hs+2O5Rg}Q?e4z5aHJ8Aww|`wtmnxnXwmQc_p~*%zNpQO zeJ$Q55<7~qmCabXC#)%h=AO2t(>PI!UEhUMejXc}_?Rvw8b>PfIvplxgIh22zc*Qs zUS3_N{GgbgvkapDcYdN~Oc`^XMdl{zu7c zP_*H3d6h^nyL3c6c24IUKw<~_H~Qt7R(n#Fa7b;b6;B$~k?p0zjQk;XEUrR5=2;G# zI7K)WpCF89GS3~kNtr3!PP;Fz9}qDO%0gk0D_3oscgNdlHScP1Ea)3O?qhuV0~q7M z3oh_$jJj5DOipkYhVG`1=YH>4{)n-}bu-?>J1(B&a<`(;^awNJfkBEnvu*OCtOg2*D=XIl6W~o-MoaYm;PbtZCfrXFGr*J7mGhKNCDEAfjVn@3wTEM!{ zFYNhYCW9s!j5BDv`ybiOW?I;ATGvOW#P)$EM_O3r+s8jm&KC)tx#Vbj33Iuu!1&cI z4(f}G&k~?#inw2+eI@h+vPrbZg>{EfNfE2tYw7V(VTR9UJ0rw&x%xM^Hi8lhAeEr4 z?e6=-Ar6N$KLdda0R?xHM?HR*B`5m|FY@1_Q;5w;WlU2Bxn~qt7>}1ejjjEbF;2P2 z2bIxUgBIonx-|fR_)49q?AZWoku7hsr=Fb8?6wikuRk{665ciK0zK(>fbdqs-7K3U z3C3$lkqOik5o#bMitiv^C46nv`KwlcDh$e)S*RS~`BL(}FG;$UdF4~zJ63Us*tcoW zb#Z$4H23oq;;KNq7RqZIY~%?M|9RLoW$KHaCBLr5&p=Jtj@U`oA_ah(*15ql^zJ(= z)Dt^R$tnAq8vDdJo2nq8tM5}oMPN_1#f8v1TAa=!+l&0Eph3vaN&Zu>w4%{T$`?my z`j=_mMA+HdZEXrf%0f#IQ$hZRQfh7k)%6Dz$BTnD1|h%R^{K-V2aQFqsf8A8?*i9v zKfOM@F-LTzcksYjw~#<}>H|*fh=A6TkrJJF7BWiW4&-}&zZ-pH;B{3oOfNxzlb!W& zIICg=MHvzFp$0eCe*}*7y>5!)MTCTI_eAO3&u#t1v;TDRxBA899uvtZP0C3^LYg0#G zo0~CX-b)_!P4yEv-6KzioM-2e^XZ?!4BewHE|}$z$J4k%@h|HT8(G=Hf#!%eQ>5-M zD}4)p?YvpAOyO8yy_EZA5lh_{1Ao@e>MB0QtxUm6)M#OyzD+0(;(m5!T%)Vb+$gP; zu~DYm^LVRsZ700Hd_5YyF3-yp{ zdI1ZM_v!w2ruV7!Sctjj##!x^smY7=o0G?+{Y`d~fbqX|yaIc0L`*Db3R*}hUWedb zoUgyguU6s7>mx_d#45s!;Aj{& z`bqu^R=2qi3w^Td&Xmd_ytfG0Ceq)C($QUpb@Aifzhtf&>ACDIWJ}v?Pp-{pO;1c& z?}&z5?~H2h6ATMg0lz!_gFnC37AXq~{{;MYTbvKJU*9wiB{7v>$}gAKp`PvN=y$Yf z(Xqp+O&CU5&=UBg88%5XKTACesvA@o73|L9@igYr^#1d;p8ebnR+lpH$V1+46p)>W zG&;D+<{eZ2?;76Bh6MG38d^vAoA1{_^@cvSs8Fjmy`Kf(x_-YZ<*ndvywwv#zrr|p zx_6(wrNijOx0fPn1zN_X%_hAe!@Rq2qv4FFTNmnnIK|M{(emfrR7ckAKJEqV_rcWd zA^U~z&v=IrmK(M~`;`R8urHW95qu``{U#u)_S0)4IG`%kDV~WOa7I3aq52EZlvT<) z@nsTBiiCu5c!E_UV z*4O<9`y;;{Hv#z7ammi@i@B&<4#0Bcw0ix3>Ygte{A2y=GWF~0+^k+)_gL=s)|+l4 zZs2--FMKYs>{UCt0a=&%LT_6F#|9GzVoa8dhSm>h2pDu}o~?Pk17kmrw-ckx)}Iu7 z!M!MUmKYO=PinTa1OC|?PzJtFk+|?%LDgFwj%Qhk90p9<_Ogq_4(M z#FciI-{H`(G#Q@|y^sH4SD2=~9KFP_^aCs}Z0A;HN@|c@?YNRUOJHvH+SyPFD~|8>H* zm8T5p@G}j=Z5a*cWGJ2Fd0&bHk4UXl6Z(i+=BI-r3zkLFLDAylL(J@=!r%^;o6@6S zHt(6TU1JD!jNX6$nVn5%w}o8vruRMSD857jkc$px7XRz{v?}6Wz@ZYSWhaC{zw6g44Ntk@cI%8l#4=I1r13G{yyeuN=h9zVaUOZ7rm}Zf z`#U`M&s}TpKDItqonNbLrlD^1Spc$`vE$fP!2On4A6h0{R@U`3v*h3m&<>TsZ`ceE z+7C*K-~lmtO-=WS8NF6Ih*W6s@p%y+)RWJ2@q>pW@btm=#ns%*;pSanOX-d`gzo62 zMupq_opv4>!PMQ%Uv{ESb0*8?nI{HKawI5Xn#fvYQ9v1lYPI4St>EE+0gZP5e0C4Uu|m;mNM!7+*HF2?$ZmS+(Q4Q zv-ll0n7EPVKBxSM;)#%`?)SRBTd&n>)&r4Tm}(;2Az>xx$tbofGXtO?pxVG zEOY0bJ0E%W;`>bmbU2C1Aes00d@#SD8rwS{hX z6!Xt{p*#qHR#Ek<%18MZO8Q}(1gQFJEktq>kiO=(CThEfCg{-voJJV;OL8h*au!lC zsFA@CPWJzq2;}eQG2;y9&pbOKvOD_`W3k*n!mkhVcGuOWo=LwtRVPIrz_S;dFNl#H zD0EQy@A%qgfA-112`}t_>GSXhi;_~H?I>+{BY$;^xyoLR!4Z<6?B2Sn;8(RXL)ch_ z{Eoa}hSvX{|rmGqT~ge3WL zArZ4&SJv~*cZiq8zct7AQa1V0hZ<^eLu>8Fx@GV8>pER(Fb?4nVPxqgDNKd{<8y6& z6(+HKwx)}5G*o=&Gu`nd7SYw-QIO;t^2%)I_KX;rFs+t~4H0Jl1Z%{O8O0}+d+&>R zMQwUt;*2Yvd%{Qmi~HGvUB|x6G0OqbkD@3KZb^$}C8*k&mP^7>&lBNRUpy6<5QZER zY6ZP-f4!zb;C2W+&yEOfG>-%H@yice6dU2(=6KIlNCkIj{p@*{rTd!1=f9!CiZl8N zMPAEyAq!a3gE%anxsBHcr;7*fPd$lJU#JJ^CSq;MVL2yTjLI~S9ZiN%cf^1v`e{Kt z-p|+JZw@U7G$l%(M6=hDaSgk@LV8eynU-ZLrp3*)q z8&Q$!kZTy7O3@mtWNv(%Af9{BdEHhgiWfKXhhu=5hE?+V=@xviNHzwA_Qy_ww^c(+ zT#z;G)oKJvboz4ZF9%}t03RC#U$?iLCXUL#!rNptr5yhNF9m2nm@s3BvAoVoe|ql; zA>SUQJtNejE*kSv$y%cn=tMLe50(OpwNe>@Ht^YK-|bUWyH$$s7N%nI#cDn%`~Lo3 zk*`3(q-HH}X?WJcTD&YgpD6{$su%x{Y1Ht|m%V`ZB|(ruZNRj+W%25K%uEhxG>&{l zxG;K7FT4dbBs}0i_Y=pRhTJ+lv(7z;PQBh?zU(oOYk&VISekmyV@}?7qG&-NzU!Ep z#;8Pd{gw4(J{$gq+|EME(fz-E zG{_Dyzu4#KG$Elm_%W+h=IVgQX!U-Z74=W?Js$)r#Ybxm9~^@`C~y93PLe+R*BEZ) z1DLicw}4M8XF%Jm&NLsMaL(98Y|d?pZ{UR;{wA<_ZS3(BT-iE1`XL;@a$*h!sPR~U z)rT4dpTET+uwAIv%Wf6%zMadr_qY_&s&rZqXGZhGa6exs-)vjk?KUrVf2pSYzAA2< zlxi;Kear8;J8IjFKgL;&Vmxo1`akgUc>s3a-oB>e4=Xqz-_aOvG~@L{e36mD5EgyiRr96ds_OnXh&q*=1Ebro?0>t%_(}1`+z3j=-|4h zU+O;UJ}eCoy`>*U&6D!(cW%b1&o;^R?S-j8Rj z9W3s> ze-G{`@$&h%>OOBkk5*ZW#LB5pND@ahQeT}`+=IM&;PVlQ0BpH*zorjWq3l|O| z8le}h0gf3GdTZIx>=KS^saYKo!1t}~lZRc3HI6!KeediD4nOJ7?-_a>vw_o6P|cra z&neBG{RG}RF#)G=jyH$^So}Ei7w|b}M3b*C756?$7W3z4L$GOm^X|aNa`;~}{(g!p zdcAKM=|(A%ym<*(bsTu(<6L87w35}G3IFPp0Szt>pCIx7X0(fxS~8VX@8zD}wk6fx zOINU4ot<#eK?46^{p+z}__qR-u7-d(T8D-=%36DPzpBU$U*|adEdM*I)1B7JEsEEm zdYYo|y|2&e(?cNI+qArhr3CM+eHXdW9ZE{LI;y5FdLl)ts9cB>R~Y zIK_B)TW3mC*&i-LcF(aFf~3N~)8BUhpa07`CR912$!gS8{J3U>#5C+Huwt%6MwoENcYYp$E?Jc z57fhJXPV35shN5VsonX~`H(ZUAo%4!Kl%<6@N+{{9d+_)Nps#0L?+F+MR{DAk z%bB=@sC(fAXlM2o2Yz^*!G{Ag8NIShBp;?Qf)nz-e)#(&6Lw;rT+++%L{h)^Sz0Ee z(Fa-RnnJU~A@jv$lFc`QV`6!c8FV^))cVF(Lf%|XT(~NBN!ma9ZK7cR)S}6gRIX=; zf`~ng4D8-O{$(}&R7XS@HDUs`Y5n7h;lij`U&?CmFY2WNPTHUZL2R{4`^q*nRUECU ztgc9osjIvNx?~bF$SRA z!D}jph9c4oOUcio{xj`S89eyDZH2rXh#<)uY`Zm`_30lZ(W2>WmIj(%`L99y#sHP0 zwofI^wlWFLtJ#Ds*FUM1DThbT6o8T@Q$C(@w1idx8CSi*v5;NodX$=@#z?>+%#~`o z*a@EaCIwY;Ur8S1CDCWws)F?QS-w-GN;Z3*Oa$-I+k^FZF4GU~OO#L(%vN4P`5P$S z8e>Jt>{A-5{j0?pAhmCB{opCpYuM|?H-n)Y%mbf^$z&?Nn}3!d5o&%TkZn9Y(!cKv zS9d^HznuAwpJ*+Yw}`@!4G%QVU9=R+?wx`MVjcH>MKhjBiTOA#wv2aP5~hnYH& zH0=hf8z|uxG*NP@z~nD`)skGq*<-#{f>7^TZNRAcNyhr&CO}*qIS*5=*Sw-yAZIaO zt~KO~CTV-Oy^^2Zc&y}e{iMZ%@+St@!>R4h)aGv5RM8sGjq4GaIG6bHdpR3 zz@`3IDP5IIt&4|Cfi55O;BizF;fh0+CLcWNd`5C@^F8MGwwS2X55pVypF@AYkl5NkWkwUH?rK>y z-n4}yYoGbIqUXOoPG-4K+ge^_Yyv;+Z*&LMxgE;6DutuBp8vCG3&g*FGt}7u7;+Kb zJtPHGpSlF5d<}G3lG?O*X={IN1@q<_j<#y(Ilm(sqtQn>W0VhNWOfcOX9qvN!85jB zt{i<09^3{$;K&Qv2!EQkSk|)Ky@(m5Nkv}a%PW-+)w4A=HDDPEeB}_9=&O{%KiJsi z?K7b)`^equ+OV5}y$70SSuqO*xKzBKzfG_Ia*H6?k@Y|tn5D`g|An3v(e+!g>PM;S zY5rqM+nz3eC0zUU1+t5D+BCnzh@V}cHT-Gk)!1R2_#91jtJ^XfbrewV&yzWCKE8Up z@+wcxFusx)(t_a`=wX*cUhiMru-wsqaGNE0M=f%Gna~fI41UnabUOd5 z2=Q}7sY|lW=9Yf=e8cEveKiqs`%~(t?Mz>vR{9E*X#``5G8VF6UJh2S!=YJ_7H^=m zAC{<}!}ocSWlt?NyZ(ws3M%CLr>9@Ux5oauuKs?%e!X__%yKDo+;%ttMBP45o#Pln zpHt4|*km8bD9_s}W$+jHB;sxNI4~J$1H)@!r5W!`ANWB)}v1GRw6mnnl1GAV7v zGS0-hCND;xSRsdov{cK!>p*zBCI#6h=_nv7%CUGAFK7x--2;G zEJuegoX**IXTHIbXoQo_C`H;kkzHIo+-ETQ`_d<+oaf2654rZT?^rCF?MGal=4qCT z{&Z!(uS)&7Q2)I4V@c-$*ONAvAE=EL`uWa?Zd6ZZCON(5!1cU*UTwE4>>+wqK8r6x z$R8$kj0vsZyZMvwtL+P#ZUVH80*xf$s_iW>%~uG%MR07pLe#i~^)`xUxRpAkI7m0V zR(^XkIv4q-zge{%uq(Ew)+SHSl6E8Y7gNvD1&z`e@rIV|d81c%^t{6tKQi5(1SQv2pb{S>4lQ8DaLpUoq{0w>w^-Ht)JOWbAHtlf^- z5FVdpn2#op*Aq{RLH4F_c6TkviD221tqGdw==50~OJZD|8}GbwO#O3Q4;1o+eU`;U zIUmH?W$mmW`^NQM`j8;c#gnc2#Xev!0How%{!yicD$hKTzn&C4>}Km+{96)5 zvOOidW>o$|j6flj2VwK?7?mAw+plKe+)stXh4m6NsY8gx<>w&Mj60;ihy%}C z>_|)%4|KckY?&`wjf4*m?b65!^)<#?c6KRT-N0r%AA2!`xW~q6vog~sF#wZ(YvU!? z;|;T+FCPs>^Nx+|T<_-MM*f$M8~*aS;H!`QCZy=ivWu4`xxymFK9WOjnj*C)2Hw#< zeu=c;Y^LyZJE9!nq5KqboqxjefvyMIUt2w6L@l=n_ z3kO!nM_qiWo7smaA8@R6DA}G}wWsOY)_>lvSGkzK_dx2fi2DE+{&{Ba1K9&`0`nwP z@8s`f4#&5=%k39?>;=tZh>QMBo5%bUCPjpy@MvnkGtyvDtefdcy> z6RYmcCcb9IskDy6g4m2d&${cw4`ALef6pH~mg&dlzBmd3FvBQ+WbJks#^ ze=WJxJu9!cam@i%ijGgX3GH_`L6S(4->B;BgIuvX(Qd4Iy1~wDSN$UC&c50BpjYXQ)G+e$@$Y4QspXNgaL_txDGB{pGBRl$NmG z9?_=}QU6!E40}C%Zx?5XjFy|P^=_VE0aPtQX0-FL zNH%ZtE(R%H&O)gSTU&NY{B1f+h}SC;fYOAW_pf7lCM`NIJB>FdU0Y)9?KZ*Yf#6uc z_G)h){5Im|u%vPBvqhJ$no+tGVJrpU6f{@~&PC$0?1NKtAftrhP@AAhx7 z?LPO2vDyrV0$*aS=UIexROOg~FSEy=8^7#3hSGZ@IR2O<{b4b(-p%xATctlBV_*_q zDqDfpH@im@H^r3B@vELtFF$WWm+-Lj_wR~5DVdt~|2aqax{U-?;;QRqONih8twgyp z{*!ntd+#Jo-t0=LzjSvE^>}6H!44&0J*VfUa@q?y0dw^W9$yLF$BqG}MM43vb63;6 z<31~ovL*4&cuG-vwx(7C@6)k;H|3zat14Z&5~@Y_eHMWgd+!Uv3NRJ%mjhp+HB#3H zviB!>l8zUr<8ratbMclJ$ACht@oV>b=)=@3Yi#$+b!}+exawe0iD&F~Te`;zN2S45 zM5yn~0f@d$qTMC(_!rQobTDPk6M19~=Ps-q9mouWThcU(Z?)tJfNdQZ<0}OXky5AM z=1M%Xo9kVR)n7GO(x)Cqy$u|1Za!@w<9%b9pW=U8K3Sq8j8?>fs*SWk34pQam331) z?CU9W(Nb9)nhx?;l)SXc%RCBkbPKVy5~RJCyZ z^D+;b)svP!%8s$KT$=D3Uwz8X29UA3^uZ^7^Qg)#u}0cr0xy4XyXy)6$MjIMktOU} zjDJ~0^)rh?i-h_wuudQ!AscZ!|29`s4MZHr1=*`cq2!M zw}NBhd2#8G2f)>M?tD)4dXP$iA9ivd02;kMv{K*A6nDs+UaCI;8mOEJUP7V|oHA#w z=^68uakD>tn9+$kfx{_G0K}V!~aH_?e`Ww*W{rz^VQC#fljQa^~Xz%X> znI<=C#E3&|+hRrAPo##}VlB^tJ!mhlHAwuZsp;U$>XgVi?95QEY| zddNGJVmZ@PB1PisuFzXL0We=i{Zfq}SGx$ZqI2tXpQ2#yYmmlm@8L=`_c-tRltK$Q z8Fuu{xTX2AzlJ7zYcYiCBNt{ySCikfLCg`c?q|+EZS|Zk5-!mW#)P;-G#TP$D`&ai zrR+hfd5_QF+;SG9A;NR!*^b^H?=@dW%{iO^-dCjAByKjNK1bVBoCNHZqt^g!rQCf> zmV2p+Ymq7}KEtAU1;pa!?X(Zq!<^ZA-Fnbal2NuiIyyo#oqRug2oVfX?VoC3>;AWE zl6D4SYPw$Ajs^U0P$Qdcz%@+Xr?8>*A68KfOm-zB^zgU-n$4n^=#O*vM=v|48zF$E z56n@?BP$mx+3fY`)?|FUBu8X#;Eh0yA5hO*9wt1~tCW1r^Je?PK5Uvo@+N#pt8Kgh z9F~qUZ0|Ue4NxbRy7SIkK}x%Fdd%k+^n&s>_0Mwh>lT0g^{ zDjH9ZY_EA874f<$-Y%!}u3Fv~BPw@2rYTg9dtRB**tZKgtX{z_y=~;VJCd52xsthH zF!)wJ-EOgW5tYRd=ie3Ey`Y&R{7(4VjEkO`v?;j1?^vp_1q;0hiRn=fl(h5y>9PI& z@UslA$w)K<&Fm^$4a+XSZeDjJUb%1nQG4hl+E!D-#`3HlG7(I2>ZhsD* z)7#SkyF%971$On(k+pY;t;bIzD;`(&io-vtrM}u-mOl;=#LiZR+B&Q7(0-~4eT?Qz#W_v1n~`im{`n!_?)lCx`KmVEu>Ng;n3UH$Se58- zbtw*l{r10)61`}E=D(la^{5%4I*6Euzh$qsa=JecSs-$>OsroR$(F!Bv2RXopIUy) z$grhTPUsVJL*C{zV-Y^i;dp2*1UEd}(JCDI-j9~);v^@cj8f}cH@ZH05rNY%*1jsN z&sc|?|6bs!8!7eKfkl_Ow(8?_DAtx-I<*QA`FcZ_<|#RVsT}l|PTz7U$;^Y5VFJeW z?W|rSr!x@060yR^&~nGpQ%p^F)J7m=qF2T>*kLy2P1&p!R4ZL$@wFmJ)tboVK0_e$ zmy$d~#w^x=svpG`kztRs)VA`w&RpTp#Qo<_n!>CG=+T9eqIUjO2Q05EL03$A10R8f zHow)Zl}RLExf)RDSX`lF&JZM5^$V*pEYlko@O|=7Ce$4DIarlUE`@W_vK&<%loh)@FolQnc|S&??`SkLfRyLTTV~D zI<%V!I-~ieMz2dx&rF{_*$E|on@Fy&xJ~GSwr?2(XiYjLJ=NN_-keX|mz5HFE%!uC zEW#`~obf^Q*X)Ozo>p{+*?YXT2+?_f{)H+%oYpO;aV2Q1Qko=UxNs?Yem2w8LG|>b z40VTtruNNtoY>4-#fZ24T7#Iu8_x3j(yZRgz&UD#5}UT|$QE3xU6%nKytrZYjGs? zwdfjM*TeUYb%0cEO_P9GG0t6fs5?qntB75(_v}Z7O@BO^1gIT$?NxhG`)ts|8&*PA zYnZfkHh3h{1A}>n;mEz@jS?h{b;Q0V)!rTBRiVfH{fjQZM#$!+-z)SKn3g;xI zVLEVd$A6Ap64xOY+_29-4@^a8-x>x=imI$>@P(21`B&dEzA&Q0V0Jyh;A1+WdRctv zqVnMD5(gq9?m?oLG;M@Epg+2}&hFq|i}R+D?;B1#BiT3n-4$+YvlogD!s_Oey)nq; zY9_@yY=;i=9KPQ~pFn-WCxBBc+_C>tclUm_1%GY`7w2sO%~Vh#B9!e1yZ>Z`0{!+8 z;{YI_cHY?$Gn4dYNnU9W;2jM3&bvK1R8Pf!V)(@2>adfO`DE>9oSxe&B!| z4kDNj?KqwEeFtolB}AxmQ;9=m%8A&Ur`QVfj6~kg6t7Fz0kf_3QGe6(v&+D7t5jo9 z5Pzqv)A)OuOhcqaMk-Dqty%e@QO zvM{~n+fLsiK6ENTILN8TeO1+RX@Q^(R#47Rt7gWV-SRapD)8ZyxF!C){r%nUe80rc z*z4BYTAY~LW#_C(w14C$ZHKJ)29NL~@B0>M-+TTYy58xFz&Xf*$wisO0r@BA$bV2v zZm{x-(S0bCVdOw$`rXcaEMwMp6s^C)-2Xx2(SYw8diC?CWaI-FSd6yx{&u;}-{lB2 zD?_sC_ncAReDuwMQxqu2CSa%Q$Y}sLFGd5(xT6}qa?gNO!(7mzxiJ?$211J{tXLAa zaH>#d^c)Azb6@{W3x4$5rVqm{Z-0G!lK%U{Huy74|8pX8>SW}@wlI4cA%C~Df86}h z@0vbpg4rnjKKn9w)m#%i&|+O3zgla(L|$H%6hZ zQRpFp^+&22-Ytbc9PcLsv_ zwH_}LZQ_wKu<-L)=`$c8`k-hJJ>gtWZX)N;BS_;W+V zz$NI-sh|0}cy6S8?o<8dbMUEk_+R=`)2Q8yjSkDmw%U!D*8<_wTP^5l?T`Dq|KvmA zXU^u{U8-{b9$G6xt_T&9v40YFPw~ElB$0;Maqe|sbu*9>88-u)Lv$1`Dd2!@2eQLJ z1VtSKP*hUfO|eo7oNL>J*sfO*+;v`L2#9DLaNcHeuL3yisMPLW2@u#(r^CGt#bW7I zr*$H=>mIqLE`jLeEKl*-lj3L7pw;#kCW=oVV0dl)={0@kiT>b5>3{K5<%{!`>tE`R zP8YA3H7o`hh2Y2p=m@;!O zOZR3AtGBqfJzi-oERGc~&5?te6vOhR8=v7FChs;1E32hTPr&^)k%||uydsq_O9E+7 z9~&*+T`0W1Rr>5jVSo8X>C46P$_lm#UzZlkv$I&AbV{F{@YSY4t;%!Hi`ULqImd;C zDVEO&yS6l18J&XY@m-MF>%CoQa2jgTB$W&JD-_jqjXy#;1 z^wDQK_qtx-z)9tx^@*|KcO&}r83YPpM3){w@GdO&=@U{wpMSkky!xWBw4|T82c1|M zBR$3f5R;~6HWQZq=JVqDhvnCw>!S}j0_@)Z=MH^lUcWUA#6!3@Wr4(aPvNsPwl_T1 zqqtEPt*fTP*jiEOiLGBQWW?r3=K|i-TjP}KOj&n!b121`O_Qr6sL^3EmGG;pu_-yA z#h4>56LybkL4Ref^o9SikwZCmRo%qOlf?XL^q$vL^>J@l-5*awwVY$(|e{ z5Kd->awmsU@GFr&O#VtIdruDaWRAhN{$su5!?8pfKJOxoK$f+cOT@KcF4VdSI?);m z^$9Nt|Ixas(fTfx$Y+zi=IeZx$m;2!M*hKB_UF`KGk**Hc~5lbuI^ns(ALCxJ2r2A zE_|xlQ389{UMkCNKiIv`0!z(}nw9o!-+R!;kSdtbFs-(8_W`KqQbEdIDu(5ct(35o zf=#nJ*~OGc%_3PFfWF1R=D>Snki(Nqa6XcgWgY@bJJoiZmf zqwf&lGJmA%_Ej#zF*e-Rx@}u)TWeb=+^L1PMq0yL*{>RfzwYEfj*w)eHTuol%Wv95YE3Pr!97Z#xZ*m!i}yU=v#v!DwWb62e3p(1LZ%9O8kp z)g#xYX5%kTN@TmXMHsG0`iy~#>I!)=mHvnsqdx>u!Zve~qECpMif{5!&Vw^r2-7 zvVQ>mwvC9PD~zAEskTiQDI!Arx1FYSkP3e2^khFj>-?a5cL$_l>&ax+Cj+>9{=fFN zj!3&b|6j+}@Xz`G-o#T={=W`L>i5Te`@A!N+eDg1tnttwfg56EBS(J6 z4w-pbv%M|kM}9B|+>_)+6Zt+k5Rc^(^v04f+IZqnY_LBs?W-daX&}@}xJS&*JAXI; zEH(KFqnE4|S*SQ)s5s*=#W&C^Y+#enA4%Uytrq)z1lJW|ovO={ur99en#2?Re%Az1 z#BE88{LLumpnSWL9o{~L9n7Gc={KTb@!ynBvZ+nX3S=0u<2*68?QNIVCS{@N=dR++ zS4=MBe1@Gl#)5&y69U*%rN{rUXn#UX`G8&@;%Le4l4O92bx}`XyhLKWAPl}mNILPy z-FwOGob z3f;s{13W4Izr&aCfBK!p!s2<+fYDT(o7N}BD*w2HS=O6fjO=XAaHvZ!2n=;^w$k1p zg7cp6e!!p>&zB#6p^rUd@GhKZDZ8hyR<2)gvDsse6@7lXa`h|y={0j&)RSW3pmbKS zHwdouQpl#YpgR> zJpZITbpdOVb#8C_e&u#J(neVS!mG1{k3ol`;@wxpsafnyAH_UA|G4c zkX}iGkedQj7k>cvJX&c{))Aj%4VTM3JUBewIX>jukGT)cOqS>7z;$WjO8Lbo;p~iM zIA>-{pe3v5L$#R#Jhq|j4jp*$_?F7Jq+(|A8nN@QMDjYwu1uJjz0| zinK8Ix7j`v<6Xg0jgeEqIXTmQv(|enJ38Z6&B8xS5`_l7xd9*#Vg~5r5DQ8P`UH7 z%L)4IWciEH;^GBznv!KMe?bn>+t7szk4P^H%Qy77giCrwNPVRWZ`6RfZ>vXTLmHy2;3$SAUgu)Va>yD7>2VSHnXkTE(cVR*~`!sdGoc zqskuzkNP~dNdoXl5=p`1i}{g&ljMYg2fPsnb3IYQDR3K|?D5!!;^TvKV9UPA2Rv3h z03nMa8}1dZ_IHO-Ws~tit>y6hS|~+Ck&~_^;SmLwy&nXc364YpnnpGdq^_U33x7JI z8=vW?pKv<}^tUk_fV~A$kY@|H2D{%q(8aMA#^Jdj#$$7dhX1%v0G$NzwyI)feC|;3 zsd8Cr-nrt#wh@tq#YJ{VpX@FMbu)n-KOo;l#={sgdN!!+&hjA%Ar(~*6a1)Y*Py$8 z8}PX&;i+;p;BnKGR4!eoni3(4q<^a_t`1#t<@k)p5_q5DGi!I@(M9^sr- zv+|x%e~hPEwiO-;O_1atrhS39ME`~qLA>9mUtB3HJt)sT)u$g;0|xYY6ad-1Kg2l( zXBTd6KL?GeBw3%c=9l10_48@tt4qrLXgn^52|S($Qk5qT-^D+k^G2d%hkr-v4Q@QD zAV;3vlC&d>1)NC&ucN3p`#1+S~_PmPYu?KV>WLh zIAVuKvxEJK7Bcsxr<3~3lhWd9`SE9@8`v3CBZ8!R^DZhA%OjUcD;LYd=bW-{HT{gF zQ1^@dCvX*tt6o%X9b3FGdMK|2>ne zspY%DMq2&%yi69dAT(Bw6*6$vADOGuIg8qrPLo5TQU)1xX&6EIZ5X@hXjpWylucoa z+uF<2yfvzKYckz>sB^7qT$)eK-6~ZjV!)&H`!pUU(`>6L@xhSVEPsqc)l%Kj_cs$` z%ky%RPw3SpH2V3@)7l=q|Fb2UkL8Z6%jKV6c-{Z$*cu6kZTEk|TRYo+zW?(ko|^9e zY>9SnKk#3kmwzn9;O0+*RvEqlTJM(+_0g9bt%*kZlRdc*Nbq>35oA;r$Y#>;nZQF2 za0bu#W)EF*G?6eo^MB#bu1(^{!3rmmK`s)q5*l4KZ4>#2F0RJ0Bm@OR>@d@C8k2F&oPT$7W(9|E!(CEZjE1Vj z*6Wmu1Q+99!xv=j{cHH5;75ULC}VLItuabDNC!mchE7$A8Bq*U$m0F5i&K2VG-&$t z>Eh-2aAE0-^1UbJMGweoUsy6kO!+KSeDcRp~m)5JYXrn286B=q%HH7 z2;Fl;(qLnod{vx1qd)kpbYV=y#xUjiSg)OYpMa4aO8kpxjqT==vCzOAo3!8k&e35u zRyc8+29oj2A&uI&cVx1OX5)GWN7r^Ma?&BFKg4-lfiHLwU(w@MzyJ##P_qxxv_S;lMbfT>jX;VKps$clJ^yOml z?y?xfju$|*k!?k}td24CD%U^L7an2V;;nmyB@l_lpHOV(i8u-R>^Ydw3+MH*DU_7d zssh^@Eq^|u9X(5gI!U~_C$Tow5S^Qr5mnI4_xgf z9O|Uon@tXwmktbfKKfRz%e7*YVGK$OHD$FZ)-s({SEH?E1*Uq8OFF+O%Ns7QH~8X; z?bqT9O?Kn?m-_UT;>W_X@hj5o_8Oq(5vw6!@qNjumi6vL!W-s%I!NIn=ZK6^qVJ{^kT|?FCy=;!qQAZ*j$b+2HS{+v_(?-hPW++q zfJf3{$Jrxt@Vj@G9xuTKK>EvuD&H?p6c(mHbG!1b{`r(XHVQX8*r!Ri)hfKY!xZPW zP_XK>zs5XOGffij5$Rb--BQ}6-X_(0mw)*3CUJU?sG{gOzxnVasfRY!u9EZX!y(JS zW71?=T~(Ef2A@E=1{4qcP^f=@b?F<+VPD(1x`vSnieR5XHVZ3vi#JXeXTC!EMGm6E z%4OS;wLTQhK@XU0EJ!+UM986{2s-k?9lb{**aI#A%VJx*G(qSZS>5qP#u!XoC4aKL z@Dc9B$oE-)GN<|^VG@M{x~bu0V{?!>j@eFI<^)JiTiyp}P3iFt-3ioo^1JrKR<@cG z-}AJ$Si1d%O8w#E8&sJB0`EHV97)m$jIK#-ph$RetAk>%Cg$px>WFL&qpbkptjH5LhqR>Vows>7$ zm3lC4R@L=lHP&NF+Zx(40^nP!io~1F7ZOtze2e2WU+G#bM4Utm90{S^pnq?5m<9~9 zk)cnl(x@XMAm>KsruBQ;M>Q;MImA%CU#on}@$&xxH1x9`cLubT310opa-`UG7}a zAAD(ehOvvn6I;7rzh8Z5QOPKpSU%T5{@OK+I+oX*YKYd2pDbGD5qlXJfqc009pOXd)3tx$68)=pW6p6I6 zU?O0iHD}1M2X~p>rhgW00+ZUjOQ&BIFFzNBF|&%%asDPmYPW@ONsLjn;V8%(ljlZm zPVkaoZv@u}!?nVW&2`E!A)wk;^8c_MA?R5$Z+<4zPz{cCLQI)$c9>Vc>?CjqmKCqx z2yY{QR<1thv}kQOhvQ+I=+=53H{mvYiY*fPlTIE>RL2(RT)3mdEEDNK zyb;T&8qgm+E-aq!WKiky&g;X=`ute&+$4elbL-{jm;nx6QipDMe{QinJ8!{H|A&rW zl!Jk}A)QstlGi%r8hVPG&NP?;b`rz|f2~dUkF^+-Ab%2a4t=`p*y|Agaf3HDHG$e8 zM7q@6tZcSTBMoyOF?G98#C{qGS_8I&IACEP8Tf37nj$`nEO4XIn$@Gs1ZhX{ZFNHN zxrZzj;W9ynF^rgiTMTk9-W?(04)C@U^J1WML;Ni)JXQK^h}Q^~9+#G$TCNdP6L;8h zT|n(&=mP<^>XRksA%D%@D_t04>UHMOkdE~wvh_6>08_X^&LaKQi_)b#gflEGJcm=r zs@9jQsL*ABd;*=KS(d6ErDc3+YPf^QAlE-;c4+~N?^^37QSGP+YR5=`Y2oetl=M-d zrBbS)eCmrld*-8S^6B%QC9MIc2Hy-3NteYps6oT=DuB}czR4^T&AQp)5O)wB4| zd&QYa@HBXR6L*G=G{l>cce$U#Dmo|KcUVPW z8kligfg-@%v;LD<7CP6DZJc_7=@NjPgen){a zD;#a*6XDX9BBUX2%P)8r5^X$djCJeNr?!UH6n|5ri0lQA^+wPeKIL2qUt%c67mRf< zz;T68~B#M2}&8`;Js z$I_a7>9~cT%3ds8!qP+V!=mkge-@1?jg4a#FuR`3CgfSogjjp^mj3iw<<|Y;tyP2} zt!XuGVpaXZx#H7@>HGlRftS@2P4w-h(|@mM)718W5Uca~a}DI+A{o{rx`Wf+V#d3y z&R8KeyoK93Z8kU0WzqthLg6;2RZ?oG4!3P}+NfQYkq5G+QkdRD%u1)#fIBb+mGC>35N~HquJv-lD!ZT|EB}ed1~}D}(nn*^lzv z^WwGhO$`LA!M46U3^seAnEsD*SfsG|}Kb*6OQQJ?av16SukP=moXN z(O((%3ZSsXI^K5sHE56Ooz0pcaaUb^tC1CeZ$Ke8nn&Fq{+iEP)0i3;;#9>WlH$xH zZuua$Ia=(EHpu=`>G@~IgZ!`!s-j5x03<-M@>4RFyLR)6!CEt~1A)QDeSfpQmpE-J z(cx<)Y6t;<;aFy#;FvI87@XJipkRZh2SjD~MrGu4@Z+aHAye4svsw(W*4SkjW^Y@R zYIuR96E29Xb#!1bci4u%>MSj0b-3&hQpn{C~&x$kr`C$A5eiPfhV3JEJ@HeXwiCzP<16e$O)sq@*y! zf+XaW8IXE`@&Wz@L>ihS!d*}1m`FhxjQ!iY|73|1_tzYewpi@&R`{`T12h@!{-6E3 zx)_{|oNTI~9FL{?ITZLILZK$Qjf8L={9t!<*I)K`1#`KRL#YJ(yMG`4ozG_e8cUzd z4<>t0#?r_0{kfC5!?AegDExI8vN>jxv8G7#?}Ic9CZ#(l%M=!tSXeX+e#!TtN>tjg z0hk$yR@sQ2K9J1}CF6-~uC@12pL>buU^Yohd51X(VrLG8i5$;@@*Rr6-x2yZS}?bUEm{WBSzf_txG;b zWmcPNy$QqjtCp=f?W6p!S|ZzWAEg7EHE8KjWTU7JCp2v!O3=X~F^Q`oh%6$(XPW@M zooqS`ge&DaFpcfydHv~CNHc~moyb~GUnso3SsotcO>Mw+#ed#mORoHe;Oca0qr4w6 z(}Krjd0VSZ=&ewmybyZcB9!UrZ>PqT0P^vugF3X4P5l~*Bb6r|0k&hV-*gi3em34KA zk%<>(?-fZgTZ(vFkL^+jX-2~dQZdYsY9^$UBFhkrAvOvvc0J~mps%W_?8hERnx zX)nHY6CrJ~ptK)CA20*5?J(olsTDv4TNGDtJ37yV6;TGPTq*&_|-Yp@bwi*xO6EP0Qy~s?|$aSC8g`Ah6jv-?-yl zWP+Q4^N^ushG1Nlbc?AgjGvMX1PA;6-8)^frm(i7>BLcI`}WfGL}WE++I90M05HNJ z!z;2@V5RZEXIH&Nv_FxzZ!A}0YS&yeFr9G-`F}f(ZW~47#F=?U(hcvqKL9E39n3=x zFt{#4FeK8sm|27kbQEbi!tbQxyTO94#oPr z8rvQ3B3+Fg{N-S*t8t4t;$yx2gYiU^tlf#uhL0Lf36;$+TPD?p|2V3K8jW#t{OQ%gEu!3H z7j+1OPMLi~R%H2+*S9eKA(8DbtjrV^7Jr?xirI$ES|r#iAdbU@snX;5;>4B0(ii&l zOICdY59#ShaNvX)vBHd`u$K@y`sJMd`ZHFY(3cI|MUzh%5fKIPipy|mBhCSwd=A5t z*j&3ss3|`h)5orRTGNyfvSX(FfJW)!(+BFgb#&K-*!Bp5p3q?)+j|s^kz#wL8-JgP zvWsx>R)J((GedTC(7ihf(QU2WvGn2-I2%3sK?JtK(s|O1i0v4pym)p}pS~hC*;H7V zDlJWySI4n*dF30z!8ZHoiEui5cLyTt~SA{IDbwI;6zRW8i;8QoEjcXZ8ooDEY4y7$*W7`ZTZni z`Nb%i;Euw=SH*89$rlG}?4RQlCk=yiSkFGnZRQiUsN(Q~oalL;k6JK^)I%^4&IGnY-lhy!E(HGu%in|NY4M`^gpdg4$+!=}(F+SLuf&a-RP@SDm- z=GJ1W-*+g!Z;&Z#;iY^QHrNhVjP%D8!E`QpCJa105LwJKgMgqrM}Gp#qnd3Gu>;3; zD2T_5<&*(D!LuEU+U_|}@r2IPh6YTaBkm2yK6h_?Q&a1vX3~Rqv|Om6b(7H-3YHx0 zmGLwB^ciwuD}Yl`$2f9ueV7yx4AS2=5gJ~BP(d(8q8t^5B%(axG2|)Yhc?G0b`#oE zb)JB}oC0O%298Oh`hQ5k=th>(h#jXJjQ*1WVOpLIvJuIK#L;8}H_Bt5g#lZaOgx^1 zo~AkRKw@B$4niJ`!>d`+XO!F&t86Z;5rCAgtT19@Y>a+kz!bXA*^Mzi?>#v0!a@X{ z4gQ8;HASgkg+BV|7&I+>Y~9pAc-dyZlgUVwV?G_e)@t9P-haWIx5C=4T4T6blU+ml z6EIk?$sL2?$!tjnv_PrzM3%tpf_1RbdJ3Lc<`3#g3b0dXUk1AiCBY*tw@GUH+G_NV~77ZkY z705QHk3Ip`?eQ02)qeRc#F-qqQCJ!-yqZt~MlKYh&P`lISe21+ePX_Hb+&T<8m93f z;NYIt<9{#ov1e+N3p|3^B@pHg78?X^%bv=Rt6`9opZusbbn>L)+9NIsl?p6umaHuH z#*V)3C#~`HrwM~+HUrju?rOwXI2o6*VT1Y>Al**xDzJ4L3?9@5xlok?Vj(%qjmLIc z!?8~PkR0sJDg?H&l&@pncpS&QIO`j%jGk03u7CcdHy+82yHmFFvaZyI%Ajjbg|K#$ z80xn-T2M_)%WOkQ)5z-E94|)c_@t5BaH=GD)mZdvZ_+}eaQ&;N@D7el;~cR0S41P6 zuqN=qn#cv)atXRm4GUC=@vdtn>k2l~qaO~MZtIJ%WgPw~)$LVFG)A&X2{3LD+k zPS(k8YJnThm3e=#BLZ-5tBbektbF}O@$8-Achlv^6Z-Wh2e+#_Fc?z~tHTPEa7O3< zQMvx0eC9MnLVx;&K5<kn+A8Cq=x>&rYwWsE(wro^i+|}8 zVX^UB^l$1qq6*XPCOte9T!&)*S*|y_U*N_&#cF-@S>@6!!9M2si&!og$*A6UGn))l z(KTBX%4^pkw$aXNbDq!YU`Cy`;If5y=?EB#KI;_-lT`{d z{$3uKk9|$1;gVb5AR*DzWlSDW&Xih>&=7D$(R=R@AYx_JautBE0GB7KbQh!}qeB4e zQ!18B(`)b6B{`Nf&lSd*Q{LkTxc`It*{#vOSUzzycD(L)zuTF@*eDVBaeFCmkvDgy~wbwtgK?J|jMgcK`=#D?4}YJ-~vd+_|G)n3A}=1sdbYoZ)4Re!pRde!$rjhzQ1Q z9P3p584MGIewV&B_;@7#!k~syIpv6)O>I#&b%5UWJCNx;B5jbjmw(Gu(_W`ztzyak zTrZJ#X;$@%r7u@2!_!p9N`kE+o`bye-(KYm4R!3qRp`#>_DIi%4z5IYF}(9Cr#piss%1JP85#wQLY2lBC= z{zNY5)573-h9I8|I)9Uqnc~y?LJB@_lY&P&5TCQ)gsX~fyoSieKKf8|MB{3r89NwZ z;C*xX%z%-K1kZ6tUF97uWf)OEm#Y*FR^fXGUQj?9R26JuxQyDz<7p!*2K?z{nbk2u zpnYnAR+Zo4ERQ#{b8uR#YIQp7dY-q{RhAfNF>f5)-V35QM}H7fO;KLjQ)aL6Mqcs8 zX)fw=TO({EyfEhT?q1!)zih4Vq#rdX*Uyvw#&cmKq2VNEqj}7D@!`zz3kx$Eh(Ega z?X4rXZe;v513&7IPU|yIh6Zv*mQ+Gkt`XvhFZJ0;FqA*NQo0Nz0fPn+Zb+a00^$H( zeNnvh+L9}h(SLR9I~8Seo)2oYXtaOC_oub_`_$*OlhlV z*?_8XupVMSW$7AR!#w+_IPsMY9N8bK$X8<{ebE|G>X0|d*+>sVfwSax`a6@T-8_^W&*r*JjO&qu=px^_o7udfNidKLeX=RnzgKHWL>0u#Ra&}PQf`>wIX$cMu z`0wUM<>7&&sObPPp88}4dxK}c>#}-a3(v4xULEI0P910kEv7&b+cZ)wiTFaT-L&A2 z&Cy!E>elpTwHYPkS0_BPE7g!Bcir_+`G3CXANO^mvSy>HtG2tRm~+|vUbK7Pf9={! zb`Sk;z;3N}6yNcu?cKX~(jY~#d=$bUNoq7OS3_=D)mOhRPQAnw0<^^cIk0apT$SdF z5X)=7{q3%O?{0)H23W49T;Of(Lt5s9@rt|&G^UP6WBtikF0fe(#1pyRY;qu<%zvce zn|^UwA73AyR@ZC#_%rAX|o}-+y8NLS$X{9N%HgH2DCF;#DOb-;>DYVtt7KkbgbW!c@^$WV_@NVAD&G4|`(SBk|19bl_AF_poj6R+0K9lA>)` zHmRgK*&xD>NT!o{g}W9SX;`_QWIE1lHAEa8iscgk!LVJCKPdorr!B`u6o1rDDo<~x ztG3vCW^d*LVC`GKDilf9LKfwN%RI2+Y$}YG`OJW`>-GjrU4w`1xBBLdU}%iwm^lf4BJh)RV&6Lj1>3{b>)z9D2Z{CIMy-y$T0}R7nig|#FS6>*G0zs`;z0Ugk z7I@Zo$RHgpJ^jhveC9|Z zt@dH5t7ae5N=?kuQ)L=wu&_AR{T^oeAT#OHI3NV@dh@<6KVH>6Wv{x-Wmc)W6olVC za6b+$PA$F2%)D7agF6PI|KCRLm$LqTr%sZlDv#uVi@k;A8z>9Iwvc&->91ah7GVpW zvqAps23(w*{tBbc>3???OZSGki$n3|bN#`M%FJ-_+tZ-`yYxgFK;0;>Y{iUmH?E(B z4M+%g@xoI`6SsP+`0R3Nb&2#Eoi3^6>lTFly>PyGdj>9}Kd&Z@owN0@8D-I8Y-SJz zcT;~3rXDx=N;fa+7rw!jGVh_8VJ;18ytgZ^^w1AIGz zKT294MLk;RaP<7~waPypwhRs?l0?zvfe4D4|aaKzoH0#a3>@lXSic@M_ufLGJ9 zu$!v(*^pd2A@doo%E8cIdPV6<9nDcvg`u9;WwjWE^M772R?yFyNkgvw4Pvf_RPL%` zSNts??@x_uxE{hOxVM6gGy$yGjnBlTJBRT~3ri3GHGCoTui=XrU-d_rT~dmO2M_Mv zxi0tzRK*+lpj7Rcmo&ot###=2d}73PBOaJqYK@n0$`Q>UhY;owe^WeRQh$-H3(puK$h$z}`FVFtzejkEOf?e>(!3 z@!k=>?@UxP-9%sq?KTzsckgfN2z53SEXVtqFn`a`Img8ylT|i8J6Yvg7-*p&BW(-< zyh$hWT}PejDfk37Init?J~k8T5STI}0kC@p2EdRSFpZ*7fR#++$5`1II+3TY8us9G#RhPDlLLnn*=lu>1F>B0XeKLFMAF_K zb?PB&*CN_Io%nEqId%lT)!?f)n2&PC4HbtZ>)$S%%=H z>+?AZnJAXCRfkEMb(YtFDhX?JZ=O?f-~$eO0-i@_Z@fMK zLk~lhjY#LES1cVw+L$nCprxljc7G(%-ojVTb0mx~4g9DnzyFT0X&t4ck!=yC}|lCE?AK4=a(HOQ&CLv_vke!xAtaIp;$Zx zv3e8vd@|h!Cf?)D08n-nJJq1yx{aq)>ECuJF)-tt+zhh*-kjc z;z@lsQW+QG$MWT{Hw6*Pqv=fCYqGXDvXIQa)_)(2V=ip79qvtw69xuNnp8#s^*=;I zE;$~Rw(x*}poTJ?ouz`}92lj%s~*~9lk%bpI$w<*efYr8lvUzV12{BbZ{KAHITO z>VGa`AuH&b#5Y4fFC0o{Cl&iiER0?E#(GN~$JpRmkA2~|n|gDWupH14=m(7^cddBk z)y};K2-ngx*av3iMd>!_7SG?;U%eo>)Ik*98YeBAX*D6QmFtoqvJ=D>L7)1O4d*D(w^&E@8twYV33tz+KL9oPRY) z4#ax=Gno}dFIe0Kmu?Kz*o~p8x{(0aqHH4WIw83uwN8mpQ`(y!gU|@+5#9qtS|_2g zUXl<`<6xJBT#_}YY)Kvx(ynxTAd^hzZDP!g4W>-N8ufJNX;;B^xFA_z`*1;WI11^b z-@v8C{d9*Dc}@Y_+^5ybLi*eoZGRw}z)fRqLu^98`x@7z(|+l*^mqgtrzeN3>2_#( z$Zx}29StmfMp=SCcc_+~HV{n?40U+G-qx(4gy?|X>40qm-C5&&{U?c-d~aEm#cW$R zUy3Bn_Q`(0+dqqB$odVI*IlmN5RUfQ1>B?3z&Ym17@WsZF}RHY{C|fOaOz{}Uz4T)XeaUA&Uilt7C-I18lt;dhw zzVHe)c0^*WXJ?(i9ze+&n}6P>YP!>R)15UoEz3J={J9SD*$gWbFLz6Weg zzIQ-tNolFU{(O=W=$4ka5hgj8JIr|FmcMEr>>|zY+R;r4IP-zv{tuGihK!s=}C(kli^Tz@@h`X*xmye-~R-~=5I zvOYIfx;xSYa>DBE($Z6u79z!O?&%lKqmu_g?07joN{~8{JjO>HJ{7afZGPQ_-xR-u0LR%-hBg0G>c$zv1OS%lE(5M_&|{ zu9R1AmY$r|r|!})mG)>B_0Gn_&-O;C>#*RgdDsw-IdzZ}Czzhp0wEWY6p9BV6wL`r z;A4NbVT>?7*60w^DcEcr^h0UF?72H$mZG2mMa~N3Grx zGS;om9F#=+$he{-y{Wj##2HM^o8ao4ColCqU)yZ(hF!SH2A4e*(0=zjAA8DU`izmR zX%gSiP^#YKkl&!b`&f~b`AwaGwafsr|F%xm;S6)-l4?~nxdN3Xu6_AXAAMO^IA2)4 zMmYG5zT~V1t$cs}r9OQH&wiF0lzM#dB0LIQ;FFJXn?C%c;p5g#nS5*@n}DPb{h64t zoV{5x-!UTlW;2<*B>I4sN=63<;<0?93;lb54Kv>%#t5QVppkqe|AXK&z*y5$`Q<+` z(goYImJ(42SJMS%WTO;o!BGSRp|7xrDEl3<$nkUnL-~KfbnB4}Z;kvslspEF?Ayzr z8?VAC2nkR}@v!Zkj;$%%veqtoaglT8o65cK5Uf5uM|OYl>fPeA%lhcDKKly&Yu`_% z2ak!;UuE=M@zYTwcDR!Tvo=-wVx)BQ8nSSq;w1H@zB#L}T(;bJw$^EEiVtcnxx?ZT zG}k6!ns4r4z8MO1$)ugvK;7YUM+F=+oge2M=L`_$;% z$xb=B+AeIfcAsXUY9xv+GXDj)ZKjeS4jDuaw;9D(q>Sz%TzHB_A7t1T z^v8cPOoLbZ2^G2MhVT}xeRId=E!rmfk8*NsYyxM0 zE$uml4pp$3x=#&Zc^d5e4xJkK5UO!@)^~Cwxex29E+EX62Z_KNJNk8qcOnuB2&Vh! zG~v9s9vk$^Gf&VpeEa_Wg@vd3g>%KH54nHK$s6!B>6E(Zt7(X0W15u7TS}_ua+r#I z!%9#Gfu`y(ogU!nr2bOQU{h{u=gz$cfDEW+*XCmW^b3MED7gS{xwwkXudVcP4xSm} zNaNjm_S2>r=!9qM16M)3untKEBb$f zZ_CeJm8|giKvF*$?5i4Bb!x+Hb;DX$q0k?;V)i9U*txwAF1cX#Xqw@(eD7glVdTwc zWunm?*DnpVpHxlOJWcY5PPBm(0k2*RX&sk?*5|OC6K4=VTrw7M^W{HrHIb&3zCNo@ zJ%eQT7v}IxE-XE)T>B>|pT-v}m#%-;VS}Br?Jo$!M)jJhOq|}uL$6k_oHZG*$V|By zd6en`#MsKrFxHL2@To=E8 zt+0FpVxitUSDaieo*nfOy~{_~D!PF2>C3v6f9o#^}J2{IIY6N*en}-{^K;#r9Bc_%@*#_L~&t#K-M`!w+ z6uP~P11{xm(nHx;%F2Hv;w!j$3F^E=x+^UCluz`h3CU1=9gJm_-+D3`$fc0XcV*JH z&!7Wk={irXaoadfa0{9$0GaM7mPOaBnsT?IEC89~9fQvf5^7&WYX)*H8%<5CPft#3 zR$cHwBEL*C8h_EA660!%m3Joi#V}eLe%k=xD>aCoSoVkr0)BtnK;SDii2WH6!2XP_ zI=pbHyx&rJzrFH)x5@{Or!zYa$MPZw}B$XeR1{$_ec!M#sgu8dZ>TFT+1WdAI)cuB+|f;aonl4OOmVd zyi4r5^BeDzB&xXaD5HyefOK3zhUb)e3;I+8`HKTs9eHB{R*eLXGrm8QxhlyVm0JDK zGAQ^TL#J$O+^UHorwlhoro|(Wj~+eR3X>2gb3j81XAT`o_9kQft%vg|<0_t3ocy|U zcSL`moh*Mbs;_=c)(UK{6IW18y`9M49{q^45*VL@r@T=+L~4QQ=hX|0iBh`0RJlIp z1*g50`%&r>HPdC*NUf=Y>8F22 zsn<@bsdiZU8NNiJt0`Zk9Ey9CGa>$m(tM*4Q`uQq8bx2m-TMxpiwTe$dMj9e^-Q0h zC#@TjC%nX3#VfC9;`{0xO(HbX8RZn91E6QsXYUs$UY5R|V?+)-Q`wus!qej9YeGZ| z3!m%X-o}P86Ucf}K|=q`*|BG1l>>kIiBdwkGyPIRC|ngKv>%s0Q$eg%6&3WC&Z;^p zNX>C;kXWgCu2jAvr@#AgFU}zIab23m zdI+g09BPAjJbp*;#wLO$Rra%2Vgm!YP|skpKW^+A%sFUmlkNL=Yu%tRUMpR+&!=sl z@OA(}=^s)ECVtT}-cG5;IoyA!hA9-ICvu}~f0!e+ow>X#{;M$0u_Llm!FZfn2E$9i zH-80>tH-Jb;$h!?Ei63i!EaU31qt8vGlOY9^-hmsXE67#jlrb8Ge0#3(_XQ9{&K%R z_HqADlPNTeAp-=tTH#-m^o6aa5H}t%?@IXUqqxY+iN_De9m)wM!%crib?d?*`k>$j zmb*}I2d=vlWU2Pve){~Zx4>F!xgf5X3>)1Lymjl9bK6N^xMStd1g1&?!#$+^Y(1m! z8zMF?!UXh$Z1m&W&I5Z23ri5kiRP7oc{%vO`wmb7uGZ8Hj9QRh_Wjqcz3Uo_GRVa{ zmU6rF`a$vf6&xhQ)Q*1*BtxWh_IPV=U-I|lSJ#36*}Jb5`q{ecSU!1Vo)k3hE@G=1g?IKZ~%4wJn|JukuWQcI=_OJ9JW(5r4DzB!}qkR#m-SgR_+601TW%-I7$(YT_mWNFmYfO2Z`O5SHn?HRmhzCsrl zj7Wr7vWD0O)dg(ok>qlhTrlPDx`IKP#hw4QLKgBm8zp}%5Uc50@49E*=IP0Ks$CW_ z)=#o+1cWgKkZD-2tlPp}Tm`pdz0B*Gb6dRJYpv{aC&sNy!$U;**gW-EMy?AMu88W> zXT;l|`mJ$t{Nfc%)n@W&(*r%%BO*wHCPqx&D8zg9y6!KT)>@)omshV>#?KMv6#K!V zhxm!#EJS|^sf>(cln{M>r7}K^tHg4HQh@q}^Tmm;^qa4X(-#Vh50bguV1n$Z?)S>G zPs+24rKQhm54TNt>z#?7!9ECUw9MMZ3vsF%5##1Dx<2mQdjON8G`+p0y%~dPYpS~K z&1}VTxqk58pBrn6C2}p{$hMZg-c)n>j zOGkf4%FzsM<=8PEGrM@}A;FsR+{&hANMo%#p`03otlJe~6c#7Im-$JI!u0notMoh`exARXMvJ;{G# zK{MNrOUqTa8Zes;i0yU{WHZN(L&GP#2h+T9`MRjrhSUuqDBnwCpIvhH5n53F3aQ}; z3zY(oa38>&H+P+Hq`M-b+!fW~IT`o#gRjjc}NWa9?3S_z5maht^`HB zj;d}|e`={9nd?a=-Y1DMr@zKM=-v&#U2tMhRUNB(gTkX)UN@Rl#qzF&F1Y}+EV5tn zq@H5Gn|Y0F*iZ_0jqe@fez*^%)=r?vhP?`ymFdK~CBb(goCVe@-sJBW_HHx&;Tqd1kaXDMz2MwyCD11DY>gR>whd(V_9JYHfyt$)oAPAi`p;s&6`E$>zNv~IY z_Jjzh-!I?5ct*X0*?x@nino7MkMqa>&##1YI2M%g+SVG`4?Bza2@ErW=3h zB+wqav00kK-abJT?N4g4qeryBiGge~o!1)aw@r{m`BcCi${OtahTL|dfi`!lnWman zo2M1GkufZ~5&ji|2`^qMUVTxy`n<5P2=;y)O+ZUIWB$QYMPO@etNdb=z~{lj3HBBz zuHfyW@|n}6)2~pMr^0_*yM4!frm9p}yD6usc8u$xt3B=VsevxjKtPW=;drxtwV!G> zB&j02Z>M>dP^~c22j3bmEZ@*aW*{-d`8$NRfE`|ln&uL#8Zy>T&s!`H)Ju+sz>cKY zI6`#7zyRU~?$PPWE=apvOy>s+D7T=WNGnn@%(?2^3(;oa0ELru?4Dp z%d6x1gU37>g0+pp%H6^u#Jxse2j0{66w_JcQ1ht;kH)fTvUEWstrXSPTWS(xpCxnYS#uU0_B3QAEe=1Hfr~V25UCq#!?uOLJT5+FW~z;+ac(owc_|cmaKW4E-0FtHtE!`qaEWF<-g* zmHzaaxI+y-%GVy1z1!y5Q7~YPFBT^slh4>I(sj5&I{AOPuyCfZaF(Fu=EAG90ET*- zl~-?)df1rFg8@0iWV$Can2zU=HmY>Qo(pov`;t>+aK@H-1G z)}CsD>Z^h{N-R92MMk3p+l|NF^CdO#j)_Yysa=%2h0;VOJlH3@%VE)_N7?I2aP z>|k1J0q1|(KknWOpR|@8_9eBkU{2N!*}4wLdw(pQm7RlF`X+U^b1kwF5V@`;E)GDn z@ykRHfj4pZ1aPpth=lh`925G;7CKV*g>KxjZ_l3Xdv~rwXWKnGi-eY*^1NUwmP|*% zVb%_;!xu0(!o6W_@de9j0aXGMWWTjI9#rmMEWLjk(Z{ZX;~71pfi0U`E{{LQpZeS? z;Xx|brwS|QF^gs8*6qs3I0OVTO0qmLPnU`_i-eKJ^gD!~BLm?HW011*Byg6bQNDZ2 z{DYSsmzJJd{DAEcT2v71e!nt*-!;ZL0HW59V=;=%3S@L4~=1?*nhaa*tjBr$a3E_)L2a--OJbV zw2^1)mMy<%>ud{e-4Ztc3s1O%e2n}eyd{6!-r3gKLB9N=Egb3C()J6jt^QqcK7+6~ zH0>AklJT2p@W=Hu{4xZo-pE1FpzX*E9M2~E4(GL|9nISRp|`F#Ze$jPXmt01=$?H$ z55B)E`d0Md{`WrEzH?Xf{e9%$I}LoMVYN59mFx;{+$cK;4kvn#M8Q-M8;T|SA-aFM zvQ+QDAe<74GUPOgvZQuUVk6xgQAh>NRUOKZFqnr71HG2VpRtH}G`3xF@d9D&(SsVJ z;JPQ-0^j@LQFf2rdGp+HqrE2{`@3=F9J6~t`mdRJY@HK0RRSYRf+3nDI;2l6KuS4E zAesLm+v6(VLo0QmDKFWLzi2vfRPKL2Lze_|S9|FJ9W1J(j6j4~4=6zx3K-%M{OB_I zdEwlKFVIg=VGhOmk@f$mQDpw3L(LnjB?1^BSH*>P38k_h|5jTL=a=6*iB_KfZ;?1N2S^h2INE^=XhZcWe4r*nU zW)$9{!mz~7mtTL%SiYsj^6V@Gh9Co;^h$vxLcMj?M+GDkK3xob@+ zluP7uz1ieIKBuY>aa6Dz{kGEWj?#UJjH+;lqj0=ORd$QB8`-?7@H$vi3Cc4~DGgwY z)+~WIX)MHlBczmkyD{EF4VIz7WN0APE037tXn@GsOt!v!z4YWP55;4&)bS44drBrI zarlFSiNw*~A!%d2u4jKlR1><@i8YDrkS&peI&-}&ozGx8nI_DCe?OBw`EM1>x9Y#B zcnpB!_rlrAy;ndvr_T_^6DZ{LMZ!WBmcW=*yn46vctn3VSvoiCNRjOoM^J7krAb^h z%VU^{Xxjq6v6GB373TBlQ~Co`bqIDfvHBfzx=zq5F*olPR$6_6hC3A;kX(t(6 z%a9D9q2saMc)f=8{~An;_n`jY#K7U>*}MsVlR9LHCz5~N(=YUyCt?$=^s&qiQ-}$g zW>LOne^ZS~=FlNp19Snur%He}hxjkl?P_eYUb7dznRDshJg6UKU2qw*Fj~~g`&G%K zK7m`LlLJc&}f zpsbTL1XhifzaKLf%{i3;t?>l;i)P0;h2}GJC{}-TYW%&{Li#5U;^H>5I285FN@mwF z!|+%IxMVs>r&$>Hh7B9|od;7*CpdiU(t@9S*w*sa$JC9{jGh3&<@yGb@dQ~M{pRh; z@G!XVQB6PmZ}P0Zd|97c_CdrE`^9sq1~TQb@toLCrwd#c$Ue+DH{QAh7!drr*^sZk z;BJ4I=y&O@*kU>P=)|E4PSk63%G9(Os+Pj3Xl3}ceqn+w&DFcb zXO{_M3So5S#(>wqyP&Ur3U2ZEhfzRZSTH=VU!dO6-Kttxm@3_QSQ+_Te{{OAa+!aH zb)ztG$A7$(KhEsfai1E&Ku9l&<9V^C6Fe8vv=rCr<9Hb~1Fb;=( zF()x#uo!qM(PIdL@6X=AW2p4)l79Q_MrLUNKB~U#L=~4!$cktB<6Z0}UNL`R?|Lo% zYf7&U7R+nzA&&~i26^K%9H(&_)XER+NgmFmGEJa*RmRteG;0TN2uy9|V#j3#0~UF5LMSx{54F?TeX?>!u~a3&3!QSu+>XkD=e zA?(N$qPJ~f^;YTfb(9R*(a&6bsD}|q?v2L&cIcg;EQHB0BKzRocCdB^Oa~UTHYq{7 zBhVBUE)QW4Hb^u;$({x_GW0RP5s});9ubIQSIm{_(t@-vK@89!`7(cyO$1dPH3#b1 zqk4#S`pbV7md^8;6qmC+{){gdzV{Hy448$*bLHXD_YxWIiK0)Rfx8COQCGaz1=qTU zZx}(aT*N&Ap;)L*tCI`i1#3Ic5vI%GiuaN&W$G!=37*}-wxG=U$`#R_w@&&J8PM%@ z1$SfyY0&>vD&C`!#W;VE%qLpOCoMbJpCEV_+SHoL=7e9cLgLRwqXQ z+F4EPxt7DB7~gVLjEperT0U`%Fz0El@dRt@l!N`Im}4k^OvPwd;|Zv1g-DNX&nBWn z@?tG@Ol2zgvw_;zMj6WUpF%KfEc)`HKKhb=P+bMcXEOac>b8qG zfF7XcVTn$lPR_w7$=Q5bPV^QwiH&&l4yKQ!Ge?DE7nxl{fT-n{KP~|mCKeGL%|i$f zft$l&!ni}rEZoY#-^k5JFjc_ z?Hf*4VP&j%_g>|zbJ$g1v=V#Ih)JUHSgbalCQ$|!;W6KV? z)p~mc4W`Ci^P>f}a%>JC5s$|5KHETZrvE0ef4teiVam0owXmPYtSTxCnE+iY zN@W9s)FRadZ>UISylAxV0I%K#da{|LkP-<_n*K~I9;KNPj8-$dw1C9D!$b@dFAM;! zn+U!R9&6pyc*5w`sn$&&k)8TcpfO;CKqYt-3I(;_iI;}6iB{0aIrqM^`}PYa;*EF? zNNQm8fAVmwhmnCPg_s)IG(ZV^!H>hu^hJH)Q;h#11mP~BW!fXx0L7lEc9GG^h(iX&IYhcO7QF;c*0NWsOzt8YY3HLbJ^TK`ktH z)>dI*@hRiNvvwt5X9|KVJYY*n_+x!xf1$W|fpovH_>c0)rP9j9%J_KY<`_h@q9q}6 z!~A{y!e@n*DUL1P{vVtMStq7A^HphS8lqs)Ks=S<)0NRF2oQ*|tHu{g=jSme1)P85 zUzP8j14pB=XMS4@+gsFM{u5gvFTom3bC1v#$9SMZ9~Tzo>^~;afSf=p7fVYse;7Up z^OYewnqEC>#~EfNHSop9txRT$MyhUgt1+NBT2bG)RH{sAvQc0aDl^07MYqr&mgsA1Y0L?PfFbfBPnD8AC_2wm+LlB?nV2k+w*CYumQg@K)AE$Wun0 zuu4nMi)S7vJIHS%I<_B*rOrEJ>vbv7_*7@}qh)JUF0@E^Bx1rj& zX;EjWx)YIi$BwPi?hv$KNY%0(khrcLYnOM-f#20nl*}&ct4kg7E}=J%f8Z`D?GjbN zwhrJ9#A+ZESV}U<12wd6DJZ3ecro=PQ}U{+ zi&6q)yw(-8#rgt9ZdAAb8lbETmSNEn^U*Vjnh(vxSvArC($Cr|Oav$8(8 z(EoLcB589s5~w-BX;iWX2~L=1S!XChvmmaLqinmZtfZVzl@0K05rPRlxY z|Jj5i!6s+C>N1mJSW6ko?S|G(rnbDH;T5vGhK69XppC9h^!6ds zD|l>CwBx}UBJZ@f3AR^!xfNb&)(A81w=pnpqQi;R)IzhqfB6!AJE`zHGmLRxAX4t~ zT|+N3)=D;|26ws)?t_^>p-_4JnHI{Y1~e8;$cVm$4&!u?7|*(P-%UXQ?jpciO#-z# ziQ;0k!(!|)Ma{O9IIqByM~65m0S@i_9e8Q1^CZ(l5K?f<2xD!Y_w=~NgWB0u$LU_4 zdtSVDp3Hdhf8G~TfB2)xBgs~1y_ZNp$65)Wz@d5w);LUXWBp_1*awn<8s3}2VBJQB z3xa;L`u*Gb@}eS6PYt6qB$jMzoL+xEnoPG2=30;RIS2cp<&f*rC`s|w!nDg~MLj9P zoZyOL>@3He7_18sc!rYkL{^^7U=1_U3aRahz?pB&e`KAeuTyKCmJZ9bP=990q|j5| zF(vZ(&}SzJ{%p3XKk79t{jv1_&)%E&H*sVO!}nk7Q*_$O$R@V6cp-sN<`OU&?yx-= zW_cmeD@(Fb(BhF~33CG`(Uf<$l4c%jhMbl9}v~RmD=pKYLDFV}=Dyt-2x8gr?Tq zfN?`p>veigW1{cQ}R)5=XYts$MT^j5^&m=v40*bi&4U>fr;mkdx#C`GxE( zl(e|wi28Hd5N(3f2F3}pHcG(}2@483@CQLt{2*gXLQXtR3Jwt_J09Z7P!gsdvbwRXi3-W2f5QWWZCV`8A9!Oh7xZsj=~_ZeoTpa^#mZ87 zgm{I6#HkD6akM(F=FOpSDk~wbG_Su@HGRrT4#TKXmEv4<;?_=HcCKnSO;a=%b090e zk|r>{SLb{->^O@{f|kYCf51(1SHS*v zR3RJgF20Vg6>Z4Y5X{od__Cj*d|a zosXXyM`x>(=Zsq?jY(!We+W|g7Zd0mcj3m*;HR5Lz%UL!nS1^vUTG{sBU<#!)O?nd zqT$|Raf;C0%~6DI?0z?5zutAy7C3;_tGB85)h68YS}u-M-r2(--R`9PRVO(%d|YJy z>)9l@S-W_e-js#$4wOhmU7jp<&F#;~i^e@=45d9|fyIog6l z(wX;eN^hN}Y%K0i=E}ufI-4nlslSPaC#RDNV7wZkQUf=)hA&ONYsHUNe_~ zKb3Ih=5X#&o6@(Ye^iCG>M?W0I8M^5be4xbBPT794zdplPcc|sT5#?9_Y+&!Z2zO` zzJejL20!w!H zrI6n=LRPKa+__>NGu^7kE?e8%+kbS1-%(6SoNY~p9L3K-i z+f=G@V@B(1L?5( zU6t!+ud3cwY8UyZ)?DZk{xn~`k1%F0FB%VzAU+YE^O$1%)MuPb#)P@);}}ZGarUZ3 zcg|X|9+3Z0nG6#Oo_qw_fEaBRZ(@&4fMP!dUSEr&vtF$bS%JEt!RqT}_i%A5oB9y9% zr56rD#melC8!oxIdy^$-t;$cRjd0T()RyE))XgoY-NR@-Kb^DyChzs^zp2_1Bwc8% z-wH3D!UL(YfCmD>w$xqG@VIayD$HP9J!(Ape-XEx7nW$C_Qo$=;8Co7#Z3!5i@xzu zRAIS!fyXhGORnW9VrqjzRC-Xb!0AE8o*!VIzd$7-j6?nkdQvaHs-C)SQ}1N)$9(8^ zQf=Y%Adkld+MQ|M{&4U>dXV{#lMd!()TDxkd9T75sOvNcj7Mb6q7!VC96`7oRZBWk zf9XN;(`O(q>i{YgG2MYR8jQ<_%4MA$?RN91SmRFbN6^usyoyA#saOt4-T_s zdAcxrfe-`W_1yU4MD4o=#?;r=VSsTGR!2G;R2@C6%U`Hjo$`way{gtRpc(~PO)rO| zv6WpB@?Vs!Z)nkYcvu(n6i${Q?iTeYf9+EKoya>8+!_#*yMAfrdO*>Seg50Jiq%RR zyvn8aL}7Ga#a_AX@_DhaS9I;JIizzmaTqH!6?Dt(_W%*ePz+r>wp&;cN-6i&`rdy|d`^uI9~+ZTz(3>9e^c{! zCJ6?8MW4p%eIpP=KpH$ri;)g;gIcqw+BKww$HvC6mhjrmYc}<3AAs0%Cn|NCbjoO! zfA$wk@#~4|&&R=y+>;+`vr{+=AXTHbzc@8bkTO=kJURFL%A!Sy#>u0EUkJ~CbEI~e zoqE5J&_(7c*nVez|D(!1F4hUxf3F?2Dyq0m?eBiai<%!Hk*=V)ndSthUJMdIYX%dj zHQmmfOA?PJX}Z`yn@%ube!(Pk>Rk2lO+Nvx)uO<(Qt^lvftQZw^a6_gWUq$vF0d4X$8s zEL+=i)XWi64w%^u3|UsT@JLG*;IxlzKuvHr8b+XGM8@PpJlK3HaaE6fX*`>dA;87$ z#5H5)o9gACjF;cdO`jn@f6&2BGcMyKQb+_kTMY8hv`+ayG^?MRzGq4GI&f(d_%H~X z+d>cEEl#W}MlYm1uIsG8Kwaan>lBcpUA>-=y6uqumQ1BP0o=m9Gr)YPK(6!zX&on< z7Xlw6)njjxac!n{V?xoA-UwbzdfdV}hshP%+jXGzsfJ29K2gu{e~~W6jFZ#AZ+nr2 zuS$q5%gNEm^%vvh;$r>VXb{fyWcF1ur9v{77^Ma~2>PiAEI{?cf<7#7e>y=zoS zG1afr*>a^bl`eD+ks&R2{UbY~+ZsktukWLX#V|ltw9zh@KD1fA*u>qaXXpdiD>gM-7RwZ2sZ&dbFq!IDKk3jdkjmyWzqxZcc>Y zu=G(u_kX8^6}-Mv5|7KBl7mn5%H=@=J90`at1{!#U3x^hPzZ$*bRoRH<@hCTIjYy6 z&ObOb_w*ZT_Fbwp!{qxFuQHOIsZ6Po9m=NQ)a)XSqW2j?f7yM?Z(v?k92%m~ektp4 zsIEMIf6UHc9?>}II>yleGt*u_gG2s>vZ55TZWb3Z!lZdHnN5!Z3B%V0Mr$n= zwDO+p2!YI(i=QP!=XxLTzuMXz+cqZFu1UPNWAnO={c&fDXkKdVr!K(@Xz#uoCc7;> zQYu>R?CUy_z^z(Olj%((+!6zomgf14?lvt(F1(^~A^-?@e5ij9XP zfA=V#OIy|hE{Cvs@NvxIiu{UYB5hYkm=y+xjy!?m2gr~kKvu!Jkd-Z7oVe8PY#8P^ z%z{o)B21uap%JTSdmWG9T#N}0`({pId=3VbMl?k0uYWx|v9CAsPW7|fB+{g-j=u#VLnxn1fgEn z93!j_v*iw(%n55XnFnQAn;olydTz>K5F#5dQ*Z&Y31Zc&U2jTU<8` zQ-b~m^;gKQA1!;VDaOn2So^|Jw@K zs{!P_%f&wBA64Dkkr-3lA ze+`X)sXlX}ZRsi_M_Ce86(;KheU!=t3qA^3bF>j`voJ9s5g9ujFydOdk{l$>cLGD{ zzHCgSDxOc4E18m_xN-P!#LWuxM14Lh5Y^6@zZFNAT93Z;$e_}^< zl6CJ{-UVp7-HZq*)+yYkP>PvR;xnfqd=AMrJ408G>jg{3ykKE_fTF6!H0;-TQBN&v z5pTqYl6D%y^D;)|i3kxJJqa1ITkMw7Y`%wV*e_~#GKQ4)KLm1xHn>yU%^})^N}*h3 z=Ws@gMcn;&nn-$yhp5{=MCJt9f87t$o(o#a2WhNiK^SalG`u?hs!gzQF{1@=yXaE2 zv}%)fMHTa$k0auj7F@>#HIC8-Gd%=BgS01x>LWn!IePmW+c*YZX4%5 zB}c~mgR{aj`rM1FwND=-LvP%=vv723aCDfEzxclf8G00f&ON`5L3ZaKe?KyAT?28( z#A)N@Cm2Hw>nAN*`1S;}V)Cevaa8Z!;v|aSnn6VJ*$w06VdJyw1Wi{bKcAcZo(fRz z&flM@&3>wkgiz_qXV^`x6t$rVw{>_I$i|c&wxCPOXQJ6Rg0zCyH-h4EyAhN(KB04z znHt#r{PDn_4LAMQc72v!f0BrgHNwxFx{V8GZu;A~8K4K}pFA*LeCk!w>)SE}X0){w zR=IhwI;kQHW4P#;jc>5^D1mY%aa@TE%gXmp0l3F)%rs+Jm{$Xq-L_Lo=*(3-sX8wY z!FYozM~3ro2@Fq{h4{;52g~8H%wPiUT617oTHYOKA&;D=Fd9q0^triO0umW(r|%m|N*GhX)sje6i!_u0i0FMq7^ z2sbc3#?~jP0MDYFfAsRlWF9Hc%q(}X4n9(S@WbQHz450G72@h~mVWdiFDP&i5(6I3iBLG9b#0A$lgmON z#7;~-#^U+)D&Z$UQc8&J!;j}?&k3RYGU!OT4uGQb4kI~=f5+<%k9uf?Fjjat^^}-- z16%wszCxrE<>t1U?#5%R3;?fs8PUnIJ+H){T+ zPb|_Cjr>QnH`?77>FXh1{v#44X_5cXB1_U5+cR1Q1AXm3C;_@075=)O);Fk%J)zPA zjH(dCJTeyif0Z23S}IMbfpoS6LSHQyXVcnD$)OCLjlHCs2tbva^5 zg%B#krDPuBpu$cGZht?qeaoNvH|v3c?Q6F8C)RJEe;RtsyF+Cdb`vz1P@NmMys!A$ zl`9VGfi3IT5A<)3M*@M?)>f^vvr|JG9pmWp>e+`hfqV$SFmYp!w)O*omU5;t0+Hwg zz`>+IWuUW@YsX1s8EDBd60D^Kv+Wrw59EOCX1)+&dZ2}#nuI?C^~TP>X`o^EcLK1I z&1Z_Ef0cN**13h|q{RX)RFMywG&&+0#DJFvhRC14YFoDqY$p)Nz!x&93Wr2EQUZbu zZn&H&q}LTwqhy9FI*lro+MTRWX*?O(wSQc*eZx9TPqSR{|AZz>?l8s!03?ww4?_ds zP}<)A*X?m^B42iikz%g~AJ=(X$O;;r#6_~M*#_J&u+@cu39d;T^Q>H9z7fH8Hv`pMzyl^Np-bU+h@(z#5ji!8@*aj;55m>njoVGrr{A5vsA1ZiZm=n0k3`bxH@qtf6%gZ!@4-Pxu&~#ZLyTGvk#ls!yQwLDL>f? z%j^TOMF^^ihyL%iYd5)OIn)rs4-yU%JBH`KQN8l5$V|3J3xthiDil;f*Nn(+hV9{D zM#DTxb~xnt$iK;-m|;KtS4sw}A?AiX%r4R#Yj8#N`OiSP)0x*`!gf4~q( zd3Pc=o(KeaA5gPCNctN1=fvq1L8{yg8({_b!Z>mmu0Ci;X0j-Pf6i|k7zh|oe#GH` zq;ztB5D-AX>AitXIka_C|K=T*w!${jvjr*w*^}9iK3Z1oq?vaziu3^8sQN1Xf38ga zYkEpEPCo#Tpr3t5sCm6ZPbG7?f5BvGPXYu*Bo`d>l>}|SKHg!6@qe#CDU+* zkao0Kik|sIV-^O_uFt>tQc<*0N*2nXFwUD1fd7xP*;r28NxqdbBf0&Fe>_PV9U)(X zun;Ipa4N<(ng6D|sYKG7G zJK1EoDMPFIiAw1TlwQDy3A`YG*q_YjC{mEl>fMe*nn9!r{C|4SvJqNT%i}f+m*ToS zDrF?BaD_OR`U}mtMSA{xfByc9+VlJF00xtL6afC``=hYmunnl<=nf*48Zy@aoYCR)kblx{({Kc* z0qXaf2B_bh1gMUQD;JQFfM0$lwKeI6CCx_UMFCq_H$ zbRs8rg*uIMusouNvKlfyong(P{I7cKxbfLt*IuLJI4rQp5#YV1o$02Xv6^66dZJ4% zMh{4sbQ~;pT>67Mz*m3RW_|UZP+?dL$RyPr;gl>nn#kf7u_DFl7JoV8B4*o;t?LLg zIiO3i9mQt;`)H=LpI>H4cVapKWFao~ogeBStkB{6ZhF5^h?=0fR;<#);nf6YFdQ~P z^lPDAU2VhvI5;}8?;zlTgK%QC2d#v%G(R8k!-}Rszy;C)%iSL05c0a7H0=+xeZbk# z{6KI!T0fGk?6$OC*?(kMI0P``wO!eBfN0~<@$QjN0k)5VVeAh2}J%o6ZG zb7TZdnXx2uafw^OWKOh&iK*&^Q}a&5kkmUV9=*Na}cx+!MW|DprKrwNoFxz+ReBGE=y3>%JQh|W7g15end3r zHauj*mPZG9HGi!P3q^I5_PqP9Qi?{_{oZUE)H*?kW>zm2Iyoz-Ma~IwtOA`a2s3LF zNE-wJ543x$Oz4Zlf9;x$8{b>A_D}5Wm+4x1keG5P>0U?@^pT9_t|X{fJ-fjO2=jc&2t{NO=u=3eMK`VDHo4ga3$&?PJO;GaY$y@VD(Vy z3G^Ia9$vUHTfOjLZuT~Ise}BVoYh_A;Hu4jX*_&Evj219H1q-`7vm_PpydzgwnmA0 zH`^5RZhsTfK+q=2IdRU>Y#FJXjW($mk+z~@%ba1w-986Hrh4oZTPIIyzzO7%gq48| z#6ruAn^Nfc=lACy+?<=91*zrT%xT}!P^!+cFAcu_xw@y z{NviW2esoL16}yT$H)_~Tho@7aq@riKPH4%QDG*XV%EHBXQcC;4`@8^N-~>cL{@6F zqIITM5n_;1>jGvQ{?gvkqV4TipAc+N6X>;sv)Zsuj4C*cKNn#kH25YAS zX41Q2kmx$IQ1FVC#7de67LKp-7;CY}BHLwMGz-lEG-r=Qb3!Ww{e}q=+K{OX3!%iY zkV&Lki%~fX8m1FuVwM!efHt)wcuW5g!GE>L@=>o&y`k(CrPVw;Ws%PM?vS0}YOG6K zVvGGTiL-#MQYy=_(Op;-M^L^iM8R&mvj&g~Q-L3d-S0m&zWI1=`gj}V=Z{urZ((p= z%+U^tdxc&9FZ{>tcJ^u^%o5T#rC_C$w1W(jXt78;mX*8E?Xw4_d|B#)Raon~fPauA zWd#ujB*&6jOr->*dEu(tN9cd9Old-y4g=85-@mzV;V=eAq~-(aipkNu0_zm*ROdu1 zcL%D(YM2(ai7MF*j2D_@qC68(NyuCvDxOP5S0-!96z8OYk(Kk>sdB3{h~|A48(`(Q zn*4#dh_ewXw96>hLSmmTIo=vh=YO|5X+wEbK`_on6Gzhc{Q2DMEjE4(d(!F=bB3vC zzTEx zeXsR@mgAB1e|)Iu1V&2Py+8_+1tVNFq>6dMQ5E+g>vDKDb)ri&#$xMlW+!z zlAu#ff6$^}D^VGad+PZdpxMVI_5~Hifmjj!J^eYi1|St<$Adx@`ELAQQay9l@bNNg!n+Q*&2iY%jgeX=f zAy|epr7jF)fG33hE-b25crtna@Eh}G|Jp!zUdwGW=oKe)PKozT)o zbrcjAs|<0Veka?FvudRUL=jW84~1P^p|K$l1Po?1IWdVT4jddrxM+ zZso)n8Pv}>+O8EHdVjVIiSsXBo>42~u=v%kDDU z#qNSZxS0x<_m{(aGNnQ$7be7Dx|k=Zpa|EWGD+4cY9FlRaaK`g14g)aE-ZWjyp%MkhA(T<3|5SR`#s4)Bn9IU+e!b%hRGF`{Afel~8d%z}E)9lxz_R#SuGcMl+T1 zPlAwO$<%(TjUy+>mrge86I~18?~teknn5s>R3~Z&k$+_Hp%U8ue&W3?+l~8^)z5C> zeMN}gYfEYw4E%_&mEM!h<+RT2{o6K~@)KuXkX=B|B*`pVDAQ98{ST?I*<@&G-6m`L z3XT8A_%SKiu3}UZW5B4hc4@69+284eu6tp4oB^sPMFa0Fg$+<0{y!RxcH8ZLRz_m4 z_y2M{CV&6ms;w=K>@Q`9cUQEwwe8w}QFDMmz+4+9n}ozCn2`)uw7%Zn?q1UlIf`b( zPLfnX(;&gcl?M));@f*)*KXVgKKkrKW8zs`w3AlSuA**i!CnPrb}*RF?xXEK$Zj?8 zce+sKzcAL+LHU}I6pJ3z7t?aW-orgHrXM|N+~xL=Yw>d=3&-jzKL`_I1D_75nb5(G2m6fDUgsQDrPP~M##s%SBeOz2;Keu;;Q=oLhxfj$0Hw+P`}J%I@C zO)gNe>v~XXFmqZA5|CV`k|DI$z5o}8G#JUG`E3SaY;l>JLWhG;pp{~t4h9p2i3Ti5 zFTtB66+qEyT0mgiLJjJv^iTth z9kZYDMxQ_ck!k|8RV0zV&1Fn*?UqfOwroyN{Sc3SbB_%IlH%Csu==-cOKje;Nxogc zfHGv=RwN(WbwF(F-%fa!oml}He?&s>6y4ygU9)*@|3(=Qg0K#+i#tHugfp-RQr_=0 zt~Q&t@@NV)yc+|}uY!0L13T8P?H?GhdP5gg{nEG}9z6fkgeYFB)4v}77wzjKhrRXu zkM?%Imj5iv)A|Mq90rpfEFdfoW@gEDgSY~fE;nTR;&tmb57_w$sy_#ye_)p-)A-xO zjD+)f_gy_m>!Q&|&^9l??gg1_QVRvyuTY?+I8p(p2blu6!cA+TsF_9%pHwC>TF6$k z(C*@Bsce4A6^naDM-mWpm_SPx^T}+%{K}wHqZ+d^`f6svLW`v#qcuTl2BZunX)}`2Sb#Q3f-tqD(R{B0fMX9`0HpbVmF=DekY;SZu@y86!Jh7@X4(4f7x}a0m$wGEvwIe zxCu9%15gdWcFj0_5-yI)71N&>yLKZBY!+3C{cKr|-Sq`|>{He*aaR`&4WRQ3F0xrebH+C%I1 zwfE5aRqCPrgVaOEC(^?h@1XT#Jk}HN+Eu;-f52Vs^=a^xe@OLT(XXAwHME=eTbt)w z#0_VUkg_c;f^K8zrd})$y3uJ#vnX!iIwi$swN}eFUY*jou5rGt0IbWYktlsC7u@I} zo1;vRpz*G7qU{<1tT}Tz z!COXt3B$}3O2Wfvoeqwr2!?ByN0syN^-e$Pz4h!vf8*YHyZ6>bd2G$bJ(i`-ODn;< z5mTLqd2WTy7F>e($yBZ1k*Vv8RniRuqnvhCjix%8+yqIjY*$w}p(tFbw^8eB&~)4G zZ2Vk*xNUzL39QcE_t=nVrN)g?oPi%5xRfh5ZP@zfo;tZ>mfU@Ha_h}q=?w()@eJ2v zi$%csf1-HAv8LjD)hZVZ$J736j=9tvb+4IbXj1hyKdnt!#I`CNfw@bWy$u~|jNK+% zc{G&;MMI5>k4#>zi{&u;0%(aPvf~(#6-!AB#&zS+6+#+O%3n^U_Wfp0UWITJyC{~& zXro9x*WXRGXXoZ$e9k-uqiZjh%-!u;P_*7pe}NtX{mv{zwDys?x1D(fL+@(L`BQ^r z@6rVJT25ThWYK}>xgK0cYbfO1U4Bme?x~53`=F5IZHv0I5n>vlh@YMU*cdD0`Gb! zDwla9i--d6uw^?`2rY?`>A9N|%V!$#1~d^(>A6CAU)U-LmGUd!&wqLef|tCwI{)*z zEhCx2UrH6@$l=;^P`&~oKAuS(vO7Mee~3;`p$;&2o|rI>&bS6wR?L(`8QoN@C!Cr| zT_KEQ%A?uZZgE{FI%!ytOhX^mC+gKCrT|LM~bP=)*NHHeQ&)>L{sz8SpY4 z(k+3CArB#Q$l?j@()D%^j78Y%c9O^>f0`ivAdPp!oMcPDFdHCqJ_wOV#ct-_^C0DL z=e;WVX3R_}Le4ZpXd&DLIW`+SfAvHfWO!YK7ZMlVkVqus0h5a-th=mEz!^L1)R;KJ zs_lwYbbTpAbMJrI{r^&4|JS+y?}>KzI`03wdtcjsFUwP3|C?#^B@!D35}UTH+p)1f zL2y%IILRSooEzyCZom$i_meBcR~OgaX^vKd^nxw(W_{Tefdl+rRi*plG{BW@T=A zX48hh@>>?tKoC_{#FZ0Ne+aEkkW7hn{R3<3i&7Biw&G|dQy=WMEjzaN`vKf70E3pl z8gRD^xStTvegJ!jZ4g@j<{gQx+qP`)U%Q>wB_yx%dSjLBs?ahlJFVVB(qqE^Pfm5cM)eYg`n=&`rCh>y+o`Za&*->{Xos?JQmV+ze_$u;Z#?5CIqY39`Htg{0> zZ#I`iu1505n!*43^_(wsCd^!M4I)>#h61=<)*Nphaix}`a@ZAM$OBzp}aUm9hBd%@P+(39)6t;-4@Z8Ta z8w4^y;Op|yr&VJ<{oC`%CN-4l_E=BN=mf0i(|`=Zt=JQm_vB8TP2Gj^&A^({Y& zWdo0*cQJMEeAKZFvE)62y!r_=Pb;vXV%90!%sGP?zZxQQi4soz%GU{Vy~wzx773Yc zczTx~g-iTpe^U|o9|7*%vkS(FbIXjs-D`f0zWMXpL*I?8Q+Omf$zo8qQp_ShuZ+0s z*6>?L+vbe@dn4_>c5DBZ18d8YyVq#D(LsETw%N1vXuF|>3Xh8j+LFZ!am(eG2y^>r z;%^;yOVjr6jl5SbBgO3@B|{1EU)F5f?Am$H8xbh|f5#1*w`=k{IaU_Gi`A^)mF(h4}F%sk}&(dX@U8 zwj2bC*SY<+b^8t__kalt1TLy%N^XVTQ5am2e>Iy-?{zC-!xGAosB<0VP?)v0brHt- zzBL>y>IUqd*oQ`dg)(8qwr|+#t5lz*RR3SsY}&ffTP#Ov zfA+@Guyq?Ke@i_wnYAJ93*vJm&2HpqpFu#QuqKZJ)YKm ztSaB)9$^kfO|a@5tv&@g96>O%E*itZ6{hU~P*&mOG^pSQV?&~|62zPWoWDN*psq-$&Qfon8SZi&f2+MefBe|}^QSq~y{Z1fmNII9i>nvD!6jY0Ab?ULTL1?Omi-V+~nx^v)zNyU~u_>Ao+Ggn~jHszk zHn3sy`|oY}YhvSuO&gqttU@)E7TUUT!**Y~pOAZP|F(LN-O|Zg?O(gSle+D4e|4r} z`Z^)w2X=p;_AVkhxmW4(Ve7UnfBl=UDw!7H5DWgf*b3M6uV1rcqrYBubH&ASG1pKZ z8_}{AGY2Pm0_VU(f7Y6v4xfiotPME!-9x9n*EyY^s+~ zd|UrOf4y=|)s)nh$ppC>`fhmRe`DEoes@>Hb=l>UG&ZJLwMs-;S3J3>()DGNb^7Hh zleCipZ00E$V3S8GWRb2H1~y(?A%e8dRa_TRW)-y~%ZJQDnjW%EdFa=4wO|_qg>=w1 z2ExS)9er+j*?O?GW0%%yckS}(T{DB3S=*szf=$2;Ooj@;D~zZsz2pJ1e=$}99^1S* zWJvziXPcrWu0nq@0bs#?t_OX?6)AC_sCO}_Z&8K+O)(#zCxZ97=zksB+g5!HFz^f=Cbf7Rm{U{=if&&rTrb60mzpbXaOXD<;9Uq z!2v+s2(b!9BLv2gq06|(3FwvBokdd(i{1hrm$ghDmDutp|5ljwj4-$L|DPQjwyCua z8WT@@Ua2c*z#|hMS&uAy3@usYn4B2UlSYH4r69^?(`lPV@RR=m^rK;*68+O!q-%mD z@tgAR@}U2hp)qzbwIp6(y#2p_^hP5qBlh@jz2x(2|1Zn%EXx1O`oARBZ`ioKe_LHI zF!r3_3#L`8{(NZR=+yknqt)44^gd3kKcB8&n6qL~rYp0`$mv-``u+yOBe<4B(ZcNK;o8OL#_5xU51oH`dH%); zgz9mPh8YNfu+}&^HGltqzNJRCket;~Yn}N!M;2~=UY)oz|H*TYi#M!c?PkKZwDpAh z+R?e7>_SCaf-Y5gSJF!=Ir^<}|I*ykV+#{g)eEOkLp?jPw}%X6_5RPKwuOn0jnk8R zbIC&O-ZA6W$?DaQ(NTHr)C1$@CvLF&B-nE=uh!09L;-;nHq}>unVY>W=a`$GnZN&X z;r#vD<@?p^Miw=R%wL)Vr}_NeUz%>nGJXfcxygi(ApVVr(I&$QYsIcksM)EJ*# zBgd39jM^@LC1iL^-Lyw{tDi!kjOx8x2w?8nCF8-f`J+D>hwl=C038V$Q=iREPY@ir zc606Wv~l>+{GCsY$&1FVAF5|3-P{wyf(iAJ<& z-#cBgUiR9jMOVhUqJ8)l)1vRd+uQtOEY`!I^nj?2|5lyA*03?%=JH3X$#{8q;l?aE zy=(t}JyX5@3?kY=G_VusxttJDsOM-*Js?wpy9CKNa)J~3ip(sTIpedt)z84$IeI#W zP-rg?&p*6dJ$$PE=G0w3;F=OtpKCrr*vjMYx+jF+a@)mL9kSE4_C}2*UGJbOnSB*E zd<);)9VLsdDX&hzm$5QClbIuI;pO`8n%>rb))wpC8R_i(;9!jW>G^>C^Uencqx8># z*!aPnQS##t^tF9gSNnnP@dgTn+sMRp#y)_=7*A|()80B5Y=6r+Uaq~h?l$a(G9%Uf z=U7iJ1+ruLJycJVT0(qqDm^?RuN7P;=sZ-uj`g)FaiTmFtvw=RuV1raql?2o{xqV0 zXRWA-UHx7;)=)G9Ma5pGW{Z{3%JH;h>f5LECqJ62WT_z~lXvjEm!X9-APe4(k4$*^%ni+tr!V1Si|1BuGup zO`jx$%>2#o>@oRNTx*FYeDyP$gJ#r%yELSAEvPxv@`**Y~MAwm)%Oh~bX z^Y^em?CL5{5s`-sh?zi09q^FcFvFe`N69JSr$`TXWP)By{1oYxe4kX$->Ds&^i%3L zAjq&UJx>oMR@tkKPkCX8ETZ#}4B~YJCrK9C)C`UtY;BxFRhrUC00!=<(ntyW5O3CoJOow1G9e+uXE=Z_(Q1?1S znx(H8z*=M}zMD9806iwHt{Ogtm&C;G4FU(ssF8mQlFFWORnkUUOA&=KV5 zfQ3N%up=DS+tnUU;ISZB0mgz`d^pTlB%1ZzWn~==k<{?GI9*UAH$Vq>H-yETipM-~ z7?MBBj>DSAUMq1|LwL)by>0@&`rm+6?Bl~Q3XV=Vyjnx-0)IP#6wA25evM?B!_qq! z1mF+4M+t8wc6*aJeA`Wbg~VxFbqv+B`x_+4dtEz>qJ?NrcSrP{9x7t!>Fe$2eS2lc z+r8Z#@4N&5C+{(u&mntoA0$6p;MY82uPOv;HPr_|-X^OjpnNXiycX~&C?d!_mrP|6 z>C8})46#{WNdH~F$LaN$04FO{vTJ9mGdG;6eC(FqX5ESB-BBWQ^V*$EY9*&us}XYj(vmVf@6Bel!tuSwD?0Q^oS*0A7 ze7`}Y5L1ejJoaOMy&Gw-t-9Gq2mNk!)-Cs`aRubrzu({#u5eXSP~Soowa|xcczqP@ z=pM&QCi6Yaf5yf`!FCZ<4{bm!%iThUV=ZoSM@zZ59gya7!{o8m;C{)P;(5dL3gl=b zl%G%X(~mzX6MKroo6;uJ{I#e*i6b3!&of?sYLhD+PKuc3zi6*eHe#{i& zL}QnKBMy4O;^G^krPG1rn@!e967?%ZT1d*w7@Xsb~p}3jQ z=cZ3$C4{K&Lj;IqC|q}Z^D!Bfg)0-)A3i33qk>WlfhXF%3qWM*l2hzg>=Ebyx$Ov&9|A91Asn zo08HUluvzP%6(q4BYudf?xiB8X!SnV4d(sL&EGFXP^B|DQb*1&Mdfqu8ZsdFE2$>q zPR*3(rtejMyn*DCtaQRjTlYa%VOq7S=!j5pS(rFhJ^tS=Rn@h6#Wa4(+hiK@$G*Hu z!hzp<^L6DMbZ+9#s4qjs5{T!tY(Z;(){ME52a*`o5AD}Rk;agwzgadtLBH7uCaSzQvkN@7t-Y}xK&140m7TUL8Zi?%CVu-WMuXP1E>3$-0Wc_3XLO&u`OumCe(ct9k0!TBPa$Dt>jgPaGriG{8+{bg(>VW zHV^yjUp!|gCmqxx!N^E3a-k$VzUfBa^kH2J(2M$Wqx?)dFBWNl&htgoIp{TCU2TBm zUG@%}^sKM`dPpo?1IdAZ1tsw-IFe`VkTA3kOno2yEe~XByPT60#A*SstR7|~H z8X&0`Tgqy-)6%~>8W_#?{O=p(G{cAn{uaT82 zSK9r*_QZN#`+r@IXHouNxBR((+qMns`rZA$@*L>zb>T3$NT{AWIyd`x{+lDlk&6Mo z;`~~2jOH?MX7AyDRq}U9%F42$TWvYBlpz;M`{Ov)Y{t3tu<`s+fgiTJ8Rg+UX;LtKp!~k(x`Zl^*=H5ck~= z!o~yEqefKNZK<$Zs_?UqYac&V(-fj~k6UwV_s-SM-mcAme(C@)uIP2Ic_CmKx=4QE zy9>3MJ2-2)w9E+EpDptROkE~MC3SWR^c|r&iJss%M8}$F+8V$Z%cEqi50BDj#koDI z*(z^)TqJj$H}YU-dhh&l1y}TTqv}GqzT((976qTY>emz1pN|`p57EzR_1@RUmAmsV zPtV^t0UpBPjx*6Kpm3i#H+_45;poYQ^Y<5SULXq>{WTeLkA4fjzwdl) z9C<{4($Q~db?P+9Sv_=?G}V|oPmUJPnqO^>a8bl8X(oP{{G7#kKSWr&huD5HcXPA1 z<(BUx7~=ya#*k1&C>p}k>40PJO2?SuwpxlbV&>E2vu~O3FukgWbCX7^a+{NJxBcaZ z(^Z8P_dK;!zU(L}1Aj4h$7bZP|Eqb@uo1&FfcZ-+HT^DHqXe{p|R7$k~MDq%!0gq1s|9qeXs` zJ6zG2?V{OZv%{oAR;O9+#D;1Cxh*2KF)FVy&dUrpV6tq_EQ=nh7T&@~l0f@)fc(va4Sb%SFjD78T6z&T28H{q`9fdb8C zM(k?>9`_q>c$$E{RJdx~L_=mrmk{*E7Boquo^wG;3T!xJ~s!IF_< z>%Sv%)UAlf-f6wnh9EuIvF2b%T%%4DDO$#GWUCjBq$QHMTwL$ef(I;^cf5mtB?tr| zQbg6`F6dIeRSpxGjY*{fI+|Z~AEDtSO(JkkWGfqAt zXC6~Dy*w=rp;b0o9(A=s;SaTc6~SUkGj)?SKq2^rponRE%ae)NWBvY zs@c2^@J%!r1C8$`V%Tl z^R*XgS;eY`XVD~v5*j?}!D=u*tX&6hn6ohyOIo&>)l(9UJvo*cOq7#J(ev=KsYsLx@ISwLi|1q3(N(L(w_ zCYMQ7ilu`)wr$*=DOV0|EGEPb<@c% z*^t!6>mWfen)a zV^0^3PGOj6B%07_v-a%V{EN>e*HW5T_tLVjPvSA@neoL5Dl{_=|4=(~SEl=r-vA@D zXID`L!S&{Zw))l`h$+ZOMnd5|2M_D?CI*_-Ne*6=VR37a6GCf$1S@@c6#9$KE~VHR z7%am$d1K+m%O$?LA;hS0^DEmtxm?tszF+;U-5P2Huvj=$O<)l>IP$FvQrCDzgW+E! zckXP{CIte|t=X`-b705%^&9@Gv9~|<|LreZwyo1twBWjd z?VS*MoF>vA@Aq$i*{~J<9oVqFU(kvSmbP`<7VsC;xp~c|e%;v$ifTzSHf-x(yS;T= z|9_D`!8R)uJVe1ogcP-;FExKzx-&{T zUEf)olb^rxy$IX|14R((!z0WmqQtAuP2Yo?0E$^qtW=#mw_z(vf9IxWYL|bSfB6*- zFgfNHF8o-%cM}Eu#?%R5=N(bn>NXAhCf~R}_wwr8^zrKSG}8;F=Z0v@-1I3k#vEy+ z?K5x&r{O|>5bpFQFJgGC+L>#0!j6f>gx4-ILalons9HhRS+Yk}Q0^jo5nJd6N9=Qc zAz&@%Tp^9{aLr@`C1E_?``M-Ol-3aX0m~~5IuyOjk+OenA`=62Y+V|g(@y6|1$c(Y|1PnxAi564L6s?M8 zlj#V5T5BiM0V{(F-rb4Upt<}Lse)-o-hhD9!=Zx<$!0bbm7CifZE+a1hmgVx$q`Lt zuHIcO0==)ARgRW&gifqvN_&&$Y3jg`%1%{(KE5zZEV14v&izfqcwPnKA zj*X3V4TEqoo9apx^Wou4AyWcTV=U5RTPvi0MK%%v4L0Qr49{EA;(qF~K(-dw$v>;K zkhP+ajS65R71#N%Ra$o>qO@Qzv1u}$7OAb8jX<-aV0b_fW))~UwzKy8-}i5U6RJ~# z#l1?it#%3vR*vP1peKXQ(GFS`0XxK2VVgQNB(?)sC+{9geVC-rD)n(Rc**v@o8VP{ z7CKmFVtFoks-HXp-1zVaq4#ix89zPwP(GmQ9R@LW7>L3w_=I#iftMzXPBC$ZAsd>9 ziEW=g2KtP~$6UB{#&|ZdBy2m9J^Pzt0%5A3JOTqZI&yW+JsCZ>u_3mO8Xjn= z-N}-)O(~}hY4z@$Y=j+He1QQpSbRZ$aitlT+r5u%pnYHbhz%g_SwzZsYn{6uhYgqQ zT3JAHXN0WyDX!ZPmK~0xJf2(DTt0Z?My}s{`0@Q!N-=$7lRkz`=3d^fo_Pv^jq6D^ z8=)whDgJXgBGnSW>b2XoE64ri7D7N@x&27y8lm)-NH`}Ek9wKP^)+&=cUCfg<%%|x z%;mt8PsCQnW;CCrbXx=z;Nr=aoh9U~~QayWk;nJ1)=ik@v%xd#LU7LUY+_-vl z{>BX}JPAX^g}Jg9F(ZFPwi?r|E5K!f0cqJOw#(L3H9ySSDc#)(vscpG}F#=mcTS-#F0$ zYP=^7SC4;B{%1@*>7YxQiCd0b1P=;VCX8bzJLX;-Cr1Ro((*h?2#bw>8)BCZh-R1G z!K{l`X{JZgXa@~lMv`LPJ-r=_B`FtEd&=Z(G(ED4o}z>~cdxK|`6oh>k!DsOodps1 z)W`D^pGXm6G|u-?yS4pY!`aI2(ZQ~4F|7HNdeDKRYZfQWsZM9QJ+$SpL}+ML1xQe+ zW?v^AG8)s9K_CNF8*OuYJO3rC$Mq z#g_fAn!9pJ_f)u(MTbSf30V_vWFCqYLGI|KulH(W{;Oo@UWFEW&DJdmTgRqXJ77mj z;|>r`kyiHCsHF$bYi843Wkzj}>cVL@$Y5qYb!L`?x5WN<*#P^0$m-xK-Lo#I(#WrX zH8m;VWl$X1v}XI-KfdNgJ$X@cLY9vgwJ8OM98!$pL`n6Sz#rUw2++cPzTy6z`)V9WyX; z_c{Pi$k1DRr=qmzNPfr;7K7Zkyz67xX{*qKr_h?nvDKim;rW6%TDbL z@OCTjQgD~Tj#8Kcs)OK?0d)_U(3Vj0#*vFA5+Muk{-rj5P?n-{Ixd@|*ABT{3Z!#` z#o`_i&(W6QznwT8okN7xVfq?58svzVPZv|=u6(AFOpOj^_H~hNhlfTBsY3u7YpHtLMqb>Xq+| zhc5^sBf03%$lpOv@7PI_YwkHf473VqHko1T=&lO1(h-#t#Bh_}mC-_h;2B7zqfLI~ zvgHaaG?IvGWRV9GD`=5IKKZdWJB5meww=VSdnHEM+=wz-c7W~9gT0>1@>{ogfNTY^ zhU`#(mabRK@Wk0GdG9Q~U(MTAO&yZIWDDuySecy71S{<-;K9qgLp~0y-8%oA(BO|* zt@AH0&)+z~g(S+s*py6d8BhZp$fQO~ne~5d6y(NiVRRqCmf(42>VX~V-fUh0s%`!W znT#Kp>rHg21Kw?3)Najy;_JDi7=8v}waYbsvtvv09b`SY*asOsG-WbSk#+u?Bel!t z@OVJV4A2Y3Bh@R%1LMe#wQmo#H_)6+Aw5zgd}dk876yx>g>+ee zD~?v!FR}DBf=@{s;gT+!%9K?A!J`qi?fs}+EHI}5XI_xK#1}#EzXrB!hW*M)*Dl{T zo}UHnXlfn|I?L2Z3|tK$flN=>=IkO|L*S>K`!2#`kFAii7i)KquVUC|b&torVBs&@ zKk6UZGw>%(T8zy9rx>m!aRBP=|1;8m*Vh-Z`~U2V#$NmXT#jc^{y(>F+w$iP>-x71 zxH|w9S-=A*V?`x1!??x}T}d#aEo--I>rZU|+t&U#`xc-~kCaXcumFTd5DT`R|Ik)# z{?rp=>Kwr;wPTa0*e_pj^Y~d9aGirqR5JOIMDT#9dR!fU#pEozQbWTo7UNcbpy>=m z_Tf?4qS}ZWvRrq<+@3&>+128svOc_nPqfw!bZNXfy_E!i@sK5iuR|E_=swmTbhfRz zg8>hlU`H!VuG`)^XRGWA0F+s^IrOJk+u^@oIAJ|=tvY#{AzsvfKtWV>>h#=;%kvY5 zfsT_7eGfnWs0tutAe6nu<;~!K(_*}4XU`o%4Hx(R-PE5x^RF7oi*d)}&)!VMc$o0r zeCsR1f8IM^eE_1P<-M`-Xgxg6u)OBtG}j|+3Km?eUf#rLDU10z_9Kt%JRxj5m=i&< z1;`n#)BMAkg1H;&ON&%daieepI{)&52*9k|nra;<3gg zx3PBU4(w(}%rieIz+orkzyWn;R~0Bm-d1u{9A6vCZL}r7e1vGM&AdeTD$O$=&4#{X zXrLe+hQ)U|*{;cKPhTD<--1-^<-G#?HomPX%(}i{>|RQe3iS|21F#n$@O|>Yc=2f) zYNFu_N@&wrXZ$q2ME4%|!Jk&yEy-23+bKo2Xtn=HV~W z=206R05^P_SITRhr6J2wF&hIyZ^U-x(Nro^cJ(E_EPiI2&HvfS49a3PSqk9I|3}Gx zF&qEiy|Sn8HUGaHPhr?4YVwO1q08>amC@HHu+^fuW6SmLUwrcz5Q1OzztqfBQ8TG(z3g+G*48drro z!XNHTcK+jkgRpi$3x5cc15PsMvVCHdL9S6^0pW zh!@wicH9vDgd=SRkc$XhHHvH+2v{ z?9f0_6hHu7rTxBs<8iy#h6J^pCXdX`e20RQ21djb0f|wOwwi(xg&cT*F#ncq!Du|L z@6BgGuj>y4rE9C;A8-#FjJD%q_tSuP)%AtRcT^${C}%<6!M_tc-lZx>(!0t3qcL4E z=dN>qC4p5;7{^(2FYhnhekkJuKt1$Uk!{bcrkBG9tkB29w(7#eszXS*=c#o{N{e>- zKv@1@*1-uDq#>!Rc;E`a$ny_Bfg3{_O1b*;adL_TY$pYc2viQIc4tz15^y2I&I&UD z-c0Bs1e4YY20G-+dmA>x7gQHgHj&-=`~et$t%!+(910T_MHsq!oT3YtodFfWuE_6o zZHF_zwUsS)2J*Y(aH&hLbHfWqPm*6Q@tI(Y3r;dBZDKmOVh|O?FI8JB6$^aO$xkr6 z3Bg%^?jZosKrg?dS&9!c`?3{W@eCh3rd>>o>Z7%z4w3^0TONMdL;l?CncD0Th<|nM zHi~{Me-lEs;CLY5zzKvZmk%EnZ6kJ&=`(Ag54*x4naZX%5_q(=j3g_&K&6F5P>RHtpjghp` zBzfsw)rssdsNlgY>`UcF(}XTR(AT=Fm6qfQe=9M8APMTm$Pb3#&WwTwqT}dth`BBj zW(w3blOB}2gVGP^J$!+`m|{9+3bwV04rwbi!c<4vQ82MPlgw3ichXJHd>m<+LUJ&d zL3?DDluQ0&za;^i;m6Mum(3_!LmJZuO`&>Zj_cqMjB&`^Mv$SrCp(e=O%obpkEtzF zf0~wmND#UBJQ50PLd1Cxng^N#)P zNIah~>}KyldoyV|M)if+W2*-TjjgRt^D|4)alpob_M?QgxH04;HMpuefTl4aof0}B zZgb8ZVvzS@j!aV_MG~WtNQX4b9olG_f28i@Wj`QvgZqHl4n@+eUs{6k`gxVdF8^by z7fqD_)|3DBcK6uie?8sZujPNs@+?;VH?U#z`|oY}tEU8zk-FmQkpUrkWUe;`%c zMGEcG{|zN;yC~VXOMfk0`)x?qcA0=(CQXvC8MjU{g?Q>9+;kaG4LlC6q$GF){nb%RrWgAh;_%G zoPQ~Wc==3eIO7x)QAF9fR*l}9e<04oP>m>Cn}2+`dj2uGpGUdZ!qF4xB?XVU0VD%E z%LM(NeONtt-x@7sw8SMviMC24x20d^Oi%ldJUVG z+;CYWbnF1~)t8ZvKMetwR^Zx#$Lqvo~Ixy|Uusf2~7rOf>3C za3v8pE!_W{4q_aTAi>`bkq933NouZ`O6Ev%3s6-cKZKkyl0adw^|C~DmooWcC1a+8 zK$BO`l6aFWqFn+Eg}Y`+Ld_!f+a z(V)lR!o($lbqGB|C=pJ8e|SnKxm++&$r1XC${|51+?qU;BqJU2DKC~rnspLoxe1Ev zNe@legE~rd(>fFGnIG6-`;y~I#nj_Co|p4fviS@-<{(SA@E$OZYfSDoZD~u3qm3jf zOHdgYaFVp3Tm)c{Z9Cq~ly zlj(X~p_3lDN=6m*PV;s3mf}Hnaa;eIb({LT^64e1gBtnu^tjpoMWWqNoBS`@8;QJ@ z|1HOZHs!{>3)M3(&@R|G{i*P+Ry%uQ;p$D$ou{7y0TwF}Gg7r&X3TUNqRbFV!nk*S z{=rYx3#WeRj=g?-e?7SWOQVGXA-Jg{%h9GA0oU9AeLdZF{olUc*ZY52o`7}gDIxyn z{I-FCc(9F%L&6`@*HvK+WyXZCf3qt#q-}a{SAiU;Z9%wYjz(fV?OGU4RCvZi8k~)( zaB%B}bzy|u4ooeT)y}^>J%8f_VgDA+z9dwCaWu7CX3&6@e@GxN1ayVQyvZ1|kLO=r zLk0`H1YEzd@a>5}i1IW=md;Vosrk>~0Z1GtmHu(no10d> zInd77r6rwzf877bS(4!*oOJVD0Mxnvi$)`T_Wd7wegC&SPyPG9)-Ekv$&Z8w)+XQ& zl|-P7i7b{xa&I!5qxW|ypu~kaKEoBEHwVE#ryg7Z-X>s~jg|+YU_HD26pAlRdr2x4 zLc<`_1Sn0m&hCv`IA5^etLd7)d7DmoOAQ3}j#zcFe~BQv|8Ox)B#nig>RJ=rp)pAz zw>#5EYys-%MG*m{HV9*VRa@E}f+0A1k_vdhu+Po94(zP5g;AxgI<+ujR!7W^2&Q6R zHd)MP#cZ@#+R>c{`OnYC!Nd;9v$ff4C^eEN3Y}4z zBBPyvf8xRf-6feDF|109YM7tY!am~^cNoY1d+zzg+JDb1oc{@2Cbfyh#`1OUZf|2w zZJs|cF3%Vz&Y@?Sc2OM&3DVi}9&42`xk{16N3|lakE)@G=-nx?x0tgwpxfSODWlKc zOC>xT!>jBut27-)(W+>W%TssfPo9RDpWwvkf0S_?#O)BzQi2fC7A7W)qcaFcU;KTs z&)wHzvj%R7(xaE`MLGcF_v+PwmY7K7lfyoATXLJj#Xk4IXL{%n^bZ?=rLTZ=ke-sw zf+^Jg4!29PJX!|yg`35Ow*a|ypmoIRPMOwo!2p~}ti*&9JYoX2Se;@A&)yH5h zf4)br#fr83*6D)FT99yJ-T?{dFpR}mvXtpcmh$0DB^AyVvX!oMc%V1J)fMx}awSue zsVk=#8r%*XdqGwuzxlpnOi#iJJ^jG+mex>x%-=eSt{n&yr0mQBvxUn#ThRWpg-ZJ* z>`14(VcdA~RPDxDvJHj51Q{z5glRmRe==JmVL^KD2@B>ec_^?L+uzI>mcw4SczVsY zO;|I$-k7aUeL)rk0I5!%tKFFeO8Lh35Vy#>Km}=bta!_?bp8e#nj^c}&4f-~q*OEXXmNqFd*{JK4Ppf5yjm z$xwqv3EjKYH8Ec|F@`rdE(n-thz*bN&Bw+wGEp<=N*0tlIo@fyOt_;; zipf428Y%~zXv&7AI7X{SU^OGSKnR@@qAvx_c4(OdS9*wGAv>n&>j?G;WD`x>03%4a zTElQn)87zQi?V%i4-NhYX!IwPe+JKAyi`4Y4a8CRF0=uz>j)P|DjnhS{&H7W7xgKJ zE{dOB0?(WDa*j-U_3@-}>jx2h$csQU{ZnFB?Or3;?WlB2Be~bku1lFy81v$XQG-$l zqtJ)pHq!Kiq~!-m!`s`!2ZQY)7nf3YijlTzi7Cc_%p@-H>at^7I@x4Rf3dq^q1iTn z^pWxKbBHYT&7p;xpVrP^tj&BA-Si&BL;Cs<9KUomIz1jCMj_*jfu^(cc-opwlgTTz zQ<9&aGUZCKlpM~0K|UyuWE15=a-_VwSZUX+1T@P5Xn|^hl`sQ8L)d2!vj_mR5`Hk_ zce<}z$mTPwMO&C$G(7 z^!Vbh^u>x<3E?@`00Uk9@dhE3AUpHaiFbxqKOrQOfAnZ~)#32G!fGXTRIeYERzLWN zB6V|Tp%eq**=S?se^`$Q2j}9{1mhNPn!v-U2|Iseza}n@XShm994nW!gdJI(eo3SQ zg8f_~uOzRZ<$9R>cXW{8hP{~*Ik}cy{u}FC*=v{ocE_Tx<-g1EEXx1uz>fFUZrS|j z{%za)x4FB3m2-g&2orp1y$AMOi~Jfe`+0&7A)%iqx#$Y^Y5!C zZwBP`OheWx7;9%lfjFy9eX(%y77OP|c*V(!+=(as+p}_Y zcO)-#&`ddo!)K=qHpW_54=mSBa|7FBcQ(p~+UauCS+>_wHj zT>W`!{>~)Hf4yUkB46=lX@O{&5uw;+60#Hc03B&sL;m5P_DuznP=#>X2?)GbvZ+iH3O^8ny1&A$F##)y}CtY z>fdy*i`^FLp)Krj`83bQ2FN{&)Y8TT&&}%P;3#dgd1LZAnQRV;_sUty zxct@p^KUc_nKOnQpFUOv*i<$`ja_+t6t%Ls7S;n|vBk9zX>>@s8&ICcd^u7Cpms~D z0eeY%jBCNM_#BfDVtx~suqpuSu%98_vWv)`XS>LGrixvp)CYgHT~xbwnVg?)yU1~J zfBOdyQvNH)-1buS*h!331Y3yisMlNQm)t^ZqQw>xE6wK?;%l*iEo567b+-_!0=5wQ zY1=}W4|kF5{aU6Y1Kj^N5;RFLi0D;QGcWL%^y@S)^MygMHxt@Pf(4j11pf3-?fZv#YcrC3Sk$S-rGQhtZ3UADTXL^HeN z;89M8K@*QxAX&ATbWA2EhedT*mDw{u+*BpRRtQIl{kwj2{{BN_;u#A3kP`zwKya8r zq@c{TD?VxFjQisaUEFOu_rA($l0*o~+d|1Bsdh&9!4G>H-yGd~i_R9WV}JODe`szI znM-$Wl5U@ygu9$42gcm=ak4??X1I9!@Z>An1PF$Xrrl$6u3b?6UrCk;nU+s4N%*(A`rq9S`G2gt@3s7YSsowy-x$r1 z9J9s`6UNkqg`-nkPA^Use_XTTZZX)VrP3O`>IA=ZS}@YSnj~~}tsWUmx2v2%ftMa; zd=E`wRX!oi&=Xa5=Hq}aSk?Ek1zdgSQ;Hn9;_xuN3=0J4?!b3yAG4F%Hwpp|xg9NokWrb;-&}+cue-St#2|fkOq^(gx zb>V6McXHUbRUb?duKFN3Gsv&@ww=+=cRn~s|J@lO|Fi?w{lztEje@;F5D}2uLQmiz zYn_{&1sdz~=X0~S0yxfSQBC8NqGBaF9AML<@UTR+gn+up7MZskXfPWP=0rl6$aJ|C zl;qS3uNiVy(r{+=e+@!k5m5EByR4zqi$U-_P#I#TB}*aRF}3tA5CO%yUf zC1=2SB^~iy!QcVmwQ@YM*FrW)g>-NSWlM=e0*Ivd%I;6im8I!8^8cJT?QHu$Cq9R` zviELwg2pV@J;jb-KI)c%-oa@RVaBi8InV^M`pKkmHxg!wf5zO7FpWeuzx;Uq1G^c) zJCTN(PQl$jK?o{P-J^cHtUfZRzGI8Sy$Ljt{s^?l-IMQO8fXW)xahQc*}|F`Y_9dq zgzk;QW)54ZahkOTUwsqxBVj;kOSZBxQghj{xS3_H=i(L%+gz zYiPA%V-~que-(HHe0vP#yT~YY4U<;GCdDqXBr4$&o@w4-ScSJ&fix@tmt^^Ht@2jm z&=oQSxWGLYK#}@?YMsCHwQ=e=wulg@|Jdi=Y%O?z{73-BJ&yi*Ouztu4oL71%dO*4XSK`YB?ioft*C-ODI^~Pz5xS{f1pxI`j5Pg^7-_jV-E=rL-a5k z&J^h}Z{JcL2L>rtOze%DZe2`wi+Y!CjZ6p!0JDTe$b_w^{V;2Mb-eoEjPcFKYm1|W zN@;&$F9(aq(EFL55ii5ZgT;EZFA{8ZoU@BSzbvzfg`R-v)PP>3qgf$S@)*9qXVfzB2RWyV(&PmL~Y*l*plml&4EN2 zZUfEofx)0J66D?4LNbvZNl;mq8a^qR9q9tEe|9o(Gt~kEQk>xT_SLOmZ=bpfmTrS& zt%hVSX9;>xgD0~!K)!a7rDy>!r!xrf+X5Dx1QlH1($8JCF&BxvaF;yXyrEt&u^kSm zJlO<6Aq$i_9w=piaT>~&GGobHj-p9Irp@1fu`n@Jy>JQ*Y!)v3SUdEcar0up{YVoq ze_Zk;hY)3t2MU!D!Ba^N;olGe!kO*l9>VNtBy$?x=wC7(oqq>WPAt;h6^*Ry>g#&@ zZRxlm{KM~}!0S+jW9S|*edXldOai1vv{o0+5Hd09n7_&_hIyMMdtNi1K1Q0B>U5}m z^_eOu3_S9^A{9OMxt?(2f!)Ol=fA}QE zu~gv_a9z_6?4th0cIm5jIYJJ1vDWR<$GL}ovW$X%04A9+L{VgjOb#2_Y)&bIe<(j$ zNIPO0>r~uE|3T@y`V)xyY|%(r*z~9_d2?=ccyq?uLGZGSRpWI}ORM5A3ySt=#KM^m!LdaFp2b?%xfIaHQ2)<2~THNW(1Ez3O~rp=#tSK^nkun2J4p= zzWoXwCjTAHCUVLB#nH-ANPxZlfB!_IE2DP*U$K?1<-g1Gv}$DT!(#3Ot=jfXiI90@ zU+&nTVY;?ElN$l|ovqqd)bA{7ux<#l7|dlf#FG_rTx+A1Y%W{LX37DQ7krZv>Rh9j zeA-wxUD>S_hiDR%COO)Y>5s_xL&?hSY#A8&Qh@54tSV}8Du(BIrArnqpw-9Je<8&6M7u#a0RrI^)6^&@u=GT83bowqT?K z@I$HGK>%A~a1+d=wPoRgX0?{pejnEgWYBl&3fS-@3+3!U=I@TaTUz=N`J7#?e|^MS`jN7wPKf*$w&f#7 z`{jP{JhZiWx7Lah1o}r_8Js49(lf65piH!^DCvduOjSf)X&%`eHtwPs_7oTyz7?YC zB|xS{-xXcC5{Av1-`OpY53yqJLb2|i2=X}yrMq{fj%z7KXWL~Wv4R;K_z2S}w&dC&8mLP6mAEe@><1P)Q`$K^< z-;&VeTN0>uO+@UmkHmTMW|`gYS`L;D8P#^k=-dsU6*WtE)!aCBirP*D(L1+dmhI^Z zTs}+0Ah~6>90y`AD-i}RL)Y=O4u||EHM^k^c`L4-e{f&Jqek!c@rg8HTpYW=W1!p+ ztP--+`8qQRJI2i2@P6>MBh1#m((Y(%OSsO@uVtCs^=GrGm~9bQ z&1=E?!3qrw>f*cVPE;#r+$YWMvIJe1o%d1`9q-?~PCFppLVe^p0WwZoyp=MDt4Ymn)!r*ZCfW-Z*>gpQVZKKxh%(rSCzPxs$Pn_#Ho~jPHPR2w zg zxUP|b1XW(EcCQ#Gk-QxOGmG)cWeOX!`7Bs0v`LL5^BHAN2Y!VtqYi0jfAgGGS^ zk={_pox?4amex>L@BpuPoGuzB6k!aZ#d%935J1ksV6f>D1%k?{|Ml|!-s6b>5bIv~+W+&iJP!G#8YRjyErKT4qEjGw8L8WL zKcI8mFj49Z+716Y@gdFchK3gDYK{O@f9xxUoyQlwpMGl(?*GvO9F56bZb=Y;xBh>m zFWTeK|L=?Ryx#xI@%YgH*Nl_X^Ut3L#3GS)YJLRG*Muj^d*2wJf5y#)B7|DnC5~M) z(}Ua9FHg=rzcM#{(wKU%FmZ$#*;#V4xO(UUjkdt_RYoe%6}TeWu8~rzFN6ysf53Dr z-NL@bb++|Q-yED6R@s{k@QG7JR zc-SmZc3P6&ATtzp&X9HG;xe0ie|fcb_9Ch;qy3#R^%)M7a769&o~mAX>KyV4Xl>Eqp%c-oVr|fZcUXFO@1K?kJ!$KAJ5I6!^mOcBMS_yhm*N%vaAL3`xEq6 zd_`DKYt#`hVTx$@UKN_*afMlNszpeOh8iiF*$1j&rUl#LigWMCK8x=Jx2FGJxa%L~ z-K7){1S?OH_rQpfD%kaVf9F|zTs68m2->=De`7;55VNRa$h{~jyr45`_ivkI5+QVI@Cuoh5kqv2e3a1kZP z#>UX7#PP+7_LNlu9ct}{80*NYm2bZj38zDB1trVnv9xkvX&jJD4vtN;y~>=0y`^NH zDktH93O?KuN1UiQL{Mz)*#+YWcwLf^ zs6+_EBb+xuYzvH%e|`AT!ufm5Rn)iVjj6BaW^XSX1*|ROaTQ)R*!=u^s(g*j{*Ddn`V$+stXbE;&fN#FJtsKt9V(W_b|)*#5un73e>D_Y-P4!Xs^8z7e|ZYs zo0upWEUXApeRkG(@QmOu&4DqS+Z2k$jl+}Z^J(t+_1dLRu}O%z39ISS1OX$GZzJU} zdd=L6tF=!bqsu*rf|pQ>k`LSWuICy|_QU$TyAQQ?>ujf5~P5#ywPm@uwg z1BXu3ifC^3f9u-mBkmp4Vj4d_X%q?;TWR(%=SjY=UYT(LvXgO?>)%goU9N;o@`pcmrh1R4XCK_QE@g=84aX!|M&EMvFaauHtGy0e{fBu+gH zCA(}ZyA6Iii%MKGJT~Pr+1Ue{s-b-ve~;%gm86Xe5tl~~;qKUj> zs*_x_?3R-`$3O*?+DA~>fYuq&M{WANwE5ldb$ETQRfMWSOh#{KEgPKa&v75S*uq2=1}$C&2%xfCsSgW{?ez=^}$j$J)B{Ge>w|8 zonUm;nH|A%+j<6A#>~55JmR@&{ekN917>$@ZWB$mmdETZwrqqUhkAnBRD zNvMN?fj>GHm|}(4K+=%#4J;TkKtL#y%53vjojP5+HG`ocn1aOQf4TXI!?M?6bJX9k zyQiUd6fc`hRy)zR2QOj0}b5TfQ#j~v+N29^gQ zfB5+rk2(>IYWwyjf1FNe%2p>dR&GnGLNar3;FHT=(VaD0J9}c`>dn9_j*@Lr^yQ5g zlg4eba}Kfbn)(*Q4WpA0BxQ_;KcM`z`sp#_<#$4!J2!L0K8df;G|S{6Cq`@Mt3@$+ z&WWR(FZbM|@d)DxUig9fr7tC3Kg;&WVE~q@jyn4Py(?qgf42L-XwS;m`oGKav}zmH z{SMtvYV!|%s$Mvy8CM<}S0^-7)naLFnB`y3E=41e&bjGhwPTYI|8n9|b>{Ty7)diu zo`pk@ymiCdwVB$DiSp>+>K^h2GI0oxu)3GLU?d!@q&*ObMxxq(mD8DAc5f-McHL$I zK?C1iK?vEDe*=J=)q_aWp-YBiuXdU>lOZW}!-kdcjEzfBEQcAV&HN1#5Q>&CSe!JJz3% z15o4S4+|In`;CRGUlB@!oKV<6Jc-&hjX6ZC$jze;xu!mc_)7t@^)!rwLP)&17neIQ z3fJCTrd&R_dw)zcmQ17t#%Pk1jcM~A->$v*49m7bgt4bDjn6-8cLkFi$#(6HcIEdF zE_gqMf6?7AjL}lg0wd5%Ilql>MwaJ1@M{+c`Aa%zP7s}U^<=}spi(9X22>84 z)83UWWHml*q?Q=3rS{{C+Wm<-siyR6 z{b(-7y49zw<#){;N2t#nOs#G1`6-A^MCf|T>QxV)g1tyuvr?=6^c5jm5gFnlTI5LQ zc4sruM2fFc0{m?Ya1c1pd;{Ls&;ImERity7606}IF_^b58JC}9`xgUw&DxCsCb6YJ zf3?zJ{U!=sBzhny#Wn=P4ZT3@~J0Ay@D2fdr z3>Ej8oQF`oC7PVz-p9&jera<=yUi9%R{YfO!m}((j z3}AWI6uj552j*b_S^ms$G6jD9A-<}V!VH$zY+k2pAyb(z6lkGJR7qZef5V$TwxgZh zUZAe%NH$#@(nLT2uHYGrpaFd=>NNo?djG4r7sqK?%b;kkPiuAhaP9OFylAc6J6Ah< z8)MB4X}Y9Kh+U&UkUrG+=3B|lMS=mkSjj26a-d!An z`!P9#YzHV5hAj}nVH&%D84t*xgeox&;)ABC<<<}T_hnK8RE4x_e?_bL!k4_Hsn)97 zAyQDH!Rcg%jB;lwlPf0E(sI!%yI2=8B%G>b2W}|xv#Ul zH>GusYJ}@3gjwbCwDPf`*Z1!Fw>XNG;%I6&vq|miEbh&ea>@PhldQHhH9-qAPN+=Y zd59PS-NY6!K%!Hne^e()uZ))AQq0Yk-HMp&Sh6sXw-QskT)mni zX2fJHPK9K0gptfoJ_4;JYRcI~A3u1HpD-Fl zPKQ{VZe6O~If)ptHv47u>NNyy>WWBVv}9XjG72Kj7a#9E5Fwy*d;hjgTp!!5q@S@x5emr&Q`4@{e`DBvI8(@! zlDPy6jmS&k8PaaqNPLlF2wFr>l`Nse?L>g33D%*ax*>fL6Lq@*wV}OqW^i=4Aqq~K zHXp>Cl-u=D(RGl{jyY+pSa@dpxR8%r|JyY6Iw)-hf0Ubr6b2rGPzdkRbD6!F+%A2U zwoA_zhKjp%Yg#ZyQgmtUpwb&TE>Po5KO+Gf^A%5_rct2C%heh`kU}PWcqN zV(19z!5;Xh7yjvke^%! z6VG^`Y*HE8F-uxJO4>L3c>d)zCN>kCuQ*v96c_5ZQ$hoi(;33}N*)U>shz_Wh}z9q zYkne1&ZY>%NE;v*tKInm+d~e#XrKkpRV!c+`!UO{7vI)SJwT%bWD9HGJwOLS#w6hy ze=o5^6vb9lCmwAbmE%dP7)v5WYLZl-(MDrVyApt$eQ*(039EpOD$?5YlBJ})TNn#0 z6YChaoClq*CroP*Pb)IbBJ3^Ua2JkF8J~SuJ#i?|LSuoy^=27}9oHq`<7q`1A{+Gc zj~CAW6liJP{ytbEUAzl=eiA#5gEm+sf8d7`j2D8D+p-zQMWudk&CT@hSt4u*Qk!x5 zlri-Xt@Z!X66NjqjZyPVq2U-9y zF6v(L%T1c{EzyI0VO4}f3G+g zEW}b|x14{B=1YoUq9Ijbbh(#^VgVYY%;Hv@aMA_vA1_AOMGQlRl{(U)W&)s1MZM{? zNcm$!AEmS8Y)z-5u`&dw%Tbs0EiGUIsr}xqW)?`?b(hwc9%=dtjsM4v8_kTjtGG}| zjHT(knCyM4Iood4=weo?S8tF_f9^diT&Re{YTGh$j@24nN^VdDTZ*B$Wf6<~=?x*i zv3&#+Tyt()tB>x2^^qB4yCsKl3YhIN!KOoFT`M#uQ_$5F9@J8!6_CT|t8}P13i55_ z6T8sY=m7vbp4_!d*>Mg?4c@g;i)@m$Ip)If*%&%K%wCxCd0rP*LN@Lmf4n>})SwQ{ zZ~1XtJ}yBWb^O1@dYt~>U(^4~^!)nhe+Hg=M+Fk{A100W|Fie3&21G~evW=cM-p5+ z(UmOOag1V{rA#uD+67VswrVC$T(Wd+--#>eeZ|$yUS>pOTu4H|921-ljku!nX!0V{@{nSkb*m@U+gV+5nA6ZnhmX1U(pSZua% z+?i?4@(2hlvHs3AxEK+o{NUDi5AJ`hnLndYYE*%7rsV=umYn%C7H7l5`(HQ^8{YZs z3u7<+;n04DA4g-ue>|;Rs7#N!nd&3Y9OqL7!4 z#4A<1h)F31zc^u?VzY3x*>z{GPP(Bxy}i6d!kiDL6Bj)!sW!~e=iu^+ikjqvfU^a%FakO z-6yMRy3MjP>QRKW1Z0^$oT1d%aEAIdJXtNB6a`D}9H97xd@J#e!r8SqzwU+4P!wHsaNp|aRN(qoKuNah<<0X{>2gp9lh zbzLgY8L$e;SDW6o;pZc6R{I)kEk7@<6rz@{9l0 z0}!9$gW~b1Fw`aNBDZm{^1RdR!S5*+?@ROl;_x%KXODR4U0e+2%x)rUZtsTk=5hmC zUiA{5cR=rhdI|5t-ds96C^AzoM2U#}PhtKcz1O1W5%~w7f(!$p`C~iqN+;Y1#9`(3 ze~-Ns-v?JSekW52IVLmzQ&T}VN`xuqk#}2@A<6MH(iVL_Px}#-ptI6Blg-$z84SmlApRbU&0wDlREn)ga;u7 z^?V+$eNN0jitQ*@ zV9e&csMO4^ure7q9yY0562Z?Bf0kQ(TT6dB`ZvzAEcum7B2GP0JlVyMyTE-|luWc= zKZkxNi4Cwrxut8ME@vG^M^l(p>UvSCv4|AtZN|ro-ncyZaYLCd-HTJi^)0&GY zz70C?0J)X4F=N`7Uoax7C2Txg!)Bx7(Y12S4NZqnvEtUqIkWC=jzh8Lf05ZQL(?wE zIG8EegSK1qAly(#=h;SBWs2NxLMDI+LO5;>x%{1M0>t$ndP#B~{(>Hl2e^85Jn8ve z_K6T=#z7P|EWxO60q*$3L$v5JZuwR$RC7K@oeWLu_tG}vh?s8~#B)7vDI$K1qJ)uM zp*fotvL+dS2ENIk5pigCe{_y+qovQA>C>>vH4dy^lWH1As4* zy`U43UUr3t{8&ahiuU^`O|XXJY`|Fl_h|dy*J@;b=Tr|K%GqPjXX;KFBd-Jf3OLR# zx~016A3k)NVRZJUe?tReGkB=Mt%yw(X5I2hhD;0o5jj-C&F*Yr9_pQ?x45C}!AHqa zqiUpZ;yAN*W{xE@Pd*8M5}5^xirs_E9MS3%4GS>8HC~CQl6}2PR_Mfyc4>$(a>;2l z>(!H@;wXC-%4_drQt@KAbKL<7(Vq$Nw1>Af;Q9B#Xz-aEe>4CHsDZ8^B#LYvh&VZ+ z-gJm^8#Ne85jpMYVueRG)SBu5EQ6uYGU$QJo@~y87JLZ;3pBE6a2f0hFJhJg5EE!E z1ZD;w9cTj8hl7og4FKmKed=vL@(B~%ZFL)6@PBsC-hm+g-@A?fAII~El4gE^ZC0!0 zMleH|H}IGTe_(_u1Y7U&8^WEtuAC__0aqNIaw~9Qv4M22nUaYr!vnWh334l?2@Iw^ zVlggSV!LwyT9(Nn!d&gQ?yuhctbO(#Mj%$#J>E>1o@r9mtY0-`vwRvbhv@Up2z^vP zZVE8}em-@@;|2YE>Me4CAHjQ+wMd?9t)+2fqcsaCf1AM!7T-G8C^`!rMRDWuO%;7) z?9j`rKV4rtZNxWOyYPB@<-_)8XW%B*{@}~CkAGPE_>A-(dYbiTHJu3AET6^`&LqGa z-qzLZ@JSE=BEq6vP*Eg=_T%zjQN()jQz4SQb49R58578c#${+P?({QAHWZ{t;6MOx zX1{pAf8ZSI{DH*kPb=-uE*{>`qt~r{^xDG@t~`8i<>9CA|1-K-4pHsc@;17j|NVaZ zpWNW!w*J>+dAfU7i7D6+CpQHmk|#G@y(mnFad`V=OTyPtq<~4J3-h~(6aN){;zyqL zR>=9TooVujmrV*oK2=pb?0ol5Y)_UXEAl3-e`{4CMxwKGVO1ENOZZ}_tbcJA&sT4n z`5nb?4H`f#$%X7vM^TnuS}2J5yMii$(hnUPKN@9}M3wW&4e7!H)v|=uKsVwVI*EJz z(ogtQ`_{J)Pn~MNeuqL}p}Nc8PmvZ4Nrl=sKYDQET|zecK*A6U4XHXYHv;P>L@qfL zf3@J9%Z4*N9cLC@w^%Z}Wc5zWMFnAsCwWDje+c=^RT}If>t{(`PrxMSNsoL|J5-nj;cp(w zOFsnlaCsEn&==PbHO{!%(sjp}Zpeev>xl@)c#()1bdl7&h^>Y7E=e-qxc zbosZT)`;=B@{Iia({I_1Wn8(P`Ql8WGVL&~RBXvEQD-c@w<4y~H}3=4^YE+p*YA9> zetwx;ZIbeBvsKXo@(B$9Z5SgmierF`>pG%>iy^Ta#kyN-<`;RSYFp`nEF#V8e+6=b z2D-QyAhALPq+RoI0c+&M34LPDe|&+d~#`EraS0e*{BQK(3@F z(hvUZY-tj?^|Kfu0$+liKI}G~U!&U%sCV-n7ad9it;|Fv_}ka*VkJFWZ>UZwNK+as zJXW6o^+1YHci}DX)Z*43J8~r7s1=G%{^-$N#Y$-BcTw~?qtD_RnxS4X`2U3H`UHLY zXXN1gvd6^#d_lLI4CvR>EGu6KbB{s^gn@yPX2R{2}FGqXqTe90EYE+ zCFwfN)%@d`V~7o1r;*R3GRKY->{pLwpl12Aw2#&Hv8A}FDF=6u6NWfd)Zuxt0_?3H z0~FgVzes=M@`p8US^P){t4BXd$fur;w0SXqm$o)4rM$Y3H426{f4p-}pJgs7FnjRx zDGWQldjH(&y?d*-FTv4Ic0uhcU#)%fpX=9GFwQDp5Xr75^e_-HUO@E!`hl}a@-OJ)`dgHe0tUePsNu1t+DWU%v%c??IDpM*n zo#M6Vc4q)kWO^2yY5*+HmD-lAePGGNg6ITj`;AZ9H_mC7i|*@FbZaxP+tK#Bg}l2=ZV}h- zp3!N)R=qqyQIa+7%lSfmx?%FeBNv0)d1a1qQVLG@WXZD?dxmBAu=u#mtw8gbnJQMs zVIqZP#w&)=7^AyjdY8l+ER!%Y*i0CbDWkLm*%GnjqWG26lIP&w0BdpOH3}HG2p1-& z*j#*;|FJywf3TIX4EC_0%fl%q(IGW0VJ=vh_DF{p&|~g>B~uDRa#2NScBo(q-f3iA z>X6P|I(Iy%w-dOrsu(lHI=iKHxsZQSy=#>Z;GRK;c&Je>aB2i~ii;h}EpO9E*FK6(6Pw z<%VMk9(~iPR|@5kxcp@RV?dn07s)q58A$k)?gn(5e%9SFiO?d3^Wwh<+f*1x8hB% zZ3HKM{7LvUqBjBArWNUhrIL$_JfelP;qk0Z$@M?oEun_>`){qSd@psYPV?Xt017h9 z0{xqS{(l*ZN2@{Jj)HyQI;9{YDxX*g?Lw&a4P@cb2E#zbp5xTF+zOdv z8En^vtA)2eGRX|Sj)p9Lw0;cjIZ@f}^e!vB0vX6hOvBoj*Vo>>=6MwIYkcs10+UIi zB!4U z0?A+x0Rfp6j#k88Vb~jvUPR5t`4*R$Tu<~iMLYmzp^HOX8(Hy<8g4YYZOUEiRcF_# zWw&?|aG0gdsuj8$@vtLypD3#(hVSx_?SIWj1&R8$3xHtPVRbt<^xBom5r>ENwQCrF z^}Vxemp=6&+(yNnnsVwv>tIu=r-^Jui3#q@NxTF|kQ(}WvTLn6ZWBe99ET&QRGlrj zaK;{a&i#{HU}NQKt8_F)wL&%A+Ynp8vlo``$WUL34fPH6*+WA^eUMG!JR40_V1HK8 z*9%p@lw!?tLn}Hk&<|zd-=mQ9O3N*Vr!5J(C_<81Qwq<4U7)tTAQ3~Sl4z&+FQT1N zyk;AQXTvWsT!lVP07$1!MN+aXnn}XF%3G_xO zK%>IuZ@NXX21nva^Hcn240d<*gnwNwh$V^QEmLTH@10%bkEv@mRwt)*T!H{fHq^982;=i6u3FjwN+6QM!Gz(b*f$i{=F` z)`C(l%p~`tEqX3@VB*1zyN1)KM*H>;K}M>6@8G#6sT=FVE#b?$k)Ezrr^`;E<~Gv&bPr9a&YGCs8@GOz z?od92y(OiXZ2SOdjBxz~`G1*$GI6z7{9J4`n$=m#D2`B7&hiRIl)xJa*CkPffYOQZ z=`1Dn;s(JTIqRA<@gC3n*OBq`(cXprrMT3m*g+M%+NlETSi;it6V$pjd28V%1gF%{ zpfw8+4(M1Yrxh~q79kL-4>74XVGK?|h>-;VBPoXw2@2#4+hCpp8GqG2|7~D9WA+Jj zbvR-PE~y|NxPJ!uqC|(JT)<4N9|o6AB3{Ie1io2Hml7*SUCN|t%HSt^!qg}s`1ab*|6sN&pdtDF5$G$YlxSI8-Ih>ET(xkhD7_yGGO13 z)mgq7K4B6YZe)tYr4#M5OWGAQk=~Wbc-)t)JI*5ELkX;sh0t6CDf*?C?SlR3jdzJL zuPsWqnaaWYykv)D5mGgyD)kj|`?4>D=U?y&jE1i%GNi(0H+ua?H(Zn7314XLu3H43 zYPodqz+nI+_tjdwb|i*roK&pvWb?5V8oj#I2(W?I`?_zZlSyIuKBZ+@Ho`AlignuNsc^_>ejxt{C!SxI6%eMlZ z5QixBC2$r7x;v@5`wSb}Y=_l2rCd81-^?&XsfdB7E~01G9vTnZEqcvtmhJ5gE3!pT z;=#)G^_BNX3M7F2!!sSa%8wch<}9ch+2`;5Yp_B4MIPA)0aq zl_LUJOn($HgoQXZ;lxZXsQtSXcHnnM>H4!|d{JbYeCSN0!_Acb>kJ|vi9-s}QPc;e z21yTtYT87(Uq-ShLa-yXqSFfgi-bu|G9Sreb*4r(0a1Y`62zjZ53QdY#r7s`g87r) zyG67L3#`(#6~Mx(Z3!-1WvL4S-S|+tqf62r<$rBQVMf9xg7}O;S#%Vqcc++!7gIjG zxQ!LJvEnvX4C(5xhZViOyA(K&{t-BlI~!H~z(x7$1M-VHH`@pV*b{QHMkAOM>Ks){ zKBo&!=S1OTx;Ql*9w!f3o)d}>#FYv}59vT8fg)+-lE$eY0c+Vz?8|vfI@*mV#Xgys zJb#JSR;Db&ujd(oK!vU+EtAys)D%E%Q~wjO`*?#cDUTe=K(Y^a7LFwQj_%&AX@MTg zj5B+j9Xw=@9eno1l&&GVm|V>C=Tf9FnW|K!K*pTf#c*6Grsy%v$=oB&i8h}F`_*Uc zKk_IGw)cCXFEyB3>Va~d(tCH0r=Q-y9DhIi!gJ3YeBPMiOfn5fs-gRojP6nFmAk>7MD)jBMj-e%Pg4L zDh#%AT<+3n916b?riWKyc7Mo)-R)IRkoftQ%5oJy2z(qu9h)|niw%KHnu1rO9mZis^;sho z(=Cb!pKJDuo~zr$#(vU)Hf;Rln?6!j27(RVZ(aUKY_=|hbO9h^RV5;tBh8Q9f^=t1 zb{hEwIbKb={2@dzt)2}vDqA#YhTOi8=qfa`_ozBNetx2vf5pH z)VzK|B|>MU9U1uA#eXZS%gd|FUo_r1iT6X7ez$t!9SLiS9YI>ogkuA83MX(JzC`^z$lWVM}inui^#QzUd2qEq0PqqWR>*`kjwkaDQEl6lbu>BfBDDG|Kje zSL~)*@k_$*w)l>nHgDA?x8aljIh9N~<9`kg40PhZZOP+*|4U=20zuF$W_S)^UWDAy(n`E0^f&6!lt&DA9! zI@_QEaWOP)7JnydnV#NxgDUlBZc|0Mmf^xB>U}7`Ok|)e_e+*vVDjWzwWJGV+D`5< zS&p;8kA|^W49f9jUJ2@7CWX%gHBjT%N$>Ue04M&~aV(mc&Cir(OFHNdr+Qa?O;k=k zRgQ5gmWo_`t`(7w+uzAtC<**1`N&brUArw$HVvxfM1LV)Ji?=*^1nw@axpsfq9Czw z$S;XuUGc9Piu%$J9|fplX0B|H=*A{!0oe)`?DPc9-{ zs44aU1Q9lmWec?&8oI=L1HJRf+i>qo`J(PSdw&bxYXlGZ8>Z~+eJRVQQvO8e7vt{Q zHyl0CVL$Bl*$>(vloc&7pdoSrl8+l1c~D#DDFH7gtlH!+=)N`@nWsM%U*eyE78c>P z%{>;OUHGF)?rpw=z98hhn*3#DkJ2BtT$%oWno=hgZT`h$a*VS3O|~e#`u&IXQ;*2+ z4Sxg;5h0^VaA+!(H?E$mpSfPY!tRP<)FIm4zn%C%W_bVa#24a!pogVxTrlzsTLL7J z_R51tKRo$lJUKXcXz10!fmuq{STX}mgcPxyv9qP3L9XDyzv!`?HSw3SKe>$n;iQ`t*t|lD-{N_7 zV%?EtWMYwtfQ_)YMl4$m6nY@DJ(!wxM1Bewf=Hp2P3)2*Xt+zXuDbo%o3p`I02f-fe zr!TKwzl|Z+sJZLpcPo!CIhZHKv(@n6qiQMc5!4M=3p_W3kF*84nxVVI+NpEU2yJq3 zw)yqfbXXf-Ur*FeelrOFwt~-QLJ@s&5e>DR5m|~&2Ekdb05l~F)q2XZ!+-tDWo0~F zRhWq2?xQpDw+F5~@`gOUE|?oo+FIw1Rs()|v%pr_ls#aO%XD(^NXb@7#pMU*>KD$U ze0&pD@KfB%KYfP5(p0-8<-V5Tk>y>+l9>$j+pb*OaU>-v@0kDks3xhr`ez)ie3G6Y zv^m$fwhKTa9QV4v|7X}daeueeY%%IuXbC{B&H!6SfmGojf)QfHkD6E5+IW1&3!EB3P~sqHhwjtvt?`A-b4dX1v;K#Y+lF1|Kj~y= z{cpt+;?qu-K2xKX?Zm1itvE>D z`LaR0^bBjJG-p`ZQh(Vrh-58CWSz?t7cfrVLcUa8D4S+wAy>*Cfq%-S+$?-Mny*Y& z7LFFp>O$$LwQzJ6|1zsH@T-{5E*u4U7QYpaW#PjyvxuL^(5(aBMx7>HdSL+36Mdzz z&?M&=7MhS4XjJ!T-nTUETP!VikHrYn7>(gowPHlai%}zL$baE&BZ&k{;adWZx;OC_V~_cVN;%5BSxq*BA#kxa_O zcxXc}N6~@4tAG1f`HDGR%T#i-#kuK?`0Yb&87qW_KcgWLl!LzE<0F+%+vU?y;oI-H zec(lt!gx_G;Po#?WfRg2jq>SqXht@=pi}_6lj^utPkGrgl~cSj9MvQ83`OLD3Adzl z#f05_@~C=Vt?Vh=nQbwaP``D zlCXY=jx#mHv5bR%eS7WH5{AEce3M2{quB@PZ`3>x=`&Ik55Uf(AYQ$>2@#moc>?7BA&vu_I*4S)f5&EI zBlLJ|E-HNWSgN{4o83n z<9}W|@d=)k+`m;nd7oQ3MtG5g0M->57-_tB0uL(j%I@u+Vy2n^#bml*_JVkCe_Q+T z`<}gT9NhQD!Nk7(WBcLf?mfTk?TQSIG%nq%pZ*m6UqAW1g%UimFhF?#*A*EasbkFvybYh-^D#Bfs9@_Fr`S)Y=4fUD{%Jyu>)iK|7~pN#O{5g%I0RDFzh{W zkbD&)m7@3z68N+e3_7n7mbX25b5{Ti5dd}{CyvfK;Y5zkIx70m)!b;5%{2UqI$XN= zh@{&blC<}bqyrBL?7Na!CwHhdF?;r?o019UymnIxDM5N1nL`(UlF~Z1hm1Ot8-Iz| znk!oRqTA^N#mYt%ouXqojJ9bE4;rzzV4M!Vv44+WJs?u=dfjUu|GEC@ADZWvTZ5T3 zFuW$fA^#{bHysc?#veVgr}H^<#2x}HFn^?Cf@sk)h`*o_#9~lAMt?^TlG?1ef1=H9 zIZTo8Y{W7m^!_Ok>s>t}f*pxcD}O0Cep3ZQ21;L^j5`~DJQ(A_UHheguKjWh*Ra%l z%T~z5Zb~cs<~oTXNG-;)_>G2D%C1k z(}<8a3i0ws331_xza4^KjDL(yWN>wltvk=&3AkDK`W8y=te^}O1fu0Gz!JI-`exgI!bf<#JF*S zY&l_N_;x}ezr9d-G2xHmC+Eq{0A@yWF-7aC_z z)$e{n_dIH748D{Cpr@cFC#b-~SE8k$?;pW|wvN9qd|9lL&H^fSYSCSF2AC+cjOT`H$7&%iFXf|m-{6G}2lc#Jgn&~$26nR_}G;JMcn6w1^ zk)cTc2APyKEqEhsjDIvk+8~qz^&F6Z%dQI&)C(<2nl%iSL$Ah+LF?42b(-^_hvv-b zbiI1At&2L2M0ovyjq1UJZao->>&MlFTWGrL)>tL-E&@{~>gZtDM;|05x3hK7o;s+R znKslxN5h+^4bJ+F|SZL`Q2`pBoVZOVk5Daf#YRNPqwR1Zt&=ZOGG1G;T4& zgBsCTVp4wx;_=@DRoNC8Z{lL%&tkD^DaNfPG;0*Mm$==;eb)J=w)c~yb(>*wl79}v zyaDK9P!%O$Lkht28;a*M49=7(ErbxoYjceRFxkFi$JoAucn8CM$`;{&Z36s7y9X8XEi=3B9?;rS3;W0Z z1xRqydf*8keZ-nyE!UU+*m(bo#_2zWy5ypxvgKPO5`T8|nP^wecc>=`$QQp~y?!>- z#muTLz0BxR3E+$-&x!4?H8n?&AaDCg1Y3$b2CSuKdJ(U>zdzBRm^NOu5^we=68LX_ zM1-(rJGwgY;;2HUTH1f-OELgBx##3Y3R#xh)K$VV_IPI=U!P(vIVxM>@% zi*7sscYo8P35s(4X&mho*dpGH*T$?YljcWiW!!zB`sci0(i{#&ASi!svO?DOtp z+OLyG)1sSczi#5=dHIyPR@PyP-a7}BQ@_bBhBTi%s^9xS;4;Dci!}DxWg5O3<6zwX zGk>hB`V)5lqxtEB`pLi0@U>pocpVo#?GWILDt!=>%*H5$+83mOn}9MBg-{OhQzj2r z4*_AhkLi|u{Hf8#q6a5C$jHPoIq(@iOq#~A>cqi)`}h9(|9HmVquh-Zip5GrGBHXb zRb+WI5FoX1P0iuI0XZI}4?!Nhp;pAfaDULzMhpJwxgMyilb)YYD;;-RQd$YN3RxGO z(P5)+zP^3`zeb`4Mo`QqFs3kQk&J3+cn-_sI8B`x1Owx5nbq|SzWn%&kDFy+Lu5@k z$A>@m#8x>JP-UcncG^ZM@{(TElI}LUO{QD5*XBC7M15&_^_{1bSHJ?q=36re%73Zo zdGUsrg$vnWNFD)xK`4U`#QM3Jgjn!h#JPiPkVWA0yqTKZ$-wL=9e^LfcxgG3Xe>Ba zVnZ8vmeDGx8(WIO zd*Z^FAG}vf*-~LtUWIO;wtg)tpsl3^7TUgx%G@^qABUt#$D`FI!iTC&LDS7@+a!a- z%&a1;D!caX|JC;WJFx=Zd6O(F&XzVHexCPE zb97cut3<#Po;d3?UuvE}8;9aeW%C3*BckW?9K33)gbxlwP5U-bXu#hL%AHKebnM)7 zz+ozOc*tOsh(WivNZV%I0Dq%{MSKSZpXXz9bK;tAg)A&2j&9lyUG0+6pM&Y{_25~T zr}?TiINfz0UvRD!C}!NB4=JH zs7^<_`<;rnR{l~cW@u7YSmtv91OH8@z*y z-T|oW``^W>ALst}z_!%jfb0JEa3}uTmOTFVzm=P_EL6OFr`V3}A|+fL|5>8nAStz_ z>S^0YLB4@2U!C;<7Jtg*&@z$cm$~OdUF@=}<8C2~nL;CdbOC7_n9&G>`WyKoX6mue zdm|}>a7ZXnG3Mo~hUrBXAro3zd3=%@Xc%NQLJ#xd3e=EA8iI{to_mJL?MPP>|1C}9 z6}7p!V4$X!H}}wcgEWBiA;qYIN-tXdMz|lNW9b3(+EI=u1b@jPM06gv9cSMe!lVU}CTz@g5d|1{pnQ0CpeohY;LrA<&(zy*MK2OUVo&H>;HaDp{^iAd$t;a)I-5U zSI=?X!w(Ee2&B34(FP_2gmnb3Y~ZC2xoWGs8iD6PxoM#QcU|HSKG^e;TcK=1=vU4q z!i&n#(wVJ4cmVu|`W13SkR=md;1XB^bTcPN&AuwPDB((okU+P0ssOCk1FlUt8o0r+ zPD|j$&40N~z}f?@FV;-u3`|wht;9BHU5u(Cso0#sEe$D@Bm6Ll?ah->xvq@0e-nt& zW$Swz8Z+$c+jq1UOZ0a+TyXpb(!|i9Y%1m>(5j0B?Me0RkK@XOyH~qjquXm+{jx7i zwB0*FW%Cizbb!un)|S*tKz6qr@ODwVbhQ~&6n}KKH*;=nPXp+IYMCa@csmrdL+@k; z3CXLI>P;#vnV*E&rlR4~;s(1OyptLO>sBrcd^`>=gkl(zV%BViW+>~0ykVkIwV@nR z)sWYg6~wmmLrFax+7$IrXoo?SLq#`qsD@+~#QdQOOV6f4V%=&FLdk5n_gC`TA(_5F zM1NC8sqU#GZ-w* z)&m1}3Dfd<_C{K?fi#8U6gjaZRtT95V8R-9Vt|JPRACNyTo6e3w?)YLp`pQk<7N1- zD&JFWl-d_o?=Lqme&a6`vIq@$KFM@int!da`QF3E-7^xDR&FH0)dezyg&{hGC~OmL z4cBy}r-wORsmYaEYt)GT1ZYACimiVp-Kz!BXu~#m?OiGBo5WS4q~# z0?YQ)q(OBzJn071&8hq`V>}E$#=}OzJZct9?b)Z&bHp z(uYRt6X8kpvVO3E^H=O$a(?@OJ%3dfCD(YnOn@w4dl%AQxNny+_yUzTBXL`uZ$_@$ z>g(QkHYCor=G*xq>_ePsGu52%ZTi83b+;TyS~Cx{S|}OpI;Gf_XZ}Kk=aG<;1 ztT_;z>4o@tLtvuTaGg3Ci(x;bD;;T@UL$I2(w2lmX7X5?Y$UYZV6g24)_)#szqkM} z43Y_-g$5u!4nkVCg-&cZyx~CA)6V+owg5;2F89iye*^*{jjI+!_te}F)k3I7LV*_Y zutiJj7z#0X4ks3*zHzZqy{k#?d1U@bcrv>pO~Eep!>(yhzdH3wa9W8yO1JX)U;115 zr$4KI`F{QEC04D03w;u$6q~JYn32S~7I8YS^*sMfl zhdj0~uvVUryQiWK8Mb&L|Lktz9~r=}kOQY$3;%~najkp^*Bci>>p&b-?c8`E1cxJo z$DopcHn1(WJCYQpI+hBoKv%7M#0_hN$#iEY8-UeZu%MuaPp)0F*ME1w=V8SAk#8+Z zW(#H(V68)`5jCj!)=UHwThQ+#*j%VbBJFjyjf;h?r<}f1koFhX#MJ?f#HI|6r|HL6 zd=pJb3N4#wuQBqNf2}p1B(AF!Ctz@@HLq#$aIPh#p38K#GVo~{#O>SN5`UgY9G3O0 z0fGw^tu?15LNbsxNq^kmH9SPK{X$7SG>4oqRjSNoD!EorJ!)tuoPQGJ%|0T5yLNRy z%=ChjH(o(CrH$akJ1EIzrTi4}j|-!Zc9=<7QI4lpLgP@hRofUF35$IDSO_(+1rBZ9 zZV1RoZ8qZ{X;#B$w0BFli0A09ntDh-p8V(UbkkkuB(CqunSYm1jMua5zn-sv={=4r z7Ea;s?>FOh=aC=#{s;NB`IkTbm*4%5Ht)F-jV!pG^Ljb}7)t94DaV!w!)l`3YQb~R_ibwUL3GNfmq4U2-qXPr| zFDLu)EdJ#r{C~jnc&ygS-=3NN^f5-Iws`B(-Y9G?ZyXrgPoP#xr7F8^C*Eapvw5y1 zh{~f;Vp9-(5{^Hl82f89O3UK}MZMZr#EH@9P!uPa<~P1`srk_@<}aX;JYE&K)z!sPnBz|+g?SeX3))5f(tP3Djy!e(>i521d2p_N`W}>^*V})1 za#p_84)5v3c45F%Z@71Lk+UmAO&(!+Y{@N1WprVDgswV@q6}K}^TfQ}O2E{%a5SG$ z&sqb|qkr=PErLf;8=*7JTv%efU@nH3hYX$?NtEj4$kfUx8GwXi>3~$+(?fqy&l1Nd z(6~`8DMi-!rlm`TzypEmjgsF|V}6X5N`0#%o`bQhy{X_tmM5UkjO^0Qf+bF5fC@28G^b0B(D#h~E~t_4?P&b!k<=*=%5uU)xW zDx1Z*N)>C*W~|@90Poy$VC~eo`rS|J7d{}v+*8ZuQNA&9Gud+dA6dym$-{AR%8sg+ zI%Y`QV%tIhIdlwb1%Q=9u_W(qYa_~*EPwx(%Fjjo_mTfo>A|6-Q~n1@tRw$##S=jO z7pIxcPw&>Be#9k9!Nw>p^FLvY8`&IeBtW^uXckHKz6vkm@mI@pxn76PP{>bOiD`^z zK%5_d{&WShGiLV4M0Pgk{_d-E7%lV{w?6XIP%Jjhz2x~N5a^;5bp;3K*HJgP zZn6^v978)Lq=&ykz^QO%ZfpaZ+E*Py>lrd{gft^YgLG|_>{zI;O{6>>#BOe&-oOl_ zJ$O?m*#)qhhH!lev>_Eb4+t9=Rez%Kcp~cs4u^FU!TEK6{YY*G)Br0;9J03suH`7U z4=%_kt`Eu0g1TwZkvFZeAQ6!rOV6?9c6vv;bX1f=u(gP0V}}cs?=51Hy}Nd?&uxTA zQ!s5WLYK!F?_76uGskd9UV2(I)to?T?LhgGc6y{WQbAE$rgoTkp2Ie>fPZ<9nmYKK z4z(4o?yOxwra2J8!9jO79-M4mcvs3Ntc9jijb- znXawgMImfE-i1y~(0o|M*j@0~`ht{%JUT%S_T3CqgA8Y0LGa;aTcNaQD<4PG4wXYn z$ThD`)8&@{nSURRN+r48k$>ijN7|)%qyvaT9ugai5$dE^ABe4FKpjL$!ViF}ZUaA> zZWl+kcPn|%+k@vXrLcTPZ9-~=RZDnI-lU6~8lbLc#8q|9a8)_F)2=Mcqe*)YP`l#r z`XTy`{01=H9Jqn#%~LpR4bf*j*8wrmc&-!EjltchROUD5n=5CpyMMI}2-@~Y{fLrw zkf_3KPis05D_nQ1Umtnfg=(7uw`&zun^ zSX$LmB{OX%NPqGw;)&||WVa+aeiDyV?vM%s^qe7gT5>?G8mXjkK&AetgT&aR_@C0f z_z=PgM;H(s{DlQW9#jzN#kdkZ;J27EmxWk~*2>4Cw9ag)R;=RIT%9dXS=g(JN#6BW z=K8JtZ_Ux6;n&&61pH%k*Khoxe&%!h-TbddYnQ)Wd4GIs?ZofaPM&LAx`+2iXeOug z?>C?PSL4#d`jaK$sTGaND0@8J^?UEGK3!h>@cYL3TX-?$?4^|lk5(R>SUvqU+iZAH zNF4sRrlu@uu<5X+lRhI9>B)i|rpyDk@|DKW%r_P9L&)(y_BqO&(W2Z1Z2(=+rt+{Z z-n~*kd4Ef$p^!wh5(Xi5Yku|Fr_I~%H%?!wpZ?UhI8>wkAX#w)hpUR(Y4kCaw{M>ejWtDm_} zB}iD_tH1xGarNs^sB!0J{U-YhmVEv0L-c8Xbg_Q+Wc|WdD~}(qJpG7XC0luL2iEQC z^0$qT&;Rh`Y@sww%L6cYU%zu1YeBKc=V>Da&=KfDU%mGZAogRA&Hsdlt$$m(j-%IW zC4ak_ZTQH4g98K3`(K0G(&^6n---w1KMMswI_t4Ytq2mIL6?60!nqKNaHCGA2Gsf}+<}%!>#=a3ee(4m-AB zUojM+|3?B;Olzi+Z3}eVh|KeXi$a=2-+#?aF&8(BM?qFO^ZDx2r;JyUE3+t7vecBM zpD>L3cJDNpn_@C1s%+FNSDD zB2n6$G^g`LBYXhg;$2*O@cEoT69leN|KfLzKV0R&=q<2eqkj6z>az>0*Uzpzcz=wS zx5>?I#_+KoNGIYXRJ}nqEC>Aa5WE$ek|VC4-j|olD|W~}7#$<>3nRRXwN51&V=4oK znhT3^j&Q!L)6MI5>vun)J%oLwar*ubPd<@M9Uzh!co)yrSG&x}v618mjV?tgHe*?H zIY(z;YHKjy>UtsQ%Mk}fDRTXf zrx7cf&@j8MNybhYwEBhfjStVQJiY2QjTteG#!GZ*m&%%zT`HITR`%Oh8+UF%d-bJz zOsOE#fY4(ImCr+r{MFthK!4XN$Bkh&B(qdgvCDECsCiYes=u9ho9ql;eYbC&grouf zMJIT`);(_d4`wX8xoV(~{5Oys9Cpfo>14$l3Cesr3u3!6 zAHBHASTkYcU3MB1f}NkR#F2K%S<032)?$;IkKCdei9GA z@`>>ZMkNtyVS&CPViYz-WEYTT)~-KhBCr-~Ns3`N>xm4biZEROaOLSUK$$S7`sq*W zj~@|htg_ufG4g!^m4BIud=VfQv!?x;Sm!d8%&b9V3KDZc_mxQwx=)NAU>2#Ipetil zb7rMtBt5>NTa5HATPRtkf-JKZHXnc3`0QHay)Q{nVeQ~4vID);5C2~zGK5Nm`nFnc z$(>#Jf57A3{~6tEVjF(;-}E-8{bwlEx&OO0&!IPp`Rd`&PJhX$Bk34BN)KXib9#6gqT((#he_K@8Gk3wl*<^4gjagWh%M7BtY6IIg=kd zW@d@0Vqb+F1KKTWwgpk#RhIl0QACv*y@(tIjMxrxawXS!%PJKu$+tnmrewLBa4}j| zzEo~iTwmQWM$di2 z`QNwZ2`MvAW1F*AOwfJr9LjRnZc!DV%5|(nW#z$#^?z^vP(O2R^_{08*dbZ@Sy-0T z6vfM`K@W*6EXyBcVJ7;s0Cl`1^lxriX+<_XoNkFp^;jFn_3uFKrR4XMWfG-NVM|OM+kXV+zjV zeuK=thw$}jNXgpT-bSBLSmuB+I#GC z6n`G_j|HDOeQ)K_yYf)|?ZgEq27f#8!4FT)t~`Br<;jzkhv(}LzeC3g;#JYO^T+1( zyXb^LMs?-c^~T%FJSd=w@#^yZ`n}Iqmp`HglXPqV=3w>2$#iUx_+6l1R`cSu#_0<( zIta@KbSz&rQv3{v%qjI)LVQj>VICZpzkh7LcbYnMi2bf-E^EXJ#?RfO+e`i2Tsc9w zgP4_gGu{`@7bi=#V$KSWBZ241&qk`+9W^en|GnVe77Z+^1!^vc?a%YXHy`yqAy z`Z4Vsor>{8{qTSKyZ>~}U}nKZO1Z6|ExZ8@%QB$4RrRoD=P8krXrUVIS? zEr!)nvt^}FH$rlhdG%Gh9bFr>Tv-Ry##9H*v@%(_UrLAi_guJf!cH|V9CL@ zMOpm>nvHC~!^YAD5Pw$XH4cI#mEDBwK`c%ELboD+)|bu@D;D{Kx%=?V*f!Hoq5T^c zdDf8kQCaSyC2T0P*Yk>OMh#vnIzELRxKZ1qrcFsyOvu6($OLafmkwoOzdekSBFl3c z0dDmVK`?WeMcr0WTT=G!ggW99AqVITVs9Hx+v|^}-NiPBk$+k@Nt5F}ywUN6#qnO> zmL1d9O*I#@m@Ah+#AW!9J5E)LpLgTv?%iV>TIZ%+UswPH`(D%wqeiWK%*&Rn&CA=R zyO1_HVdI7l4J3gq!5Nf6mHb?N+=mEMd-!}_9O;5r;)_nw3Mq!gN-gQ9kV4-M2o6(0wOvKq?f@Wmkp&t6Z0 zV=^S952#vc-j_4g83`0V5xFDM`*7r+_r5-sh;tZSU4I6<7)alUqK9Sp6*Ff}f%cOV zJz!r*V0^6UXdXU^xaJb3i{S@qm7&VUs?6SY$tBF#vaGa7Tb6(4t)l#hj zyDuj8?aI`ur3v~<#IYZfc4V&cgZR1~{j6K=3c|~adQKxBoI$l2SZ2!3qWz|F@?V;asBKix;Md} z6IN}qXjbJN$i2^qSm;oJgfWK_*+SkdR#|muMfsZvd~4JiuyO7# zrimbzMCrQGo=w_`gIw~+bfGkvDG>DyYuNtW_|WVG<#BR!aTjfhhvWm&I5769XQx%u>11Y$ji19;3S3K5F>@MdBp0 zi!Mj;*ij?ey)fRlF#fZJ*Yj`XGeYbEk;v+cU=$1GlJOKesJ>{8<6hs7IWKIA?Kf=7 z)O5?LO-<#GZB4hJSMl+_sNGE?O8OX;*MC>v&km2r0prc;V8xs^x2Au*a||!&#W*~1 zGy~c%`w~zpA@}%a@aAV5=r6ORYsr=8@Y0fUc-|Nf)8FH`0`(wZHIB38h^5A*1vw5Y zvOnyD2qiE*B8>PXMA$1WKJ?Q@@gek}M~9M%j176CMTUF{jth<6#@XI)YG&p51b^G7 z4u!YlEN_P=>}GwGDG}A22_IZ*=YJBty<*N)&`qOSMY%u4IVIuh!1^dZZ!G<1{p2kQ zarN1$#^aj~bG$dxbntBy-Ox#ypr0*j@D?n)zZK7x9a+}5gS3H(j0k3VYW(H*Yghlw z0(i*SVJcKo#S!C<+x#63&?I2aw|}fzdI%6iOGVX%_eK>|e+;LfdE)5rV}w8lAyj@q z&R{xFIG#|Qh-4+sQ)5%QEh}xz6u{Lsd9pQn8&%JsYqHM9gh32d0-&TX)ckVRO0G0lER-@iE;mApOiUCi4*vIWh-S>iak4EduA$``&pOp$I-E9z zOXJhyvg0#ioXQjmlbP(1Fs45Y^TfX-QS*oqk^e^BH!Qj-OUuf5FgA?Ay6m+j{^q07 z-x7Vc6ocSzCk6}BgH6Vh^M86b^}4@c@U@|d3c4f`rCa13a2872g+%z(fcOaXgN&Rg z>^p8MDSH_MU?CSs9Pm<(AitAMq6d3-Y>@W$D0R|Mg$%M~FjJoupDvZA3udOAx8mAu zM86T+?dUdP-m+e@^7u%R^Y}=_j!>6oe11tbO++K0bP=()*>(2H-hYY_qll1kl!=`J z=2~zvk}j|2LX2){cmvd2vzhFSDNI0J5k;Y8v|}O{Gl96soo7~9;*nTN-en#8Z~fXe zOc#9lWaIn|mh=(dlO%=3{M3|Lk@ax)3ilx*fn>6H34$0L@C!G$qB{}18%`!?En5uo zFg;_&)l9x%WixbxbAKzxRV!uz84%|0mZ@&c4rhi3`{l-G@^1m(jS+hmZ_Rtd6(i7M zw`B=MC;XUOzgpazRq7VGrv<>PXPo$y@!~I~x$)s61~kD9K+-m=a0~4Mb5{K2YkU7` z`)gs%&MZ+~)~rPSdV`J_l=V!OQIgZ z#ybNG3Zde7J7saaJ3>Obu%mcKdHaTJbR=qDkj1Q{rZK|&99d0OMhJb_KW(` z{rd8|&ChKUKDi-Us^r=OPHx}I_#qe&LGdS{E|@xwHc^%${4b&^@kZ$<{#O)c5Xer} z5w!E8jH5g`w(}t)Z$5v9ViO0^-OP!-ly9`;EmFPsfc6EGQ2xk>cpKpzRZH=cS`q4) z;@_{wz##}pd%Zsb&ISoP_iK=+BXu>&KeXR2wLJQ^TvcUO-Y$LJeydXWbwMGAp#($Z-6Y$4gEVRHXk1DUmo=`_5FmfM=|qPME;2HY;I;|EA)Ud!hVWR zLNQ>1^!^%#xaIVwkyXXUNzK#JRUswx2p*HY*{$q)$1}49iyGeI_*<8I-sS|(8>Oz= z3!*4K^Z>3q-baq#+@D}E7fUgw77=fGwU8V%INpEPPyXitC}!;3`}+3XdtwLP*tKi- zulo}^+l3K!x8bb+uVeq`S9|yGlmQ$uk2CSNHH6*!Vmo&4+)t|J%M;mruHswg!2TUE zxn6uCXw97m4#xKF-G7i&V^WuYTcSpMB2b-Qj_uvOk5rg8OZjq;@&|Sw9OE_cCT!4g zOSgYDaCEw)Y4WXsag)Xl9Ek1N{yN1EBesBG!UdXEwfhrP$CmY2&%%)eYQ-L(Q~B|E z$#5X4_=dK8gzR{*5EqTbgvMnN-KHk^k$}T*k%UCIT$`|_3X87iyyVfk3FXFzZ6H~B zaHsjn@8!XzTxsR;t@_fLFt=NyAxsFB-2Z=^WukCS&G;dhfy4de7~kh?$P)&?r_%-u zE8&4HwU>E+C30(!gRIs2f5CIbt6$fz-m4a@)#bNW9)7X*r?c=w);z2uxGcBo(d9!ipPJL;)dGUWX z-t#0EEClG61eBNTDQQ0buzv4*3Z;b6U`fgrLsT+EC7LisxqKzXAS2rrUTY|ri!Sup zdl&M(?ip3b@=a9TffE25!242fqSAza9@Y$@+=v2>x;`)JJb|@!lzGL+gGFd7v#B6S z73iFh=x#z-aoua4Jp#fbrl@j&pO}BlFf_W!rOWqM9z0t8;@#$_muLW8ye7wiO5ku3 zvoo0rPGX@nZQ#*Mv064HtDqsvi^_Z+qMXxt-W!=mh>H@_oL9!DP=tC@eigMGRxY8y zq{)5UL+%Zb3>b_ziA0PsV{e{A2K?aL#^vwoH(`LDiUt-Pb0h}1e&Y{orqclg%?%eNsFuwBJqon!CfedDBKl5$NtjpDYfMTa9cNMfK; zH+*KSlA3L$2RQT*G$(k}WOILHe-$W+%iX#mZ+w0ocFFq9Z&ts(^}`d`F7MOp<#@4s z-Uhb#w-X=O_pjx<-5k1nwYz@pQSQ`8cF)yU!+fJzh4`wZqr^v@hcRNDqI%|69zIt(j8w zxg-GdiT|=Km2&0(N)K-9-2dH*$N&DXh^`C5V=bFErp>Ad@Ew<8*P?@!gr}8?Vp?gz6yUYnSm<&@7U*9)=1Q>3Jg=GVkVB|Go|0;GsS5#7UHi7bX&-m zigEt$j(^_1XV2Jc|4#Ixs72B&M(tCeR)DP_fJX&PA7~i0Hs1muxv9qPIrNnCxzd!8 ztCY%oGh%5c@HnuQ`>=J2Q}K4X$N`kGDCOaEXf8H|ZY zOm}YRLG#Ox*ZzO=7MZRoEs^tKo2XbBa-{=JgtT>y7}~lPnGXI*U#0~nc>G_gLH0Z+WK{(RtCk+ z>m!C)g>N)HU&$zzGU$NRUntF)73^d$sJz z7BFKUtcHL1WF?=QHrYS1;#4dPn@lWUPILz>=in^A$!20j%Ziy%oODs)twnrQ_S8sepQw^?N{u4;d zpzb#R^0@i{x1kuVn7{9qPC7&x>!A_ta$TV{3w zHfJ1%O#`nCGH#G)aIyblO@_Mo6teV6WD3cB0y;>1goy-mOd&KW62909F-y9-NIa5l zctC$b5Hqka4UnBZi{Rd6Cuo&(QFe)dWpA3tNGf$9$wh$?N+}qk^h90nbE2kU#SPw0 zap{1yqpU z2&sN=srk)cwgI37{kihsRQ=?;3@W{Y(nWu_E)Rxb2MSPJXrc#6WhTc7wuWs|Vx+de z#^(>Iy<8+e@IW6LluUkBJPQ*=PrO~^<6VK~qO}Ud-%wj5)a9HRuLPl`vO^A&Xq)Cu z0^~ftn?+Vr z0-Vvk`gFPe=_8BuY&erSM)x=@>euOVD7iO^)P)Jutn7G)VXf=cd=d z|B^rZdU^H@SqBj2L1O;rnK(!#o^F2vDwB{k9ox%K^x<0)$y-BglbfFY-9P^OK-y{l z85~G<>_1!ag!myYA%IdL#}0A#aKEb~+1Z@&R;h+=LLd(Fz1n_b#A=4L1xQDCB*qhZ z+{HoOVp*v%QJrKN7Cjp!C6QUt-DH0N6h#CY zdBFt@m|3+{%g(4`inJ^+oWiNqyZ6{G#*O=U@$}9O+*K|thxiGL8W>5%i0^fIR7dH8 z>l=;tEyVlA_V3@jpZwaj{owZ3;(gKH5I+gv30dW~-^PQ5Yqy$L-*23`wRZ7}hzh*A z{6+KeyYx>{hM}WkL(UF(8}xsigB(Qs*i_khw(3#%f5Dv2WH&qdXMp@aL(cf`gF_wr z|JFPqjn2m+zR%`JVosSfK%DOibjg(on^3JrqyaD=A+m3(ZxEq@bw`h-~ z+iQh4d=3JM=uyvg{x$1=VlKD2EWmgD4>;HVP->vF{MH42o1h{Bv(u&Y9^H2b27rJEeG6 zm+%F^g#-U%K1Pi{UvGb0eUB!IL(5NGu?-(QUu#TWDfv#_D!Xd{# z3WBHfLO%1HHH$SXFQ zJSFKt-d?@?fTjz;YQ3RQDw*oG>0Vt*%qVB`4Q7=~B?t6%O66{v=Uh`|P*;VW9e2~* z^qN{jQY~Bz81*l;!P&1_} zh1T7C=Z+gv4-9`C1=R~s(q2&J%*hEWbJQef+04?p^6azvosZW(yV3aU8FT1@#p4B` zSS@omhYM#LcW%MojmzJyUH%qkDV6dah>FSWtF#Lwtq9Z{@To~tOIk{0W-3jk27M~e z&gLeSnj*^@v#f_w1D>c?NW>oQt%5|bdiVRa6H7p{tM`AGn-{+U^}YG_SM?iL0Lnl& zwGwPg63afZ1`q*t61^8H Date: Tue, 27 Jan 2026 18:20:16 +0800 Subject: [PATCH 168/318] ~Improve UI and i18n for userguide.sh --- scripts/lang/chs/common.lang | 1 + scripts/lang/chs/userguide.lang | 14 ++++++ scripts/lang/en/common.lang | 1 + scripts/lang/en/userguide.lang | 14 ++++++ scripts/menus/userguide.sh | 80 +++++++++++++++------------------ 5 files changed, 65 insertions(+), 45 deletions(-) create mode 100644 scripts/lang/chs/userguide.lang create mode 100644 scripts/lang/en/userguide.lang diff --git a/scripts/lang/chs/common.lang b/scripts/lang/chs/common.lang index 0895be08..6d10dd61 100644 --- a/scripts/lang/chs/common.lang +++ b/scripts/lang/chs/common.lang @@ -1,6 +1,7 @@ COMMON_INPUT="请输入对应数字" COMMON_INPUT_L="请输入对应字母或数字" +COMMON_INPUT_R="是否启用?(1/0) > " COMMON_BACK="返回上级菜单" COMMON_SUCCESS="操作成功!" COMMON_FAILED="操作失败!" diff --git a/scripts/lang/chs/userguide.lang b/scripts/lang/chs/userguide.lang new file mode 100644 index 00000000..6a0acf85 --- /dev/null +++ b/scripts/lang/chs/userguide.lang @@ -0,0 +1,14 @@ +# 新手引导 +UG_WELCOME="欢迎使用新手引导!" +UG_CHOOSE_ENV="请先选择你的使用环境:" +UG_TIP_CONFIG="(你之后依然可以在设置中更改各种配置)" +UG_OPTION_1="路由设备配置局域网透明代理" +UG_OPTION_2="Linux设备仅配置本机代理" +UG_OPTION_3="还原之前备份的设置" +UG_RESTORE_OK="脚本设置已还原!请重新启动脚本!" +UG_IP_FORWARD_WARN="检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?" +UG_ENABLE_LOW_MEM="检测到你的安装目录空间不足10M,是否开启小闪存模式?" +UG_IMPORT_CONFIG="是否导入配置文件?(这是运行前的最后一步)" +UG_CONFIG_TIP="你必须拥有一份配置文件才能运行服务!" +UG_CONFIG_RES="现在开始导入?" +UG_FINAL_TIP="很好!现在只需要执行启动就可以愉快的使用了!" diff --git a/scripts/lang/en/common.lang b/scripts/lang/en/common.lang index 25d435ee..9637da78 100644 --- a/scripts/lang/en/common.lang +++ b/scripts/lang/en/common.lang @@ -1,6 +1,7 @@ COMMON_INPUT="Please enter a number" COMMON_INPUT_L="Enter a letter or a number" +COMMON_INPUT_R="Enable? (1/0) > " COMMON_BACK="Back" COMMON_SUCCESS="Setup Success!" COMMON_FAILED="Setup failed!" diff --git a/scripts/lang/en/userguide.lang b/scripts/lang/en/userguide.lang new file mode 100644 index 00000000..34814a7c --- /dev/null +++ b/scripts/lang/en/userguide.lang @@ -0,0 +1,14 @@ + +UG_WELCOME="Welcome to User Guide!" +UG_CHOOSE_ENV="Please select your usage environment:" +UG_TIP_CONFIG="(You can still change various settings later)" +UG_OPTION_1="Router: LAN transparent proxy" +UG_OPTION_2="Linux device: local proxy only" +UG_OPTION_3="Restore previous backup settings" +UG_RESTORE_OK="Script settings have been restored! Please restart the script!" +UG_IP_FORWARD_WARN="Your device has not enabled IP forwarding, LAN devices will not connect properly. Enable now?" +UG_ENABLE_LOW_MEM="Your installation directory is less than 10MB, enable low-flash mode?" +UG_IMPORT_CONFIG="Import configuration file? (Last step before running)" +UG_CONFIG_TIP="You must have a configuration file to run the service!" +UG_CONFIG_RES="Importing now? " +UG_FINAL_TIP="Great! Now just start the service to enjoy!" diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index b51cd5ed..475082d5 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -4,24 +4,26 @@ [ -n "$__IS_MODULE_USERGUIDE_LOADED" ] && return __IS_MODULE_USERGUIDE_LOADED=1 +load_lang userguide + forwhat() { while true; do - echo "-----------------------------------------------" - echo -e "\033[30;46m 欢迎使用ShellCrash新手引导! \033[0m" - echo "-----------------------------------------------" - echo -e "\033[33m请先选择你的使用环境: \033[0m" - echo -e "\033[0m(你之后依然可以在设置中更改各种配置)\033[0m" - echo "-----------------------------------------------" - echo -e " 1 \033[32m路由设备配置局域网透明代理\033[0m" - echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m" - [ -f "$CFG_PATH.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m" - echo "-----------------------------------------------" - read -r -p "请输入对应数字 > " num + separator_line "=" + content_line "\033[30;46m $UG_WELCOME \033[0m" + separator_line "-" + content_line "\033[33m$UG_CHOOSE_ENV \033[0m" + content_line "\033[0m$UG_TIP_CONFIG\033[0m" + separator_line "-" + content_line " 1 \033[32m$UG_OPTION_1\033[0m" + content_line " 2 \033[36m$UG_OPTION_2\033[0m" + [ -s "$CRASHDIR"/configs.tar.gz ] && content_line " 3 \033[33m$UG_OPTION_3\033[0m" + separator_line "=" + read -r -p "$COMMON_INPUT > " num case "$num" in "" | 1) # 设置运行模式 redir_mod="Mix" - echo "$cputype" | grep -Eq 'linux.*mips.*' && { + content_line "$cputype" | grep -Eq 'linux.*mips.*' && { if grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then redir_mod="Tproxy" else @@ -53,13 +55,13 @@ forwhat() { autostart=enable # 检测IP转发 if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?\033[0m" - read -r -p "是否开启?(1/0) > " res + separator_line "-" + content_line "\033[33m$UG_IP_FORWARD_WARN\033[0m" + read -r -p "$COMMON_INPUT_R" res [ "$res" = 1 ] && { - echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf + content_line 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf sysctl -w net.ipv4.ip_forward=1 - } && echo "已成功开启ipv4转发,如未正常开启,请手动重启设备!" || echo "开启失败!请自行谷歌查找当前设备的开启方法!" + } fi # 禁止docker启用的net.bridge.bridge-nf-call-iptables sysctl -w net.bridge.bridge-nf-call-iptables=0 >/dev/null 2>&1 @@ -68,15 +70,14 @@ forwhat() { ;; 2) setconfig redir_mod "Redir" - echo "$cputype" | grep -Eq "linux.*mips.*" && setconfig crashcore "clash" + content_line "$cputype" | grep -Eq "linux.*mips.*" && setconfig crashcore "clash" setconfig common_ports "OFF" setconfig firewall_area '2' break ;; 3) - mv -f "$CFG_PATH.bak" "$CFG_PATH" - echo -e "\033[32m脚本设置已还原!\033[0m" - echo -e "\033[33m请重新启动脚本!\033[0m" + tar -zxf "$CRASHDIR"/configs.tar.gz -C "$CRASHDIR"/configs + content_line "\033[32m$UG_RESTORE_OK\033[0m" exit 0 ;; *) @@ -95,12 +96,10 @@ userguide() { # 检测小内存模式 dir_size=$(dir_avail "$CRASHDIR") if [ "$dir_size" -lt 10240 ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到你的安装目录空间不足10M,是否开启小闪存模式?\033[0m" - echo -e "\033[0m开启后核心及数据库文件将被下载到内存中,这将占用一部分内存空间\033[0m" - echo -e "\033[0m每次开机后首次运行服务时都会自动的重新下载相关文件\033[0m" - echo "-----------------------------------------------" - read -r -p "是否开启?(1/0) > " res + separator_line "-" + content_line "\033[33m$UG_ENABLE_LOW_MEM\033[0m" + separator_line "-" + read -r -p "$COMMON_INPUT_R" res [ "$res" = 1 ] && { BINDIR=/tmp/ShellCrash setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env @@ -110,21 +109,13 @@ userguide() { # 启用推荐的自动任务配置 . "$CRASHDIR"/menus/5_task.sh && task_recom - # 小米设备软固化 - if [ "$systype" = "mi_snapshot" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到为小米路由设备,启用软固化可防止路由升级后丢失SSH\033[0m" - read -r -p "是否启用软固化功能?(1/0) > " res - [ "$res" = 1 ] && mi_autoSSH - fi - # 提示导入订阅或者配置文件 if [ ! -s "$CRASHDIR"/yamls/config.yaml ] && [ ! -s "$CRASHDIR"/jsons/config.json ]; then - echo "-----------------------------------------------" - echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)" - echo -e "\033[0m你必须拥有一份配置文件才能运行服务!\033[0m" - echo "-----------------------------------------------" - read -r -p "现在开始导入?(1/0) > " res + separator_line "-" + content_line "\033[32m$UG_IMPORT_CONFIG\033[0m" + content_line "\033[0m$UG_CONFIG_TIP\033[0m" + separator_line "-" + read -r -p "$UG_CONFIG_RES(1/0) > " res [ "$res" = 1 ] && inuserguide=1 && { . "$CRASHDIR"/menus/6_core_config.sh && set_core_config inuserguide="" @@ -132,10 +123,9 @@ userguide() { fi # 回到主界面 - echo "-----------------------------------------------" - echo -e "\033[36m很好!现在只需要执行启动就可以愉快的使用了!\033[0m" - echo "-----------------------------------------------" - read -r -p "立即启动服务?(1/0) > " res - [ "$res" = 1 ] && start_core && sleep 2 + separator_line "=" + content_line "\033[36m$UG_FINAL_TIP\033[0m" + separator_line "=" + sleep 1 return 0 } From f128560d971d58408870d384a9327db4d262284d Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 27 Jan 2026 18:46:14 +0800 Subject: [PATCH 169/318] ~Improve UI and i18n for userguide.sh --- scripts/lang/chs/5_task.lang | 6 +++++ scripts/lang/en/5_task.lang | 6 +++++ scripts/menus/5_task.sh | 44 +++++++++++++++--------------------- 3 files changed, 30 insertions(+), 26 deletions(-) create mode 100644 scripts/lang/chs/5_task.lang create mode 100644 scripts/lang/en/5_task.lang diff --git a/scripts/lang/chs/5_task.lang b/scripts/lang/chs/5_task.lang new file mode 100644 index 00000000..250e06db --- /dev/null +++ b/scripts/lang/chs/5_task.lang @@ -0,0 +1,6 @@ +# 推荐任务配置 +TASK_RECOM_TITLE="是否启用以下推荐的自动任务配置:" + +TASK_RECOM_ITEM_1="运行时每10分钟自动保存面板配置" +TASK_RECOM_ITEM_2="服务启动后自动同步 NTP 时间" +TASK_RECOM_ITEM_3="在每日的3点0分重启服务" diff --git a/scripts/lang/en/5_task.lang b/scripts/lang/en/5_task.lang new file mode 100644 index 00000000..bb612a45 --- /dev/null +++ b/scripts/lang/en/5_task.lang @@ -0,0 +1,6 @@ +# Recommended task configuration +TASK_RECOM_TITLE="Enable the following recommended automatic tasks?" + +TASK_RECOM_ITEM_1="Save Dashboard select every 10 minutes" +TASK_RECOM_ITEM_2="Synchronize NTP after service startup" +TASK_RECOM_ITEM_3="Daily service restart at 03:00" diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 74026c88..2865516a 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -8,6 +8,8 @@ __IS_MODULE_5_TASK_LOADED=1 . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/set_cron.sh +load_lang 5_task + # 任务工具 set_cron() { [ -z "$week" ] && week=* @@ -48,7 +50,7 @@ set_service() { else echo "$CRASHDIR/task/task.sh $2 $3" >>"$task_file" fi - content_line "任务【$3】\033[32m添加成功!\033[0m" + content_line "【$3】\033[32m$COMMON_SUCCESS\033[0m" sleep 1 } @@ -153,12 +155,8 @@ task_add() { content_line "\033[36m请选择需要添加的任务:\033[0m" separator_line "=" # 输出任务列表 - # cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print NR") "$3}' - grep -Ev '^(#|$)' "$CRASHDIR/task/task.list" "$CRASHDIR/task/task.user" 2>/dev/null | - awk -F '#' '{print NR") "$3}' | - while IFS= read -r line; do - content_line "$line" - done + list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') + list_box "$list" content_line "" content_line "0) 返回上级菜单" separator_line "=" @@ -168,7 +166,7 @@ task_add() { break ;; [1-9] | [1-9][0-9]) - if [ "$num" -le "$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | wc -l)" ]; then + if [ "$num" -le "$(echo "$list" | wc -l)" ]; then task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') task_type @@ -329,12 +327,7 @@ task_manager() { else content_line "\033[33m已添加的任务:\033[0m" separator_line "=" - # cat "$TMPDIR"/task_list | awk '{print NR ") " $2}' - awk '{print NR ") " $2}' "$TMPDIR/task_list" | - while IFS= read -r line; do - content_line "$line" - done - + list_box "$(cat "$TMPDIR"/task_list)" separator_line "-" content_line "a) 清空旧版任务" content_line "d) 清空任务列表" @@ -448,22 +441,21 @@ task_manager() { task_recom() { line_break separator_line "=" - content_line "\033[36m是否启用以下推荐的自动任务配置:\033[0m" - content_line "每隔10分钟自动保存面板配置" - content_line "服务启动后自动同步ntp时间" - content_line "在每日的3点0分重启服务" + content_line "\033[36m$TASK_RECOM_TITLE\033[0m" + separator_line "-" + content_line "$TASK_RECOM_ITEM_1" + content_line "$TASK_RECOM_ITEM_2" + content_line "$TASK_RECOM_ITEM_3" separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" - read -r -p "请输入对应标号> " res + read -r -p "$COMMON_INPUT_R" res + [ "$res" = 1 ] && { line_break separator_line "=" - set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *" - set_service afstart "107" "服务启动后自动同步ntp时间" - cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" && - content_line "任务【在每日的3点0分重启服务】\033[32m添加成功!\033[0m" + set_service running "106" "$TASK_RECOM_ITEM_1" "*/10 * * * *" + set_service afstart "107" "$TASK_RECOM_ITEM_2" + cronset "$TASK_RECOM_ITEM_3" "0 3 * * * ${CRASHDIR}/task/task.sh 103 $TASK_RECOM_ITEM_3" && + content_line "【$TASK_RECOM_ITEM_3】\033[32m$COMMON_SUCCESS\033[0m" separator_line "=" } } From 1dadeb8d7a5731cd1a7d1475d3358892d8208bb8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 27 Jan 2026 19:32:02 +0800 Subject: [PATCH 170/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=B0=8F=E7=B1=B3=E8=AE=BE=E5=A4=87=E8=87=AA=E5=90=AF=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/snapshot_init.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/starts/snapshot_init.sh b/scripts/starts/snapshot_init.sh index 9c6f2bcd..da012fa1 100644 --- a/scripts/starts/snapshot_init.sh +++ b/scripts/starts/snapshot_init.sh @@ -2,6 +2,10 @@ # Copyright (C) Juewuy CRASHDIR="$(uci get firewall.ShellCrash.path | sed 's/\/starts.*//')" +#防止提前自启 +/etc/init.d/shellcrash disable +crontab -l | grep -v 'start_legacy_wd.sh shellcrash' | crontab - +#防止usb未加载 i=0 while [ ! -f "$CRASHDIR/configs/ShellCrash.cfg" ]; do [ $i -gt 20 ] && exit 1 From a5c2dcd4825d896f90944b317833644b8ae399b2 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 27 Jan 2026 20:18:23 +0800 Subject: [PATCH 171/318] ~1.9.5a7 pkg --- ShellCrash.tar.gz | Bin 138745 -> 139552 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index f303c966c57ca8d4a1b54145cb5d792bd5dc6d41..355dc046509444700404af51f4ee27a1d0d39078 100644 GIT binary patch delta 135278 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 z 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

5(!Qpe)*>NBn_eW`R}5VOFbWXT4xI28|7u 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 Q{fOuP1Mp!s9RPR=0LC+HfB*mh diff --git a/bin/version b/bin/version index 9bffd5f5..6f72d47f 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha6.4 +versionsh=1.9.5alpha7 GeoIP_v=20251205 diff --git a/version b/version index aaa78796..1aadf787 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha6.4 +1.9.5alpha7 From 44907fb3a2525175c8405b9c7c66d42c006e4a0d Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Wed, 28 Jan 2026 22:22:40 +0800 Subject: [PATCH 172/318] feat(6_core_config.sh): improve UI/UX --- scripts/menus/6_core_config.sh | 458 ++++++++++++++++++++------------- scripts/menus/common.sh | 16 +- 2 files changed, 283 insertions(+), 191 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index d3701445..687d30bf 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -6,17 +6,17 @@ __IS_MODULE_6_CORECONFIG_LOADED=1 if echo "$crashcore" | grep -q 'singbox'; then CONFIG_PATH="$CRASHDIR"/jsons/config.json - CORE_TYPE=singbox + CORE_TYPE=singbox else CONFIG_PATH="$CRASHDIR"/yamls/config.yaml - CORE_TYPE=clash + CORE_TYPE=clash fi URI_EXP='ss|vmess|vless|trojan|tuic|anytls|shadowtls|hysteria(2)?' # 配置文件主界面 set_core_config() { while true; do - list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | + list=$(cat "$CRASHDIR"/configs/providers.cfg "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | LC_ALL=C awk '{ f1 = $1 f2 = $2 @@ -30,17 +30,18 @@ set_core_config() { comp_box "\033[30;47m配置文件管理\033[0m" [ -n "$list" ] && { content_line "\033[36m输入数字可管理对应提供者\033[0m" - list_box "$list" + content_line "" + list_box "$list" separator_line "-" } - content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" - content_line "b) \033[36m本地生成配置文件\033[0m(By Providers,推荐!)" - content_line "c) \033[33m在线生成配置文件\033[0m(By Subconverter)" + content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" + content_line "b) \033[36m本地生成配置文件\033[0m(By Providers,推荐!)" + content_line "c) \033[33m在线生成配置文件\033[0m(By Subconverter)" content_line "d) \033[31m清空提供者列表\033[0m" content_line "e) \033[36m自定义配置文件\033[0m" - + content_line "" common_back - read -r -p "$COMMON_INPUT_L > " num + read -r -p "$COMMON_INPUT_L> " num case "$num" in "" | 0) break @@ -58,7 +59,7 @@ set_core_config() { . "$CRASHDIR"/menus/providers.sh providers else - msg_alert "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" + msg_alert "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" fi else msg_alert "请先添加提供者!" @@ -73,10 +74,12 @@ set_core_config() { fi ;; d) - separator_line "=" - content_line "\033[33m警告:这将删除所有提供者且无法还原!\033[0m" - separator_line "-" - read -r -p "确认清空提供者列表?(1/0) > " res + comp_box "\033[33m警告:这将删除所有提供者且无法还原!\033[0m" \ + "" \ + "是否确认清空提供者列表:" + btm_box "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { rm -f "$CRASHDIR"/configs/providers.cfg rm -f "$CRASHDIR"/configs/providers_uri.cfg @@ -84,26 +87,26 @@ set_core_config() { } ;; e) - checkcfg=$(cat $CFG_PATH) - . "$CRASHDIR"/menus/override.sh && override + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/override.sh && override if [ -n "$PID" ]; then - checkcfg_new=$(cat $CFG_PATH) + checkcfg_new=$(cat "$CFG_PATH") [ "$checkcfg" != "$checkcfg_new" ] && checkrestart fi ;; *) error_letter - break ;; esac done } + # 添加/管理提供者 setproviders() { case "$(echo "$@" | cut -d ' ' -f 2)" in http* | ./providers*) - set -- $@ + set -- "$@" name=$1 link=$2 interval=$3 @@ -113,36 +116,39 @@ setproviders() { include_w=${7#\#} ;; *://*) - set -- $line + set -- "$line" name=$1 link_uri=$2 ;; - *) - unset name link link_uri interval interval2 ua exclude_w include_w - ;; + *) + unset name link link_uri interval interval2 ua exclude_w include_w + ;; esac - last_name="$name" + last_name="$name" [ -z "$interval" ] && interval=3 [ -z "$interval2" ] && interval2=12 [ -z "$ua" ] && ua='clash.meta' + while true; do link_info=$(echo "$link$link_uri" | cut -c 1-30) comp_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" + content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" - content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info...\033[0m" - [ -n "$link" ] && - content_line "3) 设置\033[33m本地生成覆写\033[0m" - separator_line "-" + content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info\033[0m" + [ -n "$link" ] && + content_line "3) 设置\033[33m本地生成覆写\033[0m" + content_line "" content_line "a) \033[36m保存此提供者\033[0m" [ -n "$link" ] && content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" echo "$link$link_uri" | grep -q '://' && content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" echo "$link" | grep -q '^http' && - content_line "e) 从此订阅链接直接拉取配置文件(不经过订阅转换)" + content_line "e) 从此订阅链接直接拉取配置文件(不经过订阅转换)" echo "$link" | grep -q '^./providers' && - content_line "e) 直接使用此文件作为配置文件(不经过本地生成)" + content_line "e) 直接使用此文件作为配置文件(不经过本地生成)" content_line "d) \033[31m删除此提供者\033[0m" + content_line "" common_back read -r -p "请输入对应字母或数字> " input case "$input" in @@ -150,71 +156,89 @@ setproviders() { break ;; 1) - separator_line "=" - content_line "注意:不可重复,不支持纯数字,且不要超过4个汉字!" - separator_line "-" - read -r -p "请输入具体名称或代号 > " text - text=$(printf "%.12s" "$text" | sed 's/ //g') #截断12字符+去空格 - if [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg; then - name="$text" - else - error_input - fi + while true; do + comp_box "\033[33m注意:\n名称或代号不可重复,不支持纯数字,且不要超过4个汉字!\033[0m" + btm_box "\033[36m请直接输入具体名称或代号\033[0m" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + text=$(printf "%.12s" "$text" | sed 's/ //g') # 截断12字符+去空格 + if [ "$text" = 0 ]; then + break + elif [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg; then + name="$text" + common_success + break + else + error_input + fi + done ;; 2) - separator_line "=" - content_line "\033[33m订阅链接\033[0m: https/http开头的clash配置文件订阅链接" - content_line "\033[36m分享链接\033[0m: $URI_EXP" - content_line "\033[33m本地文件\033[0m: 必须放在此目录下:\033[32m$CRASHDIR/providers\033[0m" - content_line "\033[36m Base64 \033[0m: 请直接写入本地文件" - separator_line "-" - list=$( - for f in "$CRASHDIR"/providers/*; do - [ "$f" = "$CRASHDIR"/providers/uri_group ] && continue - [ -f "$f" ] || continue - printf '%s\n' "${f##*/}" - done | sort - ) - if [ -n "$list" ];then - list_box "$list" - separator_line "-" - read -r -p "请选择对应文件或输入具体链接 > " text - else - read -r -p "请输入具体链接 > " text - fi - text=$(echo "$text" | sed 's/ //g') #去空格 - case "$text" in - http*) - #处理订阅链接 - text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') #处理注释及超链接 - link="$text" - link_uri='' - common_success - ;; - [1-9] | [1-9][0-9]) - #处理本地文件 - file=$(printf '%s\n' "$list" | sed -n "${text}p") - if [ -s "$CRASHDIR/providers/$file" ]; then - link="./providers/$file" - [ -z "$name" ] && name="_$(printf "%.12s" "$file" | sed 's/ //g')" - link_uri='' - common_success - else - errornum - fi - ;; - *) - #处理分享链接 - if [ -n "$(echo $text | grep -E "^$URI_EXP")" ]; then - link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 - link='' - [ -z "$name" ] && name=$(printf '%b' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//') - common_success - else - error_input - fi - ;; - esac + while true; do + comp_box "\033[33m订阅链接\033[0m:\nhttps/http开头的clash配置文件订阅链接" \ + "" \ + "\033[36m分享链接\033[0m:\n$URI_EXP" \ + "" \ + "\033[33m本地文件\033[0m:\n必须放在\033[32m$CRASHDIR/providers\033[0m目录下" \ + "" \ + "\033[36mBase64 \033[0m:\n请直接写入本地文件" + list=$( + for f in "$CRASHDIR"/providers/*; do + [ "$f" = "$CRASHDIR"/providers/uri_group ] && continue + [ -f "$f" ] || continue + printf '%s\n' "${f##*/}" + done | sort + ) + if [ -n "$list" ]; then + list_box "$list" + btm_box "" \ + "输入 0 返回上级菜单" + read -r -p "请选择对应文件或输入具体链接> " text + else + btm_box "\033[36m请直接输入具体链接\033[0m" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + fi + text=$(echo "$text" | sed 's/ //g') # 去空格 + case "$text" in + 0) + break + ;; + http*) + # 处理订阅链接 + text=$(echo "$text" | sed 's/ *(.*)//g; s/#.*//g') # 处理注释及超链接 + link="$text" + link_uri='' + common_success + break + ;; + [1-9] | [1-9][0-9]) + # 处理本地文件 + file=$(printf '%s\n' "$list" | sed -n "${text}p") + if [ -s "$CRASHDIR/providers/$file" ]; then + link="./providers/$file" + [ -z "$name" ] && name="_$(printf "%.12s" "$file" | sed 's/ //g')" + link_uri='' + common_success + break + else + errornum + fi + ;; + *) + # 处理分享链接 + if [ -n "$(echo "$text" | grep -E "^$URI_EXP")" ]; then + link_uri=$(echo "$text" | sed 's/#.*//g') # 删除注释 + link='' + [ -z "$name" ] && name=$(printf '%b' "$(printf '%s' "$text" | sed 's/+/ /g; s/%/\\x/g')" | sed 's/.*#//') + common_success + break + else + error_input + fi + ;; + esac + done ;; 3) custproviders @@ -229,45 +253,47 @@ setproviders() { . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" gen_providers "$name" "$link" "$interval" "$interval2" "$ua" "#$exclude_w" "#$include_w" else - content_line "\033[31m$请先完成必填选项!\033[0m" + msg_alert "\033[31m$请先完成必填选项!\033[0m" fi ;; c) if [ -n "$name" ] && [ -n "$link$link_uri" ]; then saveproviders [ -n "$link" ] && Url="$link" - [ -n "$link_uri" ] && Url=$(echo "$name $link_uri" |awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }') + [ -n "$link_uri" ] && Url=$(echo "$name $link_uri" | awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }') Https='' setconfig Url "'$Url'" setconfig Https # 获取在线文件 jump_core_config else - content_line "\033[31m请先完成必填选项!\033[0m" + msg_alert "\033[31m请先完成必填选项!\033[0m" fi ;; d) if [ -n "$name" ] && [ -n "$link" ]; then sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg - content_line "\033[32m$COMMON_SUCCESS\033[0m" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" elif [ -n "$name" ] && [ -n "$link_uri" ]; then sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg - content_line "\033[32m$COMMON_SUCCESS\033[0m" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" fi break ;; e) if [ -n "$link" ]; then - content_line "注意:\033[31m此功能不兼容“跳过证书验证”功能\033[0m" - content_line "\033[31m请确认你完全理解自己在做什么\033[0m" - read -p "我确认遇到问题可以自行解决(1/0) > " res + comp_box "\033[31m注意:\n此功能不兼容“跳过证书验证”功能\033[0m" \ + "\033[31m请确认你完全理解自己在做什么\033[0m" + btm_box "1) 我确认遇到问题可以自行解决" \ + "0) 返回上级菜单" + read -r -p "$COMMON_INPUT> " res [ "$res" = "1" ] && { - file=$(echo "$CRASHDIR/$link" | sed 's|\./||') + file=$(echo "$CRASHDIR/$link" | sed 's|\./||') if [ -f "$file" ]; then [ -n "$name" ] && saveproviders ln -sf "$file" "$CONFIG_PATH" - common_success - break + common_success + break elif echo "$link" | grep -q '^http'; then [ -n "$name" ] && saveproviders Https="$link" @@ -276,24 +302,23 @@ setproviders() { setconfig Url # 获取在线文件 jump_core_config - break - else - content_line "\033[31m请先完成必填选项!\033[0m" + break + else + msg_alert "\033[31m请先完成必填选项!\033[0m" fi } else - content_line "\033[31m请先完成必填选项!\033[0m" - sleep 1 + msg_alert "\033[31m请先完成必填选项!\033[0m" fi ;; *) error_letter - break ;; esac done } -#保存 + +# 保存 saveproviders() { [ -n "$name" ] && { [ -s "$CRASHDIR"/configs/providers.cfg ] && sed -i "/^$last_name /d" "$CRASHDIR"/configs/providers.cfg @@ -310,87 +335,156 @@ saveproviders() { return 1 fi } -#本地生成覆写 + +# 本地生成覆写 custproviders() { - while true; do - separator_line '-' - content_line "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m" - content_line "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m" - echo "$link" | grep -q '^http' && - content_line "3) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" - content_line "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" - content_line "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" - common_back - read -r -p "请输入对应数字> " num - case "$num" in - "" | 0) - break - ;; - 1) - read -p "请输入健康检查间隔(单位:分钟) > " num - if [ -n "$num" ]; then - interval="$num" - else - errornum - fi - ;; - 2) - read -p "请输入自动更新间隔(单位:小时) > " num - if [ -n "$num" ]; then - interval2="$num" - else - errornum - fi - ;; - 3) - read -p "请输入浏览器UA(输入0重置) > " text - case "$text" in - 0) - include_w='clash.meta' - ;; - *) - include_w="$text" - ;; - esac - ;; - 4) - read -p "请输入需要排除的节点关键字(支持正则,不支持空格,输入0删除) > " text - text=$(echo "$text" | sed 's/ //g') #去空格 - case "$text" in - 0) - exclude_w='' - ;; - *) - exclude_w="$text" - ;; - esac - ;; - 5) - read -p "请输入需要筛选使用的节点关键字(支持正则,不支持空格,输入0删除) > " text - text=$(echo "$text" | sed 's/ //g') #去空格 - case "$text" in - 0) - include_w='' - ;; - *) - include_w="$text" - ;; - esac - ;; - *) - error_letter + while true; do + line_break + separator_line "=" + content_line "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m 分钟" + content_line "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m 小时" + echo "$link" | grep -q '^http' && + content_line "3) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" + content_line "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" + content_line "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" + content_line "" + common_back + read -r -p "请输入对应数字> " num + case "$num" in + "" | 0) break ;; + 1) + while true; do + comp_box "当前健康检查间隔:$interval 分钟" + btm_box "\033[36m请直接健康检查间隔(单位:分钟)\033[0m" \ + "或输入 r 重置健康检查间隔为默认值(3 分钟)" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " num + if [ "$num" = "r" ]; then + interval=3 + elif [ -n "$num" ] && [ "$num" -eq "$num" ] 2>/dev/null; then + interval="$num" + else + errornum + continue + fi + common_success + break + done + ;; + 2) + while true; do + comp_box "当前健康检查间隔:$interval 分钟" + btm_box "\033[36m请直接输入自动更新间隔(单位:小时)\033[0m" \ + "或输入 r 重置自动更新间隔为默认值(12 小时)" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " num + if [ "$num" = "r" ]; then + interval2=12 + elif [ -n "$num" ] && [ "$num" -eq "$num" ] 2>/dev/null; then + interval2="$num" + else + errornum + continue + fi + common_success + break + done + ;; + 3) + if [ -z "$ua" ]; then + comp_box "当前浏览器UA:无" + else + comp_box "当前浏览器UA:$ua" + fi + btm_box "\033[36m请直接输入浏览器UA\033[0m" \ + "或输入 r 重置浏览器UA为默认值(clash.meta)" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + case "$text" in + 0) + continue + ;; + r) + ua='clash.meta' + ;; + *) + ua="$text" + ;; + esac + common_success + ;; + 4) + if [ -z "$exclude_w" ]; then + comp_box "当前排除规则:无" + else + comp_box "当前排除规则:$exclude_w" + fi + + btm_box "\033[36m请直接输入需要排除的节点关键字(支持正则,不支持空格)\033[0m" \ + "或输入 c 清空排除规则" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + text=$(echo "$text" | sed 's/ //g') # 去空格 + case "$text" in + 0) + continue + ;; + c) + exclude_w='' + ;; + *) + exclude_w="$text" + ;; + esac + common_success + ;; + 5) + if [ -z "$include_w" ]; then + comp_box "当前包含规则:无" + else + comp_box "当前包含规则:$include_w" + fi + btm_box "\033[36m请直接输入需要包含的节点关键字(支持正则,不支持空格)\033[0m" \ + "或输入 c 清空包含规则" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + text=$(echo "$text" | sed 's/ //g') # 去空格 + case "$text" in + 0) + continue + ;; + c) + include_w='' + ;; + *) + include_w="$text" + ;; + esac + common_success + ;; + *) + error_letter + ;; esac - done + done } + # 调用工具在线获取配置文件 jump_core_config() { . "$CRASHDIR"/starts/core_config.sh && get_core_config if [ "$?" = 0 ]; then if [ "$inuserguide" != 1 ]; then - read -p "是否启动服务以使配置文件生效?(1/0) > " res - [ "$res" = 1 ] && start_core || main_menu + comp_box "是否启动服务以使配置文件生效:" + btm_box "1) 是" \ + "0) 否" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + start_core + else + main_menu + fi exit fi fi diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index 66791e5e..60668807 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -42,12 +42,12 @@ btm_box() { separator_line "=" } -list_box () { - i=1 - printf '%s\n' "$1" | while IFS= read -r f; do - content_line "$i) $f$2" - i=$(( i + 1 )) - done +list_box() { + i=1 + printf '%s\n' "$1" | while IFS= read -r f; do + content_line "$i) $f$2" + i=$((i + 1)) + done } # ================================================= @@ -80,7 +80,5 @@ cancel_back() { } common_success() { - separator_line "-" - content_line "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" } From 2625d7f4e43a1d57a6d2f95ce19fe7a51f6967e1 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Thu, 29 Jan 2026 22:13:29 +0800 Subject: [PATCH 173/318] feat: improve UI/UX --- scripts/menus/5_task.sh | 18 ++--- scripts/menus/9_upgrade.sh | 147 ++++++++++++++----------------------- scripts/menus/userguide.sh | 35 ++++----- 3 files changed, 76 insertions(+), 124 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 2865516a..1f509c60 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -439,15 +439,15 @@ task_manager() { # 任务推荐 task_recom() { - line_break - separator_line "=" - content_line "\033[36m$TASK_RECOM_TITLE\033[0m" - separator_line "-" - content_line "$TASK_RECOM_ITEM_1" - content_line "$TASK_RECOM_ITEM_2" - content_line "$TASK_RECOM_ITEM_3" - separator_line "=" - read -r -p "$COMMON_INPUT_R" res + comp_box "\033[36m$TASK_RECOM_TITLE\033[0m" \ + "" \ + "$TASK_RECOM_ITEM_1" \ + "$TASK_RECOM_ITEM_2" \ + "$TASK_RECOM_ITEM_3" + + btm_box "1) 是" \ + "0) 否" + read -r -p "$COMMON_INPUT>" res [ "$res" = 1 ] && { line_break diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 522beaf2..f6983008 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -9,9 +9,8 @@ __IS_MODULE_9_UPGRADE_LOADED=1 . "$CRASHDIR"/libs/web_get_bin.sh error_down() { - content_line "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" - content_line "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" - separator_line "=" + btm_box "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" \ + "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" sleep 1 } @@ -28,11 +27,9 @@ upgrade() { [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) - separator_line "=" - content_line "\033[30;47m更新与支持\033[0m" - separator_line "=" - - content_line "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" + comp_box "\033[30;47m更新与支持\033[0m" \ + "" \ + "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } @@ -179,7 +176,7 @@ getscripts() { error_down else . "$CRASHDIR"/init.sh >/dev/null - echo "$release_type" | grep -qE '^[0-9]' && setconfig userguide #回退时重新新手引导 + echo "$release_type" | grep -qE '^[0-9]' && setconfig userguide #回退时重新新手引导 content_line "\033[32m脚本更新成功!\033[0m" separator_line "=" fi @@ -190,15 +187,15 @@ getscripts() { setscripts() { while true; do - line_break - separator_line "=" - content_line "\033[33m注意:更新时会停止服务!\033[0m" - content_line "当前脚本版本为:\033[36m$versionsh_l\033[0m" - content_line "最新脚本版本为:\033[32m$version_new\033[0m" - separator_line "-" - content_line "1) 立即更新" - content_line "0) 返回上级菜单" - separator_line "=" + + comp_box "\033[33m注意:更新时会停止服务!\033[0m" \ + "" \ + "当前脚本版本为:\033[36m$versionsh_l\033[0m" \ + "最新脚本版本为:\033[32m$version_new\033[0m" + + btm_box "1) 立即更新" \ + "0) 返回上级菜单" + read -r -p "请输入对应标号> " res case "$res" in "" | 0) @@ -208,10 +205,7 @@ setscripts() { # 下载更新 getscripts # 提示 - line_break - separator_line "=" - content_line "\033[32m管理脚本更新成功!\033[0m" - separator_line "=" + msg_alert "\033[32m管理脚本更新成功!\033[0m" exit 0 ;; *) @@ -226,12 +220,11 @@ setscripts() { # 手动设置内核架构 setcpucore() { cpucore_list="armv5 armv7 arm64 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" - line_break - separator_line "=" - content_line "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" - content_line "不知道如何获取核心版本?\033[0m" - content_line "请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" - separator_line "-" + + comp_box "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" \ + "不知道如何获取核心版本?\033[0m" \ + "请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" + content_line "当前可供在线下载的处理器架构为:" separator_line "-" @@ -245,12 +238,8 @@ setcpucore() { read -r -p "请输入对应标号> " num [ -n "$num" ] && setcpucore=$(echo "$cpucore_list" | awk '{print $"'"$num"'"}') if [ -z "$setcpucore" ]; then - line_break - separator_line "=" - content_line "\033[31m请输入正确的处理器架构!\033[0m" - separator_line "=" - sleep 1 cpucore="" + msg_alert "\033[31m请输入正确的处理器架构!\033[0m" else cpucore=$setcpucore setconfig cpucore "$cpucore" @@ -267,7 +256,7 @@ setcoretype() { separator_line "-" content_line "1) Mihomo(Meta)" content_line "2) Singbox-reF1nd" - content_line "3) Singbox" + content_line "3) Singbox" content_line "4) Clash" content_line "0) 返回上级菜单" separator_line "=" @@ -455,7 +444,7 @@ setcustcore() { [ -n "$custcore" ] && { content_line "当前内核为:\033[36m$custcore\033[0m" } - separator_line "-" + separator_line "=" content_line "请选择需要使用的核心:" separator_line "-" content_line "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" @@ -521,10 +510,7 @@ setcustcore() { } setziptype() { - line_break - separator_line "=" - content_line "请选择内核内核分支及压缩方式:\033[0m" - separator_line "-" + comp_box "请选择内核内核分支及压缩方式:\033[0m" content_line "1) \033[36m最简编译release版本,upx压缩\033[0m" sub_content_line "不支持Gvisor、Tailscale、Wireguard、NaiveProxy" content_line "2) \033[32m标准编译release版本,tar.gz压缩\033[0m" @@ -562,14 +548,12 @@ setcore() { echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#; s#-linux.*$##')" - line_break - separator_line "=" [ -z "$cpucore" ] && check_cpucore - content_line "当前内核:\033[42;30m$crashcore\033[47;30m $core_v\033[0m" - content_line "当前系统处理器架构:\033[32m$cpucore\033[0m" - content_line "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" - separator_line "-" + comp_box "当前内核:\033[42;30m$crashcore\033[47;30m $core_v\033[0m" \ + "当前系统处理器架构:\033[32m$cpucore\033[0m" \ + "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" + content_line "\033[33m请选择需要使用的核心版本:\033[0m" separator_line "-" content_line "1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" @@ -586,7 +570,7 @@ setcore() { content_line "4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" sub_content_line "说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m" } - content_line "5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" + content_line "5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" content_line "6) \033[36m使用自定义内核\033[0m $custcore" content_line "7) \033[32m更新当前内核\033[0m" content_line "9) 手动指定处理器架构" @@ -851,9 +835,9 @@ setgeo() { separator_line "=" content_line "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m" content_line "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" - separator_line "-" + content_line "" content_line "请选择需要更新的Geo数据库文件:" - separator_line "-" + separator_line "=" content_line "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" content_line "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" content_line "" @@ -908,11 +892,9 @@ setgeo() { ;; 9) while true; do - line_break - separator_line "=" - content_line "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" - content_line "清理后启动服务即可自动下载所需文件" - separator_line "-" + comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" + "清理后启动服务即可自动下载所需文件" + content_line "1) 确认清理" content_line "0) 返回上级菜单" separator_line "=" @@ -929,11 +911,7 @@ setgeo() { setconfig $var done rm -rf "$CRASHDIR"/ruleset/* - line_break - separator_line "=" - content_line "\033[33m所有数据库文件均已清理!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m所有数据库文件均已清理!\033[0m" break ;; *) @@ -1000,7 +978,7 @@ dbdir() { separator_line "=" if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then content_line "\033[33m检测到已经安装过本地面板\033[0m" - separator_line "-" + separator_line "=" content_line "请选择操作:" separator_line "-" content_line "1) 升级/覆盖安装" @@ -1013,18 +991,15 @@ dbdir() { [ -f "$CRASHDIR"/ui/CNAME ] && rm -rf "$CRASHDIR"/ui && dbdir="$CRASHDIR"/ui getdb else - line_break - separator_line "=" - separator_line "\033[33m安装已取消\033[0m" - separator_line "=" + msg_alert "\033[33m安装已取消\033[0m" return 1 fi elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then separator_line "请选择面板\033[33m安装目录:\033[0m" - separator_line "-" - content_line " 1) 在${CRASHDIR}/ui目录安装" - content_line " 2) 在/www/clash目录安装" + separator_line "=" + content_line "1) 在${CRASHDIR}/ui目录安装" + content_line "2) 在/www/clash目录安装" content_line "" separator_line "0) 返回上级菜单" separator_line "=" @@ -1062,7 +1037,7 @@ setdb() { separator_line "=" content_line "\033[36m安装 dashboard 管理面板到本地\033[0m" content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m" - separator_line "-" + separator_line "=" content_line "请选择面板安装类型:" separator_line "-" content_line " - - - - - - -维护中- - - - - - -" @@ -1113,7 +1088,7 @@ setdb() { line_break separator_line "=" content_line "是否卸载本地面板:" - separator_line "-" + separator_line "=" content_line "1) 确认卸载" content_line "0) 返回上级菜单" separator_line "=" @@ -1126,12 +1101,7 @@ setdb() { rm -rf /www/clash rm -rf "$CRASHDIR"/ui rm -rf "$BINDIR"/ui - - line_break - separator_line "=" - content_line "\033[31m面板已经卸载!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m面板已经卸载!\033[0m" break ;; *) @@ -1194,7 +1164,7 @@ setcrt() { content_line "\033[33m检测到系统已经存在根证书文件:\033[0m" content_line "\033[33m($crtdir)\033[0m" fi - separator_line "-" + separator_line "=" if [ -f "$crtdir" ]; then content_line "1) 覆盖更新" @@ -1220,11 +1190,7 @@ setcrt() { esac else - line_break - separator_line "=" - content_line "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" break fi @@ -1237,10 +1203,7 @@ saveserver() { setconfig url_id "$url_id" setconfig release_type "$release_type" version_new='' - line_break - separator_line "=" - content_line "\033[32m源地址切换成功!\033[0m" - separator_line "=" + msg_alert -t 0 "\033[32m源地址切换成功!\033[0m" } # 安装源 @@ -1254,12 +1217,10 @@ setserver() { [ "$release_type" = dev ] && release_name=开发版 [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" - separator_line "=" - content_line "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" - separator_line "-" - content_line "当前版本:\033[4;33m$release_name\033[0m" - content_line "当前源:\033[4;32m$url_name\033[0m" - separator_line "-" + comp_box "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" \ + "" \ + "当前版本:\033[4;33m$release_name\033[0m" \ + "当前源:\n\033[4;32m$url_name\033[0m" grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | awk '{print NR") "$2}' | @@ -1319,7 +1280,7 @@ setserver() { content_line "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" content_line "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" content_line "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "-" + separator_line "=" content_line "是否依然切换到开发版:" separator_line "-" content_line "1) 确认切换" @@ -1365,8 +1326,8 @@ setserver() { if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then content_line "\033[32m正在获取版本信息......\033[0m" . "$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 + 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 content_line "\033[32m获取版本信息成功\033[0m" separator_line "=" diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index 475082d5..f37afbbf 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -8,17 +8,15 @@ load_lang userguide forwhat() { while true; do - separator_line "=" - content_line "\033[30;46m $UG_WELCOME \033[0m" - separator_line "-" - content_line "\033[33m$UG_CHOOSE_ENV \033[0m" - content_line "\033[0m$UG_TIP_CONFIG\033[0m" - separator_line "-" - content_line " 1 \033[32m$UG_OPTION_1\033[0m" - content_line " 2 \033[36m$UG_OPTION_2\033[0m" + comp_box "\033[30;46m$UG_WELCOME\033[0m" \ + "" \ + "\033[33m$UG_CHOOSE_ENV\033[0m" \ + "\033[0m$UG_TIP_CONFIG\033[0m" + + btm_box "1) \033[32m$UG_OPTION_1\033[0m" \ + "2) \033[36m$UG_OPTION_2\033[0m" [ -s "$CRASHDIR"/configs.tar.gz ] && content_line " 3 \033[33m$UG_OPTION_3\033[0m" - separator_line "=" - read -r -p "$COMMON_INPUT > " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 1) # 设置运行模式 @@ -96,9 +94,7 @@ userguide() { # 检测小内存模式 dir_size=$(dir_avail "$CRASHDIR") if [ "$dir_size" -lt 10240 ]; then - separator_line "-" - content_line "\033[33m$UG_ENABLE_LOW_MEM\033[0m" - separator_line "-" + comp_box "\033[33m$UG_ENABLE_LOW_MEM\033[0m" read -r -p "$COMMON_INPUT_R" res [ "$res" = 1 ] && { BINDIR=/tmp/ShellCrash @@ -111,11 +107,9 @@ userguide() { # 提示导入订阅或者配置文件 if [ ! -s "$CRASHDIR"/yamls/config.yaml ] && [ ! -s "$CRASHDIR"/jsons/config.json ]; then - separator_line "-" - content_line "\033[32m$UG_IMPORT_CONFIG\033[0m" - content_line "\033[0m$UG_CONFIG_TIP\033[0m" - separator_line "-" - read -r -p "$UG_CONFIG_RES(1/0) > " res + comp_box "\033[32m$UG_IMPORT_CONFIG\033[0m" \ + "\033[0m$UG_CONFIG_TIP\033[0m" + read -r -p "$UG_CONFIG_RES(1/0)> " res [ "$res" = 1 ] && inuserguide=1 && { . "$CRASHDIR"/menus/6_core_config.sh && set_core_config inuserguide="" @@ -123,9 +117,6 @@ userguide() { fi # 回到主界面 - separator_line "=" - content_line "\033[36m$UG_FINAL_TIP\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[36m$UG_FINAL_TIP\033[0m" return 0 } From 7aa4a49ec98b7ec9720ea1e337c0d2f49d0b56a9 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Fri, 30 Jan 2026 21:57:34 +0800 Subject: [PATCH 174/318] feat(override.sh): improve UI/UX --- scripts/menus/common.sh | 13 +- scripts/menus/override.sh | 479 ++++++++++++++++++++++---------------- 2 files changed, 292 insertions(+), 200 deletions(-) diff --git a/scripts/menus/common.sh b/scripts/menus/common.sh index 60668807..983c787c 100644 --- a/scripts/menus/common.sh +++ b/scripts/menus/common.sh @@ -50,8 +50,15 @@ list_box() { done } -# ================================================= +common_success() { + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" +} +common_failed() { + msg_alert "\033[32m$COMMON_FAILED\033[0m" +} + +# ================================================= common_back() { content_line "0) $COMMON_BACK" separator_line "=" @@ -78,7 +85,3 @@ cancel_back() { content_line "$COMMON_CANCEL" sleep 1 } - -common_success() { - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" -} diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index ad950dc3..785469b0 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -9,32 +9,36 @@ override() { while true; do [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 - echo "-----------------------------------------------" - echo -e "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 自定义\033[32m端口及秘钥\033[0m" - echo -e " 2 管理\033[36m自定义规则\033[0m" + comp_box "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" + content_line "1) 自定义\033[32m端口及秘钥\033[0m" + content_line "2) 管理\033[36m自定义规则\033[0m" echo "$crashcore" | grep -q 'singbox' || { - echo -e " 3 管理\033[33m自定义节点\033[0m" - echo -e " 4 管理\033[36m自定义策略组\033[0m" + content_line "3) 管理\033[33m自定义节点\033[0m" + content_line "4) 管理\033[36m自定义策略组\033[0m" } - echo -e " 5 \033[32m自定义\033[0m高级功能" - [ "$disoverride" != 1 ] && echo -e " 9 \033[33m禁用\033[0m配置文件覆写" - echo "-----------------------------------------------" - [ "$inuserguide" = 1 ] || echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + content_line "5) \033[32m自定义\033[0m高级功能" + [ "$disoverride" != 1 ] && content_line "9) \033[33m禁用\033[0m配置文件覆写" + content_line "" + [ "$inuserguide" = 1 ] || content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break ;; 1) if [ -n "$(pidof CrashCore)" ]; then - echo "-----------------------------------------------" - echo -e "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" - read -p "是否停止服务?(1/0) > " res + comp_box "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" \ + "" \ + "是否停止服务?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then "$CRASHDIR"/start.sh stop setport + else + continue fi else setport @@ -50,117 +54,129 @@ override() { setgroups ;; 5) - echo "$crashcore" | grep -q 'singbox' && set_singbox_adv || set_clash_adv + if echo "$crashcore" | grep -q 'singbox'; then + set_singbox_adv + else + set_clash_adv + fi sleep 3 ;; 9) - echo "-----------------------------------------------" - echo -e "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" - echo -e "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" - echo -e "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" - echo "-----------------------------------------------" + comp_box "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" \ + "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" \ + "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" sleep 2 - read -p "我确认遇到问题可以自行解决[1/0] > " res + btm_box "1) 我确认遇到问题可以自行解决" \ + "0) 返回上级菜单" + read -r -p "$COMMON_INPUT> " res [ "$res" = '1' ] && { disoverride=1 - setconfig disoverride $disoverride - echo "-----------------------------------------------" - echo -e "\033[32m设置成功!\033[0m" + if setconfig disoverride $disoverride; then + common_success + else + common_failed + fi } ;; *) errornum - sleep 1 - break ;; esac done } -setrules() { # 自定义规则 - +# 自定义规则 +setrules() { set_rule_type() { - echo "-----------------------------------------------" - echo -e "\033[33m请选择规则类型\033[0m" - echo "$rule_type" | awk -F ' ' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + comp_box "\033[33m请选择规则类型:\033[0m" + printf '%s\n' "$rule_type" | + awk '{for (i = 1; i <= NF; i++) print i") " $i}' | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) ;; [0-9]*) if [ "$num" -gt $(echo $rule_type | awk -F " " '{print NF}') ]; then errornum - sleep 1 else rule_type_set=$(echo "$rule_type" | cut -d' ' -f"$num") - echo "-----------------------------------------------" - echo -e "\033[33m请输入规则语句,可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" - read -p "请输入对应规则 > " rule_state_set + comp_box "\033[33m请输入规则语句,\n可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" + read -r -p "请输入对应规则> " rule_state_set if [ -n "$rule_state_set" ]; then set_group_type else errornum - slepp 1 fi fi ;; *) errornum - sleep 1 ;; esac } set_group_type() { - echo "-----------------------------------------------" - echo -e "\033[36m请选择具体规则\033[0m" - echo -e "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" - echo "$rule_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + comp_box "\033[36m请选择具体规则\033[0m" \ + "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" + printf '%s\n' "$rule_group" | + awk -F '#' '{for (i = 1; i <= NF; i++) print i") " $i}' | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) ;; [0-9]*) if [ "$num" -gt "$(echo "$rule_group" | awk -F "#" '{print NF}')" ]; then errornum - sleep 1 else rule_group_set=$(echo "$rule_group" | cut -d'#' -f"$num") rule_all="- ${rule_type_set},${rule_state_set},${rule_group_set}" echo "IP-CIDR SRC-IP-CIDR IP-CIDR6" | grep -q -- "$rule_type_set" && rule_all="${rule_all},no-resolve" - echo "$rule_all" >>"$YAMLSDIR"/rules.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" + msg_alert "\033[32m添加成功!\033[0m" fi ;; *) errornum - sleep 1 ;; esac } del_rule_type() { while true; do - echo -e "输入对应数字即可移除相应规则:" + comp_box "输入对应数字即可移除相应规则:" sed -i '/^ *$/d; /^#/d' "$YAMLSDIR"/rules.yaml - cat "$YAMLSDIR"/rules.yaml | grep -Ev '^#' | awk -F "#" '{print " "NR" "$1$2$3}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + awk -F '#' '!/^#/ {print NR") "$1 $2 $3}' "$YAMLSDIR/rules.yaml" | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break ;; *) if [ "$num" -le "$(wc -l <"$YAMLSDIR"/rules.yaml)" ]; then - sed -i "${num}d" "$YAMLSDIR"/rules.yaml + if sed -i "${num}d" "$YAMLSDIR"/rules.yaml; then + common_success + else + common_failed + fi sleep 1 else errornum - sleep 1 - break fi ;; esac @@ -173,18 +189,18 @@ setrules() { # 自定义规则 } while true; do - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义规则\033[0m" - echo -e "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" - echo -e "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" - echo -e "大量规则请尽量使用rule-set功能添加,\033[31m此处过量添加可能导致启动卡顿!\033[0m" - echo "-----------------------------------------------" - echo -e " 1 新增自定义规则" - echo -e " 2 移除自定义规则" - echo -e " 3 清空规则列表" - echo "$crashcore" | grep -q 'singbox' || echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" - echo -e " 0 返回上级菜单" - read -p "请输入对应数字 > " num + comp_box "\033[33m你可以在这里快捷管理自定义规则\033[0m" \ + "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" \ + "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" \ + "大量规则请尽量使用rule-set功能添加,\n\033[31m此处过量添加可能导致启动卡顿!\033[0m" + content_line "1) 新增自定义规则" + content_line "2) 移除自定义规则" + content_line "3) 清空规则列表" + echo "$crashcore" | grep -q 'singbox' || content_line "4) 配置节点绕过: \033[36m$proxies_bypass\033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break @@ -195,56 +211,81 @@ setrules() { # 自定义规则 set_rule_type ;; 2) - echo "-----------------------------------------------" if [ -s "$YAMLSDIR"/rules.yaml ]; then del_rule_type else - echo -e "请先添加自定义规则!" - sleep 1 + msg_alert "请先添加自定义规则!" fi ;; 3) - read -p "确认清空全部自定义规则?(1/0) > " res - [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml + comp_box "是否确认清空全部自定义规则:" + btm_box "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = "1" ]; then + if sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml; then + common_success + else + common_failed + fi + fi ;; 4) - echo "-----------------------------------------------" if [ "$proxies_bypass" = "OFF" ]; then - echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" - echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -p "启用节点绕过?(1/0) > " res - [ "$res" = "1" ] && proxies_bypass=ON + comp_box "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" \ + "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" + btm_box "是否启用节点绕过?" \ + "" \ + "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = "1" ]; then + proxies_bypass=ON + else + continue + fi else proxies_bypass=OFF fi - setconfig proxies_bypass "$proxies_bypass" - sleep 1 + + if setconfig proxies_bypass "$proxies_bypass"; then + common_success + else + common_failed + fi ;; *) errornum - sleep 1 ;; esac done } -setgroups() { # 自定义clash策略组 +# 自定义clash策略组 +setgroups() { set_group_type() { - echo "-----------------------------------------------" - echo -e "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" - echo -e "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" - echo -e "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" - read -r -p "请输入自定义策略组名称(不支持纯数字且不要包含特殊字符!) > " new_group_name + comp_box "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" \ + "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" \ + "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" + btm_box "\033[32m请直接输入自定义策略组名称\033[0m\n(不支持纯数字且不要包含特殊字符!)" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " new_group_name - echo "-----------------------------------------------" - echo -e "\033[32m请选择策略组【$new_group_name】的类型!\033[0m" - echo "$group_type_cn" | awk '{for(i=1;i<=NF;i++){print i" "$i}}' - read -r -p "请输入对应数字 > " num + comp_box "\033[32m请选择策略组【$new_group_name】的类型:\033[0m" + printf '%s\n' "$group_type_cn" | + awk '{for (i = 1; i <= NF; i++) print i") " $i}' | + while IFS= read -r line; do + content_line "$line" + done + separator_line "=" + read -r -p "请输入对应数字> " num new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}') if [ "$num" = "1" ]; then unset new_group_url interval else - read -r -p "请输入测速地址,回车则默认使用https://www.gstatic.com/generate_204 > " new_group_url + comp_box "请输入测速地址" \ + "或直接回车使用默认地址:https://www.gstatic.com/generate_204" + read -r -p "请输入> " new_group_url [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 new_group_url="url: '$new_group_url'" interval="interval: 300" @@ -260,20 +301,22 @@ setgroups() { # 自定义clash策略组 - DIRECT EOF sed -i "/^ *$/d" "$YAMLSDIR"/proxy-groups.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" + msg_alert "\033[32m添加成功!\033[0m" } set_group_add() { - echo "-----------------------------------------------" - echo -e "\033[36m请选择想要将本策略添加到的策略组\033[0m" - echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" - echo "-----------------------------------------------" - echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo "-----------------------------------------------" - echo -e " 0 跳过添加" - read -r -p "请输入对应数字(多个用空格隔开) > " char + comp_box "\033[36m请选择想要将本策略添加到的策略组\033[0m" \ + "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" + printf '%s\n' "$proxy_group" | + awk -F '#' '{for (i = 1; i <= NF; i++) print i") " $i}' | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 跳过添加" + separator_line "=" + read -r -p "请输入对应数字(多个用空格分隔)> " char case "$char" in "" | 0) ;; *) @@ -286,22 +329,21 @@ EOF unset rule_group_add else errornum - sleep 1 fi ;; esac } while true; do - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义策略组\033[0m" - echo -e "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加自定义策略组" - echo -e " 2 查看自定义策略组" - echo -e " 3 清空自定义策略组" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字 > " num + comp_box "\033[33m你可以在这里快捷管理自定义策略组\033[0m" \ + "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" + content_line "1) 添加自定义策略组" + content_line "2) 查看自定义策略组" + content_line "3) 清空自定义策略组" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break @@ -313,48 +355,68 @@ EOF set_group_type ;; 2) - echo "-----------------------------------------------" + line_break + echo "===========================================================" cat "$YAMLSDIR"/proxy-groups.yaml + echo "" + echo "===========================================================" ;; 3) - read -p "确认清空全部自定义策略组?(1/0) > " res - [ "$res" = "1" ] && echo '#用于添加自定义策略组' >"$YAMLSDIR"/proxy-groups.yaml + comp_box "是否确认清空全部自定义策略组?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = "1" ]; then + if echo '#用于添加自定义策略组' >"$YAMLSDIR"/proxy-groups.yaml; then + common_success + else + common_failed + fi + fi ;; *) errornum - sleep 1 ;; esac done } -setproxies() { # 自定义clash节点 +# 自定义clash节点 +setproxies() { + set_proxy_type() { - echo "-----------------------------------------------" - echo -e "\033[33m注意节点格式必须是单行,不包括括号,name:必须写在最前,例如:\033[0m" - echo -e "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" - echo -e "更多写法请参考:\033[32m https://juewuy.github.io/ \033[0m" - read -r -p "请输入节点 > " proxy_state_set - if echo "$proxy_state_set" | grep -q "#"; then - echo -e "\033[33m绝对禁止包含【#】号!!!\033[0m" - elif echo "$proxy_state_set" | grep -Eq "^name:"; then - set_group_add - else - errornum - sleep 1 - fi + while true; do + comp_box "\033[33m注意\n节点格式必须是单行、不包括括号、“name:”为开头,例如:\033[0m" \ + "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" \ + "更多写法请参考:\033[32mhttps://juewuy.github.io/\033[0m" + btm_box "\033[36m请直接输入自定义节点\033[0m" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " proxy_state_set + if [ "$proxy_state_set" = 0 ]; then + break + elif echo "$proxy_state_set" | grep -q "#"; then + msg_alert "\033[33m绝对禁止包含【#】号!\033[0m" + elif echo "$proxy_state_set" | grep -Eq "^name:"; then + set_group_add + else + errornum + fi + done } set_group_add() { - echo "-----------------------------------------------" - echo -e "\033[36m请选择想要将节点添加到的策略组\033[0m" - echo -e "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" - echo -e "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" - echo "-----------------------------------------------" - echo "$proxy_group" | awk -F '#' '{for(i=1;i<=NF;i++){print i" "$i}}' - echo "-----------------------------------------------" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字(多个用空格隔开) > " char + comp_box "\033[36m请选择想要将节点添加到的策略组\033[0m" \ + "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" \ + "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" + printf '%s\n' "$proxy_group" | + awk -F '#' '{for (i = 1; i <= NF; i++) print i") " $i}' | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字(多个用空格分隔)> " char case "$char" in "" | 0) ;; *) @@ -364,28 +426,26 @@ setproxies() { # 自定义clash节点 done if [ -n "$rule_group_add" ]; then echo "- {$proxy_state_set}$rule_group_add" >>"$YAMLSDIR"/proxies.yaml - echo "-----------------------------------------------" - echo -e "\033[32m添加成功!\033[0m" + msg_alert "\033[32m添加成功!\033[0m" unset rule_group_add else errornum - sleep 1 fi ;; esac } while true; do - echo "-----------------------------------------------" - echo -e "\033[33m你可以在这里快捷管理自定义节点\033[0m" - echo -e "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" - echo "-----------------------------------------------" - echo -e " 1 添加自定义节点" - echo -e " 2 管理自定义节点" - echo -e " 3 清空自定义节点" - echo -e " 4 配置节点绕过: \033[36m$proxies_bypass\033[0m" - echo -e " 0 返回上级菜单" - read -r -p "请输入对应数字 > " num + comp_box "\033[33m你可以在这里快捷管理自定义节点\033[0m" \ + "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" + content_line "1) 添加自定义节点" + content_line "2) 管理自定义节点" + content_line "3) 清空自定义节点" + content_line "4) 配置节点绕过: \033[36m$proxies_bypass\033[0m" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num case "$num" in "" | 0) break @@ -396,35 +456,64 @@ setproxies() { # 自定义clash节点 set_proxy_type ;; 2) - echo "-----------------------------------------------" sed -i '/^ *$/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null if [ -s "$YAMLSDIR"/proxies.yaml ]; then - echo -e "当前已添加的自定义节点为:" - cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | awk -F '[,,}]' '{print NR, $1, $NF}' | sed 's/- {//g' - echo "-----------------------------------------------" - echo -e "\033[33m输入节点对应数字可以移除对应节点\033[0m" - read -r -p "请输入对应数字 > " num - if [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then - sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml + comp_box "\033[33m输入节点对应数字可以移除对应节点\033[0m" \ + "当前已添加的自定义节点为:" + grep -Ev '^#' "$YAMLSDIR/proxies.yaml" | + awk -F '[,}]' '{print NR") " $1 " " $NF}' | + sed 's/- {//g' | + while IFS= read -r line; do + content_line "$line" + done + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num + if [ "$num" = 0 ]; then + continue + elif [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then + if sed -i "$num{/^\s*[^#]/d}" "$YAMLSDIR"/proxies.yaml; then + common_success + else + common_failed + fi else errornum fi else - echo -e "请先添加自定义节点!" - sleep 1 + msg_alert "请先添加自定义节点!" fi ;; 3) - read -r -p "确认清空全部自定义节点?(1/0) > " res - [ "$res" = "1" ] && sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null + comp_box "是否确认清空全部自定义节点?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = "1" ]; then + if sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null; then + common_success + else + common_failed + fi + else + continue + fi ;; 4) - echo "-----------------------------------------------" if [ "$proxies_bypass" = "OFF" ]; then - echo -e "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" - echo -e "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - read -r -p "启用节点绕过?(1/0) > " res - [ "$res" = "1" ] && proxies_bypass=ON + comp_box "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" \ + "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" + btm_box "是否确定启用节点绕过:" \ + "" \ + "1) 是" \ + "0) 否,返回上级菜单" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = "1" ]; then + proxies_bypass=ON + else + continue + fi else proxies_bypass=OFF fi @@ -435,19 +524,19 @@ setproxies() { # 自定义clash节点 ;; *) errornum - sleep 1 ;; esac done } -set_clash_adv(){ #自定义clash高级规则 - [ ! -f "$YAMLSDIR"/user.yaml ] && cat > "$YAMLSDIR"/user.yaml <"$YAMLSDIR"/user.yaml < "$YAMLSDIR"/others.yaml <"$YAMLSDIR"/others.yaml < Date: Sat, 31 Jan 2026 13:40:16 +0800 Subject: [PATCH 175/318] feat: improve UI/UX --- scripts/menus/override.sh | 15 +- scripts/menus/providers.sh | 84 ++++--- scripts/menus/providers_clash.sh | 188 +++++++-------- scripts/menus/providers_singbox.sh | 176 ++++++++------- scripts/menus/subconverter.sh | 351 +++++++++++++++++------------ 5 files changed, 441 insertions(+), 373 deletions(-) diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index 785469b0..39383e6c 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -218,7 +218,7 @@ setrules() { fi ;; 3) - comp_box "是否确认清空全部自定义规则:" + comp_box "是否确认清空全部自定义规则?" btm_box "1) 是" \ "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " res @@ -233,10 +233,11 @@ setrules() { 4) if [ "$proxies_bypass" = "OFF" ]; then comp_box "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" \ - "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - btm_box "是否启用节点绕过?" \ + "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" \ "" \ - "1) 是" \ + "是否启用节点绕过?" + btm_box + "1) 是" \ "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then @@ -503,10 +504,10 @@ setproxies() { 4) if [ "$proxies_bypass" = "OFF" ]; then comp_box "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" \ - "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" - btm_box "是否确定启用节点绕过:" \ + "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" \ "" \ - "1) 是" \ + "是否确定启用节点绕过:" + btm_box "1) 是" \ "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index 92e7a8ac..c8cb266e 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -5,86 +5,98 @@ __IS_MODULE_PROVIDERS=1 if [ "$crashcore" = singboxr ]; then - CORE_TYPE=singbox + CORE_TYPE=singbox else - CORE_TYPE=clash + CORE_TYPE=clash fi providers() { while true; do # 获取模版名称 if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then - provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}') + provider_temp_des=$(sed -n "1 p" "$CRASHDIR"/configs/"${CORE_TYPE}"_providers.list | awk '{print $1}') else provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $1}') + provider_temp_des=$(grep "$provider_temp_file" "$CRASHDIR"/configs/"${CORE_TYPE}"_providers.list | awk '{print $1}') [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file fi - separator_line "-" - content_line "1) \033[32m生成\033[0m包含全部提供者的配置文件" - content_line "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" - content_line "3) \033[33m清理\033[0mproviders目录文件" - separator_line "-" + + top_box "1) \033[32m生成\033[0m包含全部提供者的配置文件" \ + "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" \ + "3) \033[33m清理\033[0mproviders目录文件" \ + "" common_back - read -p "请输入对应字母或数字 > " num + read -r -p "请输入对应字母或数字> " num case "$num" in "" | 0) break ;; 1) - separator_line "-" if [ -s "$CRASHDIR"/configs/providers.cfg ] || [ -s "$CRASHDIR"/configs/providers_uri.cfg ]; then - . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" - gen_providers + . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" + gen_providers else - content_line "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" - sleep 1 + msg_alert "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" fi ;; 2) - list=$(cat "$CRASHDIR/configs/${CORE_TYPE}_providers.list" | awk '{print $1}') - separator_line "-" - content_line "当前规则模版为:\033[32m$provider_temp_des\033[0m" - content_line "\033[33m请选择在线模版:\033[0m" - separator_line "-" + list=$(cat "$CRASHDIR/configs/${CORE_TYPE}_providers.list" | awk '{print $1}') + + comp_box "当前规则模版为:\033[32m$provider_temp_des\033[0m" \ + "\033[33m请选择在线模版:\033[0m" list_box "$list" - separator_line "-" + content_line "" content_line "a) 使用\033[36m本地模版\033[0m" + content_line "" common_back - read -p "请输入对应字母或数字 > " num + read -r -p "请输入对应字母或数字> " num case "$num" in "" | 0) ;; a) - read -p "请输入模版的路径(绝对路径) > " dir - if [ -s $dir ]; then + echo "" + read -r -p "请输入模版的路径(绝对路径)> " dir + if [ -s "$dir" ]; then provider_temp_file=$dir - setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file" - content_line "\033[32m设置成功!\033[0m" + if setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file"; then + common_success + else + common_failed + fi else - content_line "\033[31m输入错误,找不到对应模版文件!\033[0m" + msg_alert "\033[31m输入错误,找不到对应模版文件!\033[0m" fi - sleep 1 ;; *) - provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list 2>/dev/null | awk '{print $2}') + provider_temp_file=$(sed -n "$num p" "$CRASHDIR"/configs/"${CORE_TYPE}"_providers.list 2>/dev/null | awk '{print $2}') if [ -z "$provider_temp_file" ]; then errornum - sleep 1 else - setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file" + if setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file"; then + common_success + else + common_failed + fi fi ;; esac ;; 3) - content_line "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" - read -p "是否继续?(1/0) > " res - [ "$res" = "1" ] && rm -rf "$CRASHDIR"/providers && common_success + comp_box "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" \ + "" \ + "是否继续?" + btm_box "1) 是" \ + "0) 否" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = "1" ]; then + if rm -rf "$CRASHDIR"/providers; then + common_success + else + common_failed + fi + fi ;; *) errornum - sleep 1 - break ;; esac done diff --git a/scripts/menus/providers_clash.sh b/scripts/menus/providers_clash.sh index 689905b7..d955f170 100644 --- a/scripts/menus/providers_clash.sh +++ b/scripts/menus/providers_clash.sh @@ -6,94 +6,97 @@ __IS_PROVIDERS_CLASH=1 . "$CRASHDIR"/libs/web_get_bin.sh -#生成clash的providers配置文件 -gen_providers(){ - if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then - provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $2}')" - else - provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - fi - echo "-----------------------------------------------" - if [ -s "$provider_temp_file" ];then - ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file - else - echo -e "\033[33m正在获取在线模版!\033[0m" - get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" - [ -z "$(grep -o 'rules' "$TMPDIR"/provider_temp_file)" ] && { - echo -e "\033[31m下载失败,请尝试更换安装源!\033[0m" - . "$CRASHDIR"/menus/9_upgrade.sh && setserver - setproviders - } - fi - #生成proxy_providers模块 - mkdir -p "$TMPDIR"/providers - #预创建文件并写入对应文件头 - echo 'proxy-providers:' > "$TMPDIR"/providers/providers.yaml - #切割模版文件 - sed -n '/^proxy-groups:/,/^[a-z]/ { /^rule/d; p; }' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/proxy-groups.yaml - sed -n '/^rule/,$p' "$TMPDIR"/provider_temp_file > "$TMPDIR"/providers/rules.yaml - rm -rf "$TMPDIR"/provider_temp_file - #基于单订阅生成providers模块 - if [ -n "$1" ];then - gen_providers_txt $@ - providers_tags=$1 - else - #基于全部订阅/本地文件生成 - [ -s "$CRASHDIR"/configs/providers.cfg ] && { - providers_tags='' - while read line;do - gen_providers_txt $line - providers_tags=$(echo "$providers_tags, $tag" | sed 's/^, //') - done < "$CRASHDIR"/configs/providers.cfg - } - #基于全部节点分享链接生成 - [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { - mkdir -p "$CRASHDIR"/providers - awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' "$CRASHDIR"/configs/providers_uri.cfg > "$CRASHDIR"/providers/uri_group - gen_providers_txt "Uri_group" "./providers/uri_group" "3" "12" - providers_tags=$(echo "$providers_tags, Uri_group" | sed 's/^, //') - } - fi - #修饰模版文件并合并 - sed -i "s/{providers_tags}/$providers_tags/g" "$TMPDIR"/providers/proxy-groups.yaml - cut -c 1- "$TMPDIR"/providers/providers.yaml "$TMPDIR"/providers/proxy-groups.yaml "$TMPDIR"/providers/rules.yaml > "$TMPDIR"/config.yaml - rm -rf "$TMPDIR"/providers - #调用内核测试 - . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml - if [ "$?" = 0 ];then - echo -e "\033[32m配置文件生成成功!\033[0m" - mkdir -p "$CRASHDIR"/yamls - mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml - read -p "是否立即启动/重启服务?(1/0) > " res - [ "$res" = 1 ] && { - start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' - exit - } - else - rm -rf "$TMPDIR"/CrashCore - rm -rf "$TMPDIR"/config.yaml - echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" - fi +# 生成clash的providers配置文件 +gen_providers() { + if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ]; then + provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/"${CORE_TYPE}"_providers.list | awk '{print $2}')" + else + provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') + fi + + if [ -s "$provider_temp_file" ]; then + ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file + else + msg_alert "\033[33m正在获取在线模版......\033[0m" + get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" + [ -z "$(grep -o 'rules' "$TMPDIR"/provider_temp_file)" ] && { + msg_alert "\033[31m下载失败,请尝试更换安装源!\033[0m" + . "$CRASHDIR"/menus/9_upgrade.sh && setserver + setproviders + } + fi + # 生成proxy_providers模块 + mkdir -p "$TMPDIR"/providers + # 预创建文件并写入对应文件头 + echo 'proxy-providers:' >"$TMPDIR"/providers/providers.yaml + # 切割模版文件 + sed -n '/^proxy-groups:/,/^[a-z]/ { /^rule/d; p; }' "$TMPDIR"/provider_temp_file >"$TMPDIR"/providers/proxy-groups.yaml + sed -n '/^rule/,$p' "$TMPDIR"/provider_temp_file >"$TMPDIR"/providers/rules.yaml + rm -rf "$TMPDIR"/provider_temp_file + # 基于单订阅生成providers模块 + if [ -n "$1" ]; then + gen_providers_txt "$@" + providers_tags=$1 + else + # 基于全部订阅/本地文件生成 + [ -s "$CRASHDIR"/configs/providers.cfg ] && { + providers_tags='' + while read -r line; do + gen_providers_txt $line + providers_tags=$(echo "$providers_tags, $tag" | sed 's/^, //') + done <"$CRASHDIR"/configs/providers.cfg + } + # 基于全部节点分享链接生成 + [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { + mkdir -p "$CRASHDIR"/providers + awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' "$CRASHDIR"/configs/providers_uri.cfg >"$CRASHDIR"/providers/uri_group + gen_providers_txt "Uri_group" "./providers/uri_group" "3" "12" + providers_tags=$(echo "$providers_tags, Uri_group" | sed 's/^, //') + } + fi + # 修饰模版文件并合并 + sed -i "s/{providers_tags}/$providers_tags/g" "$TMPDIR"/providers/proxy-groups.yaml + cut -c 1- "$TMPDIR"/providers/providers.yaml "$TMPDIR"/providers/proxy-groups.yaml "$TMPDIR"/providers/rules.yaml >"$TMPDIR"/config.yaml + rm -rf "$TMPDIR"/providers + # 调用内核测试 + . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml + if [ "$?" = 0 ]; then + msg_alert "\033[32m配置文件生成成功!\033[0m" + mkdir -p "$CRASHDIR"/yamls + mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml + comp_box "是否立即启动/重启服务?" + btm_box "1) 是" \ + "0) 否" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + exit + } + else + rm -rf "$TMPDIR"/CrashCore + rm -rf "$TMPDIR"/config.yaml + msg_alert "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + fi } -gen_providers_txt(){ - if [ -n "$(echo $2|grep -E '^./')" ];then - type=file - path=$2 - download_url= - else - type=http - path="./providers/$1.yaml" - download_url=$2 - fi - tag=$1 - interval=${3:-3} - interval2=${4:-12} - ua=${5:-clash.meta} - exclude=${6#\#} - include=${7#\#} - - cat >> "$TMPDIR"/providers/providers.yaml <>"$TMPDIR"/providers/providers.yaml <> "$TMPDIR"/providers/providers.yaml <>"$TMPDIR"/providers/providers.yaml <> "$TMPDIR"/providers/proxy-groups.yaml + } + # 写入提供者 + echo ' - {name: '"$tag"', type: url-test, tolerance: 100, lazy: true, use: ['"$tag"']}' >>"$TMPDIR"/providers/proxy-groups.yaml } - \ No newline at end of file diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index 13a7d7a0..316255c3 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -6,100 +6,102 @@ __IS_PROVIDERS_SINGBOX=1 . "$CRASHDIR"/libs/web_get_bin.sh -#生成singbox的providers配置文件 -gen_providers(){ - if [ -z "$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg)" ];then - provider_temp_file="$(sed -n "1 p" "$CRASHDIR"/configs/${CORE_TYPE}_providers.list | awk '{print $2}')" - else - provider_temp_file=$(grep "provider_temp_${CORE_TYPE}" "$CRASHDIR"/configs/ShellCrash.cfg | awk -F '=' '{print $2}') - fi - echo "-----------------------------------------------" - if [ -s "$provider_temp_file" ];then - ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file - else - echo -e "\033[33m正在获取在线模版!\033[0m" - get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" - [ -z "$(grep -o 'route' "$TMPDIR"/provider_temp_file)" ] && { - echo -e "\033[31m下载失败,请尝试更换安装源!\033[0m" - . "$CRASHDIR"/menus/9_upgrade.sh && setserver - setproviders - } - fi - #生成outbound_providers模块 - mkdir -p "$TMPDIR"/providers - #预创建文件并写入对应文件头 - cat > "$TMPDIR"/providers/providers.json <"$TMPDIR"/providers/providers.json < "$TMPDIR"/providers/outbounds_add.json <"$TMPDIR"/providers/outbounds_add.json < "$CRASHDIR"/providers/uri_group - gen_providers_txt "Uri_group" "./providers/uri_group" "3" "12" - providers_tags=$(echo "$providers_tags, \"Uri_group\"" | sed 's/^, //') - } - fi - #修复文件格式 - sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json - sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json - #使用模版生成outbounds和rules模块 - cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" > "$TMPDIR"/providers/outbounds.json - rm -rf "$TMPDIR"/provider_temp_file - #调用内核测试 - . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers - if [ "$?" = 0 ];then - echo -e "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" - mkdir -p "$CRASHDIR"/jsons - mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json - rm -rf "$TMPDIR"/providers - read -p "是否立即启动/重启服务?(1/0) > " res - [ "$res" = 1 ] && { - start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' - exit - } - else - echo -e "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" - rm -rf "$TMPDIR"/CrashCore - #rm -rf "$TMPDIR"/providers - fi + # 基于单订阅生成providers模块 + if [ -n "$1" ]; then + gen_providers_txt "$@" + providers_tags=\"$1\" + else + # 基于全部订阅/本地文件生成 + [ -s "$CRASHDIR"/configs/providers.cfg ] && { + providers_tags='' + while read -r line; do + gen_providers_txt "$line" + providers_tags=$(echo "$providers_tags, \"$tag\"" | sed 's/^, //') + done <"$CRASHDIR"/configs/providers.cfg + } + # 基于全部节点分享链接生成 + [ -s "$CRASHDIR"/configs/providers_uri.cfg ] && { + mkdir -p "$CRASHDIR"/providers + awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' "$CRASHDIR"/configs/providers_uri.cfg >"$CRASHDIR"/providers/uri_group + gen_providers_txt "Uri_group" "./providers/uri_group" "3" "12" + providers_tags=$(echo "$providers_tags, \"Uri_group\"" | sed 's/^, //') + } + fi + # 修复文件格式 + sed -i '$s/},/}]}/' "$TMPDIR"/providers/outbounds_add.json + sed -i '$s/},/}]}/' "$TMPDIR"/providers/providers.json + # 使用模版生成outbounds和rules模块 + cat "$TMPDIR"/provider_temp_file | sed "s/{providers_tags}/$providers_tags/g" | sed "s/\"providers_tags\"/$providers_tags/g" >"$TMPDIR"/providers/outbounds.json + rm -rf "$TMPDIR"/provider_temp_file + # 调用内核测试 + . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers + if [ "$?" = 0 ]; then + msg_alert "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" + mkdir -p "$CRASHDIR"/jsons + mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json + rm -rf "$TMPDIR"/providerss + comp_box "是否立即启动/重启服务?" + btm_box "1) 是" \ + "0) 否" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + exit + } + else + rm -rf "$TMPDIR"/CrashCore + msg_alert "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + # rm -rf "$TMPDIR"/providers + fi } -gen_providers_txt(){ - tag=$1 - interval=${3:-3} - interval2=${4:-12} - ua=${5:-clash.meta} - exclude=${6#\#} - include=${7#\#} - [ -n "$exclude" ] && exclude_ele="\"exclude\": \"$exclude\"," - [ -n "$include" ] && include_ele="\"include\": \"$include\"," - if [ -n "$(echo $2|grep -E '^./')" ];then - cat >> "$TMPDIR"/providers/providers.json <>"$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <>"$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/providers.json <>"$TMPDIR"/providers/providers.json <> "$TMPDIR"/providers/outbounds_add.json + # 写入提供者 + echo '{ "tag": "'"$tag"'", "type": "urltest", "tolerance": 100, "providers": ["'"$tag"'"], "include": ".*" },' >>"$TMPDIR"/providers/outbounds_add.json } diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index e584a348..c91faf30 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -7,171 +7,222 @@ __IS_MODULE_SUBCONVERTER=1 [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 -#Subconverter在线订阅转换 -subconverter() { - while true; do - separator_line "-" - content_line "1) \033[32m生成\033[0m包含全部节点/订阅的配置文件" - content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" - content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" - content_line "4) 选择\033[33m在线规则模版\033[0m" - content_line "5) 选择\033[0mSubconverter服务器\033[0m" - content_line "6) 自定义浏览器UA \033[32m$user_agent\033[0m" - common_back - read -r -p "请输入对应数字 > " num - case "$num" in - "" | 0) - break - ;; - 1) - providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null |awk '{print $2}' |paste -sd '|') - uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null |awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' |paste -sd '|') - Url=$(echo "$providers_link|$uri_link" |sed 's/^|// ; s/|$//') - setconfig Url "'$Url'" - Https='' - setconfig Https - # 获取在线文件 - jump_core_config +# Subconverter在线订阅转换 +subconverter() { + while true; do + [ -z "$exclude" ] && exclude="未设置" + [ -z "$include" ] && include="未设置" + line_break + separator_line "=" + content_line "1) \033[32m生成\033[0m包含全部节点/订阅的配置文件" + content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" + content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" + content_line "4) 选择\033[33m在线规则模版\033[0m" + content_line "5) 选择\033[0mSubconverter服务器\033[0m" + content_line "6) 自定义浏览器UA \033[32m$user_agent\033[0m" + content_line "" + common_back + read -r -p "请输入对应数字> " num + case "$num" in + "" | 0) + break + ;; + 1) + providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null | awk '{print $2}' | paste -sd '|') + uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' | paste -sd '|') + Url=$(echo "$providers_link|$uri_link" | sed 's/^|// ; s/|$//') + setconfig Url "'$Url'" + Https='' + setconfig Https + # 获取在线文件 + jump_core_config ;; 2) - gen_link_flt - ;; + gen_link_flt + ;; 3) - gen_link_ele - ;; + gen_link_ele + ;; 4) - gen_link_config - ;; + gen_link_config + ;; 5) - gen_link_server - ;; + gen_link_server + ;; 6) - set_sub_ua - ;; - *) - errornum - break - ;; - esac - done + set_sub_ua + ;; + *) + errornum + ;; + esac + done } -gen_link_flt() { # 排除节点正则 - [ -z "$exclude" ] && exclude="未设置" - separator_line "-" - content_line "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m" - separator_line "-" - content_line "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m" - content_line "多个关键字可以用\033[30;47m | \033[0m号分隔" - content_line "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - separator_line "-" - content_line " 000 \033[31m删除\033[0m关键字" - content_line " 回车 取消输入并返回上级菜单" - separator_line "-" - read -r -p "请输入关键字 > " exclude - if [ "$exclude" = '000' ]; then - separator_line "-" - exclude='' - content_line "\033[31m 已删除节点过滤关键字!!!\033[0m" - fi - setconfig exclude "'$exclude'" +# 排除节点正则 +gen_link_flt() { + comp_box "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m" \ + "" \ + "\033[33m匹配关键字的节点会在导入时被【屏蔽】!\033[0m" \ + "多个关键字可以用\033[30;47m | \033[0m号分隔" \ + "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" + btm_box "\033[36m请直接输入节点过滤关键字\033[0m" \ + "或输入 d \033[31m清空\033[0m节点过滤关键字" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " res + case "$res" in + 0) + return 0 + ;; + d) + exclude='' + ;; + *) + exclude="$res" + ;; + esac + + if setconfig exclude "'$exclude'"; then + common_success + else + common_failed + fi } -gen_link_ele() { # 包含节点正则 - [ -z "$include" ] && include="未设置" - separator_line "-" - content_line "\033[33m当前筛选关键字:\033[47;30m$include\033[0m" - separator_line "-" - content_line "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" - content_line "多个关键字可以用\033[30;47m | \033[0m号分隔" - content_line "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - separator_line "-" - content_line " 000 \033[31m删除\033[0m关键字" - content_line " 回车 取消输入并返回上级菜单" - separator_line "-" - read -r -p "请输入关键字 > " include - if [ "$include" = '000' ]; then - separator_line "-" - include='' - content_line "\033[31m 已删除节点匹配关键字!!!\033[0m" - fi - setconfig include "'$include'" +# 包含节点正则 +gen_link_ele() { + comp_box "\033[33m当前筛选关键字:\033[47;30m$include\033[0m" \ + "" \ + "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" \ + "多个关键字可以用\033[30;47m | \033[0m号分隔" \ + "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" + btm_box "\033[36m请直接输入节点匹配关键字\033[0m" \ + "或输入 d \033[31m清空\033[0m节点匹配关键字" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " res + case "$res" in + 0) + return 0 + ;; + d) + include="" + ;; + *) + include="$res" + ;; + esac + + if setconfig exclude "'$include'"; then + common_success + else + common_failed + fi } -gen_link_config() { #选择在线规则模版 - list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') - now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') - separator_line "-" - content_line "当前使用规则为:\033[33m$now\033[0m" - separator_line "-" - list_box "$list" - separator_line "-" - common_back - read -r -p "请输入对应数字 > " num - totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list ) - if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then - errornum - elif [ "$num" = 0 ];then - echo - elif [ "$num" -le "$totalnum" ];then - #将对应标记值写入配置 - rule_link=$num - setconfig rule_link $rule_link - separator_line "-" - content_line "\033[32m设置成功!返回上级菜单\033[0m" - fi +# 选择在线规则模版 +gen_link_config() { + list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') + now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') + comp_box "当前使用规则为:\033[33m$now\033[0m" + list_box "$list" + content_line "" + common_back + read -r -p "请输入对应数字> " num + totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list) + if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then + errornum + elif [ "$num" = 0 ]; then + echo + elif [ "$num" -le "$totalnum" ]; then + # 将对应标记值写入配置 + rule_link=$num + if setconfig rule_link "$rule_link"; then + msg_alert "\033[32m设置成功!返回上级菜单\033[0m" + else + common_failed + fi + fi } -gen_link_server() { #选择Subconverter服务器 - list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') - now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - separator_line "-" - content_line "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" - content_line "\033[32m感谢以下作者的无私奉献!!!\033[0m" - content_line "当前使用后端为:\033[33m$now\033[0m" - separator_line "-" - list_box "$list" - common_back - read -r -p "请输入对应数字 > " num - totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list ) - if [ -z "$num" ] || [ "$num" -gt "$totalnum" ];then - errornum - elif [ "$num" = 0 ];then - echo - elif [ "$num" -le "$totalnum" ];then - #将对应标记值写入配置 - server_link=$num - setconfig server_link $server_link - separator_line "-" - content_line "\033[32m设置成功!返回上级菜单\033[0m" - fi +# 选择Subconverter服务器 +gen_link_server() { + list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') + now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') + + comp_box "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" \ + "\033[32m感谢以下作者的无私奉献!!!\033[0m" \ + "" \ + "当前使用后端为:\033[33m$now\033[0m" + list_box "$list" + content_line "" + common_back + read -r -p "请输入对应数字> " num + totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list) + if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then + errornum + elif [ "$num" = 0 ]; then + echo + elif [ "$num" -le "$totalnum" ]; then + # 将对应标记值写入配置 + server_link=$num + if setconfig server_link "$server_link"; then + content_line "\033[32m设置成功!返回上级菜单\033[0m" + else + common_failed + fi + fi } set_sub_ua() { - separator_line "-" - content_line "\033[36m无法正确获取配置文件时可尝试使用\033[0m" - content_line " 1 使用自动UA(默认)" - content_line " 2 不使用UA" - content_line " 3 使用自定义UA:\033[32m$user_agent\033[0m" - separator_line "-" - read -r -p "请输入对应数字 > " num - case "$num" in - 0) - user_agent='' - ;; - 1) - user_agent='auto' - ;; - 2) - user_agent='none' - ;; - 3) - read -r -p "请输入自定义UA(不要包含空格和特殊符号!) > " text - [ -n "$text" ] && user_agent="$text" - ;; - *) - errornum - ;; - esac - [ "$num" -le 3 ] && setconfig user_agent "$user_agent" + while true; do + comp_box "\033[36m无法正确获取配置文件时可尝试使用\033[0m" \ + "" \ + "当前UA:$user_agent" + content_line "1) 使用自动UA(默认)" + content_line "2) 不使用UA" + content_line "3) 使用自定义UA" + content_line "4) 清空UA" + content_line "" + content_line "0) 返回上级菜单" + separator_line "=" + read -r -p "请输入对应数字> " num + case "$num" in + 0) + break + ;; + 1) + user_agent='auto' + ;; + 2) + user_agent='none' + ;; + 3) + comp_box "\033[33m注意:\n自定义UA不可包含空格或特殊符号!\033[0m" + btm_box "\033[36m请直接输入自定义UA\033[0m" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + if [ "$text" = 0 ]; then + continue + elif [ -n "$text" ]; then + user_agent="$text" + fi + ;; + 4) + user_agent='' + ;; + *) + errornum + continue + ;; + esac + + if [ "$num" -ge 1 ] && [ "$num" -le 4 ]; then + if setconfig user_agent "$user_agent"; then + common_success + else + common_failed + fi + fi + break + done } From 6fd9f9df03b8320f3a21acb6faf5386e13df5bc4 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:34:52 +0800 Subject: [PATCH 176/318] chore(menu.sh): invoke the common.sh component --- scripts/menu.sh | 592 +++++++++++++++++------------------- scripts/menus/tui_layout.sh | 8 +- scripts/menus/tui_lite.sh | 4 - 3 files changed, 277 insertions(+), 327 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index dad6fced..9d027b80 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -2,8 +2,8 @@ # Copyright (C) Juewuy CRASHDIR=$( - cd $(dirname $0) - pwd + cd $(dirname $0) + pwd ) CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg @@ -32,360 +32,320 @@ load_lang common load_lang menu checkrestart() { - line_break - separator_line "=" - content_line "\033[32m$MENU_RESTART_NOTICE\033[0m" - separator_line "=" - content_line "1) 立即重启" - content_line "0) 暂不重启" - separator_line "=" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - start_service - fi + comp_box "\033[32m$MENU_RESTART_NOTICE\033[0m" + btm_box "1) 立即重启" \ + "0) 暂不重启" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + start_service + fi } # 检查端口冲突 checkport() { - while true; do - # Before each round of checks begins, execute netstat only once and cache the results - # Avoid calling the system command once for each port - current_listening=$(netstat -ntul 2>&1) + while true; do + # Before each round of checks begins, execute netstat only once and cache the results + # Avoid calling the system command once for each port + current_listening=$(netstat -ntul 2>&1) - conflict_found=0 + conflict_found=0 - for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do - # Use `grep` to search within the cached variables instead of re-running `netstat` - conflict_line=$(echo "$current_listening" | grep ":$portx ") + for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do + # Use `grep` to search within the cached variables instead of re-running `netstat` + conflict_line=$(echo "$current_listening" | grep ":$portx ") - if [ -n "$conflict_line" ]; then - line_break - separator_line "=" - content_line "【$portx】:$MENU_PORT_CONFLICT_TITLE" - content_line "\033[0m$(echo "$conflict_line" | head -n 1)\033[0m" - content_line "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" - separator_line "=" + if [ -n "$conflict_line" ]; then - . "$CRASHDIR"/menus/2_settings.sh && set_adv_config - . "$CRASHDIR"/libs/get_config.sh + comp_box "【$portx】:$MENU_PORT_CONFLICT_TITLE" \ + "\033[0m$(echo "$conflict_line" | head -n 1)\033[0m" \ + "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" - # Mark conflict and exit the for loop, triggering the while loop to restart the check - # This replaces the original recursive call to `checkport` - conflict_found=1 - break - fi - done + . "$CRASHDIR"/menus/2_settings.sh && set_adv_config + . "$CRASHDIR"/libs/get_config.sh - # If no conflicts are found after the entire for loop completes, - # the while loop exits and the function terminates. - if [ "$conflict_found" -eq 0 ]; then - break - fi - done + # Mark conflict and exit the for loop, triggering the while loop to restart the check + # This replaces the original recursive call to `checkport` + conflict_found=1 + break + fi + done + + # If no conflicts are found after the entire for loop completes, + # the while loop exits and the function terminates. + if [ "$conflict_found" -eq 0 ]; then + break + fi + done } # 脚本启动前检查 ckstatus() { - versionsh=$(cat "$CRASHDIR"/version) - [ -n "$versionsh" ] && versionsh_l=$versionsh - [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" + versionsh=$(cat "$CRASHDIR"/version) + [ -n "$versionsh" ] && versionsh_l=$versionsh + [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" - # 获取本机host地址 - [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host='$MENU_IP_DF' + # 获取本机host地址 + [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host='$MENU_IP_DF' - # dashboard目录位置 - if [ -f /www/clash/index.html ]; then - dbdir=/www/clash - hostdir=/clash - else - dbdir="$CRASHDIR"/ui - hostdir=":$db_port/ui" - fi + # dashboard目录位置 + if [ -f /www/clash/index.html ]; then + dbdir=/www/clash + hostdir=/clash + else + dbdir="$CRASHDIR"/ui + hostdir=":$db_port/ui" + fi - if check_autostart; then - auto="\033[32m$MENU_AUTOSTART_ON\033[0m" - else - auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" - fi + if check_autostart; then + auto="\033[32m$MENU_AUTOSTART_ON\033[0m" + else + auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" + fi - PID=$(pidof CrashCore | awk '{print $NF}') - if [ -n "$PID" ]; then - run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" - running_status - elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then - run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" - else - run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" - # 检测系统端口占用 - checkport - fi - corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') - # [ "$firewall_area" = 5 ] && corename='转发' - [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" + PID=$(pidof CrashCore | awk '{print $NF}') + if [ -n "$PID" ]; then + run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" + running_status + elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then + run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" + else + run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" + # 检测系统端口占用 + checkport + fi + corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') + # [ "$firewall_area" = 5 ] && corename='转发' + [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" - # 检查新手引导 - if [ -z "$userguide" ]; then - userguide=1 - . "$CRASHDIR"/menus/userguide.sh && userguide - setconfig userguide 1 - fi + # 检查新手引导 + if [ -z "$userguide" ]; then + userguide=1 + . "$CRASHDIR"/menus/userguide.sh && userguide + setconfig userguide 1 + fi - # 检查执行权限 - [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh + # 检查执行权限 + [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh - line_break - separator_line "=" - content_line "\033[30;43m$MENU_WELCOME\033[0m" - content_right "Ver: $versionsh_l" - content_line "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "-" - content_line "$corename$run\t $auto" - if [ -n "$PID" ]; then - content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" - fi - separator_line "=" + line_break + separator_line "=" + content_line "\033[30;43m$MENU_WELCOME\033[0m" + content_line "Ver: $versionsh_l" + content_line "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "-" + content_line "$corename$run\t $auto" + if [ -n "$PID" ]; then + content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" + fi + separator_line "=" - # 检查/tmp内核文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do - line_break - separator_line "=" - content_line "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" - content_line "$MENU_TMP_CORE_ASK" - separator_line "=" - content_line "1) 立即加载" - content_line "0) 暂不加载" - separator_line "=" - read -r -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && { - line_break - separator_line "=" - zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') - . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype - . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" - if [ "$?" = 0 ]; then - content_line "\033[32m$MENU_CORE_LOADED_OK\033[0m" - separator_line "=" - switch_core - else - content_line "\033[33m$MENU_CORE_LOADED_BAD\033[0m" - rm -rf /tmp/"$file" - content_line "\033[33m$MENU_CORE_REMOVED\033[0m" - fi - separator_line "=" - sleep 1 - } - done + # 检查/tmp内核文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do + comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ + "$MENU_TMP_CORE_ASK" + btm_box "1) 立即加载" \ + "0) 暂不加载" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') + . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype + . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" + if [ "$?" = 0 ]; then + msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" + switch_core + else + rm -rf /tmp/"$file" + msg_alert "\033[33m$MENU_CORE_LOADED_BAD\033[0m" \ + "\033[33m$MENU_CORE_REMOVED\033[0m" + fi + } + done - # 检查/tmp配置文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do - tmp_file=/tmp/$file - line_break - separator_line "=" - content_line "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m" - content_line "$MENU_TMP_CFG_ASK" - separator_line "=" - content_line "1) 立即加载" - content_line "0) 暂不加载" - separator_line "=" - read -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && { - if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then - mv -f /tmp/$file "$CRASHDIR"/jsons/config.json - else - mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml - fi - line_break - separator_line "=" - content_line "\033[32m$MENU_CFG_LOADED_OK\033[0m " - separator_line "=" - sleep 1 - } - done + # 检查/tmp配置文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do + tmp_file=/tmp/$file + comp_box "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m" \ + "$MENU_TMP_CFG_ASK" + btm_box "1) 立即加载" \ + "0) 暂不加载" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then + mv -f /tmp/$file "$CRASHDIR"/jsons/config.json + else + mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml + fi + msg_alert "\033[32m$MENU_CFG_LOADED_OK\033[0m " + } + done - # 检查禁用配置覆写 - [ "$disoverride" = "1" ] && { - line_break - separator_line "=" - content_line "\033[33m$MENU_OVERRIDE_WARN\033[0m" - content_line "$MENU_OVERRIDE_ASK" - separator_line "=" - content_line "1) 是" - content_line "0) 否" - separator_line "=" - read -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && unset disoverride && setconfig disoverride - } + # 检查禁用配置覆写 + [ "$disoverride" = "1" ] && { + comp_box "\033[33m$MENU_OVERRIDE_WARN\033[0m" \ + "$MENU_OVERRIDE_ASK" + btm_box "1) 是" \ + "0) 否" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && unset disoverride && setconfig disoverride + } } main_menu() { - while true; do - ckstatus + while true; do + ckstatus - content_line "1) \033[32m$MENU_MAIN_1\033[0m" - content_line "2) \033[36m$MENU_MAIN_2\033[0m" - content_line "3) \033[31m$MENU_MAIN_3\033[0m" - content_line "4) \033[33m$MENU_MAIN_4\033[0m" - content_line "5) \033[32m$MENU_MAIN_5\033[0m" - content_line "6) \033[36m$MENU_MAIN_6\033[0m" - content_line "7) \033[33m$MENU_MAIN_7\033[0m" - content_line "8) $MENU_MAIN_8" - content_line "9) \033[32m$MENU_MAIN_9\033[0m" - content_line "0) $MENU_MAIN_0" - separator_line "=" - read -r -p "$MENU_MAIN_PROMPT" num + content_line "1) \033[32m$MENU_MAIN_1\033[0m" + content_line "2) \033[36m$MENU_MAIN_2\033[0m" + content_line "3) \033[31m$MENU_MAIN_3\033[0m" + content_line "4) \033[33m$MENU_MAIN_4\033[0m" + content_line "5) \033[32m$MENU_MAIN_5\033[0m" + content_line "6) \033[36m$MENU_MAIN_6\033[0m" + content_line "7) \033[33m$MENU_MAIN_7\033[0m" + content_line "8) $MENU_MAIN_8" + content_line "9) \033[32m$MENU_MAIN_9\033[0m" + content_line "0) $MENU_MAIN_0" + separator_line "=" + read -r -p "$MENU_MAIN_PROMPT" num - case "$num" in - "" | 0) - line_break - exit 0 - ;; - 1) - start_service - exit - line_break - ;; - 2) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/2_settings.sh && settings - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 3) - [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop - "$CRASHDIR"/start.sh stop - sleep 1 - line_break - separator_line "=" - content_line "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" - separator_line "=" - sleep 1 - ;; - 4) - . "$CRASHDIR"/menus/4_setboot.sh && setboot - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - ;; - 6) - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - ;; - 7) - GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg - touch "$GT_CFG_PATH" - checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") - . "$CRASHDIR"/menus/7_gateway.sh && gateway - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 8) - . "$CRASHDIR"/menus/8_tools.sh && tools - ;; - 9) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/9_upgrade.sh && upgrade - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - *) - errornum - sleep 1 - ;; - esac - done + case "$num" in + "" | 0) + line_break + exit 0 + ;; + 1) + start_service + line_break + exit + ;; + 2) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/2_settings.sh && settings + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 3) + [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop + "$CRASHDIR"/start.sh stop + sleep 1 + msg_alert "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" + ;; + 4) + . "$CRASHDIR"/menus/4_setboot.sh && setboot + ;; + 5) + . "$CRASHDIR"/menus/5_task.sh && task_menu + ;; + 6) + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + ;; + 7) + GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg + touch "$GT_CFG_PATH" + checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") + . "$CRASHDIR"/menus/7_gateway.sh && gateway + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 8) + . "$CRASHDIR"/menus/8_tools.sh && tools + ;; + 9) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/9_upgrade.sh && upgrade + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + *) + errornum + ;; + esac + done } case "$1" in "") - main_menu - ;; + main_menu + ;; -l) - main_menu - ;; + main_menu + ;; -t) - shtype=sh - [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - "$shtype" -x "$CRASHDIR"/menu.sh -l - ;; + shtype=sh + [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + "$shtype" -x "$CRASHDIR"/menu.sh -l + ;; -s) - "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" - ;; + "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" + ;; -i) - . "$CRASHDIR"/init.sh 2>/dev/null - ;; + . "$CRASHDIR"/init.sh 2>/dev/null + ;; -st) - shtype=sh - 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 - ;; + shtype=sh + 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) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - line_break - separator_line "=" - content_line "$MENU_TEST_RUNNING_1" - content_line "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "=" - "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log - "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log - line_break - cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug - if [ -s "$TMPDIR"/sh_bug ]; then - echo "===========================================================" - while read line; do - echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" - grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log - echo "===========================================================" - done <"$TMPDIR"/sh_bug - rm -rf "$TMPDIR"/sh_bug - line_break - separator_line "=" - content_line "\033[32m$MENU_TEST_DONE_FAIL\033[0m" - content_line "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" - separator_line "=" - else - rm -rf "$TMPDIR"/debug_sh.log - separator_line "=" - content_line "\033[32m$MENU_TEST_DONE_OK\033[0m" - separator_line "=" - line_break - fi - "$CRASHDIR"/start.sh stop - ;; + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + line_break + separator_line "=" + content_line "$MENU_TEST_RUNNING_1" + content_line "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "=" + "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log + "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log + cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug + if [ -s "$TMPDIR"/sh_bug ]; then + line_break + echo "===========================================================" + while read line; do + echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" + grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log + echo "===========================================================" + done <"$TMPDIR"/sh_bug + rm -rf "$TMPDIR"/sh_bug + comp_box "\033[32m$MENU_TEST_DONE_FAIL\033[0m" \ + "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" + else + rm -rf "$TMPDIR"/debug_sh.log + comp_box "\033[32m$MENU_TEST_DONE_OK\033[0m" + line_break + fi + "$CRASHDIR"/start.sh stop + ;; -u) - . "$CRASHDIR"/menus/uninstall.sh && uninstall - ;; + . "$CRASHDIR"/menus/uninstall.sh && uninstall + ;; *) - line_break - separator_line "=" - content_line "$MENU_WELCOME" - separator_line "=" - content_line "-t $MENU_CLI_TEST" - content_line "-h $MENU_CLI_HELP" - content_line "-u $MENU_CLI_UNINSTALL" - content_line "-i $MENU_CLI_INIT" - content_line "-d $MENU_CLI_DEBUG" - separator_line "-" - content_line "crash -s start $MENU_CLI_START" - content_line "crash -s stop $MENU_CLI_STOP" - content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" - separator_line "-" - content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" - content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" - content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" - separator_line "=" - line_break - ;; + comp_box "$MENU_WELCOME" + content_line "-t $MENU_CLI_TEST" + content_line "-h $MENU_CLI_HELP" + content_line "-u $MENU_CLI_UNINSTALL" + content_line "-i $MENU_CLI_INIT" + content_line "-d $MENU_CLI_DEBUG" + separator_line "-" + content_line "crash -s start $MENU_CLI_START" + content_line "crash -s stop $MENU_CLI_STOP" + content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" + separator_line "-" + content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" + content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" + content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" + separator_line "=" + line_break + ;; esac diff --git a/scripts/menus/tui_layout.sh b/scripts/menus/tui_layout.sh index 16ac351a..5f3bcea3 100644 --- a/scripts/menus/tui_layout.sh +++ b/scripts/menus/tui_layout.sh @@ -113,11 +113,7 @@ content_line() { END {} ' } -# function for right side text -# color sould be disabled -content_right() { - content_line "$(printf "%$((${TABLE_WIDTH:-60} - 3))s" "$1")" -} + # function to print sub content lines # for printing accompanying instructions sub_content_line() { @@ -150,5 +146,3 @@ separator_line() { line_break() { printf "\n\n" } - - diff --git a/scripts/menus/tui_lite.sh b/scripts/menus/tui_lite.sh index e71234ac..377da03a 100644 --- a/scripts/menus/tui_lite.sh +++ b/scripts/menus/tui_lite.sh @@ -5,9 +5,6 @@ content_line() { printf '%b' " $1\n" } -content_right() { - printf "%$((TABLE_WIDTH - 13))s\n" "$1" -} sub_content_line() { content_line " $1" } @@ -19,4 +16,3 @@ separator_line() { line_break() { return } - From b493fba1764aeda0d6c18f01e5d6ab55fbbcf4e7 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:35:08 +0800 Subject: [PATCH 177/318] update --- scripts/menu.sh | 548 ++++++++++++++++++++++++------------------------ 1 file changed, 272 insertions(+), 276 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index 9d027b80..e12ba2f0 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -2,8 +2,8 @@ # Copyright (C) Juewuy CRASHDIR=$( - cd $(dirname $0) - pwd + cd $(dirname $0) + pwd ) CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg @@ -32,320 +32,316 @@ load_lang common load_lang menu checkrestart() { - comp_box "\033[32m$MENU_RESTART_NOTICE\033[0m" - btm_box "1) 立即重启" \ - "0) 暂不重启" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - start_service - fi + comp_box "\033[32m$MENU_RESTART_NOTICE\033[0m" + btm_box "1) 立即重启" \ + "0) 暂不重启" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + start_service + fi } # 检查端口冲突 checkport() { - while true; do - # Before each round of checks begins, execute netstat only once and cache the results - # Avoid calling the system command once for each port - current_listening=$(netstat -ntul 2>&1) + while true; do + # Before each round of checks begins, execute netstat only once and cache the results + # Avoid calling the system command once for each port + current_listening=$(netstat -ntul 2>&1) - conflict_found=0 + conflict_found=0 - for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do - # Use `grep` to search within the cached variables instead of re-running `netstat` - conflict_line=$(echo "$current_listening" | grep ":$portx ") + for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do + # Use `grep` to search within the cached variables instead of re-running `netstat` + conflict_line=$(echo "$current_listening" | grep ":$portx ") - if [ -n "$conflict_line" ]; then + if [ -n "$conflict_line" ]; then - comp_box "【$portx】:$MENU_PORT_CONFLICT_TITLE" \ - "\033[0m$(echo "$conflict_line" | head -n 1)\033[0m" \ - "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" + comp_box "【$portx】:$MENU_PORT_CONFLICT_TITLE" \ + "\033[0m$(echo "$conflict_line" | head -n 1)\033[0m" \ + "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" - . "$CRASHDIR"/menus/2_settings.sh && set_adv_config - . "$CRASHDIR"/libs/get_config.sh + . "$CRASHDIR"/menus/2_settings.sh && set_adv_config + . "$CRASHDIR"/libs/get_config.sh - # Mark conflict and exit the for loop, triggering the while loop to restart the check - # This replaces the original recursive call to `checkport` - conflict_found=1 - break - fi - done + # Mark conflict and exit the for loop, triggering the while loop to restart the check + # This replaces the original recursive call to `checkport` + conflict_found=1 + break + fi + done - # If no conflicts are found after the entire for loop completes, - # the while loop exits and the function terminates. - if [ "$conflict_found" -eq 0 ]; then - break - fi - done + # If no conflicts are found after the entire for loop completes, + # the while loop exits and the function terminates. + if [ "$conflict_found" -eq 0 ]; then + break + fi + done } # 脚本启动前检查 ckstatus() { + versionsh=$(cat "$CRASHDIR"/version) + [ -n "$versionsh" ] && versionsh_l=$versionsh + [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" - versionsh=$(cat "$CRASHDIR"/version) - [ -n "$versionsh" ] && versionsh_l=$versionsh - [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" + # 获取本机host地址 + [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host='$MENU_IP_DF' - # 获取本机host地址 - [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host='$MENU_IP_DF' + # dashboard目录位置 + if [ -f /www/clash/index.html ]; then + dbdir=/www/clash + hostdir=/clash + else + dbdir="$CRASHDIR"/ui + hostdir=":$db_port/ui" + fi - # dashboard目录位置 - if [ -f /www/clash/index.html ]; then - dbdir=/www/clash - hostdir=/clash - else - dbdir="$CRASHDIR"/ui - hostdir=":$db_port/ui" - fi + if check_autostart; then + auto="\033[32m$MENU_AUTOSTART_ON\033[0m" + else + auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" + fi - if check_autostart; then - auto="\033[32m$MENU_AUTOSTART_ON\033[0m" - else - auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" - fi + PID=$(pidof CrashCore | awk '{print $NF}') + if [ -n "$PID" ]; then + run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" + running_status + elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then + run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" + else + run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" + # 检测系统端口占用 + checkport + fi + corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') + # [ "$firewall_area" = 5 ] && corename='转发' + [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" - PID=$(pidof CrashCore | awk '{print $NF}') - if [ -n "$PID" ]; then - run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" - running_status - elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then - run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" - else - run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" - # 检测系统端口占用 - checkport - fi - corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') - # [ "$firewall_area" = 5 ] && corename='转发' - [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" + # 检查新手引导 + if [ -z "$userguide" ]; then + userguide=1 + . "$CRASHDIR"/menus/userguide.sh && userguide + setconfig userguide 1 + fi - # 检查新手引导 - if [ -z "$userguide" ]; then - userguide=1 - . "$CRASHDIR"/menus/userguide.sh && userguide - setconfig userguide 1 - fi + # 检查执行权限 + [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh - # 检查执行权限 - [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh + line_break + separator_line "=" + content_line "\033[30;43m$MENU_WELCOME\033[0m" + content_line "Ver: $versionsh_l" + content_line "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "-" + content_line "$corename$run\t $auto" + if [ -n "$PID" ]; then + content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" + fi + separator_line "=" - line_break - separator_line "=" - content_line "\033[30;43m$MENU_WELCOME\033[0m" - content_line "Ver: $versionsh_l" - content_line "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "-" - content_line "$corename$run\t $auto" - if [ -n "$PID" ]; then - content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" - fi - separator_line "=" + # 检查/tmp内核文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do + comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ + "$MENU_TMP_CORE_ASK" + btm_box "1) 立即加载" \ + "0) 暂不加载" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') + . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype + . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" + if [ "$?" = 0 ]; then + msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" + switch_core + else + rm -rf /tmp/"$file" + msg_alert "\033[33m$MENU_CORE_LOADED_BAD\033[0m" \ + "\033[33m$MENU_CORE_REMOVED\033[0m" + fi + } + done - # 检查/tmp内核文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do - comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ - "$MENU_TMP_CORE_ASK" - btm_box "1) 立即加载" \ - "0) 暂不加载" - read -r -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && { - zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') - . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype - . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" - if [ "$?" = 0 ]; then - msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" - switch_core - else - rm -rf /tmp/"$file" - msg_alert "\033[33m$MENU_CORE_LOADED_BAD\033[0m" \ - "\033[33m$MENU_CORE_REMOVED\033[0m" - fi - } - done + # 检查/tmp配置文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do + tmp_file=/tmp/$file + comp_box "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m" \ + "$MENU_TMP_CFG_ASK" + btm_box "1) 立即加载" \ + "0) 暂不加载" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then + mv -f /tmp/$file "$CRASHDIR"/jsons/config.json + else + mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml + fi + msg_alert "\033[32m$MENU_CFG_LOADED_OK\033[0m " + } + done - # 检查/tmp配置文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do - tmp_file=/tmp/$file - comp_box "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m" \ - "$MENU_TMP_CFG_ASK" - btm_box "1) 立即加载" \ - "0) 暂不加载" - read -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && { - if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then - mv -f /tmp/$file "$CRASHDIR"/jsons/config.json - else - mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml - fi - msg_alert "\033[32m$MENU_CFG_LOADED_OK\033[0m " - } - done - - # 检查禁用配置覆写 - [ "$disoverride" = "1" ] && { - comp_box "\033[33m$MENU_OVERRIDE_WARN\033[0m" \ - "$MENU_OVERRIDE_ASK" - btm_box "1) 是" \ - "0) 否" - read -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && unset disoverride && setconfig disoverride - } + # 检查禁用配置覆写 + [ "$disoverride" = "1" ] && { + comp_box "\033[33m$MENU_OVERRIDE_WARN\033[0m" \ + "$MENU_OVERRIDE_ASK" + btm_box "1) 是" \ + "0) 否" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && unset disoverride && setconfig disoverride + } } main_menu() { - while true; do - ckstatus + while true; do + ckstatus - content_line "1) \033[32m$MENU_MAIN_1\033[0m" - content_line "2) \033[36m$MENU_MAIN_2\033[0m" - content_line "3) \033[31m$MENU_MAIN_3\033[0m" - content_line "4) \033[33m$MENU_MAIN_4\033[0m" - content_line "5) \033[32m$MENU_MAIN_5\033[0m" - content_line "6) \033[36m$MENU_MAIN_6\033[0m" - content_line "7) \033[33m$MENU_MAIN_7\033[0m" - content_line "8) $MENU_MAIN_8" - content_line "9) \033[32m$MENU_MAIN_9\033[0m" - content_line "0) $MENU_MAIN_0" - separator_line "=" - read -r -p "$MENU_MAIN_PROMPT" num + content_line "1) \033[32m$MENU_MAIN_1\033[0m" + content_line "2) \033[36m$MENU_MAIN_2\033[0m" + content_line "3) \033[31m$MENU_MAIN_3\033[0m" + content_line "4) \033[33m$MENU_MAIN_4\033[0m" + content_line "5) \033[32m$MENU_MAIN_5\033[0m" + content_line "6) \033[36m$MENU_MAIN_6\033[0m" + content_line "7) \033[33m$MENU_MAIN_7\033[0m" + content_line "8) $MENU_MAIN_8" + content_line "9) \033[32m$MENU_MAIN_9\033[0m" + content_line "0) $MENU_MAIN_0" + separator_line "=" + read -r -p "$MENU_MAIN_PROMPT" num - case "$num" in - "" | 0) - line_break - exit 0 - ;; - 1) - start_service - line_break - exit - ;; - 2) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/2_settings.sh && settings - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 3) - [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop - "$CRASHDIR"/start.sh stop - sleep 1 - msg_alert "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" - ;; - 4) - . "$CRASHDIR"/menus/4_setboot.sh && setboot - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - ;; - 6) - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - ;; - 7) - GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg - touch "$GT_CFG_PATH" - checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") - . "$CRASHDIR"/menus/7_gateway.sh && gateway - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 8) - . "$CRASHDIR"/menus/8_tools.sh && tools - ;; - 9) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/9_upgrade.sh && upgrade - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - *) - errornum - ;; - esac - done + case "$num" in + "" | 0) + line_break + exit 0 + ;; + 1) + start_service + line_break + exit + ;; + 2) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/2_settings.sh && settings + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 3) + [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop + "$CRASHDIR"/start.sh stop + sleep 1 + msg_alert "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" + ;; + 4) + . "$CRASHDIR"/menus/4_setboot.sh && setboot + ;; + 5) + . "$CRASHDIR"/menus/5_task.sh && task_menu + ;; + 6) + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + ;; + 7) + GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg + touch "$GT_CFG_PATH" + checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") + . "$CRASHDIR"/menus/7_gateway.sh && gateway + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 8) + . "$CRASHDIR"/menus/8_tools.sh && tools + ;; + 9) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/9_upgrade.sh && upgrade + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + *) + errornum + ;; + esac + done } case "$1" in "") - main_menu - ;; + main_menu + ;; -l) - main_menu - ;; + main_menu + ;; -t) - shtype=sh - [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - "$shtype" -x "$CRASHDIR"/menu.sh -l - ;; + shtype=sh + [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + "$shtype" -x "$CRASHDIR"/menu.sh -l + ;; -s) - "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" - ;; + "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" + ;; -i) - . "$CRASHDIR"/init.sh 2>/dev/null - ;; + . "$CRASHDIR"/init.sh 2>/dev/null + ;; -st) - shtype=sh - 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 - ;; + shtype=sh + 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) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - line_break - separator_line "=" - content_line "$MENU_TEST_RUNNING_1" - content_line "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "=" - "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log - "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log - cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug - if [ -s "$TMPDIR"/sh_bug ]; then - line_break - echo "===========================================================" - while read line; do - echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" - grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log - echo "===========================================================" - done <"$TMPDIR"/sh_bug - rm -rf "$TMPDIR"/sh_bug - comp_box "\033[32m$MENU_TEST_DONE_FAIL\033[0m" \ - "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" - else - rm -rf "$TMPDIR"/debug_sh.log - comp_box "\033[32m$MENU_TEST_DONE_OK\033[0m" - line_break - fi - "$CRASHDIR"/start.sh stop - ;; + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + comp_box "$MENU_TEST_RUNNING_1" \ + "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" + "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log + "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log + cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug + if [ -s "$TMPDIR"/sh_bug ]; then + line_break + echo "===========================================================" + while read line; do + echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" + grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log + echo "===========================================================" + done <"$TMPDIR"/sh_bug + rm -rf "$TMPDIR"/sh_bug + comp_box "\033[32m$MENU_TEST_DONE_FAIL\033[0m" \ + "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" + else + rm -rf "$TMPDIR"/debug_sh.log + comp_box "\033[32m$MENU_TEST_DONE_OK\033[0m" + line_break + fi + "$CRASHDIR"/start.sh stop + ;; -u) - . "$CRASHDIR"/menus/uninstall.sh && uninstall - ;; + . "$CRASHDIR"/menus/uninstall.sh && uninstall + ;; *) - comp_box "$MENU_WELCOME" - content_line "-t $MENU_CLI_TEST" - content_line "-h $MENU_CLI_HELP" - content_line "-u $MENU_CLI_UNINSTALL" - content_line "-i $MENU_CLI_INIT" - content_line "-d $MENU_CLI_DEBUG" - separator_line "-" - content_line "crash -s start $MENU_CLI_START" - content_line "crash -s stop $MENU_CLI_STOP" - content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" - separator_line "-" - content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" - content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" - content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" - separator_line "=" - line_break - ;; + comp_box "$MENU_WELCOME" + content_line "-t $MENU_CLI_TEST" + content_line "-h $MENU_CLI_HELP" + content_line "-u $MENU_CLI_UNINSTALL" + content_line "-i $MENU_CLI_INIT" + content_line "-d $MENU_CLI_DEBUG" + separator_line "-" + content_line "crash -s start $MENU_CLI_START" + content_line "crash -s stop $MENU_CLI_STOP" + content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" + separator_line "-" + content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" + content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" + content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" + separator_line "=" + line_break + ;; esac From 70b2816c04fc84d1661f772c921ba3b79c316199 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 18:06:28 +0800 Subject: [PATCH 178/318] ~fix local install --- scripts/menus/set_crashdir.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/set_crashdir.sh b/scripts/menus/set_crashdir.sh index 5109fbd1..f8da11ea 100644 --- a/scripts/menus/set_crashdir.sh +++ b/scripts/menus/set_crashdir.sh @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (C) Juewuy -#. /tmp/SC_tmp/libs/check_dir_avail.sh +[ -f /tmp/SC_tmp/libs/check_dir_avail.sh ] && . /tmp/SC_tmp/libs/check_dir_avail.sh cecho() { printf '%b\n' "$*" From ced3c3ac5903dd131daf9a1b8cbdc882ef661284 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 18:31:50 +0800 Subject: [PATCH 179/318] ~bugs fix --- scripts/menus/5_task.sh | 4 ++-- scripts/menus/6_core_config.sh | 6 +++--- scripts/menus/8_tools.sh | 6 +++--- scripts/menus/subconverter.sh | 6 +++--- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 1f509c60..9f186589 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -313,8 +313,8 @@ task_manager() { separator_line "=" # 抽取并生成临时列表 croncmd -l >"$TMPDIR"/task_cronlist - cat "$TMPDIR"/task_cronlist "$CRASHDIR"/task/running 2>/dev/null | sort -u | grep -oE "task/task.sh .*" | awk -F ' ' '{print $2" "$3}' >"$TMPDIR"/task_list - cat "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | awk -F ' ' '{print $2" "$3}' >>"$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 + cat "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | cut -d ' ' -f 2- >>"$TMPDIR"/task_list cat "$TMPDIR"/task_cronlist 2>/dev/null | sort -u | grep -oE " #.*" | grep -v "守护" | awk -F '#' '{print "0 旧版任务-"$2}' >>"$TMPDIR"/task_list sed -i '/^ *$/d' "$TMPDIR"/task_list rm -rf "$TMPDIR"/task_cronlist diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 687d30bf..cdd465cf 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -164,7 +164,7 @@ setproviders() { text=$(printf "%.12s" "$text" | sed 's/ //g') # 截断12字符+去空格 if [ "$text" = 0 ]; then break - elif [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg; then + elif [ -n "$text" ] && [ -z "$(echo "$text" | grep -E '^[0-9]+$')" ] && ! grep -q "^$text " "$CRASHDIR"/configs/providers.cfg 2>/dev/null; then name="$text" common_success break @@ -272,10 +272,10 @@ setproviders() { ;; d) if [ -n "$name" ] && [ -n "$link" ]; then - sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg + sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg 2>/dev/null msg_alert "\033[32m$COMMON_SUCCESS\033[0m" elif [ -n "$name" ] && [ -n "$link_uri" ]; then - sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg + sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null msg_alert "\033[32m$COMMON_SUCCESS\033[0m" fi break diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index bd9cf3f6..8c8d484d 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -207,11 +207,11 @@ tools() { separator_line "=" content_line "1) 我已知晓,出现问题会自行承担!" content_line "0) 返回上级菜单" - eparator_line "=" + separator_line "=" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then line_break - eparator_line "=" + separator_line "=" content_line "正在连接服务器获取Tun模块补丁文件......" get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko if [ "$?" = "0" ]; then @@ -221,7 +221,7 @@ tools() { else content_line "\033[31m文件下载失败,请重试!\033[0m" fi - eparator_line "=" + separator_line "=" else continue fi diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index c91faf30..e953315f 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -28,9 +28,9 @@ subconverter() { break ;; 1) - providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null | awk '{print $2}' | paste -sd '|') - uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' | paste -sd '|') - Url=$(echo "$providers_link|$uri_link" | sed 's/^|// ; s/|$//') + providers_link=$(grep -v '\./providers/' "$CRASHDIR"/configs/providers.cfg 2>/dev/null | awk '{print $2}' | tr '\n' '|') + uri_link=$(grep -v '^#' "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null | awk '{ print ($1=="vmess" ? $2 : $2 "#" $1) }' | tr '\n' '|') + Url=$(echo "$providers_link|$uri_link" | sed 's/||*/|/g; s/^|//; s/|$//') setconfig Url "'$Url'" Https='' setconfig Https From 89cf950490b307311b727ebae3085f0a83da5e8c Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 18:45:59 +0800 Subject: [PATCH 180/318] ~bug fix --- scripts/menus/6_core_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index cdd465cf..627b18ae 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -106,7 +106,7 @@ set_core_config() { setproviders() { case "$(echo "$@" | cut -d ' ' -f 2)" in http* | ./providers*) - set -- "$@" + set -- $@ name=$1 link=$2 interval=$3 @@ -116,7 +116,7 @@ setproviders() { include_w=${7#\#} ;; *://*) - set -- "$line" + set -- $@ name=$1 link_uri=$2 ;; From 346d480a13a8fa62cf393fbf222c8f29c0483263 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 18:58:25 +0800 Subject: [PATCH 181/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E5=9C=A8=E7=BA=BF=E7=94=9F=E6=88=90?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=80=BB=E6=98=AF=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/subconverter.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index e953315f..d0e77619 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -10,8 +10,6 @@ __IS_MODULE_SUBCONVERTER=1 # Subconverter在线订阅转换 subconverter() { while true; do - [ -z "$exclude" ] && exclude="未设置" - [ -z "$include" ] && include="未设置" line_break separator_line "=" content_line "1) \033[32m生成\033[0m包含全部节点/订阅的配置文件" @@ -61,9 +59,7 @@ subconverter() { # 排除节点正则 gen_link_flt() { - comp_box "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m" \ - "" \ - "\033[33m匹配关键字的节点会在导入时被【屏蔽】!\033[0m" \ + comp_box "\033[33m匹配关键字的节点会在导入时被【屏蔽】!\033[0m" \ "多个关键字可以用\033[30;47m | \033[0m号分隔" \ "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" btm_box "\033[36m请直接输入节点过滤关键字\033[0m" \ @@ -91,9 +87,7 @@ gen_link_flt() { # 包含节点正则 gen_link_ele() { - comp_box "\033[33m当前筛选关键字:\033[47;30m$include\033[0m" \ - "" \ - "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" \ + comp_box "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" \ "多个关键字可以用\033[30;47m | \033[0m号分隔" \ "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" btm_box "\033[36m请直接输入节点匹配关键字\033[0m" \ @@ -112,7 +106,7 @@ gen_link_ele() { ;; esac - if setconfig exclude "'$include'"; then + if setconfig include "'$include'"; then common_success else common_failed From d7f93d1e62bf198f729b3e3300595bbbd7d6cb46 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 19:16:58 +0800 Subject: [PATCH 182/318] ~bug fix and improve fw_filter.sh --- scripts/menus/fw_filter.sh | 68 +++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index cfc287ea..fc584a54 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -76,30 +76,7 @@ set_fw_filter() { set_cust_host_ipv4 ;; 6) - while true; do - [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" - comp_box "\033[33m注意:地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" \ - "" \ - "当前网段:" \ - "\033[36m$reserve_ipv4\033[0m" - btm_box "请直接输入自定义保留地址ipv4网段" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text - if [ "$text" = 0 ]; then - break - elif - echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+" - then - reserve_ipv4="$text" - if setconfig reserve_ipv4 "'$reserve_ipv4'"; then - msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" - else - msg_alert "\033[31m$COMMON_FAILED\033[0m" - fi - else - msg_alert "\033[31m输入有误,请重新输入!\033[0m" - fi - done + set_reserve_ipv4 ;; *) errornum @@ -219,7 +196,7 @@ set_common_ports() { done } -# 自定义ipv4透明路由网段 +# 自定义ipv4透明路由、保留地址网段 set_cust_host_ipv4() { while true; do [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" @@ -256,7 +233,7 @@ set_cust_host_ipv4() { fi ;; *) - if [ -n "$(echo "$text" | grep -Eo '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}'$)" ] && echo "$cust_host_ipv4" | grep -q "$text"; then + if echo "$text" | grep -Eq '^([0-9]{1,3}\.){3}[0-9]{1,3}/[0-9]{1,2}' && [ -z "$(echo $cust_host_ipv4 | grep "$text")" ]; then cust_host_ipv4="$cust_host_ipv4 $text" if setconfig cust_host_ipv4 "'$cust_host_ipv4'"; then msg_alert "\033[32m$COMMON_SUCCESS\033[0m" @@ -270,7 +247,44 @@ set_cust_host_ipv4() { esac done } - +set_reserve_ipv4() { + while true; do + [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" + comp_box "\033[33m注意:地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" \ + "" \ + "当前网段:" \ + "\033[36m$reserve_ipv4\033[0m" + btm_box "请直接输入自定义保留地址ipv4网段" \ + "或输入 1 重置默认网段" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " text + case "$text" in + "" | 0) + break + ;; + 1) + unset reserve_ipv4 + if setconfig reserve_ipv4; then + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi + ;; + *) + if echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+"; then + reserve_ipv4="$text" + if setconfig reserve_ipv4 "'$reserve_ipv4'"; then + msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi + else + msg_alert "\033[31m输入有误,请重新输入!\033[0m" + fi + ;; + esac + done +} # 局域网设备过滤 fw_filter_lan() { get_devinfo() { From 7f52ee60d9302d06af28a6386cebb36a3655cd1f Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 19:22:17 +0800 Subject: [PATCH 183/318] ~bug fix --- scripts/menus/override.sh | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index 39383e6c..f30c04ef 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -4,13 +4,15 @@ [ -n "$__IS_MODULE_OVERRIDE" ] && return __IS_MODULE_OVERRIDE=1 +YAMLSDIR="$CRASHDIR"/yamls +JSONSDIR="$CRASHDIR"/jsons + # 配置文件覆写 override() { while true; do [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 comp_box "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" - content_line "1) 自定义\033[32m端口及秘钥\033[0m" content_line "2) 管理\033[36m自定义规则\033[0m" echo "$crashcore" | grep -q 'singbox' || { content_line "3) 管理\033[33m自定义节点\033[0m" @@ -19,31 +21,13 @@ override() { content_line "5) \033[32m自定义\033[0m高级功能" [ "$disoverride" != 1 ] && content_line "9) \033[33m禁用\033[0m配置文件覆写" content_line "" - [ "$inuserguide" = 1 ] || content_line "0) 返回上级菜单" + content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应数字> " num case "$num" in "" | 0) break ;; - 1) - if [ -n "$(pidof CrashCore)" ]; then - comp_box "\033[33m检测到服务正在运行,需要先停止服务!\033[0m" \ - "" \ - "是否停止服务?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = "1" ]; then - "$CRASHDIR"/start.sh stop - setport - else - continue - fi - else - setport - fi - ;; 2) setrules ;; From 41bd93766b086b5e57fe3e46a7311c67e733aaa9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 20:00:40 +0800 Subject: [PATCH 184/318] =?UTF-8?q?~=E6=96=87=E6=9C=AC=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/6_core_config.sh | 14 ++++++++------ scripts/menus/subconverter.sh | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 627b18ae..617505ef 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -34,9 +34,9 @@ set_core_config() { list_box "$list" separator_line "-" } - content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" - content_line "b) \033[36m本地生成配置文件\033[0m(By Providers,推荐!)" - content_line "c) \033[33m在线生成配置文件\033[0m(By Subconverter)" + content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" + content_line "b) \033[36m本地生成配置文件\033[0m" + content_line "c) \033[33m在线生成配置文件\033[0m" content_line "d) \033[31m清空提供者列表\033[0m" content_line "e) \033[36m自定义配置文件\033[0m" content_line "" @@ -139,15 +139,17 @@ setproviders() { content_line "3) 设置\033[33m本地生成覆写\033[0m" content_line "" content_line "a) \033[36m保存此提供者\033[0m" + content_line "d) \033[31m删除此提供者\033[0m" + content_line "" + content_line "\033[36m以下方式的详细配置请前往对应功能页面进行设置!\033[0m" [ -n "$link" ] && content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" echo "$link$link_uri" | grep -q '://' && content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" echo "$link" | grep -q '^http' && - content_line "e) 从此订阅链接直接拉取配置文件(不经过订阅转换)" + content_line "e) 在线获取此配置文件(不使用订阅转换)" echo "$link" | grep -q '^./providers' && - content_line "e) 直接使用此文件作为配置文件(不经过本地生成)" - content_line "d) \033[31m删除此提供者\033[0m" + content_line "e) 直接使用此文件作为配置文件(不使用本地生成)" content_line "" common_back read -r -p "请输入对应字母或数字> " input diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index d0e77619..79101ffc 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -12,7 +12,7 @@ subconverter() { while true; do line_break separator_line "=" - content_line "1) \033[32m生成\033[0m包含全部节点/订阅的配置文件" + content_line "1) \033[32m生成\033[0m包含全部节点、订阅的配置文件" content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" content_line "4) 选择\033[33m在线规则模版\033[0m" From 8cab9b5419f6465d52dd0a18f30f43e7a9c025c8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 20:01:52 +0800 Subject: [PATCH 185/318] ~bug fix --- scripts/starts/core_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/starts/core_config.sh b/scripts/starts/core_config.sh index 5ed30281..b89427c8 100644 --- a/scripts/starts/core_config.sh +++ b/scripts/starts/core_config.sh @@ -15,9 +15,9 @@ update_servers() { #更新servers.list gen_ua(){ #自动生成ua [ -z "$user_agent" -o "$user_agent" = "auto" ] && { if echo "$crashcore" | grep -q 'singbox'; then - user_agent="sing-box/singbox/$core_v" + user_agent="sing-box/$core_v" elif [ "$crashcore" = meta ]; then - user_agent="clash.meta/mihomo/$core_v" + user_agent="clash.meta/mihomo" else user_agent="clash" fi From fe27f4c3e43b86548992f7136934ccfe9c220442 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 31 Jan 2026 20:02:31 +0800 Subject: [PATCH 186/318] ~1.9.5a8 pkg --- ShellCrash.tar.gz | Bin 139552 -> 139937 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 355dc046509444700404af51f4ee27a1d0d39078..bb0b3f014ef65a67d105b531edee80d9ea83154f 100644 GIT binary patch literal 139937 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�p1{)-~jhoIt)gMEOmVQzJ2fR>e{K9 z?OUc-0oIrcjNdw6qmZ7JAK~bd<;aOMLr#UEAY3yY}zc)X;N$Fi|K_qd+4ZXuU&4ttlBk872~! zwbv%DuiXW(Rm3GD^1UU3x4gDcYsZ22-s@r&+P2b&iArz3@0V_9nyIdoROLpLAdZNV zg@yEVt=`UjVk|6iBEWmm=<@Z0Mf*3hWFEv*vQ>BQ`l|va`QibwRoc&PdWp*f>iFaV zwaw-%$EqIKqv$93;sH_Sap)E+)@^NsIA7g6_LZ-Wkb?>%%9`DSTBXHNd<~_(9a$Zl zs*XLy;^bWOaGEsMsrxqv)GcuEzd5ioU=!Xhm|K}LlN|?i&cz+!I7K|Rrs2~0=iRt! z4uD583a?HpoHxvVp=DOxGjDHPrQ_u~_+6S!t&iiSdEnFY-p0mQnFbZen8O0as3;?J zYNr9S_1)=Xj<2rmOVu&;H)KUK4JW9wV=tWir_AHTcXhLNOj)%?^S0Wg(kfY!kOjx7 zPX`esX%-Om3h{XHgat%3TQc(Z-b7QjP-sf^W=xL&NS8w6?+~z=bi9yF3>FUMitY|0 z7WDt?uI+nw?~4CFd-rdOMp_zG1~PaA3t2cCmYu%h6M;;#5i{yi+=v&2IllWOsAqQ2 zK+tZ?2d*mUimS$R%JG)^Td*4zU0V1^+!T+*>t-R+qzTCb`@U~ zw(;v$b(LQpsY4Ck%BPcKLc)cSTRjoICaTj6Zd=9%EWMpG%iDZ&x zGa+kP)J#e(o?I@6l-P2oaeR6lXHIrkm;{GP%+vz>NX|AQ$dDbf=k4z8e|Wb`Z3On& zkYCyqHYV3~NioW%vHE`3%_#qKShrpK)@j`&Lo()7Yxw?qFzr9EV@H?7 zb;t!b?DNk9UeVdNhL@6}Dr*{iVI+S3!CS@`M${S1GA0;&Oea(?iw|8?9=u%QKxD*I zNcEDYjlc`^M<>_W9oS=W-Zb(E!)a$E5r)4zqb)7=LWv<*-D0{o0VyrbZT?El`>YN=$^Z{Xq90tx%xfK4KgI1k}zuJ7Olk z-6Bba>jAut0pGc2zW~}AhQY@u+ZmXB+xK+6D+ko$2Tq3-&i4KL?Qjsmd}zn%r0?Bt zn=B#notsJ=DpO9x-aN%tm}eyNex`U`!VZ{it&jSfo}Zltj$5S~gMv6^ord4jq_S$~ zd}kMGzRaoCv)99`fnoq`*ZA9e-`l;to7!*vRe<0K{z_s(EozCa-KT~_H9{7v9U=6EfBG z_>pVs8{XZ!WBa=_{9(Ln&!62nZiUUAcbEX+nX`kt(b{H~dl#@}VS39qoxVkU=v07k zkW-KQs;cGELSY-Mu$-Y*&5Sp@pP0pUt#Y5pz&zH_YJ-J`BO6T0SqigTY7i9T<7m{1e%p0YwtVGsBb>{=D;Zm zlw%XH({tF_%llXb0T)?WbFNxD0>+re>b&$(0K5zO$VEy7JWjk@|80kAjpP&7jQX$H1~u*Rx9hVUKK8BjTvZ{5*Di5m6zWR;-&p4Zg9@#d9H(pA z?Ff!Rt&D*iom=y$;1<=~bt7BDL!txu!0G=;SO<`RU{G zCsUx+_7*0}Pwr#bZvDw;`t)P{{`JbE$<@!#uU`8?fA~@P>Yd8+#meHeetV&EcepzH zTtB;_&)uxfUjBY*#0@T~ygEHxTKv3n;q-x>`yi&w?DNXqnbOKl?ro1(T1yM3%a>-! zK~0Kb`O5WA@D7uA8>Quy%B9EPew)f9%U52IN|=3tG^n2*E#H|hy}ViZA0vxErgHV(P5nNLl1|n{AAP!WkLv{voKy~4A3t6Gc0`{# zgFqpS=;D0{-i5_JeoPAJGuO*kzbh>+>SyjkCzel>9%BKBNmDbM2}^(DS^4~f>dQ~{ z(FYs>cJ2Ffn?60K-y85m?Kw`Y7@L3w$8y@RX+#rkARnuW?ttj-w)-M+_VsoT( z0q^OpaY}WjtUJ4TB*U3aldB}C(PlE0@T;?7Q+iNKFh^V_>>ky^;4Ty98D#qhay^Lw z^LI}^88$^@Eu75t9!}*?4(5`XME2y7biOBl@(6)&GIykK@<;}LrHY5hU)gl;$s;|v zWAJU@STFf-ER}`NU4#+Hvo;HYe zy?xIC8$+sKMx(Ua&RzSVo=XKOd#MZCi6ob4w)J zp+&dGnxk9UuNsBF?(|@RkYuDa`i)!FWg~L#)T~=bJHO%%9|&0+swznxGf5Rs>~*YY zI}MGOqSP&56I&I*Xk?ZW!bBR-!gb9Y;(@Zkk!y3K@fRm0vR&IG4A&%m#=u2&g}fL{ z1z0KBpMrT(Y@NDC0qY_-N5M~@Dibqr23t|{g=J~P;>m15EKGjFTGwU8z*z}0d)RM- zdZhSp&5z=AWTGt)-ckae4CX)455{nT5LVkOqBkvD7#gJZMM*4T5mBsP6>iE>yn;s= zj@7KA30-$9%=&8#mHiC;WJPG3OVIn4Eyx1&+cqMGt}uSurrI`Lq=*RdCp%5+AQk-3 zY0rLn*n@7^ZIFhoCzo5F4B+nh|5{txVy*W4f9=ueFZuso#Zy!Mzcxtf_lLcEy)%H@ zOG5U)#K1uAXgo1g%+avR)-b8jw_$z@IFyG^}`BD>igjljo7N@n4O-B$FI=Gtu(yaYhWHOGFI>@SX4zNmH-IQ8GuvNB*wR&M#>@@%9>RVV zI+}o+8b}<6Kgn2=ks$&%!jAU>`JL!9^Rni9o5+viPyx6c$;~73eP}S5D5mJmB4M=2 zR9|9fpeXIDBVuSM(oDEK%*{JA2&^yp38R;+6uF3V!^p{M2;{1S}iN%7Uh7$tVQmv}i0$KAv9l;b_V3 zeB^+NbyAOAyzF7TAdI+0m^tx>U3;k;;Q*i@dK(#KD){_{3w zS#NYPhO;@tp)P($V5obumG%Y^ocDzH0|vElzWV5M{q$1?@4|VOvU}?4>a`0lwsp*f zqR&mOUj0&k@|ig;>PaziP&zBv8w6MRVqx{_v(o%z^}DB)>z|;xMzsN6m+Sz?tsR^- z-rvfN8GZS(rN0J1@0&X~S7;Q3^}7AQ3m>dIOgeg+Ge#f3hUx9F39`0gD=rF$I%xK) zv(M2qrO&?57cQ0WjOkO)Us3kYnw=?ar>H_xu~8$_TYhp+JRkJ&JFD03>lZ$$JYB3T z-X>UvpH}a_aMX7&5sngaEjH#gBMt8d+DY@VI1Va#08y!igb>crk?PF6I1DtN`WuFg zYxOmV7z_e8PvAiWb11C$JtreUoyjV2g_h4yN#4sY@EuP5m*5j_6tnclQ9)#yjC3wE zn~P6$D_?q1nqP2ID_kW!*aIP)B{UTkQcf~AgOd(clrR}?{G_iWHo~xb^SNvR{OAR& z8^5VPI;)?%BER2aenkBPPe)73KKaWcS zo-pIr(8UCgI@OHG8tcfE&p)nCUcj1Uom*SJU%nNMwGh_7^x`bxW6<%ZeCI`Zat1rI zdUa;?-e=?hg>d$>msh_$w^lD^lX~Mg7r(2n+$Q`3ZGIej)Y<|)Vj&F*srq=0Av-{z zIUMb%|2*LeOc#6n5&OXMhV)7jEZh{JIsv%n(MpT5j`$>NxLodGyy5ZA#UbB*%*|(d zqB=VZE=J>5s^5(g&dykdb7ocpS~5T%f=2ZB*oL;dZs2WGNdF_%*{~^T(XEixN*q0` zg->XGx%{SdXY_aJ|LWZH_V3ca{cYn3LMt}yd9SlGO8!jb^Y5oW=xj*;PCEsM7Jq~P zfoK)*iT=~IXQvzwd^K)7chyQQ-lR0JKddJI5{99Duws%341Ce z8I`Z)HZUhO3PTnFKv!nW8h4=4-< z##8^Rb5zJ+r}y}retMKlFq0%^r^;X7MI{M2>sCKr235(K$H?xL=Fe7_mn%2s_0gy0 zD`Ta_@06>da=T}j2=tkW>gS{7g$v{~CCgm>oE)OJpbHlsl3tXSuIsZ))v;$xBDnue z_1S~9T=#VxiAckYk&gpT6Bfm*VysbH9iAwk{o+971|xS~Ra#N!I&;1BV!~ey50z+u zQ3qC$@(!tUJi(*N^8}CjJhe#z@JJFq!Q+ehk${urZh{BA28Rkgal$EZ8=dU&*oNZc zgLGiazR3qXRy+V9iy|BD6|VMohY_&J9?(e+RCj~;V72=uoh8iKtAQjlj0xCXo4-rvcw7slbaAjV^JU55X-PXL_+ z@QMnsGCp^x_yk;*ns=`Fux&(SVR4Zi(kHt!LETJX#}CSPk?}BwjGhfDyR&>qLg+)) z!vsHS+BN8|-v)f{Nq7RT20U(>lGRJssHQ~7_UNjLt3#JuIX>gD#JN;G5)ROK=)RDB zaOQ%5M>uEIth{G*9^(nhw!$N!36ea)v@Z}p=qE@K#Cv%9#pTlC{p#!!ed<9FFrd$) z0LbqBAP7wWZi&S;(* ztQSt(youn59UjdO4WydL+*h7V=+loY3oF$}pO9`~XHbm@lJ1Q=s7$PmT&gTztPY=Z z%DzGR8OxyV7yHRYX}ls{9)3hxt-kzNe?EhqET4T$_(}4nJbKTZO0jddA5>@WRlgf0 z0R8t&vZj{r1{-Ph-}5qA$b!XKJyyuTS$|}%PUkFYS2|4&iAos^(4}Dn<+ow%rlVoe z#ZoqfO>S#1Q}foS-mS@W>!HrIs&Q%FGk2?0K*WGY>Gx?oN~YOXQ{samwOJU4s-?Q4 z@2@5nmgglTpU{IP9{S~O(%K%p|I;2XCJKkwi)RxVYc_0ISOc}0xBQ$yy<-j1 zbKNznhML67NW1R<9iCL%n_AQPC?10>B4i~rx@y{H@(*2HjpI!O3P#xRrr|WElbSj2 z=FAE%;)VmIv=|LCiLKWuiwG{pzlSf#+WYtLMZvQI*HFgvDq3T-bBGRz&JCTa3^S`3 z#F0hnVOOd6hS{j;Qy-Nt&qYg%pI7fbu09;WzE-|j)Nh^Lf*)h}5x?x($=ZMakoDTh2?`k5ro_LP*3fD$ z84K#mu}ORDEk}phSm6xbG?-52`ZQ|w-jU0v8jTAZ99>(j$VuA}c}~`#TjykbU^rw& zT0qxU0Xf}*p$b@L9MP4_=T>jt+pv+m;Py#WC?bk)pnZTVc=1Fs>2>xgF!)tzP>?pMQvT%Qx?q7C}4~e?qb8$KoXD zGv|P#zHnYYJ&972T5VuEQWhT4j-Dlga%JgC^`*H^CyeDkC9FS8Gy@5$3v8YCM18_E zsT%jCC$3E=9P~mCb=d9Arw7do2!?APeXG{%TCvG63}uCyvRV{tnf|J?!Pc?@Q$5Bd zonMse4fogUd~wD0Yw?RFyYc*Ued-{_xC>ZeEHmIwPZ z;kH_(7q^)by%q`S^N3v&891qKbUy{N}@}q#l}C zyL!&AKZh)9j!BbgbyZa^6nqHfHlkqQheG}IRj02k?|g0N>KaBSD206n#w;!0DPRAn zJpCooFLDr-mM`0mto5O24tl_(VnNb*B|;7rMbN1a?(01q!5(nYR~C=jr3pgU$m)(Q zFvei~Dv|1i-WH0Tcu7XS*`R=bPEk0eH*GxG&=_W(WcDMsRlLpwO~iY0$LM(}##i1;44{kX#)$am(D{{6QH5NHSP(h<+DWA(i%%`RS z?Je$g9f7x~KH^HfDAI1RgrNb0`jWbEX{1l~!RQR?UWCp#TC*VvZ8T;u!2V+MC zu9v8>9#d1+(4G;j-BMK~T6DgUh_C=u9H&+J;(eJHIB60nF`-zXXLKmT4MT~cM+<1i z5D}1bVY5^E#m5NNJ@~nzcKPZ9&)Ti(w&$imC+!8GO$|WMWxD_%FPiNC@LPy9@dvBy zD5Ze5I=o0^v+~?C{l!yAP%(9;d}j$9d8pEpIVjDaEnj(2ee_VDx@aufh~M7H|B=;h zZ`3dp1Xt;zqtL{p=d^Svs$MwnS#_(us>;IP0%KdF#xreLfe|j61())Ip)ky;IGDBA z=?p?4;aUWa#o-0ZXh+Q<_ig6|>Wib_FW=g#VGsFbaJrWv56rnS*eg)qDdbor$`n0D2JHIF&&rqQ7{H7mPC1YZJ7?e(xDpVs4#TVI z_2C~aT3yk?HZIbW)$5n^``7iki{k8%BcS~CT^wDMZW;UNM3$YptAsX3tQq8lF=I3E z85?m7)W^8mY95!cUiNW0S4|ujxZ3y}7Hz|2{Zyk8E<_7%5SqcYbK?x*m|2iVgR_wN zk1(Jea-az>pcl@&0Nq;8<0jgoPqIZKf6~cgN!8c_or|`$nPp;ah&N&xRRj9{N2P`H z9Ska6-Z_1ENuN7iJ~x42z|4608D=Ykm(-~l-k)2j&dgcx)BmC47v*4JZb)anN5MAjPA5|8gSX}9Y#NM^I%&UFsJirF_h_^;G zu`j5g0}$7g3n*M9aXF?0^^!xiq>>BFlsn8tXy$I^!fB>fW`_K1qCb_duc927!ew$6 z=`X&kT)Is-!_xdSIEAe0Y`KaGP4(mx=oHPeRP`t=<4aS+9V3Rg{xR33g)H7$&6`2( z*gI5&>w}P1uBlIpH97hw>6bz?rBprn)DcO0B_>954Ft=k!0B3SxaFaPv0FiKmt) z;<=UVypFz&j>e=E$Ss0p`CoU-(-UAxe|ZCUlVIu@F~orNcHdA&+3{h0^3fx~$g@d; zQt-La9iZ#QrUW^q=SRUCP{1Fz3Q41aXcqes8s1%ktf&I4$Zf{9Tc8Pr(E}18gf=>j zyX#?%7S{?8jjo3h<$X4#x+ZHIf6{II?D&2)v!IVYUj6v-4>Jp1)<`}r;4)ivRS(~+zm6KR2$roj#at@>*_OOc`-^Y$Yp3B(N3y$ksWCGS2JkZ%F z&*0peDXq+uFBw{4u`_<)#LVo>Xcw;$POF(wy7JXoP#uYOE4$7}4X2G9RJR{grq6Pl z4uw;lnbVh@`EJy30>sLy=K-b)wc!!j4j#AYcE^-ce5oS|zF@3_A&x7A z8h3`7KZX$#KFqH{2w!=`j_?n-;N+a-*DVbM{P*z12BWj}L;<(JI`Ak^q)ojLKIR8f z`&h(aGgfZ%K(3#wO#W^xC{^J32s`BmYDlINv_GD~f>`PUaUYr z{D!Iu&<~f$Q#E3NB9aq4uF;&<(4;hYlVoJxi5&uYDM~Zrikc3z(UY3iE8YVH+ zUwo&J-_REqY}XSo=ru3?K8kWmK7eNHq!L$nqj8;clfE*#dUx@ySW63OW%cfYzA#lj z|4)7VY9lLychuOA>g==fXXiIUZRF- zjbY90-ePU|Dm(INa!d>tF3x_C8x2ln2~|;xS0N4H9v85QJca5UE7yVAV2`@3R@tY6 z)h%Crps!r@s7vG~%xh;l`9LjlR;~_vT^et*n4AXV|0q&PE&T0Y3_P!=1M4YI#fV*a_xFz2tsswjFs00~g6jDd`I ztldsv@QBRfEO3grZ`SwXnr$W8e62(c*Pby1#q?tw6GlgZ^O_zMY|!+8SRKB;I`S#_ zaMPcVDQWa+Ek-$O>?RB|wk=Lol|Zlwr$W{`J~&i3WW!%|mI_Ni5LKNHRh?vNKvid} zqz>gLRTchoqR!#MbP$<7pE4tF)wd0g_;0Ok9b)`9QZCxs8twQc{@bf~YKs5X5#O;F zc;-EC?|R2G3Y?@c#DXK_gjoW5;p7MW3yCzOKm-sXCW#b;!PvLG`;V5WP=6~B>4C)# zZiXMM^m|?L?*G}>)yY6@;FLoJ=y)PCzyZMz8z5?N*+7o(1MlsMcl~u=XSh%}c_fp9 ze-FUFi}~E&64{f*p>*%bMD}=bpm4HqD3Qz^g})9#PPcqIu_@O0`!EfLM^9hm=u7j9 zEFcnwz~j5o+to>W%hrgbJebcNNheeJLUV6lzk7-JP(Dpdslyz+yCc5+-FG{8FpCZS z))ythCyU9|7lXfJ8(!-#4E1b^9Bl1qdH*1hGnx*@wr>4E{%2%MD72-IF+&6^HVve* z{l!C@$SdtFEh?}*v?T(#P|TCBTQu^&ZH-!}xjE#h8-u#70yjo`X4H+*y5uudX0=(? z@et&F*A5nc-4xqaIG7D>(V(Ti*alHKYS%7MxkFq{f$`mcXQL5){B&vItJP0mmd`%`c4PW$eR>XO&*eT&Pa{thk2TO?Pn>%XL7~?)mtjck zzz~wAp^W(j8AJ6Y+ojAQaPcTW>*D)NCYO!(BzooU_ZFp5{N42uW4!!4pxf(tK-uqN zH`-9S$m>gkrU)ZRsH>`~^hj>lQ`bGOfl|eccUeAUk6_gT4eiu2sba!t!1jre!n~{B zgp74Jd#^~iC!Z>Kl*;~0p+BA&NP&vb)RBy?Uc0b6eJGd7eZMqibXPw;TE1gO(ueS8 zG$|;)50HXe+83c8m|@j+g7K@W3ZMc$^#0KJAX_^^_6VROWPqu>Z283RuXMI-j&gRg z+M208d8l7J^ZnBG>dG~J?lilvKQUaMp5X1l-4V=Qu=1IHUQ9K=L$gGi zKLLahqZM9}g#(j_$M$elGsFi{Mf*N=56OZ1GlG00N9+wEc{A;1$P^e(TK_G%V$jIh zg+s;S;AT>w*+dVa$6(KCYSJ41o4-NdEmI>xi1Fc0A}#RsA$(5$NMfL~q1Ev&*4fa; zUk)WY8`{kwAL|_$N~Ypuu}*YsJh<_cP}%&l)$+x-r1EAY61dB-1;lPUFT7x^WvELl z@LGH{=CH_E%mJ7kwgczON+i%CI>8Zshuhd$kW2$ALpeU5t+GNfTd7!QG$xiCO0WWC zw!>8NZ3f07yun=>B_mB|`*NK^Y@zJo24e;|KJ{wRCQ&|f8f;NoK;%W40fhyNe6Dc@pa&!x(1-Np5VY2dQt~`FFwD`F`^_Rx6)n2yH;zfLWw zZ{Dk}+@PKxs>sPf=D9}@bcGo<+#451(e5dZlXO%R@PzxFiXFn0VB~lTyLU$+&aSmP zmR@`a2far>h*ZlmOkwokC-=oRSR7EwzvEu6E`LquOWiOO+*fIL3RB zp3O48o6cL%43o;x;l-3K_%l54k`OqqGHi~<3N-M33jNtZBM~k{v`C~s+z2im<6oAq zJc-80OjN#p_*?z_BF2_iN%IKD>pqFx2~doQig1j$75@+zJENy8wjJ4IRCDv&hOm)S z;C0hU@IzW$lc(ylim~p2gpG&sFSHZV0xrUY*XR|x2IQTs+s=4w9JpIL!Ppx2m&nMN zyuiUMoUnxm{2MH;_n(n7nzCHtktNnuBEIqiXL1DYN$f!bvuV@{*;pej2pa^-bfK%Vn|RcuB5kBEm)H8p z5pCHEd<>Dzu4#HCyL$GLe^^X5h}*xzY|$j0W)eApB=;g?p&&gfHT2*=~n0@ZZ5 z5j?I}2+MCq)JzcJkxZMP%enCIaS8{f{9J@oO`Ij-M~o3znA>Phz#N>iTWO5PsV^6f z#|D<=$>X8|&ULe+qT4YFtPzH#p(ii$Cvgdfhh4C30@vG1uFDFKkEMl2y}YiMDO@iK ztU0N)fgU1L;j*w<7Y>wgnFa^q5`fxxOg)@p+lo6C6%TZ$x?_#YDk+de!1x}(cVPpB zot^qEK^S_D{5o>*;4z9i=EvsE8;P{$m9e&_fD&Zf#RTw6ilrJ;g%W?;+9NoA9sD z#*o$!ZPa8JFaHPM zPwIyz$-3=OAs-B^oIMh{r*cE{9=P}YA)G|7QF!2a(2>ZTXzDc>+se6~wkg$Gy04sF zr4kiYmgOh+S-?NIgtVm3y!hYY>FV>R)s?a8>`3Xw!__a(kw5--_$C(f(jp2NjLre2 zWyr{=k3I&m;?d{ezxDhZh)Fwgy|g%7dNJ;;jsr_U+k3x$YiWnv(~cBPUNPSQ=dLKF(8n zaeU4_;(o*%&p?(46lOCp6WsaN?cVsBnJv@7Sz%CFrvW43P|-5u0qW(#?%JpakQw@i zgwQyv5ZKC6zQ~U8xRM|7sgdce1Fzu!(GhQ7hzAVaW7b6%92fiu1^jhhz%AIb3GHTMePn5`p5%)f#vO8 zz4~nR`X#|aQKWyjZT($qONQeB`>xsJLc98$bg)ax;30cu&R;_@-jXd4^jcg393Cmv zYuC$XZYbw}$KY3q; zwtDiQBZZ$P_%^MZE5H3-GWR2R1^1GD+c+^$m=nv%{FvvP9hG^Hlm-(Sz;VLxmX;?8 zWQ6zq(u9AHfV{Rk23A!kVDJ%H{ERT>`tTBIq*de4*Wb}VrlYlHMh)fNxn!HWpZGWv zrQ(@ygtt%q-TdIsgwGq3#J3+Fj*!F+mD z*M#{_z&6Z}#xxH8r-b_4hgE#m5BX#NA=uw4)5UNfU{6g93pH-ib%LGct9N{8mEB=L z^RD_OkNxB1G~~BG9Q#A4XxkX3AGBg;1lkq;E%a`tbcq>ViAgqlP2O46?(OXXL1Gvr z5LBjaw-{g8ZzWc%qhy%qDwsEXV=Xd{k3J#%TvYz_r z)748e)TfeNs6}Sf;*&}JG2BUmfT+Dje0yOSuMoG_;%2f=`=Zxb)x2dQQJeV)hsUe0 z@7`!v?F~V9;CF8@iDzwl!v;iUbPRa3fFbbOOG*vl6d1m^wiy8S6p*FllAH%y$lEeN5t4Wz?}A5V}Q`Aj3fTN+%cSeB`a7+ z<@<-y$rQbcC=ZZt?oqt?iaD_`1s&Y5SzfUOv$%A-e0h8gS76t0+tqKle>#(N%Dhjg zOd_47u^8PBpwzLnxfR(rs#W}<1NPMUK?jtr@%}_Hbu@9j?y;ZXagYDBwIvp772-d2 z{Hi4yYj0`!CH~W^cxsCOv^D`^g}XKO|u{kpPz5#jSxe6PJ`-cRj28b6xIdf!mBh6n9V4W#<>iA-t!Q~jG;*z5B2 z0+D`83kw4Do?J0r>^GwOdIvDIwz6~Qp8cqH(r@3^FHB1AV1^o!>4I@_A1~6&y%3zX z03(i$b*lah{#Jyws(fXr>XA#siRJ*dN{WQwg{#@^2X@k7ILLo?d9gek1 zqz4MUiGh@UdX%(U`C?^tc*+d0w0iBrevFtx7+kZ_Vvshs+S~j~I-lwvO5~IJ%)RpX z^U7DVo(&#Vqlqeh)K5QtYi+?g1;^;YbTZec(Kx6(2qV)dC@PI~i}6g3CYlPT2aAcG zfm9*vBFss1?#a#&CQOZv>m$?UC-;yKRC+rEN`>lk7MyTZX{y$cqRK}fYEDfRBrTOg z0syAJP|OV)X;|?bcd8InN@c%#V@2d#X@hFF5}T<6>LY1TRj_H7Wz;^I%o-AGd^por zVqr!D@ki(0J$2;PMbBZJZ2jR!`t;)?g9S`pPRYt=ggD|$eP#k2f1g~bTn3VWL9+=r zq)&aWU!a-JFTEtS98pEE?^Kj2ct#gt_JoPEppT*Oumv%doCr`A$^`gYC_oub_`_$* z%rdNK*?_8XupVLnn$F5+AC||zw1Ff0Ba=Qxfoy3=_Q;_H5tj4|vz1GaBcKGn`oxBQ z>`(l2}+f%T$c(Q?sZFmW@mqIfO_G$URP%EDN1{&I_D(zl3ACizB5 zlv{c{mjlS>RI8_(nL96CtIp1nDTH}FyMj@ekU)7|Oz_bPzx3{)?g!XuqGr_!ko_tQuYqH?r6+67NDcVH)*;to}aXoSnUF17=3!68z)`kj^ z54S`jil_(n(*+^ej{>jL&3|7ZW+ zJz~^3h&%pY|JAkk?G4by5KFpU2)(JjPs^MzUXeGUhRpGJVj!I;gtlm*WUA1cPY)K; zxh#CsFD~h03ucl%MkG&dae^Ub1_=ZQ2uwz)&(G**z6gN{?*lTs&^3U7>(<@%*Y3^` z*Bw-hdfV4G6PuC#9+EJM8hb) z8Htb|%|+IO=3Kr%LQ1gZq!kPRWXsSz>I^`Htn2RMJB*noA7D|us$`S9Q-wmJKNTVp zT8JV+n#^V>Y+^(>v?WAc+vr=ED*B3SmqH3`dMWZ@cOri{nLC;donj%jZF^U-yX1S7 zwqe<%lImoG2s<Ea)(ft) z{(fl+b&cKcG!bHjP1NXk6Km8E3eFtPya~%X#U8MJ`aT&BS2OXW>3Sg|qKiGzx)9zf zs`?uhjVtlExVX@3P^<-08N?(yM>>6+?-3&jKxWr?_d9|U3xD%^rxqR@>KRD)7ITMF zS+x&KT{ZidR(*Vqo+?u~gQbPj-S1$gTQZYAjRQh}`B(4j^5a$AQ}(LUTxON3OF{VU z1NY<5;?&ZM%*?A5G`M3R`u}a~-0i~5DHaiz>q6K38R!y51HifawS@t6HggNfoHv}UgkPnegXOz^D; z{wQgI6b%-QgY^8-XRH5w&@?oZPO3UCd{cpKZ`4Zj!>gBOgp?+bQRn&;;mNQG2L#hA zoSardxW3q1zlpm0KXlj!QGWis{QUGGBJKH^DJbVLo~`onNCNWz=Q3oBpa{Fd!?-V$ zlv;&N0Y@llYr&gSGkF-HTDw0es%t&8XEPf zD)sG#s+bBX-g7e(+1U7|1!F{${VlzQ={qfpfj#bVTe%xmNUAC{9%>*m@4*-y@M>Ch ziBi@+8jS?=`4OsB+;nKM~GEmRBwtyq_5LS z{*sOmA>i8<{8cp@HaL9gMQOC3G@qegnyww1pBM_IDJH*#sE!; zL$y(FMj{QH1SuIo!X$nn~Mzw_mi8KND@F<3_r_OXzFVN&37O z1mOW_>OFohnXLNkX?=34Ix{0vu>suP^x&aXKBz8oFi|KR&E=(vNZQ+@PCaDpT11=9 zQaly^T6rk-gpwXgJ)xwn1#c2zaw^tKaN=9UDd&5F74Et|%MiSDeLhE_90@$X z==!{-;uY)q45V_GC5%#a)%EeFy@d?3{U4F8FOd5wPt#g`ID!&5u$uzCa2VkOffvZ= zvED-o^1oP1Q#w`bYZ}ZA9FMlPwEGB}5;K9+45QVAkw_JqqOomF{k<6<72B*8W9=Qv zia^*f=}0f};}Ap@*T$Mx^u7 zE0zu-ZA=(6(9|=KIGk#2;w$I6Xijh)a&TUY=mfM?4ajX#Pr2ZR8{YUxBjvG^0y7}A z6LKa59?~OQsK=;Npf$;Mr((m(&rBNI13hZDA~^_Xkx>)d#&YvTfT)vd)g&lVXP z)~&^M*A`tjr@ub5N|w;p2T3m#eOQk<-x{d(K=bco?6N?`stENeF3u}BtCbhQf!Vlk zH)XSxlR26c8FZI=fz3Xq^+fEM5N$?S3w6+$S}#@GG$w9z4|N+ss9%jX2>;iv(HX}t zhYgR7#iq9h7!HTSaCg!8<&(ob>dUU=+p1DeExKI7K=*mtVTbHlKS{M<=ze92Ujgcy zCalK)W;xp5Y&c=`=F~<(QC^^Waz|6IN>yC=MN_P;yALaonkyf@*kFlVR>vzLn~i6E zFLtn#64Q6kz*?pGh0?-l(8w-4ByaR5pOyc0w>&*jS-Mi4y~v|$mLK2MZ(co^)gOMe zIz7yeU0m{sN&V%p>FbMuy=WpGz=q4uDih=ECDkFjXpi;r8~P&iV|rA+1J7sx$Me z!`JnTXZ$r@YeUnID~sa1h=(6rH(@c)Yls9$nL5EhuN<_C%yiL>%nPUSABX;zd39+f%9dC zSna_6)3@IGaA!Nw42viA?a1nw5I>eLhrKC?h91x6l3tV5?np&A^HRS*MkrzB(VW>1 z_ol@O1A`__MX7-LAEF_b9FIy{ct}7{Lz&LbQbBPJj8f564{fqZMNtJ^45CM0KLW}O zfQ);5g-$eUQ78xEbtQc6P?ju;NE96ek}a$8PRavY7M4S@;g>)8$fjs8kdK}&&~Kph zCicr6P#l85>K&~e-K$HB!0g=iV2+IWd3r8m*z{>R3>_C5Vfl522 z`AgU^58Gb*-feZ;yB1vH>*Bxze;DOY*b8c;5Q7@&^XJObH^|(Y{Ksc6EB6;5Rgpju z-5>@Daa4<%mL69o?N#hCPMYD;rdu>QVR?)?b_g{I=IiAW!(#)h#2Q}Rq}@mR<9KaV zO}&ry54y`ajm>>CG!Ax2$R$~W%9i9IA$4VwgSm9JXcJ?uzh=r5tWi&Qo>moX zhYOMgwhtF1hog`_`ZZiy+(&mfk>?b!&3zhF7Sd-=(+2V>+%(oU#3ls1uW?N}?3X?( zk4CU@dUD8`ZiS|g_-%Nrqk+XwC`<6?Hr2Az2IA?#BW)hAw>4@gAv$1pIAGgAchopv z|4AYy-&Pb*grog-0r#jhaE`e$2Ip~9 z3~nO;{~-n3x@w4Nkw9YZ`_ZOtAFM&ty)jR)7)ajC3((r!xK&+#Nchs=GB3?zY4ekE z@dJ<;E;&;Bun6(8er!UvDT7C1d1sr)U*mrLtt3rLOz@U1>azp9e2v|Z*ySC^fzPg3 z>eSdBi5cB`{P^t)uTW!0B-VO%*7@rJl&rDoZK|d_d^g=uW77_k{`$&iKXgjOpVfmg z<+jC(x!gcuU9x|AY^vLJcBDBEe=z6OH#-n2S@GX^`(<;TNy=@Bbqz3&KV` zN@zGY&{=snQhss|-E`;+xXgcHR&4ekmeKLbl!=PAw8Ua{RN}N|cseZz()iDDB7UL% zW$$1rdo*9HJYB3T-sZ|zBcb)V()^{;{AB6n&FZ&T6j=`yN~7toS$jOM{KCD;H&3_! zwPSzf$;9gAY5n6V{oEC77+YmoG0v{&b2qEAm+N)+tF$sxzVw2D5?9ZezR6esZ;Q7S zI6()5tk0gV+!@&fa>B~3%Hk807GmYE@9G!Mqm<%}WqwsBU@bF%?7yv3bvVOZxujYZO|C#?iEE!f&_|z_=FgXwJ|i6b z248a4My-1OxjuCT&wiF0lzM#dB0LIQ=);4B&F_D>@q^~gxng24pMsI4sNymo%#t5QVsDXSW|AXK&z*y5$`T4&v(goYI zmJ)FYSJMe*WTO;o!BGSRp)awBDEswUXIc`EZW6Mt=6Ck3l1Q_b}+jt7ry7 z0@P7FZ24W=){JdgYZtw^$T|J>>fLVA-%V$Sj)~IW z>gc)h$D>B39ZL0G5Nae<7$ihX+6V#Xb#*Dsv*>dCATBl)Ca!6|`91@qHu{H_Q zyz{}w{OwsHxuR_4EkxSu$1;Qqf)ut(m-X2tZ^OSKx0bIy&{wYNQ)e(xJ5ITyI>kGQ zj)P*H^1?JCua^i)U?0;WLxp^#0Ln7!ww1NeE=ak2YZ|T0O;x^m$}|HQ&W5^zge-fu zaJ)dHM!{|+5DMAEVBt{CP^CDG{Rk9Mt-3s`-&i0>PR5}9@9-u5KkQS3b0<6HX49C13K%x6AUu0G9U;rISV~82;OTzwFF? z4orxJLpE+g?UT#(kwGMicA5Wz+cr~45Pb%b!)-?K6)B^82p67W(FYl}1^uxM)8N%U zeE-9P8$YlS^$29~i)@TYp`JXcgo<4B#%R0Nx}|MPySADBqnsQYo50y$OM6bCLltbM z?o&fpo{e^XhfWQAh}1Yc>pMA;+=um47ZB#kgGAts9sL@_I}r&51k-)^5#hYJ9vk$^ z(~r?LeEYtArTHiNg>&U654g+8EATbxkhB%ZCUBTe z5AbwSUzao3l-t_5bI*Pt1FG4zxtKrsoS+R#F2GwZtf2F2Gku(cXNEY^c=zsov}sGD z&VH!QYMK=;)Z%_TXO7@NrER&7Uka}|XeH(8sIUo9-`&#u+3NDLe*c^5Ggl=mJU)=r zPX_xy0}G}$+*UWNbrlNzVJl`|qJ*8>`{0rbW{;*BKC5>hl;%fXeO4wK-EsZWQ2R;M zWX;ngkLW}j$Pn=A#gNuaf91+4dKNVWWD@OfE_9;-Ob7Sk5*XugFZf7s$W>0!8k zMGdPc1R75N=fD=daoeC^hd;u=r5KxmlfJb$sXF)3_(fRS+YiduJ_YV&Y@u>~4z7#e`>eEd9b%#0Jy)Js zDW4tn5xvVt*eaj>d?jho)?@E5!o6|}B4}Vj%4>{{^F%?(Q z1n-}3U{*tgn~3;Gq!f63pp`3o<0t!`6o8wN8V{H9)jMzoGSS4-Cnms%f(b0^akJ2r zUbw};w*LcUaTd;ScAIQ@7KkKG8D3qvK@LsS^KrTnZE5*6$6U)y%HdNnasm%xScfxr zDlhNrQAuLF-Ig>)xa>sz7)|Iy)d&iGhB!ShH&-C-)lm+H9>QVIl(l{B4 zzWj~;=_F!|@qR)Ek6%du_51Uu)s-<`P%+EOi?CLe=pZwVTi$kZYY28_kn5Y1`P^Vn zDv{@Z#Pfv&z4yvI&CSydy&wvTk}*?Jp=<*#_viBIf1p2oK?>bo#sQZyIN2llM8?V| z;w!j(2^zgrwlgaER7?$I3C&P^9ZKYt-+FR6NT-l4cIL9S&!7fn89Ps{aoaeKa0{9$ z0GS>tmPOaB%5t}&EC!k59fQvf5^7>Zg9b7#8%$-ZPiIbRVqI`TBEL*a8h_E65kqT> zm3OB2-7s1je%k=xD>aCoME-;43wVeK`@pzMQQ(yl|E{8nht#EgBSJ7? zyRnXQys#TQAoUs-mBqjt7D&cU@Bow~U78=Qe6fI?LAL$pXS7_44$w-zf@uBj&OkT@ z8qc8n9ku`zKYo_Fz99MsHs76cQIDJz@m)LRA5BJw!SE=>fW0C?bE6qnl&cbFA66Dm zGw$!)m_B(Ggqo?3s>2^^h6qEic^z-=PZtjj^)#n*5vTis@yLwrEWLbBI-8W43`ma( zDab+3c{$mbEqI5boj&@tKKc#Bk-he~w6MU=Cw@7FMF&CGMjvov2HeV{5dzK*7X`4@ zdpE)3<#@|{CM6u_5E?s0}HJgUpYFdl3fb9;f@kj#F8xOm6 z-6OFj8xKSt>Y+Ast%z)YyqG(j$^t{iaVKb(B)8>xm)MQxSKcQ{U~%J71{n7M>9~aq z&nfj5^r;5&7YZ;Kd1C@rjRcM}zQ2&UfMkwJt$t`36#S2&Q?@m3*2Jh&hNmOb;t|M4 zj~;D?Nl218pizZ$eSPWPbYh_SP%&fN#?#6ZUsdjm=ra@5&qwu@ugF?~*>(I1>Z!LA z`P-u(v1S6}Q*f3yYDY*du>QRG4#T2Ut}U)!JM9IhwVAt8>f>YO$$R?v+`os!;6&dT5{X+1AV*QN{K# z45%ZMB}r?NMt`6uOxmxPFx=0DZHxrGg5GLZG8f`tB=vtv)lDhKj2 zrG#{6`lW(#!0qGX^H(j}vr9}_*2VF|-+8tt_%^vE>_3OwuTcRc&N{P}SC_5(zL)sJQ> zGv5HaLdg`t2*R$ceo0P$_v2oiLFVSVIED2P(xzyn1w!)p9l5xps`K1@7twygT{ERbkRPawtd3e0R*LgNFkW`May`5r5fjOgBqq#jGo91 zvi)I>)OP0buK2IQJjV{pP6gv}Y8ebK1>gJ?JgzRQ9*Bp1_qDL_tOvgppbHYd>lX&o zeCnMc#m->vTN{H(eP@1d45qzeaQZ7$jmb*}I2d=vlWU2Pve){~Px4>F!xg)Na3>)1L zymjl9cH2o{xMSrn1STMX;U3a{ww_V=6%iX3VFG$WHu`aG=l1Zs^>Z4Ee@oTEe?M7uB90nU*D|_^Czt2+Cs%!5Szg0!wRu8l_fhzD-5O}_%BWEp|xpEsUw4$u#W<^?a$$nNgGD|_jo3kq>;(8eVF}1 zO-M-z4fLBDEl6+=Lg4VYVq|S0l5sc!L2P=n@${f}BC;iNDw6!2`KrTw_u>2RzgZYe z^rqhY;DgQNja3&aC^#Z^!pXGVy#Wna0@Ct;g3tpfm;ok&4$Ewy9e{RW5=Q4lifpE-ne{S)N4cPMi7+m zrLoU0Ir|7L2);sUIKo0@z$4rTFz3x(=Nsv+h$(kPFgz#Y-glr|jqASA90An@#pAi5 zV%-ofAfnf`?K&VkTOTF92gP;&%cO>3!*jn=<`>r?N4Nj8J0Q*QSO6hm7e@|B@*y<< zcqH3w*S`gh z&;C^z`AWZcO)^f|NX;I;tL@t3aiH7OUEXqr&F_`%AUgWqTs~#)pucP3LOR>ulRFk> z$&mWe{qey>@ldB2H0W=IT(-dCayG*c8dOD5_;?~Szzf3c0 z4=UmLbI+M(tlRHIO*o*|5ohQ_vf&>F_bF;RJ+ECB0AgCW`4?_SAnzV_TbB$Uo6H z8#3u*EF)!3GwEUzO>i0h^@(CSlZq2bJzp&56WKyvDt{`hg-y#LQ@;>&akMW#6HwFG zD*bjiO`2|a-ASN5c4MP7jlF$>DB7RY5=Refp%a7obhfB9&~KX|k@BgKJCrrp`3<@4 z#75fOsYaS@T5XKLe4FvS4 z6OK3QSNo}ELy`dDeLKvvgldJEKKSNXY3aH?G7Y&Q&fg}q1?=!b)HIh^)sVD)YR+PL zpk8u31a>UL#u1?t1_lr}a1TFPy}W|>#yUqEsNA?nPBsWdL))l4nW!v0DxZH`oxDI7 zj$jAowm_9{b!AMy|A^;9u(nZJzEfI&xYy|Gzw#NAalUvt%wkYtEv>o`S@r<>5y%aIr=W;uRUo;1A*!LLKlo=OXko zUlDS$$(Ris=#FB3;I}&<^W>Swh$0MFqpT~f;G|<>1lap8KZA_FXC9Zo9jQD%yG4KT zowV64;#|II91(PJUGSx?uIK%YB}{tL|2V&YSM za!wzgTfO?F{^T=phZ=m8uRSVzx6QMoV89q#C{H{hpRre@>u`f~;$><6OlkfsLCYzG73#7rc43_6c3H5V zS5Uz3EVx*Ef&|r91#y&Ecu0$kMhUhXkuRo96{PimRMze#div;}yb$3kd{H$Ce_<{a zHRJ6dRki$3R%-(1+CS{t1D~{}9rh))v0zTt4%xak$9sP)ot2$~So$V)w{tDB5fHhq zDJc#>wDHSC4}mvv_ylmUyoiMNOC1yX$QC+Q_l0iQv3K|G?R$2vLuXq(I*Wvsp7Ok4 zCXvp@!C}@8tj!lNIKsVQwfll)wSX#t39{c>91m9SU97wq(NA9k$1{3H16ww`R2_SU zKlRxa!h@_{n=CD#$3&K^H*c+uj6pykqa@1{^JK9+y+9ag%)dkUIWiEQFa{|*&jV-4 z8|AyV%s+VXQDyOo#ShpHp-Bb7?)NM6_g%BCTf9RF#4I7v_As*kg zKfZhK&I9ju#ove@*!RwR+jn-w-`z|8z0*Ku8dH0NTglGoh7Gb);83dfa2)Iui6e>h z0EAXomg*fGf+Ipvh8!hvmeLMNY@jey2jDUZgq zD=%Ci3_W^IWAt0$0MHJaG#H%ihez4Pb>~%c#})RTWa1yj9dk_Q1^K?F=df8$(X6S1 zXa?wrJ~Km=zZ1kX(&|AtPOG7@+yC~-yZ zi7tvUTa}r+l?$ga3-!UG(NhCc3y0!7D8pMCUkL$^d8lT>7Y(F{tQm*wfOgO%&*Ch)<^0e zU&28UN7}XK{wbu2h2DI6uvk!4h&d`)PI6o6R!8anR8Cd6%~3enqbl3(>_)z*D!dM6 zPlEDHrAZ^rqS;9xMH-96-vGHE-)uU#mPm%VXvk zEw%lQ>^&v(kvjC=fmG^f?-6NZzV1=PR1><@i8ZPG5nILub(VQq-kqUrI!hS!fdM8Y z^4}_$Z`6NL@fZLP?fJ8-cV7VIoH|1|MWB#V7YXZES_G?8`Rbj@qY?eVMCII!Bb~KZ zz(2V~lV)4hERSK&p=}HN#!fQEOrkgMOi1Sh@2hQ4kv0J<<=yuFM1Ly3C*{mO=Y-DY z&u(Yq=5oYSxL|7ljTjxN*T8nCiisUVJ*mHX4~!SB>&SvY^);gZ*}h{Z5_%ttbtsW8 z97<%JWNutZ(Qh9K*HaO@l^kXidn zI_r&(yr_@1IT`UYv>SP{-~~u zm7m9VGh$yle$nivw8ia#3!{YM?rxf99m$>;j?W3h>5`dDU% zDX#>TuqfZMzo`Nw*VjjDfG*(oR0+`H5dVd`oei6;_u++a=3Kfr52`|07hJ|Hj26}B zes$-lPhe&ab9^>ERkNa}_MGPy1(o93zR*?u{x{WU5747a)D7Acg8@wePEME&Pr$U0 z_Ijt*mmuBst&?MlHTEBeNkNzvQHh9JmJR(}rVEJUPD~N*h!+$2=KgLGNd(}Ab-&`HmA_eWe&xPP7S};nn?fT(N^4M7KfsqS;_1= zW*8o;0GH0D=`>5mO=}ys6ij`c;G)r`g+F}1rRj|isNc@xag4SVI45a)5H91al)`_Yxy*D5Zp8qZPY4Xoz*9w z;nrvRg69CZl`bNA7a9x3{N^T(8$zI|m z1@^Aj;sK=yN;LbNg@c-Xz~f4>L0~Rbtqnv`VykR8-Y#Q`NJg znypr?Bv=|XQAU^Pk3d@nbO!b<1MjTkF!!rT`DuyL{CQRzw+af-8wy9$#oj}43%TE@ z872RDj@A`x5VDFK5qfKuR&G`~4oT1j<5~1tT&H-i-z$T*&mR zFl&<%v^&D7&%&)C48mK8b`jaLk&O&Z-#8*tTiGK5QS6GjQk`0u_9cuL{3Txo^Qo|^ zqvk+8d$bn!U+y~b{9mQT^L!@7<*bf9<;#WdJ?!ZQ%+kWS>hS10sT_BZ(5KFTuR3+~ z6z>JWwV>haMi3=6WD%iQs79;r1!2f)JIxWM%i)UmS}kSj=^QM028Ub1GM^w1>+(MLrkO@L40E`6E5pOvcBWf6fDC7 z+;bfe1x7ooi9Oc}I27YsA;8E8JFOK{#|ZnJ)f!H)woW-1WQsY4F2dBuG@O9CR*3ZI z_G}`4MBa#b+=LpSQb-LOn>~eOf@$&uH!ILa+9*SH?qdk1j76V6&_|!s4=PvkVlFpO zpq`(I1L$XH9+v28=;R!XlAIBz5lh}wy?@;z|Hg{Awc9GRJSo~UUAK8hogkyJ- zVy1f{^F_r<6znWh3!iJTUZB+i0U~g7I7}3FC_e?Se*BF*-tUD=U#_P;c+*+iU}}_F z9PsUIlfZ%Scg`DV3LAkiU@t|q>zx3^wxI&W81nrvLph0l)#>i}Q?w}A?bvq!RTXQQe|{#NKn3ZkP{crJKV?K6Dz@y9TCKMq(2i%!H9uNl zD<=li@nWK%l81o=gob3x03U|(1D*I1*k9vKh?FlxcultJ@E$fQVaO-83F-DLt=uh- z%+|d9tj0qTFs?Lum`MzYxcvk*H1;k|y2k_BlfRoS2J^vOAwnj7FrWKds<%jHo$2N2 zTQ&u!LZ$+PS>~L!2CmOf^g9fXLPywX7=~HJc*SpqneL?NZSp#7s!-Yt&4~z}5^O*4 z2ZwqF(uG5*WIR#y*#=tK{5OH+%?1upt}UxY{WNA(B3Z};C@@hf8yuqckxqC+MKa?> zgM9~h^)}R#&mD!7I&jhq}!4SGCV6`tZSCd;K4h@-j=8$P7te{_ww0w?i znrY)PHPrHIZqx3eos-S2pUCuXS~}VZxuy;tn~4mYfZJd;qZ2%Wb_$;NqfKvoK+XsH zUux@h!eX?BwhR|xLJgaa_L9G}|DU}#?`z}87KZ0v_!J$XjKBd2iN%RM%3R0B8SZ#{ z44%xqcA{4xffZ|Ew17P}?++)z;CR7Kyf5(*Z#RjTYz_u5-(^Be;;(r=!ds_KRdscD zb*qJeEZ05v#;CjM)OPCBIj7F@C&m76anBGUGhKwPvjAEMd_+Z0?A?K9SYg@@k7K3} zrAm)KD%Bo5iVPc;>04v(o?}Z+tyn;sb%xgQI53|O1LK4~{RqRnARPcFqM3))kDr02 zg`2mPzq?VsauNCXtrEH(EAlDYwK{o;!(zh=jD}v-5GGs zzr~i4@W=Y>YHfmpXVt@JD$hRSXCR6a4dk*o@zLVs2?#KUv5%(aDkmRdP6MESQ(skY90&WCBj0;%F>Gy7 z|LHqyg}j8jV4Ayvws=GYy7S;ir)K{#2?OMmd3L%oe+9$OV7@CvN5ja(X80i^Kvohv zJva-p%VIp$&Bh=cimjC;I0DjSmB1=2UYV%gIgD!rz7$lXU2>M-ZwA9_Sr;MC6*VHN%>PjS^p;}>g_E3Z`=MBB zcV${BUpfA1nXeyBTcaMsA0{Y8t*B=z#FPk3%V6Gy&X=1eb%s-SBI@o~u~pd}f))&^ z+BN_ZFKfp-)E%?ocl{Hkx|j9TrA~F1(6UCd-cxpos$hd7xRZje9ptxk_4jZEyxGL& zuv;|X-bFVAHxU1MI<3E$T)Z()*t>=K+e|T6o<2wZTbch{fAkz!xs%5#PydIra!1`A z6`a3ea0SoF440ai3xonwNhW!qhSn{Gq4FYLPF={9yiV0+se~0)NVMh)2KiCRBhKl* zR>Izc*ZNS8)0za1}{p6Bu^+$WY!iqp6cZ*6O{)OC`d4R#dR;o zOC$RcrU_J`G!U}{(&UWUyQ8T>F8}ky;r@6kT^Nj~ljQIBQu*X?DV|S|zqiFxqsbi* z<6PCPh~e%I$IR3bb+>Sbc|v^t4@PiGE@QF-bn=!eC6x3YhL$WE<&9jlYT-IT6gIxNf>BxW-U+ zH#M!-3QcxBcc|&V=$AIG?rv%dv`ETi4??!Y^m6hj%UQyKKeE1~UAhRxmuumrW{yJQ z6tae9zq6Tw8oFTCAtxxD(1PrFWdfstK%mp7*ST8cNRVtQ4Lp7L;m>X#p-^?|do5JV zjA$&z3=g7&*3xuX7>?NP2jHk>c99azdiSN;Vd5lrz$9-qO4VQ}vr)=uhVyVzew_lw2&x2NTrwbu5() zmI}dr!}h`MHj$#JMhSmyRY!+vR-7kAniE`6jGJVe6V6}|sbVyhNaocc=U-w*f{=fl zNOi?vE^ohI8h_bo=`>9XH5yh-3Z=!iDN)ad{@^IVpH_>GVY#Ly9nTIz#uB*K9?0eP z1ylB50OJlDql-r!k|PW`u%|F;KAknR9Nh-bid)1Ya`8Db6mt%M)=FF^I@d_YMvYFq z)nc~MH=hc1D`?!^uYLmxn%y)Ia_GaMp@O4Dpo5%UV}$A%<4WVL;+zoYmt;n1*tTA| zr=K`kxp5YQ;X>rxEBC55zs55iLXS^h2T`4Bu#I~b>Xd|l)sA2u`>t}nH=7K)>49Wf zHej}7REeps%T}NL{<1b*mj}SIwp@n~!Lqh%kDJ9LdZ!BAwhFaWS(e~Xb$9VCdyAI4 ztC}EI$lZ}|U18Y@w(7#HbvT)mtXeB)u9c@xp`wkxTDoQC!u&}i-!qDLW-E5tFw^d| z@1y3uV0ty~qwyWk*f&l-kiSsugqo&63}J6B`{8A9*=G_P>!Xyzj);n2YJLa|vJWxw zBVecFq~Z_}hNA&)vu)lYyS3L$5%EK;7#<0d1Ha|Ff|oGNebt?1T~sIlZT|n3WwE*b z^Uh!?7~i-uuz*-N*O&kb%u>Yzc!`6=ZgSvqwAyaKjj6DerGCw3=oY1?7icychs>xs zGlFR~)YC5)X;k#Z!OWTMG0T>%W$jFA#YQE42H&ZMrJ*nAGb|0meH}2x zj&$O3Oh!9L>y~A+=N4-q+n16qF!NITdM?L>oY~Nu86nL)L_rUi~=cAf_s3i*#pv<&wpr;`M;4D-~vb91lQnBUxR!7 zkk#(g$?%!ully5U**@Dhx7`TZKvG5lmmN(lN?0fKG}-K^8nGDrIvC>$OJ6=Pm7(v- z+2=af`t_OMsuUvdsF^H<5$;kAZ~4;Hu)AePg`3H(fTRRq$!jg~Jko~cx|B6!yNayV z>^O@`ik79fz&&8s!2Y*2A^XQJy^Y|SW)y1(Wofas!7Hhe+u)6&b-Hknj}qM;M^2eK zayTp~=Lqd=`LY^8!=uLHU!i&Q^05NTZ;9-oBMxTMhMEI;JE6h0kbQ2B?15jiA9dCP zarump4YlgksTDLrj!;LKkDlmL^X2Jt`mGcCH1p2`E&cNejE%Z@<41_nO!FV;lRqsy z`y4MdmSA`+#$^~7OSZ>wbFnmg1lw@#?6t&OeW$>92T zX;^LAp=PPV#co(qEjTspU_|YRcgnWW(7H`k#7iF>?4|4LgAs?_qA2p(3kMVFCC$WA z`_QHCgMI5QCklA8yjE@w`yRE}R%=R&W3#z1H(=u|y~;Fr*fnp?3Yq$P;P4ca71aD2 zH@_R(v7!Gjs{0CV#K%Mb7=jPAvxp^=?vhi4IBnAwB z%@IWyVRy9eQ-dDu_6FR=`3jLhARJErU{=hQ4B2RQ7OcIGPhz8FP_2tsztCSy5@gYjVPM;%P9VFD*pvllnC-zg z>w@a^{!PQ8%1IKfZ4M=*?Ab}kM^{(%-!Ff~)pVvE8Z7QFT1!z?6v6b=h~jGryvH_O>-vlH8W#XSb%h z)lC)Ln{xc@*3_Fy(<1Mzngdh9AA2nQ>Who|qa#QSL~J=`yFT+N=Wy}G!t623fnz&4 z)mk@rdACp2D+4slkq04qc4Ag1~E8A$qvBz{##@ z*im;(O3@*8q%XQ@0jQm zp@vi7QpgVtD~sE1o8<0}#`DlyRcK5LAEnutA1QdIQzS}jP|aGQDQN|KJ?c7s!_34_ zhEU(Q6@e>7&`o6pTUhjtjBE;0*+w`rt zm7~Zg3r2=Pz4(Gi%NFxSmVL>CZ6mdoO$_jCL}1;R z;QbHz4<-g!m@?^XT187Dcvz4mT!EUgX~2C#wyZhMX33U<$kw!EGn5!0e|k(qWS&5U zA)+&|dQ%a3FgdJoDmmS}DRA5#WCsR1lu>ah78AoEDF|KD!ixvxGfx)hFOUNmf@|xa z9j|=-P@nnIJPj~U!tch%Ce??5yyY*{u}t|zB%V~?vC|v%l;$gh!jZMXcJjY4!Efl% zcxc!s)+rP(K(-+ow%DQmTkUVP=0)F;qpw>+xCTeB0%+XR#eW|J6 z`3S-row-&%JB|0kc=`MD#Ho$NeEN;eT|ZBprtWu-_357=4B(G5)w|P#g1%(vT=l*Y z1fo%zJjsfWPI8@Aqi6uEKvTckG^B;b#>TLf(8g^Ww)SZ6gW7L58Z{ccK`F&Qd&?yE zkq@y-rRjSLb%a{&XW`Mp&> zm4tq~k+_}X#6<$n#+h^F$J0vY(sbm*!%q|*EM$xho+p7oYoU=;A~&REhf~@83NtI~ z@*0|61CvGXP=NJvd+w&`C2WWPAfLH$GILB&cE!>Nt!FHwmpabf`*rHtlwmKO)onGA zkew${-#X3D&Ms2Kb^&D3PC2XFT(=T$EP&r^-ek_LELGaD?FI{6A%d8;pX;m{Gp3v{ zV;Gpbs$i01mL)Zn!>LX2ToV$AhAI3QBQX644rW?S2ynSLaZR7QQ@;Fz z{^IL}*)!x14A!y?N14p7h>TZDIM&FEHu-<({Jk)H-}Kgv@X#*sX%Kv|>CDE6#RXY0#Z2G^eWv{f&NN7Gz>K*6n4PrByjO>ba$1 z(pFU9zeNn1A^5Mii`CQAs-)OJ}Qt6m@P3Kku7px2$fPHvj&K@8?=Te zsyU7hmvI~*`0O20ry3FytGvVMa_Lb$aJtoS>Kjyj7cnlLpmhgXz>HpYf?)GTSrT+{ z*Mbeax@!@S!(EF_mUAoR!UNk%I*670QKU#^{0oZvbopK>|LYHNaQ#X3;o*fRcc?dT zzPKEoz%QxckGBnybxsYX2H~Izl1@=I|4?eb@*8;F_TGy3s!7&E4F^hx=_rx@r*YMesOjU=;$ zLYgW+0d&ElE3tpC@ic)>@{239EI1=vc!cYrn_az4U(~0sFJ8Q*KOui#*5~K2 zjOd(nOJVDPQE1f5ikr${M?{#V_SWtzd(ZQCb?f zc_d?%RQ(rdoF1P*u;w3&mt!QC*+>h7jsn)d}~f zs!RQR&2{MnFm%8w@B`iNn=!tK_$;&Hh%$u`E?NPDaYPLJ7{>OP_#L>>7SMeXqWV;! zq7jqY*LSYXAPyO7E*7?Q=2ONAa9rcaWexD`6gS!wNx5^qoP7}b=mZXHGuPZKuM9Z{ z+290{i+U_vlIHs$e8|*>hgmfT0#O7IiP*CF)e|YCW|RVk9OLXa|~n$~rQZbnX;n z@gT+K=O~gmD)*Cya-X3zB`r(o*st@Fn0g-KK93H?t%t4aMSv<&3lbuF{4nCQ)Gei1 zVzXGNRoEJY30cm631SF+aArG~hkFqwXL6Hm!$~dD?i}CHAgU`oMIF{DG8V`ho|TSV zFfbl?L?tiIU`w;%Hu#tAf`y$gWg#q`L(>x0#;ryY#JpZkOy8P$hpMdav(=T|GAJVwb@zjb$UYG$A` zO!!j#zd9vb)CDd)yN- zm@wZv2jHAOF1Z|NVd%(ByKT4hqAgu?plv-g z-B`8P$c(POMzYN#Dy>{E&ugiw`QyUzIDqlm@vsq1to-r!5Nv?TkVNQ(q?9!5nmuEb z8oDXaEH0q3AUqCnOr0y#8@yCKW``iA{4uL4oWOXPTaR1>JWGmi${$0nq~bJl`e47@ zXsO(7rQRDJAwi0`rq&q6bd?oqyPj>E#NvYHu2wfplvmk^UBb4Bm};H?9(TcxKQ$N> z$6%fGqZ{WzfxB=Y@VG97B7Uc1Z`7My)(;_dVkRV}pqW>Rr~x`r!iP^jUYI{8^y{^Z zfIJc)w@GlE0L9>K{#7=b?%_I4*u`>ntOyS2s!VeSw)AOyi6jxqsaw^gwtx7&Kbd5< zR0s{^im~D_;c!-@jdt>^?dtkNdv|+yZCBX%mp+m9u5ia6!sI_|JG$3)uI>IqdpOeG z-T4QteMNd>c}fLvd)EFyS+&(@@YnS;y+)0q32)oT4qU+kBRkH2lG95YOpt>zk;;Rr zRP(pDtS2vm!Sy3!L`-zxo{6KJUXxO2I!KBkdjYxu{0Z3sgeGD{i*wGvH$%zt*Y9M^hetp z8=IP%w6?Z34c#vEsb}T0kLU~Xp%JEu+vhj89BgbL6FUNlsv8>!n==U4-)(K&`buJH zzzU18FAWV?Y~N6!FAXd!b3u>z8XM?|)6g&m=5uZT(7=N0p9Ekrl}YAG#b}4tww;!w z)fyY9p%`?jG$K00fEW6P$UlGAc5LtKClJWQXOn|P4v7eQ1O%B}f*9GvrrcnOtZ>ms zli3XJjTfnso6PLSzijC5-GuKGtW@;BpvzJeg7HQG63Y~Zp#wnB`+NT0AH^=raSDxQOZ6y&%8ciC?H@Y|Ur1x#z^sliU`!icJ zTf>bQ2btfp8O5DMPilKzxjd^+eqTO&v2yR2TnS6^bRVf)Bb@c;uIiti)6d>;D;PSk zeRJnOhT6OTPpDC!IadC7vV3JuzXAi$M5RPJnGX_l48=>uy`g+^I0YK_KgWlL$a=o{ zR`*+PilQR~>Og9kV8cE#>^~2Z*^EYZl-~QtTfJ)=VU}6|w{clDoP066Kn*CaH6j0p zNro$*J}yrjZfw}myD7?@Xz4EAn9C=vtoOFfaCOsQs3mp)n!PW!2q87m!2i8=?IyQe zh86<&L83uo$MEtu%2&P;g~|44fNXWll7Je38Y!L)`JQJt4Ds~5p@8ip|0aK8{?zop z(ra)8VbPyM?0(9IgKNs)+^oJhi8^?L;1S+#P0W9g5s<>(Sb99x=;vcV%WXdyYva!o zr`GtX@hohFH4uW}$Ryk-&|I(tDg1xS?Ck4n)PMR8rvqLk;s^Xd02=L1^K8kXuUmVz z?K1ThwvjKDrRsxy$paV~W8H3AcsJwb4$_V4Tj%@tmFfS?&S?6nhY*YK)2|69>}&N6 z#?$G6_~5=6=v+uC-~);=+JE18s};uoz4qB%tupsepPIl>>PiT?5f=bwpJld+qa2Gz=dP;X+@WS3-&>;0z)CXfRbh^RdP(*q>e}BDtb! zF(1zsz#y4-qY?gpoUO)c(oXU%pBzaah-JvD(g^wL2SlJGm7j?6V8n??DS{XWrwy8c z_5o`uahkBaJbe!B`h|u_n05vzUGS8*emy@?DPMt-Kg^h*3-X5p@l2W$1?jBbYdfSF zL~0=Z*LO@Cp+SWnw^^13NAxHbkg-Axv7`EPO}|A({;c}odF9yyX8;57eF^~o{$>jH z8}vSt$zK+r@^K^JRr$0Ikv!~CUp|s}s!u%x4 zytuR?Cx)UU*<5bKH~xMrQs=tJO@p8H(P^iCbxLC$ppk>s(@+|TQEakr)=#wRiwpY6 zYi{d6YCA2%5nKjn-)$M7ePb0&+x=Iv-${Q63o%IAjDZgXGL?9n2;6h5{~tSg=$&Fi zLzv)CLxVz^fGLhqPZ^LB8XD*^9HW*vM!+is2f;&pXeL;Q22kDo8rU~KIwDhWf=&TY zOwv-QaB78EJo9HN^GCpP{Mv0KAcU}xdi1*eFfa@f7lU|#_ImVYlzwK}m&u>Va@hmK;q4xkZXPf!(5H zRHTa9wPO&xQ?9!8PlA zq0o8)(;o^MAbPaGo?!FvzYdi~_8$T|a0pJU7QdNMme%Keepu0W5a*o?z;sQ9G=%)z zOuF`G+CPx&XnA0`ZM`3f7x$Wauk11)4gt($ZAbAOAX;Sfh6Y)J#{N+-Y`tI*K8HnY zknh*pjnOyAQ&a-l>()`qg#7F9wb7eh99XpCZ^upnnleQaPz7=jzGqJf?8i|hvRHfpLvRT9FO zp1s$MB8@I&j?7>_ITmM;1#v4F!ilyxF;l*9vicKY?Y~`PYIF?*&7dql%mL(D@H1tL zkM6h_W!Kq2O~a8p##@iY2}>RAlt*Ivq;)zD0$On$19X%d3CSXcL%*4nz;y}AR#_Q! zd(7MRr|*yqI!zDRu!Yh9Z>EV+p|B6NJ#W9Q)S?l*A5A5|S`w6KM)LyE$yq^NMUInW z75Hqyn3=mk`XCs1;N6>KMqeEM8#ip(^3H~he`ROC%-7O`#Lz=YcPf&ij}$a^B_YKc zKZj%nmqNhLLD18aAyNHr(NHGGwmD+OT=?qz)WM zDM=Xb%Ro%L%($V2u0DHEeRy+Wb{@2r_l}9vVZo`qF334 zKXbiur0b8lp&>$qqJGqalWBp2)W!=50o=!K!&3<#W#|qXtaP|tYg)YU9RyIK$1XW7 z7oL4zKL5CK?qTKFN5B_;`w_|n?8dR7VVwLw`9G$FS8-tmpJKGUZg+dzTkq2}!o_$h z&6upgQc-J5tRu`I<<>W@@lSwGHGW$56H@J z)i)%rvBmKi%vqzQQL4+a@LkvxCs3XnM8$54y#>$;Q-vR>-5)&B?|if{d#stt^Hb&d zTbL6ROSGVe-v0~#3pEUtCegU>ViT;K zS3^D!7jYIQg$^0@TFC5El;geOe140aHGgP~2JiE@S zPXmb;HNo7N{z0pPhe2^T>T1SwkQN`8q!YBE23|yr_ta@_C{G&3u|R%EJ{S=#W8yf5 z#S-JU1brAO4Wv_pE)#p|v;b=4gj74T0TG1loHOUEro)M1L&e-aX0~jZ3A8`@aI7#G zOqS?WNEPI%AblonjFbv{WAvNoHhtCqE+`yO!Ak8eh1!gL)*L?5yCfp=`26fIazZFD zlkg+M$$SvQ!{ZO+2I*PT&z2Ioo$|?hL|Vo>G^%Oph(PbDiiEV0N{FtfqG%b)n&w8; zD9rBG{3&WI-XUVM|4Zs7oSc%)zSYpwo^P!3%{KtC{LKxttYujH@JaRI)!t3QfEle# zP#dgrUxD`RQZ=rs`KT9F49z`Mc8H|Kra41SUmqgI#U>e z^FxG%8-ZvTG@oAO3Iy%K1{|_5n2rv6w_vi_REdh?@(z-=h3Vevp9G;lpxT#%Z?=y6 z1FG~G)*Jz~<1M*OG)^&U?wl;~Raqz4KmQA?++RITkBR>WC!y3}a=AqSVDh^=JDvFd z_O;zs`~Qya_E-G>syq#jmic)!+;8N#!S5U!#EaaBl{KS<3iwZquwe1Q1Ju|?ej(o} zS-ektS^)nJh*qE*ghEMeqVW%T4UtCz{qM%!+1{@|m@a>M3$G&r^x9gox?tc(gop9I zR64D-_4n-DYN$u-Wm`x8~0lQx6G{(S7K3&F*WyH5&gPlg*?QqKX-g zje*e4`lU4)B0!rRy3b1OaRsOq6it<~5gwn+Ty(?eQEO*O6+8_xT--L`u%Vs3 z|7GRI1CXQ7KGG+iHiz42BP}ZK#*#u)aAt@6nbdyT??dd;0{>2A3;Zw44s=MqMI_b2 zhkQ%vIT7#S8W`VCozQQcApOT|klwnTO%}m}fJjHhQd;iPI)8Zg?sbKc_+WC~`|o?` z91G(|+Xnsr&9Bj46KMdq$2V9YejT-!4q`NC( z^Z#7C_7(kKjYm)qLEM|PP068nDP3eLEb5&DA7b=(41Pz$jh2HTs`=WAK2y@dh+VNH zgP`7p{6k@HYN)71I5DCBdP^z+3DW5cnit}~d?qEFV~`9H^T+`z4&CRMI?O`zf(9g= zEG7xRwZD<8L+VU~vHX1oWo&MhyF#afaGk|mhE4`kg^3QV$S7%6d$|>^vZYRZLt5bV z!k%mZaq^HVxXO@QH&QK{e@MnlM{Ocf%vhl`2xh*bH@3q#lJRfczIE&NZLz*x8#ng! z^~pMa24pBsdYSM7WAldIEj^oL5KUUN-iJ2}Rx;9EgC)!hZ<5-jxGV^dvf$kPu;_lz z&YiJsySB>x$3!V)LlvbE*EK+F>FFoJn;l9jJ5nlo1=721$F6=mjKO$zFqsxW@Fiiy za!znIZrHZ5XNzf7DG2lQIz;!gpdSN^AZ0=nUNQCx&;JBridX9NuO4I`x?`8lyjrLRd*r8!{2Hn*2}G#~8h4)dKD2 zx2ciQZmdH8G(L{R3x%;_PMq&jrG?kQ-im}ItGlc)eKYXA#5$~XwaV>-fSnh2@z})GdNW-6a(i=SQl&(q6`^B1ZQZY|8th4Eh1ybJ7irt()Q z9-Z|A1gs2W>=fIlVe+Z7vz=M~n!ZNE?R8G}(>Z2X%%qk7JU!0Tk56X_O4pr~fwRk$lefm4u4Nwq59dKlFKtPP;2+tBgfb`$ zPimbXtQcizqBNHrJ@D{YlN05%6^yfvu|ISNngPJ6S=bxTClL(D!jASu5h?yD#r5*c zsfFj45##LvPn%enQ*$4<5_(h%e9*+>(wf7Y(vXz`4E_FE=!2$^W-nz2Z<_fPOwN+c zi{P6z1~@iIC|rv?t6WsBb^6i3re`1N_s?4cn=UDsX)5Z1mX-jf!;oT1nDelprZCv7 zLk>8ZtMxiFHN%ujwqf9N)1qq8Fej6{Aeoiz35H^d%Eek6)lkp^xPxD>X z*!wOU5}nYv&xt*6ppBMtgm)}zNePbjq!#Ijv6v<$+N@SjE@21MrbJgdkSukCU z+~rWXqeb(J-g~LgNub}IhlI!;3U{@zpkEj~jm37VlkHuZbXcoN3zk`RAVw~!5Il9u zLMWI3@4P3N%1CLC4Udq$ok0lYk|PiyH9G?l8YM>{7UsYSkV#SIJSk)#)976A30 z@Rs@SFt?+oFwlCznLtGY?bK7eX0dPpps8>Ks>0EkveouJl+Gnh*>bepwJhmfz;=E# zo(G={S-zoD2!5loot&wnOLmtUZK}d}|LP7_q42JCqH>)#iioK24w<$?k?@k3*qlc( zF@2_aV!-;)(4H%d_l2*5Fe$(CP4$yYkk{k+)#{JuwvQyU@8yg7k;%$4FunpMKAuUf zasa)~h}CX)orR{}QS#7LClD}(|> z7V%j`6UdsvW^@U<4S1tZpReAyhhI?}#EK%zLjUaDfdP7JpV3VI=UoyCG;!%c4h}A* z@j@*&xwr{chkWm8Z@sNNlh19jNQvEvK)OzC)`3}JH!@&xwyd@U{%i-^}P zpByYeaEok`7dKu+w{PCOEE)+vOwq<&J9qYM>xWtE!Hnr^*LSpMG(VdQt%ibv6B7z- zXHQ@MhMoPfZQJ{MH})+37AV}JkyTlko!i>`cYe!4ItZ%DqPTK`2BFt6QYf~mr*C6z zRSE*#nJX2OwZZP(zN^2-3*Zg`7_9u&fIDQsJ%oYw0@y`ugV1`m?TYQ#xxK$Fl z^jn6~oYvg1>2F@Dxv*w-^T`@J(Di0>Mf7TkQ7^WBd7!?rUp*g3aiK}!-l?|{@C`v(rgu2TPf%&GqWYt+0>Bq zZ{OJy+qJE4*ABq{9<`skCEM8&)FRG0GckK~a{^JZ^4Z>|Z#l98FJZ!Kz;{-#t!Nf@ zCWV+7j;OYMTOFBKQQ0Drsq-+#Y!b)>K`6`bKPhAUPRU}Ua_2B+TCsP_V_HR9(+IM5 z(>&6$qG?5*!@3iyTkT2Ir3j0$I0aD<2s41@Px{2uT9t$`$_k`McO~SaJ8FW?pB2oA zz9d|Q$HY8K?6CZ}rWJMIzU4=OHt;A$7g3MSLmR7*f!#I#sh9NZv;h+-W`nY+`S^(^-kg|vdx~AC);%) zDm)Gpt zS~#*c*iQZzUME5Td4yQ&JB0kb{6qQVZFZe|{xIgF0&8un35Xg(dHNiS4xeYVlyn|5 z)nXJM?*Q6e4Ls{u6Q#w#FGx-E&QiW{yAbt>#kG$J2QF`GqoRE;!{dV02(0ET!t)aQ zx{g-dC}Ld`?Ldyr<`qe8oZ9 zp{06kcm;!Wt>J`POiyFHa0l~}*s_Efq{UsZhd=I1=E{3G4a`KQw{4I0_3Zqc>gswG zM(Du&xU*DlEK03Ly>nYO2F2~%e$%{thvNIdg$42w6_a_VN^dC~t_aS?6QfQwEL1`{ z6E&`*YzDLDzAnKz-?N2-$=rb56ML`-FmWcVT7T~jPqn&DwR--(Ve5`92BLcz0-EF% zG)2xp^UOI!ba&o=qEo$n{mQ-P#t_+kLYcE?&0Zd|VR}72p!R+#{6GbI38b^`XAje| zbw~d{oUHQPW@jaQZ%iHA)Jx@C8u-X)6?rlG^5skfEPH&(<^j8n?r_dQGS_uDj7dFe zdYK}X57OG>37-e7@~rL=?qJjftH#mlQIW$51as@6IUF2eS`GkZ6Lv|1Dt<8aBbo|B zN=INdKJF4{CfEGWSF>(z%fRYEmTy^d};>vhcj{`~Rc_s^f@;qDFd7lz^x z#porF)IOVn2c*mGfd_QuS=0!NuxlVJJPNMGu{rhJS|BW|g^P`)pq8f9hj%LTM=XY> zgtu9F4kK*XllAp(d-t8~e~)eH-P&tEWEG~Nw9<|(z5SkSKcV!-o}INIJH02k+Ox60 zjfU-V45nhlIwA81et%&0E;2beH|g+U$Ik74|A(h0nHAv>%k8<;1~>I=-mq(nw^4R* z!^J`_UDp`vv9c8_2Pb(9*TBVo)?A!UpNmnf1vrk~#irH76GOcXyZX1sdbVxc`Hvm7 z(CRIV=_OR(+0)lktKPC&N@}a*g1j8|Zg}Hk+I3!cSKVz{^^-L9rO~uXMOjllxun{) zb(1y5<*1XivI1=7DH~wXM=ErYju!?NSzMulG_O_EC$!8eZb#M+8I?3&z_R3lU(?ls zWeybDLCYM75HEE0x#wlmp{CY7T9Y-j%gYbVNM>g4hgt|W0N1e?DgZArqmKNN3&{FJ z33x2)X44^gH=kV=D{&S1lNkUL^>aMv>uyL%`$W4-A$?1#{5z$5e4Pm03)26!YHtSV z|7wvxUX$-P{#&uze&v);%)u{8_joVrp?Y&$^oY9|yoUAOHQ^B7iSV z!ptPo$e_6{6bi0cw@#Hk(`{f(-vW{Ezza6UoU7_5Or|xio3i8hm$=+cV{=X=VXeKQ zw6SxUE(KhC2Fdz^U*I9`Ip}}{7P%w9Q&>YZgLpax{|x3b@U!iorDXmu3Q0^LVRXjitsr! z6_ImtVnR=v4Vu=1ESt;D+tfp!yicGP3j>wvpSB`h6Rb$wl;6vP@n43<*u~U}M1gUS z|I!uih;&KuU%DXwTi4o-SMgs~<5^Ptm(B0RHurAn@7Y;13XHWR#DZzk%0C`noSLb= zm@3cTqW5tE|2&3%VZn;Qn6AJYmtQFYy8N@08jR&XWQEx;laV?HorP;!8c={kHr|*j z6mzA)y_%f#mv-`^u+yO7-xFu>|45yMxswQGM`Q;gh0E<1mejwU(63#q zJUflS2q6uEXwDd>tuahXv^ak{RJr&}KXro0q16|ct2d4#RF`WsEI=59jrxh1>VpTS z78xSho1@-3)w@R)Z=Nns+^v56%;n+@TiCdbh%L>Xq3#w8E+~gkkxO?ug$NHlq`r#|(`!_K}py3rZf44G!U+E9F6wj_zb<$E<^O#L}U=D5B<{{iOq=lye zdMTT0keu3*foly5>+gIcLbI<74h_c$0gAd3bBk>*KlUIrngcTJ=-uS3)0G>JWs_s| zG|uN&hT+p*i&|a*Sf7-$h%5(8yT^&@XlZO{XkbQJ;tVEjkb}t>7Aevoj^u6hry^b= zxcA#w-CU> z(@Xlpr`4$+^vQdKA;3U_`pl;bvlE0yZroP6JgZNBU%mT@K7CQY^=w{~`RkblS@Z<4N;1M#zkmhHoMXQTtp3KiGF;FaMNC@ zbaKyobi4ObrAu^|DrB{K0Un;PUh0oTv!#mG zPCE3ijwIqW`|Xki+mcM&G9vk>Gv`~wD;$PN2xci;H15zOV#s5#2U-J$2hrwn#f2JM zVgnxYByo2(wWi>Lj0Y3?EwZ;BmX9AsdvHYmaM!}@SDe5=?gxExTA!LBhazDq7UnK5 zjeRf#x201u`4I^mEI0h%3W9)%2u)$@Ge7Og{^#j*`Qc3Yn;ZJfSLAqRscOl1_)tkH zGFrkh>BnA>_oO6u1Gr=^bJUejtJnD)9>;rq>Wr1 z%27+n2Ygqf5yk#8ClWaf$aL%lA-bSa;aP}lxNn%oiWygh2*6$rd-b;V)I&KCJwYOf zML+SB;7|BJ&%U6|5FDu8Z5OW-gXOUkf>u8#2P|jD2d$xyuSM;W508n!3NR+x;=#jv ziDcIEkd_8)dVo)+9;W zY!stj-QOTX-sL!8R4s%%J6gkUby5{WXLna?*PClw-|XsWed{gwfATv*%h_}f&XeS2 z3;ddA>}8ceO~!o}=$hpFw4Wyq%NJaD{ncn!YkAZg5!#-P4<=)Y4Y6l2f7t{RJ(7S|%DuwE{ERbEaHK_2kl&{`7Qn`E%$Bu6dWsu_vD0)~|er0g# zr+K*ubAp$ri#M<8x6X;_!kz%vQB3Z)1%H5d%bS8Z3l|eE%2~70!&L4!NFyRj4U@}$ ztaYQ}wpF)z7@*g!&W7c@G>(8=$M+jt!Zo%fWO66&4Ur@8pIYF9=H2aWZ@qso+}bg| zC)jeZW8C;1;(tPFKzfOf7CV@0(TwOEC~Kp|<>J;PnB z3BI%*7SJOf>Ln72iovvr7)TX)IFx#?qpU~0^;*gEv29clC$;e^>T9Pi!tJ3qwXpOj z^Bl(4?ZNI&`Xk(~g}dJhM!ML~ZY{hv5)60auZR|Y3x2)HKSm;*3`!@Mg!8{m=a5M! z+F{%f;k4;5CKqqamoGf5{LftZ`cr-S$l|3lM8rlu9u8`%H`Qkz5_ueNVbM&8$jz0L z56O9@pL(c&dawK`u>MS&`sobw(rt8Y|O88L+_|;a5q@8 zwPR=q!loOSn#I)$g@y)46~ZbW=8hMpmh-|W^}9X=e9g_xkuE~*yWT$(A^&u~PbvSQ zFdhJr@k6`Av z$AJ7>90Cm%ix;rbcyz=rtzarWnU{CiTasao-IB&})f&)jW+`~UNIl`_>q*ec^^Gfy_zXo&*=94ZpY(NuOQC*HwB-eK-ymb!ZH;E0^L+Nb$R3C*X-SluEq z7YKzXs$?L^zouqnTQjfiMC|QQt1rxoK@;>s?**Sz>(UbU<2hVUsbN%#wkbb z!#HxU@k9c;W13zUMYVCRm5&}H#}8r!0f5L|KL2=OeiASKIA-tPzs~%B41qxQdUjKP zI^(mnU@}gSL|4&@&GORC*uf>7BQA;qQCP7UiQ1nWx>9?)TKs=6eNC1Xr)Ob)e&N|! zF+=W>N_`&HR6ZuJIU|Ee)VqU~#-E~P(_8)2iOStaN`hf5i$Ha!l~6>!>}d5zS^@b@ zTSd7p^{%6R1{~HB9-EHT%d(xnUYYw!e|FY=k=zY<>{iy7yZSc8y!!w)mZVR*k;9`g|A}?6DIr zq9pCJqPw}CI(lmgT4?IZONoCb{T}nzI9}g{xQ$sb#UY23?sOvgW|IwP`H|GKZIjrf za4I>?BpEF^bW|su^$@L*7Ji8fjqQ6}YgYI-v~a7$wA25+IbjrJ|fp1?*3uicFV5ZO?;;=c0{nU%#W6XkC|BC~?3YC$Kh z7MVB}Cx)eW2j^F&sbqb0xfqukA*hYXUoG~<=+MhEF}7J-MrKCXj&r8Q#LU>37J^*M z%e82)c$SytSvY#IYnfjc*P_%^>~0S;O$7bVpWU-P&WREcDo zw2}78QF&auy1d-IDx%4}Q(x+Z+56@1ZXo+48ya%f)_KxZlveE?Fd}Xm7AKCDkNuBB zQ#D<4@f|j)ScuK{CAo5I-eUWxVr~isQuU=ITRG6c*G+_B`UbUbz_gH2k7$6M!iO<^&W@tIOnafo{;Y50fvCa?nj2S z&}cjlk-9?gjs7PQOef=oWPx3mV3laVxnQ8)W)hy;Nz~s^F@wExfNuHh9b~qUi5LFq z2Gvxe24JHqr%$#DWFN3?P&_cgZ?DWRqk+Zw(->05sLr;hwR%+ZiNb0UW4dpQugwrpHacVsM6jGoO-&==+>ks;KNOkzLKv02!WC*)w^oW%1YWeMM8~{S>y^ycs%oro_WKX+@Blg=fw3HJYJ-| z4j#`FLucdFJPoxDc6ZeWZ1A$4#_OW3bj)-I9`iIL5kXV2AMGT@yeA!CMGTIf5e(`E z&&8%`>5lzq4Nx65KpA@68E#ru3#3So)18r>^v$%)p{~e{6V8-pC&8-j><BO`$PNgl;XxC|;t_>ZEsX2NTvyBG|9=Sh#hv@ILAj{{X^GgTS{0%)A{}r}sK9xwW zNch)U@n0idU2^=_ZixTd+1dUo{_AQyON#%x{ck-xclK`TagO`SOF+EWe{9&grH{~$ zs7y)@#53ta^3-IXqph-JuBAxcYLsF|9QmdbSRQc$Ml33f=BZrPx?w_liyi;V+Na};8eWBR(vF%+n;i-&}pkMoX?d;9Lsk(8S1+uw*#XHo;$3FEs4Ez zAkZ{v$yVH&0Dwl8@9@ZHDZFiX3`2CF5s?fRW^XS}omf2oVDaV!LMbp3nSSbI^^;5G zE8i^4-q&y4UHtf-K79nMFA@lkjvyYB^7wx)f}s!WhrYP7@a#Gm8C`gY0p1qoj#Te{ zY0NQPRJ}M=y>YyJWlo=dEFx=QIL8_-h|NW#(2~BBCiSVg%E?D)Kf?znc?3;;1tFO4 zeyJb%p1jBKjpdnBq-6Q9P+KCiD@uPv(7L z{pTOyzZw6-B;!K7G21xhmiM2eEthxhfF+k`Ie$s*B$Am7)n>8DQo zJaM@E{bliY?+(;sf#2c8q(1q0Vg8(c{0ZS}WZVYJlOvP*12sceV;vC?C2TNGA~Y50 z_*FEDNet$KH4_uYD1Sg_&^u*Pt{ObVearj z$S~acgk!|KK68$cL2{;oHH*Z!G7DjP!jq$y9KhwvKa@}0l*^RQKgQFYoXUo8?xU;K zhiCB;6xF5PC?FlRiUg8v7ibE+qJ+NyCG?r85nm!f4Vx^~(0NnVNe*!f*y*9@0V9Y_ zZUm9mh^Nz0Uz_GXXd<)Yt?Y%MC*qB0dR$=`K)cerqitjFrkz^f&W&ySZ}xAuEL60$ z$z&Xf7FQb3Zm|~0-{Y;>TpLTi<oMt_JaiD9;iE4T!C#Lcz_iPa#ud{Z6hg zN!~!KtY)Y@`B2#LUqA6ZIm?(;+~rwuve<4pnQ2KN^ntd3J7@A7Fe}2 zizbq7PQg@yyhaTa)uaT(32Xn1|Es~U5r=l|+|r*c z6c265#S`zu)A8(J(kGP#*8v~BHD4E8 zgiDeq%z;$e`F~*DD5I}mxmSI0adGOn{^INMiJwrn>Yxm^8O+@I2%N-@K3SZa!7RVX z=b=Aa<>|TV^V3pfHBChVYw@H^wWfb|oa)T<$!{xX?#YZQaHBI1!8zyYRlJ^c3Ht(? zt*IH#;Sz@Q8RQzEx^(DL8##zk=f!R0kF#6`aHEcmzLoFmRDM=aINwI+g zBk@A5oCUvnp4fyt^;jziJ|^nhw0-M_-feAtyEbp`{kz6~{k7*G?`_|?NmH?loBI0O zAdxhEN&k4aXM67s_-|ite~(}%87ytb&g~HQrfu7Xtvx<_FDT_C-RRxfv$4NvXU~6= zfBem6!rEdz&L!2B(}-1J>!?$p>Y#HxFHKBeZ2>^ySut=v3+`&(6lD8(m~Qzo78g@;c1UT?Y1>eBj(z=2fp>kGTMOASdZ@1DY%-5)f) z@67N1(n?xhw?Qn^Tdy^~Qh}=)G-h`|_I>N$|N-B^ zdUs&VvW3~X%HK+O8#`jB7kjb6xvZ zanE3*+U0KfYZSYCRRSebHc{9DG>Y3`)6I=XJt~h_D8Qk?GR7?=Ea}e^rz{7;&l9H! z6)?T0+kw1iG-dWa8gxPkNe*^lc7m{wE_|!-*`J@QK6n5bW2P^YzXbre(R^|Y?m=fB z5{`a}{kk{@oG$= zu+ngdt!P;v28gC~5OFRla}SXRT$nvWURLiM){jr>r@pQneNuk#DS2P{<_^8uwq&s(9}yVx(rB`jPZQaqn9PsH4dtPYa+=(FndjJ##}+59v0!E@ zMp8tDAQ)MFc84dPhH#-GNF3-r3hP3lv9Yn>FsQUsgF(_(XgHZo=0U+7Y47x)t}|mX z8Iq|Acc+vKFw-{EyQr7mm>`?0`^bORX#sOX0ZVuiHq}ud|7)Gr(cZ4~F))sTc)~cU znly`8VVovnwcuVY+denQCSFk$gb9 zA4d^(9EqwdBad`CLKq`V*)wsM(FWj-e@n*cK#s#A7dd6bfARsvlC1&Ch^;xKm6^^Yw3)E~XRh!pWGU^_pp0AL) z+9SQ_X7pm=#e?#hCy;=+mI}KbuGOyTbvR92l)dF^w<}kUd9PyVdp%eA{c2w&PS01M z_b?hcLfeYTLQxxvr_nmsFvLZP(JV>ykOMfia-nAA+(YS9VJG3l%YKaN@ZK|s2qz0M@!>}-S(utG?G-{Zp|0!T^bFq3Cf8J1|5mf(oAg3IW$jpLA=Z1#kHe6oD( z8}fhp%unRazbCFxn(^<6s|&MpK&Ec}0E(;U$H;LkDKeZ5{<||jPn<%!v&RSYe2=e{ zIZv(Aj1Z{dR+=A^yoz*mcC|7otB@PqS0KMiiIH`5s6S7fc5AYH`3J(Q>PIe?zdsAN zO*0==Cq9<46>wRWy7L_f4yTHHO9R1FE~K=Zvgoq99d%h|Pbdem-*XaC=LDh@5!A-D z(oM<%*{s$rbfkNnNE;|AooJKiluzLAag{I>l{<&wDut@=2tqW05)<;SI(c7v=m%uw z_<&-TQ*YF|0&HLjoUzr^<>jPjwiSO>qO-f|Sam?LZ0M-RA`9!p-J`}DRNCH*i2ql} z>MO*vzmnKjN@B;}w`m8hRB7A>!meseEwfoKJiiMSfa~#Tk^k!y`%}p!O8nTTny%O$ z%iCpr_wui-wmj+$4BmJZ%(k{}=->F4SBe5xMS-y(9u)-^Oa6du{`eM_r$|A@3(gh2 zn-MX-9_@ogopp&ysv0;4$AlyGN*Xv@mi? zY2%3P_RWtmbv-*kkcJLQMuy||JIK_p*csxb9Uhiu#mY=)R>O*wHTBz64c4?`bt3t{ zv^vl++lXz~zOsJ(%~-#Z&XG-}vVm2c$sTqX1^vqA)r-xm{L{O=tGSxO=S>-@$W@|P zZf!n>p)z8S7=eR?ig35~8U(GD$zG|D%rkD4hNc2zCG~f-QDT=XMC{d%Tr|!GvcVo) zY6go^s`}>oZhB>!P7i{{dmxwF2P$vcE&OjA&VJhvA%x7XD@{|C@%o9}U?G@E7UP4Z zf#m)m8F^@^lpQRla#>!!g>>m_((IQDPmWc-oyYjjB0LdZ+lyViFna<*8<7L_*|Wwb zRQ#`f^R0Ga3ZJOhZ0P2!e_EU|fZ*EKfL z8I@m%=_Y>{OW7=;EAW=iHu)o+Dii_J$V*sRiY0biTu2BoKZBOmmR-REVMrPxV^gV* z5<~wz^Uw*CHf`$@xS#@|falOn=EZ35ri|B1@2D4)m(g6pehbQ*O$o)Z_+BcT$c+`q zQ7;k@@@|n&eH(XFpAjkgF{@pDak+ZqI9J;#2emamxV=vWt}i)Q$|pDfy>*!K4 zn;6NZvc-ay$`0g8*+fChm5S^yfr=WTJ*1y-O`IY;y$T?Nx1$jvARs6UU~}djo>;JH4WMAK3H3?^a>0qyl2jl;WWm%B`!0z#X+t+rq%kh7^ApUQ6r2AF; z-_>}Q6#sX}&h3Be-PE(Q&p80FC;}0HnM5ObwnsHa8uKRMX5;pqJ+c0O?C6QI&y7O% zFg{V%s1cm%1lraL2TVBllRxP*=Lij}9GymgB=J#7P)GG@J`OfkOcGMjXJw1;7BL=D+zYCL9aQ{a`X&M{%xE5;_XncD}RF}ghCm11H< z1Ewt5wu>Cw1YrAqd*7COI^bc8Z0iR@VnzS#{Sp9WpUz@#M5qlo{|EYu=~ImMqfrcM z`N}h=7M@?OPD}#BCh-flThU01hV~>v)j|bML}3P)mgG&^N9J_l+F=Aj1_dMw+uWWJ z6N)FPL&v=5q_Aeqy??&^5HwP&dVy%qR&5}ZfkA-CEazOUvawP=h2D`tP<3nrcrZ3tz9A{pni0ROv7_R4!yc7cwqw_D_@EvB>7oAo z6C#eFeIfrzEu0c5dp1ES1-e`Mb9hvTp$a4eYtmjy6@A8L_NkAt-_-q?W46S_GZ!&i zV)^KE5DcduvCC1qRGgT2&YTEO?Er8}hDA;ky)>ptkqy51 z_}!seoss4&-yLsIg)Z#T5xhXvjN``8Fd!2H_fkhE%2$q>V;`%|0<~Q?UL(90v}Bpb(3r)R6Z-O zzEN-@zU5Zl0Plfkgo)PvVpj%UO>TGJgV5Z)s zHt>>4M|fg1L6%zm=y$TX(uiZFTR0Hzv3$$nQrt_xCvu!dja!>_T0Lc3e^8ew8%|FD`N=xt^m)k;S7hXJAy!}X~T0kc0 zCA~pHQkt(2I%sZfJY;D;G^{#)ok$b))f?2pZBBJ00_zQ|vXm5wSfXu`sgyfO<0nb= z(Z_IUe`K*%I59SjPnEYZPG`Kf8xGx4*kn9XJUcfJ-5y~fRgx780w@ALc z)4L76pv{_7XPKz}XSFwg!VA!3nnkyxvqzwEhhZL7QDoGyfA(6o-qW?WnyG(%46G@r z9Ytty>IC_#eC34x=?#-Eq=p{ErUUV;|Bw_PVHMS(>nheyA!$(a%zQ4(*PHwa{*(dW zqs~3T^TvDkp&HlNu&#i;+e`(l|3A0t@;NcC2gb7&pC)khh)d+QJchU5b<6UF+IV z#{tH!Y5X6Vo@&nRF@=35x+q7=qZ62hoKy;G;}rfJao}QMJhL z93d}YVZ2TYx3{-StKX`X3gqo>UiW>%W;xEBg+q9yZv8zyR{bxtyINKaa4r3B=i0EO z|Ly)md$_ZsYwauj?`k|t)&KVOZhQBg?SFUG0JAc6>VO#rzS08!I<&yXjd*DqMOw?7~Os;sBs3j;fel(HRg8tcYdO%5(1Z`|xjx-iw$eU_d6yD=Af866! z6?Z3{#-P04My;?8He*v{CE+S=_xRwmpk^PD#K@8jDV?X!!AO^8t{A%^d5V#r+A+TQ@ z0{h7zh+hoC5;f;uG?EgR*}$>W2Uz;w7X+B5%{V!FZayZU6=s)Wqv(e_91g zYC^b`=|eu5$rY2vd(dC=Zm?IpYbGr}0fu^hqb89*VsTKqQUIm6^l2mk+Gmbe^!q`9 zW#fBs4*U`>aD}Y2xMEhs>AyH}2~skBe2=hg61V26jpi!gSTRj_U8;8mZz1#Rp*WfN zfaj|MY1Y|*QH>v?CmI>8L9BeJ%uo23{?_=wCf<_@U#g~_)A5X4rkKhk$*~SaIz(WW zal|`$;IyX=4Yod#S1Cd+!IPi7^UGBL#&~1Hc&jW%IcmEP3S{I8YhSB@iev^r-%Vd} zjkk}fyv+ijQT_c^jqiAhqHBC)U`{%41-tjVQG%mZU}w*UOB0S zI$N|5oVoCf2Q)Z72SffHy_-S^xuvn83AOgs7pJN>juQ!Z@$8GnhGMQXxL1}-K^%&q zUGAJYaZ0{B=l*wA}U45Ew+fE+}^>8^eZm4un z)g=3;V@xXanAfZ>^Q5z|tsPr}t5v3M;We=45Kq{M18nEKI?0p-(=$G|fj!!uwU*x5P#(M;vr z@AU^4%IBU`zMrqmUqh9ZyigcTP;`_KQbG?ygf_-m7)WeN3u{=Ow8B2)61VC{|7YRZ z#mfK8EuQ}Y;_5XEWMk#p_O>*$Xlu_N>X+yA@=of< zFgo608A7|ZI5DA5%^@7}fn`;x?;-U(?!E>~l!}HhJ*UZDq!U2?UcbJvAtGM##bF;h zOr?$KVxK$VGd&^6Spge>y3%;R#$+%tOg;D{?7j6~{-D@}FFme)2NXjubtSuDCM0Ud(57>nnV z!FWCsN)`u0scfnkOoaNn+PVE}CSE8e^D--DOc5t_5Yp!8bApxJEaI*{I}I3m>Y))* zv#$17dKuK4+XyD<1CKvUdIKs|@&+RhH2`PUAW=uU+;!8&6DKP-&XR2?V)4jSkq}J% z>5S1Ei3-yDXF!-Y&gHSW+`XSQuL!{#^&7nj7 z7S#omiesd`T49c{QI;rI7`v?0mM%8IDR!4G3?8df-|LS~LzcrkhZk>tQaO9EGIuAu z^&QB|_~l_ZeknHEGi@P7A@fXc94J+3XxI@?kj2ZkP?n#bGKFF;A0JLapc3+(@XCd3 ze59~9S8UPD3^XeNWPw@>=CJ@jL)d4~$p`?n5q>b^ce<||uvJ%hi&wvJ z>|dt|qC|xSto!1qk*alRXkURyZk7+_a<=1&Ga_}OC)V`LfHgEUX)N|L?G*OOa*~lJ zjBDP&aSneWKH$O9AXr?sa;733Qjz~J6r>l)axq~?LO!Ai2++l1GLxV@vk6uwgC)u7 zrte+ScZqX03NQp_^UGw8pT2`It&gXD>>FpVjcWAx;y>vRGi4===U5#Abosj*gi(Ux zEPOQHLSFrtuuR^`qcu^5EnpIBm9$a5J|$s41S}+N^9a_I0^!+c5#`v3hy40E=zKYiL>wB2~w=_Vu`)D#x4x?4q z|8|ALVQc)Sj!5S#{qJf#ON#&9x9gpa+qeC#XJ>!UPUjHdaw+fuVwz2w$~K+K?&CH2 zZ&HR8L5~Evkn{#XHEDek#-bYt8sk-;eN#Shvr$IqTI?s-o5#%b%Oz)^Ev;wmkC09MqX?*A0>i&4H(@mM%JeCk2BS~)1=O>4N|yl z!|<$*{*zS&7`qdbv{lsrDgE1->X~OhPdFtt(r;Z_nEgrs zW2uUH*zorCooh1$clpUP^OHV(Wbx7&Wm+nx9HwKb-ndtN{@lzGiE1Tfknl`ft+gEI^}70$h+Ct^%$cbwc^_(G!@D4ltb} zK4Lol-|rOPEtByQ_-=vpE5vv1v*EL$@ft;;dhnf90(@tGE+f9n=^kX>w9#^k3B+gV zEs(E?gVRTsnz6xi%)!GSE;4XhvbnLPfaCYAvLrQP%b+1#_^pXE5Yt%-U@37%N5)S& zWa5OCX)aW(v6U^ZizP1Rit#l0Va&y#$H{2n7{kOy%2BiH6P`_d7%T#L6Lw9Pi77BA zVpsY60Sl=p3OU=|S|P;s(GfQO>r>SSkMxPBsAoh;(AaH47WT`WifL1bGA3DCp}|u) zD5B6OoD%Ic!zKyY6`9J2?@YsI-djqstInNz>kzqWtS4hPIT>#+%pN1#Y+>%R>ftkR*E}_~c=-riIeqiZ!tBxVxhG;~Ab0L0 zIf*{k9~{*u@0BO+!rqzs3XEmXU0a+y?wT2toOPdEt3JBPntXNzQ%sf5U$5LftlvIb zIsU-)&^4dH5~D-Er3ZTn6_~L= z(LlUZ%mtk4MV#wpiS+MSuVzLXVSKPBE3Fetrb`7Z6gj}=>gbd5gHJ2p+#v#n)3stv zVZ&&{EwPOkIe|Zp@f=fG!5RX>7Ox87TXbc7)_*i3kbrgy0kj1sHuo^R+&!c zRd!rqFG?fjc&wTvnHWn4Op*s8FdYY-%E6n+xY2uXk~S!j=J6wvvNT}?-Fh39C z=;>z*^S2sto-qsu8M@Ylw(=PLhAmHnJ;Wk4`~<-(m1Du~pu=oJSU@G=A{lh5DBT7& zHrPX|OGQb?S*Q@W8KWIV2Ap-2#+7PpV7-TI3Rk{qY>)@1!6x9)8qjleG?q<*@*oKT zuIY^L@%s;ou-42QBj1G6+A&iv04r|fX42qhtH`t|uUNV+Y{kwj5nB~>1R_QaWrAdug2SZOut{-9?3Isu8&T|hjZqceUj@-H0bCLE z;f_L0`r#{N3J}3v5Fj@~OIPoHsh>QCJtD%_zxF$KTk{_zf5bo#AII=@24Da{C&d3} za`GgpP{wD&%XBPZKCtKJ`KW>I@_dO2vrsGQvqdV&hk$3mKqIJ&7X6RBjWU_UfNc+n zAba#M8&2lvF>l>cE(ZpwmWz!>xxqb z?|if|SIQRi2V$cfEFMGeCUdy`%9&i99Lx04Q1pG?9z3Dj2a^(A#1-;-kgh;dGt zG1<0h{AR4R##Mx#^JGD+Y=a@i|Cu#{v z%TO)|n**6L+yLw(1}mLLtT-^PjSa!L0(cCOHhK z{^T+8v{Wmm4qa>5?J@8u_lma|z}E4E8*kj3D{^TJ+OK?kU+%)owd_*cHRP^yJrI-g zq#<7{lS`zA4zSwzBj)oDodua?q#w4(_2rD);!-?J;2U*te{AdwkXA>eWk|0So_8% ztv{J3Y#!N{yLvTzukB5yM<7UalePnm=L;I(4Ivf->7<5qvPh0=tyD~ zx|GSnTS7A9BO^(I7Gp%Xpv8QL4*A&2f|kQ~R8`*Czu}!NJ+b$CH}(G|+T9N0P9%rm zZoD{_BWFf2A8$+Npnu8CNE!skLXl9+;R5Np7Eg>quv(Z20GLi@hshij_U20Igf@@_ zqDyMzp-b3ga{owju$W9}QmZYEn|E#566^UtQD1Zw9v?QhiJTfyUz@hF|MS6o4wbTl zMNkMAbIcipnJnNcH_8SK!g3@ZAB&~3gdK=dl5es75noklo-oKE+T^~Tc=ynuJz1K! z$e423=z+SuvCGj$2|(cWfq=QCL)w;&u?<_cL^t9II;zqA6QesLYHmOi7u4_cyxY6Y z9JU_rz~7_WDJp{?^VK028!YAXWL`F<3Iy>E@Cxm6k+EDpq5Qz=ZUID&%GM&R(mSQ0 zA%d9JPw9A}xG|T`*}ni&mQa7{>Dx%&6>#2~eXkGtTD8bpaSuN(uF_4Dkfn79wQ2UZ zw*r007g`Bm)Ac=}Oj>gaE@;+kDeX^DEld7= z3Sl)0kY(}h39nrX(`GJj9~S6`ShcsIT1RI)$~g$7qid}XaVbJq+hHMOw3Km;{~1v( zc1n9AszsF3A$8hTp!OKr&12}`V+b!{42~VQO}@3`wgUFW6kC=MZV(@&>SW*!9i{t2 zK{MZw$mAOmsJ9J5?6Qxvpb-mBigy6nizP`woTeW@hgD7Ja+M`P#Um^U`>>P zrC&i7j}L-nbUb?iex$NQ;w@1S1>LQ_5=~xMxsSgP(?|Mn5dCm_{esWc5y7u!b7F z19zGou7rSTX)eJv29x=wy5u1)nJcv8YhsOJTrcE0M|$5^1D>N}|F@9A;V@NEXME zOoua+Cu>d$f|eQlkEr6R01KDOKu`!wR~jDx71n`9BPxtFOu27QmUQ8FV)88Mf8ly? z#q59G@_%%6bXfGikd*rklt z|30?oia)sjOIbLj1r_KJq`&In6)p=-#w-uKerSx)Y1U#jpeG+G*<4;FJ8PQhw2p{4bMS~2g+{KtJla1h3qS2##}_R zg%?*VXD_1pGI|c{GoRu_iQEGAfY@rxQRhd;ZE%8YCVv5uo=xM$xu!O_c*PzYv8-Z0E_x z3-jkNbENo4BWQ;F@1nd~W>1U}R}3^CX3>(;*cR(mKBU>FoH z6vh(DiKVHXl4&?Ljs7Z2W=He!3^h{11&1K^8L)Sc`qb(OMI{wbdvic`C0BiXFw@1S5 zR{6hcZO1G5e>I*Z#ed(`*R%88UA>!nVq3Ov*wnMhIR?D7Bm{4V{A;mvJc}_+DB3kP z4(0M=d*j7=BR{pT@9fU_cfA{XuV)L9ka|4FbrO-xNZpNp*}lE6C)Ts=Z?5FGofhuz z-4WZkecR^VcLkjjWkt9iDJ(qH*}kK{m&k5mC-4zoyjw0Fu~F{bHoqs7R=8s*y2_Y! zuN|5^R0g`k2HI8D^cua~5{`-Iv|$OK@7>U!&R7Io$ZwL#C8EBqsr_!!vwv`;gxQzm zELdqsJQQ4$NsSbOYXWxu86F}R8zB-t=%=ixpXaB}CX1oeNQ_?C7GmhEQUHS?(kD`2 zAgS#y#;}gnv&ccXwhXJEa?Ex+0i`%+sk;;Yv{$vnJF*x*$-xNFl?su9|BhyoMRUY# z!#PnDG68TXEILY+4(xBI!U-bdLeWfWze5Sm%g5pb6G44p!6b~LhEhRg{%rNd)W&UX zy*r#n0)Brn%71Iyw^@;rdRA5+9?_@2?%naXZtMKf#A~S$EzUg182*fD0fLIf?tp=U zT3|Sx8;GX^M(Ft98d@kA3Jptd3xm0lWN?ii-nRHuqMo_`)Ju`hs(|LWcy)o0)6GpAK5Kxssz-;BnMb^@V;Q#PJYw1@yK4zp}kOt#s{kSbCn zo-yQr+`N6~dmDCcijn_pQwFx9lj3yb#CF=%oA5~b&9KuRvUM#$#vg?72aWLqfPnV) z+gv^-3ro|TDWTza*#8PhQMntiuv|kmT0$-=4-& zX;d-cbV9NCcR)x9i?x08W~YLdgDMj6J_VNOky4-!M~==C-b1CGR)=hbjkvR?uYdc_ zp4j%kD)*oyGnm*_;x(aWA@wh?I+By=iB_brz%|?Lj|bu6wpoJBlsa z--~VS+3KCWw$i#qa01xRM zC?AEcw^C$c^BSUlp)1C2`y}^X(xOVHF?@|>dd(^Y(fbze zwhccxlVK}K?^Sq7_)&9paVPa|-LZXVzeVnI5fZT=$cpZmU=$^Lm1b)kIH=MXso;$TZLf+{o&MwSOz^@MYb#1P4W1>(R zSl>y0fzAO!yRYveKQQ$OHqz4A7;X=1|6NEV)2Y#XY~!YF1cC;!I|}PUp}|C!P-*-Y z1UY7SZ-}nb0r~7B$F%lts<^i_P`Ug=^~DziLNnZx&`{i!XQwOkSMW-tMF7sn$AZJO z3J^NRL4ky-1mB_I&ooUU{*^vI$C}WOy(rVnM6Vg3hxZ0Q94ib4lciuTKTK+OY8%tJ zQer4g7)Cb0W;{cUO2s7gf*&06FxrG=PSqMxUL5|~v=a*YCchV@~`wNHm9*Bs} zl7%$ED8)(Lh*tgRcIEk}ShpGSK|Oh)pZ>JP5lnm}6&wu*Gy4dOc7Vd@s2fHppEkj0 z>>`8MFqrP_>)T1tv-cs}cpaKpgRw;yxWe=vZDUB~1X(hs2 zseJdm@?c__T8V9i_*#~xI#dICLq9o>lcV4KLVr5bk;+4A(vvW#mpkyF{Qx|OZ`ae3zv+A}6o zYhHME64JPQ{H*%mxqfS^Jb4oKBI(Uqt^C6mgmXe-h)A@=nNIIbCBv~nj->?nnaY+?3uGLJ9Q-aGNZeH*ti=myE4I6xZEZ=HL0^LsDTzNGlp$h8Wc*a8kPX5t&}QcTRMcE~g<-9~RL z$g~Q*c_&Tw42_(Koms1xnqRP2ripsf=v(#K{NmJV^kfU%oU``dlIDh11K14B4n>E_2S&j>X zLAAg@7Ac;E%}PND4CatbJJ!H&QWv+Fx>ou6ls& zMfMF~VXlxhH1Xzb$M=#D0T z5~f--h(Eff6q-Kh*`FNjqb54RHBH73j`EU`M3c`7k%AH(PQ;UBmfP}4Fp4Fg#vA3Y zxJeYYMu!fmu|dL96G9mC+U+o<(w66U!J$HTTVZriYb$9)>d1yz zi^W`Na4+*o>2Ax7CiCg|0r-<(TY{RPhnOT(AisHtcmmy^7BE3#Q2D_&^1fIqz;&v- zbtV*LQ)fa-LOq-eTAZpFcr00P%3Fz9{H$M32{TeM7N^?agjv$(6W>FsU+T&cq>mT6 z$4?lIlJWZ&7O&ncUwt9nz>^dEI`z++E`NHf`r>ls-myQ*h1kVCt&C?i^T`dE&IPG@ zz+8+O^wK_%XEk=s4iDx&} z{3WEyK~T3YRqmcZ;#!&iynOW<_R=sBkTP<}ZcAiBMamGqbo(IKa9e-R&aK>Z&Z%aL z+AWBk77mpp6p_;+EDt3VuqBE?P}-w$;>y!}hwbH&B-!Xt!if%1=0iEXD@P+N``_9+ zqXK|kzpo{6}byFP$7sruX>P zX?uLB>`-ox&-~6GA#Z#V?x5WhIfc;ZNkztN9tlQ!q+T0^zD|SI5sH-I-G|Cd0%=1@yiOmaBz48~^vo0kh$M7|^z@(a05RXct%wrg-Mmhiir6`4Pe@slokldrrgLa0d7 z+OcKS92*PQ~){*gj)sG+sL-(PZV`7zIP-7n8=N=t%?1ig%&dtGvry^8&?U*&*c?{7keis$4qQ~EuRgLW&TB<(B#JBf8FJF^@8EHHaKA#;L3-}`Xsr(><}I2p|EdC%Nv-&t&Z z{{_GNW%U0FSH-M)b~2@ZJzGQH$w$efDkkti>kq5-5C{W2BdZnM_>Nid0>o)QhsprhX?n*Q%qIyCTZM{1mAQ4 zDhtluBo;SDM>oB`IX1fHPp@y>_LnW23``u4jk0g(8EMRP$|fYB;S^IEwVk(`?(CSk zF$Ys@Z>*FXwF)3aeqTCfmMeB1KlK^#ixJj+#ta;7b`3-9y2zzy>)V1?(>YB=+T5G= zR$XR{Dzo=vzGu4LEqxso%MPWFqc8g8THjQbQJEdf~(kEZBrY&1pv8r@YX?BfLs?ko@~`=B-x zqubapHB;rRk%ulgwG9R=^^{w-8X1choxf4Y@vTo%_x^ zca0i{*3#oZ(Tq+HjHBVzxyz*WL*cnea=i4@_iJCY2iH;Q(OtE1GIJ(@GZbmxzE8FN zrj7AVPP zt+aHH`7=K8gLmpGn#Y~INOjAR!6Mh3;+P1Ty{nR|6_Rh`^&xNo$!aNw+$Ep3A}pAV zCh}P$GstG>KOrM4LR}Zi^EkZGR4&krrj9hL12cPHzk?hcn;TUSzp+s(y|8%*4KrW@ z7H^^pf$zUszVIWo2b^A@ozWDmFfKiV*@g@{~hQ%U{&!zhY7ABJ2e_QKT*TG1qN7Cn!;_yiNKr+&6 zU(C$+&#%v{n@EOSA$52{nn?MP(z!z<_&Cjs;>*H;7(Y9OJjG`Nv7h|#l!13P!@0Tz zy=-l+)ZTmmctD50@G|usa6$*LLt&OK!}NBhJ;>$G@^wIfzF4>VgFNXb$;dI zt)rJvB&Et<^n#OJs`y1CgAh0BY#z^FB;jqqABgY;g7c*~vQQ+;zBKyHTFDni{~3*N zlx$MS4v4*V^k;AJn%WMaqSp6c0&-sZ={=y|#qDo|R&3bM##D!&4Y3_oY?OjCaL4P1 z7RfV8uvZ62)ZfF|i=Lv3A`L!W1%Z>*x$02R17O|w+8j`G!z1GA>< zm%yf_yA?gjOR&Z1XCn^SzIFXV>)cVI8qg!a;(wu8Fr%ZnLlHvRs}Y|g{_aHTaRM6e z)Uh!1&@{zD@gjV_Q;6g=+d)a z+~PhVl4mcI%)~|R5iz@g{oUDV#hnk^1}n$_nU!>4#*~y_F(Rr(Hy)-6v)b{f>NCL& zO@~ju>{iM7rRqhTL9ycTvhxm2VUTe!Mc9M3TlFD4ppMS6jTz-4d3=LR7(SUH9Jh*6 z{*`P3IQtL1qOE@cmkLTp@^z!+6=S0HeMMxZ`sl(W2j}#hWp$=6r@a zsr@$Ke_M^CN48}U&#iR}5&q*PC5++<#hE9+YZCtFAx->@@I&9TvUhvs``+O9DOlwy z16IFD;1VP{K4!nTvda>F5qvC3d7gUfNmoyU`4)vT^M^((a<0 zLw)!GUv(^|@yzLeTq$o~iWho8lNd@4`OKch)B!rUqo zk|8cj2z|*paI&$t0cmbIhxmrM1Ar7EUQmfhKfA<3omfWrDD8A~7&q#UvkGJRKcnq` zf3u!?$*H`&C1Y=VEmd<$7z7sRSHN+0-YwK*|L~#H3=>qh@`+|t>Z_$D`&m04gx3U zeR8?=*^Sm`2Zi_01I9pF(TNbvvT5Ao>;ia0Ze7j}n*{uS@56I(aE zf^O+spT4{N$?4@YSC+r{__yfuSfkqU*xTrO{ttxWf35F-rvLR+p6=dNViGp^$$kDJ zo>}7L2G*n1+mVqpo*aILx)z1fim(&mC4Biw+nMr%K}yd-7pn&V*343PxwCX=Jn0~B3m>fa9%p|HJ z!aqP^8HLJpvfA7gi0;T#8tl9=U?f;QA(Ncveey}}P;M54zge6a^$;X|IqrP<%;&8i zJ|a~NQp-RkxtrI?!dqGn`L^A3l>BaX@}oW4i_yp2MmPCC?)i@WpLyp0@98`-W#wse zvjnd7e)I%al)w$aRhpO={?s(GMm0C*ojCR2$`#3EDf$e^WT8@!WV48RLQYG){|=}% zVr;LhL4N+}w`j)-u-wkx{B*875u{%3do-2Z$EC|zSKUtNUk9%RzOGq&9U(B=Ac ze941ig4K**`P0wvcAk_5c+@JU*1L4)%l7HRmU1&8#UJtIFAhqM=H)HK(|ET(^lsf~ zo%{gZX)zc=%a1E(mu?-E8Aw+PCav}EA@A^y0qK>1Y}c@WdUUHm9%N78I+fSqyPE>+tsVmu z+blaz|C-{5HDOuoNYK@z9wp@bPDR?RSZ9|y$N~~G*bn#kA_T#@kTnX%*SmdKon>}Y z5bVJ(``-svX6fGHrMq{RZk>dqpX`FX)8Dqf|FV7I3I=Or3nIkzq&zI~s^aueGpjzA zm3~}pqjz9R=zoD_Wj(PS zHqSJ}XgbAeQSHtEpvd$rJk~^$1 zg#Tsw`<}`oasP0v-=byeJiioUms9Z9yK>Y!bXo31b%5H1djb;-2ZMJKeOIF>m_fW?vR7aYBNY#1unlfVCXLeKWJ_cu=J~IL@_82c23U*J?^3|P zd0?2Fd}IDk>>tY)4_k37ARZ3r@-T{tcSuf)&IOC1Ji_4x^q6^HNfmTRE~*I44i)T! zcN$rjI)rnVl{+5R+X-d+9Z9vHJ*$261`Ln4jg{&Df%I@DB>x{Ad?x>UD$gqXe=Oa< zvV8GcnA}$^Tx0z>@-&Sh0?E%plD`gF zn1#Y9i@UjRmM8Ib%<419pF!4WLSmnhYc?u2lUZa9HVB?na2kMjY-tS6zgn_AC_QGv zpR6(Glu_9=Yv8Q(p~ZN9cb5DAPKcHlXq2xs2nhL{y;Y|+X0d-<3|WvX zK>>HF4CAzGPQ6l^b?jo!Er|}uKHG$woN_;}G5#v_M9Aen^#12F#Xbs?&RwfPnFvz!8^t&E;|j? zogNEu5aG85N(gHw#oiR_;fDK)=~zz>f-p>bX%{Tpn7olzQ~L}-M49#ZK4TucXbWq! zF`V>?=OJlKZ341QNzw~TCFbW@Lwn@cp@#Oo_ghzf6uMOhSa1pe1rcU} z{>GtyfyJX$Aquc_DNse97-^l&)J~`>YlXEd!dC}Ox+~8C4tfBZ@?OyjkfI7qcNoOajO+awb$ph~Nr^0*6d)n+G5GFS~}a?yQj+p`$D{()kVgSIqbKXS1pF zu=1_wmSAUQrLnwn@U2d^>YE8_v{yRUUZ{LxA+!sj)>n~*MH|$CiapDyZ?P3pJ5$)M z4XlN~KT?SlzK&}aKUzPA_8hP5g=DX#uRsLy;nUE%e4+K;dEcW@r^W}{Coq|Gm4tWR9>}sXt=Jx>( zvy@r2w7U@xI}-QtvdTyOF4t^tHY)h2Zo3c&b{$r?b3?6NsvI$R@Xnvd0IX*YwN8G~ zfpF_(w^(#)Ve8=Ft)6ma%S%i$UrzibM1oY&*OOgs)^M9hx@0#TL50dp&V@5}`>XC> z-JG$pRB0A=^ii!)4f8f+%;DJ!OSgTbzt0%yAL+M8Mn?J}o4|QCnySF8qOTXKexc83 zl2Y({M`Yc-fFse{kH{97e(A;R;9voXcx$B&q+k>R1)oE{wmt3kJW6$@ND?S zhfBTY?hRlq{3D>#PY(aa;Rv=hAQqemKw-jxN{kIgq|(S(dV`C)=>xsd7obsL^Ecc) zUxV#tBA8_Eh{5iz?6FHZzCqXyyLDkr9~%VS87l zvRju&LzigJAr0mc7~JB%tn10CN@c3#7EGZ}(L)uyy;23%&bX!KC#ZF+f@@(VxTG|oK^rVUIAFy>8KqE= zx6nYSI>dz9L|||dLIPO;FcM-Ik)S}%umi$#Afvpa*F)PGvrnR{!!e6XNjdqz{41DM4Il$FnktdgiUqblduB#dm9x-!8F5-Ep|hckG0_j{M#g9XrhqX=~*q*t33 zfa15mQVXjoA5`DLTMpR78r%^oy|U>8cZ}Hn@7t}<@3ua==C1;(*f7d;EP%C)UfY%)@a6aIK0+$)U;1tYn?mVK6_B9Iza1`ojsE*wG)N%JznA4jdeQN%Oob` zXaE1&`}+PSjwIpdU+Ys$WF@j4OS1eTh_k*d2V|GK1b7U&-Fqh9^D>CudA<81CUzuh3ubXQk* zS65e6S66}cBsQ6p!*R0tOH4^i3m%m9v0vWp5K5Owvonzht5E2ecB%?I>|%7G!Y(E^ z<2o3H2bvsD3tm!?rXvFXH06K}R)QzE!w%Vmu`*h1_1c-*(mfXvjEN#HE?($DcS4}M z!`R*`!lIx2TssnOr5mi4M@IyT5ZSd0`(wPwur^{wvb$SXWs{!H)jQW3cP`;65F_?a ze%}OD%4#5)Gm~mK&KZI;LA4ZYEXCf@5~?2ioBSN&G?Bp+P5p|L!xC7GXCQ?IW1ECy zM&`x(UDPpr|1Dj97L_+bOydvoG-Ph->A!3sa)>zS5bY&>;8(Zkp-4?F)Z3WIA_T#v z(uyoAI28$1oHQIFOSHK((gH=f9#0bUmOdmrgYNdKYy#yY_TN#IRSefGO+{V1uxOi; z3w2rY*+7GL#ecg*?@`*e*UpH$2@^g&wk%}D@fUjyXN3Vfot?2<3HI1InPs^@X@jHklh3Ji#hgnYi)SXM^m+2Y zNzN#1tD5w=doCyv2wEA=eH>F4ROfihoD zoF?w;DLH_~RR2%d-N!6cQr4ZyfSV7WOCO5#9e(je$qV$&#F!BqGxqF{?cB3#v{&{J zU5G3s2Ksx^VY0VSgsF*b}{c|pqGj9cBq$Z zi(h?Kmm}gmib7JKw2Q1sd7XdWH*~CreJkapK|Lv^}?Cc3eW+ z;AVH)Ueqvb|0s6E!}i|{xB#-d)s;%A*O)M;)3do^dDy^Xl3tKcXVR5nxc>;}`;}=T zLnqX`k-Y{zfaL)-EA)(hDl-{>%gUPh+-x~sAZ4ef6V$Etm=t^Y=hYH~Pf5rjW!x7n z7sDun2EB7yeOX7)B=zrv{0;w33Y$W{DUwJh?kv`%$+>}m~ z;CS8;XZD6TqNgFXWe*0!apvxDS^!TTgGNP*S!UkMRLEc}$K@`K#-Z>VVLZGFvqLWE zZnt`Z#Lu@>maF(dz~d0=*tEG^Y$#;f6nQn`;acUWES*2v)$vr<^ElaqY-FBc!@{>3 zf{}{bXO4u?j`*ArQZ0Jz`e(Hp7v*zHByO2~$la7r0(BZ5pO0h?qJ)lw?i68fU!BoYy?-8obL=v&u8EY<5XMlz;b6cIkx>=&M^+r-9x;y@cVe)3Hp zDJuiT2JW{meeC@*J)#c^YmdGvU~PoWhCRO)VI&*vHTQyjO>=%(`{-?1e2~BCg@K_l;JT ziO&-77$3FM&Pu|c;?cv#SMRSrVaW)&xF;%7sZJ0rllnyJ6#cx4SlH5A#jAM1wQu?Y zV2hpRlxRHuuy*_7CR`UH#Tjh!=&nc^jk5j06}!o1{F3s!Exu!?&0Dp}ZTRGW?%TG_ z8UJ&jKh@X1|Fsp5|NSqGp^6BCW+6jl$n~cx-as~DO^ni}xsXGsag3w;w8dgr(1?=k z6}^Q(m!KX0(q@r%5u;R{$mcQ%S2br+K{r>Ifaq+43dF_GlvxLZcw3XarvK(iF9|=RT7%7)PzcMLoCQ<)1{+xK9 z#|J3&!;VAI#7u6wI8&6NI-KZT^)yj9`P4YZrBEzzb-7vqzHNV}W3MFaLvoR$l)H9U zo?M!!lH>VY;Rug{%Ksio%EfT1ML}xOkY7?my5dhY81vP2wcD2(UwomapAuy*nx{k?%8AtFRH4F-);c>T)R+UaYx%j|9_L>a>F{{8p| zGQ<1t<6nsX5xpyA;{uUp*b<iwWX9@kN7T3jw@x|1?`t=g-ktVK5E9$`uam+|MJa zpC;QGS#Xdl5i`7!qL|K^3UU}%A1?!7K4PyK(hRY7nBk!V3Z5AB2Rb!)4rnVRDCSX2 z+K7?#oHFfjvOx1xQ4s90cIwjVwObHk4b598zFT>8(ZM_s&t}5|kE)fpM^HChP4L_h zKGGKGY6f?SwUcK_BiQ7?OyldXaaikLUrW?Zd^14)Z3dssgd+OFA{uNuBeE3R7X)Xy z0--5csMb@K9o}CqE92>^!bAjjADxN5J#gibHstAb!Q6n7);w3V8sO8L1vbl`>;Z#b zo|A(`O14Q9m+zmgoj(Ke@eQ(qpTJiB=~D=frrIfy`&x!aR(BaoW+KpUyK-&E5tO8? zL%!=-O%i$a&p251B)vXpbFOi16@WxI?sb3fFJ$wC-BPo~sB4kOMs!E6mF<5#wDPma z|Ij4v-sxO^y+<3UUe7m-EQ`Ipr@*t$4>0iWyq56df1UBwhGzkn%^W{Dka)qQ52V3fA zZn_WpIZh@#KJ{Bv2RM5jfjl?NVSw)m;-euxu2cH_$Bh)t*8k)jSYz|)XOaNgXZ;WM zZ5wi~|AD@?{eMfI5TABj`b@0;=6LPuRicT&Ar@-$sFyNhBKqyq;B7>XBR|9asH94# zT~L*#l_ru{u4GUzEyJ2F&KXvwSTYSNX~_{e=hB4*h?BOED^?atrdeLd7Bff4Kc!-J zhJ2gNl_$yzvjwxVP@J_EW@q3pvocM76>^z{St8%SxBSrz`Eb-Mz~|j?tWVxXohChW z7zgx3UojSzh~1+KAGK?9!@5Q zGQ;Vl3GuK7w@1N&x})<~xw1J`O_#IS;@s3m{I*GL87qJWKcgWLlmXxH@sY}>?DDCo z@a=YZpL@}yP-aVcxc3L;(^j_MJ4h9dI7 zgqu>jV$y6pe%QG3wmZI@)G;wX(!eKQ>W?Q=+mRengg97yv}C`L+yw{H90|c8=d%nYy=5`vIt&fl= z4bryVuvd^gekpnUQeoMWiIGTZCm+_9{_$Nj8!mI#!rFsW{Y!$ zsN(ixl{0vi$$r(k7rIp}SBzM-Tb@W8OOa33AMIy?P$xSpu}6@f++k=f8ARj9Y|H;!@&w5LLJyKTbx_HU|Bg+| zM#-_*TvYlz61B_C(E!f;1Ai|-r)1bEAK)ngJ>>+S;_%s*P)7)}ev=l*={AE}4o3ik zF|Qr}1T5$GZq`oR<5rGgUL+xabwv7y>+c>mBM-Mhy3>>p7!H{0U8@4!L& zRftrI;xj^_dq&N$&jW@j7~edua#B+6!*{E9kUeE5i@ zS{#y;_mHFl4++_KC9zKKP;+AT>`^C@3FJI>Qwl9XdmNbq7jK%CmYai_F(AAm zfkXdMVlFx$dW=7K;!fqV;D|d&uz>u5iV31g%S8Mo8bK^Zs>kqm1R$x+iu(uJ?1n># zgl8j`5yAV1RIGRPhzfQzN~xsa_)QfVGNSb5=(w}-hl3Ix+_P5-=-DgB@C-}MH*JMZ z?54EBZ!Xgqa%eG@#cw$2rY}*ukrZ8+RiYJucQspJMnqb@!DcvXM8GhkpUzIan7VT> z0jDw$!GYXyV4qWBVvE?h1&C$Mt{|#`bz`#enU;%Jj#hk#W`_Ea!;+|ErXgIhL2DXW znSx}`b|?O+XW4<-)cU)S^65jTFnY|SGe{$Ak3N84#%Di5e&%2W_TCz`yF=9fUK$))S_fpMnZ5WTHY%oK|D-*Md)pEu(BJ_FNI6*d@uoC%q zs5x;){^gC=_q(9FLU3#$_z_XSPM)!~Xr@}kQ{?eb(6n`&A=(n*j|@fpo5-ZB zX~7$@G1?4mgHjHu=YT}G?7AS4dZ9&0vnE63(5oS1%sRDdo#s5?p*eFpU9X;O>!OY$ z5njK4qk8awTMvfe`f+vPCYtWLHCBnd3xp|Cb#x%?qYu)OJJ>pCO&!$CObhCuqv6fd z2IqZSW13u3?XY=$s-rcn&y5IyCF=g4xJ2zDr2lyWwbI2For(~Ee;y}gOv#FX)}m3Xr^k$``DBO-(`+tJmD7e^H; z)nfmhFX;fl=n6>`7d#&fiAf3tjAb~|kdI(aobu42P(vIVxG5X1i*7sscjD0mqFg(1 zi({=pEobD5GJt>t>!>EN4O&g*8|;3^@kfx^ap_M?#HU{K$Wm7CJYBnV$7U>?6C*uP zA#dNSud)CEGJoPnj_+bjMs#t*ZAnTU=FXWsif*KutjVv7%$Bxl0A{L@ux?|K&XdA; zV)W!|Y?x^KwG;PNo_vV64;9rq4>S&T3TP2-N^4`5smK4eS`CccmWB;m_@x^G^$d;) zswJ-grKJxXmQ8ODVRvk7B8N*PAn&l#+WeYbXAS z;Y+=)bviEo*&(18Rr;VNnT=5h+83mO8z*HX3PBF>Qzj2r4++9@A5%^H_*0{eMGsDP zkdcXFa>!@$VZtlwRAKmxsfA@^PhTM%6ip7crIx$KjO<;K#2o5b=lXLKIK#qs> zA;^O_)QmV74m#Rs!aqIN1G+lt`3YL-xZ9G_O0ZSPy6B7!8h!Ki9i#smi5d_=FOz_n zvP6qyRD${F$)*6!H_&c_ywg59EkOE zGYPTayNGiK*&vI6=UFo~xs!p}Q7QmGBIBjyNTRXeT!{^BAkLI(jWyXrym{;i9^Wz3 zZTh}k3Lc5TwvJV8wBdE}D|kG47Cb*9--1UI{X)%!qD6jveC*W4)#E1u^~4W*32PsL ztXl9^EH&>BzVJr<(%Y-|mQhI6m)W^rEu&RXH?|am_r!%UKX|VcGsXOfyb9ewZT(tQ z09#8FEVO+WmAP*KJPt_{$D`RM!iTCwLDS7@TO@n{Z0}3dPD4@@c7&L@TsjMXdrvS4t%4?bW zHb8-?b&#N*3|kRy^pxnP#&u9+EAoOKjSXx+&w8hsozc@O74U>7&N|JPnkUf4p?Fi- zJVDQh@O++wS8bK#gTqkMx($>x;BN-yP9}6ZcI`djFcmvIWFSh!fZJQ7WixJo(Sahq zg96X9vAH>MO*KQ7EF_L@$`4)blG2}p>F)KwS(m5zsyR5_bst}Ft`#U|+@B9Av+Ujw z;T#%Rk8Ffh$4q!Y!CCYFePho~L6^U&<}%~ux6plTZxo|qxQURymRSCC_IZbfi1n8& zC=AaF7S7}VBu5wZLF&Szy|N&qIUo)`~G)f^2fRV-M=k4(C^Csu&o{c zZA%{i``^mVSr$56zEf;RcaakAjlG!YHE2p@sd~!xQIK!o%2#K7fQ8aouuP=*W$yV< z2fOU*xLe3#reLIx4no=nWVC@G??$cwnOf}g-bm7*9Fi0$8}ss2!_*>+m`GY#d2|8| zGz_vDp@;c!1!~Bm4Uvsvo_mJL?MPP>|1E{_idx)UAW&1&n|t8BK^uVikYZGkO3z!p zMz|NEW9b2O+fj}Xg5(e)IuF~9v+s;y%^To9YEXTV4#U{X#$-M{Wno^q*>oP>EXvT# zya}o3ydg47)LQ;C{c{F@k39IPED9G40!I!QzkSHs-pB0t`4) z;etSB(YNXs@A30CiaLX3tZ0|v}AnQ?>99GOKVUw@qa=~TlfIGZqRZnS#& zlluEt2}6>+NFCSz{h9(@L5TKjH3X>#f{Cu4pONf7fbYaIb3l32GWGkplmAU zBcxRq3EGqD+aJf333snveGRwQmilF1m}t3og39J2wCMny+pI0AnSktWIpFQ0R_SUp zs3_=cZ|2xP9Ua^{;L^%c0kkrB6k~~D$FR=_!j@}u z8s0|Rym(zJQ@Mq0FiG=;(>J+Y)#2$>B)0uy#( z0EYyqFb6y?2qgU5BINww;6Sgjo%~mo?@=2?`@-tI<;I0?{Dndmp#jb(nNEw@`x@^( zsNXp)L22ej5?o!NLzo}LAp~KYYHP5jBVAq0=}Jwu(_Etl^v8)N1fbaZhjU4nZVgru zTe}W4DjY0omnwGde$b(zSGkI^J{DNEN0SEXZgA2~P&X%YM~$&C`7stY^5(3WH?rnL zbxJWaiRc-^$OM{uGi%Mf%^X^`*ld8UbT|zgKS6s>09u5z$KZs>6sxt*{s;$<_H|Z& z;)He-rLqO{ivXZ#yX&{Z2zVQ{#;AbMCNmG=IC{}Ev$!e78PSTbiKay`S{bhC<8__6 z$?^?~Q`4gY&xY5h>9?Y(Z&bHp(uYRt6X8kpvVO3E^H=O$a(?T8JyjPa_jIdFfG%Kr z7t&w2Z)v=aB+fSH+qnYShd9$_syXG`_`!p9Hyuc@qpgj&kTDFBwY&g8(K-E*u`l*%xNCPhS%D_JY zfsn>k3!-y!ZVRnB8&!h84!;{$+F(tRu54)y4 z{p!>!!D%J-DBa5Ef9Y@KpZcu!<@>cW7kMd#-=L3=b4Z=>aG~^Mz6ux81C{S=JqQ3z z$$HEZ*8C{pKov5;W;rT5?3B)194cfUM@cMGAWO z>d{rHM+q6tZ%W%KMcMjrF8wZ_xLb=AT+8JtShYg#;0P)%tgIPnfja#=AqN&Vx(;G-R8QdX4Xsg=+;6m8WO z#zw*-*E$wL4Qzr#OSc;WGE$q(_(z)6@EPsh(k$s!V0w?EiiK17`^U|A-G1c9zW+ggZT{tt|KoT6qi=9q-!{knkN(uaw)Xvx zt$6(Je>BMnuG%lPspNs9@jpW>*>COm;}G+mbshpx4ye8yiHc)^D6gja!_!Lgs}VS= z7fo=Vcn+QaJreEj@7>Zl)qFIuRwoq>fT}1pkpGOdaR|cM>}~AUSZ1wn}G=IPMURMr0y%U<8n(ZN!f!%roJc?Sy%+JSy)zVK~F9ymz2Qk?LRy|Bj0K#@9|>0FyN^-+&enx*%hEBkFY$p^cJKtx@3HWt~vsu3|RDY z)V$qHz|^)dn@g)_t%2v!d4U$dgQyMAnPx65FSotW|Ry-!m(69 zD(>pSALv=)7zK{T;jk9a-+^U_julx|UU%z^Db@_Vj#y6|q-h|Avm+q`x|9D+}HBdGhB7kDpc`149&QdIz+uX=A|v_k!4~ z!$$Pgy`v)|Npv(Yz`=lUVmM@sp(K#km(4ND|tPa2)JIS@RmVx-|TtOZwN&b!lu z&>LSqTDyFsSTYN9X-p-i){-4WWh14830xe#FCu5t&J#Kvix5xJrnWYNB&Qy1_t|_^8a9J zpe_Gz#S=jO7pIwxPw&*8e8eS7!N!o5`JZHs8<{NGNC@RpqgkY{`(^SX9)Gzsm+f}w z4EfxIm6(Ev2Gse1(4VeAX4=dg8PCjQ-QRtc4x@?w;?_rg8j8iHxtBb<1OlCePm=AH zZ;o=fCQU~9c{^nOGe|Sv(MdgO<&d}3TD41wAE}F)k zx`KoA>!=%CC*6qxj-j0r(!*aN;8Zv>H?{yx?W+!<^$eLeLYfi7AYB_JI~M9|6Ddyz zv6CC9H!#Cs58l*Cb^+|f5Uwu}ZAgXA1HuMIm1;bm$a;Z;VckS@9(7I*P4>3o?r9LvpjAZd!EYO=~PjL}bU(bF8^t-jOaH6{QetO`_S@;X>tmi%?|W ztFN-pErdu@Fl{YDm&X|IT6c6a$8bnqdRjEqoIq;rK>3n(d89Q`L7^>EJ4`&!VGCKn zyhlwP{7r}23|Dv7t{~GK2;tzMJL~sPG|s;(}Ut_M!hP!e?< zLWV|CQ@2dlR_~$^wjI9;PE4fvu!^y};IH)sk%T-tfd~6;hN(e@Gp``{@UqQNTC|mq z*_1=&kP>puYtwZ3B|zriN1{?mu6Lxk;*oM`9;pDLkcY&^VuU&=)(2uU8BhmNlJEoI zs@uS4Q?262_HHHbd28_er4*LWs6|N4uxbj=$(wXhQv=lXjJT@K8LTQtcUqN&c{FM7 z0cuqoUOz3EOn*%oxy?F|U%^~`X=Q>e6X-x%Uh3k&>>mzTwP;F7*)+7>bQR4R6DmEw_d(FY-gWWWtyG4|rrPR$t zB1QUeZu;(-_m`v{CD$QJ^X*B?V09=3kf+^+nE1>=Q~erHDyw+LJT&#jtJoB69I>?K^;+qH-~&fPhXC^TzG@`cDay!LX?)g zt1#7vyAEj1UBK6!MIj(KnFO@{f}v~dR-b-cJ9kz1Q`9e>TzT|eh(->eXX?2^t`g5C zxQ9V}B7KA%jLpK4m1h~7`6(iXv98l5!bbuP06#rA) ziw^;uaD)MY!CzP~>Kcj5jBW^y|B ze&g|f)h|A%Jzf%?TG6PCvd7a|yZi3yljXG!zptOW2^Uk&TwJ;TaOM8-)l*-y&4ves zgyDZ{a?+9p8;32`=QBc)t_+dGlzHG*zT$2$^G(Kk0CK#CeU36`v?zB$>jxLK$sAc1 z?_RE*xGB?6NFrJZgAltlzxwpk#;y13r!Lk`eZF@2M(xh2`so|^l2M%M*b&d>EWDOc zEs>65KY`*w(h09T{R|+`tLZYRa0q>bU0yQa7(;&m_I&*_{y(~V$FA3R$7iz7g2w=p zPYn)w@&CU5fk6lVPi{-L^M7o~)3|VJ<>9&7?T_J#?YCD~zx@-^D&dj!D`#t`ub~7< zmiOxKKdE2&IuxqkzEQiu{vu1hcIN^3v_HI1J9DCT{;QQok5-<1gjdN{?%yWsc6IsN z`p4&fczh;boWk-1763Bzcw|E+k4{AYmxh_fCmR|`bqGjQqG&Yul|2saY8$s-&hDt4xv zD^+sE!bo^08NMRi1BK8D;DVjYm~eI5kOU%rgN%uflA!3d74ss(58Mckg~N_5*jEe% z=>M4@DyB7E&a?zNZbasJ!9^iWg70R!kd2##St6^P{(SYx6UHm)m06G~S!zn!Pcn@A z_v|v5t>B>BhA?wL70+56Qk#KXvbi$Dc^14kD5na2L~}QuO*C$Cb~|(-W&-yp2Rt|I_jM-`)>-4AaDX;Qps;+zkQ{C`#Nc_wse;%6?7T^ zdJLfQd5F=!TAKvYwem4zhz-dMYASYFjsu!k1*`h|@we&D;MI5g)=5Yj;8)tg1GesQ z%YS6XGMlRg`pAF%eFH;I`(LWRZU5VnN7(L4 zJ5r2(9|vV-JXau)3mMaXO|5h3a(c#~G6jvfp!>=s2i+$|4`dcmPSBOHDp|8!Hu^li zfm@99Et4-=rh+W97B(JzSpV#5{k<<~P+{%hDY64z>L>qSq%wp`g!;CcZ^`Xl_hUWizw`%nu_4vocpKABmIE znj#ud=+FVAlf$8d5TwV-&6M(H=nYV8ZDI-?Ae<(fE@$`A0BIxiOn&!KGeb=k`^)SY z&~8z)Er{Z-vh=@zBB<2hMdT=8#CFn?E4j{FRAR6)A(oyf6w5Q|Jb!n<%#0-atk7$@nOtS>zE}6WwtFN;L;^A)$3kR)_W+;H=MRT| zl`d4w>^~nHpamThr-man34cj#%aJLYRm$vpFJRS>b566#hvY767mqH;-nf z(}gLM1qM*w85}zz`LbVlj4k&p%2OY)I0V2H>0qo~|NYAS_lZuBDa5U^RsZO2{p_9E z!w2O^fYk>mMior#k5-Zv%eke?xr(4*pO6 z=x_7?t$6(Xzc|wa!od9j_X9>UECB|p_|g`!dir;b-#w_Gx+wTHKc?U;?l-{PyC`2@ zn66Yx3lgL6DtEuKFgs&f)g954;uP)!K-TiEJ`6D!#q+E+Zhb|_2)q1`(VhQ|(Trv;-GLC`rXL5K_ijdf8_W8L9+Phu>Y zC`FBb3P%pUz8~dBwjYwRmfZW ze&OLmZ~83?sk5~cw;=2wWupxvRnHLqFe;x`ghSgFtC8ba&Kys9M z`DMEuT^rSGNe9%%R0qwp(iyp5q>j>~u|qv$haJuF!HLY1($7DC*x4ETJO1iC?qwVM59B#=Yvb7 z6=`(gA=9={$&|XWp`ih}i|}NN(^O-zSP8h4>?%@OAQ}fNu-y%#M+;q`&joK|_4^NN zCm)77=*o#Q@xTa28S2q+FWFD&IJ4L659tHml^rIvaV*G^Bik0T`f)HD*?x!hrSn8s zmDe~CBvEz~vIn&^^$OjJ{#jc(O|4k;59aQ}H)GpOKMD44vdA-rypPIq7nZQ0V6W#D z*$fR{Dmp%e9k`+GQPZX*DkfxMi^v3Tk}e%e$9{VlBt@3zG(x!5KLx?eVHR~;MQush zyA$e&ON1PtGl0EqIBl&znsygk7)G>i(k92cc%x$ri(}osEjy;I6EzpJkS!I7h|BPy zcbqB~KktUo-M7~^w9ZYrzOVoY_Pwa*MvQ9dsFy8So0qpkcOh+J+{O(Y8fXGpiZf9L zRq}K7m6tGn_OsplUJcC~Ve*D7TKHkknt52=xx!=-mUSgJ14l@N9}Z(~qD3+zP)i!6 zbT&&P^h>kG+$-qY@nWeWhkZcq$P;1GB7(y3if=YuNz?PL4E6a&;4DP0^kyU)))x&E zuEQaA?mf6)N}=gFC~7D8(2zQy;=|w|t3fsgFAgzy_IeT=lOZ8}0M$zKzLc&^OQ7J1 z$Q_a1haBxbh`oI&qXw`ckrXFvz9k}k69Q2AD@_7Hr9Ve7lS-K^ z+^J(DkoA6&?1m6Ej|S|rzrd^UVj+JFNt8LSWz9;lS|+W<(GV^ApQY`;NA{^z$m?&ZSX2x21{BiBfMckXnpW{|_qF`3!9mu`Uh*;>P0u5tM zN@Vgmvru8xNh`|VOyC3fkO|zhERg!dX=P{q^9S{_cOXp!y(Eh3Mte4CCk}GSBUAa} zL^@B^H>hFzbHjt#3Fyb@yumHDzyv6Vj?qj;ihv3*uvXYuj7q|U6D28Nk><#BMoRtT zfhhpUmBd&069OKw%u?CnOgdL!9;3S3K5F>@MdCEGi!Mj;?pY(+xiHqVF!tiY>$$gb zX(9Fyk;v+aKokq*lJO)ss6KCv!Cv1BIWKIA?KN!5)O5?LPEO{IZcVpHui|4pQM;Q) zl=d+yudkjL50AwO#+%i_vN>gLP5*f37+$0oW8{g08PI;&lOUxMa*tmmZ(iI$f0-p+ zORhYJmzI>n^Tt>he~-Zm)Po?aaf~fTC^aT6$T6}ad&546Ac5%-VZAwRD#{h@Z^CPG|&db0lLhQl21%`_c+8$>s7Ql{u< z3L3lx%kFK)vt>t?_3a=nU?L*|S)S^D{r%dNzpwxvGIo#(l~!@YxZ^f|M+2Ay%=wlz zi-!O~v{X=CcyCle^~Z1unx~HbK1K*|5CY|g$Qeur3da+w6OpXMd1`D*w`HY`nF6@l zCQr6TZ$tHrbWPUTm@o*TN(d>T()7HH=o?_f8%`uZ5GG@h znItG@&3taQ94GQsVrn|Es|sI!l`HUp02eCIZ+{Mh7bBw=bB>VRO13yx$QRRDE;o`E znV2Y49Qg0y5N6DUak4EduA$``&pOp$98R0UrSa)<+3^`MPNwtuiFD>j7}6hxdE#H1 zsCn3k$bWAvR<ytcQTR=ujWFGZZW(8Xs(%bX4(`cppJ;5 z&@$RFfs2`hxagf{R#@VZP)goq9s6(X>QzV=eCb5}+;x`p5#G}zg@xSYBpEL-5fM>< zZF~3tgy4fM*5Pv_nuoHs@-TD&#yEmw>|ll_*Z6dm_tZ@p@9Z)T}m=AJeHuby%8Q^t$G zl;*~VlNh84ZUT}vT7_R|mzcBSFJ9aC&pTcVYxZV|?lNY%lAFwt`7nL#`p%N_{7B!V zUAzL~89`*G_}g4QpAPFW;NEevY)KU)vh_}rB?VAnyq(fG+#aDpUD#o~qr81bHaZ-& zugF5)O{24Z?_TZvsm52!wWU9;e)~mj>0WL5-Nxs(5ue@>Eta#b0jKwGW&8jP5klc7 zr7kjc9BryDMfhJ-S>lc2C;nHI%pf5B8< z8^gv<7zJKm~XyhE)kmr(TjVAAzd6}%qNpm|9I?bWX z&~X1?>ZRdq-%At2slJ!eiPWG=Idma3>R$I5QuA}8h@qSu;mYEhvcQoaACWObnOz<;HUiR^ ziE}SWPN8%hb%2fbifKOVI9fp*1Yv|B_N;h^6DMKCs3#nmxBueS&qMBdGOQ^kQwdm% zDi|#MO9KlVk-)m4dCI3&~-F<2}9f ze;$Bh#;$#@@7S|9cHoUyU)}TT-h|G2VT9dnIP3rG?tlN)zR_JWfFtHHCjK^uuxEd4 z=bl}ov}&$2p2=m)zI6_a?u^Ox;^RSU?mBQVwtwH~L0XMTUH)x}8u9T!b$+pX-=6)n z!jxIem4cK%u;<`zUIXsJ1|7FlO9O|~B~6oW4Tzky`@n(N-W{(aeh{;T2qs*hX;!;8 zfjYLV$9fiyBtR?n_?*m*%}a&@NyRs`*BMWiSSWIY~7Qu09oF57}JQrzDbj!5~ zYpSsLdd_Pe&6`l}eAot(mHW3FpZs1PT;xhCk8akMPKUYW8cbnAsN^2#EEk1yYQ_$c z893Za5AuCZhdg2Mn>sDPuo52FqQ%VnE0tS=9A&NE`zxF*UirFqfOA6Qy9r^%b+dWq2oWA3NtFZq_(Yna(MhjezQ1z+;p!Lf zHa@+GA#~xQ90w|agGtOxr^_&j`QnrThcAUn$&jpqhAb~C^LYq4r}M-&G7k_JC8jyA zj8DEm>P`Ap)N)w4gaQ-O`?!bP8z3DpGTt;6F+`2MaTXZx{cr1+zN_6J1N1~Ru;`d0 zF~GI!e_T7cgoc>_1B~f}4B?+`aI=H=`r#2)t$)OUca96(xL^Lrn|A5Fd$U|Ff^((r zZU%+}j_o2i{PUi@G`M1HrxPKX394InQ$9jr+wb77ah7pIDquT{k#!Eei}#Gtj!DWj z?KFtnvKAeV*dVEaO5O08u}W&TnI7QKN5GumQIpM){Z*hOu6OH(y#Dz$vP;%(e6#xP z%^x0zaRg=zJV>@?&i?t%iXoB4;$Bx%gtbfp8q5@2SiPt;!KAY z*=R6{mkdhOY$jgyh*H|sP8W2dM?)_9-4AhWJpQnD`{R(d?H-%l^?2D#*A8Iw)4q!P zqdffnZy{Z>ri+zlk^syn{>!$3epmjlRH_~SWlJ9a`@bT(E)gB8nVd0YRz!gBxD>k< z9IPbISQdgS-UH^)aEN;7-M$X@3*S2n%<24cNKX7Gg_6zYEJ#Qgf=ox1^aKPHkz9^3 z!fxK2N@tFZ&t+*+BT*N25mAk|S+yqWSN@E`T_`uw7m`wP$vd)V_5zlf>yQ!28L_E~ z(a++&vq%{oYML&Vzbi!d=0JJLLZGJ|IPlA^?)gwhCkw6r_&6CN@{*a!!v6tdAIlht zs#PYVl`fl!qq%hPH@S3Siq47nYaHAsa>YWN|GV>-JNE9~{n~#}?F(KbOA}_g+>LqH=$C?7Aq_(4{Yq8P#&CbX z91hM_Od!x(!OV{kO5{JoS#zQ~MJ*&U4f3`~b=_--3ry2ziI~YVxp6jiMuGUv65mFWhO1V^ z%opHNiAP288IslEYc@?U{F9+%Ql^4A$`7OmjW0i5`@>B-U6WcO=fgH$w$k)!2^cD| zb&W9GycV4f{z+e^2`1o#P%P(uYi6OK<%@%}yxO|sE0H=XRZ{OLUA;$&aKJ$L0o<-G zOco8eV@flzaymuP7mjliqzn~FdlI5l{7BK3gcp?e3ky-B8|LB4EeL9gL9mHLS3mPR z!q|#r3FXsd6oisWBcC>Zov4Wr0dqyq{rPm+T*5kLWh!~d97t9}e4?DoPMPeVSYa}jA)8$+S4wmSEa%`X zzsaOy1UGIor&kH#G8pud!uC?`RlE6!2@7EP1P&|#x6I5q*_>e zsNo?-iLDT_wX2K7Bk6|+Bmgl@7N$XDc+VoRciD+z<(!xuB5>N9=24o`T}YHs!U&~Q z5K%nW*L%LG>0n`lw^MC8pfGHxa?Hny+CQK3$*{?@4Rr4Kb?QKZ{D){KD^Ks#Zk#3j zgGITeo4@7FbI|vb?g#*>c6X`q&0n_>KneW0a{pxQ#JdbC-i7JFt;>U9*Z~U^N1o_G zTA9glf~`TDNQ`KKtbhIht@a`bg9rMgLCNrF#WQ50@Z8-+KHe2DC$5#JUXR)$p$_NF zcqJ+=mK<`JMBA9Zi6H0k-7HWI0<$5&XIw;$+waxBKf&S}-#G)fVOf6O=g3BFq!&bx zzkIr&q~lHY@%+0?fHOK*pDfoteMqRC6Nb%o4TW#AFHCmixnPC8QY>Z>WWg>T=j&J` zY0(sT0f5r5jQE~#Bh1|9hG|WUA5B3!%F)DBEMQKOM$73y3h!o=4k2th1PylEJZ8L7CjrKC4osG z7w;zu8UT$v=YmF6>d8E{mwZ ztIJ8CQB1@%A`TW=#Eea?g@qBG*OxepB|^bM(BU3qJ`hBDtru{N|(uX zma?0~G6X$rz=$NBT-#vQ)-hn{u2esfeoU_1Vdib5%!-wBrtReo;74scj>B$fF5IL& znr^Qd-sE!-NK}7$rt_~^|9GmhiEa3<|9f$CQ*umvQk<{5C%mmApW^KEa%L0ii3Upojav? zM~CnPfQ3W;$2^Scf4Nq_@*XCM1o!jz-&_6LJudhr!I&bO%@`x{5P?94$MvmEIONzz ziQp-{kk1-t%tF;lOcX2Ql_^p%OfdnRJ36*>{wrzg2n~Vs4BPP2|AzXL()u4F>%VW? z&|rK0Z^hHO^5_xKEcWbTKQON?`(t(a+xo}nx;kr1_trkSPr#YJWI`MONYe+TE&!@^heFA|WT#E{>QZ9HFq>~MYgn?cUtgzK>cl+fnkoajD(uX* z6LZsRY7I)YU@_4DK+S3?o38K}#hvv}zpY=qTf1_r@$l*Do$G5KpQt_f4uJ|#Ltdb! zixq^{*?8x+8&Ve;I0V&AprpK@%$XD8R(jT?XUNRLxbpO~+U<|mKD%E3>?w2SB8$fh zLZMRP?gi)1)NkJ;f7dU4w|41UGE2#%??9AIZr8*v(6l0?X1`BOOf6|Cm6?e$nH=z` zJTsG>P-==SYs{h@O7?rAUZxRyxVH)r!Rnpw*N!g{l3l&G+_>-!QQsSHe^tAFnLz39 zL@U9zK59{?)&MG?PJq`ynchHv(5Rf45CQ>MyKypBKXI;c;a2D;XMlu}8aE5ibPMp~ z|EX<#4*s7U9Bk)*-IAyCARz$4{o$XTnB1EFmJ-4mT~+YbHqsW+kRXk9rC5HM{GGFi z4p=eB!Ya<0S#YxE*|CddBWu_9+XHC!Rl{b@O}Rg$UX{vnA8kMO&r+`HYX;l`-k^UO z#R6omA?odf=%HmmuUT6X-~b!KFUbg2n*i>b%T=Z!WjKT0!Va;6{AVT&u{ZMhV+Oo8 zO6h``H?Tj|GL6aMw_iA*94lmuy$AOj;0h9W*HB@w?$R`x!8Z>r4E8bTHll?A$6oY4 z0vsM&t!yWwCUu}HrwbNY7G|Mhun;-IKeDA=Wt9GdcMo6z0TCJhef&cRiDCd57#T9J zFlC##%`nfq%>t)={Pcf!{@=c#{H<{~w~ee~w)W7%Mi&d)4wq z$D|V)LibC4G?3%ErRXnSB`C}{pllt)lzV+UaVLGTE%8CN^e-4Cc~eciUeqa zOt6!Tg2{w46v^=ntX+Wb6kUcI@ZQtcCT@bi(R z)umv8&z`jX(I2c!i2oueABzno>JR7c-g{jdv8(F}AM+jU#6KK>km5)G0}VgCt# zPG8Q~GcZa1GhVi}@|tn*`0w`>FYX`c`#5wYoPQ(#%D=(CpWc6Q#cG|`aVhNd=^t-t zCyykfi&pOY*R1|Zy4B>q@^d@=TE101ICy}#Ci>)s7HM^KCFRT9hx+`*`*6?coIiWm zQCHW#e%qd`w~LkI(4~H_t<_I6j`of3ANO3kc55y0B+KQ}R{DWI*UkR*g>@k9Ui|aw z#Xo$ro#pTMK=+zujk8Jkk;1IzA$ZomUC$FgHGyP0NE83%**>@ZSM}4qB9DKohMr|e z712zbGPmu}|IrF)Jdp+w*j<>psdQ)>msIx0Ys#ljL^j=xl#$uMRMeRm9_H0!6((Vz zsk;O_7-+k*iz-%3A*0Pr`y#~>MVz82an%s zloYlyg^#XkE(zh)1aigT2oNbk(@dm!ac|68<@LO%;UURE+`)Ym`oK0xU#>uE1XftQ zNG_?Pl5e`}tLc+;au5;|*2qE@43cH&TEMAwi|Bn{_R|fW`ufTk`WoK@jjU7b_oX_}^O*s{3wtG4B@2 zh&kGA(GE9#ghs(LX9!*x;m#*ODm$2W ze}G(Mv=A7In8z6Zi*(Ci%S>ICb%gy_88hweY`llFejWUkiFQ(%xIyTEGE8MBgj3y0CU5pyI zdLTCb#2fWEihCF(szX0q)3xIbrm1(PFQ|D2QC+N7M=EgPJv5kVqKz zrUvyneL&BEqohA054q_kx_?022yP8; z%*?I=Yl5Wt!?WV!cKR&C7d3qH(v(VZqu!U%VQW|>S_*N=nWB+dCKq28i`UkYue9TA z-40?8m6dxNmpma|xUVNKI>b4kjS-3HRkXX_1fm(~*iXi-VPwx&hc+?raak*RI_#~6 z_{mr~yw@-qhwrcxcGl?`5}t~OMsu+cpS*v4hyk%04G~n-Ay0Fa$8Se$51Pus3^imv zIEeQwMS>=ALr=155i*XR!`;`1{f^Az=UTJIM&;{nMA%HmWpDsgbm(RnXa0s+TD&cy z-muoNzFkczI@fcE(^xql%4=5i`*#zreZ53{`h+_<7H327vzamO40H*tKLS)K8`6>e zGd1C@xs1A9U{vJSDRpc$NGGz_17xkO9rl`IWH+KdUVa+lAL077f>UNj9U`8I08P)D zfC!`z(gulrfB=s~;zL{W;%YYvfcO=HaOP1{-ggSFgyOV zgK=5&fS;z+=uJ!qQ8L)UiiY+?YrTdF$tnmn_Sk^9>>GC5qf*X2l3pF4Y<`H#z)CcE zogUid@<@>an+?7Bx;fab;6^m_;{y*%ZdzG%a-*k;#3vTOYh*NZF+%JChn4@F3c^T}^}!yuu$2Lbw_9cjrs$QN6@o zMq8iryE-VYlkQMwG@`c;anPO5t%^mG{%~@B04{AAY8++z0GN?MX;=@VGzp01l&k5! zF$+||=VOC?RbjdM!?@up(e8L$IO8_EVAku4r{X8ExYy4M*_&-YuNfUumWaM6`3RK- z@AWNYvigwf$180U30mv}v$aEdwTfqG*KJ<12GtSmd?3>DU>qrZVc768mi0B|-~T|? zvVX_|8Pn`x(C%}tcs}G+vco;BmQ_ylTfL!-Y2~QxIF8(Am~{v&6ZR@fPe?P?m?V)Q zF@G*6^Ao%Ko(YBoCn2PAwSsA_X}8fCC7>;f2%Gix+C)J>UGbISvx-{dda(o0j+v%> zhFYcBWt3Eov2Gd^ZZX_eSRNnMQDoYp?A@xZ15|g_SQ#E3PS?OUB%J($r8#*_Vv?1JBUjxJdpK8ug73Qeuld>?rd{sajv|!RHBg z!FFrQ?B%#?aZJbiwPoo@y{PBFTZmR|s}`Fb~<+?ZI6<6@6h4Pl>e~ z1Q*o2kJsn3;HPrsP9IBkW&Bj&fBLHHB!kv}WWQ%W`<|LE6dppc(sfUY?U+$=UIUjd z!>$``SuMAI(iB=-DZe$aRz8x3@I3oz_L#T83oPLuAmhfHe}!un&{m> zNuj0Z4>lHDQm$7JsxJ_2{}ZTQb%$_1!4Z-9!l=@lcSb>OD(>*ewa$>^!Nb(pSW^*{ ziHbeR3K)L7i7@_CyTJGkB}&|xVq#^C>}%()^Y~r}!fNsdd1XB%>bpafcf~Z9t}~Hw zu^mslowd3pjpIXXjKVb0KBhi2@P3(_8iZqXoe1YxxAN@;79}DYDTEk z7e>SX!f_h*qjBxg(-k_+--_iH<>ke0&Na79y$5Wcb$o7X(>52^eESeoi7OSX z)HN~FqhtSF2*lAF6*Fv_wymQnIPhY=28QRl1xO?UY&{GYKl%EVJB$hK0`~>;zX|PH zx6kk9e1c&_f(QPk-5>X04W4n*J&PIn`H$@dC6~>9hq!KZV~_jFFZ|{% zaP^WtKAO5Uh4=Z-JgP|6XkvDUXB&~KE|j}0=jakIM-^_^N!(driZ;oe>d zy#HQ|)lQX-erKo574I2hiis?>vd+VY{s083d~t(^4z)}lX*5B#$I3fg2L=z;r|m;LPObZWS{gW#IS7f`BOoo&9ZF9Uxo z$0YYAgkzT^KZ(Tj+adypX*b`?31Sl?iFSsfdSUZwO_03YdC)UtHps2Y5pjIq=Jee{ zWBwdL@Lam=?N|1ggHu%O)f*ja z`27WL9uNNkzb@uv>NL>Tq4EJw#Bv?&oFb0QLvDoE35_QK{r_v&ag?oee&iS$-&Hdr=BbMvMi z3}2=?pD>TH6?r4qm)Wb*F}Eg%yL=C|_=KonGmT5jRgpv2|DLKGB>8|nLc?Fu36fg6 z%eiH3sW-<^;>UhTJ@-&Oor4>ebJ&yGpM{~b+-i+Zbi%YRgDd_5ug2DM7B5mWFg^M) zSs_&kY5T_~wp_3gqw1$giyR}XLb_G>5{Ff0mx`!S5wfoxwj|NR@ljYguGur_Ps{iL zt!DRBz-N#z6I50m0tnyYCjuPkIuCuyF38m*Vt70m(3VtFR!1 z9dbmvRQylGu`3S|EUX3ut@~N`5yY>Qfx}N`Ibf(62eLO# zF;|ppj9$P+v`_f@{kn>HZl#&er{VJpPnA8EYhxHiz}?mX;o(t(i`@E6U#At8*{Pg9 zdQSADCtUG%>hYvqah6@rlCSfLDE}E5 zw=J6N2HHidm?3$20_0d!DJj}0xnXkFdIj6?>88=SOz|RX4Pcov9oJ#Zx(aEqWeFhz z7W_rf_}8NGBfEV_FAE@3yfg`YGXFOt|LPW3*d8 zg}0=#X8@4a`?ETp^#oTyZ!vy}L z;4ZEVzVl6RZv499&Wqse`J|)i6peQ7=f{Fc%lK1{m5b2BlY_Fk;wLV2<;1Gd%pG%& zyI7xIaqLl=j{9b)A+vP{DwHT z@nz%lde^ajd2Z9n+#Ml_=?JbA6pV$Kp4rI6Y3Tfu(CX~ax_2I4^cjqKYBq{7*5Bqb zCGOIS@Qp1Uu=`CP5&Eb1GxhYTA&$p53yNANPwe<`>#fubH+YucV}|ccA{waIW#=AE z_&tGpENMzlgWDab5#8&P6Y|bzSDE z%^yTQm}Q{jtc~6pf1T>1RFhA1K~Ey2s}PG|0p+i93yF2uO|hA4v#${o$E#Szqm+22f2(BlJ0X^%Tc$@i=K;Nz)hzGbDGoZYkj-&9 zVsfia3hC_CnE1n$7M=$DSF}LfkLE$=oD+RGA*A#JzHS^+wqOl3(W*Q<7k3ZyQ%Slp z)XBRi;|U+u8ymbN)<|CCjXOk(+H#6E>af*{V$Bu&#V1- zI)ARCJ%sBVKtWH!4YG-m$5k^PZ1}zV_y#s=h0l^LdU*y`bl{LnD%45{Vb`T2qd0>( zT}a-E+9xvifKd5L$pup{&p;=*;VxH(*)pS9Xw3%xq~ty>=AWr2L|1o-;Q2vUid^ja zNETP$hs-+=e7JI~HUW;P^TpJEyw6OvMacNTLq#+~ReFh#3ApTEC-mO+nzgJ!#t+`83_z&6hsNVPiCOd)8995kQ zZcmCEM(a~V&JP}|be%y$?3LSL5YwMz`36g?aA1Z_Fem}kt2JDk!bis+%?&j#AJx8C zxo=dBc!0GSj&Io7aE%4=(n9iQhj^t8tf||uDy%VM7&P=g7VYw;K&Yc+j!Ez{be>J> z9tE|WReu5#2(`FRc^n*AX0)>9U{L?dYO^u0+yWweAaQG3@09sP`Nv(#g@Y_z-K?+} z$xJyPYmsJ4F{oPYP5zo6O-a=uC4`d+gZ8{cuzSvJ0}CqIs-lBi#4;pu8)&1K*KLP7 zk=#X}6`msH#mlZ>KNY6xk5GtCW7ddBsmldaksNY4C?b)~j!`J{&t&NjJr5u&xvR)Z zNdtLp)~7WighaHHqNUlInS;!=`Je$kTXQ5K76##Ndo_eT*e7BXBq37vlQABI2h>e* zl$IV6w6z+hCP~g^3w8&{u9#`il36@Z?5YX6A-rD?_!G?4lzBq_UN{PQ+H0&MwP>n^ z8!v|8>z`HSDu#(LWoqN1m$I8Xg7l(JtUh<*xhZQ3#WL zaAOzBhtRstY-Nqw^ckzJQC?XcHxFYy5%(&)*;-t_C0uKIjp8hsl=M<1y-jVF80mtw z>+9b-2|RmGY!k8PT=Pc(7N#ruoDSa_j(ddwLacHsa*G?jQ!A3^HLcBYRw6+YO&z|rfdb>qqvi-)Ut}~*6C?$WaTY3xV6bkg%9UC83 z^`lpyJ0QZPQDdzmsNAg9Q(xm=cGMR@D)q3Y)0HPaxbHa!t6vIhK-!BJ*2*e`-$WZe z4a}E_+#b!q9v?q(FE7^~$|0?X6Px-3Pe$_{Pf6RYeW|ZBsnh9U%!Ae&C@c+n0Y2LB zF7|jo5|bXb4|=Yw_oD%*>g#3>4>M*aBjxt}&5%i=b^Cp&obZhzKw6ZlKsH}*f6L(pcakXK3&f6+n%{&(=#&DMP*Yb`L#a!)#KxeQ;mh64Hs~Q(->T5?joU998MJEo+3M2@1+q`ooTb#d#7%_5V5U9SjD?cg#G46r%()Gy zj9)s4i^Rt=l$2j|c_~?%Y6nwJ*(E;`!FYTcJmp)bx*KYGY{^kB|Nd_^ z4{kAyf|JuJ>eF5s&Id~cXL)l1Zm;ojr*+s9BbdpI2scFD=iN&Y_DNs5tINPk?YyRw zwJ`YO%P5#hLIi9hPd1}B%(nJJqxyna-+1iOSf*Y^MjM(C5I<-XihREK;{>B)ID*t6 z7f?=B_sZEQOTU!)+_qz01Q^vT!KHGQWUmF&-E&$EymNC3LX&}kP;L=D(BzoN+Y_=7 zq$~5}>q%LgkOM{X6JZ!Vq5o}2$NE`wpx5t3=|_&DlrPhTCO*FA#YXy%J%RDXD@lqW z7kYNEpSE413`4G{jiN=Z4U-GXsphWabZkmVzzdNks@qQRX2s6~Satt`OX4s03lY$% z2kJTqV(>b)+|?|4GeRQ-YHw*4qxQ-GqKPyjh23YR%n$>lLoVAMP4JU>vwAeBx=FiK z@=?j01JE9mSt^^PTBIwY%{2s-eNbkXp|bT}Nr*W@9-seJU^wRHBFmzm1k&bb|AGx0 zt7ThV0|yb;8HPz`ZD!3|H}l`h@|kfzKr?S;M;?i4WL7_7az4n%7b-o2>gew{v%YG6 z#xXK^Fy5^iEv3ar^D5T%fD5ix^D7Frsnzf|KgUIUmI#6RbD;ZD0i(UOC~Hj_8|k8M zU0Y@MWDZP&N=SwUhJ;1uZHRl}Lq7%i)Uu7FC{gmc5Wl6skkzA0AGT(P8rhrIQB!7G zX0LFs)`EfxXRjCh<(CfqP3Evkm>R=`4GolSC_nhkdGB=*%6Z|vp+i}0YO()5z!+a# z{7Q=0kMi|q&|7is9oXO5@?o>C;HEqJl9x&2fymm|XS)xM`*aitu1|h`AojW?KJyn& zQl^WsSZ(V1I*#-}rN@XNKp{=UQl>H4lMN1EU^3bV>W9^O9!kiGZwy43MiMh9X)}7Q zYSq!97PrgbS>Y-5_b-p8870O$6BCpP#6=2pC)DOfi(F5YVKgsl*oj|9$((_Fl-ju? zvL4&j8Y0%6x_te5d*84S-rnz8>K3Py5$%HbQ@-AMDjDTB1dxOF?c(tDf=b~9ZY}-Q z_Nmfw)R>pFL+l9}2~>6xf_YZ+YAf7rs0R^bLrrZr z+J#zJ<<#d%%)LO9Tb!>Y07;7;JW6868Zz zx5aTy%`NtOuGl3f59KDfR)>BSO8lo($wl>9pfN+_Rpf))DCQvb3-bvT+A2qY%%-{l zEU?$a^7bgh_3#+GJxH^m;Yf?`f0=dep<<#xJB_;Rx7Quk?bf!kawpkFn%D3~d5qtZ zcB4AV5w@!^s}plXEe&|X*>ejn4@BU)eT*%aGCJsopZw;ra0M#(gAH&dpR zWL7UNSY1(AuFtUD>dB;+9g1Mr(I7HAc4htQ^}!CkDzf7ckgju3^E5@I{2H#debVtv z4-FkYdfI^#vi~Xs1CHKl7rCp(b{Pl~zumlFrFYstj40c-as}8n(;WT4(+iX@|%tpwgrK!c(hDjvVA$>imC7&aArHfq#6P#)3#x$AuA=vT=!&C%wzvWvkhNb8rz zj%51`vn7FkG(NUOYja^#Uf22#f)84E7`vbWQqmSr!piU2fzGL z@r{p7S^W&w!d+y2JYutUKzqe*T6r{~U^pqdH7?|nOG2Sn+QJn1R|KyiA^DWOI*0ZE z&Q&!F!ho6n)xa<%Q)^2^_ZcOI!^kUi+!AT;5R9ZuI~EMZ+;+d=O>*n5nNvtBRK~Y9B&ahx2wQ3ygNAGVd#C;&L6~F z8IZ}obEvB~x#Dra5FqB=nKx~g{?eTzo&x7=k0BOJ>>liTM}JHxuvv`hT6#9P)bQpT z9B9vrH<}cp8DBQ{Zep_r=q02>ls8A5GL^EB2lve}vVExHEsgVQdY=Ogf0+$EmIEmr zN_8iVL}sPW2?9^c#lMYCb$j2ZqM1q0tT;QNJckKt~)=5W^`RWh^atBT*vCR zVJ*e7oS=YtEr(6jKW!3MH(cl$eqNdR5d72f%zT&5 zdBj6ab3u^#GJ^p#8+Vkon;>dAj8~#H2svjxcog(*MP<8@4bTnjFt$pm7u?Y zvULQxQUlqY)+J9OL=XMv7)yg3d9s?k4qmMea4^Vh976U49$jZ`2!7-(MDozA-B+CP z@`_^&Cq2mOxUTYewK}gfu{UyIe5r?s&-1zRzXb|ExCW3Tzjufq=0Z`;xQsO6B2;PS&cr}inpuv3Qe7N;rkKeeOb z81PcvktO7eaz<|H`~YVo&{x>kVPGZ8X^_hv+)C|YMB8ro&FLd%&^A@58TP!oqg-b9 zY^{6DG2sGyV;Os(Z0oEXBA&7kN!bcU#?2Rk(^wN`vA6Yh;@6vT*T_mXB?yh zzr|7pH_UQWeq2$~(ni~EG^SZxLBd?%z5h6fydH2RF%md)=bvj-pl&ZUy%PJRlHqVP zXi6fGxCL25Q+6S<=+dTl>RN!e$ie~(1Q^Gh^evnpptoqX<1}qtElQTVG>lZIZt_AU zBtBT7@%!_3=SkL2`cd5#c~eX6&J+bq(S%)vb2(*3X`GYC47PhRzL5S`f(&)8d1k>9xNkHh_O4e2`UA^7QnWvrpp#)0$? zrNO{vcl&tO9cP$@@w_xOEJva;gjSmW(?a9)gM!}}2H+7``8IASHj?WE)yl1l%g(S! zecVb%*1EEuFw4Bd+=N?y4o*NZd@Do|nX?`hpViu-H*6uIH-8^@`XWOMqU`ArQorO7 zYw%Dz)}m^ZCO+F+BUrPa$6No9>($)8$o#BBD+M@NvfKoB-CN&uPB3eT>cbl038fR& zjp6|&5W37|%D2h)xu&k&GXPqmmsQ7|uqw_pTQJ2J4{$WL(cK)ZZ67Zj9v%_~E zRL+Eze9pw~i2Cms?qSR0tXx*D9pY|s)`(pUa|(=(CGkeRI3w@v3#-@bB~l^RZaGAC z>w)INM6kOiu4BJdZQVZ0-hg{%`sv~N_1RBmWZwa`tYIY%l>Da1b}Ts{us zH|D**HiXhxpR4I?df`6iNpgFXtwv`|%a*LQhDZ-7yA+Kil^5X6YS>M{UbFYk>cZ}R zyhUv{2i@k_{f*CTC+>9*dll;LG9sIwe1;!95TWdLRca_QQ+C=&_O<=EPR{U=k zkymCjp|0gXLek?O8jUsr?LAzsItBQw!8OTtg4+t3vsKM?ug8+|ixQ7ctnjz1V{L|D+CS5 zzWcQHG>tv`z&Jy~d6V(K0H9Nqm&9@bs& z6RJy*BRvt1W5EH2Z|y}Ca2G7Z!$O{Glg|sxiZpHcpdsr1VG<(qx=73OZ9|iswp_B< zvU6*2HT3BwPJg93qT_M(l2Y+^9mAXk+nXJ}PU9T{{SG&?o=00>&V-+(p0HDdhZm-f zWA(K8Klb6@$3Fe;G0~a_m;&jL?=m&RRvjB-l7r~)zPG#*ksWS&DpU_geg7>AResDo z2kQK9x_4U=u6CzsYS$T2c5Of#nPB}2>pM^Q7AkCq4?i%c@(EZ02ataH(;xc8dB7Cc z)AtK0twVNdK^NzIiEf_U53RNw#jIM!+MkH5{@rUIbyS z>DLxVL&)FNjZ-`n$4pA^hk`T;y*c%@RV$*`8q$)E>vY6>fbhhd4r4#OAOTOpv6D(S z3Ok0pDje9Ql+XP&&yFj2;D?@J13W*U4~YhCRn}_?icf@mGsFn5-?3C3+SNa)$)>f@ zx8?DKKLh?zHC2JA9!uNM#khv|O;M#sA*(z78xy<#MAOX*j{`HH!x(~W>+m(ud7t}y zmy9yHnR%+D{yz4NBCbJL+wcVY+;@MGF22GQ9>aEsNE)~+iagoABQ)!M?*4ZD$@SOetm6|S5>%WQKvAi{x!-&E-*2^ z>T|YWDC=*2#@BHONg!H>X$`O+m;Xaz#?Y1GvV$)NKngSEZoGR5sIz|{#?t1ac~VvL zy-_K{fJ(t6=(k1Y#CVa90YJv*ceM2h%`>OtMlVAA_5IvXS^Y(WxNdQk+?_MW&b#96 z@TfAoZ5A7UJMDF8c5!Nt9XiSl(q40PMwlx0x9|j(5XsGQiEXdx56x<`)R*K%La8_a&WipqNOMwXU7OQS$hRuYS|)6i8hTPg+UZq5+z?JwW@5UnoG>-k zev+zIBZenzeiRM3Soc)>aH_g@9{BH#5wjg%C2wj5OEs4VlZw=REE*7M*BatSVYFwMo<-wYF7K70Cvx|1a zjElx$>UO5`++3A;0iQCH7oCCC`b2MxG`RqKQ1y8?9^-77blN7^gl zj1DPD9Yjbjlsp++W~^y&q=)!z(Tyq3!c-=c7fVwAXf%ABV$7lCdfs$-1QCr@@%JGx zx6WTGkdc0|tUyg!9QA=5Hd_nclzp13zGPsn^h+TH_Zv?XujZe4urL4g*Q zJ)Utp*97vz>(Za-KmfRhWY_F1zxdR(6#WmUwCs){q_NandlC+i6{&wRa*IG`FPV0~ zVvT;f+w3pmGN-sHu-blrqm5I!SxY2Fk?A*|#1oQ%_o;wupZ@x}xo`9D%WqWF6HXo+ zEv3_*5f2N+MlR^7pJ~M|6D)p}#fi~O#^s!VxI3r8ua&68`j?a_&S6llbdy_821gL3 z`B#N_TW$p$i92`g7diG88%DzoJjq(*n&IQ)ww}{B7AXdHce7{V{)?!Xn#GJ~Dhcwa zkr?Q{mZi61oi}u8A5kX*kAIL)BGz_jQKF>9Xs<)|=qaSbuzY*$>TenR*jV-~$&O^o z>EsF&I|cZ&vy`EnqdgFzTWq;@GEJW|iiGaL_jH2UjR>=>FisBD7x9d&A_j;ki3W138{RMKFc4KK!%I?E7_!s3VT7Z%>j1cox|#PlFo%6 z`XH3i#`n9(`3D>??6K&3wZuGeg-{XR_k~jG5Z*+{EAVbQJa+xVCl1W&xY|EhvyU3y z@Ti%<@?i5om*o;kS%|-AH+2zkH&7hVB)JWU&-*>D&2=rQx${S8@5xu9tlQ5jn&BqJ68Bi_!2 z4!1NFqxS*!N`{7qPuX-Qgg(}fBNZmxTO1U6tvV_|(2f1gpbWh)Zlka7vjt}!Ezwp~ zddgax)#F-TXcA9KpiQW>D`nzX>Q~yk{UmpYSfV{1{zAxcv z(k|rraXaRa(pU@h=nbmzvVr`uR;?h{ghbzfkggys*G#eDO3hgLVA+l(I3~G)zO}^~ zVk)PGEy{dVk|?`vLY?+p`%EGO^q-;?>x5O zGsj_~^;2AKZnhT4DB3(tB0D!9=NM;W+soH$sL~1@m&nOH3j^)~j#R#W2!MW9V1WLqu7b}9Yqbm}`@*PCSic*A548zt1hrKjv`i%7o`XjY;ipo{x#MlCbR~t}| ztAg{B?(JkC?p>VXZc09t*5MnX%YlxngRvrEwITZ! zA5SlK$-??MznG9b9C6@(v!jVXttv&}ZfiLigQymXPhZ6+8u!CrLLJN4i|#w;W2>ey2FC zy1S`xXK#~t#r#>vtkB6sKm@>!d-`1ZW+n77!0LU}8b@5SjZ=}F0H5c5EZD5Lzj;h) zo|wr_cWi>-Zue1n$K*1lY0`}m5&R!{k@4$B`CBK~vlE$Kbi$6LyFpRplUr%bP_`4x<{#~GjL5h_Il4N+JlrLvUkNb@MY zMlj4w)9z4MH(1^_pqux zw#Uwa*ciQ_web~HF!K0l&T4b~oam~9uoSe*StCBL2_4^(Mm&5@bi4tI9~tX7aoBiV z3h48$A&T|o%wR)N5aaSuSjJgxB#0OIS>mCIRJ)ue$fbTzTq5R%v0|x6mBS++>N$%M5_=V1Q6fK0FyDBp$}yyI^FkxWubDpoQtSQ1oUjH z9`JJlLxR5~d>5E5r&ywMj_!R~h;pR;-CQ)0)IfcU0Rqk5zO#GFdPC>)gs|Yr^Aw2N zWx~o$7MY%u;L-s!sipodT$ht3tjRf&1pYDgve~R(Jr=$b$5jh2hMp{?5FIW{@S(hM zdOjrl!16B#artFe}_snF>#410c9xTudJvoVSa$2-69D)A*|!%2`+m#Hvm;cqFF zV4OmyG!$^yh(aVT5KI#6$Y7_5s+HA!{l=Of$ujD=Qm}|uBp^+G4Lu?$3oaMm`72tW z4>dpuccyYAZ4=~j6pifDeu-i%|MHV}<8D9H7Ya#`HQ45zEaMXejW)kLx6(-LdxXY& zz%+x{uUNgMURxt5?r-}PgL$@OWlaV0D>syLOoacFmLgFgFh~+53f0pj!cnEYH)Bmy z7%%L*o~f~m(U4XB#(0-_RyJ%b3f1ygRA;b#Cah2_R@G3adB1TKQ=*8w+5pEu1YZL( zK+3c0YH9Anz(lIed-LI=zP2x3D`Of+MmoT*TiP(3|4oRWuzZ$3y7~0(lS^s*GPw)N z_Yiy2?DyYe8(_HejD-%X>M#At74;WpI}8=SrKvn=pT%3JDByc$)cQKjOy`(Bb}?$7BDJ@!1C+N8Cd*2a`-4L#CM%y)B1uQ``3bEzA{3oIW|W+e%E~@XtqfWD=as&lYz%3x@8=HS1M?RLRMeM!57w8?nlyj8UXWkESdJo98 z6K3P`_yYshQSFpi3;*!1e>^WuP}bJ6a)J_<@b{0GTSO}?CmqOg#EWGItTf~^Xl*xw zNg-*9KI-d8wVi0xUi5@}{t)i?3)kV`wNi(b(z*gkc+8Y5U_NC$f)G*zO(O&C$V8{$ zt+;FBJQn-u-KAaIZ;i)c2F?k`sF2V#xmi%0@Sd_I9G);R&YWbQYutCifck@f$MUPi z3C6_Twe+~R!CIDUD4`cti0mtK@0T~Dfmx1moy@!D_Iwob1k6-Q@9S)uqdyhH7nYtrppnBQ%x_BeG64L)3i-zTddcYYj_Zy`RkX!qLebce*Asd z0oQ`Va)9B;b)gJ1SFQpb31>g8F8pDO-;emCYkY<-i-@=3{WWUy{G1;I1E*vDX$W(> za#LSw6l=}V)US6>9=8j@IN&u;*~M2a?rpGP?!SAhI0U3r-0+j;a1Fn`ieOKM8ViZp(6zsS|IZgr}GuQ^EeU)HtMIR@te* zHSY26&m4>bC;AO39C0d(>Yp3)u?a>h92;~ia5}uRH>r#p!RKvA`CZhD$i2m9`{|yjqg6y&_QqrG}aTe16zI zxWBKukrGmGavL2&ars4jd#b%#MK9OPt&Xl9dO+%}h%24b_EbXVZB4AJVB%D?@qY`)GXTj+5 z>!!HZ!CC`-iFI*1qxXx2oysXPv84qDRvRm0AU7XmBS@2DvC#;V&M$s9A9T@J(rER( ziAbk~Ha+mAqez!#h+TUj0Sea2HbaH{?-@ajwTdOv`T+BIrMD&gpUMTZc|vh<5t8bI zO7i7*RH^&KPT!}_0#9emJXZdjt3ct;Ccqi>nE1blD#($i%T&ZS)F^rXr7k_!nes-Y zR}85%4r0!#(t`;*c^gQ7l0ltqrQuBaDNsmdMt_|_&1ny{;Eh8&dtq`li@%8mJbu%y$}fsb5pzU!10pvj`!V|B|unxFe0h?P>9QmS1ztu zE$%X{u*lken<{0p00rb)&{O*~fOtpRE=$KTG5#o#6v8UgzQwuOy9kiqfCOK|YE<{4 z__KvXnU5rLi0p>W#&K2W*$4Y^L)C5oq6#~H^t~93LQrOl6nT|e(Qba7$O<~UdPfETXUERmU{%ajK+u-`iDB+WT`4dA+KUr2@BZzj;S>}{m^WhO= z`}}MQmn~8(mgQfTU)()U z{y(8b7R)5rR>1*$7HajN*&-~Bp2GjRSL!U@(Vgf*w)5_)h$zR}8K2&677 zjefpsp^eHDyt;aZC*FZ-?j~h&gn_1%)=o-~UD3Dx=m37XL(Ldc+Tvkk^F;ELf_h$&`+7tU4uH=$2h;rw}VVpRB%?g$5}rn zM-mx6;Ly;K5Vy2fk1Lilxa@c%VH=U5>wM9(T?A zx=XC*-YkOh3+PAX=f8?FD!6{>-!NlvsL>P=zT=X>60YYAm&DKVRoIB)i0WjSxZ5KC zf;GFw8zz4ZV_ptNksP*Kyw_|HoDNCCK6QbUG;xfWqiwN~awJa7l1bsG{I(lnLZcA1 zmrQkNIjQUTB3ftsUp4}<3?7*>**tyn|6k69%jn*8+G*XwlxTjosvTjN!Z5tWo3x22 z){I@SG3Y!;`msm1t6M#1xrK-b*a|ctmiq0l%^@U&(|2Y06I(n{<{t}zOLh`&Qqtal zeZR26Qfcvm{cl@=6nthAa1Yk970%S09n6&o6Z%TKO7tYuS^kwyXZ0vM zM(dabgPC;IXuHuufsj5+6<@U*?jf@L5Mp;N*UDkb?9FA63#GSmAtT^)_M37G&8@XM zTI~ET)-$-FlqGx6*4hTGrn-P9fVi&+Fb(AdRW{nRynTX^=6)gFxq@;Fo(>KhrSd24 z`DGe|-DX+6J}Z?Q$dIk~pZ_ZuFlM4GkY?%_zABivSn)~DOlQF(%HbMdIyb!u_#vpW zjM4$=*mD!ebZHHLDr(jAekTbeY+={!7Jp#I`^lRA#H3SzEsu@Gmn22w-Y(DS&e;@f%!2|A%c(fSIq>S-^ zT|1Seahv++RAdA;i)1>YpvY$tFQm{T`KVvpVb-l7af%Vnyd|gBZHDkM&OMo5u%s9U z6|^>OYZz!*r7=OS(v^<j$Klr>@KY}$?5&-|f&_$dOB`eURts#mn9Jmo}FVd(J>_r3rr%uEJd3G0F& zq_2ss5>dS+DFq}|N*!N})^o;7q~w}+Xbz1dwN3un_oxd=nM))w<;|(@v?dheXZ|5{ zQlQ~{_nnZlx(2RV$yM-ueaA@suo^gM#%y&8`S^3Cf=l!+zE}R<6(DSauI0DOw?sml z`Q9&8a+}r3n?WeUn3PTg1t_UH3Dg?uxbVn2)d|AUIw&ArahXcB2K>LJF#*HE3R2!i zyz&D&QTXJIQEJ{P47c*!S{a*3$mMi*8cE9>M{Ew(hbj0fGo!?SaQ6vMgqloTC61CP z6hTyeMoPT8>yWQAxZ2_VXH#9P?;)#4QY~_sY59d-QTXQ{K5#y?YY*+{Rp0mjuK7@8 z4e!B$UeGP$O;&6pkH%V6BrRG)vqh+LZtf5}1s_HI0cT&lxZjm9xssMuBO|3(32YQp z_~rod#oZqqwP)W=8@fRjm;hWT_3+7 z6ep2;!QIAS8&8yV1WTFmQz=|(aj(NuV=~xzONgxg9eoLiTR0|JFF`NO3fnGPIz}#0 z)l8I8rZRzw7Fa$R5*CmWScz;TU&1qqFS zl2TWFwZ@L_1gGZ--z0;0H8OSfq+=xWQXY#}>G4Eu2Iw0*Tnn!3F-PA`t5_3ZN8zXyafeifU;QO#(O}b>NSG#*kt|Q!+hF?u0CttEYUYlsVdU=R662v6)vA7*fu$Ib+}*^_e*R+X{^P$k`6OU{X7AO#&!$=2 zwS{k;uZL566s}(Yu_eB-0j}yO{||)oA<-SqId6hhw!fa);t=U}34FL^km+<-s+WXC zQ9iBoPn0<`>(I*2ioZV5%ZIAk`V@2DCeaBQXW}QeAp>-9;+9ZxV^3Wf0b@u6ID_EP zj|Vzi+Nj|+CJJHf+ylk%pJ1H&ES)f{u3-He%{R7*ZR?KCNlY*-Eb3<|qprm2cO`e{)b-lhPf^fcX)VOA4t zA5;Io-aaLfiam7L(pP4dMo4aT=b=M+A6TV$1{@-&Tu!vTC-f|gjEvmyLP@HK+ASS@ z9DX(j;SP*d?KMh=3>8q}krQNWOpPD#R7D;xvfWG4ChA7eIQkU#V(ii9J=v51`?VV3 zC?PhD9TD)nwTIK8rxa1RJ{~O8bpZj>Qri7$AdG%RVsh=^pQCi;} z54MY!=o^JK&Qq(7TZ(m-Sh6Fu54FpYr_Gd;nY_NaYHWis>3v4bh2rUG$s>KtE6wV4 z+4f^Aqaf0EmbCP(WIvJ(j{eGL=oj$cGU1j1uPgHKIindgGV2~`*i$x8s$yCt3r0EX z%3Bw8tArmOQxDGjzu^H<@FI1Gs9gLg>3!zel1lY!scaxL>_d2}r*27$-8x_EZkd57 zH6i3hx=_K&mv_Y)S`JR1byNB3os)FWn66x_vFmKAMstP*O=m5+>04b3cgE(?tEgL9 z=OR1n*W^2rl4W z=vg*@J!|V1YVENaHzMyibP9eUT>-{9hz)tJ>_`o)s;pON)EQ`>Uv)8c7V4BNl4>7C zp{p=KBOD+0ibtt=-ddT>f$)!H+HqIx>6Y)ky^heZadqpjeC_xajhES(7Eg@hGmHJR zK-0^<^>gTdXiw&**ET92wc^fbE=pkdVFp>I!SxTL&x*YgLWGn_%AeD)8H<08V1s4b|BUcwxu+hmOl{97!(-eN5p8${%7vKQq_0XO?&2D;W z_LI%><_d_kI4Xdtg~8YYx(h*&D>2pVAAY4-{oDQbE%WC!|K<@@W8Cf4~~Nd+b{aC|Sf-=aT8GJnv_ z{P87rWtB5C1v3?~6qncVTg#op?B}!0&)R5NmBhT-U>0pXoEkmFo2278i+>d(4LBJY z+CBYow$c(~l+uZ2++T57IJqNzuIAQhk+dI+@x;u=FtmLNet~g{!C^=|N@sIl8h5zx zm@KSBrA^oo(-ryxU4kbH0^sFBXQnQxtn=v_ASa*SW!c%Bps0yXeH~;0#pJtNPBYGnTjV_oa3pjus6_LX(?@UQ4UDXe4^vI zQ?@N&V2gLb2ssJV}6dWuENPkbEBiQOIkS~I`avi=Z@9x zSbt%zxw^thPjjQ8w98UCAdBbD;jQTHIyLjDc5cpVpvo!IO8bYAvOtBr7L~-?I)I;3 z@N;**BLqd(vA-!VZC!&B{>J+~II}Pn=*x07dov_71-<=tTt*NM^zA}@mzif|(AVA) z=F?^H4xsGI168zrJQzdHhaAzq(ROb%#v5J219j7ukf_=+*6Hi64hz&ngZT@ zzxqyZb@ZOV8o+}hOZs;Z3nXSNMVT30O6^E;G; z>1Z~N+tsCY$%$M003@p_^ws;+15up;XsTo7VLE-Y4Pgiq#JRk7-oG^ZW>bmD!P~?D zG>m1Q4yVPtO5*kAPG9g5?%Ki&PBM003Z%G6_4tv-;V%uiCHs?K^MeI2v2 zwnY0st+j+Px}fRaMk0TGYfM8k9$ZRpqx@XVV<~TUoVYMYU1L*JT^iev>1)ArH*CAi zP*ssdz80c0E90X~vd81`_IGH^U6z#F6cv^_N~0N%5_hHW1ibaEzFr@wA&h+@lh|8LJ&gVA?V&~a zD&j71=Y6?tv9&g}w9v9+7FN<4(?{&aW16`LkkoQUVi0`jn{`~8@*ksI`TH-XF~EsK z-AvB4U^zl%fl|hye#c}rJ5y{N>iD)X`z{Sdt)!`^s2yy?nPLsIe#LTArh>4F5aLp7 zTUMp=9Hs)#%8+HaC>Ky(&D#G_|5 zN190+^R;)0r9fUC#ZxA>gor2YI~eEx#hgWsda}p=Y8Miny&?HOygl~zrvG6d?6muT zfOV8Ca7H4q#yDYfa$q0&wKqFEv;8LBnL6G^V~#L)_HV-f2YPT9Bbri{P}xLIS@FRx zIKXYWOTb|xyU8hcns}NlDx23!B}-`1M#krB_YBk2-vpr?N_wJ-odr~hwhcfCx9}M& zd@7B!R0G>#idKIy&2dD*NCdBx1W93jH5)?}%IGl_HC)HAd^ACdn6wJrs77|*&mh{c zq}jgVAekp~A`WDE1eOYMRy{e>uasy?;nMPY-)3CYW-3~W&FYk_r5U>wM=z4D+l!%W zjNN;QmLHLx6-Qq=%ZSwPgX5N6d8>ae3?8W9POSY(qsLI^=55E8E?%RF6#$2j>#B2m zxwRn?ICZehX13g8<_0|`&?kJ`b&%jAnx$Xd!JbXA3i>chN)nRKW4GM|ZBYg#vfTeA z=Jo;I+GN-eDvsHRDEwX_C$c8#4p{-+zpD<~?aj@vQCliha|eC+#`?TJQ#BBYLg@z4K+!msGdXD{Q}>vtwE!M!z2}JZN5!BT>kjAsGuNtEiBCk z+(H-s1~8og0Eev(3Dmx&!romn{WR?{vjv1N)~W*bj( z{fmWf#~9Zymc?HUD9k^|+L^GXRCJZgQOVVmnF0ZXwcWysczAK%wxB7bSn z^s`&|%W&B&vb>skmXBk?>ierf8fA{xm>NlcykJFCH++zev9jf?C0@;*exNc;DGTXlYl z|2)aSpg?c|56(^x?(7@aGF)m%Kl{M&OGRE(EPsvM(P_)A)DP&fBy zP%jL-=uY3_SRG>1cuCYa9E*G&Fwn0`QX zB)WW6#VRCaO5+{l4K;5-Ql5X74z?Uw{9IJ$Otaa3GIspjEmaeW{+U+pX9-72OxDVR zdSZZqq@t~Ls4R0$pOsX!t#x%6{^At&{_J(8zakm>xvdPIF+L^zRC;M&&rE@tvjPu? z|NG3A+>+HEM2&Ij=#~IWh7o%Md4W+(Wdk4fuWqy?)8maUZ`O{jbc$NAEk!8@U+uk& za^C9yS}Lf+l2!^rAY;@G_8v42~rD z<80=pXO5+4#ijgy>^n)OW%7#1Z-sK|20lH7spIH^%9_n6I2v(rAo4O=@*1U=7R#SD zW)JdC5_lc`47uczIer#Z>q5p|VUbyIDZ>Sb&+lgILWdd%%Di4x$FJ zuT9CD!u_VaMr96?#iu-C;nbDe%v{Ua948CcmbMOMgD+90uQPcaAO%cyWV3O)wJf)z zsT_5fuGC>kX7R>)tGDt-tqrUD>2Ot4H-}OxHZIC7#dO(ty3S$0EJJI45P9Y}S~LG| z+7yEEuGkdIBGl3{-#X0RCF|+y=jtWg-QLpH!iz;>fRJRc#uVpAu5|aRFW2(p)I5@) zIf)ovnz!hR3EWIvJ^5n!afNTn3Q)BSRnDPc){4C{ZOGoSH(u0fE3>3|jE}lN#ifnQ z>Fo7tQDcB-nYTDIfJ7Oz5W|ey!vMEulnxVO}F4@@E9xI{UmoC(pS>DVWcsk`MrlJZC zn&tGzsV1r&uXWZa3#QA*^Y)IWOpmCVBJa7@SHGS@(|k%FvZxT`d zOXH!bTawRiDP};ovqoa{gMSEeh_{|d+iWfPgVS8<0eCYf`nU+y^rPwO$kB&Lrui$x zQDS;ByvDTrEGJ;jW&`iB$(wyN=?=)CDuG`o_(Burn?*${T5(HF^}Dl#7TBVK zFtL%QlR*sbd3g)(9uOGnzs2EqogcM23sd8&-UO5Io2oh-RCvSSD1x*Rl8e(VOG1>t zt;*z}qt9rO=u!qDVe@B(JjKxM0n2CTwaFRpl2tQ6{!uisbd)?Q39jjf%z5}VkK8&q zixVHLUA{?Hq3Aww)7+x6R>@E9Ax#PL?49hAvsN-1@AAgw5Abkz`(tTnvec9pK!js8 zy2sUzZMA2&cSYqcx?4H1-lilT&jEdUHMth5(Rx)hs#7Ry3#tzPv=ZUZdB+2+m zvXd(E>17>pJ;3&UkBx^5Gp-};hebSoT?xtnX^nJ}=t~VXs-|rja{)JbpIzEqdLuv$ zgFBb~;%@rfl*axZ(VldBn2rzko*zRWICXroNSWrxHdUoGg0OMf?{e&@UfW*pVwT%& z%Qpr+cO~gDMKzj$EvB^}7A06>{41{YA;{X=8WHfR5yQ?J)pD$Cn>5!xLahb0TACyC z9+y!fv!0H&<+EU+Vfm2>Gfzb$;t(Dy`dSbTt5|$->U=+|GkcLHIkHvb^*9i4T5fgD=S(&lDj-8Go zo8~k~qq~qf?1!JyNuuHlA0#Z552O~XEz}#+Od0QOJ)}E7nE{X!#1|w>Yt`CqzNRF12;*DoZPwuvy6GwvV zBhk!l@mFf#%f3`rHbrx#e4T=89go0-xm+qPIdfI<*}$0=kUU3akH^1kwxY<#$2oIW zQe29E6-T2FWv?m38;&p%L4Gv57Tyjg58SX#yJ71`(~Q(wYP}BlUHoPMHMVOl<~JA- z2JBwrujhM)8=+|_#|8ooFuo7q$0HCzM81; zsKvPT?pZi6Xa8m1)hnQN){sm)c+l31|7rYY^E%ruaYVP5CFYvD0XAx!Bz^VfS7X*P z2#>irWj5`GPtKB5cL3zW9_CF(bUBAR0&kartUyj|a_?S#?_mkmxaqDD>JUVsH z8#p{HW*UmmAMGzc*$%*t?^Sqp+a1WZr2_f41LK*l;y+&ns@^VE%DDYn-wkYT53c0N zTxx}!8aEsH*N;j)8{> zR4JH}fkTHEA763`ySZ+?YG2P|7tV|mUy}ccnLk^Z!IaMOGF~+4#~>f^G*a7(-v7Hr z7<%vDS-*Z!XB$g)9&?ygMeC?gpF4N@Dg~@_ ztXI2TI=U$#yw*+Ub)RZHF|a7t_s!e9y)N0yp429CV1717LQ$h`xv#+PKwoZK)T~Y* z42Xp@3a9mcoI(gT2~)5C%MHAQ(`LRoaON)0w0lXbd?+swtG?51tJ0nbKX*1) zJss_BW#-zaMCvI{x1eYYy zN$x&?r~YO*!YwY4xVO6_gnHJ4p#9zQ%jR&!dAY}jUQ`uc-zcUhdJ1f4AUWg&?a(j; zd}GqgbBOVrqkfr_`g#;O3l;15k)4-WD~NO;0s}9LFbaW@WhHaY?_}5h5)r!|G(Q*Z zsFl?5>0}mRIa%o8B0X+kDxj}vau$CW+PWxsb+wHUsE%Tb4zy*{dFXc|DQOW%Kh?sjhgjI zebsAA?XW`YmchQ>Tn5M5I)|w(zi4*O1Ai+=Ox@F9E-GRE{9PZIt*YFi92Tqn zS5{o(nwNw*c4zhvIhJ!^^P<7p#%XM3A6JhTeixp9yVy5}yyGUzf+~s2Mw5%erz~CX z$6z$0x}(ZPk(#BspSXgYp|fkrnae$avhwD`LX3Y@%BIgTGD&Sl|F*YR8M1M-eYq|$ zyL^y0`oKu`;1S+=tmJI%VUAeTYU`C1d+)qNQ9;QqJWaYv5$5x&d7~E4hZK94@Ca-c zpnN4c4XrRYJMe0ocm)v5Y`^ybiLn04RLF%6JRZawy!afZlF5 zq%GNev6XGD%DpnQWlZ=lc4uw+Z3lu(^JGPEtoHhr?8_a}-^_DvCozV2Oj0yFS$F$d zlh_t-yC&JSd!m2y&7#1^WA^o*MyscdS%y4=zNT3CoEJs28vUQ3e$Mu(le|3=@;`vY zmn_~JB7b-KhZYxoPBmY8UO11;hkhg)EMLWwkbLJgpy2(~0T#BNCp|7emp|i?uepix z8Hr_wy5B$+n}JVx`V`&%dlU40c|ddMlCihR`X8$|1yQvR45x_D#MU{mCk%5o7~ica zK&IdN#cI`&bLNSW*&a~prJ*uw9PzriHE+D72{~we*An+i5ys(m3*$$2I)d@-4O#J~ zXINl_LVhSxF!FaFCapcK#TYj)?g2IO3O%_&h@R=8H8lsFTTX22z)=KeTfqS~Vu{>U9s}wZY>k@ya}q zQ0%6Ezbf9*(BE&ny~mwCJ-b4tCSxl?HDsuYX!D@lmK{Ss_+0R|W@OW^XR!-k81r;h z@L_7d#5iW7?K4gm;$!?tUJ=*H{A$7XcAtiSC?BzWE!&0Cv)VjIHE}S$A}x1(+_-QL z<1M;^l+|_I-((ty$EFh3e6HG-+|3AkDaCFmafVYmS`s`V(knF$P`Yy|T_jb0+ZFKG zmQKKC=yR`($WY#y9J~+sQZ4g7A-(d<*^x6-YNIv8=p@eKr2yFg$qD)U6&|{-mTnkV zFfgzrT;!I1nu^P~^w1#1#|X7vd0IN3HH>JGrw5E#%D_(wWkeJ8_J^Y!HYvA9|IAXB>MMAMk48iWh+-T;ldHM; z*@T0?-M7u-{xvq$wsV6#chBP_FZ9mr_e#~Lvo$Ww9#mtZ#_xq03od_8?lw>L{wZ(; z$F3{&eXQ}N_h}s;3R5!BP`4>l3Sq2$y0*M!t{Y2=&GXqhE}FdbRXx`*r4Md>2M;%O&X`_) z8c*yTgHp&ln9Pg==2td5D~VZ~KXLMi5=u2V_HxIiyYgqI(CHFb@ikU$7c z|N8%AZ@D5cal#ok0_>^+m30x+e=8HF{=h6+j5rOU)NvJri_&?r^9dArkxp?>$G_WNXuMz zhJYNen*mvPpq;GvPUd zHpEiHG6LG3QaTg77~WLB1TI&*@CzD_IVHrkN{?dSVc(B_=ghnK)JKF!g_8d&aGnYV zkm=Bs5>h4eX8oJ}&AEMgih7EjzmTE*G-PoZ>(pZ7*_Jfn`lEsllZG+AcFiShhQ^Yl z^L&Tbfl~llNqyOEd;N5LHDXt4gBxdC!vjEDo`{OiI+B2=tBoX6*j*RT1HE`oeMmJ0 zbL>vnPIuU5-z`?H=kLY-CNTxYJb9sUBi=?Hm$k((LHFVV1-c%W_Ot4yd)>BJ;axvt z1J3K3g0F;N9Iuz87`KsxqtCNwp$lj}l0RuTT5|m%JJGtvf%>BkwUov_P>x?)VmE(3 z%3=L7SI$G#F&P)AVc5MyDyaQqm9SI>$HDaZ@?pyAvCZw~>Y-)70di}e)eXIpDicFA z(b*v`+eK&iP#MEa2Aa8L$k7}#Xg5MYR)RilY>k%-bOg3GE;Oa2zFPZy#5pyTXjdH? z)#C}<>u$HOnN*<~oHz~AQ1R_k_N=JO>r$EW?ABFY0y;Mkqqe`SU-nw57univLoNoHMCZ-P~&am6^1%lUOFpUp(dRut!n@2N!@j z^Kolu4JBHm`}Zhbg6vD|Lgb0%_N{9MMm!BH9r~6dQr?>eGIUoY#&23Sv=Z7YO6%)c zC04#4wzhutCg(6#e>yAuy}4czjPSs6o|QF2n~UZDZ>$Kxzy_oA0lt!@=XPB@9P*mL zx4D~w_hC^Xtg4?bGEV+$g}+s%U6nAUXbUTjmYJF@Wby9byRQ+GoVv!3@yr-6rqB}t zOM;{sxjOS8#!e={{);E_1E8{|mdPR2-CT{FLJcQN*)p!~Jd?R974YIA^ImB>s9%=H z_|t+N<`la;r*NtApzDWlBu~?R5~KNys?E0vD*}X^U9nFpm*@WC_`)ofyb!i@qPL%? z^^PoE)zL)9IPHXi9{=?)Y@T+h?RH@yi_U2YXJwNan3^(2hj~Zh5py9Ut@_KL?1<%7 z9PPX=zBrC@@q_Px^umwiQS1UvU5SI$7AEQXu0`o7MO15XVxM*sU#xOD$6S6fAvp&V zZscif1bFqQ*;Wb{yyI{Ku>qE!s$w7UoB@$jZISY+s@4PT=Z1p(VzZkrExF=P9-jxp z9h26YQ1Yn?hLcq&426EL8l3Tl3#Yug%^-i8hRzB{KKJs!I+E5oh{BHd^MGu+$}KYf z^^G1!WUZqV#{T{%d>A*3*T>NW{Dx9!ixz|PN9PO?;wGo7(7V2@ZeO4b4`kjL<_cXo zu(+5GP|t7$JJ^_o;~zc2&Ci~7m@K4oX*%$=98Z^GRQ-GOp5H-!I&R<`{bY>dxlr7E zmkeq#d;i3#;1RC<*LDt%-jw@}w_B7y*6!$}uPspv(*Tc6ylHDSmKc8ViKJ8giwN># z_VN~!W1b?4M7x{w@n6%2@OgtIaxDte^*zN}W0)UuhVJfg4je{|A7%U$xhJ7A9wgrXj-V(ZR#i4d;UqJ3+ZuOE0r4)421%BX1%HX!SZhVTNUQ1GEW6E z6Gl;ixm}@p$q1Z@UXqGdfWITS?Y;4kZqcYx30j8xL{t~sFS4G-o}MXv9M9SnyBbGu z)k&zG99J2suI3_IO(i?YvG30+at7S9){0>|mb1TfEvYk$-IgBWX%_nJ2Iz0uhPQk*a6p(WPh$zG2?79407{1ia|q^pwV|t`1;Bx} z2z&SQ?t&~uY~b_YM7`KsavjNRh%yGT2tV@Q9@tyb3$v99;@{`n_`7~c(X zlxnn#=pYN{XrXb!jSC{mqJ%jaiv>rea&sq)HNnZBrC>Qp+O+Sh^~`N;V8GXrvkhAt zbWNbRdoNjjT7cwoxakqAE)wh#L-R&an5@0oY7YkYH2KeF=+E7zl!tGp7$Ff)+)kyo ze$0p=%+58)Y6}o5$KiQ-9)HZR!ZsC)=y|DI*Y&tEcJb);>QK#5LR7QpIqckox$0vhl}H=t{Z?^q-GLhHA%X7JII# zw9+DiE&ed4aYeZg(bi|+_ebWxm|UUjB8Ur_HJe%k1Hc;#Jk$Y~jspI8+&Kdc#A9?e z_))<7Ds+CMvYluVzVJsRz4ArJ6;2oWb@*lf`_8M-8=Mu6iAL-M5xR!dCdf@Q-=r~V zH|)2Arm)dn_?r6srXWVahUQ(owV=w3s>Gdc&Wtu^&5Smdy-PHUp)+GNQf>}G20LD%X-?YrDVjK}L@G-tv;rnAq_ zKdt8jp7G;Nn2%!b*ePwAE)1p8P#-nO`X|edhA^F;?V;TMcE3QG3{gdE=UQL&;yzK9 z(jUex*~ZfP_p%f@5PIpJ0wi{8({sNhR8j`bXWU3Xw~vPYKDA5AIbUhHrX(PwQZE4> z3ZEg&SQu23)rBm87eZ4eGLhU9W$Fa+=A1nH3`~g$um6=)Q!nN#FHBzSPt4Q36ZR>?3?Be`F@(JEz+d%d;*zxVkRW37$Xyo?UhM43%HXYpp!rFQ{j*|Qdxqfmq!tXRfV}IM5dK525 zLtm?tIx!M4Xd5d2dg`uSk8b!+?$b5AA-fsDcRrn0#np+8&ufcWR80fyPjhRa0|c47 zj7fobyF3`K*aOsxFx(hvX0p{_`#}r}EwhF#L~b4YLlBjIwlejtdT|<@1P2z|mxw>c z+_bE}#0#6MJP(;cHw0lX5SZsDw@Z{_Z4H&CByN}8!`wbuQ2aQ>>q753WUs{OukvUz zt_EX5I0?OWxzprEr~gIo_H^qAGlB8W=bg;7THZIGtjK>L7x86CM~Y)Pd)ZIqPRJ6z&aI9Rl&Atj z@-Pg2Zsave21@oi6~hle5=a8Rk9lbq8OFOuupzrFcCjwVqw!FDCz_BP1#C%RK>+v+ z(gy+AFfu+4reRL0g;DayhX#kI@!P<9x2R>EK2z5o$4~(6{f{JT&+L;0Rc&8a{Lo3i ztv7@DC-p}4rNG$&9iMATsRkQYHev#s#us~v94{U(xd`4blEc27YkEP;T!41ajhH-Q zmb~2|ge9zb?GMhllz+pO{WC-2#wiR%`MbUCA&0%wa8vOE-}3~quE)oAZp8Ayrs$K= za60-ImmUM%W7=`&d+Y@!Z_{a9`5Kn)^vhjl;~_9BJ{L~*z(+%OQsg(Jcb2IK<{wcP z-XscizX{$boRaNob+-1ofNm8fT;)9;)F@&Y0x!ID11DvVB)NB}qfwq8BpY1!xPW_j zU7sk#V3+%|-KFmzPM;Uv&V$G;UVrMi4p-c<0&)TOBdrGP}~!?i3Ir+_S9rDMD62y9HTS=JAfXFrFu% zy{Y5%QV?BWW!M@K=^R-w%!=Qhye=%SE!^L4a!Z;`l>mdCRYE!t!pvX8stUM)z0(RQZ~=qT0{c zT)Ed1N-Zls2JM`SvxurSDsE8cAUHU9h_t=H`fxWRB+Sk~#^5fNv9pI^giv#K5I>^w zdgPn&i{g{ri|1X%b87mZw1y@6g!+N-vBQx4-*vXt&Rb=Lswj4 zB5e-|9T~J+^#S48u5+@R0&_A612`@gNXo@^t(5Vsqb7p1c%P)6A-WK-%N+*$pV0cU zja9)w2~_fbHJ~&MHkaB_OY9g#)`$}Sa9`N9&ul*@KMtIDt>z_axr%BePNFXGiVgG# zf<2AZ!2DIfdtUhWEMx}XUd0qU5*`%}Q$av%Xx?k0cq6P`b?mj=ca$3DviE@TFGE}D z2d7O%U!>l>CVJz`sQUywq!}G}JUw{VArgM@fQTP-iM3-5?Wf?)^R+&ypokB=vKnc1 zBAW})A{WW{=X+H$L2vvs*plkBSY>>C(d?k|^bb-fXhY1-+F19aeY03Q1S;84-cWU^Sn`GEtMym{67)$WkSWMamcLS|#5U$S!UPl6Yz zvVlffJszxCEt%s(hw zPuTH;Lj&8dMSka^?H^AhS zb<#4*7&QO5V4Uj-e|qVSWTnrZC?nq+qr|n@=*5cQ;bVl4Ay0&k^==oK%R&Ml*dtTN z_q+nxi>}DgS)Q67_>5oFRzh+)bxL7^UIp#s5zJ7S$9b7+AEIMOH)`e8UbpB-ctUN} zxQUAq6Q1kI2-~7PRzdg#g*IuZPr|Tmk2+>|N|{VXVkWqaJ8z5^dq48MPP=iw>#e&b2Cdu%0Q zm1Z`e{~aWnhw|Y^P&FGIF2|7`8OD28L4PtPDc(Js>eXH2)Fa8}1T zG&E`K>UIX|;A=VTjwTj`OeDkpE`HjPeNBDfT5HC`kPDSY&}Zhlx1xVZL~H?e0<3XxfZ{&nQddt}d2G+2Q9>nA}*b8ez-s z5_Epdz~iTnjOwj#kicZ)@Mk7H>d~k{o4@G{;oWTXm` zg^@oVR6T~aj=TmZg%9u(xN#iw$0&sT_JUsN%>E(n$>t3RQX+flr* zsD&GD&LN8?VgKRq6#0WkKk)UP%B3jKsFrN{Z?N*3d7;YQX!v9#=?S(e71u&0W`AS4}j?9W*CykVBvgxZ%9OvQyURB>OV z`@(I0$#!35O&A-#%ZmKQ=@0-teI)1(if=;@c?~61y|&wjxzroGBEX9oiB2wRp_;knR_^T}ahaXBL$T;c zjgKQ35<`n_5F`XrInjy-N~{Vo_fG=@q@`hxpq*x;gr`U)iy6fq8EDq6x;5;;Sa#t? z$ihhvRi38LjBXz6HwDi=*VLHPwEm3YHF?t z_55u-uTFzbWm7J#Kwroj#%_AD0((09+&wmGqL0JuM`fMA+ZKw*K__IT10_W$eg};u z&}2te355ho`%wmxo^|O~2a)p3s@XMnd_p)fZG@b-mSwd#R(@W8nJX?ci~TAed#cwt41m+oWBdmhs6 z2ZD@lp9N`|J?T=cjmL?{M6t8AW`;U3r`Lmv=2vL00ga*0$yL>)amUjMf&1e0cb=pl z?wDVIk9}7I5B{}Pz84!e6Od5JAc?2jE#M&`O8Bl#?v?o@iXU!BC|(7sb&RV*iN88u z-uff&5dH2TT^?uudMP2nuZL0k6!Y->{@3Z~o2*HrAcs=Lx|4}7^%vE$#O|-r>~G${ zxj1gUz~7&`pSDBK+K7$CnY#a5b_%F}ZNP;|FJ1Vo8um|gz_&{tc3S!C`KMrOQ0QPKb#; zWjy0RMyQNwU6FgCM^Y9xa$DJK{NXkF&_C4!Qj|wRt)Z;JofCi}(@NM48-L93s?L$e zrY(|QE{=ZPg0Bt!cOUHHwmbD+PTBFx4@7L2Se|=Wt{>zSCi0-TZVjyyf*8-xFyGV{ zspgg>tKZ*U_4gsM#_Yuoj2U!SxLW$y0tyR8UBPqS<7TuP zgY=T0ey;JV-(w!SMASuY`%|^(^0?KRqNaj>EcK zKj^XDg+tdZHT7snj)IlRfsHn%Pm+AJJnlK8s9CM(ZFxO#1j`E7fP5)sD1z1J)&3Pm zs*fpK?fxLRBrIHNBRSDLl78M!@Xau1yZaB%+j{ zF-KN+H?f)Qf&^&vkB|=BQeEgT88|PsKb%T7{@@7_Z7D!^Iyxb(yks|+Q8CZk5QZUx zT>LP|R-p67yn%N(5zlje9VRL=-^GyV5ACTXI*owRK7IcWOJ^C-WYjibX=xFZ?v_Tn z27+{Vr*wBSN&#sQK^p1qF6r*>&H`}6EM=iKMIuI-I+wDv(R@KXT+ zAC_EUqAfokx}tQ{h{LP{9xi*u>Md_)$`h{8riQZy$H0Klx#gz~+U;VM(jFD~+C=kk z(RRDDm=FB@^hbSlKfA!@Yr){`%N^NcQ7s*MSj2du@zcu7UNxKnc)D&^G4b8y$T*@< zH`1fKJ%2>^cDGMgw!32yy{js)=*f7_$W@;Hh!gk@t@q%Sf?N*LW6?1a zUMQEXuI?InE=PWEve|4x`D`Fi;3@Qo#{d*0T8Q%G-JyxM{q4w9!<51oV8n6T_1GTY z19{Um_pv*jldKat9+vP~pNxr}zeMjz<5{x&%O zJ~DRgE2lMi=h103&<~QAGlTlU81{=2ovXklnL^Y@7ANvmVQ9O7z(HQ@^^UJkDRorp z3%UF#+sdBVMp68hr1OWP`Gpgi#(7^d9fYL4{K$_IbmGp=i7&q4j&(<4iX7SIPubtU zx(>?lY+`M6)=(35%7y`Y#NG;d#RKSti~!o7?kgb-xX@o}iPWiE0^&GX#FH79)XbDB zeI}U4AFAEYbAStrIM0pyXL#AR)K$}xS4;2MFEjTP1P>gsK1Z>D&~P2CCsEt$QwXn( z!)gk4vkR+5dtbjxUK^%%Ju?x>P9~vs7&sX{`EuerbiP_VAbHRDF2i(?sAsvqN>BGm zEJcS~?#_pwDbI3aO)617zdjHGzt3R@jK4zGA56CP72eG^QX#b9GgaIFRE&9(8Y)LG z%j@cHZtQs(A9O&^q;f4Rx2uZw`(kDh75aDt{B14M%-$t>$f9lR<~cceYsJ2hiZiE{ zkG;MBu~;AlwRj(X>k$p4Z5!D{!lZFFVyBVc+3UPP+op+#EIk)L+~bpjp&NK=>$evzl3Ame$bZVLKxjFoE_ zKp{{=#U9-Ca+q=t*nGLCyz*P!qzYZ1SVKwQM`>a5hmR`|sr)*fs~vw?F@wCSIu zV)>urGYjAmlWg`-VIXyDe(-C<@hVJoXCFcdTV)S zYSH8HpE}?Pr-{=7V{{2?9D7c!;Xt}#C%rt z^2dJli;^3odWyjQ%{EIk-v7)6oA8s3RWmT=Fa|n+6NhS zBjkh8DDkXg;&ad}buaW+J25iG&06XZm|z8UXzi}3}K-??kr z)D}~D@t(WW?lr@V?hYn$M8u#ExK>P;DObg-d9VQB7pP9>)B?(U@g*#||Liv`C*x}F z946QXYlS{mi(E|tt(rH1UCe;aaUsOY?%J+OP!8>BCl4e+l5^drv23TNzP8QpkZ%if zy6f<=U%p$=X6gwi`1ikf*Xb&%PP1t{4DfJg87~IkKVY>B3SIT916F#zQ@8b;I5hY- zsxpsTsrkoBD$j+x>N^#qE!+ej=g4oAw@>-Gb6dxaq&?X)CHe-bjK|L*0ooRt)ZXHB zMP}o7o559C8`L|3BF9zeL+eV6rp3ZUaf%diDpc;#zXxq0ON%>!p?8jM46}PMcMq7m zC=4J+0H04%7OzxZ0Y3+se1ZYCs#CT`$uaYX}T_N8WoOluoxh?!1_UiQ= zU~eMMfbfDRh$tjvbN2%@A+bRE2a`K<@x;TRCuqmGW0QV5@wpw;v-uNu!dWZK=?F`C zvjr)gu-XP$#&1Iz4Xws0`0iS4*#r~kic1V@JMSN@mc451k4C3pJJ4URr|(<%>`0=i zOfvn#9~sJyu#SU+^v58G1Z08>s%8rSO zSxe*~E|F7Zqale|R%F{E`#+0L#$Z$Ac^_)ti~|;ZQ9@CTBQ|SRoq1cC4wNuQYj)%)fxQj$8`iQ8{znr2d_F@vGd`i^)}eVeEMkH;t6})m zJ4Qk+fvT^jVJfKSZ$#9apUsDH^7yZN&#JuX8{&V2%IUi{Z;=0#F+)(s>$K~@nU`v|Vw`Zy!suDf-q_5T23$!n{y5dIZ>E;QGs`A9_$NxuiHv4X zq`Rke%=xLnC((9(Yq2{)$MW2G_*uLY^D!sIof=~1zxAc&L7?qkl~cX#OZQNDkbgBL z*_yXav&MVC;)s(*6Ey3cv3T|g?*&WWdde6x^=TN-h(QKe3&*Mhz0 zW8}^Rph7$EZX(-fOuFIJaUNyn{~<>mABx#mR8*K<^MEI<^JEAzNspKyV~?bQl5U1q z*xZ)0C+n!KU7 zwO2%l*6MkIopR`j^C_z*u+z)LgXl3hQ{6}TcvV~`*gK@wVLP;wm?{KGKWoojmJ6pW zY$)T%P4;{8A9f^>JP>-c(P=-ac#p@lz#*3;_CDnBG#}ay`L!}W8A6p_F`{+ zN>{y6<@ruib=x_6ZjpTO&%6%&Y`kd&7UxDQH6cznqPWB|;!YozBG3KF_0P~Ik|!?8 zB6D++66&3*9rwju{A1Vhp3MD>Bkr`a4hK(}IE{jSct6mRvUJ+ZE(tWPD5#Fb#Yfu!m$6hM`Xfl|H9D_^4W~scab|OF{q<%$>@bp4bt>+#1q3zza z>tQA-nuE(=A)#7CS+is4Qi9hd=5w9)D!mGA8ejw2exd@DC>v#v%}w}$EzQR@N;Fj} z+MKI^4ijvXImg{$_Gc#UtisXat&-fWYJ0(Z3!S38R_~0x&ygyfKd|dOdM>4aVfQww z#~;cC1S}p9?ZP?HFrb&Liv%)M&CC5mm>ej@={s#2u;3lq+^Ns`6c?qrs?MCQwkcBJ+XGQ52n~G)m?n2yFd{Nl;;I4C ze7Id(kasCTPY)qf6krV9{mXf2qXC@WoaCM9IPNX>dGN#wGWw3|l$s@s%#5gln1k$V zM~=^&9F;j6&XOW}&X;o?(a)BMVW}v@8RR_AH3NkPM}MqGTnLIXH9zHDD$_GkKS(=P zUM(~`@BH+;Gfw!gDC6@+)9K=u^lC3zcz6h3gj1_>6JkIGk0p{ctC){cb9iK7-4jAeABzLmnv{QPO8nBw zQ`Sh(cspNtnw3z=@Da)H^{|~q|2WH`%8dcj_T8{LF#Yg^VhSc*Tr&=@7dVgg|*lH>lt1EoB->CU|2d2UiN=MQFn?&NM@ z`)s)9n`vwB_NthEP1iII3LXA_)$Ui9fhB!WVmZ(ERmedraf0hljyH49z?}T&V$w_4 zFaP`QI)nRer%_z21Z{B%%3S*-5))NBY?R%aITNGv9K@ZFflR&MQMcj5MT5licr~}_ z?ue^A{hpL!k}_sBi|4MEKwS{(>F^(8P=D?g2wL;rDd$!*DvrsaV#zOLb%?OhT2a=q zaNp0EXzIrfOuV#k2zGP~J!#tmjCDNc*am@Krj#B9p*ds+wav9nh(83DU~?T$U89W} zwi?R}6)Q04kSS@gifP;JhRBr`okR49q;#{darXWZ4&}JHt3;p(+ucCWd&s3n&DPz9 zuwY|~erd&!V7$Ksk#XlL?(W&#iG|JwTC3V ziqZL)>V(4Abc0xk!-3T!jmH$B9Ds*rAeU4`_T@xtwTV5iDkI?vM=O=!8n- zk2f@IRJnm`-kSEs@x7L#24G1|(YI6}*~oq7_NvIh+5(Icb?Yhs#Cc z&9}n#)q~1BzW4SS*1AVJr>6BwBE~4AJ8?n;42nfn7Nwno((Jg|*rp0Y_iXgBx`V1k z%}t;U1#-{$m4@dO9vN)@#eo@BDi@kQL8K3*~J%9 z{(%c63(M!infmWgKX)(%Z{*55u{l)W$^^_;MzKE4zWd?6xGV8lib0Weu-D59YcUjs z7d`J2ax;rPAxHm(v%}GqU9IyzNu0gc?-Gf{2=BZLHz-b_^%dr`X9$<20_d>FpFpt9r*bfqhN9 zZgD8PPN!!C1p=N&zs_zhvZ1Ax&~QPz^{n*9{uwnmc}<+3Ri>uo44~31E#W^@>=KEqp`hpC;&UDZ$3gNBedMy-fRS_!u zdiw;1@BcktAttArFjLkj=Sr9pd>oau%5ny*dC)aD@@vc7I28>(vCPWy@3f%f9RfJF z7fo?Y8-%}r~Snff`)ds=~TWyb}HS^dH2 zij8sui1NSw?`&x@uL>@ZxPOXz1FOZD@|m0{u6UyF4@~g3&`7^z-~ar;QNE^;j!A04iodMTE8zDH&B zm-6OXLObp$?h+CYdpoznjWtizW6g|n~puNuxxC`o~%?6_p#&; zP8K@$t!I99&xf9w!FTQFT*mLFv*`TAX67~gF)(q)EW<$b;}xiDRT(w3*YaUtYAl?0 z<}lL`P9t-$>GOW8R26oHB!?$XulRXlpDOzlZ#mhNDPNj-3Z?R6>k3-czgy#05ZW0P z*gWj>wZN5wD(H>k6%&!?l2if-q3MF1XTU$5A5<283#Y7J3v?nO=MmY>D#N750wn{6 zCZ_)52-3n-{aV2*`T$cjQ-a8WEOcmm&$-V*rB2vi_f-Yv_GVY)J0;(s)y_IS1B`QQ zMS{PA^Jtfuk;^}vT6Xo%Ba1m*AzDTTA>DB{8kkofn@r-^JsiV*u)?zS2|ugBYfD`W zRv4+m%9<{I9pq%+W5tJDi9RsT_97P3li!>9hx_b=5ybt(c`A>C)#SfIKLr$eaqLQ+ zr3rjS3W<|tTXUryOf7giRjeeeT~)$c#du;!u3g4A+ZDv0>#2N|xuf@pr4txki{Z~A z^JvMTWi+!<)RGJ&%eIFum`+o+=y!A0^7V-Pb0^C_jt_sK)LwY)7{h)nBMZ06UrbJ8 zitZF5yF_WNHP{~G<-O_3$-SjJq|*b-IRJ7rLr*;xk|LC}pLaizV2LF zKd6V{vH*}1>rPLjKniEF6P!(x{dUr2dx~dHoV00Qjt?rpst%>i7$WL>mLH!nlW_)q z|0BVSAOs)Ae(ACYnn$p#Fyi!tyV$2Z(7&EQw&2Svs14fvZza_omU93f6SOh|cCRo` z+J=09Z!bb{Tr-Z&6t+GjFnaY%=;hsA5nq4vo(A{OiGhS)W`~|5X!AD4_VyVw!klu- zHxCh+40lLc;<~mY&3V%nQi0<$U(M7j+`)wx7vrBmrR!tK&A>=^j=;u`I7ZQK6~kls zlKImD6kSgHpU#>HWu43K?;$GxBs^E%@*w(qmSM|xwGA>VBOoC)91-M2e9=8e`@WP^ zPU+HYL_Tv0QF*nf^yf&-PcJKYqQ8$64?7~M5$F@z#U_y2>1hWy+_xwzd28?ZePkkm z=^icHn@yO=+iyU`@!88_$~-5laX5_}8z0y^#{<=SjJD3BIt=&MsoN*qPv|j`R`ED# zT(W#OK5zSR9CH_kf}@3bHe>Rc|7t3QXXosWR=jhk-Q^bJ24r06BHs5|f;317G^YrDN?pIt&1ZX>{j z8&g}ZhfO1w9c%NUI5286${aa`Ie14@=3=AS#mB8^<^m^mp=a&?HK;*rfGY=8=CWGl zPh{ViKX&u!#0@0ZHMVe*#CCnt?%I-F*UOs56~mMN8$UX7_SO9bhGNm2=-bVcYm`jo zl8Go69oy45>g7Xy(~OK=^!b!rPoRA)hxgPau?<|d_=FYjJo{o{#Pb$Ru_j(%Bat3p9{K;l0%(7p2YV+r^ zYL0tgO>?`jG|D7cfKR|;k_oiR8=CP5hSkAmTFn{P`07`88$C$)2(XYeO}@I5WJ7%) zny<3I#9vjXM~r3)NOi;U5v62^vh?5^u+gt$Y$0y-K%bXt=YNYs)*MJxAeiXY3qZR0 z0=S;Jg>36z1w|1)FyJsy>4w8^f{@TSpBOuHG+Y!(AE%{r(l6)f#-wg+<~(nUwt-_B z7y;f>w=l4O=H~$)?2DyJ#7IE4;su7hoZmH_SpWQrpd5-tN1wzr06ZrbuTq>HyYozuf zZaJ7i!swaU>BSegMHFx00BN?1H8&Zy)7HSn_(hD@)(6ev_I$KrFEnBJWsxmtPi83o z)$69Ud9XXs;^pr1rB_C9!Va9f>;aUg%z`|r`;%xqSTIbABVH#<>Q|lP7{cnUPns7n z0#nMW%_A|2-jlg~H5Mw-xD`ixxK^=|g~H8fOV_GhhH9AP;TkO2;2!8S>0BH@r7CvL z8T7Kn4!r#vur1N`uahPHAcxN+&;yjEu-6TxTOP0~R*A`ZoH?A@%I19iS`sh3nq|7G zL1gBWnU=9W!0`Pini&pCyYeOVtvHYHhL1~~G6pL}c7{a{k~+beJVoZyHEur48ff!! z0c7y6jT zXnhyBETW@S%iQa>nHjrCL^#|*Sy$4T7?;kB;Yl3Lagpk*U?POO@B zf6dmw`NitxHu-WqBSE;PKS2Qpg7NtMrk5bEfq(q7C6vX%{Q;BF(PM>L*^kE^Ga}0geik zYnEdx?myF5vbBj9WN-V%xuO32-dKCBxV|=sguY>QuP-m3k%u3ByG zAul0w7ei)(KZg5nXm~9VvrwszQ`QW z0Coh$^>QzVpTAJ8I$~BQ&;J&tl^o_z?%2*ZPt~2n2(p!~@Lqe3!>;frsmc(8(&XT* zlx7E|^0{2O6%b%uH~O;?$(H)8VXT)cE1eNlMXKB2+iZ}GvDWxhs!S>=nbnv7bQ+Zt z5?trY7L%Y)(63h7Lm^f1Tsr4$`|#jXR!UT!1ACIDspQw)l5ZG1XE zm7bk73$tZsNq?$j%>Lvbc5b`5k3IbjN?A za1whkm;T)$i1KH$adGN*do)WiO&4~KQPl|IU`9o<(f3qjb34+zZA>_kOz*fCsn=Kp ze!;tAus`oQsnP##8xj<8;q0ZvzCTix7t%kP*LTm2Wqd!LD6h=4RWi0aSGDGx8WLKK z=5X(%p?AfU#HV@F?K{(pZpb5W%4~F2YU;8aF@01-6iv$f0-mI@tC5~%YFTa`V)I|H zvC8j^I~S-q7cOM^nfz0C^X(&yM&K^&=ZtMtRqwfBKc!N7MhwX=&>Quu$>4f(pGZd{!@j`We`-Ff?hXPNkXmD`qPU?|Wi3Y^Zq>w*G4?-0s=(pmEmb z#(e2*Q_R2f*%&eo?03D`Ev(0CucnS1Ny`d#22XB4nXFInYUc99{e@7fuDbqNROkqB zlbAIamZhxm5Por<{wpy>sunR^ztZ=k2{~%AH)=bPZnfHBuDjRL$P9w7l-e1qQQvYS zhSTW$48xTh`O!?&j7^}Il~pC;lz5*s+2_S$+_qm!xuoN?4~N)b!aoI0e!q01ccWkKwqS_?E65}6e+UM4jOzURYK?F} z=}e?zlguBW6)IgYC&ZPxoTqH&y74~iksv!l>fw)3;-wJXR3uO*8&i@In}lRj{{eUi z;DYKr55?<*O(`K7TE8%sdP6^tI>o{=ZstyVuCIF&50Egu!)`kL4{qOX_ zkeBKBfk7j4MYB&>BbR5tWfp98O}E$$=@f%r%kLF|o{mrD=LglB!p{p~^(La+tI=I}7jcT(do(>5 zG1oNKijbfEL!U5y!QMtTd=1LU($%zNv2B#?I17~#Hbjg`U7TDjd^FLCtRZ}30fi8nD_SubvYS~ymr(tzjeF5l>jeW4+ zDBUUAB|>()9^lnIX`U+C1-X@7d&`ukJeWUEbK}y8RcSMpYhB?{1YcxVAbS?Bh_UBO z<@g%iYYn$~RA%>)yz80>3nL`%+I_DifYg89`o;uY%|omBgTIm<7vk)oDQ_Q|zx2-pFB8uQB#s`-;`w_fqa2 z8*LJ~77@52Z$}Zp;Lp1!f22V^_mqO^!q+O%3fOOF(*UBOGRHdIP1>=_w`=ZHzO9_F zbfGkXp)LjzKOB00kCTj>=rvczPG8jDg6_E6Gs?*3R5F-^cal&@drODRA+CEKtW#yY zo?Mu&nPMLZ^i}D2YlJ;%&M|h>@Gk(OSB+G)2gB`n^}X-TH+Tl}A2i=I5erbG$@|qb zcL!Nbiw2n!tao{PUv`I3TelS9c1mUw38U}ADLjx46wYMwaU%$=j5O}l1@)=;{?urf zGX3%oqwd_?#gOkI0+?p9IyE%hz_~SvnoRS0Qk4$cK3jI6vO&aDnGYGpf&Myemvz;C z!A9~CD3?C*sHvTCEZ@E?Chk=75qAgyVxXMNyZChq3gvyt-nDh-K|t|;r_))q*|%e@ z=8GqTrq52T%fl5VxZ{N00evIB3fpH=z>nyq1NaDAH3 z1WKFgts~aPge?qDMnusmE5-m`1aaFR*Zuc!bBKX2mkUc`EiV_(@Ws0@Dhl|R3dDob zf-1y|RdP^~-r;g{)k3c7_e@?+N6T?Xjx#t6)g#)JowNKg*ymmzXqAz406iyBQScqO zF!WqSF>#P^YfoYj3=j@F-MRV>a1gsceyD^aEl>4V`QUgMgt=;Tq`TY33ktZ$ujDb* zI~*&61QC+O1&KicRe7*lI`=JDT;I#$vorsJci=0oW|mrIk$Z;d#AiV}FP(_WLpxr< zuLZ#^_q-PVgr;u73U-P@$?(7J=dIMj3*bq+sLUK#J7;?SypK-9E6u21Hakj;<)_5k3m(8g?Ais_W9Ux`QhKwudd-N^mcm@dlWN|CatPc zgV=F)cvt>25^kv6Csh=1PW0>-S6iGSr7{F$!kwLc8fP2X7+7g(uZN0T9RazOD%;KX zxm>%s_jqL(YvGLaf~D>3qkP0aX(M(N-{u3oe#4$c&Hk+*WZ9sdE0{D4LluF3Q1G4h zc4NiV0Kzcj48VHx0^8sD|MRVr19WS%KVOQXF6)?CS!51LCbjq>fjct32`!+q@-PVFQ=E z(pO0~P(v;HS}$V{7JYwGlbl|19bW~|Idx~=tA5#YT$#PtDOhQeCp1RIgXWP3YnFk9 zcj>Kv*LFyw=1J6-m9p_Ah=w`MvomWzH!^@3);;|UFv~37e5LdPy~5{4Ys^`#(r_<- zV$t3??!T#<7>-Q11*kHD8xtUKzmt_j7C!}(+x(CeXT}(lir^kIE$B|u9cr4>9uoca zTB;@XQv8KV=l6nO+Q=W^CPe&p+Yo-lY+Ciup!Oy5yt6(n?`y5b0fUrK1_v@ZNA_x( zv9^3(aG!FPh_^u-uwggYYrFx}#Cg&gag{uiFGTX|!`w|P(k9d02xFKPskdV3p55H@ zV*|ierLqTt(c<9&|ZGcFo+EcS*|dke4lm{-1;p-1akJ2VV9(L@mv$$((&O`OsszG9Nfs-kbOb zbfbfyq#;4xY&?W`I{baP>+1U4lk!BD+L~_jX*In>>f!4pw z!DBi$wUj*P$!9bN(0`W&tzDC;H`gIDFa0-;$*bhpxB|#JJWlNnMlYb0cyfe?sEflUFOTd?Mc+wy}db5~zcWq>a=jSnO=-BLHPz`}K z-geWu-@|l+#$ZDek4m{s-dfF#pT{N^oZL&mnk)iK+z~YsoHeIwfuHTQoWs2H|BN(= zTCqKML{gmji5K5)uLlN{dVdl5WbQcm2^yH}7VM(ds1bK{H3VE1fyH^G`W~Dp?3uuH z%L+ZlwTcJu8-!Y0g{_J@LR-u(>OYm{RL;A|{eT7X$cR8yavse$feJLlQTCM^`2&y`gKS>ZB%wg~%=Z=iE%4bGl?t zJ4J9m1y2y7m7_k-E@RaFHZY&-RW8WwB|6nug||It2t>I=39~)RhJ8D!d^X`fTFQ!M zP|kXDG~rj@MiMulRmKkU_9W=vCQ&t1q^!~o@Wq!?(I7?Yl22RgGH>?x|CkguRzP!` zz`+taA{sz&hqgh9al%QuZp4eWK()+Up^voutdsu%dk*cFMG9KaA9(waSBky)gJrYc zpAsyU5Mcia%>It+%pnFP>e~S1=VIiGka63C~jRp4|seKuD!6xJIF?n}#kHc--HNapm60I^ z?U>wr)mt0YW|Lo|%UJCgasxjQv&MLKx4P}%L5bPJ^Lk3|Y=}(gBU>D)RelIVI)?|z zwW_PyAl$R>w7T2>w9o0jo?r46NyS}Wkujqz5~_c5}s%GT=s zqzPO{MMXeP6ni7ZZQt2_tuIlsvI3xbW^~;~=}Xmd{hQl{o}FI-^YXyO(gK>4o!1SB z_V-!ao{xGyUXR|A4?W(NC0M7?E zc2six^QNDmga@Untc-Xgc(rWwp_Z^ZTNo|kj^hOf8g%=zSeUaHBb=p@=>F5qEBn1h zm$kD)ts4@Xh=+mC5q49_T<9Dcbds+FC@+?`t%>ak0)EW-`Qx%qmJA8>bn$M;Tc<8O zvbdDwCeDkr!=PhS6`NmsqD+~0>6V$|9>L5D!SlL@*_esF%dexUEeml|vS?sF_oHRc zK6S`?p`QD)BTBo+4uf+p%dP9sTI{CJgYf7Rv)cz1De?SKhp%IGoIF`OgQ${O=k}y? zzt7Hc>VBRumeORbcN%S+qGldDah8Ff=w|2eB#Jz85=~3xrU(gbfbO-FXDHcsXg$ro zLh#)u^&=1(jcU?Ba$gGM1^WaX`Wk{?WYT?(0CoF|uifyKb#tb08md*D(0-A+_4=oS z-3QWmFa9-Pf2SM}q>+sncJ7`hwENl@>v>ty!1|-&cFN+ddycfHkv)#gsd>FpkK`73 zC8JA5JYk2SOfd!GLk0c9MTh|7O3Ra0$tTlB*Hawu2q{?~YUXRDKkpgvoFv97cU9Pv z7Ty5+Z@BOoUl*U`Zky2r@T@*wqMpXuvVB+AsJA+4M^pOt5JJusRzj5Q7KHDYt9okc zczuvVbZWR3wCHPi|5EJ@rN!AZxCc0mg8l9&eTucjhCVI5?)olniS{2M;C(~%CV#|; zdJlC_f38Yi%vGtgr3>2th}7wqr$vY8cz?n^i8DV?(k_}iUEiogE4iG4EIjz`yKcNv z!d|^UZmz;wnY&d!L-WehyrUQ*8CjVTp>bSWcwtcCp1eX@84%msd(>qALOqYC5|`g$ zadAI|Rc6~6JH+U4^@OH=t_RnoX$K8yQs3fSL+Y}!QN5$*3>|GI^*HiPoI)%H0Vag; z+Z*E?=C7&#M*uf3duTUvcT^TWh&2De?B*Liq3>+i+5Z|JCja%7wY@W}{{tL*6Fp`g zz?JDjSNs{T0lzFS$vu_m@>K8E1=glF3bK^kdSR3|!+F?><37c1cJg zwWsV`zH8qv$xpe{aeHCV!8R9yaeSTouSFM`7)2j(rzVt?&;4?rx97hF8&a5Xc)vQ_ zjO*wLxEqSZu7YyfcF2}J-GXm#1>Q0^ZxcJF3 z_v4-keD5RS<_C(RGyV$P+Y$!Q zE#dSijeXmT8xg*$>;rG|KZ<%>arS_PTx_@}?S zDNyq0*t%kSpMTqkIR9L`Hodhhrde|{+TB?_{xk*qYOD*N&S68|7qjPcivkbR!`d7m zEA+ZI?M*Ps-=R+8M=(ya6ZnzG>ZJ+{8!}8<^L*})(-vO#^luk_(?f6;dUX7+_|l2O z4kkJlaYxp9kD4j0cv&&1($NN)k@;VW@33Lzp&8Z%Ia-qF7r7g|B2~F&uA3}m@~zMX z-1y%2(u4<}vxTJieD(p)_JsL=yw5``tb&G?=9C{9@76=^ zs(0SuvUno&yH*@5>OZG%?R@y^s%M>{dP>cIgdgMjIPU~ptDd>$I~kn{i#5hIPC~H` zA(gDTQ7kLEYx&CCex*3PhgBF!&Fch3m4^Ybj@GbM~GSV%!R z5XXQQS}QC0r&iD=5cMpif*Kl#FjtJw~D6;`>9#cE{WANex;oW4p_YVeVx-1)SmjhgtxG5Mq&R64> z{XkrAv{Q-MbPkw&;X* zhC-~ALy2P+U<*&sAwRqTur~^(OcFuTQs-8*^VpVDt-SYkOKC+q3Msb&NpS{eJWJ$o z5L2yk>XycN`}YZl!C{9! z2ps377stp`2zK;#TR6&mXhxR_ocn?|fB8{J(H0s=f_u74^j|Ow?0({G^!N!tJ~>a4 zDo$P`Eu<4@$#k*Gsz2}y;BX6hot2!2*Rhs>dwYx$=YUzyC-9?}98QX)LO|x3k^VZ+ z)C@dxkdG;YJH9laWihNB@e%tXTRau)D!sO&og<%FxnLOxk2a~jZ!A&{HD(MVqU59% zsOQ!kWgNbEd*vZ%xCvC&|r6rCZzjt7-bd;}|8rf@hvGQkn+PhhIcvScEygyHVAomYNp@0?3Ph42yxP(`sR@VK5GYR};^yJGz=z)QaBwBsKU*9V?2BS&# zVE07E8Y{G*>_k;wVO;9QMv?26&HTMa?|zbaw|h|@ja{g{`kBymwEE$@LQRqHOUExC zxEK=ksPwiqihOjIOGM3rN^8r@05?*oCjAb}*f^`6a^kM#7m@udpYP8gCEWzecu_B( zpvUc5vE!(Y4)fQk=#Izh=WR_L%3hsP1UY(SAbjxuim=jUXqtJ7d*SQ>xf!`!w4!2> zk72mC9jdrjN}{i535JM!Sifus#=_~7#%Gek(<(G2zZa+`=YY(*&8V(ZT=kt!dilqj zUJ}j;1$?RI)H4SkKI?X{J=OEqJsjC$iCB{RiOA3>7|+FWp_u;T)t`@$!xSfZuf*?? zW6yUgQP7#gHpqXREd|S`Ynh|(uCk-|%5QLOCmOVOW@Vd~s+9SaV-~e%m~5+q^XW)` zCR5Q$Xd*WzrBGkVE+7A$4hU8IOj$hEsnUwBxS*5FrFuvfYd2M!ub^J6uiv1qe-KYA z6%_vZ?1+_kpZ7h`JsW^@@3FiaG~;;gFl@0Sn4r?-M2$;nus`q&?<%b%vH~utpPO+h zW$H1tvSPOweP+Gjp<`N)KMLavC05L?Fl13xpZ<>=oyfF1{LC1A8~mzuv^O%&xi&uw znPT5AIl-W$rP-QLLxu2ggtZnhN~J5?;f zYVD_Dw9hgRlyEUeX|`^e(0bfY+C|WRQm_kz z9B-^2o*sBcq^qev@T*)p;Rkez4fhutczyS#PY>M62K-wRwizkxQy?AOZ|;wlwV}96 z`gKCqY3&Q{^#4eBgv*q5RrPIxOvR}}Ycv2s)c*Nkqaml|Lb3hfO}jHeBqrPIh<)Ur zw%-5hzQZqKiS9`i=TD2P@V42lds9LgMNKqj^u0@=J{R4{#m`op4X121F7VHrMkANO z?{A0wCUlzlJK9-ty44ql$(JkIL3aygZzRT%eYhVk#;d^80v~c$uD)@uwCvqcdM!=C z>5MV|o(m)GspIR`xyYk>7%S=xI|R(bu`+l9$CzNgN--7>n8*@)IP4fjUgh*3^$O>! z)a=%v+tgjG+v$tYLW}5U#7>)cxHy#sW9xqIgY%5KM=Y20D76AAq0|DjQ`Hgo}9!`PC1wwtfT>qD+B zU3>yx7zX!cJ`)lwSDym%TrO#`cZAH9hn(CL$S}dZxOzFW3eo>fI^%@)`|d1btGVNL z0#u2H@~3*qfbn-8U2vmoH(zQCLn>T0r(G%8AX3YaGsprJd;37QXPXb@%+0l$lzL*f zKKjgvSFT?Ybw6>IMCbGnMVM85Y`vV_sH!K)?KaEsNF{C(Ik6menB+Uz;!nHZy77*+ zqCKw3v($y5d;j&K zE1Co65F5V9}a^;~`53jAT@jPz228mS_kiwVICeCMOQ&KAbYS+r5CFz~S|CVV48!c%4{Gt6}u3wFk zLUT>6eR7Vnvfy?8OE#`Vz4?35{o$7#XSTB}6EQcBlWFR*Geebi1t+>SK6Av_mRWGT z11Tam*PNq8(OCZBWzYv~C_(6i)Ob^D8k+)&wll(U7LpWi={`-0e;m7syUweRyJnVM zHlD$$$U{l@j8M;K=^2LVjiIc6Yac~T7WGQ4@93V|g#wH=fj}5XQ>CQD;`?1^{PLHE zx_?FsOt+Q^$lj424?OFX!7i1=Ky$oM_iC_0Uo0qc*5Pz zTC(JCzySPiw#0&d*obDiq>)kYgX7n<-;KD(a!Z*7IE+{O-+pY{)oNpvx?e(H4e%<* z@)sx{sZ!s5#Zk_RS^I_0Z)^tr{G~B8t^>(`PR^mJ-rb zr#j;w_+$UUZgkumHJ`g-bm~>H8r1;(9{`9zcfYOqBS($lD!P$C?C&tpK`AWjY8fN! zxAYj0WB6Sjo>*2k-s?5Q4JRlQ!wi%XVY`gY_LIowKAsOboGSxrDKcW6DiMx|~t|7aQIF4J32V!qIz=-R&l%QmA#?chsLu zy6?Zj&prRm;_NFy`uP@1{{Dxb|8`IReja&Tr~Q*S^!$HE>8_SAP4x{4gQH zfkoMPC`U39V2v0RHxTQU7Fi-~TS7XEA4i4#_Wa#K`I45=eEMo;z1bp_+dk35OW*k?ne4)$2aJvh391Ah z3=Z)`?I(Q>T7M?)v9@Usx7Cz6LflGI&K%|0OxzzfUwwD{@sDv&5C${T6*!yqDPet- zh&XLi2Zp9Ro*SbZGOhW$Ui!)@auBvnRBzYIu*7zU+vIu-rC=ZY8)BtNTlm%o{gd4` z_%st{Ah+k}Be1sSbAdiSW#0|lA$E+9{?noPIrWh`Tq7a$=|9z!?&UkBfSYnH?=n#v zaPk$5gYfvX{yt$+aa#Wx{bakb8|$&VxFk2h!DM#y@INizGr#Ed^KH`BmxpVb;p|!S z?xOTpXbJa%R_C+7M$4THlvLAUb_V0W{{G6-m*g3_&6m%^Lz1FrUwPs$o97;?=d%AO z&!kOK6-vI-B8s`aPj>&d>P|JVf}{5Yn=ijVe(}xA@4rt%s9sgSflzZfbDKWmZ7EEW zJ%y%v;9UPuhZF6mg}!sYl?=tdzfVPVeQM#LxGk`M;qZ~8H`=kbVS;P)pRBX`tLpo* zPxh9FUmrj78zKP}Pq7f(?oi{6ciGR5sb-Sp9Gw3)U(*Wnz$f9PQwGxLb`r3R`=XVo z|A&7yo0^|_9@p0Yvn-6g_dl}ymjAb#^7~Z!KZ672M;8|FIda`4fESdn0?;zRc075H z^Odb1f22HH=nqEBIp;>SK+uwa7HnrA!Fa*n<&Ij*U-=4eojTRk)!kLyEmTMyK~<=9`*VJCnjF+ z&>oLk;CaM6*8Z?_*Pnc0zpKYIn8|rlR!1b`wc(B=uBml9!z1MV3R}xEMh&yH6XeZi zGI>J+6kf;TsbpHoYfBChA48W0NRGyyIr!Lpj2Tx~sdj-|4czZc)KOg1Cp`(N&Y`Hk%WO~^7(I)Ij0jS%w z)fUh#VnsKZ?Tnnng7XnOmsRlEyy5j91NZHGA}c`U?^JNxt#B0>?Xl`?0R^H?r~x6+ z@(@DsSTRsv{Y;;nGEN@-`9IMkm>oOi=TFOP<8ViKb^+5-VQMOZu>`vb>Xz=#5k>>E zTK%wcJ>b2f9?c`D>YB$cJDRr()9w@Ly?txkx*qL%p2o7}rbn{deqG=3C_^fOQ|_mO zjEz)JpM}Oa;rE_PCHf$ z3S{FE&X|sRo-u|nP|p)azkOSunbNP06))WLcdGd4u(K0CL2~Ta+rm_P?r(Tp_PEdf z2`yUG=K-n!S1&LhpVf^f#Fej>aBv=PTk!szym#>Mu64mRW@RyRLz?%g&0#64dCVg1 zfRkHf5)Z0N5B~R_o?U-*8GypJB|ef9h7QUQxt(Wf9T+az+S8>UB6G(%axU9Wv8BU=<8-fT+S#3>)~@4{}yMIy+SodluTnJKI=ci z*1ZcHTp}my*mr^Oxp0Gq&cFECRAF@%lkrIr++#={xei)x!CXCi`}ag1Sys zJVq~YfNCq+v-7ptZPcCzZ*TuXuF- zpETY^^+Kr&8^qvSyx#5A@eY%CTWOQuX^(8cw6pL(=9G&!xi$%l!UO@^=2Wi`0^o9l zqsUe{w~Q?wcR>SwK@eN8#jLjXPXJRbwy<5l;pnn=4-a_bOFv=5ingE1W^`Y0`Se?S zO4zM6N3s`}Db*5=H6#DFc|D4cpLLQ0_1e|;SGHx^>Rcvvd$D(YLXe~_>Q%28oSnJb z*WJC_2=XiEYbBjw*V7eU=&grp${C4dZltjKSz+->@yfUd(e6$U3?{*;OkL_1GAt9h zz}2+xa1QR>F-;JdQhGPQ>4I?Ne;#zLFuP>3y^^-H~#B16Cnv$8tImRH*ec9wt z{x!d&ckF170jl;~)qA;bL-z8%#4&AmB9|OUYrQA5gPHzhtoglUBA4*k*gc2#G(+I@ zpW)6n)fYx|c+C=U-dXp&?;cFxK!$_-63)s>Q}+=x<* zBcfzsA&q34w=_58^4=s(bhRMFEq1@qpMS?Pm|YY-Iv< zeDZ+WZgZAnRS)e`^pkw?fGG1gbc>Pfwl+e%vz}cCidRR;L4}c&&F(?1!txlthEm^+ zR>r5x<4>_TIoCX#CXIFK`OP793mp7!4(+b832zt7?M#`;jsrU9;*M~fA|6}QaOwQ> zUR*T?z@sUJSEm)u>t?^uGOO;Hw>PfR@p1$FF3qMk#_`fT@acJPV`HpLg9>ECVS!>) zlo2|$(}3Cf-sEw|SJ(EX>X`Z)vcjo`lT_KUA5Q+$=5gY?x>-A-tXiXaTWwNllPpQV zg5%Vug9wr|rH*=qc%B5p0-~BN9{O8ftT~;_H7EK~rbhte9-<+C2-s9InoGxqa)&c{ zcZU%R`u}Cm&i#A$ME{@t2OGno)+UvK3?9Kk77Pbvr?2>gAR~0h3>6hMf?VYxzvGF1 z3F?_0G!V3hmQ@yX#Z}`u?RZQ5E!dshZY}r`Qo4qq1~*CjDEA4`rs*P)|6~Ue`J9El zJf3IN(Ie|@)r0aJkWwF7A0H$io6*4DW-^p!TubE+a{=jRgI3XTl?qnnY2(3$!Z zk|O{q9mTQB#E`)pNNb|}VO{|@YyJ#y#T@Lv4~nRd_x3ta+@4|Q*PjT*Wz+3OZ0k-j zJ5+p8(8jM@)m46Zq)s(>E3;l3`0Y*?3Ja^PswZ*1;PsBCRJC6B#a#rA^Ev2tkdck4 z#o}?6#fPkAUNb4RcyhTMQew+p#_{QKoH^NDVG3Q|Vcqr|*r0Wj49S>Rt@*DSm7%+L^=QqGq`nqi zqw9M3-mwml%B^VX?fv`Z6Pe8Csn!7TgE@EOoV?}z17*#(bn<9$|MM(G+QgJBTXJn^Y=j+ zkSKZn?(fc(=P&EytHsL;vep%=!1Dppgt-As6dSN@0&}th4acEGfS2TD6wXOZ!*uY_ zu3g;{*C7|&u+KjaOhsqk8U{*=s;p`7g^~FASKl(eFrvd?c0Ix1V>+RFS$ycC^5E+d z2O=ZxL86Z|ZG=6bKf1Wi?$ADq^QMvS8%{eT**E;%6>e>{7m5wT>gJPuG05d=CdE5! zhYs=_zTZlpKz+g|fKw~nvHxRF&jGdtt_v6EZ2`?xP$D9forik1x+hhq5>fBV~P?>Tf_U0+J!aO69_cO&C5_Z6BYh%>k^!)5HaNH`@7!<@Q>ookH zW>Z!>=R3Pl^JPx8p1mGk4HN@lyGGyM|K8r6J=A{duL1-|@K+LZvQbNH?LIXe8pjX1 zK%46@B}~|%@Tdl^Rn2)?PwOtp%{`MmTg&=Veh?aMn>IN&C+GBW9D|v@*kF|Ey6|4^ zzJRHw$B$f7-|+7KT|3{UVG5(&`~K|CaVu=@yu$>H8?9|-xpx6u7N)m+!|7YZ zhfW0u2RZe)uc}%uEfBQ93d$L3)y#OaTfU}61wNb-x5S@!zPrbr@0a))d)<0lj}udy z?3^`;_D}qzZI|`l;1Pb}eeaO=z4zat>z%#`oP#WwT$D*1kbiQH47KD2E3X*c`$8E; z4n(Hk?aaqAW_?G|`YX)+A2c2f_`ac6KYvO_K7fJ6XiM+zl3;q1Bo$ zwhF+G-Hzb+cBewGf_4}>9T(EUiU^bgl|O-SYpdIaMp@ga?+gUkqv+7efxX5g|xiY)N;BS_;W+Vz$NI-sh|D2cz(2e z{uBMiGw`W(_+R=`)2Q8yjSkDmw%U!D*8<_wTP^5l?GO8V{^&#DXU^unZdJK|53Lm; zSA+`5SP8qQ_&`FENW<(n_d2k;8AyqYn}N+CI*OMRaKN?$*JL9IUcFOVy;xeF)o(AA z?v9k_pX=w=^o5({`O817jJm-kl`FF&h2<|wGiMI%J^(Rg=AW1D&K1^fa&LRQ(pp$L zQ@k`!4r)>i%a^Wyig%d2+bFEAl`cI7_uE7&UcB;xRKhF?q(S}6SnHQ7 zg$L!ApXp-{I0EcB@aJ}Yc0s>60>neOH)Vmucu(Q8G`2T9)}y#V7OktM!`NC;=!vag zE@Z^!Naq6H(_7=T>P*>icJpY8Gn*z?Nl>HRWGdlTS3_fRNQ*H?Tqf)u(}LhG6Xc0% z2L>~}u|e~9Z#Et@MPn@(&-5KhWKRuc;;C5r)X`+NH+$+Rfp98wGhsj^* zWZ$Wyy_w_iZSZ&>`EWduhR@xE5y-MObBVYX%!OLELMK{6p#k9~;XhioHdx=K68UVh z&wQQF5?MVR)W|4Qs4TbhP|tn~ zEHyW3R@%FB-ys`As$fRLwA$`H2ce!z1u1)}7?wY_Qo>RSHqGi}7gMS=aah7SayiKs zak2)c!NF)M1R*lH;NIBX!*E5SsS;SwD!fP7K9AHoWlm&9-yy(dNY(ADT!dq6xV2@+ zj+WMz)=;=p3vZ9KgtxO_H41+{$)Ow}$w+JT8@I}ue#IR=5VAH@RgySv zk}95n>v-OF8X7M}sawD%wkm?r$SfszX;l17)j6uB}bRU!0W4c5SmTT$A(} z0~gg5@?tO*V5MY#3g$_%b?P1ktc&0r1wVbNOw7C)Y(>o%vYapUYdoD33zMI))^%Ai za8`oM9`@Uy9w|Ot^P@N&nP>}yx0JvqgZWSNgE3qngw^(n=uOM!hKHzqQ4)(-L=@{+ zg`2Vzui#OJV>Rn&Lf732v;G=GWj_P|wj#96CFp(27GweXZ5t6oR~SESQ*E0rQbdIK zZ#zvJAQk-B>B)Y1HuypJ?siDS)|<&}Oa^fG{C{n&?U6Qn{=bga@GtrQUd2;W{=are z>i38J`@J)O+eWD-d2(=LI5p(kn4*^R}e!}P_Yeg0+&KD}qI85;k^a>l; zD)dLvcT%g_ejmYgMOdfmvLvjF8@nd)#Gv0bK@@RY5+i>z$~h?CZf1wKPhkf$=w=3u zXjuF=<&$h`6SD#tM(hMnjBR_{rL{^~X!^OUIQtco%Q&B5XO6L8py8wd_H^mdKP;LM zQ$C>Ahd5fYyCfN)VqMe|7%!0+F9?Hg5t2^+Vb4A?yQk4Pm`^rNM~WO8QJM<`=7WZz z5Z*Wvg{BkvW0~xcDD4shVR(IK-Q1oFqW3YK+JM(>2_k073@_JRp_}+=fG5TOcjOZOPrtoXSh^q@FdB>V z)B41j%0F&nmh~nVBRiWj9P0A-1ctgd+i7nQ!Ff-3KVVQx7s`*m(9b+&@MbQsl-<); zE7xXRZ1$LAMPHb%T>VOa^0_%J>PaziP&zBv8w6MSa;b9lSz&Ri{Qc9?^-s|Zq}l+l zNp^taHW1Dl?{DeGoW6S5(q99h_l+Q&D>OF3dfk5Dg%8#pCLKM^MWat#!?bzW1X)|L z6&FQD9W;jJ`R8cz(&u03OP7jw#`WpvuPCc%%}$!OQ&gb=*`kr@Ek3y?o)7xOoyxWQ z`pl=Lr^}_~+XTz-Q|0apM|}qq;V2>3j$^(w((pl`oixvjk>8uK@_^D3)hnC>Ex~vh2;nO7-2fDh?wEl=qtQ>R8QYy@CUjzTUforxd-OVGIK$no+q-CN{sW*;u`TO$PZNfj$<|m*>ZLQEF7Ahf^ zsE;=qvI7K~!-0?b8Y49*yy?V5x@4>0ljM20>8qHm>zEn9`y^ervkcvhUcX9%4z2}pVVH8LX=O#d}<5gYSMm*J@;OSKby2lLvF z@avJPS3YdPUVZY*!s<0qjNh>r$n5AWOeiJ7WOM|Ti%%~jDK?y4tC?I&!f6VcyRS;K zy84(Uc|)p{l+Kb>rKPN*KfWY&RTSQ8QdPpkHxA!W%Azh;ovIumJZdqTY(~VL>NaB) z?R#GAmu7W=N3s`{zzlVLJ~b3FMH^{RpQ}*!Ia`0=G0vUg5QI}&mWT<+PAna7Nu-Zf z!?xHiB`6FA##8?*c~rnfkDf~w@~V`TRVi|5L# ztEC%@`qEJC>Z(L_Jd#9G@c3eWB;X`Dq2K{;#Nk|TlyC~% zMkjkbwxRg=ARXAUZ}I_;6%RnjqR57Og{%GDVN}^PiJz%@ zBpjge(0w8M;LI@rk8sYaS$WT>KgLrn+X|0_CP?xR)4o7lqJKk*Al~oOFRm7r@0aJF z=+h6X0R#Fx3V`h1ALAT@vkN!3pM%C!l5EUb^BVY4{c_s)>XLFl8js6i0*~i`RON}o zckxf>ypbr`;gNcS8;>f;k!QCg?K>3gw1N6aweUDm-mzv?2U~l!W-@*H^Wu$XwHV9L z(S>>~oj01N2J59WHg6(0Vn@cZ!-I)tGWVq?lltuA($ZS_(Wj&v*cntKf~0%n4k{DN zqnApn7t15(ow9E={fwkg_ly1HqBLGTFOEDSt(ISYqCcO*P8QESCj2CMQyjZzPNmqn z+Yid~_sZXo5rF=CCRtOs!GIwN9p%zJW8h7R#W1G zA+=c;hpMHzqwlXK#+K*hCZEu&OK9}Vou~CZc>kv(nvdm9pVf zY5nE?&#QTAy8qJ=?b&(oPo9^5EXCmF&lasRavikZ&mZVx&o^5WjSMDxb0Lu6@k}Gg zs4S4pq~Y`C!AvY39gL+1G(=!%0e!+*3r1;sFq316gyE|Xe|BvZKOW8u8`r?$PwU52 zGHu=y=t4QdcA8d^7rqU$XJ^vUd@^NZ&n`|rf>=o`G|zSJ77gQzrei5beLTGRQ+ABXHDWF<7ZYT8!v4_#c1<4p((hS>3@ z;WQ@WnmO<0%nB~zh6AOv7!6*Dt=B0#2`2xwZfCXUS=yJE2FK>Sm;)x1J0A0(5u(2U?#!5gz9=@7j zSyBsx8rnkffTaK%5IRecw#<7Ybk7mlgN<$SMRD$|e*e?b%o!0I!;}kTy>@bf0!Fqg z@h_q^w3$oBf(3JI(%yQ@(P1`LID;F9lJQKxMy=kvGTB6vabbg_Ynv50X&WNX$r^O) zoU9KFhpb2o=-MVAr(2L!0n3adx^($`<>tN3TgVG;pG1WsqWEUo2e^V4jm6_$ciYx~ zvxgUJwnXgMi8J)|8yM+D{4%9Zjyx1 zI_-)2glSea?n_Txn@+ge3pvzbw=bIwF)n8GbMU06s$T;urW{7Oq0ZuM0yrd7nL@t=Sj7mCcZpNoSr1AhmL_qze4&&4x+;9W!sUpF%-=~513ReNII`X$f2SLI`zSQy@#XN11|c?;#|8l zLFgJ;-SH*H7))FxQoYdIT)qo0$;dYw6!6a}3a51AmQxK)LFP$jKXTi|>rBu@v^R5{ zo|j_WW`A);fBfJ8Rpw8?i-J7CkTm=uZK9dxU@@`}(zziukM)rcP3m*h2T-HbkL~Mr<*w zyejo#?5L{i#cHg_)RZ-}X9R(_R27L9oi8LJEC3b9X;mJ2U*-i)ngmKrC>H1$9m;US zP-5uOsx)JW2*|mx`Dy*)V+89SR9#WKc=ds2?KXAW3)7&J_5#qZ1|aCNT>y|5&Gvuz zEkv47gjIHwQb4PWEECzRxbRGW@e~qYOrI^@Spi2Ls`O+IN{i=;S6-AKJ=CW!8cR0n zw|DY?WVJh*Gz}b+>1`jJR!bP*-QeH3= zhB*}nvmQI0K`10#i@>osykHsas5z9s?YuyJarlSTTiZ44A-@bx_cG*{IX@2D<@Stz z|4YL=id~kS*xm*E{ptgYDnil3%K3Kk|5gnxS3GzHZKkj|@~@Fm@`rxo2L3^SS{m~) zf({#Kgj*he3V*PHIl=klK=s+j*j4?rugF9g=8M~~lwcAR7F zr~fbcQapQhdvWR>5mQ^GjTAq5O4=#UKOm!rOE_cC3#*@z1`CT{iDw&WmIc*_w6TC1 zV30It$gqHRncb!~T>_I@c}pL^C|-Uh3L$0{qvQNdh}3Qk;gT4mXvI;GHzwWvWkEo-?d1PqJ3`R2WWoGQrlA@f>x8%}JM1v8e%VRj5G*TRyB^*_ z{;XVm#%a;|a1PM{$)Yzp{C`$taDm7Hi6^UxR2{FwuD|@OczJ;VObOzY1G%ts23~`MiL@i$h-Fj_ z==UELmM(NMsC0Q3^pO>P;Y{)TB!U4m1j7K8q}HgVCDRhsp$LNAVqXLh<dD>6agsmY-N$>8pvoYjK%Z`_y@W zt=c2r8qvhQpn?uSTvINfaFN92m=e@W4%L!ME-+L1Fc+b@yQP^kOs&ie`RUj|B3oZY zIWUE* zlWk&oeQKw4cv#!Qk4UYE>zi^WIB>qnD{g>|w-gYRhl9i;+PuU`J+6L<(&wCX-%yP*`?R+d&ro~S0GA3OhYK6a{d{x{6#FYI9#`@WAIgFKh9rjYq zQJyinEmc^XD_%0R#bRgtz=@dIpwV7lBb+ufgLUcabD&ZZ?OAqRk{V7sIjC+wD9xVZ zwjK(nJhz~)I`iPD;ZzYrtDXm#Dg=i|#5;K0qTU(fa}AIpiPiy+A_yKl+_2Bx+$pod z(N;bYE^R3yNmGC8w#`uD<4hA@` z5Ng~NWPTb(toR_m9wB_?kvxJw;)0WNl3&9#5b$3k7aNSu))NKX0`9=0K#_L!Lim^; zNcm$CgUuMaErXc>t}^+Xv7l73=OY}IAE*JDuF(E?29;Y^^fE33&VE&#e5p??usE^; z{qP&Ys)~NNM5L+_3ltHa;Bk%ew2mgFL7gNc^G^6smG`0qq@^b+w`!VGWHZ~ixpXf%WOx_9m08|~TC^KLiCluZh~k?qEYP=8NP_ugpOSE-1vQfNM(7>rlA0Ga#J>EwD8dZgm>Sq&CxV>vkEGh}AHRx1pVr1nS;4){^`d zQSPu7Zf(Hj#7MGA{gDxa)^J0Z>5hBvaIS`#&EC@(?QhOe>> zPcv;|>~V4StGOQG)UZ&!ws^170Pb;{n+Rd31G2Izs6zIr+h!G*I$7P~)d%|8Rgbzv z*uo@vrpFM}A_r_`#OnrnhjqMd_Isor)jOLsLEfyo`gSA4I_KtvL{lDhfBb77>&*#i z+$d5Nk4TC$+p6V*+<0X%T-hM|%S+~;6%BHxJg5rE=L3)c#mY^{7|z;_3kGA!%+~^Y ziTh?_Z^7ACqTSa@)NqFy<5|o;#xY^2B{;9?LBR%14~WXh^~&gH;1EuKLfWOVr?pt} ztbw2~X4#G?)o%j9CY%ac>*&yM?ywDi)hRD5(M42sI#qSzi9uDJ?UFi_2~}12QA60_ zTy_%KJ)1BiZ`C)(n0x%Uwn%IHc3b?nwzk%eU*f;Lil?UdZ=KOy`+?2f_x7H5Jfpx# z3PUV7LIIe@zYh*;z`uZa?B|Hg(3?3f9{LQ%ft@{nv_ysaYmPAdEOu}U{Mft+nvC}R z&w=hP24^!r=~Ylp#8QJC3j7eEP@BqTa@HPtZ%?%QF9*7Ux!kFvsRaCc5dNLdX8syW zpUMv>`%cBuC-Q^2Q@O*jc;*=Vbr`a_Ws|YSNYn3wGz=a+Dv|vzEH1N9NErN%??V-L zziE@=W~~uDc_^DXnv5s1xt6~E0rwKo;cSwYQinEpcUN@hyYF`GV%8Y?tv^g;L>7mu zKLUS8Hg6ip4fi&NK4|M~eg6X@4m5ud*}nZl`JbU}fxxzY#54Bgz>CN(f#7tui^6>Un8__Ubp1W81d@Q6- zoGC1QUHR-~@xlWj_p{&VvkN#aO)4h4w~6O`$MWcVCr+u+)*nu22MmnehI~BXq?C~R zOv@KWy>^9saJZLLKbpvrEvf_=H;rJ-=f{{2Um{q-94nV%B;66>l7KEflaBVr`sBX# zRxQrE+D6G0UfvoozKuMJ>^H5OY?z(r^`#+EgptJ5RaI4bCHLp41D@AFsiwrcEFZE* zC~AR1c4?_ZK4vsv`^0En*46t##!H*MSESREPZc~$m3=BV5RDBcKxbzvEygO>X7(lz zXHuDv(OLb>Sn&>vlD`cCo6&Ti__m7V+R}aqeZbtQw!@5HLRA12aG~$V#s%5B<%F|K zwshk6S2|m9`(~>lze4%RL;d2}A6BlH*RJUcXV_)^$&uphB<~Vj9KqBDYoF^El)0!q z{5r*hl|{;x9r8b{+-?kqTAMVPBa)l)oVSy*YgnZyQ%gMqeI%L+N=S0UeSL&awR}FU zTD^pI^=K4%0-K%l4ZGe(_PGf-4;fl!2*zbex0q~h{FH1UIM@&D+3k{Vfwdh?CyqJW zx0j|TBCA0YHk&^IfDtYgUXir|gMtS>y9(*i!9?D^v0RC%T}^K?>M?`7KsxV z0~kp+9HssXNO|9I9e}n#0rh6(b-+6BHmQlM1;aT zdY%#Xgd4V5#7YAgLpnZzZL&fUTd7D_I3kuCj+YD3cE@laWmKXS#$q zKj|Y4#<)5D^l9N{QEsw}I)p)|%swJ3vi!*FTNwY4$o3ajXA6rkKK-0k-^7h+jzH*6m=Pn}fL)d_vs#4Wsh%7}<4 zh*w;OOB=Vt;pB5zS;XerEJ98B;TiqRHBZx#GM;YClpi1r@srPsPwuPd*3n%TV%sYS zdP0YJB;YZ$yov3Vu74`ZF2Z$11(I={4%yK`_wFb}xAk_%(uL zmT_2asO2S=+H79>ldHw~DYE5IlL34a&6s8vQ|ZgP8o;XJI5F%EISFX^nt8b1cz3zR6kNqdFE|It8hoj~1$H)Y?7Z$%NemhCNI9Ox<9H%&G7}~&k_EBy#pRmOsh8N^q z=Nhb*a3n`#zbDXj8pP&cE~JG*1HmS3OL5|>;*}@i2g^F ze;2q813n9iMsS!a1%BHQG=kB;W_po*M2l3hJA=rL-gR)<_5d0gAUiY7oLyA&uaifYA{TSUuTFV=1U2 zp!eiHCV4I_o_oV|TrtAo@)Z*`kMh21e;^yXvt8rO@QCn)4uWP==!)mY*~B&8@aLxf zOjheBXN3i;c;7->nUZ`H(Ct7&KTX;oElJ2zbRe4<9%5pF;XcjkQjx1afC9YrBinYt zU*|qZ!|l(L{adzd4V|W4-2}`%yP68Wsgz`HEv5*5lj8d(nd%l^%4cDd?Wkqhxlt`l z=aNU!$D;(1#XLa>2)c75uso{S_7FRMY=?sF&@oRLz!N;_v8c_#oeC>-o;Gd4v>W2y zaO`vU#9D)<;j4z3TADS|=z+a^%M zD-baV#z<79!jMFiM?8k?Cj1EJxMalQt$=svULuhI8Huak~yZb~It?-{}#mR5rOXZ&F2j+B(Hn zsYVs(TkMgm3e~Rpjy7;>uk;%3Kq4I#Z4E{g6YP&D?pvgK6x{<`8n`-v{^BYHA8d`> z*Qfziv@Ai)+L(U#YeEhxcVDPd^+S$$-L|F>gCEw;9(~rIDqMb3 z%gebMXV0te9yncX|6Nq_wT{8IOzz5N)xxrvM#uGuh04{r%DvAqsR#iFSAHISp`UrGHtE14m~{eS?!d80;NR>i z)wr4mN%^S{T0*BzDQ?i=qV#j#%Ins;6MfxJTH_f^6PD3z2D}Hj6BJ|MWL(CkP3j9} zbUV4L*fwY|cu*VULRAWgh2$_d9@}XR$2$E(a^aI*Nf+F7r&b> zKbp|5JwCKk)q&xda#-zFpoBBJ@Q=#1`{lDALwxEdU+5FpR8aXAPy+9;+b+@UP=1N5iUQk2st5a`aw9_Wd zY;Kbxofp;o81{1(Y*nO|>tAh~l6!mB5Hc=<4^1>%%2Js#mvfapni^jIic2=A7d{zfG z>J$doK*Z}%z)%cWFK3vnQlR1Y@)&RIYcdTt#s-E7iKZ@T^4Mgi)Jh|~VU%JF3Qpuz zf+Loz280E;JW-`PA{`kW0@$-sv1FRwA-68c@uYdKFwUIv9zXUqrC**6dQc0#JvtD} zCyvEV)cx)sJnr}ZwzoziZMOS=k@oGazuf9t6ZHcEM6#Hc%)Cj zwK^6qgQ51uC)dP?5!P<3D_n#adV$DfW8aikFCu&%ik(ncu0ZZT7CjbAd%HziBRcdX z1``9>SgNr2nf~o9>~(Q=iSV9v_)xkEzi_b>Z;eKjcPj@f8GzhM{CU)34Fc6}t$R z*2Fbgpti>l`_WW}1{4k^hw`!B!9*_T(~jeMhM+V8nyJy*;*)zq`Z;gIjYldBpR?eE zs|rWFj!?ut`cQKS;%dSVJH!o;Fmn0KkdcN1&v8dxQ258MTkc(?%c<_|qwvsKc5-`_#^_D&OHOk2mvka9XQsbvmr4p3w?a_AY2KZyem- z3!*qj5K>KnY1&d|ukl`G@%qPHp};M=n6w?P{rS9sS@(!F+v_{&#|+B#%cQ^ZJkUsJ zIEmS89y4BiICHMU!i)yukFNdu>d37d*>26`BKpIR_1VWqhjK=SP(oHdC&Uq7>T{Fe zj_~A4=`xT6jB`Y|A$|G_eTHVby7bbLCy~*0>^l`@a-P?5Saz1lbD;g9@UR6jWVi@W zb@vDOS|~snPWZ!T%S<({XxV_Oaj+g@KxO%JxJ-NQVR7Os8#uB*Qpw{K$hL-fuN+!6 z!je8SU%K=-1p3pfPi*MtoIYjcnp=EWy!oJb zYgE7g2oj&tbE9&7rugv}j%z|Sb@D%$H#QFXx8L^9{yK>R|KfxHmDje_G+lqNxQUuR zxnu>7!l4)K%M7OlgN>D57$Mn%+sugU``)(uud*pN!3DJDfrJ)TC!SeHjKdNA{&gez z57?;jJPNlK7WqlYcp80tT3@(WSR5%V-B<@tBV9KsI)YgdPsi(@GSZBA2{R)@Oq}y= zmPy|xGMVHXB~fl+&|MB7pHr=#Ze}mMbgeu;Po@y&_1qd>P(%Xd<>%$2b>>2Y_=Cw# z!)AmT_HrPvb#`>Lb+~TdS348TRQ}`(a$fWNvW?+p+RvuCOpNQ1gXkjPx!c&hq2V=< z3w^XL6bi__K<%dsLa-kNUZRo=f@|Ii z>0u#Ra&}PQf`>wIH4F|7`0us`<>7&&sObPPp8BNndWC1d>#}-a3(qcEUK{5}P910k zEv7&b+cZ)wiTFaT-L&A2&7EDo>ehT@wHYPk7gRjcA=Qu|cEj~h`GM#k_V=K&X0xfQ zwmSitbJ_Dwv}gaHy7!UYL;oAFTdN(#cl~i^&z{{h)Kn}VgB5wi>sT0xIU^12q zY|{eqM6NHJ9Lgs%Y51mJT+zpu%(&=`NS@y21VhRU5eN@u@MFJlggjo=@2jWp4prE09gChuL?zywU9;m;4%-aIGYONWj-_H?7F=H zQ`g{O`>notBcvT8Ip#rSt>&B>>wNl9($hFGxoB)Se>i$1af0<&c!ROWg5*fRy&tsK z=4U6X%YU0SOUoDax$9=ljZpiSE`3{Ax&ZDJ%d@2m^ZLC{^b5E38+Rbx?vwlc0K?#= zXdGwmnODCzECqsEuX>&J4=dBCYwUTanGh>%qDIG?NRx(8aOQC4O<2|`_JH;8?~~zh zH4{IYt`{OAy4Vw~3*oJzs=rauxI%=BiwnID#aeYLgNQ`uNT-kUJ>tzPNX8NEc}H+! z;cs5+(t<<7y@ScVeC9|Zt@dH5t7acFVNER1Q)L=wu&{Kd=N(K=LT1vZaX<*e_Ue6I ze!8lA%3gJu%dAp$DG0xP;C>uhoLYL3nR&H>26qfZ|G&-LFJu^1B`YVhbsNY^H-5udB4#gYK^!wK4Z-I3@kC=YgDAM0`g1V#xF=buvpffV&z@t}ElI2l)UT==E}+tH*I7DpPl$2V9O#w$JX=}loQ!{xPV^dj~83SY8BXn5$>a<4J)Lmtl;n`4? ztM#rr!G5m6d4;M{-)^XisgUA5H#3oqZMjED_P6wQEyG&8AL(Z8F|fxyj1+gH3P@Fj z#zPH6<~3(1h8V)KNXkmJjR(VEI;_y$V}*8BNs6) z?oTiwrW6qm9on;dL+}r%iZ}8>soF6wX@qHxHTQpba>war{&%~Nzr&H!4Q^;lN8k@< zaTq^cgoRZu-dWLCrqP9|GCozjvcRm&6IW2?XZ$DS;kdx^>X6uWoq?|a=0<@?HGQGn ziCpMNBAZSOhO)7AJd+AR5yw3U=gOFTj?3zJ$i|(u?=pRCs`%Zgh4HTcjsw8nJMJ*G z@>Gwdyaj(d0-N#P5x(zCR5RT~UM8gHHaXF3Dn2$7>QOLdMgm~>3=DxGHDDS=qW~+J#*eW$ z8ddoSu?mdp4RMI{bu!Lh(h(vAeA|k@@+XE8@G~}?&)^#}AYKdp#s*-}Z`dY*eu0kg zFZ73Ce-$66j|kKlq#>ZGHtLN~sG(7ik`W|KVxY;1tS)CRB{j|DL@TV`0WW7kiX}%X z>|AtJB&X%4)A+Tte66s2rLeR__A%(H(iSZVbW(bZzGB^abs|q)HS8OqnY7(^`$Zf1 zGtovmZlwFWguYIlq|bXn5FUW$F5vf)$*Rwv(Wj=%b8|8k8^G;L4joQptJOsg#d5i0 znXFV1Nqc+DsfVmxi)hnXil^d#yi!jn`ZfouE5i})Y0;w5Bn+YS9$Tf!} zJDLajQa&oSTPsF7I+YcHu%Sl4O4y{?YOSq!G125jv-ppd8Dzb&l<)yD(i(}Bo-XSX zSJ{H2649ZDp~^<2^U^Dp4kB$#7&Oq_I~Y5XXlv#x=elT4aGi2+UW@1iv|SCzZBb9V z;D#ICcrYIDc5(n4XxJ&xnq<36v0>%s{l~Umw~eOK9tZq?d|5Y{Z;zud4N`=HJKICGmcx zN(b78f{XJC1#IO-a9}p>+fCVQ`AzO`SV=s2Flafa2!N6LD#ihd18PLcsJtS`+k@`RH7H20*D_6?%7kPBe z;^Vve&8r`z^@krx+Sq&j35?Xf;_Ltkco zj7GBEH``Oj6}G|5Kr-FJXTPN{lM2P+DTvjZ$mf&k0Wk5Na0Y;~tJtXq{pKw^rAjyE z2xAT*t;R;nbBmRc>-xpB{u-~fq1nf!BhPxHS0ySrh= zSElQ)1vi(}cB#fCCaRYTT=YC8hu2Pm+uENJCm;gqrUpB*yK2B;_RG&nufOGba2nTD zpIy*zj+jm0e3>CuJF)-tt+zhh*-kjc;z@lsS{WDO$MWT{HwAIwqv=fCYqB~VxnAa8 z>i5Snqq*4*_ol@O1A`__-J^i|AEF_b9FIy{ctAi~o7hKRclE~zrWojlub`N^i&)4Cx+d|>(9a8plG#bcei92~*S)dcQpYhi zcs62RIPRw2m?JC)bOicAqse_4vVp@*khS zEZtv%EI$H8bc0w;h@)E6wDh<#X|H0BancNzHr=Ah3Cm;Du|udyFyAPb7#P7-wi?WHh>xATv z)H)?XO=)j_3PK~KM|cMiX@i8udPzb&je}hha!J;pvL$&)NZsl9P$rqq+r*gbn@pL4 zHR|ck)24#$a6z)b_Thr$a1_$VzJW`N2j~tb@|*&;xlgN=h4lF|w1I2_H;uIou?Ye1 zYh05~`=!s)qfu;}o*c5K+o0*AejDEIXkhtM$`bs!UA64AfoO8*XuAjO9Zecahz{7D z4%jx(oi)zaf0BsF_m)*z%(jK|rAX3jpX>*`{j*4htlwan-38oZj<7rc;n;v(z&$1n zoMWzx!Fe1LgWCwee@p?lt{P%mq$)A@{c!V+57!~;-dH493?y&v1!!$<+$yg=Bz$T0 zGA~U@Y4ekE@dJ<;E;&;Bun6(8er!UvDT7C1d1sr)U*mrLtt3rLOz@U1>azp9e2v|Z z*ySC^fzPg3>eSdBi5cB`{P^t)uTW!0B-VO%*7@rJl&rDo9jc}~eK*}%W7D$izQ&&$ zAfNr%DG`5G55|<+5zS{ZgSidK{^^nbGu*m;dway5|1(Vf^Gp8ESMb!7|8qyQXaD|p z4|-<*w3ah+f7*h14rT@h5?Mu-Pl&n+nU_f)X_`-nuNXCw-lY8i-_1KPHIyh5DEMLy7dUY`*k#xwL$nD_@QD+2;$3mkNthg_k$W-(68;Jya--X1`(W z@wDtq_e$SB-T9Z!gQX{vmCLjGC)4`*E7&l$%CcgdThkYAmgg_m>+V-!ZLWCf1p_6n zo-=)uu>jr{Zz*ts4hUJFKU2Ch+6Z#O+O5*^6O^UhZw!pUj}7 z>!hW+2=H1pGyGE##x85N@6*3A=__C5OZ?Ym4-%0)|yV_3FANx^K^cA&^SZifT?IwPwz&|0p@LEi17TM z<$GW2W8W8+uawtrlpdecr|!@&mG)>B_0Gn_&-MnX>#*RgdDsw-IdzZ}Czzhp0wEWY z6p9BV6wL`r;A4NbVT>?7+HWw^DcEcr^h0UF_mFLE&Hr z{Z9Z#t=@Zd#z@vRiLYoVRc~_0Z&2TTtVqiIs!qUKW&qiLTc_%9hPiS{wJMrifyxrsK7XK( zJufU?D6D)=IQY%Ja|IwBYTefEMv7u}N zl0FP(V#adzWyyTUi0qrqWb%^e16nE>9Uh9u@`*0=?*TT5fFsF!Xl#V*Kd*I=>&%I!|9eI8QvQC*`GWP zjqKmYpc}8kDF_KrNAa-r&Gzjn+p^X!dU26+_M6Jx?+~m$Jx_Lj@#>x8)64qUiaz%O z{cGP%riYJ<(qColeDRYpBX+ox1+z9)`eL+n<8x%;Ld8kyOMPQbU%hO(@ocTr&=?=q znsbN6C1|Qm!Zh!E@G*aPj!3R3TX_qS_WF?&;esHA?aF0+e#P7HZ^*61s}J4r4z8MN})V&g(ap2$GXAX#YEMiT@A# z)ZpC7PC2>SF6^*&p=UUa?l6V5IsN{Wq8GU1osIuoO!oOiF3*xL`Q+PW`CtIc2Zobz zBNYt)?Z01k<~{=^#N1&UH=*{)<@(5KB#I81|AN~#Q%Mm029d*UM)4IXqk9M!o?_7l z8MX!eu?*AT)joRvqYt)xXd~(&$l@2;5|TnabxH{px#%t74y|ol`?d~kEB!|~IW{(d zv%i-1oI-~x*i7B0hOj(a?EDU$8u$>ZadtL#awNGA>!~gv%#{a;z#BXIHHdd25()^W z`|xAJd2u~9=#^(5qigui0|yF=PxP7d#U~HA%gHP7HR+VP>8ojoVq=<=$y-XQ=W>{e ze8Wmm2Z5&QFr6OY>7>3UXRs-^wR`uzgFpsUvukrPfAR%E89` zZ_CeIm8|giKvF*$?5i4Bb!x*Mb;DX$q0k?;V)i9U*txwAF1cX#Xqw@(eD^_NarD(^ zWunm?H!cmepHxlOJWcY5PPBm(0k2*RX&sk?*5|OC6K4=VTrw7M^Z7q}H5#wTOt~0& zl71!s_M97Z)nmzH}R@SA*l@l^bUW zS>r+(*)-79;)p(Xy)yDK1}??e44m|>$4S+>k0vg{(%ybhy!IJzFXKz43kz^v{NCq< zmFo}-_3ruN5w%2Y!{0vM-d5uwVzQp3LQjv3b zoFtu{$-qVv;oR+1sD_xsV<+gWB_&yK5iH;d5r#Py$^oJ4qk%~v=NsiiP_5um-H-8Z z6peS}_`!MhI&WOl!29PKn9We(BqBZ%8HM)46RTW#8$YS{qyXG3)OfNKuik+JkjW*U z4l%}4cWGrKt`(Z13pW?oc7GKqoP`6NT_szc2MS5^g_qZEkP{P?e4J>6TU&q45!W)4 za`;q+oWxTY*5T}((#!k$^i<{Hgy}RS#01H=q!P$i?iw_7y7Cre@Av_W^sl`3xqbmW zvcPsm-HCo!nIJ>aSHIOin?j5+-cQQl@%sp%dw>44yf)4YDrQ-E3)ZR+9b$HI%iAt) z3c;=nabB(u$stX=S z~=z!GLex7Q{agEJO&+d-fl6LIEuGz9xJimdinW3sqkZ__zrS z<2f)moKwO$-~pqvNi)z<1;hC6eRCJFk-;%aIpATb8m)6NBK6&VP?|l*BSEdrfRsm1 zKM$C_q%Q3nk$?%;jdh&kh27u*sn58jEJoe1Kr(iM2cS6V(&AX@%O&g#a_v7qi{*M0 zfL8KVjmq!t9K>Rv!3=udVGBU<<7cVpt4904=DSNS>XEY|x@Wiiqsizn7#^h-m7=mT!V zfLnSrO2FCSq5xL8cN5%QEy z*e<{tk0cts@vtk`y%IyR@j%$2UTQGc^2qi_^O+-wG%#cwcdG4@YhHa@UM~c$j$$2WQw3r>B-B=-R}tK(#J3K@nwDbDZ$zDqkpg@L6G?AeDUdH{mgk$ z5AAb4+grF7s@Oip0QKKKhI%e6juaNZGUA8QsklF-PkdiLQ=2UcVPW+Swg4#>X|rAc zstG#ivxiEx>u`2Zwdu(x_uN}X&!rnvyr)MY`8zrqWF5jmI*tzpSy~+Lv*T3}it4f> z-So`T+9a2Oev~9|mdljYTp0A(w8U8TBP18IQER5ltdUw%1=G)sQm>y>Q|++yGkl3c zS5v-7ITZIOXF~iBrTIo9rn0lJJchoEd-fkh7ZV^i^j5I`;;BBpKw38>Pk4#7idSCH z#P`)XnnY-%Gs-DI2SCrN&)q9dJTHAc&xjm&rm{DM#V5tdmxPEG7C+O!y@d^9CXkJ! zf`tB=vt!T3DhKj2rG#{6`lW^66D(EkrRdrO5n&Z|Xu~PHMFLbb4 zI(Q%>r*iBgjcn&16D0$skS-a`{FLaC3`-bp(@?KP~h26r{nqO z#Vq{eWl72@&u9l5rps`JM9@wMxfW~;ebkRPawtd3e0R*LgNFkW`May_Q zr5fjOgBqq#jGo91vi)I>)OP0buK2IQJjag6P6gv}Y8ebK1>gJ?Jgy$A9*Bp1_qDL_ zYy`hmMHeJ|*DnmF`P4f-ik-ncus#Np`p*2^7)*P`>iNq9{@BL@KToF6Fop~fL$FDD*99(O1wlngf+)vXJM=!1eASnfi-9k}jJkfqvt`|0zG z-U4f_=YqImGHi51@YbzY&TS`w;f|HR5SS_n4EK=sv-OO^uZY;V2oul~ve8dyyASRy zEG|PFCz@9V=H<|P?>ayUxLQ*)Fls@1+5e~ReH$8!GRVa{mU6rF@_zB!6&xhQ)Q$}$ zL!@-}L`&a5^7rId*TMhUx4#AY+0uPHpU9?TgTF~7@`p3=E{G>Xz~=J5fpmb$Ou8%b z8%mVA5H=l700|>4n~VqRhPBuP1520ZVE20xH$(H-AnWIYW^lx9PyobEOYs*Pp_No; zsihXwAbnyz^IL;XDo`pqxxU+>-SX(4gTl#V2%2!F{ z+2tia8wrcPA_}h-_Si~WFURAOOHW}N=Gy}_l>0SdDvaXgk98ca~< zxl|&Tiwz`xFOoxacPlL4FHN4Wo6!J4i`RDi4CCi%!e-d&*NBb9t1@Fd&yimQLabF4 zVTn~C5a#TGplDpt7P2&IYCt(Pc_r_&rS=TovtOZ$3q~YDELlfvgX#h{^-6NNOD>r5 zcU{3C&En2~TOkX1osAL}h}CqhZ^N^0^Yr9A)h>$|>nGVZ0>YRA$TVzJ)@|V~u7caK zUgq`8xh-DqwO01I6XVvU;US`YY@T{7Bi98BS48#cv*PVf{pL71e(?&XYBPDX>4Bab z5fNmICPqx&EW~^Dy6!KT)>@)om)EXU#?KSx6#K!Vhxm!#EJO*ZjE-ZJ5Pe~_GCqx~ z#BzgDfcngZ;>1__jhDsgnZnZjWG*+HAUmq(o$}n{^4wBs`P16NZ4=&lccOQA0Kyur zu(t6+oT^5|xOt4OkGuCB#N;TAZ*;UZVK8k?Rky8)tynHM2;TeiXBuOPTyr?Gqj{h& z)l`0dQJ*-Ys@!fgY;G48m5v7TEI;~GpSY%~++kG4!C|lw78PxBs=bvATUE8w=ro99 zGiOY$ckLG8hKnPQ8V53&0m8E8k15kKsovYJ{bBfVU(4two?KqgpIr5MWqBR9mE(Xo zmN(T$TvnWKmh?YEM*g3Uw%QLteR{sI`~cl@>2_&vPdS>QtsFnjV`dj`J|I|Ap1()V z%HpTfjpS1kVtZ9bqhgR%yWVGp5^1t?wA@evBLC979$LHBoH#n93HzwZw*5IgGHJsI z{vJ(b;xsT>x*tK?ockR*bAIgfR|=Ac#$0I+`5PPKLIHPKV-e zny)&|cOSj~{u{ZWSYP6e4?o;W-dJ^^QeM;2?-&^wa%#;P+50xd`wo16G!@Mz;>j!> z`~H0aw@{E6MY-Abya&~POO8$Z2l~jx1v76A%k=WDCDThYtXVVJ*}aLZQy-xKAVhYH zr*nRQ7>Q}-#gv;DZVTy?7fv)O>yZqHCQbNmD}e5z+S z%^R1mi+XKH-4KHEy)^dOC1)R@1=X*R8ji3~DewsQ0nB-G*ZD@eDaUVF; zqsDdLXpVsDg5uH4aK3H`S0$p?we30}J6j(mzE_Lu{+CG&!-nU6r_3*|LxOJqXLpq} z!(#!2Y+W2VB$^&`%Q6nsq*T6-p5r3QIn_~B2> z7KiN~3~y_19STBcP3YB1c>dh8YSQZ!pFSqS=?^Q{F`iN1aCQ)*z2Ys^V*`o&4=asovTs%7f%evPINUiI&cblqctBnt~H#5(5a;N$-Y=V znMt4iuW)30ODp*&{6<46d7P!A%xETEY^K>QgTFqRPo@%4BB^Kd`D`qm>rZ4)2eqJS zIb`Y=f-a8sQ(ElU5iM|XD4R^@wFdfa zD`ZhV9dL)T4m-agx1HQVn>*b^Q%$SQ(~8^37#7_K{|do`mo62reqXuztgyHQ_I?~q zKubAe{=rj4U~6ov{QVe#&x3^%>@7}Q!P`aUvmci}eu26?72ewIJMJ@8rNY`xIZd@= zTn}CCX_rq8b(sbNdejNWoAs;xRI?#T72$n5&9j7Rg_%D1=6GS{x;{D!i6JiBCbR|Y z@Iurymsr)1v3`2NVtJrmay$ffB*n%Nq7w!N5I1lSKdxL}LwsYMqYad9TqGwOgrcEs zl%7nMmL3%^JT6bo(1jz|fr%|p#V&! z!VBmNXV8CvxmrwqrcW*C6AP8AU+GUi7k8+^NBP>LvUfW?I|>Gj@ulMABk~!0MY;|* zNGD$w7S9$I&k?lTR(Np^z))|q^4bkj4;!<2Fd%1`O!sDn)A1bghLWV3+Ut;2^Ne~w zkXE5C+hQ{lG_lK)^}K=terLhO+EYzXeN_-giG_!>$Y_*cyAkcjwuEG~plkgYjQc*MBE>cy?4yUzdaIXEso_+91Yu;sFQX32AWbKfxYj?c&$I@BZ zIf$iiQg=JoA{zmb>zd=@07M(VO!N?V6NgU#2g{2{c)!GPp^t2#BXwWshF$yj?%la> z_Xc#f&7-qOXz3}>3#MYpbQBzB?ZDc70fQsl8&-!eSXK+D5||+St;g}8a_?g4#i)Mf z8aSTOGaA^k`IYkcGyJK~uMr-ka&4-xdI7UoR&L&^jE+M4iNz1t4xw2E!S44f^Y>l1tz7EL>&J!H3oW#M zNaG^g>qYvWe)iMDIW%&yp9@H~qeiRb}wJc(@LK09UZ@F?Q9Ki?+Ba!g(uujK1O~O?g+Pah9jMA+qeI! zH5_U0Z2gtiTK}#%pJCV=n)WMt$@o8lQ7~1+j>eLM5M5nas&8l*P6|T)mYjy!!=LAlb zz{rwdh$e{+=~Ii4QjQWx=6}fcxXSm?N?mBmOLpTgnob;(`_IrN!Q9nedO!z@Dk&on zA=U#*5RL{6@d$o&nf$zPZo?PoC#W!w#s-n~|DZu+{-Z~mHdjjoEbf#zwS~nCsJQk+ z2oyju7BLD~jSex^&`{`;UlvxcmA+i6TzzKdWJ@(P@|_}X0Im6OlcP&OfaJxSNCmR| z9pOkT&hGmbU=C_!m1Y#)qQbDm&X-?)!dSlLrSjYy1coNE^};l=h3MNUqpYW^UoK$E z=rS3zRhqk7nmL1+tv|>cJvC4}cR0#pJ-nsyl@Ji0M}Q{m)?k8&uu;fp?w!I2&ykSW z88Shrm81f@&>2KuNk2@y_Re;MX9a5zj}HS*@$y1(YEEDJjJ52U^GFG+Bek1sr`}8~ z8?W5FSG>9Ao%=`$t1VT$^8(B}FCO~pS7#HSm;*a^vBKc%fA%qReWf0>s_NT~HQ^z> z`O!Xowlp~bU7I*Vwzfw%b{O3Vr|^(9{e3-ZzTU)48K>Rk+UpZ zlRf!w70lP`zo>W&faCY#xys!aKsl$+62=oK81Fj4>7K%R2MiIl=pC8#J%Yy_w@a+CCT?NM!dVoJsAR z(AoUi&3D`ik9Z3Ab`78*qa*bi*xp1wwrjXI@fYub@uGDdSv637jp%=N?%Iun-p67c zjwN%4V`(QDT+fgUprI47zIeTc_5T`7jQ61a-^9@26WQUMAME!(Dh@UDccUxy8r#9) zUh;vQjrl~@V{G|kI({P38g8rW*f`WsPUuR#50B<-;_Yxc?lwFuQP;5{$hsdKyN7dR z*8V%0_QpqE)JNN#jQAN^HGpk{s*2{7CST|iUnAuc##NjgDb7yni*x$fF9{JWe|L-g zQC=G_KDm#}15Oxf#G%>!Jfs}jeZm?B&~&&RSY1Ao^XZ#LT& z^)>mbDtuF^;sI5|sH2?j$xoFO*3}_7}$zL=(&S^BCnM1LnQ^W7IX3{@-5Er+Z#i6KY zRx-Pe8HUFyz$Md3I?ckkH*MO)?>v}lI>F(iTMK^lerxmVA5u3)GkO99mm3&P#uH?5 z^c%M-BO~CxM>YNMzsYm@%4L0i#Rm~b>=)0a8pxE##&cpnoi1=)Ap0=q+;|%nU_kKe zW<$REJ$J)Ize{h$7R$*;Ck|C`qF$p@rlwWe^Jho+3FHK2)#-X3ux>X0(%0wosi!#R z`YGm&PgVN@Fuff01*oH5Zi|M8BI8@cPXlt59U%hKGo|}Wbyt!YD=2F6#a;GVEvz7H z8CwS6jpqcB51=*x_(`2oF?JL)4BYy@c~oT8ZGg66fUZF1!CFM(GCs%y&eAD z*{-$i=+t7VIQc7;93nky&Sm=Z{ev08ov{~(iHK>wFuw=Z$%BSdh2^oz$jAE31Y4S` zcZyFh6UG$6=**u1UjNRbzV->Y#p54F0ex}N@Vx#W^^WdV)xzRb>Gp%l=x6%Fj|;1p zSy(p;6LwlUcielz*Iu6=L6nf&c4(*kqk7!#nRJ3 zp$gK2J#QcE;ztcMX(0~IQ8iG97+!#)v>T#Si3kWFAto^btCFr4DULyUK>bF~b;?N~8pf*FCVLWeO+<{(AEfN?nN zi#dq_gT=s8i5^1`e1Gmb9z&&Xm-SocHZw~L@KN<;C#tw?LRLI881G^)@rnt1*Jtrx zQ+jov6sFyMp zg8ry#(|~fuzG>i{bsXl7HJKDzqOf>@)yB<&nu^W2W66Bq;i!c(*`gUG|8bty6>AW} zj!YqX+ZNVtmM&jI$&elW%*BU#7=h&8VC-*)-U-S=m<%Jb58iDDYiGc8U@>cx60|!4 zO=02k5C&m`L<5xU*}_JKJ_a}->9cUxfI8}m_qyO(*T{7v z2$qYuCm<9HwP|&7A-rI1=Q+Z3Ib88xvZYKt1v*_`kTR!IDr8gz#CXV9ZZIsE8Rh>Dd; zrjz6^@;R4;&l&+8HGYxrN3EbvyN{6Jz4sW&AIYH>GCtN6{ArFLXBi&gp6h@pFxpv7 z?75c1p%~wCRg8=<>smf>oG|BUt>GkV>$HRYrkG&twL3)NL1W06jp> z!xEi9ot%SFlC$}=oailV5*zX89ZnxfXO0QSE;74@08z{BF+1^<@a#@f%#?j(zNkct zVxwhh;d3n_I+}+NAObgs!-R2%mRY!!fxnT*`@L{!&-Jtiw?%6kOp{d01qwUcByb@7 zo%05v!WbhA*h}N@dZz=iZ8%3UhI~K5P)?%Ac3#);+c%u9!s?mgox7E<&SO`7k=wB8 z%r44yyAB*eEy;T3pPxx5Q6qgi5Hb+jPZ?2ZjV(LmR_pB*G?*H5&5st?%CVtjG#?wF zCjw_Sbk5Amwu*UX$%Qyho3UAM%N9Lc0A5Yj=yI^EGcjtCdy+ zj4O?7b25Bl+FA#(U&K)&MYDHEt`VV0aHD~ zOrTDq4!5Ah1{@Y%p(E@x48p8pyy-WBOf%E`HhCR16*TRJUPc5@3AP{jL&Lp;$=u;Y zJQ~aUYy-`i{+qz^W&?*Q*Ou18ej2l?s4Qdxbgd|r4GmL^R2RIVBAM}`!M+2$dK>7? zW{yEhBsggXGqHG-W=1et&2(!4iF=2M7$#mA09v*Zd>uaCvbEu)(XG=hTR$K>^@Bh| zzzBg#@F)}tYHx{`hO>zl(8xLWzO(!G3nt=?cn(NvVD$2EtcQ_-DTSCC*)%{2d%=&x z&Gbcm@e_>yAq3`V5K-O-7;aD#!4SGCV6`usN3&Za4jq|zA5EF4 zD9&KZ)_`e`=4&o$v`z4UaHm?fhEAOdO1_Kg-+k{7aur||-4)&g*n!@&47s0&1C zIWxuXI?R5<;|SEs8mrtjOae)TW}69uT3GC?t-`|MQ^tj7{Yt>j6a-he&z6$#$NJ)8 zacPEhzp(U=^5~_~>cz_Vc;&_!h-gJiLga>pd-}|$h1DsJE#CegoCaAZra1dm>HlZ% z&HI};vW4OMul*@HvNE!Xt<4Jwj53#i$@mW2gUw{-g+#9`$wonoM~i_0zdw`2U{*sC zwg4e85V%QLvVpN#zRMlAWdAkKM|kVhsj9B-u5PuA>?CvPxi?tdRj0O7r_MQbmiZZo zf<*)IEKPp2G<6yR1Y+!}V{^4L4>2bN(7$8fEZ#T;hDJw!^x9&?+M@pW2W*ABgxhGE zdxW-lR0JyY;IOD>|1pUMj)IhTW2KeDUCw$*!XDR5zQ| za45D`oINfbRi-rAD6k4kS0@+0K7wlmPAgQTU3O>U%IT45)$V|x>3$P{KfV!~i9Q7qT)U8tSE?Re$aZ8W3yH+h*c z^mJ%Dis@XYlIx0wqus&qo59Fh)4CZazTb11*Xu*)GYXcy0Q#;nJ z?wAd~8=olEy{xA$^{Bgq);yBAq_Rs?1sfd0ofLHKAit$+yoW2`HYhfS-KGKeF8X`8 zf%wPe>Lb*e5)C9JSQqBUPI$d5`MaZcB^62^(7cYn`} znM{3_qwo~G0OP9I-7$F8gJUa0rzezqGV2vQ8P`c{LG|in?fxW6B8=d1<;|(e*a2+H z+(KnIZnG!E^ZecMOsP=(=j4&0L?&BGCbDVr_j{RQdbE-#rpVvh5}EPz4hV9u>Q>YU zOaSN9v7_p4;TH4MGvs@*b7)nmPu*Sm7(_EL7Nz2fswdsXnT{Z^CzPEL{qWicnkx-u zK*H!OeS3-2t=;_*IONGYgz{8>KB?-1%lW@TQ6w$qM$&0ca2l1Y0fH08wX8i9p-~W5 z$yT;oRaQ~XEijjLQ_5EzI6eF>mN!8L%K!AC2+2h<*kmlOPbuw5g5=kW$d`+l7t$36 zJaunfeRykXyAKon#0p}Pe9YOzn3ff={<8>2(w!WC6*H1zm`icxc3W_bp)GG~Td$Sc z?27VG+ket8U0h$@))wfHw9$=;-X3In2Oe7%?L=^f==$!kboYuc*TPH99AU=Y8w2wu z+KgBYEi~(!C*ik`3cpt;G42aQ%6j>63OfX}8r*L4WVxZi5QyQ$>$Z$c>ZdSkfrT%ozAx_USM#&|XVlYMBpZ90-!AdE( zZ`3~6-6kRz)98^>UklT%nic0sk>&(f6k})E=7h5@MBo|Eq|!xoHiMU#kszeDCjw_V zSSZ@Bz9wFFT6#>=LhYFqlR~MyZA#Shq2E7F@Tb$F{%F>;WE1%$B*TF#_u)ceUoc}2 z2r=QXF?xCADLKlNg&!6n+{I+pp|5=gFN_<+A`9{vGBkz`fYwUfD>^7ihfAGKywzcL zA21&p4Qq~+jN@-fbF`aA*baR-GE#ChRdi4Q)ES|A#<(_nt2iaZ=_T2B8b-HQ@9L+| z)NY)|D9aF%`Rd)po8RJ*4>9ehzXBZsRjnHrK-6Cg0jquOJoa4`e!*)3r6(9-gY!ykj!mspI@&|pG6JevQ;=}tF|zI#z-WNVx!r-UbYyuhi&jt zyJN5koAA*HA83V~ARowID9%DnQz(vzx1bG?CIoF@k|67&lpK+WpkM=k7%asPGqEIK zr{kpJ2obVl0d7og-XgoT*G#DvLaZ1b2~r3L%XbAQVb~$7JIlJL&`jDQKv_04L3u#Xk)!Vvl(CH#?2`= zOsk=uez{1iqAw2i*KChjwro8!Y*H&eF6l}5PBly*eLs(1K z3}T%uvN=AvpH`AlwtaKkt+NdzWfZXKXlhZxI-#e@m`K%##R}QMN?4d6^MR=>kXO!d z*tyoP&o)@45P?U{WGSqJmunHsm!^(EFgq&TY=H$NB>+ppbcyGYHZ0ertRdS~q)TVV zSxi#2EWZWrn!5(}zpV+`ad-J`1lP2qSVJgFhpi1>NsZhFZxn0Lw}gC@==KD1%GATe zVL>@ZXlKitYMl*_8jF90cH7Nk1)6Un?V%$M_S}Y=19>~4!M2cnZYS-5U$Y-|)&sG5 z*3pJq_1du&w2qEa51o&m=*Q-((--txr}b&(I0#z$=aU#6cj?B@5T~1Fz|f~2FFgAU zuQZln5iQ1LSUyWe(Qt3EJVWU2<`_aZcE208Uhmp@3!K2}wc9lMY7_2xO&3S1=iA-tX)1!Z^}Y=hfGcK9QqQi(-#r#nTvUGrlMPk&UCLvXV}$h z7dhhG`qHx+eZeW|%DH!?w@z2K6b>e`r9w89Nf$#j-bBNT(?u09Zkfg4-HlO_1S zrNy^thnl4d7lUR=wcymWgLStf-YMHg3-B&g5ifmkFywBm4@M+@i=xPDFC1*Qmo*d1 z?L)7+5B9CsOcd~D60Y1F_C0Db`qq@D&}KVkZWzZ|dX>%csB7k=6|zD0z~Lz-E2#N5 zZhkkuW5duNRreL#IFQFAG6WxLXAw`OOR?Gy&%vDd_%vwoOkeb=yS1}m1-4vvQ3{ld z#{#p8{`3?(v4riuP2uS+6c&beF)GtQ$lPpgy82+Idhxb?maw9?34N~4f+3k~W5ZPR z%V&F>7%Vy5mqLHj2wSyrTi3vj+WdLQ2f-js*XF(s2P3&*GMpAZ)Bfb%Og<6MjKzWH zuWRraWsv{eXNTP#-lqmV-scUti(?q#fxtOjfn;9HmgDF+3fF16hd05Dz-bepq_DKm zYk@CdxLOwgdV9yNZzV^Isk6H&u}FpqGz4q+Yzxzr>ora8v@R0PR%yw{>r zgj!XBdLchFtSoN3;gY*Mo+v_ZRdGTsjGJcTwxmd+PGLE%5k~99>7*6#^|5lEF4TnGsEr7lLp;~MzjT2|f%}S^7I>C@ z7un>V$!%RFs#3FxzNkj;z{3Yz9UVK?SbK7Fx$?}hR zun(^Iu?ALujxFi!)_lkht7u}Sq|gmw7~b*oc;5vfcu~=gL=w-rW$#LH$QI?;z030@$FW_f?2I}3E zVya?B%N#8Q9UWC6?$qbktLLZjUK}sK|2cVfW4V}pV{`96C(lvm!$7-DuQl@F|rH z|LiT7;y)&Zgwpc_Fm;_0ifD zcIy2?N*7tCVEdiL{f{X3xWE%`Ut2L7syHp}?|#Rt8Xw^$#h{q+&JIkC3=%+d0RyP{ zy;V4uG#*W|bg_Omf?&YtN07}4^h znfw8T0h_f&LxFDW5z%>+>R-w(K?AhEde?u5FUka26sA6K-2hsYRy0t=OC{$H{yLSI z%2=n)dd#{A&d#csZ=L36=OQU$yIixV{halfuG^G17Qk;dPd(>WmMh8F_Jakk5N}Ld z+jZ8A8B(33t;P8aiuY`j7pV3eW!|DW{O-h;(TsSpy-47+PI zNioc?Q<+k^E1Al7jgToV1^=EI^I1AZNU!Ikh~+RqQMAz^6chWI{|_YHW=l**WDD0A zLWNhztX*R52CX5b>W-t^WgG_yK6{7MqlUypHt%qHU3%0AoIW+2#s>Av-Ed(VH#sLSw~( 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 diff --git a/bin/version b/bin/version index 6f72d47f..de320774 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha7 +versionsh=1.9.5alpha8 GeoIP_v=20251205 diff --git a/version b/version index 1aadf787..8b125665 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha7 +1.9.5alpha8 From be60423f084d19bef3b8d8541c4ea9efb4cc1bf9 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 31 Jan 2026 22:19:09 +0800 Subject: [PATCH 187/318] chore(9_upgrade.sh): invoke the common.sh component --- scripts/menus/9_upgrade.sh | 223 +++++++++++-------------------------- 1 file changed, 64 insertions(+), 159 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index f6983008..d097820b 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -17,12 +17,8 @@ error_down() { # 更新/卸载功能菜单 upgrade() { while true; do - if [ -z "$version_new" ]; then checkupdate - line_break - else - line_break fi [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) @@ -33,7 +29,6 @@ upgrade() { [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } - separator_line "=" content_line "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" content_line "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" content_line "3) 安装/更新本地\033[32m数据库文件\033[0m" @@ -68,12 +63,8 @@ upgrade() { setcrt ;; 6) - line_break - separator_line "=" - content_line "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" - content_line "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" - separator_line "=" - sleep 2 + msg_alert -t 2 "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" \ + "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" ;; 7) setserver @@ -82,10 +73,7 @@ upgrade() { . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; 9) - line_break - separator_line "=" - content_line "感谢以下项目及其开发者们的无私奉献!" - separator_line "=" + comp_box "感谢以下项目及其开发者们的无私奉献!" content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" content_line "" @@ -118,14 +106,11 @@ upgrade() { content_line "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" content_line "" - separator_line "=" - content_line "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" - separator_line "=" + comp_box "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" sleep 2 ;; *) errornum - sleep 1 ;; esac done @@ -187,15 +172,12 @@ getscripts() { setscripts() { while true; do - comp_box "\033[33m注意:更新时会停止服务!\033[0m" \ "" \ "当前脚本版本为:\033[36m$versionsh_l\033[0m" \ "最新脚本版本为:\033[32m$version_new\033[0m" - btm_box "1) 立即更新" \ "0) 返回上级菜单" - read -r -p "请输入对应标号> " res case "$res" in "" | 0) @@ -210,7 +192,6 @@ setscripts() { ;; *) errornum - sleep 1 ;; esac done @@ -224,7 +205,6 @@ setcpucore() { comp_box "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" \ "不知道如何获取核心版本?\033[0m" \ "请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" - content_line "当前可供在线下载的处理器架构为:" separator_line "-" @@ -249,15 +229,13 @@ setcpucore() { # 手动指定内核类型 setcoretype() { while true; do - line_break - separator_line "=" echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash - content_line "\033[33m请确认该自定义内核的类型:\033[0m" - separator_line "-" + comp_box "\033[33m请确认该自定义内核的类型:\033[0m" content_line "1) Mihomo(Meta)" content_line "2) Singbox-reF1nd" content_line "3) Singbox" content_line "4) Clash" + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -277,7 +255,6 @@ setcoretype() { ;; *) errornum - sleep 1 continue ;; esac @@ -292,15 +269,11 @@ switch_core() { [ "$core_new" != "$core_old" ] && { [ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns [ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns - line_break - separator_line "=" - content_line "\033[33m已从$core_old内核切换至$core_new内核\033[0m" - content_line "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" - content_line "是否保留相关数据库文件?" - separator_line "-" - content_line "1) 保留" - content_line "0) 不保留" - separator_line "=" + comp_box "\033[33m已从$core_old内核切换至$core_new内核\033[0m" \ + "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" \ + "是否保留相关数据库文件?" + btm_box "1) 保留" \ + "0) 不保留" read -r -p "请输入对应标号> " res [ "$res" = '0' ] && { [ "$core_old" = "clash" ] && { @@ -381,12 +354,9 @@ checkcustcore() { if [ -s "$TMPDIR"/core.list ]; then separator_line "=" - line_break - separator_line "=" - content_line "内核版本:\033[36m$release_tag\033[0m" - content_line "发布时间:\033[33m$release_date\033[0m" - content_line "更新时间:\033[32m$update_date\033[0m" - separator_line "-" + comp_box "内核版本:\033[36m$release_tag\033[0m" \ + "发布时间:\033[33m$release_date\033[0m" \ + "更新时间:\033[32m$update_date\033[0m" content_line "\033[33m请确认内核信息并选择:\033[0m" separator_line "-" grep -oE "$release_tag.*" "$TMPDIR/core.list" | @@ -410,12 +380,10 @@ checkcustcore() { getcore else errornum - sleep 1 fi ;; *) errornum - sleep 1 ;; esac else @@ -485,13 +453,10 @@ setcustcore() { checkcustcore ;; 9) - line_break - separator_line "=" - content_line "请输入自定义内核的链接地址" - content_line "(必须是以.tar.gz或.gz结尾的压缩文件)" - content_line "" - content_line "或者输入 0 返回上级菜单" - separator_line "=" + comp_box "请输入自定义内核的链接地址" \ + "(必须是以.tar.gz或.gz结尾的压缩文件)" \ + "" \ + "或者输入 0 返回上级菜单" read -r -p "请输入> " link if [ "$link" = 0 ]; then continue @@ -503,7 +468,6 @@ setcustcore() { ;; *) errornum - sleep 1 ;; esac done @@ -533,7 +497,6 @@ setziptype() { ;; *) errornum - sleep 1 ;; esac setconfig zip_type "$zip_type" @@ -576,7 +539,6 @@ setcore() { content_line "9) 手动指定处理器架构" content_line "" content_line "0 返回上级菜单" - separator_line "=" read -r -p "请输入对应标号> " num case "$num" in @@ -585,11 +547,7 @@ setcore() { ;; 1) [ -d "/jffs" ] && { - line_break - separator_line "=" - content_line "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m" - separator_line "=" - sleep 2 + msg_alert -t 2 "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m" } crashcore=meta custcorelink='' @@ -630,7 +588,6 @@ setcore() { ;; *) errornum - sleep 1 ;; esac done @@ -697,25 +654,19 @@ checkcustgeo() { while true; do [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" [ ! -s "$TMPDIR"/geo.list ] && { - line_break - separator_line "=" - content_line "\033[32m正在查找可更新的数据库文件......\033[0m" - separator_line "=" + comp_box "\033[32m正在查找可更新的数据库文件......\033[0m" webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url} release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|.*.mrs|.*.srs' | sed 's|.*/||' | sed 's/"//' >"$TMPDIR"/geo.list rm -rf "$TMPDIR"/github_api } if [ -s "$TMPDIR"/geo.list ]; then - - line_break - separator_line "=" - content_line "请选择需要更新的数据库文件:" - separator_line "-" + comp_box "请选择需要更新的数据库文件:" awk '{print NR") "$1}' "$TMPDIR/geo.list" | while IFS= read -r line; do content_line "$line" done + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -733,21 +684,15 @@ checkcustgeo() { getcustgeo else errornum - sleep 1 break fi ;; *) errornum - sleep 1 ;; esac else - line_break - separator_line "=" - content_line "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" fi done } @@ -756,13 +701,11 @@ checkcustgeo() { setcustgeo() { while true; do rm -rf "$TMPDIR"/geo.list - line_break - separator_line "=" - content_line "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" - content_line "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" - content_line "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" - content_line "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" - separator_line "-" + comp_box "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" \ + "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" \ + "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" \ + "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" + content_line "\033[0m请选择需要更新的数据库项目来源:\033[0m" separator_line "-" content_line "1) \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m" @@ -781,6 +724,7 @@ setcustgeo() { sub_content_line "(仅限Clash-GeoIP)" content_line "9) \033[33m自定义数据库链接 \033[0m" + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -815,13 +759,12 @@ setcustgeo() { ;; 9) line_break - read -r -p "请输入自定义数据库的链接地址 > " link + read -r -p "请输入自定义数据库的链接地址> " link [ -n "$link" ] && custgeolink="$link" getgeo ;; *) errornum - sleep 1 ;; esac done @@ -829,15 +772,13 @@ setcustgeo() { setgeo() { while true; do - line_break . $CFG_PATH >/dev/null [ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版 - separator_line "=" - content_line "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m" - content_line "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" - content_line "" - content_line "请选择需要更新的Geo数据库文件:" - separator_line "=" + comp_box "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m" \ + "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" \ + "" \ + "请选择需要更新的Geo数据库文件:" + content_line "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" content_line "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" content_line "" @@ -892,12 +833,10 @@ setgeo() { ;; 9) while true; do - comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" - "清理后启动服务即可自动下载所需文件" - - content_line "1) 确认清理" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" \ + "清理后启动服务即可自动下载所需文件" + btm_box "1) 确认清理" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " res case "$res" in "" | 0) @@ -916,14 +855,12 @@ setgeo() { ;; *) errornum - sleep 1 ;; esac done ;; *) errornum - sleep 1 ;; esac done @@ -974,16 +911,10 @@ getdb() { } dbdir() { - line_break - separator_line "=" if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then - content_line "\033[33m检测到已经安装过本地面板\033[0m" - separator_line "=" - content_line "请选择操作:" - separator_line "-" - content_line "1) 升级/覆盖安装" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[33m检测到已经安装过本地面板\033[0m" + btm_box "1) 升级/覆盖安装" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then rm -rf "$BINDIR"/ui @@ -994,15 +925,12 @@ dbdir() { msg_alert "\033[33m安装已取消\033[0m" return 1 fi - elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then - separator_line "请选择面板\033[33m安装目录:\033[0m" - separator_line "=" - content_line "1) 在${CRASHDIR}/ui目录安装" - content_line "2) 在/www/clash目录安装" - content_line "" - separator_line "0) 返回上级菜单" - separator_line "=" + comp_box "请选择面板\033[33m安装目录:\033[0m" + btm_box "1) 在${CRASHDIR}/ui目录安装" \ + "2) 在/www/clash目录安装" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -1020,7 +948,6 @@ dbdir() { ;; *) errornum - sleep 1 return 1 ;; esac @@ -1033,13 +960,10 @@ dbdir() { setdb() { while true; do - line_break - separator_line "=" - content_line "\033[36m安装 dashboard 管理面板到本地\033[0m" - content_line "\033[32m打开管理面板的速度更快且更稳定\033[0m" - separator_line "=" - content_line "请选择面板安装类型:" - separator_line "-" + comp_box "\033[36m安装 dashboard 管理面板到本地\033[0m" \ + "\033[32m打开管理面板的速度更快且更稳定\033[0m" \ + "" \ + "请选择面板安装类型:" content_line " - - - - - - -维护中- - - - - - -" content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" @@ -1049,9 +973,9 @@ setdb() { content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" content_line "9) \033[31m卸载本地面板\033[0m" + content_line "" content_line "0) 返回上级菜单" separator_line "=" - read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -1085,13 +1009,9 @@ setdb() { ;; 9) while true; do - line_break - separator_line "=" - content_line "是否卸载本地面板:" - separator_line "=" - content_line "1) 确认卸载" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "是否卸载本地面板?" + btm_box "1) 确认卸载" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " res case "$res" in "" | 0) @@ -1106,14 +1026,12 @@ setdb() { ;; *) errornum - sleep 1 ;; esac done ;; *) errornum - sleep 1 ;; esac done @@ -1184,7 +1102,6 @@ setcrt() { ;; *) errornum - sleep 1 continue ;; esac @@ -1275,12 +1192,9 @@ setserver() { ;; c) while true; do - line_break - separator_line "=" - content_line "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" - content_line "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" - content_line "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "=" + comp_box "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" \ + "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" \ + "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" content_line "是否依然切换到开发版:" separator_line "-" content_line "1) 确认切换" @@ -1299,18 +1213,13 @@ setserver() { ;; *) errornum - sleep 1 ;; esac done ;; d) - line_break - separator_line "=" - content_line "请直接输入个人源路径" - content_line "" - content_line "或者输入 0 返回上级菜单" - separator_line "=" + comp_box "请直接输入个人源路径" \ + "或者输入 0 返回上级菜单" read -r -p "请输入个人源路径> " update_url if [ "$update_url" = 0 ]; then continue @@ -1321,9 +1230,9 @@ setserver() { fi ;; e) - line_break - separator_line "=" if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then + line_break + separator_line "=" content_line "\033[32m正在获取版本信息......\033[0m" . "$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 @@ -1352,7 +1261,6 @@ setserver() { saveserver else errornum - sleep 1 continue fi else @@ -1363,16 +1271,13 @@ setserver() { fi rm -rf "$TMPDIR"/tags else - content_line "\033[31m当前源不支持版本回退\033[0m" - content_line "\033[31m请尝试更换其他安装源!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m当前源不支持版本回退\033[0m" \ + "\033[31m请尝试更换其他安装源!\033[0m" continue fi ;; *) errornum - sleep 1 ;; esac done From 5ea24d1ca4a707cdfa4d6bd26947c4f01b5fbbdd Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Sat, 31 Jan 2026 23:11:14 +0800 Subject: [PATCH 188/318] chore(8_tools.sh): invoke the common.sh componen --- scripts/menus/8_tools.sh | 431 ++++++++++++--------------------------- 1 file changed, 136 insertions(+), 295 deletions(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 8c8d484d..d939bf4d 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -16,17 +16,13 @@ ssh_tools() { while true; do [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=禁止 || ssh_ol=开启 [ -z "$ssh_port" ] && ssh_port=10022 - line_break - separator_line "=" - content_line "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" - content_line "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" - separator_line "=" - content_line "1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" - content_line "2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" - content_line "3) \033[33m$ssh_ol\033[0m外网访问SSH" - content_line "" - content_line "0) 返回上级菜单 \033[0m" - separator_line "=" + comp_box "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" \ + "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" + btm_box "1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" \ + "2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" \ + "3) \033[33m$ssh_ol\033[0m外网访问SSH" \ + "" \ + "0) 返回上级菜单 \033[0m" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -38,56 +34,38 @@ ssh_tools() { if [ -z "$num" ]; then errornum elif [ "$num" -gt 65535 ] || [ "$num" -le 999 ]; then - line_break - separator_line "=" - content_line "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" elif [ -n "$(netstat -ntul | grep :$num)" ]; then - line_break - separator_line "=" - content_line "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" else ssh_port=$num setconfig ssh_port "$ssh_port" sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - line_break - separator_line "=" - content_line "\033[32m设置成功,请重新开启外网访问SSH功能!" - separator_line "=" + msg_alert "\033[32m设置成功,请重新开启外网访问SSH功能!" fi - sleep 1 ;; 2) passwd sleep 1 ;; 3) - line_break if [ "$ssh_ol" = "开启" ]; then iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 echo "iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user [ -n "$(ckcmd ip6tables)" ] && echo "ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user - separator_line "=" - content_line "已开启外网访问SSH功能!" - separator_line "=" + comp_box "已开启外网访问SSH功能!" else sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - - separator_line "=" - content_line "已禁止外网访问SSH!" - separator_line "=" + comp_box "已禁止外网访问SSH!" fi break ;; *) errornum - sleep 1 - break ;; esac done @@ -100,15 +78,11 @@ tools() { grep -qE "^\s*[^#].*otapredownload" /etc/crontabs/root >/dev/null 2>&1 && mi_update=禁用 || mi_update=启用 [ "$mi_mi_autoSSH" = "已配置" ] && mi_mi_autoSSH_type=32m已配置 || mi_mi_autoSSH_type=31m未配置 [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF - - line_break - separator_line "=" - content_line "\033[30;47m工具与优化\033[0m" - separator_line "=" - content_line "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" - content_line "磁盘占用/所在目录:" - content_line "$(du -sh "$CRASHDIR")" - separator_line "=" + comp_box "\033[30;47m工具与优化\033[0m" \ + "" \ + "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" \ + "磁盘占用/所在目录:" \ + "$(du -sh "$CRASHDIR")" content_line "1) ShellCrash\033[33m测试菜单\033[0m" content_line "2) ShellCrash\033[32m新手引导\033[0m" content_line "3) \033[36m日志及推送工具\033[0m" @@ -149,21 +123,14 @@ tools() { sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root fi - line_break - separator_line "=" - content_line "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" - separator_line "=" - sleep 1 + msg_alert "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" fi ;; 6) if [ "$systype" = "mi_snapshot" ]; then mi_autoSSH else - line_break - separator_line "=" - content_line "不支持的设备!" - separator_line "=" + msg_alert "不支持的设备!" fi ;; 7) @@ -185,29 +152,20 @@ tools() { sleep 1 ;; 8) - line_break - separator_line "=" if [ -f "$CRASHDIR"/tools/tun.ko ]; then - content_line "是否禁用此功能并移除相关补丁:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否禁用此功能并移除相关补丁?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res [ "$res" = 1 ] && { rm -rf "$CRASHDIR"/tools/tun.ko - line_break - separator_line "=" - content_line "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" - separator_line "=" + msg_alert "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" } elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then - content_line "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" - content_line "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" - separator_line "=" - content_line "1) 我已知晓,出现问题会自行承担!" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" \ + "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" + btm_box "1) 我已知晓,出现问题会自行承担!" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then line_break @@ -226,28 +184,21 @@ tools() { continue fi else - content_line "\033[31m当前设备无需设置,请勿尝试!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m当前设备无需设置,请勿尝试!\033[0m" fi ;; *) errornum - sleep 1 ;; esac done } mi_autoSSH() { - line_break - separator_line "=" - content_line "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m" - content_line "\033[33m如有问题请加群反馈:\033[36;4mhttps://t.me/ShellClash\033[0m" - content_line "" - content_line "请输入需要还原的SSH密码(不影响当前密码)" - content_line "(回车可跳过)" - separator_line "=" + comp_box "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m" \ + "\033[33m如有问题请加群反馈:\033[36;4mhttps://t.me/ShellClash\033[0m" + btm_box "请输入需要还原的SSH密码(不影响当前密码)" \ + "(回车可跳过)" read -r -p "请输入> " mi_mi_autoSSH_pwd mi_mi_autoSSH=已配置 cp -f /etc/dropbear/dropbear_rsa_host_key "$CRASHDIR"/configs/dropbear_rsa_host_key 2>/dev/null @@ -259,13 +210,9 @@ mi_autoSSH() { nvram set boot_wait=on nvram commit } - line_break - separator_line "=" - content_line "\033[32m设置成功!\033[0m" - separator_line "=" setconfig mi_mi_autoSSH $mi_mi_autoSSH setconfig mi_mi_autoSSH_pwd "$mi_mi_autoSSH_pwd" - sleep 1 + msg_alert "\033[32m设置成功!\033[0m" } # 日志菜单 @@ -280,37 +227,30 @@ log_pusher() { [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 - line_break - separator_line "=" - content_line "1) Telegram推送 ——\033[$stat_TG\033[0m" - content_line "2) PushDeer推送 ——\033[$stat_Deer\033[0m" - content_line "3) Bark推送-IOS ——\033[$stat_bark\033[0m" - content_line "4) Passover推送 ——\033[$stat_Po\033[0m" - content_line "5) PushPlus推送 ——\033[$stat_PP\033[0m" - content_line "6) SynoChat推送 ——\033[$stat_SynoChat\033[0m" - content_line "7) Gotify推送 ——\033[$stat_Gotify\033[0m" - content_line "" - content_line "a) 查看\033[36m运行日志\033[0m" - content_line "b) 推送任务日志 ——\033[$stat_task\033[0m" - content_line "c) 设置设备名称 ——\033[$device_s\033[0m" - content_line "d) 清空日志文件" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "1) Telegram推送 ——\033[$stat_TG\033[0m" \ + "2) PushDeer推送 ——\033[$stat_Deer\033[0m" \ + "3) Bark推送-IOS ——\033[$stat_bark\033[0m" \ + "4) Passover推送 ——\033[$stat_Po\033[0m" \ + "5) PushPlus推送 ——\033[$stat_PP\033[0m" \ + "6) SynoChat推送 ——\033[$stat_SynoChat\033[0m" \ + "7) Gotify推送 ——\033[$stat_Gotify\033[0m" \ + "" \ + "a) 查看\033[36m运行日志\033[0m" \ + "b) 推送任务日志 ——\033[$stat_task\033[0m" \ + "c) 设置设备名称 ——\033[$device_s\033[0m" \ + "d) 清空日志文件" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) break ;; 1) - line_break - separator_line "=" if [ -n "$push_TG" ]; then - content_line "是否确认关闭TG日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭TG日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then push_TG= @@ -324,10 +264,10 @@ log_pusher() { # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" . "$CRASHDIR"/menus/bot_tg_bind.sh chose_bot() { - content_line "1) 使用公共机器人 ——不依赖内核服务" - content_line "2) 使用私人机器人 ——需要额外申请" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "1) 使用公共机器人 ——不依赖内核服务" \ + "2) 使用私人机器人 ——需要额外申请" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in 0) @@ -350,14 +290,10 @@ log_pusher() { fi ;; 2) - line_break - separator_line "=" if [ -n "$push_Deer" ]; then - content_line "是否确认关闭PushDeer日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭PushDeer日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then push_Deer= @@ -367,14 +303,12 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - content_line "1. 请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" - content_line "2. 打开快应用/APP,并完成登陆" - content_line "3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" - content_line "4. \033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" - separator_line "=" - content_line "请直接输入你复制的秘钥" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "1. 请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" \ + "2. 打开快应用/APP,并完成登陆" \ + "3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" \ + "4. \033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" + btm_box "\033[36m请直接输入你复制的秘钥\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " url if [ "$url" = 0 ]; then continue @@ -383,25 +317,16 @@ log_pusher() { setconfig push_Deer "$url" logger "已完成PushDeer日志推送设置!" 32 else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi - sleep 1 fi ;; 3) - line_break - separator_line "=" if [ -n "$push_bark" ]; then - content_line "是否确认关闭Bark日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭Bark日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res - if [ "$res" = 1 ]; then push_bark= bark_param= @@ -412,12 +337,10 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - content_line "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" - content_line "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" - separator_line "=" - content_line "请直接输入你的Bark推送链接" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" \ + "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" + btm_box "\033[36m请直接输入你的Bark推送链接\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " url if [ "$url" = 0 ]; then continue @@ -426,25 +349,16 @@ log_pusher() { setconfig push_bark "$url" logger "已完成Bark日志推送设置!" 32 else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi - sleep 1 fi ;; 4) - line_break - separator_line "=" if [ -n "$push_Po" ]; then - content_line "是否确认关闭Pushover日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭Pushover日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res - if [ "$res" = 1 ]; then push_Po= push_Po_key= @@ -455,11 +369,10 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - content_line "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" - content_line "" - content_line "请直接请输入你的User Key" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" \ + "" \ + "\033[33m请直接请输入你的User Key\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " key if [ "$key" = 0 ]; then continue @@ -470,10 +383,7 @@ log_pusher() { read -r -p "我已经验证完成(1/0)> " separator_line "=" - line_break - separator_line "=" - content_line "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" - separator_line "=" + comp_box "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" read -r -p "请输入你的API Token> " Token if [ -n "$Token" ]; then push_Po=$Token @@ -482,29 +392,18 @@ log_pusher() { setconfig push_Po_key "$key" logger "已完成Passover日志推送设置!" 32 else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi - sleep 1 fi ;; 5) - line_break - separator_line "=" if [ -n "$push_PP" ]; then - content_line "是否确认关闭PushPlus日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭PushPlus日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then push_PP= @@ -514,11 +413,9 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - content_line "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" - separator_line "=" - content_line "请直接输入你的token" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" + btm_box "\033[36m请直接输入你的token\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " Token if [ "$Token" = 0 ]; then continue @@ -527,23 +424,15 @@ log_pusher() { setconfig push_PP "$Token" logger "已完成PushPlus日志推送设置!" 32 else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi - sleep 1 fi ;; 6) - line_break if [ -n "$push_SynoChat" ]; then - separator_line "=" - content_line "是否确认关闭SynoChat日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭SynoChat日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then push_SynoChat= @@ -552,15 +441,11 @@ log_pusher() { continue fi else + line_break read -r -p "请输入你的Synology DSM主页地址> " URL line_break - read -r -p "请输入你的Synology Chat Token> " TOKEN - - line_break - separator_line "=" - content_line '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' - separator_line "=" + comp_box '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' read -r -p "请输入你的user_id> " USERID if [ -n "$URL" ]; then push_SynoChat=$USERID @@ -576,24 +461,16 @@ log_pusher() { push_SynoChat= setconfig push_SynoChat - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi - sleep 1 fi ;; # 在menu.sh的case $num in代码块中添加 7) - line_break - separator_line "=" if [ -n "$push_Gotify" ]; then - content_line "是否确认关闭Gotify日志推送:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭Gotify日志推送?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then push_Gotify= @@ -602,12 +479,10 @@ log_pusher() { continue fi else - content_line "请先通过Gotify服务器获取推送URL" - content_line "格式示例: https://gotify.example.com/message?token=你的应用令牌" - content_line "" - content_line "请直接你的Gotify推送URL" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "请先通过Gotify服务器获取推送URL" \ + "格式示例: https://gotify.example.com/message?token=你的应用令牌" + btm_box "\033[36m请直接你的Gotify推送URL\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " url if [ "$url" = 0 ]; then continue @@ -616,24 +491,20 @@ log_pusher() { setconfig push_Gotify "$url" logger "已完成Gotify日志推送设置!" 32 else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi - sleep 1 fi ;; a) - line_break if [ -s "$TMPDIR"/ShellCrash.log ]; then + line_break + echo "===========================================================" cat "$TMPDIR"/ShellCrash.log + echo "" + echo "===========================================================" else - separator_line "=" - content_line "\033[31m未找到相关日志!\033[0m" - separator_line "=" + msg_alert "\033[31m未找到相关日志!\033[0m" fi - sleep 1 ;; b) [ "$task_push" = 1 ] && task_push='' || task_push=1 @@ -641,11 +512,8 @@ log_pusher() { sleep 1 ;; c) - line_break - separator_line "=" - content_line "请直接输入本设备自定义推送名称" - content_line "或直接回车确认返回上级菜单" - separator_line "=" + comp_box "请直接输入本设备自定义推送名称" \ + "或直接回车确认返回上级菜单" read -r -p "请输入> " device_name if [ -n "$device_name" ]; then setconfig device_name "$device_name" @@ -653,15 +521,10 @@ log_pusher() { ;; d) rm -rf "$TMPDIR"/ShellCrash.log - line_break - separator_line "=" - content_line "\033[33m运行日志及任务日志均已清空!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m运行日志及任务日志均已清空!\033[0m" ;; *) errornum - sleep 1 ;; esac done @@ -670,20 +533,16 @@ log_pusher() { # 测试菜单 testcommand() { while true; do - line_break - separator_line "=" - content_line "\033[30;47m这里是测试命令菜单\033[0m" - content_line "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" - separator_line "=" - content_line "1) Debug模式运行内核" - content_line "2) 查看系统DNS端口(:53)占用 " - content_line "3) 测试ssl加密(aes-128-gcm)跑分" - content_line "4) 查看ShellCrash相关路由规则" - content_line "5) 查看内核配置文件前40行" - content_line "6) 测试代理服务器连通性(google.tw)" - content_line "" - content_line "0) 返回上级目录" - separator_line "=" + comp_box "\033[30;47m这里是测试命令菜单\033[0m" \ + "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" + btm_box "1) Debug模式运行内核" \ + "2) 查看系统DNS端口(:53)占用 " \ + "3) 测试ssl加密(aes-128-gcm)跑分" \ + "4) 查看ShellCrash相关路由规则" \ + "5) 查看内核配置文件前40行" \ + "6) 测试代理服务器连通性(google.tw)" \ + "" \ + "0) 返回上级目录" read -r -p "请输入对应数字> " num case "$num" in 0) @@ -691,7 +550,6 @@ testcommand() { ;; 1) debug - testcommand ;; 2) line_break @@ -699,12 +557,10 @@ testcommand() { separator_line "=" content_line "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" separator_line "=" - line_break ;; 3) line_break openssl speed -multi 4 -evp aes-128-gcm - line_break ;; 4) line_break @@ -756,19 +612,14 @@ testcommand() { echo "----------------本机防火墙---------------------" iptables -L INPUT --line-numbers fi - line_break ;; 5) echo "$crashcore" | grep -q 'singbox' && config_path="$CRASHDIR"/jsons/config.json || config_path="$CRASHDIR"/yamls/config.yaml line_break sed -n '1,40p' "$config_path" - line_break ;; 6) - line_break - separator_line "=" - content_line "\033[33m注意:依赖curl(不支持wget),且测试结果不保证一定准确!\033[0m" - separator_line "=" + comp_box "\033[33m注意:依赖curl(不支持wget),且测试结果不保证一定准确!\033[0m" delay=$( curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & { @@ -795,21 +646,18 @@ testcommand() { debug() { echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml - line_break - separator_line "=" - content_line "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" - content_line "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" - content_line "如长时间运行后台监测,日志等级推荐error!防止文件过大!" - content_line "你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" - separator_line "=" + comp_box "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" \ + "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" \ + "如长时间运行后台监测,日志等级推荐error!防止文件过大!" \ + "你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" content_line "1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" content_line "2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" - content_line "3) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" - content_line "4) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" - content_line "5) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" - content_line "6) 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" + content_line "3) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" + content_line "4) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" + content_line "5) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" + content_line "6) 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" content_line "" - content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" + content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line " 9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" content_line "" content_line "0) 返回上级目录" @@ -855,15 +703,10 @@ debug() { main_menu ;; 6) - line_break - separator_line "=" - content_line "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" - separator_line "=" - content_line "是否继续:" - separator_line "-" - content_line "1) 是" - content_line "0) 否" - separator_line "=" + comp_box "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" \ + "是否确认启用此功能?" + btm_box "1) 是" \ + "0) 否" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then "$CRASHDIR"/start.sh debug debug flash @@ -876,9 +719,7 @@ debug() { ;; 9) . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && line_break - separator_line "=" - content_line"\033[32m合并成功!\033[0m" - separator_line "=" + comp_box "\033[32m合并成功!\033[0m" [ "$TMPDIR" = "$BINDIR" ] && rm -rf "$TMPDIR"/CrashCore main_menu ;; From 84008a81bd4dcc1556f57d4ff96c327faa8d786e Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 1 Feb 2026 12:28:01 +0800 Subject: [PATCH 189/318] chore(2_settings.sh): invoke the common.sh componen --- scripts/lang/chs/2_settings.lang | 2 +- scripts/menus/2_settings.sh | 430 +++++++++++-------------------- 2 files changed, 145 insertions(+), 287 deletions(-) diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index c456d0df..935679a6 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -24,7 +24,7 @@ SET_SNIFFER_CORE_SWITCH="已自动切换至Meta内核(域名嗅探需要)" SET_SNIFFER_LOCKED="当前内核与DNS模式组合下,域名嗅探无法关闭!" SET_CORE_RUNNING="检测到服务正在运行,需要先停止服务!" -SET_CORE_STOP_CONFIRM="是否确认停止服务:" +SET_CORE_STOP_CONFIRM="是否确认停止服务?" # ================================================= # Backup / Restore / Reset diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 73680c5e..ee96cfab 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -17,10 +17,7 @@ settings() { } [ -z "$dns_mod" ] && dns_mod='redir_host' - line_break - separator_line "=" - content_line "\033[30;47m$SET_MENU_TITLE\033[0m" - separator_line "=" + comp_box "\033[30;47m$SET_MENU_TITLE\033[0m" content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" content_line "3) $SET_MENU_FW_FILTER" @@ -43,13 +40,9 @@ settings() { ;; 1) if [ "$USER" != root ] && [ "$USER" != admin ]; then - line_break - separator_line "=" - content_line "$SET_WARN_NONROOT" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "$SET_WARN_NONROOT" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then set_redir_mod @@ -70,44 +63,33 @@ settings() { line_break separator_line "=" if [ "$skip_cert" = "OFF" ]; then - content_line "当前\033[33m已禁用\033[0m跳过本地证书验证,是否确认启用:" + content_line "当前\033[33m已禁用\033[0m跳过本地证书验证,是否确认启用?" else - content_line "当前\033[33m已启用\033[0m跳过本地证书验证,是否确认禁用:" + content_line "当前\033[33m已启用\033[0m跳过本地证书验证,是否确认禁用?" fi separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - line_break - separator_line "=" if [ "$skip_cert" = OFF ]; then skip_cert=ON - content_line "\033[33m$SET_SKIP_CERT_ON\033[0m" + msg_alert "\033[33m$SET_SKIP_CERT_ON\033[0m" else skip_cert=OFF - content_line "\033[33m$SET_SKIP_CERT_OFF\033[0m" + msg_alert "\033[33m$SET_SKIP_CERT_OFF\033[0m" fi setconfig skip_cert $skip_cert - separator_line "=" else continue fi - sleep 1 ;; 5) - line_break - separator_line "=" if [ "$sniffer" = "OFF" ]; then - content_line "当前\033[33m已禁用\033[0m域名嗅探,是否确认启用:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "当前\033[33m已禁用\033[0m域名嗅探,是否确认启用?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then line_break separator_line "=" @@ -115,25 +97,20 @@ settings() { rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" crashcore=meta setconfig crashcore $crashcore - line_break - content_line "$SET_SNIFFER_CORE_SWITCH" - content_line "" + top_box "$SET_SNIFFER_CORE_SWITCH" \ + "" fi sniffer=ON else continue fi elif [ "$crashcore" = clashpre ] && [ "$dns_mod" = redir_host ]; then - content_line "\033[31m$SET_SNIFFER_LOCKED\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m$SET_SNIFFER_LOCKED\033[0m" continue else - content_line "当前\033[33m已启用\033[0m域名嗅探,是否确认禁用:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "当前\033[33m已启用\033[0m域名嗅探,是否确认禁用?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " num if [ "$num" = 1 ]; then sniffer=OFF @@ -144,20 +121,15 @@ settings() { fi fi setconfig sniffer "$sniffer" - content_line "\033[32m操作成功\033[0m" - separator_line "=" + btm_box "\033[32m操作成功\033[0m" sleep 1 ;; 6) if pidof CrashCore >/dev/null; then - line_break - separator_line "=" - content_line "\033[33m$SET_CORE_RUNNING\033[0m" - content_line "$SET_CORE_STOP_CONFIRM" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "\033[33m$SET_CORE_RUNNING\033[0m" \ + "$SET_CORE_STOP_CONFIRM" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then "$CRASHDIR/start.sh" stop && set_adv_config @@ -172,14 +144,12 @@ settings() { set_ipv6 ;; a) - BACK_TAR="$CRASHDIR/configs.tar.gz" - line_break - separator_line "=" - content_line "1) $SET_BACKUP" - content_line "2) $SET_RESTORE" - content_line "3) $SET_RESET" - content_line "0) $COMMON_BACK" - separator_line "=" + BACK_TAR="$CRASHDIR/configs.tar.gz" + comp_box "1) $SET_BACKUP" \ + "2) $SET_RESTORE" \ + "3) $SET_RESET" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -193,17 +163,18 @@ settings() { else content_line "\033[31m$SET_BACKUP_FAIL\033[0m" fi - sleep 1 - continue + separator_line "=" + sleep 1 + continue ;; 2) line_break separator_line "=" if [ -f "$BACK_TAR" ]; then - tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . - rm -rf "$CRASHDIR/configs/*" + tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . + rm -rf "$CRASHDIR/configs/*" tar -zxf "$BACK_TAR" -C "$CRASHDIR"/configs - mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" + mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" content_line "\033[32m$SET_RESTORE_OK $BACK_TAR\033[0m" else content_line "\033[31m$SET_BACKUP_MISS\033[0m" @@ -213,7 +184,7 @@ settings() { line_break separator_line "=" if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then - rm -rf "$CRASHDIR/configs" + rm -rf "$CRASHDIR/configs" . "$CRASHDIR/init.sh" >/dev/null content_lin e"\033[32m$SET_RESET_OK\033[0m" else @@ -221,52 +192,43 @@ settings() { fi ;; *) - errornub - sleep 1 + errornum continue ;; esac content_line "\033[33m$SET_NEED_RESTART\033[0m" + separator_line "=" + line_break sleep 1 exit 0 ;; b) - line_break - separator_line "=" - content_line "1) 简体中文" - content_line "2) English" - content_line "0) $COMMON_BACK" - separator_line "=" + comp_box "1) 简体中文" + "2) English" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) continue ;; 1) - line_break - separator_line "=" echo chs >"$CRASHDIR"/configs/i18n.cfg - content_line "\033[32m切换成功!请重新运行脚本!\033[0m" + msg_alert "\033[32m切换成功!请重新运行脚本!\033[0m" ;; 2) - line_break - separator_line "=" echo en >"$CRASHDIR"/configs/i18n.cfg - content_line "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" + msg_alert "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" ;; esac - separator_line "=" line_break - sleep 1 exit 0 ;; c) - line_break - separator_line "=" - content_line "1) New Design by Sofia-Riese" - content_line "2) TUI-lite" - content_line "0) $COMMON_BACK" - separator_line "=" + comp_box "1) New Design by Sofia-Riese" \ + "2) TUI-lite" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -281,15 +243,10 @@ settings() { . "$CRASHDIR"/menus/tui_lite.sh ;; esac - line_break - separator_line "=" - content_line "\033[32m切换成功!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[32m切换成功!\033[0m" ;; *) errornum - sleep 1 ;; esac done @@ -298,11 +255,7 @@ settings() { set_redir_config() { setconfig redir_mod "$redir_mod" setconfig dns_mod "$dns_mod" - line_break - separator_line "=" - content_line "\033[36m$SET_REDIR_APPLIED $redir_mod\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod\033[0m" } # 路由模式设置 @@ -313,11 +266,8 @@ set_redir_mod() { [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" [ -z "$redir_mod" ] && redir_mod='Redir' firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) - line_break - separator_line "=" - content_line "\033[33m$SET_REDIR_RESTART_HINT\033[0m" - content_line "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" - separator_line "=" + comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ + "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" [ "$firewall_area" -le 3 ] && { content_line "1) \033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" content_line "2) \033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" @@ -334,10 +284,9 @@ set_redir_mod() { content_line "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" content_line "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" content_line "" - content_line "0 $COMMON_BACK" + content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num - case "$num" in "" | 0) break @@ -351,12 +300,8 @@ set_redir_mod() { redir_mod=Mix set_redir_config else - line_break - separator_line "=" - content_line "\033[31m${SET_NO_MOD}TUN\033[0m" - content_line "\033[31m$SET_NO_MOD2\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m${SET_NO_MOD}TUN\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" fi ;; 3) @@ -372,24 +317,16 @@ set_redir_mod() { redir_mod=Tproxy set_redir_config else - line_break - separator_line "=" - content_line "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" - content_line "\033[31m$SET_NO_MOD2\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" fi elif [ "$firewall_mod" = "nftables" ]; then if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then redir_mod=Tproxy set_redir_config else - line_break - separator_line "=" - content_line "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" - content_line "\033[31m$SET_NO_MOD2\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" fi fi ;; @@ -398,11 +335,7 @@ set_redir_mod() { redir_mod=Tun set_redir_config else - line_break - separator_line "=" - content_line "\033[31m$SET_NO_TUN\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m$SET_NO_TUN\033[0m" fi ;; 5) @@ -426,10 +359,7 @@ set_redir_mod() { redir_mod=Redir setconfig redir_mod $redir_mod else - line_break - separator_line "=" - content_line "\033[31m$FW_NO_NFTABLES\033[0m" - separator_line "=" + msg_alert "\033[31m$FW_NO_NFTABLES\033[0m" fi elif [ "$firewall_mod" = 'nftables' ]; then if ckcmd iptables; then @@ -437,10 +367,7 @@ set_redir_mod() { redir_mod=Redir setconfig redir_mod $redir_mod else - line_break - separator_line "=" - content_line "\033[31m$FW_NO_IPTABLES\033[0m" - separator_line "=" + msg_alert "\033[31m$FW_NO_IPTABLES\033[0m" fi else iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables @@ -450,18 +377,13 @@ set_redir_mod() { setconfig redir_mod $redir_mod setconfig firewall_mod "$firewall_mod" else - line_break - separator_line "=" - content_line "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" - separator_line "=" + msg_alert "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" fi fi - sleep 1 setconfig firewall_mod "$firewall_mod" ;; *) errornum - sleep 1 ;; esac done @@ -471,18 +393,12 @@ inputport() { line_break read -r -p "$INPUT_PORT(1~65535)> " portx . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 - line_break - separator_line "=" if check_port "$portx"; then setconfig "$xport" "$portx" - content_line "\033[32m$COMMON_SUCCESS\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" return 0 else - content_line "\033[31m$COMMON_FAILED\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m$COMMON_FAILED\033[0m" return 1 fi } @@ -494,21 +410,17 @@ set_adv_config() { [ -z "$secret" ] && secret="$COMMON_UNSET" [ -z "$table" ] && table=100 [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" - - line_break - separator_line "=" - content_line "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" - content_line "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" - content_line "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" - content_line "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" - content_line "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" - content_line "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" - content_line "8) $ADV_HOST:\t\033[36m$host\033[0m" - content_line "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" - content_line "0) $COMMON_BACK" - separator_line "=" + comp_box "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" \ + "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" \ + "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" \ + "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" \ + "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" \ + "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" \ + "8) $ADV_HOST:\t\033[36m$host\033[0m" \ + "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num - case "$num" in "" | 0) break @@ -523,35 +435,27 @@ set_adv_config() { fi ;; 2) - line_break - separator_line "=" - content_line "$ADV_AUTH_FORMAT_DESC" - content_line "$ADV_AUTH_WARN" - content_line "$ADV_AUTH_REMOVE_HINT" - separator_line "=" + comp_box "$ADV_AUTH_FORMAT_DESC" \ + "$ADV_AUTH_WARN" \ + "$ADV_AUTH_REMOVE_HINT" read -r -p "$ADV_AUTH_INPUT> " input - - line_break - separator_line "=" if [ "$input" = "0" ]; then authentication="" setconfig authentication - content_line "\033[32m$ADV_AUTH_REMOVED\033[0m" + msg_alert "\033[32m$ADV_AUTH_REMOVED\033[0m" else if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then - content_line "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" + msg_alert "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" else authentication=$(echo "$input" | grep :) if [ -n "$authentication" ]; then setconfig authentication "'$authentication'" - content_line "\033[32m$COMMON_SUCCESS\033[0m" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" else - content_line "\033[31m$ADV_AUTH_INVALID\033[0m" + msg_alert "\033[31m$ADV_AUTH_INVALID\033[0m" fi fi fi - separator_line "=" - sleep 1 ;; 3) xport=redir_port @@ -585,59 +489,48 @@ set_adv_config() { read -r -p "$ADV_PANEL_PASS_INPUT> " secret if [ -n "$secret" ]; then [ "$secret" = "0" ] && secret="" - setconfig secret "$secret" - line_break - separator_line "=" - content_line "\033[32m$COMMON_SUCCESS\033[0m" - separator_line "=" + if setconfig secret "$secret"; then + common_success + else + common_failed + fi fi ;; 8) - line_break - separator_line "=" - content_line "\033[33m$ADV_HOST_WARN_LAN\033[0m" - content_line "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" - separator_line "=" + comp_box "\033[33m$ADV_HOST_WARN_LAN\033[0m" \ + "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" read -r -p "$ADV_HOST_INPUT> " host - - line_break - separator_line "=" if [ "$host" = "0" ]; then host="" setconfig host "$host" - content_line "\033[32m$ADV_HOST_REMOVED\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[32m$ADV_HOST_REMOVED\033[0m" + line_break exit 0 elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>'; then - setconfig host "$host" - content_line "\033[32m$COMMON_SUCCESS\033[0m" + if setconfig host "$host"; then + common_success + else + common_failed + fi else host="" - content_line "\033[31m$ADV_HOST_INVALID\033[0m" + msg_alert "\033[31m$ADV_HOST_INVALID\033[0m" fi - separator_line "=" - sleep 1 ;; 9) - line_break - separator_line "=" - content_line "\033[33m$ADV_TABLE_WARN\033[0m" - separator_line "=" + comp_box "\033[33m$ADV_TABLE_WARN\033[0m" read -r -p "$ADV_TABLE_INPUT> " table if [ -n "$table" ]; then [ "$table" = "0" ] && table="100" - setconfig table "$table" - - line_break - separator_line "=" - content_line "\033[32m$COMMON_SUCCESS\033[0m" - separator_line "=" + if setconfig table "$table"; then + common_success + else + common_failed + fi fi ;; *) errornum - sleep 1 ;; esac done @@ -646,21 +539,17 @@ set_adv_config() { set_firewall_area() { while true; do [ -z "$vm_redir" ] && vm_redir='OFF' - line_break - separator_line "=" - content_line "\033[33m$FW_AREA_NOTE_1\033[0m" - content_line "\033[33m$FW_AREA_NOTE_2\033[0m" - content_line "" - content_line "当前路由劫持范围:$firewall_area_dsc" - separator_line "=" - content_line "1) \033[32m$FW_AREA_LAN\033[0m" - content_line "2) \033[36m$FW_AREA_LOCAL\033[0m" - content_line "3) \033[32m$FW_AREA_BOTH\033[0m" - content_line "4) $FW_AREA_NONE" - content_line "0) $COMMON_BACK" - separator_line "=" + comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ + "\033[33m$FW_AREA_NOTE_2\033[0m" \ + "" \ + "当前路由劫持范围:$firewall_area_dsc" + btm_box "1) \033[32m$FW_AREA_LAN\033[0m" \ + "2) \033[36m$FW_AREA_LOCAL\033[0m" \ + "3) \033[32m$FW_AREA_BOTH\033[0m" \ + "4) $FW_AREA_NONE" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num - case "$num" in "" | 0) break @@ -682,23 +571,16 @@ set_firewall_area() { 4) firewall_area_dsc="$FW_AREA_NONE" ;; esac - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success ;; 5) - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m" - content_line "此功能存在多种风险如无网络基础请勿尝试!" - content_line "如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" - content_line "如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" - content_line "\033[33m说明:\033[0m" - content_line "此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" - content_line "支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6" - separator_line "=" + comp_box "\033[31m注意:\033[0m" \ + "此功能存在多种风险如无网络基础请勿尝试!" \ + "如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" \ + "如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" \ + "\033[33m说明:\033[0m" \ + "此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" \ + "支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6" read -r -p "请直接输入旁路由IPV4地址> " bypass_host [ -n "$bypass_host" ] && { firewall_area=$num @@ -710,7 +592,6 @@ set_firewall_area() { ;; *) errornum - sleep 1 ;; esac done @@ -718,50 +599,35 @@ set_firewall_area() { set_firewall_vm() { [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') - line_break - separator_line "=" - content_line "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" - separator_line "=" - content_line "1) \033[32m$VM_ENABLE_AUTO\033[0m" - content_line "2) \033[36m$VM_ENABLE_MANUAL\033[0m" - content_line "3) \033[31m$VM_DISABLE\033[0m" - content_line "0) $COMMON_BACK" - separator_line "=" + comp_box "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" + btm_box "1) \033[32m$VM_ENABLE_AUTO\033[0m" \ + "2) \033[36m$VM_ENABLE_MANUAL\033[0m" \ + "3) \033[31m$VM_DISABLE\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num - case "$num" in 1) - line_break - separator_line "=" if [ -n "$vm_ipv4" ]; then vm_redir=ON - content_line "\033[32m操作成功\033[0m" + common_success else - content_line "\033[33m$VM_NO_NET_DETECTED\033[0m" + msg_alert "\033[33m$VM_NO_NET_DETECTED\033[0m" fi - separator_line "=" - sleep 1 + ;; 2) - line_break - separator_line "=" - content_line "$VM_INPUT_DESC_1" - content_line "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" - content_line "" - content_line "Tips:直接回车确认可返回上级菜单" - separator_line "=" + comp_box "$VM_INPUT_DESC_1" \ + "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" \ + "" \ + "Tips:直接回车确认可返回上级菜单" read -r -p "$VM_INPUT_NET> " text [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON ;; 3) vm_redir=OFF vm_ipv4='' - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success ;; *) ;; esac @@ -783,10 +649,10 @@ set_ipv6() { separator_line "=" content_line "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" + content_line "" content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num - case "$num" in "" | 0) break @@ -800,26 +666,18 @@ set_ipv6() { fi setconfig ipv6_redir $ipv6_redir setconfig ipv6_support "$ipv6_support" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success ;; 2) [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF - setconfig ipv6_dns "$ipv6_dns" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + if setconfig ipv6_dns "$ipv6_dns"; then + common_success + else + common_failed + fi ;; *) errornum - sleep 1 ;; esac done From ce1295610d960a53ac22a57ab4cb282bde37adbe Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Sun, 1 Feb 2026 16:18:43 +0800 Subject: [PATCH 190/318] chore(1_start.sh): invoke the common.sh componen --- scripts/menus/1_start.sh | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/scripts/menus/1_start.sh b/scripts/menus/1_start.sh index 60dcb649..95161332 100644 --- a/scripts/menus/1_start.sh +++ b/scripts/menus/1_start.sh @@ -7,11 +7,8 @@ load_lang 1_start # ===== 启动完成提示 ===== startover() { - line_break - separator_line "=" - content_line "\033[32m$START_SERVICE_OK\033[0m" - content_line "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m" - + top_box "\033[32m$START_SERVICE_OK\033[0m" \ + "$START_WEB_HINT \033[4;36mhttp://$host$hostdir\033[0m" if [ "$firewall_area" = 4 ]; then content_line "" content_line "$START_PAC_HINT \033[4;32mhttp://$host:$db_port/ui/pac\033[0m" @@ -32,17 +29,14 @@ start_core() { fi if [ ! -s "$core_config" ] && [ -s "$CRASHDIR/configs/providers.cfg" ]; then - if [ "$crashcore" = singboxr ];then - CORE_TYPE=singbox + if [ "$crashcore" = singboxr ]; then + CORE_TYPE=singbox else - CORE_TYPE=clash - fi + CORE_TYPE=clash + fi . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" && gen_providers - line_break - separator_line "=" - content_line "\033[33m$START_NO_CORE_CFG_TRY_GEN\033[0m" - separator_line "=" + comp_box "\033[33m$START_NO_CORE_CFG_TRY_GEN\033[0m" elif [ -s "$core_config" ] || [ -n "$Url" ] || [ -n "$Https" ]; then "$CRASHDIR/start.sh" start @@ -57,10 +51,7 @@ start_core() { startover } else - line_break - separator_line "=" - content_line "\033[31m$START_NO_CORE_CFG_IMPORT_FIRST\033[0m" - separator_line "=" + comp_box "\033[31m$START_NO_CORE_CFG_IMPORT_FIRST\033[0m" . "$CRASHDIR/menus/6_core_config.sh" && set_core_config fi } @@ -69,10 +60,7 @@ start_core() { start_service() { if [ "$firewall_area" = 5 ]; then "$CRASHDIR/start.sh" start - line_break - separator_line "=" - content_line "\033[32m$START_FIREWALL_DONE\033[0m" - separator_line "=" + comp_box "\033[32m$START_FIREWALL_DONE\033[0m" line_break else start_core From de154158face949f6b1085fed8dd243b82fb1885 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 2 Feb 2026 18:44:59 +0800 Subject: [PATCH 191/318] chore(menu.sh): UI adjustments --- scripts/lang/chs/menu.lang | 8 ++++---- scripts/menu.sh | 24 +++++++++++------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang index 2d0b37d4..0ba87225 100644 --- a/scripts/lang/chs/menu.lang +++ b/scripts/lang/chs/menu.lang @@ -1,6 +1,6 @@ # ===== 通用提示 ===== -MENU_RESTART_NOTICE="检测到配置变更,是否立即重启服务以应用新配置:" +MENU_RESTART_NOTICE="检测到配置变更,是否立即重启服务以应用新配置?" MENU_PORT_CONFLICT_TITLE="检测到端口被以下进程占用!内核可能无法正常启动!" MENU_PORT_CONFLICT_HINT="请修改默认端口配置!" @@ -12,7 +12,7 @@ MENU_CORE_REMOVED="内核文件已移除,请认真检查后重新上传!" MENU_CFG_LOADED_OK="配置文件加载完成!" MENU_OVERRIDE_WARN="你已经禁用了配置文件覆写功能,这会导致大量脚本功能无法使用!" -MENU_OVERRIDE_ASK="是否取消禁用:" +MENU_OVERRIDE_ASK="是否取消禁用?" # ===== 欢迎与状态 ===== MENU_WELCOME="欢迎使用ShellCrash!" @@ -36,10 +36,10 @@ MENU_TG_CHANNEL="TG频道:" # ===== /tmp 文件检测 ===== MENU_TMP_CORE_FOUND="发现可用的内核文件:" -MENU_TMP_CORE_ASK="是否立即加载该内核(会停止当前服务):" +MENU_TMP_CORE_ASK="是否立即加载该内核(会停止当前服务)?" MENU_TMP_CFG_FOUND="发现内核配置文件:" -MENU_TMP_CFG_ASK="是否立即加载为配置文件:" +MENU_TMP_CFG_ASK="是否立即加载为配置文件?" MENU_MAIN_1="启动/重启服务" MENU_MAIN_2="功能设置" diff --git a/scripts/menu.sh b/scripts/menu.sh index e12ba2f0..ed8c6520 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -130,18 +130,6 @@ ckstatus() { # 检查执行权限 [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh - line_break - separator_line "=" - content_line "\033[30;43m$MENU_WELCOME\033[0m" - content_line "Ver: $versionsh_l" - content_line "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "-" - content_line "$corename$run\t $auto" - if [ -n "$PID" ]; then - content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" - fi - separator_line "=" - # 检查/tmp内核文件 for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ @@ -167,7 +155,7 @@ ckstatus() { # 检查/tmp配置文件 for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do tmp_file=/tmp/$file - comp_box "$MENU_TMP_CFG_FOUND \033[36m/tmp/$file\033[0m" \ + comp_box "$MENU_TMP_CFG_FOUND\033[36m/tmp/$file\033[0m" \ "$MENU_TMP_CFG_ASK" btm_box "1) 立即加载" \ "0) 暂不加载" @@ -191,6 +179,16 @@ ckstatus() { read -p "$COMMON_INPUT> " res [ "$res" = 1 ] && unset disoverride && setconfig disoverride } + + top_box "\033[30;43m$MENU_WELCOME\033[0m" \ + "Ver: $versionsh_l" \ + "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "-" + content_line "$corename$run\t $auto" + if [ -n "$PID" ]; then + content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" + fi + separator_line "=" } main_menu() { From 111b151cba9ddd6aae047377cd2bdc97077c8626 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 2 Feb 2026 19:02:37 +0800 Subject: [PATCH 192/318] chore(8_tools.sh): UI adjustments --- scripts/menus/8_tools.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index d939bf4d..18a1a1b8 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -553,10 +553,11 @@ testcommand() { ;; 2) line_break + echo "===========================================================" netstat -ntulp | grep 53 - separator_line "=" + echo content_line "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" - separator_line "=" + echo "===========================================================" ;; 3) line_break @@ -658,7 +659,7 @@ debug() { content_line "6) 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" content_line "" content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" - [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line " 9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" + [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" content_line "" content_line "0) 返回上级目录" separator_line "=" From 65996d6a54ce28e35e482d98cc78bed87a82d50a Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 2 Feb 2026 19:04:32 +0800 Subject: [PATCH 193/318] Update 8_tools.sh --- scripts/menus/8_tools.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 18a1a1b8..177bda72 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -556,7 +556,7 @@ testcommand() { echo "===========================================================" netstat -ntulp | grep 53 echo - content_line "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" + echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" echo "===========================================================" ;; 3) From 25c48ecc4b79702d62dc80d68b34b68c151a88b2 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 2 Feb 2026 20:45:02 +0800 Subject: [PATCH 194/318] ~fix & improve --- scripts/menu.sh | 3 +-- scripts/menus/2_settings.sh | 2 +- scripts/menus/fw_filter.sh | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index ed8c6520..a340bf76 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -180,8 +180,7 @@ ckstatus() { [ "$res" = 1 ] && unset disoverride && setconfig disoverride } - top_box "\033[30;43m$MENU_WELCOME\033[0m" \ - "Ver: $versionsh_l" \ + top_box "\033[30;43m$MENU_WELCOME\033[0m\t\t Ver: $versionsh_l" \ "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" separator_line "-" content_line "$corename$run\t $auto" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index ee96cfab..f419b9f0 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -203,7 +203,7 @@ settings() { exit 0 ;; b) - comp_box "1) 简体中文" + comp_box "1) 简体中文" \ "2) English" \ "" \ "0) $COMMON_BACK" diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index fc584a54..4da986a1 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -345,7 +345,7 @@ fw_filter_lan() { add_ip() { while true; do comp_box "手动输入时仅支持 \033[32m192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" \ - "不支持ipv6地址过滤,如有需求请使用mac地址过滤" + "不支持ipv6地址过滤,可能导致过滤失败,建议使用mac地址过滤" content_line "已添加的IP地址(段):" content_line "" if [ -s "$CRASHDIR/configs/ip_filter" ]; then From 6fc2adc9b0aedd8413a9cf781ba0c79ef46d31a1 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Mon, 2 Feb 2026 20:55:50 +0800 Subject: [PATCH 195/318] feat(set_crashdir.sh): adapt new designs for more interfaces --- scripts/menus/set_crashdir.sh | 260 +++++++++++++++++++--------------- 1 file changed, 145 insertions(+), 115 deletions(-) diff --git a/scripts/menus/set_crashdir.sh b/scripts/menus/set_crashdir.sh index f8da11ea..c5e44b5d 100644 --- a/scripts/menus/set_crashdir.sh +++ b/scripts/menus/set_crashdir.sh @@ -3,95 +3,113 @@ [ -f /tmp/SC_tmp/libs/check_dir_avail.sh ] && . /tmp/SC_tmp/libs/check_dir_avail.sh -cecho() { - printf '%b\n' "$*" -} set_usb_dir() { while true; do - cecho "请选择安装目录" - du -hL /mnt | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num + comp_box "请选择安装目录:" + du -hL /mnt | + awk '{print NR") "$2 " " $1}' | + while IFS= read -r line; do + content_line "$line" + done + separator_line "=" + read -r -p "请输入相应数字> " num dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ -z "$dir" ]; then - cecho "\033[31m输入错误!请重新设置!\033[0m" + msg_alert "\033[31m输入错误!请重新设置!\033[0m" continue fi break 1 done } + set_xiaomi_dir() { - cecho "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m" - [ -d /data ] && cecho " 1 安装到 /data 目录,剩余空间:$(dir_avail /data -h)(支持软固化功能)" - [ -d /userdisk ] && cecho " 2 安装到 /userdisk 目录,剩余空间:$(dir_avail /userdisk -h)(支持软固化功能)" - [ -d /data/other_vol ] && cecho " 3 安装到 /data/other_vol 目录,剩余空间:$(dir_avail /data/other_vol -h)(支持软固化功能)" - cecho " 4 安装到自定义目录(不推荐,不明勿用!)" - cecho " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - dir=/data - ;; - 2) - dir=/userdisk - ;; - 3) - dir=/data/other_vol - ;; - 4) - set_cust_dir - ;; - *) - exit 1 - ;; - esac + comp_box "\033[33m检测到当前设备为小米官方系统,请选择安装位置:\033[0m" + [ -d /data ] && content_line "1) /data目录,剩余空间:$(dir_avail /data -h) (支持软固化功能)" + [ -d /userdisk ] && content_line "2) /userdisk目录,剩余空间:$(dir_avail /userdisk -h) (支持软固化功能)" + [ -d /data/other_vol ] && content_line "3) /data/other_vol目录,剩余空间:$(dir_avail /data/other_vol -h) (支持软固化功能)" + content_line "4) 自定义目录(不推荐,不明勿用!)" + content_line "" + content_line "0) 退出安装" + separator_line "=" + read -r -p "请输入相应数字> " num + case "$num" in + 1) + dir=/data + ;; + 2) + dir=/userdisk + ;; + 3) + dir=/data/other_vol + ;; + 4) + set_cust_dir + ;; + *) + line_break + exit 1 + ;; + esac } + set_asus_usb() { - while true; do - echo -e "请选择U盘目录" - du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print " "NR" "$2" "$1}' - read -p "请输入相应数字 > " num - dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) - if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - echo -e "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" - sleep 1 - else - break - fi - done + while true; do + comp_box "请选择U盘目录:" + du -hL /tmp/mnt | + awk -F/ 'NF<=4 {print NR") "$2 " " $1}' | + while IFS= read -r line; do + content_line "$line" + done + separator_line "=" + read -r -p "请输入相应数字> " num + dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) + if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then + msg_alert "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" + else + break + fi + done } + set_asus_dir() { - cecho "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" - cecho " 1 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" - cecho " 2 基于自启脚本安装(仅支持部分梅林固件)" - cecho " 0 退出安装" - echo "-----------------------------------------------" - read -p "请输入相应数字 > " num - case "$num" in - 1) - echo -e "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" - sleep 2 - set_asus_usb - ;; - 2) - cecho "如开机无法正常自启,请重新使用U盘+下载大师安装!" - sleep 2 - dir=/jffs - ;; - *) - exit 1 - ;; - esac + separator_line "=" + btm_box "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" \ + "1) 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" \ + "2) 基于自启脚本安装(仅持部分梅林固件)" \ + "" \ + "0) 退出安装" + read -r -p "请输入相应数字> " num + case "$num" in + 1) + msg_alert -t 2 "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + set_asus_usb + ;; + 2) + msg_alert -t 2 "如开机无法正常自启,请重新使用U盘+下载大师安装!" + dir=/jffs + ;; + *) + line_break + exit 1 + ;; + esac } + set_cust_dir() { while true; do - echo "-----------------------------------------------" - echo '可用路径 剩余空间:' - df -h | awk '{print $6,$4}' | sed 1d - echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!' - read -p "请输入自定义路径 > " dir + comp_box "路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!" \ + "" \ + "可用路径 剩余空间:" + df -h | + awk '{print $6, $4}' | + sed '1d' | + while IFS= read -r line; do + content_line "$line" + done + separator_line "=" + read -r -p "请输入自定义路径> " dir if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -Eq '^/(tmp|opt|sys)(/|$)')" ]; then - cecho "\033[31m路径错误!请重新设置!\033[0m" + msg_alert "\033[31m路径错误!请重新设置!\033[0m" continue fi break 1 @@ -100,54 +118,66 @@ set_cust_dir() { set_crashdir() { while true; do - echo "-----------------------------------------------" - cecho "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + top_box "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" case "$systype" in - Padavan) dir=/etc/storage ;; - mi_snapshot) set_xiaomi_dir ;; - asusrouter) set_asus_dir ;; - ng_snapshot) dir=/tmp/mnt ;; - *) - cecho " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)" - cecho " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" - cecho " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" - cecho " 4 在\033[32m外置存储\033[0m中安装" - cecho " 5 手动设置安装目录" - cecho " 0 退出安装" - echo "----------------------------------------------" - read -p "请输入相应数字 > " num - # 设置目录 - case "$num" in - 1) - dir=/etc - ;; - 2) - dir=/usr/share - ;; - 3) - dir=~/.local/share - mkdir -p ~/.config/systemd/user - ;; - 4) - set_usb_dir - ;; - 5) - set_cust_dir - ;; - *) - echo "安装已取消" - exit 1 - ;; - esac - ;; - esac + Padavan) + dir=/etc/storage + ;; + mi_snapshot) + set_xiaomi_dir + ;; + asusrouter) + set_asus_dir + ;; + ng_snapshot) + dir=/tmp/mnt + ;; + *) + separator_line "=" + btm_box "1) 在\033[32m/etc目录\033[0m下安装(适合root用户)" \ + "2) 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" \ + "3) 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" \ + "4) 在\033[32m外置存储\033[0m中安装" \ + "5) 手动设置安装目录" \ + "" \ + "0) 退出安装" + read -r -p "请输入相应数字> " num + # 设置目录 + case "$num" in + 1) + dir=/etc + ;; + 2) + dir=/usr/share + ;; + 3) + dir=~/.local/share + mkdir -p ~/.config/systemd/user + ;; + 4) + set_usb_dir + ;; + 5) + set_cust_dir + ;; + *) + msg_alert "安装已取消" + line_break + exit 1 + ;; + esac + ;; + esac if [ ! -w "$dir" ]; then - cecho "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" - sleep 1 + msg_alert "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" else - cecho "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail "$dir" -h)" - read -p "确认安装?(1/0) > " res + comp_box "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail "$dir" -h)" \ + "" \ + "是否确认安装?" + btm_box "1) 是" \ + "0) 否" + read -r -p "请输入相应数字> " res if [ "$res" = "1" ]; then CRASHDIR="$dir"/ShellCrash break From b3010958aefe20457cc5c2e2e0b03dd72eee67ba Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 2 Feb 2026 21:03:43 +0800 Subject: [PATCH 196/318] ~1.9.5a8.1 pkg --- ShellCrash.tar.gz | Bin 139937 -> 139573 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index bb0b3f014ef65a67d105b531edee80d9ea83154f..3ed0b5b924dbeaade9eeed64a6ee1bc417127b2c 100644 GIT binary patch literal 139573 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�oI_)g_xeD8X`r_XY^6 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%0AF}gTRlTFhKtm(k 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�p1{)-~jhoIt)gMEOmVQzJ2fR>e{K9 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 Date: Tue, 3 Feb 2026 10:43:12 +0800 Subject: [PATCH 197/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BF=9B=E5=BA=A6?= =?UTF-8?q?=E6=9D=A1+=E5=A2=9E=E5=8A=A0=E6=96=87=E4=BB=B6=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cdn下载链接不够规范,不给content-length,导致curl原生进度条失效。 通过小巧思拿到文件大小,再手搓了一个短小精悍的进度条进行修复。 并且在下载之前增加了文件大小显示,让用户不会陷入下载焦虑~ --- scripts/libs/web_get.sh | 90 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 83 insertions(+), 7 deletions(-) diff --git a/scripts/libs/web_get.sh b/scripts/libs/web_get.sh index c05f7f4b..47af4b8c 100644 --- a/scripts/libs/web_get.sh +++ b/scripts/libs/web_get.sh @@ -2,7 +2,7 @@ webget(){ if pidof CrashCore >/dev/null; then - setproxy #设置临时代理 + setproxy #设置临时代理,【$1】代表下载目录,【$2】代表在线地址 url=$(printf '%s\n' "$2" | sed -e 's#https://.*jsdelivr.net/gh/juewuy/ShellCrash[@|/]#https://raw.githubusercontent.com/juewuy/ShellCrash/#' \ -e 's#https://gh.jwsc.eu.org/#https://raw.githubusercontent.com/juewuy/ShellCrash/#') @@ -10,10 +10,66 @@ webget(){ url=$(printf '%s\n' "$2" | sed 's#https://raw.githubusercontent.com/juewuy/ShellCrash/#https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@#') fi + + # === 新增模块 1:大小探测 (仅显示用) === + fsize_raw=0 + if [ "$3" != "echooff" ]; then + # 探测头信息 + header=$(curl -sIL --connect-timeout 2 "$url") + # 代理容错 + [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } + + # 提取大小 (优先 Content-Length,其次 ETag) + fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') + if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then + etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) + [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) + fi + # 显示文件大小 + [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 0 ] && echo "文件大小: $(awk -v n=$fsize_raw 'BEGIN {printf "%.2f", n/1048576}') MB" + fi + + # === 新增模块 2:手搓进度条引擎 (函数定义) === + execute_curl(){ + local path="$1" target_url="$2" total_size="$3" extra_args="$4" + rm -f /tmp/webget_res + # 后台静默下载,状态码写入临时文件 + curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & + local pid=$! + + # 循环监控 + while kill -0 $pid 2>/dev/null; do + if [ -f "$path" ]; then + local curr=$(wc -c < "$path") + local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') + + # 40字符安全宽度 + local bar_max=40 + local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') + local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) + local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") + + # \033[2K 清除整行 + printf "\r\033[2K%s%s %6s%%" "$bar" "$spc" "$pct" >&2 + fi + usleep 200000 2>/dev/null || sleep 1 + done + + local code=$(cat /tmp/webget_res 2>/dev/null) + if [ "$code" = "200" ] || [ "$code" = "206" ]; then + local full=$(printf "%40s" | tr ' ' '#') + printf "\r\033[2K%s 100.0%%\n" "$full" >&2 + else + printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" + fi + echo "$code" + } + # =============================================== + #参数【$1】代表下载目录,【$2】代表在线地址 #参数【$3】代表输出显示,【$4】不启用重定向 #参数【$5】代表验证证书,【$6】使用自定义UA - [ -n "$6" ] && agent="--user-agent $6" + [ -n "$6" ] && agent="--user-agent=$6" if wget --help 2>&1 | grep -q 'show-progress' >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' [ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect='' @@ -33,16 +89,36 @@ webget(){ else certificate='-k' fi + + # 判断是否启用手搓进度条 (CDN 且 非静默 且 有大小) + use_manual_bar="" # <--- 这里加上了初始化 + has_cl=$(echo "$header" | grep -iq 'Content-Length' && echo "yes") + [ "$3" != "echooff" ] && [ "$has_cl" != "yes" ] && [ "$fsize_raw" -gt 0 ] && use_manual_bar="yes" + + auth_arg="" if curl --version | grep -q '^curl 8.' && ckcmd base64; then auth_b64=$(printf '%s' "$authentication" | base64) - result=$(curl $agent -w '%{http_code}' --connect-timeout 3 --proxy-header "Proxy-Authorization: Basic $auth_b64" $progress $redirect $certificate -o "$1" "$url") - else - result=$(curl $agent -w '%{http_code}' --connect-timeout 3 $progress $redirect $certificate -o "$1" "$url") + [ -n "$auth_b64" ] && auth_arg="--proxy-header Proxy-Authorization:Basic $auth_b64" fi + + # --- 第一次下载 --- + if [ "$use_manual_bar" = "yes" ]; then + result=$(execute_curl "$1" "$url" "$fsize_raw" "$agent $auth_arg $redirect $certificate") + else + result=$(curl $agent $auth_arg -w '%{http_code}' --connect-timeout 3 $progress $redirect $certificate -o "$1" "$url") + fi + [ "$result" = "200" ] && return 0 #成功则退出否则重试 + + # --- Fallback 重试 --- export https_proxy="" export http_proxy="" - result=$(curl $agent -w '%{http_code}' --connect-timeout 5 $progress $redirect $certificate -o "$1" "$2") + + if [ "$use_manual_bar" = "yes" ]; then + result=$(execute_curl "$1" "$2" "$fsize_raw" "$agent $redirect $certificate") + else + result=$(curl $agent -w '%{http_code}' --connect-timeout 5 $progress $redirect $certificate -o "$1" "$2") + fi [ "$result" = "200" ] return $? elif ckcmd wget;then @@ -54,4 +130,4 @@ webget(){ echo "No Curl or Wget!!!" return 1 fi -} \ No newline at end of file +} From 228badb65fb4efacbac7db4827699f006858ca6d Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 3 Feb 2026 15:37:15 +0800 Subject: [PATCH 198/318] chore(7_gateway.sh): invoke the common.sh componen --- scripts/menus/7_gateway.sh | 306 ++++++++++++------------------------- 1 file changed, 95 insertions(+), 211 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 1f01d0a2..664514f1 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -11,10 +11,7 @@ __IS_MODULE_7_GATEWAY_LOADED=1 # 访问与控制主菜单 gateway() { while true; do - line_break - separator_line "=" - content_line "\033[30;47m访问与控制\033[0m" - separator_line "=" + comp_box "\033[30;47m访问与控制菜单\033[0m" content_line "1) 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" content_line "2) 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" content_line "3) 配置\033[36mDDNS自动域名\033[0m" @@ -24,6 +21,7 @@ gateway() { content_line "6) 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" content_line "7) 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" } + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -32,15 +30,11 @@ gateway() { break ;; 1) - line_break - separator_line "=" if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - content_line "\033[33m公网访问防火墙需要先停止服务\033[0m" - content_line "是否确认继续:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "\033[33m公网访问防火墙需要先停止服务\033[0m" \ + "是否确认继续?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then "$CRASHDIR"/start.sh stop && set_fw_wan @@ -67,27 +61,18 @@ gateway() { if echo "$crashcore" | grep -q 'sing'; then set_tailscale else - line_break - separator_line "=" - content_line "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" fi ;; 7) if echo "$crashcore" | grep -q 'sing'; then set_wireguard else - line_break - separator_line "=" - content_line "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" fi ;; *) errornum - sleep 1 ;; esac done @@ -106,12 +91,12 @@ set_fw_wan() { content_line "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" content_line "默认拦截端口:\033[33m$mix_port,$db_port\033[0m" separator_line "=" - content_line "1) 启用/关闭公网防火墙:\033[36m$fw_wan\033[0m" - content_line "2) 添加放行端口(可包含默认拦截端口)" - content_line "3) 移除指定手动放行端口" - content_line "4) 清空全部手动放行端口" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) 启用/关闭公网防火墙:\033[36m$fw_wan\033[0m" \ + "2) 添加放行端口(可包含默认拦截端口)" \ + "3) 移除指定手动放行端口" \ + "4) 清空全部手动放行端口" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case $num in "" | 0) @@ -119,14 +104,10 @@ set_fw_wan() { ;; 1) if [ "$fw_wan" = ON ]; then - line_break - separator_line "=" - content_line "是否确认关闭防火墙?" - content_line "这会带来极大的安全隐患!" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "是否确认关闭防火墙?" \ + "这会带来极大的安全隐患!" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then fw_wan=OFF @@ -139,77 +120,55 @@ set_fw_wan() { setconfig fw_wan "$fw_wan" ;; 2) - line_break port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') if [ "$port_count" -ge 10 ]; then - separator_line "=" - content_line "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" - separator_line "=" + msg_alert "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" else + line_break read -r -p "请输入要放行的端口号> " port if echo ",$fw_wan_ports," | grep -q ",$port,"; then - line_break - separator_line "=" - content_line "\033[31m输入错误!请勿重复添加!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - line_break - separator_line "=" - content_line "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" else fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") - setconfig fw_wan_ports "$fw_wan_ports" + if setconfig fw_wan_ports "$fw_wan_ports"; then + common_success + else + common_faileds + fi fi fi - sleep 1 ;; 3) while true; do - line_break - separator_line "=" - content_line "请直接输入要移除的端口号" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "\033[36m请直接输入要移除的端口号\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " port if [ "$port" = 0 ]; then break elif echo ",$fw_wan_ports," | grep -q ",$port,"; then if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - line_break - separator_line "=" - content_line "\033[31m输入错误!\033[0m" - content_line "\033[31m请输入正确的数值(1-65535)!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m输入错误!\033[0m" \ + "\033[31m请输入正确的数值(1-65535)!\033[0m" else fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") setconfig fw_wan_ports "$fw_wan_ports" break fi else - line_break - separator_line "=" - content_line "\033[31m输入错误!\033[0m" - content_line "\033[31m请输入已添加过的端口!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m输入错误!\033[0m" \ + "\033[31m请输入已添加过的端口!\033[0m" fi done ;; 4) fw_wan_ports='' setconfig fw_wan_ports - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[32m操作成功\033[0m" ;; *) errornum - sleep 1 ;; esac done @@ -236,10 +195,7 @@ EOF web_json_post "$bot_api/setMyCommands" "$JSON" web_json_post "$bot_api/sendMessage" '{"chat_id":"'"$chat_ID"'","text":"'"$TEXT"'","parse_mode":"Markdown"}' - line_break - separator_line "=" - content_line "\033[32m$TEXT\033[0m" - separator_line "=" + comp_box "\033[32m$TEXT\033[0m" } set_bot_tg_init() { @@ -267,14 +223,11 @@ set_bot_tg() { while true; do [ -n "$ts_auth_key" ] && ts_auth_key_info='已设置' [ -n "$TG_CHATID" ] && TG_CHATID_info='已绑定' - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" - separator_line "=" - content_line "1) 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" - content_line "2) TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" + btm_box "1) 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" \ + "2) TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -285,23 +238,15 @@ set_bot_tg() { if [ -n "$TG_CHATID" ]; then set_bot_tg_service else - line_break - separator_line "=" - content_line "\033[31m请先绑定TG-BOT!\033[0m" - separator_line "=" + msg_alert "\033[31m请先绑定TG-BOT!\033[0m" fi - sleep 1 ;; 2) if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - line_break - separator_line "=" - content_line "检测到已经绑定了TG推送BOT" - content_line "是否直接使用:" - separator_line "=" - content_line "1) 是" - content_line "0) 否" - separator_line "=" + comp_box "检测到已经绑定了TG推送BOT" \ + "是否直接使用?" + btm_box "1) 是" \ + "0) 否" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then TOKEN="$push_TG" @@ -313,7 +258,6 @@ set_bot_tg() { ;; *) errornum - sleep 1 ;; esac done @@ -322,13 +266,10 @@ set_bot_tg() { # 自定义入站 set_vmess() { while true; do - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m" - content_line "设置的端口会添加到公网访问防火墙并自动放行!" - content_line "脚本只提供基础功能,更多需求请用自定义配置文件功能!" - content_line "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - separator_line "=" + comp_box "\033[31m注意:\033[0m" \ + "设置的端口会添加到公网访问防火墙并自动放行!" \ + "脚本只提供基础功能,更多需求请用自定义配置文件功能!" \ + "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" content_line "1) \033[32m启用/关闭\033[0mVmess入站 \033[32m$vms_service\033[0m" content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$vms_port\033[0m" content_line "3) 设置\033[33mWS-path(可选)\033[0m: \033[33m$vms_ws_path\033[0m" @@ -337,6 +278,7 @@ set_vmess() { gen_base64 1 >/dev/null 2>&1 && content_line "6) 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" content_line "7) 一键生成\033[32m分享链接\033[0m" + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -353,11 +295,7 @@ set_vmess() { vms_service=ON setconfig vms_service "$vms_service" else - line_break - separator_line "=" - content_line "\033[31m请先完成必选设置!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m请先完成必选设置!\033[0m" fi fi ;; @@ -384,11 +322,7 @@ set_vmess() { vms_ws_path="$text" setconfig vms_ws_path "$text" "$GT_CFG_PATH" else - line_break - separator_line "=" - content_line "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" fi ;; 4) @@ -401,11 +335,7 @@ set_vmess() { vms_uuid="$text" setconfig vms_uuid "$text" "$GT_CFG_PATH" else - line_break - separator_line "=" - content_line "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" fi ;; 5) @@ -448,17 +378,13 @@ EOF vms_link="vmess://$(gen_base64 "$vms_json")" line_break echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$vms_link\033[0m" + sleep 1 else - line_break - separator_line "=" - content_line "\033[31m请先完成必选设置!\033[0m" - separator_line "=" + msg_alert "\033[31m请先完成必选设置!\033[0m" fi - sleep 1 ;; *) errornum - sleep 1 ;; esac done @@ -466,19 +392,17 @@ EOF set_shadowsocks() { while true; do - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m" - content_line "设置的端口会添加到公网访问防火墙并自动放行!" - content_line "脚本只提供基础功能,更多需求请用自定义配置文件功能!" - content_line "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - separator_line "=" + comp_box "\033[31m注意:\033[0m" \ + "设置的端口会添加到公网访问防火墙并自动放行!" \ + "脚本只提供基础功能,更多需求请用自定义配置文件功能!" \ + "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" content_line "1) \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" content_line "3) 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" content_line "4) 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" gen_base64 1 >/dev/null 2>&1 && content_line "5) 一键生成分享链接" + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -495,11 +419,7 @@ set_shadowsocks() { sss_service=ON setconfig sss_service "$sss_service" else - line_break - separator_line "=" - content_line "\033[31m请先完成必选设置!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m请先完成必选设置!\033[0m" fi fi ;; @@ -517,10 +437,7 @@ set_shadowsocks() { fi ;; 3) - line_break - separator_line "=" - content_line "请选择要使用的加密协议:" - separator_line "=" + comp_box "请选择要使用的加密协议:" content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" content_line "3) \033[32maes-128-gcm\033[0m" @@ -569,20 +486,16 @@ set_shadowsocks() { ;; *) errornum - sleep 1 ;; esac setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" ;; 4) - line_break if echo "$sss_cipher" | grep -q '2022-blake3'; then - separator_line "=" - content_line "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" - separator_line "=" - sleep 1 + msg_alert "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" else + line_break read -r -p "请输入秘钥(输入0删除)> " text [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" setconfig sss_pwd "$text" "$GT_CFG_PATH" @@ -595,17 +508,13 @@ set_shadowsocks() { ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" line_break echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" + sleep 1 else - line_break - separator_line "=" - content_line "\033[31m请先完成必选设置!\033[0m" - separator_line "=" + msg_alert "\033[31m请先完成必选设置!\033[0m" fi - sleep 1 ;; *) errornum - sleep 1 ;; esac done @@ -615,20 +524,17 @@ set_shadowsocks() { set_tailscale() { while true; do [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" - content_line "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" - content_line "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" - content_line "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" - separator_line "=" - content_line "1) \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" - content_line "2) 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" - content_line "3) 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" - content_line "4) 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" - content_line "5) 设置\033[36m设备名称\033[0m(可选) $ts_hostname" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" \ + "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" \ + "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" \ + "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" + btm_box "1) \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" \ + "2) 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" \ + "3) 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" \ + "4) 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" \ + "5) 设置\033[36m设备名称\033[0m(可选) $ts_hostname" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -639,11 +545,7 @@ set_tailscale() { [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON setconfig ts_service "$ts_service" else - line_break - separator_line "=" - content_line "\033[31m请先设置秘钥!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m请先设置秘钥!\033[0m" fi ;; 2) @@ -661,20 +563,13 @@ set_tailscale() { ts_exit_node=false else ts_exit_node=true - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" - separator_line "=" - sleep 3 + msg_alert -t 3 "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" fi setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" ;; 5) - line_break - separator_line "=" - content_line "请直接输入希望在Tailscale显示的设备名称" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "\033[36m请直接输入希望在Tailscale显示的设备名称\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " ts_hostname if [ "$ts_hostname" != 0 ]; then setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" @@ -682,7 +577,6 @@ set_tailscale() { ;; *) errornum - sleep 1 ;; esac done @@ -708,24 +602,19 @@ set_wireguard() { else unset wgpsk_key_info fi - - line_break - separator_line "=" - content_line "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" - separator_line "=" - content_line "1) \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" - content_line "" - content_line "2) 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" - content_line "3) 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" - content_line "4) 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" - content_line "5) 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" - content_line "" - content_line "6) 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" - content_line "7) 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" - content_line "8) 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" + btm_box "1) \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" \ + "" \ + "2) 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" \ + "3) 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" \ + "4) 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" \ + "5) 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" \ + "" \ + "6) 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" \ + "7) 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" \ + "8) 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -736,11 +625,7 @@ set_wireguard() { [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON setconfig wg_service "$wg_service" else - line_break - separator_line "=" - content_line "\033[31m请先完成必选设置!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m请先完成必选设置!\033[0m" fi ;; [1-8]) @@ -780,7 +665,6 @@ set_wireguard() { ;; *) errornum - sleep 1 ;; esac done From 70aa90f584e17c2081dddff728faac36937709fe Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 3 Feb 2026 17:21:25 +0800 Subject: [PATCH 199/318] chore: invoke the common.sh componen --- scripts/menus/4_setboot.sh | 139 ++++++------------- scripts/menus/5_task.sh | 274 ++++++++++++------------------------- scripts/menus/dns.sh | 258 +++++++++++----------------------- 3 files changed, 214 insertions(+), 457 deletions(-) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index c02ba5ce..dc554f86 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -37,16 +37,14 @@ setboot() { check_autostart && auto_set="ON" || auto_set="OFF" [ "${BINDIR}" = "$CRASHDIR" ] && mini_clash=OFF || mini_clash=ON [ -z "$network_check" ] && network_check=ON - line_break - separator_line "=" - content_line "\033[30;47m启动设置菜单\033[0m" - separator_line "=" + comp_box "\033[30;47m启动设置菜单\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 "3) 设置自启延时: \033[36m$(printf '%-7s' "$delay")\033[0m ———用于解决自启后服务受限" content_line "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\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 "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -55,103 +53,80 @@ setboot() { break ;; 1) - line_break - separator_line "=" + if check_autostart; then # 禁止自启动:删除各系统的启动项 disable_autostart - content_line "\033[33m已禁止ShellCrash开机自启动!\033[0m" + msg_alert "\033[33m已禁止ShellCrash开机自启动!\033[0m" else # 允许自启动:配置各系统的启动项 allow_autostart - content_line "\033[32m已设置ShellCrash开机自启动!\033[0m" + msg_alert "\033[32m已设置ShellCrash开机自启动!\033[0m" fi - separator_line "=" ;; 2) - line_break - separator_line "=" if [ "$start_old" = "OFF" ] >/dev/null 2>&1; then disable_autostart start_old=ON setconfig start_old "$start_old" "$CRASHDIR"/start.sh stop - content_line "\033[33m改为使用保守模式启动服务!\033[0m" + msg_alert "\033[33m改为使用保守模式启动服务!\033[0m" else if grep -qE 'procd|systemd|s6' /proc/1/comm || rc-status -r >/dev/null 2>&1; then "$CRASHDIR"/start.sh cronset "ShellCrash初始化" start_old=OFF setconfig start_old "$start_old" "$CRASHDIR"/start.sh stop - content_line "\033[32m改为使用系统守护进程启动服务!\033[0m" + msg_alert "\033[32m改为使用系统守护进程启动服务!\033[0m" else - content_line "\033[31m当前设备不支持以其他模式启动!\033[0m" + msg_alert "\033[31m当前设备不支持以其他模式启动!\033[0m" fi fi - separator_line "=" - sleep 1 ;; 3) - line_break - separator_line "=" - content_line "\033[33m如果你的设备启动后可以正常使用,则无需设置!\033[0m" - content_line "\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m" - separator_line "=" + comp_box "\033[33m如果你的设备启动后可以正常使用,则无需设置!\033[0m" \ + "\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m" read -r -p "请输入启动延迟时间(0~300秒)> " sec - - line_break - separator_line "=" case "$sec" in [0-9] | [0-9][0-9] | [0-2][0-9][0-9] | 300) 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 - separator_line "=" - sleep 1 ;; 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}') - line_break - separator_line "=" if [ "$mini_clash" = "OFF" ]; 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 - content_line "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m" + msg_alert "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m" else [ "$BINDIR" = "$CRASHDIR" ] && BINDIR="$TMPDIR" - content_line "\033[32m已经启用小闪存功能!\033[0m" - content_line "如需更换目录,请使用【设置小闪存目录】功能\033[0m" + msg_alert "\033[32m已经启用小闪存功能!\033[0m" \ + "如需更换目录,请使用【设置小闪存目录】功能\033[0m" fi - separator_line "=" else if [ "$dir_size" -lt 8192 ]; then - content_line "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" - content_line "是否确认停用此功能:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" \ + "是否确认停用此功能?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then BINDIR="$CRASHDIR" - line_break - separator_line "=" - content_line "\033[33m已经停用小闪存功能!\033[0m" - separator_line "=" + msg_alert "\033[33m已经停用小闪存功能!\033[0m" else continue fi else rm -rf /tmp/ShellCrash BINDIR="$CRASHDIR" - content_line "\033[33m已经停用小闪存功能!\033[0m" - separator_line "=" + msg_alert "\033[33m已经停用小闪存功能!\033[0m" fi fi setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env @@ -159,16 +134,13 @@ setboot() { ;; 5) while true; do - line_break - separator_line "=" - content_line "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" - content_line "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m" - separator_line "=" - content_line "1) 使用内存(/tmp)" - content_line "2) 选择U盘目录" - content_line "3) 自定义目录" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" \ + "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m" + btm_box "1) 使用内存(/tmp)" \ + "2) 选择U盘目录" \ + "3) 自定义目录" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -180,16 +152,13 @@ setboot() { 2) set_usb_dir() { while true; do - line_break - separator_line "=" - content_line "请选择安装目录:" - separator_line "=" + comp_box "请选择安装目录:" du -hL /mnt | awk '{print NR") "$2" (已占用的储存空间:"$1")"}' | while IFS= read -r line; do content_line "$line" done - + content_line "" content_line "0) 返回上级菜单" separator_line "=" read -r -p "请输入对应标号> " num @@ -197,10 +166,7 @@ setboot() { if [ "$num" = 0 ]; then return 1 elif [ -z "$BINDIR" ]; then - line_break - separator_line "=" - content_line "\033[31m输入错误!请重新设置!\033[0m" - separator_line "=" + msg_alert "\033[31m输入错误!请重新设置!\033[0m" else return 0 fi @@ -214,20 +180,13 @@ setboot() { 3) input_dir() { while true; do - line_break - separator_line "=" - content_line "请直接输入命令语句" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "\033[36m请直接输入命令语句\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " BINDIR if [ "$BINDIR" = 0 ]; then return 1 elif [ ! -d "$BINDIR" ]; then - line_break - separator_line "=" - content_line "\033[31m输入错误!请重新设置!\033[0m" - separator_line "=" - continue + msg_alert "\033[31m输入错误!请重新设置!\033[0m" fi return 0 done @@ -239,7 +198,6 @@ setboot() { ;; *) errornum - sleep 1 continue ;; esac @@ -248,19 +206,15 @@ setboot() { done ;; 6) - line_break - separator_line "=" - content_line "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m" - content_line "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" - content_line "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m" - separator_line "=" + comp_box "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m" \ + "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" \ + "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m" if [ "$network_check" = "OFF" ]; then - content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用:" + content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用?" else - content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用:" + content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用?" fi - separator_line "-" content_line "1) 是" content_line "0) 否,返回上级菜单" @@ -272,18 +226,15 @@ setboot() { else network_check=OFF fi - setconfig network_check "$network_check" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + if setconfig network_check "$network_check"; then + common_success + else + common_failed + fi fi ;; *) errornum - sleep 1 ;; esac done diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index 68850718..d40aab4a 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -15,24 +15,16 @@ set_cron() { [ -z "$week" ] && week=* [ -z "$hour" ] && hour=* [ -z "$min" ] && min=0 - line_break - separator_line "=" - content_line "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" - content_line "" - content_line "是否确认添加定时任务:" - separator_line "=" - content_line "1) 是" - content_line "0) 否" - separator_line "=" + comp_box "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" \ + "" \ + "是否确认添加定时任务?" + btm_box "1) 是" \ + "0) 否" read -r -p "请输入对应标号> " res if [ "$res" = '1' ]; then task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name" cronset "$cron_time$task_name" "$task_txt" - - line_break - separator_line "=" - content_line "任务【$cron_time$task_name】\033[32m已添加!\033[0m" - separator_line "=" + msg_alert -t 0 "任务【$cron_time$task_name】\033[32m已添加!\033[0m" fi unset week hour min sleep 1 @@ -59,24 +51,17 @@ set_service() { # 自定义命令添加 task_user_add() { while true; do - line_break - separator_line "=" - content_line "\033[33m命令可包含空格,请确保命令可执行!\033[0m" - content_line "\033[36m请勿附带执行条件,执行条件请在命令添加完成后再返回设置!\033[0m" - content_line "亦可手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m以添加命令" - separator_line "-" - content_line "请直接输入命令语句" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "\033[33m命令可包含空格,请确保命令可执行!\033[0m" \ + "\033[36m请勿附带执行条件,执行条件请在命令添加完成后再返回设置!\033[0m" \ + "亦可手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m以添加命令" + btm_box "\033[36m请直接输入命令语句\033[0m" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " script if [ "$script" = 0 ]; then break elif [ -n "$script" ]; then task_command=$script - line_break - separator_line "=" - content_line "请检查输入:\033[32m$task_command\033[0m" - separator_line "=" + comp_box "请检查输入:\033[32m$task_command\033[0m" # 获取本任务ID 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 @@ -84,19 +69,10 @@ task_user_add() { read -r -p "请输入任务备注> " txt [ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user - - line_break - separator_line "=" - content_line "\033[32m自定义任务已添加!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[32m自定义任务已添加!\033[0m" break else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi done } @@ -104,19 +80,14 @@ task_user_add() { # 自定义命令删除 task_user_del() { while true; do - line_break - separator_line "=" if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then - content_line "请输入对应ID移除对应自定义任务(不会影响内置任务)" - content_line "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" - separator_line "=" - + comp_box "请输入对应ID移除对应自定义任务(不会影响内置任务)" \ + "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null | awk -F '#' '{print $1") "$3}' | while IFS= read -r line; do content_line "$line" done - content_line "" content_line "0) 返回上级菜单" separator_line "=" @@ -125,23 +96,12 @@ task_user_del() { break elif [ -n "$num" ]; then sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success else - line_break - separator_line "=" - content_line "\033[31m输入错误,请重新输入!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m输入错误,请重新输入!\033[0m" fi else - content_line "\033[33m你暂未添加任何自定义任务\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m你暂未添加任何自定义任务\033[0m" break fi done @@ -150,10 +110,7 @@ task_user_del() { # 任务添加 task_add() { while true; do - line_break - separator_line "=" - content_line "\033[36m请选择需要添加的任务:\033[0m" - separator_line "=" + comp_box "\033[36m请选择需要添加的任务:\033[0m" # 输出任务列表 list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') list_box "$list" @@ -173,12 +130,10 @@ task_add() { break else errornum - sleep 1 fi ;; *) errornum - sleep 1 ;; esac done @@ -198,51 +153,43 @@ task_del() { # 任务条件选择菜单 task_type() { - line_break - separator_line "=" - content_line "请选择任务\033[36m【$task_name】\033[0m执行条件:" - separator_line "=" - content_line "1) 定时任务\033[32m每周执行\033[0m" - content_line "2) 定时任务\033[32m每日执行\033[0m" - content_line "3) 定时任务\033[32m每小时执行\033[0m" - content_line "4) 定时任务\033[32m每分钟执行\033[0m" - content_line " - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -" - content_line " 逻辑水平不及格的请勿使用下方触发条件!" - content_line " - - - - - - - - - - - - - - - - - - - -" - content_line "5) 服务\033[33m启动前执行\033[0m" - content_line "6) 服务\033[33m启动后执行\033[0m" - content_line "7) 服务\033[33m运行时每分钟执行\033[0m" - content_line "8) 防火墙服务\033[33m重启后执行\033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "请选择任务\033[36m【$task_name】\033[0m执行条件:" + btm_box "1) 定时任务\033[32m每周执行\033[0m" \ + "2) 定时任务\033[32m每日执行\033[0m" \ + "3) 定时任务\033[32m每小时执行\033[0m" \ + "4) 定时任务\033[32m每分钟执行\033[0m" \ + " - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -" \ + " 逻辑水平不及格的请勿使用下方触发条件!" \ + " - - - - - - - - - - - - - - - - - - - -" \ + "5) 服务\033[33m启动前执行\033[0m" \ + "6) 服务\033[33m启动后执行\033[0m" \ + "7) 服务\033[33m运行时每分钟执行\033[0m" \ + "8) 防火墙服务\033[33m重启后执行\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in 0) return 1 ;; 1) - line_break - separator_line "=" - content_line "输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" - content_line "输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" - content_line "输入 1~5 代表\033[36m周一至周五\033[0m运行" - separator_line "=" + + comp_box "输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" \ + "输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" \ + "输入 1~5 代表\033[36m周一至周五\033[0m运行" read -r -p "在每周哪天执行?> " week # week=`echo ${week/7/0}` # 把7换成0 + echo read -r -p "想在该日的具体哪个小时执行?(0~23)> " hour cron_time="在每周$week的$hour点整" # cron_time=`echo ${cron_time/周0/周日}` # 把0换成日 [ -n "$week" ] && [ -n "$hour" ] && set_cron ;; 2) - line_break - separator_line "=" - content_line "输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" - content_line "输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行" - separator_line "=" + comp_box "输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" \ + "输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行" read -r -p "想在每日的具体哪个小时执行?(0~23)> " hour - + echo read -r -p "想在具体哪分钟执行?(0~59的整数)> " min cron_time="在每日的$hour点$min分" [ -n "$min" ] && [ -n "$hour" ] && set_cron @@ -268,11 +215,8 @@ task_type() { set_service afstart "$task_id" "服务启动后$task_name" ;; 7) - line_break - separator_line "=" - content_line "输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" - content_line "大于60分钟的数值将按小时取整,且按当前时区记时" - separator_line "=" + comp_box "输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" \ + "大于60分钟的数值将按小时取整,且按当前时区记时" read -r -p "想每隔多少分钟执行一次?(1~1440的整数)> " num if [ "$num" -lt 60 ]; then min="$num" @@ -286,20 +230,15 @@ task_type() { [ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time" ;; 8) - line_break - separator_line "=" - content_line "该功能会将相关启动代码注入到/etc/init.d/firewall中" - content_line "是否确认继续:" - separator_line "=" - content_line "1) 是" - content_line "0) 否" - separator_line "=" + comp_box "该功能会将相关启动代码注入到/etc/init.d/firewall中" + "是否确认继续?" + btm_box "1) 是" \ + "0) 否" read -r -p "请输入对应标号> " res [ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name" ;; *) errornum - return 1 ;; esac } @@ -307,8 +246,6 @@ task_type() { # 任务管理列表 task_manager() { while true; do - line_break - separator_line "=" # 抽取并生成临时列表 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 @@ -318,19 +255,16 @@ task_manager() { rm -rf "$TMPDIR"/task_cronlist # 判断为空则返回 if [ ! -s "$TMPDIR"/task_list ]; then - content_line "\033[31m当前没有可供管理的任务!\033[36m" - separator_line "=" - sleep 1 + msg_alert "\033[31m当前没有可供管理的任务!\033[36m" break else - content_line "\033[33m已添加的任务:\033[0m" - separator_line "=" + comp_box "\033[33m已添加的任务:\033[0m" list_box "$(cat "$TMPDIR"/task_list)" separator_line "-" - content_line "a) 清空旧版任务" - content_line "d) 清空任务列表" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "a) 清空旧版任务" \ + "d) 清空任务列表" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -338,31 +272,20 @@ task_manager() { ;; a) task_del "#" - line_break - separator_line "=" - content_line "\033[31m旧版任务已清空!\033[36m" - separator_line "=" - sleep 1 + msg_alert "\033[31m旧版任务已清空!\033[36m" ;; d) task_del "task.sh" - line_break - separator_line "=" - content_line "\033[31m全部任务已清空!\033[36m" - separator_line "=" - sleep 1 + msg_alert "\033[31m全部任务已清空!\033[36m" ;; [1-9] | [1-9][0-9]) task_txt=$(sed -n "$num p" "$TMPDIR"/task_list) task_id=$(echo "$task_txt" | awk '{print $1}') - line_break - separator_line "=" + if [ "$task_id" = 0 ]; then - content_line "旧版任务不支持管理,是否移除:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + comp_box "旧版任务不支持管理,是否移除?" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') @@ -374,15 +297,13 @@ task_manager() { else 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}') - - content_line "当前任务为:\033[36m$task_des\033[0m" - separator_line "=" - content_line "1) \033[33m修改\033[0m当前任务" - content_line "2) \033[31m删除\033[0m当前任务" - content_line "3) \033[32m立即执行\033[0m一次" - content_line "4) 查看\033[33m执行记录\033[0m" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "当前任务为:\033[36m$task_des\033[0m" + btm_box "1) \033[33m修改\033[0m当前任务" \ + "2) \033[31m删除\033[0m当前任务" \ + "3) \033[32m立即执行\033[0m一次" \ + "4) 查看\033[33m执行记录\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -393,41 +314,31 @@ task_manager() { ;; 2) task_del "$task_des" - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" + common_success ;; 3) 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='执行失败!' - line_break - separator_line "=" - content_line "\033[33m任务【$task_des】$task_res\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[33m任务【$task_des】$task_res\033[0m" ;; 4) - line_break if cat "$TMPDIR"/ShellCrash.log | grep -q "$task_name"; then + line_break + echo "===========================================================" cat "$TMPDIR"/ShellCrash.log | grep "$task_name" + echo "===========================================================" else - separator_line "=" - content_line "\033[31m未找到相关执行记录!\033[0m" - separator_line "=" + msg_alert "\033[31m未找到相关执行记录!\033[0m" fi - sleep 1 ;; *) errornum - sleep 1 ;; esac fi ;; *) errornum - sleep 1 ;; esac fi @@ -441,7 +352,6 @@ task_recom() { "$TASK_RECOM_ITEM_1" \ "$TASK_RECOM_ITEM_2" \ "$TASK_RECOM_ITEM_3" - btm_box "1) 是" \ "0) 否" read -r -p "$COMMON_INPUT>" res @@ -462,19 +372,16 @@ task_menu() { while true; do # 检测并创建自定义任务文件 [ -f "$CRASHDIR"/task/task.user ] || echo '#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)' >"$CRASHDIR"/task/task.user - line_break - separator_line "=" - content_line "\033[30;47m自动任务菜单\033[0m" - separator_line "=" - content_line "1) 添加\033[32m自动任务\033[0m" - content_line "2) 管理\033[33m任务列表\033[0m" - content_line "3) 查看\033[36m任务日志\033[0m" - content_line "4) 配置\033[36m日志推送\033[0m" - content_line "5) 添加\033[33m自定义任务\033[0m" - content_line "6) 删除\033[33m自定义任务\033[0m" - content_line "7) 使用\033[32m推荐设置\033[0m" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "\033[30;47m自动任务菜单\033[0m" + btm_box "1) 添加\033[32m自动任务\033[0m" \ + "2) 管理\033[33m任务列表\033[0m" \ + "3) 查看\033[36m任务日志\033[0m" \ + "4) 配置\033[36m日志推送\033[0m" \ + "5) 添加\033[33m自定义任务\033[0m" \ + "6) 删除\033[33m自定义任务\033[0m" \ + "7) 使用\033[32m推荐设置\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -488,21 +395,17 @@ task_menu() { rm -rf "$TMPDIR"/task_list ;; 3) - line_break if cat "$TMPDIR"/ShellCrash.log | grep -q '任务【'; then + line_break + echo "===========================================================" cat "$TMPDIR"/ShellCrash.log | grep '任务【' + echo "===========================================================" else - separator_line "=" - content_line "\033[31m未找到任务相关执行日志!\033[0m" - separator_line "=" - sleep 1 + msg_alert "\033[31m未找到任务相关执行日志!\033[0m" fi ;; 4) - line_break - separator_line "=" - content_line "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m" - separator_line "=" + msg_alert "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m" . "$CRASHDIR"/menus/8_tools.sh && log_pusher ;; 5) @@ -516,7 +419,6 @@ task_menu() { ;; *) errornum - sleep 1 ;; esac done diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 2293c310..82206006 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -12,11 +12,8 @@ set_dns_mod() { [ -z "$hosts_opt" ] && hosts_opt=ON [ -z "$dns_protect" ] && dns_protect=ON [ -z "$ecs_subnet" ] && ecs_subnet=OFF - line_break - separator_line "=" - content_line "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m" - content_line "\033[33m$DNS_RESTART_NOTICE\033[0m" - separator_line "=" + comp_box "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m" \ + "\033[33m$DNS_RESTART_NOTICE\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 "3) 设为Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" @@ -37,40 +34,32 @@ set_dns_mod() { break ;; 1 | 2) - line_break - separator_line "=" if echo "$crashcore" | grep -q 'singbox' || [ "$crashcore" = meta ]; then [ "$num" = 1 ] && dns_mod=mix || dns_mod=route 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 - econtent_line "\033[31m$DNS_CORE_UNSUPPORTED\033[0m" + msg_alert "\033[31m$DNS_CORE_UNSUPPORTED\033[0m" fi - separator_line "=" - sleep 1 ;; 3) dns_mod=redir_host setconfig dns_mod "$dns_mod" - line_break - separator_line "=" - content_line "\033[36m$DNS_SET_OK:$dns_mod\033[0m" - separator_line "=" + msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m" ;; 4) while true; do line_break separator_line "=" if [ "$dns_protect" = ON ]; then - content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用:" + content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用?" else - content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用:" + content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用?" fi separator_line "=" - content_line "1) 是" - content_line "2) 重置为默认值" - content_line "0) 否,返回上级菜单" - separator_line "=" + btm_box "1) 是" \ + "2) 重置为默认值" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " num case "$num" in 0) @@ -88,17 +77,11 @@ set_dns_mod() { ;; *) errornum - sleep 1 continue ;; esac setconfig dns_protect "$dns_protect" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success done ;; 5) @@ -111,10 +94,9 @@ set_dns_mod() { content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" fi separator_line "=" - content_line "1) 是" - content_line "2) 重置为默认值" - content_line "0) 否,返回上级菜单" - separator_line "=" + btm_box "1) 是" \ + "2) 重置为默认值" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " num case "$num" in 0) @@ -132,17 +114,11 @@ set_dns_mod() { ;; *) errornum - sleep 1 continue ;; esac setconfig dns_protect "$hosts_opt" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success done ;; 6) @@ -156,10 +132,9 @@ set_dns_mod() { content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" fi separator_line "=" - content_line "1) 是" - content_line "2) 重置为默认值" - content_line "0) 否,返回上级菜单" - separator_line "=" + btm_box "1) 是" \ + "2) 重置为默认值" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " num case "$num" in 0) @@ -177,30 +152,21 @@ set_dns_mod() { ;; *) errornum - sleep 1 continue ;; esac setconfig dns_protect "$ecs_subnet" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success done ;; 7) while true; do - line_break - separator_line "=" - content_line "\033[31m$DNS_REDIR_WARN\033[0m" - content_line "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" - content_line "" - content_line "请直接输入旁路由IPV4地址" - content_line "或输入 r 重置DNS劫持端口" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "\033[31m$DNS_REDIR_WARN\033[0m" \ + "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" \ + "" \ + "请直接输入旁路由IPV4地址" \ + "或输入 r 重置DNS劫持端口" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " num case "$num" in 0) @@ -209,33 +175,21 @@ set_dns_mod() { r) dns_redir_port="$dns_port" setconfig dns_redir_port - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success break ;; *) if [ "$num" -ge 1 ] && [ "$num" -lt 65535 ]; then - line_break - separator_line "=" if ckcmd netstat && netstat -ntul | grep -q ":$num "; then dns_redir_port="$num" setconfig dns_redir_port "$dns_redir_port" - content_line "\033[32m操作成功\033[0m" - separator_line "=" - sleep 1 + common_success break else - content_line "\033[33m$DNS_REDIR_NO_SERVICE\033[0m" - separator_line "=" - sleep 1 + msg_alert fi else errornum - sleep 1 fi ;; esac @@ -249,7 +203,6 @@ set_dns_mod() { ;; *) errornum - sleep 1 ;; esac done @@ -257,13 +210,9 @@ set_dns_mod() { fake_ip_filter() { while true; do - line_break - separator_line "=" - content_line "\033[32m$DNS_FAKEIP_DESC\033[0m" - content_line "\033[31m$DNS_FAKEIP_TIP\033[0m" - content_line "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" - - separator_line "=" + comp_box "\033[32m$DNS_FAKEIP_DESC\033[0m" \ + "\033[31m$DNS_FAKEIP_TIP\033[0m" \ + "\033[36m$DNS_FAKEIP_EXAMPLE\033[0m" if [ -s "$CRASHDIR/configs/fake_ip_filter" ]; then content_line "\033[33m$DNS_FAKEIP_EXIST\033[0m" content_line "" @@ -283,35 +232,27 @@ fake_ip_filter() { break ;; *) - line_break - separator_line "=" if [ "$input" -ge 1 ] 2>/dev/null; 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 - content_line "\033[31m移除失败\033[0m" + msg_alert "\033[31m移除失败\033[0m" fi else - content_line "请确认需要添加的地址:\033[32m$input\033[0m" - separator_line "=" - content_line "1) 确认无误" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "请确认需要添加的地址:\033[32m$input\033[0m" + btm_box "1) 确认无误" \ + "0) 返回上级菜单" read -r -p "$COMMON_INPUT>" res if [ "$res" = 1 ]; then - line_break - separator_line "=" if echo "$input" >>"$CRASHDIR/configs/fake_ip_filter"; then - content_line "\033[32m添加成功\033[0m" + msg_alert "\033[32m添加成功\033[0m" else - content_line "\033[31m添加失败\033[0m" + msg_alert "\033[31m添加失败\033[0m" fi else break fi fi - separator_line "=" - sleep 1 ;; esac done @@ -320,46 +261,36 @@ fake_ip_filter() { # DNS详细设置 set_dns_adv() { while true; do - line_break - separator_line "=" - content_line "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" - content_line "$DNS_ADV_SPLIT" - content_line "\033[33m$DNS_ADV_CERT\033[0m" - content_line "" - content_line "DIRECT-DNS:" - content_line "\033[32m$dns_nameserver\033[0m" - content_line "" - - content_line "PROXY-DNS:" - content_line "\033[36m$dns_fallback\033[0m" - content_line "" - - content_line "DEFAULT-DNS:" - content_line "\033[33m$dns_resolver\033[0m" - content_line "" - - separator_line "=" - content_line "1) $DNS_ADV_EDIT_DIRECT" - content_line "2) $DNS_ADV_EDIT_PROXY" - 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 + comp_box "\033[31m$DNS_ADV_SINGBOX_LIMIT\033[0m" \ + "$DNS_ADV_SPLIT" \ + "\033[33m$DNS_ADV_CERT\033[0m" \ + "" \ + "DIRECT-DNS:" \ + "\033[32m$dns_nameserver\033[0m" \ + "" \ + "PROXY-DNS:" \ + "\033[36m$dns_fallback\033[0m" \ + "" \ + "DEFAULT-DNS:" \ + "\033[33m$dns_resolver\033[0m" \ + "" + btm_box "1) $DNS_ADV_EDIT_DIRECT" \ + "2) $DNS_ADV_EDIT_PROXY" \ + "3) $DNS_ADV_EDIT_DEFAULT" \ + "4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \ + "9) \033[33m$DNS_ADV_RESET\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1) - line_break - separator_line "=" - content_line "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m" - separator_line "=" - content_line "请直接输入新的DIRECT-DNS地址" - content_line "或输入 r 重置DIRECT-DNS地址" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m" + btm_box "\033[36m请直接输入新的DIRECT-DNS地址\033[0m" \ + "或输入 r 重置DIRECT-DNS地址" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " res case "$res" in 0) @@ -368,34 +299,24 @@ set_dns_adv() { r) dns_nameserver="127.0.0.1" setconfig dns_nameserver "'$dns_nameserver'" - - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" + common_success ;; *) dns_nameserver=$(echo "$res" | sed 's#|#,\ #g') - line_break - separator_line "=" if [ -n "$dns_nameserver" ]; then setconfig dns_nameserver "'$dns_nameserver'" - content_line "\033[32m操作成功\033[0m" + common_success else - ontent_line "\033[32m操作失败\033[0m" + common_failed fi ;; esac - separator_line "=" ;; 2) - line_break - separator_line "=" - content_line "当前PROXY-DNS:\033[32m$dns_fallback\033[0m" - separator_line "=" - content_line "请直接输入新的PROXY-DNS地址" - content_line "或输入 r 重置PROXY-DNS地址" - content_line "或输入 0 返回上级菜单" - separator_line "=" + comp_box "当前PROXY-DNS:\033[32m$dns_fallback\033[0m" + btm_box "\033[36m请直接输入新的PROXY-DNS地址\033[0m" \ + "或输入 r 重置PROXY-DNS地址" \ + "或输入 0 返回上级菜单" read -r -p "请输入> " res case "$res" in 0) @@ -404,32 +325,24 @@ set_dns_adv() { r) dns_fallback="1.1.1.1, 8.8.8.8" setconfig dns_fallback "'$dns_fallback'" - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" + common_success ;; *) dns_fallback=$(echo "$res" | sed 's#|#,\ #g') - line_break - separator_line "=" if [ -n "$dns_fallback" ]; then setconfig dns_fallback "'$dns_fallback'" - content_line "\033[32m操作成功\033[0m" + common_success else - ontent_line "\033[32m操作失败\033[0m" + common_failed fi ;; esac - separator_line "=" ;; 3) - line_break - separator_line "=" - content_line "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m" - separator_line "=" - content_line "请直接输入新的DEFAULT-DNS地址" - content_line "或输入 r 重置DEFAULT-DNS地址" - content_line "或输入 0 返回上级菜单" + comp_box "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m" + btm_box "\033[36m请直接输入新的DEFAULT-DNS地址\033[0m" \ + "或输入 r 重置DEFAULT-DNS地址" \ + "或输入 0 返回上级菜单" separator_line "=" read -r -p "请输入> " res case "$res" in @@ -439,23 +352,18 @@ set_dns_adv() { "r") dns_resolver="223.5.5.5, 2400:3200::1" setconfig dns_resolver "'$dns_resolver'" - line_break - separator_line "=" - content_line "\033[32m操作成功\033[0m" + common_failed ;; *) - line_break - separator_line "=" 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 dns_resolver=$(echo "$res" | sed 's#|#,\ #g') setconfig dns_resolver "'$dns_resolver'" - content_line "\033[32m$COMMON_SUCCESS\033[0m" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" fi ;; esac - separator_line "=" ;; 4) line_break @@ -478,15 +386,11 @@ set_dns_adv() { setconfig dns_fallback setconfig dns_resolver . "$CRASHDIR/libs/get_config.sh" - line_break - separator_line "=" - content_line "\033[32m$COMMON_SUCCESS\033[0m" - separator_line "=" + common_success ;; *) errornum ;; esac - sleep 1 done } From 3aaa8b646043373160641869b6fd201be4720827 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:04:12 +0800 Subject: [PATCH 200/318] chore: invoke the common.sh componen --- scripts/menus/9_upgrade.sh | 136 ++++++++++++++++------------------ scripts/menus/fw_filter.sh | 81 ++++++++++---------- scripts/menus/subconverter.sh | 31 ++++---- scripts/menus/userguide.sh | 11 +-- 4 files changed, 122 insertions(+), 137 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index d097820b..a4a752b1 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -22,26 +22,24 @@ upgrade() { fi [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) - - comp_box "\033[30;47m更新与支持\033[0m" \ + top_box "\033[30;47m更新与支持\033[0m" \ "" \ "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" } - content_line "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" - content_line "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" - content_line "3) 安装/更新本地\033[32m数据库文件\033[0m" - content_line "4) 安装/更新本地\033[35mDashboard面板\033[0m" - content_line "5) 安装/更新本地\033[33m根证书文件\033[0m" - content_line "6) \033[32mPAC\033[0m自动代理查看" - content_line "7) 切换\033[36m安装源及版本分支\033[0m" - content_line "8) \033[31m卸载ShellCrash\033[0m" - content_line "9) \033[36m感谢列表!\033[0m" - content_line "" - content_line "0) 返回上级菜单" separator_line "=" - + btm_box "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" \ + "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" \ + "3) 安装/更新本地\033[32m数据库文件\033[0m" \ + "4) 安装/更新本地\033[35mDashboard面板\033[0m" \ + "5) 安装/更新本地\033[33m根证书文件\033[0m" \ + "6) \033[32mPAC\033[0m自动代理查看" \ + "7) 切换\033[36m安装源及版本分支\033[0m" \ + "8) \033[31m卸载ShellCrash\033[0m" \ + "9) \033[36m感谢列表!\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -188,6 +186,7 @@ setscripts() { getscripts # 提示 msg_alert "\033[32m管理脚本更新成功!\033[0m" + line_break exit 0 ;; *) @@ -231,13 +230,12 @@ setcoretype() { while true; do echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash comp_box "\033[33m请确认该自定义内核的类型:\033[0m" - content_line "1) Mihomo(Meta)" - content_line "2) Singbox-reF1nd" - content_line "3) Singbox" - content_line "4) Clash" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) Mihomo(Meta)" \ + "2) Singbox-reF1nd" \ + "3) Singbox" \ + "4) Clash" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) ;; @@ -415,14 +413,13 @@ setcustcore() { separator_line "=" content_line "请选择需要使用的核心:" separator_line "-" - content_line "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" - content_line "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" - content_line "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" - content_line "4) Premium-2023.08.17内核(已停止维护)" - content_line "9) \033[33m自定义内核链接 \033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" \ + "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" \ + "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" \ + "4) Premium-2023.08.17内核(已停止维护)" \ + "9) \033[33m自定义内核链接 \033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -779,20 +776,19 @@ setgeo() { "" \ "请选择需要更新的Geo数据库文件:" - content_line "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" - content_line "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" - content_line "" - content_line "3) Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" - content_line "4) Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" - content_line "" - content_line "5) Mihomo-mrs数据库常用包(约1mb,非必要勿用)" - content_line "6) Singbox-srs数据库常用包(约0.8mb,非必要勿用)" - content_line "" - content_line "8) \033[36m自定义数据库文件\033[0m" - content_line "9) \033[31m清理数据库文件\033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" \ + "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" \ + "" \ + "3) Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" \ + "4) Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" \ + "" \ + "5) Mihomo-mrs数据库常用包(约1mb,非必要勿用)" \ + "6) Singbox-srs数据库常用包(约0.8mb,非必要勿用)" \ + "" \ + "8) \033[36m自定义数据库文件\033[0m" \ + "9) \033[31m清理数据库文件\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -964,18 +960,17 @@ setdb() { "\033[32m打开管理面板的速度更快且更稳定\033[0m" \ "" \ "请选择面板安装类型:" - content_line " - - - - - - -维护中- - - - - - -" - content_line "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" - content_line "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" - content_line "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" - content_line " - - - - - -已停止维护- - - - - -" - content_line "4) 安装\033[32m基础面板\033[0m(约500kb)" - content_line "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" - content_line "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" - content_line "9) \033[31m卸载本地面板\033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box " - - - - - - -维护中- - - - - - -" \ + "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" \ + "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" \ + "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" \ + " - - - - - -已停止维护- - - - - -" \ + "4) 安装\033[32m基础面板\033[0m(约500kb)" \ + "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" \ + "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" \ + "9) \033[31m卸载本地面板\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -1145,16 +1140,15 @@ setserver() { content_line "$line" done - content_line - content_line "a) 切换至\033[32m稳定版-stable\033[0m" - content_line "b) 切换至\033[36m公测版-master\033[0m" - content_line "c) 切换至\033[33m开发版-dev\033[0m" - content_line - content_line "d) 自定义源地址(用于本地源或自建源)" - content_line "e) \033[31m版本回退\033[0m" - content_line - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "a) 切换至\033[32m稳定版-stable\033[0m" \ + "b) 切换至\033[36m公测版-master\033[0m" \ + "c) 切换至\033[33m开发版-dev\033[0m" \ + "" \ + "d) 自定义源地址(用于本地源或自建源)" \ + "e) \033[31m版本回退\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -1165,7 +1159,6 @@ setserver() { url_id_new=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $1}') if [ -z "$url_id_new" ]; then errornum - sleep 1 continue elif [ "$url_id_new" -ge 200 ]; then update_url=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $3}') @@ -1197,9 +1190,8 @@ setserver() { "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" content_line "是否依然切换到开发版:" separator_line "-" - content_line "1) 确认切换" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) 确认切换" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " res case "$res" in "" | 0) @@ -1218,7 +1210,7 @@ setserver() { done ;; d) - comp_box "请直接输入个人源路径" \ + comp_box "\033[36m请直接输入个人源路径\033[0m" \ "或者输入 0 返回上级菜单" read -r -p "请输入个人源路径> " update_url if [ "$update_url" = 0 ]; then @@ -1243,14 +1235,12 @@ setserver() { line_break separator_line "=" content_line "\033[31m请选择想要回退至的具体版本:\033[0m" - cat "$TMPDIR"/tags | awk '{print NR") "$1}' | while IFS= read -r line; do content_line "$line" done - - content_line + content_line "" content_line "0) 返回上级菜单" read -r -p "请输入对应标号> " num if [ -z "$num" ] || [ "$num" = 0 ]; then diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 4da986a1..49fc06e0 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -12,16 +12,14 @@ set_fw_filter() { [ -z "$cn_ip_route" ] && cn_ip_route=OFF touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON - line_break - separator_line "=" - content_line "1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量" - content_line "2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤" - content_line "3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能" - content_line "4) 过滤CN_IP(4/6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" - content_line "5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" - content_line "6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" - content_line "" - common_back + comp_box "1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量" \ + "2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤" \ + "3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能" \ + "4) 过滤CN_IP(4/6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" \ + "5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" \ + "6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -30,9 +28,8 @@ set_fw_filter() { 1) if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then comp_box "切换时将停止服务,是否继续:" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports else @@ -48,14 +45,14 @@ set_fw_filter() { fi ;; 3) - if [ "$quic_rj" = "OFF" ]; then - quic_rj=ON - msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!\033[0m" - else - quic_rj=OFF - msg_alert "\033[33m已取消禁止QUIC协议流量!\033[0m" - fi - setconfig quic_rj $quic_rj + if [ "$quic_rj" = "OFF" ]; then + quic_rj=ON + msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!\033[0m" + else + quic_rj=OFF + msg_alert "\033[33m已取消禁止QUIC协议流量!\033[0m" + fi + setconfig quic_rj $quic_rj ;; 4) if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then @@ -152,7 +149,7 @@ set_common_ports() { 3) while true; do comp_box "当前已放行端口:\033[36m$multiport\033[0m" - btm_box "请直接输入要移除的端口号\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ + btm_box "\033[36m请直接输入要移除的端口号\033[0m\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ "或输入 0 返回上级菜单" read -r -p "请输入> " port if [ "$port" = 0 ]; then @@ -203,9 +200,10 @@ set_cust_host_ipv4() { . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip comp_box "当前默认透明路由的网段为:\033[32m$host_ipv4\033[0m" \ "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" - content_line "1) 移除所有自定义网段" - content_line "2) 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" - common_back + btm_box "1) 移除所有自定义网段" \ + "2) 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "请输入对应的序号或需要额外添加的网段> " text case "$text" in "" | 0) @@ -254,10 +252,10 @@ set_reserve_ipv4() { "" \ "当前网段:" \ "\033[36m$reserve_ipv4\033[0m" - btm_box "请直接输入自定义保留地址ipv4网段" \ + btm_box "\033[36m请直接输入自定义保留地址ipv4网段\033[0m" \ "或输入 1 重置默认网段" \ "或输入 0 返回上级菜单" - read -r -p "请输入> " text + read -r -p "请输入> " text case "$text" in "" | 0) break @@ -273,17 +271,17 @@ set_reserve_ipv4() { *) if echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+"; then reserve_ipv4="$text" - if setconfig reserve_ipv4 "'$reserve_ipv4'"; then - msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" - else - msg_alert "\033[31m$COMMON_FAILED\033[0m" - fi + if setconfig reserve_ipv4 "'$reserve_ipv4'"; then + msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + fi else msg_alert "\033[31m输入有误,请重新输入!\033[0m" fi ;; - esac - done + esac + done } # 局域网设备过滤 fw_filter_lan() { @@ -305,7 +303,6 @@ fw_filter_lan() { else content_line "暫未添加任何mac地址" fi - separator_line "=" content_line "序号 \033[33m设备IP 设备mac地址 设备名称\033[0m" if [ -s "$dhcpdir" ]; then @@ -464,13 +461,13 @@ fw_filter_lan() { done separator_line "=" fi - content_line "1) 切换为\033[33m$fw_filter_lan_over模式\033[0m" - content_line "2) \033[32m添加指定设备(mac地址)\033[0m" - content_line "3) \033[32m添加指定设备(IP地址/网段)\033[0m" - content_line "4) \033[36m移除指定设备\033[0m" - content_line "9) \033[31m清空整个列表\033[0m" - content_line "" - common_back + btm_box "1) 切换为\033[33m$fw_filter_lan_over模式\033[0m" \ + "2) \033[32m添加指定设备(mac地址)\033[0m" \ + "3) \033[32m添加指定设备(IP地址/网段)\033[0m" \ + "4) \033[36m移除指定设备\033[0m" \ + "9) \033[31m清空整个列表\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 79101ffc..7b1a7290 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -10,16 +10,14 @@ __IS_MODULE_SUBCONVERTER=1 # Subconverter在线订阅转换 subconverter() { while true; do - line_break - separator_line "=" - content_line "1) \033[32m生成\033[0m包含全部节点、订阅的配置文件" - content_line "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m" - content_line "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m" - content_line "4) 选择\033[33m在线规则模版\033[0m" - content_line "5) 选择\033[0mSubconverter服务器\033[0m" - content_line "6) 自定义浏览器UA \033[32m$user_agent\033[0m" - content_line "" - common_back + comp_box "1) \033[32m生成\033[0m包含全部节点、订阅的配置文件"\ + "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m"\ + "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m"\ + "4) 选择\033[33m在线规则模版\033[0m"\ + "5) 选择\033[0mSubconverter服务器\033[0m"\ + "6) 自定义浏览器UA \033[32m$user_agent\033[0m"\ + ""\ + "0) $COMMON_BACK" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -172,13 +170,12 @@ set_sub_ua() { comp_box "\033[36m无法正确获取配置文件时可尝试使用\033[0m" \ "" \ "当前UA:$user_agent" - content_line "1) 使用自动UA(默认)" - content_line "2) 不使用UA" - content_line "3) 使用自定义UA" - content_line "4) 清空UA" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) 使用自动UA(默认)"\ + "2) 不使用UA"\ + "3) 使用自定义UA"\ + "4) 清空UA"\ + ""\ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in 0) diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index f37afbbf..b3102b92 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -13,9 +13,10 @@ forwhat() { "\033[33m$UG_CHOOSE_ENV\033[0m" \ "\033[0m$UG_TIP_CONFIG\033[0m" - btm_box "1) \033[32m$UG_OPTION_1\033[0m" \ - "2) \033[36m$UG_OPTION_2\033[0m" - [ -s "$CRASHDIR"/configs.tar.gz ] && content_line " 3 \033[33m$UG_OPTION_3\033[0m" + content_line "1) \033[32m$UG_OPTION_1\033[0m" + content_line "2) \033[36m$UG_OPTION_2\033[0m" + [ -s "$CRASHDIR"/configs.tar.gz ] && content_line "3) \033[33m$UG_OPTION_3\033[0m" + separator_line "=" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 1) @@ -75,12 +76,12 @@ forwhat() { ;; 3) tar -zxf "$CRASHDIR"/configs.tar.gz -C "$CRASHDIR"/configs - content_line "\033[32m$UG_RESTORE_OK\033[0m" + msg_alert "\033[32m$UG_RESTORE_OK\033[0m" + line_break exit 0 ;; *) errornum - sleep 1 ;; esac done From 6e8308186579b1e359087eca1de8cd89e32b6ba9 Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 3 Feb 2026 20:40:02 +0800 Subject: [PATCH 201/318] chore: invoke the common.sh componen and UI adjustments --- scripts/menus/2_settings.sh | 23 +++++++-------- scripts/menus/4_setboot.sh | 12 ++++---- scripts/menus/5_task.sh | 12 +++----- scripts/menus/6_core_config.sh | 39 ++++++++++++------------ scripts/menus/7_gateway.sh | 22 ++++++-------- scripts/menus/8_tools.sh | 46 ++++++++++++++--------------- scripts/menus/9_upgrade.sh | 25 +++++++--------- scripts/menus/ddns.sh | 54 ++++++++++++++-------------------- scripts/menus/dns.sh | 15 +++++----- scripts/menus/fw_filter.sh | 33 ++++++++++----------- scripts/menus/override.sh | 51 ++++++++++++++------------------ scripts/menus/providers.sh | 16 +++++----- scripts/menus/uninstall.sh | 10 +++---- 13 files changed, 159 insertions(+), 199 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index f419b9f0..f9da88b4 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -28,11 +28,11 @@ settings() { } content_line "8) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" separator_line "-" - content_line "a) \033[31m$SET_MENU_RESET\033[0m" - content_line "b) \033[36m$SET_MENU_LANG\033[0m" - content_line "c) \033[33m$SET_MENU_UI\033[0m" - content_line "0) $COMMON_BACK" - separator_line "=" + btm_box "a) \033[31m$SET_MENU_RESET\033[0m" \ + "b) \033[36m$SET_MENU_LANG\033[0m" \ + "c) \033[33m$SET_MENU_UI\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -204,7 +204,7 @@ settings() { ;; b) comp_box "1) 简体中文" \ - "2) English" \ + "2) English" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -280,12 +280,11 @@ set_redir_mod() { content_line "6) \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" content_line "" } - content_line "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" - content_line "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" - content_line "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" - content_line "" - content_line "0) $COMMON_BACK" - separator_line "=" + btm_box "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" \ + "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" \ + "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index dc554f86..e64d9233 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -43,10 +43,9 @@ setboot() { content_line "3) 设置自启延时: \033[36m$(printf '%-7s' "$delay")\033[0m ———用于解决自启后服务受限" content_line "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\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 "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "6) 自启网络检查: \033[36m$(printf '%-4s' "$network_check")\033[0m ———禁用则跳过自启时网络检查" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -216,9 +215,8 @@ setboot() { content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用?" fi separator_line "-" - content_line "1) 是" - content_line "0) 否,返回上级菜单" - separator_line "=" + btm_box "1) 是" \ + "0) 否,返回上级菜单" read -r -p "请输入对应标号> " res if [ "$res" = '1' ]; then if [ "$network_check" = "OFF" ]; then diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index d40aab4a..ae0be460 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -88,9 +88,8 @@ task_user_del() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num if [ "$num" = 0 ]; then break @@ -114,9 +113,8 @@ task_add() { # 输出任务列表 list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') list_box "$list" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in 0) @@ -179,7 +177,6 @@ task_type() { "输入 1~5 代表\033[36m周一至周五\033[0m运行" read -r -p "在每周哪天执行?> " week # week=`echo ${week/7/0}` # 把7换成0 - echo read -r -p "想在该日的具体哪个小时执行?(0~23)> " hour cron_time="在每周$week的$hour点整" # cron_time=`echo ${cron_time/周0/周日}` # 把0换成日 @@ -189,7 +186,6 @@ task_type() { comp_box "输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" \ "输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行" read -r -p "想在每日的具体哪个小时执行?(0~23)> " hour - echo read -r -p "想在具体哪分钟执行?(0~59的整数)> " min cron_time="在每日的$hour点$min分" [ -n "$min" ] && [ -n "$hour" ] && set_cron diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index 617505ef..ba45ca85 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -34,13 +34,13 @@ set_core_config() { list_box "$list" separator_line "-" } - content_line "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" - content_line "b) \033[36m本地生成配置文件\033[0m" - content_line "c) \033[33m在线生成配置文件\033[0m" - content_line "d) \033[31m清空提供者列表\033[0m" - content_line "e) \033[36m自定义配置文件\033[0m" - content_line "" - common_back + btm_box "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" \ + "b) \033[36m本地生成配置文件\033[0m" \ + "c) \033[33m在线生成配置文件\033[0m" \ + "d) \033[31m清空提供者列表\033[0m" \ + "e) \033[36m自定义配置文件\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT_L> " num case "$num" in "" | 0) @@ -94,7 +94,6 @@ set_core_config() { [ "$checkcfg" != "$checkcfg_new" ] && checkrestart fi ;; - *) error_letter ;; @@ -140,8 +139,8 @@ setproviders() { content_line "" content_line "a) \033[36m保存此提供者\033[0m" content_line "d) \033[31m删除此提供者\033[0m" - content_line "" - content_line "\033[36m以下方式的详细配置请前往对应功能页面进行设置!\033[0m" + content_line "" + content_line "\033[36m以下方式的详细配置请前往对应功能页面进行设置!\033[0m" [ -n "$link" ] && content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" echo "$link$link_uri" | grep -q '://' && @@ -150,8 +149,8 @@ setproviders() { content_line "e) 在线获取此配置文件(不使用订阅转换)" echo "$link" | grep -q '^./providers' && content_line "e) 直接使用此文件作为配置文件(不使用本地生成)" - content_line "" - common_back + btm_box "" \ + "0) $COMMON_BACK" read -r -p "请输入对应字母或数字> " input case "$input" in "" | 0) @@ -274,7 +273,7 @@ setproviders() { ;; d) if [ -n "$name" ] && [ -n "$link" ]; then - sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg 2>/dev/null + sed -i "/^$name /d" "$CRASHDIR"/configs/providers.cfg 2>/dev/null msg_alert "\033[32m$COMMON_SUCCESS\033[0m" elif [ -n "$name" ] && [ -n "$link_uri" ]; then sed -i "/^$name /d" "$CRASHDIR"/configs/providers_uri.cfg 2>/dev/null @@ -341,16 +340,14 @@ saveproviders() { # 本地生成覆写 custproviders() { while true; do - line_break - separator_line "=" - content_line "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m 分钟" - content_line "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m 小时" + top_box "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m 分钟" \ + "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m 小时" echo "$link" | grep -q '^http' && content_line "3) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" - content_line "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" - content_line "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" - content_line "" - common_back + btm_box "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" \ + "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "请输入对应数字> " num case "$num" in "" | 0) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 664514f1..d44618d0 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -21,9 +21,8 @@ gateway() { content_line "6) 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" content_line "7) 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" } - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -277,10 +276,9 @@ set_vmess() { content_line "5) 一键生成\033[32m随机秘钥\033[0m" gen_base64 1 >/dev/null 2>&1 && content_line "6) 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" - content_line "7) 一键生成\033[32m分享链接\033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "7) 一键生成\033[32m分享链接\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -402,9 +400,8 @@ set_shadowsocks() { content_line "4) 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" gen_base64 1 >/dev/null 2>&1 && content_line "5) 一键生成分享链接" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -450,9 +447,8 @@ set_shadowsocks() { content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" } - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in 0) ;; diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 177bda72..282b63a5 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -90,9 +90,8 @@ tools() { [ -x /usr/sbin/otapredownload ] && content_line "5) \033[33m$mi_update\033[0m小米系统自动更新" [ "$systype" = "mi_snapshot" ] && content_line "6) 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" [ "$systype" = "mi_snapshot" ] && content_line "8) 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -371,28 +370,30 @@ log_pusher() { # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" comp_box "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" \ "" \ - "\033[33m请直接请输入你的User Key\033[0m" \ + "\033[36m请直接请输入你的User Key\033[0m" \ "或输入 0 返回上级菜单" read -r -p "请输入> " key if [ "$key" = 0 ]; then continue elif [ -n "$key" ]; then - line_break - separator_line "=" - content_line "\033[33m请检查注册邮箱,完成账户验证\033[0m" - read -r -p "我已经验证完成(1/0)> " - separator_line "=" - - comp_box "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" - read -r -p "请输入你的API Token> " Token - if [ -n "$Token" ]; then - push_Po=$Token - push_Po_key=$key - setconfig push_Po "$Token" - setconfig push_Po_key "$key" - logger "已完成Passover日志推送设置!" 32 + comp_box "\033[33m请检查注册邮箱,完成账户验证\033[0m" + btm_box "1) 我已经验证完成" \ + "0) 返回上级菜单" + read -r -p "我已经验证完成(1/0)> " res + if [ "$res" = 1 ]; then + comp_box "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" + read -r -p "请输入你的API Token> " Token + if [ -n "$Token" ]; then + push_Po=$Token + push_Po_key=$key + setconfig push_Po "$Token" + setconfig push_Po_key "$key" + logger "已完成Passover日志推送设置!" 32 + else + msg_alert "\033[31m输入错误,请重新输入!\033[0m" + fi else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + continue fi else msg_alert "\033[31m输入错误,请重新输入!\033[0m" @@ -443,7 +444,6 @@ log_pusher() { else line_break read -r -p "请输入你的Synology DSM主页地址> " URL - line_break read -r -p "请输入你的Synology Chat Token> " TOKEN comp_box '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' read -r -p "请输入你的user_id> " USERID @@ -500,7 +500,6 @@ log_pusher() { line_break echo "===========================================================" cat "$TMPDIR"/ShellCrash.log - echo "" echo "===========================================================" else msg_alert "\033[31m未找到相关日志!\033[0m" @@ -660,9 +659,8 @@ debug() { content_line "" content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" - content_line "" - content_line "0) 返回上级目录" - separator_line "=" + btm_box "" \ + "0) 返回上级目录" read -r -p "请输入对应标号> " num case "$num" in 0) ;; diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index a4a752b1..cb3ddb4c 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -363,10 +363,8 @@ checkcustcore() { while IFS= read -r line; do content_line "$line" done - - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in 0) @@ -530,13 +528,12 @@ setcore() { content_line "4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" sub_content_line "说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m" } - content_line "5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" - content_line "6) \033[36m使用自定义内核\033[0m $custcore" - content_line "7) \033[32m更新当前内核\033[0m" - content_line "9) 手动指定处理器架构" - content_line "" - content_line "0 返回上级菜单" - separator_line "=" + btm_box "5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" \ + "6) \033[36m使用自定义内核\033[0m $custcore" \ + "7) \033[32m更新当前内核\033[0m" \ + "9) 手动指定处理器架构" \ + "" \ + "0 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) @@ -1188,7 +1185,7 @@ setserver() { comp_box "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" \ "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" \ "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" - content_line "是否依然切换到开发版:" + content_line "是否依然切换到开发版?" separator_line "-" btm_box "1) 确认切换" \ "0) 返回上级菜单" @@ -1240,8 +1237,8 @@ setserver() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应标号> " num if [ -z "$num" ] || [ "$num" = 0 ]; then continue diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index fda41949..3d6cebe5 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -49,20 +49,15 @@ set_ddns() { read -r -p "请输入强制更新间隔(单位:小时;默认为24)> " force_interval [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 - line_break - separator_line "=" - content_line "请核对如下信息:" - content_line "" - content_line "服务商: \033[32m$service\033[0m" - content_line "域名: \033[32m$domain\033[0m" - content_line "用户名: \033[32m$username\033[0m" - content_line "检测间隔: \033[32m$check_interval\033[0m" - separator_line "=" - content_line "是否确认添加:" - separator_line "=" - content_line "1) 是" - content_line "0) 否,重新輸入" - separator_line "=" + comp_box "请核对如下信息:" \ + "" \ + "服务商: \033[32m$service\033[0m" \ + "域名: \033[32m$domain\033[0m" \ + "用户名: \033[32m$username\033[0m" \ + "检测间隔: \033[32m$check_interval\033[0m" + btm_box "是否确认添加:" + btm_box "1) 是" \ + "0) 否,重新輸入" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then add_ddns @@ -103,10 +98,10 @@ set_ddns_service() { set_ddns_type() { while true; do comp_box "\033[32m请选择网络模式:\033[0m" - content_line "1) \033[36mIPV4\033[0m" - content_line "2) \033[36mIPV6\033[0m" - content_line "" - common_back + btm_box "1) \033[36mIPV4\033[0m" \ + "2) \033[36mIPV6\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -135,16 +130,13 @@ rev_ddns_service() { while true; do enabled=$(uci get ddns."$service".enabled) [ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用" - line_break - separator_line "=" - content_line "1) \033[32m立即更新\033[0m" - content_line "2) 编辑当前服务" - content_line "3) $enabled_b当前服务" - content_line "4) 移除当前服务" - content_line "5) 查看运行日志" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + comp_box "1) \033[32m立即更新\033[0m" \ + "2) 编辑当前服务" \ + "3) $enabled_b当前服务" \ + "4) 移除当前服务" \ + "5) 查看运行日志" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -176,11 +168,9 @@ rev_ddns_service() { ;; 5) line_break - separator_line "=" + echo "===========================================================" cat /var/log/ddns/"$service".log 2>/dev/null - content_line "" - separator_line "=" - sleep 1 + echo "===========================================================" break ;; *) diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 82206006..2db97f51 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -89,9 +89,9 @@ set_dns_mod() { line_break separator_line "=" if [ "$hosts_opt" = ON ]; then - content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用:" + content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用?" else - content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" + content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用?" fi separator_line "=" btm_box "1) 是" \ @@ -127,9 +127,9 @@ set_dns_mod() { line_break separator_line "=" if [ "$ecs_subnet" = ON ]; then - content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用:" + content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用?" else - content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用:" + content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用?" fi separator_line "=" btm_box "1) 是" \ @@ -164,7 +164,7 @@ set_dns_mod() { comp_box "\033[31m$DNS_REDIR_WARN\033[0m" \ "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" \ "" \ - "请直接输入旁路由IPV4地址" \ + "\033[36m请直接输入旁路由IPV4地址\033[0m" \ "或输入 r 重置DNS劫持端口" \ "或输入 0 返回上级菜单" read -r -p "请输入> " num @@ -223,9 +223,8 @@ fake_ip_filter() { else content_line "\033[33m$DNS_FAKEIP_EMPTY\033[0m" fi - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "$DNS_FAKEIP_EDIT> " input case "$input" in "" | 0) diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 49fc06e0..11addd71 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -93,13 +93,13 @@ set_common_ports() { content_line "当前已放行端口:\033[36m$multiport\033[0m" fi separator_line "=" - content_line "1) 启用/关闭端口过滤: \033[36m$common_ports\033[0m" - content_line "2) 添加放行端口" - content_line "3) 移除指定放行端口" - content_line "4) 重置默认放行端口" - content_line "5) 重置为旧版放行端口" - content_line "" - common_back + btm_box "1) 启用/关闭端口过滤: \033[36m$common_ports\033[0m" \ + "2) 添加放行端口" \ + "3) 移除指定放行端口" \ + "4) 重置默认放行端口" \ + "5) 重置为旧版放行端口" \ + "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -125,7 +125,7 @@ set_common_ports() { comp_box "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" else comp_box "当前已放行端口:\033[36m$multiport\033[0m" - btm_box "请直接输入要放行的端口号\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ + btm_box "\033[36m请直接输入要放行的端口号\033[0m\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ "或输入 0 返回上级菜单" read -r -p "请输入> " port if [ "$port" = 0 ]; then @@ -245,6 +245,7 @@ set_cust_host_ipv4() { esac done } + set_reserve_ipv4() { while true; do [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" @@ -283,6 +284,7 @@ set_reserve_ipv4() { esac done } + # 局域网设备过滤 fw_filter_lan() { get_devinfo() { @@ -290,7 +292,6 @@ fw_filter_lan() { dev_mac=$(cat "$dhcpdir" | grep " $dev " | awk '{print $2}') && [ -z "$dev_mac" ] && dev_mac=$dev dev_name=$(cat "$dhcpdir" | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name='未知设备' } - add_mac() { while true; do comp_box "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" @@ -313,9 +314,8 @@ fw_filter_lan() { else content_line "无纪录" fi - - content_line "" - common_back + btm_box "" \ + "0) $COMMON_BACK" read -r -p "请输入对应序号或直接输入mac地址> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= @@ -363,9 +363,8 @@ fw_filter_lan() { else content_line "无纪录" fi - - content_line "" - common_back + btm_box "" \ + "0) $COMMON_BACK" read -r -p "请输入对应序号或直接输入IP地址段> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= @@ -404,8 +403,8 @@ fw_filter_lan() { "$i" "$dev_ip" "$dev_mac" "$dev_name")" i=$((i + 1)) done - content_line "" - common_back + btm_box "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index f30c04ef..e6549b49 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -78,9 +78,8 @@ setrules() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) ;; @@ -112,9 +111,8 @@ setrules() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) ;; @@ -143,9 +141,8 @@ setrules() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -252,7 +249,7 @@ setgroups() { comp_box "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" \ "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" \ "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" - btm_box "\033[32m请直接输入自定义策略组名称\033[0m\n(不支持纯数字且不要包含特殊字符!)" \ + btm_box "\033[36m请直接输入自定义策略组名称\033[0m\n(不支持纯数字且不要包含特殊字符!)" \ "或输入 0 返回上级菜单" read -r -p "请输入> " new_group_name @@ -322,12 +319,11 @@ EOF while true; do comp_box "\033[33m你可以在这里快捷管理自定义策略组\033[0m" \ "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" - content_line "1) 添加自定义策略组" - content_line "2) 查看自定义策略组" - content_line "3) 清空自定义策略组" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) 添加自定义策略组" \ + "2) 查看自定义策略组" \ + "3) 清空自定义策略组" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -398,9 +394,8 @@ setproxies() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字(多个用空格分隔)> " char case "$char" in "" | 0) ;; @@ -423,13 +418,12 @@ setproxies() { while true; do comp_box "\033[33m你可以在这里快捷管理自定义节点\033[0m" \ "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" - content_line "1) 添加自定义节点" - content_line "2) 管理自定义节点" - content_line "3) 清空自定义节点" - content_line "4) 配置节点绕过: \033[36m$proxies_bypass\033[0m" - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "1) 添加自定义节点" \ + "2) 管理自定义节点" \ + "3) 清空自定义节点" \ + "4) 配置节点绕过: \033[36m$proxies_bypass\033[0m" \ + "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num case "$num" in "" | 0) @@ -451,9 +445,8 @@ setproxies() { while IFS= read -r line; do content_line "$line" done - content_line "" - content_line "0) 返回上级菜单" - separator_line "=" + btm_box "" \ + "0) 返回上级菜单" read -r -p "请输入对应数字> " num if [ "$num" = 0 ]; then continue diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index c8cb266e..30a744d1 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -21,11 +21,11 @@ providers() { [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file fi - top_box "1) \033[32m生成\033[0m包含全部提供者的配置文件" \ + comp_box "1) \033[32m生成\033[0m包含全部提供者的配置文件" \ "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" \ "3) \033[33m清理\033[0mproviders目录文件" \ - "" - common_back + "" \ + "0) $COMMON_BACK" read -r -p "请输入对应字母或数字> " num case "$num" in "" | 0) @@ -45,15 +45,15 @@ providers() { comp_box "当前规则模版为:\033[32m$provider_temp_des\033[0m" \ "\033[33m请选择在线模版:\033[0m" list_box "$list" - content_line "" - content_line "a) 使用\033[36m本地模版\033[0m" - content_line "" - common_back + btm_box "" \ + "a) 使用\033[36m本地模版\033[0m" \ + "" \ + "0) $COMMON_BACK" read -r -p "请输入对应字母或数字> " num case "$num" in "" | 0) ;; a) - echo "" + line_break read -r -p "请输入模版的路径(绝对路径)> " dir if [ -s "$dir" ]; then provider_temp_file=$dir diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index ebfcbf60..cdb50bc9 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -6,9 +6,8 @@ uninstall() { comp_box "\033[31m警告:\033[0m" \ "\033[31m该操作不可逆!\033" \ "是否确认卸载ShellCrash:" - content_line "1) 是" - content_line "0) 否" - separator_line "=" + btm_box "1) 是" \ + "0) 否" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then # 停止服务 @@ -21,9 +20,8 @@ uninstall() { # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then comp_box "是否保留脚本配置及订阅文件:" - content_line "1) 是" - content_line "0) 否" - separator_line "=" + btm_box "1) 是" \ + "0) 否" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then mv -f "$CRASHDIR"/configs /tmp/ShellCrash/configs_bak From c92355742e43f6d73078c4a2f928340b7bfd3e4d Mon Sep 17 00:00:00 2001 From: sofia-riese <253282481+sofia-riese@users.noreply.github.com> Date: Tue, 3 Feb 2026 21:19:07 +0800 Subject: [PATCH 202/318] chore: UI adjustments --- scripts/menu.sh | 25 +++++++++++++------------ scripts/menus/uninstall.sh | 7 +++---- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index a340bf76..832b96f7 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -194,17 +194,17 @@ main_menu() { while true; do ckstatus - content_line "1) \033[32m$MENU_MAIN_1\033[0m" - content_line "2) \033[36m$MENU_MAIN_2\033[0m" - content_line "3) \033[31m$MENU_MAIN_3\033[0m" - content_line "4) \033[33m$MENU_MAIN_4\033[0m" - content_line "5) \033[32m$MENU_MAIN_5\033[0m" - content_line "6) \033[36m$MENU_MAIN_6\033[0m" - content_line "7) \033[33m$MENU_MAIN_7\033[0m" - content_line "8) $MENU_MAIN_8" - content_line "9) \033[32m$MENU_MAIN_9\033[0m" - content_line "0) $MENU_MAIN_0" - separator_line "=" + btm_box "1) \033[32m$MENU_MAIN_1\033[0m"\ + "2) \033[36m$MENU_MAIN_2\033[0m"\ + "3) \033[31m$MENU_MAIN_3\033[0m"\ + "4) \033[33m$MENU_MAIN_4\033[0m"\ + "5) \033[32m$MENU_MAIN_5\033[0m"\ + "6) \033[36m$MENU_MAIN_6\033[0m"\ + "7) \033[33m$MENU_MAIN_7\033[0m"\ + "8) $MENU_MAIN_8"\ + "9) \033[32m$MENU_MAIN_9\033[0m"\ + ""\ + "0) $MENU_MAIN_0" read -r -p "$MENU_MAIN_PROMPT" num case "$num" in @@ -308,8 +308,9 @@ case "$1" in while read line; do echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log - echo "===========================================================" + echo done <"$TMPDIR"/sh_bug + echo "===========================================================" rm -rf "$TMPDIR"/sh_bug comp_box "\033[32m$MENU_TEST_DONE_FAIL\033[0m" \ "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index cdb50bc9..bd16286f 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -3,9 +3,8 @@ # 卸载 uninstall() { - comp_box "\033[31m警告:\033[0m" \ - "\033[31m该操作不可逆!\033" \ - "是否确认卸载ShellCrash:" + comp_box "\033[31m警告:该操作不可逆!\033[0m" \ + "是否确认卸载ShellCrash?" btm_box "1) 是" \ "0) 否" read -r -p "$COMMON_INPUT> " res @@ -19,7 +18,7 @@ uninstall() { # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then - comp_box "是否保留脚本配置及订阅文件:" + comp_box "是否保留脚本配置及订阅文件?" btm_box "1) 是" \ "0) 否" read -r -p "$COMMON_INPUT> " res From 2fc3a18df487288ca19538262ed2b3813ecae0f4 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 4 Feb 2026 19:18:02 +0800 Subject: [PATCH 203/318] ~Change same dns info --- scripts/lang/chs/dns.lang | 6 +++--- scripts/lang/en/dns.lang | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang index 2fe64656..b37f6c6d 100644 --- a/scripts/lang/chs/dns.lang +++ b/scripts/lang/chs/dns.lang @@ -2,9 +2,9 @@ DNS_CURRENT_MODE="当前DNS运行模式为:" DNS_RESTART_NOTICE="切换模式后需要手动重启服务以生效!" -DNS_MODE_MIX_DESC="CN域名real-ip,其它fake-ip分流" -DNS_MODE_ROUTE_DESC="CN域名real-ip,其它dns2proxy分流" -DNS_MODE_REDIR_DESC="不安全,需搭配第三方DNS服务使用" +DNS_MODE_MIX_DESC="CN域名DIRECT-DNS,其它fake-ip" +DNS_MODE_ROUTE_DESC="CN域名DIRECT-DNS,其它PROXY-DNS" +DNS_MODE_REDIR_DESC="建议搭配加密/第三方DNS服务使用" DNS_MENU_PROTECT="DNS防泄漏" DNS_MENU_HOSTS="Hosts优化" diff --git a/scripts/lang/en/dns.lang b/scripts/lang/en/dns.lang index 55d3b464..146c20ce 100644 --- a/scripts/lang/en/dns.lang +++ b/scripts/lang/en/dns.lang @@ -2,9 +2,9 @@ DNS_CURRENT_MODE="Current DNS running mode:" DNS_RESTART_NOTICE="Changes require a manual service restart to take effect." -DNS_MODE_MIX_DESC="CN domains use real-ip, others use fake-ip routing" -DNS_MODE_ROUTE_DESC="CN domains use real-ip, others use dns2proxy routing" -DNS_MODE_REDIR_DESC="Insecure. Must be used with a third-party DNS service." +DNS_MODE_MIX_DESC="CN domains use DIRECT-DNS, others use fake-ip" +DNS_MODE_ROUTE_DESC="CN domains use DIRECT-DNS, others use PROXY-DNS" +DNS_MODE_REDIR_DESC="All domains use DIRECT-DNS" DNS_MENU_PROTECT="DNS Leak Protect" DNS_MENU_HOSTS="Hosts Optimization" From 642ac95ae91cf9418ea77f37eb66d86506f96216 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 4 Feb 2026 19:28:15 +0800 Subject: [PATCH 204/318] =?UTF-8?q?~=E5=A2=9E=E5=8A=A0=E5=8D=95=E7=8B=AC?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E5=90=AF=E5=8A=A8=E6=97=A5=E5=BF=97=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/4_setboot.sh | 14 +++++++++++++- scripts/menus/8_tools.sh | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index e64d9233..9726dfd2 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -44,6 +44,7 @@ setboot() { content_line "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\033[0m ———用于闪存空间不足的设备" [ "${BINDIR}" != "$CRASHDIR" ] && content_line "5) 设置小闪存目录: \033[36m${BINDIR}\033[0m" btm_box "6) 自启网络检查: \033[36m$(printf '%-4s' "$network_check")\033[0m ———禁用则跳过自启时网络检查" \ + "7) 查看启动日志" \ "" \ "0) 返回上级菜单" read -r -p "请输入对应标号> " num @@ -231,7 +232,18 @@ setboot() { fi fi ;; - *) + 7) + if [ -s "$TMPDIR"/ShellCrash.log ]; then + line_break + echo "===========================================================" + grep -v '任务' "$TMPDIR"/ShellCrash.log + echo "===========================================================" + exit + else + msg_alert "\033[31m未找到相关日志!\033[0m" + fi + ;; + *) errornum ;; esac diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 282b63a5..c887ab8a 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -501,6 +501,7 @@ log_pusher() { echo "===========================================================" cat "$TMPDIR"/ShellCrash.log echo "===========================================================" + exit else msg_alert "\033[31m未找到相关日志!\033[0m" fi From 1b2521290fd4a8e99266401b6e2bee0e646ea90d Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 4 Feb 2026 19:51:08 +0800 Subject: [PATCH 205/318] ~1.9.5a9 pkg --- ShellCrash.tar.gz | Bin 139609 -> 139969 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 5ff021d6834899bb10c29bcfa8cee2d09e5c2461..710c04c069bd722443b5873bfd6c4228d51f2ef7 100644 GIT binary patch literal 139969 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 z%0D-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 T_S1ga4}1PUQ1=%`08k15xlT;K literal 139609 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 H(BS?Db Date: Thu, 5 Feb 2026 13:59:05 +0800 Subject: [PATCH 206/318] chore: UI/UX adjustments --- scripts/lang/chs/userguide.lang | 4 +- scripts/menus/2_settings.sh | 27 ++++++-------- scripts/menus/4_setboot.sh | 5 ++- scripts/menus/8_tools.sh | 12 +++--- scripts/menus/9_upgrade.sh | 65 ++++++++++++++------------------- scripts/menus/userguide.sh | 9 +++-- 6 files changed, 57 insertions(+), 65 deletions(-) diff --git a/scripts/lang/chs/userguide.lang b/scripts/lang/chs/userguide.lang index 6a0acf85..4e98c3e9 100644 --- a/scripts/lang/chs/userguide.lang +++ b/scripts/lang/chs/userguide.lang @@ -8,7 +8,7 @@ UG_OPTION_3="还原之前备份的设置" UG_RESTORE_OK="脚本设置已还原!请重新启动脚本!" UG_IP_FORWARD_WARN="检测到你的设备尚未开启ip转发,局域网设备将无法正常连接网络,是否立即开启?" UG_ENABLE_LOW_MEM="检测到你的安装目录空间不足10M,是否开启小闪存模式?" -UG_IMPORT_CONFIG="是否导入配置文件?(这是运行前的最后一步)" +UG_IMPORT_CONFIG="这是运行前的最后一步" UG_CONFIG_TIP="你必须拥有一份配置文件才能运行服务!" -UG_CONFIG_RES="现在开始导入?" +UG_CONFIG_RES="是否立即导入配置文件?" UG_FINAL_TIP="很好!现在只需要执行启动就可以愉快的使用了!" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index f9da88b4..672234f3 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -26,9 +26,9 @@ settings() { content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" content_line "6) $SET_MENU_ADV_PORT" } - content_line "8) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" - separator_line "-" - btm_box "a) \033[31m$SET_MENU_RESET\033[0m" \ + content_line "7) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" + btm_box "" \ + "a) \033[31m$SET_MENU_RESET\033[0m" \ "b) \033[36m$SET_MENU_LANG\033[0m" \ "c) \033[33m$SET_MENU_UI\033[0m" \ "" \ @@ -140,7 +140,7 @@ settings() { set_adv_config fi ;; - 8) + 7) set_ipv6 ;; a) @@ -255,7 +255,7 @@ settings() { set_redir_config() { setconfig redir_mod "$redir_mod" setconfig dns_mod "$dns_mod" - msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod\033[0m" + msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod 模式\033[0m" } # 路由模式设置 @@ -269,10 +269,10 @@ set_redir_mod() { comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" [ "$firewall_area" -le 3 ] && { - content_line "1) \033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" - content_line "2) \033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" - content_line "3) \033[32m$SET_REDIR_TPROXY\033[0m:$SET_REDIR_TPROXYDES" - content_line "4) \033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" + content_line "1) 设为\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" + content_line "2) 设为\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" + content_line "3) 设为\033[32m$SET_REDIR_TPROXY\033[0m:$SET_REDIR_TPROXYDES" + content_line "4) 设为\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" content_line "" } [ "$firewall_area" = 5 ] && { @@ -644,13 +644,10 @@ set_ipv6() { [ -z "$ipv6_redir" ] && ipv6_redir=OFF [ -z "$ipv6_dns" ] && ipv6_dns=ON - line_break - separator_line "=" - content_line "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" + top_box "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" - content_line "" - content_line "0) $COMMON_BACK" - separator_line "=" + btm_box "" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index 9726dfd2..5c4527e7 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -238,12 +238,13 @@ setboot() { echo "===========================================================" grep -v '任务' "$TMPDIR"/ShellCrash.log echo "===========================================================" - exit + line_break + exit else msg_alert "\033[31m未找到相关日志!\033[0m" fi ;; - *) + *) errornum ;; esac diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index c887ab8a..7174d951 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -501,7 +501,7 @@ log_pusher() { echo "===========================================================" cat "$TMPDIR"/ShellCrash.log echo "===========================================================" - exit + exit else msg_alert "\033[31m未找到相关日志!\033[0m" fi @@ -652,11 +652,11 @@ debug() { "如长时间运行后台监测,日志等级推荐error!防止文件过大!" \ "你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" content_line "1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" - content_line "2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" - content_line "3) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[31merror\033[0m" - content_line "4) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[32minfo\033[0m" - content_line "5) 后台运行完整启动流程,并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" - content_line "6) 后台运行完整启动流程,并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" + content_line "2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" + content_line "3) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[31merror\033[0m" + content_line "4) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[32minfo\033[0m" + content_line "5) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" + content_line "6) 后台运行完整启动流程并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" content_line "" content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index cb3ddb4c..b5c324e7 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -72,39 +72,30 @@ upgrade() { ;; 9) comp_box "感谢以下项目及其开发者们的无私奉献!" - - content_line "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" - content_line "" - - content_line "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" - content_line "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" - content_line "" - - content_line "\033[32mMetaCubeX \033[0m开发:\033[36mMetaCubeX\033[0m" - content_line "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" - content_line "" - - content_line "\033[32mYACD面板 \033[0m开发:\033[36mhaishanh\033[0m" - content_line "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" - content_line "" - - content_line "\033[32mZashboard \033[0m开发:\033[36mZephyruso\033[0m" - content_line "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" - content_line "" - - content_line "\033[32mSubconverter \033[0m开发:\033[36mtindy2013\033[0m" - content_line "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" - content_line "" - - content_line "\033[32msing-box-reF1nd \033[0m开发:\033[36mreF1nd\033[0m" - content_line "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" - content_line "" - - content_line "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" - content_line "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" - content_line "" - - comp_box "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" + btm_box "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" \ + "" \ + "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" \ + "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" \ + "" \ + "\033[32mMetaCubeX \033[0m开发:\033[36mMetaCubeX\033[0m" \ + "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" \ + "" \ + "\033[32mYACD面板 \033[0m开发:\033[36mhaishanh\033[0m" \ + "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" \ + "" \ + "\033[32mZashboard \033[0m开发:\033[36mZephyruso\033[0m" \ + "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" \ + "" \ + "\033[32mSubconverter \033[0m开发:\033[36mtindy2013\033[0m" \ + "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" \ + "" \ + "\033[32msing-box-reF1nd \033[0m开发:\033[36mreF1nd\033[0m" \ + "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" \ + "" \ + "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" \ + "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" \ + "" + btm_box "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" sleep 2 ;; *) @@ -510,10 +501,10 @@ setcore() { comp_box "当前内核:\033[42;30m$crashcore\033[47;30m $core_v\033[0m" \ "当前系统处理器架构:\033[32m$cpucore\033[0m" \ - "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" + "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" \ + "" \ + "\033[33m请选择需要使用的核心版本:\033[0m" - content_line "\033[33m请选择需要使用的核心版本:\033[0m" - separator_line "-" content_line "1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" sub_content_line "说明文档:\033[36;4mhttps://wiki.metacubex.one\033[0m" @@ -533,7 +524,7 @@ setcore() { "7) \033[32m更新当前内核\033[0m" \ "9) 手动指定处理器架构" \ "" \ - "0 返回上级菜单" + "0) 返回上级菜单" read -r -p "请输入对应标号> " num case "$num" in "" | 0) diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index b3102b92..13796a81 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -108,9 +108,12 @@ userguide() { # 提示导入订阅或者配置文件 if [ ! -s "$CRASHDIR"/yamls/config.yaml ] && [ ! -s "$CRASHDIR"/jsons/config.json ]; then - comp_box "\033[32m$UG_IMPORT_CONFIG\033[0m" \ - "\033[0m$UG_CONFIG_TIP\033[0m" - read -r -p "$UG_CONFIG_RES(1/0)> " res + comp_box "\033[0m$UG_IMPORT_CONFIG\033[0m" \ + "\033[32m$UG_CONFIG_TIP\033[0m" \ + "$UG_CONFIG_RES" + btm_box "1) 立即导入" \ + "0) 暂不导入" + read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && inuserguide=1 && { . "$CRASHDIR"/menus/6_core_config.sh && set_core_config inuserguide="" From 3f39be82c4a3780c9aff11af1ae4e9982c690ea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 13:28:38 +0800 Subject: [PATCH 207/318] =?UTF-8?q?=E4=B8=80=E4=B8=AA=E7=AD=89=E5=8F=B7?= =?UTF-8?q?=E5=BC=95=E5=8F=91=E7=9A=84=E8=A1=80=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 去掉了那个【=】 --- scripts/libs/web_get.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libs/web_get.sh b/scripts/libs/web_get.sh index 47af4b8c..620492b4 100644 --- a/scripts/libs/web_get.sh +++ b/scripts/libs/web_get.sh @@ -69,7 +69,7 @@ webget(){ #参数【$1】代表下载目录,【$2】代表在线地址 #参数【$3】代表输出显示,【$4】不启用重定向 #参数【$5】代表验证证书,【$6】使用自定义UA - [ -n "$6" ] && agent="--user-agent=$6" + [ -n "$6" ] && agent="--user-agent $6" if wget --help 2>&1 | grep -q 'show-progress' >/dev/null 2>&1; then [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' [ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect='' From 77113c81a438b04a324dd8911c9be0d008a88761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 14:17:12 +0800 Subject: [PATCH 208/318] Fix URLs in DustinWin_RS_Full.yaml --- rules/clash_providers/DustinWin_RS_Full.yaml | 38 ++++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index 2d7fe738..16a7b903 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -39,7 +39,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" interval: 86400 ads: @@ -47,7 +47,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ads.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" interval: 86400 trackerslist: @@ -55,7 +55,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -63,7 +63,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -71,7 +71,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -79,7 +79,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -87,7 +87,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" interval: 86400 media: @@ -95,7 +95,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/media.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" interval: 86400 games: @@ -103,7 +103,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" interval: 86400 ai: @@ -111,7 +111,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -119,7 +119,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -127,7 +127,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -135,7 +135,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -143,7 +143,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -151,7 +151,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 mediaip: @@ -159,7 +159,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/mediaip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" interval: 86400 gamesip: @@ -167,7 +167,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/gamesip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" interval: 86400 telegramip: @@ -175,7 +175,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" interval: 86400 rules: @@ -197,4 +197,4 @@ rules: - RULE-SET,mediaip,🌍 国外媒体 - RULE-SET,gamesip,🎮 游戏平台 - RULE-SET,telegramip,📲 电报消息,no-resolve - - MATCH,🐟 漏网之鱼 \ No newline at end of file + - MATCH,🐟 漏网之鱼 From 5e05fea6f00f0453d4c262adf974f7cc4e96b001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 14:17:45 +0800 Subject: [PATCH 209/318] Fix URLs in DustinWin_RS_Full_NoAds.yaml --- .../DustinWin_RS_Full_NoAds.yaml | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index c3620ca9..48e1c31d 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -36,7 +36,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" interval: 86400 trackerslist: @@ -44,7 +44,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -52,7 +52,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -60,7 +60,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -68,7 +68,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -76,7 +76,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" interval: 86400 netflix: @@ -84,7 +84,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/netflix.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflix.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflix.mrs" interval: 86400 youtube: @@ -92,7 +92,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/youtube.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/youtube.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/youtube.mrs" interval: 86400 media: @@ -100,7 +100,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/media.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" interval: 86400 games: @@ -108,7 +108,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" interval: 86400 ai: @@ -116,7 +116,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -124,7 +124,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -132,7 +132,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -140,7 +140,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -148,7 +148,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -156,7 +156,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 netflixip: @@ -164,7 +164,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/netflixip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflixip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflixip.mrs" interval: 86400 mediaip: @@ -172,7 +172,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/mediaip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" interval: 86400 gamesip: @@ -180,7 +180,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/gamesip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" interval: 86400 telegramip: @@ -188,7 +188,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" interval: 86400 rules: @@ -212,4 +212,4 @@ rules: - RULE-SET,mediaip,🌍 国外媒体 - RULE-SET,gamesip,🎮 游戏平台 - RULE-SET,telegramip,📲 电报消息,no-resolve - - MATCH,🐟 漏网之鱼 \ No newline at end of file + - MATCH,🐟 漏网之鱼 From 347f4668b44467c88fd6a8e9b11ab87babb5c916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 14:18:07 +0800 Subject: [PATCH 210/318] Fix URLs in DustinWin_RS_Light.yaml --- rules/clash_providers/DustinWin_RS_Light.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/rules/clash_providers/DustinWin_RS_Light.yaml b/rules/clash_providers/DustinWin_RS_Light.yaml index 5f735ec2..582f7ed3 100644 --- a/rules/clash_providers/DustinWin_RS_Light.yaml +++ b/rules/clash_providers/DustinWin_RS_Light.yaml @@ -22,7 +22,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" interval: 86400 private: @@ -30,7 +30,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" interval: 86400 tld-proxy: @@ -38,7 +38,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/tld-proxy.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/tld-proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/tld-proxy.mrs" interval: 86400 proxy: @@ -46,7 +46,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" interval: 86400 privateip: @@ -54,7 +54,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -62,7 +62,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -70,7 +70,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" interval: 86400 rules: @@ -81,4 +81,4 @@ rules: - RULE-SET,privateip,DIRECT,no-resolve - RULE-SET,cnip,🎯 全球直连 - RULE-SET,telegramip,📲 电报消息,no-resolve - - MATCH,🐟 漏网之鱼 \ No newline at end of file + - MATCH,🐟 漏网之鱼 From b883e20b3e23dad3cb3c19848f0dad890c124495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 14:18:25 +0800 Subject: [PATCH 211/318] Fix URLs in DustinWin_RS_Lite.yaml --- rules/clash_providers/DustinWin_RS_Lite.yaml | 30 ++++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index 9439c5cc..ea262d85 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -35,7 +35,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" interval: 86400 ads: @@ -43,7 +43,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ads.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" interval: 86400 trackerslist: @@ -51,7 +51,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -59,7 +59,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -67,7 +67,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -75,7 +75,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -83,7 +83,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" interval: 86400 ai: @@ -91,7 +91,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -99,7 +99,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -107,7 +107,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -115,7 +115,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -123,7 +123,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -131,7 +131,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -139,7 +139,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" interval: 86400 rules: @@ -157,4 +157,4 @@ rules: - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 直连 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - - MATCH,🐟 漏网之鱼 \ No newline at end of file + - MATCH,🐟 漏网之鱼 From 524c8a42686782d6bd2db3227ea4b621ba8057ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 14:18:45 +0800 Subject: [PATCH 212/318] Fix URLs in DustinWin_RS_Lite_NoAds.yaml --- .../DustinWin_RS_Lite_NoAds.yaml | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index c285c555..88249d1c 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -32,7 +32,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" interval: 86400 trackerslist: @@ -40,7 +40,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -48,7 +48,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -56,7 +56,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -64,7 +64,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -72,7 +72,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" interval: 86400 ai: @@ -80,7 +80,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -88,7 +88,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -96,7 +96,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -104,7 +104,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn-lite.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn-lite.mrs" interval: 86400 privateip: @@ -112,7 +112,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -120,7 +120,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -128,7 +128,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" interval: 86400 rules: @@ -145,4 +145,4 @@ rules: - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 直连 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - - MATCH,🐟 漏网之鱼 \ No newline at end of file + - MATCH,🐟 漏网之鱼 From 09bbe6f40285b71f8e933da91368f9bdc87fdcb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E5=B0=8F=E5=B0=8F=E7=8C=AB=E4=BB=94?= Date: Fri, 6 Feb 2026 14:19:35 +0800 Subject: [PATCH 213/318] Fix URLs in ShellCrash_RS_Nano.yaml --- rules/clash_providers/ShellCrash_RS_Nano.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rules/clash_providers/ShellCrash_RS_Nano.yaml b/rules/clash_providers/ShellCrash_RS_Nano.yaml index 8630dee6..4e626c9e 100644 --- a/rules/clash_providers/ShellCrash_RS_Nano.yaml +++ b/rules/clash_providers/ShellCrash_RS_Nano.yaml @@ -8,21 +8,21 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" interval: 86400 privateip: type: http behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" interval: 86400 cnip: type: http behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh//DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" interval: 86400 rules: - RULE-SET,privateip,🎯 全球直连,no-resolve From e693b7ad352b922543c9540858b82ac9c7808ed8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 8 Feb 2026 19:51:37 +0800 Subject: [PATCH 214/318] =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20?= =?UTF-8?q?=20=20=20=20README=5FCN.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README_CN.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README_CN.md b/README_CN.md index e3c11f40..c0343630 100644 --- a/README_CN.md +++ b/README_CN.md @@ -188,5 +188,4 @@ crash -h # 查看命令帮助列表 ## :airplane: 机场推荐 -- [**Dler-墙洞**](https://dler.pro/auth/register?affid=89698),多年稳定运行,功能齐全。 - [**大米**](https://1s.bigmeok.me/user#/register?code=2PuWY9I7),群友力荐,流媒体解锁,月付推荐。 From 93ad3c133c4cae9e5ecd52f57d21e27f3caf0ba0 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 8 Feb 2026 21:26:53 +0800 Subject: [PATCH 215/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=92=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96curl=E8=BF=9B=E5=BA=A6=E6=9D=A1=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/web_get.sh | 77 +++++---------------------------- scripts/libs/web_get_curlbar.sh | 47 ++++++++++++++++++++ 2 files changed, 57 insertions(+), 67 deletions(-) create mode 100644 scripts/libs/web_get_curlbar.sh diff --git a/scripts/libs/web_get.sh b/scripts/libs/web_get.sh index 620492b4..94d2e913 100644 --- a/scripts/libs/web_get.sh +++ b/scripts/libs/web_get.sh @@ -10,60 +10,6 @@ webget(){ url=$(printf '%s\n' "$2" | sed 's#https://raw.githubusercontent.com/juewuy/ShellCrash/#https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@#') fi - - # === 新增模块 1:大小探测 (仅显示用) === - fsize_raw=0 - if [ "$3" != "echooff" ]; then - # 探测头信息 - header=$(curl -sIL --connect-timeout 2 "$url") - # 代理容错 - [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } - - # 提取大小 (优先 Content-Length,其次 ETag) - fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') - if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then - etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) - [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) - fi - # 显示文件大小 - [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 0 ] && echo "文件大小: $(awk -v n=$fsize_raw 'BEGIN {printf "%.2f", n/1048576}') MB" - fi - - # === 新增模块 2:手搓进度条引擎 (函数定义) === - execute_curl(){ - local path="$1" target_url="$2" total_size="$3" extra_args="$4" - rm -f /tmp/webget_res - # 后台静默下载,状态码写入临时文件 - curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & - local pid=$! - - # 循环监控 - while kill -0 $pid 2>/dev/null; do - if [ -f "$path" ]; then - local curr=$(wc -c < "$path") - local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') - - # 40字符安全宽度 - local bar_max=40 - local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') - local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) - local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") - - # \033[2K 清除整行 - printf "\r\033[2K%s%s %6s%%" "$bar" "$spc" "$pct" >&2 - fi - usleep 200000 2>/dev/null || sleep 1 - done - - local code=$(cat /tmp/webget_res 2>/dev/null) - if [ "$code" = "200" ] || [ "$code" = "206" ]; then - local full=$(printf "%40s" | tr ' ' '#') - printf "\r\033[2K%s 100.0%%\n" "$full" >&2 - else - printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" - fi - echo "$code" - } # =============================================== #参数【$1】代表下载目录,【$2】代表在线地址 @@ -82,39 +28,36 @@ webget(){ wget -Y off $agent $progress $redirect $certificate --timeout=5 -O "$1" "$2" return $? elif curl --version >/dev/null 2>&1; then - [ "$3" = "echooff" ] && progress='-s' || progress='-#' + if [ "$3" = "echooff" ];then + progress='-s' + elif echo "$url" | grep -q 'jsdelivr.net';then + . "$CRASHDIR"/libs/web_get_curlbar.sh && curl_fsize + else + progress='-#' + fi [ "$4" = "rediroff" ] && redirect='' || redirect='-L' if [ "$5" = "skipceroff" ] || [ "$skip_cert" = OFF ];then certificate='' else certificate='-k' fi - - # 判断是否启用手搓进度条 (CDN 且 非静默 且 有大小) - use_manual_bar="" # <--- 这里加上了初始化 - has_cl=$(echo "$header" | grep -iq 'Content-Length' && echo "yes") - [ "$3" != "echooff" ] && [ "$has_cl" != "yes" ] && [ "$fsize_raw" -gt 0 ] && use_manual_bar="yes" - + # curl 特殊版本兼容 auth_arg="" if curl --version | grep -q '^curl 8.' && ckcmd base64; then auth_b64=$(printf '%s' "$authentication" | base64) [ -n "$auth_b64" ] && auth_arg="--proxy-header Proxy-Authorization:Basic $auth_b64" fi - - # --- 第一次下载 --- - if [ "$use_manual_bar" = "yes" ]; then + if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then result=$(execute_curl "$1" "$url" "$fsize_raw" "$agent $auth_arg $redirect $certificate") else result=$(curl $agent $auth_arg -w '%{http_code}' --connect-timeout 3 $progress $redirect $certificate -o "$1" "$url") fi [ "$result" = "200" ] && return 0 #成功则退出否则重试 - - # --- Fallback 重试 --- export https_proxy="" export http_proxy="" - if [ "$use_manual_bar" = "yes" ]; then + if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then result=$(execute_curl "$1" "$2" "$fsize_raw" "$agent $redirect $certificate") else result=$(curl $agent -w '%{http_code}' --connect-timeout 5 $progress $redirect $certificate -o "$1" "$2") diff --git a/scripts/libs/web_get_curlbar.sh b/scripts/libs/web_get_curlbar.sh new file mode 100644 index 00000000..8031471a --- /dev/null +++ b/scripts/libs/web_get_curlbar.sh @@ -0,0 +1,47 @@ + +bar_max=42 #进度条长度 + +curl_fsize(){ # 获取文件大小 + fsize_raw=0 + header=$(curl -sIL --connect-timeout 2 "$url") + # 代理容错 + [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } + # 提取大小 (优先 Content-Length,其次 ETag) + fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') + if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then + etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) + [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) + fi +} + +execute_curl(){ # 手搓curl进度条 + local path="$1" target_url="$2" total_size="$3" extra_args="$4" + rm -f /tmp/webget_res + # 后台静默下载,状态码写入临时文件 + curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & + local pid=$! + + # 循环监控 + while kill -0 $pid 2>/dev/null; do + if [ -f "$path" ]; then + local curr=$(wc -c < "$path") + local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') + local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') + local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) + local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") + local size=$(( fsize_raw * 100 / 1048576 )) + local fs="$((size / 100)).$((size % 100)) MB" + printf "\r\033[2K%s%s %6s%%(%s)" "$bar" "$spc" "$pct" "$fs" >&2 + fi + usleep 200000 2>/dev/null || sleep 1 + done + + local code=$(cat /tmp/webget_res 2>/dev/null) + if [ "$code" = "200" ] || [ "$code" = "206" ]; then + local full=$(printf "%${bar_max}s" | tr ' ' '#') + printf "\r\033[2K%s 100.0%%(%s)\n" "$full" "$fs" >&2 + else + printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" + fi + echo "$code" +} \ No newline at end of file From e5489f3c91fbe6af922e22ccb70d9100d5527a59 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 8 Feb 2026 21:26:53 +0800 Subject: [PATCH 216/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=92=8C=E4=BC=98?= =?UTF-8?q?=E5=8C=96curl=E8=BF=9B=E5=BA=A6=E6=9D=A1=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/web_get.sh | 78 +++++---------------------------- scripts/libs/web_get_curlbar.sh | 47 ++++++++++++++++++++ 2 files changed, 58 insertions(+), 67 deletions(-) create mode 100644 scripts/libs/web_get_curlbar.sh diff --git a/scripts/libs/web_get.sh b/scripts/libs/web_get.sh index 620492b4..70e3aa85 100644 --- a/scripts/libs/web_get.sh +++ b/scripts/libs/web_get.sh @@ -10,60 +10,6 @@ webget(){ url=$(printf '%s\n' "$2" | sed 's#https://raw.githubusercontent.com/juewuy/ShellCrash/#https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@#') fi - - # === 新增模块 1:大小探测 (仅显示用) === - fsize_raw=0 - if [ "$3" != "echooff" ]; then - # 探测头信息 - header=$(curl -sIL --connect-timeout 2 "$url") - # 代理容错 - [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } - - # 提取大小 (优先 Content-Length,其次 ETag) - fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') - if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then - etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) - [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) - fi - # 显示文件大小 - [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 0 ] && echo "文件大小: $(awk -v n=$fsize_raw 'BEGIN {printf "%.2f", n/1048576}') MB" - fi - - # === 新增模块 2:手搓进度条引擎 (函数定义) === - execute_curl(){ - local path="$1" target_url="$2" total_size="$3" extra_args="$4" - rm -f /tmp/webget_res - # 后台静默下载,状态码写入临时文件 - curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & - local pid=$! - - # 循环监控 - while kill -0 $pid 2>/dev/null; do - if [ -f "$path" ]; then - local curr=$(wc -c < "$path") - local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') - - # 40字符安全宽度 - local bar_max=40 - local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') - local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) - local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") - - # \033[2K 清除整行 - printf "\r\033[2K%s%s %6s%%" "$bar" "$spc" "$pct" >&2 - fi - usleep 200000 2>/dev/null || sleep 1 - done - - local code=$(cat /tmp/webget_res 2>/dev/null) - if [ "$code" = "200" ] || [ "$code" = "206" ]; then - local full=$(printf "%40s" | tr ' ' '#') - printf "\r\033[2K%s 100.0%%\n" "$full" >&2 - else - printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" - fi - echo "$code" - } # =============================================== #参数【$1】代表下载目录,【$2】代表在线地址 @@ -82,39 +28,37 @@ webget(){ wget -Y off $agent $progress $redirect $certificate --timeout=5 -O "$1" "$2" return $? elif curl --version >/dev/null 2>&1; then - [ "$3" = "echooff" ] && progress='-s' || progress='-#' + if [ "$3" = "echooff" ];then + progress='-s' + elif echo "$url" | grep -q 'jsdelivr.net';then + progress='-#' + . "$CRASHDIR"/libs/web_get_curlbar.sh && curl_fsize + else + progress='-#' + fi [ "$4" = "rediroff" ] && redirect='' || redirect='-L' if [ "$5" = "skipceroff" ] || [ "$skip_cert" = OFF ];then certificate='' else certificate='-k' fi - - # 判断是否启用手搓进度条 (CDN 且 非静默 且 有大小) - use_manual_bar="" # <--- 这里加上了初始化 - has_cl=$(echo "$header" | grep -iq 'Content-Length' && echo "yes") - [ "$3" != "echooff" ] && [ "$has_cl" != "yes" ] && [ "$fsize_raw" -gt 0 ] && use_manual_bar="yes" - + # curl 特殊版本兼容 auth_arg="" if curl --version | grep -q '^curl 8.' && ckcmd base64; then auth_b64=$(printf '%s' "$authentication" | base64) [ -n "$auth_b64" ] && auth_arg="--proxy-header Proxy-Authorization:Basic $auth_b64" fi - - # --- 第一次下载 --- - if [ "$use_manual_bar" = "yes" ]; then + if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then result=$(execute_curl "$1" "$url" "$fsize_raw" "$agent $auth_arg $redirect $certificate") else result=$(curl $agent $auth_arg -w '%{http_code}' --connect-timeout 3 $progress $redirect $certificate -o "$1" "$url") fi [ "$result" = "200" ] && return 0 #成功则退出否则重试 - - # --- Fallback 重试 --- export https_proxy="" export http_proxy="" - if [ "$use_manual_bar" = "yes" ]; then + if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then result=$(execute_curl "$1" "$2" "$fsize_raw" "$agent $redirect $certificate") else result=$(curl $agent -w '%{http_code}' --connect-timeout 5 $progress $redirect $certificate -o "$1" "$2") diff --git a/scripts/libs/web_get_curlbar.sh b/scripts/libs/web_get_curlbar.sh new file mode 100644 index 00000000..8031471a --- /dev/null +++ b/scripts/libs/web_get_curlbar.sh @@ -0,0 +1,47 @@ + +bar_max=42 #进度条长度 + +curl_fsize(){ # 获取文件大小 + fsize_raw=0 + header=$(curl -sIL --connect-timeout 2 "$url") + # 代理容错 + [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } + # 提取大小 (优先 Content-Length,其次 ETag) + fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') + if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then + etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) + [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) + fi +} + +execute_curl(){ # 手搓curl进度条 + local path="$1" target_url="$2" total_size="$3" extra_args="$4" + rm -f /tmp/webget_res + # 后台静默下载,状态码写入临时文件 + curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & + local pid=$! + + # 循环监控 + while kill -0 $pid 2>/dev/null; do + if [ -f "$path" ]; then + local curr=$(wc -c < "$path") + local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') + local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') + local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) + local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") + local size=$(( fsize_raw * 100 / 1048576 )) + local fs="$((size / 100)).$((size % 100)) MB" + printf "\r\033[2K%s%s %6s%%(%s)" "$bar" "$spc" "$pct" "$fs" >&2 + fi + usleep 200000 2>/dev/null || sleep 1 + done + + local code=$(cat /tmp/webget_res 2>/dev/null) + if [ "$code" = "200" ] || [ "$code" = "206" ]; then + local full=$(printf "%${bar_max}s" | tr ' ' '#') + printf "\r\033[2K%s 100.0%%(%s)\n" "$full" "$fs" >&2 + else + printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" + fi + echo "$code" +} \ No newline at end of file From 1c1d2ddac29363725a05919041e1e8b05469364e Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 8 Feb 2026 21:41:30 +0800 Subject: [PATCH 217/318] ~1.9.5a10 pkg --- ShellCrash.tar.gz | Bin 139969 -> 139972 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 710c04c069bd722443b5873bfd6c4228d51f2ef7..1f98f73bc6b038953c83eed166e32840dada3dcf 100644 GIT binary patch delta 139479 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བ?d{bQ=OFyWqnj8(4YLp8 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 delta 139414 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

a{39V`jTQTf4_+RXP2GA3fwjKVAN{ssnM&3 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 Date: Tue, 10 Feb 2026 20:05:45 +0800 Subject: [PATCH 218/318] ~fix --- scripts/menus/2_settings.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 672234f3..e378df18 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -271,7 +271,7 @@ set_redir_mod() { [ "$firewall_area" -le 3 ] && { content_line "1) 设为\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" content_line "2) 设为\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" - content_line "3) 设为\033[32m$SET_REDIR_TPROXY\033[0m:$SET_REDIR_TPROXYDES" + content_line "3) 设为\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" content_line "4) 设为\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" content_line "" } From 5d4fcc22715d77595a6dc385b5f48be5478e61aa Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 10 Feb 2026 20:09:22 +0800 Subject: [PATCH 219/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8Dsingboxr=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E7=94=9F=E6=88=90=E5=A4=B1=E8=B4=A5=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/providers_singbox.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index 316255c3..1644cd62 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -44,7 +44,7 @@ EOF [ -s "$CRASHDIR"/configs/providers.cfg ] && { providers_tags='' while read -r line; do - gen_providers_txt "$line" + gen_providers_txt $line providers_tags=$(echo "$providers_tags, \"$tag\"" | sed 's/^, //') done <"$CRASHDIR"/configs/providers.cfg } From 24fc10a59f7ad62572b1a2d62e5ff1eb33353e4c Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 10 Feb 2026 20:14:26 +0800 Subject: [PATCH 220/318] ~1.9.5a11 pkg --- ShellCrash.tar.gz | Bin 139972 -> 140069 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 1f98f73bc6b038953c83eed166e32840dada3dcf..452ef7a7beb5030a2346965aa84f958ff3c6a1cf 100644 GIT binary patch delta 136222 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%0A9jPKaKb<6e+j*Y(bR14>Qg4j+d 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

!|nT=EA5QvXNlNh`eHiUuCVM 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

uL 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Ξ&uxkD4Zh1s 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

~E5v4_Q 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 D6mgw5 diff --git a/bin/version b/bin/version index 5777be01..683bfaae 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alph10 +versionsh=1.9.5alpha11 GeoIP_v=20251205 diff --git a/version b/version index 1055bec5..7f3d429d 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alph10 +1.9.5alpha11 From 0a52ef25318f0b5dc04d834f62f8775254ba5bbf Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Wed, 11 Feb 2026 18:07:51 +0800 Subject: [PATCH 221/318] cn-lite.mrs>cn.mrs --- rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index 88249d1c..4bd3ff3d 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -104,7 +104,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn-lite.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" interval: 86400 privateip: From 65244e51dabceea6f2205d29ff3b97914ee705b6 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 14 Feb 2026 20:48:52 +0800 Subject: [PATCH 222/318] =?UTF-8?q?~=E7=89=88=E6=9C=AC=E5=9B=9E=E9=80=80?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E4=BD=BF=E7=94=A8api=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/9_upgrade.sh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index dd28b10c..90761210 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -1215,7 +1215,7 @@ setserver() { separator_line "=" content_line "\033[32m正在获取版本信息......\033[0m" . "$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 + list=$(web_get_lite https://api.github.com/repos/juewuy/ShellCrash/tags | grep -E '"name": "[0-9]' | cut -d '"' -f4) if [ "$?" = "0" ]; then content_line "\033[32m获取版本信息成功\033[0m" separator_line "=" @@ -1223,18 +1223,14 @@ setserver() { line_break separator_line "=" content_line "\033[31m请选择想要回退至的具体版本:\033[0m" - cat "$TMPDIR"/tags | - awk '{print NR") "$1}' | - while IFS= read -r line; do - content_line "$line" - done + list_box "$list" btm_box "" \ "0) 返回上级菜单" read -r -p "请输入对应标号> " num if [ -z "$num" ] || [ "$num" = 0 ]; then continue - elif [ "$num" -le $(cat "$TMPDIR"/tags 2>/dev/null | awk 'END{print NR}') ]; then - release_type=$(cat "$TMPDIR"/tags | awk '{print $1}' | sed -n "$num"p) + elif [ "$num" -le $(echo "$list" | awk 'END{print NR}') ]; then + release_type=$(echo "$list" | sed -n "$num"p) update_url='' saveserver else From 31bf9915c69f4f41372909f8f4a422f0d216a65c Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 15 Feb 2026 20:37:11 +0800 Subject: [PATCH 223/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=B0=8F=E9=97=AA?= =?UTF-8?q?=E5=AD=98=E6=A8=A1=E5=BC=8F=E9=83=A8=E5=88=86=E6=83=85=E5=86=B5?= =?UTF-8?q?=E4=B8=8B=E5=90=AF=E5=8A=A8=E6=8A=A5=E9=94=99=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/init.sh | 7 ++----- scripts/menus/4_setboot.sh | 4 ++-- scripts/menus/userguide.sh | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index 364be108..0e602a89 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -81,11 +81,8 @@ done setconfig versionsh_l $version #生成用于执行启动服务的变量文件 [ ! -f "$CRASHDIR"/configs/command.env ] && { - TMPDIR='/tmp/ShellCrash' - BINDIR="$CRASHDIR" - touch "$CRASHDIR"/configs/command.env - setconfig TMPDIR "$TMPDIR" "$CRASHDIR"/configs/command.env - setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env + echo 'TMPDIR=/tmp/ShellCrash' > "$CRASHDIR"/configs/command.env + echo "BINDIR=$CRASHDIR" >> "$CRASHDIR"/configs/command.env } if [ -n "$(grep 'crashcore=singbox' "$CFG_PATH")" ]; then COMMAND='"$TMPDIR/CrashCore run -D $BINDIR -C $TMPDIR/jsons"' diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index 5c4527e7..9116ec76 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -129,7 +129,7 @@ setboot() { msg_alert "\033[33m已经停用小闪存功能!\033[0m" fi fi - setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env + sed -i "s#BINDIR=.*#BINDIR=$BINDIR#" "$CRASHDIR"/configs/command.env sleep 1 ;; 5) @@ -201,7 +201,7 @@ setboot() { continue ;; esac - setconfig BINDIR "$BINDIR" "$CRASHDIR"/configs/command.env + sed -i "s#BINDIR=.*#BINDIR=$BINDIR#" "$CRASHDIR"/configs/command.env break done ;; diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index 13796a81..b64c5f1d 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -99,7 +99,7 @@ userguide() { read -r -p "$COMMON_INPUT_R" res [ "$res" = 1 ] && { BINDIR=/tmp/ShellCrash - setconfig BINDIR /tmp/ShellCrash "$CRASHDIR"/configs/command.env + sed -i "s#BINDIR=.*#BINDIR=$BINDIR" "$CRASHDIR"/configs/command.env } fi From c373b0b7b0187eba5b20c109656aec2917323da3 Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Fri, 20 Feb 2026 13:46:26 +0800 Subject: [PATCH 224/318] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20DustinWin=5FRS=5FF?= =?UTF-8?q?ull=5FNoAds.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_RS_Full_NoAds.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 48e1c31d..018784ee 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -161,7 +161,7 @@ rule-providers: netflixip: type: http - behavior: domain + behavior: ipcidr format: mrs path: ./ruleset/netflixip.mrs url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflixip.mrs" From d032742984b672e75aa9cee156a065a29e1ab69b Mon Sep 17 00:00:00 2001 From: DustinWin Date: Wed, 25 Feb 2026 15:31:22 +0800 Subject: [PATCH 225/318] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_Geo_Full.yaml | 36 ++-- .../DustinWin_Geo_Full_NoAds.yaml | 36 ++-- .../clash_providers/DustinWin_Geo_Light.yaml | 8 +- rules/clash_providers/DustinWin_Geo_Lite.yaml | 26 +-- .../DustinWin_Geo_Lite_NoAds.yaml | 26 +-- rules/clash_providers/DustinWin_RS_Full.yaml | 159 ++++++++++------- .../DustinWin_RS_Full_NoAds.yaml | 164 +++++++++--------- rules/clash_providers/DustinWin_RS_Light.yaml | 22 +-- rules/clash_providers/DustinWin_RS_Lite.yaml | 54 +++--- .../DustinWin_RS_Lite_NoAds.yaml | 52 +++--- .../clash_providers/ShellCrash_Geo_Nano.yaml | 4 +- rules/clash_providers/ShellCrash_RS_Nano.yaml | 14 +- .../singbox_providers/DustinWin_RS_Full.json | 82 ++++----- .../DustinWin_RS_Full_NoAds.json | 66 ++++--- .../singbox_providers/DustinWin_RS_Light.json | 16 +- .../singbox_providers/DustinWin_RS_Lite.json | 34 ++-- .../DustinWin_RS_Lite_NoAds.json | 18 +- .../singbox_providers/ShellCrash_RS_Nano.json | 10 +- 18 files changed, 403 insertions(+), 424 deletions(-) diff --git a/rules/clash_providers/DustinWin_Geo_Full.yaml b/rules/clash_providers/DustinWin_Geo_Full.yaml index 335f4e3e..99622d4c 100644 --- a/rules/clash_providers/DustinWin_Geo_Full.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full.yaml @@ -1,25 +1,25 @@ #DustinWin-geosite全分组规则+去广告 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🎮 游戏平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🕹️ 游戏平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} - {name: 🛑 广告域名, type: select, proxies: [🔴 全球拦截, 🟢 全球绕过]} - {name: 🔴 全球拦截, type: select, proxies: [REJECT], hidden: true} - {name: 🟢 全球绕过, type: select, proxies: [PASS], hidden: true} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -39,15 +39,15 @@ rules: - GEOSITE,apple-cn,🍎 苹果服务 - GEOSITE,google-cn,🇬 谷歌服务 - GEOSITE,games-cn,🎮 游戏服务 + - GEOSITE,games,🕹️ 游戏平台 - GEOSITE,media,🌍 国外媒体 - - GEOSITE,games,🎮 游戏平台 - GEOSITE,ai,🤖 AI 平台 - GEOSITE,networktest,📈 网络测试 - GEOSITE,proxy,🧱 代理域名 - GEOSITE,cn,🛡️ 直连域名 - GEOIP,private,🔒 私有网络,no-resolve - GEOIP,cn,🀄️ 直连 IP - - GEOIP,media,🌍 国外媒体 - - GEOIP,games,🎮 游戏平台 - GEOIP,telegram,📲 电报消息,no-resolve + - GEOIP,games,🕹️ 游戏平台 + - GEOIP,media,🌍 国外媒体 - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml index 31d22fcd..dab5ff31 100644 --- a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml @@ -1,22 +1,22 @@ #DustinWin-geosite全分组规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🎮 游戏平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🕹️ 游戏平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -35,15 +35,15 @@ rules: - GEOSITE,apple-cn,🍎 苹果服务 - GEOSITE,google-cn,🇬 谷歌服务 - GEOSITE,games-cn,🎮 游戏服务 + - GEOSITE,games,🕹️ 游戏平台 - GEOSITE,media,🌍 国外媒体 - - GEOSITE,games,🎮 游戏平台 - GEOSITE,ai,🤖 AI 平台 - GEOSITE,networktest,📈 网络测试 - GEOSITE,proxy,🧱 代理域名 - GEOSITE,cn,🛡️ 直连域名 - GEOIP,private,🔒 私有网络,no-resolve - GEOIP,cn,🀄️ 直连 IP - - GEOIP,media,🌍 国外媒体 - - GEOIP,games,🎮 游戏平台 - GEOIP,telegram,📲 电报消息,no-resolve + - GEOIP,games,🕹️ 游戏平台 + - GEOIP,media,🌍 国外媒体 - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_Geo_Light.yaml b/rules/clash_providers/DustinWin_Geo_Light.yaml index 25356e5d..d69ce4e3 100644 --- a/rules/clash_providers/DustinWin_Geo_Light.yaml +++ b/rules/clash_providers/DustinWin_Geo_Light.yaml @@ -1,12 +1,12 @@ #DustinWin-gesite轻量规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} diff --git a/rules/clash_providers/DustinWin_Geo_Lite.yaml b/rules/clash_providers/DustinWin_Geo_Lite.yaml index 9bc12d94..8f9cf938 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite.yaml @@ -1,23 +1,23 @@ #DustinWin-geosite标准规则+去广告 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} - {name: 🛑 广告域名, type: select, proxies: [🔴 全球拦截, 🟢 全球绕过]} - {name: 🔴 全球拦截, type: select, proxies: [REJECT], hidden: true} - {name: 🟢 全球绕过, type: select, proxies: [PASS], hidden: true} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} diff --git a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml index 02cdc383..196d3267 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml @@ -1,20 +1,20 @@ #DustinWin-geosite标准规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index 16a7b903..83d7862f 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -1,27 +1,27 @@ #DustinWin-ruleset全分组规则+去广告 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🎮 游戏平台, type: select, proxies: [🚀 节点选择, 🎯 全球直连, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🕹️ 游戏平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} - {name: 🛑 广告域名, type: select, proxies: [🔴 全球拦截, 🟢 全球绕过]} - {name: 🔴 全球拦截, type: select, proxies: [REJECT], hidden: true} - {name: 🟢 全球绕过, type: select, proxies: [PASS], hidden: true} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -34,20 +34,20 @@ proxy-groups: - {name: 🇺🇸 美国节点, type: url-test, tolerance: 100, include-all: true, filter: "(?i)(🇺🇸|美|us|unitedstates|united states)"} rule-providers: - private: - type: http - behavior: domain - format: mrs - path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" - interval: 86400 - ads: type: http behavior: domain format: mrs path: ./ruleset/ads.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ads.mrs" + interval: 86400 + + private: + type: http + behavior: domain + format: mrs + path: ./ruleset/private.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 trackerslist: @@ -55,7 +55,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -63,7 +63,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -71,7 +71,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -79,7 +79,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -87,15 +87,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" - interval: 86400 - - media: - type: http - behavior: domain - format: mrs - path: ./ruleset/media.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games-cn.mrs" interval: 86400 games: @@ -103,7 +95,31 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games.mrs" + interval: 86400 + + netflix: + type: http + behavior: domain + format: mrs + path: ./ruleset/netflix.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/netflix.mrs" + interval: 86400 + + youtube: + type: http + behavior: domain + format: mrs + path: ./ruleset/youtube.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/youtube.mrs" + interval: 86400 + + media: + type: http + behavior: domain + format: mrs + path: ./ruleset/media.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/media.mrs" interval: 86400 ai: @@ -111,7 +127,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -119,7 +135,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -127,7 +143,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -135,7 +151,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -143,7 +159,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -151,23 +167,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" - interval: 86400 - - mediaip: - type: http - behavior: ipcidr - format: mrs - path: ./ruleset/mediaip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" - interval: 86400 - - gamesip: - type: http - behavior: ipcidr - format: mrs - path: ./ruleset/gamesip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -175,7 +175,31 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" + interval: 86400 + + gamesip: + type: http + behavior: ipcidr + format: mrs + path: ./ruleset/gamesip.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/gamesip.mrs" + interval: 86400 + + netflixip: + type: http + behavior: ipcidr + format: mrs + path: ./ruleset/netflixip.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/netflixip.mrs" + interval: 86400 + + mediaip: + type: http + behavior: ipcidr + format: mrs + path: ./ruleset/mediaip.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/mediaip.mrs" interval: 86400 rules: @@ -186,15 +210,18 @@ rules: - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 - RULE-SET,games-cn,🎮 游戏服务 + - RULE-SET,games,🕹️ 游戏平台 + - RULE-SET,netflix,🎥 奈飞视频 + - RULE-SET,youtube,📹 油管视频 - RULE-SET,media,🌍 国外媒体 - - RULE-SET,games,🎮 游戏平台 - RULE-SET,ai,🤖 AI 平台 - RULE-SET,networktest,📈 网络测试 - RULE-SET,proxy,🧱 代理域名 - RULE-SET,cn,🛡️ 直连域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 直连 IP - - RULE-SET,mediaip,🌍 国外媒体 - - RULE-SET,gamesip,🎮 游戏平台 - RULE-SET,telegramip,📲 电报消息,no-resolve + - RULE-SET,gamesip,🕹️ 游戏平台 + - RULE-SET,netflixip,🎥 奈飞视频 + - RULE-SET,mediaip,🌍 国外媒体 - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 48e1c31d..fcef1b9f 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -1,24 +1,24 @@ #DustinWin-ruleset全分组规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🎮 游戏平台, type: select, proxies: [🚀 节点选择, 🎯 全球直连, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🕹️ 游戏平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -36,7 +36,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 trackerslist: @@ -44,7 +44,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -52,7 +52,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -60,7 +60,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -68,7 +68,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -76,31 +76,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" - interval: 86400 - - netflix: - type: http - behavior: domain - format: mrs - path: ./ruleset/netflix.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflix.mrs" - interval: 86400 - - youtube: - type: http - behavior: domain - format: mrs - path: ./ruleset/youtube.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/youtube.mrs" - interval: 86400 - - media: - type: http - behavior: domain - format: mrs - path: ./ruleset/media.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games-cn.mrs" interval: 86400 games: @@ -108,7 +84,31 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games.mrs" + interval: 86400 + + netflix: + type: http + behavior: domain + format: mrs + path: ./ruleset/netflix.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/netflix.mrs" + interval: 86400 + + youtube: + type: http + behavior: domain + format: mrs + path: ./ruleset/youtube.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/youtube.mrs" + interval: 86400 + + media: + type: http + behavior: domain + format: mrs + path: ./ruleset/media.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/media.mrs" interval: 86400 ai: @@ -116,7 +116,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -124,7 +124,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -132,7 +132,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -140,7 +140,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -148,7 +148,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -156,31 +156,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" - interval: 86400 - - netflixip: - type: http - behavior: domain - format: mrs - path: ./ruleset/netflixip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflixip.mrs" - interval: 86400 - - mediaip: - type: http - behavior: ipcidr - format: mrs - path: ./ruleset/mediaip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" - interval: 86400 - - gamesip: - type: http - behavior: ipcidr - format: mrs - path: ./ruleset/gamesip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -188,7 +164,31 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" + interval: 86400 + + gamesip: + type: http + behavior: ipcidr + format: mrs + path: ./ruleset/gamesip.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/gamesip.mrs" + interval: 86400 + + netflixip: + type: http + behavior: ipcidr + format: mrs + path: ./ruleset/netflixip.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/netflixip.mrs" + interval: 86400 + + mediaip: + type: http + behavior: ipcidr + format: mrs + path: ./ruleset/mediaip.mrs + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/mediaip.mrs" interval: 86400 rules: @@ -198,18 +198,18 @@ rules: - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 - RULE-SET,games-cn,🎮 游戏服务 + - RULE-SET,games,🕹️ 游戏平台 - RULE-SET,netflix,🎥 奈飞视频 - RULE-SET,youtube,📹 油管视频 - RULE-SET,media,🌍 国外媒体 - - RULE-SET,games,🎮 游戏平台 - RULE-SET,ai,🤖 AI 平台 - RULE-SET,networktest,📈 网络测试 - RULE-SET,proxy,🧱 代理域名 - RULE-SET,cn,🛡️ 直连域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 直连 IP + - RULE-SET,telegramip,📲 电报消息,no-resolve + - RULE-SET,gamesip,🕹️ 游戏平台 - RULE-SET,netflixip,🎥 奈飞视频 - RULE-SET,mediaip,🌍 国外媒体 - - RULE-SET,gamesip,🎮 游戏平台 - - RULE-SET,telegramip,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/DustinWin_RS_Light.yaml b/rules/clash_providers/DustinWin_RS_Light.yaml index 582f7ed3..efeb01f7 100644 --- a/rules/clash_providers/DustinWin_RS_Light.yaml +++ b/rules/clash_providers/DustinWin_RS_Light.yaml @@ -1,10 +1,10 @@ #DustinWin-ruleset轻量规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT, 🚀 节点选择]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT, 🚀 节点选择]} - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, DIRECT]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -22,7 +22,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" interval: 86400 private: @@ -30,7 +30,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 tld-proxy: @@ -38,7 +38,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/tld-proxy.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/tld-proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/tld-proxy.mrs" interval: 86400 proxy: @@ -46,7 +46,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/proxy.mrs" interval: 86400 privateip: @@ -54,7 +54,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -62,7 +62,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -70,15 +70,15 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" interval: 86400 rules: - RULE-SET,private,DIRECT - RULE-SET,tld-proxy,🧱 代理域名 - RULE-SET,proxy,🧱 代理域名 - - RULE-SET,cn,🎯 全球直连 + - RULE-SET,cn,🎯 本地直连 - RULE-SET,privateip,DIRECT,no-resolve - - RULE-SET,cnip,🎯 全球直连 + - RULE-SET,cnip,🎯 本地直连 - RULE-SET,telegramip,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index ea262d85..6eef6018 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -1,23 +1,23 @@ #DustinWin-ruleset标准规则+去广告 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} - {name: 🛑 广告域名, type: select, proxies: [🔴 全球拦截, 🟢 全球绕过]} - {name: 🔴 全球拦截, type: select, proxies: [REJECT], hidden: true} - {name: 🟢 全球绕过, type: select, proxies: [PASS], hidden: true} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -35,7 +35,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 ads: @@ -43,7 +43,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ads.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ads.mrs" interval: 86400 trackerslist: @@ -51,7 +51,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -59,7 +59,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -67,7 +67,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -75,7 +75,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -83,7 +83,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games-cn.mrs" interval: 86400 ai: @@ -91,7 +91,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -99,7 +99,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -107,7 +107,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -115,7 +115,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -123,7 +123,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -131,7 +131,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -139,7 +139,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" interval: 86400 rules: diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index 4bd3ff3d..03f8eb4c 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -1,20 +1,20 @@ #DustinWin-ruleset标准规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 📈 网络测试, type: select, proxies: [🎯 全球直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} - - {name: 🪟 微软服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🇬 谷歌服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🍎 苹果服务, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} + - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} + - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} + - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🔒 私有网络, type: select, proxies: [🎯 全球直连], hidden: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 全球直连]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} + - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -32,7 +32,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/private.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 trackerslist: @@ -40,7 +40,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" interval: 86400 microsoft-cn: @@ -48,7 +48,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/microsoft-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/microsoft-cn.mrs" interval: 86400 apple-cn: @@ -56,7 +56,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/apple-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/apple-cn.mrs" interval: 86400 google-cn: @@ -64,7 +64,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/google-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/google-cn.mrs" interval: 86400 games-cn: @@ -72,7 +72,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/games-cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games-cn.mrs" interval: 86400 ai: @@ -80,7 +80,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/ai.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ai.mrs" interval: 86400 networktest: @@ -88,7 +88,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/networktest.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/networktest.mrs" interval: 86400 proxy: @@ -96,7 +96,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/proxy.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/proxy.mrs" interval: 86400 cn: @@ -104,7 +104,7 @@ rule-providers: behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" interval: 86400 privateip: @@ -112,7 +112,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" interval: 86400 cnip: @@ -120,7 +120,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" interval: 86400 telegramip: @@ -128,7 +128,7 @@ rule-providers: behavior: ipcidr format: mrs path: ./ruleset/telegramip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" interval: 86400 rules: diff --git a/rules/clash_providers/ShellCrash_Geo_Nano.yaml b/rules/clash_providers/ShellCrash_Geo_Nano.yaml index ef33cc4e..d85795b6 100644 --- a/rules/clash_providers/ShellCrash_Geo_Nano.yaml +++ b/rules/clash_providers/ShellCrash_Geo_Nano.yaml @@ -1,7 +1,7 @@ #ShellCrash-geosite极简规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [{providers_tags}], include-all: true} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT, 🚀 节点选择]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT, 🚀 节点选择]} rules: - - GEOIP,cn,🎯 全球直连 + - GEOIP,cn,🎯 本地直连 - MATCH,🚀 节点选择 diff --git a/rules/clash_providers/ShellCrash_RS_Nano.yaml b/rules/clash_providers/ShellCrash_RS_Nano.yaml index 4e626c9e..95137a98 100644 --- a/rules/clash_providers/ShellCrash_RS_Nano.yaml +++ b/rules/clash_providers/ShellCrash_RS_Nano.yaml @@ -1,31 +1,31 @@ #ShellCrash-ruleset极简规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [{providers_tags}], include-all: true} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT, 🚀 节点选择]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT, 🚀 节点选择]} rule-providers: cn: type: http behavior: domain format: mrs path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" interval: 86400 privateip: type: http behavior: ipcidr format: mrs path: ./ruleset/privateip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" interval: 86400 cnip: type: http behavior: ipcidr format: mrs path: ./ruleset/cnip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" interval: 86400 rules: - - RULE-SET,privateip,🎯 全球直连,no-resolve - - RULE-SET,cn,🎯 全球直连 - - RULE-SET,cnip,🎯 全球直连 + - RULE-SET,privateip,🎯 本地直连,no-resolve + - RULE-SET,cn,🎯 本地直连 + - RULE-SET,cnip,🎯 本地直连 - MATCH,🚀 节点选择 diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index 69ff4d98..ca84fbcc 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -3,16 +3,16 @@ "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🕹️ 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 本地直连", "👑 高级节点", "🚀 节点选择" ] }, { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🎮 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, @@ -41,32 +41,24 @@ { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, { "rule_set": [ "games-cn" ], "outbound": "🎮 游戏服务" }, + { "rule_set": [ "games" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflix" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "youtube" ], "outbound": "📹 油管视频" }, { "rule_set": [ "media" ], "outbound": "🌍 国外媒体" }, - { "rule_set": [ "games" ], "outbound": "🎮 游戏平台" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "rule_set": [ "privateip" ], "outbound": "🎯 本地直连" }, + { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, + { "rule_set": [ "gamesip" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, - { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" }, - { "rule_set": [ "gamesip" ], "outbound": "🎮 游戏平台" } + { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" } ], "rule_set": [ - { - "tag": "private", - "type": "remote", - "format": "binary", - "path": "./ruleset/private.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", - "download_detour": "DIRECT" - }, { "tag": "ads", "type": "remote", @@ -75,6 +67,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/ads.srs", "download_detour": "DIRECT" }, + { + "tag": "private", + "type": "remote", + "format": "binary", + "path": "./ruleset/private.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", + "download_detour": "DIRECT" + }, { "tag": "trackerslist", "type": "remote", @@ -115,6 +115,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games-cn.srs", "download_detour": "DIRECT" }, + { + "tag": "games", + "type": "remote", + "format": "binary", + "path": "./ruleset/games.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games.srs", + "download_detour": "DIRECT" + }, { "tag": "netflix", "type": "remote", @@ -139,14 +147,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/media.srs", "download_detour": "DIRECT" }, - { - "tag": "games", - "type": "remote", - "format": "binary", - "path": "./ruleset/games.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games.srs", - "download_detour": "DIRECT" - }, { "tag": "ai", "type": "remote", @@ -180,11 +180,11 @@ "download_detour": "DIRECT" }, { - "tag": "privateip", + "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", + "path": "./ruleset/telegramip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, { @@ -195,6 +195,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" }, + { + "tag": "gamesip", + "type": "remote", + "format": "binary", + "path": "./ruleset/gamesip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/gamesip.srs", + "download_detour": "DIRECT" + }, { "tag": "netflixip", "type": "remote", @@ -210,22 +218,6 @@ "path": "./ruleset/mediaip.srs", "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/mediaip.srs", "download_detour": "DIRECT" - }, - { - "tag": "gamesip", - "type": "remote", - "format": "binary", - "path": "./ruleset/gamesip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/gamesip.srs", - "download_detour": "DIRECT" - }, - { - "tag": "telegramip", - "type": "remote", - "format": "binary", - "path": "./ruleset/telegramip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", - "download_detour": "DIRECT" } ], "final": "🐟 漏网之鱼" diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index 657e3ba5..2d223c12 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -3,16 +3,16 @@ "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🕹️ 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 本地直连", "👑 高级节点", "🚀 节点选择" ] }, { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🎮 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, @@ -38,22 +38,22 @@ { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, { "rule_set": [ "games-cn" ], "outbound": "🎮 游戏服务" }, + { "rule_set": [ "games" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflix" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "youtube" ], "outbound": "📹 油管视频" }, { "rule_set": [ "media" ], "outbound": "🌍 国外媒体" }, - { "rule_set": [ "games" ], "outbound": "🎮 游戏平台" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "rule_set": [ "privateip" ], "outbound": "🎯 本地直连" }, + { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, + { "rule_set": [ "gamesip" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, - { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" }, - { "rule_set": [ "gamesip" ], "outbound": "🎮 游戏平台" } + { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" } ], "rule_set": [ { @@ -104,6 +104,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games-cn.srs", "download_detour": "DIRECT" }, + { + "tag": "games", + "type": "remote", + "format": "binary", + "path": "./ruleset/games.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games.srs", + "download_detour": "DIRECT" + }, { "tag": "netflix", "type": "remote", @@ -128,14 +136,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/media.srs", "download_detour": "DIRECT" }, - { - "tag": "games", - "type": "remote", - "format": "binary", - "path": "./ruleset/games.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games.srs", - "download_detour": "DIRECT" - }, { "tag": "ai", "type": "remote", @@ -169,11 +169,11 @@ "download_detour": "DIRECT" }, { - "tag": "privateip", + "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", + "path": "./ruleset/telegramip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, { @@ -184,6 +184,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" }, + { + "tag": "gamesip", + "type": "remote", + "format": "binary", + "path": "./ruleset/gamesip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/gamesip.srs", + "download_detour": "DIRECT" + }, { "tag": "netflixip", "type": "remote", @@ -199,22 +207,6 @@ "path": "./ruleset/mediaip.srs", "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/mediaip.srs", "download_detour": "DIRECT" - }, - { - "tag": "gamesip", - "type": "remote", - "format": "binary", - "path": "./ruleset/gamesip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/gamesip.srs", - "download_detour": "DIRECT" - }, - { - "tag": "telegramip", - "type": "remote", - "format": "binary", - "path": "./ruleset/telegramip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", - "download_detour": "DIRECT" } ], "final": "🐟 漏网之鱼" diff --git a/rules/singbox_providers/DustinWin_RS_Light.json b/rules/singbox_providers/DustinWin_RS_Light.json index c94b6a50..fdefffbe 100644 --- a/rules/singbox_providers/DustinWin_RS_Light.json +++ b/rules/singbox_providers/DustinWin_RS_Light.json @@ -23,7 +23,7 @@ { "rule_set": [ "tld-proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "cn" ], "outbound": "🎯 本地直连" }, - { "rule_set": [ "privateip" ], "outbound": "🎯 本地直连" }, + { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, @@ -63,11 +63,11 @@ "download_detour": "DIRECT" }, { - "tag": "privateip", + "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", + "path": "./ruleset/telegramip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, { @@ -77,14 +77,6 @@ "path": "./ruleset/cnip.srs", "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" - }, - { - "tag": "telegramip", - "type": "remote", - "format": "binary", - "path": "./ruleset/telegramip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", - "download_detour": "DIRECT" } ], "final": "🐟 漏网之鱼" diff --git a/rules/singbox_providers/DustinWin_RS_Lite.json b/rules/singbox_providers/DustinWin_RS_Lite.json index 44748625..573128a4 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite.json +++ b/rules/singbox_providers/DustinWin_RS_Lite.json @@ -3,7 +3,7 @@ "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, + { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 本地直连", "👑 高级节点", "🚀 节点选择" ] }, { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, @@ -41,21 +41,13 @@ { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "rule_set": [ "privateip" ], "outbound": "🎯 本地直连" }, + { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" } ], "rule_set": [ - { - "tag": "private", - "type": "remote", - "format": "binary", - "path": "./ruleset/private.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", - "download_detour": "DIRECT" - }, { "tag": "ads", "type": "remote", @@ -64,6 +56,14 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/ads.srs", "download_detour": "DIRECT" }, + { + "tag": "private", + "type": "remote", + "format": "binary", + "path": "./ruleset/private.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", + "download_detour": "DIRECT" + }, { "tag": "trackerslist", "type": "remote", @@ -137,11 +137,11 @@ "download_detour": "DIRECT" }, { - "tag": "privateip", + "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", + "path": "./ruleset/telegramip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, { @@ -151,14 +151,6 @@ "path": "./ruleset/cnip.srs", "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" - }, - { - "tag": "telegramip", - "type": "remote", - "format": "binary", - "path": "./ruleset/telegramip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", - "download_detour": "DIRECT" } ], "final": "🐟 漏网之鱼" diff --git a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json index a5eba229..957c6dd1 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json @@ -3,7 +3,7 @@ "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, + { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 本地直连", "👑 高级节点", "🚀 节点选择" ] }, { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, @@ -38,7 +38,7 @@ { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "rule_set": [ "privateip" ], "outbound": "🎯 本地直连" }, + { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, @@ -127,11 +127,11 @@ "download_detour": "DIRECT" }, { - "tag": "privateip", + "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", + "path": "./ruleset/telegramip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, { @@ -141,14 +141,6 @@ "path": "./ruleset/cnip.srs", "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" - }, - { - "tag": "telegramip", - "type": "remote", - "format": "binary", - "path": "./ruleset/telegramip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", - "download_detour": "DIRECT" } ], "final": "🐟 漏网之鱼" diff --git a/rules/singbox_providers/ShellCrash_RS_Nano.json b/rules/singbox_providers/ShellCrash_RS_Nano.json index 1a08c9b9..9353091a 100644 --- a/rules/singbox_providers/ShellCrash_RS_Nano.json +++ b/rules/singbox_providers/ShellCrash_RS_Nano.json @@ -6,7 +6,7 @@ ], "route": { "rules": [ - { "rule_set": [ "privateip" ], "outbound": "🎯 本地直连" }, + { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "cn" ], "outbound": "🎯 本地直连" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, @@ -21,14 +21,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cn.srs", "download_detour": "DIRECT" }, - { - "tag": "privateip", - "type": "remote", - "format": "binary", - "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", - "download_detour": "DIRECT" - }, { "tag": "cnip", "type": "remote", From 4f9b066015d3ef17d850b9e1be8a8f7b2c8cf632 Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Sun, 1 Mar 2026 08:44:09 +0800 Subject: [PATCH 226/318] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20core=5Feasy=5Fupda?= =?UTF-8?q?te.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/core_easy_update.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/core_easy_update.yaml b/.github/workflows/core_easy_update.yaml index 99012f31..635e8184 100644 --- a/.github/workflows/core_easy_update.yaml +++ b/.github/workflows/core_easy_update.yaml @@ -20,6 +20,7 @@ jobs: [ "${{ inputs.tag1 }}" = singbox ] && repo="SagerNet/sing-box" [ "${{ inputs.tag1 }}" = singboxr ] && repo="SagerNet/sing-box" latest_tag=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r .tag_name) +{{ inputs.tag1 }}" = singboxr ] && latest_tag="${latest_tag}-reF1nd" echo "version=$latest_tag" >> $GITHUB_OUTPUT update_meta_upx: From bd9abee53f45db9fc7956dde953556a02c6682b7 Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Sun, 1 Mar 2026 08:51:04 +0800 Subject: [PATCH 227/318] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20core=5Feasy=5Fupda?= =?UTF-8?q?te.yaml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/core_easy_update.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/core_easy_update.yaml b/.github/workflows/core_easy_update.yaml index 635e8184..2b7ba9e3 100644 --- a/.github/workflows/core_easy_update.yaml +++ b/.github/workflows/core_easy_update.yaml @@ -20,7 +20,7 @@ jobs: [ "${{ inputs.tag1 }}" = singbox ] && repo="SagerNet/sing-box" [ "${{ inputs.tag1 }}" = singboxr ] && repo="SagerNet/sing-box" latest_tag=$(curl -s "https://api.github.com/repos/$repo/releases/latest" | jq -r .tag_name) -{{ inputs.tag1 }}" = singboxr ] && latest_tag="${latest_tag}-reF1nd" + [ "${{ inputs.tag1 }}" = singboxr ] && latest_tag="${latest_tag}-reF1nd" echo "version=$latest_tag" >> $GITHUB_OUTPUT update_meta_upx: From c66c642ca2b37131247446fea54b94a17dfc6212 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Tue, 3 Mar 2026 01:52:05 +0800 Subject: [PATCH 228/318] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=AD=E7=9A=84=E5=90=8D=E7=A7=B0=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E6=AD=A7=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_Geo_Full.yaml | 12 ++++++------ rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml | 12 ++++++------ rules/clash_providers/DustinWin_Geo_Light.yaml | 10 +++++----- rules/clash_providers/DustinWin_Geo_Lite.yaml | 12 ++++++------ rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml | 12 ++++++------ rules/clash_providers/DustinWin_RS_Full.yaml | 12 ++++++------ rules/clash_providers/DustinWin_RS_Full_NoAds.yaml | 12 ++++++------ rules/clash_providers/DustinWin_RS_Light.yaml | 6 +++--- rules/clash_providers/DustinWin_RS_Lite.yaml | 12 ++++++------ rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml | 12 ++++++------ rules/singbox_providers/DustinWin_RS_Full.json | 12 ++++++------ rules/singbox_providers/DustinWin_RS_Full_NoAds.json | 12 ++++++------ rules/singbox_providers/DustinWin_RS_Light.json | 6 +++--- rules/singbox_providers/DustinWin_RS_Lite.json | 12 ++++++------ rules/singbox_providers/DustinWin_RS_Lite_NoAds.json | 12 ++++++------ 15 files changed, 83 insertions(+), 83 deletions(-) diff --git a/rules/clash_providers/DustinWin_Geo_Full.yaml b/rules/clash_providers/DustinWin_Geo_Full.yaml index 99622d4c..e691db37 100644 --- a/rules/clash_providers/DustinWin_Geo_Full.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full.yaml @@ -10,9 +10,9 @@ proxy-groups: - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -43,10 +43,10 @@ rules: - GEOSITE,media,🌍 国外媒体 - GEOSITE,ai,🤖 AI 平台 - GEOSITE,networktest,📈 网络测试 - - GEOSITE,proxy,🧱 代理域名 - - GEOSITE,cn,🛡️ 直连域名 + - GEOSITE,proxy,🌎 国外域名 + - GEOSITE,cn,🇨🇳 国内域名 - GEOIP,private,🔒 私有网络,no-resolve - - GEOIP,cn,🀄️ 直连 IP + - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - GEOIP,games,🕹️ 游戏平台 - GEOIP,media,🌍 国外媒体 diff --git a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml index dab5ff31..435077aa 100644 --- a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml @@ -10,9 +10,9 @@ proxy-groups: - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -39,10 +39,10 @@ rules: - GEOSITE,media,🌍 国外媒体 - GEOSITE,ai,🤖 AI 平台 - GEOSITE,networktest,📈 网络测试 - - GEOSITE,proxy,🧱 代理域名 - - GEOSITE,cn,🛡️ 直连域名 + - GEOSITE,proxy,🌎 国外域名 + - GEOSITE,cn,🇨🇳 国内域名 - GEOIP,private,🔒 私有网络,no-resolve - - GEOIP,cn,🀄️ 直连 IP + - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - GEOIP,games,🕹️ 游戏平台 - GEOIP,media,🌍 国外媒体 diff --git a/rules/clash_providers/DustinWin_Geo_Light.yaml b/rules/clash_providers/DustinWin_Geo_Light.yaml index d69ce4e3..55b70b88 100644 --- a/rules/clash_providers/DustinWin_Geo_Light.yaml +++ b/rules/clash_providers/DustinWin_Geo_Light.yaml @@ -1,8 +1,8 @@ #DustinWin-gesite轻量规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [全球直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -20,9 +20,9 @@ proxy-groups: rules: - GEOSITE,private,🔒 私有网络 - - GEOSITE,tld-proxy,🧱 代理域名 - - GEOSITE,proxy,🧱 代理域名 + - GEOSITE,tld-proxy,🌎 国外域名 + - GEOSITE,proxy,🌎 国外域名 - GEOIP,private,🔒 私有网络,no-resolve - - GEOIP,cn,🀄️ 直连 IP + - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_Geo_Lite.yaml b/rules/clash_providers/DustinWin_Geo_Lite.yaml index 8f9cf938..ad8f0234 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite.yaml @@ -8,9 +8,9 @@ proxy-groups: - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -39,9 +39,9 @@ rules: - GEOSITE,games-cn,🎮 游戏服务 - GEOSITE,ai,🤖 AI 平台 - GEOSITE,networktest,📈 网络测试 - - GEOSITE,proxy,🧱 代理域名 - - GEOSITE,cn,🛡️ 直连域名 + - GEOSITE,proxy,🌎 国外域名 + - GEOSITE,cn,🇨🇳 国内域名 - GEOIP,private,🔒 私有网络,no-resolve - - GEOIP,cn,🀄️ 直连 IP + - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml index 196d3267..4886f685 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml @@ -8,9 +8,9 @@ proxy-groups: - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -35,9 +35,9 @@ rules: - GEOSITE,games-cn,🎮 游戏服务 - GEOSITE,ai,🤖 AI 平台 - GEOSITE,networktest,📈 网络测试 - - GEOSITE,proxy,🧱 代理域名 - - GEOSITE,cn,🛡️ 直连域名 + - GEOSITE,proxy,🌎 国外域名 + - GEOSITE,cn,🇨🇳 国内域名 - GEOIP,private,🔒 私有网络,no-resolve - - GEOIP,cn,🀄️ 直连 IP + - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index 83d7862f..cf9e5d2e 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -12,9 +12,9 @@ proxy-groups: - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -216,10 +216,10 @@ rules: - RULE-SET,media,🌍 国外媒体 - RULE-SET,ai,🤖 AI 平台 - RULE-SET,networktest,📈 网络测试 - - RULE-SET,proxy,🧱 代理域名 - - RULE-SET,cn,🛡️ 直连域名 + - RULE-SET,proxy,🌎 国外域名 + - RULE-SET,cn,🇨🇳 国内域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - - RULE-SET,cnip,🀄️ 直连 IP + - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - RULE-SET,gamesip,🕹️ 游戏平台 - RULE-SET,netflixip,🎥 奈飞视频 diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index fcef1b9f..6acae26c 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -12,9 +12,9 @@ proxy-groups: - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -204,10 +204,10 @@ rules: - RULE-SET,media,🌍 国外媒体 - RULE-SET,ai,🤖 AI 平台 - RULE-SET,networktest,📈 网络测试 - - RULE-SET,proxy,🧱 代理域名 - - RULE-SET,cn,🛡️ 直连域名 + - RULE-SET,proxy,🌎 国外域名 + - RULE-SET,cn,🇨🇳 国内域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - - RULE-SET,cnip,🀄️ 直连 IP + - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - RULE-SET,gamesip,🕹️ 游戏平台 - RULE-SET,netflixip,🎥 奈飞视频 diff --git a/rules/clash_providers/DustinWin_RS_Light.yaml b/rules/clash_providers/DustinWin_RS_Light.yaml index efeb01f7..49951f97 100644 --- a/rules/clash_providers/DustinWin_RS_Light.yaml +++ b/rules/clash_providers/DustinWin_RS_Light.yaml @@ -2,7 +2,7 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🎯 本地直连, type: select, proxies: [DIRECT, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, DIRECT]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, DIRECT]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -75,8 +75,8 @@ rule-providers: rules: - RULE-SET,private,DIRECT - - RULE-SET,tld-proxy,🧱 代理域名 - - RULE-SET,proxy,🧱 代理域名 + - RULE-SET,tld-proxy,🌎 国外域名 + - RULE-SET,proxy,🌎 国外域名 - RULE-SET,cn,🎯 本地直连 - RULE-SET,privateip,DIRECT,no-resolve - RULE-SET,cnip,🎯 本地直连 diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index 6eef6018..f1118bba 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -8,9 +8,9 @@ proxy-groups: - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -152,9 +152,9 @@ rules: - RULE-SET,games-cn,🎮 游戏服务 - RULE-SET,ai,🤖 AI 平台 - RULE-SET,networktest,📈 网络测试 - - RULE-SET,proxy,🧱 代理域名 - - RULE-SET,cn,🛡️ 直连域名 + - RULE-SET,proxy,🌎 国外域名 + - RULE-SET,cn,🇨🇳 国内域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - - RULE-SET,cnip,🀄️ 直连 IP + - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index 03f8eb4c..aa4b81b0 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -8,9 +8,9 @@ proxy-groups: - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🛡️ 直连域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} @@ -140,9 +140,9 @@ rules: - RULE-SET,games-cn,🎮 游戏服务 - RULE-SET,ai,🤖 AI 平台 - RULE-SET,networktest,📈 网络测试 - - RULE-SET,proxy,🧱 代理域名 - - RULE-SET,cn,🛡️ 直连域名 + - RULE-SET,proxy,🌎 国外域名 + - RULE-SET,cn,🇨🇳 国内域名 - RULE-SET,privateip,🔒 私有网络,no-resolve - - RULE-SET,cnip,🀄️ 直连 IP + - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index ca84fbcc..292893d3 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -13,9 +13,9 @@ { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🛑 广告域名", "type": "selector", "outbounds": [ "🔴 全球拦截", "🎯 本地直连" ] }, @@ -47,13 +47,13 @@ { "rule_set": [ "media" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, - { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, + { "rule_set": [ "proxy" ], "outbound": "🌎 国外域名" }, + { "rule_set": [ "cn" ], "outbound": "🇨🇳 国内域名" }, { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, - { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, + { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" }, { "rule_set": [ "gamesip" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" } diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index 2d223c12..f85d41ba 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -13,9 +13,9 @@ { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🎯 本地直连", "type": "direct" }, @@ -44,13 +44,13 @@ { "rule_set": [ "media" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, - { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, + { "rule_set": [ "proxy" ], "outbound": "🌎 国外域名" }, + { "rule_set": [ "cn" ], "outbound": "🇨🇳 国内域名" }, { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, - { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, + { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" }, { "rule_set": [ "gamesip" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" } diff --git a/rules/singbox_providers/DustinWin_RS_Light.json b/rules/singbox_providers/DustinWin_RS_Light.json index fdefffbe..511d6079 100644 --- a/rules/singbox_providers/DustinWin_RS_Light.json +++ b/rules/singbox_providers/DustinWin_RS_Light.json @@ -2,7 +2,7 @@ { "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🎯 本地直连", "type": "direct" }, @@ -20,8 +20,8 @@ "route": { "rules": [ { "rule_set": [ "private" ], "outbound": "🎯 本地直连" }, - { "rule_set": [ "tld-proxy" ], "outbound": "🧱 代理域名" }, - { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, + { "rule_set": [ "tld-proxy" ], "outbound": "🌎 国外域名" }, + { "rule_set": [ "proxy" ], "outbound": "🌎 国外域名" }, { "rule_set": [ "cn" ], "outbound": "🎯 本地直连" }, { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, diff --git a/rules/singbox_providers/DustinWin_RS_Lite.json b/rules/singbox_providers/DustinWin_RS_Lite.json index 573128a4..4c610a59 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite.json +++ b/rules/singbox_providers/DustinWin_RS_Lite.json @@ -9,9 +9,9 @@ { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🛑 广告域名", "type": "selector", "outbounds": [ "🔴 全球拦截", "🎯 本地直连" ] }, @@ -39,13 +39,13 @@ { "rule_set": [ "games-cn" ], "outbound": "🎮 游戏服务" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, - { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, + { "rule_set": [ "proxy" ], "outbound": "🌎 国外域名" }, + { "rule_set": [ "cn" ], "outbound": "🇨🇳 国内域名" }, { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, - { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" } + { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" } ], "rule_set": [ { diff --git a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json index 957c6dd1..1adffc36 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json @@ -9,9 +9,9 @@ { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🎯 本地直连", "type": "direct" }, @@ -36,13 +36,13 @@ { "rule_set": [ "games-cn" ], "outbound": "🎮 游戏服务" }, { "rule_set": [ "ai" ], "outbound": "🤖 AI 平台" }, { "rule_set": [ "networktest" ], "outbound": "📈 网络测试" }, - { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, + { "rule_set": [ "proxy" ], "outbound": "🌎 国外域名" }, + { "rule_set": [ "cn" ], "outbound": "🇨🇳 国内域名" }, { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, - { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" } + { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" } ], "rule_set": [ From a32b05a39159966a970d84ade273c60c9692f6f6 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Wed, 4 Mar 2026 17:27:21 +0800 Subject: [PATCH 229/318] =?UTF-8?q?=E5=88=A0=E9=99=A4=20games=EF=BC=88GEOI?= =?UTF-8?q?P=EF=BC=89=E5=92=8C=20gamesip=20=E8=A7=84=E5=88=99=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_Geo_Full.yaml | 1 - rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml | 1 - rules/clash_providers/DustinWin_RS_Full.yaml | 9 --------- rules/clash_providers/DustinWin_RS_Full_NoAds.yaml | 9 --------- rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml | 8 -------- rules/singbox_providers/DustinWin_RS_Full.json | 9 --------- rules/singbox_providers/DustinWin_RS_Full_NoAds.json | 9 --------- .../singbox_providers/ShellCrash_RS_Full_BanAds.json | 11 +---------- 8 files changed, 1 insertion(+), 56 deletions(-) diff --git a/rules/clash_providers/DustinWin_Geo_Full.yaml b/rules/clash_providers/DustinWin_Geo_Full.yaml index e691db37..8af95ce6 100644 --- a/rules/clash_providers/DustinWin_Geo_Full.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full.yaml @@ -48,6 +48,5 @@ rules: - GEOIP,private,🔒 私有网络,no-resolve - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - - GEOIP,games,🕹️ 游戏平台 - GEOIP,media,🌍 国外媒体 - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml index 435077aa..4c264259 100644 --- a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml @@ -44,6 +44,5 @@ rules: - GEOIP,private,🔒 私有网络,no-resolve - GEOIP,cn,🀄️ 国内 IP - GEOIP,telegram,📲 电报消息,no-resolve - - GEOIP,games,🕹️ 游戏平台 - GEOIP,media,🌍 国外媒体 - MATCH,🐟 漏网之鱼 \ No newline at end of file diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index cf9e5d2e..3a56c63f 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -178,14 +178,6 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" interval: 86400 - gamesip: - type: http - behavior: ipcidr - format: mrs - path: ./ruleset/gamesip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/gamesip.mrs" - interval: 86400 - netflixip: type: http behavior: ipcidr @@ -221,7 +213,6 @@ rules: - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - - RULE-SET,gamesip,🕹️ 游戏平台 - RULE-SET,netflixip,🎥 奈飞视频 - RULE-SET,mediaip,🌍 国外媒体 - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 6acae26c..c1ff85ca 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -167,14 +167,6 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" interval: 86400 - gamesip: - type: http - behavior: ipcidr - format: mrs - path: ./ruleset/gamesip.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/gamesip.mrs" - interval: 86400 - netflixip: type: http behavior: ipcidr @@ -209,7 +201,6 @@ rules: - RULE-SET,privateip,🔒 私有网络,no-resolve - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - - RULE-SET,gamesip,🕹️ 游戏平台 - RULE-SET,netflixip,🎥 奈飞视频 - RULE-SET,mediaip,🌍 国外媒体 - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml index 53ee08b2..08f148bb 100644 --- a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml +++ b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml @@ -169,13 +169,6 @@ rule-providers: behavior: domain proxy: DIRECT url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" - gamesip: - type: http - format: mrs - interval: 86400 - behavior: ipcidr - proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/gamesip.mrs" mediaip: type: http format: mrs @@ -247,7 +240,6 @@ rules: - RULE-SET,proxy,🌐 国际流量 - RULE-SET,cn,🀄️ 国内流量 - - RULE-SET,gamesip,🎮 外服游戏 - RULE-SET,mediaip,🌍 国际媒体 - RULE-SET,cnip,🀄️ 国内流量 diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index 292893d3..795e1ff9 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -54,7 +54,6 @@ { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" }, - { "rule_set": [ "gamesip" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" } ], @@ -195,14 +194,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" }, - { - "tag": "gamesip", - "type": "remote", - "format": "binary", - "path": "./ruleset/gamesip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/gamesip.srs", - "download_detour": "DIRECT" - }, { "tag": "netflixip", "type": "remote", diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index f85d41ba..05afe9fa 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -51,7 +51,6 @@ { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" }, - { "rule_set": [ "gamesip" ], "outbound": "🕹️ 游戏平台" }, { "rule_set": [ "netflixip" ], "outbound": "🎥 奈飞视频" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" } ], @@ -184,14 +183,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" }, - { - "tag": "gamesip", - "type": "remote", - "format": "binary", - "path": "./ruleset/gamesip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/gamesip.srs", - "download_detour": "DIRECT" - }, { "tag": "netflixip", "type": "remote", diff --git a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json index 2e4fc53f..778f5e5f 100644 --- a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json +++ b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json @@ -11,7 +11,7 @@ { "tag": "🎬 奈飞视频", "type": "selector", "outbounds": ["🚀 节点选择", "🎬 奈飞节点", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "🎬 奈飞节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(NF|奈飞|解锁|Netflix|NETFLIX|Media)" }, { "tag": "▶️ 油管视频", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, - { "tag": "📢 谷歌推送", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, + { "tag": "📢 谷歌推送", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "🌍 国际媒体", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "🌐 国际流量", "type": "selector", "outbounds": ["🚀 节点选择", "🎯 本地直连", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, @@ -77,7 +77,6 @@ { "rule_set": ["telegramip"], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4" }, - { "rule_set": ["gamesip"], "outbound": "🎮 外服游戏" }, { "rule_set": ["mediaip"], "outbound": "🌍 国际媒体" }, { "rule_set": ["cnip"], "outbound": "🀄️ 国内流量" } ], @@ -242,14 +241,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, - { - "tag": "gamesip", - "type": "remote", - "format": "binary", - "path": "./ruleset/gamesip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/gamesip.srs", - "download_detour": "DIRECT" - }, { "tag": "mediaip", "type": "remote", From 270dbd4299d6f1f94138380eec5ccef43688d808 Mon Sep 17 00:00:00 2001 From: cyxc1124 Date: Thu, 5 Mar 2026 23:44:23 +0800 Subject: [PATCH 230/318] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=20PushDeer?= =?UTF-8?q?=20=E8=87=AA=E5=BB=BA=E6=9C=8D=E5=8A=A1=E5=99=A8=E6=94=AF?= =?UTF-8?q?=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/logger.sh | 3 ++- scripts/menus/8_tools.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) diff --git a/scripts/libs/logger.sh b/scripts/libs/logger.sh index 84b5c87b..f6bd0afe 100644 --- a/scripts/libs/logger.sh +++ b/scripts/libs/logger.sh @@ -27,7 +27,8 @@ logger() { web_json_post "$url" "$content" & } [ -n "$push_Deer" ] && { - url="https://api2.pushdeer.com/message/push" + url="${push_Deer_url%/}" + url="${url:-https://api2.pushdeer.com}/message/push" content="{\"pushkey\":\"${push_Deer}\",\"text\":\"$log_text\"}" web_json_post "$url" "$content" & } diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 7174d951..35869a67 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -296,12 +296,48 @@ log_pusher() { read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then push_Deer= + push_Deer_url= setconfig push_Deer + setconfig push_Deer_url else continue fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" + comp_box "请选择PushDeer服务器类型:" \ + "1) 官方服务器(api2.pushdeer.com)" \ + "2) 自建服务器" \ + "" \ + "0) 返回上级菜单" + read -r -p "请输入对应标号> " num + case "$num" in + 0) + continue + ;; + 2) + comp_box "请输入自建PushDeer服务器地址(不含/message/push)" \ + "例如:\033[36mhttps://push.example.com\033[0m" + btm_box "\033[36m请直接输入服务器地址\033[0m" \ + "或输入 0 返回上级菜单" + read -r -p "请输入> " url + if [ "$url" = 0 ]; then + continue + elif [ -z "$url" ]; then + msg_alert "\033[31m输入错误,请重新输入!\033[0m" + continue + fi + push_Deer_url=${url%/} + setconfig push_Deer_url "${url%/}" + ;; + 1) + push_Deer_url= + setconfig push_Deer_url + ;; + *) + errornum + continue + ;; + esac comp_box "1. 请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" \ "2. 打开快应用/APP,并完成登陆" \ "3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" \ From c5da0da08af9fbbcd1ed2668cea6034a7efd3650 Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Wed, 11 Mar 2026 17:56:55 +0800 Subject: [PATCH 231/318] feat(i18n): localize uninstall and subconverter menus --- scripts/lang/chs/subconverter.lang | 33 ++++++++++++ scripts/lang/chs/uninstall.lang | 13 +++++ scripts/lang/en/subconverter.lang | 33 ++++++++++++ scripts/lang/en/uninstall.lang | 13 +++++ scripts/menus/subconverter.sh | 84 +++++++++++++++--------------- scripts/menus/uninstall.sh | 36 +++++++------ 6 files changed, 154 insertions(+), 58 deletions(-) create mode 100644 scripts/lang/chs/subconverter.lang create mode 100644 scripts/lang/chs/uninstall.lang create mode 100644 scripts/lang/en/subconverter.lang create mode 100644 scripts/lang/en/uninstall.lang diff --git a/scripts/lang/chs/subconverter.lang b/scripts/lang/chs/subconverter.lang new file mode 100644 index 00000000..1b99a0ec --- /dev/null +++ b/scripts/lang/chs/subconverter.lang @@ -0,0 +1,33 @@ +SUBCONVERTER_MENU_GEN="生成包含全部节点、订阅的配置文件" +SUBCONVERTER_MENU_EXCLUDE="设置\033[31m排除节点正则\033[0m" +SUBCONVERTER_MENU_INCLUDE="设置\033[32m包含节点正则\033[0m" +SUBCONVERTER_MENU_RULE="选择\033[33m在线规则模版\033[0m" +SUBCONVERTER_MENU_SERVER="选择Subconverter服务器" +SUBCONVERTER_MENU_UA="自定义浏览器UA" + +SUBCONVERTER_INPUT="请输入" +SUBCONVERTER_BACK="或输入 0 返回上级菜单" + +SUBCONVERTER_EXCLUDE_HINT1="匹配关键字的节点会在导入时被【屏蔽】!" +SUBCONVERTER_INCLUDE_HINT1="仅有匹配关键字的节点才会被【导入】!!!" +SUBCONVERTER_KEYWORD_SPLIT="多个关键字可以用\033[30;47m | \033[0m号分隔" +SUBCONVERTER_REGEX_HINT="\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" +SUBCONVERTER_EXCLUDE_INPUT="请直接输入节点过滤关键字" +SUBCONVERTER_INCLUDE_INPUT="请直接输入节点匹配关键字" +SUBCONVERTER_EXCLUDE_CLEAR="或输入 d \033[31m清空\033[0m节点过滤关键字" +SUBCONVERTER_INCLUDE_CLEAR="或输入 d \033[31m清空\033[0m节点匹配关键字" + +SUBCONVERTER_RULE_CURRENT="当前使用规则为:" +SUBCONVERTER_SERVER_HINT="以下为互联网采集的第三方服务器,具体安全性请自行斟酌!" +SUBCONVERTER_SERVER_THANKS="感谢以下作者的无私奉献!!!" +SUBCONVERTER_SERVER_CURRENT="当前使用后端为:" +SUBCONVERTER_SET_OK="设置成功!返回上级菜单" + +SUBCONVERTER_UA_HINT="无法正确获取配置文件时可尝试使用" +SUBCONVERTER_UA_CURRENT="当前UA:" +SUBCONVERTER_UA_AUTO="使用自动UA(默认)" +SUBCONVERTER_UA_NONE="不使用UA" +SUBCONVERTER_UA_CUSTOM="使用自定义UA" +SUBCONVERTER_UA_CLEAR="清空UA" +SUBCONVERTER_UA_CUSTOM_WARN="注意:\n自定义UA不可包含空格或特殊符号!" +SUBCONVERTER_UA_CUSTOM_INPUT="请直接输入自定义UA" diff --git a/scripts/lang/chs/uninstall.lang b/scripts/lang/chs/uninstall.lang new file mode 100644 index 00000000..53267d7a --- /dev/null +++ b/scripts/lang/chs/uninstall.lang @@ -0,0 +1,13 @@ +UNINSTALL_WARN="警告:该操作不可逆!" +UNINSTALL_CONFIRM="是否确认卸载ShellCrash?" +UNINSTALL_YES="是" +UNINSTALL_NO="否" +UNINSTALL_KEEP_CONFIRM="是否保留脚本配置及订阅文件?" +UNINSTALL_ENV_ERROR="环境变量配置有误,请尝试手动移除安装目录!" +UNINSTALL_DONE="已卸载ShellCrash相关文件!有缘再会!" +UNINSTALL_CLOSE_HINT="请手动关闭当前窗口以重置环境变量!" +UNINSTALL_CANCELED="操作已取消!" +UNINSTALL_CRON_CLASH="clash服务" +UNINSTALL_CRON_SUB="订阅链接" +UNINSTALL_CRON_INIT="ShellCrash初始化" +UNINSTALL_SSH_MARK="启用外网访问SSH服务" diff --git a/scripts/lang/en/subconverter.lang b/scripts/lang/en/subconverter.lang new file mode 100644 index 00000000..7761f82b --- /dev/null +++ b/scripts/lang/en/subconverter.lang @@ -0,0 +1,33 @@ +SUBCONVERTER_MENU_GEN="Generate config including all nodes and subscriptions" +SUBCONVERTER_MENU_EXCLUDE="Set \033[31mexclude node regex\033[0m" +SUBCONVERTER_MENU_INCLUDE="Set \033[32minclude node regex\033[0m" +SUBCONVERTER_MENU_RULE="Select \033[33monline rule template\033[0m" +SUBCONVERTER_MENU_SERVER="Select Subconverter server" +SUBCONVERTER_MENU_UA="Custom browser UA" + +SUBCONVERTER_INPUT="Please enter" +SUBCONVERTER_BACK="or enter 0 to return" + +SUBCONVERTER_EXCLUDE_HINT1="Nodes matching keywords will be blocked during import!" +SUBCONVERTER_INCLUDE_HINT1="Only nodes matching keywords will be imported!!!" +SUBCONVERTER_KEYWORD_SPLIT="Use \033[30;47m | \033[0m to separate multiple keywords" +SUBCONVERTER_REGEX_HINT="\033[32mRegex is supported\033[0m. Use \033[30;47m + \033[0m instead of spaces" +SUBCONVERTER_EXCLUDE_INPUT="Enter exclude keyword(s) directly" +SUBCONVERTER_INCLUDE_INPUT="Enter include keyword(s) directly" +SUBCONVERTER_EXCLUDE_CLEAR="or enter d to \033[31mclear\033[0m exclude keywords" +SUBCONVERTER_INCLUDE_CLEAR="or enter d to \033[31mclear\033[0m include keywords" + +SUBCONVERTER_RULE_CURRENT="Current rule: " +SUBCONVERTER_SERVER_HINT="The following third-party servers are collected from the internet. Please evaluate their security by yourself!" +SUBCONVERTER_SERVER_THANKS="Thanks to the contributors below for their great work!!!" +SUBCONVERTER_SERVER_CURRENT="Current backend: " +SUBCONVERTER_SET_OK="Settings saved. Returning to previous menu" + +SUBCONVERTER_UA_HINT="Try this if the config file cannot be fetched correctly" +SUBCONVERTER_UA_CURRENT="Current UA: " +SUBCONVERTER_UA_AUTO="Use auto UA (default)" +SUBCONVERTER_UA_NONE="Do not use UA" +SUBCONVERTER_UA_CUSTOM="Use custom UA" +SUBCONVERTER_UA_CLEAR="Clear UA" +SUBCONVERTER_UA_CUSTOM_WARN="Note:\nCustom UA cannot contain spaces or special symbols!" +SUBCONVERTER_UA_CUSTOM_INPUT="Enter custom UA" diff --git a/scripts/lang/en/uninstall.lang b/scripts/lang/en/uninstall.lang new file mode 100644 index 00000000..3d2f1ede --- /dev/null +++ b/scripts/lang/en/uninstall.lang @@ -0,0 +1,13 @@ +UNINSTALL_WARN="Warning: this action is irreversible!" +UNINSTALL_CONFIRM="Are you sure you want to uninstall ShellCrash?" +UNINSTALL_YES="Yes" +UNINSTALL_NO="No" +UNINSTALL_KEEP_CONFIRM="Keep script configs and subscription files?" +UNINSTALL_ENV_ERROR="Environment variable configuration is incorrect. Please remove the installation directory manually!" +UNINSTALL_DONE="ShellCrash related files have been removed. Goodbye!" +UNINSTALL_CLOSE_HINT="Please close the current terminal window manually to reset environment variables!" +UNINSTALL_CANCELED="Operation canceled!" +UNINSTALL_CRON_CLASH="clash service" +UNINSTALL_CRON_SUB="subscription link" +UNINSTALL_CRON_INIT="ShellCrash initialization" +UNINSTALL_SSH_MARK="Enable SSH access from WAN" diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 7b1a7290..d1295e52 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -7,18 +7,20 @@ __IS_MODULE_SUBCONVERTER=1 [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 +load_lang subconverter + # Subconverter在线订阅转换 subconverter() { while true; do - comp_box "1) \033[32m生成\033[0m包含全部节点、订阅的配置文件"\ - "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m"\ - "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m"\ - "4) 选择\033[33m在线规则模版\033[0m"\ - "5) 选择\033[0mSubconverter服务器\033[0m"\ - "6) 自定义浏览器UA \033[32m$user_agent\033[0m"\ + comp_box "1) \033[32m$SUBCONVERTER_MENU_GEN\033[0m"\ + "2) $SUBCONVERTER_MENU_EXCLUDE \033[47;30m$exclude\033[0m"\ + "3) $SUBCONVERTER_MENU_INCLUDE \033[47;30m$include\033[0m"\ + "4) $SUBCONVERTER_MENU_RULE"\ + "5) $SUBCONVERTER_MENU_SERVER"\ + "6) $SUBCONVERTER_MENU_UA \033[32m$user_agent\033[0m"\ ""\ "0) $COMMON_BACK" - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -57,13 +59,13 @@ subconverter() { # 排除节点正则 gen_link_flt() { - comp_box "\033[33m匹配关键字的节点会在导入时被【屏蔽】!\033[0m" \ - "多个关键字可以用\033[30;47m | \033[0m号分隔" \ - "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - btm_box "\033[36m请直接输入节点过滤关键字\033[0m" \ - "或输入 d \033[31m清空\033[0m节点过滤关键字" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "\033[33m$SUBCONVERTER_EXCLUDE_HINT1\033[0m" \ + "$SUBCONVERTER_KEYWORD_SPLIT" \ + "$SUBCONVERTER_REGEX_HINT" + btm_box "\033[36m$SUBCONVERTER_EXCLUDE_INPUT\033[0m" \ + "$SUBCONVERTER_EXCLUDE_CLEAR" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " res case "$res" in 0) return 0 @@ -85,13 +87,13 @@ gen_link_flt() { # 包含节点正则 gen_link_ele() { - comp_box "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" \ - "多个关键字可以用\033[30;47m | \033[0m号分隔" \ - "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - btm_box "\033[36m请直接输入节点匹配关键字\033[0m" \ - "或输入 d \033[31m清空\033[0m节点匹配关键字" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "\033[33m$SUBCONVERTER_INCLUDE_HINT1\033[0m" \ + "$SUBCONVERTER_KEYWORD_SPLIT" \ + "$SUBCONVERTER_REGEX_HINT" + btm_box "\033[36m$SUBCONVERTER_INCLUDE_INPUT\033[0m" \ + "$SUBCONVERTER_INCLUDE_CLEAR" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " res case "$res" in 0) return 0 @@ -115,11 +117,11 @@ gen_link_ele() { gen_link_config() { list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') - comp_box "当前使用规则为:\033[33m$now\033[0m" + comp_box "$SUBCONVERTER_RULE_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum @@ -129,7 +131,7 @@ gen_link_config() { # 将对应标记值写入配置 rule_link=$num if setconfig rule_link "$rule_link"; then - msg_alert "\033[32m设置成功!返回上级菜单\033[0m" + msg_alert "\033[32m$SUBCONVERTER_SET_OK\033[0m" else common_failed fi @@ -141,14 +143,14 @@ gen_link_server() { list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - comp_box "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" \ - "\033[32m感谢以下作者的无私奉献!!!\033[0m" \ + comp_box "\033[36m$SUBCONVERTER_SERVER_HINT\033[0m" \ + "\033[32m$SUBCONVERTER_SERVER_THANKS\033[0m" \ "" \ - "当前使用后端为:\033[33m$now\033[0m" + "$SUBCONVERTER_SERVER_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum @@ -158,7 +160,7 @@ gen_link_server() { # 将对应标记值写入配置 server_link=$num if setconfig server_link "$server_link"; then - content_line "\033[32m设置成功!返回上级菜单\033[0m" + content_line "\033[32m$SUBCONVERTER_SET_OK\033[0m" else common_failed fi @@ -167,16 +169,16 @@ gen_link_server() { set_sub_ua() { while true; do - comp_box "\033[36m无法正确获取配置文件时可尝试使用\033[0m" \ + comp_box "\033[36m$SUBCONVERTER_UA_HINT\033[0m" \ "" \ - "当前UA:$user_agent" - btm_box "1) 使用自动UA(默认)"\ - "2) 不使用UA"\ - "3) 使用自定义UA"\ - "4) 清空UA"\ + "$SUBCONVERTER_UA_CURRENT$user_agent" + btm_box "1) $SUBCONVERTER_UA_AUTO"\ + "2) $SUBCONVERTER_UA_NONE"\ + "3) $SUBCONVERTER_UA_CUSTOM"\ + "4) $SUBCONVERTER_UA_CLEAR"\ ""\ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) break @@ -188,10 +190,10 @@ set_sub_ua() { user_agent='none' ;; 3) - comp_box "\033[33m注意:\n自定义UA不可包含空格或特殊符号!\033[0m" - btm_box "\033[36m请直接输入自定义UA\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + comp_box "\033[33m$SUBCONVERTER_UA_CUSTOM_WARN\033[0m" + btm_box "\033[36m$SUBCONVERTER_UA_CUSTOM_INPUT\033[0m" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " text if [ "$text" = 0 ]; then continue elif [ -n "$text" ]; then diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index bd16286f..57b00920 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -1,26 +1,28 @@ #!/bin/sh # Copyright (C) Juewuy +load_lang uninstall + # 卸载 uninstall() { - comp_box "\033[31m警告:该操作不可逆!\033[0m" \ - "是否确认卸载ShellCrash?" - btm_box "1) 是" \ - "0) 否" + comp_box "\033[31m$UNINSTALL_WARN\033[0m" \ + "$UNINSTALL_CONFIRM" + btm_box "1) $UNINSTALL_YES" \ + "0) $UNINSTALL_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then # 停止服务 "$CRASHDIR"/start.sh stop 2>/dev/null - "$CRASHDIR"/start.sh cronset "clash服务" 2>/dev/null - "$CRASHDIR"/start.sh cronset "订阅链接" 2>/dev/null - "$CRASHDIR"/start.sh cronset "ShellCrash初始化" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_CLASH" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_SUB" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_INIT" 2>/dev/null "$CRASHDIR"/start.sh cronset "task.sh" 2>/dev/null # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then - comp_box "是否保留脚本配置及订阅文件?" - btm_box "1) 是" \ - "0) 否" + comp_box "$UNINSTALL_KEEP_CONFIRM" + btm_box "1) $UNINSTALL_YES" \ + "0) $UNINSTALL_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then mv -f "$CRASHDIR"/configs /tmp/ShellCrash/configs_bak @@ -34,7 +36,7 @@ uninstall() { rm -rf "$CRASHDIR" fi else - msg_alert "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" + msg_alert "\033[31m$UNINSTALL_ENV_ERROR\033[0m" fi # 移除其他内容 @@ -48,9 +50,9 @@ uninstall() { } sed -i '/all_proxy/'d /etc/profile 2>/dev/null sed -i '/ALL_PROXY/'d /etc/profile 2>/dev/null - sed -i "/启用外网访问SSH服务/d" /etc/firewall.user 2>/dev/null - sed -i '/ShellCrash初始化/'d /etc/storage/started_script.sh 2>/dev/null - sed -i '/ShellCrash初始化/'d /jffs/.asusrouter 2>/dev/null + sed -i "/$UNINSTALL_SSH_MARK/d" /etc/firewall.user 2>/dev/null + sed -i "/$UNINSTALL_CRON_INIT/d" /etc/storage/started_script.sh 2>/dev/null + sed -i "/$UNINSTALL_CRON_INIT/d" /jffs/.asusrouter 2>/dev/null [ "$BINDIR" != "$CRASHDIR" ] && rm -rf "$BINDIR" rm -rf /etc/init.d/shellcrash rm -rf /etc/systemd/system/shellcrash.service @@ -62,12 +64,12 @@ uninstall() { userdel -r shellcrash 2>/dev/null nvram set script_usbmount="" 2>/dev/null nvram commit 2>/dev/null - comp_box "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" \ - "\033[33m请手动关闭当前窗口以重置环境变量!\033[0m" + comp_box "\033[36m$UNINSTALL_DONE\033[0m" \ + "\033[33m$UNINSTALL_CLOSE_HINT\033[0m" line_break sleep 1 exit 0 else - msg_alert "\033[31m操作已取消!\033[0m" + msg_alert "\033[31m$UNINSTALL_CANCELED\033[0m" fi } From 81d6b36c51b6a85d8de795d46c8145ff73d9b9b1 Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Wed, 11 Mar 2026 18:38:54 +0800 Subject: [PATCH 232/318] feat(i18n): localize set_crashdir and bot_tg menus --- scripts/lang/chs/bot_tg.lang | 68 +++++++++++++++++++++ scripts/lang/chs/check_port.lang | 3 + scripts/lang/chs/ddns.lang | 35 +++++++++++ scripts/lang/chs/providers.lang | 25 ++++++++ scripts/lang/chs/set_crashdir.lang | 34 +++++++++++ scripts/lang/chs/subconverter.lang | 33 +++++++++++ scripts/lang/chs/task_cmd.lang | 19 ++++++ scripts/lang/chs/uninstall.lang | 13 ++++ scripts/lang/en/bot_tg.lang | 68 +++++++++++++++++++++ scripts/lang/en/check_port.lang | 3 + scripts/lang/en/ddns.lang | 35 +++++++++++ scripts/lang/en/providers.lang | 25 ++++++++ scripts/lang/en/set_crashdir.lang | 34 +++++++++++ scripts/lang/en/subconverter.lang | 33 +++++++++++ scripts/lang/en/task_cmd.lang | 19 ++++++ scripts/lang/en/uninstall.lang | 13 ++++ scripts/menus/bot_tg.sh | 95 +++++++++++++++--------------- scripts/menus/bot_tg_bind.sh | 26 ++++---- scripts/menus/bot_tg_service.sh | 4 +- scripts/menus/check_port.sh | 8 ++- scripts/menus/ddns.sh | 82 +++++++++++++------------- scripts/menus/providers.sh | 32 +++++----- scripts/menus/providers_clash.sh | 18 +++--- scripts/menus/providers_singbox.sh | 18 +++--- scripts/menus/set_crashdir.sh | 85 ++++++++++++++------------ scripts/menus/subconverter.sh | 84 +++++++++++++------------- scripts/menus/task_cmd.sh | 29 +++++---- scripts/menus/uninstall.sh | 36 +++++------ 28 files changed, 734 insertions(+), 243 deletions(-) create mode 100644 scripts/lang/chs/bot_tg.lang create mode 100644 scripts/lang/chs/check_port.lang create mode 100644 scripts/lang/chs/ddns.lang create mode 100644 scripts/lang/chs/providers.lang create mode 100644 scripts/lang/chs/set_crashdir.lang create mode 100644 scripts/lang/chs/subconverter.lang create mode 100644 scripts/lang/chs/task_cmd.lang create mode 100644 scripts/lang/chs/uninstall.lang create mode 100644 scripts/lang/en/bot_tg.lang create mode 100644 scripts/lang/en/check_port.lang create mode 100644 scripts/lang/en/ddns.lang create mode 100644 scripts/lang/en/providers.lang create mode 100644 scripts/lang/en/set_crashdir.lang create mode 100644 scripts/lang/en/subconverter.lang create mode 100644 scripts/lang/en/task_cmd.lang create mode 100644 scripts/lang/en/uninstall.lang diff --git a/scripts/lang/chs/bot_tg.lang b/scripts/lang/chs/bot_tg.lang new file mode 100644 index 00000000..2153d311 --- /dev/null +++ b/scripts/lang/chs/bot_tg.lang @@ -0,0 +1,68 @@ +BOT_TG_PRIVATE_HINT="请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m" +BOT_TG_INPUT_TOKEN="请输入你获取到的API TOKEN" +BOT_TG_PRIVATE_TOP="请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" +BOT_TG_PUBLIC_HINT="请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" +BOT_TG_SET_DONE="已完成Telegram日志推送设置!" +BOT_TG_CHATID_RETRY_PREFIX="第" +BOT_TG_CHATID_RETRY_SUFFIX="次尝试获取对话ID失败,正在重试..." +BOT_TG_SEND_KEY="发送此秘钥:" +BOT_TG_SENT_CONFIRM="我已经发送完成" +BOT_TG_CHATID_FAIL="无法获取对话ID,请返回重新设置或手动输入ChatID!" +BOT_TG_CHATID_MANUAL_HINT="通常访问" +BOT_TG_CHATID_MANUAL_HINT2="即可看到ChatID" +BOT_TG_INPUT_CHATID="请手动输入ChatID" +BOT_TG_CHATID_RECONFIG="无法获取对话ID,请重新配置!" +BOT_TG_CRON_NAME="TG_BOT守护进程" + +BOT_TG_HELP_GROUP="进群讨论:" +BOT_TG_HELP_PROJECT="项目地址:" +BOT_TG_HELP_GUIDE="相关教程:" +BOT_TG_HELP_COFFEE="请喝咖啡:" +BOT_TG_HELP_AIRPORT="友情机场:" +BOT_TG_RUN_ON="🟢正在运行" +BOT_TG_RUN_OFF="🟡未运行" +BOT_TG_WELCOME="欢迎使用ShellCrash!" +BOT_TG_SERVICE="服务" +BOT_TG_MEM_USED="内存占用:" +BOT_TG_RUNNING_TIME="已运行:" +BOT_TG_SELECT_ACTION="请选择操作:" +BOT_TG_SELECT_FILE="请选择需要上传或下载的具体文件:" +BOT_TG_BTN_START="✈️ 启用劫持" +BOT_TG_BTN_PURE="💧 纯净模式" +BOT_TG_BTN_RESTART="🕹 重启服务" +BOT_TG_BTN_LOG="📄 查看日志" +BOT_TG_BTN_TRANSFER="🔃 文件传输" +BOT_TG_BTN_GET_LOG="📥 下载日志" +BOT_TG_BTN_GET_BAK="💾 备份设置" +BOT_TG_BTN_GET_CFG="⬇️ 下载配置" +BOT_TG_BTN_UP_CORE="🪐 上传内核" +BOT_TG_BTN_UP_BAK="🔄 还原设置" +BOT_TG_BTN_UP_CFG="⬆️ 上传配置" +BOT_TG_NO_CURL="⚠️ 因当前设备缺少curl应用,仅支持上传功能!" +BOT_TG_UPLOAD_OK="成功!即将重启服务!" +BOT_TG_UPLOAD_FAIL="失败,请仔细检查文件或重试!" +BOT_TG_CORE_UPDATE="内核更新" +BOT_TG_CFG_RESTORED="配置文件已还原,请手动重启服务!" +BOT_TG_RESTORE_FAIL="解压还原失败,请仔细检查文件或重试!" +BOT_TG_CFG_UPLOADED="配置文件已上传,请手动重启服务!" +BOT_TG_UPLOAD_FAIL2="上传失败,请仔细检查文件或重试!" +BOT_TG_NET_UPLOAD_FAIL="网络错误,上传失败!请重试!" +BOT_TG_FILE_FORMAT_FAIL="文件格式不匹配,上传失败!" +BOT_TG_FW_ENABLED="ShellCrash 透明路由" +BOT_TG_FW_ENABLED_SUFFIX="已启用!" +BOT_TG_SWITCH_PURE="已切换到纯净模式!" +BOT_TG_SERVICE_RESTARTED="ShellCrash 服务已重启!" +BOT_TG_UNFINISHED="错误,还未完成的功能!" +BOT_TG_SEND_CORE="请发送需要上传的内核,必须是以tar.gz,.gz或.upx结尾的【" +BOT_TG_SEND_CORE_SUFFIX="】内核!" +BOT_TG_SEND_BAK="请发送需要还原的备份文件,必须是【.tar.gz】格式!" +BOT_TG_SEND_CFG="请发送需要上传的配置文件,必须是【" +BOT_TG_SEND_CFG_SUFFIX="】格式,支持自定义配置文件" +BOT_TG_SWITCH_TO="已切换到" +BOT_TG_ALREADY="当前已经是" +BOT_TG_ALREADY_PURE="当前已经是纯净模式!" +BOT_TG_SERVICE_RESTARTED_SHORT="🔄 服务已重启" +BOT_TG_LOG_CONTENT="📄 日志内容如下(已过滤任务日志):" +BOT_TG_TASK_WORD="任务" +BOT_TG_INPUT_SUB="✏ 请输入新的订阅链接:" +BOT_TG_SUB_UPDATED="订阅更新完成:" diff --git a/scripts/lang/chs/check_port.lang b/scripts/lang/chs/check_port.lang new file mode 100644 index 00000000..f3dd377e --- /dev/null +++ b/scripts/lang/chs/check_port.lang @@ -0,0 +1,3 @@ +CHECK_PORT_RANGE_ERR="输入错误!请输入正确的数值(1-65535)!" +CHECK_PORT_DUP_ERR="输入错误!请不要输入重复的端口!" +CHECK_PORT_OCCUPIED_ERR="当前端口已被其他进程占用,请重新输入!" diff --git a/scripts/lang/chs/ddns.lang b/scripts/lang/chs/ddns.lang new file mode 100644 index 00000000..1240b036 --- /dev/null +++ b/scripts/lang/chs/ddns.lang @@ -0,0 +1,35 @@ +DDNS_WELCOME="欢迎使用DDNS!" +DDNS_ADD_DONE="服务已经添加!" +DDNS_INPUT_DOMAIN="请输入你的域名" +DDNS_INPUT_USER="请输入用户名或邮箱" +DDNS_INPUT_PASS="请输入密码或令牌秘钥" +DDNS_INPUT_CHECK_INTERVAL="请输入检测更新间隔(单位:分钟;默认为10)" +DDNS_INPUT_FORCE_INTERVAL="请输入强制更新间隔(单位:小时;默认为24)" +DDNS_CONFIRM_INFO="请核对如下信息:" +DDNS_FIELD_SERVICE="服务商:" +DDNS_FIELD_DOMAIN="域名:" +DDNS_FIELD_USER="用户名:" +DDNS_FIELD_INTERVAL="检测间隔:" +DDNS_CONFIRM_ADD="是否确认添加:" +DDNS_YES="是" +DDNS_REINPUT="否,重新輸入" +DDNS_LIST_NOT_FOUND="未找到DDNS列表文件,尝试在线获取……" +DDNS_DOWNLOAD_FAILED="下载失败,请重试!" +DDNS_SELECT_PROVIDER="请选择服务提供商:" +DDNS_INPUT_ERROR="输入错误,请重新输入!" +DDNS_SELECT_NETMODE="请选择网络模式:" +DDNS_IPV4="IPV4" +DDNS_IPV6="IPV6" +DDNS_DISABLE="停用" +DDNS_ENABLE="启用" +DDNS_UPDATE_NOW="立即更新" +DDNS_EDIT_CURRENT="编辑当前服务" +DDNS_CURRENT_SERVICE="当前服务" +DDNS_REMOVE_CURRENT="移除当前服务" +DDNS_VIEW_LOG="查看运行日志" +DDNS_NOT_SUPPORTED="本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!" +DDNS_LIST_HEADER=" 列表 域名 启用 IP地址" +DDNS_ADD_SERVICE="添加DDNS服务" +DDNS_EXIT="退出" +DDNS_INPUT_INDEX="请输入对应序号" +DDNS_INPUT_NUM_ERROR="请输入正确数字!" diff --git a/scripts/lang/chs/providers.lang b/scripts/lang/chs/providers.lang new file mode 100644 index 00000000..f92e2ce1 --- /dev/null +++ b/scripts/lang/chs/providers.lang @@ -0,0 +1,25 @@ +PROVIDERS_MENU_GEN="生成包含全部提供者的配置文件" +PROVIDERS_MENU_TEMPLATE="选择\033[33m规则模版\033[0m" +PROVIDERS_MENU_CLEAN="\033[33m清理\033[0mproviders目录文件" +PROVIDERS_INPUT="请输入对应字母或数字" + +PROVIDERS_EMPTY_HINT="你还未添加链接或本地配置文件,请先添加!" +PROVIDERS_TEMPLATE_CURRENT="当前规则模版为:" +PROVIDERS_TEMPLATE_SELECT="请选择在线模版:" +PROVIDERS_TEMPLATE_LOCAL="使用\033[36m本地模版\033[0m" +PROVIDERS_TEMPLATE_PATH="请输入模版的路径(绝对路径)" +PROVIDERS_TEMPLATE_NOT_FOUND="输入错误,找不到对应模版文件!" + +PROVIDERS_CLEAN_WARN="将清空" +PROVIDERS_CLEAN_WARN_END="目录下所有内容" +PROVIDERS_CLEAN_CONFIRM="是否继续?" + +PROVIDERS_FETCHING_TEMPLATE="正在获取在线模版......" +PROVIDERS_DOWNLOAD_FAILED="下载失败,请尝试更换安装源!" +PROVIDERS_GEN_OK="配置文件生成成功!" +PROVIDERS_GEN_OK_SINGBOX="配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!" +PROVIDERS_GEN_FAILED="生成配置文件出错,请仔细检查输入!" +PROVIDERS_RESTART_ASK="是否立即启动/重启服务?" +PROVIDERS_YES="是" +PROVIDERS_NO="否" +PROVIDERS_CRON_SUB_UPDATE="更新订阅" diff --git a/scripts/lang/chs/set_crashdir.lang b/scripts/lang/chs/set_crashdir.lang new file mode 100644 index 00000000..0ba99bbe --- /dev/null +++ b/scripts/lang/chs/set_crashdir.lang @@ -0,0 +1,34 @@ +SCD_SELECT_INSTALL_DIR="请选择安装目录:" +SCD_INPUT_NUM="请输入相应数字" +SCD_INPUT_ERROR="输入错误!请重新设置!" +SCD_XIAOMI_DETECTED="检测到当前设备为小米官方系统,请选择安装位置:" +SCD_CUSTOM_DIR_WARN="自定义目录(不推荐,不明勿用!)" +SCD_EXIT_INSTALL="退出安装" +SCD_SELECT_USB_DIR="请选择U盘目录:" +SCD_ASUS_DM_NOT_FOUND="未找到下载大师自启文件:" +SCD_CHECK_SETTING="请检查设置!" +SCD_ASUS_DETECTED="检测到当前设备为华硕固件,请选择安装方式" +SCD_ASUS_INSTALL_DM="基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" +SCD_ASUS_INSTALL_SCRIPT="基于自启脚本安装(仅持部分梅林固件)" +SCD_ASUS_DM_HINT="请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" +SCD_ASUS_REINSTALL_HINT="如开机无法正常自启,请重新使用U盘+下载大师安装!" +SCD_PATH_FORMAT_HINT="路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!" +SCD_PATH_FREE_SPACE="可用路径 剩余空间:" +SCD_INPUT_CUSTOM_DIR="请输入自定义路径" +SCD_PATH_ERROR="路径错误!请重新设置!" +SCD_INSTALL_SPACE_HINT="注意:安装ShellCrash至少需要预留约1MB的磁盘空间" +SCD_INSTALL_ETC="在\033[32m/etc目录\033[0m下安装(适合root用户)" +SCD_INSTALL_USR="在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" +SCD_INSTALL_HOME="在\033[32m当前用户目录\033[0m下安装(适合非root用户)" +SCD_INSTALL_USB="在\033[32m外置存储\033[0m中安装" +SCD_INSTALL_MANUAL="手动设置安装目录" +SCD_INSTALL_CANCELED="安装已取消" +SCD_NO_WRITE_PREFIX="没有" +SCD_NO_WRITE_SUFFIX="目录写入权限!请重新设置!" +SCD_TARGET_DIR_PREFIX="目标目录" +SCD_TARGET_DIR_SPACE="空间剩余:" +SCD_CONFIRM_INSTALL="是否确认安装?" +SCD_YES="是" +SCD_NO="否" +SCD_DIR_FREE="目录,剩余空间:" +SCD_SOFT_SOLID="(支持软固化功能)" diff --git a/scripts/lang/chs/subconverter.lang b/scripts/lang/chs/subconverter.lang new file mode 100644 index 00000000..1b99a0ec --- /dev/null +++ b/scripts/lang/chs/subconverter.lang @@ -0,0 +1,33 @@ +SUBCONVERTER_MENU_GEN="生成包含全部节点、订阅的配置文件" +SUBCONVERTER_MENU_EXCLUDE="设置\033[31m排除节点正则\033[0m" +SUBCONVERTER_MENU_INCLUDE="设置\033[32m包含节点正则\033[0m" +SUBCONVERTER_MENU_RULE="选择\033[33m在线规则模版\033[0m" +SUBCONVERTER_MENU_SERVER="选择Subconverter服务器" +SUBCONVERTER_MENU_UA="自定义浏览器UA" + +SUBCONVERTER_INPUT="请输入" +SUBCONVERTER_BACK="或输入 0 返回上级菜单" + +SUBCONVERTER_EXCLUDE_HINT1="匹配关键字的节点会在导入时被【屏蔽】!" +SUBCONVERTER_INCLUDE_HINT1="仅有匹配关键字的节点才会被【导入】!!!" +SUBCONVERTER_KEYWORD_SPLIT="多个关键字可以用\033[30;47m | \033[0m号分隔" +SUBCONVERTER_REGEX_HINT="\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" +SUBCONVERTER_EXCLUDE_INPUT="请直接输入节点过滤关键字" +SUBCONVERTER_INCLUDE_INPUT="请直接输入节点匹配关键字" +SUBCONVERTER_EXCLUDE_CLEAR="或输入 d \033[31m清空\033[0m节点过滤关键字" +SUBCONVERTER_INCLUDE_CLEAR="或输入 d \033[31m清空\033[0m节点匹配关键字" + +SUBCONVERTER_RULE_CURRENT="当前使用规则为:" +SUBCONVERTER_SERVER_HINT="以下为互联网采集的第三方服务器,具体安全性请自行斟酌!" +SUBCONVERTER_SERVER_THANKS="感谢以下作者的无私奉献!!!" +SUBCONVERTER_SERVER_CURRENT="当前使用后端为:" +SUBCONVERTER_SET_OK="设置成功!返回上级菜单" + +SUBCONVERTER_UA_HINT="无法正确获取配置文件时可尝试使用" +SUBCONVERTER_UA_CURRENT="当前UA:" +SUBCONVERTER_UA_AUTO="使用自动UA(默认)" +SUBCONVERTER_UA_NONE="不使用UA" +SUBCONVERTER_UA_CUSTOM="使用自定义UA" +SUBCONVERTER_UA_CLEAR="清空UA" +SUBCONVERTER_UA_CUSTOM_WARN="注意:\n自定义UA不可包含空格或特殊符号!" +SUBCONVERTER_UA_CUSTOM_INPUT="请直接输入自定义UA" diff --git a/scripts/lang/chs/task_cmd.lang b/scripts/lang/chs/task_cmd.lang new file mode 100644 index 00000000..a4148521 --- /dev/null +++ b/scripts/lang/chs/task_cmd.lang @@ -0,0 +1,19 @@ +TASK_CMD_EVERY="每隔" +TASK_CMD_HOURLY="时每" +TASK_CMD_MIN="分钟" +TASK_CMD_CORE_SKIP="任务【自动更新内核】中止-未检测到版本更新" +TASK_CMD_CORE_DONE="任务【自动更新内核】下载完成,正在重启服务!" +TASK_CMD_CORE_DL_FAIL="任务【自动更新内核】出错-下载失败!" +TASK_CMD_CORE_VERIFY_FAIL="任务【自动更新内核】出错-内核校验失败!" +TASK_CMD_SCRIPT_SKIP="任务【自动更新脚本】中止-未检测到版本更新" +TASK_CMD_SCRIPT_UNZIP_FAIL="任务【自动更新脚本】出错-解压失败!" +TASK_CMD_DB_SKIP_PREFIX="任务【自动更新数据库文件】跳过-未检测到" +TASK_CMD_DB_SKIP_SUFFIX="版本更新" +TASK_CMD_DB_DL_FAIL_PREFIX="任务【自动更新数据库文件】更新【" +TASK_CMD_DB_DL_FAIL_SUFFIX="】下载失败!" +TASK_CMD_DB_OK_PREFIX="任务【自动更新数据库文件】更新【" +TASK_CMD_DB_OK_SUFFIX="】成功!" +TASK_CMD_RES_OK="成功" +TASK_CMD_RES_FAIL="失败" +TASK_CMD_EXEC_PREFIX="任务【" +TASK_CMD_EXEC_MID="】执行" diff --git a/scripts/lang/chs/uninstall.lang b/scripts/lang/chs/uninstall.lang new file mode 100644 index 00000000..53267d7a --- /dev/null +++ b/scripts/lang/chs/uninstall.lang @@ -0,0 +1,13 @@ +UNINSTALL_WARN="警告:该操作不可逆!" +UNINSTALL_CONFIRM="是否确认卸载ShellCrash?" +UNINSTALL_YES="是" +UNINSTALL_NO="否" +UNINSTALL_KEEP_CONFIRM="是否保留脚本配置及订阅文件?" +UNINSTALL_ENV_ERROR="环境变量配置有误,请尝试手动移除安装目录!" +UNINSTALL_DONE="已卸载ShellCrash相关文件!有缘再会!" +UNINSTALL_CLOSE_HINT="请手动关闭当前窗口以重置环境变量!" +UNINSTALL_CANCELED="操作已取消!" +UNINSTALL_CRON_CLASH="clash服务" +UNINSTALL_CRON_SUB="订阅链接" +UNINSTALL_CRON_INIT="ShellCrash初始化" +UNINSTALL_SSH_MARK="启用外网访问SSH服务" diff --git a/scripts/lang/en/bot_tg.lang b/scripts/lang/en/bot_tg.lang new file mode 100644 index 00000000..0e86697e --- /dev/null +++ b/scripts/lang/en/bot_tg.lang @@ -0,0 +1,68 @@ +BOT_TG_PRIVATE_HINT="Please apply for a Telegram bot via \033[32;4mhttps://t.me/BotFather\033[0m and get its \033[36mAPI TOKEN\033[0m first" +BOT_TG_INPUT_TOKEN="Please enter your API TOKEN" +BOT_TG_PRIVATE_TOP="Please send to \033[32myour bot\033[33m, NOT BotFather!\033[0m" +BOT_TG_PUBLIC_HINT="Please message the bot: \033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" +BOT_TG_SET_DONE="Telegram log push has been configured!" +BOT_TG_CHATID_RETRY_PREFIX="Attempt" +BOT_TG_CHATID_RETRY_SUFFIX="to get chat ID failed, retrying..." +BOT_TG_SEND_KEY="Send this key:" +BOT_TG_SENT_CONFIRM="I have sent it" +BOT_TG_CHATID_FAIL="Unable to get chat ID. Please reconfigure or input ChatID manually!" +BOT_TG_CHATID_MANUAL_HINT="Usually visit" +BOT_TG_CHATID_MANUAL_HINT2="to find ChatID" +BOT_TG_INPUT_CHATID="Please input ChatID manually" +BOT_TG_CHATID_RECONFIG="Unable to get chat ID. Please reconfigure!" +BOT_TG_CRON_NAME="TG_BOT watchdog" + +BOT_TG_HELP_GROUP="Group chat:" +BOT_TG_HELP_PROJECT="Project:" +BOT_TG_HELP_GUIDE="Guide:" +BOT_TG_HELP_COFFEE="Buy me a coffee:" +BOT_TG_HELP_AIRPORT="Partner provider:" +BOT_TG_RUN_ON="🟢Running" +BOT_TG_RUN_OFF="🟡Stopped" +BOT_TG_WELCOME="Welcome to ShellCrash!" +BOT_TG_SERVICE=" service " +BOT_TG_MEM_USED="Memory usage: " +BOT_TG_RUNNING_TIME="Running: " +BOT_TG_SELECT_ACTION="Please choose:" +BOT_TG_SELECT_FILE="Please choose file upload/download action:" +BOT_TG_BTN_START="✈️ Enable redirect" +BOT_TG_BTN_PURE="💧 Pure mode" +BOT_TG_BTN_RESTART="🕹 Restart service" +BOT_TG_BTN_LOG="📄 View logs" +BOT_TG_BTN_TRANSFER="🔃 File transfer" +BOT_TG_BTN_GET_LOG="📥 Download log" +BOT_TG_BTN_GET_BAK="💾 Backup settings" +BOT_TG_BTN_GET_CFG="⬇️ Download config" +BOT_TG_BTN_UP_CORE="🪐 Upload core" +BOT_TG_BTN_UP_BAK="🔄 Restore settings" +BOT_TG_BTN_UP_CFG="⬆️ Upload config" +BOT_TG_NO_CURL="⚠️ curl is missing on this device, only upload is supported!" +BOT_TG_UPLOAD_OK="success! Service will restart soon!" +BOT_TG_UPLOAD_FAIL="failed, please check file and retry!" +BOT_TG_CORE_UPDATE="Core update " +BOT_TG_CFG_RESTORED="Config restored, please restart service manually!" +BOT_TG_RESTORE_FAIL="Restore failed while extracting backup, please retry!" +BOT_TG_CFG_UPLOADED="Config uploaded, please restart service manually!" +BOT_TG_UPLOAD_FAIL2="Upload failed, please retry!" +BOT_TG_NET_UPLOAD_FAIL="Network error, upload failed! Please retry!" +BOT_TG_FILE_FORMAT_FAIL="File format mismatch, upload failed!" +BOT_TG_FW_ENABLED="ShellCrash redirect mode " +BOT_TG_FW_ENABLED_SUFFIX=" enabled!" +BOT_TG_SWITCH_PURE="Switched to pure mode!" +BOT_TG_SERVICE_RESTARTED="ShellCrash service restarted!" +BOT_TG_UNFINISHED="Error: unfinished feature!" +BOT_TG_SEND_CORE="Please send core file ending with tar.gz/.gz/.upx for [" +BOT_TG_SEND_CORE_SUFFIX="]" +BOT_TG_SEND_BAK="Please send backup file in [.tar.gz] format!" +BOT_TG_SEND_CFG="Please send config file in [" +BOT_TG_SEND_CFG_SUFFIX="] format, custom config is supported" +BOT_TG_SWITCH_TO="Switched to " +BOT_TG_ALREADY="Already in " +BOT_TG_ALREADY_PURE="Already in pure mode!" +BOT_TG_SERVICE_RESTARTED_SHORT="🔄 Service restarted" +BOT_TG_LOG_CONTENT="📄 Logs (task logs filtered):" +BOT_TG_TASK_WORD="Task" +BOT_TG_INPUT_SUB="✏ Please enter new subscription URL:" +BOT_TG_SUB_UPDATED="Subscription update finished:" diff --git a/scripts/lang/en/check_port.lang b/scripts/lang/en/check_port.lang new file mode 100644 index 00000000..2e14ca8a --- /dev/null +++ b/scripts/lang/en/check_port.lang @@ -0,0 +1,3 @@ +CHECK_PORT_RANGE_ERR="Invalid input! Please enter a valid value (1-65535)!" +CHECK_PORT_DUP_ERR="Invalid input! Please do not enter duplicate ports!" +CHECK_PORT_OCCUPIED_ERR="This port is already occupied by another process. Please enter a different one!" diff --git a/scripts/lang/en/ddns.lang b/scripts/lang/en/ddns.lang new file mode 100644 index 00000000..e97c91b0 --- /dev/null +++ b/scripts/lang/en/ddns.lang @@ -0,0 +1,35 @@ +DDNS_WELCOME="Welcome to DDNS!" +DDNS_ADD_DONE="Service has been added!" +DDNS_INPUT_DOMAIN="Please enter your domain" +DDNS_INPUT_USER="Please enter username or email" +DDNS_INPUT_PASS="Please enter password or token" +DDNS_INPUT_CHECK_INTERVAL="Please enter check interval (minutes, default 10)" +DDNS_INPUT_FORCE_INTERVAL="Please enter force update interval (hours, default 24)" +DDNS_CONFIRM_INFO="Please confirm the following info:" +DDNS_FIELD_SERVICE="Provider:" +DDNS_FIELD_DOMAIN="Domain:" +DDNS_FIELD_USER="Username:" +DDNS_FIELD_INTERVAL="Check interval:" +DDNS_CONFIRM_ADD="Confirm add:" +DDNS_YES="Yes" +DDNS_REINPUT="No, re-enter" +DDNS_LIST_NOT_FOUND="DDNS list file not found, trying online update..." +DDNS_DOWNLOAD_FAILED="Download failed, please retry!" +DDNS_SELECT_PROVIDER="Please select provider:" +DDNS_INPUT_ERROR="Invalid input, please retry!" +DDNS_SELECT_NETMODE="Please select network mode:" +DDNS_IPV4="IPV4" +DDNS_IPV6="IPV6" +DDNS_DISABLE="Disable" +DDNS_ENABLE="Enable" +DDNS_UPDATE_NOW="Update now" +DDNS_EDIT_CURRENT="Edit current service" +DDNS_CURRENT_SERVICE=" current service" +DDNS_REMOVE_CURRENT="Remove current service" +DDNS_VIEW_LOG="View logs" +DDNS_NOT_SUPPORTED="This feature depends on OpenWrt built-in DDNS service; unsupported on current device." +DDNS_LIST_HEADER=" List Domain On IP Address" +DDNS_ADD_SERVICE="Add DDNS service" +DDNS_EXIT="Exit" +DDNS_INPUT_INDEX="Please enter index" +DDNS_INPUT_NUM_ERROR="Please enter a valid number!" diff --git a/scripts/lang/en/providers.lang b/scripts/lang/en/providers.lang new file mode 100644 index 00000000..ab2d2f1a --- /dev/null +++ b/scripts/lang/en/providers.lang @@ -0,0 +1,25 @@ +PROVIDERS_MENU_GEN="Generate config including all providers" +PROVIDERS_MENU_TEMPLATE="Select \033[33mrule template\033[0m" +PROVIDERS_MENU_CLEAN="\033[33mClean\033[0m providers directory" +PROVIDERS_INPUT="Please enter a letter or number" + +PROVIDERS_EMPTY_HINT="No link or local config file has been added yet. Please add one first!" +PROVIDERS_TEMPLATE_CURRENT="Current rule template: " +PROVIDERS_TEMPLATE_SELECT="Please select an online template:" +PROVIDERS_TEMPLATE_LOCAL="Use \033[36mlocal template\033[0m" +PROVIDERS_TEMPLATE_PATH="Please enter template path (absolute path)" +PROVIDERS_TEMPLATE_NOT_FOUND="Invalid input, template file not found!" + +PROVIDERS_CLEAN_WARN="This will clear all files under" +PROVIDERS_CLEAN_WARN_END="" +PROVIDERS_CLEAN_CONFIRM="Continue?" + +PROVIDERS_FETCHING_TEMPLATE="Fetching online template..." +PROVIDERS_DOWNLOAD_FAILED="Download failed. Please try switching install source!" +PROVIDERS_GEN_OK="Configuration file generated successfully!" +PROVIDERS_GEN_OK_SINGBOX="Configuration generated successfully! If startup times out, install the Singbox-srs common database package from Update menu." +PROVIDERS_GEN_FAILED="Failed to generate configuration file. Please check your input carefully!" +PROVIDERS_RESTART_ASK="Start/Restart service now?" +PROVIDERS_YES="Yes" +PROVIDERS_NO="No" +PROVIDERS_CRON_SUB_UPDATE="Update subscription" diff --git a/scripts/lang/en/set_crashdir.lang b/scripts/lang/en/set_crashdir.lang new file mode 100644 index 00000000..b4229521 --- /dev/null +++ b/scripts/lang/en/set_crashdir.lang @@ -0,0 +1,34 @@ +SCD_SELECT_INSTALL_DIR="Please select install directory:" +SCD_INPUT_NUM="Please enter a number" +SCD_INPUT_ERROR="Invalid input! Please retry!" +SCD_XIAOMI_DETECTED="Xiaomi stock firmware detected, select installation location:" +SCD_CUSTOM_DIR_WARN="Custom directory (not recommended)" +SCD_EXIT_INSTALL="Exit installation" +SCD_SELECT_USB_DIR="Please select USB directory:" +SCD_ASUS_DM_NOT_FOUND="Download Master startup file not found:" +SCD_CHECK_SETTING="please check your settings!" +SCD_ASUS_DETECTED="Asus firmware detected, please select installation method" +SCD_ASUS_INSTALL_DM="Install via USB + Download Master (all firmwares, ARM only)" +SCD_ASUS_INSTALL_SCRIPT="Install via startup script (some Merlin firmwares only)" +SCD_ASUS_DM_HINT="Install and enable Download Master in router web UI first, then select external storage directory." +SCD_ASUS_REINSTALL_HINT="If boot auto-start fails, please reinstall with USB + Download Master." +SCD_PATH_FORMAT_HINT="Path must start with /. Files under virtual memory (/tmp,/opt,/sys...) will be lost after reboot!" +SCD_PATH_FREE_SPACE="Available paths free space:" +SCD_INPUT_CUSTOM_DIR="Please input custom path" +SCD_PATH_ERROR="Invalid path! Please retry!" +SCD_INSTALL_SPACE_HINT="Notice: ShellCrash requires at least ~1MB free space" +SCD_INSTALL_ETC="Install in \033[32m/etc\033[0m (root users)" +SCD_INSTALL_USR="Install in \033[32m/usr/share\033[0m (Linux systems)" +SCD_INSTALL_HOME="Install in \033[32mcurrent user dir\033[0m (non-root users)" +SCD_INSTALL_USB="Install in \033[32mexternal storage\033[0m" +SCD_INSTALL_MANUAL="Set install directory manually" +SCD_INSTALL_CANCELED="Installation canceled" +SCD_NO_WRITE_PREFIX="No write permission on " +SCD_NO_WRITE_SUFFIX=", please retry!" +SCD_TARGET_DIR_PREFIX="Target directory " +SCD_TARGET_DIR_SPACE=" free space: " +SCD_CONFIRM_INSTALL="Confirm installation?" +SCD_YES="Yes" +SCD_NO="No" +SCD_DIR_FREE=" dir, free: " +SCD_SOFT_SOLID="(supports soft solidification)" diff --git a/scripts/lang/en/subconverter.lang b/scripts/lang/en/subconverter.lang new file mode 100644 index 00000000..7761f82b --- /dev/null +++ b/scripts/lang/en/subconverter.lang @@ -0,0 +1,33 @@ +SUBCONVERTER_MENU_GEN="Generate config including all nodes and subscriptions" +SUBCONVERTER_MENU_EXCLUDE="Set \033[31mexclude node regex\033[0m" +SUBCONVERTER_MENU_INCLUDE="Set \033[32minclude node regex\033[0m" +SUBCONVERTER_MENU_RULE="Select \033[33monline rule template\033[0m" +SUBCONVERTER_MENU_SERVER="Select Subconverter server" +SUBCONVERTER_MENU_UA="Custom browser UA" + +SUBCONVERTER_INPUT="Please enter" +SUBCONVERTER_BACK="or enter 0 to return" + +SUBCONVERTER_EXCLUDE_HINT1="Nodes matching keywords will be blocked during import!" +SUBCONVERTER_INCLUDE_HINT1="Only nodes matching keywords will be imported!!!" +SUBCONVERTER_KEYWORD_SPLIT="Use \033[30;47m | \033[0m to separate multiple keywords" +SUBCONVERTER_REGEX_HINT="\033[32mRegex is supported\033[0m. Use \033[30;47m + \033[0m instead of spaces" +SUBCONVERTER_EXCLUDE_INPUT="Enter exclude keyword(s) directly" +SUBCONVERTER_INCLUDE_INPUT="Enter include keyword(s) directly" +SUBCONVERTER_EXCLUDE_CLEAR="or enter d to \033[31mclear\033[0m exclude keywords" +SUBCONVERTER_INCLUDE_CLEAR="or enter d to \033[31mclear\033[0m include keywords" + +SUBCONVERTER_RULE_CURRENT="Current rule: " +SUBCONVERTER_SERVER_HINT="The following third-party servers are collected from the internet. Please evaluate their security by yourself!" +SUBCONVERTER_SERVER_THANKS="Thanks to the contributors below for their great work!!!" +SUBCONVERTER_SERVER_CURRENT="Current backend: " +SUBCONVERTER_SET_OK="Settings saved. Returning to previous menu" + +SUBCONVERTER_UA_HINT="Try this if the config file cannot be fetched correctly" +SUBCONVERTER_UA_CURRENT="Current UA: " +SUBCONVERTER_UA_AUTO="Use auto UA (default)" +SUBCONVERTER_UA_NONE="Do not use UA" +SUBCONVERTER_UA_CUSTOM="Use custom UA" +SUBCONVERTER_UA_CLEAR="Clear UA" +SUBCONVERTER_UA_CUSTOM_WARN="Note:\nCustom UA cannot contain spaces or special symbols!" +SUBCONVERTER_UA_CUSTOM_INPUT="Enter custom UA" diff --git a/scripts/lang/en/task_cmd.lang b/scripts/lang/en/task_cmd.lang new file mode 100644 index 00000000..ab93d80c --- /dev/null +++ b/scripts/lang/en/task_cmd.lang @@ -0,0 +1,19 @@ +TASK_CMD_EVERY="every" +TASK_CMD_HOURLY="hourly" +TASK_CMD_MIN="minute" +TASK_CMD_CORE_SKIP="Task [Auto update core] skipped - no new version detected" +TASK_CMD_CORE_DONE="Task [Auto update core] download complete, restarting service" +TASK_CMD_CORE_DL_FAIL="Task [Auto update core] failed - download error" +TASK_CMD_CORE_VERIFY_FAIL="Task [Auto update core] failed - core verification error" +TASK_CMD_SCRIPT_SKIP="Task [Auto update script] skipped - no new version detected" +TASK_CMD_SCRIPT_UNZIP_FAIL="Task [Auto update script] failed - extract error" +TASK_CMD_DB_SKIP_PREFIX="Task [Auto update database] skipped - no new version for " +TASK_CMD_DB_SKIP_SUFFIX="" +TASK_CMD_DB_DL_FAIL_PREFIX="Task [Auto update database] failed downloading [" +TASK_CMD_DB_DL_FAIL_SUFFIX="]" +TASK_CMD_DB_OK_PREFIX="Task [Auto update database] updated [" +TASK_CMD_DB_OK_SUFFIX="] successfully" +TASK_CMD_RES_OK="success" +TASK_CMD_RES_FAIL="failed" +TASK_CMD_EXEC_PREFIX="Task [" +TASK_CMD_EXEC_MID="] result: " diff --git a/scripts/lang/en/uninstall.lang b/scripts/lang/en/uninstall.lang new file mode 100644 index 00000000..3d2f1ede --- /dev/null +++ b/scripts/lang/en/uninstall.lang @@ -0,0 +1,13 @@ +UNINSTALL_WARN="Warning: this action is irreversible!" +UNINSTALL_CONFIRM="Are you sure you want to uninstall ShellCrash?" +UNINSTALL_YES="Yes" +UNINSTALL_NO="No" +UNINSTALL_KEEP_CONFIRM="Keep script configs and subscription files?" +UNINSTALL_ENV_ERROR="Environment variable configuration is incorrect. Please remove the installation directory manually!" +UNINSTALL_DONE="ShellCrash related files have been removed. Goodbye!" +UNINSTALL_CLOSE_HINT="Please close the current terminal window manually to reset environment variables!" +UNINSTALL_CANCELED="Operation canceled!" +UNINSTALL_CRON_CLASH="clash service" +UNINSTALL_CRON_SUB="subscription link" +UNINSTALL_CRON_INIT="ShellCrash initialization" +UNINSTALL_SSH_MARK="Enable SSH access from WAN" diff --git a/scripts/menus/bot_tg.sh b/scripts/menus/bot_tg.sh index c3ac471f..09052d7b 100644 --- a/scripts/menus/bot_tg.sh +++ b/scripts/menus/bot_tg.sh @@ -4,10 +4,13 @@ . "$CRASHDIR"/libs/web_json.sh . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/web_get_lite.sh +. "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/running_status.sh . "$CRASHDIR"/configs/gateway.cfg . "$CRASHDIR"/configs/ShellCrash.cfg +load_lang bot_tg + TMPDIR='/tmp/ShellCrash' API="https://api.telegram.org/bot$TG_TOKEN" STATE_FILE="$TMPDIR/tgbot_state" @@ -32,15 +35,15 @@ send_msg(){ } send_help(){ TEXT=$(cat </dev/null 2>&1;then CURL_KB=$(cat < "$LOGFILE" + echo "$BOT_TG_FW_ENABLED*$redir_mod_bf*$BOT_TG_FW_ENABLED_SUFFIX" > "$LOGFILE" } do_stop_fw(){ redir_mod_bf=$redir_mod firewall_area=4 setconfig firewall_area 4 "$CRASHDIR"/start.sh stop_firewall - echo "ShellCrash 已切换到纯净模式!" > "$LOGFILE" + echo "$BOT_TG_SWITCH_PURE" > "$LOGFILE" } do_restart(){ "$CRASHDIR"/start.sh restart - echo "ShellCrash 服务已重启!" > "$LOGFILE" + echo "$BOT_TG_SERVICE_RESTARTED" > "$LOGFILE" } do_set_sub(){ #echo "$1" "$2" >> "$CRASHDIR"/configs/providers.cfg - echo "错误,还未完成的功能!" > "$LOGFILE" + echo "$BOT_TG_UNFINISHED" > "$LOGFILE" } transport(){ #文件传输 @@ -204,15 +207,15 @@ transport(){ #文件传输 ;; "ts_up_core") FILE_TYPE=1 - send_msg "请发送需要上传的内核,必须是以tar.gz,.gz或.upx结尾的【${corename}】内核!" + send_msg "$BOT_TG_SEND_CORE ${corename} $BOT_TG_SEND_CORE_SUFFIX" ;; "ts_up_bak") FILE_TYPE=2 - send_msg "请发送需要还原的备份文件,必须是【.tar.gz】格式!" + send_msg "$BOT_TG_SEND_BAK" ;; "ts_up_ccf") FILE_TYPE=3 - send_msg "请发送需要上传的配置文件,必须是【.${config_type}】格式,支持自定义配置文件" + send_msg "$BOT_TG_SEND_CFG .${config_type} $BOT_TG_SEND_CFG_SUFFIX" ;; esac } @@ -246,9 +249,9 @@ polling(){ "start_redir") if [ "$firewall_area" = 4 ];then do_start_fw - send_msg "已切换到$redir_mod_bf!" + send_msg "$BOT_TG_SWITCH_TO$redir_mod_bf!" else - send_msg "当前已经是$redir_mod!" + send_msg "$BOT_TG_ALREADY$redir_mod!" fi send_menu continue @@ -256,22 +259,22 @@ polling(){ "stop_redir") if [ "$firewall_area" != 4 ];then do_stop_fw - send_msg "已切换到纯净模式" + send_msg "$BOT_TG_SWITCH_PURE" else - send_msg "当前已经是纯净模式!" + send_msg "$BOT_TG_ALREADY_PURE" fi send_menu continue ;; "restart") do_restart - send_msg "🔄 服务已重启" + send_msg "$BOT_TG_SERVICE_RESTARTED_SHORT" sleep 10 send_menu continue ;; "readlog") - send_msg "📄 日志内容如下(已过滤任务日志):\n\`\`\`$(grep -v '任务' $TMPDIR/ShellCrash.log |tail -n 20)\`\`\`" + send_msg "$BOT_TG_LOG_CONTENT\n\`\`\`$(grep -v "$BOT_TG_TASK_WORD" $TMPDIR/ShellCrash.log |tail -n 20)\`\`\`" sleep 3 send_menu continue @@ -282,7 +285,7 @@ polling(){ ;; "set_sub") echo "await_sub" > "$STATE_FILE" - send_msg "✏ 请输入新的订阅链接:" + send_msg "$BOT_TG_INPUT_SUB" continue ;; ts_*) @@ -298,7 +301,7 @@ polling(){ if [ "$(cat "$STATE_FILE" 2>/dev/null)" = "await_sub" ]; then echo "" > "$STATE_FILE" do_set_sub "$TEXT" - send_msg "订阅更新完成:\n$(cat "$LOGFILE")" + send_msg "$BOT_TG_SUB_UPDATED\n$(cat "$LOGFILE")" send_menu continue fi diff --git a/scripts/menus/bot_tg_bind.sh b/scripts/menus/bot_tg_bind.sh index 1280ab48..7b81a5f2 100644 --- a/scripts/menus/bot_tg_bind.sh +++ b/scripts/menus/bot_tg_bind.sh @@ -2,16 +2,18 @@ . "$CRASHDIR"/libs/web_get_lite.sh +load_lang bot_tg + private_bot() { - comp_box "请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m" - read -r -p "请输入你获取到的API TOKEN> " TOKEN + comp_box "$BOT_TG_PRIVATE_HINT" + read -r -p "$BOT_TG_INPUT_TOKEN> " TOKEN url_tg=https://api.telegram.org/bot${TOKEN}/getUpdates - top_box "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" + top_box "$BOT_TG_PRIVATE_TOP" } public_bot() { - comp_box "请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" + comp_box "$BOT_TG_PUBLIC_HINT" TOKEN=publictoken url_tg=https://tgbot.jwsc.eu.org/publictoken/getUpdates } @@ -20,7 +22,7 @@ tg_push_token() { push_TG="$TOKEN" setconfig push_TG "$TOKEN" setconfig chat_ID "$chat_ID" - . "$CRASHDIR"/libs/logger.sh && logger "已完成Telegram日志推送设置!" 32 + . "$CRASHDIR"/libs/logger.sh && logger "$BOT_TG_SET_DONE" 32 } get_chatid() { @@ -28,7 +30,7 @@ get_chatid() { chat_ID='' while [ $i -le 3 ] && [ -z "$chat_ID" ]; do sleep 1 - comp_box "\033[33m第 $i 次尝试获取对话ID失败,正在重试...\033[0m" + comp_box "\033[33m$BOT_TG_CHATID_RETRY_PREFIX $i $BOT_TG_CHATID_RETRY_SUFFIX\033[0m" chat=$(web_get_lite "$url_tg" 2>/dev/null) if [ -n "$chat" ]; then chat_ID=$(echo "$chat" | sed 's/"update_id":/{\n"update_id":/g' | grep "$public_key" | head -n1 | grep -oE '"id":.*,"is_bot' | sed s'/"id"://' | sed s'/,"is_bot//') @@ -39,19 +41,19 @@ get_chatid() { set_bot() { public_key=$(cat /proc/sys/kernel/random/boot_id | sed 's/.*-//') - btm_box "发送此秘钥: \033[30;46m$public_key\033[0m" - read -r -p "我已经发送完成(1/0)> " res + btm_box "$BOT_TG_SEND_KEY \033[30;46m$public_key\033[0m" + read -r -p "$BOT_TG_SENT_CONFIRM(1/0)> " res if [ "$res" = 1 ]; then get_chatid [ -z "$chat_ID" ] && [ "$TOKEN" != 'publictoken' ] && { - comp_box "\033[31m无法获取对话ID,请返回重新设置或手动输入ChatID!\033[0m" \ - "通常访问 \033[32;4m$url_tg\033[0m \n\033[36m即可看到ChatID\033[0m" - read -r -p "请手动输入ChatID> " chat_ID + comp_box "\033[31m$BOT_TG_CHATID_FAIL\033[0m" \ + "$BOT_TG_CHATID_MANUAL_HINT \033[32;4m$url_tg\033[0m \n\033[36m$BOT_TG_CHATID_MANUAL_HINT2\033[0m" + read -r -p "$BOT_TG_INPUT_CHATID> " chat_ID } if echo "$chat_ID" | grep -qE '^[0-9]{8,}$'; then return 0 else - msg_alert "\033[31m无法获取对话ID,请重新配置!\033[0m" + msg_alert "\033[31m$BOT_TG_CHATID_RECONFIG\033[0m" return 1 fi fi diff --git a/scripts/menus/bot_tg_service.sh b/scripts/menus/bot_tg_service.sh index d5ea1b71..a0b0a23a 100644 --- a/scripts/menus/bot_tg_service.sh +++ b/scripts/menus/bot_tg_service.sh @@ -1,6 +1,8 @@ . "$CRASHDIR"/libs/set_cron.sh +load_lang bot_tg + bot_tg_start(){ . "$CRASHDIR"/starts/start_legacy.sh start_legacy "$CRASHDIR/menus/bot_tg.sh" 'bot_tg' @@ -12,5 +14,5 @@ bot_tg_stop(){ rm -f "$TMPDIR/bot_tg.pid" } bot_tg_cron(){ - cronset 'TG_BOT守护进程' "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT守护进程" + cronset "$BOT_TG_CRON_NAME" "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #$BOT_TG_CRON_NAME" } diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index 97ef9124..0e1dbc13 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -1,15 +1,17 @@ #!/bin/sh # Copyright (C) Juewuy +load_lang check_port + check_port() { if [ "$1" -gt 65535 ] || [ "$1" -le 1 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m$CHECK_PORT_RANGE_ERR\033[0m" return 1 elif echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$1|"; then - msg_alert "\033[31m输入错误!请不要输入重复的端口!\033[0m" + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" return 1 elif netstat -ntul | grep -q ":$1[[:space:]]"; then - msg_alert "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + msg_alert "\033[31m$CHECK_PORT_OCCUPIED_ERR\033[0m" return 1 else return 0 diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index ee76453f..67326c16 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -1,8 +1,10 @@ #! /bin/bash # Copyright (C) Juewuy +load_lang ddns + ddns_menu() { - top_box "\033[30;46m欢迎使用DDNS!\033[0m" + top_box "\033[30;46m$DDNS_WELCOME\033[0m" load_ddns } @@ -28,36 +30,36 @@ config service '$service' EOF /usr/lib/ddns/dynamic_dns_updater.sh -S "$service" start >/dev/null 2>&1 & sleep 3 - msg_alert "服务已经添加!" + msg_alert "$DDNS_ADD_DONE" } set_ddns() { while true; do line_break - read -r -p "请输入你的域名> " str + read -r -p "$DDNS_INPUT_DOMAIN> " str [ -z "$str" ] && domain="$domain" || domain="$str" echo "" - read -r -p "请输入用户名或邮箱> " str + read -r -p "$DDNS_INPUT_USER> " str [ -z "$str" ] && username="$username" || username="$str" echo "" - read -r -p "请输入密码或令牌秘钥> " str + read -r -p "$DDNS_INPUT_PASS> " str [ -z "$str" ] && password="$password" || password="$str" echo "" - read -r -p "请输入检测更新间隔(单位:分钟;默认为10)> " check_interval + read -r -p "$DDNS_INPUT_CHECK_INTERVAL> " check_interval [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 echo "" - read -r -p "请输入强制更新间隔(单位:小时;默认为24)> " force_interval + read -r -p "$DDNS_INPUT_FORCE_INTERVAL> " force_interval [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 - comp_box "请核对如下信息:" \ + comp_box "$DDNS_CONFIRM_INFO" \ "" \ - "服务商: \033[32m$service\033[0m" \ - "域名: \033[32m$domain\033[0m" \ - "用户名: \033[32m$username\033[0m" \ - "检测间隔: \033[32m$check_interval\033[0m" - btm_box "是否确认添加:" - btm_box "1) 是" \ - "0) 否,重新輸入" + "$DDNS_FIELD_SERVICE \033[32m$service\033[0m" \ + "$DDNS_FIELD_DOMAIN \033[32m$domain\033[0m" \ + "$DDNS_FIELD_USER \033[32m$username\033[0m" \ + "$DDNS_FIELD_INTERVAL \033[32m$check_interval\033[0m" + btm_box "$DDNS_CONFIRM_ADD" + btm_box "1) $DDNS_YES" \ + "0) $DDNS_REINPUT" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then add_ddns @@ -72,17 +74,17 @@ set_ddns_service() { [ -s "$services_dir" ] || services_dir=/etc/ddns/services [ -s "$services_dir" ] || services_dir=/usr/share/ddns/list [ -s "$services_dir" ] || { - msg_alert "\033[33m未找到DDNS列表文件,尝试在线获取……\033[0m" - ddns service update >/dev/null || msg_alert "\033[31m下载失败,请重试!\033[0m" + msg_alert "\033[33m$DDNS_LIST_NOT_FOUND\033[0m" + ddns service update >/dev/null || msg_alert "\033[31m$DDNS_DOWNLOAD_FAILED\033[0m" } - comp_box "\033[32m请选择服务提供商:\033[0m" + comp_box "\033[32m$DDNS_SELECT_PROVIDER\033[0m" list=$(awk '/^#/ || !NF {next} {print $1}' "$services_dir") list_box "$list" nr=$(echo "$list" | wc -l) common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= break @@ -92,19 +94,19 @@ set_ddns_service() { set_ddns break else - msg_alert "\033[33m输入错误,请重新输入!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_ERROR\033[0m" fi done } set_ddns_type() { while true; do - comp_box "\033[32m请选择网络模式:\033[0m" - btm_box "1) \033[36mIPV4\033[0m" \ - "2) \033[36mIPV6\033[0m" \ + comp_box "\033[32m$DDNS_SELECT_NETMODE\033[0m" + btm_box "1) \033[36m$DDNS_IPV4\033[0m" \ + "2) \033[36m$DDNS_IPV6\033[0m" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -122,7 +124,7 @@ set_ddns_type() { break ;; *) - msg_alert "\033[33m输入错误,请重新输入!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_ERROR\033[0m" ;; esac done @@ -131,15 +133,15 @@ set_ddns_type() { rev_ddns_service() { while true; do enabled=$(uci get ddns."$service".enabled) - [ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用" - comp_box "1) \033[32m立即更新\033[0m" \ - "2) 编辑当前服务" \ - "3) $enabled_b当前服务" \ - "4) 移除当前服务" \ - "5) 查看运行日志" \ + [ "$enabled" = 1 ] && enabled_b="$DDNS_DISABLE" || enabled_b="$DDNS_ENABLE" + comp_box "1) \033[32m$DDNS_UPDATE_NOW\033[0m" \ + "2) $DDNS_EDIT_CURRENT" \ + "3) $enabled_b$DDNS_CURRENT_SERVICE" \ + "4) $DDNS_REMOVE_CURRENT" \ + "5) $DDNS_VIEW_LOG" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -176,7 +178,7 @@ rev_ddns_service() { break ;; *) - msg_alert "\033[33m输入错误,请重新输入!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_ERROR\033[0m" ;; esac done @@ -187,14 +189,14 @@ load_ddns() { ddns_dir=/etc/config/ddns tmp_dir="$TMPDIR"/ddns [ ! -f "$ddns_dir" ] && { - btm_box "\033[31m本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!\033[0m" + btm_box "\033[31m$DDNS_NOT_SUPPORTED\033[0m" sleep 1 return 1 } nr=0 cat "$ddns_dir" | grep 'config service' | awk '{print $3}' | sed "s/'//g" | sed 's/"//g' >"$tmp_dir" separator_line "=" - content_line " 列表 域名 启用 IP地址" + content_line "$DDNS_LIST_HEADER" content_line "" [ -s "$tmp_dir" ] && for service in $(cat "$tmp_dir"); do # echo $service >>$tmp_dir @@ -204,10 +206,10 @@ load_ddns() { local_ip=$(sed '1!G;h;$!d' /var/log/ddns/"$service".log 2>/dev/null | grep -E 'Registered IP' | tail -1 | awk -F "'" '{print $2}' | tr -d "'\"") content_line "$nr) $domain $enabled $local_ip" done - content_line "$((nr + 1))) 添加DDNS服务" - content_line "0) 退出" + content_line "$((nr + 1))) $DDNS_ADD_SERVICE" + content_line "0) $DDNS_EXIT" separator_line "=" - read -r -p "请输入对应序号> " num + read -r -p "$DDNS_INPUT_INDEX> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= rm -rf "$tmp_dir" @@ -218,7 +220,7 @@ load_ddns() { service=$(cat "$tmp_dir" | sed -n "$num"p) rev_ddns_service else - msg_alert "\033[33m请输入正确数字!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_NUM_ERROR\033[0m" fi done } diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index 30a744d1..50e0fe29 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -4,6 +4,8 @@ [ -n "$__IS_MODULE_PROVIDERS" ] && return __IS_MODULE_PROVIDERS=1 +load_lang providers + if [ "$crashcore" = singboxr ]; then CORE_TYPE=singbox else @@ -21,12 +23,12 @@ providers() { [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file fi - comp_box "1) \033[32m生成\033[0m包含全部提供者的配置文件" \ - "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" \ - "3) \033[33m清理\033[0mproviders目录文件" \ + comp_box "1) \033[32m$PROVIDERS_MENU_GEN\033[0m" \ + "2) $PROVIDERS_MENU_TEMPLATE \033[32m$provider_temp_des\033[0m" \ + "3) $PROVIDERS_MENU_CLEAN" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应字母或数字> " num + read -r -p "$PROVIDERS_INPUT> " num case "$num" in "" | 0) break @@ -36,25 +38,25 @@ providers() { . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" gen_providers else - msg_alert "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" + msg_alert "\033[31m$PROVIDERS_EMPTY_HINT\033[0m" fi ;; 2) list=$(cat "$CRASHDIR/configs/${CORE_TYPE}_providers.list" | awk '{print $1}') - comp_box "当前规则模版为:\033[32m$provider_temp_des\033[0m" \ - "\033[33m请选择在线模版:\033[0m" + comp_box "$PROVIDERS_TEMPLATE_CURRENT\033[32m$provider_temp_des\033[0m" \ + "\033[33m$PROVIDERS_TEMPLATE_SELECT\033[0m" list_box "$list" btm_box "" \ - "a) 使用\033[36m本地模版\033[0m" \ + "a) $PROVIDERS_TEMPLATE_LOCAL" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应字母或数字> " num + read -r -p "$PROVIDERS_INPUT> " num case "$num" in "" | 0) ;; a) line_break - read -r -p "请输入模版的路径(绝对路径)> " dir + read -r -p "$PROVIDERS_TEMPLATE_PATH> " dir if [ -s "$dir" ]; then provider_temp_file=$dir if setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file"; then @@ -63,7 +65,7 @@ providers() { common_failed fi else - msg_alert "\033[31m输入错误,找不到对应模版文件!\033[0m" + msg_alert "\033[31m$PROVIDERS_TEMPLATE_NOT_FOUND\033[0m" fi ;; *) @@ -81,11 +83,11 @@ providers() { esac ;; 3) - comp_box "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" \ + comp_box "\033[33m$PROVIDERS_CLEAN_WARN $CRASHDIR/providers $PROVIDERS_CLEAN_WARN_END\033[0m" \ "" \ - "是否继续?" - btm_box "1) 是" \ - "0) 否" + "$PROVIDERS_CLEAN_CONFIRM" + btm_box "1) $PROVIDERS_YES" \ + "0) $PROVIDERS_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then if rm -rf "$CRASHDIR"/providers; then diff --git a/scripts/menus/providers_clash.sh b/scripts/menus/providers_clash.sh index d955f170..f8bc313a 100644 --- a/scripts/menus/providers_clash.sh +++ b/scripts/menus/providers_clash.sh @@ -4,6 +4,8 @@ [ -n "$__IS_PROVIDERS_CLASH" ] && return __IS_PROVIDERS_CLASH=1 +load_lang providers + . "$CRASHDIR"/libs/web_get_bin.sh # 生成clash的providers配置文件 @@ -17,10 +19,10 @@ gen_providers() { if [ -s "$provider_temp_file" ]; then ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file else - msg_alert "\033[33m正在获取在线模版......\033[0m" + msg_alert "\033[33m$PROVIDERS_FETCHING_TEMPLATE\033[0m" get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" [ -z "$(grep -o 'rules' "$TMPDIR"/provider_temp_file)" ] && { - msg_alert "\033[31m下载失败,请尝试更换安装源!\033[0m" + msg_alert "\033[31m$PROVIDERS_DOWNLOAD_FAILED\033[0m" . "$CRASHDIR"/menus/9_upgrade.sh && setserver setproviders } @@ -61,21 +63,21 @@ gen_providers() { # 调用内核测试 . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml if [ "$?" = 0 ]; then - msg_alert "\033[32m配置文件生成成功!\033[0m" + msg_alert "\033[32m$PROVIDERS_GEN_OK\033[0m" mkdir -p "$CRASHDIR"/yamls mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml - comp_box "是否立即启动/重启服务?" - btm_box "1) 是" \ - "0) 否" + comp_box "$PROVIDERS_RESTART_ASK" + btm_box "1) $PROVIDERS_YES" \ + "0) $PROVIDERS_NO" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { - start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset "$PROVIDERS_CRON_SUB_UPDATE" exit } else rm -rf "$TMPDIR"/CrashCore rm -rf "$TMPDIR"/config.yaml - msg_alert "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + msg_alert "\033[31m$PROVIDERS_GEN_FAILED\033[0m" fi } diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index 1644cd62..a0b673ba 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -4,6 +4,8 @@ [ -n "$__IS_PROVIDERS_SINGBOX" ] && return __IS_PROVIDERS_SINGBOX=1 +load_lang providers + . "$CRASHDIR"/libs/web_get_bin.sh # 生成singbox的providers配置文件 @@ -16,10 +18,10 @@ gen_providers() { if [ -s "$provider_temp_file" ]; then ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file else - msg_alert "\033[33m正在获取在线模版......\033[0m" + msg_alert "\033[33m$PROVIDERS_FETCHING_TEMPLATE\033[0m" get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" [ -z "$(grep -o 'route' "$TMPDIR"/provider_temp_file)" ] && { - msg_alert "\033[31m下载失败,请尝试更换安装源!\033[0m" + msg_alert "\033[31m$PROVIDERS_DOWNLOAD_FAILED\033[0m" . "$CRASHDIR"/menus/9_upgrade.sh && setserver setproviders } @@ -65,21 +67,21 @@ EOF # 调用内核测试 . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers if [ "$?" = 0 ]; then - msg_alert "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" + msg_alert "\033[32m$PROVIDERS_GEN_OK_SINGBOX\033[0m" mkdir -p "$CRASHDIR"/jsons mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json rm -rf "$TMPDIR"/providerss - comp_box "是否立即启动/重启服务?" - btm_box "1) 是" \ - "0) 否" + comp_box "$PROVIDERS_RESTART_ASK" + btm_box "1) $PROVIDERS_YES" \ + "0) $PROVIDERS_NO" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { - start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset "$PROVIDERS_CRON_SUB_UPDATE" exit } else rm -rf "$TMPDIR"/CrashCore - msg_alert "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + msg_alert "\033[31m$PROVIDERS_GEN_FAILED\033[0m" # rm -rf "$TMPDIR"/providers fi } diff --git a/scripts/menus/set_crashdir.sh b/scripts/menus/set_crashdir.sh index c5e44b5d..fe0e8fe2 100644 --- a/scripts/menus/set_crashdir.sh +++ b/scripts/menus/set_crashdir.sh @@ -3,19 +3,26 @@ [ -f /tmp/SC_tmp/libs/check_dir_avail.sh ] && . /tmp/SC_tmp/libs/check_dir_avail.sh +if [ -n "$CRASHDIR" ] && [ -s "$CRASHDIR/libs/i18n.sh" ]; then + . "$CRASHDIR/libs/i18n.sh" + load_lang set_crashdir +elif [ -n "$language" ] && [ -s "/tmp/SC_tmp/lang/$language/set_crashdir.lang" ]; then + . "/tmp/SC_tmp/lang/$language/set_crashdir.lang" +fi + set_usb_dir() { while true; do - comp_box "请选择安装目录:" + comp_box "$SCD_SELECT_INSTALL_DIR" du -hL /mnt | awk '{print NR") "$2 " " $1}' | while IFS= read -r line; do content_line "$line" done separator_line "=" - read -r -p "请输入相应数字> " num + read -r -p "$SCD_INPUT_NUM> " num dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ -z "$dir" ]; then - msg_alert "\033[31m输入错误!请重新设置!\033[0m" + msg_alert "\033[31m$SCD_INPUT_ERROR\033[0m" continue fi break 1 @@ -23,15 +30,15 @@ set_usb_dir() { } set_xiaomi_dir() { - comp_box "\033[33m检测到当前设备为小米官方系统,请选择安装位置:\033[0m" - [ -d /data ] && content_line "1) /data目录,剩余空间:$(dir_avail /data -h) (支持软固化功能)" - [ -d /userdisk ] && content_line "2) /userdisk目录,剩余空间:$(dir_avail /userdisk -h) (支持软固化功能)" - [ -d /data/other_vol ] && content_line "3) /data/other_vol目录,剩余空间:$(dir_avail /data/other_vol -h) (支持软固化功能)" - content_line "4) 自定义目录(不推荐,不明勿用!)" + comp_box "\033[33m$SCD_XIAOMI_DETECTED\033[0m" + [ -d /data ] && content_line "1) /data$SCD_DIR_FREE$(dir_avail /data -h) $SCD_SOFT_SOLID" + [ -d /userdisk ] && content_line "2) /userdisk$SCD_DIR_FREE$(dir_avail /userdisk -h) $SCD_SOFT_SOLID" + [ -d /data/other_vol ] && content_line "3) /data/other_vol$SCD_DIR_FREE$(dir_avail /data/other_vol -h) $SCD_SOFT_SOLID" + content_line "4) $SCD_CUSTOM_DIR_WARN" content_line "" - content_line "0) 退出安装" + content_line "0) $SCD_EXIT_INSTALL" separator_line "=" - read -r -p "请输入相应数字> " num + read -r -p "$SCD_INPUT_NUM> " num case "$num" in 1) dir=/data @@ -54,17 +61,17 @@ set_xiaomi_dir() { set_asus_usb() { while true; do - comp_box "请选择U盘目录:" + comp_box "$SCD_SELECT_USB_DIR" du -hL /tmp/mnt | awk -F/ 'NF<=4 {print NR") "$2 " " $1}' | while IFS= read -r line; do content_line "$line" done separator_line "=" - read -r -p "请输入相应数字> " num + read -r -p "$SCD_INPUT_NUM> " num dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - msg_alert "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" + msg_alert "\033[31m$SCD_ASUS_DM_NOT_FOUND $dir/asusware.arm/etc/init.d/S50downloadmaster,$SCD_CHECK_SETTING\033[0m" else break fi @@ -73,19 +80,19 @@ set_asus_usb() { set_asus_dir() { separator_line "=" - btm_box "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" \ - "1) 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" \ - "2) 基于自启脚本安装(仅持部分梅林固件)" \ + btm_box "\033[33m$SCD_ASUS_DETECTED\033[0m" \ + "1) $SCD_ASUS_INSTALL_DM" \ + "2) $SCD_ASUS_INSTALL_SCRIPT" \ "" \ - "0) 退出安装" - read -r -p "请输入相应数字> " num + "0) $SCD_EXIT_INSTALL" + read -r -p "$SCD_INPUT_NUM> " num case "$num" in 1) - msg_alert -t 2 "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + msg_alert -t 2 "$SCD_ASUS_DM_HINT" set_asus_usb ;; 2) - msg_alert -t 2 "如开机无法正常自启,请重新使用U盘+下载大师安装!" + msg_alert -t 2 "$SCD_ASUS_REINSTALL_HINT" dir=/jffs ;; *) @@ -97,9 +104,9 @@ set_asus_dir() { set_cust_dir() { while true; do - comp_box "路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!" \ + comp_box "$SCD_PATH_FORMAT_HINT" \ "" \ - "可用路径 剩余空间:" + "$SCD_PATH_FREE_SPACE" df -h | awk '{print $6, $4}' | sed '1d' | @@ -107,9 +114,9 @@ set_cust_dir() { content_line "$line" done separator_line "=" - read -r -p "请输入自定义路径> " dir + read -r -p "$SCD_INPUT_CUSTOM_DIR> " dir if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -Eq '^/(tmp|opt|sys)(/|$)')" ]; then - msg_alert "\033[31m路径错误!请重新设置!\033[0m" + msg_alert "\033[31m$SCD_PATH_ERROR\033[0m" continue fi break 1 @@ -118,7 +125,7 @@ set_cust_dir() { set_crashdir() { while true; do - top_box "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + top_box "\033[33m$SCD_INSTALL_SPACE_HINT\033[0m" case "$systype" in Padavan) dir=/etc/storage @@ -134,14 +141,14 @@ set_crashdir() { ;; *) separator_line "=" - btm_box "1) 在\033[32m/etc目录\033[0m下安装(适合root用户)" \ - "2) 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" \ - "3) 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" \ - "4) 在\033[32m外置存储\033[0m中安装" \ - "5) 手动设置安装目录" \ + btm_box "1) $SCD_INSTALL_ETC" \ + "2) $SCD_INSTALL_USR" \ + "3) $SCD_INSTALL_HOME" \ + "4) $SCD_INSTALL_USB" \ + "5) $SCD_INSTALL_MANUAL" \ "" \ - "0) 退出安装" - read -r -p "请输入相应数字> " num + "0) $SCD_EXIT_INSTALL" + read -r -p "$SCD_INPUT_NUM> " num # 设置目录 case "$num" in 1) @@ -161,7 +168,7 @@ set_crashdir() { set_cust_dir ;; *) - msg_alert "安装已取消" + msg_alert "$SCD_INSTALL_CANCELED" line_break exit 1 ;; @@ -170,14 +177,14 @@ set_crashdir() { esac if [ ! -w "$dir" ]; then - msg_alert "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" + msg_alert "\033[31m$SCD_NO_WRITE_PREFIX$dir$SCD_NO_WRITE_SUFFIX\033[0m" else - comp_box "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail "$dir" -h)" \ + comp_box "$SCD_TARGET_DIR_PREFIX\033[32m$dir\033[0m$SCD_TARGET_DIR_SPACE$(dir_avail "$dir" -h)" \ "" \ - "是否确认安装?" - btm_box "1) 是" \ - "0) 否" - read -r -p "请输入相应数字> " res + "$SCD_CONFIRM_INSTALL" + btm_box "1) $SCD_YES" \ + "0) $SCD_NO" + read -r -p "$SCD_INPUT_NUM> " res if [ "$res" = "1" ]; then CRASHDIR="$dir"/ShellCrash break diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 7b1a7290..d1295e52 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -7,18 +7,20 @@ __IS_MODULE_SUBCONVERTER=1 [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 +load_lang subconverter + # Subconverter在线订阅转换 subconverter() { while true; do - comp_box "1) \033[32m生成\033[0m包含全部节点、订阅的配置文件"\ - "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m"\ - "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m"\ - "4) 选择\033[33m在线规则模版\033[0m"\ - "5) 选择\033[0mSubconverter服务器\033[0m"\ - "6) 自定义浏览器UA \033[32m$user_agent\033[0m"\ + comp_box "1) \033[32m$SUBCONVERTER_MENU_GEN\033[0m"\ + "2) $SUBCONVERTER_MENU_EXCLUDE \033[47;30m$exclude\033[0m"\ + "3) $SUBCONVERTER_MENU_INCLUDE \033[47;30m$include\033[0m"\ + "4) $SUBCONVERTER_MENU_RULE"\ + "5) $SUBCONVERTER_MENU_SERVER"\ + "6) $SUBCONVERTER_MENU_UA \033[32m$user_agent\033[0m"\ ""\ "0) $COMMON_BACK" - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -57,13 +59,13 @@ subconverter() { # 排除节点正则 gen_link_flt() { - comp_box "\033[33m匹配关键字的节点会在导入时被【屏蔽】!\033[0m" \ - "多个关键字可以用\033[30;47m | \033[0m号分隔" \ - "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - btm_box "\033[36m请直接输入节点过滤关键字\033[0m" \ - "或输入 d \033[31m清空\033[0m节点过滤关键字" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "\033[33m$SUBCONVERTER_EXCLUDE_HINT1\033[0m" \ + "$SUBCONVERTER_KEYWORD_SPLIT" \ + "$SUBCONVERTER_REGEX_HINT" + btm_box "\033[36m$SUBCONVERTER_EXCLUDE_INPUT\033[0m" \ + "$SUBCONVERTER_EXCLUDE_CLEAR" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " res case "$res" in 0) return 0 @@ -85,13 +87,13 @@ gen_link_flt() { # 包含节点正则 gen_link_ele() { - comp_box "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" \ - "多个关键字可以用\033[30;47m | \033[0m号分隔" \ - "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - btm_box "\033[36m请直接输入节点匹配关键字\033[0m" \ - "或输入 d \033[31m清空\033[0m节点匹配关键字" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "\033[33m$SUBCONVERTER_INCLUDE_HINT1\033[0m" \ + "$SUBCONVERTER_KEYWORD_SPLIT" \ + "$SUBCONVERTER_REGEX_HINT" + btm_box "\033[36m$SUBCONVERTER_INCLUDE_INPUT\033[0m" \ + "$SUBCONVERTER_INCLUDE_CLEAR" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " res case "$res" in 0) return 0 @@ -115,11 +117,11 @@ gen_link_ele() { gen_link_config() { list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') - comp_box "当前使用规则为:\033[33m$now\033[0m" + comp_box "$SUBCONVERTER_RULE_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum @@ -129,7 +131,7 @@ gen_link_config() { # 将对应标记值写入配置 rule_link=$num if setconfig rule_link "$rule_link"; then - msg_alert "\033[32m设置成功!返回上级菜单\033[0m" + msg_alert "\033[32m$SUBCONVERTER_SET_OK\033[0m" else common_failed fi @@ -141,14 +143,14 @@ gen_link_server() { list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - comp_box "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" \ - "\033[32m感谢以下作者的无私奉献!!!\033[0m" \ + comp_box "\033[36m$SUBCONVERTER_SERVER_HINT\033[0m" \ + "\033[32m$SUBCONVERTER_SERVER_THANKS\033[0m" \ "" \ - "当前使用后端为:\033[33m$now\033[0m" + "$SUBCONVERTER_SERVER_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum @@ -158,7 +160,7 @@ gen_link_server() { # 将对应标记值写入配置 server_link=$num if setconfig server_link "$server_link"; then - content_line "\033[32m设置成功!返回上级菜单\033[0m" + content_line "\033[32m$SUBCONVERTER_SET_OK\033[0m" else common_failed fi @@ -167,16 +169,16 @@ gen_link_server() { set_sub_ua() { while true; do - comp_box "\033[36m无法正确获取配置文件时可尝试使用\033[0m" \ + comp_box "\033[36m$SUBCONVERTER_UA_HINT\033[0m" \ "" \ - "当前UA:$user_agent" - btm_box "1) 使用自动UA(默认)"\ - "2) 不使用UA"\ - "3) 使用自定义UA"\ - "4) 清空UA"\ + "$SUBCONVERTER_UA_CURRENT$user_agent" + btm_box "1) $SUBCONVERTER_UA_AUTO"\ + "2) $SUBCONVERTER_UA_NONE"\ + "3) $SUBCONVERTER_UA_CUSTOM"\ + "4) $SUBCONVERTER_UA_CLEAR"\ ""\ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) break @@ -188,10 +190,10 @@ set_sub_ua() { user_agent='none' ;; 3) - comp_box "\033[33m注意:\n自定义UA不可包含空格或特殊符号!\033[0m" - btm_box "\033[36m请直接输入自定义UA\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + comp_box "\033[33m$SUBCONVERTER_UA_CUSTOM_WARN\033[0m" + btm_box "\033[36m$SUBCONVERTER_UA_CUSTOM_INPUT\033[0m" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " text if [ "$text" = 0 ]; then continue elif [ -n "$text" ]; then diff --git a/scripts/menus/task_cmd.sh b/scripts/menus/task_cmd.sh index 4e39bd25..de5d403b 100644 --- a/scripts/menus/task_cmd.sh +++ b/scripts/menus/task_cmd.sh @@ -9,12 +9,15 @@ . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/web_get_bin.sh . "$CRASHDIR"/libs/logger.sh +. "$CRASHDIR"/libs/i18n.sh + +load_lang task_cmd task_logger(){ [ "$task_push" = 1 ] && push= || push=off [ -n "$2" -a "$2" != 0 ] && echo -e "\033[$2m$1\033[0m" [ "$3" = 'off' ] && push=off - echo "$1" |grep -qE '(每隔|时每)([1-9]|[1-9][0-9])分钟' && { + echo "$1" |grep -qE "($TASK_CMD_EVERY|$TASK_CMD_HOURLY)([1-9]|[1-9][0-9])$TASK_CMD_MIN" && { push=off cover=on } @@ -32,22 +35,22 @@ update_core(){ #自动更新内核 check_update bin/version crash_v_new=$(eval echo \$${crashcore}_v) if [ -z "$crash_v_new" -o "$crash_v_new" = "$core_v" ];then - task_logger "任务【自动更新内核】中止-未检测到版本更新" + task_logger "$TASK_CMD_CORE_SKIP" return 0 else . "$CRASHDIR"/libs/core_tools.sh && core_webget #调用下载工具 case "$?" in 0) - task_logger "任务【自动更新内核】下载完成,正在重启服务!" + task_logger "$TASK_CMD_CORE_DONE" "$CRASHDIR"/start.sh start return 0 ;; 1) - task_logger "任务【自动更新内核】出错-下载失败!" + task_logger "$TASK_CMD_CORE_DL_FAIL" return 1 ;; *) - task_logger "任务【自动更新内核】出错-内核校验失败!" + task_logger "$TASK_CMD_CORE_VERIFY_FAIL" "$CRASHDIR"/start.sh start return 1 ;; @@ -58,13 +61,13 @@ update_scripts(){ #自动更新脚本 #检查版本 check_update version if [ -z "$versionsh" -o "$versionsh" = "versionsh_l" ];then - task_logger "任务【自动更新脚本】中止-未检测到版本更新" + task_logger "$TASK_CMD_SCRIPT_SKIP" return 0 else get_bin "$TMPDIR"/ShellCrash.tar.gz "ShellCrash.tar.gz" if [ "$?" != "0" ];then rm -rf "$TMPDIR"/ShellCrash.tar.gz - task_logger "任务【自动更新内核】出错-下载失败!" + task_logger "$TASK_CMD_CORE_DL_FAIL" return 1 else #停止服务 @@ -73,7 +76,7 @@ update_scripts(){ #自动更新脚本 tar -zxf "$TMPDIR"/ShellCrash.tar.gz ${tar_para} -C "$CRASHDIR"/ if [ $? -ne 0 ];then rm -rf "$TMPDIR"/ShellCrash.tar.gz - task_logger "任务【自动更新内核】出错-解压失败!" + task_logger "$TASK_CMD_SCRIPT_UNZIP_FAIL" "$CRASHDIR"/start.sh start return 1 else @@ -92,17 +95,17 @@ update_mmdb(){ #自动更新数据库 geo_v_new=$GeoIP_v geo_v_now=$(eval echo \$$geo_v) if [ -z "$geo_v_new" -o "$geo_v_new" = "$geo_v_now" ];then - task_logger "任务【自动更新数据库文件】跳过-未检测到$2版本更新" + task_logger "$TASK_CMD_DB_SKIP_PREFIX$2$TASK_CMD_DB_SKIP_SUFFIX" else #更新文件 get_bin "$TMPDIR"/$1 "bin/geodata/$2" if [ "$?" != "0" ];then - task_logger "任务【自动更新数据库文件】更新【$2】下载失败!" + task_logger "$TASK_CMD_DB_DL_FAIL_PREFIX$2$TASK_CMD_DB_DL_FAIL_SUFFIX" rm -rf "$TMPDIR"/$1 else mv -f "$TMPDIR"/$1 "$BINDIR"/$1 setconfig $geo_v $GeoIP_v - task_logger "任务【自动更新数据库文件】更新【$2】成功!" + task_logger "$TASK_CMD_DB_OK_PREFIX$2$TASK_CMD_DB_OK_SUFFIX" fi fi } @@ -140,8 +143,8 @@ case "$1" in task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}') task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') #task_logger "任务$task_name 开始执行" - eval $task_command && task_res=成功 || task_res=失败 - task_logger "任务【$2】执行$task_res" + 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" ;; *) "$1" diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index bd16286f..57b00920 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -1,26 +1,28 @@ #!/bin/sh # Copyright (C) Juewuy +load_lang uninstall + # 卸载 uninstall() { - comp_box "\033[31m警告:该操作不可逆!\033[0m" \ - "是否确认卸载ShellCrash?" - btm_box "1) 是" \ - "0) 否" + comp_box "\033[31m$UNINSTALL_WARN\033[0m" \ + "$UNINSTALL_CONFIRM" + btm_box "1) $UNINSTALL_YES" \ + "0) $UNINSTALL_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then # 停止服务 "$CRASHDIR"/start.sh stop 2>/dev/null - "$CRASHDIR"/start.sh cronset "clash服务" 2>/dev/null - "$CRASHDIR"/start.sh cronset "订阅链接" 2>/dev/null - "$CRASHDIR"/start.sh cronset "ShellCrash初始化" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_CLASH" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_SUB" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_INIT" 2>/dev/null "$CRASHDIR"/start.sh cronset "task.sh" 2>/dev/null # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then - comp_box "是否保留脚本配置及订阅文件?" - btm_box "1) 是" \ - "0) 否" + comp_box "$UNINSTALL_KEEP_CONFIRM" + btm_box "1) $UNINSTALL_YES" \ + "0) $UNINSTALL_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then mv -f "$CRASHDIR"/configs /tmp/ShellCrash/configs_bak @@ -34,7 +36,7 @@ uninstall() { rm -rf "$CRASHDIR" fi else - msg_alert "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" + msg_alert "\033[31m$UNINSTALL_ENV_ERROR\033[0m" fi # 移除其他内容 @@ -48,9 +50,9 @@ uninstall() { } sed -i '/all_proxy/'d /etc/profile 2>/dev/null sed -i '/ALL_PROXY/'d /etc/profile 2>/dev/null - sed -i "/启用外网访问SSH服务/d" /etc/firewall.user 2>/dev/null - sed -i '/ShellCrash初始化/'d /etc/storage/started_script.sh 2>/dev/null - sed -i '/ShellCrash初始化/'d /jffs/.asusrouter 2>/dev/null + sed -i "/$UNINSTALL_SSH_MARK/d" /etc/firewall.user 2>/dev/null + sed -i "/$UNINSTALL_CRON_INIT/d" /etc/storage/started_script.sh 2>/dev/null + sed -i "/$UNINSTALL_CRON_INIT/d" /jffs/.asusrouter 2>/dev/null [ "$BINDIR" != "$CRASHDIR" ] && rm -rf "$BINDIR" rm -rf /etc/init.d/shellcrash rm -rf /etc/systemd/system/shellcrash.service @@ -62,12 +64,12 @@ uninstall() { userdel -r shellcrash 2>/dev/null nvram set script_usbmount="" 2>/dev/null nvram commit 2>/dev/null - comp_box "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" \ - "\033[33m请手动关闭当前窗口以重置环境变量!\033[0m" + comp_box "\033[36m$UNINSTALL_DONE\033[0m" \ + "\033[33m$UNINSTALL_CLOSE_HINT\033[0m" line_break sleep 1 exit 0 else - msg_alert "\033[31m操作已取消!\033[0m" + msg_alert "\033[31m$UNINSTALL_CANCELED\033[0m" fi } From 8bcaac1f6631af1453d31f2611f01611e1d10461 Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Wed, 11 Mar 2026 19:39:05 +0800 Subject: [PATCH 233/318] feat(i18n): localize settings and dns menu leftovers --- scripts/lang/chs/2_settings.lang | 30 ++++ scripts/lang/chs/5_task.lang | 94 ++++++++++++ scripts/lang/chs/6_core_config.lang | 67 +++++++++ scripts/lang/chs/7_gateway.lang | 16 ++ scripts/lang/chs/8_tools.lang | 11 ++ scripts/lang/chs/9_upgrade.lang | 49 +++++++ scripts/lang/chs/bot_tg.lang | 68 +++++++++ scripts/lang/chs/check_port.lang | 3 + scripts/lang/chs/ddns.lang | 35 +++++ scripts/lang/chs/dns.lang | 31 ++++ scripts/lang/chs/providers.lang | 25 ++++ scripts/lang/chs/set_crashdir.lang | 34 +++++ scripts/lang/chs/setboot.lang | 52 +++++++ scripts/lang/chs/subconverter.lang | 33 +++++ scripts/lang/chs/task_cmd.lang | 19 +++ scripts/lang/chs/uninstall.lang | 13 ++ scripts/lang/chs/userguide.lang | 3 + scripts/lang/en/2_settings.lang | 30 ++++ scripts/lang/en/5_task.lang | 94 ++++++++++++ scripts/lang/en/6_core_config.lang | 67 +++++++++ scripts/lang/en/7_gateway.lang | 16 ++ scripts/lang/en/8_tools.lang | 11 ++ scripts/lang/en/9_upgrade.lang | 49 +++++++ scripts/lang/en/bot_tg.lang | 68 +++++++++ scripts/lang/en/check_port.lang | 3 + scripts/lang/en/ddns.lang | 35 +++++ scripts/lang/en/dns.lang | 31 ++++ scripts/lang/en/providers.lang | 25 ++++ scripts/lang/en/set_crashdir.lang | 34 +++++ scripts/lang/en/setboot.lang | 52 +++++++ scripts/lang/en/subconverter.lang | 33 +++++ scripts/lang/en/task_cmd.lang | 19 +++ scripts/lang/en/uninstall.lang | 13 ++ scripts/lang/en/userguide.lang | 3 + scripts/menus/2_settings.sh | 78 +++++----- scripts/menus/4_setboot.sh | 122 ++++++++-------- scripts/menus/5_task.sh | 218 ++++++++++++++-------------- scripts/menus/6_core_config.sh | 172 +++++++++++----------- scripts/menus/7_gateway.sh | 51 +++---- scripts/menus/8_tools.sh | 49 ++++--- scripts/menus/9_upgrade.sh | 155 ++++++++++---------- scripts/menus/bot_tg.sh | 95 ++++++------ scripts/menus/bot_tg_bind.sh | 26 ++-- scripts/menus/bot_tg_service.sh | 4 +- scripts/menus/check_port.sh | 8 +- scripts/menus/ddns.sh | 82 ++++++----- scripts/menus/dns.sh | 90 ++++++------ scripts/menus/providers.sh | 32 ++-- scripts/menus/providers_clash.sh | 18 ++- scripts/menus/providers_singbox.sh | 18 ++- scripts/menus/set_crashdir.sh | 85 ++++++----- scripts/menus/subconverter.sh | 84 +++++------ scripts/menus/task_cmd.sh | 29 ++-- scripts/menus/uninstall.sh | 36 ++--- scripts/menus/userguide.sh | 4 +- 55 files changed, 1913 insertions(+), 709 deletions(-) create mode 100644 scripts/lang/chs/6_core_config.lang create mode 100644 scripts/lang/chs/7_gateway.lang create mode 100644 scripts/lang/chs/8_tools.lang create mode 100644 scripts/lang/chs/9_upgrade.lang create mode 100644 scripts/lang/chs/bot_tg.lang create mode 100644 scripts/lang/chs/check_port.lang create mode 100644 scripts/lang/chs/ddns.lang create mode 100644 scripts/lang/chs/providers.lang create mode 100644 scripts/lang/chs/set_crashdir.lang create mode 100644 scripts/lang/chs/setboot.lang create mode 100644 scripts/lang/chs/subconverter.lang create mode 100644 scripts/lang/chs/task_cmd.lang create mode 100644 scripts/lang/chs/uninstall.lang create mode 100644 scripts/lang/en/6_core_config.lang create mode 100644 scripts/lang/en/7_gateway.lang create mode 100644 scripts/lang/en/8_tools.lang create mode 100644 scripts/lang/en/9_upgrade.lang create mode 100644 scripts/lang/en/bot_tg.lang create mode 100644 scripts/lang/en/check_port.lang create mode 100644 scripts/lang/en/ddns.lang create mode 100644 scripts/lang/en/providers.lang create mode 100644 scripts/lang/en/set_crashdir.lang create mode 100644 scripts/lang/en/setboot.lang create mode 100644 scripts/lang/en/subconverter.lang create mode 100644 scripts/lang/en/task_cmd.lang create mode 100644 scripts/lang/en/uninstall.lang diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index 935679a6..29a724f4 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -131,3 +131,33 @@ ADV_TABLE_INPUT="请输入路由表编号(不清楚请勿修改,建议 102-1 # ================================================= IPV6_REDIR="IPv6透明路由(劫持IPv6流量)" IPV6_DNS="IPv6-DNS解析(是否返回IPv6地址)" +SET_YES="是" +SET_NO_BACK="否,返回上级菜单" +SET_SKIP_CERT_NOW="当前" +SET_ENABLED="已启用" +SET_DISABLED="已禁用" +SET_SKIP_CERT_ENABLE_Q="跳过本地证书验证,是否确认启用?" +SET_SKIP_CERT_DISABLE_Q="跳过本地证书验证,是否确认禁用?" +SET_SNIFFER_NOW="当前" +SET_SNIFFER_ENABLE_Q="域名嗅探,是否确认启用?" +SET_SNIFFER_DISABLE_Q="域名嗅探,是否确认禁用?" +SET_LANG_ZH="简体中文" +SET_LANG_EN="English" +SET_SWITCH_RERUN="切换成功!请重新运行脚本!" +SET_SWITCH_OK="切换成功!" +SET_MODE_SUFFIX="模式" +SET_SET_TO="设为" +SET_BYPASS_TCP="TCP旁路转发" +SET_BYPASS_TU="T&U旁路转发" +SET_BYPASS_TCP_DESC="仅转发TCP流量至旁路由" +SET_BYPASS_TU_DESC="转发TCP&UDP流量至旁路由" +SET_FW_AREA_CURRENT="当前路由劫持范围:" +SET_WARN="注意:" +SET_DESC="说明:" +SET_BYPASS_WARN_1="此功能存在多种风险如无网络基础请勿尝试!" +SET_BYPASS_WARN_2="如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" +SET_BYPASS_WARN_3="如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" +SET_BYPASS_DESC_1="此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" +SET_BYPASS_DESC_2="支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6" +SET_INPUT_BYPASS_IPV4="请直接输入旁路由IPV4地址" +SET_TIPS_ENTER_BACK="Tips:直接回车确认可返回上级菜单" diff --git a/scripts/lang/chs/5_task.lang b/scripts/lang/chs/5_task.lang index 250e06db..4bc90172 100644 --- a/scripts/lang/chs/5_task.lang +++ b/scripts/lang/chs/5_task.lang @@ -4,3 +4,97 @@ TASK_RECOM_TITLE="是否启用以下推荐的自动任务配置:" TASK_RECOM_ITEM_1="运行时每10分钟自动保存面板配置" TASK_RECOM_ITEM_2="服务启动后自动同步 NTP 时间" TASK_RECOM_ITEM_3="在每日的3点0分重启服务" +TASK5_RUN_TASK="执行任务:" +TASK5_CONFIRM_ADD_CRON="是否确认添加定时任务?" +TASK5_YES="是" +TASK5_NO="否" +TASK5_TASK_PREFIX="任务【" +TASK5_TASK_ADDED="】\033[32m已添加!\033[0m" +TASK5_USER_ADD_HINT1="命令可包含空格,请确保命令可执行!" +TASK5_USER_ADD_HINT2="请勿附带执行条件,执行条件请在命令添加完成后再返回设置!" +TASK5_USER_ADD_HINT3="亦可手动编辑" +TASK5_USER_ADD_HINT4="以添加命令" +TASK5_INPUT_CMD="请直接输入命令语句" +TASK5_OR_BACK="或输入 0 返回上级菜单" +TASK5_INPUT="请输入" +TASK5_CHECK_INPUT="请检查输入:" +TASK5_INPUT_REMARK="请输入任务备注" +TASK5_CUSTOM_TASK="自定义任务" +TASK5_CUSTOM_ADDED="自定义任务已添加!" +TASK5_INPUT_ERROR="输入错误,请重新输入!" +TASK5_USER_DEL_HINT1="请输入对应ID移除对应自定义任务(不会影响内置任务)" +TASK5_USER_DEL_HINT2="也可以手动编辑" +TASK5_NO_CUSTOM_TASK="你暂未添加任何自定义任务" +TASK5_SELECT_ADD="请选择需要添加的任务:" +TASK5_SELECT_COND="请选择任务" +TASK5_SELECT_COND2="执行条件:" +TASK5_COND_1="定时任务\033[32m每周执行\033[0m" +TASK5_COND_2="定时任务\033[32m每日执行\033[0m" +TASK5_COND_3="定时任务\033[32m每小时执行\033[0m" +TASK5_COND_4="定时任务\033[32m每分钟执行\033[0m" +TASK5_WARN_LINE1=" - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -" +TASK5_WARN_LINE2=" 逻辑水平不及格的请勿使用下方触发条件!" +TASK5_WARN_LINE3=" - - - - - - - - - - - - - - - - - - - -" +TASK5_COND_5="服务\033[33m启动前执行\033[0m" +TASK5_COND_6="服务\033[33m启动后执行\033[0m" +TASK5_COND_7="服务\033[33m运行时每分钟执行\033[0m" +TASK5_COND_8="防火墙服务\033[33m重启后执行\033[0m" +TASK5_WEEK_HINT1="输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" +TASK5_WEEK_HINT2="输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" +TASK5_WEEK_HINT3="输入 1~5 代表\033[36m周一至周五\033[0m运行" +TASK5_WEEK_INPUT="在每周哪天执行?" +TASK5_HOUR_INPUT1="想在该日的具体哪个小时执行?(0~23)" +TASK5_CRON_WEEK="在每周" +TASK5_CRON_WEEK2="的" +TASK5_OCLOCK="点整" +TASK5_DAY_HINT1="输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" +TASK5_DAY_HINT2="输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行" +TASK5_HOUR_INPUT2="想在每日的具体哪个小时执行?(0~23)" +TASK5_MIN_INPUT="想在具体哪分钟执行?(0~59的整数)" +TASK5_CRON_DAY="在每日的" +TASK5_POINT="点" +TASK5_MINUTE="分" +TASK5_EVERY_HOUR_INPUT="想每隔多少小时执行一次?(1~23的整数)" +TASK5_EVERY="每隔" +TASK5_HOUR="小时" +TASK5_EVERY_MIN_INPUT="想每隔多少分钟执行一次?(1~59的整数)" +TASK5_MIN="分钟" +TASK5_BFSTART="服务启动前" +TASK5_AFSTART="服务启动后" +TASK5_RUNNING_HINT1="输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" +TASK5_RUNNING_HINT2="大于60分钟的数值将按小时取整,且按当前时区记时" +TASK5_RUNNING_INPUT="想每隔多少分钟执行一次?(1~1440的整数)" +TASK5_RUNNING_PREFIX="运行时每" +TASK5_AFFW_HINT="该功能会将相关启动代码注入到/etc/init.d/firewall中" +TASK5_CONFIRM_CONTINUE="是否确认继续?" +TASK5_AFFW_PREFIX="防火墙重启后" +TASK5_GUARD_WORD="守护" +TASK5_OLD_PREFIX="旧版任务-" +TASK5_NONE_TO_MANAGE="当前没有可供管理的任务!" +TASK5_ADDED_TASKS="已添加的任务:" +TASK5_CLEAR_OLD="清空旧版任务" +TASK5_CLEAR_ALL="清空任务列表" +TASK5_OLD_CLEARED="旧版任务已清空!" +TASK5_ALL_CLEARED="全部任务已清空!" +TASK5_OLD_NOT_SUPPORT="旧版任务不支持管理,是否移除?" +TASK5_NO_BACK="否,返回上级菜单" +TASK5_CURRENT_TASK="当前任务为:" +TASK5_EDIT_TASK="\033[33m修改\033[0m当前任务" +TASK5_DEL_TASK="\033[31m删除\033[0m当前任务" +TASK5_RUN_ONCE="\033[32m立即执行\033[0m一次" +TASK5_VIEW_RECORD="查看\033[33m执行记录\033[0m" +TASK5_RUN_OK="执行成功!" +TASK5_RUN_FAIL="执行失败!" +TASK5_RECORD_NOT_FOUND="未找到相关执行记录!" +TASK5_USER_FILE_HEADER="#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)" +TASK5_MENU_TITLE="自动任务菜单" +TASK5_MENU_1="添加\033[32m自动任务\033[0m" +TASK5_MENU_2="管理\033[33m任务列表\033[0m" +TASK5_MENU_3="查看\033[36m任务日志\033[0m" +TASK5_MENU_4="配置\033[36m日志推送\033[0m" +TASK5_MENU_5="添加\033[33m自定义任务\033[0m" +TASK5_MENU_6="删除\033[33m自定义任务\033[0m" +TASK5_MENU_7="使用\033[32m推荐设置\033[0m" +TASK5_TASK_GREP="任务【" +TASK5_LOG_NOT_FOUND="未找到任务相关执行日志!" +TASK5_PUSH_HINT="请在日志工具中配置相关推送通道及推送开关" diff --git a/scripts/lang/chs/6_core_config.lang b/scripts/lang/chs/6_core_config.lang new file mode 100644 index 00000000..119c5154 --- /dev/null +++ b/scripts/lang/chs/6_core_config.lang @@ -0,0 +1,67 @@ +CORECFG_TITLE="配置文件管理" +CORECFG_HINT_SELECT_PROVIDER="输入数字可管理对应提供者" +CORECFG_MENU_A="\033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" +CORECFG_MENU_B="\033[36m本地生成配置文件\033[0m" +CORECFG_MENU_C="\033[33m在线生成配置文件\033[0m" +CORECFG_MENU_D="\033[31m清空提供者列表\033[0m" +CORECFG_MENU_E="\033[36m自定义配置文件\033[0m" +CORECFG_CORE_ONLY="仅限Mihomo/singboxr内核使用,请更换内核!" +CORECFG_ADD_PROVIDER_FIRST="请先添加提供者!" +CORECFG_CLEAR_WARN="警告:这将删除所有提供者且无法还原!" +CORECFG_CLEAR_CONFIRM="是否确认清空提供者列表:" +CORECFG_YES="是" +CORECFG_NO="否" +CORECFG_NO_BACK="否,返回上级菜单" +CORECFG_INPUT_ALNUM="请输入对应字母或数字" +CORECFG_INPUT="请输入" +CORECFG_FILL_REQUIRED="请先完成必填选项!" +CORECFG_START_APPLY="是否启动服务以使配置文件生效:" +CORECFG_PROVIDER_SUPPORT="支持添加订阅链接/分享链接/本地文件作为提供者" +CORECFG_SET_NAME="设置\033[36m名称或代号\033[0m\t" +CORECFG_SET_LINK="设置\033[32m链接或路径\033[0m:\t" +CORECFG_SET_OVERRIDE="设置\033[33m本地生成覆写\033[0m" +CORECFG_SAVE_PROVIDER="\033[36m保存此提供者\033[0m" +CORECFG_DEL_PROVIDER="\033[31m删除此提供者\033[0m" +CORECFG_MORE_CONFIG_HINT="以下方式的详细配置请前往对应功能页面进行设置!" +CORECFG_GEN_LOCAL_ONE="\033[32m本地生成\033[0m仅包含此提供者的配置文件" +CORECFG_GEN_ONLINE_ONE="\033[33m在线生成\033[0m仅包含此提供者的配置文件" +CORECFG_GET_ONLINE_DIRECT="在线获取此配置文件(不使用订阅转换)" +CORECFG_USE_DIRECT="直接使用此文件作为配置文件(不使用本地生成)" +CORECFG_NAME_HINT="注意:\n名称或代号不可重复,不支持纯数字,且不要超过4个汉字!" +CORECFG_INPUT_NAME="请直接输入具体名称或代号" +CORECFG_OR_BACK="或输入 0 返回上级菜单" +CORECFG_LINK_HINT1="\033[33m订阅链接\033[0m:\nhttps/http开头的clash配置文件订阅链接" +CORECFG_LINK_HINT2="\033[36m分享链接\033[0m:" +CORECFG_LINK_HINT3="\033[33m本地文件\033[0m:\n必须放在" +CORECFG_LINK_HINT4="目录下" +CORECFG_LINK_HINT5="\033[36mBase64 \033[0m:\n请直接写入本地文件" +CORECFG_INPUT0_BACK="输入 0 返回上级菜单" +CORECFG_SELECT_FILE_OR_LINK="请选择对应文件或输入具体链接" +CORECFG_INPUT_LINK="请直接输入具体链接" +CORECFG_DANGER1="注意:\n此功能不兼容“跳过证书验证”功能" +CORECFG_DANGER2="请确认你完全理解自己在做什么" +CORECFG_DANGER_CONFIRM="我确认遇到问题可以自行解决" +CORECFG_INTERVAL1="设置\033[33m健康检查间隔\033[0m:\t" +CORECFG_INTERVAL2="设置\033[36m自动更新间隔\033[0m:\t" +CORECFG_MIN="分钟" +CORECFG_HOUR="小时" +CORECFG_SET_UA="设置\033[33m虚拟浏览器UA\033[0m:\t" +CORECFG_SET_EXCLUDE="设置\033[31m排除节点正则\033[0m:\t" +CORECFG_SET_INCLUDE="设置\033[32m包含节点正则\033[0m:\t" +CORECFG_CUR_INTERVAL="当前健康检查间隔:" +CORECFG_INPUT_INTERVAL1="请直接健康检查间隔(单位:分钟)" +CORECFG_RESET_INTERVAL1="或输入 r 重置健康检查间隔为默认值(3 分钟)" +CORECFG_INPUT_INTERVAL2="请直接输入自动更新间隔(单位:小时)" +CORECFG_RESET_INTERVAL2="或输入 r 重置自动更新间隔为默认值(12 小时)" +CORECFG_CUR_UA_NONE="当前浏览器UA:无" +CORECFG_CUR_UA="当前浏览器UA:" +CORECFG_INPUT_UA="请直接输入浏览器UA" +CORECFG_RESET_UA="或输入 r 重置浏览器UA为默认值(clash.meta)" +CORECFG_CUR_EXCLUDE_NONE="当前排除规则:无" +CORECFG_CUR_EXCLUDE="当前排除规则:" +CORECFG_INPUT_EXCLUDE="请直接输入需要排除的节点关键字(支持正则,不支持空格)" +CORECFG_CLEAR_EXCLUDE="或输入 c 清空排除规则" +CORECFG_CUR_INCLUDE_NONE="当前包含规则:无" +CORECFG_CUR_INCLUDE="当前包含规则:" +CORECFG_INPUT_INCLUDE="请直接输入需要包含的节点关键字(支持正则,不支持空格)" +CORECFG_CLEAR_INCLUDE="或输入 c 清空包含规则" diff --git a/scripts/lang/chs/7_gateway.lang b/scripts/lang/chs/7_gateway.lang new file mode 100644 index 00000000..b8027ade --- /dev/null +++ b/scripts/lang/chs/7_gateway.lang @@ -0,0 +1,16 @@ +GW_TITLE="访问与控制菜单" +GW_WARN="注意:" +GW_FW_VPS_HINT="如在vps运行,还需在vps安全策略对相关端口同时放行" +GW_FW_PORT_LIMIT="最多支持设置放行10个端口,请先减少一些!" +GW_INPUT_ALLOW_PORT="请输入要放行的端口号" +GW_OK="操作成功" +GW_CORE_UNSUPPORTED="内核暂不支持此功能,请先更换内核!" +GW_TG_DONE_PREFIX="已完成Telegram机器人设置!请使用" +GW_TG_DONE_SUFFIX="呼出功能菜单!" +GW_SET="已设置" +GW_BOUND="已绑定" +GW_INPUT_PORT_DEL0="请输入端口号(输入0删除)" +GW_INPUT_WSPATH="请输入ws-path路径(输入0删除)" +GW_INPUT_UUID="请输入UUID(输入0删除)" +GW_INPUT_HOST="请输入本机公网IP(4/6)或域名" +GW_SHARE_LINK_HINT="你的分享链接是(请勿随意分享给他人):" diff --git a/scripts/lang/chs/8_tools.lang b/scripts/lang/chs/8_tools.lang new file mode 100644 index 00000000..f455c3a6 --- /dev/null +++ b/scripts/lang/chs/8_tools.lang @@ -0,0 +1,11 @@ +TOOLS_TITLE="工具与优化" +TOOLS_SSH_DISABLE="禁止" +TOOLS_SSH_ENABLE="开启" +TOOLS_ERR_PORT="输入错误!请输入正确的数值(1000-65535)!" +TOOLS_ERR_PORT_OCCUPIED="当前端口已被其他进程占用,请重新输入!" +TOOLS_SSH_SET_OK="设置成功,请重新开启外网访问SSH功能!" +TOOLS_SSH_ENABLED="已开启外网访问SSH功能!" +TOOLS_SSH_DISABLED="已禁止外网访问SSH!" +TOOLS_DISABLE="禁用" +TOOLS_ENABLE="启用" +TOOLS_CONFIGURED="已配置" diff --git a/scripts/lang/chs/9_upgrade.lang b/scripts/lang/chs/9_upgrade.lang new file mode 100644 index 00000000..de0e17ce --- /dev/null +++ b/scripts/lang/chs/9_upgrade.lang @@ -0,0 +1,49 @@ +UPG_ERR_TRY_OTHER_SOURCE="请尝试切换至其他安装源后重新下载!" +UPG_ERR_LOCAL_INSTALL="或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" +UPG_TITLE="更新与支持" +UPG_CUR_DIR_SPACE="当前目录" +UPG_LOW_SPACE_HINT="当前目录剩余空间较低,建议开启小闪存模式!" +UPG_MENU_SCRIPT="更新" +UPG_MENU_SCRIPT_NAME="管理脚本" +UPG_MENU_CORE="切换/更新" +UPG_MENU_CORE_NAME="内核文件" +UPG_MENU_GEO="安装/更新本地" +UPG_MENU_GEO_NAME="数据库文件" +UPG_MENU_DB="安装/更新本地" +UPG_MENU_DB_NAME="Dashboard面板" +UPG_MENU_CRT="安装/更新本地" +UPG_MENU_CRT_NAME="根证书文件" +UPG_MENU_PAC="自动代理查看" +UPG_MENU_SOURCE="切换" +UPG_MENU_SOURCE_NAME="安装源及版本分支" +UPG_MENU_UNINSTALL="卸载ShellCrash" +UPG_MENU_THANKS="感谢列表!" +UPG_PAC_LINK="PAC配置链接为:" +UPG_PAC_GUIDE="PAC的使用教程请参考:" +UPG_THANKS_TITLE="感谢以下项目及其开发者们的无私奉献!" +UPG_THANKS_SPECIAL="特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" +UPG_CHECKING="正在检查更新......" +UPG_CHECK_OK="检查更新成功" +UPG_CHECK_FAIL="检查更新失败!请尝试切换其他安装源!" +UPG_DOWNLOAD_FAIL="文件下载失败!" +UPG_EXTRACTING="开始解压文件......" +UPG_EXTRACT_FAIL="文件解压失败!" +UPG_SCRIPT_OK="脚本更新成功!" +UPG_SCRIPT_WARN="注意:更新时会停止服务!" +UPG_SCRIPT_CUR_VER="当前脚本版本为:" +UPG_SCRIPT_NEW_VER="最新脚本版本为:" +UPG_UPDATE_NOW="立即更新" +UPG_SCRIPT_MGR_OK="管理脚本更新成功!" +UPG_CPUCORE_HINT1="仅适合脚本无法正确识别核心或核心无法正常运行时使用!" +UPG_CPUCORE_HINT2="不知道如何获取核心版本?" +UPG_CPUCORE_HINT3="请参考:" +UPG_CPUCORE_LIST="当前可供在线下载的处理器架构为:" +UPG_CPUCORE_ERR="请输入正确的处理器架构!" +UPG_CORETYPE_CONFIRM="请确认该自定义内核的类型:" +UPG_CORE_SWITCH_PREFIX="已从" +UPG_CORE_SWITCH_MID="内核切换至" +UPG_CORE_SWITCH_SUFFIX="内核" +UPG_CORE_SWITCH_WARN="二者Geo数据库及yaml/json配置文件不通用" +UPG_CORE_SWITCH_KEEP="是否保留相关数据库文件?" +UPG_KEEP="保留" +UPG_NOT_KEEP="不保留" diff --git a/scripts/lang/chs/bot_tg.lang b/scripts/lang/chs/bot_tg.lang new file mode 100644 index 00000000..2153d311 --- /dev/null +++ b/scripts/lang/chs/bot_tg.lang @@ -0,0 +1,68 @@ +BOT_TG_PRIVATE_HINT="请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m" +BOT_TG_INPUT_TOKEN="请输入你获取到的API TOKEN" +BOT_TG_PRIVATE_TOP="请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" +BOT_TG_PUBLIC_HINT="请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" +BOT_TG_SET_DONE="已完成Telegram日志推送设置!" +BOT_TG_CHATID_RETRY_PREFIX="第" +BOT_TG_CHATID_RETRY_SUFFIX="次尝试获取对话ID失败,正在重试..." +BOT_TG_SEND_KEY="发送此秘钥:" +BOT_TG_SENT_CONFIRM="我已经发送完成" +BOT_TG_CHATID_FAIL="无法获取对话ID,请返回重新设置或手动输入ChatID!" +BOT_TG_CHATID_MANUAL_HINT="通常访问" +BOT_TG_CHATID_MANUAL_HINT2="即可看到ChatID" +BOT_TG_INPUT_CHATID="请手动输入ChatID" +BOT_TG_CHATID_RECONFIG="无法获取对话ID,请重新配置!" +BOT_TG_CRON_NAME="TG_BOT守护进程" + +BOT_TG_HELP_GROUP="进群讨论:" +BOT_TG_HELP_PROJECT="项目地址:" +BOT_TG_HELP_GUIDE="相关教程:" +BOT_TG_HELP_COFFEE="请喝咖啡:" +BOT_TG_HELP_AIRPORT="友情机场:" +BOT_TG_RUN_ON="🟢正在运行" +BOT_TG_RUN_OFF="🟡未运行" +BOT_TG_WELCOME="欢迎使用ShellCrash!" +BOT_TG_SERVICE="服务" +BOT_TG_MEM_USED="内存占用:" +BOT_TG_RUNNING_TIME="已运行:" +BOT_TG_SELECT_ACTION="请选择操作:" +BOT_TG_SELECT_FILE="请选择需要上传或下载的具体文件:" +BOT_TG_BTN_START="✈️ 启用劫持" +BOT_TG_BTN_PURE="💧 纯净模式" +BOT_TG_BTN_RESTART="🕹 重启服务" +BOT_TG_BTN_LOG="📄 查看日志" +BOT_TG_BTN_TRANSFER="🔃 文件传输" +BOT_TG_BTN_GET_LOG="📥 下载日志" +BOT_TG_BTN_GET_BAK="💾 备份设置" +BOT_TG_BTN_GET_CFG="⬇️ 下载配置" +BOT_TG_BTN_UP_CORE="🪐 上传内核" +BOT_TG_BTN_UP_BAK="🔄 还原设置" +BOT_TG_BTN_UP_CFG="⬆️ 上传配置" +BOT_TG_NO_CURL="⚠️ 因当前设备缺少curl应用,仅支持上传功能!" +BOT_TG_UPLOAD_OK="成功!即将重启服务!" +BOT_TG_UPLOAD_FAIL="失败,请仔细检查文件或重试!" +BOT_TG_CORE_UPDATE="内核更新" +BOT_TG_CFG_RESTORED="配置文件已还原,请手动重启服务!" +BOT_TG_RESTORE_FAIL="解压还原失败,请仔细检查文件或重试!" +BOT_TG_CFG_UPLOADED="配置文件已上传,请手动重启服务!" +BOT_TG_UPLOAD_FAIL2="上传失败,请仔细检查文件或重试!" +BOT_TG_NET_UPLOAD_FAIL="网络错误,上传失败!请重试!" +BOT_TG_FILE_FORMAT_FAIL="文件格式不匹配,上传失败!" +BOT_TG_FW_ENABLED="ShellCrash 透明路由" +BOT_TG_FW_ENABLED_SUFFIX="已启用!" +BOT_TG_SWITCH_PURE="已切换到纯净模式!" +BOT_TG_SERVICE_RESTARTED="ShellCrash 服务已重启!" +BOT_TG_UNFINISHED="错误,还未完成的功能!" +BOT_TG_SEND_CORE="请发送需要上传的内核,必须是以tar.gz,.gz或.upx结尾的【" +BOT_TG_SEND_CORE_SUFFIX="】内核!" +BOT_TG_SEND_BAK="请发送需要还原的备份文件,必须是【.tar.gz】格式!" +BOT_TG_SEND_CFG="请发送需要上传的配置文件,必须是【" +BOT_TG_SEND_CFG_SUFFIX="】格式,支持自定义配置文件" +BOT_TG_SWITCH_TO="已切换到" +BOT_TG_ALREADY="当前已经是" +BOT_TG_ALREADY_PURE="当前已经是纯净模式!" +BOT_TG_SERVICE_RESTARTED_SHORT="🔄 服务已重启" +BOT_TG_LOG_CONTENT="📄 日志内容如下(已过滤任务日志):" +BOT_TG_TASK_WORD="任务" +BOT_TG_INPUT_SUB="✏ 请输入新的订阅链接:" +BOT_TG_SUB_UPDATED="订阅更新完成:" diff --git a/scripts/lang/chs/check_port.lang b/scripts/lang/chs/check_port.lang new file mode 100644 index 00000000..f3dd377e --- /dev/null +++ b/scripts/lang/chs/check_port.lang @@ -0,0 +1,3 @@ +CHECK_PORT_RANGE_ERR="输入错误!请输入正确的数值(1-65535)!" +CHECK_PORT_DUP_ERR="输入错误!请不要输入重复的端口!" +CHECK_PORT_OCCUPIED_ERR="当前端口已被其他进程占用,请重新输入!" diff --git a/scripts/lang/chs/ddns.lang b/scripts/lang/chs/ddns.lang new file mode 100644 index 00000000..1240b036 --- /dev/null +++ b/scripts/lang/chs/ddns.lang @@ -0,0 +1,35 @@ +DDNS_WELCOME="欢迎使用DDNS!" +DDNS_ADD_DONE="服务已经添加!" +DDNS_INPUT_DOMAIN="请输入你的域名" +DDNS_INPUT_USER="请输入用户名或邮箱" +DDNS_INPUT_PASS="请输入密码或令牌秘钥" +DDNS_INPUT_CHECK_INTERVAL="请输入检测更新间隔(单位:分钟;默认为10)" +DDNS_INPUT_FORCE_INTERVAL="请输入强制更新间隔(单位:小时;默认为24)" +DDNS_CONFIRM_INFO="请核对如下信息:" +DDNS_FIELD_SERVICE="服务商:" +DDNS_FIELD_DOMAIN="域名:" +DDNS_FIELD_USER="用户名:" +DDNS_FIELD_INTERVAL="检测间隔:" +DDNS_CONFIRM_ADD="是否确认添加:" +DDNS_YES="是" +DDNS_REINPUT="否,重新輸入" +DDNS_LIST_NOT_FOUND="未找到DDNS列表文件,尝试在线获取……" +DDNS_DOWNLOAD_FAILED="下载失败,请重试!" +DDNS_SELECT_PROVIDER="请选择服务提供商:" +DDNS_INPUT_ERROR="输入错误,请重新输入!" +DDNS_SELECT_NETMODE="请选择网络模式:" +DDNS_IPV4="IPV4" +DDNS_IPV6="IPV6" +DDNS_DISABLE="停用" +DDNS_ENABLE="启用" +DDNS_UPDATE_NOW="立即更新" +DDNS_EDIT_CURRENT="编辑当前服务" +DDNS_CURRENT_SERVICE="当前服务" +DDNS_REMOVE_CURRENT="移除当前服务" +DDNS_VIEW_LOG="查看运行日志" +DDNS_NOT_SUPPORTED="本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!" +DDNS_LIST_HEADER=" 列表 域名 启用 IP地址" +DDNS_ADD_SERVICE="添加DDNS服务" +DDNS_EXIT="退出" +DDNS_INPUT_INDEX="请输入对应序号" +DDNS_INPUT_NUM_ERROR="请输入正确数字!" diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang index b37f6c6d..6e05e673 100644 --- a/scripts/lang/chs/dns.lang +++ b/scripts/lang/chs/dns.lang @@ -50,3 +50,34 @@ DNS_IPV6_NOT_SUPPORT="该选项暂不支持IPv6加密DNS!" DNS_ENCRYPT_OK="已设置加密DNS,如遇DNS解析问题,请重置DNS配置!" DNS_CORE_REQUIRE="请使用Mihomo或SingBox内核" +DNS_SET_TO="设为" +DNS_PROTECT_NOW="当前" +DNS_HOSTS_NOW="当前" +DNS_ENABLED="已启用" +DNS_DISABLED="已禁用" +DNS_PROTECT_DISABLE_Q="DNS防泄漏,是否确认禁用?" +DNS_PROTECT_ENABLE_Q="DNS防泄漏,是否确认启用?" +DNS_HOSTS_DISABLE_Q="Hosts优化,是否确认禁用?" +DNS_HOSTS_ENABLE_Q="Hosts优化,是否确认启用?" +DNS_YES="是" +DNS_RESET_DEFAULT="重置为默认值" +DNS_NO_BACK="否,返回上级菜单" +DNS_REMOVE_OK="移除成功" +DNS_REMOVE_FAIL="移除失败" +DNS_INPUT_REDIR_PORT="请直接输入旁路由IPV4地址" +DNS_INPUT_REDIR_RESET="或输入 r 重置DNS劫持端口" +DNS_INPUT_REDIR_BACK="或输入 0 返回上级菜单" +DNS_INPUT="请输入" +DNS_CONFIRM_ADD="请确认需要添加的地址:" +DNS_CONFIRM_OK="确认无误" +DNS_ADD_OK="添加成功" +DNS_ADD_FAIL="添加失败" +DNS_DIRECT_NOW="当前DIRECT-DNS:" +DNS_PROXY_NOW="当前PROXY-DNS:" +DNS_DEFAULT_NOW="当前DEFAULT-DNS:" +DNS_INPUT_DIRECT_NEW="请直接输入新的DIRECT-DNS地址" +DNS_INPUT_DIRECT_RESET="或输入 r 重置DIRECT-DNS地址" +DNS_INPUT_PROXY_NEW="请直接输入新的PROXY-DNS地址" +DNS_INPUT_PROXY_RESET="或输入 r 重置PROXY-DNS地址" +DNS_INPUT_DEFAULT_NEW="请直接输入新的DEFAULT-DNS地址" +DNS_INPUT_DEFAULT_RESET="或输入 r 重置DEFAULT-DNS地址" diff --git a/scripts/lang/chs/providers.lang b/scripts/lang/chs/providers.lang new file mode 100644 index 00000000..f92e2ce1 --- /dev/null +++ b/scripts/lang/chs/providers.lang @@ -0,0 +1,25 @@ +PROVIDERS_MENU_GEN="生成包含全部提供者的配置文件" +PROVIDERS_MENU_TEMPLATE="选择\033[33m规则模版\033[0m" +PROVIDERS_MENU_CLEAN="\033[33m清理\033[0mproviders目录文件" +PROVIDERS_INPUT="请输入对应字母或数字" + +PROVIDERS_EMPTY_HINT="你还未添加链接或本地配置文件,请先添加!" +PROVIDERS_TEMPLATE_CURRENT="当前规则模版为:" +PROVIDERS_TEMPLATE_SELECT="请选择在线模版:" +PROVIDERS_TEMPLATE_LOCAL="使用\033[36m本地模版\033[0m" +PROVIDERS_TEMPLATE_PATH="请输入模版的路径(绝对路径)" +PROVIDERS_TEMPLATE_NOT_FOUND="输入错误,找不到对应模版文件!" + +PROVIDERS_CLEAN_WARN="将清空" +PROVIDERS_CLEAN_WARN_END="目录下所有内容" +PROVIDERS_CLEAN_CONFIRM="是否继续?" + +PROVIDERS_FETCHING_TEMPLATE="正在获取在线模版......" +PROVIDERS_DOWNLOAD_FAILED="下载失败,请尝试更换安装源!" +PROVIDERS_GEN_OK="配置文件生成成功!" +PROVIDERS_GEN_OK_SINGBOX="配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!" +PROVIDERS_GEN_FAILED="生成配置文件出错,请仔细检查输入!" +PROVIDERS_RESTART_ASK="是否立即启动/重启服务?" +PROVIDERS_YES="是" +PROVIDERS_NO="否" +PROVIDERS_CRON_SUB_UPDATE="更新订阅" diff --git a/scripts/lang/chs/set_crashdir.lang b/scripts/lang/chs/set_crashdir.lang new file mode 100644 index 00000000..0ba99bbe --- /dev/null +++ b/scripts/lang/chs/set_crashdir.lang @@ -0,0 +1,34 @@ +SCD_SELECT_INSTALL_DIR="请选择安装目录:" +SCD_INPUT_NUM="请输入相应数字" +SCD_INPUT_ERROR="输入错误!请重新设置!" +SCD_XIAOMI_DETECTED="检测到当前设备为小米官方系统,请选择安装位置:" +SCD_CUSTOM_DIR_WARN="自定义目录(不推荐,不明勿用!)" +SCD_EXIT_INSTALL="退出安装" +SCD_SELECT_USB_DIR="请选择U盘目录:" +SCD_ASUS_DM_NOT_FOUND="未找到下载大师自启文件:" +SCD_CHECK_SETTING="请检查设置!" +SCD_ASUS_DETECTED="检测到当前设备为华硕固件,请选择安装方式" +SCD_ASUS_INSTALL_DM="基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" +SCD_ASUS_INSTALL_SCRIPT="基于自启脚本安装(仅持部分梅林固件)" +SCD_ASUS_DM_HINT="请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" +SCD_ASUS_REINSTALL_HINT="如开机无法正常自启,请重新使用U盘+下载大师安装!" +SCD_PATH_FORMAT_HINT="路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!" +SCD_PATH_FREE_SPACE="可用路径 剩余空间:" +SCD_INPUT_CUSTOM_DIR="请输入自定义路径" +SCD_PATH_ERROR="路径错误!请重新设置!" +SCD_INSTALL_SPACE_HINT="注意:安装ShellCrash至少需要预留约1MB的磁盘空间" +SCD_INSTALL_ETC="在\033[32m/etc目录\033[0m下安装(适合root用户)" +SCD_INSTALL_USR="在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" +SCD_INSTALL_HOME="在\033[32m当前用户目录\033[0m下安装(适合非root用户)" +SCD_INSTALL_USB="在\033[32m外置存储\033[0m中安装" +SCD_INSTALL_MANUAL="手动设置安装目录" +SCD_INSTALL_CANCELED="安装已取消" +SCD_NO_WRITE_PREFIX="没有" +SCD_NO_WRITE_SUFFIX="目录写入权限!请重新设置!" +SCD_TARGET_DIR_PREFIX="目标目录" +SCD_TARGET_DIR_SPACE="空间剩余:" +SCD_CONFIRM_INSTALL="是否确认安装?" +SCD_YES="是" +SCD_NO="否" +SCD_DIR_FREE="目录,剩余空间:" +SCD_SOFT_SOLID="(支持软固化功能)" diff --git a/scripts/lang/chs/setboot.lang b/scripts/lang/chs/setboot.lang new file mode 100644 index 00000000..58c5034c --- /dev/null +++ b/scripts/lang/chs/setboot.lang @@ -0,0 +1,52 @@ +SETBOOT_NOT_SET="未设置" +SETBOOT_SECOND="秒" +SETBOOT_TITLE="启动设置菜单" +SETBOOT_ITEM_AUTO="开机自启动:" +SETBOOT_ITEM_OLD="使用保守模式:" +SETBOOT_ITEM_OLD_DESC="———基于定时任务(每分钟检测)" +SETBOOT_ITEM_DELAY="设置自启延时:" +SETBOOT_ITEM_DELAY_DESC="———用于解决自启后服务受限" +SETBOOT_ITEM_MINI="启用小闪存模式:" +SETBOOT_ITEM_MINI_DESC="———用于闪存空间不足的设备" +SETBOOT_ITEM_MINI_DIR="设置小闪存目录:" +SETBOOT_ITEM_NETCHK="自启网络检查:" +SETBOOT_ITEM_NETCHK_DESC="———禁用则跳过自启时网络检查" +SETBOOT_VIEW_LOG="查看启动日志" +SETBOOT_AUTO_OFF="已禁止ShellCrash开机自启动!" +SETBOOT_AUTO_ON="已设置ShellCrash开机自启动!" +SETBOOT_CRON_INIT="ShellCrash初始化" +SETBOOT_OLDMODE_ON="改为使用保守模式启动服务!" +SETBOOT_OLDMODE_OFF="改为使用系统守护进程启动服务!" +SETBOOT_MODE_UNSUPPORTED="当前设备不支持以其他模式启动!" +SETBOOT_DELAY_HINT1="如果你的设备启动后可以正常使用,则无需设置!" +SETBOOT_DELAY_HINT2="推荐设置为30~120秒之间,请根据设备问题自行试验" +SETBOOT_DELAY_INPUT="请输入启动延迟时间(0~300秒)" +SETBOOT_SET_OK="设置成功!" +SETBOOT_DELAY_INVALID="输入有误,或超过300秒,请重新输入!" +SETBOOT_MINI_NEEDED_NO="您的设备空间充足(>20M),无需开启!" +SETBOOT_SYSTEMD_WARN="不支持systemd启动模式,请先启用保守模式!" +SETBOOT_MINI_ENABLED="已经启用小闪存功能!" +SETBOOT_MINI_DIR_HINT="如需更换目录,请使用【设置小闪存目录】功能" +SETBOOT_MINI_DISABLE_WARN="您的设备剩余空间不足8M,停用后可能无法正常运行!" +SETBOOT_MINI_DISABLE_CONFIRM="是否确认停用此功能?" +SETBOOT_YES="是" +SETBOOT_NO_BACK="否,返回上级菜单" +SETBOOT_MINI_DISABLED="已经停用小闪存功能!" +SETBOOT_BINDIR_HINT1="如设置到内存,则每次开机后都自动重新下载相关文件" +SETBOOT_BINDIR_HINT2="请确保安装源可用裸连,否则会导致启动失败" +SETBOOT_BINDIR_TMP="使用内存(/tmp)" +SETBOOT_BINDIR_USB="选择U盘目录" +SETBOOT_BINDIR_CUSTOM="自定义目录" +SETBOOT_SELECT_INSTALL_DIR="请选择安装目录:" +SETBOOT_SPACE_USED="已占用的储存空间:" +SETBOOT_INPUT_ERROR="输入错误!请重新设置!" +SETBOOT_INPUT_CMD="请直接输入命令语句" +SETBOOT_INPUT_OR_BACK="或输入 0 返回上级菜单" +SETBOOT_INPUT="请输入" +SETBOOT_NETCHK_HINT1="如果你的设备启动后可以正常使用,则无需变更设置!" +SETBOOT_NETCHK_HINT2="禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!" +SETBOOT_NETCHK_HINT3="启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!" +SETBOOT_NETCHK_OFF_CONFIRM="当前\033[33m已禁用\033[0m自启网络检查,是否确认启用?" +SETBOOT_NETCHK_ON_CONFIRM="当前\033[33m已启用\033[0m自启网络检查,是否确认禁用?" +SETBOOT_TASK_WORD="任务" +SETBOOT_LOG_NOT_FOUND="未找到相关日志!" diff --git a/scripts/lang/chs/subconverter.lang b/scripts/lang/chs/subconverter.lang new file mode 100644 index 00000000..1b99a0ec --- /dev/null +++ b/scripts/lang/chs/subconverter.lang @@ -0,0 +1,33 @@ +SUBCONVERTER_MENU_GEN="生成包含全部节点、订阅的配置文件" +SUBCONVERTER_MENU_EXCLUDE="设置\033[31m排除节点正则\033[0m" +SUBCONVERTER_MENU_INCLUDE="设置\033[32m包含节点正则\033[0m" +SUBCONVERTER_MENU_RULE="选择\033[33m在线规则模版\033[0m" +SUBCONVERTER_MENU_SERVER="选择Subconverter服务器" +SUBCONVERTER_MENU_UA="自定义浏览器UA" + +SUBCONVERTER_INPUT="请输入" +SUBCONVERTER_BACK="或输入 0 返回上级菜单" + +SUBCONVERTER_EXCLUDE_HINT1="匹配关键字的节点会在导入时被【屏蔽】!" +SUBCONVERTER_INCLUDE_HINT1="仅有匹配关键字的节点才会被【导入】!!!" +SUBCONVERTER_KEYWORD_SPLIT="多个关键字可以用\033[30;47m | \033[0m号分隔" +SUBCONVERTER_REGEX_HINT="\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" +SUBCONVERTER_EXCLUDE_INPUT="请直接输入节点过滤关键字" +SUBCONVERTER_INCLUDE_INPUT="请直接输入节点匹配关键字" +SUBCONVERTER_EXCLUDE_CLEAR="或输入 d \033[31m清空\033[0m节点过滤关键字" +SUBCONVERTER_INCLUDE_CLEAR="或输入 d \033[31m清空\033[0m节点匹配关键字" + +SUBCONVERTER_RULE_CURRENT="当前使用规则为:" +SUBCONVERTER_SERVER_HINT="以下为互联网采集的第三方服务器,具体安全性请自行斟酌!" +SUBCONVERTER_SERVER_THANKS="感谢以下作者的无私奉献!!!" +SUBCONVERTER_SERVER_CURRENT="当前使用后端为:" +SUBCONVERTER_SET_OK="设置成功!返回上级菜单" + +SUBCONVERTER_UA_HINT="无法正确获取配置文件时可尝试使用" +SUBCONVERTER_UA_CURRENT="当前UA:" +SUBCONVERTER_UA_AUTO="使用自动UA(默认)" +SUBCONVERTER_UA_NONE="不使用UA" +SUBCONVERTER_UA_CUSTOM="使用自定义UA" +SUBCONVERTER_UA_CLEAR="清空UA" +SUBCONVERTER_UA_CUSTOM_WARN="注意:\n自定义UA不可包含空格或特殊符号!" +SUBCONVERTER_UA_CUSTOM_INPUT="请直接输入自定义UA" diff --git a/scripts/lang/chs/task_cmd.lang b/scripts/lang/chs/task_cmd.lang new file mode 100644 index 00000000..a4148521 --- /dev/null +++ b/scripts/lang/chs/task_cmd.lang @@ -0,0 +1,19 @@ +TASK_CMD_EVERY="每隔" +TASK_CMD_HOURLY="时每" +TASK_CMD_MIN="分钟" +TASK_CMD_CORE_SKIP="任务【自动更新内核】中止-未检测到版本更新" +TASK_CMD_CORE_DONE="任务【自动更新内核】下载完成,正在重启服务!" +TASK_CMD_CORE_DL_FAIL="任务【自动更新内核】出错-下载失败!" +TASK_CMD_CORE_VERIFY_FAIL="任务【自动更新内核】出错-内核校验失败!" +TASK_CMD_SCRIPT_SKIP="任务【自动更新脚本】中止-未检测到版本更新" +TASK_CMD_SCRIPT_UNZIP_FAIL="任务【自动更新脚本】出错-解压失败!" +TASK_CMD_DB_SKIP_PREFIX="任务【自动更新数据库文件】跳过-未检测到" +TASK_CMD_DB_SKIP_SUFFIX="版本更新" +TASK_CMD_DB_DL_FAIL_PREFIX="任务【自动更新数据库文件】更新【" +TASK_CMD_DB_DL_FAIL_SUFFIX="】下载失败!" +TASK_CMD_DB_OK_PREFIX="任务【自动更新数据库文件】更新【" +TASK_CMD_DB_OK_SUFFIX="】成功!" +TASK_CMD_RES_OK="成功" +TASK_CMD_RES_FAIL="失败" +TASK_CMD_EXEC_PREFIX="任务【" +TASK_CMD_EXEC_MID="】执行" diff --git a/scripts/lang/chs/uninstall.lang b/scripts/lang/chs/uninstall.lang new file mode 100644 index 00000000..53267d7a --- /dev/null +++ b/scripts/lang/chs/uninstall.lang @@ -0,0 +1,13 @@ +UNINSTALL_WARN="警告:该操作不可逆!" +UNINSTALL_CONFIRM="是否确认卸载ShellCrash?" +UNINSTALL_YES="是" +UNINSTALL_NO="否" +UNINSTALL_KEEP_CONFIRM="是否保留脚本配置及订阅文件?" +UNINSTALL_ENV_ERROR="环境变量配置有误,请尝试手动移除安装目录!" +UNINSTALL_DONE="已卸载ShellCrash相关文件!有缘再会!" +UNINSTALL_CLOSE_HINT="请手动关闭当前窗口以重置环境变量!" +UNINSTALL_CANCELED="操作已取消!" +UNINSTALL_CRON_CLASH="clash服务" +UNINSTALL_CRON_SUB="订阅链接" +UNINSTALL_CRON_INIT="ShellCrash初始化" +UNINSTALL_SSH_MARK="启用外网访问SSH服务" diff --git a/scripts/lang/chs/userguide.lang b/scripts/lang/chs/userguide.lang index 4e98c3e9..4a8d255d 100644 --- a/scripts/lang/chs/userguide.lang +++ b/scripts/lang/chs/userguide.lang @@ -12,3 +12,6 @@ UG_IMPORT_CONFIG="这是运行前的最后一步" UG_CONFIG_TIP="你必须拥有一份配置文件才能运行服务!" UG_CONFIG_RES="是否立即导入配置文件?" UG_FINAL_TIP="很好!现在只需要执行启动就可以愉快的使用了!" + +UG_IMPORT_NOW="立即导入" +UG_IMPORT_LATER="暂不导入" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index 46c2a751..5fcb929a 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -126,3 +126,33 @@ ADV_TABLE_INPUT="Please enter the routing table ID (do not modify unless necessa # ================================================= IPV6_REDIR="IPv6 Transparent Routing (Hijack IPv6 Traffic)" IPV6_DNS="IPv6 DNS Resolution (Return IPv6 addresses)" +SET_YES="Yes" +SET_NO_BACK="No, back" +SET_SKIP_CERT_NOW="Current status: " +SET_ENABLED="enabled" +SET_DISABLED="disabled" +SET_SKIP_CERT_ENABLE_Q=" skip local certificate verification. Enable now?" +SET_SKIP_CERT_DISABLE_Q=" skip local certificate verification. Disable now?" +SET_SNIFFER_NOW="Current status: " +SET_SNIFFER_ENABLE_Q=" domain sniffer. Enable now?" +SET_SNIFFER_DISABLE_Q=" domain sniffer. Disable now?" +SET_LANG_ZH="简体中文" +SET_LANG_EN="English" +SET_SWITCH_RERUN="Switched successfully! Please re-run the script!" +SET_SWITCH_OK="Switched successfully!" +SET_MODE_SUFFIX="mode" +SET_SET_TO="Set to " +SET_BYPASS_TCP="TCP bypass forwarding" +SET_BYPASS_TU="TCP&UDP bypass forwarding" +SET_BYPASS_TCP_DESC="forward TCP traffic only to bypass router" +SET_BYPASS_TU_DESC="forward TCP&UDP traffic to bypass router" +SET_FW_AREA_CURRENT="Current hijack scope: " +SET_WARN="Notice:" +SET_DESC="Description:" +SET_BYPASS_WARN_1="This feature has risks. Do not use without network knowledge!" +SET_BYPASS_WARN_2="For UDP proxy, ensure bypass router runs a UDP-capable mode!" +SET_BYPASS_WARN_3="With systemd startup, core still runs idle. Conservative mode is recommended!" +SET_BYPASS_DESC_1="This mode does not start core; it only configures firewall forwarding and downstream devices need no extra gateway/DNS setup" +SET_BYPASS_DESC_2="Supports firewall routing split and device filtering, supports some cron tasks, but not IPv6" +SET_INPUT_BYPASS_IPV4="Please enter bypass-router IPv4 address" +SET_TIPS_ENTER_BACK="Tip: press Enter directly to return" diff --git a/scripts/lang/en/5_task.lang b/scripts/lang/en/5_task.lang index bb612a45..556cbff9 100644 --- a/scripts/lang/en/5_task.lang +++ b/scripts/lang/en/5_task.lang @@ -4,3 +4,97 @@ TASK_RECOM_TITLE="Enable the following recommended automatic tasks?" TASK_RECOM_ITEM_1="Save Dashboard select every 10 minutes" TASK_RECOM_ITEM_2="Synchronize NTP after service startup" TASK_RECOM_ITEM_3="Daily service restart at 03:00" +TASK5_RUN_TASK=" run task: " +TASK5_CONFIRM_ADD_CRON="Confirm adding scheduled task?" +TASK5_YES="Yes" +TASK5_NO="No" +TASK5_TASK_PREFIX="Task [" +TASK5_TASK_ADDED="] \033[32madded!\033[0m" +TASK5_USER_ADD_HINT1="Command may contain spaces, please ensure it is executable!" +TASK5_USER_ADD_HINT2="Do not append conditions. Set conditions after adding command." +TASK5_USER_ADD_HINT3="You can also edit " +TASK5_USER_ADD_HINT4=" manually to add commands" +TASK5_INPUT_CMD="Please input command directly" +TASK5_OR_BACK="Or input 0 to return" +TASK5_INPUT="Please enter" +TASK5_CHECK_INPUT="Please check input: " +TASK5_INPUT_REMARK="Please enter task remark" +TASK5_CUSTOM_TASK="custom_task_" +TASK5_CUSTOM_ADDED="Custom task added!" +TASK5_INPUT_ERROR="Invalid input, please retry!" +TASK5_USER_DEL_HINT1="Input ID to remove custom task (built-in tasks won't be affected)" +TASK5_USER_DEL_HINT2="You may also edit " +TASK5_NO_CUSTOM_TASK="No custom task has been added yet" +TASK5_SELECT_ADD="Please select task to add:" +TASK5_SELECT_COND="Select execution condition for task " +TASK5_SELECT_COND2=":" +TASK5_COND_1="Scheduled task \033[32mweekly\033[0m" +TASK5_COND_2="Scheduled task \033[32mdaily\033[0m" +TASK5_COND_3="Scheduled task \033[32mhourly\033[0m" +TASK5_COND_4="Scheduled task \033[32mminutely\033[0m" +TASK5_WARN_LINE1=" --------- \033[31mWARNING\033[0m ---------" +TASK5_WARN_LINE2=" Do not use advanced triggers unless you know what you are doing!" +TASK5_WARN_LINE3=" ----------------------------------------" +TASK5_COND_5="Service \033[33mbefore start\033[0m" +TASK5_COND_6="Service \033[33mafter start\033[0m" +TASK5_COND_7="Service \033[33mrun every minute\033[0m" +TASK5_COND_8="After firewall service \033[33mrestart\033[0m" +TASK5_WEEK_HINT1="Input 1~7 for day of week (7=Sunday)" +TASK5_WEEK_HINT2="Input like 1,4,0 for Monday/Thursday/Sunday" +TASK5_WEEK_HINT3="Input 1~5 for Monday to Friday" +TASK5_WEEK_INPUT="Run on which weekday" +TASK5_HOUR_INPUT1="Run at which hour of that day (0~23)" +TASK5_CRON_WEEK="Weekly " +TASK5_CRON_WEEK2=" @ " +TASK5_OCLOCK=":00" +TASK5_DAY_HINT1="Input 1,7,15 for run at 1/7/15 o'clock" +TASK5_DAY_HINT2="Input 6~18 for every hour between 6 and 18" +TASK5_HOUR_INPUT2="Run at which hour daily (0~23)" +TASK5_MIN_INPUT="Run at which minute (0~59)" +TASK5_CRON_DAY="Daily " +TASK5_POINT=":" +TASK5_MINUTE="" +TASK5_EVERY_HOUR_INPUT="Run every how many hours (1~23)" +TASK5_EVERY="Every " +TASK5_HOUR=" hour(s)" +TASK5_EVERY_MIN_INPUT="Run every how many minutes (1~59)" +TASK5_MIN=" minute(s)" +TASK5_BFSTART="Before service start " +TASK5_AFSTART="After service start " +TASK5_RUNNING_HINT1="Input 10 for every 10 mins, 1440 for every 24 hrs" +TASK5_RUNNING_HINT2="Values >60 mins will be rounded by hour under current timezone" +TASK5_RUNNING_INPUT="Run every how many minutes (1~1440)" +TASK5_RUNNING_PREFIX="During runtime every " +TASK5_AFFW_HINT="This will inject startup code into /etc/init.d/firewall" +TASK5_CONFIRM_CONTINUE="Continue?" +TASK5_AFFW_PREFIX="After firewall restart " +TASK5_GUARD_WORD="guard" +TASK5_OLD_PREFIX="legacy-" +TASK5_NONE_TO_MANAGE="No task available to manage!" +TASK5_ADDED_TASKS="Added tasks:" +TASK5_CLEAR_OLD="Clear legacy tasks" +TASK5_CLEAR_ALL="Clear task list" +TASK5_OLD_CLEARED="Legacy tasks cleared!" +TASK5_ALL_CLEARED="All tasks cleared!" +TASK5_OLD_NOT_SUPPORT="Legacy tasks cannot be managed, remove them?" +TASK5_NO_BACK="No, return" +TASK5_CURRENT_TASK="Current task: " +TASK5_EDIT_TASK="\033[33mEdit\033[0m current task" +TASK5_DEL_TASK="\033[31mDelete\033[0m current task" +TASK5_RUN_ONCE="\033[32mRun once\033[0m now" +TASK5_VIEW_RECORD="View \033[33mexecution record\033[0m" +TASK5_RUN_OK="success!" +TASK5_RUN_FAIL="failed!" +TASK5_RECORD_NOT_FOUND="No execution record found!" +TASK5_USER_FILE_HEADER="#task_id(>200 in order)#task_command#task_desc(no # in cmd or desc)" +TASK5_MENU_TITLE="Scheduled Tasks" +TASK5_MENU_1="Add \033[32mautomatic task\033[0m" +TASK5_MENU_2="Manage \033[33mtask list\033[0m" +TASK5_MENU_3="View \033[36mtask logs\033[0m" +TASK5_MENU_4="Configure \033[36mlog push\033[0m" +TASK5_MENU_5="Add \033[33mcustom task\033[0m" +TASK5_MENU_6="Delete \033[33mcustom task\033[0m" +TASK5_MENU_7="Use \033[32mrecommended settings\033[0m" +TASK5_TASK_GREP="Task [" +TASK5_LOG_NOT_FOUND="No task-related log found!" +TASK5_PUSH_HINT="Please configure push channel and switch in log tools" diff --git a/scripts/lang/en/6_core_config.lang b/scripts/lang/en/6_core_config.lang new file mode 100644 index 00000000..ddb83ebe --- /dev/null +++ b/scripts/lang/en/6_core_config.lang @@ -0,0 +1,67 @@ +CORECFG_TITLE="Configuration Management" +CORECFG_HINT_SELECT_PROVIDER="Input a number to manage corresponding provider" +CORECFG_MENU_A="\033[32mAdd provider\033[0m (subscription/share link/local file)" +CORECFG_MENU_B="\033[36mGenerate local config\033[0m" +CORECFG_MENU_C="\033[33mGenerate online config\033[0m" +CORECFG_MENU_D="\033[31mClear provider list\033[0m" +CORECFG_MENU_E="\033[36mCustom config file\033[0m" +CORECFG_CORE_ONLY="Only for Mihomo/singboxr core, please switch core!" +CORECFG_ADD_PROVIDER_FIRST="Please add provider first!" +CORECFG_CLEAR_WARN="Warning: this will delete all providers and cannot be undone!" +CORECFG_CLEAR_CONFIRM="Confirm clearing provider list:" +CORECFG_YES="Yes" +CORECFG_NO="No" +CORECFG_NO_BACK="No, return" +CORECFG_INPUT_ALNUM="Please input letter or number" +CORECFG_INPUT="Please enter" +CORECFG_FILL_REQUIRED="Please complete required fields first!" +CORECFG_START_APPLY="Start service to apply config now?" +CORECFG_PROVIDER_SUPPORT="Supports adding subscription/share link/local file as provider" +CORECFG_SET_NAME="Set \033[36mname/alias\033[0m\t" +CORECFG_SET_LINK="Set \033[32mlink/path\033[0m:\t" +CORECFG_SET_OVERRIDE="Set \033[33mlocal generation override\033[0m" +CORECFG_SAVE_PROVIDER="\033[36mSave this provider\033[0m" +CORECFG_DEL_PROVIDER="\033[31mDelete this provider\033[0m" +CORECFG_MORE_CONFIG_HINT="For detailed settings below, go to corresponding feature page." +CORECFG_GEN_LOCAL_ONE="\033[32mLocal generate\033[0m config with this provider only" +CORECFG_GEN_ONLINE_ONE="\033[33mOnline generate\033[0m config with this provider only" +CORECFG_GET_ONLINE_DIRECT="Fetch this config online directly (without conversion)" +CORECFG_USE_DIRECT="Use this file directly as config (without local generation)" +CORECFG_NAME_HINT="Note:\nName/alias cannot duplicate, cannot be pure digits, and should not be too long!" +CORECFG_INPUT_NAME="Please input name/alias" +CORECFG_OR_BACK="or input 0 to return" +CORECFG_LINK_HINT1="\033[33mSubscription link\033[0m:\nClash config subscription URL starting with https/http" +CORECFG_LINK_HINT2="\033[36mShare link\033[0m:" +CORECFG_LINK_HINT3="\033[33mLocal file\033[0m:\nMust be placed under " +CORECFG_LINK_HINT4="" +CORECFG_LINK_HINT5="\033[36mBase64 \033[0m:\nPlease write to local file directly" +CORECFG_INPUT0_BACK="Input 0 to return" +CORECFG_SELECT_FILE_OR_LINK="Select file or input link" +CORECFG_INPUT_LINK="Please input link directly" +CORECFG_DANGER1="Warning:\nThis feature is incompatible with skip certificate verification" +CORECFG_DANGER2="Please make sure you fully understand what you are doing" +CORECFG_DANGER_CONFIRM="I confirm I can troubleshoot by myself" +CORECFG_INTERVAL1="Set \033[33mhealth-check interval\033[0m:\t" +CORECFG_INTERVAL2="Set \033[36mauto-update interval\033[0m:\t" +CORECFG_MIN="min" +CORECFG_HOUR="hour" +CORECFG_SET_UA="Set \033[33mbrowser UA\033[0m:\t" +CORECFG_SET_EXCLUDE="Set \033[31mexclude regex\033[0m:\t" +CORECFG_SET_INCLUDE="Set \033[32minclude regex\033[0m:\t" +CORECFG_CUR_INTERVAL="Current health-check interval:" +CORECFG_INPUT_INTERVAL1="Input health-check interval (minutes)" +CORECFG_RESET_INTERVAL1="or input r to reset to default (3 min)" +CORECFG_INPUT_INTERVAL2="Input auto-update interval (hours)" +CORECFG_RESET_INTERVAL2="or input r to reset to default (12 hours)" +CORECFG_CUR_UA_NONE="Current browser UA: none" +CORECFG_CUR_UA="Current browser UA: " +CORECFG_INPUT_UA="Input browser UA" +CORECFG_RESET_UA="or input r to reset UA to default (clash.meta)" +CORECFG_CUR_EXCLUDE_NONE="Current exclude rule: none" +CORECFG_CUR_EXCLUDE="Current exclude rule: " +CORECFG_INPUT_EXCLUDE="Input exclude keyword(s) (regex supported, no spaces)" +CORECFG_CLEAR_EXCLUDE="or input c to clear exclude rule" +CORECFG_CUR_INCLUDE_NONE="Current include rule: none" +CORECFG_CUR_INCLUDE="Current include rule: " +CORECFG_INPUT_INCLUDE="Input include keyword(s) (regex supported, no spaces)" +CORECFG_CLEAR_INCLUDE="or input c to clear include rule" diff --git a/scripts/lang/en/7_gateway.lang b/scripts/lang/en/7_gateway.lang new file mode 100644 index 00000000..1dbc59fe --- /dev/null +++ b/scripts/lang/en/7_gateway.lang @@ -0,0 +1,16 @@ +GW_TITLE="Access & Control Menu" +GW_WARN="Notice: " +GW_FW_VPS_HINT="If running on a VPS, also allow related ports in your VPS security policy." +GW_FW_PORT_LIMIT="Up to 10 allowed ports are supported. Please remove some first." +GW_INPUT_ALLOW_PORT="Enter the port to allow" +GW_OK="Done" +GW_CORE_UNSUPPORTED=" core does not support this feature yet, please switch core first!" +GW_TG_DONE_PREFIX="Telegram bot setup completed! Use" +GW_TG_DONE_SUFFIX="to open the function menu!" +GW_SET="Configured" +GW_BOUND="Bound" +GW_INPUT_PORT_DEL0="Enter port (0 to delete)" +GW_INPUT_WSPATH="Enter ws-path (0 to delete)" +GW_INPUT_UUID="Enter UUID (0 to delete)" +GW_INPUT_HOST="Enter your public IP (v4/v6) or domain" +GW_SHARE_LINK_HINT="Your share link (do not share casually):" diff --git a/scripts/lang/en/8_tools.lang b/scripts/lang/en/8_tools.lang new file mode 100644 index 00000000..a2df1dc8 --- /dev/null +++ b/scripts/lang/en/8_tools.lang @@ -0,0 +1,11 @@ +TOOLS_TITLE="Tools & Optimization" +TOOLS_SSH_DISABLE="Disable" +TOOLS_SSH_ENABLE="Enable" +TOOLS_ERR_PORT="Invalid input! Please enter a valid number (1000-65535)!" +TOOLS_ERR_PORT_OCCUPIED="This port is occupied by another process, please try another one!" +TOOLS_SSH_SET_OK="Set successfully, please re-enable WAN SSH access!" +TOOLS_SSH_ENABLED="WAN SSH access enabled!" +TOOLS_SSH_DISABLED="WAN SSH access disabled!" +TOOLS_DISABLE="Disable" +TOOLS_ENABLE="Enable" +TOOLS_CONFIGURED="Configured" diff --git a/scripts/lang/en/9_upgrade.lang b/scripts/lang/en/9_upgrade.lang new file mode 100644 index 00000000..fab88b26 --- /dev/null +++ b/scripts/lang/en/9_upgrade.lang @@ -0,0 +1,49 @@ +UPG_ERR_TRY_OTHER_SOURCE="Please switch to another source and try downloading again!" +UPG_ERR_LOCAL_INSTALL="Or refer to \033[32;4mhttps://juewuy.github.io/bdaz\033[0m for local installation!" +UPG_TITLE="Update & Support" +UPG_CUR_DIR_SPACE="Current directory" +UPG_LOW_SPACE_HINT="Low free space in current directory, consider enabling low-flash mode!" +UPG_MENU_SCRIPT="Update " +UPG_MENU_SCRIPT_NAME="script" +UPG_MENU_CORE="Switch/Update " +UPG_MENU_CORE_NAME="core" +UPG_MENU_GEO="Install/Update local " +UPG_MENU_GEO_NAME="database files" +UPG_MENU_DB="Install/Update local " +UPG_MENU_DB_NAME="Dashboard" +UPG_MENU_CRT="Install/Update local " +UPG_MENU_CRT_NAME="certificates" +UPG_MENU_PAC=" proxy view" +UPG_MENU_SOURCE="Switch " +UPG_MENU_SOURCE_NAME="source and branch" +UPG_MENU_UNINSTALL="Uninstall ShellCrash" +UPG_MENU_THANKS="Thanks list" +UPG_PAC_LINK="PAC URL: " +UPG_PAC_GUIDE="PAC guide: " +UPG_THANKS_TITLE="Thanks to the following projects and developers!" +UPG_THANKS_SPECIAL="Special thanks: \033[36mall contributors and sponsors!\033[0m" +UPG_CHECKING="Checking updates..." +UPG_CHECK_OK="Update check succeeded" +UPG_CHECK_FAIL="Update check failed! Please switch source and retry!" +UPG_DOWNLOAD_FAIL="Download failed!" +UPG_EXTRACTING="Extracting files..." +UPG_EXTRACT_FAIL="Extraction failed!" +UPG_SCRIPT_OK="Script update succeeded!" +UPG_SCRIPT_WARN="Note: service will be stopped during update!" +UPG_SCRIPT_CUR_VER="Current script version: " +UPG_SCRIPT_NEW_VER="Latest script version: " +UPG_UPDATE_NOW="Update now" +UPG_SCRIPT_MGR_OK="Manager script updated successfully!" +UPG_CPUCORE_HINT1="Use only when CPU architecture detection fails or core cannot run!" +UPG_CPUCORE_HINT2="Not sure how to get core arch?" +UPG_CPUCORE_HINT3="Refer to: " +UPG_CPUCORE_LIST="Available online CPU architectures:" +UPG_CPUCORE_ERR="Please enter a valid CPU architecture!" +UPG_CORETYPE_CONFIRM="Please confirm custom core type:" +UPG_CORE_SWITCH_PREFIX="Switched from " +UPG_CORE_SWITCH_MID=" to " +UPG_CORE_SWITCH_SUFFIX=" core" +UPG_CORE_SWITCH_WARN="Geo DB and yaml/json configs are not compatible between the two cores" +UPG_CORE_SWITCH_KEEP="Keep related database files?" +UPG_KEEP="Keep" +UPG_NOT_KEEP="Do not keep" diff --git a/scripts/lang/en/bot_tg.lang b/scripts/lang/en/bot_tg.lang new file mode 100644 index 00000000..0e86697e --- /dev/null +++ b/scripts/lang/en/bot_tg.lang @@ -0,0 +1,68 @@ +BOT_TG_PRIVATE_HINT="Please apply for a Telegram bot via \033[32;4mhttps://t.me/BotFather\033[0m and get its \033[36mAPI TOKEN\033[0m first" +BOT_TG_INPUT_TOKEN="Please enter your API TOKEN" +BOT_TG_PRIVATE_TOP="Please send to \033[32myour bot\033[33m, NOT BotFather!\033[0m" +BOT_TG_PUBLIC_HINT="Please message the bot: \033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" +BOT_TG_SET_DONE="Telegram log push has been configured!" +BOT_TG_CHATID_RETRY_PREFIX="Attempt" +BOT_TG_CHATID_RETRY_SUFFIX="to get chat ID failed, retrying..." +BOT_TG_SEND_KEY="Send this key:" +BOT_TG_SENT_CONFIRM="I have sent it" +BOT_TG_CHATID_FAIL="Unable to get chat ID. Please reconfigure or input ChatID manually!" +BOT_TG_CHATID_MANUAL_HINT="Usually visit" +BOT_TG_CHATID_MANUAL_HINT2="to find ChatID" +BOT_TG_INPUT_CHATID="Please input ChatID manually" +BOT_TG_CHATID_RECONFIG="Unable to get chat ID. Please reconfigure!" +BOT_TG_CRON_NAME="TG_BOT watchdog" + +BOT_TG_HELP_GROUP="Group chat:" +BOT_TG_HELP_PROJECT="Project:" +BOT_TG_HELP_GUIDE="Guide:" +BOT_TG_HELP_COFFEE="Buy me a coffee:" +BOT_TG_HELP_AIRPORT="Partner provider:" +BOT_TG_RUN_ON="🟢Running" +BOT_TG_RUN_OFF="🟡Stopped" +BOT_TG_WELCOME="Welcome to ShellCrash!" +BOT_TG_SERVICE=" service " +BOT_TG_MEM_USED="Memory usage: " +BOT_TG_RUNNING_TIME="Running: " +BOT_TG_SELECT_ACTION="Please choose:" +BOT_TG_SELECT_FILE="Please choose file upload/download action:" +BOT_TG_BTN_START="✈️ Enable redirect" +BOT_TG_BTN_PURE="💧 Pure mode" +BOT_TG_BTN_RESTART="🕹 Restart service" +BOT_TG_BTN_LOG="📄 View logs" +BOT_TG_BTN_TRANSFER="🔃 File transfer" +BOT_TG_BTN_GET_LOG="📥 Download log" +BOT_TG_BTN_GET_BAK="💾 Backup settings" +BOT_TG_BTN_GET_CFG="⬇️ Download config" +BOT_TG_BTN_UP_CORE="🪐 Upload core" +BOT_TG_BTN_UP_BAK="🔄 Restore settings" +BOT_TG_BTN_UP_CFG="⬆️ Upload config" +BOT_TG_NO_CURL="⚠️ curl is missing on this device, only upload is supported!" +BOT_TG_UPLOAD_OK="success! Service will restart soon!" +BOT_TG_UPLOAD_FAIL="failed, please check file and retry!" +BOT_TG_CORE_UPDATE="Core update " +BOT_TG_CFG_RESTORED="Config restored, please restart service manually!" +BOT_TG_RESTORE_FAIL="Restore failed while extracting backup, please retry!" +BOT_TG_CFG_UPLOADED="Config uploaded, please restart service manually!" +BOT_TG_UPLOAD_FAIL2="Upload failed, please retry!" +BOT_TG_NET_UPLOAD_FAIL="Network error, upload failed! Please retry!" +BOT_TG_FILE_FORMAT_FAIL="File format mismatch, upload failed!" +BOT_TG_FW_ENABLED="ShellCrash redirect mode " +BOT_TG_FW_ENABLED_SUFFIX=" enabled!" +BOT_TG_SWITCH_PURE="Switched to pure mode!" +BOT_TG_SERVICE_RESTARTED="ShellCrash service restarted!" +BOT_TG_UNFINISHED="Error: unfinished feature!" +BOT_TG_SEND_CORE="Please send core file ending with tar.gz/.gz/.upx for [" +BOT_TG_SEND_CORE_SUFFIX="]" +BOT_TG_SEND_BAK="Please send backup file in [.tar.gz] format!" +BOT_TG_SEND_CFG="Please send config file in [" +BOT_TG_SEND_CFG_SUFFIX="] format, custom config is supported" +BOT_TG_SWITCH_TO="Switched to " +BOT_TG_ALREADY="Already in " +BOT_TG_ALREADY_PURE="Already in pure mode!" +BOT_TG_SERVICE_RESTARTED_SHORT="🔄 Service restarted" +BOT_TG_LOG_CONTENT="📄 Logs (task logs filtered):" +BOT_TG_TASK_WORD="Task" +BOT_TG_INPUT_SUB="✏ Please enter new subscription URL:" +BOT_TG_SUB_UPDATED="Subscription update finished:" diff --git a/scripts/lang/en/check_port.lang b/scripts/lang/en/check_port.lang new file mode 100644 index 00000000..2e14ca8a --- /dev/null +++ b/scripts/lang/en/check_port.lang @@ -0,0 +1,3 @@ +CHECK_PORT_RANGE_ERR="Invalid input! Please enter a valid value (1-65535)!" +CHECK_PORT_DUP_ERR="Invalid input! Please do not enter duplicate ports!" +CHECK_PORT_OCCUPIED_ERR="This port is already occupied by another process. Please enter a different one!" diff --git a/scripts/lang/en/ddns.lang b/scripts/lang/en/ddns.lang new file mode 100644 index 00000000..e97c91b0 --- /dev/null +++ b/scripts/lang/en/ddns.lang @@ -0,0 +1,35 @@ +DDNS_WELCOME="Welcome to DDNS!" +DDNS_ADD_DONE="Service has been added!" +DDNS_INPUT_DOMAIN="Please enter your domain" +DDNS_INPUT_USER="Please enter username or email" +DDNS_INPUT_PASS="Please enter password or token" +DDNS_INPUT_CHECK_INTERVAL="Please enter check interval (minutes, default 10)" +DDNS_INPUT_FORCE_INTERVAL="Please enter force update interval (hours, default 24)" +DDNS_CONFIRM_INFO="Please confirm the following info:" +DDNS_FIELD_SERVICE="Provider:" +DDNS_FIELD_DOMAIN="Domain:" +DDNS_FIELD_USER="Username:" +DDNS_FIELD_INTERVAL="Check interval:" +DDNS_CONFIRM_ADD="Confirm add:" +DDNS_YES="Yes" +DDNS_REINPUT="No, re-enter" +DDNS_LIST_NOT_FOUND="DDNS list file not found, trying online update..." +DDNS_DOWNLOAD_FAILED="Download failed, please retry!" +DDNS_SELECT_PROVIDER="Please select provider:" +DDNS_INPUT_ERROR="Invalid input, please retry!" +DDNS_SELECT_NETMODE="Please select network mode:" +DDNS_IPV4="IPV4" +DDNS_IPV6="IPV6" +DDNS_DISABLE="Disable" +DDNS_ENABLE="Enable" +DDNS_UPDATE_NOW="Update now" +DDNS_EDIT_CURRENT="Edit current service" +DDNS_CURRENT_SERVICE=" current service" +DDNS_REMOVE_CURRENT="Remove current service" +DDNS_VIEW_LOG="View logs" +DDNS_NOT_SUPPORTED="This feature depends on OpenWrt built-in DDNS service; unsupported on current device." +DDNS_LIST_HEADER=" List Domain On IP Address" +DDNS_ADD_SERVICE="Add DDNS service" +DDNS_EXIT="Exit" +DDNS_INPUT_INDEX="Please enter index" +DDNS_INPUT_NUM_ERROR="Please enter a valid number!" diff --git a/scripts/lang/en/dns.lang b/scripts/lang/en/dns.lang index 146c20ce..d2578ec5 100644 --- a/scripts/lang/en/dns.lang +++ b/scripts/lang/en/dns.lang @@ -52,3 +52,34 @@ DNS_IPV6_NOT_SUPPORT="This option does not support IPv6 encrypted DNS!" DNS_ENCRYPT_OK="Encrypted DNS has been configured. If DNS issues occur, please reset DNS settings." DNS_CORE_REQUIRE="Please use the Mihomo or SingBox core" +DNS_SET_TO="Set to" +DNS_PROTECT_NOW="Current status: " +DNS_HOSTS_NOW="Current status: " +DNS_ENABLED="enabled" +DNS_DISABLED="disabled" +DNS_PROTECT_DISABLE_Q=" DNS leak protection. Disable now?" +DNS_PROTECT_ENABLE_Q=" DNS leak protection. Enable now?" +DNS_HOSTS_DISABLE_Q=" Hosts optimization. Disable now?" +DNS_HOSTS_ENABLE_Q=" Hosts optimization. Enable now?" +DNS_YES="Yes" +DNS_RESET_DEFAULT="Reset to defaults" +DNS_NO_BACK="No, back" +DNS_REMOVE_OK="Removed successfully" +DNS_REMOVE_FAIL="Remove failed" +DNS_INPUT_REDIR_PORT="Please input bypass-router IPv4 address" +DNS_INPUT_REDIR_RESET="or input r to reset DNS redirect port" +DNS_INPUT_REDIR_BACK="or input 0 to go back" +DNS_INPUT="Please enter" +DNS_CONFIRM_ADD="Please confirm the address to add: " +DNS_CONFIRM_OK="Confirm" +DNS_ADD_OK="Added successfully" +DNS_ADD_FAIL="Add failed" +DNS_DIRECT_NOW="Current DIRECT-DNS: " +DNS_PROXY_NOW="Current PROXY-DNS: " +DNS_DEFAULT_NOW="Current DEFAULT-DNS: " +DNS_INPUT_DIRECT_NEW="Please input new DIRECT-DNS" +DNS_INPUT_DIRECT_RESET="or input r to reset DIRECT-DNS" +DNS_INPUT_PROXY_NEW="Please input new PROXY-DNS" +DNS_INPUT_PROXY_RESET="or input r to reset PROXY-DNS" +DNS_INPUT_DEFAULT_NEW="Please input new DEFAULT-DNS" +DNS_INPUT_DEFAULT_RESET="or input r to reset DEFAULT-DNS" diff --git a/scripts/lang/en/providers.lang b/scripts/lang/en/providers.lang new file mode 100644 index 00000000..ab2d2f1a --- /dev/null +++ b/scripts/lang/en/providers.lang @@ -0,0 +1,25 @@ +PROVIDERS_MENU_GEN="Generate config including all providers" +PROVIDERS_MENU_TEMPLATE="Select \033[33mrule template\033[0m" +PROVIDERS_MENU_CLEAN="\033[33mClean\033[0m providers directory" +PROVIDERS_INPUT="Please enter a letter or number" + +PROVIDERS_EMPTY_HINT="No link or local config file has been added yet. Please add one first!" +PROVIDERS_TEMPLATE_CURRENT="Current rule template: " +PROVIDERS_TEMPLATE_SELECT="Please select an online template:" +PROVIDERS_TEMPLATE_LOCAL="Use \033[36mlocal template\033[0m" +PROVIDERS_TEMPLATE_PATH="Please enter template path (absolute path)" +PROVIDERS_TEMPLATE_NOT_FOUND="Invalid input, template file not found!" + +PROVIDERS_CLEAN_WARN="This will clear all files under" +PROVIDERS_CLEAN_WARN_END="" +PROVIDERS_CLEAN_CONFIRM="Continue?" + +PROVIDERS_FETCHING_TEMPLATE="Fetching online template..." +PROVIDERS_DOWNLOAD_FAILED="Download failed. Please try switching install source!" +PROVIDERS_GEN_OK="Configuration file generated successfully!" +PROVIDERS_GEN_OK_SINGBOX="Configuration generated successfully! If startup times out, install the Singbox-srs common database package from Update menu." +PROVIDERS_GEN_FAILED="Failed to generate configuration file. Please check your input carefully!" +PROVIDERS_RESTART_ASK="Start/Restart service now?" +PROVIDERS_YES="Yes" +PROVIDERS_NO="No" +PROVIDERS_CRON_SUB_UPDATE="Update subscription" diff --git a/scripts/lang/en/set_crashdir.lang b/scripts/lang/en/set_crashdir.lang new file mode 100644 index 00000000..b4229521 --- /dev/null +++ b/scripts/lang/en/set_crashdir.lang @@ -0,0 +1,34 @@ +SCD_SELECT_INSTALL_DIR="Please select install directory:" +SCD_INPUT_NUM="Please enter a number" +SCD_INPUT_ERROR="Invalid input! Please retry!" +SCD_XIAOMI_DETECTED="Xiaomi stock firmware detected, select installation location:" +SCD_CUSTOM_DIR_WARN="Custom directory (not recommended)" +SCD_EXIT_INSTALL="Exit installation" +SCD_SELECT_USB_DIR="Please select USB directory:" +SCD_ASUS_DM_NOT_FOUND="Download Master startup file not found:" +SCD_CHECK_SETTING="please check your settings!" +SCD_ASUS_DETECTED="Asus firmware detected, please select installation method" +SCD_ASUS_INSTALL_DM="Install via USB + Download Master (all firmwares, ARM only)" +SCD_ASUS_INSTALL_SCRIPT="Install via startup script (some Merlin firmwares only)" +SCD_ASUS_DM_HINT="Install and enable Download Master in router web UI first, then select external storage directory." +SCD_ASUS_REINSTALL_HINT="If boot auto-start fails, please reinstall with USB + Download Master." +SCD_PATH_FORMAT_HINT="Path must start with /. Files under virtual memory (/tmp,/opt,/sys...) will be lost after reboot!" +SCD_PATH_FREE_SPACE="Available paths free space:" +SCD_INPUT_CUSTOM_DIR="Please input custom path" +SCD_PATH_ERROR="Invalid path! Please retry!" +SCD_INSTALL_SPACE_HINT="Notice: ShellCrash requires at least ~1MB free space" +SCD_INSTALL_ETC="Install in \033[32m/etc\033[0m (root users)" +SCD_INSTALL_USR="Install in \033[32m/usr/share\033[0m (Linux systems)" +SCD_INSTALL_HOME="Install in \033[32mcurrent user dir\033[0m (non-root users)" +SCD_INSTALL_USB="Install in \033[32mexternal storage\033[0m" +SCD_INSTALL_MANUAL="Set install directory manually" +SCD_INSTALL_CANCELED="Installation canceled" +SCD_NO_WRITE_PREFIX="No write permission on " +SCD_NO_WRITE_SUFFIX=", please retry!" +SCD_TARGET_DIR_PREFIX="Target directory " +SCD_TARGET_DIR_SPACE=" free space: " +SCD_CONFIRM_INSTALL="Confirm installation?" +SCD_YES="Yes" +SCD_NO="No" +SCD_DIR_FREE=" dir, free: " +SCD_SOFT_SOLID="(supports soft solidification)" diff --git a/scripts/lang/en/setboot.lang b/scripts/lang/en/setboot.lang new file mode 100644 index 00000000..1ca36e37 --- /dev/null +++ b/scripts/lang/en/setboot.lang @@ -0,0 +1,52 @@ +SETBOOT_NOT_SET="Not set" +SETBOOT_SECOND="s" +SETBOOT_TITLE="Startup Settings" +SETBOOT_ITEM_AUTO="Autostart:" +SETBOOT_ITEM_OLD="Conservative mode:" +SETBOOT_ITEM_OLD_DESC="--- cron based check (every minute)" +SETBOOT_ITEM_DELAY="Startup delay:" +SETBOOT_ITEM_DELAY_DESC="--- helps when service is restricted right after boot" +SETBOOT_ITEM_MINI="Low-flash mode:" +SETBOOT_ITEM_MINI_DESC="--- for devices with limited flash space" +SETBOOT_ITEM_MINI_DIR="Low-flash directory:" +SETBOOT_ITEM_NETCHK="Startup network check:" +SETBOOT_ITEM_NETCHK_DESC="--- disable to skip network check on startup" +SETBOOT_VIEW_LOG="View startup logs" +SETBOOT_AUTO_OFF="ShellCrash autostart disabled!" +SETBOOT_AUTO_ON="ShellCrash autostart enabled!" +SETBOOT_CRON_INIT="ShellCrash initialization" +SETBOOT_OLDMODE_ON="Switched to conservative startup mode!" +SETBOOT_OLDMODE_OFF="Switched to system daemon startup mode!" +SETBOOT_MODE_UNSUPPORTED="Current device does not support other startup modes!" +SETBOOT_DELAY_HINT1="If your device runs normally after boot, no need to configure this." +SETBOOT_DELAY_HINT2="Recommended between 30~120 seconds, tune according to your device issue." +SETBOOT_DELAY_INPUT="Please enter startup delay (0~300s)" +SETBOOT_SET_OK="Set successfully!" +SETBOOT_DELAY_INVALID="Invalid input or over 300s, please retry!" +SETBOOT_MINI_NEEDED_NO="Your device has enough space (>20M), no need to enable!" +SETBOOT_SYSTEMD_WARN="systemd startup is unsupported here, enable conservative mode first!" +SETBOOT_MINI_ENABLED="Low-flash mode has been enabled!" +SETBOOT_MINI_DIR_HINT="To change directory, use [Set low-flash directory]." +SETBOOT_MINI_DISABLE_WARN="Remaining space is below 8M; disabling may break runtime!" +SETBOOT_MINI_DISABLE_CONFIRM="Confirm disabling this feature?" +SETBOOT_YES="Yes" +SETBOOT_NO_BACK="No, return" +SETBOOT_MINI_DISABLED="Low-flash mode has been disabled!" +SETBOOT_BINDIR_HINT1="If set to memory, related files will be re-downloaded after each boot." +SETBOOT_BINDIR_HINT2="Ensure install source is directly reachable, or startup may fail." +SETBOOT_BINDIR_TMP="Use memory (/tmp)" +SETBOOT_BINDIR_USB="Select USB directory" +SETBOOT_BINDIR_CUSTOM="Custom directory" +SETBOOT_SELECT_INSTALL_DIR="Please select install directory:" +SETBOOT_SPACE_USED="Used storage:" +SETBOOT_INPUT_ERROR="Invalid input, please retry!" +SETBOOT_INPUT_CMD="Please input command/path directly" +SETBOOT_INPUT_OR_BACK="Or input 0 to return" +SETBOOT_INPUT="Please enter" +SETBOOT_NETCHK_HINT1="If your device can run normally after boot, no need to change this." +SETBOOT_NETCHK_HINT2="When disabled, low-flash or online rules (e.g. rule-set) may fail due to no network." +SETBOOT_NETCHK_HINT3="When enabled, low-performance/slow-dial devices may timeout and fail startup." +SETBOOT_NETCHK_OFF_CONFIRM="Network check is \033[33mdisabled\033[0m. Enable it?" +SETBOOT_NETCHK_ON_CONFIRM="Network check is \033[33menabled\033[0m. Disable it?" +SETBOOT_TASK_WORD="Task" +SETBOOT_LOG_NOT_FOUND="Related log not found!" diff --git a/scripts/lang/en/subconverter.lang b/scripts/lang/en/subconverter.lang new file mode 100644 index 00000000..7761f82b --- /dev/null +++ b/scripts/lang/en/subconverter.lang @@ -0,0 +1,33 @@ +SUBCONVERTER_MENU_GEN="Generate config including all nodes and subscriptions" +SUBCONVERTER_MENU_EXCLUDE="Set \033[31mexclude node regex\033[0m" +SUBCONVERTER_MENU_INCLUDE="Set \033[32minclude node regex\033[0m" +SUBCONVERTER_MENU_RULE="Select \033[33monline rule template\033[0m" +SUBCONVERTER_MENU_SERVER="Select Subconverter server" +SUBCONVERTER_MENU_UA="Custom browser UA" + +SUBCONVERTER_INPUT="Please enter" +SUBCONVERTER_BACK="or enter 0 to return" + +SUBCONVERTER_EXCLUDE_HINT1="Nodes matching keywords will be blocked during import!" +SUBCONVERTER_INCLUDE_HINT1="Only nodes matching keywords will be imported!!!" +SUBCONVERTER_KEYWORD_SPLIT="Use \033[30;47m | \033[0m to separate multiple keywords" +SUBCONVERTER_REGEX_HINT="\033[32mRegex is supported\033[0m. Use \033[30;47m + \033[0m instead of spaces" +SUBCONVERTER_EXCLUDE_INPUT="Enter exclude keyword(s) directly" +SUBCONVERTER_INCLUDE_INPUT="Enter include keyword(s) directly" +SUBCONVERTER_EXCLUDE_CLEAR="or enter d to \033[31mclear\033[0m exclude keywords" +SUBCONVERTER_INCLUDE_CLEAR="or enter d to \033[31mclear\033[0m include keywords" + +SUBCONVERTER_RULE_CURRENT="Current rule: " +SUBCONVERTER_SERVER_HINT="The following third-party servers are collected from the internet. Please evaluate their security by yourself!" +SUBCONVERTER_SERVER_THANKS="Thanks to the contributors below for their great work!!!" +SUBCONVERTER_SERVER_CURRENT="Current backend: " +SUBCONVERTER_SET_OK="Settings saved. Returning to previous menu" + +SUBCONVERTER_UA_HINT="Try this if the config file cannot be fetched correctly" +SUBCONVERTER_UA_CURRENT="Current UA: " +SUBCONVERTER_UA_AUTO="Use auto UA (default)" +SUBCONVERTER_UA_NONE="Do not use UA" +SUBCONVERTER_UA_CUSTOM="Use custom UA" +SUBCONVERTER_UA_CLEAR="Clear UA" +SUBCONVERTER_UA_CUSTOM_WARN="Note:\nCustom UA cannot contain spaces or special symbols!" +SUBCONVERTER_UA_CUSTOM_INPUT="Enter custom UA" diff --git a/scripts/lang/en/task_cmd.lang b/scripts/lang/en/task_cmd.lang new file mode 100644 index 00000000..ab93d80c --- /dev/null +++ b/scripts/lang/en/task_cmd.lang @@ -0,0 +1,19 @@ +TASK_CMD_EVERY="every" +TASK_CMD_HOURLY="hourly" +TASK_CMD_MIN="minute" +TASK_CMD_CORE_SKIP="Task [Auto update core] skipped - no new version detected" +TASK_CMD_CORE_DONE="Task [Auto update core] download complete, restarting service" +TASK_CMD_CORE_DL_FAIL="Task [Auto update core] failed - download error" +TASK_CMD_CORE_VERIFY_FAIL="Task [Auto update core] failed - core verification error" +TASK_CMD_SCRIPT_SKIP="Task [Auto update script] skipped - no new version detected" +TASK_CMD_SCRIPT_UNZIP_FAIL="Task [Auto update script] failed - extract error" +TASK_CMD_DB_SKIP_PREFIX="Task [Auto update database] skipped - no new version for " +TASK_CMD_DB_SKIP_SUFFIX="" +TASK_CMD_DB_DL_FAIL_PREFIX="Task [Auto update database] failed downloading [" +TASK_CMD_DB_DL_FAIL_SUFFIX="]" +TASK_CMD_DB_OK_PREFIX="Task [Auto update database] updated [" +TASK_CMD_DB_OK_SUFFIX="] successfully" +TASK_CMD_RES_OK="success" +TASK_CMD_RES_FAIL="failed" +TASK_CMD_EXEC_PREFIX="Task [" +TASK_CMD_EXEC_MID="] result: " diff --git a/scripts/lang/en/uninstall.lang b/scripts/lang/en/uninstall.lang new file mode 100644 index 00000000..3d2f1ede --- /dev/null +++ b/scripts/lang/en/uninstall.lang @@ -0,0 +1,13 @@ +UNINSTALL_WARN="Warning: this action is irreversible!" +UNINSTALL_CONFIRM="Are you sure you want to uninstall ShellCrash?" +UNINSTALL_YES="Yes" +UNINSTALL_NO="No" +UNINSTALL_KEEP_CONFIRM="Keep script configs and subscription files?" +UNINSTALL_ENV_ERROR="Environment variable configuration is incorrect. Please remove the installation directory manually!" +UNINSTALL_DONE="ShellCrash related files have been removed. Goodbye!" +UNINSTALL_CLOSE_HINT="Please close the current terminal window manually to reset environment variables!" +UNINSTALL_CANCELED="Operation canceled!" +UNINSTALL_CRON_CLASH="clash service" +UNINSTALL_CRON_SUB="subscription link" +UNINSTALL_CRON_INIT="ShellCrash initialization" +UNINSTALL_SSH_MARK="Enable SSH access from WAN" diff --git a/scripts/lang/en/userguide.lang b/scripts/lang/en/userguide.lang index 34814a7c..26569b02 100644 --- a/scripts/lang/en/userguide.lang +++ b/scripts/lang/en/userguide.lang @@ -12,3 +12,6 @@ UG_IMPORT_CONFIG="Import configuration file? (Last step before running)" UG_CONFIG_TIP="You must have a configuration file to run the service!" UG_CONFIG_RES="Importing now? " UG_FINAL_TIP="Great! Now just start the service to enjoy!" + +UG_IMPORT_NOW="Import now" +UG_IMPORT_LATER="Not now" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index e378df18..5d44bd46 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -41,8 +41,8 @@ settings() { 1) if [ "$USER" != root ] && [ "$USER" != admin ]; then comp_box "$SET_WARN_NONROOT" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then set_redir_mod @@ -63,13 +63,13 @@ settings() { line_break separator_line "=" if [ "$skip_cert" = "OFF" ]; then - content_line "当前\033[33m已禁用\033[0m跳过本地证书验证,是否确认启用?" + content_line "$SET_SKIP_CERT_NOW\033[33m$SET_DISABLED\033[0m$SET_SKIP_CERT_ENABLE_Q" else - content_line "当前\033[33m已启用\033[0m跳过本地证书验证,是否确认禁用?" + content_line "$SET_SKIP_CERT_NOW\033[33m$SET_ENABLED\033[0m$SET_SKIP_CERT_DISABLE_Q" fi separator_line "=" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" read -r -p "$COMMON_INPUT> " num if [ "$num" = 1 ]; then if [ "$skip_cert" = OFF ]; then @@ -86,9 +86,9 @@ settings() { ;; 5) if [ "$sniffer" = "OFF" ]; then - comp_box "当前\033[33m已禁用\033[0m域名嗅探,是否确认启用?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + comp_box "$SET_SNIFFER_NOW\033[33m$SET_DISABLED\033[0m$SET_SNIFFER_ENABLE_Q" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" read -r -p "$COMMON_INPUT> " num if [ "$num" = 1 ]; then line_break @@ -108,9 +108,9 @@ settings() { msg_alert "\033[31m$SET_SNIFFER_LOCKED\033[0m" continue else - comp_box "当前\033[33m已启用\033[0m域名嗅探,是否确认禁用?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + comp_box "$SET_SNIFFER_NOW\033[33m$SET_ENABLED\033[0m$SET_SNIFFER_DISABLE_Q" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" read -r -p "$COMMON_INPUT> " num if [ "$num" = 1 ]; then sniffer=OFF @@ -121,15 +121,15 @@ settings() { fi fi setconfig sniffer "$sniffer" - btm_box "\033[32m操作成功\033[0m" + btm_box "\033[32m$COMMON_SUCCESS\033[0m" sleep 1 ;; 6) if pidof CrashCore >/dev/null; then comp_box "\033[33m$SET_CORE_RUNNING\033[0m" \ "$SET_CORE_STOP_CONFIRM" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then "$CRASHDIR/start.sh" stop && set_adv_config @@ -203,8 +203,8 @@ settings() { exit 0 ;; b) - comp_box "1) 简体中文" \ - "2) English" \ + comp_box "1) $SET_LANG_ZH" \ + "2) $SET_LANG_EN" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -214,7 +214,7 @@ settings() { ;; 1) echo chs >"$CRASHDIR"/configs/i18n.cfg - msg_alert "\033[32m切换成功!请重新运行脚本!\033[0m" + msg_alert "\033[32m$SET_SWITCH_RERUN\033[0m" ;; 2) echo en >"$CRASHDIR"/configs/i18n.cfg @@ -243,7 +243,7 @@ settings() { . "$CRASHDIR"/menus/tui_lite.sh ;; esac - msg_alert "\033[32m切换成功!\033[0m" + msg_alert "\033[32m$SET_SWITCH_OK\033[0m" ;; *) errornum @@ -255,7 +255,7 @@ settings() { set_redir_config() { setconfig redir_mod "$redir_mod" setconfig dns_mod "$dns_mod" - msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod 模式\033[0m" + msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod $SET_MODE_SUFFIX\033[0m" } # 路由模式设置 @@ -269,15 +269,15 @@ set_redir_mod() { comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" [ "$firewall_area" -le 3 ] && { - content_line "1) 设为\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" - content_line "2) 设为\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" - content_line "3) 设为\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" - content_line "4) 设为\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" + content_line "1) $SET_SET_TO\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" + content_line "2) $SET_SET_TO\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" + content_line "3) $SET_SET_TO\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" + content_line "4) $SET_SET_TO\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" content_line "" } [ "$firewall_area" = 5 ] && { - content_line "5) \033[32mTCP旁路转发\033[0m: 仅转发TCP流量至旁路由" - content_line "6) \033[36mT&U旁路转发\033[0m: 转发TCP&UDP流量至旁路由" + content_line "5) \033[32m$SET_BYPASS_TCP\033[0m: $SET_BYPASS_TCP_DESC" + content_line "6) \033[36m$SET_BYPASS_TU\033[0m: $SET_BYPASS_TU_DESC" content_line "" } btm_box "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" \ @@ -338,11 +338,11 @@ set_redir_mod() { fi ;; 5) - redir_mod='TCP旁路转发' + redir_mod='$SET_BYPASS_TCP' set_redir_config ;; 6) - redir_mod='T&U旁路转发' + redir_mod='$SET_BYPASS_TU' set_redir_config ;; 7) @@ -541,7 +541,7 @@ set_firewall_area() { comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ "\033[33m$FW_AREA_NOTE_2\033[0m" \ "" \ - "当前路由劫持范围:$firewall_area_dsc" + "$SET_FW_AREA_CURRENT$firewall_area_dsc" btm_box "1) \033[32m$FW_AREA_LAN\033[0m" \ "2) \033[36m$FW_AREA_LOCAL\033[0m" \ "3) \033[32m$FW_AREA_BOTH\033[0m" \ @@ -573,19 +573,19 @@ set_firewall_area() { common_success ;; 5) - comp_box "\033[31m注意:\033[0m" \ - "此功能存在多种风险如无网络基础请勿尝试!" \ - "如需代理UDP,请确保旁路由运行了支持UDP代理的模式!" \ - "如使用systemd方式启动,内核依然会空载运行,建议使用保守模式!" \ - "\033[33m说明:\033[0m" \ - "此功能不启动内核仅配置防火墙转发,且子设备无需额外设置网关DNS" \ - "支持防火墙分流及设备过滤,支持部分定时任务,但不支持ipv6" - read -r -p "请直接输入旁路由IPV4地址> " bypass_host + comp_box "\033[31m$SET_WARN\033[0m" \ + "$SET_BYPASS_WARN_1" \ + "$SET_BYPASS_WARN_2" \ + "$SET_BYPASS_WARN_3" \ + "\033[33m$SET_DESC\033[0m" \ + "$SET_BYPASS_DESC_1" \ + "$SET_BYPASS_DESC_2" + read -r -p "$SET_INPUT_BYPASS_IPV4> " bypass_host [ -n "$bypass_host" ] && { firewall_area=$num setconfig firewall_area "$firewall_area" setconfig bypass_host "$bypass_host" - redir_mod=TCP旁路转发 + redir_mod=$SET_BYPASS_TCP setconfig redir_mod $redir_mod } ;; @@ -619,7 +619,7 @@ set_firewall_vm() { comp_box "$VM_INPUT_DESC_1" \ "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" \ "" \ - "Tips:直接回车确认可返回上级菜单" + "$SET_TIPS_ENTER_BACK" read -r -p "$VM_INPUT_NET> " text [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON ;; diff --git a/scripts/menus/4_setboot.sh b/scripts/menus/4_setboot.sh index 9116ec76..ec8a5721 100644 --- a/scripts/menus/4_setboot.sh +++ b/scripts/menus/4_setboot.sh @@ -4,6 +4,8 @@ [ -n "$__IS_MODULE_4_SETBOOT_LOADED" ] && return __IS_MODULE_4_SETBOOT_LOADED=1 +load_lang setboot + allow_autostart() { if [ -f /etc/rc.common ] && [ "$(cat /proc/1/comm)" = "procd" ]; then /etc/init.d/shellcrash enable @@ -29,25 +31,25 @@ setboot() { [ -z "$start_old" ] && start_old=OFF if [ -z "$start_delay" ] || [ "$start_delay" = 0 ]; then - delay=未设置 + delay="$SETBOOT_NOT_SET" else - delay="${start_delay}秒" + delay="${start_delay}$SETBOOT_SECOND" fi check_autostart && auto_set="ON" || auto_set="OFF" [ "${BINDIR}" = "$CRASHDIR" ] && mini_clash=OFF || mini_clash=ON [ -z "$network_check" ] && network_check=ON - comp_box "\033[30;47m启动设置菜单\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 "3) 设置自启延时: \033[36m$(printf '%-7s' "$delay")\033[0m ———用于解决自启后服务受限" - content_line "4) 启用小闪存模式: \033[36m$(printf '%-4s' "$mini_clash")\033[0m ———用于闪存空间不足的设备" - [ "${BINDIR}" != "$CRASHDIR" ] && content_line "5) 设置小闪存目录: \033[36m${BINDIR}\033[0m" - btm_box "6) 自启网络检查: \033[36m$(printf '%-4s' "$network_check")\033[0m ———禁用则跳过自启时网络检查" \ - "7) 查看启动日志" \ + comp_box "\033[30;47m$SETBOOT_TITLE\033[0m" + content_line "1) $SETBOOT_ITEM_AUTO \033[36m$(printf '%-4s' "$auto_set")\033[0m" + content_line "2) $SETBOOT_ITEM_OLD \033[36m$(printf '%-4s' "$start_old")\033[0m $SETBOOT_ITEM_OLD_DESC" + content_line "3) $SETBOOT_ITEM_DELAY \033[36m$(printf '%-7s' "$delay")\033[0m $SETBOOT_ITEM_DELAY_DESC" + content_line "4) $SETBOOT_ITEM_MINI \033[36m$(printf '%-4s' "$mini_clash")\033[0m $SETBOOT_ITEM_MINI_DESC" + [ "${BINDIR}" != "$CRASHDIR" ] && content_line "5) $SETBOOT_ITEM_MINI_DIR \033[36m${BINDIR}\033[0m" + btm_box "6) $SETBOOT_ITEM_NETCHK \033[36m$(printf '%-4s' "$network_check")\033[0m $SETBOOT_ITEM_NETCHK_DESC" \ + "7) $SETBOOT_VIEW_LOG" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -57,11 +59,11 @@ setboot() { if check_autostart; then # 禁止自启动:删除各系统的启动项 disable_autostart - msg_alert "\033[33m已禁止ShellCrash开机自启动!\033[0m" + msg_alert "\033[33m$SETBOOT_AUTO_OFF\033[0m" else # 允许自启动:配置各系统的启动项 allow_autostart - msg_alert "\033[32m已设置ShellCrash开机自启动!\033[0m" + msg_alert "\033[32m$SETBOOT_AUTO_ON\033[0m" fi ;; 2) @@ -70,31 +72,31 @@ setboot() { start_old=ON setconfig start_old "$start_old" "$CRASHDIR"/start.sh stop - msg_alert "\033[33m改为使用保守模式启动服务!\033[0m" + msg_alert "\033[33m$SETBOOT_OLDMODE_ON\033[0m" else 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 "$SETBOOT_CRON_INIT" start_old=OFF setconfig start_old "$start_old" "$CRASHDIR"/start.sh stop - msg_alert "\033[32m改为使用系统守护进程启动服务!\033[0m" + msg_alert "\033[32m$SETBOOT_OLDMODE_OFF\033[0m" else - msg_alert "\033[31m当前设备不支持以其他模式启动!\033[0m" + msg_alert "\033[31m$SETBOOT_MODE_UNSUPPORTED\033[0m" fi fi ;; 3) - comp_box "\033[33m如果你的设备启动后可以正常使用,则无需设置!\033[0m" \ - "\033[36m推荐设置为30~120秒之间,请根据设备问题自行试验\033[0m" - read -r -p "请输入启动延迟时间(0~300秒)> " sec + comp_box "\033[33m$SETBOOT_DELAY_HINT1\033[0m" \ + "\033[36m$SETBOOT_DELAY_HINT2\033[0m" + read -r -p "$SETBOOT_DELAY_INPUT> " sec case "$sec" in [0-9] | [0-9][0-9] | [0-2][0-9][0-9] | 300) start_delay=$sec setconfig start_delay "$sec" - msg_alert "\033[32m设置成功!\033[0m" + msg_alert "\033[32m$SETBOOT_SET_OK\033[0m" ;; *) - msg_alert "\033[31m输入有误,或超过300秒,请重新输入!\033[0m" + msg_alert "\033[31m$SETBOOT_DELAY_INVALID\033[0m" ;; esac ;; @@ -102,31 +104,31 @@ setboot() { 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}') if [ "$mini_clash" = "OFF" ]; then if [ "$dir_size" -gt 20480 ]; then - msg_alert "\033[33m您的设备空间充足(>20M),无需开启!\033[0m" + msg_alert "\033[33m$SETBOOT_MINI_NEEDED_NO\033[0m" elif [ "$start_old" != 'ON' ] && [ "$(cat /proc/1/comm)" = "systemd" ]; then - msg_alert "\033[33m不支持systemd启动模式,请先启用保守模式!\033[0m" + msg_alert "\033[33m$SETBOOT_SYSTEMD_WARN\033[0m" else [ "$BINDIR" = "$CRASHDIR" ] && BINDIR="$TMPDIR" - msg_alert "\033[32m已经启用小闪存功能!\033[0m" \ - "如需更换目录,请使用【设置小闪存目录】功能\033[0m" + msg_alert "\033[32m$SETBOOT_MINI_ENABLED\033[0m" \ + "$SETBOOT_MINI_DIR_HINT\033[0m" fi else if [ "$dir_size" -lt 8192 ]; then - comp_box "\033[31m您的设备剩余空间不足8M,停用后可能无法正常运行!\033[0m" \ - "是否确认停用此功能?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "\033[31m$SETBOOT_MINI_DISABLE_WARN\033[0m" \ + "$SETBOOT_MINI_DISABLE_CONFIRM" + btm_box "1) $SETBOOT_YES" \ + "0) $SETBOOT_NO_BACK" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then BINDIR="$CRASHDIR" - msg_alert "\033[33m已经停用小闪存功能!\033[0m" + msg_alert "\033[33m$SETBOOT_MINI_DISABLED\033[0m" else continue fi else rm -rf /tmp/ShellCrash BINDIR="$CRASHDIR" - msg_alert "\033[33m已经停用小闪存功能!\033[0m" + msg_alert "\033[33m$SETBOOT_MINI_DISABLED\033[0m" fi fi sed -i "s#BINDIR=.*#BINDIR=$BINDIR#" "$CRASHDIR"/configs/command.env @@ -134,14 +136,14 @@ setboot() { ;; 5) while true; do - comp_box "\033[33m如设置到内存,则每次开机后都自动重新下载相关文件\033[0m" \ - "\033[33m请确保安装源可用裸连,否则会导致启动失败\033[0m" - btm_box "1) 使用内存(/tmp)" \ - "2) 选择U盘目录" \ - "3) 自定义目录" \ + comp_box "\033[33m$SETBOOT_BINDIR_HINT1\033[0m" \ + "\033[33m$SETBOOT_BINDIR_HINT2\033[0m" + btm_box "1) $SETBOOT_BINDIR_TMP" \ + "2) $SETBOOT_BINDIR_USB" \ + "3) $SETBOOT_BINDIR_CUSTOM" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -152,21 +154,21 @@ setboot() { 2) set_usb_dir() { while true; do - comp_box "请选择安装目录:" + comp_box "$SETBOOT_SELECT_INSTALL_DIR" du -hL /mnt | - awk '{print NR") "$2" (已占用的储存空间:"$1")"}' | + awk '{print NR") "$2" ($SETBOOT_SPACE_USED$1")"}' | while IFS= read -r line; do content_line "$line" done content_line "" - content_line "0) 返回上级菜单" + content_line "0) $COMMON_BACK" separator_line "=" - read -r -p "请输入对应标号> " num + read -r -p "$COMMON_INPUT> " num BINDIR=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ "$num" = 0 ]; then return 1 elif [ -z "$BINDIR" ]; then - msg_alert "\033[31m输入错误!请重新设置!\033[0m" + msg_alert "\033[31m$SETBOOT_INPUT_ERROR\033[0m" else return 0 fi @@ -180,13 +182,13 @@ setboot() { 3) input_dir() { while true; do - comp_box "\033[36m请直接输入命令语句\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " BINDIR + comp_box "\033[36m$SETBOOT_INPUT_CMD\033[0m" \ + "$SETBOOT_INPUT_OR_BACK" + read -r -p "$SETBOOT_INPUT> " BINDIR if [ "$BINDIR" = 0 ]; then return 1 elif [ ! -d "$BINDIR" ]; then - msg_alert "\033[31m输入错误!请重新设置!\033[0m" + msg_alert "\033[31m$SETBOOT_INPUT_ERROR\033[0m" fi return 0 done @@ -206,19 +208,19 @@ setboot() { done ;; 6) - comp_box "\033[33m如果你的设备启动后可以正常使用,则无需变更设置!\033[0m" \ - "\033[36m禁用时,如果使用了小闪存模式或者rule-set等在线规则,则可能会因无法联网而导致启动失败!\033[0m" \ - "\033[32m启用时,会导致部分性能较差或者拨号较慢的设备可能会因查询超时导致启动失败!\033[0m" + comp_box "\033[33m$SETBOOT_NETCHK_HINT1\033[0m" \ + "\033[36m$SETBOOT_NETCHK_HINT2\033[0m" \ + "\033[32m$SETBOOT_NETCHK_HINT3\033[0m" if [ "$network_check" = "OFF" ]; then - content_line "当前\033[33m已禁用\033[0m自启网络检查,是否确认启用?" + content_line "$SETBOOT_NETCHK_OFF_CONFIRM" else - content_line "当前\033[33m已启用\033[0m自启网络检查,是否确认禁用?" + content_line "$SETBOOT_NETCHK_ON_CONFIRM" fi separator_line "-" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + btm_box "1) $SETBOOT_YES" \ + "0) $SETBOOT_NO_BACK" + read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then if [ "$network_check" = "OFF" ]; then network_check=ON @@ -236,12 +238,12 @@ setboot() { if [ -s "$TMPDIR"/ShellCrash.log ]; then line_break echo "===========================================================" - grep -v '任务' "$TMPDIR"/ShellCrash.log + grep -v "$SETBOOT_TASK_WORD" "$TMPDIR"/ShellCrash.log echo "===========================================================" line_break exit else - msg_alert "\033[31m未找到相关日志!\033[0m" + msg_alert "\033[31m$SETBOOT_LOG_NOT_FOUND\033[0m" fi ;; *) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index ae0be460..a7b0958f 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -15,16 +15,16 @@ set_cron() { [ -z "$week" ] && week=* [ -z "$hour" ] && hour=* [ -z "$min" ] && min=0 - comp_box "\033[33m$cron_time\033[0m执行任务:\033[36m$task_name\033[0m" \ + comp_box "\033[33m$cron_time\033[0m$TASK5_RUN_TASK\033[36m$task_name\033[0m" \ "" \ - "是否确认添加定时任务?" - btm_box "1) 是" \ - "0) 否" - read -r -p "请输入对应标号> " res + "$TASK5_CONFIRM_ADD_CRON" + btm_box "1) $TASK5_YES" \ + "0) $TASK5_NO" + read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then task_txt="$min $hour * * $week $CRASHDIR/task/task.sh $task_id $cron_time$task_name" cronset "$cron_time$task_name" "$task_txt" - msg_alert -t 0 "任务【$cron_time$task_name】\033[32m已添加!\033[0m" + msg_alert -t 0 "$TASK5_TASK_PREFIX$cron_time$task_name$TASK5_TASK_ADDED" fi unset week hour min sleep 1 @@ -51,28 +51,28 @@ set_service() { # 自定义命令添加 task_user_add() { while true; do - comp_box "\033[33m命令可包含空格,请确保命令可执行!\033[0m" \ - "\033[36m请勿附带执行条件,执行条件请在命令添加完成后再返回设置!\033[0m" \ - "亦可手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m以添加命令" - btm_box "\033[36m请直接输入命令语句\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " script + comp_box "\033[33m$TASK5_USER_ADD_HINT1\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" + btm_box "\033[36m$TASK5_INPUT_CMD\033[0m" \ + "$TASK5_OR_BACK" + read -r -p "$TASK5_INPUT> " script if [ "$script" = 0 ]; then break elif [ -n "$script" ]; then task_command=$script - comp_box "请检查输入:\033[32m$task_command\033[0m" + comp_box "$TASK5_CHECK_INPUT\033[32m$task_command\033[0m" # 获取本任务ID 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 task_id=$((task_max_id + 1)) - read -r -p "请输入任务备注> " txt - [ -n "$txt" ] && task_name=$txt || task_name=自定义任务$task_id + read -r -p "$TASK5_INPUT_REMARK> " txt + [ -n "$txt" ] && task_name=$txt || task_name="$TASK5_CUSTOM_TASK$task_id" echo "$task_id#$task_command#$task_name" >>"$CRASHDIR"/task/task.user - msg_alert "\033[32m自定义任务已添加!\033[0m" + msg_alert "\033[32m$TASK5_CUSTOM_ADDED\033[0m" break else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$TASK5_INPUT_ERROR\033[0m" fi done } @@ -81,26 +81,26 @@ task_user_add() { task_user_del() { while true; do if grep -Evq '^#' "$CRASHDIR/task/task.user" 2>/dev/null; then - comp_box "请输入对应ID移除对应自定义任务(不会影响内置任务)" \ - "也可以手动编辑\033[32m${CRASHDIR}/task/task.user\033[0m" + comp_box "$TASK5_USER_DEL_HINT1" \ + "$TASK5_USER_DEL_HINT2\033[32m${CRASHDIR}/task/task.user\033[0m" grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null | awk -F '#' '{print $1") "$3}' | while IFS= read -r line; do content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num if [ "$num" = 0 ]; then break elif [ -n "$num" ]; then sed -i "/^$num#/d" "$CRASHDIR"/task/task.user 2>/dev/null common_success else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$TASK5_INPUT_ERROR\033[0m" fi else - msg_alert "\033[33m你暂未添加任何自定义任务\033[0m" + msg_alert "\033[33m$TASK5_NO_CUSTOM_TASK\033[0m" break fi done @@ -109,13 +109,13 @@ task_user_del() { # 任务添加 task_add() { while true; do - comp_box "\033[36m请选择需要添加的任务:\033[0m" + comp_box "\033[36m$TASK5_SELECT_ADD\033[0m" # 输出任务列表 list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') list_box "$list" btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) break @@ -151,87 +151,87 @@ task_del() { # 任务条件选择菜单 task_type() { - comp_box "请选择任务\033[36m【$task_name】\033[0m执行条件:" - btm_box "1) 定时任务\033[32m每周执行\033[0m" \ - "2) 定时任务\033[32m每日执行\033[0m" \ - "3) 定时任务\033[32m每小时执行\033[0m" \ - "4) 定时任务\033[32m每分钟执行\033[0m" \ - " - - - - - - - - -\033[31m注意\033[0m- - - - - - - - -" \ - " 逻辑水平不及格的请勿使用下方触发条件!" \ - " - - - - - - - - - - - - - - - - - - - -" \ - "5) 服务\033[33m启动前执行\033[0m" \ - "6) 服务\033[33m启动后执行\033[0m" \ - "7) 服务\033[33m运行时每分钟执行\033[0m" \ - "8) 防火墙服务\033[33m重启后执行\033[0m" \ + comp_box "$TASK5_SELECT_COND\033[36m【$task_name】\033[0m$TASK5_SELECT_COND2" + btm_box "1) $TASK5_COND_1" \ + "2) $TASK5_COND_2" \ + "3) $TASK5_COND_3" \ + "4) $TASK5_COND_4" \ + "$TASK5_WARN_LINE1" \ + "$TASK5_WARN_LINE2" \ + "$TASK5_WARN_LINE3" \ + "5) $TASK5_COND_5" \ + "6) $TASK5_COND_6" \ + "7) $TASK5_COND_7" \ + "8) $TASK5_COND_8" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) return 1 ;; 1) - comp_box "输入 1~7 对应\033[33m每周的指定某天\033[0m运行(7=周日)" \ - "输入 1,4,0 代表\033[36m每周一、周四、周日\033[0m运行" \ - "输入 1~5 代表\033[36m周一至周五\033[0m运行" - read -r -p "在每周哪天执行?> " week + comp_box "$TASK5_WEEK_HINT1" \ + "$TASK5_WEEK_HINT2" \ + "$TASK5_WEEK_HINT3" + read -r -p "$TASK5_WEEK_INPUT> " week # week=`echo ${week/7/0}` # 把7换成0 - read -r -p "想在该日的具体哪个小时执行?(0~23)> " hour - cron_time="在每周$week的$hour点整" + read -r -p "$TASK5_HOUR_INPUT1> " hour + cron_time="$TASK5_CRON_WEEK$week$TASK5_CRON_WEEK2$hour$TASK5_OCLOCK" # cron_time=`echo ${cron_time/周0/周日}` # 把0换成日 [ -n "$week" ] && [ -n "$hour" ] && set_cron ;; 2) - comp_box "输入 1,7,15 代表\033[36m每到1,7,15点\033[0m运行" \ - "输入 6~18 代表\033[36m早6点至晚18点间每小时\033[0m运行" - read -r -p "想在每日的具体哪个小时执行?(0~23)> " hour - read -r -p "想在具体哪分钟执行?(0~59的整数)> " min - cron_time="在每日的$hour点$min分" + comp_box "$TASK5_DAY_HINT1" \ + "$TASK5_DAY_HINT2" + read -r -p "$TASK5_HOUR_INPUT2> " hour + read -r -p "$TASK5_MIN_INPUT> " min + cron_time="$TASK5_CRON_DAY$hour$TASK5_POINT$min$TASK5_MINUTE" [ -n "$min" ] && [ -n "$hour" ] && set_cron ;; 3) line_break - read -r -p "想每隔多少小时执行一次?(1~23的整数)> " num + read -r -p "$TASK5_EVERY_HOUR_INPUT> " num hour="*/$num" - cron_time="每隔$num小时" + cron_time="$TASK5_EVERY$num$TASK5_HOUR" [ -n "$hour" ] && set_cron ;; 4) line_break - read -r -p "想每隔多少分钟执行一次?(1~59的整数)> " num + read -r -p "$TASK5_EVERY_MIN_INPUT> " num min="*/$num" - cron_time="每隔$num分钟" + cron_time="$TASK5_EVERY$num$TASK5_MIN" [ -n "$min" ] && set_cron ;; 5) - set_service bfstart "$task_id" "服务启动前$task_name" + set_service bfstart "$task_id" "$TASK5_BFSTART$task_name" ;; 6) - set_service afstart "$task_id" "服务启动后$task_name" + set_service afstart "$task_id" "$TASK5_AFSTART$task_name" ;; 7) - comp_box "输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" \ - "大于60分钟的数值将按小时取整,且按当前时区记时" - read -r -p "想每隔多少分钟执行一次?(1~1440的整数)> " num + comp_box "$TASK5_RUNNING_HINT1" \ + "$TASK5_RUNNING_HINT2" + read -r -p "$TASK5_RUNNING_INPUT> " num if [ "$num" -lt 60 ]; then min="$num" cron_time="*/$min * * * *" - time_des="$min分钟" + time_des="$min$TASK5_MIN" else hour="$((num / 60))" cron_time="0 */$hour * * *" - time_des="$hour小时" + time_des="$hour$TASK5_HOUR" fi - [ -n "$cron_time" ] && set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time" + [ -n "$cron_time" ] && set_service running "$task_id" "$TASK5_RUNNING_PREFIX$time_des$task_name" "$cron_time" ;; 8) - comp_box "该功能会将相关启动代码注入到/etc/init.d/firewall中" - "是否确认继续?" - btm_box "1) 是" \ - "0) 否" - read -r -p "请输入对应标号> " res - [ "$res" = 1 ] && set_service affirewall "$task_id" "防火墙重启后$task_name" + comp_box "$TASK5_AFFW_HINT" + "$TASK5_CONFIRM_CONTINUE" + btm_box "1) $TASK5_YES" \ + "0) $TASK5_NO" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && set_service affirewall "$task_id" "$TASK5_AFFW_PREFIX$task_name" ;; *) errornum @@ -246,43 +246,43 @@ task_manager() { 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 "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | cut -d ' ' -f 2- >>"$TMPDIR"/task_list - cat "$TMPDIR"/task_cronlist 2>/dev/null | sort -u | grep -oE " #.*" | grep -v "守护" | awk -F '#' '{print "0 旧版任务-"$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 rm -rf "$TMPDIR"/task_cronlist # 判断为空则返回 if [ ! -s "$TMPDIR"/task_list ]; then - msg_alert "\033[31m当前没有可供管理的任务!\033[36m" + msg_alert "\033[31m$TASK5_NONE_TO_MANAGE\033[36m" break else - comp_box "\033[33m已添加的任务:\033[0m" + comp_box "\033[33m$TASK5_ADDED_TASKS\033[0m" list_box "$(cat "$TMPDIR"/task_list)" separator_line "-" - btm_box "a) 清空旧版任务" \ - "d) 清空任务列表" \ + btm_box "a) $TASK5_CLEAR_OLD" \ + "d) $TASK5_CLEAR_ALL" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; a) task_del "#" - msg_alert "\033[31m旧版任务已清空!\033[36m" + msg_alert "\033[31m$TASK5_OLD_CLEARED\033[36m" ;; d) task_del "task.sh" - msg_alert "\033[31m全部任务已清空!\033[36m" + msg_alert "\033[31m$TASK5_ALL_CLEARED\033[36m" ;; [1-9] | [1-9][0-9]) task_txt=$(sed -n "$num p" "$TMPDIR"/task_list) task_id=$(echo "$task_txt" | awk '{print $1}') if [ "$task_id" = 0 ]; then - comp_box "旧版任务不支持管理,是否移除?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TASK5_OLD_NOT_SUPPORT" + btm_box "1) $TASK5_YES" \ + "0) $TASK5_NO_BACK" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') cronset "$cronname" @@ -293,14 +293,14 @@ task_manager() { else 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}') - comp_box "当前任务为:\033[36m$task_des\033[0m" - btm_box "1) \033[33m修改\033[0m当前任务" \ - "2) \033[31m删除\033[0m当前任务" \ - "3) \033[32m立即执行\033[0m一次" \ - "4) 查看\033[33m执行记录\033[0m" \ + comp_box "$TASK5_CURRENT_TASK\033[36m$task_des\033[0m" + btm_box "1) $TASK5_EDIT_TASK" \ + "2) $TASK5_DEL_TASK" \ + "3) $TASK5_RUN_ONCE" \ + "4) $TASK5_VIEW_RECORD" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) continue @@ -314,8 +314,8 @@ task_manager() { ;; 3) 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='执行失败!' - msg_alert "\033[33m任务【$task_des】$task_res\033[0m" + 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" ;; 4) if cat "$TMPDIR"/ShellCrash.log | grep -q "$task_name"; then @@ -324,7 +324,7 @@ task_manager() { cat "$TMPDIR"/ShellCrash.log | grep "$task_name" echo "===========================================================" else - msg_alert "\033[31m未找到相关执行记录!\033[0m" + msg_alert "\033[31m$TASK5_RECORD_NOT_FOUND\033[0m" fi ;; *) @@ -348,8 +348,8 @@ task_recom() { "$TASK_RECOM_ITEM_1" \ "$TASK_RECOM_ITEM_2" \ "$TASK_RECOM_ITEM_3" - btm_box "1) 是" \ - "0) 否" + btm_box "1) $TASK5_YES" \ + "0) $TASK5_NO" read -r -p "$COMMON_INPUT>" res [ "$res" = 1 ] && { @@ -367,18 +367,18 @@ task_recom() { task_menu() { while true; do # 检测并创建自定义任务文件 - [ -f "$CRASHDIR"/task/task.user ] || echo '#任务ID(必须>200并顺序排列)#任务命令#任务说明(#号隔开,任务命令和说明中都不允许包含#号)' >"$CRASHDIR"/task/task.user - comp_box "\033[30;47m自动任务菜单\033[0m" - btm_box "1) 添加\033[32m自动任务\033[0m" \ - "2) 管理\033[33m任务列表\033[0m" \ - "3) 查看\033[36m任务日志\033[0m" \ - "4) 配置\033[36m日志推送\033[0m" \ - "5) 添加\033[33m自定义任务\033[0m" \ - "6) 删除\033[33m自定义任务\033[0m" \ - "7) 使用\033[32m推荐设置\033[0m" \ + [ -f "$CRASHDIR"/task/task.user ] || echo "$TASK5_USER_FILE_HEADER" >"$CRASHDIR"/task/task.user + comp_box "\033[30;47m$TASK5_MENU_TITLE\033[0m" + btm_box "1) $TASK5_MENU_1" \ + "2) $TASK5_MENU_2" \ + "3) $TASK5_MENU_3" \ + "4) $TASK5_MENU_4" \ + "5) $TASK5_MENU_5" \ + "6) $TASK5_MENU_6" \ + "7) $TASK5_MENU_7" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -391,17 +391,17 @@ task_menu() { rm -rf "$TMPDIR"/task_list ;; 3) - if cat "$TMPDIR"/ShellCrash.log | grep -q '任务【'; then + if cat "$TMPDIR"/ShellCrash.log | grep -q "$TASK5_TASK_GREP"; then line_break echo "===========================================================" - cat "$TMPDIR"/ShellCrash.log | grep '任务【' + cat "$TMPDIR"/ShellCrash.log | grep "$TASK5_TASK_GREP" echo "===========================================================" else - msg_alert "\033[31m未找到任务相关执行日志!\033[0m" + msg_alert "\033[31m$TASK5_LOG_NOT_FOUND\033[0m" fi ;; 4) - msg_alert "\033[36m请在日志工具中配置相关推送通道及推送开关\033[0m" + msg_alert "\033[36m$TASK5_PUSH_HINT\033[0m" . "$CRASHDIR"/menus/8_tools.sh && log_pusher ;; 5) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index ba45ca85..c084c1cb 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -4,6 +4,8 @@ [ -n "$__IS_MODULE_6_CORECONFIG_LOADED" ] && return __IS_MODULE_6_CORECONFIG_LOADED=1 +load_lang 6_core_config + if echo "$crashcore" | grep -q 'singbox'; then CONFIG_PATH="$CRASHDIR"/jsons/config.json CORE_TYPE=singbox @@ -27,18 +29,18 @@ set_core_config() { f2 = substr(f2, 1, 30) "..." printf "%-7s \t%-28s\n", f1, f2 }') - comp_box "\033[30;47m配置文件管理\033[0m" + comp_box "\033[30;47m$CORECFG_TITLE\033[0m" [ -n "$list" ] && { - content_line "\033[36m输入数字可管理对应提供者\033[0m" + content_line "\033[36m$CORECFG_HINT_SELECT_PROVIDER\033[0m" content_line "" list_box "$list" separator_line "-" } - btm_box "a) \033[32m添加提供者\033[0m(支持订阅/分享链接及本地文件)" \ - "b) \033[36m本地生成配置文件\033[0m" \ - "c) \033[33m在线生成配置文件\033[0m" \ - "d) \033[31m清空提供者列表\033[0m" \ - "e) \033[36m自定义配置文件\033[0m" \ + btm_box "a) $CORECFG_MENU_A" \ + "b) $CORECFG_MENU_B" \ + "c) $CORECFG_MENU_C" \ + "d) $CORECFG_MENU_D" \ + "e) $CORECFG_MENU_E" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT_L> " num @@ -59,10 +61,10 @@ set_core_config() { . "$CRASHDIR"/menus/providers.sh providers else - msg_alert "\033[33m仅限Mihomo/singboxr内核使用,请更换内核!\033[0m" + msg_alert "\033[33m$CORECFG_CORE_ONLY\033[0m" fi else - msg_alert "请先添加提供者!" + msg_alert "$CORECFG_ADD_PROVIDER_FIRST" fi ;; c) @@ -70,15 +72,15 @@ set_core_config() { . "$CRASHDIR"/menus/subconverter.sh subconverter else - msg_alert "请先添加提供者!" + msg_alert "$CORECFG_ADD_PROVIDER_FIRST" fi ;; d) - comp_box "\033[33m警告:这将删除所有提供者且无法还原!\033[0m" \ + comp_box "\033[33m$CORECFG_CLEAR_WARN\033[0m" \ "" \ - "是否确认清空提供者列表:" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + "$CORECFG_CLEAR_CONFIRM" + btm_box "1) $CORECFG_YES" \ + "0) $CORECFG_NO_BACK" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { rm -f "$CRASHDIR"/configs/providers.cfg @@ -130,38 +132,38 @@ setproviders() { while true; do link_info=$(echo "$link$link_uri" | cut -c 1-30) - comp_box "\033[36m支持添加订阅链接/分享链接/本地文件作为提供者\033[0m" + comp_box "\033[36m$CORECFG_PROVIDER_SUPPORT\033[0m" - content_line "1) 设置\033[36m名称或代号\033[0m \033[32m$name\033[0m" - content_line "2) 设置\033[32m链接或路径\033[0m: \033[36m$link_info\033[0m" + content_line "1) $CORECFG_SET_NAME \033[32m$name\033[0m" + content_line "2) $CORECFG_SET_LINK \033[36m$link_info\033[0m" [ -n "$link" ] && - content_line "3) 设置\033[33m本地生成覆写\033[0m" + content_line "3) $CORECFG_SET_OVERRIDE" content_line "" - content_line "a) \033[36m保存此提供者\033[0m" - content_line "d) \033[31m删除此提供者\033[0m" + content_line "a) $CORECFG_SAVE_PROVIDER" + content_line "d) $CORECFG_DEL_PROVIDER" content_line "" - content_line "\033[36m以下方式的详细配置请前往对应功能页面进行设置!\033[0m" + content_line "\033[36m$CORECFG_MORE_CONFIG_HINT\033[0m" [ -n "$link" ] && - content_line "b) \033[32m本地生成\033[0m仅包含此提供者的配置文件" + content_line "b) $CORECFG_GEN_LOCAL_ONE" echo "$link$link_uri" | grep -q '://' && - content_line "c) \033[33m在线生成\033[0m仅包含此提供者的配置文件" + content_line "c) $CORECFG_GEN_ONLINE_ONE" echo "$link" | grep -q '^http' && - content_line "e) 在线获取此配置文件(不使用订阅转换)" + content_line "e) $CORECFG_GET_ONLINE_DIRECT" echo "$link" | grep -q '^./providers' && - content_line "e) 直接使用此文件作为配置文件(不使用本地生成)" + content_line "e) $CORECFG_USE_DIRECT" btm_box "" \ "0) $COMMON_BACK" - read -r -p "请输入对应字母或数字> " input + read -r -p "$CORECFG_INPUT_ALNUM> " input case "$input" in "" | 0) break ;; 1) while true; do - comp_box "\033[33m注意:\n名称或代号不可重复,不支持纯数字,且不要超过4个汉字!\033[0m" - btm_box "\033[36m请直接输入具体名称或代号\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + comp_box "\033[33m$CORECFG_NAME_HINT\033[0m" + btm_box "\033[36m$CORECFG_INPUT_NAME\033[0m" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " text text=$(printf "%.12s" "$text" | sed 's/ //g') # 截断12字符+去空格 if [ "$text" = 0 ]; then break @@ -176,13 +178,13 @@ setproviders() { ;; 2) while true; do - comp_box "\033[33m订阅链接\033[0m:\nhttps/http开头的clash配置文件订阅链接" \ + comp_box "$CORECFG_LINK_HINT1" \ "" \ - "\033[36m分享链接\033[0m:\n$URI_EXP" \ + "$CORECFG_LINK_HINT2\n$URI_EXP" \ "" \ - "\033[33m本地文件\033[0m:\n必须放在\033[32m$CRASHDIR/providers\033[0m目录下" \ + "$CORECFG_LINK_HINT3\033[32m$CRASHDIR/providers\033[0m$CORECFG_LINK_HINT4" \ "" \ - "\033[36mBase64 \033[0m:\n请直接写入本地文件" + "$CORECFG_LINK_HINT5" list=$( for f in "$CRASHDIR"/providers/*; do [ "$f" = "$CRASHDIR"/providers/uri_group ] && continue @@ -193,12 +195,12 @@ setproviders() { if [ -n "$list" ]; then list_box "$list" btm_box "" \ - "输入 0 返回上级菜单" - read -r -p "请选择对应文件或输入具体链接> " text + "$CORECFG_INPUT0_BACK" + read -r -p "$CORECFG_SELECT_FILE_OR_LINK> " text else - btm_box "\033[36m请直接输入具体链接\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + btm_box "\033[36m$CORECFG_INPUT_LINK\033[0m" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " text fi text=$(echo "$text" | sed 's/ //g') # 去空格 case "$text" in @@ -254,7 +256,7 @@ setproviders() { . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" gen_providers "$name" "$link" "$interval" "$interval2" "$ua" "#$exclude_w" "#$include_w" else - msg_alert "\033[31m$请先完成必填选项!\033[0m" + msg_alert "\033[31m$CORECFG_FILL_REQUIRED\033[0m" fi ;; c) @@ -268,7 +270,7 @@ setproviders() { # 获取在线文件 jump_core_config else - msg_alert "\033[31m请先完成必填选项!\033[0m" + msg_alert "\033[31m$CORECFG_FILL_REQUIRED\033[0m" fi ;; d) @@ -283,10 +285,10 @@ setproviders() { ;; e) if [ -n "$link" ]; then - comp_box "\033[31m注意:\n此功能不兼容“跳过证书验证”功能\033[0m" \ - "\033[31m请确认你完全理解自己在做什么\033[0m" - btm_box "1) 我确认遇到问题可以自行解决" \ - "0) 返回上级菜单" + comp_box "\033[31m$CORECFG_DANGER1\033[0m" \ + "\033[31m$CORECFG_DANGER2\033[0m" + btm_box "1) $CORECFG_DANGER_CONFIRM" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " res [ "$res" = "1" ] && { file=$(echo "$CRASHDIR/$link" | sed 's|\./||') @@ -305,11 +307,11 @@ setproviders() { jump_core_config break else - msg_alert "\033[31m请先完成必填选项!\033[0m" + msg_alert "\033[31m$CORECFG_FILL_REQUIRED\033[0m" fi } else - msg_alert "\033[31m请先完成必填选项!\033[0m" + msg_alert "\033[31m$CORECFG_FILL_REQUIRED\033[0m" fi ;; *) @@ -332,7 +334,7 @@ saveproviders() { echo "$name $link_uri" >>"$CRASHDIR"/configs/providers_uri.cfg return 0 else - msg_alert "\033[31m请先完成必填选项!\033[0m" + msg_alert "\033[31m$CORECFG_FILL_REQUIRED\033[0m" return 1 fi } @@ -340,26 +342,26 @@ saveproviders() { # 本地生成覆写 custproviders() { while true; do - top_box "1) 设置\033[33m健康检查间隔\033[0m:\t\033[47;30m$interval\033[0m 分钟" \ - "2) 设置\033[36m自动更新间隔\033[0m:\t\033[47;30m$interval2\033[0m 小时" + top_box "1) $CORECFG_INTERVAL1\033[47;30m$interval\033[0m $CORECFG_MIN" \ + "2) $CORECFG_INTERVAL2\033[47;30m$interval2\033[0m $CORECFG_HOUR" echo "$link" | grep -q '^http' && - content_line "3) 设置\033[33m虚拟浏览器UA\033[0m:\t\033[47;30m$ua\033[0m" - btm_box "4) 设置\033[31m排除节点正则\033[0m:\t\033[47;30m$exclude_w\033[0m" \ - "5) 设置\033[32m包含节点正则\033[0m:\t\033[47;30m$include_w\033[0m" \ + content_line "3) $CORECFG_SET_UA\033[47;30m$ua\033[0m" + btm_box "4) $CORECFG_SET_EXCLUDE\033[47;30m$exclude_w\033[0m" \ + "5) $CORECFG_SET_INCLUDE\033[47;30m$include_w\033[0m" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1) while true; do - comp_box "当前健康检查间隔:$interval 分钟" - btm_box "\033[36m请直接健康检查间隔(单位:分钟)\033[0m" \ - "或输入 r 重置健康检查间隔为默认值(3 分钟)" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " num + comp_box "$CORECFG_CUR_INTERVAL$interval $CORECFG_MIN" + btm_box "\033[36m$CORECFG_INPUT_INTERVAL1\033[0m" \ + "$CORECFG_RESET_INTERVAL1" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " num if [ "$num" = "r" ]; then interval=3 elif [ -n "$num" ] && [ "$num" -eq "$num" ] 2>/dev/null; then @@ -374,11 +376,11 @@ custproviders() { ;; 2) while true; do - comp_box "当前健康检查间隔:$interval 分钟" - btm_box "\033[36m请直接输入自动更新间隔(单位:小时)\033[0m" \ - "或输入 r 重置自动更新间隔为默认值(12 小时)" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " num + comp_box "$CORECFG_CUR_INTERVAL$interval $CORECFG_MIN" + btm_box "\033[36m$CORECFG_INPUT_INTERVAL2\033[0m" \ + "$CORECFG_RESET_INTERVAL2" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " num if [ "$num" = "r" ]; then interval2=12 elif [ -n "$num" ] && [ "$num" -eq "$num" ] 2>/dev/null; then @@ -393,14 +395,14 @@ custproviders() { ;; 3) if [ -z "$ua" ]; then - comp_box "当前浏览器UA:无" + comp_box "$CORECFG_CUR_UA_NONE" else - comp_box "当前浏览器UA:$ua" + comp_box "$CORECFG_CUR_UA$ua" fi - btm_box "\033[36m请直接输入浏览器UA\033[0m" \ - "或输入 r 重置浏览器UA为默认值(clash.meta)" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + btm_box "\033[36m$CORECFG_INPUT_UA\033[0m" \ + "$CORECFG_RESET_UA" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " text case "$text" in 0) continue @@ -416,15 +418,15 @@ custproviders() { ;; 4) if [ -z "$exclude_w" ]; then - comp_box "当前排除规则:无" + comp_box "$CORECFG_CUR_EXCLUDE_NONE" else - comp_box "当前排除规则:$exclude_w" + comp_box "$CORECFG_CUR_EXCLUDE$exclude_w" fi - btm_box "\033[36m请直接输入需要排除的节点关键字(支持正则,不支持空格)\033[0m" \ - "或输入 c 清空排除规则" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + btm_box "\033[36m$CORECFG_INPUT_EXCLUDE\033[0m" \ + "$CORECFG_CLEAR_EXCLUDE" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " text text=$(echo "$text" | sed 's/ //g') # 去空格 case "$text" in 0) @@ -441,14 +443,14 @@ custproviders() { ;; 5) if [ -z "$include_w" ]; then - comp_box "当前包含规则:无" + comp_box "$CORECFG_CUR_INCLUDE_NONE" else - comp_box "当前包含规则:$include_w" + comp_box "$CORECFG_CUR_INCLUDE$include_w" fi - btm_box "\033[36m请直接输入需要包含的节点关键字(支持正则,不支持空格)\033[0m" \ - "或输入 c 清空包含规则" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + btm_box "\033[36m$CORECFG_INPUT_INCLUDE\033[0m" \ + "$CORECFG_CLEAR_INCLUDE" \ + "$CORECFG_OR_BACK" + read -r -p "$CORECFG_INPUT> " text text=$(echo "$text" | sed 's/ //g') # 去空格 case "$text" in 0) @@ -475,9 +477,9 @@ jump_core_config() { . "$CRASHDIR"/starts/core_config.sh && get_core_config if [ "$?" = 0 ]; then if [ "$inuserguide" != 1 ]; then - comp_box "是否启动服务以使配置文件生效:" - btm_box "1) 是" \ - "0) 否" + comp_box "$CORECFG_START_APPLY" + btm_box "1) $CORECFG_YES" \ + "0) $CORECFG_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then start_core diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index b1653dd5..ab127aa9 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -7,6 +7,7 @@ __IS_MODULE_7_GATEWAY_LOADED=1 . "$GT_CFG_PATH" . "$CRASHDIR"/menus/check_port.sh . "$CRASHDIR"/libs/gen_base64.sh +load_lang 7_gateway # 访问与控制主菜单 gateway() { @@ -22,8 +23,8 @@ gateway() { content_line "7) 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" } btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -95,8 +96,8 @@ set_fw_wan() { "3) 移除指定手动放行端口" \ "4) 清空全部手动放行端口" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case $num in "" | 0) break @@ -124,7 +125,7 @@ set_fw_wan() { msg_alert "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" else line_break - read -r -p "请输入要放行的端口号> " port + read -r -p "$GW_INPUT_ALLOW_PORT> " port if echo ",$fw_wan_ports," | grep -q ",$port,"; then msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then @@ -188,7 +189,7 @@ set_bot_tg_config() { } EOF ) - TEXT="已完成Telegram机器人设置!请使用 /$my_alias 呼出功能菜单!" + TEXT="$GW_TG_DONE_PREFIX /$my_alias $GW_TG_DONE_SUFFIX" . "$CRASHDIR"/libs/web_json.sh bot_api="https://api.telegram.org/bot$TOKEN" web_json_post "$bot_api/setMyCommands" "$JSON" @@ -221,15 +222,15 @@ set_bot_tg_service() { set_bot_tg() { while true; do - [ -n "$ts_auth_key" ] && ts_auth_key_info='已设置' - [ -n "$TG_CHATID" ] && TG_CHATID_info='已绑定' + [ -n "$ts_auth_key" ] && ts_auth_key_info="$GW_SET" + [ -n "$TG_CHATID" ] && TG_CHATID_info="$GW_BOUND" comp_box "\033[31m注意:\033[0m由于网络环境原因,此机器人仅限服务启动时运行!" btm_box "1) 启用/关闭TG-BOT服务 \033[32m$bot_tg_service\033[0m" \ "2) TG-BOT绑定设置 \033[32m$TG_CHATID_info\033[0m" \ "3) 启动时推送菜单 \033[32m$TG_menupush\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -289,8 +290,8 @@ set_vmess() { content_line "6) 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" btm_box "7) 一键生成\033[32m分享链接\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -310,7 +311,7 @@ set_vmess() { ;; 2) line_break - read -r -p "请输入端口号(输入0删除)> " text + read -r -p "$GW_INPUT_PORT_DEL0> " text if [ "$text" = 0 ]; then vms_port='' setconfig vms_port "" "$GT_CFG_PATH" @@ -323,7 +324,7 @@ set_vmess() { ;; 3) line_break - read -r -p "请输入ws-path路径(输入0删除)> " text + read -r -p "$GW_INPUT_WSPATH> " text if [ "$text" = 0 ]; then vms_ws_path='' setconfig vms_ws_path "" "$GT_CFG_PATH" @@ -336,7 +337,7 @@ set_vmess() { ;; 4) line_break - read -r -p "请输入UUID(输入0删除)> " text + read -r -p "$GW_INPUT_UUID> " text if [ "$text" = 0 ]; then vms_uuid='' setconfig vms_uuid "" "$GT_CFG_PATH" @@ -412,8 +413,8 @@ set_shadowsocks() { gen_base64 1 >/dev/null 2>&1 && content_line "5) 一键生成分享链接" btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -433,7 +434,7 @@ set_shadowsocks() { ;; 2) line_break - read -r -p "请输入端口号(输入0删除)> " text + read -r -p "$GW_INPUT_PORT_DEL0> " text if [ "$text" = 0 ]; then sss_port='' setconfig sss_port "" "$GT_CFG_PATH" @@ -459,8 +460,8 @@ set_shadowsocks() { content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" } btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) ;; 1) @@ -510,7 +511,7 @@ set_shadowsocks() { ;; 5) line_break - read -r -p "请输入本机公网IP(4/6)或域名> " text + read -r -p "$GW_INPUT_HOST> " text if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" line_break @@ -541,8 +542,8 @@ set_tailscale() { "4) 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" \ "5) 设置\033[36m设备名称\033[0m(可选) $ts_hostname" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -621,8 +622,8 @@ set_wireguard() { "7) 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" \ "8) 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 7174d951..d98f029c 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -6,6 +6,7 @@ __IS_MODULE_8_TOOLS_LOADED=1 . "$CRASHDIR"/libs/logger.sh . "$CRASHDIR"/libs/web_get_bin.sh +load_lang 8_tools stop_iptables() { iptables -w -t nat -D PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 >/dev/null 2>&1 @@ -14,7 +15,7 @@ stop_iptables() { ssh_tools() { while true; do - [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=禁止 || ssh_ol=开启 + [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=$TOOLS_SSH_DISABLE || ssh_ol=$TOOLS_SSH_ENABLE [ -z "$ssh_port" ] && ssh_port=10022 comp_box "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" \ "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" @@ -23,7 +24,7 @@ ssh_tools() { "3) \033[33m$ssh_ol\033[0m外网访问SSH" \ "" \ "0) 返回上级菜单 \033[0m" - read -r -p "请输入对应标号> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -34,16 +35,16 @@ ssh_tools() { if [ -z "$num" ]; then errornum elif [ "$num" -gt 65535 ] || [ "$num" -le 999 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1000-65535)!\033[0m" + msg_alert "\033[31m$TOOLS_ERR_PORT\033[0m" elif [ -n "$(netstat -ntul | grep :$num)" ]; then - msg_alert "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + msg_alert "\033[31m$TOOLS_ERR_PORT_OCCUPIED\033[0m" else ssh_port=$num setconfig ssh_port "$ssh_port" sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - msg_alert "\033[32m设置成功,请重新开启外网访问SSH功能!" + msg_alert "\033[32m$TOOLS_SSH_SET_OK" fi ;; 2) @@ -56,11 +57,11 @@ ssh_tools() { [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 echo "iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user [ -n "$(ckcmd ip6tables)" ] && echo "ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user - comp_box "已开启外网访问SSH功能!" + comp_box "$TOOLS_SSH_ENABLED" else sed -i "/启用外网访问SSH服务/d" /etc/firewall.user stop_iptables - comp_box "已禁止外网访问SSH!" + comp_box "$TOOLS_SSH_DISABLED" fi break ;; @@ -75,10 +76,10 @@ ssh_tools() { tools() { while true; do # 获取设置默认显示 - grep -qE "^\s*[^#].*otapredownload" /etc/crontabs/root >/dev/null 2>&1 && mi_update=禁用 || mi_update=启用 - [ "$mi_mi_autoSSH" = "已配置" ] && mi_mi_autoSSH_type=32m已配置 || mi_mi_autoSSH_type=31m未配置 + grep -qE "^\s*[^#].*otapredownload" /etc/crontabs/root >/dev/null 2>&1 && mi_update=$TOOLS_DISABLE || mi_update=$TOOLS_ENABLE + [ "$mi_mi_autoSSH" = "$TOOLS_CONFIGURED" ] && mi_mi_autoSSH_type=32m$TOOLS_CONFIGURED || mi_mi_autoSSH_type=31m$COMMON_UNSET [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF - comp_box "\033[30;47m工具与优化\033[0m" \ + comp_box "\033[30;47m$TOOLS_TITLE\033[0m" \ "" \ "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" \ "磁盘占用/所在目录:" \ @@ -91,8 +92,8 @@ tools() { [ "$systype" = "mi_snapshot" ] && content_line "6) 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" [ "$systype" = "mi_snapshot" ] && content_line "8) 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -164,7 +165,7 @@ tools() { comp_box "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" \ "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" btm_box "1) 我已知晓,出现问题会自行承担!" \ - "0) 返回上级菜单" + "0) $COMMON_BACK" read -r -p "请输入对应标号> " res if [ "$res" = 1 ]; then line_break @@ -199,7 +200,7 @@ mi_autoSSH() { btm_box "请输入需要还原的SSH密码(不影响当前密码)" \ "(回车可跳过)" read -r -p "请输入> " mi_mi_autoSSH_pwd - mi_mi_autoSSH=已配置 + mi_mi_autoSSH=$TOOLS_CONFIGURED cp -f /etc/dropbear/dropbear_rsa_host_key "$CRASHDIR"/configs/dropbear_rsa_host_key 2>/dev/null cp -f /etc/dropbear/authorized_keys "$CRASHDIR"/configs/authorized_keys 2>/dev/null ckcmd nvram && { @@ -211,7 +212,7 @@ mi_autoSSH() { } setconfig mi_mi_autoSSH $mi_mi_autoSSH setconfig mi_mi_autoSSH_pwd "$mi_mi_autoSSH_pwd" - msg_alert "\033[32m设置成功!\033[0m" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" } # 日志菜单 @@ -239,8 +240,8 @@ log_pusher() { "c) 设置设备名称 ——\033[$device_s\033[0m" \ "d) 清空日志文件" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -266,8 +267,8 @@ log_pusher() { comp_box "1) 使用公共机器人 ——不依赖内核服务" \ "2) 使用私人机器人 ——需要额外申请" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) return 0 @@ -378,7 +379,7 @@ log_pusher() { elif [ -n "$key" ]; then comp_box "\033[33m请检查注册邮箱,完成账户验证\033[0m" btm_box "1) 我已经验证完成" \ - "0) 返回上级菜单" + "0) $COMMON_BACK" read -r -p "我已经验证完成(1/0)> " res if [ "$res" = 1 ]; then comp_box "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" @@ -542,8 +543,8 @@ testcommand() { "5) 查看内核配置文件前40行" \ "6) 测试代理服务器连通性(google.tw)" \ "" \ - "0) 返回上级目录" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) break @@ -661,8 +662,8 @@ debug() { content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" btm_box "" \ - "0) 返回上级目录" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) ;; 1) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 90761210..96a4db88 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -7,10 +7,11 @@ __IS_MODULE_9_UPGRADE_LOADED=1 . "$CRASHDIR"/libs/check_dir_avail.sh . "$CRASHDIR"/libs/check_cpucore.sh . "$CRASHDIR"/libs/web_get_bin.sh +load_lang 9_upgrade error_down() { - btm_box "\033[33m请尝试切换至其他安装源后重新下载!\033[0m" \ - "或者参考 \033[32;4mhttps://juewuy.github.io/bdaz\033[0m 进行本地安装!" + btm_box "\033[33m$UPG_ERR_TRY_OTHER_SOURCE\033[0m" \ + "$UPG_ERR_LOCAL_INSTALL" sleep 1 } @@ -22,25 +23,25 @@ upgrade() { fi [ -z "$core_v" ] && core_v=$crashcore core_v_new=$(eval echo \$"$crashcore"_v) - top_box "\033[30;47m更新与支持\033[0m" \ + top_box "\033[30;47m$UPG_TITLE\033[0m" \ "" \ - "当前目录(\033[32m$CRASHDIR\033[0m)剩余空间:\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" + "$UPG_CUR_DIR_SPACE(\033[32m$CRASHDIR\033[0m):\033[36m$(dir_avail "$CRASHDIR" -h)\033[0m" [ "$(dir_avail "$CRASHDIR")" -le 5120 ] && [ "$CRASHDIR" = "$BINDIR" ] && { - content_line "\033[33m当前目录剩余空间较低,建议开启小闪存模式!\033[0m" + content_line "\033[33m$UPG_LOW_SPACE_HINT\033[0m" } separator_line "=" - btm_box "1) 更新\033[36m管理脚本\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" \ - "2) 切换/更新\033[33m内核文件\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" \ - "3) 安装/更新本地\033[32m数据库文件\033[0m" \ - "4) 安装/更新本地\033[35mDashboard面板\033[0m" \ - "5) 安装/更新本地\033[33m根证书文件\033[0m" \ - "6) \033[32mPAC\033[0m自动代理查看" \ - "7) 切换\033[36m安装源及版本分支\033[0m" \ - "8) \033[31m卸载ShellCrash\033[0m" \ - "9) \033[36m感谢列表!\033[0m" \ + btm_box "1) $UPG_MENU_SCRIPT\033[36m$UPG_MENU_SCRIPT_NAME\t\033[33m$versionsh_l\033[0m > \033[32m$version_new \033[36m$release_type\033[0m" \ + "2) $UPG_MENU_CORE\033[33m$UPG_MENU_CORE_NAME\t\033[33m$core_v\033[0m > \033[32m$core_v_new\033[0m" \ + "3) $UPG_MENU_GEO\033[32m$UPG_MENU_GEO_NAME\033[0m" \ + "4) $UPG_MENU_DB\033[35m$UPG_MENU_DB_NAME\033[0m" \ + "5) $UPG_MENU_CRT\033[33m$UPG_MENU_CRT_NAME\033[0m" \ + "6) \033[32mPAC\033[0m$UPG_MENU_PAC" \ + "7) $UPG_MENU_SOURCE\033[36m$UPG_MENU_SOURCE_NAME\033[0m" \ + "8) \033[31m$UPG_MENU_UNINSTALL\033[0m" \ + "9) \033[36m$UPG_MENU_THANKS\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -61,8 +62,8 @@ upgrade() { setcrt ;; 6) - msg_alert -t 2 "PAC配置链接为:\033[30;47m http://$host:$db_port/ui/pac \033[0m" \ - "PAC的使用教程请参考:\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" + msg_alert -t 2 "$UPG_PAC_LINK\033[30;47m http://$host:$db_port/ui/pac \033[0m" \ + "$UPG_PAC_GUIDE\033[4;32mhttps://juewuy.github.io/ehRUeewcv\033[0m" ;; 7) setserver @@ -71,7 +72,7 @@ upgrade() { . "$CRASHDIR"/menus/uninstall.sh && uninstall ;; 9) - comp_box "感谢以下项目及其开发者们的无私奉献!" + comp_box "$UPG_THANKS_TITLE" btm_box "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" \ "" \ "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" \ @@ -95,7 +96,7 @@ upgrade() { "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" \ "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" \ "" - btm_box "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" + btm_box "$UPG_THANKS_SPECIAL" sleep 2 ;; *) @@ -109,18 +110,18 @@ upgrade() { checkupdate() { line_break separator_line "=" - content_line "\033[32m正在检查更新......\033[0m" + content_line "\033[32m$UPG_CHECKING\033[0m" get_bin "$TMPDIR"/version_new version echooff [ "$?" = "0" ] && { version_new=$(cat "$TMPDIR"/version_new) get_bin "$TMPDIR"/version_new bin/version echooff - content_line "\033[32m检查更新成功\033[0m" + content_line "\033[32m$UPG_CHECK_OK\033[0m" separator_line "=" } if [ "$?" = "0" ]; then . "$TMPDIR"/version_new 2>/dev/null else - content_line "\033[31m检查更新失败!请尝试切换其他安装源!\033[0m" + content_line "\033[31m$UPG_CHECK_FAIL\033[0m" separator_line "=" setserver if [ "$checkupdate" != false ]; then @@ -137,21 +138,21 @@ getscripts() { get_bin "$TMPDIR"/ShellCrash.tar.gz ShellCrash.tar.gz if [ "$?" != "0" ]; then - content_line "\033[33m文件下载失败!\033[0m" + content_line "\033[33m$UPG_DOWNLOAD_FAIL\033[0m" error_down else "$CRASHDIR"/start.sh stop 2>/dev/null # 解压 - content_line "开始解压文件......" + content_line "$UPG_EXTRACTING" mkdir -p "$CRASHDIR" >/dev/null tar -zxf "$TMPDIR/ShellCrash.tar.gz" ${tar_para} -C "$CRASHDIR"/ if [ $? -ne 0 ]; then - content_line "\033[33m文件解压失败!\033[0m" + content_line "\033[33m$UPG_EXTRACT_FAIL\033[0m" error_down else . "$CRASHDIR"/init.sh >/dev/null echo "$release_type" | grep -qE '^[0-9]' && setconfig userguide #回退时重新新手引导 - content_line "\033[32m脚本更新成功!\033[0m" + content_line "\033[32m$UPG_SCRIPT_OK\033[0m" separator_line "=" fi fi @@ -161,13 +162,13 @@ getscripts() { setscripts() { while true; do - comp_box "\033[33m注意:更新时会停止服务!\033[0m" \ + comp_box "\033[33m$UPG_SCRIPT_WARN\033[0m" \ "" \ - "当前脚本版本为:\033[36m$versionsh_l\033[0m" \ - "最新脚本版本为:\033[32m$version_new\033[0m" - btm_box "1) 立即更新" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " res + "$UPG_SCRIPT_CUR_VER\033[36m$versionsh_l\033[0m" \ + "$UPG_SCRIPT_NEW_VER\033[32m$version_new\033[0m" + btm_box "1) $UPG_UPDATE_NOW" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " res case "$res" in "" | 0) break @@ -176,7 +177,7 @@ setscripts() { # 下载更新 getscripts # 提示 - msg_alert "\033[32m管理脚本更新成功!\033[0m" + msg_alert "\033[32m$UPG_SCRIPT_MGR_OK\033[0m" line_break exit 0 ;; @@ -192,10 +193,10 @@ setscripts() { setcpucore() { cpucore_list="armv5 armv7 arm64 386 amd64 mipsle-softfloat mipsle-hardfloat mips-softfloat" - comp_box "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m" \ - "不知道如何获取核心版本?\033[0m" \ - "请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" - content_line "当前可供在线下载的处理器架构为:" + comp_box "\033[31m$UPG_CPUCORE_HINT1\033[0m" \ + "$UPG_CPUCORE_HINT2" \ + "$UPG_CPUCORE_HINT3\033[36;4mhttps://juewuy.github.io/bdaz\033[0m" + content_line "$UPG_CPUCORE_LIST" separator_line "-" echo "$cpucore_list" | @@ -205,11 +206,11 @@ setcpucore() { done separator_line "=" - read -r -p "请输入对应标号> " num + read -r -p "$COMMON_INPUT> " num [ -n "$num" ] && setcpucore=$(echo "$cpucore_list" | awk '{print $"'"$num"'"}') if [ -z "$setcpucore" ]; then cpucore="" - msg_alert "\033[31m请输入正确的处理器架构!\033[0m" + msg_alert "\033[31m$UPG_CPUCORE_ERR\033[0m" else cpucore=$setcpucore setconfig cpucore "$cpucore" @@ -220,14 +221,14 @@ setcpucore() { setcoretype() { while true; do echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash - comp_box "\033[33m请确认该自定义内核的类型:\033[0m" + comp_box "\033[33m$UPG_CORETYPE_CONFIRM\033[0m" btm_box "1) Mihomo(Meta)" \ "2) Singbox-reF1nd" \ "3) Singbox" \ "4) Clash" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) ;; 1) @@ -258,12 +259,12 @@ switch_core() { [ "$core_new" != "$core_old" ] && { [ "$dns_mod" = "redir_host" ] && [ "$core_old" = "clash" ] && setconfig dns_mod mix #singbox自动切换dns [ "$dns_mod" = "mix" ] && [ "$crashcore" = 'clash' -o "$crashcore" = 'clashpre' ] && setconfig dns_mod redir_host #singbox自动切换dns - comp_box "\033[33m已从$core_old内核切换至$core_new内核\033[0m" \ - "\033[33m二者Geo数据库及yaml/json配置文件不通用\033[0m" \ - "是否保留相关数据库文件?" - btm_box "1) 保留" \ - "0) 不保留" - read -r -p "请输入对应标号> " res + comp_box "\033[33m$UPG_CORE_SWITCH_PREFIX$core_old$UPG_CORE_SWITCH_MID$core_new$UPG_CORE_SWITCH_SUFFIX\033[0m" \ + "\033[33m$UPG_CORE_SWITCH_WARN\033[0m" \ + "$UPG_CORE_SWITCH_KEEP" + btm_box "1) $UPG_KEEP" \ + "0) $UPG_NOT_KEEP" + read -r -p "$COMMON_INPUT> " res [ "$res" = '0' ] && { [ "$core_old" = "clash" ] && { geodate='Country.mmdb GeoSite.dat ruleset/*.mrs ruleset/*.yaml ruleset/*.yml' @@ -355,8 +356,8 @@ checkcustcore() { content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) return 0 @@ -408,8 +409,8 @@ setcustcore() { "4) Premium-2023.08.17内核(已停止维护)" \ "9) \033[33m自定义内核链接 \033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -469,7 +470,7 @@ setziptype() { sub_content_line "占用可能略高,稳定性自测" content_line "0) 返回上级菜单" separator_line "=" - read -r -p "请输入对应标号> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) ;; 1) @@ -524,8 +525,8 @@ setcore() { "7) \033[32m更新当前内核\033[0m" \ "9) 手动指定处理器架构" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -654,7 +655,7 @@ checkcustgeo() { content_line "" content_line "0) 返回上级菜单" separator_line "=" - read -r -p "请输入对应标号> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -712,7 +713,7 @@ setcustgeo() { content_line "" content_line "0) 返回上级菜单" separator_line "=" - read -r -p "请输入对应标号> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -776,8 +777,8 @@ setgeo() { "8) \033[36m自定义数据库文件\033[0m" \ "9) \033[31m清理数据库文件\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -820,8 +821,8 @@ setgeo() { comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" \ "清理后启动服务即可自动下载所需文件" btm_box "1) 确认清理" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " res + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " res case "$res" in "" | 0) break @@ -898,8 +899,8 @@ dbdir() { if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then comp_box "\033[33m检测到已经安装过本地面板\033[0m" btm_box "1) 升级/覆盖安装" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " res + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then rm -rf "$BINDIR"/ui [ -f /www/clash/CNAME ] && rm -rf /www/clash && dbdir=/www/clash @@ -914,8 +915,8 @@ dbdir() { btm_box "1) 在${CRASHDIR}/ui目录安装" \ "2) 在/www/clash目录安装" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) return 0 @@ -958,8 +959,8 @@ setdb() { "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" \ "9) \033[31m卸载本地面板\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -994,8 +995,8 @@ setdb() { while true; do comp_box "是否卸载本地面板?" btm_box "1) 确认卸载" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " res + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " res case "$res" in "" | 0) break @@ -1074,7 +1075,7 @@ setcrt() { fi content_line "0) 返回上级菜单" separator_line "=" - read -r -p "请输入对应标号> " res + read -r -p "$COMMON_INPUT> " res case "$res" in "" | 0) break @@ -1136,8 +1137,8 @@ setserver() { "d) 自定义源地址(用于本地源或自建源)" \ "e) \033[31m版本回退\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) checkupdate=false @@ -1179,8 +1180,8 @@ setserver() { content_line "是否依然切换到开发版?" separator_line "-" btm_box "1) 确认切换" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " res + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " res case "$res" in "" | 0) break @@ -1225,8 +1226,8 @@ setserver() { content_line "\033[31m请选择想要回退至的具体版本:\033[0m" list_box "$list" btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num if [ -z "$num" ] || [ "$num" = 0 ]; then continue elif [ "$num" -le $(echo "$list" | awk 'END{print NR}') ]; then diff --git a/scripts/menus/bot_tg.sh b/scripts/menus/bot_tg.sh index c3ac471f..09052d7b 100644 --- a/scripts/menus/bot_tg.sh +++ b/scripts/menus/bot_tg.sh @@ -4,10 +4,13 @@ . "$CRASHDIR"/libs/web_json.sh . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/web_get_lite.sh +. "$CRASHDIR"/libs/i18n.sh . "$CRASHDIR"/menus/running_status.sh . "$CRASHDIR"/configs/gateway.cfg . "$CRASHDIR"/configs/ShellCrash.cfg +load_lang bot_tg + TMPDIR='/tmp/ShellCrash' API="https://api.telegram.org/bot$TG_TOKEN" STATE_FILE="$TMPDIR/tgbot_state" @@ -32,15 +35,15 @@ send_msg(){ } send_help(){ TEXT=$(cat </dev/null 2>&1;then CURL_KB=$(cat < "$LOGFILE" + echo "$BOT_TG_FW_ENABLED*$redir_mod_bf*$BOT_TG_FW_ENABLED_SUFFIX" > "$LOGFILE" } do_stop_fw(){ redir_mod_bf=$redir_mod firewall_area=4 setconfig firewall_area 4 "$CRASHDIR"/start.sh stop_firewall - echo "ShellCrash 已切换到纯净模式!" > "$LOGFILE" + echo "$BOT_TG_SWITCH_PURE" > "$LOGFILE" } do_restart(){ "$CRASHDIR"/start.sh restart - echo "ShellCrash 服务已重启!" > "$LOGFILE" + echo "$BOT_TG_SERVICE_RESTARTED" > "$LOGFILE" } do_set_sub(){ #echo "$1" "$2" >> "$CRASHDIR"/configs/providers.cfg - echo "错误,还未完成的功能!" > "$LOGFILE" + echo "$BOT_TG_UNFINISHED" > "$LOGFILE" } transport(){ #文件传输 @@ -204,15 +207,15 @@ transport(){ #文件传输 ;; "ts_up_core") FILE_TYPE=1 - send_msg "请发送需要上传的内核,必须是以tar.gz,.gz或.upx结尾的【${corename}】内核!" + send_msg "$BOT_TG_SEND_CORE ${corename} $BOT_TG_SEND_CORE_SUFFIX" ;; "ts_up_bak") FILE_TYPE=2 - send_msg "请发送需要还原的备份文件,必须是【.tar.gz】格式!" + send_msg "$BOT_TG_SEND_BAK" ;; "ts_up_ccf") FILE_TYPE=3 - send_msg "请发送需要上传的配置文件,必须是【.${config_type}】格式,支持自定义配置文件" + send_msg "$BOT_TG_SEND_CFG .${config_type} $BOT_TG_SEND_CFG_SUFFIX" ;; esac } @@ -246,9 +249,9 @@ polling(){ "start_redir") if [ "$firewall_area" = 4 ];then do_start_fw - send_msg "已切换到$redir_mod_bf!" + send_msg "$BOT_TG_SWITCH_TO$redir_mod_bf!" else - send_msg "当前已经是$redir_mod!" + send_msg "$BOT_TG_ALREADY$redir_mod!" fi send_menu continue @@ -256,22 +259,22 @@ polling(){ "stop_redir") if [ "$firewall_area" != 4 ];then do_stop_fw - send_msg "已切换到纯净模式" + send_msg "$BOT_TG_SWITCH_PURE" else - send_msg "当前已经是纯净模式!" + send_msg "$BOT_TG_ALREADY_PURE" fi send_menu continue ;; "restart") do_restart - send_msg "🔄 服务已重启" + send_msg "$BOT_TG_SERVICE_RESTARTED_SHORT" sleep 10 send_menu continue ;; "readlog") - send_msg "📄 日志内容如下(已过滤任务日志):\n\`\`\`$(grep -v '任务' $TMPDIR/ShellCrash.log |tail -n 20)\`\`\`" + send_msg "$BOT_TG_LOG_CONTENT\n\`\`\`$(grep -v "$BOT_TG_TASK_WORD" $TMPDIR/ShellCrash.log |tail -n 20)\`\`\`" sleep 3 send_menu continue @@ -282,7 +285,7 @@ polling(){ ;; "set_sub") echo "await_sub" > "$STATE_FILE" - send_msg "✏ 请输入新的订阅链接:" + send_msg "$BOT_TG_INPUT_SUB" continue ;; ts_*) @@ -298,7 +301,7 @@ polling(){ if [ "$(cat "$STATE_FILE" 2>/dev/null)" = "await_sub" ]; then echo "" > "$STATE_FILE" do_set_sub "$TEXT" - send_msg "订阅更新完成:\n$(cat "$LOGFILE")" + send_msg "$BOT_TG_SUB_UPDATED\n$(cat "$LOGFILE")" send_menu continue fi diff --git a/scripts/menus/bot_tg_bind.sh b/scripts/menus/bot_tg_bind.sh index 1280ab48..7b81a5f2 100644 --- a/scripts/menus/bot_tg_bind.sh +++ b/scripts/menus/bot_tg_bind.sh @@ -2,16 +2,18 @@ . "$CRASHDIR"/libs/web_get_lite.sh +load_lang bot_tg + private_bot() { - comp_box "请先通过 \033[32;4mhttps://t.me/BotFather\033[0m 申请TG机器人并获取其\033[36mAPI TOKEN\033[0m" - read -r -p "请输入你获取到的API TOKEN> " TOKEN + comp_box "$BOT_TG_PRIVATE_HINT" + read -r -p "$BOT_TG_INPUT_TOKEN> " TOKEN url_tg=https://api.telegram.org/bot${TOKEN}/getUpdates - top_box "请向\033[32m你申请的机器人\033[33m而不是BotFather!\033[0m" + top_box "$BOT_TG_PRIVATE_TOP" } public_bot() { - comp_box "请向机器人:\033[32;4mhttps://t.me/ShellCrashtg_bot\033[0m" + comp_box "$BOT_TG_PUBLIC_HINT" TOKEN=publictoken url_tg=https://tgbot.jwsc.eu.org/publictoken/getUpdates } @@ -20,7 +22,7 @@ tg_push_token() { push_TG="$TOKEN" setconfig push_TG "$TOKEN" setconfig chat_ID "$chat_ID" - . "$CRASHDIR"/libs/logger.sh && logger "已完成Telegram日志推送设置!" 32 + . "$CRASHDIR"/libs/logger.sh && logger "$BOT_TG_SET_DONE" 32 } get_chatid() { @@ -28,7 +30,7 @@ get_chatid() { chat_ID='' while [ $i -le 3 ] && [ -z "$chat_ID" ]; do sleep 1 - comp_box "\033[33m第 $i 次尝试获取对话ID失败,正在重试...\033[0m" + comp_box "\033[33m$BOT_TG_CHATID_RETRY_PREFIX $i $BOT_TG_CHATID_RETRY_SUFFIX\033[0m" chat=$(web_get_lite "$url_tg" 2>/dev/null) if [ -n "$chat" ]; then chat_ID=$(echo "$chat" | sed 's/"update_id":/{\n"update_id":/g' | grep "$public_key" | head -n1 | grep -oE '"id":.*,"is_bot' | sed s'/"id"://' | sed s'/,"is_bot//') @@ -39,19 +41,19 @@ get_chatid() { set_bot() { public_key=$(cat /proc/sys/kernel/random/boot_id | sed 's/.*-//') - btm_box "发送此秘钥: \033[30;46m$public_key\033[0m" - read -r -p "我已经发送完成(1/0)> " res + btm_box "$BOT_TG_SEND_KEY \033[30;46m$public_key\033[0m" + read -r -p "$BOT_TG_SENT_CONFIRM(1/0)> " res if [ "$res" = 1 ]; then get_chatid [ -z "$chat_ID" ] && [ "$TOKEN" != 'publictoken' ] && { - comp_box "\033[31m无法获取对话ID,请返回重新设置或手动输入ChatID!\033[0m" \ - "通常访问 \033[32;4m$url_tg\033[0m \n\033[36m即可看到ChatID\033[0m" - read -r -p "请手动输入ChatID> " chat_ID + comp_box "\033[31m$BOT_TG_CHATID_FAIL\033[0m" \ + "$BOT_TG_CHATID_MANUAL_HINT \033[32;4m$url_tg\033[0m \n\033[36m$BOT_TG_CHATID_MANUAL_HINT2\033[0m" + read -r -p "$BOT_TG_INPUT_CHATID> " chat_ID } if echo "$chat_ID" | grep -qE '^[0-9]{8,}$'; then return 0 else - msg_alert "\033[31m无法获取对话ID,请重新配置!\033[0m" + msg_alert "\033[31m$BOT_TG_CHATID_RECONFIG\033[0m" return 1 fi fi diff --git a/scripts/menus/bot_tg_service.sh b/scripts/menus/bot_tg_service.sh index d5ea1b71..a0b0a23a 100644 --- a/scripts/menus/bot_tg_service.sh +++ b/scripts/menus/bot_tg_service.sh @@ -1,6 +1,8 @@ . "$CRASHDIR"/libs/set_cron.sh +load_lang bot_tg + bot_tg_start(){ . "$CRASHDIR"/starts/start_legacy.sh start_legacy "$CRASHDIR/menus/bot_tg.sh" 'bot_tg' @@ -12,5 +14,5 @@ bot_tg_stop(){ rm -f "$TMPDIR/bot_tg.pid" } bot_tg_cron(){ - cronset 'TG_BOT守护进程' "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT守护进程" + cronset "$BOT_TG_CRON_NAME" "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #$BOT_TG_CRON_NAME" } diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index 97ef9124..0e1dbc13 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -1,15 +1,17 @@ #!/bin/sh # Copyright (C) Juewuy +load_lang check_port + check_port() { if [ "$1" -gt 65535 ] || [ "$1" -le 1 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m$CHECK_PORT_RANGE_ERR\033[0m" return 1 elif echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$1|"; then - msg_alert "\033[31m输入错误!请不要输入重复的端口!\033[0m" + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" return 1 elif netstat -ntul | grep -q ":$1[[:space:]]"; then - msg_alert "\033[31m当前端口已被其他进程占用,请重新输入!\033[0m" + msg_alert "\033[31m$CHECK_PORT_OCCUPIED_ERR\033[0m" return 1 else return 0 diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index ee76453f..67326c16 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -1,8 +1,10 @@ #! /bin/bash # Copyright (C) Juewuy +load_lang ddns + ddns_menu() { - top_box "\033[30;46m欢迎使用DDNS!\033[0m" + top_box "\033[30;46m$DDNS_WELCOME\033[0m" load_ddns } @@ -28,36 +30,36 @@ config service '$service' EOF /usr/lib/ddns/dynamic_dns_updater.sh -S "$service" start >/dev/null 2>&1 & sleep 3 - msg_alert "服务已经添加!" + msg_alert "$DDNS_ADD_DONE" } set_ddns() { while true; do line_break - read -r -p "请输入你的域名> " str + read -r -p "$DDNS_INPUT_DOMAIN> " str [ -z "$str" ] && domain="$domain" || domain="$str" echo "" - read -r -p "请输入用户名或邮箱> " str + read -r -p "$DDNS_INPUT_USER> " str [ -z "$str" ] && username="$username" || username="$str" echo "" - read -r -p "请输入密码或令牌秘钥> " str + read -r -p "$DDNS_INPUT_PASS> " str [ -z "$str" ] && password="$password" || password="$str" echo "" - read -r -p "请输入检测更新间隔(单位:分钟;默认为10)> " check_interval + read -r -p "$DDNS_INPUT_CHECK_INTERVAL> " check_interval [ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10 echo "" - read -r -p "请输入强制更新间隔(单位:小时;默认为24)> " force_interval + read -r -p "$DDNS_INPUT_FORCE_INTERVAL> " force_interval [ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24 - comp_box "请核对如下信息:" \ + comp_box "$DDNS_CONFIRM_INFO" \ "" \ - "服务商: \033[32m$service\033[0m" \ - "域名: \033[32m$domain\033[0m" \ - "用户名: \033[32m$username\033[0m" \ - "检测间隔: \033[32m$check_interval\033[0m" - btm_box "是否确认添加:" - btm_box "1) 是" \ - "0) 否,重新輸入" + "$DDNS_FIELD_SERVICE \033[32m$service\033[0m" \ + "$DDNS_FIELD_DOMAIN \033[32m$domain\033[0m" \ + "$DDNS_FIELD_USER \033[32m$username\033[0m" \ + "$DDNS_FIELD_INTERVAL \033[32m$check_interval\033[0m" + btm_box "$DDNS_CONFIRM_ADD" + btm_box "1) $DDNS_YES" \ + "0) $DDNS_REINPUT" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then add_ddns @@ -72,17 +74,17 @@ set_ddns_service() { [ -s "$services_dir" ] || services_dir=/etc/ddns/services [ -s "$services_dir" ] || services_dir=/usr/share/ddns/list [ -s "$services_dir" ] || { - msg_alert "\033[33m未找到DDNS列表文件,尝试在线获取……\033[0m" - ddns service update >/dev/null || msg_alert "\033[31m下载失败,请重试!\033[0m" + msg_alert "\033[33m$DDNS_LIST_NOT_FOUND\033[0m" + ddns service update >/dev/null || msg_alert "\033[31m$DDNS_DOWNLOAD_FAILED\033[0m" } - comp_box "\033[32m请选择服务提供商:\033[0m" + comp_box "\033[32m$DDNS_SELECT_PROVIDER\033[0m" list=$(awk '/^#/ || !NF {next} {print $1}' "$services_dir") list_box "$list" nr=$(echo "$list" | wc -l) common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= break @@ -92,19 +94,19 @@ set_ddns_service() { set_ddns break else - msg_alert "\033[33m输入错误,请重新输入!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_ERROR\033[0m" fi done } set_ddns_type() { while true; do - comp_box "\033[32m请选择网络模式:\033[0m" - btm_box "1) \033[36mIPV4\033[0m" \ - "2) \033[36mIPV6\033[0m" \ + comp_box "\033[32m$DDNS_SELECT_NETMODE\033[0m" + btm_box "1) \033[36m$DDNS_IPV4\033[0m" \ + "2) \033[36m$DDNS_IPV6\033[0m" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -122,7 +124,7 @@ set_ddns_type() { break ;; *) - msg_alert "\033[33m输入错误,请重新输入!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_ERROR\033[0m" ;; esac done @@ -131,15 +133,15 @@ set_ddns_type() { rev_ddns_service() { while true; do enabled=$(uci get ddns."$service".enabled) - [ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用" - comp_box "1) \033[32m立即更新\033[0m" \ - "2) 编辑当前服务" \ - "3) $enabled_b当前服务" \ - "4) 移除当前服务" \ - "5) 查看运行日志" \ + [ "$enabled" = 1 ] && enabled_b="$DDNS_DISABLE" || enabled_b="$DDNS_ENABLE" + comp_box "1) \033[32m$DDNS_UPDATE_NOW\033[0m" \ + "2) $DDNS_EDIT_CURRENT" \ + "3) $enabled_b$DDNS_CURRENT_SERVICE" \ + "4) $DDNS_REMOVE_CURRENT" \ + "5) $DDNS_VIEW_LOG" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -176,7 +178,7 @@ rev_ddns_service() { break ;; *) - msg_alert "\033[33m输入错误,请重新输入!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_ERROR\033[0m" ;; esac done @@ -187,14 +189,14 @@ load_ddns() { ddns_dir=/etc/config/ddns tmp_dir="$TMPDIR"/ddns [ ! -f "$ddns_dir" ] && { - btm_box "\033[31m本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!\033[0m" + btm_box "\033[31m$DDNS_NOT_SUPPORTED\033[0m" sleep 1 return 1 } nr=0 cat "$ddns_dir" | grep 'config service' | awk '{print $3}' | sed "s/'//g" | sed 's/"//g' >"$tmp_dir" separator_line "=" - content_line " 列表 域名 启用 IP地址" + content_line "$DDNS_LIST_HEADER" content_line "" [ -s "$tmp_dir" ] && for service in $(cat "$tmp_dir"); do # echo $service >>$tmp_dir @@ -204,10 +206,10 @@ load_ddns() { local_ip=$(sed '1!G;h;$!d' /var/log/ddns/"$service".log 2>/dev/null | grep -E 'Registered IP' | tail -1 | awk -F "'" '{print $2}' | tr -d "'\"") content_line "$nr) $domain $enabled $local_ip" done - content_line "$((nr + 1))) 添加DDNS服务" - content_line "0) 退出" + content_line "$((nr + 1))) $DDNS_ADD_SERVICE" + content_line "0) $DDNS_EXIT" separator_line "=" - read -r -p "请输入对应序号> " num + read -r -p "$DDNS_INPUT_INDEX> " num if [ -z "$num" ] || [ "$num" = 0 ]; then i= rm -rf "$tmp_dir" @@ -218,7 +220,7 @@ load_ddns() { service=$(cat "$tmp_dir" | sed -n "$num"p) rev_ddns_service else - msg_alert "\033[33m请输入正确数字!\033[0m" + msg_alert "\033[33m$DDNS_INPUT_NUM_ERROR\033[0m" fi done } diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 2db97f51..7294fce3 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -14,9 +14,9 @@ set_dns_mod() { [ -z "$ecs_subnet" ] && ecs_subnet=OFF comp_box "$DNS_CURRENT_MODE\033[47;30m $dns_mod \033[0m" \ "\033[33m$DNS_RESTART_NOTICE\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 "3) 设为Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" + content_line "1) $DNS_SET_TO MIX$COMMON_MOD:\t\033[32m$DNS_MODE_MIX_DESC\033[0m" + content_line "2) $DNS_SET_TO Route$COMMON_MOD:\t\033[32m$DNS_MODE_ROUTE_DESC\033[0m" + content_line "3) $DNS_SET_TO Redir$COMMON_MOD:\t\033[33m$DNS_MODE_REDIR_DESC\033[0m" content_line "" content_line "4) $DNS_MENU_PROTECT:\t \033[36m$dns_protect\033[0m\t$DNS_PROTECT_DESC" content_line "5) $DNS_MENU_HOSTS:\t \033[36m$hosts_opt\033[0m\t$DNS_HOSTS_DESC" @@ -52,14 +52,14 @@ set_dns_mod() { line_break separator_line "=" if [ "$dns_protect" = ON ]; then - content_line "当前\033[33m已启用\033[0mDNS防泄漏,是否确认禁用?" + content_line "$DNS_PROTECT_NOW\033[33m$DNS_ENABLED\033[0m$DNS_PROTECT_DISABLE_Q" else - content_line "当前\033[33m已禁用\033[0mDNS防泄漏,是否确认启用?" + content_line "$DNS_PROTECT_NOW\033[33m$DNS_DISABLED\033[0m$DNS_PROTECT_ENABLE_Q" fi separator_line "=" - btm_box "1) 是" \ - "2) 重置为默认值" \ - "0) 否,返回上级菜单" + btm_box "1) $DNS_YES" \ + "2) $DNS_RESET_DEFAULT" \ + "0) $DNS_NO_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in 0) @@ -89,14 +89,14 @@ set_dns_mod() { line_break separator_line "=" if [ "$hosts_opt" = ON ]; then - content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用?" + content_line "$DNS_HOSTS_NOW\033[33m$DNS_ENABLED\033[0m$DNS_HOSTS_DISABLE_Q" else - content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用?" + content_line "$DNS_HOSTS_NOW\033[33m$DNS_DISABLED\033[0m$DNS_HOSTS_ENABLE_Q" fi separator_line "=" - btm_box "1) 是" \ - "2) 重置为默认值" \ - "0) 否,返回上级菜单" + btm_box "1) $DNS_YES" \ + "2) $DNS_RESET_DEFAULT" \ + "0) $DNS_NO_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in 0) @@ -127,14 +127,14 @@ set_dns_mod() { line_break separator_line "=" if [ "$ecs_subnet" = ON ]; then - content_line "当前\033[33m已启用\033[0mHosts优化,是否确认禁用?" + content_line "$DNS_HOSTS_NOW\033[33m$DNS_ENABLED\033[0m$DNS_HOSTS_DISABLE_Q" else - content_line "当前\033[33m已禁用\033[0mHosts优化,是否确认启用?" + content_line "$DNS_HOSTS_NOW\033[33m$DNS_DISABLED\033[0m$DNS_HOSTS_ENABLE_Q" fi separator_line "=" - btm_box "1) 是" \ - "2) 重置为默认值" \ - "0) 否,返回上级菜单" + btm_box "1) $DNS_YES" \ + "2) $DNS_RESET_DEFAULT" \ + "0) $DNS_NO_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in 0) @@ -164,10 +164,10 @@ set_dns_mod() { comp_box "\033[31m$DNS_REDIR_WARN\033[0m" \ "\033[33m$DNS_REDIR_HINT 127.0.0.1:$dns_port\033[0m" \ "" \ - "\033[36m请直接输入旁路由IPV4地址\033[0m" \ - "或输入 r 重置DNS劫持端口" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " num + "\033[36m$DNS_INPUT_REDIR_PORT\033[0m" \ + "$DNS_INPUT_REDIR_RESET" \ + "$DNS_INPUT_REDIR_BACK" + read -r -p "$DNS_INPUT> " num case "$num" in 0) break @@ -224,7 +224,7 @@ fake_ip_filter() { content_line "\033[33m$DNS_FAKEIP_EMPTY\033[0m" fi btm_box "" \ - "0) 返回上级菜单" + "0) $COMMON_BACK" read -r -p "$DNS_FAKEIP_EDIT> " input case "$input" in "" | 0) @@ -233,20 +233,20 @@ fake_ip_filter() { *) if [ "$input" -ge 1 ] 2>/dev/null; then if sed -i "${input}d" "$CRASHDIR/configs/fake_ip_filter"; then - msg_alert "\033[32m移除成功\033[0m" + msg_alert "\033[32m$DNS_REMOVE_OK\033[0m" else - msg_alert "\033[31m移除失败\033[0m" + msg_alert "\033[31m$DNS_REMOVE_FAIL\033[0m" fi else - comp_box "请确认需要添加的地址:\033[32m$input\033[0m" - btm_box "1) 确认无误" \ - "0) 返回上级菜单" + comp_box "$DNS_CONFIRM_ADD\033[32m$input\033[0m" + btm_box "1) $DNS_CONFIRM_OK" \ + "0) $COMMON_BACK" read -r -p "$COMMON_INPUT>" res if [ "$res" = 1 ]; then if echo "$input" >>"$CRASHDIR/configs/fake_ip_filter"; then - msg_alert "\033[32m添加成功\033[0m" + msg_alert "\033[32m$DNS_ADD_OK\033[0m" else - msg_alert "\033[31m添加失败\033[0m" + msg_alert "\033[31m$DNS_ADD_FAIL\033[0m" fi else break @@ -286,11 +286,11 @@ set_dns_adv() { break ;; 1) - comp_box "当前DIRECT-DNS:\033[32m$dns_nameserver\033[0m" - btm_box "\033[36m请直接输入新的DIRECT-DNS地址\033[0m" \ - "或输入 r 重置DIRECT-DNS地址" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "$DNS_DIRECT_NOW\033[32m$dns_nameserver\033[0m" + btm_box "\033[36m$DNS_INPUT_DIRECT_NEW\033[0m" \ + "$DNS_INPUT_DIRECT_RESET" \ + "$DNS_INPUT_REDIR_BACK" + read -r -p "$DNS_INPUT> " res case "$res" in 0) continue @@ -312,11 +312,11 @@ set_dns_adv() { esac ;; 2) - comp_box "当前PROXY-DNS:\033[32m$dns_fallback\033[0m" - btm_box "\033[36m请直接输入新的PROXY-DNS地址\033[0m" \ - "或输入 r 重置PROXY-DNS地址" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "$DNS_PROXY_NOW\033[32m$dns_fallback\033[0m" + btm_box "\033[36m$DNS_INPUT_PROXY_NEW\033[0m" \ + "$DNS_INPUT_PROXY_RESET" \ + "$DNS_INPUT_REDIR_BACK" + read -r -p "$DNS_INPUT> " res case "$res" in 0) continue @@ -338,12 +338,12 @@ set_dns_adv() { esac ;; 3) - comp_box "当前DEFAULT-DNS:\033[32m$dns_resolver\033[0m" - btm_box "\033[36m请直接输入新的DEFAULT-DNS地址\033[0m" \ - "或输入 r 重置DEFAULT-DNS地址" \ - "或输入 0 返回上级菜单" + comp_box "$DNS_DEFAULT_NOW\033[32m$dns_resolver\033[0m" + btm_box "\033[36m$DNS_INPUT_DEFAULT_NEW\033[0m" \ + "$DNS_INPUT_DEFAULT_RESET" \ + "$DNS_INPUT_REDIR_BACK" separator_line "=" - read -r -p "请输入> " res + read -r -p "$DNS_INPUT> " res case "$res" in 0) continue diff --git a/scripts/menus/providers.sh b/scripts/menus/providers.sh index 30a744d1..50e0fe29 100644 --- a/scripts/menus/providers.sh +++ b/scripts/menus/providers.sh @@ -4,6 +4,8 @@ [ -n "$__IS_MODULE_PROVIDERS" ] && return __IS_MODULE_PROVIDERS=1 +load_lang providers + if [ "$crashcore" = singboxr ]; then CORE_TYPE=singbox else @@ -21,12 +23,12 @@ providers() { [ -z "$provider_temp_des" ] && provider_temp_des=$provider_temp_file fi - comp_box "1) \033[32m生成\033[0m包含全部提供者的配置文件" \ - "2) 选择\033[33m规则模版\033[0m \033[32m$provider_temp_des\033[0m" \ - "3) \033[33m清理\033[0mproviders目录文件" \ + comp_box "1) \033[32m$PROVIDERS_MENU_GEN\033[0m" \ + "2) $PROVIDERS_MENU_TEMPLATE \033[32m$provider_temp_des\033[0m" \ + "3) $PROVIDERS_MENU_CLEAN" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应字母或数字> " num + read -r -p "$PROVIDERS_INPUT> " num case "$num" in "" | 0) break @@ -36,25 +38,25 @@ providers() { . "$CRASHDIR/menus/providers_$CORE_TYPE.sh" gen_providers else - msg_alert "\033[31m你还未添加链接或本地配置文件,请先添加!\033[0m" + msg_alert "\033[31m$PROVIDERS_EMPTY_HINT\033[0m" fi ;; 2) list=$(cat "$CRASHDIR/configs/${CORE_TYPE}_providers.list" | awk '{print $1}') - comp_box "当前规则模版为:\033[32m$provider_temp_des\033[0m" \ - "\033[33m请选择在线模版:\033[0m" + comp_box "$PROVIDERS_TEMPLATE_CURRENT\033[32m$provider_temp_des\033[0m" \ + "\033[33m$PROVIDERS_TEMPLATE_SELECT\033[0m" list_box "$list" btm_box "" \ - "a) 使用\033[36m本地模版\033[0m" \ + "a) $PROVIDERS_TEMPLATE_LOCAL" \ "" \ "0) $COMMON_BACK" - read -r -p "请输入对应字母或数字> " num + read -r -p "$PROVIDERS_INPUT> " num case "$num" in "" | 0) ;; a) line_break - read -r -p "请输入模版的路径(绝对路径)> " dir + read -r -p "$PROVIDERS_TEMPLATE_PATH> " dir if [ -s "$dir" ]; then provider_temp_file=$dir if setconfig provider_temp_"$CORE_TYPE" "$provider_temp_file"; then @@ -63,7 +65,7 @@ providers() { common_failed fi else - msg_alert "\033[31m输入错误,找不到对应模版文件!\033[0m" + msg_alert "\033[31m$PROVIDERS_TEMPLATE_NOT_FOUND\033[0m" fi ;; *) @@ -81,11 +83,11 @@ providers() { esac ;; 3) - comp_box "\033[33m将清空 $CRASHDIR/providers 目录下所有内容\033[0m" \ + comp_box "\033[33m$PROVIDERS_CLEAN_WARN $CRASHDIR/providers $PROVIDERS_CLEAN_WARN_END\033[0m" \ "" \ - "是否继续?" - btm_box "1) 是" \ - "0) 否" + "$PROVIDERS_CLEAN_CONFIRM" + btm_box "1) $PROVIDERS_YES" \ + "0) $PROVIDERS_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then if rm -rf "$CRASHDIR"/providers; then diff --git a/scripts/menus/providers_clash.sh b/scripts/menus/providers_clash.sh index d955f170..f8bc313a 100644 --- a/scripts/menus/providers_clash.sh +++ b/scripts/menus/providers_clash.sh @@ -4,6 +4,8 @@ [ -n "$__IS_PROVIDERS_CLASH" ] && return __IS_PROVIDERS_CLASH=1 +load_lang providers + . "$CRASHDIR"/libs/web_get_bin.sh # 生成clash的providers配置文件 @@ -17,10 +19,10 @@ gen_providers() { if [ -s "$provider_temp_file" ]; then ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file else - msg_alert "\033[33m正在获取在线模版......\033[0m" + msg_alert "\033[33m$PROVIDERS_FETCHING_TEMPLATE\033[0m" get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" [ -z "$(grep -o 'rules' "$TMPDIR"/provider_temp_file)" ] && { - msg_alert "\033[31m下载失败,请尝试更换安装源!\033[0m" + msg_alert "\033[31m$PROVIDERS_DOWNLOAD_FAILED\033[0m" . "$CRASHDIR"/menus/9_upgrade.sh && setserver setproviders } @@ -61,21 +63,21 @@ gen_providers() { # 调用内核测试 . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml if [ "$?" = 0 ]; then - msg_alert "\033[32m配置文件生成成功!\033[0m" + msg_alert "\033[32m$PROVIDERS_GEN_OK\033[0m" mkdir -p "$CRASHDIR"/yamls mv -f "$TMPDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml - comp_box "是否立即启动/重启服务?" - btm_box "1) 是" \ - "0) 否" + comp_box "$PROVIDERS_RESTART_ASK" + btm_box "1) $PROVIDERS_YES" \ + "0) $PROVIDERS_NO" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { - start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset "$PROVIDERS_CRON_SUB_UPDATE" exit } else rm -rf "$TMPDIR"/CrashCore rm -rf "$TMPDIR"/config.yaml - msg_alert "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + msg_alert "\033[31m$PROVIDERS_GEN_FAILED\033[0m" fi } diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index 1644cd62..a0b673ba 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -4,6 +4,8 @@ [ -n "$__IS_PROVIDERS_SINGBOX" ] && return __IS_PROVIDERS_SINGBOX=1 +load_lang providers + . "$CRASHDIR"/libs/web_get_bin.sh # 生成singbox的providers配置文件 @@ -16,10 +18,10 @@ gen_providers() { if [ -s "$provider_temp_file" ]; then ln -sf "$provider_temp_file" "$TMPDIR"/provider_temp_file else - msg_alert "\033[33m正在获取在线模版......\033[0m" + msg_alert "\033[33m$PROVIDERS_FETCHING_TEMPLATE\033[0m" get_bin "$TMPDIR"/provider_temp_file "rules/${CORE_TYPE}_providers/$provider_temp_file" [ -z "$(grep -o 'route' "$TMPDIR"/provider_temp_file)" ] && { - msg_alert "\033[31m下载失败,请尝试更换安装源!\033[0m" + msg_alert "\033[31m$PROVIDERS_DOWNLOAD_FAILED\033[0m" . "$CRASHDIR"/menus/9_upgrade.sh && setserver setproviders } @@ -65,21 +67,21 @@ EOF # 调用内核测试 . "$CRASHDIR"/starts/check_core.sh && check_core && "$TMPDIR"/CrashCore merge "$TMPDIR"/config.json -C "$TMPDIR"/providers if [ "$?" = 0 ]; then - msg_alert "\033[32m配置文件生成成功!如果启动超时建议更新里手动安装Singbox-srs数据库常用包!\033[0m" + msg_alert "\033[32m$PROVIDERS_GEN_OK_SINGBOX\033[0m" mkdir -p "$CRASHDIR"/jsons mv -f "$TMPDIR"/config.json "$CRASHDIR"/jsons/config.json rm -rf "$TMPDIR"/providerss - comp_box "是否立即启动/重启服务?" - btm_box "1) 是" \ - "0) 否" + comp_box "$PROVIDERS_RESTART_ASK" + btm_box "1) $PROVIDERS_YES" \ + "0) $PROVIDERS_NO" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { - start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset '更新订阅' + start_core && . "$CRASHDIR"/libs/set_cron.sh && cronset "$PROVIDERS_CRON_SUB_UPDATE" exit } else rm -rf "$TMPDIR"/CrashCore - msg_alert "\033[31m生成配置文件出错,请仔细检查输入!\033[0m" + msg_alert "\033[31m$PROVIDERS_GEN_FAILED\033[0m" # rm -rf "$TMPDIR"/providers fi } diff --git a/scripts/menus/set_crashdir.sh b/scripts/menus/set_crashdir.sh index c5e44b5d..fe0e8fe2 100644 --- a/scripts/menus/set_crashdir.sh +++ b/scripts/menus/set_crashdir.sh @@ -3,19 +3,26 @@ [ -f /tmp/SC_tmp/libs/check_dir_avail.sh ] && . /tmp/SC_tmp/libs/check_dir_avail.sh +if [ -n "$CRASHDIR" ] && [ -s "$CRASHDIR/libs/i18n.sh" ]; then + . "$CRASHDIR/libs/i18n.sh" + load_lang set_crashdir +elif [ -n "$language" ] && [ -s "/tmp/SC_tmp/lang/$language/set_crashdir.lang" ]; then + . "/tmp/SC_tmp/lang/$language/set_crashdir.lang" +fi + set_usb_dir() { while true; do - comp_box "请选择安装目录:" + comp_box "$SCD_SELECT_INSTALL_DIR" du -hL /mnt | awk '{print NR") "$2 " " $1}' | while IFS= read -r line; do content_line "$line" done separator_line "=" - read -r -p "请输入相应数字> " num + read -r -p "$SCD_INPUT_NUM> " num dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p) if [ -z "$dir" ]; then - msg_alert "\033[31m输入错误!请重新设置!\033[0m" + msg_alert "\033[31m$SCD_INPUT_ERROR\033[0m" continue fi break 1 @@ -23,15 +30,15 @@ set_usb_dir() { } set_xiaomi_dir() { - comp_box "\033[33m检测到当前设备为小米官方系统,请选择安装位置:\033[0m" - [ -d /data ] && content_line "1) /data目录,剩余空间:$(dir_avail /data -h) (支持软固化功能)" - [ -d /userdisk ] && content_line "2) /userdisk目录,剩余空间:$(dir_avail /userdisk -h) (支持软固化功能)" - [ -d /data/other_vol ] && content_line "3) /data/other_vol目录,剩余空间:$(dir_avail /data/other_vol -h) (支持软固化功能)" - content_line "4) 自定义目录(不推荐,不明勿用!)" + comp_box "\033[33m$SCD_XIAOMI_DETECTED\033[0m" + [ -d /data ] && content_line "1) /data$SCD_DIR_FREE$(dir_avail /data -h) $SCD_SOFT_SOLID" + [ -d /userdisk ] && content_line "2) /userdisk$SCD_DIR_FREE$(dir_avail /userdisk -h) $SCD_SOFT_SOLID" + [ -d /data/other_vol ] && content_line "3) /data/other_vol$SCD_DIR_FREE$(dir_avail /data/other_vol -h) $SCD_SOFT_SOLID" + content_line "4) $SCD_CUSTOM_DIR_WARN" content_line "" - content_line "0) 退出安装" + content_line "0) $SCD_EXIT_INSTALL" separator_line "=" - read -r -p "请输入相应数字> " num + read -r -p "$SCD_INPUT_NUM> " num case "$num" in 1) dir=/data @@ -54,17 +61,17 @@ set_xiaomi_dir() { set_asus_usb() { while true; do - comp_box "请选择U盘目录:" + comp_box "$SCD_SELECT_USB_DIR" du -hL /tmp/mnt | awk -F/ 'NF<=4 {print NR") "$2 " " $1}' | while IFS= read -r line; do content_line "$line" done separator_line "=" - read -r -p "请输入相应数字> " num + read -r -p "$SCD_INPUT_NUM> " num dir=$(du -hL /tmp/mnt | awk -F/ 'NF<=4' | awk '{print $2}' | sed -n "$num"p) if [ ! -f "$dir/asusware.arm/etc/init.d/S50downloadmaster" ]; then - msg_alert "\033[31m未找到下载大师自启文件:$dir/asusware.arm/etc/init.d/S50downloadmaster,请检查设置!\033[0m" + msg_alert "\033[31m$SCD_ASUS_DM_NOT_FOUND $dir/asusware.arm/etc/init.d/S50downloadmaster,$SCD_CHECK_SETTING\033[0m" else break fi @@ -73,19 +80,19 @@ set_asus_usb() { set_asus_dir() { separator_line "=" - btm_box "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m" \ - "1) 基于U盘+下载大师安装(支持所有固件,限ARM设备,须插入U盘或移动硬盘)" \ - "2) 基于自启脚本安装(仅持部分梅林固件)" \ + btm_box "\033[33m$SCD_ASUS_DETECTED\033[0m" \ + "1) $SCD_ASUS_INSTALL_DM" \ + "2) $SCD_ASUS_INSTALL_SCRIPT" \ "" \ - "0) 退出安装" - read -r -p "请输入相应数字> " num + "0) $SCD_EXIT_INSTALL" + read -r -p "$SCD_INPUT_NUM> " num case "$num" in 1) - msg_alert -t 2 "请先在路由器网页后台安装下载大师并启用,之后选择外置存储所在目录!" + msg_alert -t 2 "$SCD_ASUS_DM_HINT" set_asus_usb ;; 2) - msg_alert -t 2 "如开机无法正常自启,请重新使用U盘+下载大师安装!" + msg_alert -t 2 "$SCD_ASUS_REINSTALL_HINT" dir=/jffs ;; *) @@ -97,9 +104,9 @@ set_asus_dir() { set_cust_dir() { while true; do - comp_box "路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!" \ + comp_box "$SCD_PATH_FORMAT_HINT" \ "" \ - "可用路径 剩余空间:" + "$SCD_PATH_FREE_SPACE" df -h | awk '{print $6, $4}' | sed '1d' | @@ -107,9 +114,9 @@ set_cust_dir() { content_line "$line" done separator_line "=" - read -r -p "请输入自定义路径> " dir + read -r -p "$SCD_INPUT_CUSTOM_DIR> " dir if [ "$(dir_avail "$dir")" = 0 ] || [ -n "$(echo "$dir" | grep -Eq '^/(tmp|opt|sys)(/|$)')" ]; then - msg_alert "\033[31m路径错误!请重新设置!\033[0m" + msg_alert "\033[31m$SCD_PATH_ERROR\033[0m" continue fi break 1 @@ -118,7 +125,7 @@ set_cust_dir() { set_crashdir() { while true; do - top_box "\033[33m注意:安装ShellCrash至少需要预留约1MB的磁盘空间\033[0m" + top_box "\033[33m$SCD_INSTALL_SPACE_HINT\033[0m" case "$systype" in Padavan) dir=/etc/storage @@ -134,14 +141,14 @@ set_crashdir() { ;; *) separator_line "=" - btm_box "1) 在\033[32m/etc目录\033[0m下安装(适合root用户)" \ - "2) 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)" \ - "3) 在\033[32m当前用户目录\033[0m下安装(适合非root用户)" \ - "4) 在\033[32m外置存储\033[0m中安装" \ - "5) 手动设置安装目录" \ + btm_box "1) $SCD_INSTALL_ETC" \ + "2) $SCD_INSTALL_USR" \ + "3) $SCD_INSTALL_HOME" \ + "4) $SCD_INSTALL_USB" \ + "5) $SCD_INSTALL_MANUAL" \ "" \ - "0) 退出安装" - read -r -p "请输入相应数字> " num + "0) $SCD_EXIT_INSTALL" + read -r -p "$SCD_INPUT_NUM> " num # 设置目录 case "$num" in 1) @@ -161,7 +168,7 @@ set_crashdir() { set_cust_dir ;; *) - msg_alert "安装已取消" + msg_alert "$SCD_INSTALL_CANCELED" line_break exit 1 ;; @@ -170,14 +177,14 @@ set_crashdir() { esac if [ ! -w "$dir" ]; then - msg_alert "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" + msg_alert "\033[31m$SCD_NO_WRITE_PREFIX$dir$SCD_NO_WRITE_SUFFIX\033[0m" else - comp_box "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail "$dir" -h)" \ + comp_box "$SCD_TARGET_DIR_PREFIX\033[32m$dir\033[0m$SCD_TARGET_DIR_SPACE$(dir_avail "$dir" -h)" \ "" \ - "是否确认安装?" - btm_box "1) 是" \ - "0) 否" - read -r -p "请输入相应数字> " res + "$SCD_CONFIRM_INSTALL" + btm_box "1) $SCD_YES" \ + "0) $SCD_NO" + read -r -p "$SCD_INPUT_NUM> " res if [ "$res" = "1" ]; then CRASHDIR="$dir"/ShellCrash break diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 7b1a7290..d1295e52 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -7,18 +7,20 @@ __IS_MODULE_SUBCONVERTER=1 [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 +load_lang subconverter + # Subconverter在线订阅转换 subconverter() { while true; do - comp_box "1) \033[32m生成\033[0m包含全部节点、订阅的配置文件"\ - "2) 设置\033[31m排除节点正则\033[0m \033[47;30m$exclude\033[0m"\ - "3) 设置\033[32m包含节点正则\033[0m \033[47;30m$include\033[0m"\ - "4) 选择\033[33m在线规则模版\033[0m"\ - "5) 选择\033[0mSubconverter服务器\033[0m"\ - "6) 自定义浏览器UA \033[32m$user_agent\033[0m"\ + comp_box "1) \033[32m$SUBCONVERTER_MENU_GEN\033[0m"\ + "2) $SUBCONVERTER_MENU_EXCLUDE \033[47;30m$exclude\033[0m"\ + "3) $SUBCONVERTER_MENU_INCLUDE \033[47;30m$include\033[0m"\ + "4) $SUBCONVERTER_MENU_RULE"\ + "5) $SUBCONVERTER_MENU_SERVER"\ + "6) $SUBCONVERTER_MENU_UA \033[32m$user_agent\033[0m"\ ""\ "0) $COMMON_BACK" - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break @@ -57,13 +59,13 @@ subconverter() { # 排除节点正则 gen_link_flt() { - comp_box "\033[33m匹配关键字的节点会在导入时被【屏蔽】!\033[0m" \ - "多个关键字可以用\033[30;47m | \033[0m号分隔" \ - "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - btm_box "\033[36m请直接输入节点过滤关键字\033[0m" \ - "或输入 d \033[31m清空\033[0m节点过滤关键字" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "\033[33m$SUBCONVERTER_EXCLUDE_HINT1\033[0m" \ + "$SUBCONVERTER_KEYWORD_SPLIT" \ + "$SUBCONVERTER_REGEX_HINT" + btm_box "\033[36m$SUBCONVERTER_EXCLUDE_INPUT\033[0m" \ + "$SUBCONVERTER_EXCLUDE_CLEAR" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " res case "$res" in 0) return 0 @@ -85,13 +87,13 @@ gen_link_flt() { # 包含节点正则 gen_link_ele() { - comp_box "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m" \ - "多个关键字可以用\033[30;47m | \033[0m号分隔" \ - "\033[32m支持正则表达式\033[0m,空格请使用\033[30;47m + \033[0m号替代" - btm_box "\033[36m请直接输入节点匹配关键字\033[0m" \ - "或输入 d \033[31m清空\033[0m节点匹配关键字" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " res + comp_box "\033[33m$SUBCONVERTER_INCLUDE_HINT1\033[0m" \ + "$SUBCONVERTER_KEYWORD_SPLIT" \ + "$SUBCONVERTER_REGEX_HINT" + btm_box "\033[36m$SUBCONVERTER_INCLUDE_INPUT\033[0m" \ + "$SUBCONVERTER_INCLUDE_CLEAR" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " res case "$res" in 0) return 0 @@ -115,11 +117,11 @@ gen_link_ele() { gen_link_config() { list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') - comp_box "当前使用规则为:\033[33m$now\033[0m" + comp_box "$SUBCONVERTER_RULE_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum @@ -129,7 +131,7 @@ gen_link_config() { # 将对应标记值写入配置 rule_link=$num if setconfig rule_link "$rule_link"; then - msg_alert "\033[32m设置成功!返回上级菜单\033[0m" + msg_alert "\033[32m$SUBCONVERTER_SET_OK\033[0m" else common_failed fi @@ -141,14 +143,14 @@ gen_link_server() { list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - comp_box "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m" \ - "\033[32m感谢以下作者的无私奉献!!!\033[0m" \ + comp_box "\033[36m$SUBCONVERTER_SERVER_HINT\033[0m" \ + "\033[32m$SUBCONVERTER_SERVER_THANKS\033[0m" \ "" \ - "当前使用后端为:\033[33m$now\033[0m" + "$SUBCONVERTER_SERVER_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" common_back - read -r -p "请输入对应数字> " num + read -r -p "$COMMON_INPUT> " num totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum @@ -158,7 +160,7 @@ gen_link_server() { # 将对应标记值写入配置 server_link=$num if setconfig server_link "$server_link"; then - content_line "\033[32m设置成功!返回上级菜单\033[0m" + content_line "\033[32m$SUBCONVERTER_SET_OK\033[0m" else common_failed fi @@ -167,16 +169,16 @@ gen_link_server() { set_sub_ua() { while true; do - comp_box "\033[36m无法正确获取配置文件时可尝试使用\033[0m" \ + comp_box "\033[36m$SUBCONVERTER_UA_HINT\033[0m" \ "" \ - "当前UA:$user_agent" - btm_box "1) 使用自动UA(默认)"\ - "2) 不使用UA"\ - "3) 使用自定义UA"\ - "4) 清空UA"\ + "$SUBCONVERTER_UA_CURRENT$user_agent" + btm_box "1) $SUBCONVERTER_UA_AUTO"\ + "2) $SUBCONVERTER_UA_NONE"\ + "3) $SUBCONVERTER_UA_CUSTOM"\ + "4) $SUBCONVERTER_UA_CLEAR"\ ""\ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num case "$num" in 0) break @@ -188,10 +190,10 @@ set_sub_ua() { user_agent='none' ;; 3) - comp_box "\033[33m注意:\n自定义UA不可包含空格或特殊符号!\033[0m" - btm_box "\033[36m请直接输入自定义UA\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + comp_box "\033[33m$SUBCONVERTER_UA_CUSTOM_WARN\033[0m" + btm_box "\033[36m$SUBCONVERTER_UA_CUSTOM_INPUT\033[0m" \ + "$SUBCONVERTER_BACK" + read -r -p "$SUBCONVERTER_INPUT> " text if [ "$text" = 0 ]; then continue elif [ -n "$text" ]; then diff --git a/scripts/menus/task_cmd.sh b/scripts/menus/task_cmd.sh index 4e39bd25..de5d403b 100644 --- a/scripts/menus/task_cmd.sh +++ b/scripts/menus/task_cmd.sh @@ -9,12 +9,15 @@ . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/web_get_bin.sh . "$CRASHDIR"/libs/logger.sh +. "$CRASHDIR"/libs/i18n.sh + +load_lang task_cmd task_logger(){ [ "$task_push" = 1 ] && push= || push=off [ -n "$2" -a "$2" != 0 ] && echo -e "\033[$2m$1\033[0m" [ "$3" = 'off' ] && push=off - echo "$1" |grep -qE '(每隔|时每)([1-9]|[1-9][0-9])分钟' && { + echo "$1" |grep -qE "($TASK_CMD_EVERY|$TASK_CMD_HOURLY)([1-9]|[1-9][0-9])$TASK_CMD_MIN" && { push=off cover=on } @@ -32,22 +35,22 @@ update_core(){ #自动更新内核 check_update bin/version crash_v_new=$(eval echo \$${crashcore}_v) if [ -z "$crash_v_new" -o "$crash_v_new" = "$core_v" ];then - task_logger "任务【自动更新内核】中止-未检测到版本更新" + task_logger "$TASK_CMD_CORE_SKIP" return 0 else . "$CRASHDIR"/libs/core_tools.sh && core_webget #调用下载工具 case "$?" in 0) - task_logger "任务【自动更新内核】下载完成,正在重启服务!" + task_logger "$TASK_CMD_CORE_DONE" "$CRASHDIR"/start.sh start return 0 ;; 1) - task_logger "任务【自动更新内核】出错-下载失败!" + task_logger "$TASK_CMD_CORE_DL_FAIL" return 1 ;; *) - task_logger "任务【自动更新内核】出错-内核校验失败!" + task_logger "$TASK_CMD_CORE_VERIFY_FAIL" "$CRASHDIR"/start.sh start return 1 ;; @@ -58,13 +61,13 @@ update_scripts(){ #自动更新脚本 #检查版本 check_update version if [ -z "$versionsh" -o "$versionsh" = "versionsh_l" ];then - task_logger "任务【自动更新脚本】中止-未检测到版本更新" + task_logger "$TASK_CMD_SCRIPT_SKIP" return 0 else get_bin "$TMPDIR"/ShellCrash.tar.gz "ShellCrash.tar.gz" if [ "$?" != "0" ];then rm -rf "$TMPDIR"/ShellCrash.tar.gz - task_logger "任务【自动更新内核】出错-下载失败!" + task_logger "$TASK_CMD_CORE_DL_FAIL" return 1 else #停止服务 @@ -73,7 +76,7 @@ update_scripts(){ #自动更新脚本 tar -zxf "$TMPDIR"/ShellCrash.tar.gz ${tar_para} -C "$CRASHDIR"/ if [ $? -ne 0 ];then rm -rf "$TMPDIR"/ShellCrash.tar.gz - task_logger "任务【自动更新内核】出错-解压失败!" + task_logger "$TASK_CMD_SCRIPT_UNZIP_FAIL" "$CRASHDIR"/start.sh start return 1 else @@ -92,17 +95,17 @@ update_mmdb(){ #自动更新数据库 geo_v_new=$GeoIP_v geo_v_now=$(eval echo \$$geo_v) if [ -z "$geo_v_new" -o "$geo_v_new" = "$geo_v_now" ];then - task_logger "任务【自动更新数据库文件】跳过-未检测到$2版本更新" + task_logger "$TASK_CMD_DB_SKIP_PREFIX$2$TASK_CMD_DB_SKIP_SUFFIX" else #更新文件 get_bin "$TMPDIR"/$1 "bin/geodata/$2" if [ "$?" != "0" ];then - task_logger "任务【自动更新数据库文件】更新【$2】下载失败!" + task_logger "$TASK_CMD_DB_DL_FAIL_PREFIX$2$TASK_CMD_DB_DL_FAIL_SUFFIX" rm -rf "$TMPDIR"/$1 else mv -f "$TMPDIR"/$1 "$BINDIR"/$1 setconfig $geo_v $GeoIP_v - task_logger "任务【自动更新数据库文件】更新【$2】成功!" + task_logger "$TASK_CMD_DB_OK_PREFIX$2$TASK_CMD_DB_OK_SUFFIX" fi fi } @@ -140,8 +143,8 @@ case "$1" in task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}') task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') #task_logger "任务$task_name 开始执行" - eval $task_command && task_res=成功 || task_res=失败 - task_logger "任务【$2】执行$task_res" + 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" ;; *) "$1" diff --git a/scripts/menus/uninstall.sh b/scripts/menus/uninstall.sh index bd16286f..57b00920 100644 --- a/scripts/menus/uninstall.sh +++ b/scripts/menus/uninstall.sh @@ -1,26 +1,28 @@ #!/bin/sh # Copyright (C) Juewuy +load_lang uninstall + # 卸载 uninstall() { - comp_box "\033[31m警告:该操作不可逆!\033[0m" \ - "是否确认卸载ShellCrash?" - btm_box "1) 是" \ - "0) 否" + comp_box "\033[31m$UNINSTALL_WARN\033[0m" \ + "$UNINSTALL_CONFIRM" + btm_box "1) $UNINSTALL_YES" \ + "0) $UNINSTALL_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then # 停止服务 "$CRASHDIR"/start.sh stop 2>/dev/null - "$CRASHDIR"/start.sh cronset "clash服务" 2>/dev/null - "$CRASHDIR"/start.sh cronset "订阅链接" 2>/dev/null - "$CRASHDIR"/start.sh cronset "ShellCrash初始化" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_CLASH" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_SUB" 2>/dev/null + "$CRASHDIR"/start.sh cronset "$UNINSTALL_CRON_INIT" 2>/dev/null "$CRASHDIR"/start.sh cronset "task.sh" 2>/dev/null # 移除安装目录 if [ -n "$CRASHDIR" ] && [ "$CRASHDIR" != '/' ]; then - comp_box "是否保留脚本配置及订阅文件?" - btm_box "1) 是" \ - "0) 否" + comp_box "$UNINSTALL_KEEP_CONFIRM" + btm_box "1) $UNINSTALL_YES" \ + "0) $UNINSTALL_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = '1' ]; then mv -f "$CRASHDIR"/configs /tmp/ShellCrash/configs_bak @@ -34,7 +36,7 @@ uninstall() { rm -rf "$CRASHDIR" fi else - msg_alert "\033[31m环境变量配置有误,请尝试手动移除安装目录!\033[0m" + msg_alert "\033[31m$UNINSTALL_ENV_ERROR\033[0m" fi # 移除其他内容 @@ -48,9 +50,9 @@ uninstall() { } sed -i '/all_proxy/'d /etc/profile 2>/dev/null sed -i '/ALL_PROXY/'d /etc/profile 2>/dev/null - sed -i "/启用外网访问SSH服务/d" /etc/firewall.user 2>/dev/null - sed -i '/ShellCrash初始化/'d /etc/storage/started_script.sh 2>/dev/null - sed -i '/ShellCrash初始化/'d /jffs/.asusrouter 2>/dev/null + sed -i "/$UNINSTALL_SSH_MARK/d" /etc/firewall.user 2>/dev/null + sed -i "/$UNINSTALL_CRON_INIT/d" /etc/storage/started_script.sh 2>/dev/null + sed -i "/$UNINSTALL_CRON_INIT/d" /jffs/.asusrouter 2>/dev/null [ "$BINDIR" != "$CRASHDIR" ] && rm -rf "$BINDIR" rm -rf /etc/init.d/shellcrash rm -rf /etc/systemd/system/shellcrash.service @@ -62,12 +64,12 @@ uninstall() { userdel -r shellcrash 2>/dev/null nvram set script_usbmount="" 2>/dev/null nvram commit 2>/dev/null - comp_box "\033[36m已卸载ShellCrash相关文件!有缘再会!\033[0m" \ - "\033[33m请手动关闭当前窗口以重置环境变量!\033[0m" + comp_box "\033[36m$UNINSTALL_DONE\033[0m" \ + "\033[33m$UNINSTALL_CLOSE_HINT\033[0m" line_break sleep 1 exit 0 else - msg_alert "\033[31m操作已取消!\033[0m" + msg_alert "\033[31m$UNINSTALL_CANCELED\033[0m" fi } diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index b64c5f1d..fae079a4 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -111,8 +111,8 @@ userguide() { comp_box "\033[0m$UG_IMPORT_CONFIG\033[0m" \ "\033[32m$UG_CONFIG_TIP\033[0m" \ "$UG_CONFIG_RES" - btm_box "1) 立即导入" \ - "0) 暂不导入" + btm_box "1) $UG_IMPORT_NOW" \ + "0) $UG_IMPORT_LATER" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && inuserguide=1 && { . "$CRASHDIR"/menus/6_core_config.sh && set_core_config From 8f781874e3455db378e4de1f6f2c72028dd7d0fd Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 14 Mar 2026 03:52:28 -0700 Subject: [PATCH 234/318] =?UTF-8?q?~=E5=90=8C=E6=AD=A5=E4=B8=8A=E6=B8=B8?= =?UTF-8?q?=E6=94=B9=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/core_auto_update.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/core_auto_update.yml b/.github/workflows/core_auto_update.yml index b3fa54a5..6f755f5f 100644 --- a/.github/workflows/core_auto_update.yml +++ b/.github/workflows/core_auto_update.yml @@ -12,7 +12,7 @@ jobs: uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev with: tag1: reF1nd/sing-box - tag2: reF1nd-dev + tag2: reF1nd-testing tag4: singboxr tag5: with_gvisor,with_quic,with_dhcp,with_wireguard,with_utls,with_shadowsocksr,with_acme,with_clash_api,with_tailscale tag6: gz From 1a00022ea2fe64edde4eff81d83e95813b107a49 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 14 Mar 2026 04:37:49 -0700 Subject: [PATCH 235/318] =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20?= =?UTF-8?q?=20=20=20=20scripts/lang/chs/7=5Fgateway.lang=20=E5=B7=B2?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=20=20=20=20=20=20=20scripts/lang/en/7=5Fg?= =?UTF-8?q?ateway.lang=20=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20=20=20=20?= =?UTF-8?q?=20scripts/menus/7=5Fgateway.sh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/7_gateway.lang | 81 ++++++++++++ scripts/lang/en/7_gateway.lang | 81 ++++++++++++ scripts/menus/7_gateway.sh | 225 ++++++++++++++++---------------- 3 files changed, 275 insertions(+), 112 deletions(-) diff --git a/scripts/lang/chs/7_gateway.lang b/scripts/lang/chs/7_gateway.lang index b8027ade..92bb6a84 100644 --- a/scripts/lang/chs/7_gateway.lang +++ b/scripts/lang/chs/7_gateway.lang @@ -14,3 +14,84 @@ GW_INPUT_WSPATH="请输入ws-path路径(输入0删除)" GW_INPUT_UUID="请输入UUID(输入0删除)" GW_INPUT_HOST="请输入本机公网IP(4/6)或域名" GW_SHARE_LINK_HINT="你的分享链接是(请勿随意分享给他人):" +GW_MENU_FW_WAN="?????????" +GW_MENU_TG_BOT="??Telegram???????" +GW_MENU_DDNS="??DDNS????" +GW_MENU_VMESS="?????Vmess????" +GW_MENU_SHADOWSOCKS="?????ShadowSocks????" +GW_MENU_TS="??Tailscale????(?Singbox)" +GW_MENU_WG="??Wireguard???(?Singbox)" +GW_FW_STOP_WARN="??????????????" +GW_CONFIRM_CONTINUE="???????" +GW_YES="?" +GW_NO="?" +GW_NO_BACK="?,??????" +GW_FW_MANUAL_PORTS="????????:" +GW_FW_AUTO_PORTS="????????:" +GW_FW_DEFAULT_BLOCK="??????:" +GW_FW_TOGGLE="??/???????:" +GW_FW_ADD_PORT="??????(?????????)" +GW_FW_REMOVE_PORT="??????????" +GW_FW_CLEAR_PORTS="??????????" +GW_FW_DISABLE_CONFIRM="??????????" +GW_FW_DISABLE_RISK="???????????!" +GW_ERR_DUP_PORT="????!??????!" +GW_ERR_PORT_RANGE="????!????????(1-65535)!" +GW_ERR_INPUT="????!" +GW_INPUT_REMOVE_PORT="????????????" +GW_INPUT_0_BACK="??? 0 ??????" +GW_ERR_PORT_NOT_FOUND="??????????!" +GW_TG_CMD_MENU="??ShellCrash??" +GW_TG_CMD_HELP="????" +GW_TG_WARN="????????,?????????????!" +GW_TG_TOGGLE="??/??TG-BOT??" +GW_TG_BIND="TG-BOT????" +GW_TG_MENUPUSH="???????" +GW_TG_BIND_FIRST="????TG-BOT!" +GW_TG_BOUND_DETECTED="????????TG??BOT" +GW_TG_USE_DIRECT="???????" +GW_INBOUND_WARN_PORT="?????????????????????!" +GW_INBOUND_WARN_BASIC="?????????,???????????????!" +GW_INBOUND_WARN_ILLEGAL="????????????,??????!" +GW_VMS_TOGGLE="??/??Vmess??" +GW_SET_LISTEN_PORT="??????:" +GW_SET_WSPATH="??WS-path(??):" +GW_SET_UUID="????-uuid:" +GW_GEN_RANDOM_KEY="????????" +GW_SET_OBFS_HOST="????host(??):" +GW_GEN_SHARE_LINK="????????" +GW_FILL_REQUIRED="????????!" +GW_ERR_WSPATH="?????path??,????/???!" +GW_ERR_UUID="?????UUID??,??????????????!" +GW_INPUT_OBFS_HOST="???????host(??0??)" +GW_SS_TOGGLE="??/??ShadowSocks??" +GW_SS_SELECT_CIPHER="???????????:" +GW_SS_SET_PWD="??password:" +GW_SS_2022_NOTE_HEADER=" - - - - - - -\033[31m??\033[0m- - - - - - -" +GW_SS_2022_REQUIRE=" 2022?????????????password!" +GW_SS_2022_PASSWORD_ONLY="2022???????????????password!" +GW_TS_WARN="????????????????Tailscale??\n??????????????????????!" +GW_TS_KEY_URL="????:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" +GW_TS_ALLOW_URL="????????????:\033[32;4mhttps://login.tailscale.com\033[0m" +GW_TS_SUBNET_EXIT_HINT="???????????????Subnet?EXIT-NODE??" +GW_TS_TOGGLE="??/??Tailscale??" +GW_TS_SET_AUTHKEY="????(Auth Key)" +GW_TS_SUBNET="????????(Subnet)" +GW_TS_EXIT_NODE="????????(EXIT-NODE)" +GW_TS_HOSTNAME="??????(??)" +GW_TS_SET_KEY_FIRST="??????!" +GW_TS_INPUT_KEY="?????(??0??)" +GW_TS_EXITNODE_WARN="??exitnode???DNS?bug,???????????TailscaleDNS,\n?????????Globalname servers?????????IP???override" +GW_TS_INPUT_NAME="????????Tailscale???????" +GW_WG_WARN="????????????????WireGuard??\n??????????????????????!" +GW_WG_TOGGLE="??/??Wireguard??" +GW_WG_SET_ENDPOINT="??Endpoint??:" +GW_WG_SET_ENDPOINT_PORT="??Endpoint??:" +GW_WG_SET_PUBLIC="????-PublicKey:" +GW_WG_SET_PRESHARED="????-PresharedKey:" +GW_WG_SET_PRIVATE="????-PrivateKey:" +GW_WG_SET_IPV4="????IPV4??:" +GW_WG_SET_IPV6="?? ??IPV6??:" +GW_INPUT_TEXT_DEL0="???????(???0??)" +GW_INPUT_PLAIN="???" +GW_INPUT_PWD_DEL0="?????(??0??)" diff --git a/scripts/lang/en/7_gateway.lang b/scripts/lang/en/7_gateway.lang index 1dbc59fe..f74107cf 100644 --- a/scripts/lang/en/7_gateway.lang +++ b/scripts/lang/en/7_gateway.lang @@ -14,3 +14,84 @@ GW_INPUT_WSPATH="Enter ws-path (0 to delete)" GW_INPUT_UUID="Enter UUID (0 to delete)" GW_INPUT_HOST="Enter your public IP (v4/v6) or domain" GW_SHARE_LINK_HINT="Your share link (do not share casually):" +GW_MENU_FW_WAN="Configure WAN Firewall" +GW_MENU_TG_BOT="Configure Telegram Control Bot" +GW_MENU_DDNS="Configure DDNS Domain" +GW_MENU_VMESS="Custom Public Vmess Inbound" +GW_MENU_SHADOWSOCKS="Custom Public ShadowSocks Inbound" +GW_MENU_TS="Configure Tailscale Intranet (Singbox only)" +GW_MENU_WG="Configure Wireguard Client (Singbox only)" +GW_FW_STOP_WARN="WAN firewall requires stopping the service first" +GW_CONFIRM_CONTINUE="Continue?" +GW_YES="Yes" +GW_NO="No" +GW_NO_BACK="No, back to previous menu" +GW_FW_MANUAL_PORTS="Manual allowed ports: " +GW_FW_AUTO_PORTS="Auto allowed ports: " +GW_FW_DEFAULT_BLOCK="Default blocked ports: " +GW_FW_TOGGLE="Enable/Disable WAN firewall: " +GW_FW_ADD_PORT="Add allowed ports (can include default blocked ports)" +GW_FW_REMOVE_PORT="Remove a specific manual port" +GW_FW_CLEAR_PORTS="Clear all manual allowed ports" +GW_FW_DISABLE_CONFIRM="Confirm disabling firewall?" +GW_FW_DISABLE_RISK="This can pose a serious security risk!" +GW_ERR_DUP_PORT="Invalid input! Do not add duplicates!" +GW_ERR_PORT_RANGE="Invalid input! Enter a valid number (1-65535)!" +GW_ERR_INPUT="Invalid input!" +GW_INPUT_REMOVE_PORT="Enter the port to remove" +GW_INPUT_0_BACK="Or enter 0 to go back" +GW_ERR_PORT_NOT_FOUND="Please enter a port that was added!" +GW_TG_CMD_MENU="Open ShellCrash menu" +GW_TG_CMD_HELP="View help" +GW_TG_WARN="Due to network conditions, this bot only runs when the service is started!" +GW_TG_TOGGLE="Enable/Disable TG-BOT service" +GW_TG_BIND="TG-BOT binding" +GW_TG_MENUPUSH="Push menu on start" +GW_TG_BIND_FIRST="Please bind TG-BOT first!" +GW_TG_BOUND_DETECTED="Detected an existing TG push bot binding" +GW_TG_USE_DIRECT="Use it directly?" +GW_INBOUND_WARN_PORT="The configured port will be added to the WAN firewall and allowed automatically!" +GW_INBOUND_WARN_BASIC="This script provides basic features only. Use custom config for more needs!" +GW_INBOUND_WARN_ILLEGAL="Do not use it for illegal proxying. You are responsible for consequences!" +GW_VMS_TOGGLE="Enable/Disable Vmess inbound" +GW_SET_LISTEN_PORT="Set listen port:" +GW_SET_WSPATH="Set WS-path (optional):" +GW_SET_UUID="Set key-uuid:" +GW_GEN_RANDOM_KEY="Generate random key" +GW_SET_OBFS_HOST="Set obfs host (optional):" +GW_GEN_SHARE_LINK="Generate share link" +GW_FILL_REQUIRED="Please complete required settings first!" +GW_ERR_WSPATH="Invalid path. It must start with '/'." +GW_ERR_UUID="Invalid UUID format. Re-enter or use random generation." +GW_INPUT_OBFS_HOST="Enter obfs host (0 to delete)" +GW_SS_TOGGLE="Enable/Disable ShadowSocks inbound" +GW_SS_SELECT_CIPHER="Select cipher to use:" +GW_SS_SET_PWD="Set password:" +GW_SS_2022_NOTE_HEADER=" - - - - - - -\033[31mNotice\033[0m- - - - - - -" +GW_SS_2022_REQUIRE=" 2022 ciphers require a randomly generated password!" +GW_SS_2022_PASSWORD_ONLY="2022 ciphers require a script-generated password!" +GW_TS_WARN="The default core is built without the Tailscale module to save memory.\nPlease switch to a full custom core if you need it!" +GW_TS_KEY_URL="Create key:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" +GW_TS_ALLOW_URL="Allow advertised routes for non-local targets:\033[32;4mhttps://login.tailscale.com\033[0m" +GW_TS_SUBNET_EXIT_HINT="For non-local targets, use Subnet or EXIT-NODE mode in the client" +GW_TS_TOGGLE="Enable/Disable Tailscale service" +GW_TS_SET_AUTHKEY="Set Auth Key" +GW_TS_SUBNET="Advertise subnet routes" +GW_TS_EXIT_NODE="Advertise all traffic (EXIT-NODE)" +GW_TS_HOSTNAME="Set device name (optional)" +GW_TS_SET_KEY_FIRST="Please set the Auth Key first!" +GW_TS_INPUT_KEY="Enter Auth Key (0 to delete)" +GW_TS_EXITNODE_WARN="The official exitnode DNS has a bug. Either enable domain sniffing and disable Tailscale DNS,\nor set Globalname servers to this device subnet IP in the web UI and enable override." +GW_TS_INPUT_NAME="Enter the device name to show in Tailscale" +GW_WG_WARN="The default core is built without the WireGuard module to save memory.\nPlease switch to a full custom core if you need it!" +GW_WG_TOGGLE="Enable/Disable Wireguard service" +GW_WG_SET_ENDPOINT="Set Endpoint address:" +GW_WG_SET_ENDPOINT_PORT="Set Endpoint port:" +GW_WG_SET_PUBLIC="Set PublicKey:" +GW_WG_SET_PRESHARED="Set PresharedKey:" +GW_WG_SET_PRIVATE="Set PrivateKey:" +GW_WG_SET_IPV4="Set IPv4 address:" +GW_WG_SET_IPV6="Optional IPv6 address:" +GW_INPUT_TEXT_DEL0="Enter value (Enter or 0 to delete)" +GW_INPUT_PLAIN="Enter" +GW_INPUT_PWD_DEL0="Enter password (0 to delete)" diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index ab127aa9..677dd6c4 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -12,15 +12,15 @@ load_lang 7_gateway # 访问与控制主菜单 gateway() { while true; do - comp_box "\033[30;47m访问与控制菜单\033[0m" - content_line "1) 配置\033[33m公网访问防火墙 \033[32m$fw_wan\033[0m" - content_line "2) 配置\033[36mTelegram专属控制机器人 \033[32m$bot_tg_service\033[0m" - content_line "3) 配置\033[36mDDNS自动域名\033[0m" + comp_box "\033[30;47m$GW_TITLE\033[0m" + content_line "1) $GW_MENU_FW_WAN \033[32m$fw_wan\033[0m" + content_line "2) $GW_MENU_TG_BOT \033[32m$bot_tg_service\033[0m" + content_line "3) $GW_MENU_DDNS" [ "$disoverride" != "1" ] && { - content_line "4) 自定义\033[33m公网Vmess入站\033[0m节点 \033[32m$vms_service\033[0m" - content_line "5) 自定义\033[33m公网ShadowSocks入站\033[0m节点 \033[32m$sss_service\033[0m" - content_line "6) 配置\033[36mTailscale内网穿透\033[0m(限Singbox) \033[32m$ts_service\033[0m" - content_line "7) 配置\033[36mWireguard客户端\033[0m(限Singbox) \033[32m$wg_service\033[0m" + content_line "4) $GW_MENU_VMESS \033[32m$vms_service\033[0m" + content_line "5) $GW_MENU_SHADOWSOCKS \033[32m$sss_service\033[0m" + content_line "6) $GW_MENU_TS \033[32m$ts_service\033[0m" + content_line "7) $GW_MENU_WG \033[32m$wg_service\033[0m" } btm_box "" \ "0) $COMMON_BACK" @@ -31,11 +31,11 @@ gateway() { ;; 1) if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - comp_box "\033[33m公网访问防火墙需要先停止服务\033[0m" \ - "是否确认继续?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "\033[33m$GW_FW_STOP_WARN\033[0m" \ + "$GW_CONFIRM_CONTINUE" + btm_box "1) $GW_YES" \ + "0) $GW_NO_BACK" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then "$CRASHDIR"/start.sh stop && set_fw_wan else @@ -61,14 +61,14 @@ gateway() { if echo "$crashcore" | grep -q 'sing'; then set_tailscale else - msg_alert "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" fi ;; 7) if echo "$crashcore" | grep -q 'sing'; then set_wireguard else - msg_alert "\033[33m$crashcore内核暂不支持此功能,请先更换内核!\033[0m" + msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" fi ;; *) @@ -84,17 +84,17 @@ set_fw_wan() { [ -z "$fw_wan" ] && fw_wan=ON line_break separator_line "=" - content_line "\033[31m注意:\033[0m如在vps运行,还需在vps安全策略对相关端口同时放行" + content_line "\033[31m$GW_WARN\033[0m$GW_FW_VPS_HINT" [ -n "$fw_wan_ports" ] && - content_line "当前手动放行端口:\033[36m$fw_wan_ports\033[0m" + content_line "$GW_FW_MANUAL_PORTS\033[36m$fw_wan_ports\033[0m" [ -n "$vms_port$sss_port" ] && - content_line "当前自动放行端口:\033[36m$vms_port $sss_port\033[0m" - content_line "默认拦截端口:\033[33m$mix_port,$db_port\033[0m" + content_line "$GW_FW_AUTO_PORTS\033[36m$vms_port $sss_port\033[0m" + content_line "$GW_FW_DEFAULT_BLOCK\033[33m$mix_port,$db_port\033[0m" separator_line "=" - btm_box "1) 启用/关闭公网防火墙:\033[36m$fw_wan\033[0m" \ - "2) 添加放行端口(可包含默认拦截端口)" \ - "3) 移除指定手动放行端口" \ - "4) 清空全部手动放行端口" \ + btm_box "1) $GW_FW_TOGGLE\033[36m$fw_wan\033[0m" \ + "2) $GW_FW_ADD_PORT" \ + "3) $GW_FW_REMOVE_PORT" \ + "4) $GW_FW_CLEAR_PORTS" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -104,11 +104,11 @@ set_fw_wan() { ;; 1) if [ "$fw_wan" = ON ]; then - comp_box "是否确认关闭防火墙?" \ - "这会带来极大的安全隐患!" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$GW_FW_DISABLE_CONFIRM" \ + "$GW_FW_DISABLE_RISK" + btm_box "1) $GW_YES" \ + "0) $GW_NO_BACK" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then fw_wan=OFF else @@ -122,14 +122,14 @@ set_fw_wan() { 2) port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') if [ "$port_count" -ge 10 ]; then - msg_alert "\033[31m最多支持设置放行10个端口,请先减少一些!\033[0m" + msg_alert "\033[31m$GW_FW_PORT_LIMIT\033[0m" else line_break read -r -p "$GW_INPUT_ALLOW_PORT> " port if echo ",$fw_wan_ports," | grep -q ",$port,"; then - msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" + msg_alert "\033[31m$GW_ERR_DUP_PORT\033[0m" elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m$GW_ERR_PORT_RANGE\033[0m" else fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") if setconfig fw_wan_ports "$fw_wan_ports"; then @@ -142,30 +142,30 @@ set_fw_wan() { ;; 3) while true; do - comp_box "\033[36m请直接输入要移除的端口号\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " port + comp_box "\033[36m$GW_INPUT_REMOVE_PORT\033[0m" \ + "$GW_INPUT_0_BACK" + read -r -p "$GW_INPUT_PLAIN> " port if [ "$port" = 0 ]; then break elif echo ",$fw_wan_ports," | grep -q ",$port,"; then if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m输入错误!\033[0m" \ - "\033[31m请输入正确的数值(1-65535)!\033[0m" + msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ + "\033[31m$GW_ERR_PORT_RANGE\033[0m" else fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") setconfig fw_wan_ports "$fw_wan_ports" break fi else - msg_alert "\033[31m输入错误!\033[0m" \ - "\033[31m请输入已添加过的端口!\033[0m" + msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ + "\033[31m$GW_ERR_PORT_NOT_FOUND\033[0m" fi done ;; 4) fw_wan_ports='' setconfig fw_wan_ports - msg_alert "\033[32m操作成功\033[0m" + msg_alert "\033[32m$GW_OK\033[0m" ;; *) errornum @@ -183,8 +183,8 @@ set_bot_tg_config() { cat < " num @@ -240,16 +240,16 @@ set_bot_tg() { if [ -n "$TG_CHATID" ]; then set_bot_tg_service else - msg_alert "\033[31m请先绑定TG-BOT!\033[0m" + msg_alert "\033[31m$GW_TG_BIND_FIRST\033[0m" fi ;; 2) if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - comp_box "检测到已经绑定了TG推送BOT" \ - "是否直接使用?" - btm_box "1) 是" \ - "0) 否" - read -r -p "请输入对应标号> " res + comp_box "$GW_TG_BOUND_DETECTED" \ + "$GW_TG_USE_DIRECT" + btm_box "1) $GW_YES" \ + "0) $GW_NO" + read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then TOKEN="$push_TG" set_bot_tg_config @@ -277,18 +277,18 @@ set_bot_tg() { # 自定义入站 set_vmess() { while true; do - comp_box "\033[31m注意:\033[0m" \ - "设置的端口会添加到公网访问防火墙并自动放行!" \ - "脚本只提供基础功能,更多需求请用自定义配置文件功能!" \ - "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - content_line "1) \033[32m启用/关闭\033[0mVmess入站 \033[32m$vms_service\033[0m" - content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$vms_port\033[0m" - content_line "3) 设置\033[33mWS-path(可选)\033[0m: \033[33m$vms_ws_path\033[0m" - content_line "4) 设置\033[36m秘钥-uuid\033[0m: \033[36m$vms_uuid\033[0m" - content_line "5) 一键生成\033[32m随机秘钥\033[0m" + comp_box "\033[31m$GW_WARN\033[0m" \ + "$GW_INBOUND_WARN_PORT" \ + "$GW_INBOUND_WARN_BASIC" \ + "\033[31m$GW_INBOUND_WARN_ILLEGAL\033[0m" + content_line "1) \033[32m$GW_VMS_TOGGLE\033[0m \033[32m$vms_service\033[0m" + content_line "2) $GW_SET_LISTEN_PORT \033[36m$vms_port\033[0m" + content_line "3) $GW_SET_WSPATH \033[33m$vms_ws_path\033[0m" + content_line "4) $GW_SET_UUID \033[36m$vms_uuid\033[0m" + content_line "5) $GW_GEN_RANDOM_KEY" gen_base64 1 >/dev/null 2>&1 && - content_line "6) 设置\033[36m混淆host(可选)\033[0m: \033[33m$vms_host\033[0m" - btm_box "7) 一键生成\033[32m分享链接\033[0m" \ + content_line "6) $GW_SET_OBFS_HOST \033[33m$vms_host\033[0m" + btm_box "7) $GW_GEN_SHARE_LINK" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -305,7 +305,7 @@ set_vmess() { vms_service=ON setconfig vms_service "$vms_service" else - msg_alert "\033[31m请先完成必选设置!\033[0m" + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" fi fi ;; @@ -332,7 +332,7 @@ set_vmess() { vms_ws_path="$text" setconfig vms_ws_path "$text" "$GT_CFG_PATH" else - msg_alert "\033[31m不是合法的path路径,必须以【/】开头!\033[0m" + msg_alert "\033[31m$GW_ERR_WSPATH\033[0m" fi ;; 4) @@ -345,7 +345,7 @@ set_vmess() { vms_uuid="$text" setconfig vms_uuid "$text" "$GT_CFG_PATH" else - msg_alert "\033[31m不是合法的UUID格式,请重新输入或使用随机生成功能!\033[0m" + msg_alert "\033[31m$GW_ERR_UUID\033[0m" fi ;; 5) @@ -355,7 +355,7 @@ set_vmess() { ;; 6) line_break - read -r -p "请输入免流混淆host(输入0删除)> " text + read -r -p "$GW_INPUT_OBFS_HOST> " text if [ "$text" = 0 ]; then vms_host='' setconfig vms_host "" "$GT_CFG_PATH" @@ -366,7 +366,7 @@ set_vmess() { ;; 7) line_break - read -r -p "请输入本机公网IP(4/6)或域名> " host_wan + read -r -p "$GW_INPUT_HOST> " host_wan if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then [ -n "$vms_ws_path" ] && vms_net=ws vms_json=$( @@ -387,10 +387,10 @@ EOF ) vms_link="vmess://$(gen_base64 "$vms_json")" line_break - echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$vms_link\033[0m" + echo -e "$GW_SHARE_LINK_HINT\n\033[32m$vms_link\033[0m" sleep 1 else - msg_alert "\033[31m请先完成必选设置!\033[0m" + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" fi ;; *) @@ -402,16 +402,16 @@ EOF set_shadowsocks() { while true; do - comp_box "\033[31m注意:\033[0m" \ - "设置的端口会添加到公网访问防火墙并自动放行!" \ - "脚本只提供基础功能,更多需求请用自定义配置文件功能!" \ - "\033[31m切勿用于搭建违法翻墙节点,违者后果自负!\033[0m" - content_line "1) \033[32m启用/关闭\033[0mShadowSocks入站 \033[32m$sss_service\033[0m" - content_line "2) 设置\033[36m监听端口\033[0m: \033[36m$sss_port\033[0m" - content_line "3) 选择\033[33m加密协议\033[0m: \033[33m$sss_cipher\033[0m" - content_line "4) 设置\033[36mpassword\033[0m: \033[36m$sss_pwd\033[0m" + comp_box "\033[31m$GW_WARN\033[0m" \ + "$GW_INBOUND_WARN_PORT" \ + "$GW_INBOUND_WARN_BASIC" \ + "\033[31m$GW_INBOUND_WARN_ILLEGAL\033[0m" + content_line "1) \033[32m$GW_SS_TOGGLE\033[0m \033[32m$sss_service\033[0m" + content_line "2) $GW_SET_LISTEN_PORT \033[36m$sss_port\033[0m" + content_line "3) $GW_SS_SELECT_CIPHER \033[33m$sss_cipher\033[0m" + content_line "4) $GW_SS_SET_PWD \033[36m$sss_pwd\033[0m" gen_base64 1 >/dev/null 2>&1 && - content_line "5) 一键生成分享链接" + content_line "5) $GW_GEN_SHARE_LINK" btm_box "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -428,7 +428,7 @@ set_shadowsocks() { sss_service=ON setconfig sss_service "$sss_service" else - msg_alert "\033[31m请先完成必选设置!\033[0m" + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" fi fi ;; @@ -446,15 +446,15 @@ set_shadowsocks() { fi ;; 3) - comp_box "请选择要使用的加密协议:" + comp_box "$GW_SS_SELECT_CIPHER" content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" content_line "3) \033[32maes-128-gcm\033[0m" content_line "4) \033[32maes-256-gcm\033[0m" gen_random 1 >/dev/null && { content_line "" - content_line " - - - - - - -\033[31m注意\033[0m- - - - - - -" - content_line " 2022系列加密必须使用随机生成的password!" + content_line "$GW_SS_2022_NOTE_HEADER" + content_line "$GW_SS_2022_REQUIRE" content_line "5) \033[32m2022-blake3-chacha20-poly1305\033[0m" content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" @@ -501,10 +501,10 @@ set_shadowsocks() { ;; 4) if echo "$sss_cipher" | grep -q '2022-blake3'; then - msg_alert "\033[31m注意:\033[0m2022系列加密必须使用脚本随机生成的password!" + msg_alert "\033[31m$GW_WARN\033[0m$GW_SS_2022_PASSWORD_ONLY" else line_break - read -r -p "请输入秘钥(输入0删除)> " text + read -r -p "$GW_INPUT_PWD_DEL0> " text [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" setconfig sss_pwd "$text" "$GT_CFG_PATH" fi @@ -515,10 +515,10 @@ set_shadowsocks() { if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" line_break - echo -e "你的分享链接是(请勿随意分享给他人):\n\033[32m$ss_link\033[0m" + echo -e "$GW_SHARE_LINK_HINT\n\033[32m$ss_link\033[0m" sleep 1 else - msg_alert "\033[31m请先完成必选设置!\033[0m" + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" fi ;; *) @@ -532,15 +532,15 @@ set_shadowsocks() { set_tailscale() { while true; do [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' - comp_box "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" \ - "创建秘钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" \ - "访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" \ - "访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" - btm_box "1) \033[32m启用/关闭\033[0mTailscale服务 \033[32m$ts_service\033[0m" \ - "2) 设置\033[36m秘钥\033[0m(Auth Key) $ts_auth_key_info" \ - "3) 通告路由\033[33m内网地址\033[0m(Subnet) \033[36m$ts_subnet\033[0m" \ - "4) 通告路由\033[31m全部流量\033[0m(EXIT-NODE) \033[36m$ts_exit_node\033[0m" \ - "5) 设置\033[36m设备名称\033[0m(可选) $ts_hostname" \ + comp_box "\033[31m$GW_WARN\033[0m$GW_TS_WARN" \ + "$GW_TS_KEY_URL" \ + "$GW_TS_ALLOW_URL" \ + "$GW_TS_SUBNET_EXIT_HINT" + btm_box "1) \033[32m$GW_TS_TOGGLE\033[0m \033[32m$ts_service\033[0m" \ + "2) $GW_TS_SET_AUTHKEY $ts_auth_key_info" \ + "3) $GW_TS_SUBNET \033[36m$ts_subnet\033[0m" \ + "4) $GW_TS_EXIT_NODE \033[36m$ts_exit_node\033[0m" \ + "5) $GW_TS_HOSTNAME $ts_hostname" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -553,12 +553,12 @@ set_tailscale() { [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON setconfig ts_service "$ts_service" else - msg_alert "\033[31m请先设置秘钥!\033[0m" + msg_alert "\033[31m$GW_TS_SET_KEY_FIRST\033[0m" fi ;; 2) line_break - read -r -p "请输入秘钥(输入0删除)> " text + read -r -p "$GW_TS_INPUT_KEY> " text [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" ;; @@ -571,14 +571,14 @@ set_tailscale() { ts_exit_node=false else ts_exit_node=true - msg_alert -t 3 "\033[31m注意:\033[0m目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" + msg_alert -t 3 "\033[31m$GW_WARN\033[0m$GW_TS_EXITNODE_WARN" fi setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" ;; 5) - comp_box "\033[36m请直接输入希望在Tailscale显示的设备名称\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " ts_hostname + comp_box "\033[36m$GW_TS_INPUT_NAME\033[0m" \ + "$GW_INPUT_0_BACK" + read -r -p "$GW_INPUT_PLAIN> " ts_hostname if [ "$ts_hostname" != 0 ]; then setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" fi @@ -610,17 +610,17 @@ set_wireguard() { else unset wgpsk_key_info fi - comp_box "\033[31m注意:\033[0m脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" - btm_box "1) \033[32m启用/关闭\033[0mWireguard服务 \033[32m$wg_service\033[0m" \ + comp_box "\033[31m$GW_WARN\033[0m$GW_WG_WARN" + btm_box "1) \033[32m$GW_WG_TOGGLE\033[0m \033[32m$wg_service\033[0m" \ "" \ - "2) 设置\033[36mEndpoint地址\033[0m: \033[36m$wg_server\033[0m" \ - "3) 设置\033[36mEndpoint端口\033[0m: \033[36m$wg_port\033[0m" \ - "4) 设置\033[36m公钥-PublicKey\033[0m: \033[36m$wgp_key_info\033[0m" \ - "5) 设置\033[36m密钥-PresharedKey\033[0m: \033[36m$wgpsk_key_info\033[0m" \ + "2) $GW_WG_SET_ENDPOINT \033[36m$wg_server\033[0m" \ + "3) $GW_WG_SET_ENDPOINT_PORT \033[36m$wg_port\033[0m" \ + "4) $GW_WG_SET_PUBLIC \033[36m$wgp_key_info\033[0m" \ + "5) $GW_WG_SET_PRESHARED \033[36m$wgpsk_key_info\033[0m" \ "" \ - "6) 设置\033[33m私钥-PrivateKey\033[0m: \033[33m$wgv_key_info\033[0m" \ - "7) 设置\033[33m组网IPV4地址\033[0m: \033[33m$wg_ipv4\033[0m" \ - "8) 可选\033[33m组网IPV6地址\033[0m: \033[33m$wg_ipv6\033[0m" \ + "6) $GW_WG_SET_PRIVATE \033[33m$wgv_key_info\033[0m" \ + "7) $GW_WG_SET_IPV4 \033[33m$wg_ipv4\033[0m" \ + "8) $GW_WG_SET_IPV6 \033[33m$wg_ipv6\033[0m" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -633,12 +633,12 @@ set_wireguard() { [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON setconfig wg_service "$wg_service" else - msg_alert "\033[31m请先完成必选设置!\033[0m" + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" fi ;; [1-8]) line_break - read -r -p "请输入相应内容(回车或0删除)> " text + read -r -p "$GW_INPUT_TEXT_DEL0> " text [ "$text" = 0 ] && text='' case "$num" in 2) @@ -677,3 +677,4 @@ set_wireguard() { esac done } + From c0e3992d40f7049efb80d9bc1f1e39d45e732bdd Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 22 Mar 2026 20:03:54 +0800 Subject: [PATCH 236/318] =?UTF-8?q?=E5=B7=B2=E4=BF=AE=E6=94=B9=20=20=20=20?= =?UTF-8?q?=20=20=20=20scripts/lang/chs/7=5Fgateway.lang?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/7_gateway.lang | 164 ++++++++++++++++---------------- 1 file changed, 82 insertions(+), 82 deletions(-) diff --git a/scripts/lang/chs/7_gateway.lang b/scripts/lang/chs/7_gateway.lang index 92bb6a84..ddfb9dec 100644 --- a/scripts/lang/chs/7_gateway.lang +++ b/scripts/lang/chs/7_gateway.lang @@ -1,4 +1,4 @@ -GW_TITLE="访问与控制菜单" +GW_TITLE="访问与控制菜单" GW_WARN="注意:" GW_FW_VPS_HINT="如在vps运行,还需在vps安全策略对相关端口同时放行" GW_FW_PORT_LIMIT="最多支持设置放行10个端口,请先减少一些!" @@ -14,84 +14,84 @@ GW_INPUT_WSPATH="请输入ws-path路径(输入0删除)" GW_INPUT_UUID="请输入UUID(输入0删除)" GW_INPUT_HOST="请输入本机公网IP(4/6)或域名" GW_SHARE_LINK_HINT="你的分享链接是(请勿随意分享给他人):" -GW_MENU_FW_WAN="?????????" -GW_MENU_TG_BOT="??Telegram???????" -GW_MENU_DDNS="??DDNS????" -GW_MENU_VMESS="?????Vmess????" -GW_MENU_SHADOWSOCKS="?????ShadowSocks????" -GW_MENU_TS="??Tailscale????(?Singbox)" -GW_MENU_WG="??Wireguard???(?Singbox)" -GW_FW_STOP_WARN="??????????????" -GW_CONFIRM_CONTINUE="???????" -GW_YES="?" -GW_NO="?" -GW_NO_BACK="?,??????" -GW_FW_MANUAL_PORTS="????????:" -GW_FW_AUTO_PORTS="????????:" -GW_FW_DEFAULT_BLOCK="??????:" -GW_FW_TOGGLE="??/???????:" -GW_FW_ADD_PORT="??????(?????????)" -GW_FW_REMOVE_PORT="??????????" -GW_FW_CLEAR_PORTS="??????????" -GW_FW_DISABLE_CONFIRM="??????????" -GW_FW_DISABLE_RISK="???????????!" -GW_ERR_DUP_PORT="????!??????!" -GW_ERR_PORT_RANGE="????!????????(1-65535)!" -GW_ERR_INPUT="????!" -GW_INPUT_REMOVE_PORT="????????????" -GW_INPUT_0_BACK="??? 0 ??????" -GW_ERR_PORT_NOT_FOUND="??????????!" -GW_TG_CMD_MENU="??ShellCrash??" -GW_TG_CMD_HELP="????" -GW_TG_WARN="????????,?????????????!" -GW_TG_TOGGLE="??/??TG-BOT??" -GW_TG_BIND="TG-BOT????" -GW_TG_MENUPUSH="???????" -GW_TG_BIND_FIRST="????TG-BOT!" -GW_TG_BOUND_DETECTED="????????TG??BOT" -GW_TG_USE_DIRECT="???????" -GW_INBOUND_WARN_PORT="?????????????????????!" -GW_INBOUND_WARN_BASIC="?????????,???????????????!" -GW_INBOUND_WARN_ILLEGAL="????????????,??????!" -GW_VMS_TOGGLE="??/??Vmess??" -GW_SET_LISTEN_PORT="??????:" -GW_SET_WSPATH="??WS-path(??):" -GW_SET_UUID="????-uuid:" -GW_GEN_RANDOM_KEY="????????" -GW_SET_OBFS_HOST="????host(??):" -GW_GEN_SHARE_LINK="????????" -GW_FILL_REQUIRED="????????!" -GW_ERR_WSPATH="?????path??,????/???!" -GW_ERR_UUID="?????UUID??,??????????????!" -GW_INPUT_OBFS_HOST="???????host(??0??)" -GW_SS_TOGGLE="??/??ShadowSocks??" -GW_SS_SELECT_CIPHER="???????????:" -GW_SS_SET_PWD="??password:" -GW_SS_2022_NOTE_HEADER=" - - - - - - -\033[31m??\033[0m- - - - - - -" -GW_SS_2022_REQUIRE=" 2022?????????????password!" -GW_SS_2022_PASSWORD_ONLY="2022???????????????password!" -GW_TS_WARN="????????????????Tailscale??\n??????????????????????!" -GW_TS_KEY_URL="????:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" -GW_TS_ALLOW_URL="????????????:\033[32;4mhttps://login.tailscale.com\033[0m" -GW_TS_SUBNET_EXIT_HINT="???????????????Subnet?EXIT-NODE??" -GW_TS_TOGGLE="??/??Tailscale??" -GW_TS_SET_AUTHKEY="????(Auth Key)" -GW_TS_SUBNET="????????(Subnet)" -GW_TS_EXIT_NODE="????????(EXIT-NODE)" -GW_TS_HOSTNAME="??????(??)" -GW_TS_SET_KEY_FIRST="??????!" -GW_TS_INPUT_KEY="?????(??0??)" -GW_TS_EXITNODE_WARN="??exitnode???DNS?bug,???????????TailscaleDNS,\n?????????Globalname servers?????????IP???override" -GW_TS_INPUT_NAME="????????Tailscale???????" -GW_WG_WARN="????????????????WireGuard??\n??????????????????????!" -GW_WG_TOGGLE="??/??Wireguard??" -GW_WG_SET_ENDPOINT="??Endpoint??:" -GW_WG_SET_ENDPOINT_PORT="??Endpoint??:" -GW_WG_SET_PUBLIC="????-PublicKey:" -GW_WG_SET_PRESHARED="????-PresharedKey:" -GW_WG_SET_PRIVATE="????-PrivateKey:" -GW_WG_SET_IPV4="????IPV4??:" -GW_WG_SET_IPV6="?? ??IPV6??:" -GW_INPUT_TEXT_DEL0="???????(???0??)" -GW_INPUT_PLAIN="???" -GW_INPUT_PWD_DEL0="?????(??0??)" +GW_MENU_FW_WAN="配置公网访问防火墙" +GW_MENU_TG_BOT="配置Telegram专属控制机器人" +GW_MENU_DDNS="配置DDNS自动域名" +GW_MENU_VMESS="自定义公网Vmess入站节点" +GW_MENU_SHADOWSOCKS="自定义公网ShadowSocks入站节点" +GW_MENU_TS="配置Tailscale内网穿透(限Singbox)" +GW_MENU_WG="配置Wireguard客户端(限Singbox)" +GW_FW_STOP_WARN="公网访问防火墙需要先停止服务" +GW_CONFIRM_CONTINUE="是否确认继续?" +GW_YES="是" +GW_NO="否" +GW_NO_BACK="否,返回上级菜单" +GW_FW_MANUAL_PORTS="当前手动放行端口:" +GW_FW_AUTO_PORTS="当前自动放行端口:" +GW_FW_DEFAULT_BLOCK="默认拦截端口:" +GW_FW_TOGGLE="启用/关闭公网防火墙:" +GW_FW_ADD_PORT="添加放行端口(可包含默认拦截端口)" +GW_FW_REMOVE_PORT="移除指定手动放行端口" +GW_FW_CLEAR_PORTS="清空全部手动放行端口" +GW_FW_DISABLE_CONFIRM="是否确认关闭防火墙?" +GW_FW_DISABLE_RISK="这会带来极大的安全隐患!" +GW_ERR_DUP_PORT="输入错误!请勿重复添加!" +GW_ERR_PORT_RANGE="输入错误!请输入正确的数值(1-65535)!" +GW_ERR_INPUT="输入错误!" +GW_INPUT_REMOVE_PORT="请直接输入要移除的端口号" +GW_INPUT_0_BACK="或输入 0 返回上级菜单" +GW_ERR_PORT_NOT_FOUND="请输入已添加过的端口!" +GW_TG_CMD_MENU="呼出ShellCrash菜单" +GW_TG_CMD_HELP="查看帮助" +GW_TG_WARN="由于网络环境原因,此机器人仅限服务启动时运行!" +GW_TG_TOGGLE="启用/关闭TG-BOT服务" +GW_TG_BIND="TG-BOT绑定设置" +GW_TG_MENUPUSH="启动时推送菜单" +GW_TG_BIND_FIRST="请先绑定TG-BOT!" +GW_TG_BOUND_DETECTED="检测到已经绑定了TG推送BOT" +GW_TG_USE_DIRECT="是否直接使用?" +GW_INBOUND_WARN_PORT="设置的端口会添加到公网访问防火墙并自动放行!" +GW_INBOUND_WARN_BASIC="脚本只提供基础功能,更多需求请用自定义配置文件功能!" +GW_INBOUND_WARN_ILLEGAL="切勿用于搭建违法翻墙节点,违者后果自负!" +GW_VMS_TOGGLE="启用/关闭Vmess入站" +GW_SET_LISTEN_PORT="设置监听端口:" +GW_SET_WSPATH="设置WS-path(可选):" +GW_SET_UUID="设置密钥-uuid:" +GW_GEN_RANDOM_KEY="一键生成随机密钥" +GW_SET_OBFS_HOST="设置混淆host(可选):" +GW_GEN_SHARE_LINK="一键生成分享链接" +GW_FILL_REQUIRED="请先完成必选设置!" +GW_ERR_WSPATH="不是合法的path路径,必须以【/】开头!" +GW_ERR_UUID="不是合法的UUID格式,请重新输入或使用随机生成功能!" +GW_INPUT_OBFS_HOST="请输入免流混淆host(输入0删除)" +GW_SS_TOGGLE="启用/关闭ShadowSocks入站" +GW_SS_SELECT_CIPHER="请选择要使用的加密协议:" +GW_SS_SET_PWD="设置password:" +GW_SS_2022_NOTE_HEADER=" - - - - - - -\033[31m注意\033[0m- - - - - - -" +GW_SS_2022_REQUIRE=" 2022系列加密必须使用随机生成的password!" +GW_SS_2022_PASSWORD_ONLY="2022系列加密必须使用脚本随机生成的password!" +GW_TS_WARN="脚本默认内核为了节约内存没有编译Tailscale模块\n如需使用请先前往自定义内核更新完整版内核文件!" +GW_TS_KEY_URL="创建密钥:\033[32;4mhttps://login.tailscale.com/admin/settings/keys\033[0m" +GW_TS_ALLOW_URL="访问非本机目标需允许通告:\033[32;4mhttps://login.tailscale.com\033[0m" +GW_TS_SUBNET_EXIT_HINT="访问非本机目标需在终端设置使用Subnet或EXIT-NODE模式" +GW_TS_TOGGLE="启用/关闭Tailscale服务" +GW_TS_SET_AUTHKEY="设置密钥(Auth Key)" +GW_TS_SUBNET="通告路由内网地址(Subnet)" +GW_TS_EXIT_NODE="通告路由全部流量(EXIT-NODE)" +GW_TS_HOSTNAME="设置设备名称(可选)" +GW_TS_SET_KEY_FIRST="请先设置密钥!" +GW_TS_INPUT_KEY="请输入密钥(输入0删除)" +GW_TS_EXITNODE_WARN="目前exitnode的官方DNS有bug,要么启用域名嗅探并禁用TailscaleDNS,\n要么必须在网页设置Globalname servers为分配的本设备子网IP且启用override" +GW_TS_INPUT_NAME="请直接输入希望在Tailscale显示的设备名称" +GW_WG_WARN="脚本默认内核为了节约内存没有编译WireGuard模块\n如需使用请先前往自定义内核更新完整版内核文件!" +GW_WG_TOGGLE="启用/关闭Wireguard服务" +GW_WG_SET_ENDPOINT="设置Endpoint地址:" +GW_WG_SET_ENDPOINT_PORT="设置Endpoint端口:" +GW_WG_SET_PUBLIC="设置公钥-PublicKey:" +GW_WG_SET_PRESHARED="设置密钥-PresharedKey:" +GW_WG_SET_PRIVATE="设置私钥-PrivateKey:" +GW_WG_SET_IPV4="设置组网IPV4地址:" +GW_WG_SET_IPV6="可选 组网IPV6地址:" +GW_INPUT_TEXT_DEL0="请输入相应内容(回车或0删除)" +GW_INPUT_PLAIN="请输入" +GW_INPUT_PWD_DEL0="请输入密钥(输入0删除)" From a9ddbba9fe16f2615d157221c19e473e060487a5 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sun, 22 Mar 2026 19:32:07 +0800 Subject: [PATCH 237/318] =?UTF-8?q?=E4=BD=BF=E7=94=A8=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E6=80=A7=E6=9B=B4=E5=BC=BA=E7=9A=84=20`rm=20-fr`=20=E4=BB=A3?= =?UTF-8?q?=E6=9B=BF=20`rm=20-d`=20=E5=88=A0=E9=99=A4=E9=94=81=E7=9B=AE?= =?UTF-8?q?=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #1238 --- scripts/starts/start_legacy_wd.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/starts/start_legacy_wd.sh b/scripts/starts/start_legacy_wd.sh index 4c2dc910..f1695ef1 100644 --- a/scripts/starts/start_legacy_wd.sh +++ b/scripts/starts/start_legacy_wd.sh @@ -10,7 +10,7 @@ if [ -f "$PIDFILE" ]; then PID="$(cat "$PIDFILE")" if [ -n "$PID" ] && [ "$PID" -eq "$PID" ] 2>/dev/null; then if kill -0 "$PID" 2>/dev/null || [ -d "/proc/$PID" ]; then - rm -d "$LOCKDIR" 2>/dev/null + rm -fr "$LOCKDIR" 2>/dev/null exit 0 fi else @@ -27,4 +27,4 @@ else start_legacy "$CRASHDIR/menus/bot_tg.sh" "$1" fi -rm -d "$LOCKDIR" 2>/dev/null +rm -fr "$LOCKDIR" 2>/dev/null From c8dfb3780a4bbb79006fd3a6700e0ecc97ac43f5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 22 Mar 2026 20:53:55 +0800 Subject: [PATCH 238/318] ~i18 --- scripts/lang/chs/8_tools.lang | 125 ++++++++++++ scripts/lang/en/8_tools.lang | 125 ++++++++++++ scripts/menus/8_tools.sh | 353 +++++++++++++++++----------------- 3 files changed, 427 insertions(+), 176 deletions(-) diff --git a/scripts/lang/chs/8_tools.lang b/scripts/lang/chs/8_tools.lang index f455c3a6..c032befe 100644 --- a/scripts/lang/chs/8_tools.lang +++ b/scripts/lang/chs/8_tools.lang @@ -9,3 +9,128 @@ TOOLS_SSH_DISABLED="已禁止外网访问SSH!" TOOLS_DISABLE="禁用" TOOLS_ENABLE="启用" TOOLS_CONFIGURED="已配置" +TOOLS_SSH_ONLY_OPENWRT="此功能仅针对使用Openwrt系统的设备生效,且不依赖服务" +TOOLS_SSH_UNSUPPORTED_SYSTEM="本功能不支持红米AX6S等镜像化系统设备,请勿尝试!" +TOOLS_SSH_PORT_ITEM="1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" +TOOLS_SSH_PASS_ITEM="2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" +TOOLS_SSH_TOGGLE_ITEM="3) \033[33m$ssh_ol\033[0m外网访问SSH" +TOOLS_PROMPT_PORT="请输入端口号(1000-65535)> " +TOOLS_WARN_COMPAT="本页工具可能无法兼容全部Linux设备,请酌情使用!" +TOOLS_DISK_USAGE="磁盘占用/所在目录:" +TOOLS_MENU_TEST_ITEM="1) ShellCrash\033[33m测试菜单\033[0m" +TOOLS_MENU_GUIDE_ITEM="2) ShellCrash\033[32m新手引导\033[0m" +TOOLS_MENU_LOG_ITEM="3) \033[36m日志及推送工具\033[0m" +TOOLS_MENU_SSH_ITEM="4) \033[32m配置\033[0m外网访问SSH" +TOOLS_MENU_MI_UPDATE_ITEM="5) \033[33m$mi_update\033[0m小米系统自动更新" +TOOLS_MENU_MI_AUTO_SSH_ITEM="6) 小米设备软固化SSH —— \033[$mi_mi_autoSSH_type \033[0m" +TOOLS_MENU_MI_TUN_FIX_ITEM="8) 小米设备Tun模块修复 —— \033[$mi_tunfix \033[0m" +TOOLS_MI_UPDATE_MSG="已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" +TOOLS_UNSUPPORTED_DEVICE="不支持的设备!" +TOOLS_FETCHING_SCRIPT="正在获取在线脚本......" +TOOLS_DOWNLOAD_FAIL="文件下载失败!" +TOOLS_DISABLE_FIX_CONFIRM="是否禁用此功能并移除相关补丁?" +TOOLS_YES="1) 是" +TOOLS_NO_BACK="0) 否,返回上级菜单" +TOOLS_NO="0) 否" +TOOLS_SELECT_PROMPT="请输入对应标号> " +TOOLS_PATCH_REMOVED="补丁文件已移除,请立即重启设备以防止出错!" +TOOLS_TUN_WARN1="本功能需要修改系统文件,不保证没有任何风险!" +TOOLS_TUN_WARN2="本功能采集的Tun模块并不一定适用于你的设备!" +TOOLS_ACCEPT_RISK="1) 我已知晓,出现问题会自行承担!" +TOOLS_TUN_CONNECTING="正在连接服务器获取Tun模块补丁文件......" +TOOLS_TUN_OK="设置成功!请重启服务!" +TOOLS_TUN_FAIL="文件下载失败,请重试!" +TOOLS_DEVICE_NOT_NEED="当前设备无需设置,请勿尝试!" +TOOLS_AUTO_SSH_WARN1="本功能使用软件命令进行固化不保证100%成功!" +TOOLS_AUTO_SSH_WARN2="如有问题请加群反馈:" +TOOLS_AUTO_SSH_PWD_HINT1="请输入需要还原的SSH密码(不影响当前密码)" +TOOLS_AUTO_SSH_PWD_HINT2="(回车可跳过)" +TOOLS_AUTO_SSH_INPUT="请输入> " +TOOLS_LOG_TG="1) Telegram推送\t——\033[$stat_TG\033[0m" +TOOLS_LOG_DEER="2) PushDeer推送\t——\033[$stat_Deer\033[0m" +TOOLS_LOG_BARK="3) Bark推送-IOS\t——\033[$stat_bark\033[0m" +TOOLS_LOG_PO="4) Passover推送\t——\033[$stat_Po\033[0m" +TOOLS_LOG_PP="5) PushPlus推送\t——\033[$stat_PP\033[0m" +TOOLS_LOG_SYNO="6) SynoChat推送\t——\033[$stat_SynoChat\033[0m" +TOOLS_LOG_GOTIFY="7) Gotify推送\t ——\033[$stat_Gotify\033[0m" +TOOLS_LOG_VIEW="a) 查看\033[36m运行日志\033[0m" +TOOLS_LOG_TASK="b) 推送任务日志\t——\033[$stat_task\033[0m" +TOOLS_LOG_DEVICE="c) 设置设备名称\t——\033[$device_s\033[0m" +TOOLS_LOG_CLEAR="d) 清空日志文件" +TOOLS_CONFIRM_CLOSE_TG="是否确认关闭TG日志推送?" +TOOLS_CONFIRM_CLOSE_DEER="是否确认关闭PushDeer日志推送?" +TOOLS_CONFIRM_CLOSE_BARK="是否确认关闭Bark日志推送?" +TOOLS_CONFIRM_CLOSE_PO="是否确认关闭Pushover日志推送?" +TOOLS_CONFIRM_CLOSE_PP="是否确认关闭PushPlus日志推送?" +TOOLS_CONFIRM_CLOSE_SYNO="是否确认关闭SynoChat日志推送?" +TOOLS_CONFIRM_CLOSE_GOTIFY="是否确认关闭Gotify日志推送?" +TOOLS_BOT_PUBLIC="1) 使用公共机器人\t——不依赖内核服务" +TOOLS_BOT_PRIVATE="2) 使用私人机器人\t——需要额外申请" +TOOLS_PUSHDEER_SELECT_SERVER="请选择PushDeer服务器类型:" +TOOLS_PUSHDEER_OFFICIAL="1) 官方服务器(api2.pushdeer.com)" +TOOLS_PUSHDEER_CUSTOM="2) 自建服务器" +TOOLS_PUSHDEER_CUSTOM_URL_HINT="请输入自建PushDeer服务器地址(不含/message/push)" +TOOLS_PUSHDEER_CUSTOM_URL_EXAMPLE="例如:\033[36mhttps://push.example.com\033[0m" +TOOLS_PUSHDEER_CUSTOM_URL_INPUT="请直接输入服务器地址" +TOOLS_OR_BACK="或输入 0 返回上级菜单" +TOOLS_PUSHDEER_INSTALL1="1. 请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" +TOOLS_PUSHDEER_INSTALL2="2. 打开快应用/APP,并完成登陆" +TOOLS_PUSHDEER_INSTALL3="3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" +TOOLS_PUSHDEER_INSTALL4="4. \033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" +TOOLS_PUSHDEER_SECRET_HINT="请直接输入你复制的秘钥" +TOOLS_PUSHDEER_OK="已完成PushDeer日志推送设置!" +TOOLS_BARK_WARN="Bark推送仅支持IOS系统,其他平台请使用其他推送方式!" +TOOLS_BARK_INSTALL="请安装Bark-IOS客户端,并在客户端中找到专属推送链接" +TOOLS_BARK_URL_HINT="请直接输入你的Bark推送链接" +TOOLS_BARK_OK="已完成Bark日志推送设置!" +TOOLS_PUSHOVER_REG="请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" +TOOLS_PUSHOVER_USERKEY_HINT="请直接请输入你的User Key" +TOOLS_PUSHOVER_VERIFY="请检查注册邮箱,完成账户验证" +TOOLS_PUSHOVER_VERIFIED="我已经验证完成" +TOOLS_PUSHOVER_VERIFY_PROMPT="我已经验证完成(1/0)> " +TOOLS_PUSHOVER_TOKEN_BUILD="请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" +TOOLS_PUSHOVER_TOKEN_HINT="请输入你的API Token" +TOOLS_PUSHOVER_OK="已完成Passover日志推送设置!" +TOOLS_PUSHPLUS_REG="请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" +TOOLS_PUSHPLUS_TOKEN_HINT="请直接输入你的token" +TOOLS_PUSHPLUS_OK="已完成PushPlus日志推送设置!" +TOOLS_SYNOCHAT_URL_HINT="请输入你的Synology DSM主页地址" +TOOLS_SYNOCHAT_TOKEN_HINT="请输入你的Synology Chat Token" +TOOLS_SYNOCHAT_USERID_HINT="请通过\"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN\"获取user_id" +TOOLS_SYNOCHAT_USERID_INPUT="请输入你的user_id> " +TOOLS_SYNOCHAT_OK="已完成SynoChat日志推送设置!" +TOOLS_GOTIFY_REG="请先通过Gotify服务器获取推送URL" +TOOLS_GOTIFY_FORMAT="格式示例: https://gotify.example.com/message?token=你的应用令牌" +TOOLS_GOTIFY_URL_HINT="请直接你的Gotify推送URL" +TOOLS_LOG_NOT_FOUND="未找到相关日志!" +TOOLS_DEVICE_NAME_HINT="请直接输入本设备自定义推送名称" +TOOLS_DEVICE_NAME_BACK="或直接回车确认返回上级菜单" +TOOLS_LOG_CLEARED="运行日志及任务日志均已清空!" +TOOLS_TEST_MENU_TITLE="这里是测试命令菜单" +TOOLS_TEST_MENU_HINT="如遇问题尽量运行相应命令后截图提交issue或TG讨论组" +TOOLS_TEST_ITEM_1="1) Debug模式运行内核" +TOOLS_TEST_ITEM_2="2) 查看系统DNS端口(:53)占用 " +TOOLS_TEST_ITEM_3="3) 测试ssl加密(aes-128-gcm)跑分" +TOOLS_TEST_ITEM_4="4) 查看ShellCrash相关路由规则" +TOOLS_TEST_ITEM_5="5) 查看内核配置文件前40行" +TOOLS_TEST_ITEM_6="6) 测试代理服务器连通性(google.tw)" +TOOLS_NETSTAT_HINT="可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" +TOOLS_FW_TITLE="----------------本机防火墙---------------------" +TOOLS_PROXY_NOTE="注意:依赖curl(不支持wget),且测试结果不保证一定准确!" +TOOLS_PROXY_OK="连接成功!响应时间为:" +TOOLS_PROXY_TIMEOUT="连接超时!请重试或检查节点配置!" +TOOLS_DEBUG_WARN1="注意:Debug运行均会停止原本的内核服务" +TOOLS_DEBUG_WARN2="后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" +TOOLS_DEBUG_WARN3="如长时间运行后台监测,日志等级推荐error!防止文件过大!" +TOOLS_DEBUG_WARN4="你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" +TOOLS_DEBUG_ITEM_1="1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" +TOOLS_DEBUG_ITEM_2="2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" +TOOLS_DEBUG_ITEM_3="3) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[31merror\033[0m" +TOOLS_DEBUG_ITEM_4="4) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[32minfo\033[0m" +TOOLS_DEBUG_ITEM_5="5) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" +TOOLS_DEBUG_ITEM_6="6) 后台运行完整启动流程并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" +TOOLS_DEBUG_ITEM_8="8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" +TOOLS_DEBUG_ITEM_9="9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" +TOOLS_FLASH_WARN="频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" +TOOLS_FLASH_CONFIRM="是否确认启用此功能?" +TOOLS_MERGE_OK="合并成功!" diff --git a/scripts/lang/en/8_tools.lang b/scripts/lang/en/8_tools.lang index a2df1dc8..379c8c75 100644 --- a/scripts/lang/en/8_tools.lang +++ b/scripts/lang/en/8_tools.lang @@ -9,3 +9,128 @@ TOOLS_SSH_DISABLED="WAN SSH access disabled!" TOOLS_DISABLE="Disable" TOOLS_ENABLE="Enable" TOOLS_CONFIGURED="Configured" +TOOLS_SSH_ONLY_OPENWRT="This feature only works on OpenWrt devices and does not depend on services" +TOOLS_SSH_UNSUPPORTED_SYSTEM="This feature does not support mirrored systems like Redmi AX6S. Do not try it!" +TOOLS_SSH_PORT_ITEM="1) \033[32mChange\033[0m WAN SSH port: \033[36m$ssh_port\033[0m" +TOOLS_SSH_PASS_ITEM="2) \033[32mChange\033[0m SSH password (enter twice, then press Enter)" +TOOLS_SSH_TOGGLE_ITEM="3) \033[33m$ssh_ol\033[0m WAN SSH access" +TOOLS_PROMPT_PORT="Please enter a port number (1000-65535)> " +TOOLS_WARN_COMPAT="This page may not be compatible with all Linux devices. Use at your own discretion!" +TOOLS_DISK_USAGE="Disk usage / current directory:" +TOOLS_MENU_TEST_ITEM="1) ShellCrash \033[33mTest Menu\033[0m" +TOOLS_MENU_GUIDE_ITEM="2) ShellCrash \033[32mGetting Started\033[0m" +TOOLS_MENU_LOG_ITEM="3) \033[36mLogs and Push Tools\033[0m" +TOOLS_MENU_SSH_ITEM="4) \033[32mConfigure\033[0m WAN SSH access" +TOOLS_MENU_MI_UPDATE_ITEM="5) \033[33m$mi_update\033[0m Xiaomi system auto-update" +TOOLS_MENU_MI_AUTO_SSH_ITEM="6) Xiaomi device SSH hardening —— \033[$mi_mi_autoSSH_type \033[0m" +TOOLS_MENU_MI_TUN_FIX_ITEM="8) Xiaomi device Tun module repair —— \033[$mi_tunfix \033[0m" +TOOLS_MI_UPDATE_MSG="Xiaomi router auto-update has been \033[33m$mi_update\033[0m. If it does not take effect, sync the setting in the official app!" +TOOLS_UNSUPPORTED_DEVICE="Unsupported device!" +TOOLS_FETCHING_SCRIPT="Fetching online script..." +TOOLS_DOWNLOAD_FAIL="File download failed!" +TOOLS_DISABLE_FIX_CONFIRM="Disable this feature and remove related patches?" +TOOLS_YES="1) Yes" +TOOLS_NO_BACK="0) No, return to previous menu" +TOOLS_NO="0) No" +TOOLS_SELECT_PROMPT="Please enter the number> " +TOOLS_PATCH_REMOVED="Patch file removed. Reboot the device immediately to avoid errors!" +TOOLS_TUN_WARN1="This feature needs to modify system files and does not guarantee zero risk!" +TOOLS_TUN_WARN2="The collected Tun module may not suit your device!" +TOOLS_ACCEPT_RISK="1) I understand and will take responsibility if anything goes wrong!" +TOOLS_TUN_CONNECTING="Connecting to the server to fetch the Tun patch..." +TOOLS_TUN_OK="Set successfully! Please restart the service!" +TOOLS_TUN_FAIL="File download failed, please retry!" +TOOLS_DEVICE_NOT_NEED="This device does not need this setting. Do not try it!" +TOOLS_AUTO_SSH_WARN1="This feature hardens SSH using software commands and is not guaranteed to succeed 100%!" +TOOLS_AUTO_SSH_WARN2="If you have issues, please report in the group:" +TOOLS_AUTO_SSH_PWD_HINT1="Please enter the SSH password to restore (current password will not be affected)" +TOOLS_AUTO_SSH_PWD_HINT2="(Press Enter to skip)" +TOOLS_AUTO_SSH_INPUT="Please enter> " +TOOLS_LOG_TG="1) Telegram push\t——\033[$stat_TG\033[0m" +TOOLS_LOG_DEER="2) PushDeer push\t——\033[$stat_Deer\033[0m" +TOOLS_LOG_BARK="3) Bark push-IOS\t——\033[$stat_bark\033[0m" +TOOLS_LOG_PO="4) Passover push\t——\033[$stat_Po\033[0m" +TOOLS_LOG_PP="5) PushPlus push\t——\033[$stat_PP\033[0m" +TOOLS_LOG_SYNO="6) SynoChat push\t——\033[$stat_SynoChat\033[0m" +TOOLS_LOG_GOTIFY="7) Gotify push\t ——\033[$stat_Gotify\033[0m" +TOOLS_LOG_VIEW="a) View \033[36mruntime logs\033[0m" +TOOLS_LOG_TASK="b) Push task logs\t——\033[$stat_task\033[0m" +TOOLS_LOG_DEVICE="c) Set device name\t——\033[$device_s\033[0m" +TOOLS_LOG_CLEAR="d) Clear log files" +TOOLS_CONFIRM_CLOSE_TG="Are you sure you want to disable TG log push?" +TOOLS_CONFIRM_CLOSE_DEER="Are you sure you want to disable PushDeer log push?" +TOOLS_CONFIRM_CLOSE_BARK="Are you sure you want to disable Bark log push?" +TOOLS_CONFIRM_CLOSE_PO="Are you sure you want to disable Pushover log push?" +TOOLS_CONFIRM_CLOSE_PP="Are you sure you want to disable PushPlus log push?" +TOOLS_CONFIRM_CLOSE_SYNO="Are you sure you want to disable SynoChat log push?" +TOOLS_CONFIRM_CLOSE_GOTIFY="Are you sure you want to disable Gotify log push?" +TOOLS_BOT_PUBLIC="1) Use public bot\t——No kernel service required" +TOOLS_BOT_PRIVATE="2) Use private bot\t——Requires extra application" +TOOLS_PUSHDEER_SELECT_SERVER="Please choose the PushDeer server type:" +TOOLS_PUSHDEER_OFFICIAL="1) Official server (api2.pushdeer.com)" +TOOLS_PUSHDEER_CUSTOM="2) Self-hosted server" +TOOLS_PUSHDEER_CUSTOM_URL_HINT="Please enter the self-hosted PushDeer server address (without /message/push)" +TOOLS_PUSHDEER_CUSTOM_URL_EXAMPLE="Example: \033[36mhttps://push.example.com\033[0m" +TOOLS_PUSHDEER_CUSTOM_URL_INPUT="Please enter the server address directly" +TOOLS_OR_BACK="Or enter 0 to return to the previous menu" +TOOLS_PUSHDEER_INSTALL1="1. First go to \033[32;4mhttp://www.pushdeer.com/official.html\033[0m to scan and install the quick app or download the app" +TOOLS_PUSHDEER_INSTALL2="2. Open the quick app/app and finish logging in" +TOOLS_PUSHDEER_INSTALL3="3. Switch to the \"Device\" tab, tap the plus in the top-right corner, and register this device" +TOOLS_PUSHDEER_INSTALL4="4. Switch to the \"Secret\" tab, tap the plus in the top-right corner, create a secret, and copy it" +TOOLS_PUSHDEER_SECRET_HINT="Please enter the secret you copied" +TOOLS_PUSHDEER_OK="PushDeer log push setup completed!" +TOOLS_BARK_WARN="Bark push only supports iOS. Use another push method on other platforms!" +TOOLS_BARK_INSTALL="Please install the Bark iOS client and find the dedicated push link in the app" +TOOLS_BARK_URL_HINT="Please enter your Bark push link directly" +TOOLS_BARK_OK="Bark log push setup completed!" +TOOLS_PUSHOVER_REG="Please register at \033[32;4mhttps://pushover.net/\033[0m and get the \033[36mUser Key\033[0m" +TOOLS_PUSHOVER_USERKEY_HINT="Please enter your User Key directly" +TOOLS_PUSHOVER_VERIFY="Please check your registration email and complete account verification" +TOOLS_PUSHOVER_VERIFIED="I have completed verification" +TOOLS_PUSHOVER_VERIFY_PROMPT="I have completed verification (1/0)> " +TOOLS_PUSHOVER_TOKEN_BUILD="Generate an \033[36mAPI Token\033[0m at \033[32;4mhttps://pushover.net/apps/build\033[0m" +TOOLS_PUSHOVER_TOKEN_HINT="Please enter your API Token" +TOOLS_PUSHOVER_OK="Passover log push setup completed!" +TOOLS_PUSHPLUS_REG="Please register at \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m and get the \033[36mtoken\033[0m" +TOOLS_PUSHPLUS_TOKEN_HINT="Please enter your token directly" +TOOLS_PUSHPLUS_OK="PushPlus log push setup completed!" +TOOLS_SYNOCHAT_URL_HINT="Please enter your Synology DSM home address" +TOOLS_SYNOCHAT_TOKEN_HINT="Please enter your Synology Chat token" +TOOLS_SYNOCHAT_USERID_HINT="Get the user_id via \"your NAS address/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=YOUR_TOKEN\"" +TOOLS_SYNOCHAT_USERID_INPUT="Please enter your user_id> " +TOOLS_SYNOCHAT_OK="SynoChat log push setup completed!" +TOOLS_GOTIFY_REG="Please obtain the push URL from your Gotify server" +TOOLS_GOTIFY_FORMAT="Format example: https://gotify.example.com/message?token=your_app_token" +TOOLS_GOTIFY_URL_HINT="Please enter your Gotify push URL directly" +TOOLS_LOG_NOT_FOUND="No related log found!" +TOOLS_DEVICE_NAME_HINT="Please enter a custom push name for this device" +TOOLS_DEVICE_NAME_BACK="Or press Enter directly to return to the previous menu" +TOOLS_LOG_CLEARED="Runtime logs and task logs have been cleared!" +TOOLS_TEST_MENU_TITLE="This is the test command menu" +TOOLS_TEST_MENU_HINT="If you encounter issues, run the relevant command and submit a screenshot to the issue or TG group" +TOOLS_TEST_ITEM_1="1) Run the kernel in Debug mode" +TOOLS_TEST_ITEM_2="2) Check system DNS port (:53) usage " +TOOLS_TEST_ITEM_3="3) Test SSL encryption (aes-128-gcm) benchmark" +TOOLS_TEST_ITEM_4="4) View ShellCrash routing rules" +TOOLS_TEST_ITEM_5="5) View the first 40 lines of the kernel config file" +TOOLS_TEST_ITEM_6="6) Test proxy server connectivity (google.tw)" +TOOLS_NETSTAT_HINT="You can use \033[44m netstat -ntulp |grep xxx \033[0m to query any (xxx) port" +TOOLS_FW_TITLE="----------------Local Firewall---------------------" +TOOLS_PROXY_NOTE="Note: depends on curl (wget is not supported), and the test result is not guaranteed to be accurate!" +TOOLS_PROXY_OK="Connection successful! Response time: " +TOOLS_PROXY_TIMEOUT="Connection timed out! Please retry or check the node configuration!" +TOOLS_DEBUG_WARN1="Note: Debug mode will stop the original kernel service" +TOOLS_DEBUG_WARN2="Background log path: \033[32m$TMPDIR/debug.log\033[0m" +TOOLS_DEBUG_WARN3="For long-running background monitoring, error is recommended as the log level to avoid oversized files!" +TOOLS_DEBUG_WARN4="You can also use: \033[33mcrash -s debug 'warning'\033[0m to select another log level" +TOOLS_DEBUG_ITEM_1="1) Only test the availability of the \033[32m$config_tmp\033[0m config file" +TOOLS_DEBUG_ITEM_2="2) Run the \033[32m$config_tmp\033[0m config file in foreground without firewall hijacking (\033[33muse Ctrl+C to stop manually\033[0m)" +TOOLS_DEBUG_ITEM_3="3) Run the full startup flow in background with firewall hijacking, log level: \033[31merror\033[0m" +TOOLS_DEBUG_ITEM_4="4) Run the full startup flow in background with firewall hijacking, log level: \033[32minfo\033[0m" +TOOLS_DEBUG_ITEM_5="5) Run the full startup flow in background with firewall hijacking, log level: \033[33mdebug\033[0m" +TOOLS_DEBUG_ITEM_6="6) Run the full startup flow in background with firewall hijacking and print error logs to flash: \033[32m$CRASHDIR/debug.log\033[0m" +TOOLS_DEBUG_ITEM_8="8) Run the full startup flow in background, print execution errors and inspect context, then close the process" +TOOLS_DEBUG_ITEM_9="9) Merge the json files under \033[32m$config_tmp\033[0m into $TMPDIR/debug.json" +TOOLS_FLASH_WARN="Frequent flash writes will shorten flash lifespan. Unless you are dealing with a bug that would otherwise crash or reboot the device, do not use this feature!" +TOOLS_FLASH_CONFIRM="Confirm enabling this feature?" +TOOLS_MERGE_OK="Merged successfully!" diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index ac9203cf..7cb9875a 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -17,13 +17,13 @@ ssh_tools() { while true; do [ -n "$(cat /etc/firewall.user 2>&1 | grep '启用外网访问SSH服务')" ] && ssh_ol=$TOOLS_SSH_DISABLE || ssh_ol=$TOOLS_SSH_ENABLE [ -z "$ssh_port" ] && ssh_port=10022 - comp_box "\033[33m此功能仅针对使用Openwrt系统的设备生效,且不依赖服务\033[0m" \ - "\033[31m本功能不支持红米AX6S等镜像化系统设备,请勿尝试!\033[0m" - btm_box "1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" \ - "2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" \ - "3) \033[33m$ssh_ol\033[0m外网访问SSH" \ + comp_box "\033[33m$TOOLS_SSH_ONLY_OPENWRT\033[0m" \ + "\033[31m$TOOLS_SSH_UNSUPPORTED_SYSTEM\033[0m" + btm_box "$TOOLS_SSH_PORT_ITEM" \ + "$TOOLS_SSH_PASS_ITEM" \ + "$TOOLS_SSH_TOGGLE_ITEM" \ "" \ - "0) 返回上级菜单 \033[0m" + "0) $COMMON_BACK \033[0m" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -31,7 +31,7 @@ ssh_tools() { ;; 1) line_break - read -r -p "请输入端口号(1000-65535)> " num + read -r -p "$TOOLS_PROMPT_PORT" num if [ -z "$num" ]; then errornum elif [ "$num" -gt 65535 ] || [ "$num" -le 999 ]; then @@ -52,7 +52,7 @@ ssh_tools() { sleep 1 ;; 3) - if [ "$ssh_ol" = "开启" ]; then + if [ "$ssh_ol" = "$TOOLS_SSH_ENABLE" ]; then iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 [ -n "$(ckcmd ip6tables)" ] && ip6tables -w -t nat -A PREROUTING -p tcp -m multiport --dports "$ssh_port" -j REDIRECT --to-ports 22 echo "iptables -w -t nat -A PREROUTING -p tcp -m multiport --dports $ssh_port -j REDIRECT --to-ports 22 #启用外网访问SSH服务" >>/etc/firewall.user @@ -81,16 +81,16 @@ tools() { [ -f "$CRASHDIR"/tools/tun.ko ] && mi_tunfix=32mON || mi_tunfix=31mOFF comp_box "\033[30;47m$TOOLS_TITLE\033[0m" \ "" \ - "\033[33m本页工具可能无法兼容全部Linux设备,请酌情使用!\033[0m" \ - "磁盘占用/所在目录:" \ + "\033[33m$TOOLS_WARN_COMPAT\033[0m" \ + "$TOOLS_DISK_USAGE" \ "$(du -sh "$CRASHDIR")" - content_line "1) ShellCrash\033[33m测试菜单\033[0m" - content_line "2) ShellCrash\033[32m新手引导\033[0m" - content_line "3) \033[36m日志及推送工具\033[0m" - [ -f /etc/firewall.user ] && content_line "4) \033[32m配置\033[0m外网访问SSH" - [ -x /usr/sbin/otapredownload ] && content_line "5) \033[33m$mi_update\033[0m小米系统自动更新" - [ "$systype" = "mi_snapshot" ] && content_line "6) 小米设备软固化SSH ———— \033[$mi_mi_autoSSH_type \033[0m" - [ "$systype" = "mi_snapshot" ] && content_line "8) 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" + content_line "$TOOLS_MENU_TEST_ITEM" + content_line "$TOOLS_MENU_GUIDE_ITEM" + content_line "$TOOLS_MENU_LOG_ITEM" + [ -f /etc/firewall.user ] && content_line "$TOOLS_MENU_SSH_ITEM" + [ -x /usr/sbin/otapredownload ] && content_line "$TOOLS_MENU_MI_UPDATE_ITEM" + [ "$systype" = "mi_snapshot" ] && content_line "$TOOLS_MENU_MI_AUTO_SSH_ITEM" + [ "$systype" = "mi_snapshot" ] && content_line "$TOOLS_MENU_MI_TUN_FIX_ITEM" btm_box "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -114,7 +114,7 @@ tools() { ;; 5) if [ -x /usr/sbin/otapredownload ]; then - if [ "$mi_update" = "禁用" ]; then + if [ "$mi_update" = "$TOOLS_DISABLE" ]; then grep -q "otapredownload" /etc/crontabs/root && sed -i "/^[^\#]*otapredownload/ s/^/#/" /etc/crontabs/root || echo "#15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root @@ -123,27 +123,27 @@ tools() { sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root fi - msg_alert "已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" + msg_alert "\033[32m$TOOLS_MI_UPDATE_MSG" fi ;; 6) if [ "$systype" = "mi_snapshot" ]; then mi_autoSSH else - msg_alert "不支持的设备!" + msg_alert "\033[31m$TOOLS_UNSUPPORTED_DEVICE" fi ;; 7) line_break separator_line "=" if [ ! -f "$CRASHDIR"/tools/ShellDDNS.sh ]; then - content_line "正在获取在线脚本......" + content_line "$TOOLS_FETCHING_SCRIPT" get_bin "$TMPDIR"/ShellDDNS.sh tools/ShellDDNS.sh if [ "$?" = "0" ]; then mv -f "$TMPDIR"/ShellDDNS.sh "$CRASHDIR"/tools/ShellDDNS.sh . "$CRASHDIR"/tools/ShellDDNS.sh else - content_line "\033[31m文件下载失败!\033[0m" + content_line "\033[31m$TOOLS_DOWNLOAD_FAIL\033[0m" separator_line "=" fi else @@ -153,38 +153,38 @@ tools() { ;; 8) if [ -f "$CRASHDIR"/tools/tun.ko ]; then - comp_box "是否禁用此功能并移除相关补丁?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_DISABLE_FIX_CONFIRM" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res [ "$res" = 1 ] && { rm -rf "$CRASHDIR"/tools/tun.ko - msg_alert "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" + msg_alert "\033[33m$TOOLS_PATCH_REMOVED\033[0m" } elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then - comp_box "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" \ - "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" - btm_box "1) 我已知晓,出现问题会自行承担!" \ + comp_box "\033[33m$TOOLS_TUN_WARN1\033[0m" \ + "\033[33m$TOOLS_TUN_WARN2\033[0m" + btm_box "$TOOLS_ACCEPT_RISK" \ "0) $COMMON_BACK" - read -r -p "请输入对应标号> " res + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then line_break separator_line "=" - content_line "正在连接服务器获取Tun模块补丁文件......" + content_line "$TOOLS_TUN_CONNECTING" get_bin "$TMPDIR"/tun.ko bin/fix/tun.ko if [ "$?" = "0" ]; then mv -f "$TMPDIR"/tun.ko "$CRASHDIR"/tools/tun.ko && /data/shellcrash_init.sh tunfix && - content_line "\033[32m设置成功!请重启服务!\033[0m" + content_line "\033[32m$TOOLS_TUN_OK\033[0m" else - content_line "\033[31m文件下载失败,请重试!\033[0m" + content_line "\033[31m$TOOLS_TUN_FAIL\033[0m" fi separator_line "=" else continue fi else - msg_alert "\033[31m当前设备无需设置,请勿尝试!\033[0m" + msg_alert "\033[31m$TOOLS_DEVICE_NOT_NEED\033[0m" fi ;; *) @@ -195,11 +195,11 @@ tools() { } mi_autoSSH() { - comp_box "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m" \ - "\033[33m如有问题请加群反馈:\033[36;4mhttps://t.me/ShellClash\033[0m" - btm_box "请输入需要还原的SSH密码(不影响当前密码)" \ - "(回车可跳过)" - read -r -p "请输入> " mi_mi_autoSSH_pwd + comp_box "\033[33m$TOOLS_AUTO_SSH_WARN1\033[0m" \ + "\033[33m$TOOLS_AUTO_SSH_WARN2\033[36;4mhttps://t.me/ShellClash\033[0m" + btm_box "$TOOLS_AUTO_SSH_PWD_HINT1" \ + "$TOOLS_AUTO_SSH_PWD_HINT2" + read -r -p "$TOOLS_AUTO_SSH_INPUT" mi_mi_autoSSH_pwd mi_mi_autoSSH=$TOOLS_CONFIGURED cp -f /etc/dropbear/dropbear_rsa_host_key "$CRASHDIR"/configs/dropbear_rsa_host_key 2>/dev/null cp -f /etc/dropbear/authorized_keys "$CRASHDIR"/configs/authorized_keys 2>/dev/null @@ -226,19 +226,19 @@ log_pusher() { [ -n "$push_SynoChat" ] && stat_SynoChat=32mON || stat_SynoChat=33mOFF [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF - [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置 - comp_box "1) Telegram推送 ——\033[$stat_TG\033[0m" \ - "2) PushDeer推送 ——\033[$stat_Deer\033[0m" \ - "3) Bark推送-IOS ——\033[$stat_bark\033[0m" \ - "4) Passover推送 ——\033[$stat_Po\033[0m" \ - "5) PushPlus推送 ——\033[$stat_PP\033[0m" \ - "6) SynoChat推送 ——\033[$stat_SynoChat\033[0m" \ - "7) Gotify推送 ——\033[$stat_Gotify\033[0m" \ + [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m$COMMON_UNSET + comp_box "$TOOLS_LOG_TG" \ + "$TOOLS_LOG_DEER" \ + "$TOOLS_LOG_BARK" \ + "$TOOLS_LOG_PO" \ + "$TOOLS_LOG_PP" \ + "$TOOLS_LOG_SYNO" \ + "$TOOLS_LOG_GOTIFY" \ "" \ - "a) 查看\033[36m运行日志\033[0m" \ - "b) 推送任务日志 ——\033[$stat_task\033[0m" \ - "c) 设置设备名称 ——\033[$device_s\033[0m" \ - "d) 清空日志文件" \ + "$TOOLS_LOG_VIEW" \ + "$TOOLS_LOG_TASK" \ + "$TOOLS_LOG_DEVICE" \ + "$TOOLS_LOG_CLEAR" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -248,10 +248,10 @@ log_pusher() { ;; 1) if [ -n "$push_TG" ]; then - comp_box "是否确认关闭TG日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_TG" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_TG= chat_ID= @@ -264,8 +264,8 @@ log_pusher() { # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" . "$CRASHDIR"/menus/bot_tg_bind.sh chose_bot() { - comp_box "1) 使用公共机器人 ——不依赖内核服务" \ - "2) 使用私人机器人 ——需要额外申请" \ + comp_box "$TOOLS_BOT_PUBLIC" \ + "$TOOLS_BOT_PRIVATE" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -291,10 +291,10 @@ log_pusher() { ;; 2) if [ -n "$push_Deer" ]; then - comp_box "是否确认关闭PushDeer日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_DEER" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_Deer= push_Deer_url= @@ -305,26 +305,26 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - comp_box "请选择PushDeer服务器类型:" \ - "1) 官方服务器(api2.pushdeer.com)" \ - "2) 自建服务器" \ + comp_box "$TOOLS_PUSHDEER_SELECT_SERVER" \ + "$TOOLS_PUSHDEER_OFFICIAL" \ + "$TOOLS_PUSHDEER_CUSTOM" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应标号> " num + "0) $COMMON_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" num case "$num" in 0) continue ;; 2) - comp_box "请输入自建PushDeer服务器地址(不含/message/push)" \ - "例如:\033[36mhttps://push.example.com\033[0m" - btm_box "\033[36m请直接输入服务器地址\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " url + comp_box "$TOOLS_PUSHDEER_CUSTOM_URL_HINT" \ + "$TOOLS_PUSHDEER_CUSTOM_URL_EXAMPLE" + btm_box "\033[36m$TOOLS_PUSHDEER_CUSTOM_URL_INPUT\033[0m" \ + "$TOOLS_OR_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" url if [ "$url" = 0 ]; then continue elif [ -z "$url" ]; then - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" continue fi push_Deer_url=${url%/} @@ -339,30 +339,30 @@ log_pusher() { continue ;; esac - comp_box "1. 请先前往 \033[32;4mhttp://www.pushdeer.com/official.html\033[0m 扫码安装快应用或下载APP" \ - "2. 打开快应用/APP,并完成登陆" \ - "3. \033[33m切换到「设备」标签页,点击右上角的加号,注册当前设备\033[0m" \ - "4. \033[36m切换到「秘钥」标签页,点击右上角的加号,创建一个秘钥,并复制\033[0m" - btm_box "\033[36m请直接输入你复制的秘钥\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " url + comp_box "$TOOLS_PUSHDEER_INSTALL1" \ + "$TOOLS_PUSHDEER_INSTALL2" \ + "$TOOLS_PUSHDEER_INSTALL3" \ + "$TOOLS_PUSHDEER_INSTALL4" + btm_box "\033[36m$TOOLS_PUSHDEER_SECRET_HINT\033[0m" \ + "$TOOLS_OR_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" url if [ "$url" = 0 ]; then continue elif [ -n "$url" ]; then push_Deer=$url setconfig push_Deer "$url" - logger "已完成PushDeer日志推送设置!" 32 + logger "$TOOLS_PUSHDEER_OK" 32 else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi fi ;; 3) if [ -n "$push_bark" ]; then - comp_box "是否确认关闭Bark日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_BARK" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_bark= bark_param= @@ -373,28 +373,28 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - comp_box "\033[33mBark推送仅支持IOS系统,其他平台请使用其他推送方式!\033[0m" \ - "\033[32m请安装Bark-IOS客户端,并在客户端中找到专属推送链接\033[0m" - btm_box "\033[36m请直接输入你的Bark推送链接\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " url + comp_box "\033[33m$TOOLS_BARK_WARN\033[0m" \ + "\033[32m$TOOLS_BARK_INSTALL\033[0m" + btm_box "\033[36m$TOOLS_BARK_URL_HINT\033[0m" \ + "$TOOLS_OR_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" url if [ "$url" = 0 ]; then continue elif [ -n "$url" ]; then push_bark=$url setconfig push_bark "$url" - logger "已完成Bark日志推送设置!" 32 + logger "$TOOLS_BARK_OK" 32 else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi fi ;; 4) if [ -n "$push_Po" ]; then - comp_box "是否确认关闭Pushover日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_PO" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_Po= push_Po_key= @@ -405,44 +405,44 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - comp_box "请先通过 \033[32;4mhttps://pushover.net/\033[0m 注册账号并获取\033[36mUser Key\033[0m" \ + comp_box "$TOOLS_PUSHOVER_REG" \ "" \ - "\033[36m请直接请输入你的User Key\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " key + "\033[36m$TOOLS_PUSHOVER_USERKEY_HINT\033[0m" \ + "$TOOLS_OR_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" key if [ "$key" = 0 ]; then continue elif [ -n "$key" ]; then - comp_box "\033[33m请检查注册邮箱,完成账户验证\033[0m" - btm_box "1) 我已经验证完成" \ + comp_box "\033[33m$TOOLS_PUSHOVER_VERIFY\033[0m" + btm_box "$TOOLS_PUSHOVER_VERIFIED" \ "0) $COMMON_BACK" - read -r -p "我已经验证完成(1/0)> " res + read -r -p "$TOOLS_PUSHOVER_VERIFY_PROMPT" res if [ "$res" = 1 ]; then - comp_box "请通过 \033[32;4mhttps://pushover.net/apps/build\033[0m 生成\033[36mAPI Token\033[0m" - read -r -p "请输入你的API Token> " Token + comp_box "$TOOLS_PUSHOVER_TOKEN_BUILD" + read -r -p "$TOOLS_PUSHOVER_TOKEN_HINT> " Token if [ -n "$Token" ]; then push_Po=$Token push_Po_key=$key setconfig push_Po "$Token" setconfig push_Po_key "$key" - logger "已完成Passover日志推送设置!" 32 + logger "$TOOLS_PUSHOVER_OK" 32 else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi else continue fi else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi fi ;; 5) if [ -n "$push_PP" ]; then - comp_box "是否确认关闭PushPlus日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_PP" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_PP= setconfig push_PP @@ -451,27 +451,27 @@ log_pusher() { fi else # echo -e "\033[33m详细设置指南请参考 https://juewuy.github.io/ \033[0m" - comp_box "请先通过 \033[32;4mhttps://www.pushplus.plus/push1.html\033[0m 注册账号并获取\033[36mtoken\033[0m" - btm_box "\033[36m请直接输入你的token\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " Token + comp_box "$TOOLS_PUSHPLUS_REG" + btm_box "\033[36m$TOOLS_PUSHPLUS_TOKEN_HINT\033[0m" \ + "$TOOLS_OR_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" Token if [ "$Token" = 0 ]; then continue elif [ -n "$Token" ]; then push_PP=$Token setconfig push_PP "$Token" - logger "已完成PushPlus日志推送设置!" 32 + logger "$TOOLS_PUSHPLUS_OK" 32 else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi fi ;; 6) if [ -n "$push_SynoChat" ]; then - comp_box "是否确认关闭SynoChat日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_SYNO" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_SynoChat= setconfig push_SynoChat @@ -480,17 +480,17 @@ log_pusher() { fi else line_break - read -r -p "请输入你的Synology DSM主页地址> " URL - read -r -p "请输入你的Synology Chat Token> " TOKEN - comp_box '请通过"你的群晖地址/webapi/entry.cgi?api=SYNO.Chat.External&method=user_list&version=2&token=你的TOKEN"获取user_id' - read -r -p "请输入你的user_id> " USERID + read -r -p "$TOOLS_SYNOCHAT_URL_HINT> " URL + read -r -p "$TOOLS_SYNOCHAT_TOKEN_HINT> " TOKEN + comp_box "$TOOLS_SYNOCHAT_USERID_HINT" + read -r -p "$TOOLS_SYNOCHAT_USERID_INPUT" USERID if [ -n "$URL" ]; then push_SynoChat=$USERID setconfig push_SynoChat "$USERID" setconfig push_ChatURL "$URL" setconfig push_ChatTOKEN "$TOKEN" setconfig push_ChatUSERID "$USERID" - logger "已完成SynoChat日志推送设置!" 32 + logger "$TOOLS_SYNOCHAT_OK" 32 else setconfig push_ChatURL setconfig push_ChatTOKEN @@ -498,17 +498,17 @@ log_pusher() { push_SynoChat= setconfig push_SynoChat - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi fi ;; # 在menu.sh的case $num in代码块中添加 7) if [ -n "$push_Gotify" ]; then - comp_box "是否确认关闭Gotify日志推送?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" - read -r -p "请输入对应标号> " res + comp_box "$TOOLS_CONFIRM_CLOSE_GOTIFY" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO_BACK" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then push_Gotify= setconfig push_Gotify @@ -516,19 +516,19 @@ log_pusher() { continue fi else - comp_box "请先通过Gotify服务器获取推送URL" \ - "格式示例: https://gotify.example.com/message?token=你的应用令牌" - btm_box "\033[36m请直接你的Gotify推送URL\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " url + comp_box "$TOOLS_GOTIFY_REG" \ + "$TOOLS_GOTIFY_FORMAT" + btm_box "\033[36m$TOOLS_GOTIFY_URL_HINT\033[0m" \ + "$TOOLS_OR_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" url if [ "$url" = 0 ]; then continue elif [ -n "$url" ]; then push_Gotify=$url setconfig push_Gotify "$url" - logger "已完成Gotify日志推送设置!" 32 + logger "$TOOLS_GOTIFY_OK" 32 else - msg_alert "\033[31m输入错误,请重新输入!\033[0m" + msg_alert "\033[31m$COMMON_ERR_INPUT\033[0m" fi fi ;; @@ -540,7 +540,7 @@ log_pusher() { echo "===========================================================" exit else - msg_alert "\033[31m未找到相关日志!\033[0m" + msg_alert "\033[31m$TOOLS_LOG_NOT_FOUND\033[0m" fi ;; b) @@ -549,16 +549,16 @@ log_pusher() { sleep 1 ;; c) - comp_box "请直接输入本设备自定义推送名称" \ - "或直接回车确认返回上级菜单" - read -r -p "请输入> " device_name + comp_box "$TOOLS_DEVICE_NAME_HINT" \ + "$TOOLS_DEVICE_NAME_BACK" + read -r -p "$TOOLS_AUTO_SSH_INPUT" device_name if [ -n "$device_name" ]; then setconfig device_name "$device_name" fi ;; d) rm -rf "$TMPDIR"/ShellCrash.log - msg_alert "\033[33m运行日志及任务日志均已清空!\033[0m" + msg_alert "\033[33m$TOOLS_LOG_CLEARED\033[0m" ;; *) errornum @@ -570,14 +570,14 @@ log_pusher() { # 测试菜单 testcommand() { while true; do - comp_box "\033[30;47m这里是测试命令菜单\033[0m" \ - "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m" - btm_box "1) Debug模式运行内核" \ - "2) 查看系统DNS端口(:53)占用 " \ - "3) 测试ssl加密(aes-128-gcm)跑分" \ - "4) 查看ShellCrash相关路由规则" \ - "5) 查看内核配置文件前40行" \ - "6) 测试代理服务器连通性(google.tw)" \ + comp_box "\033[30;47m$TOOLS_TEST_MENU_TITLE\033[0m" \ + "\033[33m$TOOLS_TEST_MENU_HINT\033[0m" + btm_box "$TOOLS_TEST_ITEM_1" \ + "$TOOLS_TEST_ITEM_2" \ + "$TOOLS_TEST_ITEM_3" \ + "$TOOLS_TEST_ITEM_4" \ + "$TOOLS_TEST_ITEM_5" \ + "$TOOLS_TEST_ITEM_6" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -593,7 +593,7 @@ testcommand() { echo "===========================================================" netstat -ntulp | grep 53 echo - echo -e "可以使用\033[44m netstat -ntulp |grep xxx \033[0m来查询任意(xxx)端口" + echo -e "$TOOLS_NETSTAT_HINT" echo "===========================================================" ;; 3) @@ -647,7 +647,7 @@ testcommand() { iptables -t nat -L shellcrash_vm --line-numbers iptables -t nat -L shellcrash_vm_dns --line-numbers } - echo "----------------本机防火墙---------------------" + echo "$TOOLS_FW_TITLE" iptables -L INPUT --line-numbers fi ;; @@ -657,7 +657,7 @@ testcommand() { sed -n '1,40p' "$config_path" ;; 6) - comp_box "\033[33m注意:依赖curl(不支持wget),且测试结果不保证一定准确!\033[0m" + comp_box "\033[33m$TOOLS_PROXY_NOTE\033[0m" delay=$( curl -kx ${authentication}@127.0.0.1:$mix_port -o /dev/null -s -w '%{time_starttransfer}' 'https://google.tw' & { @@ -669,9 +669,9 @@ testcommand() { line_break separator_line "=" if [ $(echo ${#delay}) -gt 1 ]; then - content_line "\033[32m连接成功!响应时间为:"$delay" ms\033[0m" + content_line "\033[32m$TOOLS_PROXY_OK$delay ms\033[0m" else - content_line "\033[31m连接超时!请重试或检查节点配置!\033[0m" + content_line "\033[31m$TOOLS_PROXY_TIMEOUT\033[0m" fi separator_line "=" ;; @@ -684,19 +684,19 @@ testcommand() { debug() { echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml - comp_box "\033[36m注意:Debug运行均会停止原本的内核服务\033[0m" \ - "后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" \ - "如长时间运行后台监测,日志等级推荐error!防止文件过大!" \ - "你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" - content_line "1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" - content_line "2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" - content_line "3) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[31merror\033[0m" - content_line "4) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[32minfo\033[0m" - content_line "5) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" - content_line "6) 后台运行完整启动流程并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" + comp_box "\033[36m$TOOLS_DEBUG_WARN1\033[0m" \ + "$TOOLS_DEBUG_WARN2" \ + "$TOOLS_DEBUG_WARN3" \ + "$TOOLS_DEBUG_WARN4" + content_line "$TOOLS_DEBUG_ITEM_1" + content_line "$TOOLS_DEBUG_ITEM_2" + content_line "$TOOLS_DEBUG_ITEM_3" + content_line "$TOOLS_DEBUG_ITEM_4" + content_line "$TOOLS_DEBUG_ITEM_5" + content_line "$TOOLS_DEBUG_ITEM_6" content_line "" - content_line "8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" - [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" + content_line "$TOOLS_DEBUG_ITEM_8" + [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "$TOOLS_DEBUG_ITEM_9" btm_box "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -740,11 +740,11 @@ debug() { main_menu ;; 6) - comp_box "频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" \ - "是否确认启用此功能?" - btm_box "1) 是" \ - "0) 否" - read -r -p "请输入对应标号> " res + comp_box "\033[33m$TOOLS_FLASH_WARN\033[0m" \ + "$TOOLS_FLASH_CONFIRM" + btm_box "$TOOLS_YES" \ + "$TOOLS_NO" + read -r -p "$TOOLS_SELECT_PROMPT" res if [ "$res" = 1 ]; then "$CRASHDIR"/start.sh debug debug flash fi @@ -756,7 +756,7 @@ debug() { ;; 9) . "$CRASHDIR"/libs/core_webget.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && line_break - comp_box "\033[32m合并成功!\033[0m" + comp_box "\033[32m$TOOLS_MERGE_OK\033[0m" [ "$TMPDIR" = "$BINDIR" ] && rm -rf "$TMPDIR"/CrashCore main_menu ;; @@ -765,3 +765,4 @@ debug() { ;; esac } + From 75609fbc26c194f67dd28177a4bdd99eac8c1993 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 22 Mar 2026 21:11:32 +0800 Subject: [PATCH 239/318] ~i18 --- scripts/lang/chs/9_upgrade.lang | 240 ++++++++++++++++++++++ scripts/lang/en/9_upgrade.lang | 240 ++++++++++++++++++++++ scripts/menus/9_upgrade.sh | 350 ++++++++++++++++---------------- 3 files changed, 657 insertions(+), 173 deletions(-) diff --git a/scripts/lang/chs/9_upgrade.lang b/scripts/lang/chs/9_upgrade.lang index de0e17ce..a0c6735f 100644 --- a/scripts/lang/chs/9_upgrade.lang +++ b/scripts/lang/chs/9_upgrade.lang @@ -47,3 +47,243 @@ UPG_CORE_SWITCH_WARN="二者Geo数据库及yaml/json配置文件不通用" UPG_CORE_SWITCH_KEEP="是否保留相关数据库文件?" UPG_KEEP="保留" UPG_NOT_KEEP="不保留" +UPG_PAC_LINK_TEXT="PAC配置链接为:" +UPG_PAC_GUIDE_TEXT="PAC的使用教程请参考:" +UPG_THANKS_PROJECTS="感谢以下项目及其开发者们的无私奉献!" +UPG_THANKS_SPECIAL_TEXT="特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" +UPG_GETTING_UPDATE="正在检查更新......" +UPG_GET_OK="检查更新成功" +UPG_GET_FAIL="检查更新失败!请尝试切换其他安装源!" +UPG_EXTRACT_START="开始解压文件......" +UPG_SCRIPT_UPDATE_OK="脚本更新成功!" +UPG_SCRIPT_UPDATE_PROMPT="注意:更新时会停止服务!" +UPG_SCRIPT_CUR_VER_TEXT="当前脚本版本为:" +UPG_SCRIPT_NEW_VER_TEXT="最新脚本版本为:" +UPG_UPDATE_NOW_TEXT="立即更新" +UPG_CPUCORE_HINT1_TEXT="仅适合脚本无法正确识别核心或核心无法正常运行时使用!" +UPG_CPUCORE_HINT2_TEXT="不知道如何获取核心版本?" +UPG_CPUCORE_HINT3_TEXT="请参考:" +UPG_CPUCORE_LIST_TEXT="当前可供在线下载的处理器架构为:" +UPG_CORETYPE_CONFIRM_TEXT="请确认该自定义内核的类型:" +UPG_CORE_SWITCH_KEEP_TEXT="是否保留相关数据库文件?" +UPG_KEEP_TEXT="保留" +UPG_NOT_KEEP_TEXT="不保留" +UPG_GETTING_CORE_TEXT="正在在线获取$crashcore核心文件......" +UPG_CORE_DOWNLOAD_OK_TEXT="$crashcore核心下载成功!" +UPG_CORE_DOWNLOAD_FAIL_TEXT="核心文件下载失败!" +UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="核心文件下载成功但校验失败" +UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT="请尝试手动指定CPU版本" +UPG_CORE_LINK_TEXT="正在获取内核文件链接......" +UPG_CORE_INFO_TITLE="内核版本:" +UPG_CORE_INFO_TIME1="发布时间:" +UPG_CORE_INFO_TIME2="更新时间:" +UPG_CORE_INFO_SELECT="请确认内核信息并选择:" +UPG_CORE_NOT_FOUND="找不到可用内核,可能是开发者没有编译相关CPU架构版本的内核文件!" +UPG_CORE_CHECK_FAIL_HINT="查找失败,请尽量在服务启动后再使用本功能!" +UPG_CUSTOM_CORE_SOURCE="此处内核通常源自互联网采集,此处致谢各位开发者!" +UPG_CUSTOM_CORE_WARN="自定义内核未经过完整适配,使用出现问题请自行解决!" +UPG_CUSTOM_CORE_TASK_WARN="自定义内核已适配定时任务,但不支持小闪存模式!" +UPG_CUSTOM_CORE_NET_WARN="如遇到网络错误请先启动ShellCrash服务!" +UPG_CUSTOM_CORE_CURRENT="当前内核为:" +UPG_CUSTOM_CORE_SELECT="请选择需要使用的核心:" +UPG_CUSTOM_CORE_LINK_HINT="请输入自定义内核的链接地址" +UPG_CUSTOM_CORE_LINK_HINT2="(必须是以.tar.gz、.upx或.gz结尾的压缩文件)" +UPG_CUSTOM_CORE_LINK_HINT3="或者输入 0 返回上级菜单" +UPG_ZIPTYPE_TITLE="请选择内核分支及压缩方式:" +UPG_ZIPTYPE_1="1) \033[36m最简编译release版本,upx压缩\033[0m" +UPG_ZIPTYPE_1_HINT="不支持Gvisor、Tailscale、Wireguard、NaiveProxy" +UPG_ZIPTYPE_2="2) \033[32m标准编译release版本,tar.gz压缩\033[0m" +UPG_ZIPTYPE_2_HINT="完整支持脚本全部内置功能" +UPG_ZIPTYPE_3="3) \033[33m完整编译alpha版本,gz压缩\033[0m" +UPG_ZIPTYPE_3_HINT="占用可能略高,稳定性自测" +UPG_CORE_MENU_CURRENT="当前内核:" +UPG_CORE_MENU_SYS="当前系统处理器架构:" +UPG_CORE_MENU_LOCAL_HINT="如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令" +UPG_CORE_MENU_SELECT="请选择需要使用的核心版本:" +UPG_CORE_MENU_1="1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" +UPG_CORE_MENU_2="2) \033[43;30mSingBoxR\033[0m:\033[32m$singboxr_v \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" +UPG_CORE_MENU_3="3) \033[43;30mSingBox\033[0m:\033[32m$singbox_v \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" +UPG_CORE_MENU_4="4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" +UPG_CORE_MENU_5="5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" +UPG_CORE_MENU_6="6) \033[36m使用自定义内核\033[0m $custcore" +UPG_CORE_MENU_7="7) \033[32m更新当前内核\033[0m" +UPG_CORE_MENU_9="9) 手动指定处理器架构" +UPG_GEO_GETTING="正在从服务器获取数据库文件......" +UPG_GEO_FAIL="文件下载失败!" +UPG_GEO_EXTRACT_FAIL="文件解压失败!" +UPG_GEO_OK="$geotype数据库文件下载成功!" +UPG_GEO_LINKING="正在获取数据库文件......" +UPG_GEO_FINDING="正在查找可更新的数据库文件......" +UPG_GEO_SELECT="请选择需要更新的数据库文件:" +UPG_GEO_NO_RESULT="查找失败,请尽量在服务启动后再使用本功能!" +UPG_GEO_CUSTOM_HINT="此处数据库均源自互联网采集,此处致谢各位开发者!" +UPG_GEO_CUSTOM_HINT2="请点击或复制链接前往项目页面查看具体说明!" +UPG_GEO_CUSTOM_HINT3="自定义数据库不支持定时任务及小闪存模式!" +UPG_GEO_CUSTOM_HINT4="如遇到网络错误请先启动ShellCrash服务!" +UPG_GEO_SOURCE_SELECT="请选择需要更新的数据库项目来源:" +UPG_GEO_LOCAL_ONLY1="(仅限Clash/Mihomo)" +UPG_GEO_LOCAL_ONLY2="(仅限SingBox-srs)" +UPG_GEO_LOCAL_ONLY3="(仅限Mihomo-mrs)" +UPG_GEO_LOCAL_ONLY4="(仅限Clash-GeoIP)" +UPG_GEO_CUSTOM_LINK="自定义数据库链接" +UPG_GEO_CLEAN_HINT1="这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!" +UPG_GEO_CLEAN_HINT2="清理后启动服务即可自动下载所需文件" +UPG_GEO_CLEAN_CONFIRM="确认清理" +UPG_GEO_CLEAN_OK="所有数据库文件均已清理!" +UPG_DB_GETTING="正在连接服务器获取安装文件......" +UPG_DB_DOWNLOAD_OK="下载成功,正在解压文件......" +UPG_DB_EXTRACT_FAIL="文件解压失败!" +UPG_DB_OK="面板安装成功!" +UPG_DB_REFRESH_HINT="如未生效,请使用【Ctrl+F5】强制刷新浏览器!" +UPG_DB_INSTALLED="检测到已经安装过本地面板" +UPG_DB_UPGRADE="升级/覆盖安装" +UPG_DB_CANCEL="安装已取消" +UPG_DB_DIR_SELECT="请选择面板安装目录:" +UPG_DB_DIR_1="1) 在${CRASHDIR}/ui目录安装" +UPG_DB_DIR_2="2) 在/www/clash目录安装" +UPG_DB_TITLE="安装 dashboard 管理面板到本地" +UPG_DB_TITLE2="打开管理面板的速度更快且更稳定" +UPG_DB_SELECT="请选择面板安装类型:" +UPG_DB_WIP=" - - - - - - -维护中- - - - - - -" +UPG_DB_OLD=" - - - - - -已停止维护- - - - - -" +UPG_DB_INSTALL_1="1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" +UPG_DB_INSTALL_2="2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" +UPG_DB_INSTALL_3="3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" +UPG_DB_INSTALL_4="4) 安装\033[32m基础面板\033[0m(约500kb)" +UPG_DB_INSTALL_5="5) 安装\033[32mMeta基础面板\033[0m(约800kb)" +UPG_DB_INSTALL_6="6) 安装\033[32mYacd面板\033[0m(约1.1mb)" +UPG_DB_UNINSTALL="9) \033[31m卸载本地面板\033[0m" +UPG_DB_UNINSTALL_CONFIRM="是否卸载本地面板?" +UPG_DB_UNINSTALL_YES="1) 确认卸载" +UPG_DB_UNINSTALL_OK="面板已经卸载!" +UPG_CRT_DB_GETTING="正在连接服务器获取安装文件......" +UPG_CRT_DB_DOWNLOAD_FAIL="文件下载失败!" +UPG_CRT_DB_OK="证书安装成功!" +UPG_CRT_TITLE1="安装/更新本地根证书文件(ca-certificates.crt)" +UPG_CRT_TITLE2="用于解决证书校验错误,x509报错等问题" +UPG_CRT_TITLE3="无上述问题的设备请勿使用!" +UPG_CRT_EXISTS="检测到系统已经存在根证书文件:" +UPG_CRT_UPDATE="1) 覆盖更新" +UPG_CRT_INSTALL="1) 立即安装" +UPG_CRT_BACK="0) 返回上级菜单" +UPG_CRT_WARN="设备可能尚未安装openssl,无法安装证书文件!" +UPG_SOURCE_CUR="当前版本:" +UPG_SOURCE_CUR2="当前源:" +UPG_SOURCE_TITLE="切换ShellCrash版本及更新源地址" +UPG_SOURCE_SWITCH_STABLE="a) 切换至\033[32m稳定版-stable\033[0m" +UPG_SOURCE_SWITCH_MASTER="b) 切换至\033[36m公测版-master\033[0m" +UPG_SOURCE_SWITCH_DEV="c) 切换至\033[33m开发版-dev\033[0m" +UPG_SOURCE_CUSTOM="d) 自定义源地址(用于本地源或自建源)" +UPG_SOURCE_ROLLBACK="e) \033[31m版本回退\033[0m" +UPG_SOURCE_DEV_WARN1="开发版未经过妥善测试,可能依然存在大量bug!!!" +UPG_SOURCE_DEV_WARN2="如果你没有足够的耐心或者测试经验,切勿使用此版本!" +UPG_SOURCE_DEV_WARN3="请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" +UPG_SOURCE_DEV_CONFIRM="是否依然切换到开发版?" +UPG_SOURCE_DEV_YES="1) 确认切换" +UPG_SOURCE_CUSTOM_HINT="请直接输入个人源路径" +UPG_SOURCE_CUSTOM_HINT2="或者输入 0 返回上级菜单" +UPG_SOURCE_CUSTOM_INPUT="请输入个人源路径> " +UPG_SOURCE_VER_GETTING="正在获取版本信息......" +UPG_SOURCE_VER_OK="获取版本信息成功" +UPG_SOURCE_ROLLBACK_SELECT="请选择想要回退至的具体版本:" +UPG_SOURCE_ROLLBACK_FAIL="版本回退信息获取失败,请尝试更换其他安装源!" +UPG_SOURCE_ROLLBACK_NOTSUP="当前源不支持版本回退" +UPG_SOURCE_ROLLBACK_HINT="请尝试更换其他安装源!" +UPG_THANKS_ITEM_CLASH="Clash 开发:Dreamacro" +UPG_THANKS_ITEM_SINGBOX="sing-box 开发:SagerNet" +UPG_THANKS_ITEM_SINGBOX_URL="项目地址:https://github.com/SagerNet/sing-box" +UPG_THANKS_ITEM_METACUBE="MetaCubeX 开发:MetaCubeX" +UPG_THANKS_ITEM_METACUBE_URL="项目地址:https://github.com/MetaCubeX" +UPG_THANKS_ITEM_YACD="YACD面板 开发:haishanh" +UPG_THANKS_ITEM_YACD_URL="项目地址:https://github.com/haishanh/yacd" +UPG_THANKS_ITEM_ZASH="Zashboard 开发:Zephyruso" +UPG_THANKS_ITEM_ZASH_URL="项目地址:https://github.com/Zephyruso/zashboard" +UPG_THANKS_ITEM_SUB="Subconverter 开发:tindy2013" +UPG_THANKS_ITEM_SUB_URL="项目地址:https://github.com/tindy2013/subconverter" +UPG_THANKS_ITEM_REF1ND="sing-box-reF1nd 开发:reF1nd" +UPG_THANKS_ITEM_REF1ND_URL="项目地址:https://github.com/reF1nd/sing-box" +UPG_THANKS_ITEM_DUSTIN="DustinWin 开发:DustinWin" +UPG_THANKS_ITEM_DUSTIN_URL="开发者地址:https://github.com/DustinWin" +UPG_CORE_GET_LINK_TITLE="正在获取内核文件链接......" +UPG_CUSTOM_CORE_CURRENT_TEXT="当前内核为:" +UPG_CUSTOM_CORE_NOTE1="不支持Gvisor、Tailscale、Wireguard、NaiveProxy" +UPG_CORE_V1="1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" +UPG_CORE_V1_DOC="说明文档:\033[36;4mhttps://wiki.metacubex.one\033[0m" +UPG_CORE_V2="2) \033[43;30mSingBoxR\033[0m:\033[32m$singboxr_v \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" +UPG_CORE_V2_DOC="说明文档:\033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" +UPG_CORE_V3="3) \033[43;30mSingBox\033[0m:\033[32m$singbox_v \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" +UPG_CORE_V3_DOC="说明文档:\033[36;4mhttps://sing-box.sagernet.org\033[0m" +UPG_CORE_V4="4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" +UPG_CORE_V4_DOC="说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m" +UPG_CORE_ASUS_WARN="Meta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!" +UPG_GEO_FIND_TITLE="正在查找可更新的数据库文件......" +UPG_GEO_SOURCE_TITLE="请选择需要更新的数据库项目来源:" +UPG_GEO_LINK_HINT="请输入自定义数据库的链接地址> " +UPG_GEO_CHOOSE_HINT="注意:Mihomo内核和SingBox内核的数据库文件不通用" +UPG_GEO_LATEST="在线数据库最新版本(每日同步上游):" +UPG_GEO_CHOOSE="请选择需要更新的Geo数据库文件:" +UPG_GEO_ITEM1="1) CN-IP绕过文件(约0.1mb)" +UPG_GEO_ITEM2="2) CN-IPV6绕过文件(约30kb)" +UPG_GEO_ITEM3="3) Mihomo精简版GeoIP_cn数据库(约0.1mb)" +UPG_GEO_ITEM4="4) Mihomo完整版GeoSite数据库(约5mb)" +UPG_GEO_ITEM5="5) Mihomo-mrs数据库常用包(约1mb,非必要勿用)" +UPG_GEO_ITEM6="6) Singbox-srs数据库常用包(约0.8mb,非必要勿用)" +UPG_GEO_ITEM8="8) \033[36m自定义数据库文件\033[0m" +UPG_GEO_ITEM9="9) \033[31m清理数据库文件\033[0m" +UPG_GEO_CLEAN_PROMPT="确认清理" +UPG_GEO_CLEAN_WARN="这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!" +UPG_GEO_CLEAN_WARN2="清理后启动服务即可自动下载所需文件" +UPG_GEO_CLEANED="所有数据库文件均已清理!" +UPG_DB_CONNECTING="正在连接服务器获取安装文件......" +UPG_DB_DOWNLOAD_FAIL="文件下载失败!" +UPG_DB_EXTRACT_FAIL_TEXT="文件解压失败!" +UPG_DB_INSTALLED_HINT="检测到已经安装过本地面板" +UPG_DB_INSTALL_CANCEL="安装已取消" +UPG_DB_DIR_TITLE="请选择面板安装目录:" +UPG_DB_DIR_1_TEXT="1) 在${CRASHDIR}/ui目录安装" +UPG_DB_DIR_2_TEXT="2) 在/www/clash目录安装" +UPG_DB_INSTALL_TITLE="安装 dashboard 管理面板到本地" +UPG_DB_INSTALL_TITLE2="打开管理面板的速度更快且更稳定" +UPG_DB_INSTALL_SELECT="请选择面板安装类型:" +UPG_DB_INSTALL_MID=" - - - - - - -维护中- - - - - - -" +UPG_DB_INSTALL_END=" - - - - - -已停止维护- - - - - -" +UPG_DB_INSTALL_4_TEXT="4) 安装\033[32m基础面板\033[0m(约500kb)" +UPG_DB_INSTALL_5_TEXT="5) 安装\033[32mMeta基础面板\033[0m(约800kb)" +UPG_DB_INSTALL_6_TEXT="6) 安装\033[32mYacd面板\033[0m(约1.1mb)" +UPG_DB_UNINSTALL_PROMPT="是否卸载本地面板?" +UPG_DB_UNINSTALL_CONFIRM_TEXT="1) 确认卸载" +UPG_DB_UNINSTALLED="面板已经卸载!" +UPG_CRT_CONNECTING="正在连接服务器获取安装文件......" +UPG_CRT_INSTALL_OK="证书安装成功!" +UPG_CRT_INSTALL_TITLE1="安装/更新本地根证书文件(ca-certificates.crt)" +UPG_CRT_INSTALL_TITLE2="用于解决证书校验错误,x509报错等问题" +UPG_CRT_INSTALL_TITLE3="无上述问题的设备请勿使用!" +UPG_CRT_EXIST_HINT="检测到系统已经存在根证书文件:" +UPG_CRT_OVERWRITE="1) 覆盖更新" +UPG_CRT_NOW="1) 立即安装" +UPG_CRT_NOT_USE="设备可能尚未安装openssl,无法安装证书文件!" +UPG_SOURCE_TITLE2="切换ShellCrash版本及更新源地址" +UPG_SOURCE_CUR_VER="当前版本:" +UPG_SOURCE_CUR_URL="当前源:" +UPG_SOURCE_STABLE_TEXT="稳定版" +UPG_SOURCE_MASTER_TEXT="公测版" +UPG_SOURCE_DEV_TEXT="开发版" +UPG_SOURCE_DEV_WARN4="开发版未经过妥善测试,可能依然存在大量bug!!!" +UPG_SOURCE_DEV_WARN5="如果你没有足够的耐心或者测试经验,切勿使用此版本!" +UPG_SOURCE_DEV_WARN6="请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" +UPG_SOURCE_DEV_ASK="是否依然切换到开发版?" +UPG_SOURCE_DEV_CONFIRM_TEXT="1) 确认切换" +UPG_SOURCE_PATH_HINT="请直接输入个人源路径" +UPG_SOURCE_PATH_HINT2="或者输入 0 返回上级菜单" +UPG_SOURCE_PATH_INPUT="请输入个人源路径> " +UPG_SOURCE_GETTING_VER="正在获取版本信息......" +UPG_SOURCE_GET_VER_OK="获取版本信息成功" +UPG_SOURCE_ROLLBACK_SELECT_TEXT="请选择想要回退至的具体版本:" +UPG_SOURCE_ROLLBACK_FAIL_TEXT="版本回退信息获取失败,请尝试更换其他安装源!" +UPG_SOURCE_ROLLBACK_NOTSUP_TEXT="当前源不支持版本回退" +UPG_SOURCE_ROLLBACK_HINT_TEXT="请尝试更换其他安装源!" +UPG_SOURCE_SWITCH_OK="源地址切换成功!" +UPG_GEO_TYPE_LITE="精简版" +UPG_GEO_TYPE_FULL="全球版" +UPG_SOURCE_UNSET="未指定" +UPG_SOURCE_ROLLBACK_TAG="(回退)" diff --git a/scripts/lang/en/9_upgrade.lang b/scripts/lang/en/9_upgrade.lang index fab88b26..595581ba 100644 --- a/scripts/lang/en/9_upgrade.lang +++ b/scripts/lang/en/9_upgrade.lang @@ -47,3 +47,243 @@ UPG_CORE_SWITCH_WARN="Geo DB and yaml/json configs are not compatible between th UPG_CORE_SWITCH_KEEP="Keep related database files?" UPG_KEEP="Keep" UPG_NOT_KEEP="Do not keep" +UPG_PAC_LINK_TEXT="PAC URL: " +UPG_PAC_GUIDE_TEXT="PAC guide: " +UPG_THANKS_PROJECTS="Thanks to the following projects and developers!" +UPG_THANKS_SPECIAL_TEXT="Special thanks: \033[36mall contributors and sponsors!\033[0m" +UPG_GETTING_UPDATE="Checking updates..." +UPG_GET_OK="Update check succeeded" +UPG_GET_FAIL="Update check failed! Please switch source and retry!" +UPG_EXTRACT_START="Extracting files..." +UPG_SCRIPT_UPDATE_OK="Script update succeeded!" +UPG_SCRIPT_UPDATE_PROMPT="Note: service will be stopped during update!" +UPG_SCRIPT_CUR_VER_TEXT="Current script version: " +UPG_SCRIPT_NEW_VER_TEXT="Latest script version: " +UPG_UPDATE_NOW_TEXT="Update now" +UPG_CPUCORE_HINT1_TEXT="Use only when CPU architecture detection fails or core cannot run!" +UPG_CPUCORE_HINT2_TEXT="Not sure how to get core arch?" +UPG_CPUCORE_HINT3_TEXT="Refer to: " +UPG_CPUCORE_LIST_TEXT="Available online CPU architectures:" +UPG_CORETYPE_CONFIRM_TEXT="Please confirm custom core type:" +UPG_CORE_SWITCH_KEEP_TEXT="Keep related database files?" +UPG_KEEP_TEXT="Keep" +UPG_NOT_KEEP_TEXT="Do not keep" +UPG_GETTING_CORE_TEXT="Fetching $crashcore core files online..." +UPG_CORE_DOWNLOAD_OK_TEXT="$crashcore core downloaded successfully!" +UPG_CORE_DOWNLOAD_FAIL_TEXT="Core file download failed!" +UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="Core file downloaded, but verification failed" +UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT="Please try selecting a CPU version manually" +UPG_CORE_LINK_TEXT="Fetching core file links..." +UPG_CORE_INFO_TITLE="Core version: " +UPG_CORE_INFO_TIME1="Release time: " +UPG_CORE_INFO_TIME2="Updated: " +UPG_CORE_INFO_SELECT="Please confirm the core info and choose:" +UPG_CORE_NOT_FOUND="No available core found. The developer may not have built a binary for this CPU architecture!" +UPG_CORE_CHECK_FAIL_HINT="Search failed. Please try again after the service starts!" +UPG_CUSTOM_CORE_SOURCE="This core is usually collected from the internet. Thanks to the developers!" +UPG_CUSTOM_CORE_WARN="Custom cores have not been fully adapted. Please fix issues yourself if they occur!" +UPG_CUSTOM_CORE_TASK_WARN="Custom cores support scheduled tasks but do not support low-flash mode!" +UPG_CUSTOM_CORE_NET_WARN="If you encounter network errors, start the ShellCrash service first!" +UPG_CUSTOM_CORE_CURRENT="Current core: " +UPG_CUSTOM_CORE_SELECT="Please choose the core you want to use:" +UPG_CUSTOM_CORE_LINK_HINT="Please enter the custom core URL" +UPG_CUSTOM_CORE_LINK_HINT2="(must end with .tar.gz, .upx, or .gz)" +UPG_CUSTOM_CORE_LINK_HINT3="Or enter 0 to return to the previous menu" +UPG_ZIPTYPE_TITLE="Please choose the core branch and compression method:" +UPG_ZIPTYPE_1="1) \033[36mMinimal release build, upx compressed\033[0m" +UPG_ZIPTYPE_1_HINT="Gvisor, Tailscale, Wireguard, and NaiveProxy are not supported" +UPG_ZIPTYPE_2="2) \033[32mStandard release build, tar.gz compressed\033[0m" +UPG_ZIPTYPE_2_HINT="Fully supports all built-in script features" +UPG_ZIPTYPE_3="3) \033[33mFull alpha build, gz compressed\033[0m" +UPG_ZIPTYPE_3_HINT="May use a bit more space; stability is self-tested" +UPG_CORE_MENU_CURRENT="Current core: " +UPG_CORE_MENU_SYS="Current CPU architecture: " +UPG_CORE_MENU_LOCAL_HINT="If uploading locally, place .upx, .gz, or .tar.gz files in /tmp and rerun the crash command" +UPG_CORE_MENU_SELECT="Please choose the core version to use:" +UPG_CORE_MENU_1="1) \033[43;30mMihomo\033[0m: \033[32m$meta_v \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" +UPG_CORE_MENU_2="2) \033[43;30mSingBoxR\033[0m: \033[32m$singboxr_v \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" +UPG_CORE_MENU_3="3) \033[43;30mSingBox\033[0m: \033[32m$singbox_v \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" +UPG_CORE_MENU_4="4) \033[43;30mClash\033[0m: \033[32m$clash_v \033[32mlow resource usage\033[0m \033[33munsafe, maintenance stopped\033[0m" +UPG_CORE_MENU_5="5) Switch branch and compression method: \033[32m$zip_type\033[0m" +UPG_CORE_MENU_6="6) \033[36mUse custom core\033[0m $custcore" +UPG_CORE_MENU_7="7) \033[32mUpdate current core\033[0m" +UPG_CORE_MENU_9="9) Manually specify CPU architecture" +UPG_GEO_GETTING="Fetching database files from the server..." +UPG_GEO_FAIL="Download failed!" +UPG_GEO_EXTRACT_FAIL="Extraction failed!" +UPG_GEO_OK="$geotype database file downloaded successfully!" +UPG_GEO_LINKING="Fetching database files..." +UPG_GEO_FINDING="Searching for updatable database files..." +UPG_GEO_SELECT="Please choose the database file to update:" +UPG_GEO_NO_RESULT="Search failed. Please try again after the service starts!" +UPG_GEO_CUSTOM_HINT="These database files are usually collected from the internet. Thanks to the developers!" +UPG_GEO_CUSTOM_HINT2="Please click or copy the link to visit the project page for details!" +UPG_GEO_CUSTOM_HINT3="Custom databases do not support scheduled tasks or low-flash mode!" +UPG_GEO_CUSTOM_HINT4="If you encounter network errors, start the ShellCrash service first!" +UPG_GEO_SOURCE_SELECT="Please choose the database source:" +UPG_GEO_LOCAL_ONLY1="(Clash/Mihomo only)" +UPG_GEO_LOCAL_ONLY2="(SingBox-srs only)" +UPG_GEO_LOCAL_ONLY3="(Mihomo-mrs only)" +UPG_GEO_LOCAL_ONLY4="(Clash-GeoIP only)" +UPG_GEO_CUSTOM_LINK="Custom database link" +UPG_GEO_CLEAN_HINT1="This will clean all database files under $CRASHDIR and /ruleset!" +UPG_GEO_CLEAN_HINT2="After cleaning, starting the service will automatically download the required files" +UPG_GEO_CLEAN_CONFIRM="Confirm cleanup" +UPG_GEO_CLEAN_OK="All database files have been cleaned!" +UPG_DB_GETTING="Connecting to the server to fetch installation files..." +UPG_DB_DOWNLOAD_OK="Download succeeded, extracting files..." +UPG_DB_EXTRACT_FAIL="Extraction failed!" +UPG_DB_OK="Panel installed successfully!" +UPG_DB_REFRESH_HINT="If it does not take effect, use Ctrl+F5 to force-refresh the browser!" +UPG_DB_INSTALLED="A local panel is already installed" +UPG_DB_UPGRADE="Upgrade / overwrite install" +UPG_DB_CANCEL="Installation cancelled" +UPG_DB_DIR_SELECT="Please choose the panel install directory:" +UPG_DB_DIR_1="1) Install in ${CRASHDIR}/ui" +UPG_DB_DIR_2="2) Install in /www/clash" +UPG_DB_TITLE="Install the dashboard management panel locally" +UPG_DB_TITLE2="The management panel opens faster and is more stable" +UPG_DB_SELECT="Please choose the panel installation type:" +UPG_DB_WIP=" - - - - - - -Maintenance - - - - - - -" +UPG_DB_OLD=" - - - - - -Maintenance stopped - - - - - -" +UPG_DB_INSTALL_1="1) Install \033[32mzashboard panel\033[0m (about 2.2mb)" +UPG_DB_INSTALL_2="2) Install \033[32mMetaXD panel\033[0m (about 1.5mb)" +UPG_DB_INSTALL_3="3) Install \033[32mYacd-Meta modified panel\033[0m (about 1.7mb)" +UPG_DB_INSTALL_4="4) Install \033[32mbasic panel\033[0m (about 500kb)" +UPG_DB_INSTALL_5="5) Install \033[32mMeta basic panel\033[0m (about 800kb)" +UPG_DB_INSTALL_6="6) Install \033[32mYacd panel\033[0m (about 1.1mb)" +UPG_DB_UNINSTALL="9) \033[31mUninstall local panel\033[0m" +UPG_DB_UNINSTALL_CONFIRM="Uninstall the local panel?" +UPG_DB_UNINSTALL_YES="1) Confirm uninstall" +UPG_DB_UNINSTALL_OK="Panel has been uninstalled!" +UPG_CRT_DB_GETTING="Connecting to the server to fetch installation files..." +UPG_CRT_DB_DOWNLOAD_FAIL="Download failed!" +UPG_CRT_DB_OK="Certificate installed successfully!" +UPG_CRT_TITLE1="Install / update local root certificate file (ca-certificates.crt)" +UPG_CRT_TITLE2="Used to fix certificate verification errors, x509 errors, and similar issues" +UPG_CRT_TITLE3="Do not use on devices without the above issues!" +UPG_CRT_EXISTS="The system already has a root certificate file:" +UPG_CRT_UPDATE="1) Overwrite update" +UPG_CRT_INSTALL="1) Install now" +UPG_CRT_BACK="0) Return to previous menu" +UPG_CRT_WARN="This device may not have openssl installed, so certificate files cannot be installed!" +UPG_SOURCE_CUR="Current version: " +UPG_SOURCE_CUR2="Current source: " +UPG_SOURCE_TITLE="Switch ShellCrash version and update source" +UPG_SOURCE_SWITCH_STABLE="a) Switch to \033[32mstable-stable\033[0m" +UPG_SOURCE_SWITCH_MASTER="b) Switch to \033[36mmaster\033[0m" +UPG_SOURCE_SWITCH_DEV="c) Switch to \033[33mdev\033[0m" +UPG_SOURCE_CUSTOM="d) Custom source URL (for local or self-hosted sources)" +UPG_SOURCE_ROLLBACK="e) \033[31mVersion rollback\033[0m" +UPG_SOURCE_DEV_WARN1="The development branch has not been properly tested and may still contain many bugs!!!" +UPG_SOURCE_DEV_WARN2="If you do not have enough patience or testing experience, do not use this version!" +UPG_SOURCE_DEV_WARN3="Please join our discussion group: \033[36;4mhttps://t.me/ShellClash\033[0m" +UPG_SOURCE_DEV_CONFIRM="Still switch to the development branch?" +UPG_SOURCE_DEV_YES="1) Confirm switch" +UPG_SOURCE_CUSTOM_HINT="Please enter the personal source path directly" +UPG_SOURCE_CUSTOM_HINT2="Or enter 0 to return to the previous menu" +UPG_SOURCE_CUSTOM_INPUT="Please enter the personal source path> " +UPG_SOURCE_VER_GETTING="Fetching version information..." +UPG_SOURCE_VER_OK="Version information fetched successfully" +UPG_SOURCE_ROLLBACK_SELECT="Please select the specific version to roll back to:" +UPG_SOURCE_ROLLBACK_FAIL="Failed to fetch rollback information. Please try another source!" +UPG_SOURCE_ROLLBACK_NOTSUP="Current source does not support version rollback" +UPG_SOURCE_ROLLBACK_HINT="Please try another installation source!" +UPG_THANKS_ITEM_CLASH="Clash Developer: Dreamacro" +UPG_THANKS_ITEM_SINGBOX="sing-box Developer: SagerNet" +UPG_THANKS_ITEM_SINGBOX_URL="Project: https://github.com/SagerNet/sing-box" +UPG_THANKS_ITEM_METACUBE="MetaCubeX Developer: MetaCubeX" +UPG_THANKS_ITEM_METACUBE_URL="Project: https://github.com/MetaCubeX" +UPG_THANKS_ITEM_YACD="YACD panel Developer: haishanh" +UPG_THANKS_ITEM_YACD_URL="Project: https://github.com/haishanh/yacd" +UPG_THANKS_ITEM_ZASH="Zashboard Developer: Zephyruso" +UPG_THANKS_ITEM_ZASH_URL="Project: https://github.com/Zephyruso/zashboard" +UPG_THANKS_ITEM_SUB="Subconverter Developer: tindy2013" +UPG_THANKS_ITEM_SUB_URL="Project: https://github.com/tindy2013/subconverter" +UPG_THANKS_ITEM_REF1ND="sing-box-reF1nd Developer: reF1nd" +UPG_THANKS_ITEM_REF1ND_URL="Project: https://github.com/reF1nd/sing-box" +UPG_THANKS_ITEM_DUSTIN="DustinWin Developer: DustinWin" +UPG_THANKS_ITEM_DUSTIN_URL="Developer: https://github.com/DustinWin" +UPG_CORE_GET_LINK_TITLE="Fetching core file links..." +UPG_CUSTOM_CORE_CURRENT_TEXT="Current core: " +UPG_CUSTOM_CORE_NOTE1="Gvisor, Tailscale, Wireguard, and NaiveProxy are not supported" +UPG_CORE_V1="1) \033[43;30mMihomo\033[0m: \033[32m$meta_v \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" +UPG_CORE_V1_DOC="Docs: \033[36;4mhttps://wiki.metacubex.one\033[0m" +UPG_CORE_V2="2) \033[43;30mSingBoxR\033[0m: \033[32m$singboxr_v \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" +UPG_CORE_V2_DOC="Docs: \033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" +UPG_CORE_V3="3) \033[43;30mSingBox\033[0m: \033[32m$singbox_v \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" +UPG_CORE_V3_DOC="Docs: \033[36;4mhttps://sing-box.sagernet.org\033[0m" +UPG_CORE_V4="4) \033[43;30mClash\033[0m: \033[32m$clash_v \033[32mlow resource usage\033[0m \033[33munsafe, maintenance stopped\033[0m" +UPG_CORE_V4_DOC="Docs: \033[36;4mhttps://lancellc.gitbook.io\033[0m" +UPG_CORE_ASUS_WARN="The GeoSite.dat database used by Meta core may be deleted by the system on Asus devices, so it may not work!" +UPG_GEO_FIND_TITLE="Searching for updatable database files..." +UPG_GEO_SOURCE_TITLE="Please choose the database source:" +UPG_GEO_LINK_HINT="Please enter the custom database URL> " +UPG_GEO_CHOOSE_HINT="Note: Mihomo and SingBox database files are not interchangeable" +UPG_GEO_LATEST="Latest online database version (synced daily): " +UPG_GEO_CHOOSE="Please choose the Geo database file to update:" +UPG_GEO_ITEM1="1) CN-IP bypass file (about 0.1mb)" +UPG_GEO_ITEM2="2) CN-IPV6 bypass file (about 30kb)" +UPG_GEO_ITEM3="3) Mihomo lite GeoIP_cn database (about 0.1mb)" +UPG_GEO_ITEM4="4) Mihomo full GeoSite database (about 5mb)" +UPG_GEO_ITEM5="5) Mihomo-mrs common package (about 1mb, use only if needed)" +UPG_GEO_ITEM6="6) SingBox-srs common package (about 0.8mb, use only if needed)" +UPG_GEO_ITEM8="8) \033[36mCustom database file\033[0m" +UPG_GEO_ITEM9="9) \033[31mClean database files\033[0m" +UPG_GEO_CLEAN_PROMPT="Confirm cleanup" +UPG_GEO_CLEAN_WARN="This will clean all database files under $CRASHDIR and /ruleset!" +UPG_GEO_CLEAN_WARN2="After cleanup, start the service to download the required files automatically" +UPG_GEO_CLEANED="All database files have been cleaned!" +UPG_DB_CONNECTING="Connecting to the server to fetch installation files..." +UPG_DB_DOWNLOAD_FAIL="Download failed!" +UPG_DB_EXTRACT_FAIL_TEXT="Extraction failed!" +UPG_DB_INSTALLED_HINT="A local panel is already installed" +UPG_DB_INSTALL_CANCEL="Installation cancelled" +UPG_DB_DIR_TITLE="Please choose the panel install directory:" +UPG_DB_DIR_1_TEXT="1) Install in ${CRASHDIR}/ui" +UPG_DB_DIR_2_TEXT="2) Install in /www/clash" +UPG_DB_INSTALL_TITLE="Install the dashboard management panel locally" +UPG_DB_INSTALL_TITLE2="The management panel opens faster and is more stable" +UPG_DB_INSTALL_SELECT="Please choose the panel installation type:" +UPG_DB_INSTALL_MID=" - - - - - - -Maintenance - - - - - - -" +UPG_DB_INSTALL_END=" - - - - - -Maintenance stopped - - - - - -" +UPG_DB_INSTALL_4_TEXT="4) Install \033[32mbasic panel\033[0m (about 500kb)" +UPG_DB_INSTALL_5_TEXT="5) Install \033[32mMeta basic panel\033[0m (about 800kb)" +UPG_DB_INSTALL_6_TEXT="6) Install \033[32mYacd panel\033[0m (about 1.1mb)" +UPG_DB_UNINSTALL_PROMPT="Uninstall the local panel?" +UPG_DB_UNINSTALL_CONFIRM_TEXT="1) Confirm uninstall" +UPG_DB_UNINSTALLED="Panel has been uninstalled!" +UPG_CRT_CONNECTING="Connecting to the server to fetch installation files..." +UPG_CRT_INSTALL_OK="Certificate installed successfully!" +UPG_CRT_INSTALL_TITLE1="Install / update local root certificate file (ca-certificates.crt)" +UPG_CRT_INSTALL_TITLE2="Used to fix certificate verification errors, x509 errors, and similar issues" +UPG_CRT_INSTALL_TITLE3="Do not use on devices without the above issues!" +UPG_CRT_EXIST_HINT="The system already has a root certificate file:" +UPG_CRT_OVERWRITE="1) Overwrite update" +UPG_CRT_NOW="1) Install now" +UPG_CRT_NOT_USE="This device may not have openssl installed, so certificate files cannot be installed!" +UPG_SOURCE_TITLE2="Switch ShellCrash version and update source" +UPG_SOURCE_CUR_VER="Current version: " +UPG_SOURCE_CUR_URL="Current source: " +UPG_SOURCE_STABLE_TEXT="stable" +UPG_SOURCE_MASTER_TEXT="beta" +UPG_SOURCE_DEV_TEXT="dev" +UPG_SOURCE_DEV_WARN4="The development branch has not been properly tested and may still contain many bugs!!!" +UPG_SOURCE_DEV_WARN5="If you do not have enough patience or testing experience, do not use this version!" +UPG_SOURCE_DEV_WARN6="Please join our discussion group: \033[36;4mhttps://t.me/ShellClash\033[0m" +UPG_SOURCE_DEV_ASK="Still switch to the development branch?" +UPG_SOURCE_DEV_CONFIRM_TEXT="1) Confirm switch" +UPG_SOURCE_PATH_HINT="Please enter the personal source path directly" +UPG_SOURCE_PATH_HINT2="Or enter 0 to return to the previous menu" +UPG_SOURCE_PATH_INPUT="Please enter the personal source path> " +UPG_SOURCE_GETTING_VER="Fetching version information..." +UPG_SOURCE_GET_VER_OK="Version information fetched successfully" +UPG_SOURCE_ROLLBACK_SELECT_TEXT="Please select the specific version to roll back to:" +UPG_SOURCE_ROLLBACK_FAIL_TEXT="Failed to fetch rollback information. Please try another source!" +UPG_SOURCE_ROLLBACK_NOTSUP_TEXT="Current source does not support version rollback" +UPG_SOURCE_ROLLBACK_HINT_TEXT="Please try another installation source!" +UPG_SOURCE_SWITCH_OK="Source switched successfully!" +UPG_GEO_TYPE_LITE="lite" +UPG_GEO_TYPE_FULL="global" +UPG_SOURCE_UNSET="unset" +UPG_SOURCE_ROLLBACK_TAG="(rollback)" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 96a4db88..c6e6ec7b 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -73,28 +73,28 @@ upgrade() { ;; 9) comp_box "$UPG_THANKS_TITLE" - btm_box "\033[32mClash \033[0m开发:\033[36mDreamacro\033[0m" \ + btm_box "\033[32m$UPG_THANKS_ITEM_CLASH\033[0m" \ "" \ - "\033[32msing-box \033[0m开发:\033[36mSagerNet\033[0m" \ - "项目地址:\033[32mhttps://github.com/SagerNet/sing-box\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_SINGBOX\033[0m" \ + "$UPG_THANKS_ITEM_SINGBOX_URL" \ "" \ - "\033[32mMetaCubeX \033[0m开发:\033[36mMetaCubeX\033[0m" \ - "项目地址:\033[32mhttps://github.com/MetaCubeX\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_METACUBE\033[0m" \ + "$UPG_THANKS_ITEM_METACUBE_URL" \ "" \ - "\033[32mYACD面板 \033[0m开发:\033[36mhaishanh\033[0m" \ - "项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_YACD\033[0m" \ + "$UPG_THANKS_ITEM_YACD_URL" \ "" \ - "\033[32mZashboard \033[0m开发:\033[36mZephyruso\033[0m" \ - "项目地址:\033[32mhttps://github.com/Zephyruso/zashboard\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_ZASH\033[0m" \ + "$UPG_THANKS_ITEM_ZASH_URL" \ "" \ - "\033[32mSubconverter \033[0m开发:\033[36mtindy2013\033[0m" \ - "项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_SUB\033[0m" \ + "$UPG_THANKS_ITEM_SUB_URL" \ "" \ - "\033[32msing-box-reF1nd \033[0m开发:\033[36mreF1nd\033[0m" \ - "项目地址:\033[32mhttps://github.com/reF1nd/sing-box\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_REF1ND\033[0m" \ + "$UPG_THANKS_ITEM_REF1ND_URL" \ "" \ - "\033[32mDustinWin \033[0m开发:\033[36mDustinWin\033[0m" \ - "开发者地址:\033[32mhttps://github.com/DustinWin\033[0m" \ + "\033[32m$UPG_THANKS_ITEM_DUSTIN\033[0m" \ + "$UPG_THANKS_ITEM_DUSTIN_URL" \ "" btm_box "$UPG_THANKS_SPECIAL" sleep 2 @@ -300,23 +300,23 @@ getcore() { # 获取在线内核文件 line_break separator_line "=" - content_line "正在在线获取$crashcore核心文件......" + content_line "$UPG_GETTING_CORE_TEXT" core_webget case "$?" in 0) - content_line "\033[32m$crashcore核心下载成功!\033[0m" + content_line "\033[32m$UPG_CORE_DOWNLOAD_OK_TEXT\033[0m" separator_line "=" sleep 1 switch_core ;; 1) - content_line "\033[31m核心文件下载失败!\033[0m" + content_line "\033[31m$UPG_CORE_DOWNLOAD_FAIL_TEXT\033[0m" separator_line "=" [ -z "$custcorelink" ] && error_down ;; *) - content_line "\033[31m核心文件下载成功但校验失败\033[0m" - content_line "\033[31m请尝试手动指定CPU版本\033[0m" + content_line "\033[31m$UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT\033[0m" + content_line "\033[31m$UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT\033[0m" separator_line "=" sleep 1 rm -rf "${TMPDIR}"/core_new @@ -331,7 +331,7 @@ checkcustcore() { # 通过githubapi获取内核信息 line_break separator_line "=" - content_line "\033[32m正在获取内核文件链接......\033[0m" + content_line "\033[32m$UPG_CORE_GET_LINK_TITLE\033[0m" webget "$TMPDIR"/github_api https://api.github.com/repos/"${project}"/releases/"${api_url}" if [ "$?" = 0 ]; then release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') @@ -344,10 +344,10 @@ checkcustcore() { if [ -s "$TMPDIR"/core.list ]; then separator_line "=" - comp_box "内核版本:\033[36m$release_tag\033[0m" \ - "发布时间:\033[33m$release_date\033[0m" \ - "更新时间:\033[32m$update_date\033[0m" - content_line "\033[33m请确认内核信息并选择:\033[0m" + comp_box "$UPG_CORE_INFO_TITLE\033[36m$release_tag\033[0m" \ + "$UPG_CORE_INFO_TIME1\033[33m$release_date\033[0m" \ + "$UPG_CORE_INFO_TIME2\033[32m$update_date\033[0m" + content_line "\033[33m$UPG_CORE_INFO_SELECT\033[0m" separator_line "-" grep -oE "$release_tag.*" "$TMPDIR/core.list" | sed 's|.*/||' | @@ -375,12 +375,12 @@ checkcustcore() { ;; esac else - content_line "\033[31m找不到可用内核,可能是开发者没有编译相关CPU架构版本的内核文件!\033[0m" + content_line "\033[31m$UPG_CORE_NOT_FOUND\033[0m" separator_line "=" sleep 1 fi else - content_line "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + content_line "\033[31m$UPG_CORE_CHECK_FAIL_HINT\033[0m" separator_line "=" sleep 1 fi @@ -393,21 +393,21 @@ setcustcore() { [ -z "$cpucore" ] && check_cpucore line_break separator_line "=" - content_line "\033[36m此处内核通常源自互联网采集,此处致谢各位开发者!\033[0m" - content_line "\033[33m自定义内核未经过完整适配,使用出现问题请自行解决!\033[0m" - content_line "\033[31m自定义内核已适配定时任务,但不支持小闪存模式!\033[0m" - content_line "\033[32m如遇到网络错误请先启动ShellCrash服务!\033[0m" + content_line "\033[36m$UPG_CUSTOM_CORE_SOURCE\033[0m" + content_line "\033[33m$UPG_CUSTOM_CORE_WARN\033[0m" + content_line "\033[31m$UPG_CUSTOM_CORE_TASK_WARN\033[0m" + content_line "\033[32m$UPG_CUSTOM_CORE_NET_WARN\033[0m" [ -n "$custcore" ] && { - content_line "当前内核为:\033[36m$custcore\033[0m" + content_line "$UPG_CUSTOM_CORE_CURRENT_TEXT\033[36m$custcore\033[0m" } separator_line "=" - content_line "请选择需要使用的核心:" + content_line "$UPG_CUSTOM_CORE_SELECT" separator_line "-" - btm_box "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" \ - "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" \ - "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" \ - "4) Premium-2023.08.17内核(已停止维护)" \ - "9) \033[33m自定义内核链接 \033[0m" \ + btm_box "$UPG_CORE_MENU_1" \ + "$UPG_CORE_MENU_2" \ + "$UPG_CORE_MENU_3" \ + "$UPG_CORE_MENU_4" \ + "$UPG_CORE_MENU_9" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -440,11 +440,11 @@ setcustcore() { checkcustcore ;; 9) - comp_box "请输入自定义内核的链接地址" \ - "(必须是以.tar.gz、.upx或.gz结尾的压缩文件)" \ + comp_box "$UPG_CUSTOM_CORE_LINK_HINT" \ + "$UPG_CUSTOM_CORE_LINK_HINT2" \ "" \ - "或者输入 0 返回上级菜单" - read -r -p "请输入> " link + "$UPG_CUSTOM_CORE_LINK_HINT3" + read -r -p "$UPG_SOURCE_CUSTOM_INPUT" link if [ "$link" = 0 ]; then continue elif [ -n "$link" ]; then @@ -461,14 +461,14 @@ setcustcore() { } setziptype() { - comp_box "请选择内核内核分支及压缩方式:\033[0m" - content_line "1) \033[36m最简编译release版本,upx压缩\033[0m" - sub_content_line "不支持Gvisor、Tailscale、Wireguard、NaiveProxy" - content_line "2) \033[32m标准编译release版本,tar.gz压缩\033[0m" - sub_content_line "完整支持脚本全部内置功能" - content_line "3) \033[33m完整编译alpha版本,gz压缩\033[0m" - sub_content_line "占用可能略高,稳定性自测" - content_line "0) 返回上级菜单" + comp_box "\033[0m$UPG_ZIPTYPE_TITLE" + content_line "$UPG_ZIPTYPE_1" + sub_content_line "$UPG_CUSTOM_CORE_NOTE1" + content_line "$UPG_ZIPTYPE_2" + sub_content_line "$UPG_ZIPTYPE_2_HINT" + content_line "$UPG_ZIPTYPE_3" + sub_content_line "$UPG_ZIPTYPE_3_HINT" + content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num case "$num" in @@ -500,30 +500,30 @@ setcore() { [ -z "$cpucore" ] && check_cpucore - comp_box "当前内核:\033[42;30m$crashcore\033[47;30m $core_v\033[0m" \ - "当前系统处理器架构:\033[32m$cpucore\033[0m" \ - "\033[36m如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令\033[0m" \ + comp_box "$UPG_CORE_MENU_CURRENT\033[42;30m$crashcore\033[47;30m $core_v\033[0m" \ + "$UPG_CORE_MENU_SYS\033[32m$cpucore\033[0m" \ + "\033[36m$UPG_CORE_MENU_LOCAL_HINT\033[0m" \ "" \ - "\033[33m请选择需要使用的核心版本:\033[0m" + "\033[33m$UPG_CORE_MENU_SELECT\033[0m" - content_line "1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" - sub_content_line "说明文档:\033[36;4mhttps://wiki.metacubex.one\033[0m" + content_line "$UPG_CORE_V1" + sub_content_line "$UPG_CORE_V1_DOC" - content_line "2) \033[43;30mSingBoxR\033[0m:\033[32m$singboxr_v \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" - sub_content_line "说明文档:\033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" + content_line "$UPG_CORE_V2" + sub_content_line "$UPG_CORE_V2_DOC" [ "$zip_type" = 'upx' ] && { - content_line "3) \033[43;30mSingBox\033[0m:\033[32m$singbox_v \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" - sub_content_line "说明文档:\033[36;4mhttps://sing-box.sagernet.org\033[0m" + content_line "$UPG_CORE_V3" + sub_content_line "$UPG_CORE_V3_DOC" } [ "$zip_type" = 'upx' ] && { - content_line "4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" - sub_content_line "说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m" + content_line "$UPG_CORE_V4" + sub_content_line "$UPG_CORE_V4_DOC" } - btm_box "5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" \ - "6) \033[36m使用自定义内核\033[0m $custcore" \ - "7) \033[32m更新当前内核\033[0m" \ - "9) 手动指定处理器架构" \ + btm_box "$UPG_CORE_MENU_5" \ + "$UPG_CORE_MENU_6" \ + "$UPG_CORE_MENU_7" \ + "$UPG_CORE_MENU_9" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -533,7 +533,7 @@ setcore() { ;; 1) [ -d "/jffs" ] && { - msg_alert -t 2 "\033[31mMeta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!\033[0m" + msg_alert -t 2 "\033[31m$UPG_CORE_ASUS_WARN\033[0m" } crashcore=meta custcorelink='' @@ -585,10 +585,10 @@ getgeo() { # 生成链接 line_break separator_line "=" - content_line "正在从服务器获取数据库文件......" + content_line "$UPG_GEO_GETTING" get_bin "$TMPDIR"/"${geoname}" bin/geodata/"$geotype" if [ "$?" = "1" ]; then - content_line "\033[31m文件下载失败!\033[0m" + content_line "\033[31m$UPG_GEO_FAIL\033[0m" error_down else echo "$geoname" | grep -Eq '.mrs|.srs|.tar.gz' && { @@ -598,7 +598,7 @@ getgeo() { if echo "$geoname" | grep -Eq '.tar.gz'; then tar -zxf "$TMPDIR"/"${geoname}" ${tar_para} -C "$BINDIR"/"${geofile}" >/dev/null if [ $? -ne 0 ]; then - content_line "文件解压失败!" + content_line "$UPG_GEO_EXTRACT_FAIL" separator_line "=" sleep 1 line_break @@ -609,7 +609,7 @@ getgeo() { else mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" fi - content_line "\033[32m$geotype数据库文件下载成功!\033[0m" + content_line "\033[32m$UPG_GEO_OK\033[0m" geo_v="$(echo "$geotype" | awk -F "." '{print $1}')_v" setconfig "$geo_v" "$GeoIP_v" fi @@ -619,10 +619,10 @@ getgeo() { getcustgeo() { line_break separator_line "=" - content_line "正在获取数据库文件......" + content_line "$UPG_GEO_LINKING" webget "$TMPDIR"/"$geoname" "$custgeolink" if [ "$?" = "1" ]; then - content_line "\033[31m文件下载失败!\033[0m" + content_line "\033[31m$UPG_GEO_FAIL\033[0m" error_down else echo "$geoname" | grep -Eq '.mrs|.srs' && { @@ -630,7 +630,7 @@ getcustgeo() { [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset } mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" - content_line "\033[32m$geotype数据库文件下载成功!\033[0m" + content_line "\033[32m$UPG_GEO_OK\033[0m" separator_line "=" fi sleep 1 @@ -640,20 +640,20 @@ checkcustgeo() { while true; do [ "$api_tag" = "latest" ] && api_url=latest || api_url="tags/$api_tag" [ ! -s "$TMPDIR"/geo.list ] && { - comp_box "\033[32m正在查找可更新的数据库文件......\033[0m" + comp_box "\033[32m$UPG_GEO_FIND_TITLE\033[0m" webget "$TMPDIR"/github_api https://api.github.com/repos/${project}/releases/${api_url} release_tag=$(cat "$TMPDIR"/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|.*.mrs|.*.srs' | sed 's|.*/||' | sed 's/"//' >"$TMPDIR"/geo.list rm -rf "$TMPDIR"/github_api } if [ -s "$TMPDIR"/geo.list ]; then - comp_box "请选择需要更新的数据库文件:" + comp_box "$UPG_GEO_SELECT" awk '{print NR") "$1}' "$TMPDIR/geo.list" | while IFS= read -r line; do content_line "$line" done content_line "" - content_line "0) 返回上级菜单" + content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num case "$num" in @@ -678,7 +678,7 @@ checkcustgeo() { ;; esac else - msg_alert "\033[31m查找失败,请尽量在服务启动后再使用本功能!\033[0m" + msg_alert "\033[31m$UPG_CORE_CHECK_FAIL_HINT\033[0m" fi done } @@ -687,31 +687,31 @@ checkcustgeo() { setcustgeo() { while true; do rm -rf "$TMPDIR"/geo.list - comp_box "\033[36m此处数据库均源自互联网采集,此处致谢各位开发者!\033[0m" \ - "\033[32m请点击或复制链接前往项目页面查看具体说明!\033[0m" \ - "\033[31m自定义数据库不支持定时任务及小闪存模式!\033[0m" \ - "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" + comp_box "\033[36m$UPG_GEO_CUSTOM_HINT\033[0m" \ + "\033[32m$UPG_GEO_CUSTOM_HINT2\033[0m" \ + "\033[31m$UPG_GEO_CUSTOM_HINT3\033[0m" \ + "\033[33m$UPG_GEO_CUSTOM_HINT4\033[0m" - content_line "\033[0m请选择需要更新的数据库项目来源:\033[0m" + content_line "\033[0m$UPG_GEO_SOURCE_TITLE\033[0m" separator_line "-" content_line "1) \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m" - sub_content_line "(仅限Clash/Mihomo)" + sub_content_line "$UPG_GEO_LOCAL_ONLY1" content_line "2) \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m" - sub_content_line "(仅限Clash/Mihomo)" + sub_content_line "$UPG_GEO_LOCAL_ONLY1" content_line "3) \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m" - sub_content_line "(仅限SingBox-srs)" + sub_content_line "$UPG_GEO_LOCAL_ONLY2" content_line "4) \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m" - sub_content_line "(仅限Mihomo-mrs)" + sub_content_line "$UPG_GEO_LOCAL_ONLY3" content_line "5) \033[36;4mhttps://github.com/Loyalsoldier/geoip\033[0m" - sub_content_line "(仅限Clash-GeoIP)" + sub_content_line "$UPG_GEO_LOCAL_ONLY4" - content_line "9) \033[33m自定义数据库链接 \033[0m" + content_line "$UPG_GEO_CUSTOM_LINK" content_line "" - content_line "0) 返回上级菜单" + content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " num case "$num" in @@ -745,7 +745,7 @@ setcustgeo() { ;; 9) line_break - read -r -p "请输入自定义数据库的链接地址> " link + read -r -p "$UPG_GEO_LINK_HINT" link [ -n "$link" ] && custgeolink="$link" getgeo ;; @@ -759,23 +759,23 @@ setcustgeo() { setgeo() { while true; do . $CFG_PATH >/dev/null - [ -n "$cn_mini_v" ] && geo_type_des=精简版 || geo_type_des=全球版 - comp_box "\033[33m注意:Mihomo内核和SingBox内核的数据库文件不通用\033[0m" \ - "在线数据库最新版本(每日同步上游):\033[32m$GeoIP_v\033[0m" \ + [ -n "$cn_mini_v" ] && geo_type_des=$UPG_GEO_TYPE_LITE || geo_type_des=$UPG_GEO_TYPE_FULL + comp_box "\033[33m$UPG_GEO_CHOOSE_HINT\033[0m" \ + "$UPG_GEO_LATEST\033[32m$GeoIP_v\033[0m" \ "" \ - "请选择需要更新的Geo数据库文件:" + "$UPG_GEO_CHOOSE" - btm_box "1) CN-IP绕过文件(约0.1mb) \033[33m$china_ip_list_v\033[0m" \ - "2) CN-IPV6绕过文件(约30kb) \033[33m$china_ipv6_list_v\033[0m" \ + btm_box "$UPG_GEO_ITEM1 \033[33m$china_ip_list_v\033[0m" \ + "$UPG_GEO_ITEM2 \033[33m$china_ipv6_list_v\033[0m" \ "" \ - "3) Mihomo精简版GeoIP_cn数据库(约0.1mb) \033[33m$cn_mini_v\033[0m" \ - "4) Mihomo完整版GeoSite数据库(约5mb) \033[33m$geosite_v\033[0m" \ + "$UPG_GEO_ITEM3 \033[33m$cn_mini_v\033[0m" \ + "$UPG_GEO_ITEM4 \033[33m$geosite_v\033[0m" \ "" \ - "5) Mihomo-mrs数据库常用包(约1mb,非必要勿用)" \ - "6) Singbox-srs数据库常用包(约0.8mb,非必要勿用)" \ + "$UPG_GEO_ITEM5" \ + "$UPG_GEO_ITEM6" \ "" \ - "8) \033[36m自定义数据库文件\033[0m" \ - "9) \033[31m清理数据库文件\033[0m" \ + "$UPG_GEO_ITEM8" \ + "$UPG_GEO_ITEM9" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -818,9 +818,9 @@ setgeo() { ;; 9) while true; do - comp_box "\033[33m这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!\033[0m" \ - "清理后启动服务即可自动下载所需文件" - btm_box "1) 确认清理" \ + comp_box "\033[33m$UPG_GEO_CLEAN_HINT1\033[0m" \ + "$UPG_GEO_CLEAN_HINT2" + btm_box "$UPG_GEO_CLEAN_CONFIRM" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " res case "$res" in @@ -835,7 +835,7 @@ setgeo() { setconfig $var done rm -rf "$CRASHDIR"/ruleset/* - msg_alert "\033[33m所有数据库文件均已清理!\033[0m" + msg_alert "\033[33m$UPG_GEO_CLEAN_OK\033[0m" break ;; *) @@ -856,18 +856,18 @@ getdb() { dblink="${update_url}/" line_break separator_line "=" - content_line "正在连接服务器获取安装文件......" + content_line "$UPG_DB_GETTING" get_bin "$TMPDIR"/clashdb.tar.gz bin/dashboard/${db_type}.tar.gz if [ "$?" = "1" ]; then - content_line "\033[31m文件下载失败!\033[0m" + content_line "\033[31m$UPG_GEO_FAIL\033[0m" error_down return 1 else - content_line "\033[33m下载成功,正在解压文件......\033[0m" + content_line "\033[33m$UPG_DB_DOWNLOAD_OK\033[0m" mkdir -p "$dbdir" >/dev/null tar -zxf "$TMPDIR/clashdb.tar.gz" ${tar_para} -C "$dbdir" >/dev/null if [ $? -ne 0 ]; then - content_line "文件解压失败!" + content_line "$UPG_GEO_EXTRACT_FAIL" separator_line "=" line_break sleep 1 @@ -886,8 +886,8 @@ getdb() { fi #写入配置文件 setconfig hostdir "'$hostdir'" - content_line "\033[32m面板安装成功!\033[0m" - content_line "\033[36m如未生效,请使用【Ctrl+F5】强制刷新浏览器!\033[0m" + content_line "\033[32m$UPG_DB_OK\033[0m" + content_line "\033[36m$UPG_DB_REFRESH_HINT\033[0m" separator_line "=" sleep 1 rm -rf "$TMPDIR"/clashdb.tar.gz @@ -897,8 +897,8 @@ getdb() { dbdir() { if [ -f /www/clash/CNAME ] || [ -f "$CRASHDIR"/ui/CNAME ]; then - comp_box "\033[33m检测到已经安装过本地面板\033[0m" - btm_box "1) 升级/覆盖安装" \ + comp_box "\033[33m$UPG_DB_INSTALLED\033[0m" + btm_box "$UPG_DB_UPGRADE" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then @@ -907,13 +907,13 @@ dbdir() { [ -f "$CRASHDIR"/ui/CNAME ] && rm -rf "$CRASHDIR"/ui && dbdir="$CRASHDIR"/ui getdb else - msg_alert "\033[33m安装已取消\033[0m" + msg_alert "\033[33m$UPG_DB_CANCEL\033[0m" return 1 fi elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then - comp_box "请选择面板\033[33m安装目录:\033[0m" - btm_box "1) 在${CRASHDIR}/ui目录安装" \ - "2) 在/www/clash目录安装" \ + comp_box "$UPG_DB_DIR_SELECT" + btm_box "$UPG_DB_DIR_1" \ + "$UPG_DB_DIR_2" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -945,19 +945,19 @@ dbdir() { setdb() { while true; do - comp_box "\033[36m安装 dashboard 管理面板到本地\033[0m" \ - "\033[32m打开管理面板的速度更快且更稳定\033[0m" \ + comp_box "\033[36m$UPG_DB_TITLE\033[0m" \ + "\033[32m$UPG_DB_TITLE2\033[0m" \ "" \ - "请选择面板安装类型:" - btm_box " - - - - - - -维护中- - - - - - -" \ - "1) 安装\033[32mzashboard面板\033[0m(约2.2mb)" \ - "2) 安装\033[32mMetaXD面板\033[0m(约1.5mb)" \ - "3) 安装\033[32mYacd-Meta魔改面板\033[0m(约1.7mb)" \ - " - - - - - -已停止维护- - - - - -" \ - "4) 安装\033[32m基础面板\033[0m(约500kb)" \ - "5) 安装\033[32mMeta基础面板\033[0m(约800kb)" \ - "6) 安装\033[32mYacd面板\033[0m(约1.1mb)" \ - "9) \033[31m卸载本地面板\033[0m" \ + "$UPG_DB_SELECT" + btm_box "$UPG_DB_WIP" \ + "$UPG_DB_INSTALL_1" \ + "$UPG_DB_INSTALL_2" \ + "$UPG_DB_INSTALL_3" \ + "$UPG_DB_OLD" \ + "$UPG_DB_INSTALL_4" \ + "$UPG_DB_INSTALL_5" \ + "$UPG_DB_INSTALL_6" \ + "$UPG_DB_UNINSTALL" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -993,8 +993,8 @@ setdb() { ;; 9) while true; do - comp_box "是否卸载本地面板?" - btm_box "1) 确认卸载" \ + comp_box "$UPG_DB_UNINSTALL_CONFIRM" + btm_box "$UPG_DB_UNINSTALL_YES" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " res case "$res" in @@ -1005,7 +1005,7 @@ setdb() { rm -rf /www/clash rm -rf "$CRASHDIR"/ui rm -rf "$BINDIR"/ui - msg_alert "\033[31m面板已经卸载!\033[0m" + msg_alert "\033[31m$UPG_DB_UNINSTALL_OK\033[0m" break ;; *) @@ -1025,10 +1025,10 @@ setdb() { getcrt() { line_break separator_line "=" - content_line "正在连接服务器获取安装文件......" + content_line "$UPG_DB_GETTING" get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt echooff if [ "$?" = "1" ]; then - content_line "\033[31m文件下载失败!\033[0m" + content_line "\033[31m$UPG_GEO_FAIL\033[0m" error_down else [ "$systype" = 'mi_snapshot' ] && cp -f "$TMPDIR"/ca-certificates.crt "$CRASHDIR"/tools #镜像化设备特殊处理 @@ -1040,7 +1040,7 @@ getcrt() { export CURL_CA_BUNDLE="$crtdir" echo "export CURL_CA_BUNDLE=$crtdir" >>/etc/profile fi - content_line "\033[32m证书安装成功!\033[0m" + content_line "\033[32m$UPG_CRT_DB_OK\033[0m" separator_line "=" sleep 1 fi @@ -1058,22 +1058,22 @@ setcrt() { if [ -n "$openssldir" ]; then line_break separator_line "=" - content_line "安装/更新本地根证书文件(ca-certificates.crt)" - content_line "\033[33m用于解决证书校验错误,x509报错等问题\033[0m" - content_line "\033[31m无上述问题的设备请勿使用!\033[0m" + content_line "$UPG_CRT_TITLE1" + content_line "\033[33m$UPG_CRT_TITLE2\033[0m" + content_line "\033[31m$UPG_CRT_TITLE3\033[0m" if [ -f "$crtdir" ]; then content_line "" - content_line "\033[33m检测到系统已经存在根证书文件:\033[0m" + content_line "\033[33m$UPG_CRT_EXISTS\033[0m" content_line "\033[33m($crtdir)\033[0m" fi separator_line "=" if [ -f "$crtdir" ]; then - content_line "1) 覆盖更新" + content_line "$UPG_CRT_UPDATE" else - content_line "1) 立即安装" + content_line "$UPG_CRT_INSTALL" fi - content_line "0) 返回上级菜单" + content_line "0) $COMMON_BACK" separator_line "=" read -r -p "$COMMON_INPUT> " res case "$res" in @@ -1091,7 +1091,7 @@ setcrt() { esac else - msg_alert "\033[33m设备可能尚未安装openssl,无法安装证书文件!\033[0m" + msg_alert "\033[33m$UPG_CRT_WARN\033[0m" break fi @@ -1104,24 +1104,24 @@ saveserver() { setconfig url_id "$url_id" setconfig release_type "$release_type" version_new='' - msg_alert -t 0 "\033[32m源地址切换成功!\033[0m" + msg_alert -t 0 "\033[32m$UPG_SOURCE_SWITCH_OK\033[0m" } # 安装源 setserver() { while true; do line_break - [ -z "$release_type" ] && release_name=未指定 - [ -n "$release_type" ] && release_name="$release_type(回退)" - [ "$release_type" = stable ] && release_name=稳定版 - [ "$release_type" = master ] && release_name=公测版 - [ "$release_type" = dev ] && release_name=开发版 + [ -z "$release_type" ] && release_name=$UPG_SOURCE_UNSET + [ -n "$release_type" ] && release_name="$release_type$UPG_SOURCE_ROLLBACK_TAG" + [ "$release_type" = stable ] && release_name=$UPG_SOURCE_STABLE_TEXT + [ "$release_type" = master ] && release_name=$UPG_SOURCE_MASTER_TEXT + [ "$release_type" = dev ] && release_name=$UPG_SOURCE_DEV_TEXT [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" - comp_box "\033[30;47m切换ShellCrash版本及更新源地址\033[0m" \ + comp_box "\033[30;47m$UPG_SOURCE_TITLE\033[0m" \ "" \ - "当前版本:\033[4;33m$release_name\033[0m" \ - "当前源:\n\033[4;32m$url_name\033[0m" + "$UPG_SOURCE_CUR_VER\033[4;33m$release_name\033[0m" \ + "$UPG_SOURCE_CUR_URL\n\033[4;32m$url_name\033[0m" grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | awk '{print NR") "$2}' | @@ -1130,12 +1130,12 @@ setserver() { done btm_box "" \ - "a) 切换至\033[32m稳定版-stable\033[0m" \ - "b) 切换至\033[36m公测版-master\033[0m" \ - "c) 切换至\033[33m开发版-dev\033[0m" \ + "$UPG_SOURCE_SWITCH_STABLE" \ + "$UPG_SOURCE_SWITCH_MASTER" \ + "$UPG_SOURCE_SWITCH_DEV" \ "" \ - "d) 自定义源地址(用于本地源或自建源)" \ - "e) \033[31m版本回退\033[0m" \ + "$UPG_SOURCE_CUSTOM" \ + "$UPG_SOURCE_ROLLBACK" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -1174,12 +1174,12 @@ setserver() { ;; c) while true; do - comp_box "\033[33m开发版未经过妥善测试,可能依然存在大量bug!!!\033[0m" \ - "\033[33m如果你没有足够的耐心或者测试经验,切勿使用此版本!\033[0m" \ - "请务必加入我们的讨论组:\033[36;4mhttps://t.me/ShellClash\033[0m" - content_line "是否依然切换到开发版?" + comp_box "\033[33m$UPG_SOURCE_DEV_WARN1\033[0m" \ + "\033[33m$UPG_SOURCE_DEV_WARN2\033[0m" \ + "$UPG_SOURCE_DEV_WARN3" + content_line "$UPG_SOURCE_DEV_CONFIRM" separator_line "-" - btm_box "1) 确认切换" \ + btm_box "$UPG_SOURCE_DEV_YES" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " res case "$res" in @@ -1199,9 +1199,9 @@ setserver() { done ;; d) - comp_box "\033[36m请直接输入个人源路径\033[0m" \ - "或者输入 0 返回上级菜单" - read -r -p "请输入个人源路径> " update_url + comp_box "\033[36m$UPG_SOURCE_CUSTOM_HINT\033[0m" \ + "$UPG_CUSTOM_CORE_LINK_HINT3" + read -r -p "$UPG_SOURCE_CUSTOM_INPUT" update_url if [ "$update_url" = 0 ]; then continue elif [ ! -z "$update_url" ]; then @@ -1214,16 +1214,16 @@ setserver() { if [ -n "$url_id" ] && [ "$url_id" -lt 200 ]; then line_break separator_line "=" - content_line "\033[32m正在获取版本信息......\033[0m" + content_line "\033[32m$UPG_SOURCE_VER_GETTING\033[0m" . "$CRASHDIR"/libs/web_get_lite.sh list=$(web_get_lite https://api.github.com/repos/juewuy/ShellCrash/tags | grep -E '"name": "[0-9]' | cut -d '"' -f4) if [ "$?" = "0" ]; then - content_line "\033[32m获取版本信息成功\033[0m" + content_line "\033[32m$UPG_SOURCE_VER_OK\033[0m" separator_line "=" line_break separator_line "=" - content_line "\033[31m请选择想要回退至的具体版本:\033[0m" + content_line "\033[31m$UPG_SOURCE_ROLLBACK_SELECT\033[0m" list_box "$list" btm_box "" \ "0) $COMMON_BACK" @@ -1239,15 +1239,15 @@ setserver() { continue fi else - content_line "\033[31m版本回退信息获取失败,请尝试更换其他安装源!\033[0m" + content_line "\033[31m$UPG_SOURCE_ROLLBACK_FAIL\033[0m" separator_line "=" sleep 1 continue fi rm -rf "$TMPDIR"/tags else - msg_alert "\033[31m当前源不支持版本回退\033[0m" \ - "\033[31m请尝试更换其他安装源!\033[0m" + msg_alert "\033[31m$UPG_SOURCE_ROLLBACK_NOTSUP\033[0m" \ + "\033[31m$UPG_SOURCE_ROLLBACK_HINT\033[0m" continue fi ;; @@ -1257,3 +1257,7 @@ setserver() { esac done } + + + + From 21c4f8400bdf1ba3e48a5adec93870148673a1dd Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 22 Mar 2026 21:38:10 +0800 Subject: [PATCH 240/318] ~i18h --- scripts/lang/chs/fw_filter.lang | 85 ++++++++++++ scripts/lang/chs/override.lang | 92 +++++++++++++ scripts/lang/en/fw_filter.lang | 85 ++++++++++++ scripts/lang/en/override.lang | 92 +++++++++++++ scripts/menus/fw_filter.sh | 209 ++++++++++++++-------------- scripts/menus/override.sh | 234 ++++++++++++++++---------------- 6 files changed, 579 insertions(+), 218 deletions(-) create mode 100644 scripts/lang/chs/fw_filter.lang create mode 100644 scripts/lang/chs/override.lang create mode 100644 scripts/lang/en/fw_filter.lang create mode 100644 scripts/lang/en/override.lang diff --git a/scripts/lang/chs/fw_filter.lang b/scripts/lang/chs/fw_filter.lang new file mode 100644 index 00000000..325699a2 --- /dev/null +++ b/scripts/lang/chs/fw_filter.lang @@ -0,0 +1,85 @@ +FWF_TITLE="流量过滤" +FWF_ITEM_1="1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量" +FWF_ITEM_2="2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤" +FWF_ITEM_3="3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能" +FWF_ITEM_4="4) 过滤CN_IP(4&6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" +FWF_ITEM_5="5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" +FWF_ITEM_6="6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" +FWF_BACK="0) $COMMON_BACK" +FWF_SWITCH_STOP="切换时将停止服务,是否继续:" +FWF_YES="1) 是" +FWF_NO_BACK="0) 否,返回上级菜单" +FWF_QUIC_OFF="已禁止QUIC流量通过ShellCrash内核!" +FWF_QUIC_ON="已取消禁止QUIC协议流量!" +FWF_CNIP_ON="已开启CN_IP绕过内核功能!" +FWF_CNIP_WARN="注意:此功能会导致全局模式及一切CN相关规则失效!" +FWF_CNIP_OFF="已禁用CN_IP绕过内核功能!" +FWF_NO_IPSET="当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!" +FWF_WHITE_LIST="白名单" +FWF_BLACK_LIST="黑名单" +FWF_PASS_WORD="不" +FWF_COMMON_NOTE="注意:\n" +FWF_MIX_NOTE="MIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" +FWF_ALLOWED_PORTS="当前已放行端口:" +FWF_PORT_MENU_1="1) 启用/关闭端口过滤: \t\033[36m$common_ports\033[0m" +FWF_PORT_MENU_2="2) 添加放行端口" +FWF_PORT_MENU_3="3) 移除指定放行端口" +FWF_PORT_MENU_4="4) 重置默认放行端口" +FWF_PORT_MENU_5="5) 重置为旧版放行端口" +FWF_MAX_PORT="最多支持设置放行15个端口,请先减少一些!" +FWF_INPUT_ADD_HINT="请直接输入要放行的端口号" +FWF_INPUT_ADD_HINT2="(每次只能输入一个端口号,切勿一次添加多个端口号)" +FWF_INPUT_REMOVE_HINT="请直接输入要移除的端口号" +FWF_OR_BACK="或输入 0 返回上级菜单" +FWF_ERR_DUP="输入错误!请勿重复添加!" +FWF_ERR_RANGE="输入错误!请输入正确的数值(1~65535)!" +FWF_INPUT_PORT="请输入> " +FWF_CUST_HOST_TITLE="当前默认透明路由的网段为:" +FWF_CUST_HOST_TITLE2="当前已添加的自定义网段为:" +FWF_CUST_HOST_MENU_1="1) 移除所有自定义网段" +FWF_CUST_HOST_MENU_2="2) 使用自定义网段覆盖默认网段" +FWF_CUST_HOST_HINT="请输入对应的序号或需要额外添加的网段> " +FWF_NET_ERR="请输入正确的网段地址!" +FWF_RESERVE_NOTE="注意:地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!" +FWF_RESERVE_NOW="当前网段:" +FWF_RESERVE_INPUT_HINT="请直接输入自定义保留地址ipv4网段" +FWF_RESERVE_INPUT_HINT2="或输入 1 重置默认网段" +FWF_RESERVE_INPUT_HINT3="或输入 0 返回上级菜单" +FWF_RESERVE_PROMPT="请输入> " +FWF_RESERVE_SET="已将保留地址网段设为:" +FWF_RESERVE_ERR="输入有误,请重新输入!" +FWF_LAN_NO_DEVICE="未知设备" +FWF_MAC_HINT="手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" +FWF_MAC_EXISTED="已添加的mac地址:" +FWF_NONE_MAC="暫未添加任何mac地址" +FWF_MAC_HEADER="序号 \033[33m设备IP 设备mac地址 设备名称\033[0m" +FWF_MAC_NONE="无纪录" +FWF_MAC_INPUT_HINT="请输入对应序号或直接输入mac地址> " +FWF_MAC_DUP="已添加的设备,请勿重复添加!" +FWF_IP_HINT="手动输入时仅支持 \033[32m192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" +FWF_IP_HINT2="不支持ipv6地址过滤,可能导致过滤失败,建议使用mac地址过滤" +FWF_IP_EXISTED="已添加的IP地址(段):" +FWF_NONE_IP="暫未添加任何IP地址(段)" +FWF_IP_HEADER="\033[33m序号 设备IP 设备名称\033[32m" +FWF_IP_INPUT_HINT="请输入对应序号或直接输入IP地址段> " +FWF_IP_DUP="已添加的地址,请勿重复添加!" +FWF_REMOVE_NONE="列表中没有需要移除的设备!" +FWF_REMOVE_TITLE="请选择需要移除的设备:" +FWF_REMOVE_HEADER=" \033[32m设备IP \033[36m设备mac地址 \033[35m设备名称\033[0m" +FWF_REMOVE_OK="对应设备已移除!" +FWF_FILTER_MENU_TITLE="请在此添加或移除设备" +FWF_FILTER_MODE="当前过滤方式为:" +FWF_FILTER_ONLY="仅列表内设备流量" +FWF_FILTER_MODE_SUFFIX="模式" +FWF_FILTER_PASS="经过" +FWF_FILTER_BLACK_DESC="仅列表内设备流量不经过内核" +FWF_FILTER_WHITE_DESC="仅列表内设备流量经过内核" +FWF_FILTER_EXISTED="当前已过滤设备为:" +FWF_FILTER_HEADER=" \033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m" +FWF_FILTER_SWITCH="1) 切换为\033[33m$fw_filter_lan_over模式\033[0m" +FWF_FILTER_ADD_MAC="2) \033[32m添加指定设备(mac地址)\033[0m" +FWF_FILTER_ADD_IP="3) \033[32m添加指定设备(IP地址/网段)\033[0m" +FWF_FILTER_REMOVE="4) \033[36m移除指定设备\033[0m" +FWF_FILTER_CLEAR="9) \033[31m清空整个列表\033[0m" +FWF_SWITCH_OK="已切换成功!" +FWF_LIST_CLEARED="设备列表已清空!" diff --git a/scripts/lang/chs/override.lang b/scripts/lang/chs/override.lang new file mode 100644 index 00000000..aa2cfaae --- /dev/null +++ b/scripts/lang/chs/override.lang @@ -0,0 +1,92 @@ +OVR_TITLE="配置文件覆写" +OVR_MENU_2="2) 管理\033[36m自定义规则\033[0m" +OVR_MENU_3="3) 管理\033[33m自定义节点\033[0m" +OVR_MENU_4="4) 管理\033[36m自定义策略组\033[0m" +OVR_MENU_5="5) \033[32m自定义\033[0m高级功能" +OVR_MENU_9="9) \033[33m禁用\033[0m配置文件覆写" +OVR_BACK="0) 返回上级菜单" +OVR_INPUT_NUM="请输入对应数字> " +OVR_PROMPT="请输入> " +OVR_GROUPS_CHOOSE_TYPE="请选择策略组的类型:" +OVR_GROUP_TYPE_CN="手动选择 自动选择 故障转移 负载均衡" +OVR_WARN_1="此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!" +OVR_WARN_2="如果你不是非常了解$crashcore的运行机制,切勿开启!" +OVR_WARN_3="继续后如出现任何问题,请务必自行解决,一切提问恕不受理!" +OVR_WARN_CONFIRM="1) 我确认遇到问题可以自行解决" +OVR_CONFIRM_YES="1) 是" +OVR_CONFIRM_NO="0) 否,返回上级菜单" +OVR_RULES_TITLE="自定义规则" +OVR_RULES_MENU_HINT="你可以在这里快捷管理自定义规则" +OVR_RULES_MANUAL="如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" +OVR_RULES_SHARED="singbox和clash共用此处规则,可无缝切换!" +OVR_RULES_WARN="大量规则请尽量使用rule-set功能添加,\n\033[31m此处过量添加可能导致启动卡顿!\033[0m" +OVR_RULES_ADD="1) 新增自定义规则" +OVR_RULES_DEL="2) 移除自定义规则" +OVR_RULES_CLEAR="3) 清空规则列表" +OVR_RULES_BYPASS="4) 配置节点绕过:" +OVR_RULES_NO_RULES="请先添加自定义规则!" +OVR_RULES_CLEAR_CONFIRM="是否确认清空全部自定义规则?" +OVR_RULES_ADD_RULE="请输入规则语句,\n可以是域名、泛域名、IP网段或者其他匹配规则类型的内容" +OVR_RULES_TYPE="请选择规则类型:" +OVR_RULES_GROUP="请选择具体规则" +OVR_RULES_EXIST_WARN="此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加" +OVR_RULES_INPUT_RULE="请输入对应规则> " +OVR_RULES_INPUT_NUM="请输入对应数字> " +OVR_RULES_INPUT_TYPE="请输入对应数字> " +OVR_RULES_INPUT_SELECT="请输入对应数字> " +OVR_RULES_DEL_HINT="输入对应数字即可移除相应规则:" +OVR_RULES_ADD_OK="添加成功!" +OVR_RULES_BYPASS_WARN1="本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!" +OVR_RULES_BYPASS_WARN2="请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!" +OVR_RULES_BYPASS_PROMPT="是否启用节点绕过?" +OVR_RULES_BYPASS_CONFIRM="是否确认清空全部自定义规则?" +OVR_GROUPS_TITLE="自定义clash策略组" +OVR_GROUPS_MENU_HINT="你可以在这里快捷管理自定义策略组" +OVR_GROUPS_MANUAL="如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml" +OVR_GROUPS_ADD="1) 添加自定义策略组" +OVR_GROUPS_VIEW="2) 查看自定义策略组" +OVR_GROUPS_CLEAR="3) 清空自定义策略组" +OVR_GROUPS_WARN1="注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!" +OVR_GROUPS_WARN2="建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定" +OVR_GROUPS_WARN3="如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml" +OVR_GROUPS_INPUT_NAME="请直接输入自定义策略组名称\n(不支持纯数字且不要包含特殊字符!)" +OVR_GROUPS_INPUT_NUM="请输入对应数字> " +OVR_GROUPS_URL="请输入测速地址" +OVR_GROUPS_URL_HINT="或直接回车使用默认地址:https://www.gstatic.com/generate_204" +OVR_GROUPS_MULTI_HINT="如需添加到多个策略组,请一次性输入多个数字并用空格隔开" +OVR_GROUPS_SKIP="0) 跳过添加" +OVR_GROUPS_CLEAR_CONFIRM="是否确认清空全部自定义策略组?" +OVR_GROUPS_ADD_OK="添加成功!" +OVR_PROXIES_TITLE="自定义clash节点" +OVR_PROXIES_MENU_HINT="你可以在这里快捷管理自定义节点" +OVR_PROXIES_MANUAL="如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml" +OVR_PROXIES_ADD="1) 添加自定义节点" +OVR_PROXIES_MANAGE="2) 管理自定义节点" +OVR_PROXIES_CLEAR="3) 清空自定义节点" +OVR_PROXIES_BYPASS="4) 配置节点绕过:" +OVR_PROXIES_WARN1="注意\n节点格式必须是单行、不包括括号、“name:”为开头,例如:" +OVR_PROXIES_WARN2="更多写法请参考:\033[32mhttps://juewuy.github.io/\033[0m" +OVR_PROXIES_INPUT="请直接输入自定义节点" +OVR_PROXIES_BLOCK_HASH="绝对禁止包含【#】号!" +OVR_PROXIES_ADD_HINT="请选择想要将节点添加到的策略组" +OVR_PROXIES_MULTI_HINT="如需添加到多个策略组,请一次性输入多个数字并用空格隔开" +OVR_PROXIES_GROUP_HINT="如需自定义策略组,请先使用【管理自定义策略组功能】添加" +OVR_PROXIES_EXIST_HINT="输入节点对应数字可以移除对应节点" +OVR_PROXIES_EXIST_TITLE="当前已添加的自定义节点为:" +OVR_PROXIES_NO_PROXY="请先添加自定义节点!" +OVR_PROXIES_CLEAR_CONFIRM="是否确认清空全部自定义节点?" +OVR_PROXIES_BYPASS_WARN1="本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!" +OVR_PROXIES_BYPASS_WARN2="请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!" +OVR_PROXIES_BYPASS_PROMPT="是否确定启用节点绕过:" +OVR_PROXIES_ADD_OK="添加成功!" +OVR_ADV_USER_CREATED1="已经创建自定义设定文件:$YAMLSDIR/user.yaml !" +OVR_ADV_USER_CREATED2="可用于编写自定义的DNS等功能" +OVR_ADV_USER_CREATED3="已经创建自定义功能文件:$YAMLSDIR/others.yaml !" +OVR_ADV_USER_CREATED4="可用于编写自定义的锚点、入站、proxy-providers、rule-set、sub-rules、script等功能" +OVR_ADV_WIN="Windows下请使用\033[33mWinSCP软件\033[0m进行编辑!" +OVR_ADV_MAC="MacOS下请使用\033[33mSecureFX软件\033[0m进行编辑!" +OVR_ADV_LIN="Linux可使用\033[33mvim\033[0m进行编辑(路由设备若不显示中文请勿使用)!" +OVR_SING_TITLE1="支持覆盖脚本设置的模块有:" +OVR_SING_TITLE2="支持与内置功能合并(但不可冲突)的模块有:" +OVR_SING_TITLE3="将相应json文件放入\033[33m$JSONSDIR\033[0m目录后即可在启动时自动加载" +OVR_SING_TITLE4="使用前请务必参考配置教程:\033[32;4m https://juewuy.github.io/nWTjEpkSK \033[0m" diff --git a/scripts/lang/en/fw_filter.lang b/scripts/lang/en/fw_filter.lang new file mode 100644 index 00000000..090c1b5e --- /dev/null +++ b/scripts/lang/en/fw_filter.lang @@ -0,0 +1,85 @@ +FWF_TITLE="Traffic Filter" +FWF_ITEM_1="1) Filter non-common ports: \t\033[36m$common_ports\033[0m\t--- used to filter P2P traffic" +FWF_ITEM_2="2) Filter LAN devices: \t\033[36m$mac_return\033[0m\t--- use blacklist/whitelist filtering" +FWF_ITEM_3="3) Filter QUIC protocol: \t\033[36m$quic_rj\033[0m\t--- improve video performance" +FWF_ITEM_4="4) Filter CN_IP (4&6) list: \033[36m$cn_ip_route\033[0m\t--- improve performance" +FWF_ITEM_5="5) Custom transparent routing IPv4 subnet: suitable for vlan and other complex networks" +FWF_ITEM_6="6) Custom reserved-address IPv4 subnet: for environments that need reserved addresses as targets" +FWF_BACK="0) $COMMON_BACK" +FWF_SWITCH_STOP="Switching will stop the service. Continue?" +FWF_YES="1) Yes" +FWF_NO_BACK="0) No, return to previous menu" +FWF_QUIC_OFF="QUIC traffic through the ShellCrash core has been disabled!" +FWF_QUIC_ON="QUIC protocol traffic disable has been canceled!" +FWF_CNIP_ON="CN_IP core bypass has been enabled!" +FWF_CNIP_WARN="Note: this will cause global mode and all CN-related rules to become ineffective!" +FWF_CNIP_OFF="CN_IP core bypass has been disabled!" +FWF_NO_IPSET="This device lacks the ipset module or is not using nftables mode, so bypass cannot be enabled!" +FWF_WHITE_LIST="Whitelist" +FWF_BLACK_LIST="Blacklist" +FWF_PASS_WORD="not" +FWF_COMMON_NOTE="Note:\n" +FWF_MIX_NOTE="In MIX mode, non-common port traffic from fake-ip sources will not be filtered" +FWF_ALLOWED_PORTS="Currently allowed ports: " +FWF_PORT_MENU_1="1) Enable/disable port filtering: \t\033[36m$common_ports\033[0m" +FWF_PORT_MENU_2="2) Add allowed port" +FWF_PORT_MENU_3="3) Remove specified allowed port" +FWF_PORT_MENU_4="4) Reset default allowed ports" +FWF_PORT_MENU_5="5) Reset to legacy allowed ports" +FWF_MAX_PORT="Up to 15 allowed ports are supported. Please remove some first!" +FWF_INPUT_ADD_HINT="Please enter the port number to allow directly" +FWF_INPUT_ADD_HINT2="(Only one port number at a time. Do not add multiple at once.)" +FWF_INPUT_REMOVE_HINT="Please enter the port number to remove directly" +FWF_OR_BACK="Or enter 0 to return to the previous menu" +FWF_ERR_DUP="Invalid input! Do not add duplicates!" +FWF_ERR_RANGE="Invalid input! Please enter a valid number (1-65535)!" +FWF_INPUT_PORT="Please enter> " +FWF_CUST_HOST_TITLE="Current default transparent routing subnet: " +FWF_CUST_HOST_TITLE2="Currently added custom subnet(s): " +FWF_CUST_HOST_MENU_1="1) Remove all custom subnets" +FWF_CUST_HOST_MENU_2="2) Use custom subnets to override the default subnet" +FWF_CUST_HOST_HINT="Please enter the number or an additional subnet> " +FWF_NET_ERR="Please enter a valid subnet address!" +FWF_RESERVE_NOTE="Note: addresses must be separated by spaces. Incorrect settings may cause network loops or startup errors. Use with caution!" +FWF_RESERVE_NOW="Current subnet: " +FWF_RESERVE_INPUT_HINT="Please enter a custom reserved-address IPv4 subnet directly" +FWF_RESERVE_INPUT_HINT2="Or enter 1 to reset to the default subnet" +FWF_RESERVE_INPUT_HINT3="Or enter 0 to return to the previous menu" +FWF_RESERVE_PROMPT="Please enter> " +FWF_RESERVE_SET="Reserved-address subnet set to: " +FWF_RESERVE_ERR="Invalid input, please try again!" +FWF_LAN_NO_DEVICE="Unknown device" +FWF_MAC_HINT="Manual MAC input only supports the format \033[32mxx:xx:xx:xx:xx:xx\033[0m" +FWF_MAC_EXISTED="Added MAC addresses:" +FWF_NONE_MAC="No MAC addresses added yet" +FWF_MAC_HEADER="No. \033[33mDevice IP Device MAC Device name\033[0m" +FWF_MAC_NONE="No records" +FWF_MAC_INPUT_HINT="Please enter the number or a MAC address directly> " +FWF_MAC_DUP="This device is already added. Do not add it again!" +FWF_IP_HINT="Manual input only supports \033[32m192.168.1.0/24\033[0m or \033[32m192.168.1.0\033[0m" +FWF_IP_HINT2="IPv6 addresses are not supported and filtering may fail. MAC filtering is recommended." +FWF_IP_EXISTED="Added IP addresses (subnets):" +FWF_NONE_IP="No IP addresses (subnets) added yet" +FWF_IP_HEADER="\033[33mNo. Device IP Device name\033[32m" +FWF_IP_INPUT_HINT="Please enter the number or an IP subnet directly> " +FWF_IP_DUP="This address is already added. Do not add it again!" +FWF_REMOVE_NONE="There are no devices to remove!" +FWF_REMOVE_TITLE="Please choose the device to remove:" +FWF_REMOVE_HEADER=" \033[32mDevice IP \033[36mDevice MAC \033[35mDevice name\033[0m" +FWF_REMOVE_OK="Corresponding device removed!" +FWF_FILTER_MENU_TITLE="Add or remove devices here" +FWF_FILTER_MODE="Current filtering mode: " +FWF_FILTER_ONLY="Only devices in the list" +FWF_FILTER_MODE_SUFFIX=" mode" +FWF_FILTER_PASS="traffic passes through" +FWF_FILTER_BLACK_DESC="Only the devices in the list bypass the core" +FWF_FILTER_WHITE_DESC="Only the devices in the list pass through the core" +FWF_FILTER_EXISTED="Currently filtered devices:" +FWF_FILTER_HEADER=" \033[36mDevice MAC/IP\033[0m \033[35mDevice name\033[0m" +FWF_FILTER_SWITCH="1) Switch to \033[33m$fw_filter_lan_over mode\033[0m" +FWF_FILTER_ADD_MAC="2) \033[32mAdd specified device (MAC)\033[0m" +FWF_FILTER_ADD_IP="3) \033[32mAdd specified device (IP/subnet)\033[0m" +FWF_FILTER_REMOVE="4) \033[36mRemove specified device\033[0m" +FWF_FILTER_CLEAR="9) \033[31mClear the entire list\033[0m" +FWF_SWITCH_OK="Switch completed!" +FWF_LIST_CLEARED="Device list cleared!" diff --git a/scripts/lang/en/override.lang b/scripts/lang/en/override.lang new file mode 100644 index 00000000..556916a2 --- /dev/null +++ b/scripts/lang/en/override.lang @@ -0,0 +1,92 @@ +OVR_TITLE="Config Override" +OVR_MENU_2="2) Manage \033[36mcustom rules\033[0m" +OVR_MENU_3="3) Manage \033[33mcustom nodes\033[0m" +OVR_MENU_4="4) Manage \033[36mcustom proxy groups\033[0m" +OVR_MENU_5="5) \033[32mCustom\033[0m advanced features" +OVR_MENU_9="9) \033[33mDisable\033[0m config override" +OVR_BACK="0) Return to previous menu" +OVR_INPUT_NUM="Please enter the corresponding number> " +OVR_PROMPT="Please enter> " +OVR_GROUPS_CHOOSE_TYPE="Please choose the proxy group type:" +OVR_GROUP_TYPE_CN="Manual Select Auto Select Failover Load Balance" +OVR_WARN_1="This feature may cause serious problems! Most script functions will be disabled after enabling it!!!" +OVR_WARN_2="If you are not very familiar with how $crashcore works, do not enable it!" +OVR_WARN_3="If any problem occurs after continuing, you must solve it yourself. No questions will be accepted!" +OVR_WARN_CONFIRM="1) I confirm I can solve any problems myself" +OVR_CONFIRM_YES="1) Yes" +OVR_CONFIRM_NO="0) No, return to previous menu" +OVR_RULES_TITLE="Custom Rules" +OVR_RULES_MENU_HINT="You can quickly manage custom rules here" +OVR_RULES_MANUAL="For batch operations, edit manually: \033[36m $YAMLSDIR/rules.yaml\033[0m" +OVR_RULES_SHARED="singbox and clash share these rules, so switching is seamless!" +OVR_RULES_WARN="For many rules, use the rule-set feature as much as possible.\n\033[31mToo many rules here may cause startup lag!\033[0m" +OVR_RULES_ADD="1) Add custom rule" +OVR_RULES_DEL="2) Remove custom rule" +OVR_RULES_CLEAR="3) Clear rule list" +OVR_RULES_BYPASS="4) Configure node bypass:" +OVR_RULES_NO_RULES="Please add custom rules first!" +OVR_RULES_CLEAR_CONFIRM="Are you sure you want to clear all custom rules?" +OVR_RULES_ADD_RULE="Enter the rule text,\nwhich can be a domain, wildcard domain, IP subnet, or other matching rule content" +OVR_RULES_TYPE="Please choose a rule type:" +OVR_RULES_GROUP="Please choose a specific rule" +OVR_RULES_EXIST_WARN="These rules are read from the existing config file. If errors occur after changing the config later, try adding them again." +OVR_RULES_INPUT_RULE="Please enter the corresponding rule> " +OVR_RULES_INPUT_NUM="Please enter the corresponding number> " +OVR_RULES_INPUT_TYPE="Please enter the corresponding number> " +OVR_RULES_INPUT_SELECT="Please enter the corresponding number> " +OVR_RULES_DEL_HINT="Enter the corresponding number to remove the matching rule:" +OVR_RULES_ADD_OK="Added successfully!" +OVR_RULES_BYPASS_WARN1="This feature will automatically set node domains or IPs from the current config file to direct rules to prevent double traffic!" +OVR_RULES_BYPASS_WARN2="Make sure the nodes used by downstream devices are the same as those used in ShellCrash, otherwise it will not take effect!" +OVR_RULES_BYPASS_PROMPT="Enable node bypass?" +OVR_RULES_BYPASS_CONFIRM="Are you sure you want to clear all custom rules?" +OVR_GROUPS_TITLE="Custom Clash Proxy Groups" +OVR_GROUPS_MENU_HINT="You can quickly manage custom proxy groups here" +OVR_GROUPS_MANUAL="For modifications or batch operations, edit manually: $YAMLSDIR/proxy-groups.yaml" +OVR_GROUPS_ADD="1) Add custom proxy group" +OVR_GROUPS_VIEW="2) View custom proxy groups" +OVR_GROUPS_CLEAR="3) Clear custom proxy groups" +OVR_GROUPS_WARN1="The proxy group name must match the group specified in the [Custom Rules] or [Custom Nodes] feature!" +OVR_GROUPS_WARN2="It is recommended to create the proxy group first, then specify it intelligently in [Custom Rules] or [Custom Nodes]" +OVR_GROUPS_WARN3="To add nodes under the current proxy group, edit $YAMLSDIR/proxy-groups.yaml manually" +OVR_GROUPS_INPUT_NAME="Please enter the custom proxy group name directly\n(pure numbers are not supported and special characters are not allowed!)" +OVR_GROUPS_INPUT_NUM="Please enter the corresponding number> " +OVR_GROUPS_URL="Please enter a test URL" +OVR_GROUPS_URL_HINT="Or press Enter to use the default URL: https://www.gstatic.com/generate_204" +OVR_GROUPS_MULTI_HINT="If you want to add to multiple proxy groups, enter multiple numbers separated by spaces" +OVR_GROUPS_SKIP="0) Skip adding" +OVR_GROUPS_CLEAR_CONFIRM="Are you sure you want to clear all custom proxy groups?" +OVR_GROUPS_ADD_OK="Added successfully!" +OVR_PROXIES_TITLE="Custom Clash Nodes" +OVR_PROXIES_MENU_HINT="You can quickly manage custom nodes here" +OVR_PROXIES_MANUAL="For batch operations, edit manually: $YAMLSDIR/proxies.yaml" +OVR_PROXIES_ADD="1) Add custom node" +OVR_PROXIES_MANAGE="2) Manage custom nodes" +OVR_PROXIES_CLEAR="3) Clear custom nodes" +OVR_PROXIES_BYPASS="4) Configure node bypass:" +OVR_PROXIES_WARN1="Note\nThe node format must be a single line, without parentheses, and start with \"name:\", for example:" +OVR_PROXIES_WARN2="For more formats, see: \033[32mhttps://juewuy.github.io/\033[0m" +OVR_PROXIES_INPUT="Please enter the custom node directly" +OVR_PROXIES_BLOCK_HASH="Absolutely no [#] character is allowed!" +OVR_PROXIES_ADD_HINT="Please choose the proxy group to add the node to" +OVR_PROXIES_MULTI_HINT="If you want to add to multiple proxy groups, enter multiple numbers separated by spaces" +OVR_PROXIES_GROUP_HINT="To use custom proxy groups, first add them using [Manage custom proxy groups]" +OVR_PROXIES_EXIST_HINT="Enter the node number to remove the corresponding node" +OVR_PROXIES_EXIST_TITLE="Currently added custom nodes:" +OVR_PROXIES_NO_PROXY="Please add custom nodes first!" +OVR_PROXIES_CLEAR_CONFIRM="Are you sure you want to clear all custom nodes?" +OVR_PROXIES_BYPASS_WARN1="This feature will automatically set node domains or IPs from the current config file to direct rules to prevent double traffic!" +OVR_PROXIES_BYPASS_WARN2="Make sure the nodes used by downstream devices are the same as those used in ShellCrash, otherwise it will not take effect!" +OVR_PROXIES_BYPASS_PROMPT="Enable node bypass:" +OVR_PROXIES_ADD_OK="Added successfully!" +OVR_ADV_USER_CREATED1="Custom config file created: $YAMLSDIR/user.yaml!" +OVR_ADV_USER_CREATED2="Can be used for custom DNS and similar features" +OVR_ADV_USER_CREATED3="Custom feature file created: $YAMLSDIR/others.yaml!" +OVR_ADV_USER_CREATED4="Can be used for custom anchors, inbound, proxy-providers, rule-set, sub-rules, script, and similar features" +OVR_ADV_WIN="On Windows, use \033[33mWinSCP\033[0m to edit it!" +OVR_ADV_MAC="On macOS, use \033[33mSecureFX\033[0m to edit it!" +OVR_ADV_LIN="On Linux, you can use \033[33mvim\033[0m to edit it (do not use it on router devices if Chinese text is not displayed)!" +OVR_SING_TITLE1="Supported modules that can override script settings:" +OVR_SING_TITLE2="Modules that can be merged with built-in features (but must not conflict):" +OVR_SING_TITLE3="Place the corresponding JSON files into the \033[33m$JSONSDIR\033[0m directory to load them automatically at startup" +OVR_SING_TITLE4="Be sure to read the configuration guide before use: \033[32;4m https://juewuy.github.io/nWTjEpkSK \033[0m" diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 0dd4ecfc..6ff420ef 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -3,6 +3,7 @@ [ -n "$__IS_MODULE_FW_FILTER_LOADED" ] && return __IS_MODULE_FW_FILTER_LOADED=1 +load_lang fw_filter # 流量过滤 set_fw_filter() { @@ -12,14 +13,14 @@ set_fw_filter() { [ -z "$cn_ip_route" ] && cn_ip_route=OFF touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON - comp_box "1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量" \ - "2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤" \ - "3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能" \ - "4) 过滤CN_IP(4&6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" \ - "5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" \ - "6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" \ + comp_box "$FWF_ITEM_1" \ + "$FWF_ITEM_2" \ + "$FWF_ITEM_3" \ + "$FWF_ITEM_4" \ + "$FWF_ITEM_5" \ + "$FWF_ITEM_6" \ "" \ - "0) $COMMON_BACK" + "$FWF_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -27,9 +28,9 @@ set_fw_filter() { ;; 1) if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - comp_box "切换时将停止服务,是否继续:" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + comp_box "$FWF_SWITCH_STOP" + btm_box "$FWF_YES" \ + "$FWF_NO_BACK" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && "$CRASHDIR"/start.sh stop && set_common_ports else @@ -47,10 +48,10 @@ set_fw_filter() { 3) if [ "$quic_rj" = "OFF" ]; then quic_rj=ON - msg_alert "\033[33m已禁止QUIC流量通过ShellCrash内核!\033[0m" + msg_alert "\033[33m$FWF_QUIC_OFF\033[0m" else quic_rj=OFF - msg_alert "\033[33m已取消禁止QUIC协议流量!\033[0m" + msg_alert "\033[33m$FWF_QUIC_ON\033[0m" fi setconfig quic_rj $quic_rj ;; @@ -58,15 +59,15 @@ set_fw_filter() { if [ -n "$(ipset -v 2>/dev/null)" ] || [ "$firewall_mod" = 'nftables' ]; then if [ "$cn_ip_route" = "OFF" ]; then cn_ip_route=ON - msg_alert -t 2 "\033[32m已开启CN_IP绕过内核功能!\033[0m" \ - "\033[31m注意:此功能会导致全局模式及一切CN相关规则失效!\033[0m" + msg_alert -t 2 "\033[32m$FWF_CNIP_ON\033[0m" \ + "\033[31m$FWF_CNIP_WARN\033[0m" else cn_ip_route=OFF - msg_alert "\033[33m已禁用CN_IP绕过内核功能!\033[0m" + msg_alert "\033[33m$FWF_CNIP_OFF\033[0m" fi setconfig cn_ip_route $cn_ip_route else - msg_alert "\033[31m当前设备缺少ipset模块或未使用nftables模式,无法启用绕过功能!\033[0m" + msg_alert "\033[31m$FWF_NO_IPSET\033[0m" fi ;; 5) @@ -87,19 +88,19 @@ set_common_ports() { [ -z "$multiport" ] && multiport='22,80,443,8080,8443' line_break separator_line "=" - content_line "\033[31m注意:\n\033[0mMIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" + content_line "\033[31m$FWF_COMMON_NOTE\033[0m$FWF_MIX_NOTE" if [ -n "$common_ports" ]; then content_line "" - content_line "当前已放行端口:\033[36m$multiport\033[0m" + content_line "$FWF_ALLOWED_PORTS\033[36m$multiport\033[0m" fi separator_line "=" - btm_box "1) 启用/关闭端口过滤: \033[36m$common_ports\033[0m" \ - "2) 添加放行端口" \ - "3) 移除指定放行端口" \ - "4) 重置默认放行端口" \ - "5) 重置为旧版放行端口" \ + btm_box "$FWF_PORT_MENU_1" \ + "$FWF_PORT_MENU_2" \ + "$FWF_PORT_MENU_3" \ + "$FWF_PORT_MENU_4" \ + "$FWF_PORT_MENU_5" \ "" \ - "0) $COMMON_BACK" + "$FWF_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) @@ -122,18 +123,18 @@ set_common_ports() { while true; do port_count=$(echo "$multiport" | awk -F',' '{print NF}') if [ "$port_count" -ge 15 ]; then - comp_box "\033[31m最多支持设置放行15个端口,请先减少一些!\033[0m" + comp_box "\033[31m$FWF_MAX_PORT\033[0m" else - comp_box "当前已放行端口:\033[36m$multiport\033[0m" - btm_box "\033[36m请直接输入要放行的端口号\033[0m\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " port + comp_box "$FWF_ALLOWED_PORTS\033[36m$multiport\033[0m" + btm_box "\033[36m$FWF_INPUT_ADD_HINT\033[0m\n$FWF_INPUT_ADD_HINT2" \ + "$FWF_OR_BACK" + read -r -p "$FWF_INPUT_PORT" port if [ "$port" = 0 ]; then break elif echo ",$multiport," | grep -q ",$port,"; then - msg_alert "\033[31m输入错误!请勿重复添加!\033[0m" + msg_alert "\033[31m$FWF_ERR_DUP\033[0m" elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" + msg_alert "\033[31m$FWF_ERR_RANGE\033[0m" else multiport=$(echo "$multiport,$port" | sed "s/^,//") @@ -148,15 +149,15 @@ set_common_ports() { ;; 3) while true; do - comp_box "当前已放行端口:\033[36m$multiport\033[0m" - btm_box "\033[36m请直接输入要移除的端口号\033[0m\n(每次只能输入一个端口号,切勿一次添加多个端口号)" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " port + comp_box "$FWF_ALLOWED_PORTS\033[36m$multiport\033[0m" + btm_box "\033[36m$FWF_INPUT_REMOVE_HINT\033[0m\n$FWF_INPUT_ADD_HINT2" \ + "$FWF_OR_BACK" + read -r -p "$FWF_INPUT_PORT" port if [ "$port" = 0 ]; then break elif echo ",$multiport," | grep -q ",$port,"; then if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m输入错误!请输入正确的数值(1~65535)!\033[0m" + msg_alert "\033[31m$FWF_ERR_RANGE\033[0m" else multiport=$(echo ",$multiport," | sed "s/,$port//; s/^,//; s/,$//") if setconfig multiport "$multiport"; then @@ -166,7 +167,7 @@ set_common_ports() { fi fi else - msg_alert "\033[31m输入错误!请输入已添加过的端口!\033[0m" + msg_alert "\033[31m$FWF_ERR_DUP\033[0m" fi done ;; @@ -198,13 +199,13 @@ set_cust_host_ipv4() { while true; do [ -z "$replace_default_host_ipv4" ] && replace_default_host_ipv4="OFF" . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip - comp_box "当前默认透明路由的网段为:\033[32m$host_ipv4\033[0m" \ - "当前已添加的自定义网段为:\033[36m$cust_host_ipv4\033[0m" - btm_box "1) 移除所有自定义网段" \ - "2) 使用自定义网段覆盖默认网段 \033[36m$replace_default_host_ipv4\033[0m" \ + comp_box "$FWF_CUST_HOST_TITLE\033[32m$host_ipv4\033[0m" \ + "$FWF_CUST_HOST_TITLE2\033[36m$cust_host_ipv4\033[0m" + btm_box "$FWF_CUST_HOST_MENU_1" \ + "$FWF_CUST_HOST_MENU_2 \033[36m$replace_default_host_ipv4\033[0m" \ "" \ - "0) $COMMON_BACK" - read -r -p "请输入对应的序号或需要额外添加的网段> " text + "$FWF_BACK" + read -r -p "$FWF_CUST_HOST_HINT" text case "$text" in "" | 0) break @@ -239,7 +240,7 @@ set_cust_host_ipv4() { msg_alert "\033[31m$COMMON_FAILED\033[0m" fi else - msg_alert "\033[31m请输入正确的网段地址!\033[0m" + msg_alert "\033[31m$FWF_NET_ERR\033[0m" fi ;; esac @@ -249,14 +250,14 @@ set_cust_host_ipv4() { set_reserve_ipv4() { while true; do [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" - comp_box "\033[33m注意:地址必须是空格分隔,错误的设置可能导致网络回环或启动报错,请务必谨慎!\033[0m" \ + comp_box "\033[33m$FWF_RESERVE_NOTE\033[0m" \ "" \ - "当前网段:" \ + "$FWF_RESERVE_NOW" \ "\033[36m$reserve_ipv4\033[0m" - btm_box "\033[36m请直接输入自定义保留地址ipv4网段\033[0m" \ - "或输入 1 重置默认网段" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " text + btm_box "\033[36m$FWF_RESERVE_INPUT_HINT\033[0m" \ + "$FWF_RESERVE_INPUT_HINT2" \ + "$FWF_RESERVE_INPUT_HINT3" + read -r -p "$FWF_RESERVE_PROMPT" text case "$text" in "" | 0) break @@ -273,12 +274,12 @@ set_reserve_ipv4() { if echo "$text" | grep -Eq "(((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])/(3[0-2]|[1-2]?[0-9]))( +|$)+"; then reserve_ipv4="$text" if setconfig reserve_ipv4 "'$reserve_ipv4'"; then - msg_alert "已将保留地址网段设为:\033[32m$reserve_ipv4\033[0m" + msg_alert "\033[32m$FWF_RESERVE_SET$reserve_ipv4\033[0m" else msg_alert "\033[31m$COMMON_FAILED\033[0m" fi else - msg_alert "\033[31m输入有误,请重新输入!\033[0m" + msg_alert "\033[31m$FWF_RESERVE_ERR\033[0m" fi ;; esac @@ -290,33 +291,33 @@ fw_filter_lan() { get_devinfo() { dev_ip=$(cat "$dhcpdir" | grep " $dev " | awk '{print $3}') && [ -z "$dev_ip" ] && dev_ip=$dev dev_mac=$(cat "$dhcpdir" | grep " $dev " | awk '{print $2}') && [ -z "$dev_mac" ] && dev_mac=$dev - dev_name=$(cat "$dhcpdir" | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name='未知设备' + dev_name=$(cat "$dhcpdir" | grep " $dev " | awk '{print $4}') && [ -z "$dev_name" ] && dev_name="$FWF_LAN_NO_DEVICE" } add_mac() { while true; do - comp_box "手动输入mac地址时仅支持\033[32mxx:xx:xx:xx:xx:xx\033[0m的形式" - content_line "已添加的mac地址:" + comp_box "$FWF_MAC_HINT" + content_line "$FWF_MAC_EXISTED" content_line "" if [ -s "$CRASHDIR/configs/mac" ]; then while IFS= read -r line; do content_line "$line" done <"$CRASHDIR/configs/mac" else - content_line "暫未添加任何mac地址" + content_line "$FWF_NONE_MAC" fi separator_line "=" - content_line "序号 \033[33m设备IP 设备mac地址 设备名称\033[0m" + content_line "$FWF_MAC_HEADER" if [ -s "$dhcpdir" ]; then awk '{print NR") "$3,$2,$4}' "$dhcpdir" | while IFS= read -r line; do content_line "$line" done else - content_line "无纪录" + content_line "$FWF_MAC_NONE" fi btm_box "" \ - "0) $COMMON_BACK" - read -r -p "请输入对应序号或直接输入mac地址> " num + "$FWF_BACK" + read -r -p "$FWF_MAC_INPUT_HINT" num if [ -z "$num" ] || [ "$num" = 0 ]; then i= break @@ -324,48 +325,48 @@ fw_filter_lan() { if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$num")" ]; then echo "$num" | grep -oE '^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$' >>"$CRASHDIR"/configs/mac else - msg_alert "\033[31m已添加的设备,请勿重复添加!\033[0m" + msg_alert "\033[31m$FWF_MAC_DUP\033[0m" fi elif [ "$num" -le $(cat $dhcpdir 2>/dev/null | awk 'END{print NR}') ]; then macadd=$(cat "$dhcpdir" | awk '{print $2}' | sed -n "$num"p) if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$macadd")" ]; then echo "$macadd" >>"$CRASHDIR"/configs/mac else - msg_alert "\033[31m已添加的设备,请勿重复添加!\033[0m" + msg_alert "\033[31m$FWF_MAC_DUP\033[0m" fi else - msg_alert "\033[31m输入有误,请重新输入!\033[0m" + msg_alert "\033[31m$FWF_RESERVE_ERR\033[0m" fi done } add_ip() { while true; do - comp_box "手动输入时仅支持 \033[32m192.168.1.0/24\033[0m 或 \033[32m192.168.1.0\033[0m 的形式" \ - "不支持ipv6地址过滤,可能导致过滤失败,建议使用mac地址过滤" - content_line "已添加的IP地址(段):" + comp_box "$FWF_IP_HINT" \ + "$FWF_IP_HINT2" + content_line "$FWF_IP_EXISTED" content_line "" if [ -s "$CRASHDIR/configs/ip_filter" ]; then while IFS= read -r line; do content_line "$line" done <"$CRASHDIR/configs/ip_filter" else - content_line "暫未添加任何IP地址(段)" + content_line "$FWF_NONE_IP" fi separator_line "=" - content_line "\033[33m序号 设备IP 设备名称\033[32m" + content_line "$FWF_IP_HEADER" if [ -s "$dhcpdir" ]; then awk '{print NR") "$3, $4}' "$dhcpdir" | while IFS= read -r line; do content_line "$line" done else - content_line "无纪录" + content_line "$FWF_MAC_NONE" fi btm_box "" \ - "0) $COMMON_BACK" - read -r -p "请输入对应序号或直接输入IP地址段> " num + "$FWF_BACK" + read -r -p "$FWF_IP_INPUT_HINT" num if [ -z "$num" ] || [ "$num" = 0 ]; then i= break @@ -373,17 +374,17 @@ fw_filter_lan() { if [ -z "$(cat "$CRASHDIR"/configs/ip_filter | grep -E "$num")" ]; then echo "$num" | grep -oE '^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[0-2]|[12]?[0-9]))?$' >>"$CRASHDIR"/configs/ip_filter else - msg_alert "\033[31m已添加的地址,请勿重复添加!\033[0m" + msg_alert "\033[31m$FWF_IP_DUP\033[0m" fi elif [ "$num" -le "$(cat "$dhcpdir" 2>/dev/null | awk 'END{print NR}')" ]; then ipadd=$(cat "$dhcpdir" | awk '{print $3}' | sed -n "$num"p) if [ -z "$(cat "$CRASHDIR"/configs/mac | grep -E "$ipadd")" ]; then echo "$ipadd" >>"$CRASHDIR"/configs/ip_filter else - msg_alert "\033[31m已添加的地址,请勿重复添加!\033[0m" + msg_alert "\033[31m$FWF_IP_DUP\033[0m" fi else - msg_alert "\033[31m输入有误,请重新输入!\033[0m" + msg_alert "\033[31m$FWF_RESERVE_ERR\033[0m" fi done } @@ -391,11 +392,11 @@ fw_filter_lan() { del_all() { while true; do if [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ]; then - msg_alert "\033[31m列表中没有需要移除的设备!\033[0m" + msg_alert "\033[31m$FWF_REMOVE_NONE\033[0m" break else - comp_box "请选择需要移除的设备:" - content_line " \033[32m设备IP \033[36m设备mac地址 \033[35m设备名称\033[0m" + comp_box "$FWF_REMOVE_TITLE" + content_line "$FWF_REMOVE_HEADER" i=1 for dev in $(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null); do get_devinfo @@ -404,7 +405,7 @@ fw_filter_lan() { i=$((i + 1)) done btm_box "" \ - "0) $COMMON_BACK" + "$FWF_BACK" read -r -p "$COMMON_INPUT> " num mac_filter_rows=$(cat "$CRASHDIR"/configs/mac 2>/dev/null | wc -l) ip_filter_rows=$(cat "$CRASHDIR"/configs/ip_filter 2>/dev/null | wc -l) @@ -413,13 +414,13 @@ fw_filter_lan() { break elif [ "$num" -le "$mac_filter_rows" ]; then sed -i "${num}d" "$CRASHDIR"/configs/mac - msg_alert "\033[32m对应设备已移除!\033[0m" + msg_alert "\033[32m$FWF_REMOVE_OK\033[0m" elif [ "$num" -le $((mac_filter_rows + ip_filter_rows)) ]; then num=$((num - mac_filter_rows)) sed -i "${num}d" "$CRASHDIR"/configs/ip_filter - msg_alert "\033[32m对应设备已移除!\033[0m" + msg_alert "\033[32m$FWF_REMOVE_OK\033[0m" else - msg_alert "\033[31m输入有误,请重新输入!\033[0m" + msg_alert "\033[31m$FWF_RESERVE_ERR\033[0m" fi fi done @@ -432,22 +433,24 @@ fw_filter_lan() { [ -z "$dhcpdir" ] && [ -f /tmp/dnsmasq.leases ] && dhcpdir='/tmp/dnsmasq.leases' [ -z "$dhcpdir" ] && dhcpdir='/dev/null' [ -z "$macfilter_type" ] && macfilter_type='黑名单' - if [ "$macfilter_type" = "黑名单" ]; then - fw_filter_lan_over='白名单' - fw_filter_lan_scrip='不' + if [ "$macfilter_type" = '黑名单' ]; then + macfilter_type_show="$FWF_BLACK_LIST" + fw_filter_lan_over="$FWF_WHITE_LIST" + fw_filter_lan_desc="$FWF_FILTER_BLACK_DESC" else - fw_filter_lan_over='黑名单' - fw_filter_lan_scrip='' + macfilter_type_show="$FWF_WHITE_LIST" + fw_filter_lan_over="$FWF_BLACK_LIST" + fw_filter_lan_desc="$FWF_FILTER_WHITE_DESC" fi - comp_box "\033[30;47m请在此添加或移除设备\033[0m" \ + comp_box "\033[30;47m$FWF_FILTER_MENU_TITLE\033[0m" \ "" \ - "当前过滤方式为:\033[33m$macfilter_type模式\033[0m" \ - "仅列表内设备流量\033[36m$fw_filter_lan_scrip经过\033[0m内核" + "$FWF_FILTER_MODE\033[33m$macfilter_type_show$FWF_FILTER_MODE_SUFFIX\033[0m" \ + "\033[36m$fw_filter_lan_desc\033[0m" if [ -n "$(cat "$CRASHDIR"/configs/mac)" ]; then - content_line "当前已过滤设备为:" + content_line "$FWF_FILTER_EXISTED" content_line "" - content_line " \033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m" + content_line "$FWF_FILTER_HEADER" for dev in $(cat "$CRASHDIR"/configs/mac 2>/dev/null); do get_devinfo content_line "$(printf "\033[36m%-20s \033[35m%s\033[0m" \ @@ -460,22 +463,26 @@ fw_filter_lan() { done separator_line "=" fi - btm_box "1) 切换为\033[33m$fw_filter_lan_over模式\033[0m" \ - "2) \033[32m添加指定设备(mac地址)\033[0m" \ - "3) \033[32m添加指定设备(IP地址/网段)\033[0m" \ - "4) \033[36m移除指定设备\033[0m" \ - "9) \033[31m清空整个列表\033[0m" \ + btm_box "$FWF_FILTER_SWITCH" \ + "$FWF_FILTER_ADD_MAC" \ + "$FWF_FILTER_ADD_IP" \ + "$FWF_FILTER_REMOVE" \ + "$FWF_FILTER_CLEAR" \ "" \ - "0) $COMMON_BACK" + "$FWF_BACK" read -r -p "$COMMON_INPUT> " num case "$num" in "" | 0) break ;; 1) - macfilter_type=$fw_filter_lan_over - if setconfig macfilter_type $macfilter_type; then - msg_alert "\033[32m已切换为$macfilter_type模式!\033[0m" + if [ "$macfilter_type" = '黑名单' ]; then + macfilter_type='白名单' + else + macfilter_type='黑名单' + fi + if setconfig macfilter_type "$macfilter_type"; then + msg_alert "\033[32m$FWF_SWITCH_OK\033[0m" else msg_alert "\033[31m$COMMON_FAILED\033[0m" fi @@ -492,7 +499,7 @@ fw_filter_lan() { 9) : >"$CRASHDIR"/configs/mac : >"$CRASHDIR"/configs/ip_filter - msg_alert "\033[31m设备列表已清空!\033[0m" + msg_alert "\033[31m$FWF_LIST_CLEARED\033[0m" ;; *) errornum diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index e6549b49..3db8219f 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -3,6 +3,7 @@ [ -n "$__IS_MODULE_OVERRIDE" ] && return __IS_MODULE_OVERRIDE=1 +load_lang override YAMLSDIR="$CRASHDIR"/yamls JSONSDIR="$CRASHDIR"/jsons @@ -12,18 +13,18 @@ override() { while true; do [ -z "$rule_link" ] && rule_link=1 [ -z "$server_link" ] && server_link=1 - comp_box "\033[30;47m 欢迎使用配置文件覆写功能!\033[0m" - content_line "2) 管理\033[36m自定义规则\033[0m" + comp_box "\033[30;47m $OVR_TITLE\033[0m" + content_line "$OVR_MENU_2" echo "$crashcore" | grep -q 'singbox' || { - content_line "3) 管理\033[33m自定义节点\033[0m" - content_line "4) 管理\033[36m自定义策略组\033[0m" + content_line "$OVR_MENU_3" + content_line "$OVR_MENU_4" } - content_line "5) \033[32m自定义\033[0m高级功能" - [ "$disoverride" != 1 ] && content_line "9) \033[33m禁用\033[0m配置文件覆写" + content_line "$OVR_MENU_5" + [ "$disoverride" != 1 ] && content_line "$OVR_MENU_9" content_line "" - content_line "0) 返回上级菜单" + content_line "$OVR_BACK" separator_line "=" - read -r -p "请输入对应数字> " num + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) break @@ -46,12 +47,12 @@ override() { sleep 3 ;; 9) - comp_box "\033[33m此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!\033[0m" \ - "如果你不是非常了解$crashcore的运行机制,切勿开启!\033[0m" \ - "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m" + comp_box "\033[33m$OVR_WARN_1\033[0m" \ + "\033[33m$OVR_WARN_2\033[0m" \ + "\033[33m$OVR_WARN_3\033[0m" sleep 2 - btm_box "1) 我确认遇到问题可以自行解决" \ - "0) 返回上级菜单" + btm_box "$OVR_WARN_CONFIRM" \ + "$OVR_CONFIRM_NO" read -r -p "$COMMON_INPUT> " res [ "$res" = '1' ] && { disoverride=1 @@ -72,15 +73,15 @@ override() { # 自定义规则 setrules() { set_rule_type() { - comp_box "\033[33m请选择规则类型:\033[0m" + comp_box "\033[33m$OVR_RULES_TYPE\033[0m" printf '%s\n' "$rule_type" | awk '{for (i = 1; i <= NF; i++) print i") " $i}' | while IFS= read -r line; do content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "$OVR_BACK" + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) ;; [0-9]*) @@ -88,8 +89,8 @@ setrules() { errornum else rule_type_set=$(echo "$rule_type" | cut -d' ' -f"$num") - comp_box "\033[33m请输入规则语句,\n可以是域名、泛域名、IP网段或者其他匹配规则类型的内容\033[0m" - read -r -p "请输入对应规则> " rule_state_set + comp_box "\033[33m$OVR_RULES_ADD_RULE\033[0m" + read -r -p "$OVR_RULES_INPUT_RULE" rule_state_set if [ -n "$rule_state_set" ]; then set_group_type else @@ -104,16 +105,16 @@ setrules() { } set_group_type() { - comp_box "\033[36m请选择具体规则\033[0m" \ - "\033[33m此处规则读取自现有配置文件,如果你后续更换配置文件时运行出错,请尝试重新添加\033[0m" + comp_box "\033[36m$OVR_RULES_GROUP\033[0m" \ + "\033[33m$OVR_RULES_EXIST_WARN\033[0m" printf '%s\n' "$rule_group" | awk -F '#' '{for (i = 1; i <= NF; i++) print i") " $i}' | while IFS= read -r line; do content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "$OVR_BACK" + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) ;; [0-9]*) @@ -124,7 +125,7 @@ setrules() { rule_all="- ${rule_type_set},${rule_state_set},${rule_group_set}" echo "IP-CIDR SRC-IP-CIDR IP-CIDR6" | grep -q -- "$rule_type_set" && rule_all="${rule_all},no-resolve" echo "$rule_all" >>"$YAMLSDIR"/rules.yaml - msg_alert "\033[32m添加成功!\033[0m" + msg_alert "\033[32m$OVR_RULES_ADD_OK\033[0m" fi ;; *) @@ -135,15 +136,15 @@ setrules() { del_rule_type() { while true; do - comp_box "输入对应数字即可移除相应规则:" + comp_box "$OVR_RULES_DEL_HINT" sed -i '/^ *$/d; /^#/d' "$YAMLSDIR"/rules.yaml awk -F '#' '!/^#/ {print NR") "$1 $2 $3}' "$YAMLSDIR/rules.yaml" | while IFS= read -r line; do content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "$OVR_BACK" + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) break @@ -170,18 +171,18 @@ setrules() { } while true; do - comp_box "\033[33m你可以在这里快捷管理自定义规则\033[0m" \ - "如需批量操作,请手动编辑:\033[36m $YAMLSDIR/rules.yaml\033[0m" \ - "\033[33msingbox和clash共用此处规则,可无缝切换!\033[0m" \ - "大量规则请尽量使用rule-set功能添加,\n\033[31m此处过量添加可能导致启动卡顿!\033[0m" - content_line "1) 新增自定义规则" - content_line "2) 移除自定义规则" - content_line "3) 清空规则列表" - echo "$crashcore" | grep -q 'singbox' || content_line "4) 配置节点绕过: \033[36m$proxies_bypass\033[0m" + comp_box "\033[33m$OVR_RULES_MENU_HINT\033[0m" \ + "$OVR_RULES_MANUAL" \ + "\033[33m$OVR_RULES_SHARED\033[0m" \ + "$OVR_RULES_WARN" + content_line "$OVR_RULES_ADD" + content_line "$OVR_RULES_DEL" + content_line "$OVR_RULES_CLEAR" + echo "$crashcore" | grep -q 'singbox' || content_line "$OVR_RULES_BYPASS \033[36m$proxies_bypass\033[0m" content_line "" - content_line "0) 返回上级菜单" + content_line "$OVR_BACK" separator_line "=" - read -r -p "请输入对应数字> " num + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) break @@ -195,13 +196,13 @@ setrules() { if [ -s "$YAMLSDIR"/rules.yaml ]; then del_rule_type else - msg_alert "请先添加自定义规则!" + msg_alert "$OVR_RULES_NO_RULES" fi ;; 3) - comp_box "是否确认清空全部自定义规则?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + comp_box "$OVR_RULES_CLEAR_CONFIRM" + btm_box "$OVR_CONFIRM_YES" \ + "$OVR_CONFIRM_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then if sed -i '/^\s*[^#]/d' "$YAMLSDIR"/rules.yaml; then @@ -213,13 +214,12 @@ setrules() { ;; 4) if [ "$proxies_bypass" = "OFF" ]; then - comp_box "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" \ - "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" \ + comp_box "\033[33m$OVR_RULES_BYPASS_WARN1\033[0m" \ + "\033[33m$OVR_RULES_BYPASS_WARN2\033[0m" \ "" \ - "是否启用节点绕过?" - btm_box - "1) 是" \ - "0) 否,返回上级菜单" + "$OVR_RULES_BYPASS_PROMPT" + btm_box "$OVR_CONFIRM_YES" \ + "$OVR_CONFIRM_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then proxies_bypass=ON @@ -246,28 +246,28 @@ setrules() { # 自定义clash策略组 setgroups() { set_group_type() { - comp_box "\033[33m注意策略组名称必须和【自定义规则】或【自定义节点】功能中指定的策略组一致!\033[0m" \ - "\033[33m建议先创建策略组,之后可在【自定义规则】或【自定义节点】功能中智能指定\033[0m" \ - "\033[33m如需在当前策略组下添加节点,请手动编辑$YAMLSDIR/proxy-groups.yaml\033[0m" - btm_box "\033[36m请直接输入自定义策略组名称\033[0m\n(不支持纯数字且不要包含特殊字符!)" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " new_group_name + comp_box "\033[33m$OVR_GROUPS_WARN1\033[0m" \ + "\033[33m$OVR_GROUPS_WARN2\033[0m" \ + "\033[33m$OVR_GROUPS_WARN3\033[0m" + btm_box "\033[36m$OVR_GROUPS_INPUT_NAME\033[0m" \ + "$OVR_CONFIRM_NO" + read -r -p "$OVR_PROMPT" new_group_name - comp_box "\033[32m请选择策略组【$new_group_name】的类型:\033[0m" + comp_box "\033[32m$OVR_GROUPS_CHOOSE_TYPE【$new_group_name】\033[0m" printf '%s\n' "$group_type_cn" | awk '{for (i = 1; i <= NF; i++) print i") " $i}' | while IFS= read -r line; do content_line "$line" done separator_line "=" - read -r -p "请输入对应数字> " num + read -r -p "$OVR_GROUPS_INPUT_NUM" num new_group_type=$(echo "$group_type" | awk '{print $'"$num"'}') if [ "$num" = "1" ]; then unset new_group_url interval else - comp_box "请输入测速地址" \ - "或直接回车使用默认地址:https://www.gstatic.com/generate_204" - read -r -p "请输入> " new_group_url + comp_box "$OVR_GROUPS_URL" \ + "$OVR_GROUPS_URL_HINT" + read -r -p "$OVR_PROMPT" new_group_url [ -z "$new_group_url" ] && new_group_url=https://www.gstatic.com/generate_204 new_group_url="url: '$new_group_url'" interval="interval: 300" @@ -283,22 +283,22 @@ setgroups() { - DIRECT EOF sed -i "/^ *$/d" "$YAMLSDIR"/proxy-groups.yaml - msg_alert "\033[32m添加成功!\033[0m" + msg_alert "\033[32m$OVR_GROUPS_ADD_OK\033[0m" } set_group_add() { - comp_box "\033[36m请选择想要将本策略添加到的策略组\033[0m" \ - "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" + comp_box "\033[36m$OVR_PROXIES_ADD_HINT\033[0m" \ + "\033[32m$OVR_PROXIES_MULTI_HINT\033[0m" printf '%s\n' "$proxy_group" | awk -F '#' '{for (i = 1; i <= NF; i++) print i") " $i}' | while IFS= read -r line; do content_line "$line" done content_line "" - content_line "0) 跳过添加" + content_line "$OVR_GROUPS_SKIP" separator_line "=" - read -r -p "请输入对应数字(多个用空格分隔)> " char + read -r -p "$OVR_PROMPT" char case "$char" in "" | 0) ;; *) @@ -317,21 +317,21 @@ EOF } while true; do - comp_box "\033[33m你可以在这里快捷管理自定义策略组\033[0m" \ - "\033[36m如需修改或批量操作,请手动编辑:$YAMLSDIR/proxy-groups.yaml\033[0m" - btm_box "1) 添加自定义策略组" \ - "2) 查看自定义策略组" \ - "3) 清空自定义策略组" \ + comp_box "\033[33m$OVR_GROUPS_MENU_HINT\033[0m" \ + "\033[36m$OVR_GROUPS_MANUAL\033[0m" + btm_box "$OVR_GROUPS_ADD" \ + "$OVR_GROUPS_VIEW" \ + "$OVR_GROUPS_CLEAR" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "$OVR_BACK" + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) break ;; 1) group_type="select url-test fallback load-balance" - group_type_cn="手动选择 自动选择 故障转移 负载均衡" + group_type_cn="$OVR_GROUP_TYPE_CN" proxy_group="$(cat "$YAMLSDIR"/proxy-groups.yaml "$YAMLSDIR"/config.yaml 2>/dev/null | sed "/#自定义策略组开始/,/#自定义策略组结束/d" | grep -Ev '^#' | grep -o '\- name:.*' | sed 's/#.*//' | sed 's/- name: /#/g' | tr -d '\n' | sed 's/#//')" set_group_type ;; @@ -343,9 +343,9 @@ EOF echo "===========================================================" ;; 3) - comp_box "是否确认清空全部自定义策略组?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + comp_box "$OVR_GROUPS_CLEAR_CONFIRM" + btm_box "$OVR_CONFIRM_YES" \ + "$OVR_CONFIRM_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then if echo '#用于添加自定义策略组' >"$YAMLSDIR"/proxy-groups.yaml; then @@ -367,16 +367,16 @@ setproxies() { set_proxy_type() { while true; do - comp_box "\033[33m注意\n节点格式必须是单行、不包括括号、“name:”为开头,例如:\033[0m" \ + comp_box "\033[33m$OVR_PROXIES_WARN1\033[0m" \ "\033[36m【name: \"test\", server: 192.168.1.1, port: 12345, type: socks5, udp: true】\033[0m" \ - "更多写法请参考:\033[32mhttps://juewuy.github.io/\033[0m" - btm_box "\033[36m请直接输入自定义节点\033[0m" \ - "或输入 0 返回上级菜单" - read -r -p "请输入> " proxy_state_set + "$OVR_PROXIES_WARN2" + btm_box "\033[36m$OVR_PROXIES_INPUT\033[0m" \ + "$OVR_CONFIRM_NO" + read -r -p "$OVR_PROMPT" proxy_state_set if [ "$proxy_state_set" = 0 ]; then break elif echo "$proxy_state_set" | grep -q "#"; then - msg_alert "\033[33m绝对禁止包含【#】号!\033[0m" + msg_alert "\033[33m$OVR_PROXIES_BLOCK_HASH\033[0m" elif echo "$proxy_state_set" | grep -Eq "^name:"; then set_group_add else @@ -386,17 +386,17 @@ setproxies() { } set_group_add() { - comp_box "\033[36m请选择想要将节点添加到的策略组\033[0m" \ - "\033[32m如需添加到多个策略组,请一次性输入多个数字并用空格隔开\033[0m" \ - "\033[33m如需自定义策略组,请先使用【管理自定义策略组功能】添加\033[0m" + comp_box "\033[36m$OVR_PROXIES_ADD_HINT\033[0m" \ + "\033[32m$OVR_PROXIES_MULTI_HINT\033[0m" \ + "\033[33m$OVR_PROXIES_GROUP_HINT\033[0m" printf '%s\n' "$proxy_group" | awk -F '#' '{for (i = 1; i <= NF; i++) print i") " $i}' | while IFS= read -r line; do content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字(多个用空格分隔)> " char + "$OVR_BACK" + read -r -p "$OVR_PROMPT" char case "$char" in "" | 0) ;; *) @@ -406,7 +406,7 @@ setproxies() { done if [ -n "$rule_group_add" ]; then echo "- {$proxy_state_set}$rule_group_add" >>"$YAMLSDIR"/proxies.yaml - msg_alert "\033[32m添加成功!\033[0m" + msg_alert "\033[32m$OVR_PROXIES_ADD_OK\033[0m" unset rule_group_add else errornum @@ -416,15 +416,15 @@ setproxies() { } while true; do - comp_box "\033[33m你可以在这里快捷管理自定义节点\033[0m" \ - "\033[36m如需批量操作,请手动编辑:$YAMLSDIR/proxies.yaml\033[0m" - btm_box "1) 添加自定义节点" \ - "2) 管理自定义节点" \ - "3) 清空自定义节点" \ - "4) 配置节点绕过: \033[36m$proxies_bypass\033[0m" \ + comp_box "\033[33m$OVR_PROXIES_MENU_HINT\033[0m" \ + "\033[36m$OVR_PROXIES_MANUAL\033[0m" + btm_box "$OVR_PROXIES_ADD" \ + "$OVR_PROXIES_MANAGE" \ + "$OVR_PROXIES_CLEAR" \ + "$OVR_PROXIES_BYPASS \033[36m$proxies_bypass\033[0m" \ "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "$OVR_BACK" + read -r -p "$OVR_INPUT_NUM" num case "$num" in "" | 0) break @@ -437,8 +437,8 @@ setproxies() { 2) sed -i '/^ *$/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null if [ -s "$YAMLSDIR"/proxies.yaml ]; then - comp_box "\033[33m输入节点对应数字可以移除对应节点\033[0m" \ - "当前已添加的自定义节点为:" + comp_box "\033[33m$OVR_PROXIES_EXIST_HINT\033[0m" \ + "$OVR_PROXIES_EXIST_TITLE" grep -Ev '^#' "$YAMLSDIR/proxies.yaml" | awk -F '[,}]' '{print NR") " $1 " " $NF}' | sed 's/- {//g' | @@ -446,8 +446,8 @@ setproxies() { content_line "$line" done btm_box "" \ - "0) 返回上级菜单" - read -r -p "请输入对应数字> " num + "$OVR_BACK" + read -r -p "$OVR_INPUT_NUM" num if [ "$num" = 0 ]; then continue elif [ "$num" -le $(cat "$YAMLSDIR"/proxies.yaml | grep -Ev '^#' | wc -l) ]; then @@ -460,13 +460,13 @@ setproxies() { errornum fi else - msg_alert "请先添加自定义节点!" + msg_alert "$OVR_PROXIES_NO_PROXY" fi ;; 3) - comp_box "是否确认清空全部自定义节点?" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + comp_box "$OVR_PROXIES_CLEAR_CONFIRM" + btm_box "$OVR_CONFIRM_YES" \ + "$OVR_CONFIRM_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then if sed -i '/^\s*[^#]/d' "$YAMLSDIR"/proxies.yaml 2>/dev/null; then @@ -480,12 +480,12 @@ setproxies() { ;; 4) if [ "$proxies_bypass" = "OFF" ]; then - comp_box "\033[33m本功能会自动将当前配置文件中的节点域名或IP设置为直连规则以防止出现双重流量!\033[0m" \ - "\033[33m请确保下游设备使用的节点与ShellCrash中使用的节点相同,否则无法生效!\033[0m" \ + comp_box "\033[33m$OVR_PROXIES_BYPASS_WARN1\033[0m" \ + "\033[33m$OVR_PROXIES_BYPASS_WARN2\033[0m" \ "" \ - "是否确定启用节点绕过:" - btm_box "1) 是" \ - "0) 否,返回上级菜单" + "$OVR_PROXIES_BYPASS_PROMPT" + btm_box "$OVR_CONFIRM_YES" \ + "$OVR_CONFIRM_NO" read -r -p "$COMMON_INPUT> " res if [ "$res" = "1" ]; then proxies_bypass=ON @@ -527,24 +527,24 @@ EOF #listeners: EOF - comp_box "\033[32m已经创建自定义设定文件:$YAMLSDIR/user.yaml !\033[0m" \ - "\033[33m可用于编写自定义的DNS等功能\033[0m" \ + comp_box "\033[32m$OVR_ADV_USER_CREATED1\033[0m" \ + "\033[33m$OVR_ADV_USER_CREATED2\033[0m" \ "" \ - "\033[32m已经创建自定义功能文件:$YAMLSDIR/others.yaml !\033[0m" \ - "\033[33m可用于编写自定义的锚点、入站、proxy-providers、rule-set、sub-rules、script等功能\033[0m" + "\033[32m$OVR_ADV_USER_CREATED3\033[0m" \ + "\033[33m$OVR_ADV_USER_CREATED4\033[0m" - btm_box "Windows下请使用\033[33mWinSCP软件\033[0m进行编辑!\033[0m" \ - "MacOS下请使用\033[33mSecureFX软件\033[0m进行编辑!\033[0m" \ - "Linux可使用\033[33mvim\033[0m进行编辑(路由设备若不显示中文请勿使用)!\033[0m" + btm_box "\033[33m$OVR_ADV_WIN\033[0m" \ + "\033[33m$OVR_ADV_MAC\033[0m" \ + "\033[33m$OVR_ADV_LIN\033[0m" } # s自定义singbox配置文件 set_singbox_adv() { - comp_box "支持覆盖脚本设置的模块有:\033[0m" \ + comp_box "\033[33m$OVR_SING_TITLE1\033[0m" \ "\033[36mlog dns ntp certificate experimental\033[0m" \ - "支持与内置功能合并(但不可冲突)的模块有:\033[0m" \ + "\033[33m$OVR_SING_TITLE2\033[0m" \ "\033[36mendpoints inbounds outbounds providers route services\033[0m" \ - "将相应json文件放入\033[33m$JSONSDIR\033[0m目录后即可在启动时自动加载" \ + "$OVR_SING_TITLE3" \ "" \ - "使用前请务必参考配置教程:\033[32;4m https://juewuy.github.io/nWTjEpkSK \033[0m" + "$OVR_SING_TITLE4" } From 7ed66026be74477d835065b3ce930af99e306027 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sun, 22 Mar 2026 23:21:41 +0800 Subject: [PATCH 241/318] =?UTF-8?q?=E6=A3=80=E6=B5=8B=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E5=86=B2=E7=AA=81=E6=97=B6=E5=8C=BA=E5=88=86=20tcp=20=E5=92=8C?= =?UTF-8?q?=20udp=20=E7=AB=AF=E5=8F=A3=EF=BC=8C=E9=98=B2=E6=AD=A2=E8=AF=AF?= =?UTF-8?q?=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix #1242 --- scripts/menu.sh | 85 ++- scripts/menus/2_settings.sh | 1281 ++++++++++++++++++----------------- scripts/menus/check_port.sh | 67 +- 3 files changed, 744 insertions(+), 689 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index edbff948..04d03d18 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -43,36 +43,47 @@ checkrestart() { # 检查端口冲突 checkport() { + . "$CRASHDIR"/menus/check_port.sh + while true; do - # Before each round of checks begins, execute netstat only once and cache the results - # Avoid calling the system command once for each port - current_listening=$(netstat -ntul 2>&1) + local conflict_found=0 + local conflict_port="" + local conflict_info="" - conflict_found=0 + conflict_info=$(check_port_with_info "$mix_port" tcp) + if [ $? -ne 0 ]; then + conflict_found=1 + conflict_port="$mix_port" + fi - for portx in $dns_port $mix_port $redir_port $((redir_port + 1)) $db_port; do - # Use `grep` to search within the cached variables instead of re-running `netstat` - conflict_line=$(echo "$current_listening" | grep ":$portx ") - - if [ -n "$conflict_line" ]; then - - comp_box "【$portx】:$MENU_PORT_CONFLICT_TITLE" \ - "\033[0m$(echo "$conflict_line" | head -n 1)\033[0m" \ - "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" - - . "$CRASHDIR"/menus/2_settings.sh && set_adv_config - . "$CRASHDIR"/libs/get_config.sh - - # Mark conflict and exit the for loop, triggering the while loop to restart the check - # This replaces the original recursive call to `checkport` - conflict_found=1 - break - fi - done - - # If no conflicts are found after the entire for loop completes, - # the while loop exits and the function terminates. if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$redir_port" tcp) + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$redir_port" + fi + + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$((redir_port + 1))" tcp) + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$((redir_port + 1))" + fi + + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$dns_port" all) + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$dns_port" + fi + + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$db_port" tcp) + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$db_port" + fi + + if [ "$conflict_found" -eq 1 ]; then + comp_box "【$conflict_port】:$MENU_PORT_CONFLICT_TITLE" \ + "\033[0m$conflict_info\033[0m" \ + "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" + + . "$CRASHDIR"/menus/2_settings.sh && set_adv_config + . "$CRASHDIR"/libs/get_config.sh + else break fi done @@ -195,17 +206,17 @@ main_menu() { while true; do ckstatus - btm_box "1) \033[32m$MENU_MAIN_1\033[0m"\ - "2) \033[36m$MENU_MAIN_2\033[0m"\ - "3) \033[31m$MENU_MAIN_3\033[0m"\ - "4) \033[33m$MENU_MAIN_4\033[0m"\ - "5) \033[32m$MENU_MAIN_5\033[0m"\ - "6) \033[36m$MENU_MAIN_6\033[0m"\ - "7) \033[33m$MENU_MAIN_7\033[0m"\ - "8) $MENU_MAIN_8"\ - "9) \033[32m$MENU_MAIN_9\033[0m"\ - ""\ - "0) $MENU_MAIN_0" + btm_box "1) \033[32m$MENU_MAIN_1\033[0m" \ + "2) \033[36m$MENU_MAIN_2\033[0m" \ + "3) \033[31m$MENU_MAIN_3\033[0m" \ + "4) \033[33m$MENU_MAIN_4\033[0m" \ + "5) \033[32m$MENU_MAIN_5\033[0m" \ + "6) \033[36m$MENU_MAIN_6\033[0m" \ + "7) \033[33m$MENU_MAIN_7\033[0m" \ + "8) $MENU_MAIN_8" \ + "9) \033[32m$MENU_MAIN_9\033[0m" \ + "" \ + "0) $MENU_MAIN_0" read -r -p "$MENU_MAIN_PROMPT" num case "$num" in diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 5d44bd46..d78bbed0 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -8,673 +8,674 @@ load_lang 2_settings # 功能设置 settings() { - while true; do - # 获取设置默认显示 - [ -z "$skip_cert" ] && skip_cert=ON - [ -z "$sniffer" ] && { - sniffer=OFF - echo "$crashcore" | grep -q 'singbox' && sniffer=ON - } - [ -z "$dns_mod" ] && dns_mod='redir_host' + while true; do + # 获取设置默认显示 + [ -z "$skip_cert" ] && skip_cert=ON + [ -z "$sniffer" ] && { + sniffer=OFF + echo "$crashcore" | grep -q 'singbox' && sniffer=ON + } + [ -z "$dns_mod" ] && dns_mod='redir_host' - comp_box "\033[30;47m$SET_MENU_TITLE\033[0m" - content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" - content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" - content_line "3) $SET_MENU_FW_FILTER" - [ "$disoverride" != "1" ] && { - content_line "4) $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" - content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" - content_line "6) $SET_MENU_ADV_PORT" - } - content_line "7) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" - btm_box "" \ - "a) \033[31m$SET_MENU_RESET\033[0m" \ - "b) \033[36m$SET_MENU_LANG\033[0m" \ - "c) \033[33m$SET_MENU_UI\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$USER" != root ] && [ "$USER" != admin ]; then - comp_box "$SET_WARN_NONROOT" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - set_redir_mod - else - continue - fi - else - set_redir_mod - fi - ;; - 2) - . "$CRASHDIR"/menus/dns.sh && set_dns_mod - ;; - 3) - . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter - ;; - 4) - line_break - separator_line "=" - if [ "$skip_cert" = "OFF" ]; then - content_line "$SET_SKIP_CERT_NOW\033[33m$SET_DISABLED\033[0m$SET_SKIP_CERT_ENABLE_Q" - else - content_line "$SET_SKIP_CERT_NOW\033[33m$SET_ENABLED\033[0m$SET_SKIP_CERT_DISABLE_Q" - fi - separator_line "=" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - if [ "$skip_cert" = OFF ]; then - skip_cert=ON - msg_alert "\033[33m$SET_SKIP_CERT_ON\033[0m" - else - skip_cert=OFF - msg_alert "\033[33m$SET_SKIP_CERT_OFF\033[0m" - fi - setconfig skip_cert $skip_cert - else - continue - fi - ;; - 5) - if [ "$sniffer" = "OFF" ]; then - comp_box "$SET_SNIFFER_NOW\033[33m$SET_DISABLED\033[0m$SET_SNIFFER_ENABLE_Q" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - line_break - separator_line "=" - if [ "$crashcore" = "clash" ]; then - rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" - crashcore=meta - setconfig crashcore $crashcore - top_box "$SET_SNIFFER_CORE_SWITCH" \ - "" - fi - sniffer=ON - else - continue - fi - elif [ "$crashcore" = clashpre ] && [ "$dns_mod" = redir_host ]; then - msg_alert "\033[31m$SET_SNIFFER_LOCKED\033[0m" - continue - else - comp_box "$SET_SNIFFER_NOW\033[33m$SET_ENABLED\033[0m$SET_SNIFFER_DISABLE_Q" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - sniffer=OFF - line_break - separator_line "=" - else - continue - fi - fi - setconfig sniffer "$sniffer" - btm_box "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 - ;; - 6) - if pidof CrashCore >/dev/null; then - comp_box "\033[33m$SET_CORE_RUNNING\033[0m" \ - "$SET_CORE_STOP_CONFIRM" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - "$CRASHDIR/start.sh" stop && set_adv_config - else - continue - fi - else - set_adv_config - fi - ;; - 7) - set_ipv6 - ;; - a) - BACK_TAR="$CRASHDIR/configs.tar.gz" - comp_box "1) $SET_BACKUP" \ - "2) $SET_RESTORE" \ - "3) $SET_RESET" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - continue - ;; - 1) - line_break - separator_line "=" - if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then - content_line "\033[32m$SET_BACKUP_OK $BACK_TAR\033[0m" - else - content_line "\033[31m$SET_BACKUP_FAIL\033[0m" - fi - separator_line "=" - sleep 1 - continue - ;; - 2) - line_break - separator_line "=" - if [ -f "$BACK_TAR" ]; then - tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . - rm -rf "$CRASHDIR/configs/*" - tar -zxf "$BACK_TAR" -C "$CRASHDIR"/configs - mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" - content_line "\033[32m$SET_RESTORE_OK $BACK_TAR\033[0m" - else - content_line "\033[31m$SET_BACKUP_MISS\033[0m" - fi - ;; - 3) - line_break - separator_line "=" - if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then - rm -rf "$CRASHDIR/configs" - . "$CRASHDIR/init.sh" >/dev/null - content_lin e"\033[32m$SET_RESET_OK\033[0m" - else - content_lin e"\033[32m$SET_RESET_FAIL\033[0m" - fi - ;; - *) - errornum - continue - ;; - esac - content_line "\033[33m$SET_NEED_RESTART\033[0m" - separator_line "=" - line_break - sleep 1 - exit 0 - ;; - b) - comp_box "1) $SET_LANG_ZH" \ - "2) $SET_LANG_EN" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - continue - ;; - 1) - echo chs >"$CRASHDIR"/configs/i18n.cfg - msg_alert "\033[32m$SET_SWITCH_RERUN\033[0m" - ;; - 2) - echo en >"$CRASHDIR"/configs/i18n.cfg - msg_alert "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" - ;; - esac - line_break - exit 0 - ;; - c) - comp_box "1) New Design by Sofia-Riese" \ - "2) TUI-lite" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - continue - ;; - 1) - setconfig tui_type 'tui_layout' - . "$CRASHDIR"/menus/tui_layout.sh - ;; - 2) - setconfig tui_type 'tui_lite' - . "$CRASHDIR"/menus/tui_lite.sh - ;; - esac - msg_alert "\033[32m$SET_SWITCH_OK\033[0m" - ;; - *) - errornum - ;; - esac - done + comp_box "\033[30;47m$SET_MENU_TITLE\033[0m" + content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" + content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" + content_line "3) $SET_MENU_FW_FILTER" + [ "$disoverride" != "1" ] && { + content_line "4) $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" + content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" + content_line "6) $SET_MENU_ADV_PORT" + } + content_line "7) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" + btm_box "" \ + "a) \033[31m$SET_MENU_RESET\033[0m" \ + "b) \033[36m$SET_MENU_LANG\033[0m" \ + "c) \033[33m$SET_MENU_UI\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$USER" != root ] && [ "$USER" != admin ]; then + comp_box "$SET_WARN_NONROOT" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + set_redir_mod + else + continue + fi + else + set_redir_mod + fi + ;; + 2) + . "$CRASHDIR"/menus/dns.sh && set_dns_mod + ;; + 3) + . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter + ;; + 4) + line_break + separator_line "=" + if [ "$skip_cert" = "OFF" ]; then + content_line "$SET_SKIP_CERT_NOW\033[33m$SET_DISABLED\033[0m$SET_SKIP_CERT_ENABLE_Q" + else + content_line "$SET_SKIP_CERT_NOW\033[33m$SET_ENABLED\033[0m$SET_SKIP_CERT_DISABLE_Q" + fi + separator_line "=" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + if [ "$skip_cert" = OFF ]; then + skip_cert=ON + msg_alert "\033[33m$SET_SKIP_CERT_ON\033[0m" + else + skip_cert=OFF + msg_alert "\033[33m$SET_SKIP_CERT_OFF\033[0m" + fi + setconfig skip_cert $skip_cert + else + continue + fi + ;; + 5) + if [ "$sniffer" = "OFF" ]; then + comp_box "$SET_SNIFFER_NOW\033[33m$SET_DISABLED\033[0m$SET_SNIFFER_ENABLE_Q" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + line_break + separator_line "=" + if [ "$crashcore" = "clash" ]; then + rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" + crashcore=meta + setconfig crashcore $crashcore + top_box "$SET_SNIFFER_CORE_SWITCH" \ + "" + fi + sniffer=ON + else + continue + fi + elif [ "$crashcore" = clashpre ] && [ "$dns_mod" = redir_host ]; then + msg_alert "\033[31m$SET_SNIFFER_LOCKED\033[0m" + continue + else + comp_box "$SET_SNIFFER_NOW\033[33m$SET_ENABLED\033[0m$SET_SNIFFER_DISABLE_Q" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + sniffer=OFF + line_break + separator_line "=" + else + continue + fi + fi + setconfig sniffer "$sniffer" + btm_box "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 + ;; + 6) + if pidof CrashCore >/dev/null; then + comp_box "\033[33m$SET_CORE_RUNNING\033[0m" \ + "$SET_CORE_STOP_CONFIRM" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + "$CRASHDIR/start.sh" stop && set_adv_config + else + continue + fi + else + set_adv_config + fi + ;; + 7) + set_ipv6 + ;; + a) + BACK_TAR="$CRASHDIR/configs.tar.gz" + comp_box "1) $SET_BACKUP" \ + "2) $SET_RESTORE" \ + "3) $SET_RESET" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + continue + ;; + 1) + line_break + separator_line "=" + if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then + content_line "\033[32m$SET_BACKUP_OK $BACK_TAR\033[0m" + else + content_line "\033[31m$SET_BACKUP_FAIL\033[0m" + fi + separator_line "=" + sleep 1 + continue + ;; + 2) + line_break + separator_line "=" + if [ -f "$BACK_TAR" ]; then + tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . + rm -rf "$CRASHDIR/configs/*" + tar -zxf "$BACK_TAR" -C "$CRASHDIR"/configs + mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" + content_line "\033[32m$SET_RESTORE_OK $BACK_TAR\033[0m" + else + content_line "\033[31m$SET_BACKUP_MISS\033[0m" + fi + ;; + 3) + line_break + separator_line "=" + if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then + rm -rf "$CRASHDIR/configs" + . "$CRASHDIR/init.sh" >/dev/null + content_lin e"\033[32m$SET_RESET_OK\033[0m" + else + content_lin e"\033[32m$SET_RESET_FAIL\033[0m" + fi + ;; + *) + errornum + continue + ;; + esac + content_line "\033[33m$SET_NEED_RESTART\033[0m" + separator_line "=" + line_break + sleep 1 + exit 0 + ;; + b) + comp_box "1) $SET_LANG_ZH" \ + "2) $SET_LANG_EN" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + continue + ;; + 1) + echo chs >"$CRASHDIR"/configs/i18n.cfg + msg_alert "\033[32m$SET_SWITCH_RERUN\033[0m" + ;; + 2) + echo en >"$CRASHDIR"/configs/i18n.cfg + msg_alert "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" + ;; + esac + line_break + exit 0 + ;; + c) + comp_box "1) New Design by Sofia-Riese" \ + "2) TUI-lite" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + continue + ;; + 1) + setconfig tui_type 'tui_layout' + . "$CRASHDIR"/menus/tui_layout.sh + ;; + 2) + setconfig tui_type 'tui_lite' + . "$CRASHDIR"/menus/tui_lite.sh + ;; + esac + msg_alert "\033[32m$SET_SWITCH_OK\033[0m" + ;; + *) + errornum + ;; + esac + done } set_redir_config() { - setconfig redir_mod "$redir_mod" - setconfig dns_mod "$dns_mod" - msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod $SET_MODE_SUFFIX\033[0m" + setconfig redir_mod "$redir_mod" + setconfig dns_mod "$dns_mod" + msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod $SET_MODE_SUFFIX\033[0m" } # 路由模式设置 set_redir_mod() { - while true; do - [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 - [ -z "$firewall_area" ] && firewall_area=1 - [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" - [ -z "$redir_mod" ] && redir_mod='Redir' - firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) - comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ - "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" - [ "$firewall_area" -le 3 ] && { - content_line "1) $SET_SET_TO\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" - content_line "2) $SET_SET_TO\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" - content_line "3) $SET_SET_TO\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" - content_line "4) $SET_SET_TO\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" - content_line "" - } - [ "$firewall_area" = 5 ] && { - content_line "5) \033[32m$SET_BYPASS_TCP\033[0m: $SET_BYPASS_TCP_DESC" - content_line "6) \033[36m$SET_BYPASS_TU\033[0m: $SET_BYPASS_TU_DESC" - content_line "" - } - btm_box "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" \ - "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" \ - "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - redir_mod=Redir - set_redir_config - ;; - 2) - if [ -n "$sup_tun" ]; then - redir_mod=Mix - set_redir_config - else - msg_alert "\033[31m${SET_NO_MOD}TUN\033[0m" \ - "\033[31m$SET_NO_MOD2\033[0m" - fi - ;; - 3) - if [ "$firewall_mod" = "iptables" ]; then - if [ -f /etc/init.d/qca-nss-ecm ] && [ "$systype" = "mi_snapshot" ]; then - read -r -p "$XIAOMI_QOS(1/0)> " res - [ "$res" = '1' ] && { - /data/shellcrash_init.sh tproxyfix - redir_mod=Tproxy - set_redir_config - } - elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod=Tproxy - set_redir_config - else - msg_alert "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" \ - "\033[31m$SET_NO_MOD2\033[0m" - fi - elif [ "$firewall_mod" = "nftables" ]; then - if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then - redir_mod=Tproxy - set_redir_config - else - msg_alert "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" \ - "\033[31m$SET_NO_MOD2\033[0m" - fi - fi - ;; - 4) - if [ -n "$sup_tun" ]; then - redir_mod=Tun - set_redir_config - else - msg_alert "\033[31m$SET_NO_TUN\033[0m" - fi - ;; - 5) - redir_mod='$SET_BYPASS_TCP' - set_redir_config - ;; - 6) - redir_mod='$SET_BYPASS_TU' - set_redir_config - ;; - 7) - set_firewall_area - ;; - 8) - set_firewall_vm - ;; - 9) - if [ "$firewall_mod" = 'iptables' ]; then - if nft add table inet shellcrash 2>/dev/null; then - firewall_mod=nftables - redir_mod=Redir - setconfig redir_mod $redir_mod - else - msg_alert "\033[31m$FW_NO_NFTABLES\033[0m" - fi - elif [ "$firewall_mod" = 'nftables' ]; then - if ckcmd iptables; then - firewall_mod=iptables - redir_mod=Redir - setconfig redir_mod $redir_mod - else - msg_alert "\033[31m$FW_NO_IPTABLES\033[0m" - fi - else - iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables - nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables - if [ -n "$firewall_mod" ]; then - redir_mod=Redir - setconfig redir_mod $redir_mod - setconfig firewall_mod "$firewall_mod" - else - msg_alert "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" - fi - fi - setconfig firewall_mod "$firewall_mod" - ;; - *) - errornum - ;; - esac - done + while true; do + [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 + [ -z "$firewall_area" ] && firewall_area=1 + [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" + [ -z "$redir_mod" ] && redir_mod='Redir' + firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) + comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ + "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" + [ "$firewall_area" -le 3 ] && { + content_line "1) $SET_SET_TO\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" + content_line "2) $SET_SET_TO\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" + content_line "3) $SET_SET_TO\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" + content_line "4) $SET_SET_TO\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" + content_line "" + } + [ "$firewall_area" = 5 ] && { + content_line "5) \033[32m$SET_BYPASS_TCP\033[0m: $SET_BYPASS_TCP_DESC" + content_line "6) \033[36m$SET_BYPASS_TU\033[0m: $SET_BYPASS_TU_DESC" + content_line "" + } + btm_box "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" \ + "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" \ + "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + redir_mod=Redir + set_redir_config + ;; + 2) + if [ -n "$sup_tun" ]; then + redir_mod=Mix + set_redir_config + else + msg_alert "\033[31m${SET_NO_MOD}TUN\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" + fi + ;; + 3) + if [ "$firewall_mod" = "iptables" ]; then + if [ -f /etc/init.d/qca-nss-ecm ] && [ "$systype" = "mi_snapshot" ]; then + read -r -p "$XIAOMI_QOS(1/0)> " res + [ "$res" = '1' ] && { + /data/shellcrash_init.sh tproxyfix + redir_mod=Tproxy + set_redir_config + } + elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then + redir_mod=Tproxy + set_redir_config + else + msg_alert "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" + fi + elif [ "$firewall_mod" = "nftables" ]; then + if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then + redir_mod=Tproxy + set_redir_config + else + msg_alert "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" + fi + fi + ;; + 4) + if [ -n "$sup_tun" ]; then + redir_mod=Tun + set_redir_config + else + msg_alert "\033[31m$SET_NO_TUN\033[0m" + fi + ;; + 5) + redir_mod='$SET_BYPASS_TCP' + set_redir_config + ;; + 6) + redir_mod='$SET_BYPASS_TU' + set_redir_config + ;; + 7) + set_firewall_area + ;; + 8) + set_firewall_vm + ;; + 9) + if [ "$firewall_mod" = 'iptables' ]; then + if nft add table inet shellcrash 2>/dev/null; then + firewall_mod=nftables + redir_mod=Redir + setconfig redir_mod $redir_mod + else + msg_alert "\033[31m$FW_NO_NFTABLES\033[0m" + fi + elif [ "$firewall_mod" = 'nftables' ]; then + if ckcmd iptables; then + firewall_mod=iptables + redir_mod=Redir + setconfig redir_mod $redir_mod + else + msg_alert "\033[31m$FW_NO_IPTABLES\033[0m" + fi + else + iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables + nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables + if [ -n "$firewall_mod" ]; then + redir_mod=Redir + setconfig redir_mod $redir_mod + setconfig firewall_mod "$firewall_mod" + else + msg_alert "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" + fi + fi + setconfig firewall_mod "$firewall_mod" + ;; + *) + errornum + ;; + esac + done } inputport() { - line_break - read -r -p "$INPUT_PORT(1~65535)> " portx - . "$CRASHDIR"/menus/check_port.sh # 加载测试函数 - if check_port "$portx"; then - setconfig "$xport" "$portx" - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" - return 0 - else - msg_alert "\033[31m$COMMON_FAILED\033[0m" - return 1 - fi + local protocol="${1:-all}" + line_break + read -r -p "$INPUT_PORT(1~65535)> " portx + . "$CRASHDIR"/menus/check_port.sh + if check_port "$portx" "$protocol"; then + setconfig "$xport" "$portx" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + return 0 + else + msg_alert "\033[31m$COMMON_FAILED\033[0m" + return 1 + fi } # 端口设置 set_adv_config() { - while true; do - . "$CFG_PATH" >/dev/null - [ -z "$secret" ] && secret="$COMMON_UNSET" - [ -z "$table" ] && table=100 - [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" - comp_box "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" \ - "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" \ - "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" \ - "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" \ - "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" \ - "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" \ - "8) $ADV_HOST:\t\033[36m$host\033[0m" \ - "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - xport=mix_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 2) - comp_box "$ADV_AUTH_FORMAT_DESC" \ - "$ADV_AUTH_WARN" \ - "$ADV_AUTH_REMOVE_HINT" - read -r -p "$ADV_AUTH_INPUT> " input - if [ "$input" = "0" ]; then - authentication="" - setconfig authentication - msg_alert "\033[32m$ADV_AUTH_REMOVED\033[0m" - else - if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then - msg_alert "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" - else - authentication=$(echo "$input" | grep :) - if [ -n "$authentication" ]; then - setconfig authentication "'$authentication'" - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" - else - msg_alert "\033[31m$ADV_AUTH_INVALID\033[0m" - fi - fi - fi - ;; - 3) - xport=redir_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 4) - xport=dns_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 5) - xport=db_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 6) - line_break - read -r -p "$ADV_PANEL_PASS_INPUT> " secret - if [ -n "$secret" ]; then - [ "$secret" = "0" ] && secret="" - if setconfig secret "$secret"; then - common_success - else - common_failed - fi - fi - ;; - 8) - comp_box "\033[33m$ADV_HOST_WARN_LAN\033[0m" \ - "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" - read -r -p "$ADV_HOST_INPUT> " host - if [ "$host" = "0" ]; then - host="" - setconfig host "$host" - msg_alert "\033[32m$ADV_HOST_REMOVED\033[0m" - line_break - exit 0 - elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>'; then - if setconfig host "$host"; then - common_success - else - common_failed - fi - else - host="" - msg_alert "\033[31m$ADV_HOST_INVALID\033[0m" - fi - ;; - 9) - comp_box "\033[33m$ADV_TABLE_WARN\033[0m" - read -r -p "$ADV_TABLE_INPUT> " table - if [ -n "$table" ]; then - [ "$table" = "0" ] && table="100" - if setconfig table "$table"; then - common_success - else - common_failed - fi - fi - ;; - *) - errornum - ;; - esac - done + while true; do + . "$CFG_PATH" >/dev/null + [ -z "$secret" ] && secret="$COMMON_UNSET" + [ -z "$table" ] && table=100 + [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" + comp_box "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" \ + "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" \ + "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" \ + "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" \ + "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" \ + "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" \ + "8) $ADV_HOST:\t\033[36m$host\033[0m" \ + "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + xport=mix_port + inputport tcp + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 2) + comp_box "$ADV_AUTH_FORMAT_DESC" \ + "$ADV_AUTH_WARN" \ + "$ADV_AUTH_REMOVE_HINT" + read -r -p "$ADV_AUTH_INPUT> " input + if [ "$input" = "0" ]; then + authentication="" + setconfig authentication + msg_alert "\033[32m$ADV_AUTH_REMOVED\033[0m" + else + if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then + msg_alert "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" + else + authentication=$(echo "$input" | grep :) + if [ -n "$authentication" ]; then + setconfig authentication "'$authentication'" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$ADV_AUTH_INVALID\033[0m" + fi + fi + fi + ;; + 3) + xport=redir_port + inputport tcp + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 4) + xport=dns_port + inputport all + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 5) + xport=db_port + inputport tcp + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 6) + line_break + read -r -p "$ADV_PANEL_PASS_INPUT> " secret + if [ -n "$secret" ]; then + [ "$secret" = "0" ] && secret="" + if setconfig secret "$secret"; then + common_success + else + common_failed + fi + fi + ;; + 8) + comp_box "\033[33m$ADV_HOST_WARN_LAN\033[0m" \ + "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" + read -r -p "$ADV_HOST_INPUT> " host + if [ "$host" = "0" ]; then + host="" + setconfig host "$host" + msg_alert "\033[32m$ADV_HOST_REMOVED\033[0m" + line_break + exit 0 + elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>'; then + if setconfig host "$host"; then + common_success + else + common_failed + fi + else + host="" + msg_alert "\033[31m$ADV_HOST_INVALID\033[0m" + fi + ;; + 9) + comp_box "\033[33m$ADV_TABLE_WARN\033[0m" + read -r -p "$ADV_TABLE_INPUT> " table + if [ -n "$table" ]; then + [ "$table" = "0" ] && table="100" + if setconfig table "$table"; then + common_success + else + common_failed + fi + fi + ;; + *) + errornum + ;; + esac + done } set_firewall_area() { - while true; do - [ -z "$vm_redir" ] && vm_redir='OFF' - comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ - "\033[33m$FW_AREA_NOTE_2\033[0m" \ - "" \ - "$SET_FW_AREA_CURRENT$firewall_area_dsc" - btm_box "1) \033[32m$FW_AREA_LAN\033[0m" \ - "2) \033[36m$FW_AREA_LOCAL\033[0m" \ - "3) \033[32m$FW_AREA_BOTH\033[0m" \ - "4) $FW_AREA_NONE" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - [1-4]) - if [ "$firewall_area" -ge 4 ]; then - redir_mod='' - else - redir_mod=Redir - fi - firewall_area="$num" - setconfig firewall_area "$firewall_area" - setconfig redir_mod "$redir_mod" + while true; do + [ -z "$vm_redir" ] && vm_redir='OFF' + comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ + "\033[33m$FW_AREA_NOTE_2\033[0m" \ + "" \ + "$SET_FW_AREA_CURRENT$firewall_area_dsc" + btm_box "1) \033[32m$FW_AREA_LAN\033[0m" \ + "2) \033[36m$FW_AREA_LOCAL\033[0m" \ + "3) \033[32m$FW_AREA_BOTH\033[0m" \ + "4) $FW_AREA_NONE" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + [1-4]) + if [ "$firewall_area" -ge 4 ]; then + redir_mod='' + else + redir_mod=Redir + fi + firewall_area="$num" + setconfig firewall_area "$firewall_area" + setconfig redir_mod "$redir_mod" - case "$firewall_area" in - 1) firewall_area_dsc="$FW_AREA_LAN" ;; - 2) firewall_area_dsc="$FW_AREA_LOCAL" ;; - 3) firewall_area_dsc="$FW_AREA_BOTH" ;; - 4) firewall_area_dsc="$FW_AREA_NONE" ;; - esac + case "$firewall_area" in + 1) firewall_area_dsc="$FW_AREA_LAN" ;; + 2) firewall_area_dsc="$FW_AREA_LOCAL" ;; + 3) firewall_area_dsc="$FW_AREA_BOTH" ;; + 4) firewall_area_dsc="$FW_AREA_NONE" ;; + esac - common_success - ;; - 5) - comp_box "\033[31m$SET_WARN\033[0m" \ - "$SET_BYPASS_WARN_1" \ - "$SET_BYPASS_WARN_2" \ - "$SET_BYPASS_WARN_3" \ - "\033[33m$SET_DESC\033[0m" \ - "$SET_BYPASS_DESC_1" \ - "$SET_BYPASS_DESC_2" - read -r -p "$SET_INPUT_BYPASS_IPV4> " bypass_host - [ -n "$bypass_host" ] && { - firewall_area=$num - setconfig firewall_area "$firewall_area" - setconfig bypass_host "$bypass_host" - redir_mod=$SET_BYPASS_TCP - setconfig redir_mod $redir_mod - } - ;; - *) - errornum - ;; - esac - done + common_success + ;; + 5) + comp_box "\033[31m$SET_WARN\033[0m" \ + "$SET_BYPASS_WARN_1" \ + "$SET_BYPASS_WARN_2" \ + "$SET_BYPASS_WARN_3" \ + "\033[33m$SET_DESC\033[0m" \ + "$SET_BYPASS_DESC_1" \ + "$SET_BYPASS_DESC_2" + read -r -p "$SET_INPUT_BYPASS_IPV4> " bypass_host + [ -n "$bypass_host" ] && { + firewall_area=$num + setconfig firewall_area "$firewall_area" + setconfig bypass_host "$bypass_host" + redir_mod=$SET_BYPASS_TCP + setconfig redir_mod $redir_mod + } + ;; + *) + errornum + ;; + esac + done } set_firewall_vm() { - [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') - comp_box "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" - btm_box "1) \033[32m$VM_ENABLE_AUTO\033[0m" \ - "2) \033[36m$VM_ENABLE_MANUAL\033[0m" \ - "3) \033[31m$VM_DISABLE\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 1) - if [ -n "$vm_ipv4" ]; then - vm_redir=ON - common_success - else - msg_alert "\033[33m$VM_NO_NET_DETECTED\033[0m" - fi + [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') + comp_box "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" + btm_box "1) \033[32m$VM_ENABLE_AUTO\033[0m" \ + "2) \033[36m$VM_ENABLE_MANUAL\033[0m" \ + "3) \033[31m$VM_DISABLE\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 1) + if [ -n "$vm_ipv4" ]; then + vm_redir=ON + common_success + else + msg_alert "\033[33m$VM_NO_NET_DETECTED\033[0m" + fi - ;; - 2) - comp_box "$VM_INPUT_DESC_1" \ - "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" \ - "" \ - "$SET_TIPS_ENTER_BACK" - read -r -p "$VM_INPUT_NET> " text - [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON - ;; - 3) - vm_redir=OFF - vm_ipv4='' - common_success - ;; - *) ;; - esac - case "$num" in - 1-3) - setconfig vm_redir "$vm_redir" - setconfig vm_ipv4 "'$vm_ipv4'" - ;; - esac + ;; + 2) + comp_box "$VM_INPUT_DESC_1" \ + "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" \ + "" \ + "$SET_TIPS_ENTER_BACK" + read -r -p "$VM_INPUT_NET> " text + [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON + ;; + 3) + vm_redir=OFF + vm_ipv4='' + common_success + ;; + *) ;; + esac + case "$num" in + 1-3) + setconfig vm_redir "$vm_redir" + setconfig vm_ipv4 "'$vm_ipv4'" + ;; + esac } # ipv6设置 set_ipv6() { - while true; do - [ -z "$ipv6_redir" ] && ipv6_redir=OFF - [ -z "$ipv6_dns" ] && ipv6_dns=ON + while true; do + [ -z "$ipv6_redir" ] && ipv6_redir=OFF + [ -z "$ipv6_dns" ] && ipv6_dns=ON - top_box "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" - [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$ipv6_redir" = "OFF" ]; then - ipv6_support=ON - ipv6_redir=ON - else - ipv6_redir=OFF - fi - setconfig ipv6_redir $ipv6_redir - setconfig ipv6_support "$ipv6_support" - common_success - ;; - 2) - [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF - if setconfig ipv6_dns "$ipv6_dns"; then - common_success - else - common_failed - fi - ;; - *) - errornum - ;; - esac - done + top_box "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" + [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$ipv6_redir" = "OFF" ]; then + ipv6_support=ON + ipv6_redir=ON + else + ipv6_redir=OFF + fi + setconfig ipv6_redir $ipv6_redir + setconfig ipv6_support "$ipv6_support" + common_success + ;; + 2) + [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF + if setconfig ipv6_dns "$ipv6_dns"; then + common_success + else + common_failed + fi + ;; + *) + errornum + ;; + esac + done } diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index 0e1dbc13..e41a79f8 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -3,17 +3,60 @@ load_lang check_port +_get_netstat_cmd() { + case "$1" in + tcp) echo "netstat -ntl" ;; + udp) echo "netstat -nul" ;; + *) echo "netstat -ntul" ;; + esac +} + check_port() { - if [ "$1" -gt 65535 ] || [ "$1" -le 1 ]; then - msg_alert "\033[31m$CHECK_PORT_RANGE_ERR\033[0m" - return 1 - elif echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$1|"; then - msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" - return 1 - elif netstat -ntul | grep -q ":$1[[:space:]]"; then - msg_alert "\033[31m$CHECK_PORT_OCCUPIED_ERR\033[0m" - return 1 - else - return 0 - fi + local port="$1" + local protocol="${2:-all}" + + if [ "$port" -gt 65535 ] || [ "$port" -le 1 ]; then + msg_alert "\033[31m$CHECK_PORT_RANGE_ERR\033[0m" + return 1 + fi + + local current_port_name="" + case "$port" in + "$mix_port") current_port_name="mix_port" ;; + "$redir_port") current_port_name="redir_port" ;; + "$dns_port") current_port_name="dns_port" ;; + "$db_port") current_port_name="db_port" ;; + esac + + if [ -z "$current_port_name" ] && echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$port|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + return 1 + fi + + local check_cmd + check_cmd=$(_get_netstat_cmd "$protocol") + + if $check_cmd 2>/dev/null | grep -q ":${port}[[:space:]]"; then + msg_alert "\033[31m$CHECK_PORT_OCCUPIED_ERR\033[0m" + return 1 + fi + + return 0 +} + +check_port_with_info() { + local port="$1" + local protocol="${2:-all}" + local check_cmd + check_cmd=$(_get_netstat_cmd "$protocol") + + local conflict_line + conflict_line=$($check_cmd 2>/dev/null | grep ":${port}[[:space:]]" | head -n 1) + + if [ -n "$conflict_line" ]; then + echo "$conflict_line" + return 1 + fi + + return 0 } From c61c637e0d8d95e5534802cf4656d9dbe6f95c2d Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sun, 22 Mar 2026 23:52:43 +0800 Subject: [PATCH 242/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E6=A3=80=E6=9F=A5=E9=80=BB=E8=BE=91=EF=BC=8C?= =?UTF-8?q?=E4=BF=9D=E6=8C=81=E5=87=BD=E6=95=B0=E8=81=8C=E8=B4=A3=E5=8D=95?= =?UTF-8?q?=E4=B8=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - check_port 函数只负责检查端口范围和占用,移除重复检查逻辑 - 端口重复检查移到 inputport 函数中,只排除当前编辑的端口变量 - 修复编辑端口时错误地跳过所有已配置端口重复检查的 bug --- scripts/menus/2_settings.sh | 22 +++++++++++++++++----- scripts/menus/check_port.sh | 13 ------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index d78bbed0..c7cdb362 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -393,14 +393,26 @@ inputport() { line_break read -r -p "$INPUT_PORT(1~65535)> " portx . "$CRASHDIR"/menus/check_port.sh - if check_port "$portx" "$protocol"; then - setconfig "$xport" "$portx" - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" - return 0 - else + + if ! check_port "$portx" "$protocol"; then msg_alert "\033[31m$COMMON_FAILED\033[0m" return 1 fi + + local ports_to_check="" + [ "$xport" != "mix_port" ] && ports_to_check="$ports_to_check|$mix_port" + [ "$xport" != "redir_port" ] && ports_to_check="$ports_to_check|$redir_port" + [ "$xport" != "dns_port" ] && ports_to_check="$ports_to_check|$dns_port" + [ "$xport" != "db_port" ] && ports_to_check="$ports_to_check|$db_port" + + if echo "$ports_to_check|" | grep -q "|$portx|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + return 1 + fi + + setconfig "$xport" "$portx" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + return 0 } # 端口设置 diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index e41a79f8..a7135550 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -20,19 +20,6 @@ check_port() { return 1 fi - local current_port_name="" - case "$port" in - "$mix_port") current_port_name="mix_port" ;; - "$redir_port") current_port_name="redir_port" ;; - "$dns_port") current_port_name="dns_port" ;; - "$db_port") current_port_name="db_port" ;; - esac - - if [ -z "$current_port_name" ] && echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$port|"; then - msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" - return 1 - fi - local check_cmd check_cmd=$(_get_netstat_cmd "$protocol") From b734fc6e1dadf66ec6b42b1f4153df095254bac3 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Mon, 23 Mar 2026 00:00:00 +0800 Subject: [PATCH 243/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20tproxy=20=E7=AB=AF?= =?UTF-8?q?=E5=8F=A3=E5=86=B2=E7=AA=81=E6=A3=80=E6=9F=A5=E9=81=97=E6=BC=8F?= =?UTF-8?q?=20UDP=20=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tproxy_port (redir_port + 1) 在 TProxy 模式下同时用于 TCP 和 UDP, 端口冲突检查应使用 all 而非 tcp --- scripts/menu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index 04d03d18..13fb6a95 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -62,7 +62,7 @@ checkport() { fi if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$((redir_port + 1))" tcp) + conflict_info=$(check_port_with_info "$((redir_port + 1))" all) [ $? -ne 0 ] && conflict_found=1 && conflict_port="$((redir_port + 1))" fi From 96f04a22252d53a8c2c9dcb8423e33840a6c7321 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Mon, 23 Mar 2026 00:26:12 +0800 Subject: [PATCH 244/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20gateway=20?= =?UTF-8?q?=E7=AB=AF=E5=8F=A3=E8=AE=BE=E7=BD=AE=E7=BC=BA=E5=B0=91=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=AB=AF=E5=8F=A3=E9=87=8D=E5=A4=8D=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 7_gateway.sh 中设置 vms_port 和 sss_port 时,只检查了端口范围 和系统占用,未检查与 mix_port/redir_port/dns_port/db_port 的冲突。 当 CrashCore 停止时可能导致保存冲突端口配置,启动时绑定失败。 --- scripts/menus/7_gateway.sh | 1229 ++++++++++++++++++------------------ 1 file changed, 619 insertions(+), 610 deletions(-) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index 677dd6c4..dd567ef4 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -11,176 +11,176 @@ load_lang 7_gateway # 访问与控制主菜单 gateway() { - while true; do - comp_box "\033[30;47m$GW_TITLE\033[0m" - content_line "1) $GW_MENU_FW_WAN \033[32m$fw_wan\033[0m" - content_line "2) $GW_MENU_TG_BOT \033[32m$bot_tg_service\033[0m" - content_line "3) $GW_MENU_DDNS" - [ "$disoverride" != "1" ] && { - content_line "4) $GW_MENU_VMESS \033[32m$vms_service\033[0m" - content_line "5) $GW_MENU_SHADOWSOCKS \033[32m$sss_service\033[0m" - content_line "6) $GW_MENU_TS \033[32m$ts_service\033[0m" - content_line "7) $GW_MENU_WG \033[32m$wg_service\033[0m" - } - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - comp_box "\033[33m$GW_FW_STOP_WARN\033[0m" \ - "$GW_CONFIRM_CONTINUE" - btm_box "1) $GW_YES" \ - "0) $GW_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - "$CRASHDIR"/start.sh stop && set_fw_wan - else - continue - fi - else - set_fw_wan - fi - ;; - 2) - set_bot_tg - ;; - 3) - . "$CRASHDIR"/menus/ddns.sh && ddns_menu - ;; - 4) - set_vmess - ;; - 5) - set_shadowsocks - ;; - 6) - if echo "$crashcore" | grep -q 'sing'; then - set_tailscale - else - msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" - fi - ;; - 7) - if echo "$crashcore" | grep -q 'sing'; then - set_wireguard - else - msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" - fi - ;; - *) - errornum - ;; - esac - done + while true; do + comp_box "\033[30;47m$GW_TITLE\033[0m" + content_line "1) $GW_MENU_FW_WAN \033[32m$fw_wan\033[0m" + content_line "2) $GW_MENU_TG_BOT \033[32m$bot_tg_service\033[0m" + content_line "3) $GW_MENU_DDNS" + [ "$disoverride" != "1" ] && { + content_line "4) $GW_MENU_VMESS \033[32m$vms_service\033[0m" + content_line "5) $GW_MENU_SHADOWSOCKS \033[32m$sss_service\033[0m" + content_line "6) $GW_MENU_TS \033[32m$ts_service\033[0m" + content_line "7) $GW_MENU_WG \033[32m$wg_service\033[0m" + } + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then + comp_box "\033[33m$GW_FW_STOP_WARN\033[0m" \ + "$GW_CONFIRM_CONTINUE" + btm_box "1) $GW_YES" \ + "0) $GW_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + "$CRASHDIR"/start.sh stop && set_fw_wan + else + continue + fi + else + set_fw_wan + fi + ;; + 2) + set_bot_tg + ;; + 3) + . "$CRASHDIR"/menus/ddns.sh && ddns_menu + ;; + 4) + set_vmess + ;; + 5) + set_shadowsocks + ;; + 6) + if echo "$crashcore" | grep -q 'sing'; then + set_tailscale + else + msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" + fi + ;; + 7) + if echo "$crashcore" | grep -q 'sing'; then + set_wireguard + else + msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" + fi + ;; + *) + errornum + ;; + esac + done } # 公网防火墙 set_fw_wan() { - while true; do - [ -z "$fw_wan" ] && fw_wan=ON - line_break - separator_line "=" - content_line "\033[31m$GW_WARN\033[0m$GW_FW_VPS_HINT" - [ -n "$fw_wan_ports" ] && - content_line "$GW_FW_MANUAL_PORTS\033[36m$fw_wan_ports\033[0m" - [ -n "$vms_port$sss_port" ] && - content_line "$GW_FW_AUTO_PORTS\033[36m$vms_port $sss_port\033[0m" - content_line "$GW_FW_DEFAULT_BLOCK\033[33m$mix_port,$db_port\033[0m" - separator_line "=" - btm_box "1) $GW_FW_TOGGLE\033[36m$fw_wan\033[0m" \ - "2) $GW_FW_ADD_PORT" \ - "3) $GW_FW_REMOVE_PORT" \ - "4) $GW_FW_CLEAR_PORTS" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case $num in - "" | 0) - break - ;; - 1) - if [ "$fw_wan" = ON ]; then - comp_box "$GW_FW_DISABLE_CONFIRM" \ - "$GW_FW_DISABLE_RISK" - btm_box "1) $GW_YES" \ - "0) $GW_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - fw_wan=OFF - else - fw_wan=ON - fi - else - fw_wan=ON - fi - setconfig fw_wan "$fw_wan" - ;; - 2) - port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') - if [ "$port_count" -ge 10 ]; then - msg_alert "\033[31m$GW_FW_PORT_LIMIT\033[0m" - else - line_break - read -r -p "$GW_INPUT_ALLOW_PORT> " port - if echo ",$fw_wan_ports," | grep -q ",$port,"; then - msg_alert "\033[31m$GW_ERR_DUP_PORT\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m$GW_ERR_PORT_RANGE\033[0m" - else - fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") - if setconfig fw_wan_ports "$fw_wan_ports"; then - common_success - else - common_faileds - fi - fi - fi - ;; - 3) - while true; do - comp_box "\033[36m$GW_INPUT_REMOVE_PORT\033[0m" \ - "$GW_INPUT_0_BACK" - read -r -p "$GW_INPUT_PLAIN> " port - if [ "$port" = 0 ]; then - break - elif echo ",$fw_wan_ports," | grep -q ",$port,"; then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ - "\033[31m$GW_ERR_PORT_RANGE\033[0m" - else - fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") - setconfig fw_wan_ports "$fw_wan_ports" - break - fi - else - msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ - "\033[31m$GW_ERR_PORT_NOT_FOUND\033[0m" - fi - done - ;; - 4) - fw_wan_ports='' - setconfig fw_wan_ports - msg_alert "\033[32m$GW_OK\033[0m" - ;; - *) - errornum - ;; - esac - done + while true; do + [ -z "$fw_wan" ] && fw_wan=ON + line_break + separator_line "=" + content_line "\033[31m$GW_WARN\033[0m$GW_FW_VPS_HINT" + [ -n "$fw_wan_ports" ] && + content_line "$GW_FW_MANUAL_PORTS\033[36m$fw_wan_ports\033[0m" + [ -n "$vms_port$sss_port" ] && + content_line "$GW_FW_AUTO_PORTS\033[36m$vms_port $sss_port\033[0m" + content_line "$GW_FW_DEFAULT_BLOCK\033[33m$mix_port,$db_port\033[0m" + separator_line "=" + btm_box "1) $GW_FW_TOGGLE\033[36m$fw_wan\033[0m" \ + "2) $GW_FW_ADD_PORT" \ + "3) $GW_FW_REMOVE_PORT" \ + "4) $GW_FW_CLEAR_PORTS" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case $num in + "" | 0) + break + ;; + 1) + if [ "$fw_wan" = ON ]; then + comp_box "$GW_FW_DISABLE_CONFIRM" \ + "$GW_FW_DISABLE_RISK" + btm_box "1) $GW_YES" \ + "0) $GW_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + fw_wan=OFF + else + fw_wan=ON + fi + else + fw_wan=ON + fi + setconfig fw_wan "$fw_wan" + ;; + 2) + port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') + if [ "$port_count" -ge 10 ]; then + msg_alert "\033[31m$GW_FW_PORT_LIMIT\033[0m" + else + line_break + read -r -p "$GW_INPUT_ALLOW_PORT> " port + if echo ",$fw_wan_ports," | grep -q ",$port,"; then + msg_alert "\033[31m$GW_ERR_DUP_PORT\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + msg_alert "\033[31m$GW_ERR_PORT_RANGE\033[0m" + else + fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") + if setconfig fw_wan_ports "$fw_wan_ports"; then + common_success + else + common_faileds + fi + fi + fi + ;; + 3) + while true; do + comp_box "\033[36m$GW_INPUT_REMOVE_PORT\033[0m" \ + "$GW_INPUT_0_BACK" + read -r -p "$GW_INPUT_PLAIN> " port + if [ "$port" = 0 ]; then + break + elif echo ",$fw_wan_ports," | grep -q ",$port,"; then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ + "\033[31m$GW_ERR_PORT_RANGE\033[0m" + else + fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") + setconfig fw_wan_ports "$fw_wan_ports" + break + fi + else + msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ + "\033[31m$GW_ERR_PORT_NOT_FOUND\033[0m" + fi + done + ;; + 4) + fw_wan_ports='' + setconfig fw_wan_ports + msg_alert "\033[32m$GW_OK\033[0m" + ;; + *) + errornum + ;; + esac + done } # tg_BOT相关 set_bot_tg_config() { - setconfig TG_TOKEN "$TOKEN" "$GT_CFG_PATH" - setconfig TG_CHATID "$chat_ID" "$GT_CFG_PATH" - # 设置机器人快捷命令 - JSON=$( - cat < " num - case "$num" in - "" | 0) - break - ;; - 1) - . "$GT_CFG_PATH" - if [ -n "$TG_CHATID" ]; then - set_bot_tg_service - else - msg_alert "\033[31m$GW_TG_BIND_FIRST\033[0m" - fi - ;; - 2) - if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - comp_box "$GW_TG_BOUND_DETECTED" \ - "$GW_TG_USE_DIRECT" - btm_box "1) $GW_YES" \ - "0) $GW_NO" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - TOKEN="$push_TG" - set_bot_tg_config - continue - fi - fi - set_bot_tg_init - ;; - 3) - if [ "$TG_menupush" = ON ];then - TG_menupush=OFF - else - TG_menupush=ON - fi - setconfig TG_menupush "$TG_menupush" "$GT_CFG_PATH" - set_bot_tg - ;; - *) - errornum - ;; - esac - done + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + . "$GT_CFG_PATH" + if [ -n "$TG_CHATID" ]; then + set_bot_tg_service + else + msg_alert "\033[31m$GW_TG_BIND_FIRST\033[0m" + fi + ;; + 2) + if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then + comp_box "$GW_TG_BOUND_DETECTED" \ + "$GW_TG_USE_DIRECT" + btm_box "1) $GW_YES" \ + "0) $GW_NO" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + TOKEN="$push_TG" + set_bot_tg_config + continue + fi + fi + set_bot_tg_init + ;; + 3) + if [ "$TG_menupush" = ON ]; then + TG_menupush=OFF + else + TG_menupush=ON + fi + setconfig TG_menupush "$TG_menupush" "$GT_CFG_PATH" + set_bot_tg + ;; + *) + errornum + ;; + esac + done } # 自定义入站 set_vmess() { - while true; do - comp_box "\033[31m$GW_WARN\033[0m" \ - "$GW_INBOUND_WARN_PORT" \ - "$GW_INBOUND_WARN_BASIC" \ - "\033[31m$GW_INBOUND_WARN_ILLEGAL\033[0m" - content_line "1) \033[32m$GW_VMS_TOGGLE\033[0m \033[32m$vms_service\033[0m" - content_line "2) $GW_SET_LISTEN_PORT \033[36m$vms_port\033[0m" - content_line "3) $GW_SET_WSPATH \033[33m$vms_ws_path\033[0m" - content_line "4) $GW_SET_UUID \033[36m$vms_uuid\033[0m" - content_line "5) $GW_GEN_RANDOM_KEY" - gen_base64 1 >/dev/null 2>&1 && - content_line "6) $GW_SET_OBFS_HOST \033[33m$vms_host\033[0m" - btm_box "7) $GW_GEN_SHARE_LINK" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$vms_service" = ON ]; then - vms_service=OFF - setconfig vms_service "$vms_service" - else - if [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then - vms_service=ON - setconfig vms_service "$vms_service" - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - fi - ;; - 2) - line_break - read -r -p "$GW_INPUT_PORT_DEL0> " text - if [ "$text" = 0 ]; then - vms_port='' - setconfig vms_port "" "$GT_CFG_PATH" - elif check_port "$text"; then - vms_port="$text" - setconfig vms_port "$text" "$GT_CFG_PATH" - else - sleep 1 - fi - ;; - 3) - line_break - read -r -p "$GW_INPUT_WSPATH> " text - if [ "$text" = 0 ]; then - vms_ws_path='' - setconfig vms_ws_path "" "$GT_CFG_PATH" - elif echo "$text" | grep -qE '^/'; then - vms_ws_path="$text" - setconfig vms_ws_path "$text" "$GT_CFG_PATH" - else - msg_alert "\033[31m$GW_ERR_WSPATH\033[0m" - fi - ;; - 4) - line_break - read -r -p "$GW_INPUT_UUID> " text - if [ "$text" = 0 ]; then - vms_uuid='' - setconfig vms_uuid "" "$GT_CFG_PATH" - elif echo "$text" | grep -qiE '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'; then - vms_uuid="$text" - setconfig vms_uuid "$text" "$GT_CFG_PATH" - else - msg_alert "\033[31m$GW_ERR_UUID\033[0m" - fi - ;; - 5) - vms_uuid=$(cat /proc/sys/kernel/random/uuid) - setconfig vms_uuid "$vms_uuid" "$GT_CFG_PATH" - sleep 1 - ;; - 6) - line_break - read -r -p "$GW_INPUT_OBFS_HOST> " text - if [ "$text" = 0 ]; then - vms_host='' - setconfig vms_host "" "$GT_CFG_PATH" - else - vms_host="$text" - setconfig vms_host "$text" "$GT_CFG_PATH" - fi - ;; - 7) - line_break - read -r -p "$GW_INPUT_HOST> " host_wan - if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then - [ -n "$vms_ws_path" ] && vms_net=ws - vms_json=$( - cat </dev/null 2>&1 && + content_line "6) $GW_SET_OBFS_HOST \033[33m$vms_host\033[0m" + btm_box "7) $GW_GEN_SHARE_LINK" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$vms_service" = ON ]; then + vms_service=OFF + setconfig vms_service "$vms_service" + else + if [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then + vms_service=ON + setconfig vms_service "$vms_service" + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + fi + ;; + 2) + line_break + read -r -p "$GW_INPUT_PORT_DEL0> " text + if [ "$text" = 0 ]; then + vms_port='' + setconfig vms_port "" "$GT_CFG_PATH" + elif check_port "$text"; then + if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + sleep 1 + else + vms_port="$text" + setconfig vms_port "$text" "$GT_CFG_PATH" + fi + else + sleep 1 + fi + ;; + 3) + line_break + read -r -p "$GW_INPUT_WSPATH> " text + if [ "$text" = 0 ]; then + vms_ws_path='' + setconfig vms_ws_path "" "$GT_CFG_PATH" + elif echo "$text" | grep -qE '^/'; then + vms_ws_path="$text" + setconfig vms_ws_path "$text" "$GT_CFG_PATH" + else + msg_alert "\033[31m$GW_ERR_WSPATH\033[0m" + fi + ;; + 4) + line_break + read -r -p "$GW_INPUT_UUID> " text + if [ "$text" = 0 ]; then + vms_uuid='' + setconfig vms_uuid "" "$GT_CFG_PATH" + elif echo "$text" | grep -qiE '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'; then + vms_uuid="$text" + setconfig vms_uuid "$text" "$GT_CFG_PATH" + else + msg_alert "\033[31m$GW_ERR_UUID\033[0m" + fi + ;; + 5) + vms_uuid=$(cat /proc/sys/kernel/random/uuid) + setconfig vms_uuid "$vms_uuid" "$GT_CFG_PATH" + sleep 1 + ;; + 6) + line_break + read -r -p "$GW_INPUT_OBFS_HOST> " text + if [ "$text" = 0 ]; then + vms_host='' + setconfig vms_host "" "$GT_CFG_PATH" + else + vms_host="$text" + setconfig vms_host "$text" "$GT_CFG_PATH" + fi + ;; + 7) + line_break + read -r -p "$GW_INPUT_HOST> " host_wan + if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then + [ -n "$vms_ws_path" ] && vms_net=ws + vms_json=$( + cat </dev/null 2>&1 && - content_line "5) $GW_GEN_SHARE_LINK" - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$sss_service" = ON ]; then - sss_service=OFF - setconfig sss_service "$sss_service" - else - if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then - sss_service=ON - setconfig sss_service "$sss_service" - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - fi - ;; - 2) - line_break - read -r -p "$GW_INPUT_PORT_DEL0> " text - if [ "$text" = 0 ]; then - sss_port='' - setconfig sss_port "" "$GT_CFG_PATH" - elif check_port "$text"; then - sss_port="$text" - setconfig sss_port "$text" "$GT_CFG_PATH" - else - sleep 1 - fi - ;; - 3) - comp_box "$GW_SS_SELECT_CIPHER" - content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" - content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" - content_line "3) \033[32maes-128-gcm\033[0m" - content_line "4) \033[32maes-256-gcm\033[0m" - gen_random 1 >/dev/null && { - content_line "" - content_line "$GW_SS_2022_NOTE_HEADER" - content_line "$GW_SS_2022_REQUIRE" - content_line "5) \033[32m2022-blake3-chacha20-poly1305\033[0m" - content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" - content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" - } - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 0) ;; - 1) - sss_cipher=xchacha20-ietf-poly1305 - sss_pwd=$(gen_random 16) - ;; - 2) - sss_cipher=chacha20-ietf-poly1305 - sss_pwd=$(gen_random 16) - ;; - 3) - sss_cipher=aes-128-gcm - sss_pwd=$(gen_random 16) - ;; - 4) - sss_cipher=aes-256-gcm - sss_pwd=$(gen_random 16) - ;; - 5) - sss_cipher=2022-blake3-chacha20-poly1305 - sss_pwd=$(gen_random 32) - ;; - 6) - sss_cipher=2022-blake3-aes-128-gcm - sss_pwd=$(gen_random 16) - ;; - 7) - sss_cipher=2022-blake3-aes-256-gcm - sss_pwd=$(gen_random 32) - ;; - *) - errornum - ;; - esac - setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" - setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" - ;; - 4) - if echo "$sss_cipher" | grep -q '2022-blake3'; then - msg_alert "\033[31m$GW_WARN\033[0m$GW_SS_2022_PASSWORD_ONLY" - else - line_break - read -r -p "$GW_INPUT_PWD_DEL0> " text - [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" - setconfig sss_pwd "$text" "$GT_CFG_PATH" - fi - ;; - 5) - line_break - read -r -p "$GW_INPUT_HOST> " text - if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then - ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" - line_break - echo -e "$GW_SHARE_LINK_HINT\n\033[32m$ss_link\033[0m" - sleep 1 - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - ;; - *) - errornum - ;; - esac - done + while true; do + comp_box "\033[31m$GW_WARN\033[0m" \ + "$GW_INBOUND_WARN_PORT" \ + "$GW_INBOUND_WARN_BASIC" \ + "\033[31m$GW_INBOUND_WARN_ILLEGAL\033[0m" + content_line "1) \033[32m$GW_SS_TOGGLE\033[0m \033[32m$sss_service\033[0m" + content_line "2) $GW_SET_LISTEN_PORT \033[36m$sss_port\033[0m" + content_line "3) $GW_SS_SELECT_CIPHER \033[33m$sss_cipher\033[0m" + content_line "4) $GW_SS_SET_PWD \033[36m$sss_pwd\033[0m" + gen_base64 1 >/dev/null 2>&1 && + content_line "5) $GW_GEN_SHARE_LINK" + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$sss_service" = ON ]; then + sss_service=OFF + setconfig sss_service "$sss_service" + else + if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then + sss_service=ON + setconfig sss_service "$sss_service" + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + fi + ;; + 2) + line_break + read -r -p "$GW_INPUT_PORT_DEL0> " text + if [ "$text" = 0 ]; then + sss_port='' + setconfig sss_port "" "$GT_CFG_PATH" + elif check_port "$text"; then + if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + sleep 1 + else + sss_port="$text" + setconfig sss_port "$text" "$GT_CFG_PATH" + fi + else + sleep 1 + fi + ;; + 3) + comp_box "$GW_SS_SELECT_CIPHER" + content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" + content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" + content_line "3) \033[32maes-128-gcm\033[0m" + content_line "4) \033[32maes-256-gcm\033[0m" + gen_random 1 >/dev/null && { + content_line "" + content_line "$GW_SS_2022_NOTE_HEADER" + content_line "$GW_SS_2022_REQUIRE" + content_line "5) \033[32m2022-blake3-chacha20-poly1305\033[0m" + content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" + content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" + } + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 0) ;; + 1) + sss_cipher=xchacha20-ietf-poly1305 + sss_pwd=$(gen_random 16) + ;; + 2) + sss_cipher=chacha20-ietf-poly1305 + sss_pwd=$(gen_random 16) + ;; + 3) + sss_cipher=aes-128-gcm + sss_pwd=$(gen_random 16) + ;; + 4) + sss_cipher=aes-256-gcm + sss_pwd=$(gen_random 16) + ;; + 5) + sss_cipher=2022-blake3-chacha20-poly1305 + sss_pwd=$(gen_random 32) + ;; + 6) + sss_cipher=2022-blake3-aes-128-gcm + sss_pwd=$(gen_random 16) + ;; + 7) + sss_cipher=2022-blake3-aes-256-gcm + sss_pwd=$(gen_random 32) + ;; + *) + errornum + ;; + esac + setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" + setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" + ;; + 4) + if echo "$sss_cipher" | grep -q '2022-blake3'; then + msg_alert "\033[31m$GW_WARN\033[0m$GW_SS_2022_PASSWORD_ONLY" + else + line_break + read -r -p "$GW_INPUT_PWD_DEL0> " text + [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" + setconfig sss_pwd "$text" "$GT_CFG_PATH" + fi + ;; + 5) + line_break + read -r -p "$GW_INPUT_HOST> " text + if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then + ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" + line_break + echo -e "$GW_SHARE_LINK_HINT\n\033[32m$ss_link\033[0m" + sleep 1 + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + ;; + *) + errornum + ;; + esac + done } # 自定义端点 set_tailscale() { - while true; do - [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' - comp_box "\033[31m$GW_WARN\033[0m$GW_TS_WARN" \ - "$GW_TS_KEY_URL" \ - "$GW_TS_ALLOW_URL" \ - "$GW_TS_SUBNET_EXIT_HINT" - btm_box "1) \033[32m$GW_TS_TOGGLE\033[0m \033[32m$ts_service\033[0m" \ - "2) $GW_TS_SET_AUTHKEY $ts_auth_key_info" \ - "3) $GW_TS_SUBNET \033[36m$ts_subnet\033[0m" \ - "4) $GW_TS_EXIT_NODE \033[36m$ts_exit_node\033[0m" \ - "5) $GW_TS_HOSTNAME $ts_hostname" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$ts_auth_key" ]; then - [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON - setconfig ts_service "$ts_service" - else - msg_alert "\033[31m$GW_TS_SET_KEY_FIRST\033[0m" - fi - ;; - 2) - line_break - read -r -p "$GW_TS_INPUT_KEY> " text - [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" - setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" - ;; - 3) - [ "$ts_subnet" = true ] && ts_subnet=false || ts_subnet=true - setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" - ;; - 4) - if [ "$ts_exit_node" = true ]; then - ts_exit_node=false - else - ts_exit_node=true - msg_alert -t 3 "\033[31m$GW_WARN\033[0m$GW_TS_EXITNODE_WARN" - fi - setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" - ;; - 5) - comp_box "\033[36m$GW_TS_INPUT_NAME\033[0m" \ - "$GW_INPUT_0_BACK" - read -r -p "$GW_INPUT_PLAIN> " ts_hostname - if [ "$ts_hostname" != 0 ]; then - setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" - fi - ;; - *) - errornum - ;; - esac - done + while true; do + [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' + comp_box "\033[31m$GW_WARN\033[0m$GW_TS_WARN" \ + "$GW_TS_KEY_URL" \ + "$GW_TS_ALLOW_URL" \ + "$GW_TS_SUBNET_EXIT_HINT" + btm_box "1) \033[32m$GW_TS_TOGGLE\033[0m \033[32m$ts_service\033[0m" \ + "2) $GW_TS_SET_AUTHKEY $ts_auth_key_info" \ + "3) $GW_TS_SUBNET \033[36m$ts_subnet\033[0m" \ + "4) $GW_TS_EXIT_NODE \033[36m$ts_exit_node\033[0m" \ + "5) $GW_TS_HOSTNAME $ts_hostname" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$ts_auth_key" ]; then + [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON + setconfig ts_service "$ts_service" + else + msg_alert "\033[31m$GW_TS_SET_KEY_FIRST\033[0m" + fi + ;; + 2) + line_break + read -r -p "$GW_TS_INPUT_KEY> " text + [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" + setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" + ;; + 3) + [ "$ts_subnet" = true ] && ts_subnet=false || ts_subnet=true + setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" + ;; + 4) + if [ "$ts_exit_node" = true ]; then + ts_exit_node=false + else + ts_exit_node=true + msg_alert -t 3 "\033[31m$GW_WARN\033[0m$GW_TS_EXITNODE_WARN" + fi + setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" + ;; + 5) + comp_box "\033[36m$GW_TS_INPUT_NAME\033[0m" \ + "$GW_INPUT_0_BACK" + read -r -p "$GW_INPUT_PLAIN> " ts_hostname + if [ "$ts_hostname" != 0 ]; then + setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" + fi + ;; + *) + errornum + ;; + esac + done } set_wireguard() { - while true; do + while true; do - if [ -n "$wg_public_key" ]; then - wgp_key_info='*********' - else - unset wgp_key_info - fi + if [ -n "$wg_public_key" ]; then + wgp_key_info='*********' + else + unset wgp_key_info + fi - if [ -n "$wg_private_key" ]; then - wgv_key_info='*********' - else - unset wgv_key_info - fi + if [ -n "$wg_private_key" ]; then + wgv_key_info='*********' + else + unset wgv_key_info + fi - if [ -n "$wg_pre_shared_key" ]; then - wgpsk_key_info='*********' - else - unset wgpsk_key_info - fi - comp_box "\033[31m$GW_WARN\033[0m$GW_WG_WARN" - btm_box "1) \033[32m$GW_WG_TOGGLE\033[0m \033[32m$wg_service\033[0m" \ - "" \ - "2) $GW_WG_SET_ENDPOINT \033[36m$wg_server\033[0m" \ - "3) $GW_WG_SET_ENDPOINT_PORT \033[36m$wg_port\033[0m" \ - "4) $GW_WG_SET_PUBLIC \033[36m$wgp_key_info\033[0m" \ - "5) $GW_WG_SET_PRESHARED \033[36m$wgpsk_key_info\033[0m" \ - "" \ - "6) $GW_WG_SET_PRIVATE \033[33m$wgv_key_info\033[0m" \ - "7) $GW_WG_SET_IPV4 \033[33m$wg_ipv4\033[0m" \ - "8) $GW_WG_SET_IPV6 \033[33m$wg_ipv6\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$wg_server" ] && [ -n "$wg_port" ] && [ -n "$wg_public_key" ] && [ -n "$wg_pre_shared_key" ] && [ -n "$wg_private_key" ] && [ -n "$wg_ipv4" ]; then - [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON - setconfig wg_service "$wg_service" - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - ;; - [1-8]) - line_break - read -r -p "$GW_INPUT_TEXT_DEL0> " text - [ "$text" = 0 ] && text='' - case "$num" in - 2) - wg_server="$text" - setconfig wg_server "$text" "$GT_CFG_PATH" - ;; - 3) - wg_port="$text" - setconfig wg_port "$text" "$GT_CFG_PATH" - ;; - 4) - wg_public_key="$text" - setconfig wg_public_key "$text" "$GT_CFG_PATH" - ;; - 5) - wg_pre_shared_key="$text" - setconfig wg_pre_shared_key "$text" "$GT_CFG_PATH" - ;; - 6) - wg_private_key="$text" - setconfig wg_private_key "$text" "$GT_CFG_PATH" - ;; - 7) - wg_ipv4="$text" - setconfig wg_ipv4 "$text" "$GT_CFG_PATH" - ;; - 8) - wg_ipv6="$text" - setconfig wg_ipv6 "$text" "$GT_CFG_PATH" - ;; - esac - ;; - *) - errornum - ;; - esac - done + if [ -n "$wg_pre_shared_key" ]; then + wgpsk_key_info='*********' + else + unset wgpsk_key_info + fi + comp_box "\033[31m$GW_WARN\033[0m$GW_WG_WARN" + btm_box "1) \033[32m$GW_WG_TOGGLE\033[0m \033[32m$wg_service\033[0m" \ + "" \ + "2) $GW_WG_SET_ENDPOINT \033[36m$wg_server\033[0m" \ + "3) $GW_WG_SET_ENDPOINT_PORT \033[36m$wg_port\033[0m" \ + "4) $GW_WG_SET_PUBLIC \033[36m$wgp_key_info\033[0m" \ + "5) $GW_WG_SET_PRESHARED \033[36m$wgpsk_key_info\033[0m" \ + "" \ + "6) $GW_WG_SET_PRIVATE \033[33m$wgv_key_info\033[0m" \ + "7) $GW_WG_SET_IPV4 \033[33m$wg_ipv4\033[0m" \ + "8) $GW_WG_SET_IPV6 \033[33m$wg_ipv6\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$wg_server" ] && [ -n "$wg_port" ] && [ -n "$wg_public_key" ] && [ -n "$wg_pre_shared_key" ] && [ -n "$wg_private_key" ] && [ -n "$wg_ipv4" ]; then + [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON + setconfig wg_service "$wg_service" + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + ;; + [1-8]) + line_break + read -r -p "$GW_INPUT_TEXT_DEL0> " text + [ "$text" = 0 ] && text='' + case "$num" in + 2) + wg_server="$text" + setconfig wg_server "$text" "$GT_CFG_PATH" + ;; + 3) + wg_port="$text" + setconfig wg_port "$text" "$GT_CFG_PATH" + ;; + 4) + wg_public_key="$text" + setconfig wg_public_key "$text" "$GT_CFG_PATH" + ;; + 5) + wg_pre_shared_key="$text" + setconfig wg_pre_shared_key "$text" "$GT_CFG_PATH" + ;; + 6) + wg_private_key="$text" + setconfig wg_private_key "$text" "$GT_CFG_PATH" + ;; + 7) + wg_ipv4="$text" + setconfig wg_ipv4 "$text" "$GT_CFG_PATH" + ;; + 8) + wg_ipv6="$text" + setconfig wg_ipv6 "$text" "$GT_CFG_PATH" + ;; + esac + ;; + *) + errornum + ;; + esac + done } - From b750469047c5a9ac903c16897375c78f0e3a0c8d Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Mon, 23 Mar 2026 11:19:37 +0800 Subject: [PATCH 245/318] =?UTF-8?q?=E9=99=A4=20UI=20=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E4=B9=8B=E5=A4=96=EF=BC=8C=E5=85=B6=E4=BD=99=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E9=87=87=E7=94=A8=20TCP=20+=20UDP=20=E7=AB=AF=E5=8F=A3?= =?UTF-8?q?=E6=A3=80=E6=B5=8B=E6=96=B9=E5=BC=8F=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menu.sh | 8 ++++---- scripts/menus/2_settings.sh | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/menu.sh b/scripts/menu.sh index 13fb6a95..8772d222 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -50,24 +50,24 @@ checkport() { local conflict_port="" local conflict_info="" - conflict_info=$(check_port_with_info "$mix_port" tcp) + conflict_info=$(check_port_with_info "$mix_port") if [ $? -ne 0 ]; then conflict_found=1 conflict_port="$mix_port" fi if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$redir_port" tcp) + conflict_info=$(check_port_with_info "$redir_port") [ $? -ne 0 ] && conflict_found=1 && conflict_port="$redir_port" fi if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$((redir_port + 1))" all) + conflict_info=$(check_port_with_info "$((redir_port + 1))") [ $? -ne 0 ] && conflict_found=1 && conflict_port="$((redir_port + 1))" fi if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$dns_port" all) + conflict_info=$(check_port_with_info "$dns_port") [ $? -ne 0 ] && conflict_found=1 && conflict_port="$dns_port" fi diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index c7cdb362..b3ed12e8 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -439,7 +439,7 @@ set_adv_config() { ;; 1) xport=mix_port - inputport tcp + inputport if [ $? -eq 1 ]; then break else @@ -471,7 +471,7 @@ set_adv_config() { ;; 3) xport=redir_port - inputport tcp + inputport if [ $? -eq 1 ]; then break else @@ -480,7 +480,7 @@ set_adv_config() { ;; 4) xport=dns_port - inputport all + inputport if [ $? -eq 1 ]; then break else From afad3ebb5c059bc0550ceb1e0d5d83c0307e0748 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Tue, 24 Mar 2026 18:58:11 +0800 Subject: [PATCH 246/318] =?UTF-8?q?=E5=88=A0=E9=99=A4=20trackerslist=20?= =?UTF-8?q?=E5=88=86=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_Geo_Full.yaml | 2 -- rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml | 2 -- rules/clash_providers/DustinWin_Geo_Lite.yaml | 2 -- rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml | 2 -- rules/clash_providers/DustinWin_RS_Full.yaml | 10 ---------- rules/clash_providers/DustinWin_RS_Full_NoAds.yaml | 10 ---------- rules/clash_providers/DustinWin_RS_Lite.yaml | 10 ---------- rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml | 10 ---------- rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml | 9 --------- rules/singbox_providers/DustinWin_RS_Full.json | 10 ---------- rules/singbox_providers/DustinWin_RS_Full_NoAds.json | 10 ---------- rules/singbox_providers/DustinWin_RS_Lite.json | 10 ---------- rules/singbox_providers/DustinWin_RS_Lite_NoAds.json | 10 ---------- rules/singbox_providers/ShellCrash_RS_Full_BanAds.json | 10 ---------- 14 files changed, 107 deletions(-) diff --git a/rules/clash_providers/DustinWin_Geo_Full.yaml b/rules/clash_providers/DustinWin_Geo_Full.yaml index 8af95ce6..5286877d 100644 --- a/rules/clash_providers/DustinWin_Geo_Full.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full.yaml @@ -9,7 +9,6 @@ proxy-groups: - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} @@ -34,7 +33,6 @@ proxy-groups: rules: - GEOSITE,private,🔒 私有网络 - GEOSITE,ads,🛑 广告域名 - - GEOSITE,trackerslist,📋 Trackerslist - GEOSITE,microsoft-cn,🪟 微软服务 - GEOSITE,apple-cn,🍎 苹果服务 - GEOSITE,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml index 4c264259..14425c44 100644 --- a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml @@ -9,7 +9,6 @@ proxy-groups: - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} @@ -30,7 +29,6 @@ proxy-groups: rules: - GEOSITE,private,🔒 私有网络 - - GEOSITE,trackerslist,📋 Trackerslist - GEOSITE,microsoft-cn,🪟 微软服务 - GEOSITE,apple-cn,🍎 苹果服务 - GEOSITE,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_Geo_Lite.yaml b/rules/clash_providers/DustinWin_Geo_Lite.yaml index ad8f0234..f2d724d2 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite.yaml @@ -3,7 +3,6 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} @@ -32,7 +31,6 @@ proxy-groups: rules: - GEOSITE,private,🔒 私有网络 - GEOSITE,ads,🛑 广告域名 - - GEOSITE,trackerslist,📋 Trackerslist - GEOSITE,microsoft-cn,🪟 微软服务 - GEOSITE,apple-cn,🍎 苹果服务 - GEOSITE,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml index 4886f685..bf41c413 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml @@ -3,7 +3,6 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} @@ -28,7 +27,6 @@ proxy-groups: rules: - GEOSITE,private,🔒 私有网络 - - GEOSITE,trackerslist,📋 Trackerslist - GEOSITE,microsoft-cn,🪟 微软服务 - GEOSITE,apple-cn,🍎 苹果服务 - GEOSITE,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index 3a56c63f..37b5a257 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -11,7 +11,6 @@ proxy-groups: - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} @@ -50,14 +49,6 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 - trackerslist: - type: http - behavior: domain - format: mrs - path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" - interval: 86400 - microsoft-cn: type: http behavior: domain @@ -197,7 +188,6 @@ rule-providers: rules: - RULE-SET,private,🔒 私有网络 - RULE-SET,ads,🛑 广告域名 - - RULE-SET,trackerslist,📋 Trackerslist - RULE-SET,microsoft-cn,🪟 微软服务 - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index c1ff85ca..9d6dccea 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -11,7 +11,6 @@ proxy-groups: - {name: 🎥 奈飞视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 📹 油管视频, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} @@ -39,14 +38,6 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 - trackerslist: - type: http - behavior: domain - format: mrs - path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" - interval: 86400 - microsoft-cn: type: http behavior: domain @@ -185,7 +176,6 @@ rule-providers: rules: - RULE-SET,private,🔒 私有网络 - - RULE-SET,trackerslist,📋 Trackerslist - RULE-SET,microsoft-cn,🪟 微软服务 - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index f1118bba..8decd57c 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -3,7 +3,6 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} @@ -46,14 +45,6 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ads.mrs" interval: 86400 - trackerslist: - type: http - behavior: domain - format: mrs - path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" - interval: 86400 - microsoft-cn: type: http behavior: domain @@ -145,7 +136,6 @@ rule-providers: rules: - RULE-SET,private,🔒 私有网络 - RULE-SET,ads,🛑 广告域名 - - RULE-SET,trackerslist,📋 Trackerslist - RULE-SET,microsoft-cn,🪟 微软服务 - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index aa4b81b0..e7f483e1 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -3,7 +3,6 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📈 网络测试, type: select, proxies: [🎯 本地直连, 🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - - {name: 📋 Trackerslist, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 本地直连, 👑 高级节点, 🚀 节点选择]} - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} @@ -35,14 +34,6 @@ rule-providers: url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" interval: 86400 - trackerslist: - type: http - behavior: domain - format: mrs - path: ./ruleset/trackerslist.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/trackerslist.mrs" - interval: 86400 - microsoft-cn: type: http behavior: domain @@ -133,7 +124,6 @@ rule-providers: rules: - RULE-SET,private,🔒 私有网络 - - RULE-SET,trackerslist,📋 Trackerslist - RULE-SET,microsoft-cn,🪟 微软服务 - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,google-cn,🇬 谷歌服务 diff --git a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml index 08f148bb..e2fced63 100644 --- a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml +++ b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml @@ -31,7 +31,6 @@ proxy-groups: - {name: 🪟 微软服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🇬 谷歌服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🧲 BT下载, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📈 网络测速, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇺🇸 美国节点, 🇯🇵 日本节点, 🇪🇺 欧洲节点, 🇰🇷 韩国节点, 🇸🇬 狮城节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: ↔️ 直连软件, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, {providers_tags}]} - {name: 🀄️ 国内流量, type: select, proxies: [🎯 本地直连, 🚀 节点选择, ♻️ 自动选择, 🛠️ 手动切换, {providers_tags}]} @@ -85,13 +84,6 @@ rule-providers: behavior: ipcidr proxy: DIRECT url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" - trackerslist: - type: http - format: mrs - interval: 86400 - behavior: domain - proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/trackerslist.mrs" applications: type: http format: text @@ -224,7 +216,6 @@ rules: - RULE-SET,networktest,📈 网络测速 - RULE-SET,applications,↔️ 直连软件 - - RULE-SET,trackerslist,🧲 BT下载 - RULE-SET,apple-cn,🍎 苹果服务 - RULE-SET,microsoft-cn,🪟 微软服务 - RULE-SET,google-cn,🇬 谷歌服务 diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index 795e1ff9..32fc141b 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -12,7 +12,6 @@ { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, @@ -36,7 +35,6 @@ "rules": [ { "rule_set": [ "private" ], "outbound": "🎯 本地直连" }, { "rule_set": [ "ads" ], "outbound": "🛑 广告域名" }, - { "rule_set": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, { "rule_set": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, @@ -74,14 +72,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", "download_detour": "DIRECT" }, - { - "tag": "trackerslist", - "type": "remote", - "format": "binary", - "path": "./ruleset/trackerslist.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/trackerslist.srs", - "download_detour": "DIRECT" - }, { "tag": "microsoft-cn", "type": "remote", diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index 05afe9fa..0a6d1370 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -12,7 +12,6 @@ { "tag": "🎥 奈飞视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📹 油管视频", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, @@ -33,7 +32,6 @@ "route": { "rules": [ { "rule_set": [ "private" ], "outbound": "🎯 本地直连" }, - { "rule_set": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, { "rule_set": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, @@ -63,14 +61,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", "download_detour": "DIRECT" }, - { - "tag": "trackerslist", - "type": "remote", - "format": "binary", - "path": "./ruleset/trackerslist.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/trackerslist.srs", - "download_detour": "DIRECT" - }, { "tag": "microsoft-cn", "type": "remote", diff --git a/rules/singbox_providers/DustinWin_RS_Lite.json b/rules/singbox_providers/DustinWin_RS_Lite.json index 4c610a59..32d6fe27 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite.json +++ b/rules/singbox_providers/DustinWin_RS_Lite.json @@ -4,7 +4,6 @@ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 本地直连", "👑 高级节点", "🚀 节点选择" ] }, { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, @@ -32,7 +31,6 @@ "rules": [ { "rule_set": [ "private" ], "outbound": "🎯 本地直连" }, { "rule_set": [ "ads" ], "outbound": "🛑 广告域名" }, - { "rule_set": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, { "rule_set": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, @@ -64,14 +62,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", "download_detour": "DIRECT" }, - { - "tag": "trackerslist", - "type": "remote", - "format": "binary", - "path": "./ruleset/trackerslist.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/trackerslist.srs", - "download_detour": "DIRECT" - }, { "tag": "microsoft-cn", "type": "remote", diff --git a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json index 1adffc36..43720299 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json @@ -4,7 +4,6 @@ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 本地直连", "👑 高级节点", "🚀 节点选择" ] }, { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, @@ -29,7 +28,6 @@ "route": { "rules": [ { "rule_set": [ "private" ], "outbound": "🎯 本地直连" }, - { "rule_set": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, { "rule_set": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, { "rule_set": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, { "rule_set": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, @@ -54,14 +52,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", "download_detour": "DIRECT" }, - { - "tag": "trackerslist", - "type": "remote", - "format": "binary", - "path": "./ruleset/trackerslist.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/trackerslist.srs", - "download_detour": "DIRECT" - }, { "tag": "microsoft-cn", "type": "remote", diff --git a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json index 778f5e5f..ce26d8d3 100644 --- a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json +++ b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json @@ -22,7 +22,6 @@ { "tag": "🪟 微软服务", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "🍎 苹果服务", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, - { "tag": "🧲 BT下载", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "📈 网络测速", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇺🇸 美国节点", "🇯🇵 日本节点", "🇪🇺 欧洲节点", "🇰🇷 韩国节点", "🇸🇬 狮城节点", "👑 高级节点", "📉 省流节点", {providers_tags}] }, { "tag": "↔️ 直连软件", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", {providers_tags}] }, { "tag": "🀄️ 国内流量", "type": "selector", "outbounds": ["🎯 本地直连", "🚀 节点选择", "♻️ 自动选择", "🛠️ 手动切换", {providers_tags}] }, @@ -56,7 +55,6 @@ { "rule_set": ["networktest"], "outbound": "📈 网络测速" }, { "rule_set": ["applications"], "outbound": "↔️ 直连软件" }, - { "rule_set": ["trackerslist"], "outbound": "🧲 BT下载" }, { "rule_set": ["apple-cn"], "outbound": "🍎 苹果服务" }, { "rule_set": ["microsoft-cn"], "outbound": "🪟 微软服务" }, { "rule_set": ["google-cn"], "outbound": "🇬 谷歌服务" }, @@ -113,14 +111,6 @@ "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/applications.srs", "download_detour": "DIRECT" }, - { - "tag": "trackerslist", - "type": "remote", - "format": "binary", - "path": "./ruleset/trackerslist.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/trackerslist.srs", - "download_detour": "DIRECT" - }, { "tag": "apple-cn", "type": "remote", From 23571b4f45cfde4f857996b2bb9c7256a9482779 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Wed, 25 Mar 2026 02:59:03 +0800 Subject: [PATCH 247/318] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9B=BD=E5=A4=96?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E7=AD=96=E7=95=A5=E7=BB=84=EF=BC=88=E5=87=BA?= =?UTF-8?q?=E7=AB=99=EF=BC=89=EF=BC=9B=E4=BC=98=E5=8C=96=E8=BD=BB=E9=87=8F?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rules/clash_providers/DustinWin_Geo_Full.yaml | 2 +- .../DustinWin_Geo_Full_NoAds.yaml | 2 +- rules/clash_providers/DustinWin_Geo_Light.yaml | 2 +- rules/clash_providers/DustinWin_Geo_Lite.yaml | 2 +- .../DustinWin_Geo_Lite_NoAds.yaml | 2 +- rules/clash_providers/DustinWin_RS_Full.yaml | 2 +- .../clash_providers/DustinWin_RS_Full_NoAds.yaml | 2 +- rules/clash_providers/DustinWin_RS_Light.yaml | 16 ++++------------ rules/clash_providers/DustinWin_RS_Lite.yaml | 2 +- .../clash_providers/DustinWin_RS_Lite_NoAds.yaml | 2 +- rules/singbox_providers/DustinWin_RS_Full.json | 2 +- .../DustinWin_RS_Full_NoAds.json | 2 +- rules/singbox_providers/DustinWin_RS_Light.json | 12 ++---------- rules/singbox_providers/DustinWin_RS_Lite.json | 2 +- .../DustinWin_RS_Lite_NoAds.json | 2 +- 15 files changed, 19 insertions(+), 35 deletions(-) diff --git a/rules/clash_providers/DustinWin_Geo_Full.yaml b/rules/clash_providers/DustinWin_Geo_Full.yaml index 5286877d..4c732b93 100644 --- a/rules/clash_providers/DustinWin_Geo_Full.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full.yaml @@ -11,7 +11,7 @@ proxy-groups: - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml index 14425c44..d214e921 100644 --- a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml @@ -11,7 +11,7 @@ proxy-groups: - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_Geo_Light.yaml b/rules/clash_providers/DustinWin_Geo_Light.yaml index 55b70b88..03f382c3 100644 --- a/rules/clash_providers/DustinWin_Geo_Light.yaml +++ b/rules/clash_providers/DustinWin_Geo_Light.yaml @@ -2,7 +2,7 @@ proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [全球直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_Geo_Lite.yaml b/rules/clash_providers/DustinWin_Geo_Lite.yaml index f2d724d2..fd1a8764 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite.yaml @@ -9,7 +9,7 @@ proxy-groups: - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml index bf41c413..5895d6ea 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml @@ -9,7 +9,7 @@ proxy-groups: - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index 37b5a257..0ecb34c1 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -13,7 +13,7 @@ proxy-groups: - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 9d6dccea..c5aac943 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -13,7 +13,7 @@ proxy-groups: - {name: 🌍 国外媒体, type: select, proxies: [🚀 节点选择, 👑 高级节点, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 📉 省流节点, {providers_tags}]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_RS_Light.yaml b/rules/clash_providers/DustinWin_RS_Light.yaml index 49951f97..6f072266 100644 --- a/rules/clash_providers/DustinWin_RS_Light.yaml +++ b/rules/clash_providers/DustinWin_RS_Light.yaml @@ -1,10 +1,11 @@ #DustinWin-ruleset轻量规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 👉 手动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - - {name: 🎯 本地直连, type: select, proxies: [DIRECT, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, DIRECT]} + - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} + - {name: 🎯 本地直连, type: select, proxies: [DIRECT], hidden: true} - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} @@ -17,14 +18,6 @@ proxy-groups: - {name: 🇺🇸 美国节点, type: url-test, tolerance: 100, include-all: true, filter: "(?i)(🇺🇸|美|us|unitedstates|united states)"} rule-providers: - cn: - type: http - behavior: domain - format: mrs - path: ./ruleset/cn.mrs - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" - interval: 86400 - private: type: http behavior: domain @@ -77,8 +70,7 @@ rules: - RULE-SET,private,DIRECT - RULE-SET,tld-proxy,🌎 国外域名 - RULE-SET,proxy,🌎 国外域名 - - RULE-SET,cn,🎯 本地直连 - RULE-SET,privateip,DIRECT,no-resolve - - RULE-SET,cnip,🎯 本地直连 + - RULE-SET,cnip,🀄️ 国内 IP - RULE-SET,telegramip,📲 电报消息,no-resolve - MATCH,🐟 漏网之鱼 diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index 8decd57c..068d009a 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -9,7 +9,7 @@ proxy-groups: - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index e7f483e1..9ddfbf7c 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -9,7 +9,7 @@ proxy-groups: - {name: 🍎 苹果服务, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🇨🇳 国内域名, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - {name: 🀄️ 国内 IP, type: select, proxies: [🎯 本地直连, 🚀 节点选择]} - - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🎯 本地直连]} + - {name: 🌎 国外域名, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🔒 私有网络, type: select, proxies: [🎯 本地直连], hidden: true} - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}, 🎯 本地直连]} diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index 32fc141b..2c17744a 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -14,7 +14,7 @@ { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🛑 广告域名", "type": "selector", "outbounds": [ "🔴 全球拦截", "🎯 本地直连" ] }, diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index 0a6d1370..488be16f 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -14,7 +14,7 @@ { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "👑 高级节点", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🎯 本地直连", "type": "direct" }, diff --git a/rules/singbox_providers/DustinWin_RS_Light.json b/rules/singbox_providers/DustinWin_RS_Light.json index 511d6079..95826472 100644 --- a/rules/singbox_providers/DustinWin_RS_Light.json +++ b/rules/singbox_providers/DustinWin_RS_Light.json @@ -2,6 +2,7 @@ { "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "👉 手动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 本地直连", {providers_tags} ] }, + { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, @@ -22,22 +23,13 @@ { "rule_set": [ "private" ], "outbound": "🎯 本地直连" }, { "rule_set": [ "tld-proxy" ], "outbound": "🌎 国外域名" }, { "rule_set": [ "proxy" ], "outbound": "🌎 国外域名" }, - { "rule_set": [ "cn" ], "outbound": "🎯 本地直连" }, { "ip_is_private": true, "outbound": "🎯 本地直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4", "match_only": true}, - { "rule_set": [ "cnip" ], "outbound": "🎯 本地直连" } + { "rule_set": [ "cnip" ], "outbound": "🀄️ 国内 IP" } ], "rule_set": [ - { - "tag": "cn", - "type": "remote", - "format": "binary", - "path": "./ruleset/cn.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cn.srs", - "download_detour": "DIRECT" - }, { "tag": "private", "type": "remote", diff --git a/rules/singbox_providers/DustinWin_RS_Lite.json b/rules/singbox_providers/DustinWin_RS_Lite.json index 32d6fe27..5ee77e7f 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite.json +++ b/rules/singbox_providers/DustinWin_RS_Lite.json @@ -10,7 +10,7 @@ { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🛑 广告域名", "type": "selector", "outbounds": [ "🔴 全球拦截", "🎯 本地直连" ] }, diff --git a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json index 43720299..76df0ae4 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json @@ -10,7 +10,7 @@ { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🇨🇳 国内域名", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, { "tag": "🀄️ 国内 IP", "type": "selector", "outbounds": [ "🎯 本地直连", "🚀 节点选择" ] }, - { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 本地直连" ] }, + { "tag": "🌎 国外域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 本地直连" ] }, { "tag": "🎯 本地直连", "type": "direct" }, From 91ae2c88dea41623b846194e7e4812f3bd3208be Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 25 Mar 2026 19:15:15 +0800 Subject: [PATCH 248/318] ~i18h --- public/fallback_filter.list | 2 -- public/{servers.list => servers_chs.list} | 0 public/servers_en.list | 30 +++++++++++++++++++++++ public/{task.list => task_chs.list} | 0 public/task_en.list | 19 ++++++++++++++ scripts/init.sh | 4 +-- scripts/lang/en/2_settings.lang | 1 - scripts/menus/2_settings.sh | 2 +- scripts/menus/5_task.sh | 2 +- scripts/menus/9_upgrade.sh | 13 ++++------ scripts/menus/bot_tg_service.sh | 4 +-- scripts/menus/subconverter.sh | 10 +++++--- 12 files changed, 65 insertions(+), 22 deletions(-) delete mode 100644 public/fallback_filter.list rename public/{servers.list => servers_chs.list} (100%) create mode 100644 public/servers_en.list rename public/{task.list => task_chs.list} (100%) create mode 100644 public/task_en.list diff --git a/public/fallback_filter.list b/public/fallback_filter.list deleted file mode 100644 index f6048b18..00000000 --- a/public/fallback_filter.list +++ /dev/null @@ -1,2 +0,0 @@ -+.bing.com -+.linkedin.com diff --git a/public/servers.list b/public/servers_chs.list similarity index 100% rename from public/servers.list rename to public/servers_chs.list diff --git a/public/servers_en.list b/public/servers_en.list new file mode 100644 index 00000000..fa46d5e6 --- /dev/null +++ b/public/servers_en.list @@ -0,0 +1,30 @@ +# ID&类型 说明 地址 其他说明 (类型:100-三版全通源;200-单一源;300-基础sub;400-meta_sub;500-规则地址) + +101 Jsdelivr_CDN https://cdn.jsdelivr.net/gh/juewuy/ShellCrash +102 Github https://raw.githubusercontent.com/juewuy/ShellCrash +103 ShellClash https://gh.jwsc.eu.org +104 Cloudflare https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash + +401 ... https://sub.jwsc.eu.org ua +402 ... https://api.v1.mk diyua +403 ... https://url.v1.mk diyua + +501 Acl4SSR全能优化版 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash.ini (推荐) +502 Acl4SSR精简优化版 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Mini.ini (推荐) +503 Acl4SSR全能优化+去广告增强 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Block.ini +504 Acl4SSR极简版 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Nano.ini (适合自建节点) +505 Acl4SSR分流&游戏增强 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Full.ini +506 Acl4SSR分流&游戏&去广告增强 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Full_Block.ini (低性能设备慎用) +507 洞主规则精简版 https://github.com/juewuy/ShellCrash/raw/dev/rules/lhie1_clash.ini +508 洞主规则重度完整版 https://github.com/juewuy/ShellCrash/raw/dev/rules/lhie1_dler.ini +509 Acl4SSR多国精简 https://github.com/juewuy/ShellCrash/raw/dev/rules/ACL4SSR_Online_Mini_MultiCountry.ini +510 Acl4SSR回国专用 https://github.com/juewuy/ShellCrash/raw/dev/rules/ACL4SSR_BackCN.ini +511 Acl4SSR增强国外GFW https://github.com/juewuy/ShellCrash/raw/dev/rules/ACL4SSR_WithGFW.ini (适合黑名单模式使用) +512 DustinWin全分组规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Full.ini +513 DustinWin无广告全分组规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Full_NoAds.ini +514 DustinWin精简规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Lite.ini (推荐) +515 DustinWin无广告精简规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Lite_NoAds.ini +516 DustinWin黑名单模式规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Blacklist.ini +517 DustinWin无广告黑名单模式规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Blacklist_NoAds.ini +518 DustinWin轻量规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Light.ini +519 DustinWin极简规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Nano.ini diff --git a/public/task.list b/public/task_chs.list similarity index 100% rename from public/task.list rename to public/task_chs.list diff --git a/public/task_en.list b/public/task_en.list new file mode 100644 index 00000000..c9ba3429 --- /dev/null +++ b/public/task_en.list @@ -0,0 +1,19 @@ +#TaskID#TaskCommand#TaskDescription (use # as separator; # is not allowed in command or description) + +101#$CRASHDIR/start.sh start#Start ShellCrash +102#$CRASHDIR/start.sh stop#Stop ShellCrash service +103#$CRASHDIR/start.sh restart#Restart ShellCrash service +104#$CRASHDIR/task/task.sh update_config#Update online subscriptions and restart service +105#$CRASHDIR/task/task.sh hotupdate#Hot update online subscriptions (without restart) +106#$CRASHDIR/task/task.sh web_save_auto#Automatically save panel configuration +107#$CRASHDIR/task/task.sh ntp#Automatically sync NTP time + +111#$CRASHDIR/task/task.sh update_core#Automatically update core +112#$CRASHDIR/task/task.sh update_scripts#Automatically update scripts +113#$CRASHDIR/task/task.sh update_mmdb#Automatically update database files + +121#$CRASHDIR/task/task.sh reset_firewall#Reset transparent routing firewall +122#sleep 70 && touch /etc/banner && reboot#Reboot router device – use with caution + + + diff --git a/scripts/init.sh b/scripts/init.sh index 0e602a89..b1cca155 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -187,7 +187,7 @@ for file in config.yaml.bak user.yaml proxies.yaml proxy-groups.yaml rules.yaml mv -f "$CRASHDIR"/"$file" "$CRASHDIR"/yamls/"$file" 2>/dev/null done [ ! -L "$CRASHDIR"/config.yaml ] && mv -f "$CRASHDIR"/config.yaml "$CRASHDIR"/yamls/config.yaml 2>/dev/null -for file in fake_ip_filter mac web_save servers.list fake_ip_filter.list fallback_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 done #配置文件改名 @@ -202,7 +202,7 @@ mv -f "$CRASHDIR"/*.mrs "$CRASHDIR"/ruleset/ 2>/dev/null for file in dropbear_rsa_host_key authorized_keys tun.ko ShellDDNS.sh; do mv -f "$CRASHDIR"/"$file" "$CRASHDIR"/tools/"$file" 2>/dev/null done -for file in cron task.list; do +for file in cron task_chs.list task_en.list; do mv -f "$CRASHDIR"/"$file" "$CRASHDIR"/task/"$file" 2>/dev/null done mv -f "$CRASHDIR"/menus/task_cmd.sh "$CRASHDIR"/task/task.sh 2>/dev/null diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index 5fcb929a..c59936e2 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -138,7 +138,6 @@ SET_SNIFFER_ENABLE_Q=" domain sniffer. Enable now?" SET_SNIFFER_DISABLE_Q=" domain sniffer. Disable now?" SET_LANG_ZH="简体中文" SET_LANG_EN="English" -SET_SWITCH_RERUN="Switched successfully! Please re-run the script!" SET_SWITCH_OK="Switched successfully!" SET_MODE_SUFFIX="mode" SET_SET_TO="Set to " diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index b3ed12e8..6cb466cb 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -214,7 +214,7 @@ settings() { ;; 1) echo chs >"$CRASHDIR"/configs/i18n.cfg - msg_alert "\033[32m$SET_SWITCH_RERUN\033[0m" + msg_alert "\033[32m切换成功,请重新执行脚本!\033[0m" ;; 2) echo en >"$CRASHDIR"/configs/i18n.cfg diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index a7b0958f..e65618dd 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -111,7 +111,7 @@ task_add() { while true; do comp_box "\033[36m$TASK5_SELECT_ADD\033[0m" # 输出任务列表 - list=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') + list=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | awk -F '#' '{print $3}') list_box "$list" btm_box "" \ "0) $COMMON_BACK" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index c6e6ec7b..85077612 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -1111,19 +1111,20 @@ saveserver() { setserver() { while true; do line_break + LISTFILE="$CRASHDIR"/configs/servers_"$i18n".list [ -z "$release_type" ] && release_name=$UPG_SOURCE_UNSET [ -n "$release_type" ] && release_name="$release_type$UPG_SOURCE_ROLLBACK_TAG" [ "$release_type" = stable ] && release_name=$UPG_SOURCE_STABLE_TEXT [ "$release_type" = master ] && release_name=$UPG_SOURCE_MASTER_TEXT [ "$release_type" = dev ] && release_name=$UPG_SOURCE_DEV_TEXT - [ -n "$url_id" ] && url_name=$(grep "$url_id" "$CRASHDIR"/configs/servers.list 2>/dev/null | awk '{print $2}') || url_name="$update_url" + [ -n "$url_id" ] && url_name=$(grep "$url_id" "$LISTFILE" 2>/dev/null | awk '{print $2}') || url_name="$update_url" comp_box "\033[30;47m$UPG_SOURCE_TITLE\033[0m" \ "" \ "$UPG_SOURCE_CUR_VER\033[4;33m$release_name\033[0m" \ "$UPG_SOURCE_CUR_URL\n\033[4;32m$url_name\033[0m" - grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | + grep -E "^1|^2" "$LISTFILE" | awk '{print NR") "$2}' | while IFS= read -r line; do content_line "$line" @@ -1145,12 +1146,12 @@ setserver() { break ;; [1-99]) - url_id_new=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $1}') + url_id_new=$(grep -E "^1|$release_name" "$LISTFILE" | sed -n "$num"p | awk '{print $1}') if [ -z "$url_id_new" ]; then errornum continue elif [ "$url_id_new" -ge 200 ]; then - update_url=$(grep -E "^1|$release_name" "$CRASHDIR"/configs/servers.list | sed -n "$num"p | awk '{print $3}') + update_url=$(grep -E "^1|$release_name" "$LISTFILE" | sed -n "$num"p | awk '{print $3}') url_id='' saveserver break @@ -1257,7 +1258,3 @@ setserver() { esac done } - - - - diff --git a/scripts/menus/bot_tg_service.sh b/scripts/menus/bot_tg_service.sh index a0b0a23a..759d6591 100644 --- a/scripts/menus/bot_tg_service.sh +++ b/scripts/menus/bot_tg_service.sh @@ -1,8 +1,6 @@ . "$CRASHDIR"/libs/set_cron.sh -load_lang bot_tg - bot_tg_start(){ . "$CRASHDIR"/starts/start_legacy.sh start_legacy "$CRASHDIR/menus/bot_tg.sh" 'bot_tg' @@ -14,5 +12,5 @@ bot_tg_stop(){ rm -f "$TMPDIR/bot_tg.pid" } bot_tg_cron(){ - cronset "$BOT_TG_CRON_NAME" "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #$BOT_TG_CRON_NAME" + cronset 'ShellCrash-TG_BOT' "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT" } diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index d1295e52..8a92cd32 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -9,6 +9,8 @@ __IS_MODULE_SUBCONVERTER=1 load_lang subconverter +LISTFILE="$CRASHDIR"/configs/servers_"$i18n".list + # Subconverter在线订阅转换 subconverter() { while true; do @@ -115,8 +117,8 @@ gen_link_ele() { # 选择在线规则模版 gen_link_config() { - list=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | awk '{print $2$4}') - now=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $2}') + list=$(grep -aE '^5' "$LISTFILE" | awk '{print $2$4}') + now=$(grep -aE '^5' "$LISTFILE" | sed -n ""$rule_link"p" | awk '{print $2}') comp_box "$SUBCONVERTER_RULE_CURRENT\033[33m$now\033[0m" list_box "$list" content_line "" @@ -140,8 +142,8 @@ gen_link_config() { # 选择Subconverter服务器 gen_link_server() { - list=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | awk '{print $3" "$2}') - now=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') + list=$(grep -aE '^3|^4' "$LISTFILE" | awk '{print $3" "$2}') + now=$(grep -aE '^3|^4' "$LISTFILE" | sed -n ""$server_link"p" | awk '{print $3}') comp_box "\033[36m$SUBCONVERTER_SERVER_HINT\033[0m" \ "\033[32m$SUBCONVERTER_SERVER_THANKS\033[0m" \ From 3dad12584ab41dbb555fd3f50e4feef407f4098f Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 25 Mar 2026 19:32:00 +0800 Subject: [PATCH 249/318] ~bug fix --- scripts/init.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index b1cca155..1215b1c4 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -17,7 +17,7 @@ [ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备 [ -w "/var/mnt/cfg/firewall" ] && systype=ng_snapshot #NETGEAR设备 #容器内环境 -grep -qE '/(docker|lxc|kubepods|crio|containerd)/' /proc/1/cgroup || [ -f /run/.containerenv ] || [ -f /.dockerenv ] && systype='container' +grep -qE '/(docker|lxc|kubepods|crio|containerd)/' /proc/1/cgroup 2>/dev/null || [ -f /run/.containerenv ] || [ -f /.dockerenv ] && systype='container' #检查环境变量 [ "$systype" = 'container' ] && CRASHDIR='/etc/ShellCrash' [ -z "$CRASHDIR" ] && [ -n "$clashdir" ] && CRASHDIR="$clashdir" @@ -37,11 +37,11 @@ mkdir -p "$CRASHDIR"/configs #判断系统类型写入不同的启动文件 [ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system [ -w /etc/systemd/system ] && sysdir=/etc/systemd/system -if [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ]; then +if [ -f /etc/rc.common -a "$(cat /proc/1/comm 2>/dev/null)" = "procd" ]; then #设为init.d方式启动 cp -f "$CRASHDIR"/starts/shellcrash.procd /etc/init.d/shellcrash chmod 755 /etc/init.d/shellcrash -elif [ -n "$sysdir" -a "$USER" = "root" -a "$(cat /proc/1/comm)" = "systemd" ]; then +elif [ -n "$sysdir" -a "$USER" = "root" -a "$(cat /proc/1/comm 2>/dev/null)" = "systemd" ]; then #创建shellcrash用户 userdel shellcrash 2>/dev/null sed -i '/0:7890/d' /etc/passwd From b1622958e0ac8a1bbdfc59646ab426db3b3a511a Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 25 Mar 2026 19:32:27 +0800 Subject: [PATCH 250/318] =?UTF-8?q?~singboxr=E5=A2=9E=E5=8A=A0urltest=5Fun?= =?UTF-8?q?ified=5Fdelay=E5=90=AF=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/singbox_modify.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index aa8d3c1e..bde8ce07 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -306,6 +306,7 @@ EOF } EOF #生成experimental.json + [ "$crashcore" = "singboxr" ] && urltest_unified_delay=',"urltest_unified_delay": true' cat >"$TMPDIR"/jsons/experimental.json < Date: Wed, 25 Mar 2026 19:49:20 +0800 Subject: [PATCH 251/318] ~bug fix --- scripts/lang/chs/dns.lang | 11 ---- scripts/lang/en/dns.lang | 11 ---- scripts/menu.sh | 2 +- scripts/menus/dns.sh | 127 +++++++------------------------------- 4 files changed, 22 insertions(+), 129 deletions(-) diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang index 6e05e673..e2930422 100644 --- a/scripts/lang/chs/dns.lang +++ b/scripts/lang/chs/dns.lang @@ -51,17 +51,6 @@ DNS_IPV6_NOT_SUPPORT="该选项暂不支持IPv6加密DNS!" DNS_ENCRYPT_OK="已设置加密DNS,如遇DNS解析问题,请重置DNS配置!" DNS_CORE_REQUIRE="请使用Mihomo或SingBox内核" DNS_SET_TO="设为" -DNS_PROTECT_NOW="当前" -DNS_HOSTS_NOW="当前" -DNS_ENABLED="已启用" -DNS_DISABLED="已禁用" -DNS_PROTECT_DISABLE_Q="DNS防泄漏,是否确认禁用?" -DNS_PROTECT_ENABLE_Q="DNS防泄漏,是否确认启用?" -DNS_HOSTS_DISABLE_Q="Hosts优化,是否确认禁用?" -DNS_HOSTS_ENABLE_Q="Hosts优化,是否确认启用?" -DNS_YES="是" -DNS_RESET_DEFAULT="重置为默认值" -DNS_NO_BACK="否,返回上级菜单" DNS_REMOVE_OK="移除成功" DNS_REMOVE_FAIL="移除失败" DNS_INPUT_REDIR_PORT="请直接输入旁路由IPV4地址" diff --git a/scripts/lang/en/dns.lang b/scripts/lang/en/dns.lang index d2578ec5..25293cd4 100644 --- a/scripts/lang/en/dns.lang +++ b/scripts/lang/en/dns.lang @@ -53,17 +53,6 @@ DNS_IPV6_NOT_SUPPORT="This option does not support IPv6 encrypted DNS!" DNS_ENCRYPT_OK="Encrypted DNS has been configured. If DNS issues occur, please reset DNS settings." DNS_CORE_REQUIRE="Please use the Mihomo or SingBox core" DNS_SET_TO="Set to" -DNS_PROTECT_NOW="Current status: " -DNS_HOSTS_NOW="Current status: " -DNS_ENABLED="enabled" -DNS_DISABLED="disabled" -DNS_PROTECT_DISABLE_Q=" DNS leak protection. Disable now?" -DNS_PROTECT_ENABLE_Q=" DNS leak protection. Enable now?" -DNS_HOSTS_DISABLE_Q=" Hosts optimization. Disable now?" -DNS_HOSTS_ENABLE_Q=" Hosts optimization. Enable now?" -DNS_YES="Yes" -DNS_RESET_DEFAULT="Reset to defaults" -DNS_NO_BACK="No, back" DNS_REMOVE_OK="Removed successfully" DNS_REMOVE_FAIL="Remove failed" DNS_INPUT_REDIR_PORT="Please input bypass-router IPv4 address" diff --git a/scripts/menu.sh b/scripts/menu.sh index 8772d222..3d67e5a8 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -153,7 +153,7 @@ ckstatus() { zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" - if [ "$?" = 0 ]; then + if [ "$?" = 0 ] && [ -n "$crashcore" ]; then msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" switch_core else diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index 7294fce3..ee328a36 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -48,116 +48,31 @@ set_dns_mod() { msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m" ;; 4) - while true; do - line_break - separator_line "=" - if [ "$dns_protect" = ON ]; then - content_line "$DNS_PROTECT_NOW\033[33m$DNS_ENABLED\033[0m$DNS_PROTECT_DISABLE_Q" - else - content_line "$DNS_PROTECT_NOW\033[33m$DNS_DISABLED\033[0m$DNS_PROTECT_ENABLE_Q" - fi - separator_line "=" - btm_box "1) $DNS_YES" \ - "2) $DNS_RESET_DEFAULT" \ - "0) $DNS_NO_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 0) - break - ;; - 1) - if [ "$dns_protect" = ON ]; then - dns_protect=OFF - else - dns_protect=ON - fi - ;; - 2) - dns_protect=ON - ;; - *) - errornum - continue - ;; - esac - setconfig dns_protect "$dns_protect" - common_success - done + if [ "$dns_protect" = ON ]; then + dns_protect=OFF + else + dns_protect=ON + fi + setconfig dns_protect "$dns_protect" + common_success ;; 5) - while true; do - line_break - separator_line "=" - if [ "$hosts_opt" = ON ]; then - content_line "$DNS_HOSTS_NOW\033[33m$DNS_ENABLED\033[0m$DNS_HOSTS_DISABLE_Q" - else - content_line "$DNS_HOSTS_NOW\033[33m$DNS_DISABLED\033[0m$DNS_HOSTS_ENABLE_Q" - fi - separator_line "=" - btm_box "1) $DNS_YES" \ - "2) $DNS_RESET_DEFAULT" \ - "0) $DNS_NO_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 0) - break - ;; - 1) - if [ "$hosts_opt" = ON ]; then - hosts_opt=OFF - else - hosts_opt=ON - fi - ;; - 2) - hosts_opt=ON - ;; - *) - errornum - continue - ;; - esac - setconfig dns_protect "$hosts_opt" - common_success - done + if [ "$hosts_opt" = ON ]; then + hosts_opt=OFF + else + hosts_opt=ON + fi + setconfig hosts_opt "$hosts_opt" + common_success ;; 6) - - while true; do - line_break - separator_line "=" - if [ "$ecs_subnet" = ON ]; then - content_line "$DNS_HOSTS_NOW\033[33m$DNS_ENABLED\033[0m$DNS_HOSTS_DISABLE_Q" - else - content_line "$DNS_HOSTS_NOW\033[33m$DNS_DISABLED\033[0m$DNS_HOSTS_ENABLE_Q" - fi - separator_line "=" - btm_box "1) $DNS_YES" \ - "2) $DNS_RESET_DEFAULT" \ - "0) $DNS_NO_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 0) - break - ;; - 1) - if [ "$ecs_subnet" = ON ]; then - ecs_subnet=OFF - else - ecs_subnet=ON - fi - ;; - 2) - ecs_subnet=OFF - ;; - *) - errornum - continue - ;; - esac - setconfig dns_protect "$ecs_subnet" - common_success - done + if [ "$ecs_subnet" = ON ]; then + ecs_subnet=OFF + else + ecs_subnet=ON + fi + setconfig ecs_subnet "$ecs_subnet" + common_success ;; 7) while true; do From 3e2ad3da2e190e1fef45a20d418d171e3f119e1f Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 25 Mar 2026 19:57:18 +0800 Subject: [PATCH 252/318] ~1.9.5alpha12 pkg --- ShellCrash.tar.gz | Bin 140069 -> 173834 bytes bin/version | 2 +- scripts/menus/8_tools.sh | 4 ++-- scripts/starts/bfstart.sh | 2 +- version | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 452ef7a7beb5030a2346965aa84f958ff3c6a1cf..d794b626786d439fa1f2f27b8773ae255da443b5 100644 GIT binary patch literal 173834 zcmV)RK(oIeiwFP!000001MK~IdtJq~FO25j_<7#%u#U+IA$xmi&YHdVVZT>Mve6q` z(w1Z(=goQbEUmRQz~aJFvz_kZQgi?8((;e~#($Cg%hU8n zQ69xb7Q6rIzdRQ|inBP6iZsu%=tohU$nQUDM1Sjy)cqY?T5c^i8bA8igWabOejf?` z=lYx2*WJH=U{Q90ZHou@cbB@$tM49OyL@Q<;`6=ZZ#LZLsqu-ak=Fb|^V!zi{w-m& z-jR=c$B(Yvd>&)|L+|v>-t{}ZmtOFA>^Qi8|I{O``ToulvKo{vFgySF?7ZQ$e*5Oe zu`@aY_AA8QHM@7;@+PrX-#gYjcC7d90q2h>Ng<~S3)G*1K zany_x9S%_%VF@%!5XnMk%~BX3qr@UMNLFqp2#AZ^BH1>X0Z;>~y5dTsJf*10u|@z@ zroALcB9nUnwuJ%M=93^z$rsbel?K=_LL)4sL70nDBi&Agf;1Z$W&<-QL9AHD8Yw11 zWh4_MS2@jmuD_HTkn-mVNh-HRiPNU(enJ7+lyRmDqp*#qkn8gjnbCkD6W5bcS6k|v z?GqWI(tgWjZ;w-fWfO_yl9-;ADlGYkL^zz=;i`~~Eh3ABY=$`29Y+*06|8NGl1Qh7 zNRKTJnD6w+r1e04w%2j&e7aHKw_V zBM48hZUxL;9A`!>01~CCcR)@u0dn04P?=I>#=hbygzYYg5^1>}e~5Hu5JLVa5~;3# zXc^O!<}+jO#6*RMz{k?se?I5v!eO5 zoj*gAlAPLVj})qG10~Ruxt8gXfmzPJVn4KBbq{v9aAi@r;@m_UIczeSBT7u)(8%^P zgDEeGb-zz6wv8*Xh$%PMw*Y0C8BY#ZdK63HE`?T-S|q!kFoPH*e;gZ}0G0}pj9lsO zRnrKs7(nG3sB+>dMO50tSF}xJ1r@gOQW%?=8-WVvR%QdtZ6$)BB0+`g#_-#ANeQx; z#K{B+mgNK(){2=E(Gr+RT5&5)Q^_H(VWMTGfx0?1Oj8qSzHm#%iv15B1o)-QDkxIvI3e^;(`OjaT6O@ z2o@Mee}a%^+e&E+s->moBa!PqLiKT5Km~IKNnK%JSA3DOL{r+G1Q`MesuH$!H8y&Z z!Kta5L``fF`C2u#4A)3Y0F7e7KE@gUS}>Tz910Fo4s#AmmXOg{HOx5YjAtVw*)Z~_ zFi6*GWifV}60y|`0T~UoFvxW|#8#hBIJSco5&tUKSE1G=CXWcYc?L|oLe82qk3HUk=E}^Cr9n9mqbX28U)M)6xE7)oeyDm|I#zFMVCQfpP}gc!h#eas10 z$S3I&07)$X%v^_3FlS%O$cr16WgBLm}z zM~>5o<4mx$=x9>7;CZ2f2(V!FWEb`tv2vNEeQaS#k}7$fmb^|Y9oRx`P)Q9Iw8}xq zCmajmCL6@0pGq;G($5m+>?;wA0O`!Da83%QaLJ;_1?lFXcxMcIhvZQg7HcJ|_F_*@yjnkM9=rlG1 zIH@ zwn}Elp~GI>eEZCUUTAlfrGR|BVkTB(t4j72aV(cy@%BK9gh$^Y~2oDD0MNO7kFJGd9SwjEN=*S?9>yZh^); zYZ;oRC>EyUr%gGx8LdeHySP)xSabo!9x|3>L}g6BRXIg*oG> z7DU2is!~W?1ycr7{x!C1FN0IUJRz-aa8AC<4qR3QXKu71j2X_GEUQGnMHsWha-t_9 zcDgm-qDfKJ%p(r@*Eq^Z?MFNDB<_nDj50=iOJBAV^%PkGhYb;gJRbD58pe)~4*lVV5$QxHYbvDcoREFK()g4J2Jp zO@)~&hr*@zy-Yn!QrEU*6FVjySIu=1gJnrF60?pfv?1Cdx3tRCHi+ObA$205T|yvq zx{St&V6pXV=Dyq6OJi&5)!44fbY=t(FIc7Oc{?#k@Q*3~nnk1}sk1LhnNpa7qyRx2 zn#~B%BrChyg~&>1h3qc1gvNA%!0r{LZi^1AU4=84tAHZSZJQuUEk{6R5r?Q`-|XPf zFymiy21%h5))7ik3q1f7P6iQtGe>%DY~4VDa~_g1X;qM6g~-C3MCY&LDPEk=gg zxUiv^3mX)y8zQ%v2T0lxpff>LSQ5u7shkRw(ap0AHKnF9Tq4jdlo)6xECU6HDG!{p zuPOg(+EhccudJc5uxMzEUIq#l*UbMKmOLS2RWy*7sEXKES~1oT3&P(Wd{JuyVJu%7 zna-kNs>O?ex~&W>Szt4AH8exjz?8+cHK8F-*K~gaOUAk4aVwrHJNsFjGG`vddmQiS}pByh8RFjwjBYMW(k}cXfzrLb+;8N0lNW=G0Vbkt4c%< zkU-8NngM&dOfj{)P>QSFcfk^6v=rnBh$>)Y=CiD_g-QUp5e~qb?*X`jV3pk+R}74N zQNRq=LV?&!>j=yOSR+$g3fW$S(F8>m`xZxnLp=)s6f|`!9U=vZPJ+;`QZ+Oh5A66v z1>r;vA1G9@Z)DHdU~}?9V|(JrU}Gr&97mLQ9Gk5Ujm+k!fv!T;(TbRT6@o)oK7a}T znq(a23>wq8hDLg8Xy##)t0-mJQq@OuZS-}633|cJ3^3i)o8XmsTN&R52?WITUb{6(yGZ?GDqJ{Z;$P>>Nsw zl}GfvY97(EiGY%fa1kjvC!}yezp|{T^$ZQ0IZj~NEVW!yz}lm8WzRDDltzLgvwB8k z7pWS?!to(8CRa;k2JJKe=P3)PBbe=FK*&c6d(G9H0H_e9W?W$wlEN+83^qzo9=lm2 zM`U}6Ml^>C8{w<4-RRDhieLv=F3=#S87Efhgl~uvhIHrB$k+kpGOrR%do&O>xFcb@ zeeAFn69(Jj8?42e?6QSD6p&Zy0IrsKslz$PMsv=wpPMbWyu$rJ+ej5|$=T|vuqoJg zasZ=N>MZaXlPba z25L^FpeHP(x(gbYj+kLjG7_&6Dg)Mb2wVS^?MpG7O*czw07SP2Xh*vW=*~XtgIHK> zjm$bsL!(p}s87mh=nmj(Y%4Y0|_JJE?1E4l*04CpQx{W`WI$ z+(4R-#A@yu+QZ)nO}8-FFfvVHD@PT|d41(xU@I&Yswi@DK_Nles&!-T3gB#Usl~>A z131%1-C~1ifiic)15wV9RVoaoO_mYmP-DAuY;Y_*oHKrQ(zTf9jdcN-K_b$R)uxHd zuF;{9nVS`3eMr#NU{TWHK(3xdN-K*=SF&e72~HxHsKUbgp7QUh_dO+@0wiEa$RkR~ z%?zWUu%~cJ` zTPubo6dpsX4p;(}BtWoc9ZR4BKoL?_YbCD*Hu&sRfW0NI*g#c!D2Xc}X>WkmjB5!j zyH(}vtCm3f7#^9;X&M!;W#Lw|2oqjuM1@mOu%Q7{V?o%9gteLQ#_ieJX1Po&T&Gj8!#2wPG_~Lk!>|g$b_FnM5B0} z6bU&EQLrja3pNadHi*06C2P-&&)3%E8ClE*jUwcJ2-d{TFsgHuF);#=)tcE7Ai+r= zNSb!f1%Pm;IuHs96T8wyWR-Fa6aLlJJk0oRu96e6z4eC3t`H4O-Phc0^#d%LqNFHx z9WXK18HEP+f}uhgLpck{lBg&bHeQpawof=@Zw^N4R8j0BBjC8W>J#Q zsoQq4m{ek%HECpfTS?=>ZqzAQQdI+tKi0~rVNN28h}E4S2VxAStsv|%UyJQxLgCo0 zgAJyc6ReMeDazP=EoO}%64qxEFZI+*E%mskbdrH18co{zb{E+~TInLQwmA*;X)kOu zk<;#BPoi4L@=@@F3TKE=*xk)VL^LwQtVyaSD|6KpG@DgZRD@Z@dlD?bQj(ZDml6}~ zwsbTUQN%H0mpL<}!Z{nWNzQ5%=BR|El{YK?l??)gz3+L(qFa-S!G#yUqEajOM4TsX z6G^GR%f4hdGN|cyS}15SO0?)g}=eyPm;}U&+S1gjA*`B_9(>N!M(M z6V6R!G(MLPNo9IK>~KjkTREeg!IZtdrQ={h`hdcuCf&hT8{TI}ltNr1lCQC|x@k-n zD{2Wzhh-{w?@bf8Q)Y0G4lH}DJx@qn#(+U?%%A^IaxQge*D%PpP zq+VgCnd%gRk2ZHc#C@mrk_kR%0H$I|nLty9$;usZOqwOFH?{2H>;r(J*)7ZK%MM4l>Z z=h4Jrq8}D97js}4j!DH9)Y_897}Z8m#6ozB-Y8?04LFZDW>OIe9tTz`*tQ|& z=tS8t>?SS}Dz?Upgo^CG7#b8bP1bC07v|l zBk*j%0xtD1i;&=^*6wCASoK%Bu$%Z!!Z2rmY&3v%%fvAZ5^aGrBq(27X? z5e)`w52u3TiZL()-r$^TCb2r&K&6nn(Z`ag-0>kxC_REmg-@V85f0_kic_Ia5n0y%2)VhU&Bq3y>HYO$e+7 zvy^N{BTiYtQ*=|{0%Tq;GjsUb5b|bTa?ETUiolCeHX{ys_{y83^VsY7dF;+^AVFAH zR)`aB42Bh0$pYv-1sfpcrOf?O<~biqa$%H39J6XGA|`E%$P*xiU^@nY?S(QVq~r)g zqK>r16>WRFf-nK9WNEHwI3|^SWSQePp1Pgzp-*V*K39#s7eP=aF}|51;=Sg zQxoo3FA@@apwZxrWiMeWtGY1~dD!kVBWBGMCw!DCLQXqZ%ndTINM$=&_D*VQv9~Md z8Eh4SXFB(qDK6YKe@meIEg%nhZvySV#YGx7U%Vm+D=9;KHEpXL&O6F;fgITUr*kJq#nRf!{1 zUWkAvGma=i>hTbCXWDs56c#5QX7V!i{qLv84a;EpG10$nF5 z0@FIEBOXKGlM$@v=@gu%T#S2Lvm*7yr8{6|2>t{J>v7hC&IOMllw2WKo^E*MReW?g z*Egvpc(v;tN}~R33}z-aMX0!k_AYJEeTE?*)oIQ@uYB{1hMfeB-po%p`3**DRR3z3JIE? zo3#MBIZh!v*#IgTmy(4nEBdWsDYynue$`!VBDC|gg6^!lf`Ziz(bND6XJAt>A#oG8 zS_9zLYJf_Tg@i0V0g*MBf@w;_#cSXzBx?3X%IAh}|(~g^9v|IE`GYfHTs=V!N0pnACBcu)L%!pE)gpIlYbbmYO*o zlXbWH<0vPtrvbT_0~8W8L34W!3ty!4TamGE8Lyba`ml^FHjY76jYsZmcHSfpPDHu& zprH#Lv5)k%fhc!}ymg-xtSN=Lgbl3p1;xw`Vm(#p?^1%~Hf|iz>Ww3FHAPrt4;N@? zrY#MPB?6&6`Ge4&{Lz8!5o5sa1`{Gzts2`tj@WvnG1!{84K}jDVAC-)w#@=q&?<1= z%N1hZ@|2>2eJe5=&)h;O4RQ}lXl&=oIHDaRj%de-BkN5C`GQ;%uIOq*mc!B&6d)}) z;Dl5p;LQ7Og|Ws}&ao3*hES2JR@t)$|180a;-m!-$Z%IMPEXi=8i5gUg6x zcL?1OgvY@xn+<_>x0nc$IHEW8aKvy}B&-FBgbfS8tObgM$kI4+4uW-k8i(tZg{=5h z#T%@uyuw(Q>^g+HO6@v~vOYWh!alkaSyV1{U-P)UYp?1XBnA!*21*~Cdtj+?~!3&NB!6Fhbz*w;Lw z`A~L9^0nX@alZZW@;v8U30hjg3!xmz*t(3V>zG0lSjLn|$d2Eb%`9>3YQEI4Vv(J< z4}=+&a++Wjd`qyCh9Q(*h(dTFijc&@LJg zI@Mic*I)JV=E%dgk#N_Nq+GC+3!ZY}E-xW;D`buBddpzp%1oUMXe_+=L*UO{(o3o#L@xOKo#B3xkb$yc(kIgOgqZjiA~k+DvZSx+t+IXi{+XXRp=aTe*0 z$NOPI6$`{}O=fm3NKZ|2+NWWF*d?U#yh*sj8995{#u5^rkU9?ZmSvojXU+gVscI@2U>bPGKa+4v@p52*uV7*&T*f48q zja?^9n;DrfQ@d!wuzAY95q(!7nrxmooq$%*+0`|+R~P^nL~B*ho>E4b6&&)fIZdi? zSE4mcNj8bgPK$Gn?HMqG1<80pE_WGRaqQ$EVtX?)PT72uviXKQH;1f@-y>Z`W?^7* zVjUqR7CN<4V{4AEgw!XL9*c@pPHZ+j6AP_rL1U+tA-4PP2Im|Xk%tB6S9-~p!o!(| zJ^p3Mv0t3ZD^Hd4^vMLE35g#f^{RlVjD}Fsc1YY^HiJ|Coi|hB_BIVJX#xqEh!K;S zSQB_hNlYG7LP&gqmxz6S!4do@f+b6wNFrd8glR`9o24#4%$J9;cRyl=*WVx&fcC*M5N>>U+$Vko= z!QLS=1eOPp5^Xc020W6(gZg%>jjSMNy?)dX+`4_sI)Mr+?;rSc-~(xk@Z*cy{{oPxxkIF(J@2Y9%Xy{ShqALT{yKv2Skg`&JBLMtkoi%Z@~sJl&!ZBY;EuQ&f`}+n zdU0J5O4g!PNld(m3zn&p=s<{x4wMr=J(R$6OtiA+IAncHXp4ub zGFbXKJsGh(LtqFAX=`B~n6@mqycQ|zXvV3!?z4iAEs+ThQ)*z*uhqICK%RV7_jpK$ zFPhY*Raiv_LneYE;^ikUtg?df(vsANf=&i1= z*q#+MIP-AM(j!6?u^Z$Xmn=T%`vtM$xcIK=HBNc_gruKEv^_Gii&iw5=OB&U(pclt zrJWUwS4ny0to?G<(uF&@gNX1fM3YuWL6?jQ(w1k!7~`g-ClrD%rV&>>y4!WuI3sPR z)j-27AvOjD-GLdvDeHxW9iy?uv>gf}u?n~VT+*Z}FLLD-tfIOeVta?gVA3h6)u14I za=NXo6FD4S#Dl$pBBs+op)Aux_K|nfAve^$w?gE$J3^=Wm(HC{Y+%6yJ55?aciUWJ zr;}-HJCDXZG13Nz-B?EK#7ySKSZ6-=P+ez)1$bNOI9T&3Hj$TZAZ zR_IIN2D_^!mOxs78FiTlc7&N*ry+D(k%-;G3~`n7@5JPw2~GfNLLPY`3ZI7?3ngwe zkt~+Hf^<`v+APgoF!wp7$(1P^Er2t@!{@1o$p8RcbZ+368vM^ye$envYgIS8?oUq1JfB-JZkOa)yyv)5eFLOFcAb}XOG=aAY*%U&^ zx)}_yk`}@Es1^>>BGQF;X&2%qvC28q(~!wDMPPlRBHqyrfvk}=AJivT zt=zjm2D71Fxo0aZE_nF7eSy@Ig^nO&%4C%phBth0%P^EPLyg@tUs zO^r6@Fq_*`;e2t za)yc~DKT7haQV0X=Nxpa@v2EKK_FroOjw4}$lYW{n3K%&6MU6D!KdRAOSVG9(4a6e zEZMhGRKHUwb;W}#^&}H=#$qUrSWsH_G$q|#LBRt%8Htdm>elQCa|Sb79OHeS@NzpW z8VjCulzN!67jfa?l4HRuOe9`eGRi+=O~Xc^Ui9gbWJR-d@iN|*GP*0Ppvc%)H<2lr z2o~5La7LKLEUpvn2zf#|=`2}6lorfY6!A<)Uap-50CB<-V|_C#=qdtn#rcag_b?GS zS;d7w&g2|5T~_?Ka9r6{B!<5f#{(6CxHW zHniz3HF@d>^Gwevn^SxQrd*bD>r18l5X7`+BY}$NJoe;&Zk?o%5UJ0Dc0MGO9uL|d zkwCg{oHOAZ=e!*B$Yw=u^_h9WK1ZSXG3PQ{Mf@C8do%aP76;?qoZS`j5L+m)hG;d;!fj=R9r=`h5$}!d&I`ZQdwwEH)!mx z=7@+s++v{Zj~d(Mp~lX4nk5uIfmDnlSbqtYKst4tB(&SaiB}@y05x&AqzUG3`Dnfi zR_2_@FH1;isi>jL5bSn_O*Hj*l%bfGfBB(^f>WJ9f5xLXUfU9Q85UHV@)n;DN92P7MXN-<4rgc-; zoAt=6WW1`F?5{xkM=>w1?MGOX;NOH4i5{yIG26!yF`IovOkWMd)6>@2CC= zT&#yE7C>V=A`v@L4#S^FdO?pa07{+SiqL9V2+3q4*u*4YDzYu4kQ-78TH~e=tWTlo z#I%@jdnl=aRx!{|fV!CEB`6`Ru&oTT3pj*M@zuESa3xrHGN|0?_)OQTVBC!&NFb}_ zm`ZNZw1?nrO|!#xhLCzGkddbev^nTaA_X&^rOeAx#tW!z54PXL#J{x0PLgZvg%_mV z%o?BKEaJFGIIeOpeY@PX1mP1>&cbb}Sc32gK`ARQL|S-++|NhhGcCQUA+wFH8j zta_XQA+`iEp&5dgF?R*h5MnQW*nLp;pHCyvY2Z7{b zi@>w8)|jd>74mGl5PZ52>>RwnOa3VlxPaaCna~*{p-N2R)(pa8VNZo?>}o+{5}urB z6YTzkaQ7!FgAy9CY+Bo+hB=2N3+(C&VaWn#5r+wfDP!e&Il_tsws*EPjum>{-W zXNcXo4}*DlmhG~n8Le0sso0V=!J8{Ca2&aF3mUpnjMzz1jY+owoR9_qO#6|-CFk$P zV4@5>CF4h(GZ{iGybyx)AZip6#My{+VAI4J76q%Dg2yG>vm&wEvnHX6 zUIi8jN>mqHBy1e3?Gh)I6L)Rid?$tn?N&sPL52h}o?%I0&p*I{XZyydMs{_iP{B~i z;>DbeYcJ&LdR|KJ`03{Y38JUo0Fx4>^!$TR8`-4tQeywdxa15PAh)L~+)W`&)!Y=q zRLJ>Ekv7S_SU@oiS;RcWBBrJWg^B)_(lZtkl_f>=-~&LxYKisGl)mVUkQEhXJSPzm z6ET#syT2lJmwk0wl?U}oIJGdQy#x+VX8gN7BV%yMzuQBg27CORu|eaKE&tzGlp*nW>4-^_r}i)6;wUO))^RLdqAZtw)VXY{)`@UaVXk384j_ZeLE`Hqk;_=8FiK<} z{zhPz`3l(;twQeXu7<|6gwW162<_NIXl1{GPV^(RI*x{=ONicMNGf;vK*KEK&^h4H z(5{&@wv)QX?tx50h`kuG&%&8H3?U`OQH0#fg_Ar$AQPwZ2$*xo3taK9l~bb3vu%1j znOEBgj0+kUTy;=rFLvp&aj&Mv@gR-hCf<~}&{5un5(bNkLV5^aLB|CTEP)(G60*OsxcrEkZ-f zNx_nTwFf{oOgYRsEE%*WI<>(<_KFcZdt9otJ|}_FoM?i=Vrv)E*d5hWJ2awcpDNMV zl?Acuqw0vg6PvO|iNsS+Tv$gS2_e|ZFa*O;`M)fh*0!gxo4GW!76Og!O%#po!4QK@ z{tPx_N@KUHWeC>7V+dAQT7s7cHxU?uZ3ZB)ms<^izt-N+>xmvZqLnYm~vP+SZ4016++jC5E|`T zL!*y^Jt8K$Vum*5m_|oJ>S8E@Jw$H^cCyRdg>nLISrDfDs~r;=xv?Nz9yd3p zHO{@nOU}=3`eOeL$G#rOAua`g&)Pb>aheb7w(3iC1hR{s}mZ6YX?(PkzaMC z$F%UXZnu~$A@!qp_3wOZS%P0lUwxlbs)X7roEJ@IAxG3dDATjQiI)TP=iws=RAB&Ficx+1KSXafKYh^ zJGW-J_I*!rjQ6M=f%-?v@XCbMC^dHLvkWhx+74V$2@0ItJ_kZ~%>;1f9I+rINf*>F z8638Z$ob0*XK?owwg7S(HzsdKXzbiWXNB|2rgNII#O!XCPCHAD-F7c1A#@vl8e1n5@cwS(&Karac}cefoRKjov3t;67%Z%z zFjuRMn6kI`SWIeyT*uG^r}G+u9XffW{fC}JzEW_PS}(Ih+j zxpD<&H^wzg8MM1~8k!jpq1EybS|tym)!{T}mr2A{Gch=4(VfuNIOpu0?t|EEBWWyn ze76&6u<&r|;oQR|$C<}3BXt#%HMS~C+$7wU-yC}uC8uhW1ew$B6>_gD=J=AgDYkkG zJLS;YlMvcNfw_KIyJVk99jeEpg=>BYoY8E>WTPVI8%lY?Yz%o~9XuFT@Zy&%1VHP| z!{EZhr59az*o!Z6j;&^=v1@&eJ$|$vWBTy0#+jFYtBPx!d&RYrg2B1>z2e`kzG1N7 z{0pys3a@_3h=(t|`YFBmr5C^Q>ZkI`Tcuujk6-1LCypYY;MKTu24o1aSBLJ9jwR$i zq4ZJ_UOl**(3aqp+&Qwd1V7ot@2pN%X@d3sVY|22{_dp;OYnM-(@iYF&qwapSYCR` z7JkM`KT7G>SmoDx~Esk8jbK>TWOuYi_5Ugz7I7jTBZ&O#{ol>S;Dpm}_ zK^@Dy&^BV5{nBli78bfYv6f)7uL*8mHH4B!aoR``IVTB)g>HYr5bW_sO>j303wjP( z0%8^@+{x!uA#&2Wh^Z^wBBrh!ikR)%6*1ejD`IDf2dHdi&hn%EQK$=`s?4Zbn$TI3 zY?2kuCtZffO@R^-uTDiqUE>!S%Y4=(er5{dN3OEanY#?ZcDjPCEd?Q@t^{PEXb5z> z3I#r=T$=P_5*Zx+e=Nz_;;RENlz*j=z+~TH__Nh?V?nBB}M=P%o5UG zCA))BM$`*Lsg_<=4@Ky*S}K2SRtzJw^SFkoi|lTcM~LaIozlHG5G$nYhxBty?i`m9 zJBA4`wZSnpWm2?z@+I-6uOpB~0a#EkWQJht)ex-GZ3tG{0l~OsaIkc>q1rih)vj>P zF-xx`cfvKcTev2^pgAs6GLafWMsr-IcYrB{CGF1inma&sfSlxA5$y642ubD~LuhPm zjwOfD3-W$a;+jRfSG6Qc^+y?+f$2Cc(pgmw!^ z!-PS%dSD83ZgP2LWL9ZZZRkHHa%UIwcGBS&dRAD%A5j&`+vc$tA zxOzj<-h#6Pqo#rwu=g#Yufi3+G$Ku@2~PW|=y7`!1@umns|t5)?Bc2-hd^@;ol2=; z&SA-+)x-@J9?rb*g@-GSg~!kCDj4kX6JCDop`0qgXFe@|5caM|Di0zB@v>f_|6ykX zHU#T%pn?gG9LT9ky~*O?ier}}#I|D_oOsyh=c=@7;()d(;G#XeSGN zQCi7p8#*Re3oI_(cc=jORU+NjG%^#ehIa95a3VaMGS=2bh{ZX_nHS%zPz^RO78`6P zUR82(SzKegUb9$unD9@@Vol-P_8tw5y;4JabH-v)8-Nqi5bhZZ))QtU z6{idXtrBDj=9G~k2qV`lfevOQ2tNcFAmpgGFk7`Ghr&4zH`uCpNJv=IDO_@FeWW>p zA0noC78&n6v9MlP45Xt#VJ~>xg5Z?}XT;dVlbXF|LvRZK#FbanEaDvP zohK6`_cI0VA!)92KSmMp*%Ju7LCiC9!a^!n0rU1MDlWj34Uks0vnuNp%8E))fOOQ9 z6`g_svh2A>$Z#D<=9t93=xPudPzvUegNfa5L&U=7v?ZWIgslUGti)BQq~Dy>07-9O z{xC3MP(&HQiG8d_L3?XhA$QMC6(+MgDjE{8ug=A%Bv*;^lBZ#rGHBo7u-N+^lf)9c z!q%u@NW>iG3?`gW&N=0rRh(uVXSs)IsS>yRFlk4EeHTt%>a3<5(`HtS6~ZoM%`Tx+ zmK0a+CsXXi!)fGU z|9i%9M)<>f(=K(1QuZy5I81mX1S->J|5Z*&ah z48^qSiY80BV6q8(;PJQ_56oJru=nN+Aj!jeHMyUV=kmS+m)5erNw4&zbT zr5nfmGpl^!Zd^mMAWLB3YVT|Tt|GdELrlY0F=JOT9W+r>1&N%ntX2tG1uGcGq%oAs zV9txE)QIzl#b>%%#Wd)IILlEeqfJ|7v`bc*)07jpeP+T|WG#=7D8uT-ZK_=YCelW| zxJ??DJg}`5&?vRrG>8j2MX5^-9MZ`fFwLF9In9o9<7qH$K)_}%#bBzx1Fk%NF&%z! z9MPo^5?H&K7oHstuob2$*!vz+9o71_bfvIPaY&S$ z$RX<}(v`EKcEm*Ow2}!yZM@Q+A}V4PNYn~ErBzQ}#YUXc6?&qM|G0&2;x@}m3v(i` z0GG59Gr@+ZI-5-Egx&~JgxoF*1tAdGtq8&=P~`y$IVZ4HP@KnHLe8a7;a3n43fkYx!W-8mn@IuY9J2Ki5;Bj#+O>)qL$^7ns|Yrs zNc>9B6%Ih!6)VB2w=zZ}5}EdGf3m=B9mYR(x66=_@!O_g@$&k7NHYhvATsqTF2e}SIC}OF}LxXXkU(%$7d&{ zpwVN>$N6|R_wHSa?m@@WV%i4^a>K&ll+?SziE9>xGY{tkCp2gJyo}*3HFp{{ZPMNY zuw-9T(mRUOEf6&}KY z^ z7Q7YI8DBfY0inbmWMx3)}u$P_AFPmZmd z*}@=__1G=@RYnwcyIC5$iioY7+R~t$e{_Y4xy``flEvm}#a>#19W=BZhyo)!xpo|QFKkHgsDDH)3j5@{UUeSM3_ zU_fD(g&ek>uZ>ESdt2?h;UMn z^|XrjG~%hpV$R!ol(3lgrHc2ZIAVi_n{qUPHJ^1EP+I6kU=l(T(ufj-J=|(A%VTUd zZ%uWQd($pTz|-CuL_$Kl0yzP$pnIdoKx@u7m{f9XpXnjrOOikPZjbv;8zHtY_Yhoo z*yBgL1Yp`HRQ7Wo-kCftA@vDf5^+%GSonn0kK*&7VviiSbQxuX$iAQGU``~Na>BwY zI`=BJ;L!`OUJ9=#rG?jV(!%S`#=ulq=#`-KOHgqM6&u$-rG+d{5?8ciDvu~co+<*X zXXOAzcu_VZ~ugbDKx@w6w*!hrRg1OHFvmF^LPW@b;&0zt3=hbIbRr)QSt_DZZkMie0XQndc&{P}8RkCr1Os)WXN zB0%isB88o)&ft_|YpVrJwDi(x<*E`&qJ>*bL}%GFej!VPtTh!O&wA-)y>xz)EEbHp z+c49(@c7%EAb2-5imV$5#Hm|Mm+n4qu3grE14Gr!nZVSATbkvLWQIhLOP1h{@3(OAuZZk$OyN#R%sfL+CeM zQx@L2TQoRh38YQh0YyrV+!bBQ7*erhv>&MhWFvUWsBvQ^Q$ z&4Ip$Q032Ldg9y}& zi0s`CD1(NkV`ylFy2keGjlsghDUWYug~oA}`h=Vl+(ipTNbI=M(2gsO?WC%4%(Iw~ zbHbLu@{k%IPC7(JH(eCL?Lug1S2G6N-ed?VO~PH#SI{{sP_T4zNI|!mq#@_-+{~ne zP?8LlF}YA@2sy3B(g_IR?)%5O0^EIPgbB-#Ip<}*X8bE%wHku8QHY2-&qi4A_=T5M zX6jS~C&fkN?obyNvg%RvjJz8jWk$g1I_h1$@!PRu^E{f^+>iUKe@RpGK1lyxE!Rly+VE54!pf#MXg@7uo6qhFQeJyFw~VIvPG!$@md$y=72b&+|Q;;1VEcfCP7U zcMB|wySr;}3lQAh7k60}UEG4ZyF+ld0Kp$V-(S`9>R)wgYv*qF-50lJy8FzzJ*6`U z0t7`QO_Wz0EW*BBzl}hC-}O{b$qun}wtN99jX304-#?5mX7;A(<}TKL}L{DN5-DJbrbGOTsujj(D9l4P83{Z6z6`6lH@;_?+Evd<{*YFB6jvY^8O7-S7ShElD@pi9J5lt3ent?s z6(`>5vGDuf?7i^k|5pozq#4o;W=-7HrhBR%Keh95lrd7=_*CX*AH6V;W~24l@8oq9{2zv`9n72C;}U66Teznm}sQ zwkM@E)>+(keyXIjx7nV!YBxq7&mIBH&8aEpQf*xjTGA&5QUz7sk?LhltI&hCsH8zi z)&O|}Ikf2?ErS@cIk-?*HKjm;aRtj3Srwf}dOCIedMi+BFsCv$a}11*o&+|RH61|80&HUiiKjj+TY$1ora0IWGgl*P&h55TMhNI*JLt>>1GSSr$~SSNehE8M zo}a5P3c01RIToFp3n(jxRaQkTC_$H$CkhAgf97%{^&~RWPoGxflO2to0!%QS9VB%jg zZ~?Dm38W&aPgowldTQIPg(tYW=bDDVTnm`Z`aSn%@Gp4gj#57TP6F!N6Rj9-&5rBN zIa`G?z-h{qj%0#m%Fk?FThfr2iYep57gO=oJpM65RQ7z3d`4cyIma&ScFNjd(LSBX zIWdrY%8m|ZRMH1TMcUwm-~~f;h!l8vVgyOoQDu#N{=f!ClESLZTQ5*`8cI65mK*=& zTIef@sY9tQWt9|7C!X;nHZoJHmOuiQ4Pq5r;b>8eh;X0*Om(T0{*F8=mdp;1hNpCs zn29Eyq)J>dgTbz&ix~Qlu1Z_hh+bp6On_kHrK*&WZ%tK71w(paD+iCLb-ce zEi6MTL7Zc>#hJ-J@nuv-P&SxU(6v=vEteJvHqtCbg(t`QIDw(5iItPd_ABr>IIkY1 zu{5jYD@k^aX*m6}MNt5x7p{^MQVF1~l@}2cx-~8;O__5pzHRWZ5*9}~3I-OHMo%y< zlYM>9`)jBbw<=ir$}_ZiNFo~N-T_5Wtpce5dT6v7Nd$6K-8i}0?59Q(4FO)@qLN;9 z5@omcC7ce?n0O|;7|7~@lkRFHJ{2#x1Q&KSfL>z@{f$4V(R$y~Vh$#2kJ#E3zjRg1 zqJ>|=ju8);te*@JToha;4oVKquZ!pGm0=@dIC3XbBeI~(1npWF11oxzAgpRMpSZB& zO)w>+d*%9!ssFI{FO`1|rA+*lhO`_NFSH`VSMBhbEkay{FflS-Ewtz;eh&RwYM`1b z@1J;VSEGO;wawKSf!SSJO0rJG<{G$5_kBCRIKduGYrv& zh~KFbC#nfpB+sFMYt#`k($Q73&@)Z>ce(U?!MNW)35W`y1Gcwp!{{1&J6F)3Y}$wt zd*obu+)smX*O3R6XucI>*POR0%b*}S^L*1-|6w;7+-?D5Fo$3P5QE4S;y*N@@1Mfp6g>XjvpX8{m5ks&6jMwqL#L!0CKs+p| zDNQL_BS}mRSIoca%AsdkC1iB?aRr|S3Tb;yG>r+s@tRUzRCCd31&{k;7T;z#E!@&L zr_lJ%tohGT;%k_QHD~|CFH|5eqV&q&xT47iLs=c#sQ-gNq-{^XSaSxbZrt-Iat;zl zRRlyu1}FE_!7^MV4u6*djwV`^F%6-pOC+eEp##kSTYDK%wCb~2B%-vnaha--2kj6* z1MV%Hkh2h=RzDP+T(VFM#z(H_Mq6Vdm_y;}vGW1kngt_w^XYyfS3uUtthf7M1uDz8 zZe!S2ow-h~I_A&=_tz?7exyRCV*(9l;j(Em=nzts-qMhj9oe@IIdfvppy(hK?J??o zWSGhN(x^lo&8&?vG~!UqnF~RQx!3QJowdM+U{71k!ZX;Hni#fW264E$(UB1uw-93? zq>Ob&X?ecOVovuFiO89C4Sglh0p40RUPHhtDm_+0o<2wi$5Uv4)esa;#Z{F)EpJVbFpEFc+m4H=t6!Mx%3h z$e@i#5KpRDyU}x_lh|KN9m<~|BD4vK@Q|eAE zAq$&`G@zzQDb^{;TG2{AW<$$BHGJ_QaTn+T7|9}r%+U0ecWASYH{n48HLl*$)Mb?IX+kL< zoK2{c!5js#yG>JaSkY%0ocKf>)~x&%GkGBv*MeIqX=0IHN179I>hPGl#?(3i-`QqS zRP6@IBEB(m7R@=XWVlbQaGbdhfw9dBgmygS0M`Qhax`+a*dzvj$!G@oC7;vAX`6XvDO14k|;pGyo`LoZB&guz)}L7TmQ zGcb|Gg>pDo%d(a0eWHVF{<~>rA+|-qJ9ZS`HN0rzZoQEfH}2oq;FXvRb)&^6FLzh5 zTNN3N!337Dt7MMyTln1!)LiTdb!dzClAJ zJt#fW+6^BRE}^4=%}j%>*u67 zsAEIafv8&JbCi6lNxO1(mKtcPJQZ9ajA5Mc{Z?|cYG(L}NPmtxfOr+30JFw@?)Vj7 zg9~O966!#*W#w}jAlYnW23(X~3t{=s!ugj73R&KvDtYD{3s#m0s?m36;i49L3(&gI zg^EICgBQ^ggl$QA!XEq*WTtHdCwbKC8LWWl4?2WXSPcEN5Pk1?I4E8QGq5=%Ue!9_ z$=5UQtI?Pw>iJg7?-7SB(h)MmjJ3}_sB7j*Oy&Bm$6FsCRxIMnFi}bvldOl0GZFWX zEZTp0W{)FGcl@jkSm^C$A(bWQ?q2Mpnnd;3nmsRod;C#LMph&qB&}WvmTaz{JkAw}PiUb^9@v zfg5r)fAOD|kfahTF(OqJf?%64OabFQ1$;JU+r&znnaZAKa{ z*Vx)aED_><`JX=M46&4#w-uFKi?@7$68dr7rY+1F(lY$Qy9U}Gvw+LHl>9z0?WWDo z&U}}tNw4?7f?_V}u1Ct8TBtX1U0 zyDf7s2rGcab+D4(V^e&|#TBa#-d|)uW>x+?4im--*q#}SRVQJ7%4S4kVa|#dff7=p z0B#P|P%TxLCxY4>L)BFgXSv+?^;Hqiirz0HW`kNU=58zAKjHQcFX>uMA8DwH$>=Zu z+3}p%iP3yX(}{#S;LwGtd^ZVDEs#}5`M&~VmJ13hpyEnNoSTc}Q|`9nG6&j@B+MsM zfUR>Ysadq;`RYKct2*}%dehvsO8Q0}9&#Wp>I|6xUR9W8~ zf$AD;kBjwHSlM=iP(GD$XGW=WIb{n!vPaoM6}<7bZg2 zO~s)PXu2~d)0^0fhq1OFe}+@E_8}dmyKDcM;b82ZRHd7bCd;Mgl$)*zuLPOn`mk;6 zj-g4in2x2I|6K-dnZib4FoLE^$0Jv~#+u@6YdmtMM%ScTyhfb9j~mv0+^o#NM>3`6^>{R|g^i?Y2wL9YcEQM}C48yI_wfAt=*7PYW zxg&$?{|sCPdW8P}Am7^?_cYpAgLgb9Hx(+~I@7(pWAc2$Yxj-HN(;YG!f9_o-B^?A z#->+!P5Bbw5!!R|2_7gz(u4u7#4$G}U#uw20l9Z(913y?8sB?8axR z>f=OBw_$MW*zyM!)P+A()wy*>*yhC(+oA(1K)Qd%W>TgvwUO{)m9QFmc^c$@-aAzx z?)Mh_QP;Y1Qo1T{{$o-t>m}yptJ&VkV6cf>eG$3HL#$05ukPOu?xOb;Z+{e%w)gqE zAbK+8LIc`&)Y=)Az>>GijWu0xkijNq+8b2o9N)}x=IV5(q9O6WT?l#6;Ac zVj>$GzAY-?Jj=){;+#atw}OD0&sZHst7Q`4EYWo8fT7Se?&w0?_HQZc_Hj(EF^1h| zK#va^67I%|(W=}*b7uk-(WqV{C;Uow zbWPfjR`nT5Wo&x#m_w5pEF(4V{OOsYZU^8ftd2_3_jkO9P4IgKAI$LlW7Zf=v6m|~ zK6PQrId}h@^UvRWYY3rETj&CsRV{{;d^|KXb#bc4u8(Uu+_sMFC%%QmoZ0^{7hg6E z`X6-u^s?FlxEjvmmK4&TtM54JZ!DfT(} zu`h%ac8G)YTror$GthQwJ+TII`ONa-1efR3@3Hf`I+?R3J7Lw7INc9}q%+T~eZ7VG zP+!@J-p>t9;FC|xOX3&lY+tBBZM`R#F zIu2LljR<+f{(lao)IfNA297=6t1wdnh zKq(mpn;D24Z!?&{W3MipH=u+Q8$A_W|6{3|sxFJD>S8@q0AEVB$V$1XnvrTf$5lBN zMO;;LV|2)1n3~haer;M(o)2yp+of#}kC@~$$i*99}`4>xi)W%934T3xKrzkWvj8i$ON`{FE zQPGM`f7C|DCJNNcY~7Pzi(;h}Up*hao3^ikO#w}w(b;m>-z6*m1h|X&0HhcAST0o| zne?aVD_m5m3(w&v`AudyZD9)-zr<7oC_U6<_N4gks70kpE z2^AjF6o3pptO{y}lSoG@*`mE9Jcee}5Q5HmPH9MV!&;2-@Q_ z?xG`g@i=of8gMB|DaO<*VzU-!tZF<~gLc$In#AxABU16mYvJ2Plx5X|)*(fthF;q$ zjCmC%PluA-?}S=2lsXGr^G9gSSuiA!&n?@*`aOubqd`WkXOHz$GuWvC|2;C7W%~@& zfEtroC6vqsXp5n(b#~S#S*cOvG2@xD?@lsUAIotciU?GuQ*k7-$T&jC`W3JU5`SPV z#Luv*5htEr8A;oOwYM5~S_H!MpRc79Ba;P|C8~u&DUq$EFsJy9-7H;2ZFLyN16Q({ zBlDim1b3wsBtGlNuN8bc&eIP@TL<)V@=pZ7^JP6pmUuvYGe@DSM97xVj#UKH!USoDNnb~^xr#c04ReDdx}%A zoeD{AUj6Xb*0HW?$m$-$T{50xiR)XHBj!OI)C%{)FOOgwkyw`zx zAE+N^KVKKK$a zTLkN|CFlR%3ILRx;%fLi5$?$TokJ<2kCqv`i%kvPwy+p_KC{x-4McD5a+QVhAEdAN z!AMuF^t(5a%|*8USV7CGv8=jrHGhL830xQD!A?i8HP zO|^cMewTm_JEO3ei$%Xs1RjRGLnGjjMgp^OELbZ8QL zer28|C>-3T7agAo2?!%oC5{RSL8QYY<;}lnzM5b$Bibs9mk7zrMp)R%(2a*j9OBtf zFS(*Maf6-Yf#f0-)&g=A_6J-}KthFzgPxJS#2FLzR3gYH>j-J!@5OISVFly6RO6^K zBawF>iW($OZ!)csm9Zy0EyF-S%t`DJhVH`A6%Llcbe(-v8E71*v6lFSpk>L}-E0@|0r=l785Fs@^3q zW=WQEsaUNuI!ja>iy@AzMV_3rA>}DIF?6O#kW$-RKVhpmXm*t7ot$e_Jmy{AkpbXW z;D*{DW`x@$McY`l%l#M<@B28MQT(kOJAR~5apV-Qf}Ds^zi2KZky4b3lYi}bUJeaJ}-@!)p3{+IaqTP#W20c0CP?$z^G?@;Kqk0 zPR#mif_FCGkNY>gmYQ^ZPwLb)tDb;d)2D}o)s0w&qw3nFlX3##PqEjo;LX35k89c!GA?tHumiBlH-Y>7|*a$o`T6pv5WXimvk0Emn zRPgy$7>z}wCfZ-v?j;)5c7}qf1L1TW(m*qTlsf0W^s<@A*48-tR2UC@iW zO_bq^H1KPw0+nWsX$yp`RKn0~DUtaJ-(xTQago@btA)k0QXgt-A*KuUa3~iIzq|3; ze=}4E4nk)w7UDX~UN+*eg8XN~wU^VvqE)PSa%^mFI*^lc{Dh2@ynRJgg#u}>DcBn} zJsgp8&tNgI;ho0FL0@VT_&Dq+UQV~twD8TEdW&jNN0=_6SGZ6QBYjl4Uv?(3<*78ccG%r%OccAOHv9<{c^JjtTJ_(?@K(s~IEp=QF z?>zRZmmf-Xo-75Z`#M94%^!SPz^{ce*IiF|`>o>(e*#jU*E94_8`GKuYaT}yPcCx5 zWqi~1eNwv!xo={e9AOo4Z2Yo6Hrauyn320a(QV$cxUuo)iSJ>O=j*>PI5z=rwyuAXV4F6w+;hJ zEf03AZqFvY9S!xnZqAR7Fy18}R=061BOB~Zob_u4>A7hVr~^4BF>?=hGnM7_4Lpu_ z4qdJNv2*(YdoQRymIoojrB8KpZW$N8zFvD1Phz{dJh|r+!W;sQJuebB!!%7yjXC-~ zS^~N*>r5DOjH95W+|;cu_OQ{$lh`qsLq<;OoE&|Jiy+o0MXm!b^;<kG~+WjPkz(Z}uG!p3c z)d$^GXB5lhOD@RXqiKkrSEldp%q;M1L6G8kwfp=}ee{gBr?=mmIJh@_>W(pfP7X;- zW2eV}k87A)+vYs&772;U5zM!~)`nIg4Zp@Fu({Gz$knx`tkwP5Yvn}Jp}3@7M9l5#@ZP9#lDb! zn!+-xPmHduXT?kinPgYh^$@1x&6tnr{EdQ_eRj6S4tSo!zv@PX3u|&@4Ss^}kEdhO zx{|R`KGn7y-3e<83qh%}vRA=hTkBO9BrSp9`Y*4j6m2aY?p~YSNBgINMa;x&ECSEh zJpoL0HWp38cR|mz-P3bUYJ;gL3w1b-kcn%%1MSn}6OUNC_FLS)e-?h0a)AezeyV+^ zDiLZyld_ZWb39#UvCJHBpcECcAEGqdTxZy!^uhQRUz=;7^%G0`Vi^{ft~mSI^D-|R z4TF*Ei@AgOl!NW?CpRN5BWpLOIQy-VY%gx;z>Vel31`Ru}(DJ2+S>J3Z`PuIHKFJWN;ROl=K4TGpGO zjEFrO4kU92&P^N*a|T&LAAD_Xcl;!B44lj>Wn!M8{$m^NV9%v47_bf47 zNr-LTbQBx*zeXZ;s8o>>`(2)Ak*r;Jks=ah1o>xYXged{Dr6h@yv>8uj0k%Ph4AcKPxF8C4XJ&Re?7USl|<0 zs`($yNf~{&m+Qq2)WKh)vx%dskp9k=hrQ0bv5iiGmOvjJ6zRCZXM;frJYzE}=L4m; zW{Vrqi|gBsOp^OpVr>E6;`?qF-8<&@HrwITdyxMhHr$rm5x_i zKMiNUpG=5Q-B^imvyl}gW{Fr)2-22{m8;~weRf$ExEXjqf1?h)@l`TxeZ{j`ERZ5M z;OaF(8Zm6ptvc)f&i|-|Uss}jzF==e&Iik>98fiM7=|Wv7=s5xe=cW-*w(XYkMSw!xH@d_N}{I?xEq+0PW^ z5@R35alhYTeom)8PPsOzy#R=^_u8uRuOkqC^SpiFuyxc=wMAe41a|bTH8&cZD6f4T zmL{PVd@|D=8#~u0PuWQJbp<9-uhFOtFV+e-e zCDjpIim=}%$to65Hyf~RCJWawf-CIE`_H)%RY};saLl~{-Y{WQRX&le%E3p$SvzjN!jHKH~ zYKe~+5(eRL_#f1tn|#knIFF3scM2Wr#7ydym=g(&5A1x zgg0qTEMMazaT zXPiyi4Tir9o&u;6pmXk!LOc8C8<8hLON&~N)7BBS5@oWg$Au)Y+0Kn9?|g^azRvBa z%Nx7fzrp%tu|xM_WR{+4z2)xu^?T`j%8vD_$(Ph_UB61HE8oBVr@c}3N(`wO%)?e5 z)&@fRc<8PNUsk)*+j5V4%KYc^f%AZU9Scm_XS~O&-*z+& zDwRY^pIwPdEq}@~Q%L{{`cTW z^)3Fu+bf*Q(+Q;L&!Znq%NpS)o>P^#%Q2xqcf9>JT|E)cineCXHr6hvqmBO#4WSIz zVag47a8eet-FfHlaYWR6f;z`hxsv@0S@S5+z2}AHHJvpw+@ZQ;p8f3rk715DYfT6N zg}6dSLEi59rbCO5SeJx=_#?4o_2Yq$^qZmXTJ#-9v5!a@zmbn|?bGGV>GQ@>h$V56 z&X~l{Izs&Qjy8X@%WcG_SGdusQfFb(LY|_D^(F45f5;Y>~K zZk56YMhiw%NUhK+XqAOvnC*~Ig(FCBry6o!i4c$L%)aEgBeH<*zw)#tZ)c4|XaSh< zoMQY@Vs`Hx@6KFhcfL5Xui;O3Epq$3(=5pN#RhWpqTdmpsqOGvu0qE7au`?tMG|8@ ztTus-=&L3+r`!$=&T#0Wc`D)GV_QuhN5iuY7ptgqWW+CLsQ@-YG@S{POLSRSB zQ1a*<@#O4~o7BJJy8hum?Df+dS7w@*#~VZWNEk1@!I-YyYn_-&EkB8-@+Cc5yiS}< z3<`2N|vr4E-H%Z#12zC4iKRvL~9I zJyPBm*AcgyLIZrdTkr|kUadJx29=1!>YaLjwR8%w^|LmEox~JV7WbfQC;a=`DeWoK0ik()))4nw-C4LkK|3mr8&!O9HhSK5eY^bU*A3H136F z-C7h;w~`iz6uj*GnSE>Ke7aZWEc6_kt} z!wB`Lxc;`rkO-5nJA?PK|NNhm{yguHkXSKY_-JLGtyLP~4=Y@ng876l-?WmHZw@e) zHn{~b>^i#IUp!sVHc?Skr1vqL^VLbmtWLJBdy>^LvPJzbKhBjc#QDy&{dCxSjEHH% zfcU#=*=&LxH$~x5S8hUXPA1n4gkD!3^C>#g9IDsaKOiLP9(X(Y+lkYov;1uLJE+X6 z7Bj2>c#OuS@Up3Uicl@u_640Shw3?aq_w%z+moMwLOk@1cmi#Mg2o%EPkZZc&R!4& z)_p>33sSHK=Y#G)L89W&+^T=CdnwWKV~F4j3|NUbc4sGdjwTLN>wIpv>fhkFLTZH4 zh!nZkateivs&WzkfdurNMkyZZ$MDYs{#ryxykQz zx12ji`JRli&=Ea!w=7#OA%ZzZ*`YsUabCWSwtBeUT$CfVa+r5nUR=$9%{mauPTzR$+e(xOk zymeSaiP8US644d9?N-#RCejx0alO5bvchT^{Vqkqh?RCMQl4VkLZ0a^Q=XdXw9CEt%(hRF!iUl$1A6>yx_h|Rma z0~)<4&E8gl;Mq%}B6Z?FqhV2h@0x+LF1|GFi)qnlyK>cxd|6OkA4ufauIHTJXeyfc zqATt}>@-fW8_KQmy8sq_gz>n{W^jzcua}S$*d%{)`LQ*u{&D1XV_8*~8_cmO^V>aq z>HE?#SW{C`|9sukOEuP~4HZ~Fx?ZB@h3{+WVcauCHyR&wUKKjq$emT8TY**};%n;X zl6jMP^RI<`XWvvFMr4!I|9)tBl4pFVL?2q;{KKeqRVPbF&qls`c%Yo7ZIZj_waL*~ zxk`cmLmJ@^yVK#2P@DPg?gV6;(e|#_Vz}}Bj;M%4sTLJ!h6;kOC`SQT^4O`$Jc>NK zn1oKS4wuy>rDwuLjN zx!cW+qU`nFzLZCA1xm2ZABO{GeU0pC``0$AW(xK#0_yc80vu+tE`-<1Hrqm5dbwGP z#9XS+R&|JtLu^MmWii@#`@V_k_-arbt7a-XWG+YwIWe)7JBg zr2fk>cw>1->~y_;a!v8H;j5-?mVha8dM<9zkm_vLEhN5Ez;`(;o}>o?=}`6dyzt1X&{CR1sWRo$h!z2ARM zpReV1#GrQ(e0p+A4N@1^!}B|qZ%!{GnkR-`YXa9~2vM(eO#6gyZsh@?o&K_kd{8`5 zoiB!cSbPFo)%zr7jRRfx0j+N=Pq4tBn;uyM>y!Q!B5%)@l-DF&br-yb#}{vt@0ae< zRt7zm5j&-x4wSDYp8QGt8(&QAjo^DWd1HLm-jc_e+wTi|!czv(2N! zwlt%(&qzNd$;|@c6Z+eE8d=%={et1xuZmU1w-qn|;h)=)h?5iI7i539Txb}*7{%=# z5Fn}SbU9#Yn#lNI`U1-@dNGv7z+>18+uOmR`9s)o=mJg8V^(ITQ1MwsT36^5g#LKA zyQ@`L&Bn%m85L0(ARytXs35i869s)7?0qkNhax%I`MFs6g*o9tBfI}tO5M?8WM1E{ zUXNF4G!%cX3;5wSW}gcl5bd4n`&zz?fIWW|88dxGBOcK}k~j6dUn-+K!za#7Z;uNu z5}p%qZui(rRg2)>X4Xa%+UT-foZC7aimy~zCa>5#jX>mVsKEDd^cQ&TPu3G+nVh)L zf6R>f)fV^0J2|sP@}>=XW_|676A{wt9M1h_gxw0}+$w11e`?rUWd-4bvQ~sR>nv@Y zJ)OV&HEob6i%ZDzYV$arhcJ)*i|6O;dQH*$`TQ|Wyd*7`q8mY)ns|f$&AhAo5%hEO zs`;Bx8+8~ZI7Y%!W0My`@Oo9F#|hcwYxKT>K^D4-+O91R$iD)}{BwEmdKuYHIU%wC zNiKb4oO9VXbQw$Z8!t_|WCD z$aKu6p9~B}oKUJryPM}}c@|!{dek%BsPiW{sodmp1|G+I$fj4J$D<%~6Dx5Xe&E;?>r=yrHS>FT`hP=VgaNB_}pI zE>>J@)9Z_Z`3{{8pa1XFI)2GI?;{V}3&ZaL5iXzHvFMaFH=Ab!o~BpEqilItUiKEe z7{T@{<F9NS5C8E8GgPj z9kjKLG6_Cirs)n^^YrN7cCGQ(rqr%d(e&ht4IkZ&c3_vX?vFIgI)5^PuU!Ax>2ddO zq~VJ(7RBk`R~Uq|NPPVuuK9o6N${u3q6el zMu<6n1NubzYB=Hi7G`cE=vXqt?z$#!C#5|EInc-Ik5xVGxH zxc5#_mg#|Nc8yRfk~wLw=iSVp)@~QF2x8@?6SKJkm>u4Kq<9y9oF-R(|CVP!#Q(m; zn6`zc{7ul8%bv2#y)EhhXnSCYTwN}_uc^U?)G5brml`&8=9~928TR9~#)&}^*!=Ui ztGTxm?VNn9p-r{#4J^LhTq~1^l_-7vSYP_b2;IIY_mS*A+K9Cm5cYA}?^uY>-tOlk zf*zK@%hh9fz0IXj6LI#65WOvK8i18Nn)Lev`kvo`+iD-aUfIWACpi4D#}t~!_6?Y@g067F2As_18rOQ~x=ky+i*>U+1Oq zN*fr-g|glkE*RgiMn|C7>(aTS&`MFxqKNQZb;al4I6~=;FT(mlUY;+zE*(vszd=5B zO-F^E2E~pq<1S#9oUmCd`csYGv57^S-%BAH7Xu7+hpqFjAm?bsPlD}kd;19+BY@QAkmnoE(70}nlXBJ+~N5j-w3k5fg;V1NnR}W?tGd*8?-pN zp4CrkRAt8ljrf*F6-N@JE&Z&|W{{V;b-nD?1q|AQywRy+L!h>{Z>faDS(-0>mx(JB zc=G+w5V4mGxUWQqn^G_)&VFUm-?wv02P>{HVjia`Y-$;#qYQAtlla=`G&(Uhq{CLu zdeNupr~YPNK8Z0YjfeMKO|c&Q%;O;OAMZiPkw_q1A32*%eDb&L8!w}yG(`#rB^@J| zIGd^TntCXXtf4Pu1?eyL2J>>VTj8)aW6+1a5?Jx_v36|G)LUwevhAR#WzI9z4Pv0n zqoc_kJG468pq0mTKgctI2KurYYLd>Squ# z1jPzSMe1p8)KV+#Js9VZ~Rb23&&NRsCnB+c7Wq%dIMQ99JU*2s!izw4*v&h01{*^`*q zLQ|&9&_+t3?FG@Dgb8e-1#;nU6H(vD%TKvjSry{nY03g%;GK7-LyGqh448Y2l6Zyf zd9y4QH{U!N>?L{43Iiq36wmO9HrE}CF#ZC|72mr}UA@ZF*$`TQwW=>Bb5>#r=G!`W zouM^eR~XLrQv#2=%ad}O3vPKcAKL;J!W~8wzkL?-HU>B;NMJzJ^`= zjm^?&al)KiYZB2Gc-tOeaI7+H>CukGI3xD8lR25va*8P<8^m59zDrIKxTq%X6gPPo z-_owJSDt<~{hC-*#wj-V)eilOW5s@faoBfaRp6O^FKl{NGAk|Lk(p!MwyFAWs%TxF zF{oF%`BUwyes54o-jYg*hQdlQo}aohi4sxY9SL-eHbhJ|cHUz%wE}gF!=iu(dyKAJ ziu;c&=T5twFa-lO^A^u*G-%Sw>7nPTE^~{vmcVWJli-R-oy*WC^v@;i!+DFc5LxaY z7h_*LlB$&(wUYVw{dShC6qZ+vDSd*h3E1Oh7#8}e#{m^7a&UG2$5EK2UB}s8A%_0nFO>3;!pK6o=}Y6UONA`24!7&|MjXn(l3Ri5 zzZ>3Pgh9kbXVhJAFUp~{r~*pxV#be1D{B2ZEq6UDF;R1(=XQw{g>heRu|@L#aLF)c z$tY>m(r z;|sY7e073PUV`?GBt+jpprv|K#3j|TTDVt?k=EKVTHRHa6bDv5*1JoM2bRvQqK|j) zr)IC$KimhfHBB`%qIJYMpSncTgoO{P4H^%`kCSJF7((QutM(vdaQ*2G4o6k7bOsON z=(@l;0u`6AxlBzK{ofI_9!F@+@$TDeEB&fpy97F}_AiXdyy6XHgCZpK>Td z2}GHerZ$+!d72Yqh8pKRc;D1 z^tO+w7v83CIbSw1btiiM+jeU6VBE+#nL5R8 zsDLXgC)<(>$>;}X*%Z~Ok?~9$hV9*vvqIMFvJdr$IU{TYdS!=wML!khe?spTzBnh8 zaebR*zMQveu|YzMlOOshL}v~!yED8D>+I``P63Q)_gj@o=g>Sh`@89r=5Zs^_LeJO z-n+5ceUFC?oB;k!p>wpSLC(`)id znHn4$C|Rv6W9FX~1*u#pO_+NSr5GmM%AXVtCpg>2&78&Q;%}{g5vmjuh8KPX)F8$y zA!V%gytDf6N!${Cf-U{9_s%U#PZ=ru=Brjo>-#nv`{?kBV-k|oKpnpz|^zU*tjdQd>$;Exkc=G%#%R^oAlWEk!O^<`k}<6u7Rl_iJk z!>QjaLz;ihjqyegJU4b9Yy6+T1fwh1pHmx%p~v z8@@)^Km@}=Z}~UZ%Lnw;=@IRgmyP3=&0ka+xSH&SEicE^T-RJ-lEfgev=+Pb&g zWsyvKQlzl1lyoRol{y2TzvCO5ARyyX2aVVP;X(DRiZ3~(_RI0al}mcr%RxV)#eEu9;UAGrYunvvatDvpETr##juF} zo^}{N6y7iB{*z!gLx!)!PQ4j3jS}3O!S*|ZnXj8k{5Fp?^m{aSh#eF$qi_`$drmM| zQ{(J??!wFLwkM$`;4R&$lYqLECZgSPhfHM4-ddR>v#&r|l%X+FPoM*Uu!y#j*OJJX=cTu+iF+_vbS3&g9b z^S{y48_87>s!uFQtp|%5(@!1S-SBT`LN++Wk(jzzoX#~< zRmQ8mL$`WYkFK6Pfn0iLUXuk!Lk1A>=!>MEys>`yDyd(?`kU7-aVL_f3By3&7@GB}~^+nZ~01G|R$$00K^7uSx!l8EGm2kPIo z%LLN;^zql#PNyr73aCy25H66uibXTHYnKb$JM!_yb02RW7&woNPEJki8N;n&%H3MJ zur{30TJI>GclCMCtpu}%P}WwhOJlX0v~G~98yXxofs7u2+csLR)0lSNkQzOW63^kz z>0P40f_!vjV8}!fb8DZz2;-jWD}2B|HazsWTK+?~!vhUgQ&F+xAnx6M)zfuULU!Fx zOziG69%t2#W8D!}9Y7_hT58AWo{>Rvk`;#~P1|2g?HJxQH1+6E{~+8TcmQi)c<^Vq zG5*gYih9?-+<5;+@5Y(c)4!D+?;#xqSFjqOiTh^{^v-+*GU(PJwYTkp^?rL2gUE5e zf%e=Zhu1G(Lwf*3d&r7;axH^ecz9P)p+M15m{*llBGaI#k_`B~vYyZ!ulv5Dx?CEd14R8D5JM-F+o6P7^~LU_~>K9YOc~-XHtc}^g0|+Rgus-uzKdK z)Y8@u9dSJH0-T%5QRv!$_LSFg)M?f)f3We!kv^$MuiW@_(Ap zWY;g%j{C-&XLrx;TbNt;%dIooS=yrBm(?CpzfT|I-XW;zb&==nvttcBlYjLC+w^N?d++wi&x<|;Y~R3YrOI-^O(DaM}EO$ ziaAUjc3Hl<();>(JND1{kw+gJ8XuPh;|vluyw^WE+B^DYFlHwD9~&aV%Ic45yK(i> z1z+;Gn6OguBbwF9T_f&RH?yEy@6>9R-Y`{XG?a1rqqUnyu`Qu*oH*6{`jGByYAL_* z{vS8q`C$FdTWYmncgIWuJBLQ_dc~Bw4`D?qsSUF#x_JaudzxXmKS25s=PSj_@W>El z%!T2%WISmY56U4ifM!(56OS`W9^B1=+8@FrzN*ini%=%%<(kRz!VNu)0Qn*Pcr(7V zt{7kF;r}e z%Iq-Lkz2jX*Z*|r?a;NspANl)!F+DG_m9)`%5B)r?;ZJAYJBS#e+OF3SAPIQ`{8pd zHxI2`Kki2+v;FaxkjKX1V{+NL@%rVB58l8HUdaaJ-o@Ybj($!HKRGo1SpTlrp9Fe` zKkVJmyXzaTf3b1ymHLUqFcAI(rtd7NcT?`hfEm86PRwlXbkf?>@8?us0{Y{b^^3=Q zZ+^U|fAbk{=!t<{d;AGcYL};f3%3kj_zmpuT>4$__?w%v7#^u%A?8qQ-^$R@?PC#>m9l! z`6rDU#ypQA7)W7fU^!Loe3zVxx}1hQy`09PQNtNpV2`=YCosM;E~_8-xxEMIv~malS)?;^=P8%Y=RU;`6dA))mSQh1%eL(cHk{<Xv3L0dsELQJ>LJ%W2iaP8~nOTEkINHwX7 z9~{~h)!pT;y(?^^K0bkucH4MQFKvUjiO{%n_qcoZ3=fi+0Ph|_-%d6W^!3&wpRL_~ zX?W~sX{p`#FAHyZPqI&DUg8 zD1QoAS;mpv<8ZarcpQVoaRAxl5H7H6ut${lG8Nb~^UAfCdw+Nr2b*nj7imykAjBx} zTOW6K#ZsXj+dZT%g&P|(=HxMOyQW(2O`Pjp1X&q_qmQf0$3e7-eXY*I(-RBrCpU>a zX>&B$n%%$DZtd@?6TC02{r=9zAt@V4D@l$D#{LW2j_i-h{%+Go_%BY3(Gwe8gxKUzKhNf35&bmvaxOHtj`=tK8zSbMhK zXii`s0Byx+_h&gcZZ8YerD@wqUyDaRc<@9Y1Pv;|L_r-=SAo_V)iIdOqnK-&_1@%E zIY|l6`_aaS)w%gQZ^B8bYagw?^Wo~dhkF+;D$ge{J#CyjyZW2o8NoR;K0Y3yhH<0&v>(zkkrM}Qm&BZ|TEBD5CPgN?f!%{j0GLV2xhf+m=x~n??HV&jJ$lzJ z_g?tD`HDhd?Ug^Q+&GOlG4*Sqr_cA^dJhggUAkZ;DDIBY!-n=?Ajw$mK$+aRP0DE^ zNI-B8LxJ%N&X{B}oy6TdI8>onVPbetf)^0j@SQefhKxzZ)cj06%2;0%6Wl1k8?;tQlIoFE@1!7K{ljn2c~9+Ts0m+_%i97^DD~Uk zXD`7u*E{d5e*Ws(ottnsRZV0{jK2eWif2!+zWX-V8oxMi*gm#R{#0E; z>3Y|VPRW?;UTHaE>H@uffNKfaKbE6L*lM08RT z-d(cpPOy%2dAv>qVv$yt6>&#St^V;atG8O+bYhe46DUGZ{78W}sgouPd&u`{fp?|^U-dArJFWu0J4-nQq zzu7zfy3QXqSy08QX-(D+Gj?zf8x98RBMo=sh$7@3d?zQ&!2}GACQ0oL_lA_0AOUWC zBq^}wSw$9|D*kF-U){%~u}`Z#TBj@Hx(}aPm)-r^UYG|%m9Du-J+sNqPknvD~?Ca-Y+a_cx#$FG;iInK0GExr7{)5Z= z8o%g1Yeu8ZIXL=;!fUq?YPDkB_F(Qv992xnr56pAQ|;m9xGf8b2~vZekkC&Ys2yA? zYH4AhcQBoR7s~b`6i!%dcRodzyjB?LqCg&v_Vm_e*^lAH^!bHOSE;>kpzBCE6s8aE z1*s_o&-LS>19Lguqx%!vE;5!3|EqZ&Lk(7Fe!0qc|BqORo%UAO@jZc_Vb z!rJ*QtFgrcj}Iwb!B<$u7Q0LPT8rIIU6kR+`X}ue zS-W@`Bg{V4TJDCywVw_Qd-HkKQH*bnFeseJR->$8!{$6J_NB?8CqgsVTi4(Kj%@wQ z*I~3Oryf#j)!LuNcJ&XBu(Mz8)8m6a>&*x1|M7R<9I^KQa!Ng1`Tf8DBa$ddgZF=a z@c;4s{7sII?wYXgZ|FM!r&n%)gS@R<@ax3Hqs$fS>ZK3pCv?3fW2?6S%@<=d_y#5r z*%_!6g!7pi9T?a%HtZfc&_<1~{$u@vPxYHZcivk2_(gQ9y_x$0n``6Xo;$U7k+3wq z3$NM5uZ%@j41W2whqe2T<@;ZgmFh(!5j;n@wr)(#Yrk$t#j}Td#x-y2PQ@k-3is6L z*wD!1%I;@R1l>Hc@!R9QE7$d-kq5f-PcJS@oqX-)c{`z+W2gFn8#)rV9#m`+WSeAa z;+Jxz4CcDGKeI=V%z?QN*8cE${}cJd+NBd4ufE-T?u_hqm?9>pw^5k0EtiVw7sHBq z{E&4W$}gdjI<*s?Ir{UHC3sAFVR6~rym7phn<&LwY{FXxqrOys20i=EyK6TuVTTi| zpS=%`PSi~D5ao??zUH17?g{2+VSi25Wh}#BYZzJ^pDsGJ%cf`{(Vtc2pp2t5*E$I#@! zqi{caVqkoDOo>nRB#t`CtWPzo^+i+t*PT<+2QI{Axpe{rwMDt{uiJzlxLE*^(m+T}~;I-P4L>6K;MHScf&itnjk8 ze|C>C3mKkbeeakQKu+jLVKYEI7_01QdoFi*i#K}l_Bd8KxMY6gKVVWkc0;NTqEX5LtjAX*s+GGpiGY)+jtAEm)q_Qe(oi^Ylq}A zZ{yH!(A11u$w5cy9~c;tVj6dypbd_{1cg5T;p&?&Lx(+fW9_s)_quZH93FaIJ#lCC z#Uoy}WEU8bm5$Fb>GzkwvAy2kcvJU1n@L*Dyc1693(npkGXzr#3!1PG&0`3s!Z$uPg2ESlw)rJpdFv<5L|DSEF|;JhP|iCpP6P zb7U8tFeR%4*>w^8TSsoR!JIa^Q}s1_j0EpHFQYt0aV(cR%QBoNiy`vh5EzN&d^&b; zY2RSCySQm|_*lc>5#_^7&Zv*H7N5k(+lEIcY8Xt*05uH8M%9!$)>>KuBhaSlk1fb@aR$Qgy}RaDo)xAaYGA_bmV8(e@b_8U4R9K4 zKhy~An4C?g`_yc^JGE59MeXlDytVU?ITMQ)@bzs9vQU9T8oNd(hE(4Tcl0NB(yRMq zZsU=$?}pKBSH2%6*ndMNsyp8g1L(i?c~IT?zF3TH#zJ-K`(c57Ib>qH_Wdw1eK};K zyLLU3M@F3qQ3@jc#K4iydPn|Xx93eCvdc$p8D)z|#mLwSh2gYz@vvkNa6(CpE{4}$ z`CJM|tAgyAcoh1E(Olp)W46_1JBXQ0*Zy#`_wI{i4zMgnckCD*7>1o@Su)fuZ7eCg zTL)%E^MGX6k?dd_g@|v<1Kkv=5`hML^M>WHNl@6^ao!r-C54+ef}Gnu4dti#(?0$1 zW*_8f^Sr18hMwr(JqDHp`^bxtIA)s&m^8c3wB`8GD&?bEj~Gc((sZS8OFTb?tE?#AkgPvu;VFE;h= ze2OnD!S=DzedJPBKFA$pzU4%61TKfM2>ai0?o;a>X$8&Q%gUow%|Gf@~(`Fz3ZR%&Rn&}aP|9o zDi+@C^?B=x#f?4Hogf`hh{(A|RWYzq)f9L}03EsLqoKY_{l(D8)FXR_cNxF3_fyfW0|%D+rVq~U z@0cnlm$hXb_m2%XCKsOU&Tm%9n5;L;V9naNK_oupjLLqmt~9o5&%}LoB_pj5NVTU4 z|59a+xvaih&syH3#3~0~iNg`J?3Yi#|98&_dZ2!XEXB&eP zyH~E=1j{U&87+sqw36ik`W9i+Z(3u?p3U)x@45G|C81Wst7ALFRYz7>G7|T?-++JEJ?OD^9QEgco839 z%u3_D9RymMKAquSfJ39WK2H&{vD#bsD8}Y$oLwm@`yg4|_RhROSFgQyj(Ls|(LM$H z2+UL6oi{g*fdfR`LC{7bmZXbgFD`8yKBh0AtB2w+ANo81`pr9gdiD4xy|=!GBdj+r z%q}e*?8=f(?p(k8@%rT(Yd4=~+|6?ba+xsLoj$l1&pYY29@SbW3@+4~09X5{dBB5# zYE$QD+q2{$+*N6W5ff!`!SXIG?Z?A&KWlZDw#A~{wzoa^(E3*|p*LDDW~z)Wn55f6 z(WYd4pGM!{^kZhq(xT64s{*mJx+hMh5qk9X;^oT3f_cT4ZrpIY^R66*tA{TBZ12Lt zUO8x%pSD|OBSVu?l`_g9dI=z2^wM;$A*VsGX*9OYFCW~0pz-Uyi`@f_XP&Wp4shE4 zywn;#kiBa4`7=M0pB^%|3$$V1-h$ia{ox@ud-U1=tp3R6+!Mc4r!L8DIb7wo4=(Q4 z51lC$^Xa|n+?jSVtLkL!=F9L(o-t&ip}BYLs2oOg8dYg1LoOPEjja>xjW=GwH!!TL zP7-Buc=yn#lCCP=`jZ9RBJl?&7mE$yY`dG-D88p<9!`St0|{CZ(?`+@O7k( zSMOjw=zOUZ*4}za*0XvP7ZO>!bV3RwbimkMTwGX`CB;1l?cwCkvEGG?wZ%`>4KjR~ z0%s4K*JMt;pWN8C)KHmiJot2Laej7w?}KJ9ONkV=iXhqHX%R^ROB2;eY?Yv^zNzK8 z1DZ1%gzBweIi6}5qO5^svZ?j^ zN-)|9@XVaPP4UOWaH!+@m$m77jcHpUo>MJa+e?V>``ace=4R(-eA6^Z6UFA=HqB&C z^|H+qMVb4p6NOWmSC8W19j#WKc)54#s&d-$N$=7dbdU~=_sjM8J%_2vSBbmGcg@#7 zf--XK20AjuJiueoaus*tYpG5sr&@44VdeUZz(|=V@eoi=g4M%YE7-O^x_M`p4F7d$ zVP21*v&Yqb-wiH%Ab_1ScJ)t~cV;&}cxmnWVRRjYH3O3H%B}TdUm)yVxg&@E#+#?q zgW|Abz46Yw=>Eor)Z1j2Zo=#5$6v#3IVnQ*>0I)v1-WQ^m}jT{dK|v_?jl)>?e3xR zokOTbs{)gqv%mM*v>*Py`#*dBvzj`1VDDn9)BV2vKcphfYWzQlAI^V%AAftscB&(m zljBmQoO~24v7>v&2k@vpZq1`H7@kN$L#VQ4uHJx0y!5ll$~3M-hGB>P39ShfjQWR; z^v?Wd{m^qYwjNdY&o=kYF7G=y-JD(Mo9?v!-57arj~~6UVcIq&^EjP41q5y@lwytF zz;zD1)jl!SKVY5b;Bhnz02gP}N3*UVA$li%zjFIcx!42^^6Tfc#8&TS>Jy$<&!AK% zPiF#CJRfF`2I;d}-Uoe^0X^m7VIdL*yiAy9Ui$(L$_E9;r}qg+h@C@lgI(2=j*eBw zgJ>SBuU=g}b-8!r<$%rLBlqGm_=sjQDAnERh1OyRpYNl&g(Hf0=Q1#E>SOi2>*#?l z$ctWad>)_gx@n_`)u#jHQB4(!kC1b ze6)WAoF}Y4e}4Vy2gW_E?gBEm`tGFsrPV5Bgf~kv6G)w6RH5Ku3Y^tneN!qgF!Iz; zvB5Dx+uv2P=v8#%{p-+W&%7W9Cv?p-FM-?Lo3QSJM{6%0?tOS-?c`-QWRTOu*br`I zuAR8vJN_whB-?)I#~1Hl!`rKWd{_Q}w^uJ+z!YI!clPAU&BHP+`tqO}dhqleIj^KG z@2Ufs6G=84`dT3&jK>uhLLWgQVeFYXPe^$Z%9i^6j^8Qa^~B_OzdmgR^?C6{@I-j} zMSh-&gk&r+tjAK1dbMCzqn(!159K-9(LrDT(k`pXAuSROq@CK>)?0om9qi+@+Zh2g z^f-oIeftockKZJ;KAoxF+}3Yy5P76|?cRx70aTpP0{$1>l4E<6?9zv*;H>$f-$;#9 zM^NXF@j}4*m7~xj-@Dek^Bfo?@P`S|yLQdKh(it|`$-6OjC1Y$hwyL#JeK^bw&yBt zSX8A1`w>bqaAzWY3_Ov6LYj?{CF zxdY+FbcK>}CVx3byk1!Mo9kCT^lqGi9p4>aFwxEP;l$g}%FWZ^_ua$RrIDTT!%)`c zkTzuc-?0O)+&C%a(9Z6HonfRDdA2pTzYo?=)TjU!g+u4m^#z~RFNTKfX_%Ee@2pAT zh~{iQYuR?h@E8&)U=r6|rLI#{1ChE+|B13O!-Fll{erQeqFc3R)Cf91BG#ohGvLhK-SEV%6z9Eb&*9#~CZU8`8EzU14=a-Hs;{Zvd4KgVSU~aUB9BOS zf5AF>3S9T7O#tJ2@T9)$CHt?LcIY*C?8~zLa5P~--S&;Uw{DYk+PQI=uPn3legN*M z!ZgC4e(W73p7@;|6Bq941R;(-y{-epAK2HjS-5NRiAi1^ra*DH_UeZlpS}S{T0j0A zhT)-$vInmI@kJu%&`?!3Cb$Sji_uZ~L3ZzJ^w!OK=Iuw*Thrv9l4uU! zr23V6Q^0JtfkXJIr))QZp?dl}5KT><(DF`pgm=t#v1@SEV%S#P)?~9nx+!J_{E0rY z@XUBkX3T?GBtv&g9cyE;yCa_O^gejEck2d@=cTImm|@%Lf)0 zo|^4+7ne54LF%q1V-5!Po7>SmedVk_NWDI3^pg3HaN15Sh}Ld?vHHS=O>&_3y4B*2 z+FC>LXY=y!vj@}_9B++KktuRu%8Kdx6#hzV%D;*SgYF$8Uwo0vZ z#;kXa{WS`x$6h}}qOMec-)eQ&L2EtgE(_Xj@L4c@>P|iQgOB-c#x^1Prp>w2D~ZYp zgK`r!)8m=`H7cfRW!#Xt@5aWW!|^?^3Xvu^FQD!EWvmoGbo#2~T%UOu@kCv4L4s?+ zylrW5X_L?i35{&G&21Vu^>eaqXLn(EjD^;fsh@EQ+Q;12u)%i?^^e%A$Lgg;I0k$6 zs6A|>XZ$lS^erCT-(Bi1+ZV9(V~qZ|Ib6qGpciH-)8xP)4-fWEeGYmOZoZ+oIB^Ix z6tYR@I9VgLd&d!85aogJjqRGOxl_LIj=9;odBm5gwb$RZ=`fHiGCHw>fI3V?-bu}I z6N93ReBYv0h6Vn(2dZzKavkB+XrrR&iK8t5Mx7}{mF zPGRbo^T3zKUEL0k*NkOS2gCskiGpgQtofh(Pt%S6SKq-|-IaM3AiO@Y`1Z$eEu>E= zEwy2dsYX#79kVgrz|AS0uj6bN+QfnZpziL`u(0|(biQ}vBXCoE=TkVS`_>n@P_VJ@ zUVLs+l))b#9t%COqAIm=?ULtx)pRVl4#eYlT3B5y-7!pMtNa+%=im9Bz10kluif}a zG{xMsm05(5ZUx3@x76UD7_8wEH?w*!`nV_K^2=7cvkh2nTzX~omFu21VPHQ@I%@ecm!CUTv9TUM6z-pfYM|JckDn=on^dDvjqK{tKg8 z<1~wA9K~pBql#4%j0iXsFe;!kA;IGzf1SA2Ebf25UPn-yJ?ivGt>}eNYLv&d=TW?) zC-8__Yg@a!xI8;E+iop)mzwRxWoINZ%mjF(2Ny7C{L?Iy9ou-jJNZl&RjV(6_d9TL zrfh~D7ceiq{vO<;y`zna)}0JJ@X5+D^u+Ll+E+9JUz-}RRW7{&%C29gb1u5s;gc_$y3kSOMOH2FJ$!6t# z45urWX|vgeTI0YTd&0r9NVovPKEOc~M*Z1L4{B9PuDsy-^vnyoPuw_5jg3ZQ)!W~b z=yI=R7PsriJ~zW0CkDxF+tPAtdOu&tayGmBCnn(l#&p0YpX(j@Og1X8nQJXA6HhB4 zo57*Sl%o!hM>27 zx@#A9hprP^x=!DEcjM5Zy7Xnv%|#NMS7&zr=)>M?&*OCmyKk}b^*d|Ne~F#Dcj2O3 z(y3F?hw-0U=GxECyKk@Deh;@g*1!C`cR_hGJaiT}Kw%d|U%r7Wy6OV^F?!6}^tAdU z^m!2}+U^{IyI0_9{w3Vax0l1*20c0RxZIrU_F*3+wwWLePoV2cFxT^K)mgDlqIyD| z9F1drV3S+0*FFJH8*-7Wyz*}rPu#a{oW~8WdGh4oq9=(2yXF3@qNWkOVXpSY*hv5v zPt6QLV0u!)>&Br%xBA@Y@XV0v%W{mt=7Cy%*UKQw2j?z25HM{$12PMR+Q!6}!ZtYx z;d37uot)S+MueSnTSro?k84}}eiGK_Pt+ZX0k~oC@K)7h8|)8zBHRXB?6&4w?Zt&K z_JnM|M@FA`cq>>vw@oiRQx|`twYR%C(p}y(I(oa;r)bPQF?;hCj}XI+Tf?Z&q!x1A zJv7-ru;&pe&Oz53I5^#Xq9#Z7+vW`JH&1tA^~?SNspP}IQNyaMn|-a>rG2gWef6>L zHxq_S-?LIJ4O#tn)x`hZuARbc{P*sGea|i)T&iheh9p5=LsZUqvlgamgydvCg z<_CW6y5|fRY~#OXZ&Pu3>_5lu)nl<-@4yLnWzCfpw)+0>YE_1(XP=x^4=cB&2zjQt zFkiD(^4NchZLr70eHO`d@5N?Eb+4yq=bHzYnosVn;rVynR(mY@h9zo(yNAX3?s9Ws zv92_K*Dboo()%pU{?>e3s;F(an=`$z@MLp#A>`ISvB$i^yuf6}Oc>)BK`t=V!)t-*8TyL#+IwaQmNIAM^o zRh=Pp;nmqwqsAUzy>bSw_$p7yQh{H+cFjBt#X zwbSxV_OI^KgY*4tVcpXn>TOw>W3PAJx3W7(M(%u*Z6s@XzK@-vK)&94qevIvo9!0q zNcXj6Wb*&*wvJfrZ@q|zWZ&2{5#%8P>$ih`4+-vLM+@%fLDFL`A&k3 z^^NxtRLpO-i(qb6;mzm!-$ei;*I%=f;I1qE)!Pa7_UCuGr@-uR-+W^sxSe%BSS&meO4!S4PN%A~{JWIQwM#qi>yACjg~O4L*UmoY%ZxoE6GM~eBU7E_tuM-Czno@& zhJ}6T|95>MS^q!N3(Hf>d%uh4AMfG+C(3i-zyBzTB>lnv&-d{M?<`F2G*2y%ox!`f zW>#~~BMZwrTFd+F@q`9GyfC@bzRqAhGRv`Vj19`2v~mY*CMul){V*$h;@*EXi{n>~ zGinH8qnUh9j*elr&%R_7eejp7vZNjxHZMkKTj~0tllXePEe5>}Zy~#zSmRlw^&C6f5*dvQ{zM6tI0TXSo`d=`T)jH z13W^g7Qiajp{Lj%qljMkkadnO{ zjDK{VJ8i*Gnk>%}&RaO|>)T8Ep{m#L>IL=*aPSO)gNoVRKeET(qrzLF_yXTu0)mpP zY(H?O{`gho?R83wg+Anie1w&c&u`wXh*&t{UDdD{A05%IiX@W6-sR(R0d71RnqZF( z?HZffIX()z|M2bW3#cN}hEZX(|A}C?k%!W5h|E=X@MsZ)85rHMV@Uf1d+nXxZ(r-Z z`hF0oe|Q`prR<$~arL<)FjU@VnHq=p$K>$--{;SNU>2}vm7`!9V8;#>LaN!Hc%L61 z+BGn$Tt$8M!TO!k`gwUf+-Oz8J1^=LBja{f({~T;hQ$^-I)O!iek_({as;$QxT&p% zC}x89dZpHZo1oDVs@T1JYUTFZH6eEl*K8}`#XbA7h*bm0B2#mDWOBqf!1&YK$NzHe zOhdoWuAFqTU}Jm0d)WUz|J#d=wHsG@#}46j4i;v7NHhE2=U=_vpijTCV7o?lLXelA z*N&c1II$p;uA$A6x89QjgoRVv#G2iQ4Q*fz*+H;J`hTJF|8+w> z0(cumKoD$ThvfFB&yGQ5AV2fWEeW`1OnX!N-{(I$+rauZZfkfjo$4#kH}E;PnpA-q zCVCVT1#VuVBXGR~R>glh_nvB|x89>qu&mv>(YyK*_<=^x?{L%GJUF6r=dK}XmV3tR z)dlTO3FOt)qrr=PJUmKS6!QNF7YlB_vUc;R_Qax^3EhjDm-mbWg6%wWI+VU*??UX@ zsXEZ8a@o#24#QA^%0nTCqH?orY8E=5Xqd*>-#pJdOsQ*fM6b}^Jx8SCl=CRn9N#oA za1o!i0KFrnyy-f&)bTdu0m4GRFTl+G_|yPw@}9h|-4SqZj>F^bO=>3|8yknttiEv? zJ-gS0b)KE1TB76&6R6sUl#(wH!q^X}n5mJ#M%s9J(KgGk{sWtXHH4f#M}{XJRjp|% zPWBCD4^wX_!DB=II8o{fj&|i%1{4q~XRRX(u*?u20eF@AAK^On@z>ynwRI5i=R;>h z?zWQPW{&3PWkSgkFAw&SNEB+;owm)1Ow4*KcnMoNEZvTsn-|XW(@hx%TxcOoS|{~o ze6txy`T3n-a+G%g`@MhH_)!1gFYOr~r3|XaXL$hAjd-a0?nzS)@~G+KWF^GV9pt%?tFgiHGRii_SYn#|Ocw(oH%?qH?It zr~T>eGY#j`P3?rQU;bd@jU%|t&olx!lcoeLXp}0DzJ{#&whH=vuK(=%zrC;9eo{S# z{x`P)+++P8C28jS|ILc{hxPyW@rOQqKyROt%G^%lpAa9o)zbHH=&o?})vLWjw|*Au zhvwCAC9DRewzLT&Ie~#dM7kWZ7fylaE%g+K&t-IAV9(gF9Pf&i-j2X`?&Y}s;8V0I z;_}ES@@{>FN&Mi*{O*5l{4dPSEzJKt?0-=qeE;8~NU|Ts|M&5?MXsoKkB$UeDf&fs zIm|D~MH&q>wJQiF!>nF81$LUc@b+O|qg9?)&)+p*dqxMu>qB*0K03g}o`Hd(3Apj5 z*4SiIKnDO#Sslz#--%AFzdNJ9S=;FkyGJ3GUL|W9crYK?v%AhuE0&OQR_@M+CMSpL z{krn1@gtgQXJWEehLK3-sEsbGIcoE*M4cV~ozDEycQX3#IsWBfkNxqVMnBB|-^<_N z;K)S1VGX{hE~SF>4-RUpwN4(LWMS zy|nw43X@RZhFYdq�HS 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
a-Nl}w+Fdle^bj7c|$f!85yPrKzrce9N|NG5f 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

P7K*21P~Cduk<8?g&?66wPL9kzJ(aQG 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 Bu`d7s literal 140069 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%0D=*vtJk7$lRpHe>J;oJZP9GU!B>)-kg z?7NHKl`cMJ@cJeG+Jy($H;w|JEh1oDGI~qR7JLPp<@<(9o9`GG>B-`?3+CNx=Hv77 z+Xh|v2OKhxHCpbm+I@a%{CdNVWFhfw+ls_J6F02GHe%sC7kED$FD6i?#Vn| z9dFI9(zZZ4(eZ61I!@nX@#tTWr9FWLM~K`IYyZ}9!fFGXHuhMKi^nfU#hFJ|Gd4?u z^4x>++#{ReqK_G(&C0-ufq^Uy?M|W2`IN46@{|g`S8%!>J6gK3yRPf5(85g5I(54| zae|4~m}V!F=uPGP|Lz}vdA zHvzh%o+kgOxK9BoxoaE|D2ZAf{cMBEbG_Lidq zRZIU52txs6muWyW>j1|?L)as7juV_^+-PT4oR1~y=4FG4^R)o=j_}n)u3&pE9{@A8 zQ?X)-B?;lHP$I!&;Xj^v9RFus2E1hKo}P;C+%nDm#f7QT1uiX;8}Qs3F)Mux>UydL zAm!jIe{~verm{d-eI>O4XyJi4h3u6AAoosl{-Q#z>;mAo^_O+iYrP-6gGaEAY6D16 z5MB2m5|Ld*^8U`Q+rIV{@4OtZ)1)P;rho%B`sM258usSH$vwK`v#ABNA@aoE02(VAsw z(GM2F&)V2#hr`%05k@^EU8@5)etWo8$=IZAWN;!WKaA0o2oJSI5R3 z+v1&DIs;^MlWT10?AT_{TIT*7^ZwktboU>7Mki#HX(6{D&WgLC*w`MyX_NxdXj5BA zJrAKZk!X`!Cae_cN1N8Epu|+}L+(if*-bNRNp0<#-)}^lnhjOm-~QGiz;OC?xatJ- z^YEC>AsItuV-;}Z3?Pf7;r7kvPtCFGkRa7=^oRk@BtdLLkJp(?Q$bL27_Q|O`>V}` zk;U6{@5P#$NGprCXU*C1(z$<`W0&h$8MLovKQP(q>RQ6CfnMUpFeo*oV&=cjV3Fd? zqeaZNN<)XEHwsj%4;w*D)0LSQFwmPkm#$^7Z73>?lC9c#Wu2P`Vb}4RY(LpiHl(Z6 zZ0E4sSS55H)>R^GIfhWTw8>DM(6Gf}t#?eTeN4?xOMP9vwt7RleFU$!jt8w1_Crz_ zWnHCTQcQpO3pW7P6^|*3Go6B6>ZcU`+62E2$PRuxICB>kjA!^~5g{N*x1~O>beF33 z`)8^ni7{Jh3;+l3?rIdh>LyuU4D@~ml1WJd>i{JMi^JCzkADWXbMz;~Mjm;h?2O&{ z8sh}K9WP|FeR(((2{%AiAwDpe-|s+JeaudqFQTqao30MItm^8lQ`Dg>o36r}oPq4Y zb!{V8++51?ykFinyyHK#G&i@jI^sVx$JVvJiU06Ao+ZV9Xp3*$0c`E|&09Y3jRK)4 z46z`{sl;X#<;D;gVmJEn^cwdb z9&&9UmpzzHrgHhl?w(%n67j)YnwHYL=WX2>->`LS`$i_zr{8*_d3z4wx+%N$W@?WUu@mF57mE0)`miBdl>UXuwr#zD$`roznZ)<-ZP>Sn?ze8 zfb)eM`MTC1|9iXM2sJi_Ty+um;SuEt?iHF=>yZVIhjQGCi72bc1wT)36V6`!_+kuIhLx#1i&sV>=Gcki>{pAQ zy@Z76gcF(k+MIlh6Q{Dx?y48*#;_>b(a7_yyE}AS`WB3|7rbiH(zGxG06r@3+gr-& zt+*8hX>S>_amTl=)YZmMy$xuxl0?Yq4_5C$*Mg|8bm)~vlF(PxRq4`2SMwVvOO@$Y zRt(uEn4WY_wj2GaLc+?$Y5T;EyPT&cTgBa5z1QR&P)`*+!81mI3}j^S>cqD6{%n8t z#~0(gyXJ|J(k&|>Cq$BG2~~6Ml}NXgdK>}W@)*4ucu2SYDaZOlC`|&} zIxRLMBkrK-DjbLO%sJ9SCVt>Q6}u5mik(|Fd4!c^-H2yWhy1$2SA^GL8CYcyJc1Ow zA`9or-B_LXaJ(;7aBfp?4`SS&5o8SoUf0N{o29%$o`9R`{I|l?w_b1y`wNAEHKahJ zg&k6lL95cxVATD$c!L%^mO~#oix0Gu3xQZ3!ja|dznqBW=?R72US$Z-zS<$Fvh`)1?F+Z{ULT26-DTJTa<|=f;}{4I>e33LmKcpSEHV~r z09J>cz{RqXOJ)I0p$NMp)X^*&5r@h!PRwVss!+^PD%Kv2$>jzUtN@wqFumM10$&lX z@xE}9k)|^}*>)+sLFPamp8cn9*RyH!<)`A( zb8VH-4vRU{UkNkJWzpjX*KBXO*>)YO+&^KSxa!k)-TQ=fX@QV#kFJy+-PPYM?RAq* zle8-8>fT$LuY2gxZN3<%p5FJ%b0_dN1$@cLv*ycTya}WC%i`_t7jN9DEL^8H5V|A+ z)y#R9bh(vgo7>CHji4q{9y95veBpD&DRk`?A@d@nD(u}I&4u<=yJPFcM?my_`ay2F zEOb4FY&pDsgq4Tey?^u4S>xXe47`U;!KfuFq3e;nj9d3^pyUSlJeoSfc{!&qmsRsvb!s$>!vJQj83%!+aTcb*r|Rxm>Tk%6 zzh|d$Sm=ZZxeo6i$4sg%#hEWl-<+i1^mjJjAd2X8tR&aklw;KFNDLLr~fJOdc3DB;tttsRF?C*x-gG{`j%zr_Yo~_s55!kFSg#X?D)f2 z8rlhEfdE#fy3uQ-56Dj2w;g{RJh@l4k=QHlFPXQo*n@o;Ahh`i{2TPJcfTW~nsQ+> z<&x`GpM+2FJrYAD_n?kxGL{ON^B^|aCK3{A2UNQ7lAIHk%@dCZDDa0>!IX65tY7*N z-zVg>t;LZ0AZQBVjA+(ptE;LE0928pY@{cfGkOS#w(SKmhR7PvTvM>OdmM>(rOJc} zi1+5Qg9Gdi>1S5Xtg?DSC{OY&&*)Y7H~D=Ta5FsGQ(LZc5t6)4+1T@33jO2cAI8&T(Wo4>$d3#@HIHsPL^=j+~rSETM)&x<*5e%XCv&(0iO~RyVGxCxd<0 z$VX}$*N93y6HaIPC&6}`wPutpeffl^-NPvQy= z54+&l1bWbZ%L-3Gj~e~*din}@8sfilUOA2)GE?EPuo({ylyI4x1Mvup$sbEJr`fjh zPDNP+-KpMK z{4qSiQN`uL;l)oo3{<-Z^Zr^`r{XqoFl8xyDc_`>D9^jIQoEb6FS=b|q>H00_sI2C z)@L}?t?@cxVx)9f?@eXmvVxn(h{68IGGUwO7v;O5+BzY8roV&$dTGY3b*KSbv^qA;vycuR-79yJ|FWJa)JfH*m(rE zczo0xd%SpgYVpn$OuaxLg1+Lx7v_m4+HM8(jIYYh03ONKAQV+vCGv+c`_AM?LV}MR z&9Qxrkz>a+91Sjbk6@|&7(VwN@uu+n>C2G&gw+hpgs}L1WiNLxUdys-)~HohXux=G z=#Db}z~SY=?K%z*IA!P`igU(Yg}~O93Uuo5$Mf`&pC$6V%WzilN5LN3?O0NsJOn$Ft7y(LrdxWGHhU;s;OdzW7t3e}UfudD zW)Pm;kT`Zj=GPrbn7pUPmiB(B42Oo#_34Mpe$3GqX-~Z3Ua$oaCz}F|p5}Ykw{%-Nw1xedbpntcld$+l%Uo0s5Zm{5`3jbiceF{1i zgW>C?$H7{Ni6$IjN?%32@3J(hT)kF0eY5oac;&&EdG+C*4Z3a(CiE`UEq17ci#zwP z#jAHKr#^;Y;E%pA$FAzYiVfl6%51mFK|_cju*C*jUekQ1@3F7~cn!YCfi;vEH_DCI zWRfiMP^q9Ls_-b?b1!<(& z5YSiNOh6@JwP)-K<-D0(hy9-XxD$9G$>vd)Q~$6&1XI9^#uOo$u|+R6x;B)SP64Ul zj(j+5H;S)>R(^$W9?`;0z-^dMY4nmX-woJ-`O%mm!2gm^Ul^sz&&nZx>{o*Q?jR4c zQLnEcg@y684s?Q@rOUSh$b`LNK=YpBA)o!@W--*>9IpK#Rdj3&%dlCO1hbl55nR9S zr3hCj!L^v=(6;2ASh5goIwLXA_g|3ovA~4n>+xXy9!qhDt zZS6p$emK#$D*R1^Ir3!j!W6ZLWS+3dk=iUOS!Qjoqd`K{ZXT9e8pdnH z?N>1pS)qN=?XGIMjVPpE0fNbi>MOf9T6KFvy7~v*8|>QiYJ0;0M5i*WlCl zIbIGhr@i*L9keRri2tBA>tTufHitHN|3jWkVc7DbWnxd?W z_a+LdLy05H9{UL%@Ayw`(dfD+NBpN)OKaPk_)o9nSyKF`b@2~2bawn@!{2;^KRHW6 ziuXXZDbV+Tu(ffJvz1Mow(mySlX>%| zIdN9uO&O|7rt{nzAHCz%mIU^uKpns%4Bs}s913<}|L ztwsygw7JgN=3mmeRPSISmo%sDl*XQwznb=K@Q@x&6oH?9sgYSFv*dwvGTUR&prRWI zBT_F38hIYFcz>2A%L%6k3W=`1R6ZQoPD!)%*+pn%%sf6>dUQw1)a)e@_Rh-ZS{&~@ zJJsdbS#o}zYI5tim~7yy^M&jH&j5&2GPv9}sAyIRK+~Y!@WP>ufci*y0}60ehhQ?9 z;jvcXPd5Xs7qCJ5)bcc-(1FHQr?fB+v`|;8&9#$!gE;C;o}k47CyN1Y0Pa9iR-+gr zs&wsRAu|wGffz~(LKp>zCZ%8Ab;~>OL!37M><9jek#Y%RhBQ!6zZz?6`LSe742Fdn zX~rMzJGP5b)ukd(1)7lUNpW_}`yZQ=4-XFHdG>fhC$A8?jW5lqlVA?|=u-J2kU@;E zOwLzx{0nn}=5@XB(w3#09XHr_%GKt5BTq0f^~uw4&8P6N1v&ea3{V&50yrfoKv@|0 zBVfx+;izeuLp20gAI1_jGNse^OJiR;z!8M*Pamd0*48Be%s?~0yVTG;mQ+6T%!%pp zg@+LkD_(x&z&!WN=`22CJTSg}_+#eyG)fg!qj5*BB+N9X#Vef|CCsOLEmdLsnedWk zBn(jF^)O*H?&5N@VAjrVH+F0fz*WgS5U#Mawl3=`(bvktRY;3GbH8-sUg`7W=G_P7 zYoFpCUc5F@`uGc1I6FF=Uo0oZN#y3u!I>pDSruOba7*gij+&OOFc!DgKOj#9bRpiI z9n47bbvsGrdA`DHtu$ZTH#;3|*j!rRLPkSx%82R%ZzzNO51V(d@wm2Nd4}6G+Ekno zB!Qj4=IFTj_RL7q)C`64k&o6!B6|O5=iWge zPW<=FTh}<)J(X0~S6IC`Ug$Lk7 zo?shRTYY&F^DfJ>xR*raWv?uZip^C;fMzeVHisC)wondDwR(zeMHDWLrO(b5=O;01 zr?SJ#diO2##^2x3i5J8gOD5!0FK3W z)1jF&Q|76Ehd>bhA(>t18bH7`>g@PyXM2cXCOVFA-G~^khz3cp7{dS>5z%V{`-pNA z?4P(2C{#~}QeAOKGs5F+!-w-F9RnpK0;|7R9ehCb^BA=84`^h_JjNiUesgo1w6U5#i9<5Vg{vZ(*wFD{`UE zr$D@&A|JLTatD&xLz&PJ3;*goU}OEXrr0wCza@lDXVL|Y#RSSSS-GxsCdovaggrl) zD5L-a7x9umDFAP~3D-W7F1I>IBZa4s1coU+!~j_P_OF_2s=biy*5xq|tT>wr{<4rA zaChC=fOX08(P9K{-hPeeeS!3vR^K3tCZ9Yz4YGrDPn&(N1IYYn5W{>tF<96iKae`Y zMkBq!@WWxU+i_cmowWs7WOc=Ft7dubyg7Bvs_Erp&SKPE_@+2}4zzc3ljU>M=ABQ> zb2rWFoT+-^L_c4X!gAPM53$i09ENi^;14#)g-n`Xrga-z@`qJHn?15A!hz^wHnjL#g zciT7)q&Rz`^8>^!G9W)~rxe_G8MK{0kvNVX{O#6UDhuh)H2Ddt(sWDSu})kae@5w8hA^Oe~Hn;&6~63+rvVASi1h5dH34lU zpM;nw-`!LZJeRSR@c5NgKdhQ$NfgX>$TQY|TYvfbd2`}xTmZ|T*b4N|)nfiuR(AjD zzwB-pNEG&?ifM89q-E@Gfp13ehe!*gs80(muAV=*viPri4TFQ}q^{%AHyzm4dZRcq zym(DjZ=vlIKt6)4C|K{>rQ z`a1Pc6p@mDH7pLJ=o0?>sNSTKN_CP&m!*=97W~fvi!0&V$Ig~;-1PP*we{7l##&N$ zwOxkCKXwH{Pkj~&{sfkfJ9s&bZb*r1LjFy*4Zdl@_?Tq(D4kdWhot8#<{h(6SPO(a zk7+90wk&^n2mG4WxuB@pXG8MrgvuPOFO?cFq5)T`dFd;4C{GUpOeM1-tHsU_{{>?O zgRGe{y6Zn6!9YZ31toVS*aC|FEO8AL`xUIF;HEJK%*eG*<(WT&0ql!&_kI|ji2N{o z9z*oMa_aVKkYUfBEt^&Z2Y{OTBLI|I`s$~7eu+dw&xc3f9%>MOw*>e*8XKzfLLEAS zV0eSWSTUr5MJnBTVZIngegER<+0v!QOnEhS32(2AL86?7;FqgJB!|VOm<3E<2jQ2x zBl#ow$bnQYlj@7)5}9PSKLSNurk?KEvCdepYm|Zt>WxFI!E|%vZ0Y;sHui4$u^s^X zWBq;T-_3Bt0$<64jwSi&^edwv&E+I z&u%ttDa@Nxkdb%>0p4U%h4w>k`3rmkb%-uuheLaH5VT0K5U89&1E9kSS^B6rz)ENE zVCoA6iR$Uq8yCI$;xd_x8#YQf*w01SG)V-n~W z=!p12e@Ln?`EjeFp$3MuIUxqlq*X28Qp zq}3HPLwlqg?%tmu|BE#>q*H~ShJkF~k!W*MYXD!}m<43XFq$nGiB!HJ8hg8;x4S<; z#TI+TSZkZMA`p4JN7{+JGDf^EwXga+dC?&MV`p?&Z)_z3K#VoTV&x}u=GbMnqA0_0 zUBRiW2hTjE?}zKa;u8i9G<5YP4y2kJ#L9Utnj2i38l2xEx&f`z1M*r_dx&z+lzTz4 z4pe>M(t)TCU3f^7j@Us__ua-irrI^TP)(~2fw)A*>NYoQN9!@q)>pXkX3xeYlv%bG zTYOt&xV3C8wtBYcx#NQMp;@tnjy@=Qsp-Q?%=x;iTCZyU1B_i2`A!$|)Gw-+{k+Ek zIJio0GYy$rIFytbPmg+@aVD8`TJD16s4Y#dPTZ_={&L*Lz0MuHMF%~7mcOkyJ$ zXC#sAhj3)6LLr^$1zpw=5!k>j@uULH8=vEjFJGS`{3gU`7&%^VV08F|M}w_7Y24tK+Z$cgKVBO(X3~(YV&qzPN5u!*M#mby~Y~C2QVB-u}0j1io$MmhP z!!4=?qWvuV!S}}(N2M@XVrHFfK;*}GCY#jGORFo<%G68q?kG7D$`2k}4G5DmoEy-$ zV7i=NlL4556lpbcAqnTW{F2cvNmdCALcvq?XR!wbS?X7)Ms%q?AeicdF+HznB43qE zuPQ!E!D9_($i&Epfa^eDQ_J5e`7hh#3P_GM4#qw^?wcF|=oW^4!^vi00DaxwlOU_b zQ2<{-F?|=YkR9|=xqH?_K>(~yYH(UEj9vG~JX;;t*x<2nv!P%#d-xDtpCSh<00USw z49S(!rRSTr?!+uan_gr{$HG<-4;GS=>$AS1|s!bxde*(>g`o z@)YCCv&ri?AuQ=KwH(T85wJ|h>Wb>t8FQ#NjxIy`Q|3_bfH&{!+K)&w<$B_?oU6g! z3+8F+(T#&k?8d>Wx{(4SfLto+IU)H2OPvy_rraC;=knhpAjIegfECMokEohs7NJg^ z9J4#1sV^(%Vxc=S$$@M-Q*f}m*H&39C~L;jyes%*_=K>A?H$vzINa;YzYGcPk5Wt8K(T;I5tOjt*WtRXzZYGQ|nxi z=RT$9+@D)?i%B8J(*p-vbU@#(H}IO^0@~&R>VVnyt8^&gYO*Lj;cr1ZDvk9AZZlKtK#;6JgrYj3pS?GIn!UUPkh zU=on~spoJjzW#Y-{yyQBs=wgSWGD{11P|SxLRldYD}d-(lno+$c1#&O3T+!h;9!jh zwQo=~tx&t!wn@Mai1JJ9hC&zT+L8ggVym;n?kH4eb`lV@FQUQ{JEG9gF?tiM2T*c} zO~0*cx-D?iZA)z0rQTbN2{lzc;%euDa=BP9OOSG-| zP5zhH@hmC-%iHnJ9Xqz}_RaocFUNDgIHGCwWqW&5IZc)q2zv#IwMZXnniq(W6z7Q; ztZ+^2h0$;bE!#f;?xxT^U^Mg_{eyjlG(D#q8j?IFUp~K| zv8fGzH+FT9<~ufak^+Tn0~U$JoF>k!-8Of_8&_be1%+#Jj8Enx&u19d=1Z+^Y!=H?c^hD*Hw&hbJbf)?7)IT$2cY zjH#}zAgnw(E50ZD{hfE-sU~D~;Lyj`*!0n=r6f9;RDm3#gs^1_gMFNytcPya>xZuB zALbokbNuYv%AK#wk*CGEOO=J|<%g%uv$tp%D5sBYRROgH4XRUFx5-9K`}u87P%%Yu zf+1-m6!9RPkz`0gdEKDobFIdIvSR%#o+ouDmL~;Cv7;}R6IMV0f-~|un5)@ymH7Aq zt7AzaVWHXKv7dVUP@U<^e6%VgMC`ac(A}T3PIrF#y^iDFO(LlI;;YSuXxM|zsP#bN zkn!Go0g%{d`uIp*X%b)4P^65=&%Ui@OKFlxtq`H`>^5>~j>i0Gfal4%47q@44&LI- zx#Ei}gt4j##KqPcn64K|9!tGKmA#^fh&U4ZXkUKK-j8ZOY+REqBnEORh-urGP4L-; zFs5Yk@{wFNTTu8d8vW_`;6O4_NVTK39S&XV9WJ26=!WXZNAf>#@TS~RJDq#R}tV(zr-RkXWe7FCD93t6b3Vm2eP6y^0Oy>7#i8Jok8cXqW!XO zp)%*CV~qmqECl;L`Ss%M?^(9x@oBP4N|$eyo?J9XUYJwQ(Xwl6Ix~1!W~diO&XhhG z;h`RNamhpFFOHY5UqMzNQaVX3@vcvq^B2Ku%UQT?b#l;Xpn(F#gh{UMF263zs8$T+ z`_qKS50v#Y=B^*>C+9Jw@Og33oPOc&?#pigrOWrsh0EsnDU6eeGwG^MQ9*I3qe!6j z_>xjYx>ARVypBvlKo((OU)7T(I^adM|(cPMl@r|RF3Z5!o}xf6Ul9MpKGnH5m-{wSZ5Q6QccF7I zgDP-xBQx)w)${^4p}X;4yt8v5l`pV3?g2SURcvaJ2Azea7Qch{%Ncnq3p$bfetouh zXWB$AS*eECZB;2nz4nietvxrFtn(0G_NgK4MXi&! zpi=`MB1@c|m7N?#$`I*7N%#;S(v7Cs=2h^NmI*inNxT0sVN!$$4kTlf57DM^!_J+> znMaTh@zFh@#}0b`bmtlMCeS(|gCP6Msl+A#& z+(0JvVYubfs`Tg!vM$I)1IskKfR9koUY8zn|Hsde5aK`@yBPi;R%vvud0DLjdi`x zu(wrbnAcS!XtG9ndZJ?ik*H4=o{oM(E zab8#eC32IeQ-<`l{MBjm>=Q_(H!+R0sW^9U@yfSw)gPT*yl~YE7l#};2C+VTyg&5;uq%@ zum0OVDV3t7(b2{0CkU|?Y&gL)Xk%vBoVvC+{4oZXLU%_&(6zHCwd$pi~_};*O89E!!Z<|0Hg{Y<@vJk zIk=Ew=98=JxDiVtlO5V<~iZKY~X9eA844{J$F^*lI4cp`*#N<{KN zk!gl*nr(p|n0WE?sjfP0oPz%2DCj4fALsd%(%=O@-k5$tqwtg;1+xiH0JQQvg@a_h z2x@1^@>^3nP`Z2z=oI5meO0@PR+mveYO$+ABhQv& z@=jajozBWTy(;fMlF4q|pD4&6_&Wz6>$M)-2iZcp=ZFjp-#9?=mrg*Tx`Z z%9k0oc~}kYB;x{X(p83U9u7?J6D-224O@2Xc2@^1^Ke$$naJnCtyI_gPA`8X==#pS z!MwKePF>};dV^z*t}_4b;YNfQ!vOFPE7aCxO0*l~ z(nR<_EbJZ=Ag2yQH+PGY9c67GI7aFqBuOV`M#}%5#paP?{1tjNSp+_)xa0N|xK6Sx zj%;@5a{U5?9M#+++03-78FoxAsQzf3>kNiZDF*B{T^DMt=tx2sGkw22cY?7IXGYDl zmw`JT|F|;ziNSecYCV3Wu{T}VKiJin&PLoyKK}S8$8}>F;U#IFT)~&P$1EKZcrh?X zzBWg`5ot-;{uUOp%;%OF#dxIuj&XqH2geB{IC(Xk5lFp#*OO+|M+45o;usKLhhdUM)h3gP8mIQ*=WvU!7aLdO{1J zxlx$?m}8@*vvkq&iDDJ?J(4SAKF(ftKypGSrC7PM-XqolI;}dM$q6u<=!pd_gFMNcx>Fi^R{m<5QD875VsDBwk4h(B5(;0O`ON(0b8OL`p?4`H znhd(aML0%OsWK5mMEl4J;cqRV_S2R~ja2S*WRJq+EpJJXJ|2OJ59^Zr;Q7 zSp0aZJoOEnZOI^bai*3qxo*f1@LK zIDxG5hAkDPGI2apGkktElPzv3goBS7bqf_}6DXo!~KmmoB z$*-IO3PY?QD8>uFCTdu1rYxix&`E;pM~qFow-smRz;K*69T7IMd* zI^1z&1vZ5R_seoJm0#X1UA=_8fFNjzfpjF5DddhccK4?LKz_CF{@eB)jnGJA$KgUM zmr3;fwm((apG~%d+ibiqoiF?r;{B(ynfBOkDOGGo*t9Ppq`b6jI_XXv>oG)DhfdD! zj$I1V3~O7F*$Y6l1V+_q0K%g|ENFyQ(s^FlYC#RsC)Tr|HRy~1siZR(xEW> ztcr>(k;JOUUe%zh8|!k@jGxiLQEQl!55ZWcF~6Ve0ct@41|&v0Q=Iz(^shHAgPi)= zoO$Y&sI|`XxDnQ>OE_$pLE^9cs9}b>L68QEzNTYF%@VUUvHL&a;!rxMV@7YiFkg(9 z@6Hxqo?b5)^j-?AF?Bf6KfrRM^{4XrL~rU3GBHQBeR1w?`Q({uSZ1s(o3)ZI{!dhY zFcb@_0Kwu_sX*LY^%uo5CsZ^n?{wFuVQ(7A*tIk6myj~lzVt_NX{DTjx{I%)eaL_0 zPe)X#WhcKxWhZ(_BidB&iq@q_d}xQG0b=Mkj=Tu3~s#E;+T6)*ar6w~cMvLbj%eKbRtz*ZDzZ>S1MS zwmkQ#KEe~>!#1V52756#D8fclY?a3jx`&_{#-{DNF*NGx^{vhI7y`{u`RU-G^Z7o^ zMZH?eSYBUwcHSIw+4F&W4mM>W5DU;iL%&oWd}@weRr%#$EgS&4QL>-~C(pJtk)f&F zaj<{DHBX$dn5Bi!2@_Qsez3YXo9!hGPvMX|MzNnm35J3T=1_9+vH9q7K!=i7@FhvY zV(ZEVOFg;Fr;{yO?*I?i+uH1E)7=RWGMnSm#kqTE0YuTfrKR5mlY%^aScEz&-MB|E zr80eo(3sMvcBNOY&xfB4}V^2RO%Qt~UdekaJtkdhPS5 zd*_}`J+22va|E<3C?3xa7M2a+szmfb#-;LD_k;lT5tQx+80A){1q z+Fj+D;j;iz_;7(7iYU%{0PrZb8KiIYJW#ytU{u|zo@(hJS?ftAKHw2!P5%=2pm#Td zcEOE7RduZD4GNELdA-i0Dwg+E&Lt0EwnYwlJn5%6=w^OJHtb+O?wY_m#+$ew?0@wG zii{}09&yixnvp3@eqEZJUA*#b`S@4novVs*szz${aI3LpyAMGRY^ue!3LR#5HkY!t z%0G;7KAq|9${r50Sk*o0-uOVGu)kgQHvfA*o5{0)LXGf)dg^KlA4&B0iNf$B$mNCx z%FP(z=-QU1fiQH|g08)swdo{+BIXs(Q;ojs-GjM4j2nfnDu;Sgg&$v>#2ip4UMSCf zR{DHW1i`{cfad6l@@;K8)nuwKaiqO&wOf`95(8XLJX!l&NLKhgDd{prIjF-6v}4x|Q}=OX-@qlI*TDh|2k3WZ!ElkZ98hQdbJ()KW+2U$K> z`|8bzQr2eWw*zU?blqF-lhJ1z)GO1RIVXss;V~m|=ztMAI*?0e3Pv6Mwgxf>4TZd+ zyh1=+eqlOVOPd?2r`eJ8dPGe?Jq%OG142REvDpiy%TE_Ce^;EDg+u~4nvl_-S0ai= zC8&y}hiz4!ju7}FcppK}(%2=m42R6>A3sOYSwJbj&rB_&Se6Q}gao!)>Qm?+XtzYu zl=MjC#{ShwWt=3S%_0F*e98o;H%5yuu9?RtA^7RJn}k$@MpO!Hp$c~gInc%*+hpI= z%tpkxi}kZ^Md&wXXsEkuoD{O#ejX)@M)*)7mmzZ><`KK8gxcny zCv_uK<3?2o7&144R8vfVwMY!EO}IM_Nl;3|N^r4y1Kip93)Qx8kuABUu3&z~w=bu6El z|7bs5L)$iW<=R-@CS(0_ihD(it;^kFb3er`k0#q*p-FN?n~zVR%9<&~Pkv^eeQb_B zUcCIJ`RIzg5ji*F-inG|souTq*VDD26&Rf@oqRw(W3Nc(!Dr{>%i_$b;>>A+qR{Q< zrvVT(zQKfa*qlQdjvQ7x)0G{}B=g8)Dbk0$1L;Ff=r;#x7OJxSHZexy8PD435)^Pm z+qBUT59LTz(Q_0^5dxZ>8t{(cQC`3;BKqrmj%(s?-s<1Ya zszz=w1Ib`Rb?mYv0dK$+Hw>*ORvl>&n14rr6CqzMG*x*W;0%33msebg|6GUW81b3+c&L1XPbRGi)SY#<)UDJBAtnY zg`X2xOCVrCr2S#F27+Z*8ft+_*CvZ!TD)_<{QS6i;wsn$QF;n2()5eU=y&+joL(SI z!s6Al#rboX!DI2p=ZnWj!M~oDWU-MS&5^4wVO25UG~umCw?vR+JdZ_We?|CnyV)Ym zoF)~&sn(7wtQ47bVwHgcWdp<@hKGLZVe~+hW7Q_pE|8Q|p{|K+V*eWNSTz*cuz?oF z52d=ub(f_`qHlWAnI!yB5f8$z^roaQ*3qFPguhkoFeft}>&Fwx9aERr*lR%sv63KN zm?+$Tn``Gsy3x39Gpq=`#SGQ_)QQ!9ArHnMd?!9Q(3?xp%v;OfMiY6~wYL6OQ(IGX zU2D|(FFes$TU&GUe??oPEwQ#(Q%jVTi^f`7TmH*vTK=xMpF!B`hVft2A?|fF`15*d z--OK$$1wi6pBHafuFtw$+2L^%aY041l7-tzI zphOL&5^+eNCFB?mqiE`;j}iYdlvri-35$0_1JsmeCkW$@X0;enO%q2StfPlVn4hKF zJJRKG*_BNEleHXP_r3vzcQX*w0?hN=(k2 zgW{RgA+^N`oo-AAraJW)7ZXZr6z13oJ!d7674DT z;AYYp!j<;*@jSTvw+`kzI{hhb8nD-$IlXxMIUE(^rwDTcN5c4d!mSkNKxI<8e5?H6 zxOwkn`HVYBr-NOJ_0w!W_W9<@2MSg?J2#OX(4Xke=~6q;wNk$1je)eU0h;%3YK0*zP>krO$99o3;V97(+mMSDR4tAyf>OTZgba}=Q2%Kl%|F&V{ zCOne@EWrLmI=?@W(NXg%JI|p-jwHI1OCG@g$4^%O?*D(Of&E8vgLzM64c>nNF7i*_ zhb50<_h1)c0SQ$pq;fu^D5NvVBeAAv^YV;BfQ#g%KD_dFZpfuJM>9#UfnbT{83n?6 z^{u>VFi$4rFX@c+O-uTCQLn}X9S$;xKoB*wyL|GwIrbGE2T~_XCx=UuC(W5D^VGk| z$x!+JbMi-JVYKw14!(77yRx0kg4w`O8MTx{-!tDY)=oZVNXM8ztKr`$z|B?sVaT5=FPi#kl(1f z;4x-tv?#=NEv#k^@rvk|X0uV#Q)k9HoBB(Wj8f{V$hGVc*f^v$Dm?YL(7HJ`HarQ_ zLdIL|Mo)rtw^~UF`;SZJElrCo*}>a$O|Q5OREgu7#NFr;T1ey?d;e*;-qbi2^)2

Qk(t*wLx(4@Lv&pE|68*UaKjywi+3X4f^t@YpXJJTa|e z+_W~g$+qM$k`BJZ2!FJrr|rtrU$r_C1^ z&FL4uBaijtE|BSy_UzH`Yo871-UW2vpiCzFG4I}h0UeMfV^ubQ%TI-onk#2-K+z>m z2nt!`TXLI9yyjNJP7Vvw;)Y=t!ntNymiJ-qaU9l)BzKc_woK4Mb+*eWXsI=jRxx%$ z{?x0M!4TR!K2g3qs}W@gtd-@TGVZ>m#9W=TFF`;@YN_SrrSK%BLQ?oi4e2l*36q?D z{sS(eK-C4_U)VBP5|S@MEqh6G{lcQ-0O66Lj>5VYq+_~-^`hxpRQrD zV>s6Rj<+g|zR5gi`;zVKC7OD(cilGA8D*e!7OQ3Yo{09sx_s?Z>^0wLy2EK(dVjV* zyBcI(?#L0bdSf^Ci%A|-S{_zHrMsar&!1a@Q;$cdIFs< zLCX@dw9{5?Qlc9-z=w8@pTQugnY!J|K{)>D+Xa_aqJ;FRcWcPD>19;$;%Aw6ttb_j_y6J1GWBOrcr(B;bGPaw=D7JYWl9C=1R=xlTg*=%2) z+Mgi~prw>Ws?b=m(a-UODn8rV;{wu})C(wJRrVml^4VuyF4fkCPeXoolSLd0Lx zId_0xZ$n+V>> z`^Zk+7pe>K2zdmLB9XB1p6o`KOErR&$i4U7-M8Y>yMrMMKuSfAVy`)FvHZ@#gda=< zX^HzKjP^7v7(Z{$e1gvDl3#C~jImzzh3Z1CPtHRL8 z66~lZ%MoV9!V!5=8rOs@g`HRoS^Q~%2TVBDxF&M!SXl90mKAQ_MTMf#AyvVk!cp}c zIfSJAaq+@RA78Ov0h0VxEqtPVRSTftap+*M32*>$s4w7=1TpaJjW)dVA=!-dzf_ax zhQ$awZ5b@*Lv^bUb(6o0-zzp-y-#LFiNhg8l*On)-~+17>+TLby$X|Cc(eiAm69rW z6iMP7Q?$n21uZm3RlBIm**6W>2F~th&9TQA+X43}co2+FS3a2s0Ry*GDt&vqGZgV?iuNsOvswh^ezGjpGbfJ{WD7djEqn z|B18ALU{6P;l#RBo>Hf0woVp$+jK~`sVLsb6KX{90WXK}D3psH!%)p*TR*t!-epTk z7)x_zrZhW2x?i0ASLOJH^8ES5(b2{0Cm@IfEeUSJkMEchpBCrO3T#nLsOF5YPfTg@ z%ktbf1V^C}8y1H@UK}|KVHhy7$>?nP++&Q=4YX|Z%gXIDU@39pNzfLf&KAvQ-(oA| zC1?$4G<4eH2@z;2fD?_HZ^p3V5Y>PFe0gpX<4j=g5JX4I9KmHHAR|CVx~~QB6k>Ws zJaz4M100I0l|WuV_GW1IDmcm)CxuZ^b8fgVidGO2tv)9VD9=o{Fdu!E$)R^#gL?oZ?j zOwAU2wdwehdfifQ?98S5(}VpDv8GsaW7FG>(RHj-kYI#bm6YecE1kOQ?vn7HaqTX= zuIW4|ermmzo$sl_wu9XZ+MQTqE5z>1>{4ytJbJB}?e?zgPE6e$C%!4WLzbCgN5cj{ z!)5JQv$|t0M6G_JR0_X9U20Kx2`wii>nvrLsKl{x0Cz^CX9u}TsQMmiy=nxCyH(Y= zvCx`Z$*BMMV$56^S-d?*c&g&uJtju_Vfc9C;K1S1*d_9#JolOT_$9DW=T4Vj{F}2; zCxe@-qbG9UR886hD8Mh96Be6Lgj*QJ?S~xqi(g$Kb;}Q*0B<<_fb9Fy_or2T@Hi-!!{|wIZaQp1q!W>#B+BK&1Sc#_ zo;#kCRS;LnRkm4GR#7f!bQYWruCC)C$-wxZA-pW{%LnWp7Um$I3UpWE8YtvIg@dvr z1&7C1F&9F`noDIO`iT|9q=cAVxHSzcU_Rxz21sff{;J&yt8FjE<)5{UYb=3kZSA{8 zzSb>Ejnw{kZMa^NPzJbwN*4qn$&~IO!uK}zZgZ2QUBj2_;H6=A)z`&xped1D7Il`O zl6A=23ZsqQ%O;1>j~=4^y|~3i1}ES^Ho#wkozYyS1%)c3PmD;Rf52eD7kGRSv^k~2 z!a$sXIc!N(>T#8_%Y%V@X>MfvuxM$9Io)PmbDH|)Spse{eozo_U{226gqM7|PO^J1 zA;33yq)m&;QX+}u(JeM{(bUTHccm-m$TXI2f1$LRJ(NC>ZiLpm3GaTmksPjm!;IO6 z3HE#MXAkdE43rzRNrUwo8BRM|3YvF5H($)!LmRxxC^@g4YfMsyzC-Cu<6yq=K(BkS zdu^nq-Jpcr|JL8Enic(|NOOWKit$5SbHW)0!m1xkCsR3faO78*kw(aFO0G(U#%!+F z1$^jLr=`U*4bv$)((pL&T;-_XFuj&^7x`z1@D~LeBowk zYyu@k^wrYs;fizToax5xmcOz&oZB}zM2#xJ;AJR8-N@0zGC@9&zwjakHEsUh(O{mz z(Pi)qW_K9YM=3E7xjcb^?=digJ;wO+u$y?2iaq3d*dFGVvi9w;*LceoSvkUrAsv?d zgdN`%r>|vXsqQT6qC(u|ax-=;i_629cLqzr_=c4J%VOa?U5^!*rE)t~N#8v6x3q{N z4>UX)*GG6<>QiefTxF@Nq#e3L#1{mbOF`a$&>msiwi@c`my6UW`l2x|WqZuAW&LbS zNv-%n>4wjDs%765Y7ANSUD2U%ef*#;+<`EYrl4R@gj#Lc$xE@0OK~TAk&Me^Z0R)1 zmrl7%2Bl4f0uA!h5()pTiPKL?l$HyVmlb_AnBqn{p`($}PHP&mY*w^l4P>i6(gkMJ zr@CZ1qhqs>GH8b~K8<%Ckm0CsUddW7*=km08)=!$+KJ=J+Q!nUd1d?0u)@MKY!yh8 z65Ksz%|5vGgzAoUGv^@k0{nx>o5nS`A=luRJm$3h(^-Y`W%oW*B*Rem9&}rXTDYW) z1maQ~p&(F)L^k6Jcr<2s6a+`3n(OLI(WKx76(?L_YQDy+f!+jVyj|@d7J8CXziRW&NzM5gBT9p)|R`(x2 zH%I46W0%akXU#F@r30eZm%|v}Z}Il`5Z;qUd^Sg(73V)gv9vFE$$V0b#4?kVEGR+p zthJidX~AB}T+)kgZE`Bu+~+DzOzFlw8cNRXn&4rrK_#3X^kzZ79W*uqrGW^sz{JNXv{{d>w^{Y*CD6~+6#@P=#pk) zseNcw_rbj-mlFjXstt|URJl3ad)Hx{sx@a&h^9n43U1b0stkJ03 zxcP(l&JCS^RLQ})xfBoNVe$D??Hy01^6lksUxGp9$uW=)*}j+~56cr^ccW$Kq=1h| z=b44)zs|5DNEipZBxOEvT`<~#Rf~pkx zO^|e)ksPB&5;};=vfswW?G0OYmgg=)3~5$$tUP;T>B z04(Co1Rg~zZwWXJ>wYma1E#EJMz9&u|Fw%ZJ~tOe$QqlcF*Ksfwj8WJc)+y09#~W3 z+rhx;lfkqp_zdp^Ht$$@WJ)t5kgz6Ly!rUw*XtKc=9 z4YK{@-Q>ZxDjRLqG>ZGlE!*)G{&+XnqHazES4ybIrjurQH`c0djBHD1+z`1f?Pss1 z+SEFrEy1a21av!^G6XDa^b4^_ylfp5od{++>W2(d>_7mMBOx-f$OZ& zNgMbR!UjN^gn7YH#B}xv7(!uQEYxY890prq3e_#ADhzE9H$~(#tqOup5eng~Wbt*- zu(G&I86kJ~U?K;-RRw=@uq%d()sVu&>0+%p!^ZgqU!xW9^+C_^TPpoJGKA{Jtq9E~ z!pbQtxWu*1{mOl3-WWBXeT#cQ7XyGlRpFaL5Dkx~&|3kdkl!aCSJ#7T1=@o1&7Ct98J%?!+OOO%3E{s|gCcAjT2(S!G^8QEajwZWU zU>)fMd5u;W@UTcDX#L|G6atL3WvhfUY?fSEB3w;N_7=%5@@K$I5%vjG7;))=Rhum$ zfVq~Bj#ML8P+4!eqg%j0d-_$pgu^_mM+%!%TU?kbU3k7YcZD325R8>vmdjsFo8w>D zrvc_kSow$8q=qo?tNew!u_(WY)LUw`DOHlDjZi)kjjd~JBL74QenXFjBE2E8PLV_& z5<<{Go0|IXG`-V=TLV%Q`qyT@u!?aU4&K-GtX10K^_te>nZd&a02M*%zGveO9o$l3 zuW8(0=Il&}uK5dReFVV48n+QDT?;>Wksh_opHF z&$DmKbK^L-AZ(#-arTt7N~w=|c9d|ik;?rO^uZFno|s=|w@lxWcGtduY8OrOS26?Dgq=W2y!<7|$CE<2RSDiN2K} z{Im-}9WVrwZQBu^Gi1$FQSysZP%rkW1r97NS~@QyQyyNXHp zIaAzfB=3wjZx_hxV467_n>t)bmFeTf=l7}4TCT7h{%Wr%OHDL%lXXk? zq`QI0H=liIb2|(u^*J$^5pQje2Kc7$1 zvS6uvWg2gZmEkkwZ>F>uyK0WzTD*GKd`|wpZqChO8PPdO9_;FXRp?-l$szxSx}p~I z`4SRg;po+sNGAv3#O1hwS*)@dBYz-0Kp@Krzx_~#uJvKK`WPGc?AjXNxFP=jp6#2q zcC@>DM9WeS3Uv)$!Fcbz2-$6sfn3(6c=Ppu#jWZm%L^WW8SiZJw%44B*4lw1E&C<% zxHlw?*n7X#B}|A7K~OB)d{ci-3nrpNL_PU9XYGpe3N(?nt1FH-gF|PYzzG7R$CbJu zV@G6Vk9GP1Z>@qerXQ?vgryarT!$dl!lp~ncWSDv2g@Z(5TR%G90q`9KxwWSbR78c z#hJscP4ARW-6Oxtk4|Ew6Xj8kQi#XCR@JKkl;L0y+gUH3UVtWO2 z!*?Iynk?a5c*{bfAwNK4ytrmqoo7K0o2&`zHCYE`U5DS0Uw(_FP6pvVQMk-Ki-w(H{XuyjiAb-`#i@`Xef z>Ao8nid1EjZ&mgFM81&9DXND`uf{fI-BD2TiofMm!r6}N*Vy7%AHp5g(F@6d1Yw9?J8?(J9 z;XEBZrQ53b14udOdBLd3Qul!2h&bRNFHvW35ab2_DX16bt=92_)v*=Ax<&@w(3>)1 zP5Llc7PVX9sc3dig|!gQh<)%_oJ9a8P00*1*wSox4gOWT;NYhRGZ4K<)3k)038!Y< zIxyRjG}*q}a7Q{A$vC4;cBQeV_fp$k9&ICOTe-HoU(rZj5K=2;(*1kprB4ZEu1sGP z@jQz!Zu20=I7e>rew+Q(xjh!#feNC_44=Yo%<+)Fl zL30a@{VArBk^=ntU3ggrb(|u4Qh_xTpID`4#3wr;JPPFrh5bKPc_MEsa_TD!Rk64D z<3XLO?)p!m_DJdy%?J;<>1SoaN1wZgOI@7#vN#K@P376N`SMebjkGM8U>wZ>a#^Q^ z`$)H485-9Dttvxwy2p9ZV(b;2b=PWcG(rU2#xp^??_TLfI*QHxxz>ZW95BxMzi7lH$9O4-pzrDj|oLi-c`# zlN740aSdt77Of3HyLxEThcx-52~{g8T=R&c5>HjDpCB~A@&`l#UB{zVq?^(wPrx~s zUUA3`3^Gg6P(SW$5=!8kT$5z%fCE*r#agjpSV zTAaHiM74f)AOWe0E_}1+1SkgYa(-|TYUT7OOkRXoPed9EAid#_Oc$3pdCF0*SX#ON zdL2)HDl?dmbY%RIC4v`y-hI{;bKAQo~QSli zR&+$l zA#D+CrMk`!;+;GG)UiEOv%7OcXGeVV7HVI^oI?w}u-%};gk{;f;{(Ol#=dNCsAk9J z&AU4~+nZ`?YHMqahK2?M4Zh9M`O?M5^ac4)1JlGUhga7htyx7Tb^y{f)~q5Yem5u` z8ydK6i*&k!jSD-;SFOTg2YT|m`+#R-u9UG*%_>TqSFJh(#z_r-Gr&IP9|T|_-Ji-1 z7TTMQh8?sdtyZ&&n&Ci~1_wlk81Ve=9`c{R8asFF?j#V%#Aj071rCW^lL!bhxdbsX z$xYerL9)Vy5DjSGy+2W)5==6)8~?bWbIT@tpJb)l{~Nk2dD9Nn0FXF2L!bjdR69HV z+S!g>``>r$*j!UtxL$sF7e!lyA+NECvwqjMp`-7> zwoU&$wDWNPw*GC=8jMlNwI5b--PMa)s+OuO+@>H)WLSq+?g zF}pwwD6Z8atAv^O%BP-|hL6{*+PP&@J9l5ByLe+ZmvVBU+c$$;ewB5p-w9~;q1YmX z)U=2H-_4tMxLqi;5XKJ@4H7$sm%m+_{8AJq+hY}Er(ybAYF=mMLA36-JeyI3C$)=& zT_5>3`4e+wr2m#)gNZte%o$mDSdsXvTzP1wHCo64AGi+-BCtB^84d`L-CqA zJ_fXlts`Tt`C)isO&v8&gpIHUTxm~?fWVn%P$NiD_vijyyLZ=^&%VX!fLF=Hkvbp% zHP&tQv$MtdNx(Z?a_H-}j_rGFeT8ilN@wWx`9SIjx_GbOOAGI19Mw^}QA6uP|Ct>7 zac0~wC#E5G)v2!t-xyjO>Q40abtSqF#6jjjN&z2Gh|~UuhSoY^{J)$3dSH}ir_Iq} zjAE;VkR9*jrp@1sOPI;;1)4rvCFn&1BEecMJ@r9zK;EWouEJqmebtPn%osQ%J0?~;+v zSEgQ;=cn`lx)KKz0RHp!DC{@v0~$%`L3DTbSoqF}Jew#!-tb-v^tD@bD__5bcR^-H z{$kdAd>&@coV`G4&6(od2;LBJX+>;sMMpB(>_BMf!?j4At0Fh6>R2CjJN3&6gLQxg zfmBb!;6R*WlY6s%YE%}knCEVKtplm8TZR+34A8#UGC=#*D%iIB&t$)o{ty6!*Rb)}xP4$P}EQQy64)v=qu_)hQ zAYP!A6jjX8&s6dfgFoeA(8Gar-k^VwukXG~{uQGGcE_NRheBh{xUM{6gt8$cJ)HsP zP|SomIJKk3xHDK`i8H`QO$XCV2V-}ju#F@nMfo}^QPLr>x7UnEPVDS69=2IueI!(v zvkF9C>Va@hmK;q4xkdgPf!(5HyU1d(XXhqzncN+clpta=|6?$fJHmA$l6oZs09o3e z(B6+iAFc_(_x)5%orzkY8rQ53MI!GKn01ke1){?U?`vG$`_E&81BZ_R9XJLjR(+kF zQI^){Lw;D%cMy}848W!)LK;GTZYEv(1MMH&>}YvlxLv&;NEG(ldavvsmU7sDw$l7-|R$_kVVdH0Oys2cm%V6KjByg z&A_#R!LUFuguL~Fu%nQT_{?*H_-3N_(gVuc-wBPLq!t8gqgiJtRgiYWRA>WE_EouB4puKur4RY;_!Is%DKuj z!rFhc#@6T>aL}hLKg@yg9vKG{wuI=8i&J);4b(OqxnsQbc!IFh?Je?1Y@du4?I55P z&oMwpxzUMy#nAMd-4eJgLD?!Rqi&D+GCunj$)Ij}$cD`icJXFv85N3#P}=j}drB#q zNDfYgXjbzA(aBjs4fM~DV-@&p!I;^*K>8pUc;MY@Wkz2d{u?)J-TMB9jelZizs%Rt zgT#_UN$Lkl&_@bdyONM%gP%h(gG(W0vS1(yiYMcDzxms5`hSy*|K^Xs+4h^=^s8Nj z$L1nlM=A-ocX38{_b`g-IF`i}hKxp6-*HmNTcJ!5Z}go9rcTklI_cP~qI>S+b{V?K zSzpmj%F4AzZL|_?!N$)o4j-4VYk)nJdjcb~g^|VEbEPZO#kqSpq_yP# zJ8H4g(I%sI@yfRltc4!C)TD~-0KK(K9h2MOPcLJv2TeWJ4{Ga@f3E@>- zn8l}9EwA6()bP%SG)G|}k?vzmR`+1RXh^On%pm2~1m+?CzT3?Ut3Bd++VBAP< zR$DfS876mPdbRTDPSAb;=fcJ5Z?zjCS-g&J-qv(TT|-Gv<@tsU*$2j$|j4X)PVDu zHl71`&K8O1gkA{#4PQuPL*_DUj1r?l7L#hPM&&H%R!WG8RZ~<0-qcCpZR1A*w@Q|e zdJXC=<)|pH<~b;vbT;sSoD5fWL*f!!9FN7E)i@fZvK$BBg-vk+6}UkZ?AE(m0I4t) z_<`7c>bZIUDaJDJ^DrcANYs+Ivg~@SR`z4PQlJ88OInUF=9>i zSXUlGbHEW;@?~iZc44g+fsiF-6_Exc4kgm~mNJl*!ZqZaq5n*d8^R_FQ=3$#?krvz z!Mr#${+YUAax|~OHbpT8Rc5Y>{FEEz2SU*y_+|bXB7nFY&LNw z&GYlcxw~xs81SHL7C1Enx%5HcbP2);H*j0rS94@+arhcJahQW;%;}r+ezveVK`0D&7B$Kjo{)N- zAAs$^)rZB|S@Zc*X6`uhlzTvsOM*egbvD~PwY$RnEmnODNW7>Cmbdf|S{3Z`3%%{0 zW;{n}@geDUf=1lHi-_?~oact(q+uKjr26865itse&tT9YF@A@u{lH*XU%K04VkgcE zpjMVIwdWHMLDXOKnCsfD&A}53bGYLP^o60p}TxR@%+#o$`I@wYp zw^KUzkldD0hejn$%`xab6_JoO(n%}Eb~~E8vZlFxF#$bxoL=C~R}>%xNoMKa*v_~6Rozkr+MJrZFO+WMu*&=RuJ*m)MjheAYzULB1z z)yr;ue&Nq8!T8mAZ~cRKTRUAT9u z8TzT2kT=gy_SpD;@Rvz8>@_@6l8x)R+-sC|w6LRKR=98N+;82=6vIwYFP4xot-=>yd)Nm71t?S6kp zXP8P)$!CZy!QWARwPbF=8W|9dxd+mHeMUoP$F6ObT*O_r-o`c6tb$qzQc?8T{@G#U zApx>R1U(falDce8jg?N_MKwy;2(2;rKkQN_<+M}GbNmq8)>*%dT8sB@a6=Di$UH6w zwSuAv5mv$n$mjkajYgZD{y%N&*1g&Puj8@q|Fy=(?7)#+x_5uUSiP~{_+Ql8zoy2* z4SOmg^b+YU7;UYs&8?QVY80JI-7Kksr$L5`+XfuBq_dB{DBqsKl-cI+i`CHv+DN^M zyK$s~6P($xy8iTG+V5jbX@P$yGkN|O<^VY+YY|Dc=&{gJdQPtQpa#bGqi4;#XG#At zt68vaXHo_5ARxD+!eF1=rS)~uy?fW^2NK<>^&fs1pmQvE8f_co|98GZCr2a&+#cUz z9kJ5^dMRLG}Gt+6T9 zlNjtPFcB8@&Vdhc`a2H4+oLs(gP`3AH55X&bYU^KU`Yl+y$kt={Qh)L!H98ULjM~q zWIrVCr7vjI{r?U*k~3+dM2LtG8mKt*P@U9a77!IAAbqJqim+XWYq&V1$}|JZ-)9iU zW?yqx=yVX~vyknllfgt`q5~^3N}6q1ZiS0%sS{t15&lhnUnYz=c}x{uq{pip>3XBC zN5)I7G!ZFgJU`eCX1<~~uERLiU$=3`wrxAM$9M19xUpmRZdvBffb=9tFOxxFY~HYC zYsV%TM6J9JSt&!>2nHAIzi+MtFaAFqgMJ^<}dM1_$Dh43a=g zX8RNAjP;d4r#>@QWAvw02rDUSLyk07lmBV^7^iAhBiv+vn;tmWhE?dF*2jTFK7S~i zBV()Me_9{Y1Mxf=8cfQeRG0N0Z|pes{&Z%rkjgthlCzQwEYU~c+Fv+lP%3DDA$0@Z z^dx9E64G3NHA$RYYDuRLuurg{u-K8od=5m7l<-87N60*-yW_C(s70iT-G<$SB(nJr zp)-inGuHU6L?oM?WMA0Zfu-NGIrG#lYT(Cofi~<59?D*4a{!j#H*cB~XF+k4FIZ8h znA(lJV(c;E4B>zAj}Qn>#5*WvsfEx0%e!p|t2*|KGz^|;A5WF1zVYn=M@2K6wV!puSzrm6J`Alq*O0c)WD^sXW413mu_-`#MKx|0<2p`9T_?>k}Daj1SQMu|3wJ${+xm z*IP3XACDTVVyrVT#Pp58&i3}j6QuO2Rf11u`-=Q`^=H$cj>;fwN|1*4_ z{7)bZLWMpE-Uts*`H&>-EABz|+<<3fXHyCMkYdAHncH}@7P=2h;}gY~*Ks$xQ)|E! zk$W@^wiEfNHUhnRYx`#7XeM>IFl5M4ARRMUZ-aqdsDnQx=$V{lqeMT!y}z5#sd~Bp z{KD&ZhS5l!7ayCCE;}Q2E-5-^y4_<>I3jZPLV6xyl*6KQf{HSu$&)4XrtUd#m38I_OkrbK&sLHJE5=Ntk7>$lM9*JUDOr7*ol7dmSdWhqxzO< zfn{pm5y*2{u-DOqE0=99b+D=vl3jwy9vd<;#Pbu2N zP1KRvw^)>#W2tZissi_wcGV6(l$Iq;*>bepYHwK+tRH!%s?{*o<48dZrsxL~IdE~1 zZ#i_z!3|TkK3l|j@Y(Oft*;Fg_#Ehv3;iLN5H1f5=JX* z;RPcoEVL)Tu6%k8(nP$xQThJTj)7F>FS&wwVx&9|woGuz!!v2E9K4R%b<@LWEjR}c z51XU2x(QMRWp~+jTQ@gyIkLDjG`rzID@7BGQ3C{{_k}|C&Nec{;QHVlABMHa zwwxXgK-PK?UXO~-ti7j0AHv_^&I^RX9_*euJFdv{u^iF^5md*u+2HY$Es*KeND-ua zb5*j5lm|>MP_XYZpDZ8FJ5O~21iSGla^3!NgP&Rf`x8G*|G$#ze;@sSbF8hk$*KQu zeq;aldLDoKZ)VLGk8jx>-?n4Zo~<2mLQLaZcWl_yu}MS&1P-J|T?UK=Deu;o$n+Y( zXOXtZX9Hzy=o*OPJ1{fICjIz3Mo2+{pO0q;xY?oj-M(YHvn)0G&SeX!ZeCh?qbQ&1 z&O>mEOo|t`UbOGnyjdapsDlA-+_P&}$M#N`gAU9(z3$!SrhcQ2jm*%ALO2nlPC=Z;;@8QIG=7(sAq2;84OjJw8z*?XId3fXFJ-tec6Ejwwi zd{+7$OP)?^ZrJqaAk{qhKDC%VAou4|p00?HkCb;v)Pjbi7nTZEsdfX>L1@#sNo;A< zqLmQTl`JeZR$)JLKpb4vtxyh}=vmm|D(vFp*rM+4=#2096HO3-Rh5_Fpn1cPHt*Qg z5#O_Y_nw`A!X0Y2aD6f_hd@ot0o^RH$(>Afut|8e3D8T)e9}n2TG~-|HLxA37y&78 zc1@Ikh_uo?R4*GPnE?pb_~g?P#;BA`A<0s-Jrj4q}gU4S;0DP6T^^2#8&tl_Z}IM#8;>bP;o<}~3Dbm{YBx4wST zCfzNTm9YI0;1*w8G0$9j&2&xQ@*A>d{0zuiH5dnvblY7DNmE{y<>!?Nnr{og1afAr z%5o92wt9Oe@Yg}jWNF45a#rmmz9DBzAZJyf96TBUo2`gv&Tgsx3Q@EGUHm1`G-+v; zi>R%uibHb;k(1<0f7!501o`yNC)O6BX{ zmCoH`%B9Q4G1&~5e4;|yuZhywB^LTQ#|Q*id($+O7@{LU%_dLdGyW*Gl0PAd$my>- zmXNVMBo<4Tu3pAttDS{P}SvgWK11x*LsyDHh1^u#0N39Ht z+RArs+38)p%~rhQuN$`Q-0Ieyp&3TrP^4Y5k4_U5*T$i$6c`J8)D%VRFgQ^dT0CY2|#yI)cy4*9WRuWSDVn3iojJO8G$#DGUI*{@=F zZEJDU7Rnvdpb!>P;-N=hzM4wLv6qVTEwJD<)gIrP%;!?;XRH3 zMf?yni^oK!O5}t`OBNLx6=r8oJ;<~G9n?|@-{uR77dT97g?3xuRn4>93o=5dN!zM? zU1Q#pmv2?3_4hU(1mlnX4rX_lZh0`Mr%0O!;P4dC%SAyu)7 zDPSLTfJbqFYTHt?2M!2&g`Mm8qDCi`>HFom6Aqgba%NV0nnf+;^X@I%KX`w~U*lW1 zY}?YQJEW}AJGXA>^tS(iVjDYlX<@lu5G3i?*x5j1Zn%A?Ek|cERB%TC>pGEt!5{k0 zT|55zH*es~a-fIh-U{CFj?EkPZ1w4RGdD}fXZyVR?LJGQ%+>)W6wZSF(HuC;OjA2aGLt^ z{eyBn8_N1%sJ&6U)xG;C=7ts{6U4wof(x%enSq?mRfy?9)TTaVb|^$hBf3 z$Av_354X>Bdq{{*+;rQ1F|;Zfp|E4Y!c_^B6dhIEwjCW6F3NO@xF168vD&r!j9RB_ zGCWqU3p*q=gTE|e4lr&H8MqV@&hPMp$1#Jhd#Bzf&$%UKI&a&NPO`p){U~5BWji`5 z|4MfwpJlQa8|go5jkg==KYm-1*W}2_f3MVb6g_>#&B)3g7Wc1&&*6ot*Q!7!;`UoVtU9U<~!ylbJB?Pko6ZJT=sH|SDV4KIP zX~`>1sd8ZYSgp>guSNhIrkWZRzt6_-w*Mtd3pT#TxD~KweI3kIm?wb)f1pHP8va9& z4}Lb#bjoWDQ6js)abU2^`V{s)Dg@~6zU*MKr!SF9HF$w1pL(;|-oBKs@$5h<;{u@W zgupS;39)Bo=<@D$19~NnaLH%bE6@zLNS573*(Ef-<4?hjs#V}*yXsvX|9cO)GzGD# z_Q7jU4To|CJPPrd^(eyU&{jlFaf2ywXg)Ps3zF724{#liv3$yxmGb{W|G%C?OsKdb zUVz^If34A$7H9s~SnC`Azt{6D$^UQjUmz27XU8sIFFi6`&5VbG&VY!Wy0&o0)*D-eLUyowzai(s z;)44AM7Q$2Tc^t!Wp2_-faJ*KO*>2~#c?g5zcdD*^v0SRTi_;Kjl~=z3lDkX znrp@?A>x&%m{Iyw{~5l3|08vZv*!@X&e%>|VwI#7iTNk=g(sh3B>1Y zJ4z26Y$3B&n);qJvpD>*IWcyyFOexfI%(cLTe|TvMz1TMn>O!!;sV+x0WB`vC||sa zmpD66s(vfZ-IGfcXJ#=4XZiY6>DDM@Hc~h7%aKT1vWV3K>14LYpsCX~5BEi3G?`5>CqjGL19^}&OIp4J+j4h z6+;PVb-H|Zq$(w*U4sde;>!I80mUF=9}NLTxg?89_%oKCHT23orzjI*>UQ_^#tG?Y z_oSu{OB;UffN#16J9e_%&g!+68jfdDhpK6u&#w%FX5qEJ06q0OB>dPRUDK{x3cn<<<_$h+0dMsZc}WjI^t6V9uCtnl*mlyGOphOpVe4pPR{Yiy z9vd&CHj}odw4q?cth*!3>x*G?Vw#?J0&!W=(UoEavBbmR8&^%-;IN#(((=Gay9?l+~2W4g73 zM=#pduyg7;aNss!KKzFtL|h~#ytn#e$P4PfF|?Wgkf$oYm^B}tr^p9$dE+vq-=6#u zStyQTJkISI3`2&_6Kr&z<)JYnmvbN|dwz(_j@Q&|U?N!Yhokvi> zJ4pXvUm;EHVHwxWf47HYv9)hEt!-&(CjTLSyiNYH1WF2VU*K42uFbQLv&h@F{1un7 zICC0S^W<=8@+24xHKYehH|~{YCkW5x;O>zi7H7_qomaW@6=R`A(-sADT(^7;BfShC z5ktvtDqVO<_;zv6u(*Fdk6z}29y2C0PKeGCLN*pJKfY^&s0RJ#12d~(dQ_%DnFccPc4w~+mo@1Wi~14E@;03M!c zQ0k9Fm!*o%PHK9$M2$k=Fc#`8aE=klKlL25kBbfrlMuzhOuP@M&j8OM4%M!2o*N|VFpU9zR7OJ|Ow^&aklXlrriOHM=}%BVRqW{!@NgO9Kc z#o6miV-XxG*(Fgc`SH`ug1sv?z*7dBe!{Z|- zg&||a*r<7WfxIUrxk2VNdzq7-tXZ}0M(}9$vsw=w2_y884{ejDbrX@YJ+HM^Vy!Ko z^V&LmSFN?ID#bIIUd-$)vPt<^(b~p}nR5i!&tCQhbrf29`fP$f(I4kOr_B%?@b9*l z@vq==+;m}W9j6W~SnNk@Bax89-&uZa^j3hek(vOmPOqTH4K!qB8-b{?{AgT<6t5kx zyc~y`t0L;lO4b69G-QT;Dw4K*-jhmFRuvgjldxqXU;h(`jB|b%fx+2{MBX)!*ua0+ z)={FPgZ+l)RON(G1wsHhp?j2EvBajYLM-A%=p4c|>8@?J)KIVPFOXet)eabi3(=P5 zwb6H4sF0zht#xhd+w0c8-P*kNop<2>I*%(=6gF8@CtB^hD#YkO*wi~g}y{4 zJph^+0*?QbWJ-2E07Ve;fMNU6K^A9bWg}G46P=*MVl24(o|sfOKoGvz=Fhd_HeWsz ztx&<11E@+~gJMoc!OHy;G`)pYH zrO^WN9N#Z+3Ehs^>|Tm{LnN>GhY|j0_1>n2cRoBCUE4ggud)7U^N{sB!vBPv6;%0; zmN}RN#E$43C~KqMLqBY**B){LLIA4Eg>I99?Wg@sxJqa6pp0rYJYhh_G>AvIisN+M zIgl!H*YIjJR7w?)tZE8;kXu#6*=@aQ4>eJrx~9n6MpXKfx!U3DrpC4w`Xkz8MBCnJ zjJ2|#ZANrmtTEb#zhXx89r*P&{}_w4Feoixxy=8THAi+CYO|#^!g(_nMiy_+m99*e z|2Hb{CmV|jk{?1D}v;cfh+>#Ze7h}x7k8s;OY+(9dEc#Q|W zR=?^vORQ4A>JuWgdiCm9D>(^TKRgyA|7rP{{&zYmZl@?g4h*>l92fHMpoaxmdpthjzV%@C2Ki3lxg$N- zdFgAdSnt4R2_7Wm4pB{Bx~jrVIBZ*)owLo>OdK%aSCC8{OlNws;vI#SI*3`jSkkur z-2-yYwvbUrN*EzUuC{uKdqF5X;|T*v{%dPSwwVjsPR!j7wO$hqQJ~J2Sjx=mnrd-3 zg=wipTNG@#H2G!u<~^Kply_hnJV;JYdSjbi4?($gY?e-*CZ`+X1p$D&pmh0Zac%_l zkbDaqKD^%kKZZhZx0}CXz8Lqkhmh{dq7|1#sF!_(M@%bR6U~lau|QGA?=@ZV->~*J zO4q(3tBTW8oSQ4oUlcR+DlSHj1)$e&@|v?rh(cR-veNidG;DioPMj@2c&wxt)~X0Z z*DZu1`d9PXy4YGkecMJ+E=#q`=$--1Qo`es$p%@q%eTt2Uz+n5J=aJZ@CzQjCkzli5D8cB)XAOG?Z~E4I5{DRRSFDjtN$nT>>XAKlQfInmGq%);LFAJ!jj9df*_ zuhY42T7CC)AhGf{VkbQAtF+IG?q)lx=&db!m8~nU#2474ip*=|Om$j$7tdge;|U23 z=|u7^=g5Ld_i4xWO=7FU$)uY}GFo!-s7^cQLF$tfafu6!?FU?IR`?gRaIcBk6ZCJW zMlciUfmh=tWEMiiiQ>2WD7nPPI3H~gLZ&LgKU)ljiiQ?v&SE2kGjBrzh^#0m)}>25 zbI78>+u+mOY-MT+#pi-@I&DL7bUHqUr|JbQKiua}E*C%J6Q0vrj@QN2SRHzG-o`a+ z-qPNxm>gln&Y2w>ljCA$2)ZpVH)FivWtNAR;Yh-CLO(BVMkxx}+Z1J@4*IV@c!^D1 zWmiig6H8+9hgac#mUa-|O{=_d0|{l1Gck4oR(CUby#d|~~_ zSzi65t0=8stmMVvlcm%D)-Q0T4vB~Sv8`Vv|G;mp{k~EVx;E`mH=1R0 zAi6Ws8DqItOv@xlBGw=r;A%=VdW_I-@>Uqv-!w$u&WkCLf3^1iM&~vpKV<)hB!R3X zGL=M{^=if?O$glTwDCJ5TCWI3=HzPN@nlG7cRZOAc&bi01g^?Vz@5t;%6of4JBa?F zZgMs#DDpr+h)Rs`fa}F2!6D^s&6{!aN_5ioM!t>{&@okh@eg@;cmly59NzniP8Y?k zmP6)}?c8VIBJJ>YlW|K)Ry&43kkh_c^?Jz&ox;I>Kx)Wl(%{4#1(FAz2mLv^e6vxl zrEImQB0Tyi=gx!D+d{#*tuYl!j}bYT$U#i22z;aeN;dYT68Th~X;iREdstsETx~PS z!0jZfZ>Z3Zz0*KB9cRh82xR|T>U*fuB}8Q=;o`^)z5;@o+R zdt+5++tXRS-3W=oY7%2pNyf7@M4pJN6ZR;Y@6M$M+QY?}vsNkB#!x|5^j-_yDk6(M zoMtUe@3yQ1I}da6Vd>Fbp5fpUZe-loRa&8-tgCeCIrXNtbluJUjwwcmYaR6B+z9f8 z=7|yP2l`tJQx?Ub%X1JFi$TQb0xExO&ln>?9JGa*E{+wuhhq&cr*m?YE{2g%V_S?_ zS}QQ?7??%$WdgkzKppdEv3jwlDp>x!01XlVzaI{0%;C4#nfE8ilN3s1CP~b-{Kz7Ey&M5 z`0CH#!T7JRwQ}iXYDL1o`o({ZH8rnu#(!;zHob}e`Z}H^#ed!L=Z;;wwruLq$9?4` zAl~cWHf-Cvo9y>?dFvlZ^!Md!{@3mu+g+djp3i3TU`M$)0=CwrOQXfPr!qe0grKj_muyZM3Ss1#*&r`OK+s&%KL{=`ua{~;T(%j>gu*Wl9rttBRooZ z>UMeJgkYt)!8%4gb5-|<0B?kO?01lE9kr1m}+Cj8vJ6?Wt zseJKXdG1pelp)O|v|3D-fWj&-es!fh`v7M%BrPCeJ=1xP8Z?Arlm`WtAxr7CY`Ns! z3#MBj-Fu%Df*$;?hyEA*>K|QRDb~xuNf1T~HitHRd9$ndKrVYYt*_AHs?eLu4i0F` zI~<<9(;HaGtzqoIp@$W5WyICTA?+hAxr#e&OZ!r!3(W!fB83wU4|j+rI3nm_apvCQ z=-I`~Q;T=55K4iO%gl*$l~1pgCciGuJTmV-Sp4LnId%f8FA@lkPaqzX^7ucG%Ua01 z|8eQ_$>RJiunW2}jj`a0vnMJKzOd#PbVv&mmD^`Zle6a7QxSp#BR~4IAT}3`YD@Y~ znlwje%jX`WfeRm;cA+=dEt z{3_zZt^)RgzS-O2^x&s67@XuNR}G%P`G1#6ZkS%p-f>S_(q_>TbL3fZ{xdtbuFGl* zoWR{rIY!Kxuv8jgDGH+sL*H*M{GaxaA~qAv>Ajb1%qTt%Jj;VdIufyNuntHa76T*?-&QYd}MT zOrMb&@oPTq7Hg6GJ+wBHZD7fsbj{ZB!f2+)1s9qAtbyuNWwD3d)DS|1{Rtd-jiSplfYSxLQ2ju9G1PA(%%cp7=aH1yBS ztplS)*>ZF8VP)a!;^-N3;j7ZwXDH&-$Yfo%B=e!-lyhc@llwqeWmhTVHMZ{G4(gZ=tb$KU?4W7j4_#RG2I-Pr)ShUrWC#|Ird zw(Nv|@7~hcA$UXv%hK9LyjVk0I zLH^MU73z!0uSK>dSZ_ksAD>`hL?wYlapn=I5-2G|X;x|M(w3bVQLH#KTfY8XW#Mzg z6LQclUir54=nm=%%<(fIvv4Ns(%GL$A~u4N#f2NinbW128D`Q*PcPAv;>FWj_en$mSdABUW77gXrj4~LuX8wT4W?v3%2rU4ATf8eoW znJUki2li(Q>CB+}V-UYIXSra|uQ4Ot;oMvY- z1@FEOSa$%xz9S8|IJT>RXfbfCL&y3sKr{t|h!9bpokkw8ICFu#tlU3to*6MGzAB%5 zUYa^Z-j~0=Pc_W0Yzwa*?J$!%#83{ddU`|um?dQwLn3QdXRlAz43HmzrILMnGKVMzpCl+)(; z%ABgcKfO47lf?p4F_I!~0>Q}2{C%D{8sc_}7;7N+$ght?4jnqw*b8#%bax|ZE7F_F zq;ep&jy1Ie5ZBqUm<#}^KvuuWR)u>S$_1E(neAPBklxrJ+pCAjzt$UJdqZJI7!Nkp z?IHfxdZW3iNojs>9R-P`byU?Fj%$T=nuyg(6ddAn7d10}|ND*|a5^^_uxZyDj$KS) z0qWVlhmd zNC*1}a}I8|;A;fcm2;-k5ZV_uxQbAqzR<{tH$$~PT0xi2#bJmbAn7k9cH+_=a!?y5 z99Ml7E7?}cpVwD1>Hz}Du8_DoAiZc~^rE;hRl4vTQU?2pu$RQOM(ec)i8A}@&3om^ z(*ep_!d?HeKe4HRT{c#Q1XbeJLV2o7F~~94P)OwqMo*%zuPf1g!05{+k_}xni72!S-&C)|U;c{M zZ+vf$-9S@(MQRoIm>0w5gVT|y^~%*tVjtB4-(z>r9TdneZPfKG#*;X4lRqU zSz=^1blu@MfrgzJloGmR_Okq{ebUpxm@zvXK}q&GyAE*V>oC zrhpH7F)os25X`9DJ_8xSX3m;tMoOo@CjT?XpOH8J8J?sx<3GbUiZio7rtW?R!l##~ z$&o4vBlNcOZT&wCPaxgd7Xo^|FSM5VA+0y80HD#eG$$o_6>Dy3UCVAt`E2)rJoz=4 z99U0>`or*fuO>^^za#vndE#p6$wkl@jelGj{zQuG&+ntuGww)ZZ@RF5u&XhhjVKM8 z0?VW9PDPrld*H;K`lOu{5!B|ak~ZXsY{=>rAkjM-q6?Ii!m~DTRwZzqxIq|-^8MqW z4xu7Af)KSJh=g3HI>+Mx{ea{aA5qNG^+tW)#|Dx$inJ4bd)-SSUQ;5?l1Vhy>fQDZ?4lTb)ClEHyB5q}WqyipgW?tgXQ5TmItu;6HfuD`O->y0)KPoTK0)mrcb zb{l}luBP>lbE-AQ(dA9iqOW^5V`SFAz5=A7qmn(|kXv1s{u%oXys~e=(hNSCmC5Tc z_+(A}G9_@n2A?__{!>fcvNAXx6oW)Fa5nRW~R-GH;-&_f6zGlA-( z`LKBXWVSos*qFUdN(JypjZ5KOv)~i{yM5ZBiIMF{qx{0p`a|u`;`n9GOea0|y1soE0 zzG6b!Nm~dtGBf`fo|LYkgb@B`_yz>yym6U)EKPo8K7L6kHYr7?M*a?lzbDUdBLQFULyD*r^5V`_y>1>lf`qKFVU>bP|D@(D&ZMF(w<>$uH zDA}W&EGs*0sJUQw?%1=*m-YxQJ_r{%-d2%g&%4$~@u2*iK;X*X!ptdEtckEVy z+nwqj%%wK}wOW8%$$54dF6TCA2h;sZ5Mz~RWHP^DiKS29qp`eRmhaAjiTb5c%=Lqy zXxcqXW=c z2^uYI+C1@X`AaZVucAw-OmZNb&J^-SI@6UM%p~(hcCf(y5~yep+C%yY+SoMV=~VzB zARCR403j?{WR?pr32yUct>XbNS?%)mDRcfJxF*mb3*a(9U1cGj3-ZkLIMQ!kTxtkf z&qJyq*=Or|@oM?uX-lR1ZcD$R)#_&c()ss}fdjk$WJoykQ->#g^Q`cL@qY!9uSfu3 z@A$t>>zbo&&iKD=O>J-D|GtiAN%4Po?%MI^Et@)a?bZhX7DXTeFuNa0F7@pOJ7{vY ztK!BTyE@{Xf7{v7&OX-FB~wr51o5vj$a}tLiywvIzow$Qtmh^ zr3`Vf@j{9me04`f(?jZ{LzbwZvAd^N69L5zG?{{QRy-qN)EH1h4%r%yTiX;kPp4N- zRCdR4-GJ@w0|(x|JmZyuakPhRiLG6FF4qKL`*rTVE%$W5!xq`q4~E2w{<-@l0IE~c zM6KAxAPyRvU`HvM@}SVPG(J&$dA%|`0{pMUeyLQgXayrASM>glILrXklDtXx&~&=e zW-Agh$a7iT=B9ozqsW+OI<~Zg63*!^I0%F_mHIs9h4{x&0;E5hXrvHkk2DPdNlDvyUB>uC*FF{aXwy&F zu0ulPv-08_1p^XVZs85E9C$R?NbFB0wc+v&iZH`U3R#RFWs(%o^$AVmcXudA4hWs6J71AC0KSA>iAv4h)kisIX^y^&wT}7uCgm z<}|ol-~FcY-90&+KgRwyr%qPB7%9z8=$LK$om!vqt%cK_4$C@XdEr?;1nitE=si!q3`jo5EjPH?S1gj(F;V>GRoXWJYez7H7|aGwaly#VaFXMO|xY zxd$ouO&djy7Y>80=f6WP>P0>!dh_jdQTH|%Jwby~+L;IwgP{2b?U}skf=TaOo6OOf zuss7gDh_Ij9;{0Lc4h^8aYexPrwA?#7ODZOzHd6r>?a^F`GtI>dw;6?Kpa$%>5r4QuAA!XllDs3TqB?Y4#ri338r0Y|m(B3? zCVzsjXc+jYOONrqv7ZE~!|8%!N7_y-7eWeL(HBw8w1VkF43Kd`&gWE|yHK7xQTk%I zbd$wYaAFCe978oVF5>36D#2OKsZ>nzv@^mVHAYk!hNy3%P5U{JDC}>qvl1^RvxhPe zaEJyXbWa%t0ES0)05&>X7e$9KHB8nPBaMWlab`k9G^{(?yuP7%$o4Wu-nOi7h{o{s zV1oQ^UEhE*4lo^N%X_%HZ!k%2R!7@v_tkO`{M|bG4hbWRZ0JiAd3eLRqtPJ@Ldb#{ z3a>&MtT9w44-$tCGXr1XzaiUbNcGjL#n6m3Msr(JQ$3y@`%{U&!u|$I&REn#Bb7;X z^`$Tr2z%9+_~#MZ3+zTUaWIv=A)RT1u2`nh4r`Av%(g4*B^1jaNDsup5Rm5WWnL!q zdcr@%$rUBtbEG{CZyMlD1HQqLSi86C<)QONUh^5-L+(Qj8_1{&>y5pky1_)~L;8iM z*5u_xgcbI?&e>OntdPoa>364N)tnRI$35(Wd(We9>=9z_q=aELOI zVIBsChXNzNvxK~Wz4m$|+SIgGTK%=gV4l3)%j*TiVt+Dr3{#1;2SCM&qE4qP3{{Z za3CQtcnSQ^5dw2ZiPs?qX3lk9>>W5>F!l~+S8R`bh;TcCztRE{ZXXaq$OTM%wE_ES zWU2cIjC~4H@jqOix{orn`$BJIs{a#Ys{5=KJeS-pS2gdRW&T+-x~D8o4cFx(Lu(^L z9}Y!SWL!lgs;X`$R=i8p43t?s+6Zgj{MQ+JJV|r}jcPp(G!}j-m|$2G-WRfe+!s<6 z_a>aypn~h7R#<}DpUU;7+`>3Y-5WM)&!**+jh~Q_Pmt${XSFG6;`X zKrW2i%tw>rCp`WMgs!-VlwsmBGF(UYE1rT&*uD_^xi17^lk3E)g-r%cmhPO6u@9Y`ZSOP*)zv0`u(WD zvZ4Jr2XzuIaB-}(xMEhs>AyI94KhJ}@{q7?61V0li{=90c%hGQx>V{6?m_m~Jqa@L z;lPRlY1Y|*QHUR>CmI>8MXW+7%1?%v^w#>oCO(h=U#g~_)1iL3Od;K$BF8!uX%<0l zh7j-MfzzI@TIK2^d6g#Q5~3oIcXe_VfH73FYG|!|iPFltj|ybu;_A>^3l+%>fV7*w z;_~hg6L{ONe^&Jm*BX4sQxshjA_LP&z!mJ?uSf)rQh{9^8#Zn0XzWj}NE;yKZEI=K z`F}S>o1+f-Z?t7y>l^v+>v%9Si}~nE>B38l=wVKLDq@3`FP>SvaR*$m=%<<*mggM{ zQa=jj+ByL_7YT1-KDu0){;qW8+)q8QH&37k_kV6MlOeYb8p(Tb*@Hm%?f(Vy!h#!;4bAoQEYSdX#o{e2m7=&r5< zON3}stfk(Fz^Mz*P}qP2v^!F_bIYa(Lawh_Rf|&l%ECnD_8D>qUc9(av#O9C?A|Zm zOyNQl$Ez8zAO?$;V6@#<7 zZZ)u;#_xWUuQwVD2?T+$Dw#L}WoYLj#@lTz)CyzOD&Qc=H|m?!#27~?8>YM>{6)WS z3Rw-&RvHGu!tB56j>5|!(&!)8|7P3z-|QwZ>78sv*B|#kUUbQHCDXa(4*}z&|7~t= zaq54YV}xA1+5fNM38eq+F(QTjfynNSarh4vjiA_#pi4Y)Fp=&93CV{jMF~)}hK3p& z%y+?Czt}Cd8bP%EBNFoK6wx3fn3zL2r~S|aOwNg;D(NIATXBi%&hr%y!_1*bLvXz()03@x$@ji6qU*7 zgApN}Q62UIEshYnoL~VxZR;DY$8Q|<&X_0vU7WvK{`c(SP#dssO;0ZG;%5aK!WG)6u=t^uQZ*92j9hRxAgM2k?3 z$40GclPZE{NYQ9u`_hRKZV(a9Z6ZII2g1GtqQ0km{fY-khvP&|)*CiQjPUl&zi)3be#Hb{jNdWl z@Dj*Ai(^b0h`@p!O5{?FiCljqRp^eSGwDKOGP1k1iQ6XkC-Q|<@FN0(4V`>RXfn56 zd0@_r!RDQqw&KWE)ild+gbEJrLE{QdV8>l{M_C-R@ zL_8(=z#(Um`C?oZHVw^p1RA+4c|ymV)z^!a7p=1F}lQY9f>Mv7_S zT0_Bz@uU}E3`S$(npYo|=g%+R{vN`qjz4CHygZlSJT*x>vpInFO)f`MJAV?6+ql$w4%GGP7(>Fn6_~^=N zAZBYL*@42^Nd8E^v9Ylps$o8e7uO*EH`NuB6)HU)Gw*%_GvFJ94#P}irwj)-BF$e9 zA*UX9gSxi0MqP{R#Gr;H(d5tfAh80A(+O~f#$v_{5>tkJe?7BqV8QNW6(_wGNa;hv zA4OJ^bvs6u?HF0L`qhzRb@eK>Cp@aF1MS%BxH@o2h94>yvdYB21YejThOm{bj6N|R zpNFiT_m3~$`LulTYI*j4bldxohxCi%z_?IMbB%xzG%{UOT_wj(+nGp`g~&MU(qMPP zQJ5zypXk*lAR`x}d?qoF-=8fwQ<2FxCtY*XuJRgZ zds-xiM>Y&0M1kAczyu+MX7f!*rZ~A4hd(wa#&X$g0qm*9o;gk|{?PMJ0!ij0lHX65 z5g))bT06f{sv$SqAR~u>eer?4c;j>bez(}6OGlT0`-q*ts_L!v2AUe-u9F2RRRtP! zAN2gGn$3l$)?jhuX;16~Kp%S05!(|UzJXjH9MQ&NnyLa1`~Wno0sP-cBel=a01=j2 zq#PPq!2wuE^(W~y&#%!IccYRZ&98Q=y0+^osHv`q%qLNKL6kn8pGWjZ z2Xmrn-zz{I{pPyk9I8^dRr>Ze;jWz3%opysSJ#-y6!E481OAafpqHb)Gm;?KL z@23{C|7;(o{~7Ee{|^06b2Row|MNPYCB^^Wz32UnJGTG1V^?R# zE`16BxfJ*SGIaw@(@jo;1H2~xP0Fw$=#eBBlHLHQT4T3_vFHYd=D3yluS;j|)W`@O z{6-rjd^@^){4ji+Ir}(*xJyJ7cuYJh!~t{eUyE1oA_Ncxj9ukn-06Q?*1g-@)GzE; z+2JBXY_>y;v7Y%sY{?aeHyDduuF!GlJ4pKKTFsGJ$V|!gb_7VLSiwN3fN3x~p0B=x68UMD{kd!pHIF?}LPZfEz&^Vd#*< zap?e4dl+QAr%!ufZq`&u^=V}TEt)FceQVX!QaFc7wc6bB144P@g9%-QS5Iu|rlB?R zM0zNT%`?vlsWwNREM6d2=F3*HS1NKer(XcGfB9+U&R0JSPnh3~S1!!|Fsw`4X5PJ4 zocU4!W7*YtB>$#&Th{dx+~w!T_%n0t#NxFJ%EWt2v`@!Ux&5&6@};FF`0>RVax*C1 zdf~`7hYkErYM^v|p*Z)2Qen|XbKYM6u5|96oE^ThFj|_sD~6yePHBSqRPm77){~@!=R*;4u^T0NZZ~mH|K@0A!kAB zj%ka|&ME<|VSk355!e+mwe3C{uGrb=i&Ja3kM|mx1b84jXmBP^>QKIP@+@ZD1Wc!h zkC=}C`<3FmV=`U=-yM*ChWO4ssX{I^UZW^f4ZgEVfbZx#^R);LZvf%q)T z4DvMzaK&m>Gd6gRX`*g`!Uv}%lRdN)a9rCi-);t6iEKnz4QKuu#B`SAT*_b5++RmJ zWRo%}v(2cDT<9csCAtsjaZbk)7qW#!ANgU;MR&l-sOK2Nu5y&4X6hyOtDzUHba@kQ zNsx^xNcAz%5iP3n#03^oQM3W#dU&)#i0k7MZ2Y%ID^rin;TI_I!~2}I+r<5}PUci> zn?jVa-EV_P9b^4?p%bpcZkiED%BV=bz$9Syy`{XU)i~HakL}fb?4y?IcUW_1Rmehr z*Cq=L)Y@mVh`_zmnnlVe=gHVcPR4u1nbTyO6=(ldIer0b21Z90ub%*2-q&9jXHJ$b zJr^?rhHWF{B>K#pI!W&TrQrv#cSgSi1NKWd7e~%`<~}B8-KRGzkMFQ1=O;1iTj}zx z@`K~%y_4lLQ=W&e{REasg*kDq{MGc&nN$Q@(qA97kOftGdLfl^h`SUt!@gv%muy%! zy5LeYk<5&nynq^l-k@bk8N@&spT>Ab5~rs~R_M0$pgUpD2GEm8{==e>tl3~kD@~>h zHO3a_u2iP(f_l{X0&9!HPQ|4v?p>iunftGp$c|^y1r>IKD4Z^cr0;^Y$RarCH z9!?AvvSD4ln7&?yT+_Ane6u(S^NW2MX|7pbZ+a8Ly8)QCoqS%JI#vGqKDi0#Oh_J!18yNrhsA9$}ORMs>(3}E14#ES~%5rnR~v^uP)t%yDoQ;U9; zwJRJ%x}zMAw<=eh1SuZJ!$!ATl!Ld?TdVgFW56OA+Bw%I!BQr`(kH)iDel^zZo{iuPly^b3L74 z?r>KM)qUM+qdRF(8wQ9`Y}7T?ze`>;HoiM>C|R!x1`1&sS=1ru3TyJ&J;HpeinE|k z6k%20^EPn)!ABJ(`m(*fR2g1VLw5)Mrv9;%aKpQS!Tf$Hx)A(q2j-Rjk?rY$qLfC* z2&GEkf8RoTO9)~Ex{n6V($&TK>!RWuqir{^tjur~h%jEyh-m^AGaU}U!^DEk|u_XbThn_av*a4Ej+7l8d$;(}!-Hz5w zOKLnbJv-eaA%iZ!UIRAo@bNIOU9;HitrzgFy*`W({Fv2fq)+=7wz9Iiy1Ki1G!jC- z*r16()74d3Sy@?Gl~q}p%ZrPkA6;2mUc4W}&OmQ1gg#0$TI!>dB-V#bVLzPIN)t2z z(_$VGp;e4(%&44n!`^wq!$U*sJk|1r_Q>!iLFQ9qpQ)TrW9O=-WcW-+@teEqXE-#>gCn%GVBzf z-xTr*2Po1X@YQQw6IoL!&Lv zydusR+s>BFl4FN>n|bf3%iEl!C7OHn!5^v@&ml%c)A;CE zUCfpEaq>e0JL?7XcId$d7?dpW_sBG5P$k5rNrOb$1XU1!KULP@e35FLYyrVVFOQKz z;(X9BV2~FulJGxqNEHgX$ZW-ykHf>mRSr8mvb>O2E06!D`pw6ER;B2a=e1cEEY3&=3~TU^m}rHjDf*$! z9UFAWa{z3}3-1~4)tVEB&-yID>4jTAgcnx-@B7skXMAHn-Vq%Ae1I@0XnD~jlLGOy zq5_2pg7h9NS!r?ZmJj+(p^fPzTfD=Yv;3SK8aHu2*9JXt0_JXTDVDd%Q(TeaiqM-| zfjHkaRDFEEz}KtCvqh~yMwB+YKv%8-C&rBB5->P$eTKt8@qJ)0=!*b(#w_ZZS<>kC zv>ZMuX_gY;LRbXurTSn%N*MfX&$<=N_QbUoYDi|=B;r91p7hoj`I;cC=mRgN zGYIh82NpaK79-%&&xrudd7@i5A(Gogv>r^vBLvk=_CQd`Tx2f9$_6M}Q)bzi)AM;M zCdra*_0jXSlb2R*T*P~sYd8K{JN0e#-j}iHiH*aE$fHl8$X=I=yISpmq|scRnnPA1bGy@?e0m);%EO==~p?6@aWM8`coLH(9asJkaT*seQdhTVj^;0AIcY!rVF z6k?|Rq*43vRBqI}-DNRs6Y9krcU0ve51;9Oc+e^T1pAf&b4-i@LiYi9Adlu?AP-hM z?8Izi)ty*%vt+i4b9|KQvy;^a=T<&@u=>?`I_1OqBrZ}5I+4DUe$C*-1!I^e;q)7+ zdEk6U;m6%Fq#{tDsQv~mps!S$`nh-Gw*O)KzZFx<>+@E{c@;ar_5J^Wv(K*J{%>#3 zYyV%{@-!=??~}amW6jFAQ6|eaG7LW$R4`p3nqLXrgf}aP&`{e}fNzLwn9LgribcmP zPAe71%$tsB*kEu1uF}bB8!ZHsIWy7^D7`v5m@{s{2Vhffn zMaQN^SSrCQYvn72BBT-tsh3IyVT(DUEYNJ~i4!VIv=s}}=vH}beDA)Y0qyW$|M>fv zo)ok@XH3CKy)$Q#DZ(l1?Rg9EGYX|VD1x>_1mv_$P*?QaEVwHMN&vvTQJf|;vS+MH zKBr6?AY)01GN6Q28pldT)-iI5P-|Ok{|7@u+Q5Hg)XX+KDpuD|CW(yNuDsfRD$sMP zQp`HA*Xvm9;sLXWz+R4t_7U7lp{&noW|7SP87koeb|(C*EX)@=xkUTVH**J0oR}!m zxK$p>#dCXl?TMZ5#RLE?Z%(%OYdWC}^=W&DhBAFPVa_Ua{AhG!Wc(E<{ET(qz=6SG zf8YW*#yw1jQ$_?q=+!A^%T~%|LYIEiCX6@l7D$O%=B#o~`hk@l0!Gd#sv0b`uQD}7 z7&G`OuiH+amAArQU=5a&e;OF;BWX6$tyO(9tL{=ddihcE0zVD*5ur%S5NXpIPwfKv zP_}mwz`he`BAJv{6AozhD5mmn8Kp@6?%dfHhywxrNHS3vN6cRZzY(@+CEqg?Q3xHd zGfiRPx|f#Onf?`IP>-k**zo8@+Z;1~6KcB;)1&0Gxkow5Fg+^8Gz`)Gg}59I;V-ts z%|o#*L}ANI5a>tiWsu+JX3v7`gEY~{QNjyrnXHJ&X?3zmtql~Bsd!F88Fwgz?xG_L zkZw^Y(!ISvHh=zbvtYl66?+$ob#|pttwAWA-MuREQU~qrh>j51Qsg!FXNR=2O=V|B z>5!5`KsuCR{WhfhZRm8{klsWaA`uTe0#MfJop5LJAqx)Rh_)aUCk>B4l#UOH%-ku6 z$(;hIcRfK|XB_eQ|$W?FPtWz{FBk**6{Vu`CrB$cB;h^^-$<6VToeMRsQ79o`Um2qlD%mz6)#@>P zBT``lMBRK-qZifE9&d2X9>Ic653}}PZC%~vBrT%QODhc z0J5}JAe=SR`4u~FX31aJm!P#7pxnpPyUCkPHw4s-st`h|?P|>L8!hajbbP*Kc=XB} z#UZm`!eyOS0ZF0~rrS^@vMLVILV@?(OM&cg)CZ9s^Jc>27D~rky*Lo@<8H+Zuzen9 zI}uC^^V!O71OjX>sJ;l)ynyX?g$IxIgjviIZN$b+BDWab^J=5Ma1keG;~?=3}0}Dvw7Q5)(y&!oP@9Az}X)j{9Dj{cpYaFP)vi z_%9uuy|4Fwx8(`#U&^JkxTi%V7V>|zG!IMHG!~ExH8f{!-`GO|N=7M@_5T{f^OZk1 z{wqb8rS*LNl?Z_P_W!Bw-rkV?f6r_GU)%FEVE?aFFFaXYT8eQdiF7-WF04NMrh4V` ze>}Un`uOXWFD@)E-Nx%%YbQ@f+;R1JDx?*8hKAf{VI5zEJ|Be*g$DNfB5X;w$ZmUz zCYijdDDxGc6?)y=ZU|wOhQmep>L!Y#c?X7^-%NRr#?`ZTst?Xp&tKaN7-}2<_P}CM zfsC~Wi)&xr7ro5#kKP5gz%7y^zN9xu4<*ArhDqyI%Ed2My$JKkE;MFU3h5Ghq z)QdVq5Wp+c=+!wq-ei|!-IGdq_!#~4$K}Oq7}Aq}r0y0>MNR5?Q@53PVP2!ZGCPuL zPN9ygFM2`?2|rk!CMZv=5Dr{O5mdq?nq-5E|6+_?6X1FV?O< z8XJ2bC$eNtML@1KXUJ|WjD=((;`lHp_&DzvId;7TCZJ7$gs2(Ggy;J{qU*UeHnkZK z&Q5$}vrOI=6Mhf_+1P+c*5|rd%;kFi#=k=D1UQ5+vqq>Ccqh-Blba|xH#e80OODVN zzu1#j2@6DjGdQhNyL;b$CzZ^#Fb>jfdoCv>EDd92SOWccpNOh}hb*8`aa`C{4a}g@^ktfB;2Q z1cO(w>kpaR|36)?Ui!oG;@4|uKx&I}Tqc(#F4FD1VU&auPiDGIe~L4Q%$qq~eshoP z!3tSuQKtWq&Y7;5xmU9Rw9fr+qVshG^}p`!*ZV))@@&fg^9N%CqX#}1>>tpEM)vj( z^hf)E4(0^s%@Ej2%j-pS%Rt#K7Mrrlb2GZLQ7<#8JzYJ8_y-5H!vjNPAwJNs4;k(? ziInYoe`I8AKpPnTW!+JpqM64B4{3cP!}|vh@Zlt27YG)~of?yZBZtNZiJp)S4f{}} zM^{J*r8+{Tj)d;C-~!pb_a~3uC^nmc?hJu$F!oSL^J&zfa=`J78~lUCh5qAL)n}Ii z>J|h;C|J3SdeA%;jt?Y6Rmzqs7->fgT$G2PEr}fkvt%cBw1ii4@DMG{yGj4+ak?;y zyJ4)0hLbc)8a>yuHN3)LgIx*1iDZ~Glw*#DWrFujB2>LVv&QNAEqt6TRW1T$N8x9< zXuz{ez(z*Ajt;jr*a+tDnS$Z?o%nip(s(8xfQZZ-QK|y7-%*)!MB{?21@l-$4tHg# z>4XzOnGSFgdUwJ#YHjiA>Wedd!|j8IqFMsiy)?QSR7Qq_Oi3@)tv)_oJ^St8pAW?m=UY5))`=Z7QzDt17E= z$`lVj{`7JhrD_m;Nj|$$qRPhlIY~Fv&&96E$tkxW9o!fN55u>Iw@2F9lDM2rpf4S7 zD~MiL!C{zA!bcjiOofD8wA&;3GF&l=Foc7;xL=^qi)Fa7&N}&Z&|oWZH%b97g%v5` zm3dG;_yt{f+a!@QZH!@GDf#k(eLPLiNE+3w;I-PpL#s=Fu3ow#+mI4kMDS)ZZng^q z9Zbf0IoHNra70i!I8n5R#gNQ-9Zo-F9^F4OdU)?>zefHWmb&nwM2VVmw9)Wp8$7~p zTRLhCg-~lD?N31a6JGlPK#TJ3yRNoII+jLll0w7pF#aWwGGU{}g&-G-ugyyBn^P+f z@8zuQhenx+vzxyK$dhF=H*K&#?Zv5fxFFF^)Fe7N`30R1rTPUksk)rm7^t3xVAXX> z7jP~ook%1zUIWVj)wc{#F{+4UPNQma)C|QueSsh)tFMv$`=c@jCaR8>#z_$HlP7q2 zh+OOi96QMNN+q6WVHA!IjE#?s4rn9)E**doQM&{+RMLPgaPoicJJ6<|U9CQT7UNn1 zR}LaQLh+zk3AS0m)Cv^wu2igkcL@WL3TsU$X`3H`af%pui`OD}Dy4y`XlC#~=P2n^ zM_1T?U)a4Nkb7X59=8vT9M%pF91M}XVOh7HjKkfjOw{fUJRYxN=HOP4jH8n5Qf9&^ z&IYz5-FdWGL2-qV*}>yHT}R=COu<>IzYlR6qFZAJO2Va2QX}uZOP6c+pQ68dcCK^w z+Um(qMYp0}H@y*5km&Bedzlwr+(kwxC*9?DbHdAdy^E^h;K4&9qvHYXP_B65;KQ7t zQby$#a*>fLcX3+#_FVPC_ehoyfK;2Za`R(2gvIZTX>#>hjmS}VNM_Pu-jnrgj~2dg zZu>8s``0K!6@raph}CZ0rGds5Ygf;&-ML3oLxK(!>HUMldxu0)$B+u#nZeJ!6Z7*t zqBrJORmVE^U){YOLHny&B|c^Tj)+mS$+J&%8iRk_4aqwJ0}%95oBqt znB^bOZl+VI_T?v^)jm55@z74*TzPtVPX|e>Ubwpa1JdFhXr|RNURz>yPixnCLsFcs}~oMIMsW1tIwXkWWD?HMA3wbNqt>zeJgiQk*2+TqlWdOg^j{E z*EobQk`6Smn>X<6>6O2odTZs$la;fVwxnJAi2}-+)g!Itt*xaa)aMaXXBa13l!#kXq_it8jEg}A!fxNeG2*79~MXG56|7!;;dB=1;iP8GfDPA90@ZDNk ze)0vO8SeYWKAJ# zZU4JA{aXvw|EzQWr?)p19RI2A-k#Uve>R?)N9ri7oXrEAfrWK0~>Mm|j1x zF6Q+)(2XiFHK##7EYZCD;!gF^SzM$sn+%#y!}1IjH&BSwl`G3{OzT;2<4UrLDeO#P z?{L4Ww0Kq!EwQErfU3I{gq)`$9>^`Okxj|WSyKx4|LR)C#8Y_rsu|D9K^1*;clr4_ zTGmGtCGu&8$ZeNTqo?B9!)vvxUt<^%|8eU?0vkt$^`6V5ZY1yqZkwrPbE;X zgCm#A=U1-%#7XQr_-BWRz7t|{VdK1-MY&|5R5}9Ze`1I)IdedvPN1}Q`7#k zK3yPd=0mzOLnMx8cw^64b8x05W)Ka|xviBCLNZC6)gHlq7e8?;Eb5jW??BkizaBVd zWXGuWO=3s0_u?|WVE@pp1|d>V9O0a95GuEq4KRx(pB7@`R~#l1GolkGliDX}4#yN_#~idPgzIDi^!er42nrjW%6EDmqprJHswN^t3}bp}am1 zKMA+xs1bUS=|VPncb$F{=$^a)0`W$bv+X3^sn~FkS>NyyvNF>7n3BkkC|i}NA|4+L z#+l+!V#Yjs_E6D`vWz(<_SV8I#O#IdA+RXDGmxN9Ba+XZV-zaLAKqBIb8qF&3*m5` ziM8sZn=99U#G`izSY#D}$+%I>ESS2+Pl$3`n}aFw1T)2@fuvfLcNH|Eh3n*o4i(jnV`Q7S^ zTeUx)^UMGQJj9DKgt9yugxiN7g5TNp@qy8Uu6bNk$u{{#6o0dWg#=y^J>GAPNaU~u z(Ls2-K?B5BFZ?6MS%b1EB#?4Z0*S6eq~v{d!Xh9Dg0(Yo0Ne#@5zmi(kcHT&tv&mK zjA`MzbhImcSI&UXd%kR9>mu*BE3imL=$bakm}9fYv{5w5dR}9}blg%nN45C|mCNK9 zzYJxFW0JLgaFO9d!A~lBxv3}RO$|{%17bC2Ojf2hv_=%Vt%2pDkUR2`tsEhpO``&> zSOCBvUC2ik#!s-qKOqbT+?i{U*xvGmNOD5W8?#1!Lfx%QsAh4>no#{|@eY!r3cQ21 zO=LPk!zP&+3*9>K>LcaaDfHb6)F!^iJACyBc2*pgVCBl=8&1K&6?PU}&=vJcvc|zA z2Ge6HzRaSwcxsX|M1mlLw)k%aSj=;E>c$87CwtG@-NcdQezkr@(^Ar4+>#~B#u2vX z%rcPSYyzA>_MBM^K0<2Qy~vWHhcU5z4kSDb;gw`EBrFLbfrQBeSh9ie3O^>6j6cm^ z*n8_%byumYEkg{G?9!Pr>aKUyt*ZOJ%{#Z~j$5L(mx>Yb&Fhv;@9+iF7PDT+rz z_6gBEdFk=H4>5v{(bpG*Yz-bL_l(a&wxH}yt~SXiAqFvQhRj$R|McUZ0sOPU6a`iz zW&z*$tHVqPc{=ca@M-7&q?74?G5VirulV!-oc|MGC_IBUI;?+spuc_nQ|Z(T`_Jd{ zJPZEcKRNjCvg|pTF&JHZaBuPA;pU+SVoYs388$HG+i(*4cmMX|N0&I;%%gjikh2Ot zL`udC4WQ3?2gqK@+l}(o9j z_4v;|->PGrEXX5$(BLe{l!~^_Tw6MHxOM(&^U?W87gkJQ)(^kJxEptF(SQI^Vw_(Q zw{5bXALHIVLt6of;iD9?0+rV`v1Xl*PZobZ#80 zi=4%hN1miYpj%7mnl!vlkt4KPGp2G!aMx_#CPfuDyAAOlKi&;LoSBA!Pi!B~UNNGQ zba&UQWB@Ljl3FNlIU-#TZ;T*C4IwyE7qFn-Lc+1>(^VFELxaI z8T=eU3gF6VAQzTnd!@qpUi#b|W?P?Lh9gP9tR83t1C%y(8}TmZ*l4hA7FLT#;!+?; znO!3%t?^hvZHaMoh~=Fu(bf;wnn$ln5gxmWClrWP;XDCFDz`RToT;$_x)r&!>`tZhfu zsqEx_bf92MhcpiQ;fD)9oos!_(O@p+J%4-g{(S5EFSzKJ;s5PYFIiGd*B@^8A4eiXEDc>F4VzBMgb!#r#k59k=dFf2HEeFm!W7$^%B6a>47UsymkyhyvYo@E z9s_9G74TV`yX6$uc)f-){D-F zj}OukkbUq_f>I+x3F_C-zH+#D=LEFJ+7zbit`^G+?R6-I84| zS29L_Z)JKTZ;+LpNRG7Lxdy~o>*6=$VzYJeyXM84)Ht-3904?8XrgZfEw3(KBefq2 z$4vaSEq2`Thc}eS zD$Qu>NU}OGbMvcrkYHqUBeUN()vLwzTlᏺbp4mt<;{>swjAE7-UER}YK60pL! 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/dev/null 2>&1 -[ ! -f "$TMPDIR" ] && mkdir -p "$TMPDIR" +[ ! -d "$TMPDIR" ] && mkdir -p "$TMPDIR" #当上次启动失败时终止自启动 [ -f "$CRASHDIR"/.start_error ] && exit 1 diff --git a/version b/version index 7f3d429d..5a1a5dde 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha11 +1.9.5alpha12 From ab29b5c036835e1c884d953510e5d4a4f222a4be Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 25 Mar 2026 20:01:48 +0800 Subject: [PATCH 253/318] ~1.9.5alpha12 pkg --- ShellCrash.tar.gz | Bin 173834 -> 173817 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index d794b626786d439fa1f2f27b8773ae255da443b5..a252dcdc3ee0ab50d5b216506bb5c37b795ca31b 100644 GIT binary patch delta 169954 zcmV)9K*hg`&I3Xmm2A@3EEZ1l#Kv?UqHd2?PpOKUCJ+E|jeB-8AZb00h44%`uX z(-?@s1aOlL0k`|4lXUX78{Kp{ma4b(+9tg1pjmWP3-IL-#@S@JHfWagZsNn-R0GH53gN5w0`mV z-tjjZ?(@|6#MDS@exdnnYi|FRFk0`($Gzi6*KR(KG5?`=`eyI?o!(0?cszC-+`oV7 zk=A^FX9-yi$`*f^oqv3G-f&vKeRJd38Jz+972@ui-MepjlUS?o9qS!CS|4k8#WZrI0XB@#2n%Tt z=AzU{w^N}Y%|?dVzzj+dE0(cFiiuDe$ppz&PBWkDFQo>g{CPr>%572Nv}wAZP(U_i zoaw?SY~v~9`n*JDG+@ZY^`z9*milJl`BCxPiKDy=jk z!LrD;x`dVN?LxN0m1quh;UjcIP;2*MMrTLE(y$C(iefJABP9gveufLu2MRHhV} zv9Eu43SqlTqC{G*#~&h{8HA8OibSgGA6mxrB>CHM%tL4svD0fx0==0vmvW|CIiO4C$w$ZLO? zXqjoCu1*cplm-@2RY7u7Rc2z5AdVu!L&;y8(^$~Tilt1pHHi}o zO(M<;Q?A(JT+gcpW4F=YX%(x1U~^9t8HIA1jj}M)gm9STqY^Z3l`1_?S0_RmxFT&9 zS48tNxDu`i5^G@;S)978fF_l=-~fMd+{6YJf(6FWpCF{!wo)2{YH6wYNaVVYP<`AM zP{Eu*Qdbz*6k<8Jx4=ta36|z>H@rXNWatR?$k$Dqd|lYrZ_Hc!WHsK`UF5y3jj0Mp%l#7*D~_rMmAXi ztJsu8mat%7-87_e$+2Ch8%!h$Xt73h)G#gC*DNAw=eiui!rZpKFe-nJgGJ5)>tW(B z>9PvvDf=!G8ouC(6-^de!iwa(Xcjczg|6Yqz&PTO<22$p6D%z{niMX0UZ@}fELc6+ zg}p|sTxMw>TUe5$N?xZWuhU8gwon^XQiBDpauD(f$3nQt1~KWUQp~6HvxGVOO2i^S zI`b-=lY%K+vgmO^x;cL+-Wh|eUjr`O9BXwEVG!*cppBCuqtuO*g?6g1#OxuQvijzoFM zK9(HDQN(dU#sXkgt=4FvamhMw+4MfL_BTex*uXgAq3HxHtToVNr8F|Ze&^Ltdeu;Q z)m)L4pT=|;r`9ZNzcaBdr;n5&nz)1&4@)⋙O3ormd3Map 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%0A7Cr9vd!1|lro2)EMSPpXM9?)Qx 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%0D3QRL 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

vTou|1?n-7JXo0m(cRapSv;KA2_45FSW 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ϑ-QT;4#%ezyC|83lvdXru?2! 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 delta 170053 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 z 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 z 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 From 837f99727adb4bfa4b00366dcacb4a1d0135e7e6 Mon Sep 17 00:00:00 2001 From: juewuy Date: Wed, 25 Mar 2026 20:15:42 +0800 Subject: [PATCH 254/318] =?UTF-8?q?~=E7=BB=9F=E4=B8=80=E7=BC=A9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/init.sh | 42 +- scripts/libs/check_autostart.sh | 30 +- scripts/libs/check_cpucore.sh | 22 +- scripts/libs/check_dir_avail.sh | 2 +- scripts/libs/check_target.sh | 8 +- scripts/libs/compare.sh | 2 +- scripts/libs/core_tools.sh | 154 ++-- scripts/libs/gen_base64.sh | 38 +- scripts/libs/get_config.sh | 4 +- scripts/libs/get_ecsip.sh | 10 +- scripts/libs/i18n.sh | 4 +- scripts/libs/logger.sh | 8 +- scripts/libs/meta_listeners.sh | 4 +- scripts/libs/sb_endpoints.sh | 68 +- scripts/libs/sb_inbounds.sh | 20 +- scripts/libs/set_config.sh | 4 +- scripts/libs/set_cron.sh | 38 +- scripts/libs/set_profile.sh | 2 +- scripts/libs/set_proxy.sh | 12 +- scripts/libs/start_wait.sh | 14 +- scripts/libs/web_get.sh | 142 +-- scripts/libs/web_get_bin.sh | 2 +- scripts/libs/web_get_curlbar.sh | 78 +- scripts/libs/web_get_lite.sh | 12 +- scripts/libs/web_json.sh | 12 +- scripts/libs/web_restore.sh | 16 +- scripts/libs/web_save.sh | 6 +- scripts/menu.sh | 562 ++++++------ scripts/menus/2_settings.sh | 1298 ++++++++++++++-------------- scripts/menus/6_core_config.sh | 2 +- scripts/menus/7_gateway.sh | 1240 +++++++++++++------------- scripts/menus/8_tools.sh | 2 +- scripts/menus/9_upgrade.sh | 2 +- scripts/menus/bot_tg.sh | 394 ++++----- scripts/menus/bot_tg_bind.sh | 2 +- scripts/menus/bot_tg_service.sh | 16 +- scripts/menus/check_port.sh | 58 +- scripts/menus/ddns.sh | 40 +- scripts/menus/dns.sh | 42 +- scripts/menus/providers_singbox.sh | 18 +- scripts/menus/running_status.sh | 20 +- scripts/menus/task_cmd.sh | 212 ++--- scripts/start.sh | 48 +- scripts/starts/afstart.sh | 72 +- scripts/starts/bfstart.sh | 106 +-- scripts/starts/check_core.sh | 2 +- scripts/starts/clash_modify.sh | 48 +- scripts/starts/core_config.sh | 18 +- scripts/starts/fw_getlanip.sh | 28 +- scripts/starts/fw_iptables.sh | 64 +- scripts/starts/fw_nftables.sh | 92 +- scripts/starts/fw_start.sh | 44 +- scripts/starts/fw_stop.sh | 202 ++--- scripts/starts/general_init.sh | 22 +- scripts/starts/singbox_check.sh | 4 +- scripts/starts/singbox_modify.sh | 66 +- scripts/starts/snapshot_init.sh | 162 ++-- scripts/starts/start_error.sh | 10 +- scripts/starts/start_legacy.sh | 16 +- scripts/starts/start_legacy_wd.sh | 26 +- 60 files changed, 2846 insertions(+), 2846 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index 1215b1c4..3b76777f 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -56,7 +56,7 @@ elif [ -n "$sysdir" -a "$USER" = "root" -a "$(cat /proc/1/comm 2>/dev/null)" = " mv -f "$CRASHDIR"/starts/shellcrash.service "$sysdir"/shellcrash.service 2>/dev/null sed -i "s%/etc/ShellCrash%$CRASHDIR%g" "$sysdir"/shellcrash.service systemctl daemon-reload - rm -rf "$CRASHDIR"/starts/shellcrash.procd + rm -rf "$CRASHDIR"/starts/shellcrash.procd elif rc-status -r >/dev/null 2>&1; then #设为openrc方式启动 mv -f "$CRASHDIR"/starts/shellcrash.openrc /etc/init.d/shellcrash @@ -65,7 +65,7 @@ elif rc-status -r >/dev/null 2>&1; then else #设为保守模式启动 setconfig start_old 已开启 - rm -rf "$CRASHDIR"/starts/shellcrash.procd + rm -rf "$CRASHDIR"/starts/shellcrash.procd fi rm -rf "$CRASHDIR"/starts/shellcrash.service rm -rf "$CRASHDIR"/starts/shellcrash.openrc @@ -116,10 +116,10 @@ else fi #梅林/Padavan额外设置 [ -n "$initdir" ] && { - touch "$initdir" + touch "$initdir" sed -i '/ShellCrash初始化/'d "$initdir" echo "$CRASHDIR/starts/general_init.sh & #ShellCrash初始化脚本" >>"$initdir" - chmod 755 "$CRASHDIR"/starts/general_init.sh + chmod 755 "$CRASHDIR"/starts/general_init.sh chmod a+rx "$initdir" 2>/dev/null setconfig initdir "$initdir" } @@ -128,14 +128,14 @@ fi #镜像化OpenWrt(snapshot)额外设置 if [ "$systype" = "mi_snapshot" -o "$systype" = "ng_snapshot" ]; then chmod 755 "$CRASHDIR"/starts/snapshot_init.sh - if [ "$systype" = "mi_snapshot" ];then - path="/data/shellcrash_init.sh" - sed -i "s#^CRASHDIR=.*#CRASHDIR=$CRASHDIR#" "$CRASHDIR"/starts/snapshot_init.sh - mv -f "$CRASHDIR"/starts/snapshot_init.sh "$path" - [ ! -f /data/auto_start.sh ] && echo '#用于自定义需要开机启动的功能或者命令,会在开机后自动运行' > /data/auto_start.sh - else - path="$CRASHDIR"/starts/snapshot_init.sh - fi + if [ "$systype" = "mi_snapshot" ];then + path="/data/shellcrash_init.sh" + sed -i "s#^CRASHDIR=.*#CRASHDIR=$CRASHDIR#" "$CRASHDIR"/starts/snapshot_init.sh + mv -f "$CRASHDIR"/starts/snapshot_init.sh "$path" + [ ! -f /data/auto_start.sh ] && echo '#用于自定义需要开机启动的功能或者命令,会在开机后自动运行' > /data/auto_start.sh + else + path="$CRASHDIR"/starts/snapshot_init.sh + fi uci delete firewall.auto_ssh 2>/dev/null uci delete firewall.ShellCrash 2>/dev/null uci set firewall.ShellCrash=include @@ -157,15 +157,15 @@ fi sed -i "/^PATH=/a\\$CRASHDIR/start.sh init & #ShellCrash初始化脚本" "$dir/asusware.arm/etc/init.d/S50downloadmaster" #容器环境额外设置 [ "$systype" = 'container' ] && { - setconfig userguide '1' - setconfig crashcore 'meta' - setconfig dns_mod 'mix' - setconfig firewall_area '1' - setconfig firewall_mod 'nftables' - setconfig release_type 'master' - setconfig start_old 'OFF' - echo "$CRASHDIR/menu.sh" >> /etc/profile - cat > /usr/bin/crash <<'EOF' + setconfig userguide '1' + setconfig crashcore 'meta' + setconfig dns_mod 'mix' + setconfig firewall_area '1' + setconfig firewall_mod 'nftables' + setconfig release_type 'master' + setconfig start_old 'OFF' + echo "$CRASHDIR/menu.sh" >> /etc/profile + cat > /usr/bin/crash <<'EOF' #!/bin/sh CRASHDIR=${CRASHDIR:-/etc/ShellCrash} export CRASHDIR diff --git a/scripts/libs/check_autostart.sh b/scripts/libs/check_autostart.sh index c9b8bff2..f07c80ca 100644 --- a/scripts/libs/check_autostart.sh +++ b/scripts/libs/check_autostart.sh @@ -1,17 +1,17 @@ check_autostart(){ - if [ "$start_old" = ON ];then - [ ! -f "$CRASHDIR"/.dis_startup ] && return 0 - elif [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ]; then - [ -n "$(find /etc/rc.d -name '*shellcrash')" ] && return 0 - [ ! -f "$CRASHDIR"/.dis_startup ] && return 0 - elif ckcmd systemctl; then - [ "$(systemctl is-enabled shellcrash.service 2>&1)" = enabled ] && return 0 - elif grep -q 's6' /proc/1/comm; then - [ -f /etc/s6-overlay/s6-rc.d/user/contents.d/afstart ] && return 0 - elif rc-status -r >/dev/null 2>&1; then - rc-update show default | grep -q "shellcrash" && return 0 - else - return 1 - fi - return 1 + if [ "$start_old" = ON ];then + [ ! -f "$CRASHDIR"/.dis_startup ] && return 0 + elif [ -f /etc/rc.common -a "$(cat /proc/1/comm)" = "procd" ]; then + [ -n "$(find /etc/rc.d -name '*shellcrash')" ] && return 0 + [ ! -f "$CRASHDIR"/.dis_startup ] && return 0 + elif ckcmd systemctl; then + [ "$(systemctl is-enabled shellcrash.service 2>&1)" = enabled ] && return 0 + elif grep -q 's6' /proc/1/comm; then + [ -f /etc/s6-overlay/s6-rc.d/user/contents.d/afstart ] && return 0 + elif rc-status -r >/dev/null 2>&1; then + rc-update show default | grep -q "shellcrash" && return 0 + else + return 1 + fi + return 1 } diff --git a/scripts/libs/check_cpucore.sh b/scripts/libs/check_cpucore.sh index cae95fee..2dd40cb0 100644 --- a/scripts/libs/check_cpucore.sh +++ b/scripts/libs/check_cpucore.sh @@ -1,14 +1,14 @@ check_cpucore(){ #自动获取内核架构 - cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]') - [ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5" - [ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && [ ! -d /jffs ] && cpucore="armv7" - [ -n "$(echo $cputype | grep -E "linux.*aarch64.*|linux.*armv8.*")" ] && cpucore="arm64" - [ -n "$(echo $cputype | grep -E "linux.*86.*")" ] && cpucore="386" - [ -n "$(echo $cputype | grep -E "linux.*86_64.*")" ] && cpucore="amd64" - if [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ];then - mipstype=$(echo -n I | hexdump -o 2>/dev/null | awk '{ print substr($2,6,1); exit}') #通过判断大小端判断mips或mipsle - [ "$mipstype" = "0" ] && cpucore="mips-softfloat" || cpucore="mipsle-softfloat" - fi - [ -n "$cpucore" ] && setconfig cpucore $cpucore + cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]') + [ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5" + [ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && [ ! -d /jffs ] && cpucore="armv7" + [ -n "$(echo $cputype | grep -E "linux.*aarch64.*|linux.*armv8.*")" ] && cpucore="arm64" + [ -n "$(echo $cputype | grep -E "linux.*86.*")" ] && cpucore="386" + [ -n "$(echo $cputype | grep -E "linux.*86_64.*")" ] && cpucore="amd64" + if [ -n "$(echo $cputype | grep -E "linux.*mips.*")" ];then + mipstype=$(echo -n I | hexdump -o 2>/dev/null | awk '{ print substr($2,6,1); exit}') #通过判断大小端判断mips或mipsle + [ "$mipstype" = "0" ] && cpucore="mips-softfloat" || cpucore="mipsle-softfloat" + fi + [ -n "$cpucore" ] && setconfig cpucore $cpucore } diff --git a/scripts/libs/check_dir_avail.sh b/scripts/libs/check_dir_avail.sh index b2a68f7b..a08acac8 100644 --- a/scripts/libs/check_dir_avail.sh +++ b/scripts/libs/check_dir_avail.sh @@ -1,5 +1,5 @@ #检查目录剩余空间——$1:目标路径 $2:-h参数 dir_avail() { - df -h >/dev/null 2>&1 && h="$2" + df -h >/dev/null 2>&1 && h="$2" df -P $h "${1:-.}" 2>/dev/null | awk 'NR==2 {print $4}' } diff --git a/scripts/libs/check_target.sh b/scripts/libs/check_target.sh index b8efc811..81a45e8e 100644 --- a/scripts/libs/check_target.sh +++ b/scripts/libs/check_target.sh @@ -1,8 +1,8 @@ if echo "$crashcore" | grep -q 'singbox'; then - target=singbox - format=json + target=singbox + format=json else - target=clash - format=yaml + target=clash + format=yaml fi core_config="$CRASHDIR/${format}s/config.$format" diff --git a/scripts/libs/compare.sh b/scripts/libs/compare.sh index c0f3a684..913781b6 100644 --- a/scripts/libs/compare.sh +++ b/scripts/libs/compare.sh @@ -3,7 +3,7 @@ compare() { #对比文件 return 1 elif ckcmd cmp; then cmp -s "$1" "$2" - return $? + return $? else [ "$(cat "$1")" = "$(cat "$2")" ] && return 0 || return 1 fi diff --git a/scripts/libs/core_tools.sh b/scripts/libs/core_tools.sh index 4bd1decb..e2ed523b 100644 --- a/scripts/libs/core_tools.sh +++ b/scripts/libs/core_tools.sh @@ -3,87 +3,87 @@ [ -n "$(find --help 2>&1 | grep -o size)" ] && find_para=' -size +2000' #find命令兼容 core_unzip() { #$1:需要解压的文件 $2:目标文件名 - if echo "$1" |grep -q 'tar.gz$' ;then - [ "$BINDIR" = "$TMPDIR" ] && rm -rf "$TMPDIR"/CrashCore #小闪存模式防止空间不足 - [ -n "$(tar --help 2>&1 | grep -o 'no-same-owner')" ] && tar_para='--no-same-owner' #tar命令兼容 - mkdir -p "$TMPDIR"/core_tmp - tar -zxf "$1" ${tar_para} -C "$TMPDIR"/core_tmp/ - for file in $(find "$TMPDIR"/core_tmp $find_para 2>/dev/null); do - [ -f "$file" ] && [ -n "$(echo $file | sed 's#.*/##' | grep -iE '(CrashCore|sing|meta|mihomo|clash|pre)')" ] && mv -f "$file" "$TMPDIR"/"$2" - done - rm -rf "$TMPDIR"/core_tmp - elif echo "$1" |grep -q '.gz$' ;then - gunzip -c "$1" > "$TMPDIR"/"$2" - elif echo "$1" |grep -q '.upx$' ;then - ln -sf "$1" "$TMPDIR"/"$2" - else - mv -f "$1" "$TMPDIR"/"$2" - fi - chmod +x "$TMPDIR"/"$2" + if echo "$1" |grep -q 'tar.gz$' ;then + [ "$BINDIR" = "$TMPDIR" ] && rm -rf "$TMPDIR"/CrashCore #小闪存模式防止空间不足 + [ -n "$(tar --help 2>&1 | grep -o 'no-same-owner')" ] && tar_para='--no-same-owner' #tar命令兼容 + mkdir -p "$TMPDIR"/core_tmp + tar -zxf "$1" ${tar_para} -C "$TMPDIR"/core_tmp/ + for file in $(find "$TMPDIR"/core_tmp $find_para 2>/dev/null); do + [ -f "$file" ] && [ -n "$(echo $file | sed 's#.*/##' | grep -iE '(CrashCore|sing|meta|mihomo|clash|pre)')" ] && mv -f "$file" "$TMPDIR"/"$2" + done + rm -rf "$TMPDIR"/core_tmp + elif echo "$1" |grep -q '.gz$' ;then + gunzip -c "$1" > "$TMPDIR"/"$2" + elif echo "$1" |grep -q '.upx$' ;then + ln -sf "$1" "$TMPDIR"/"$2" + else + mv -f "$1" "$TMPDIR"/"$2" + fi + chmod +x "$TMPDIR"/"$2" } core_find(){ - if [ ! -f "$TMPDIR"/CrashCore ];then - [ -n "$(find "$CRASHDIR"/CrashCore.* $find_para 2>/dev/null)" ] && [ "$CRASHDIR" != "$BINDIR" ] && - mv -f "$CRASHDIR"/CrashCore.* "$BINDIR"/ - core_dir=$(find "$BINDIR"/CrashCore.* $find_para 2>/dev/null | head -n 1) - [ -n "$core_dir" ] && core_unzip "$core_dir" CrashCore - fi + if [ ! -f "$TMPDIR"/CrashCore ];then + [ -n "$(find "$CRASHDIR"/CrashCore.* $find_para 2>/dev/null)" ] && [ "$CRASHDIR" != "$BINDIR" ] && + mv -f "$CRASHDIR"/CrashCore.* "$BINDIR"/ + core_dir=$(find "$BINDIR"/CrashCore.* $find_para 2>/dev/null | head -n 1) + [ -n "$core_dir" ] && core_unzip "$core_dir" CrashCore + fi } core_check(){ - [ -n "$(pidof CrashCore)" ] && "$CRASHDIR"/start.sh stop #停止内核服务防止内存不足 - core_unzip "$1" core_new - sbcheck=$(echo "$crashcore" | grep 'singbox') - v='' - if [ -n "$sbcheck" ] && "$TMPDIR"/core_new -h 2>&1 | grep -q 'sing-box'; then - v=$("$TMPDIR"/core_new version 2>/dev/null | grep version | awk '{print $3}') - COMMAND='"$TMPDIR/CrashCore run -D $BINDIR -C $TMPDIR/jsons"' - elif [ -z "$sbcheck" ] && "$TMPDIR"/core_new -h 2>&1 | grep -q '\-t';then - v=$("$TMPDIR"/core_new -v 2>/dev/null | head -n 1 | sed 's/ linux.*//;s/.* //') - COMMAND='"$TMPDIR/CrashCore -d $BINDIR -f $TMPDIR/config.yaml"' - fi - if [ -z "$v" ]; then - rm -rf "$1" "$TMPDIR"/core_new - return 2 - else - rm -f "$BINDIR"/CrashCore.tar.gz "$BINDIR"/CrashCore.gz "$BINDIR"/CrashCore.upx - if [ -z "$zip_type" ];then - gzip -c "$TMPDIR/core_new" > "$BINDIR/CrashCore.gz" - else - mv -f "$1" "$BINDIR/CrashCore.$zip_type" - fi - if [ "$zip_type" = 'upx' ];then - rm -f "$1" "$TMPDIR"/core_new - ln -sf "$TMPDIR/CrashCore.upx" "$TMPDIR/CrashCore" - else - mv -f "$TMPDIR/core_new" "$TMPDIR/CrashCore" - fi - core_v="$v" - setconfig COMMAND "$COMMAND" "$CRASHDIR"/configs/command.env && . "$CRASHDIR"/configs/command.env - setconfig crashcore "$crashcore" - setconfig core_v "$core_v" - setconfig custcorelink "$custcorelink" - return 0 - fi + [ -n "$(pidof CrashCore)" ] && "$CRASHDIR"/start.sh stop #停止内核服务防止内存不足 + core_unzip "$1" core_new + sbcheck=$(echo "$crashcore" | grep 'singbox') + v='' + if [ -n "$sbcheck" ] && "$TMPDIR"/core_new -h 2>&1 | grep -q 'sing-box'; then + v=$("$TMPDIR"/core_new version 2>/dev/null | grep version | awk '{print $3}') + COMMAND='"$TMPDIR/CrashCore run -D $BINDIR -C $TMPDIR/jsons"' + elif [ -z "$sbcheck" ] && "$TMPDIR"/core_new -h 2>&1 | grep -q '\-t';then + v=$("$TMPDIR"/core_new -v 2>/dev/null | head -n 1 | sed 's/ linux.*//;s/.* //') + COMMAND='"$TMPDIR/CrashCore -d $BINDIR -f $TMPDIR/config.yaml"' + fi + if [ -z "$v" ]; then + rm -rf "$1" "$TMPDIR"/core_new + return 2 + else + rm -f "$BINDIR"/CrashCore.tar.gz "$BINDIR"/CrashCore.gz "$BINDIR"/CrashCore.upx + if [ -z "$zip_type" ];then + gzip -c "$TMPDIR/core_new" > "$BINDIR/CrashCore.gz" + else + mv -f "$1" "$BINDIR/CrashCore.$zip_type" + fi + if [ "$zip_type" = 'upx' ];then + rm -f "$1" "$TMPDIR"/core_new + ln -sf "$TMPDIR/CrashCore.upx" "$TMPDIR/CrashCore" + else + mv -f "$TMPDIR/core_new" "$TMPDIR/CrashCore" + fi + core_v="$v" + setconfig COMMAND "$COMMAND" "$CRASHDIR"/configs/command.env && . "$CRASHDIR"/configs/command.env + setconfig crashcore "$crashcore" + setconfig core_v "$core_v" + setconfig custcorelink "$custcorelink" + return 0 + fi } core_webget(){ - . "$CRASHDIR"/libs/web_get_bin.sh - . "$CRASHDIR"/libs/check_target.sh - if [ -z "$custcorelink" ];then - [ -z "$zip_type" ] && zip_type='tar.gz' - get_bin "$TMPDIR/Coretmp.$zip_type" "bin/$crashcore/${target}-linux-${cpucore}.$zip_type" - else - case "$custcorelink" in - *.tar.gz) zip_type="tar.gz" ;; - *.gz) zip_type="gz" ;; - *.upx) zip_type="upx" ;; - esac - [ -n "$zip_type" ] && webget "$TMPDIR/Coretmp.$zip_type" "$custcorelink" - fi - #校验内核 - if [ "$?" = 0 ];then - core_check "$TMPDIR/Coretmp.$zip_type" - else - rm -f "$TMPDIR/Coretmp.$zip_type" - return 1 - fi + . "$CRASHDIR"/libs/web_get_bin.sh + . "$CRASHDIR"/libs/check_target.sh + if [ -z "$custcorelink" ];then + [ -z "$zip_type" ] && zip_type='tar.gz' + get_bin "$TMPDIR/Coretmp.$zip_type" "bin/$crashcore/${target}-linux-${cpucore}.$zip_type" + else + case "$custcorelink" in + *.tar.gz) zip_type="tar.gz" ;; + *.gz) zip_type="gz" ;; + *.upx) zip_type="upx" ;; + esac + [ -n "$zip_type" ] && webget "$TMPDIR/Coretmp.$zip_type" "$custcorelink" + fi + #校验内核 + if [ "$?" = 0 ];then + core_check "$TMPDIR/Coretmp.$zip_type" + else + rm -f "$TMPDIR/Coretmp.$zip_type" + return 1 + fi } diff --git a/scripts/libs/gen_base64.sh b/scripts/libs/gen_base64.sh index a3b36a87..591c3e3d 100644 --- a/scripts/libs/gen_base64.sh +++ b/scripts/libs/gen_base64.sh @@ -1,26 +1,26 @@ #生成指定位数的加密秘钥,符合ss2022协议 gen_random() { if ckcmd openssl;then - openssl rand --base64 "$1" - elif ckcmd base64;then - head -c "$1" /dev/urandom | base64 | tr -d '\n' - elif busybox base64 --help >/dev/null 2>&1;then - head -c "$1" /dev/urandom | base64 | tr -d '\n' - elif ckcmd uuencode;then - head -c "$1" /dev/urandom | uuencode -m - | sed -n '2p' - else - return 1 - fi + openssl rand --base64 "$1" + elif ckcmd base64;then + head -c "$1" /dev/urandom | base64 | tr -d '\n' + elif busybox base64 --help >/dev/null 2>&1;then + head -c "$1" /dev/urandom | base64 | tr -d '\n' + elif ckcmd uuencode;then + head -c "$1" /dev/urandom | uuencode -m - | sed -n '2p' + else + return 1 + fi } #对指定字符串进行base64转码 gen_base64() { - if ckcmd base64;then - echo -n "$1" | base64 | tr -d '\n' - elif busybox base64 --help >/dev/null 2>&1;then - echo -n "$1" | busybox base64 | tr -d '\n' - elif ckcmd openssl;then - echo -n "$1" | openssl base64 -A - else - return 1 - fi + if ckcmd base64;then + echo -n "$1" | base64 | tr -d '\n' + elif busybox base64 --help >/dev/null 2>&1;then + echo -n "$1" | busybox base64 | tr -d '\n' + elif ckcmd openssl;then + echo -n "$1" | openssl base64 -A + else + return 1 + fi } \ No newline at end of file diff --git a/scripts/libs/get_config.sh b/scripts/libs/get_config.sh index ba9b6b08..7102d3ae 100644 --- a/scripts/libs/get_config.sh +++ b/scripts/libs/get_config.sh @@ -15,8 +15,8 @@ routing_mark=$((fwmark + 2)) [ -z "$table" ] && table=100 [ -z "$dns_nameserver" ] && { - dns_nameserver='223.5.5.5, 1.2.4.8' - netstat -ntlup 2>/dev/null | grep -q '127.0.0.1:53' && dns_nameserver='127.0.0.1' + dns_nameserver='223.5.5.5, 1.2.4.8' + netstat -ntlup 2>/dev/null | grep -q '127.0.0.1:53' && dns_nameserver='127.0.0.1' } [ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8" [ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1" diff --git a/scripts/libs/get_ecsip.sh b/scripts/libs/get_ecsip.sh index 21cec0fa..fa0b68a5 100644 --- a/scripts/libs/get_ecsip.sh +++ b/scripts/libs/get_ecsip.sh @@ -5,11 +5,11 @@ get_ecs_address() { ip=$(grep -A1 "^# Interface wan$" "$f" | grep nameserver | awk '{printf "%s ", $2}') [ -n "$ip" ] && return done - . "$CRASHDIR"/libs/web_get_lite.sh - for web in http://members.3322.org/dyndns/getip http://4.ipw.cn http://ipinfo.io/ip; do - ip=$(web_get_lite "$web" 0) - [ -n "$ip" ] && return - done + . "$CRASHDIR"/libs/web_get_lite.sh + for web in http://members.3322.org/dyndns/getip http://4.ipw.cn http://ipinfo.io/ip; do + ip=$(web_get_lite "$web" 0) + [ -n "$ip" ] && return + done } get_ecs_address [ -n "$ip" ] && ecs_address="${ip%.*}.0/24" diff --git a/scripts/libs/i18n.sh b/scripts/libs/i18n.sh index efaa52ee..1b0af090 100644 --- a/scripts/libs/i18n.sh +++ b/scripts/libs/i18n.sh @@ -1,8 +1,8 @@ load_lang() { i18n=$(cat "$CRASHDIR"/configs/i18n.cfg 2>/dev/null) - [ -z "$i18n" ] && i18n=chs - + [ -z "$i18n" ] && i18n=chs + file="$CRASHDIR/lang/$i18n/$1.lang" [ -s "$file" ] && . "$file" } \ No newline at end of file diff --git a/scripts/libs/logger.sh b/scripts/libs/logger.sh index f6bd0afe..3e3989e7 100644 --- a/scripts/libs/logger.sh +++ b/scripts/libs/logger.sh @@ -6,13 +6,13 @@ __IS_LIB_LOGGER=1 . "$CRASHDIR"/libs/web_json.sh #$1日志内容$2显示颜色$3是否推送$4是否覆盖上一条 logger() { - TMPDIR=/tmp/ShellCrash + TMPDIR=/tmp/ShellCrash [ -n "$2" -a "$2" != 0 ] && printf "\033[%sm%s\033[0m\n" "$2" "$1" log_text="$(date "+%G-%m-%d_%H:%M:%S")~$1" - [ "$4" = on ] && sed -i "/$1/d" "$TMPDIR"/ShellCrash.log + [ "$4" = on ] && sed -i "/$1/d" "$TMPDIR"/ShellCrash.log echo "$log_text" >>"$TMPDIR"/ShellCrash.log [ "$(wc -l "$TMPDIR"/ShellCrash.log | awk '{print $1}')" -gt 199 ] && sed -i '1,20d' "$TMPDIR"/ShellCrash.log - #推送远程日志 + #推送远程日志 [ "$3" != off ] && { [ -n "$device_name" ] && log_text="$log_text($device_name)" [ -n "$push_TG" ] && { @@ -51,6 +51,6 @@ logger() { url="${push_ChatURL}/webapi/entry.cgi?api=SYNO.Chat.External&method=chatbot&version=2&token=${push_ChatTOKEN}" content="payload={\"text\":\"${log_text}\", \"user_ids\":[${push_ChatUSERID}]}" web_json_post "$url" "$content" & - } + } } & } diff --git a/scripts/libs/meta_listeners.sh b/scripts/libs/meta_listeners.sh index c338a769..cf9d5b67 100644 --- a/scripts/libs/meta_listeners.sh +++ b/scripts/libs/meta_listeners.sh @@ -3,7 +3,7 @@ #meta内核vmess入站生成 [ "$vms_service" = ON ] && { - cat >>"$TMPDIR"/listeners.yaml <>"$TMPDIR"/listeners.yaml <>"$TMPDIR"/listeners.yaml <>"$TMPDIR"/listeners.yaml </dev/null && { - [ "$ts_subnet" = true ] && { - . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip - advertise_routes=$(echo "$host_ipv4"|sed 's/[[:space:]]\+/", "/g; s/^/"/; s/$/"/') - } - [ -z "$ts_exit_node" ] && ts_exit_node=false - [ -z "$ts_hostname" ] && ts_hostname='ShellCrash' - cat >"$TMPDIR"/jsons/tailscale.json <"$TMPDIR"/jsons/tailscale.json </dev/null && { - [ -n "$wg_ipv6" ] && wg_ipv6_add=", \"$wg_ipv6\"" - cat >"$TMPDIR"/jsons/wireguard.json <"$TMPDIR"/jsons/wireguard.json <"$TMPDIR"/jsons/vmess-in.json <"$TMPDIR"/jsons/vmess-in.json <"$TMPDIR"/jsons/ss-in.json <"$TMPDIR"/jsons/ss-in.json <>"$configpath" + sed -i "/^${1}=.*/d" "$configpath" + printf '%s=%s\n' "$1" "$2" >>"$configpath" } \ No newline at end of file diff --git a/scripts/libs/set_cron.sh b/scripts/libs/set_cron.sh index fddf57ad..29bd8c7e 100644 --- a/scripts/libs/set_cron.sh +++ b/scripts/libs/set_cron.sh @@ -8,32 +8,32 @@ tmpcron=/tmp/cron_tmp touch "$tmpcron" cronadd() { #定时任务工具 - if crontab -h 2>&1 | grep -q '\-l'; then + if crontab -h 2>&1 | grep -q '\-l'; then crontab "$1" - elif [ -f "$crondir/$USER" ];then - cat "$1" >"$crondir"/"$USER" && cru a REFRESH "0 0 1 1 * /bin/true" 2>/dev/null - else - echo "找不到可用的crond或者crontab应用!No available crond or crontab application can be found!" - fi + elif [ -f "$crondir/$USER" ];then + cat "$1" >"$crondir"/"$USER" && cru a REFRESH "0 0 1 1 * /bin/true" 2>/dev/null + else + echo "找不到可用的crond或者crontab应用!No available crond or crontab application can be found!" + fi } cronload() { #定时任务工具 - if crontab -h 2>&1 | grep -q '\-l'; then + if crontab -h 2>&1 | grep -q '\-l'; then crontab -l - elif [ -f "$crondir/$USER" ];then - cat "$crondir"/"$USER" 2>/dev/null - else - return 1 - fi + elif [ -f "$crondir/$USER" ];then + cat "$crondir"/"$USER" 2>/dev/null + else + return 1 + fi } cronset() { #定时任务设置 # 参数1代表要移除的关键字,参数2代表要添加的任务语句 cronload | grep -v '^$' | grep -vF "$1" >"$tmpcron" [ -n "$2" ] && echo "$2" >>"$tmpcron" - cronadd "$tmpcron" - #华硕/Padavan固件存档在本地,其他则删除 - if [ -d /jffs ] || [ -d /etc/storage/ShellCrash ];then - mv -f "$tmpcron" "$CRASHDIR"/task/cron - else - rm -f "$tmpcron" - fi + cronadd "$tmpcron" + #华硕/Padavan固件存档在本地,其他则删除 + if [ -d /jffs ] || [ -d /etc/storage/ShellCrash ];then + mv -f "$tmpcron" "$CRASHDIR"/task/cron + else + rm -f "$tmpcron" + fi } diff --git a/scripts/libs/set_profile.sh b/scripts/libs/set_profile.sh index b16966ed..d8ea7ba7 100644 --- a/scripts/libs/set_profile.sh +++ b/scripts/libs/set_profile.sh @@ -5,5 +5,5 @@ set_profile() { echo "alias ${my_alias}=\"$shtype $CRASHDIR/menu.sh\"" >>"$1" #设置快捷命令环境变量 sed -i '/export CRASHDIR=*/'d "$1" echo "export CRASHDIR=\"$CRASHDIR\"" >>"$1" #设置路径环境变量 - . "$1" >/dev/null 2>&1 || true + . "$1" >/dev/null 2>&1 || true } \ No newline at end of file diff --git a/scripts/libs/set_proxy.sh b/scripts/libs/set_proxy.sh index c5e0c8ff..7a5f9abd 100644 --- a/scripts/libs/set_proxy.sh +++ b/scripts/libs/set_proxy.sh @@ -1,9 +1,9 @@ setproxy(){ - [ -n "$(pidof CrashCore)" ] && { - [ -n "$authentication" ] && auth="$authentication@" || auth="" - [ -z "$mix_port" ] && mix_port=7890 - export https_proxy="http://${auth}127.0.0.1:$mix_port" - export http_proxy="http://${auth}127.0.0.1:$mix_port" - } + [ -n "$(pidof CrashCore)" ] && { + [ -n "$authentication" ] && auth="$authentication@" || auth="" + [ -z "$mix_port" ] && mix_port=7890 + export https_proxy="http://${auth}127.0.0.1:$mix_port" + export http_proxy="http://${auth}127.0.0.1:$mix_port" + } } \ No newline at end of file diff --git a/scripts/libs/start_wait.sh b/scripts/libs/start_wait.sh index ffbee612..2daa7201 100644 --- a/scripts/libs/start_wait.sh +++ b/scripts/libs/start_wait.sh @@ -1,10 +1,10 @@ i=1 while [ -z "$test" -a "$i" -lt 30 ]; do - sleep 1 - if curl --version >/dev/null 2>&1; then - test=$(curl -s -H "Authorization: Bearer $secret" http://127.0.0.1:${db_port}/proxies | grep -o proxies) - else - test=$(wget -q --header="Authorization: Bearer $secret" -O - http://127.0.0.1:${db_port}/proxies | grep -o proxies) - fi - i=$((i + 1)) + sleep 1 + if curl --version >/dev/null 2>&1; then + test=$(curl -s -H "Authorization: Bearer $secret" http://127.0.0.1:${db_port}/proxies | grep -o proxies) + else + test=$(wget -q --header="Authorization: Bearer $secret" -O - http://127.0.0.1:${db_port}/proxies | grep -o proxies) + fi + i=$((i + 1)) done diff --git a/scripts/libs/web_get.sh b/scripts/libs/web_get.sh index 70e3aa85..1e6a6c67 100644 --- a/scripts/libs/web_get.sh +++ b/scripts/libs/web_get.sh @@ -1,77 +1,77 @@ . "$CRASHDIR"/libs/set_proxy.sh webget(){ - if pidof CrashCore >/dev/null; then - setproxy #设置临时代理,【$1】代表下载目录,【$2】代表在线地址 - url=$(printf '%s\n' "$2" | - sed -e 's#https://.*jsdelivr.net/gh/juewuy/ShellCrash[@|/]#https://raw.githubusercontent.com/juewuy/ShellCrash/#' \ - -e 's#https://gh.jwsc.eu.org/#https://raw.githubusercontent.com/juewuy/ShellCrash/#') - else - url=$(printf '%s\n' "$2" | - sed 's#https://raw.githubusercontent.com/juewuy/ShellCrash/#https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@#') - fi - # =============================================== + if pidof CrashCore >/dev/null; then + setproxy #设置临时代理,【$1】代表下载目录,【$2】代表在线地址 + url=$(printf '%s\n' "$2" | + sed -e 's#https://.*jsdelivr.net/gh/juewuy/ShellCrash[@|/]#https://raw.githubusercontent.com/juewuy/ShellCrash/#' \ + -e 's#https://gh.jwsc.eu.org/#https://raw.githubusercontent.com/juewuy/ShellCrash/#') + else + url=$(printf '%s\n' "$2" | + sed 's#https://raw.githubusercontent.com/juewuy/ShellCrash/#https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@#') + fi + # =============================================== - #参数【$1】代表下载目录,【$2】代表在线地址 - #参数【$3】代表输出显示,【$4】不启用重定向 - #参数【$5】代表验证证书,【$6】使用自定义UA - [ -n "$6" ] && agent="--user-agent $6" - if wget --help 2>&1 | grep -q 'show-progress' >/dev/null 2>&1; then - [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' - [ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect='' - if [ "$5" = "skipceroff" ] || [ "$skip_cert" = OFF ];then - certificate='' - else - certificate='--no-check-certificate' - fi - wget -Y on $agent $progress $redirect $certificate --timeout=3 -O "$1" "$url" && return 0 #成功则退出否则重试 - wget -Y off $agent $progress $redirect $certificate --timeout=5 -O "$1" "$2" - return $? - elif curl --version >/dev/null 2>&1; then - if [ "$3" = "echooff" ];then - progress='-s' - elif echo "$url" | grep -q 'jsdelivr.net';then - progress='-#' - . "$CRASHDIR"/libs/web_get_curlbar.sh && curl_fsize - else - progress='-#' - fi - [ "$4" = "rediroff" ] && redirect='' || redirect='-L' - if [ "$5" = "skipceroff" ] || [ "$skip_cert" = OFF ];then - certificate='' - else - certificate='-k' - fi - # curl 特殊版本兼容 - auth_arg="" - if curl --version | grep -q '^curl 8.' && ckcmd base64; then - auth_b64=$(printf '%s' "$authentication" | base64) - [ -n "$auth_b64" ] && auth_arg="--proxy-header Proxy-Authorization:Basic $auth_b64" - fi - if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then - result=$(execute_curl "$1" "$url" "$fsize_raw" "$agent $auth_arg $redirect $certificate") - else - result=$(curl $agent $auth_arg -w '%{http_code}' --connect-timeout 3 $progress $redirect $certificate -o "$1" "$url") - fi + #参数【$1】代表下载目录,【$2】代表在线地址 + #参数【$3】代表输出显示,【$4】不启用重定向 + #参数【$5】代表验证证书,【$6】使用自定义UA + [ -n "$6" ] && agent="--user-agent $6" + if wget --help 2>&1 | grep -q 'show-progress' >/dev/null 2>&1; then + [ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress' + [ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect='' + if [ "$5" = "skipceroff" ] || [ "$skip_cert" = OFF ];then + certificate='' + else + certificate='--no-check-certificate' + fi + wget -Y on $agent $progress $redirect $certificate --timeout=3 -O "$1" "$url" && return 0 #成功则退出否则重试 + wget -Y off $agent $progress $redirect $certificate --timeout=5 -O "$1" "$2" + return $? + elif curl --version >/dev/null 2>&1; then + if [ "$3" = "echooff" ];then + progress='-s' + elif echo "$url" | grep -q 'jsdelivr.net';then + progress='-#' + . "$CRASHDIR"/libs/web_get_curlbar.sh && curl_fsize + else + progress='-#' + fi + [ "$4" = "rediroff" ] && redirect='' || redirect='-L' + if [ "$5" = "skipceroff" ] || [ "$skip_cert" = OFF ];then + certificate='' + else + certificate='-k' + fi + # curl 特殊版本兼容 + auth_arg="" + if curl --version | grep -q '^curl 8.' && ckcmd base64; then + auth_b64=$(printf '%s' "$authentication" | base64) + [ -n "$auth_b64" ] && auth_arg="--proxy-header Proxy-Authorization:Basic $auth_b64" + fi + if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then + result=$(execute_curl "$1" "$url" "$fsize_raw" "$agent $auth_arg $redirect $certificate") + else + result=$(curl $agent $auth_arg -w '%{http_code}' --connect-timeout 3 $progress $redirect $certificate -o "$1" "$url") + fi - [ "$result" = "200" ] && return 0 #成功则退出否则重试 - export https_proxy="" - export http_proxy="" - - if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then - result=$(execute_curl "$1" "$2" "$fsize_raw" "$agent $redirect $certificate") - else - result=$(curl $agent -w '%{http_code}' --connect-timeout 5 $progress $redirect $certificate -o "$1" "$2") - fi - [ "$result" = "200" ] - return $? - elif ckcmd wget;then - [ "$3" = "echooff" ] && progress='-q' - wget -Y on $progress -O "$1" "$url" && return 0 #成功则退出否则重试 - wget -Y off $progress -O "$1" "$2" - return $? - else - echo "No Curl or Wget!!!" - return 1 - fi + [ "$result" = "200" ] && return 0 #成功则退出否则重试 + export https_proxy="" + export http_proxy="" + + if [ -n "$fsize_raw" ] && [ "$fsize_raw" -gt 204800 ]; then + result=$(execute_curl "$1" "$2" "$fsize_raw" "$agent $redirect $certificate") + else + result=$(curl $agent -w '%{http_code}' --connect-timeout 5 $progress $redirect $certificate -o "$1" "$2") + fi + [ "$result" = "200" ] + return $? + elif ckcmd wget;then + [ "$3" = "echooff" ] && progress='-q' + wget -Y on $progress -O "$1" "$url" && return 0 #成功则退出否则重试 + wget -Y off $progress -O "$1" "$2" + return $? + else + echo "No Curl or Wget!!!" + return 1 + fi } diff --git a/scripts/libs/web_get_bin.sh b/scripts/libs/web_get_bin.sh index c319519a..1ba78e69 100644 --- a/scripts/libs/web_get_bin.sh +++ b/scripts/libs/web_get_bin.sh @@ -3,7 +3,7 @@ get_bin() { #专用于项目内部文件的下载 [ -z "$update_url" ] && update_url=https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@master if [ -n "$url_id" ]; then - [ -n "$release_type" ] && rt="$release_type" || rt=master + [ -n "$release_type" ] && rt="$release_type" || rt=master echo "$2" | grep -q '^bin/' && rt=update #/bin文件改为在update分支下载 echo "$2" | grep -qE '^public/|^rules/' && rt=dev #/public和/rules文件改为在dev分支下载 if [ "$url_id" = 101 -o "$url_id" = 104 ]; then diff --git a/scripts/libs/web_get_curlbar.sh b/scripts/libs/web_get_curlbar.sh index 8031471a..b6c29b61 100644 --- a/scripts/libs/web_get_curlbar.sh +++ b/scripts/libs/web_get_curlbar.sh @@ -2,46 +2,46 @@ bar_max=42 #进度条长度 curl_fsize(){ # 获取文件大小 - fsize_raw=0 - header=$(curl -sIL --connect-timeout 2 "$url") - # 代理容错 - [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } - # 提取大小 (优先 Content-Length,其次 ETag) - fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') - if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then - etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) - [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) - fi + fsize_raw=0 + header=$(curl -sIL --connect-timeout 2 "$url") + # 代理容错 + [ -z "$header" ] && { export https_proxy=""; export http_proxy=""; header=$(curl -sIL --connect-timeout 2 "$url"); } + # 提取大小 (优先 Content-Length,其次 ETag) + fsize_raw=$(echo "$header" | grep -i 'Content-Length' | tail -n 1 | awk '{print $2}' | tr -d '\r' | awk '{print int($1)}') + if [ -z "$fsize_raw" ] || [ "$fsize_raw" -eq 0 ]; then + etag=$(echo "$header" | grep -i 'etag' | tail -n 1 | cut -d '"' -f2 | cut -d '-' -f1) + [ -n "$etag" ] && fsize_raw=$(printf "%d" 0x$etag 2>/dev/null) + fi } execute_curl(){ # 手搓curl进度条 - local path="$1" target_url="$2" total_size="$3" extra_args="$4" - rm -f /tmp/webget_res - # 后台静默下载,状态码写入临时文件 - curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & - local pid=$! - - # 循环监控 - while kill -0 $pid 2>/dev/null; do - if [ -f "$path" ]; then - local curr=$(wc -c < "$path") - local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') - local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') - local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) - local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") - local size=$(( fsize_raw * 100 / 1048576 )) - local fs="$((size / 100)).$((size % 100)) MB" - printf "\r\033[2K%s%s %6s%%(%s)" "$bar" "$spc" "$pct" "$fs" >&2 - fi - usleep 200000 2>/dev/null || sleep 1 - done - - local code=$(cat /tmp/webget_res 2>/dev/null) - if [ "$code" = "200" ] || [ "$code" = "206" ]; then - local full=$(printf "%${bar_max}s" | tr ' ' '#') - printf "\r\033[2K%s 100.0%%(%s)\n" "$full" "$fs" >&2 - else - printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" - fi - echo "$code" + local path="$1" target_url="$2" total_size="$3" extra_args="$4" + rm -f /tmp/webget_res + # 后台静默下载,状态码写入临时文件 + curl $extra_args -s -L -w '%{http_code}' "$target_url" -o "$path" > /tmp/webget_res & + local pid=$! + + # 循环监控 + while kill -0 $pid 2>/dev/null; do + if [ -f "$path" ]; then + local curr=$(wc -c < "$path") + local pct=$(awk -v c=$curr -v t=$total_size 'BEGIN {p=(c*100/t); if(p>100)p=100; printf "%.1f", p}') + local num=$(awk -v p=$pct -v w=$bar_max 'BEGIN {printf "%d", p*w/100}') + local bar=$(printf "%${num}s" | tr ' ' '#'); local spc_n=$((bar_max - num)) + local spc=""; [ "$spc_n" -gt 0 ] && spc=$(printf "%${spc_n}s") + local size=$(( fsize_raw * 100 / 1048576 )) + local fs="$((size / 100)).$((size % 100)) MB" + printf "\r\033[2K%s%s %6s%%(%s)" "$bar" "$spc" "$pct" "$fs" >&2 + fi + usleep 200000 2>/dev/null || sleep 1 + done + + local code=$(cat /tmp/webget_res 2>/dev/null) + if [ "$code" = "200" ] || [ "$code" = "206" ]; then + local full=$(printf "%${bar_max}s" | tr ' ' '#') + printf "\r\033[2K%s 100.0%%(%s)\n" "$full" "$fs" >&2 + else + printf "\r\033[2K" >&2; [ -f "$path" ] && rm -f "$path" + fi + echo "$code" } \ No newline at end of file diff --git a/scripts/libs/web_get_lite.sh b/scripts/libs/web_get_lite.sh index cf485b18..2eead479 100644 --- a/scripts/libs/web_get_lite.sh +++ b/scripts/libs/web_get_lite.sh @@ -1,10 +1,10 @@ . "$CRASHDIR"/libs/set_proxy.sh #$1:目标地址 $2:禁用proxy web_get_lite() { - [ -z "$2" ] && setproxy - if curl --version >/dev/null 2>&1; then - curl -ksSl --connect-timeout 3 "$1" 2>/dev/null - else - wget -Y on -q --timeout=3 -O - "$1" - fi + [ -z "$2" ] && setproxy + if curl --version >/dev/null 2>&1; then + curl -ksSl --connect-timeout 3 "$1" 2>/dev/null + else + wget -Y on -q --timeout=3 -O - "$1" + fi } diff --git a/scripts/libs/web_json.sh b/scripts/libs/web_json.sh index 3c76260b..22b659e6 100644 --- a/scripts/libs/web_json.sh +++ b/scripts/libs/web_json.sh @@ -1,10 +1,10 @@ . "$CRASHDIR"/libs/set_proxy.sh #$1:目标地址 $2:json字符串 web_json_post() { - setproxy - if curl --version >/dev/null 2>&1; then - curl -kfsSl -X POST --connect-timeout 3 -H "Content-Type: application/json" "$1" -d "$2" >/dev/null 2>&1 - else - wget -Y on -q --timeout=3 --method=POST --header="Content-Type: application/json" --body-data="$2" "$1" - fi + setproxy + if curl --version >/dev/null 2>&1; then + curl -kfsSl -X POST --connect-timeout 3 -H "Content-Type: application/json" "$1" -d "$2" >/dev/null 2>&1 + else + wget -Y on -q --timeout=3 --method=POST --header="Content-Type: application/json" --body-data="$2" "$1" + fi } diff --git a/scripts/libs/web_restore.sh b/scripts/libs/web_restore.sh index e0368803..9907059d 100644 --- a/scripts/libs/web_restore.sh +++ b/scripts/libs/web_restore.sh @@ -9,12 +9,12 @@ put_save() { #推送面板选择 fi } web_restore() { #还原面板选择 - num=$(cat "$CRASHDIR"/configs/web_save | wc -l) - i=1 - while [ "$i" -le "$num" ]; do - group_name=$(awk -F ',' 'NR=="'${i}'" {print $1}' "$CRASHDIR"/configs/web_save | sed 's/ /%20/g') - now_name=$(awk -F ',' 'NR=="'${i}'" {print $2}' "$CRASHDIR"/configs/web_save) - put_save "http://127.0.0.1:${db_port}/proxies/${group_name}" "{\"name\":\"${now_name}\"}" - i=$((i + 1)) - done + num=$(cat "$CRASHDIR"/configs/web_save | wc -l) + i=1 + while [ "$i" -le "$num" ]; do + group_name=$(awk -F ',' 'NR=="'${i}'" {print $1}' "$CRASHDIR"/configs/web_save | sed 's/ /%20/g') + now_name=$(awk -F ',' 'NR=="'${i}'" {print $2}' "$CRASHDIR"/configs/web_save) + put_save "http://127.0.0.1:${db_port}/proxies/${group_name}" "{\"name\":\"${now_name}\"}" + i=$((i + 1)) + done } diff --git a/scripts/libs/web_save.sh b/scripts/libs/web_save.sh index e7a16f3f..d7ae9787 100644 --- a/scripts/libs/web_save.sh +++ b/scripts/libs/web_save.sh @@ -9,7 +9,7 @@ get_save() { #获取面板信息 } web_save() { #最小化保存面板节点选择 #使用get_save获取面板节点设置 - get_save "http://127.0.0.1:${db_port}/proxies" | sed 's/{}//g' | sed 's/:{/\ + get_save "http://127.0.0.1:${db_port}/proxies" | sed 's/{}//g' | sed 's/:{/\ /g'| grep -aE '"Selector"' >"$TMPDIR"/web_proxies [ -s "$TMPDIR"/web_proxies ] && while read line; do def=$(echo $line | grep -oE '"all".*",' | awk -F "[\"]" '{print $4}') @@ -25,8 +25,8 @@ web_save() { #最小化保存面板节点选择 if [ -s "$TMPDIR/$file" ]; then . "$CRASHDIR"/libs/compare.sh && compare "$TMPDIR/$file" "$CRASHDIR/configs/$file" [ "$?" = 0 ] && rm -f "$TMPDIR/$file" || mv -f "$TMPDIR/$file" "$CRASHDIR/configs/$file" - else - > "$CRASHDIR/configs/$file" #空文件时移除旧文件 + else + > "$CRASHDIR/configs/$file" #空文件时移除旧文件 fi done } diff --git a/scripts/menu.sh b/scripts/menu.sh index 3d67e5a8..5cdce9fc 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -2,8 +2,8 @@ # Copyright (C) Juewuy CRASHDIR=$( - cd $(dirname $0) - pwd + cd $(dirname $0) + pwd ) CFG_PATH="$CRASHDIR"/configs/ShellCrash.cfg @@ -32,326 +32,326 @@ load_lang common load_lang menu checkrestart() { - comp_box "\033[32m$MENU_RESTART_NOTICE\033[0m" - btm_box "1) 立即重启" \ - "0) 暂不重启" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - start_service - fi + comp_box "\033[32m$MENU_RESTART_NOTICE\033[0m" + btm_box "1) 立即重启" \ + "0) 暂不重启" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + start_service + fi } # 检查端口冲突 checkport() { - . "$CRASHDIR"/menus/check_port.sh + . "$CRASHDIR"/menus/check_port.sh - while true; do - local conflict_found=0 - local conflict_port="" - local conflict_info="" + while true; do + local conflict_found=0 + local conflict_port="" + local conflict_info="" - conflict_info=$(check_port_with_info "$mix_port") - if [ $? -ne 0 ]; then - conflict_found=1 - conflict_port="$mix_port" - fi + conflict_info=$(check_port_with_info "$mix_port") + if [ $? -ne 0 ]; then + conflict_found=1 + conflict_port="$mix_port" + fi - if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$redir_port") - [ $? -ne 0 ] && conflict_found=1 && conflict_port="$redir_port" - fi + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$redir_port") + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$redir_port" + fi - if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$((redir_port + 1))") - [ $? -ne 0 ] && conflict_found=1 && conflict_port="$((redir_port + 1))" - fi + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$((redir_port + 1))") + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$((redir_port + 1))" + fi - if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$dns_port") - [ $? -ne 0 ] && conflict_found=1 && conflict_port="$dns_port" - fi + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$dns_port") + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$dns_port" + fi - if [ "$conflict_found" -eq 0 ]; then - conflict_info=$(check_port_with_info "$db_port" tcp) - [ $? -ne 0 ] && conflict_found=1 && conflict_port="$db_port" - fi + if [ "$conflict_found" -eq 0 ]; then + conflict_info=$(check_port_with_info "$db_port" tcp) + [ $? -ne 0 ] && conflict_found=1 && conflict_port="$db_port" + fi - if [ "$conflict_found" -eq 1 ]; then - comp_box "【$conflict_port】:$MENU_PORT_CONFLICT_TITLE" \ - "\033[0m$conflict_info\033[0m" \ - "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" + if [ "$conflict_found" -eq 1 ]; then + comp_box "【$conflict_port】:$MENU_PORT_CONFLICT_TITLE" \ + "\033[0m$conflict_info\033[0m" \ + "\033[36m$MENU_PORT_CONFLICT_HINT\033[0m" - . "$CRASHDIR"/menus/2_settings.sh && set_adv_config - . "$CRASHDIR"/libs/get_config.sh - else - break - fi - done + . "$CRASHDIR"/menus/2_settings.sh && set_adv_config + . "$CRASHDIR"/libs/get_config.sh + else + break + fi + done } # 脚本启动前检查 ckstatus() { - versionsh=$(cat "$CRASHDIR"/version) - [ -n "$versionsh" ] && versionsh_l=$versionsh - [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" + versionsh=$(cat "$CRASHDIR"/version) + [ -n "$versionsh" ] && versionsh_l=$versionsh + [ -z "$redir_mod" ] && redir_mod="$MENU_PURE_MOD" - # 获取本机host地址 - [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) - [ -z "$host" ] && host='$MENU_IP_DF' + # 获取本机host地址 + [ -z "$host" ] && host=$(ubus call network.interface.lan status 2>&1 | grep \"address\" | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'lan' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) + [ -z "$host" ] && host='$MENU_IP_DF' - # dashboard目录位置 - if [ -f /www/clash/index.html ]; then - dbdir=/www/clash - hostdir=/clash - else - dbdir="$CRASHDIR"/ui - hostdir=":$db_port/ui" - fi + # dashboard目录位置 + if [ -f /www/clash/index.html ]; then + dbdir=/www/clash + hostdir=/clash + else + dbdir="$CRASHDIR"/ui + hostdir=":$db_port/ui" + fi - if check_autostart; then - auto="\033[32m$MENU_AUTOSTART_ON\033[0m" - else - auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" - fi + if check_autostart; then + auto="\033[32m$MENU_AUTOSTART_ON\033[0m" + else + auto="\033[31m$MENU_AUTOSTART_OFF\033[0m" + fi - PID=$(pidof CrashCore | awk '{print $NF}') - if [ -n "$PID" ]; then - run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" - running_status - elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then - run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" - else - run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" - # 检测系统端口占用 - checkport - fi - corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') - # [ "$firewall_area" = 5 ] && corename='转发' - [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" + PID=$(pidof CrashCore | awk '{print $NF}') + if [ -n "$PID" ]; then + run="\033[32m$MENU_RUN_ON($redir_mod$MENU_MOD)\033[0m" + running_status + elif [ "$firewall_area" = 5 ] && [ -n "$(ip route list table 100)" ]; then + run="\033[32m$MENU_RUN_SET($redir_mod$MENU_MOD)\033[0m" + else + run="\033[31m$MENU_RUN_OFF($redir_mod$MENU_MOD)\033[0m" + # 检测系统端口占用 + checkport + fi + corename=$(echo $crashcore | sed 's/singboxr/SingBoxR/' | sed 's/singbox/SingBox/' | sed 's/clash/Clash/' | sed 's/meta/Mihomo/') + # [ "$firewall_area" = 5 ] && corename='转发' + [ -f "$TMPDIR"/debug.log -o -f "$CRASHDIR"/debug.log -a -n "$PID" ] && auto="\033[33m$MENU_AUTOSTART_DEBUG\033[0m" - # 检查新手引导 - if [ -z "$userguide" ]; then - userguide=1 - . "$CRASHDIR"/menus/userguide.sh && userguide - setconfig userguide 1 - . "$CRASHDIR"/configs/ShellCrash.cfg - fi + # 检查新手引导 + if [ -z "$userguide" ]; then + userguide=1 + . "$CRASHDIR"/menus/userguide.sh && userguide + setconfig userguide 1 + . "$CRASHDIR"/configs/ShellCrash.cfg + fi - # 检查执行权限 - [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh + # 检查执行权限 + [ ! -x "$CRASHDIR"/start.sh ] && chmod +x "$CRASHDIR"/start.sh - # 检查/tmp内核文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do - comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ - "$MENU_TMP_CORE_ASK" - btm_box "1) 立即加载" \ - "0) 暂不加载" - read -r -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && { - zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') - . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype - . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" - if [ "$?" = 0 ] && [ -n "$crashcore" ]; then - msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" - switch_core - else - rm -rf /tmp/"$file" - msg_alert "\033[33m$MENU_CORE_LOADED_BAD\033[0m" \ - "\033[33m$MENU_CORE_REMOVED\033[0m" - fi - } - done + # 检查/tmp内核文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do + comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ + "$MENU_TMP_CORE_ASK" + btm_box "1) 立即加载" \ + "0) 暂不加载" + read -r -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') + . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype + . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" + if [ "$?" = 0 ] && [ -n "$crashcore" ]; then + msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" + switch_core + else + rm -rf /tmp/"$file" + msg_alert "\033[33m$MENU_CORE_LOADED_BAD\033[0m" \ + "\033[33m$MENU_CORE_REMOVED\033[0m" + fi + } + done - # 检查/tmp配置文件 - for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do - tmp_file=/tmp/$file - comp_box "$MENU_TMP_CFG_FOUND\033[36m/tmp/$file\033[0m" \ - "$MENU_TMP_CFG_ASK" - btm_box "1) 立即加载" \ - "0) 暂不加载" - read -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && { - if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then - mv -f /tmp/$file "$CRASHDIR"/jsons/config.json - else - mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml - fi - msg_alert "\033[32m$MENU_CFG_LOADED_OK\033[0m " - } - done + # 检查/tmp配置文件 + for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do + tmp_file=/tmp/$file + comp_box "$MENU_TMP_CFG_FOUND\033[36m/tmp/$file\033[0m" \ + "$MENU_TMP_CFG_ASK" + btm_box "1) 立即加载" \ + "0) 暂不加载" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && { + if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then + mv -f /tmp/$file "$CRASHDIR"/jsons/config.json + else + mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml + fi + msg_alert "\033[32m$MENU_CFG_LOADED_OK\033[0m " + } + done - # 检查禁用配置覆写 - [ "$disoverride" = "1" ] && { - comp_box "\033[33m$MENU_OVERRIDE_WARN\033[0m" \ - "$MENU_OVERRIDE_ASK" - btm_box "1) 是" \ - "0) 否" - read -p "$COMMON_INPUT> " res - [ "$res" = 1 ] && unset disoverride && setconfig disoverride - } + # 检查禁用配置覆写 + [ "$disoverride" = "1" ] && { + comp_box "\033[33m$MENU_OVERRIDE_WARN\033[0m" \ + "$MENU_OVERRIDE_ASK" + btm_box "1) 是" \ + "0) 否" + read -p "$COMMON_INPUT> " res + [ "$res" = 1 ] && unset disoverride && setconfig disoverride + } - top_box "\033[30;43m$MENU_WELCOME\033[0m\t\t Ver: $versionsh_l" \ - "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" - separator_line "-" - content_line "$corename$run\t $auto" - if [ -n "$PID" ]; then - content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" - fi - separator_line "=" + top_box "\033[30;43m$MENU_WELCOME\033[0m\t\t Ver: $versionsh_l" \ + "$MENU_TG_CHANNEL\033[36;4mhttps://t.me/ShellClash\033[0m" + separator_line "-" + content_line "$corename$run\t $auto" + if [ -n "$PID" ]; then + content_line "$MENU_MEM_USED\033[44m$VmRSS\033[0m\t $MENU_RUNNING_TIME\033[46;30m$day\033[44;37m$time\033[0m" + fi + separator_line "=" } main_menu() { - while true; do - ckstatus + while true; do + ckstatus - btm_box "1) \033[32m$MENU_MAIN_1\033[0m" \ - "2) \033[36m$MENU_MAIN_2\033[0m" \ - "3) \033[31m$MENU_MAIN_3\033[0m" \ - "4) \033[33m$MENU_MAIN_4\033[0m" \ - "5) \033[32m$MENU_MAIN_5\033[0m" \ - "6) \033[36m$MENU_MAIN_6\033[0m" \ - "7) \033[33m$MENU_MAIN_7\033[0m" \ - "8) $MENU_MAIN_8" \ - "9) \033[32m$MENU_MAIN_9\033[0m" \ - "" \ - "0) $MENU_MAIN_0" - read -r -p "$MENU_MAIN_PROMPT" num + btm_box "1) \033[32m$MENU_MAIN_1\033[0m" \ + "2) \033[36m$MENU_MAIN_2\033[0m" \ + "3) \033[31m$MENU_MAIN_3\033[0m" \ + "4) \033[33m$MENU_MAIN_4\033[0m" \ + "5) \033[32m$MENU_MAIN_5\033[0m" \ + "6) \033[36m$MENU_MAIN_6\033[0m" \ + "7) \033[33m$MENU_MAIN_7\033[0m" \ + "8) $MENU_MAIN_8" \ + "9) \033[32m$MENU_MAIN_9\033[0m" \ + "" \ + "0) $MENU_MAIN_0" + read -r -p "$MENU_MAIN_PROMPT" num - case "$num" in - "" | 0) - line_break - exit 0 - ;; - 1) - start_service - line_break - exit - ;; - 2) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/2_settings.sh && settings - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 3) - [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop - "$CRASHDIR"/start.sh stop - sleep 1 - msg_alert "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" - ;; - 4) - . "$CRASHDIR"/menus/4_setboot.sh && setboot - ;; - 5) - . "$CRASHDIR"/menus/5_task.sh && task_menu - ;; - 6) - . "$CRASHDIR"/menus/6_core_config.sh && set_core_config - ;; - 7) - GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg - touch "$GT_CFG_PATH" - checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") - . "$CRASHDIR"/menus/7_gateway.sh && gateway - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - 8) - . "$CRASHDIR"/menus/8_tools.sh && tools - ;; - 9) - checkcfg=$(cat "$CFG_PATH") - . "$CRASHDIR"/menus/9_upgrade.sh && upgrade - if [ -n "$PID" ]; then - checkcfg_new=$(cat "$CFG_PATH") - [ "$checkcfg" != "$checkcfg_new" ] && checkrestart - fi - ;; - *) - errornum - ;; - esac - done + case "$num" in + "" | 0) + line_break + exit 0 + ;; + 1) + start_service + line_break + exit + ;; + 2) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/2_settings.sh && settings + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 3) + [ "$bot_tg_service" = ON ] && . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop + "$CRASHDIR"/start.sh stop + sleep 1 + msg_alert "\033[31m$corename$MENU_SERVICE_STOPPED\033[0m" + ;; + 4) + . "$CRASHDIR"/menus/4_setboot.sh && setboot + ;; + 5) + . "$CRASHDIR"/menus/5_task.sh && task_menu + ;; + 6) + . "$CRASHDIR"/menus/6_core_config.sh && set_core_config + ;; + 7) + GT_CFG_PATH="$CRASHDIR"/configs/gateway.cfg + touch "$GT_CFG_PATH" + checkcfg=$(cat "$CFG_PATH" "$GT_CFG_PATH") + . "$CRASHDIR"/menus/7_gateway.sh && gateway + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH" "$GT_CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + 8) + . "$CRASHDIR"/menus/8_tools.sh && tools + ;; + 9) + checkcfg=$(cat "$CFG_PATH") + . "$CRASHDIR"/menus/9_upgrade.sh && upgrade + if [ -n "$PID" ]; then + checkcfg_new=$(cat "$CFG_PATH") + [ "$checkcfg" != "$checkcfg_new" ] && checkrestart + fi + ;; + *) + errornum + ;; + esac + done } case "$1" in "") - main_menu - ;; + main_menu + ;; -l) - main_menu - ;; + main_menu + ;; -t) - shtype=sh - [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - "$shtype" -x "$CRASHDIR"/menu.sh -l - ;; + shtype=sh + [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + "$shtype" -x "$CRASHDIR"/menu.sh -l + ;; -s) - "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" - ;; + "$CRASHDIR"/start.sh "$2" "$3" "$4" "$5" "$6" + ;; -i) - . "$CRASHDIR"/init.sh 2>/dev/null - ;; + . "$CRASHDIR"/init.sh 2>/dev/null + ;; -st) - shtype=sh - 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 - ;; + shtype=sh + 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) - shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash - comp_box "$MENU_TEST_RUNNING_1" \ - "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" - "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log - "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log - cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug - if [ -s "$TMPDIR"/sh_bug ]; then - line_break - echo "===========================================================" - while read line; do - echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" - grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log - echo - done <"$TMPDIR"/sh_bug - echo "===========================================================" - rm -rf "$TMPDIR"/sh_bug - comp_box "\033[32m$MENU_TEST_DONE_FAIL\033[0m" \ - "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" - else - rm -rf "$TMPDIR"/debug_sh.log - comp_box "\033[32m$MENU_TEST_DONE_OK\033[0m" - line_break - fi - "$CRASHDIR"/start.sh stop - ;; + shtype=sh && [ -n "$(ls -l /bin/sh | grep -o dash)" ] && shtype=bash + comp_box "$MENU_TEST_RUNNING_1" \ + "$MENU_TEST_RUNNING_2\033[36;4mhttps://t.me/ShellClash\033[0m" + "$shtype" "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh_bug.log + "$shtype" -x "$CRASHDIR"/start.sh debug >/dev/null 2>"$TMPDIR"/debug_sh.log + cat "$TMPDIR"/debug_sh_bug.log | grep 'start\.sh' >"$TMPDIR"/sh_bug + if [ -s "$TMPDIR"/sh_bug ]; then + line_break + echo "===========================================================" + while read line; do + echo -e "$MENU_ERROR_FOUND\033[33;4m$line\033[0m" + grep -A 1 -B 3 "$line" "$TMPDIR"/debug_sh.log + echo + done <"$TMPDIR"/sh_bug + echo "===========================================================" + rm -rf "$TMPDIR"/sh_bug + comp_box "\033[32m$MENU_TEST_DONE_FAIL\033[0m" \ + "$MENU_TEST_LOG_HINT\033[36m$TMPDIR/debug_sh.log\033[0m" + else + rm -rf "$TMPDIR"/debug_sh.log + comp_box "\033[32m$MENU_TEST_DONE_OK\033[0m" + line_break + fi + "$CRASHDIR"/start.sh stop + ;; -u) - . "$CRASHDIR"/menus/uninstall.sh && uninstall - ;; + . "$CRASHDIR"/menus/uninstall.sh && uninstall + ;; *) - comp_box "$MENU_WELCOME" - content_line "-t $MENU_CLI_TEST" - content_line "-h $MENU_CLI_HELP" - content_line "-u $MENU_CLI_UNINSTALL" - content_line "-i $MENU_CLI_INIT" - content_line "-d $MENU_CLI_DEBUG" - separator_line "-" - content_line "crash -s start $MENU_CLI_START" - content_line "crash -s stop $MENU_CLI_STOP" - content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" - separator_line "-" - content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" - content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" - content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" - separator_line "=" - line_break - ;; + comp_box "$MENU_WELCOME" + content_line "-t $MENU_CLI_TEST" + content_line "-h $MENU_CLI_HELP" + content_line "-u $MENU_CLI_UNINSTALL" + content_line "-i $MENU_CLI_INIT" + content_line "-d $MENU_CLI_DEBUG" + separator_line "-" + content_line "crash -s start $MENU_CLI_START" + content_line "crash -s stop $MENU_CLI_STOP" + content_line "$CRASHDIR/start.sh init $MENU_CLI_BOOT_INIT" + separator_line "-" + content_line "$MENU_HELP_ONLINE\033[36mhttps://t.me/ShellClash\033[0m" + content_line "$MENU_HELP_BLOG\033[36mhttps://juewuy.github.io\033[0m" + content_line "$MENU_HELP_GITHUB\033[36mhttps://github.com/juewuy/ShellCrash\033[0m" + separator_line "=" + line_break + ;; esac diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 6cb466cb..c31a9b21 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -8,686 +8,686 @@ load_lang 2_settings # 功能设置 settings() { - while true; do - # 获取设置默认显示 - [ -z "$skip_cert" ] && skip_cert=ON - [ -z "$sniffer" ] && { - sniffer=OFF - echo "$crashcore" | grep -q 'singbox' && sniffer=ON - } - [ -z "$dns_mod" ] && dns_mod='redir_host' + while true; do + # 获取设置默认显示 + [ -z "$skip_cert" ] && skip_cert=ON + [ -z "$sniffer" ] && { + sniffer=OFF + echo "$crashcore" | grep -q 'singbox' && sniffer=ON + } + [ -z "$dns_mod" ] && dns_mod='redir_host' - comp_box "\033[30;47m$SET_MENU_TITLE\033[0m" - content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" - content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" - content_line "3) $SET_MENU_FW_FILTER" - [ "$disoverride" != "1" ] && { - content_line "4) $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" - content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" - content_line "6) $SET_MENU_ADV_PORT" - } - content_line "7) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" - btm_box "" \ - "a) \033[31m$SET_MENU_RESET\033[0m" \ - "b) \033[36m$SET_MENU_LANG\033[0m" \ - "c) \033[33m$SET_MENU_UI\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$USER" != root ] && [ "$USER" != admin ]; then - comp_box "$SET_WARN_NONROOT" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - set_redir_mod - else - continue - fi - else - set_redir_mod - fi - ;; - 2) - . "$CRASHDIR"/menus/dns.sh && set_dns_mod - ;; - 3) - . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter - ;; - 4) - line_break - separator_line "=" - if [ "$skip_cert" = "OFF" ]; then - content_line "$SET_SKIP_CERT_NOW\033[33m$SET_DISABLED\033[0m$SET_SKIP_CERT_ENABLE_Q" - else - content_line "$SET_SKIP_CERT_NOW\033[33m$SET_ENABLED\033[0m$SET_SKIP_CERT_DISABLE_Q" - fi - separator_line "=" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - if [ "$skip_cert" = OFF ]; then - skip_cert=ON - msg_alert "\033[33m$SET_SKIP_CERT_ON\033[0m" - else - skip_cert=OFF - msg_alert "\033[33m$SET_SKIP_CERT_OFF\033[0m" - fi - setconfig skip_cert $skip_cert - else - continue - fi - ;; - 5) - if [ "$sniffer" = "OFF" ]; then - comp_box "$SET_SNIFFER_NOW\033[33m$SET_DISABLED\033[0m$SET_SNIFFER_ENABLE_Q" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - line_break - separator_line "=" - if [ "$crashcore" = "clash" ]; then - rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" - crashcore=meta - setconfig crashcore $crashcore - top_box "$SET_SNIFFER_CORE_SWITCH" \ - "" - fi - sniffer=ON - else - continue - fi - elif [ "$crashcore" = clashpre ] && [ "$dns_mod" = redir_host ]; then - msg_alert "\033[31m$SET_SNIFFER_LOCKED\033[0m" - continue - else - comp_box "$SET_SNIFFER_NOW\033[33m$SET_ENABLED\033[0m$SET_SNIFFER_DISABLE_Q" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " num - if [ "$num" = 1 ]; then - sniffer=OFF - line_break - separator_line "=" - else - continue - fi - fi - setconfig sniffer "$sniffer" - btm_box "\033[32m$COMMON_SUCCESS\033[0m" - sleep 1 - ;; - 6) - if pidof CrashCore >/dev/null; then - comp_box "\033[33m$SET_CORE_RUNNING\033[0m" \ - "$SET_CORE_STOP_CONFIRM" - btm_box "1) $SET_YES" \ - "0) $SET_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - "$CRASHDIR/start.sh" stop && set_adv_config - else - continue - fi - else - set_adv_config - fi - ;; - 7) - set_ipv6 - ;; - a) - BACK_TAR="$CRASHDIR/configs.tar.gz" - comp_box "1) $SET_BACKUP" \ - "2) $SET_RESTORE" \ - "3) $SET_RESET" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - continue - ;; - 1) - line_break - separator_line "=" - if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then - content_line "\033[32m$SET_BACKUP_OK $BACK_TAR\033[0m" - else - content_line "\033[31m$SET_BACKUP_FAIL\033[0m" - fi - separator_line "=" - sleep 1 - continue - ;; - 2) - line_break - separator_line "=" - if [ -f "$BACK_TAR" ]; then - tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . - rm -rf "$CRASHDIR/configs/*" - tar -zxf "$BACK_TAR" -C "$CRASHDIR"/configs - mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" - content_line "\033[32m$SET_RESTORE_OK $BACK_TAR\033[0m" - else - content_line "\033[31m$SET_BACKUP_MISS\033[0m" - fi - ;; - 3) - line_break - separator_line "=" - if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then - rm -rf "$CRASHDIR/configs" - . "$CRASHDIR/init.sh" >/dev/null - content_lin e"\033[32m$SET_RESET_OK\033[0m" - else - content_lin e"\033[32m$SET_RESET_FAIL\033[0m" - fi - ;; - *) - errornum - continue - ;; - esac - content_line "\033[33m$SET_NEED_RESTART\033[0m" - separator_line "=" - line_break - sleep 1 - exit 0 - ;; - b) - comp_box "1) $SET_LANG_ZH" \ - "2) $SET_LANG_EN" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - continue - ;; - 1) - echo chs >"$CRASHDIR"/configs/i18n.cfg - msg_alert "\033[32m切换成功,请重新执行脚本!\033[0m" - ;; - 2) - echo en >"$CRASHDIR"/configs/i18n.cfg - msg_alert "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" - ;; - esac - line_break - exit 0 - ;; - c) - comp_box "1) New Design by Sofia-Riese" \ - "2) TUI-lite" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - continue - ;; - 1) - setconfig tui_type 'tui_layout' - . "$CRASHDIR"/menus/tui_layout.sh - ;; - 2) - setconfig tui_type 'tui_lite' - . "$CRASHDIR"/menus/tui_lite.sh - ;; - esac - msg_alert "\033[32m$SET_SWITCH_OK\033[0m" - ;; - *) - errornum - ;; - esac - done + comp_box "\033[30;47m$SET_MENU_TITLE\033[0m" + content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" + content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" + content_line "3) $SET_MENU_FW_FILTER" + [ "$disoverride" != "1" ] && { + content_line "4) $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" + content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" + content_line "6) $SET_MENU_ADV_PORT" + } + content_line "7) $SET_MENU_IPV6\t\033[36m$ipv6_redir\033[0m" + btm_box "" \ + "a) \033[31m$SET_MENU_RESET\033[0m" \ + "b) \033[36m$SET_MENU_LANG\033[0m" \ + "c) \033[33m$SET_MENU_UI\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$USER" != root ] && [ "$USER" != admin ]; then + comp_box "$SET_WARN_NONROOT" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + set_redir_mod + else + continue + fi + else + set_redir_mod + fi + ;; + 2) + . "$CRASHDIR"/menus/dns.sh && set_dns_mod + ;; + 3) + . "$CRASHDIR"/menus/fw_filter.sh && set_fw_filter + ;; + 4) + line_break + separator_line "=" + if [ "$skip_cert" = "OFF" ]; then + content_line "$SET_SKIP_CERT_NOW\033[33m$SET_DISABLED\033[0m$SET_SKIP_CERT_ENABLE_Q" + else + content_line "$SET_SKIP_CERT_NOW\033[33m$SET_ENABLED\033[0m$SET_SKIP_CERT_DISABLE_Q" + fi + separator_line "=" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + if [ "$skip_cert" = OFF ]; then + skip_cert=ON + msg_alert "\033[33m$SET_SKIP_CERT_ON\033[0m" + else + skip_cert=OFF + msg_alert "\033[33m$SET_SKIP_CERT_OFF\033[0m" + fi + setconfig skip_cert $skip_cert + else + continue + fi + ;; + 5) + if [ "$sniffer" = "OFF" ]; then + comp_box "$SET_SNIFFER_NOW\033[33m$SET_DISABLED\033[0m$SET_SNIFFER_ENABLE_Q" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + line_break + separator_line "=" + if [ "$crashcore" = "clash" ]; then + rm -rf "$TMPDIR/CrashCore" "$CRASHDIR/CrashCore" "$CRASHDIR/CrashCore.tar.gz" + crashcore=meta + setconfig crashcore $crashcore + top_box "$SET_SNIFFER_CORE_SWITCH" \ + "" + fi + sniffer=ON + else + continue + fi + elif [ "$crashcore" = clashpre ] && [ "$dns_mod" = redir_host ]; then + msg_alert "\033[31m$SET_SNIFFER_LOCKED\033[0m" + continue + else + comp_box "$SET_SNIFFER_NOW\033[33m$SET_ENABLED\033[0m$SET_SNIFFER_DISABLE_Q" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " num + if [ "$num" = 1 ]; then + sniffer=OFF + line_break + separator_line "=" + else + continue + fi + fi + setconfig sniffer "$sniffer" + btm_box "\033[32m$COMMON_SUCCESS\033[0m" + sleep 1 + ;; + 6) + if pidof CrashCore >/dev/null; then + comp_box "\033[33m$SET_CORE_RUNNING\033[0m" \ + "$SET_CORE_STOP_CONFIRM" + btm_box "1) $SET_YES" \ + "0) $SET_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + "$CRASHDIR/start.sh" stop && set_adv_config + else + continue + fi + else + set_adv_config + fi + ;; + 7) + set_ipv6 + ;; + a) + BACK_TAR="$CRASHDIR/configs.tar.gz" + comp_box "1) $SET_BACKUP" \ + "2) $SET_RESTORE" \ + "3) $SET_RESET" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + continue + ;; + 1) + line_break + separator_line "=" + if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then + content_line "\033[32m$SET_BACKUP_OK $BACK_TAR\033[0m" + else + content_line "\033[31m$SET_BACKUP_FAIL\033[0m" + fi + separator_line "=" + sleep 1 + continue + ;; + 2) + line_break + separator_line "=" + if [ -f "$BACK_TAR" ]; then + tar -zcf "$TMPDIR/configs.tar.gz" -C "$CRASHDIR/configs/" . + rm -rf "$CRASHDIR/configs/*" + tar -zxf "$BACK_TAR" -C "$CRASHDIR"/configs + mv -f "$TMPDIR/configs.tar.gz" "$BACK_TAR" + content_line "\033[32m$SET_RESTORE_OK $BACK_TAR\033[0m" + else + content_line "\033[31m$SET_BACKUP_MISS\033[0m" + fi + ;; + 3) + line_break + separator_line "=" + if tar -zcf "$BACK_TAR" -C "$CRASHDIR/configs/" .; then + rm -rf "$CRASHDIR/configs" + . "$CRASHDIR/init.sh" >/dev/null + content_lin e"\033[32m$SET_RESET_OK\033[0m" + else + content_lin e"\033[32m$SET_RESET_FAIL\033[0m" + fi + ;; + *) + errornum + continue + ;; + esac + content_line "\033[33m$SET_NEED_RESTART\033[0m" + separator_line "=" + line_break + sleep 1 + exit 0 + ;; + b) + comp_box "1) $SET_LANG_ZH" \ + "2) $SET_LANG_EN" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + continue + ;; + 1) + echo chs >"$CRASHDIR"/configs/i18n.cfg + msg_alert "\033[32m切换成功,请重新执行脚本!\033[0m" + ;; + 2) + echo en >"$CRASHDIR"/configs/i18n.cfg + msg_alert "\033[32mLanguage switched successfully! Please re-run the script!\033[0m" + ;; + esac + line_break + exit 0 + ;; + c) + comp_box "1) New Design by Sofia-Riese" \ + "2) TUI-lite" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + continue + ;; + 1) + setconfig tui_type 'tui_layout' + . "$CRASHDIR"/menus/tui_layout.sh + ;; + 2) + setconfig tui_type 'tui_lite' + . "$CRASHDIR"/menus/tui_lite.sh + ;; + esac + msg_alert "\033[32m$SET_SWITCH_OK\033[0m" + ;; + *) + errornum + ;; + esac + done } set_redir_config() { - setconfig redir_mod "$redir_mod" - setconfig dns_mod "$dns_mod" - msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod $SET_MODE_SUFFIX\033[0m" + setconfig redir_mod "$redir_mod" + setconfig dns_mod "$dns_mod" + msg_alert "\033[36m$SET_REDIR_APPLIED $redir_mod $SET_MODE_SUFFIX\033[0m" } # 路由模式设置 set_redir_mod() { - while true; do - [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 - [ -z "$firewall_area" ] && firewall_area=1 - [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" - [ -z "$redir_mod" ] && redir_mod='Redir' - firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) - comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ - "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" - [ "$firewall_area" -le 3 ] && { - content_line "1) $SET_SET_TO\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" - content_line "2) $SET_SET_TO\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" - content_line "3) $SET_SET_TO\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" - content_line "4) $SET_SET_TO\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" - content_line "" - } - [ "$firewall_area" = 5 ] && { - content_line "5) \033[32m$SET_BYPASS_TCP\033[0m: $SET_BYPASS_TCP_DESC" - content_line "6) \033[36m$SET_BYPASS_TU\033[0m: $SET_BYPASS_TU_DESC" - content_line "" - } - btm_box "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" \ - "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" \ - "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - redir_mod=Redir - set_redir_config - ;; - 2) - if [ -n "$sup_tun" ]; then - redir_mod=Mix - set_redir_config - else - msg_alert "\033[31m${SET_NO_MOD}TUN\033[0m" \ - "\033[31m$SET_NO_MOD2\033[0m" - fi - ;; - 3) - if [ "$firewall_mod" = "iptables" ]; then - if [ -f /etc/init.d/qca-nss-ecm ] && [ "$systype" = "mi_snapshot" ]; then - read -r -p "$XIAOMI_QOS(1/0)> " res - [ "$res" = '1' ] && { - /data/shellcrash_init.sh tproxyfix - redir_mod=Tproxy - set_redir_config - } - elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then - redir_mod=Tproxy - set_redir_config - else - msg_alert "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" \ - "\033[31m$SET_NO_MOD2\033[0m" - fi - elif [ "$firewall_mod" = "nftables" ]; then - if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then - redir_mod=Tproxy - set_redir_config - else - msg_alert "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" \ - "\033[31m$SET_NO_MOD2\033[0m" - fi - fi - ;; - 4) - if [ -n "$sup_tun" ]; then - redir_mod=Tun - set_redir_config - else - msg_alert "\033[31m$SET_NO_TUN\033[0m" - fi - ;; - 5) - redir_mod='$SET_BYPASS_TCP' - set_redir_config - ;; - 6) - redir_mod='$SET_BYPASS_TU' - set_redir_config - ;; - 7) - set_firewall_area - ;; - 8) - set_firewall_vm - ;; - 9) - if [ "$firewall_mod" = 'iptables' ]; then - if nft add table inet shellcrash 2>/dev/null; then - firewall_mod=nftables - redir_mod=Redir - setconfig redir_mod $redir_mod - else - msg_alert "\033[31m$FW_NO_NFTABLES\033[0m" - fi - elif [ "$firewall_mod" = 'nftables' ]; then - if ckcmd iptables; then - firewall_mod=iptables - redir_mod=Redir - setconfig redir_mod $redir_mod - else - msg_alert "\033[31m$FW_NO_IPTABLES\033[0m" - fi - else - iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables - nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables - if [ -n "$firewall_mod" ]; then - redir_mod=Redir - setconfig redir_mod $redir_mod - setconfig firewall_mod "$firewall_mod" - else - msg_alert "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" - fi - fi - setconfig firewall_mod "$firewall_mod" - ;; - *) - errornum - ;; - esac - done + while true; do + [ -n "$(ls /dev/net/tun 2>/dev/null)" ] || ip tuntap >/dev/null 2>&1 || modprobe tun 2>/dev/null && sup_tun=1 + [ -z "$firewall_area" ] && firewall_area=1 + [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" + [ -z "$redir_mod" ] && redir_mod='Redir' + firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) + comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ + "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" + [ "$firewall_area" -le 3 ] && { + content_line "1) $SET_SET_TO\033[32m$SET_REDIR_REDIR\033[0m:\t$SET_REDIR_REDIRDES" + content_line "2) $SET_SET_TO\033[36m$SET_REDIR_MIX\033[0m:\t$SET_REDIR_MIXDES" + content_line "3) $SET_SET_TO\033[32m$SET_REDIR_TPROXY\033[0m:\t$SET_REDIR_TPROXYDES" + content_line "4) $SET_SET_TO\033[33m$SET_REDIR_TUN\033[0m:\t$SET_REDIR_TUNDES" + content_line "" + } + [ "$firewall_area" = 5 ] && { + content_line "5) \033[32m$SET_BYPASS_TCP\033[0m: $SET_BYPASS_TCP_DESC" + content_line "6) \033[36m$SET_BYPASS_TU\033[0m: $SET_BYPASS_TU_DESC" + content_line "" + } + btm_box "7) $SET_FW_AREA:\t\033[47;30m$firewall_area_dsc\033[0m" \ + "8) $SET_VM_REDIR:\t\033[47;30m$vm_redir\033[0m" \ + "9) $SET_FW_SWITCH:\t\033[47;30m$firewall_mod\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + redir_mod=Redir + set_redir_config + ;; + 2) + if [ -n "$sup_tun" ]; then + redir_mod=Mix + set_redir_config + else + msg_alert "\033[31m${SET_NO_MOD}TUN\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" + fi + ;; + 3) + if [ "$firewall_mod" = "iptables" ]; then + if [ -f /etc/init.d/qca-nss-ecm ] && [ "$systype" = "mi_snapshot" ]; then + read -r -p "$XIAOMI_QOS(1/0)> " res + [ "$res" = '1' ] && { + /data/shellcrash_init.sh tproxyfix + redir_mod=Tproxy + set_redir_config + } + elif grep -qE '^TPROXY$' /proc/net/ip_tables_targets || modprobe xt_TPROXY >/dev/null 2>&1; then + redir_mod=Tproxy + set_redir_config + else + msg_alert "\033[31m${SET_NO_MOD}iptables-mod-tproxy\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" + fi + elif [ "$firewall_mod" = "nftables" ]; then + if modprobe nft_tproxy >/dev/null 2>&1 || lsmod 2>/dev/null | grep -q nft_tproxy; then + redir_mod=Tproxy + set_redir_config + else + msg_alert "\033[31m${SET_NO_MOD}nft_tproxy\033[0m" \ + "\033[31m$SET_NO_MOD2\033[0m" + fi + fi + ;; + 4) + if [ -n "$sup_tun" ]; then + redir_mod=Tun + set_redir_config + else + msg_alert "\033[31m$SET_NO_TUN\033[0m" + fi + ;; + 5) + redir_mod='$SET_BYPASS_TCP' + set_redir_config + ;; + 6) + redir_mod='$SET_BYPASS_TU' + set_redir_config + ;; + 7) + set_firewall_area + ;; + 8) + set_firewall_vm + ;; + 9) + if [ "$firewall_mod" = 'iptables' ]; then + if nft add table inet shellcrash 2>/dev/null; then + firewall_mod=nftables + redir_mod=Redir + setconfig redir_mod $redir_mod + else + msg_alert "\033[31m$FW_NO_NFTABLES\033[0m" + fi + elif [ "$firewall_mod" = 'nftables' ]; then + if ckcmd iptables; then + firewall_mod=iptables + redir_mod=Redir + setconfig redir_mod $redir_mod + else + msg_alert "\033[31m$FW_NO_IPTABLES\033[0m" + fi + else + iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables + nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables + if [ -n "$firewall_mod" ]; then + redir_mod=Redir + setconfig redir_mod $redir_mod + setconfig firewall_mod "$firewall_mod" + else + msg_alert "\033[31m$FW_NO_FIREWALL_BACKEND\033[0m" + fi + fi + setconfig firewall_mod "$firewall_mod" + ;; + *) + errornum + ;; + esac + done } inputport() { - local protocol="${1:-all}" - line_break - read -r -p "$INPUT_PORT(1~65535)> " portx - . "$CRASHDIR"/menus/check_port.sh + local protocol="${1:-all}" + line_break + read -r -p "$INPUT_PORT(1~65535)> " portx + . "$CRASHDIR"/menus/check_port.sh - if ! check_port "$portx" "$protocol"; then - msg_alert "\033[31m$COMMON_FAILED\033[0m" - return 1 - fi + if ! check_port "$portx" "$protocol"; then + msg_alert "\033[31m$COMMON_FAILED\033[0m" + return 1 + fi - local ports_to_check="" - [ "$xport" != "mix_port" ] && ports_to_check="$ports_to_check|$mix_port" - [ "$xport" != "redir_port" ] && ports_to_check="$ports_to_check|$redir_port" - [ "$xport" != "dns_port" ] && ports_to_check="$ports_to_check|$dns_port" - [ "$xport" != "db_port" ] && ports_to_check="$ports_to_check|$db_port" + local ports_to_check="" + [ "$xport" != "mix_port" ] && ports_to_check="$ports_to_check|$mix_port" + [ "$xport" != "redir_port" ] && ports_to_check="$ports_to_check|$redir_port" + [ "$xport" != "dns_port" ] && ports_to_check="$ports_to_check|$dns_port" + [ "$xport" != "db_port" ] && ports_to_check="$ports_to_check|$db_port" - if echo "$ports_to_check|" | grep -q "|$portx|"; then - msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" - return 1 - fi + if echo "$ports_to_check|" | grep -q "|$portx|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + return 1 + fi - setconfig "$xport" "$portx" - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" - return 0 + setconfig "$xport" "$portx" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + return 0 } # 端口设置 set_adv_config() { - while true; do - . "$CFG_PATH" >/dev/null - [ -z "$secret" ] && secret="$COMMON_UNSET" - [ -z "$table" ] && table=100 - [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" - comp_box "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" \ - "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" \ - "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" \ - "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" \ - "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" \ - "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" \ - "8) $ADV_HOST:\t\033[36m$host\033[0m" \ - "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - xport=mix_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 2) - comp_box "$ADV_AUTH_FORMAT_DESC" \ - "$ADV_AUTH_WARN" \ - "$ADV_AUTH_REMOVE_HINT" - read -r -p "$ADV_AUTH_INPUT> " input - if [ "$input" = "0" ]; then - authentication="" - setconfig authentication - msg_alert "\033[32m$ADV_AUTH_REMOVED\033[0m" - else - if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then - msg_alert "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" - else - authentication=$(echo "$input" | grep :) - if [ -n "$authentication" ]; then - setconfig authentication "'$authentication'" - msg_alert "\033[32m$COMMON_SUCCESS\033[0m" - else - msg_alert "\033[31m$ADV_AUTH_INVALID\033[0m" - fi - fi - fi - ;; - 3) - xport=redir_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 4) - xport=dns_port - inputport - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 5) - xport=db_port - inputport tcp - if [ $? -eq 1 ]; then - break - else - continue - fi - ;; - 6) - line_break - read -r -p "$ADV_PANEL_PASS_INPUT> " secret - if [ -n "$secret" ]; then - [ "$secret" = "0" ] && secret="" - if setconfig secret "$secret"; then - common_success - else - common_failed - fi - fi - ;; - 8) - comp_box "\033[33m$ADV_HOST_WARN_LAN\033[0m" \ - "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" - read -r -p "$ADV_HOST_INPUT> " host - if [ "$host" = "0" ]; then - host="" - setconfig host "$host" - msg_alert "\033[32m$ADV_HOST_REMOVED\033[0m" - line_break - exit 0 - elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>'; then - if setconfig host "$host"; then - common_success - else - common_failed - fi - else - host="" - msg_alert "\033[31m$ADV_HOST_INVALID\033[0m" - fi - ;; - 9) - comp_box "\033[33m$ADV_TABLE_WARN\033[0m" - read -r -p "$ADV_TABLE_INPUT> " table - if [ -n "$table" ]; then - [ "$table" = "0" ] && table="100" - if setconfig table "$table"; then - common_success - else - common_failed - fi - fi - ;; - *) - errornum - ;; - esac - done + while true; do + . "$CFG_PATH" >/dev/null + [ -z "$secret" ] && secret="$COMMON_UNSET" + [ -z "$table" ] && table=100 + [ -z "$authentication" ] && auth="$COMMON_UNSET" || auth="******" + comp_box "1) $ADV_HTTP_PORT:\t\033[36m$mix_port\033[0m" \ + "2) $ADV_HTTP_AUTH:\t\033[36m$auth\033[0m" \ + "3) $ADV_REDIR_PORT:\t\033[36m$redir_port,$((redir_port + 1))\033[0m" \ + "4) $ADV_DNS_PORT:\t\t\033[36m$dns_port\033[0m" \ + "5) $ADV_PANEL_PORT:\t\t\033[36m$db_port\033[0m" \ + "6) $ADV_PANEL_PASS:\t\t\033[36m$secret\033[0m" \ + "8) $ADV_HOST:\t\033[36m$host\033[0m" \ + "9) $ADV_TABLE:\t\t\033[36m$table,$((table + 1))\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + xport=mix_port + inputport + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 2) + comp_box "$ADV_AUTH_FORMAT_DESC" \ + "$ADV_AUTH_WARN" \ + "$ADV_AUTH_REMOVE_HINT" + read -r -p "$ADV_AUTH_INPUT> " input + if [ "$input" = "0" ]; then + authentication="" + setconfig authentication + msg_alert "\033[32m$ADV_AUTH_REMOVED\033[0m" + else + if [ "$local_proxy" = "ON" ] && [ "$local_type" = "$LOCAL_TYPE_ENV" ]; then + msg_alert "\033[33m$ADV_AUTH_ENV_CONFLICT\033[0m" + else + authentication=$(echo "$input" | grep :) + if [ -n "$authentication" ]; then + setconfig authentication "'$authentication'" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + else + msg_alert "\033[31m$ADV_AUTH_INVALID\033[0m" + fi + fi + fi + ;; + 3) + xport=redir_port + inputport + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 4) + xport=dns_port + inputport + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 5) + xport=db_port + inputport tcp + if [ $? -eq 1 ]; then + break + else + continue + fi + ;; + 6) + line_break + read -r -p "$ADV_PANEL_PASS_INPUT> " secret + if [ -n "$secret" ]; then + [ "$secret" = "0" ] && secret="" + if setconfig secret "$secret"; then + common_success + else + common_failed + fi + fi + ;; + 8) + comp_box "\033[33m$ADV_HOST_WARN_LAN\033[0m" \ + "\033[31m$ADV_HOST_WARN_CHANGE\033[0m" + read -r -p "$ADV_HOST_INPUT> " host + if [ "$host" = "0" ]; then + host="" + setconfig host "$host" + msg_alert "\033[32m$ADV_HOST_REMOVED\033[0m" + line_break + exit 0 + elif echo "$host" | grep -Eq '\<([1-9]|[1-9][0-9]|1[0-9]{2}|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\>){2}\.\<([1-9]|[0-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-4])\>'; then + if setconfig host "$host"; then + common_success + else + common_failed + fi + else + host="" + msg_alert "\033[31m$ADV_HOST_INVALID\033[0m" + fi + ;; + 9) + comp_box "\033[33m$ADV_TABLE_WARN\033[0m" + read -r -p "$ADV_TABLE_INPUT> " table + if [ -n "$table" ]; then + [ "$table" = "0" ] && table="100" + if setconfig table "$table"; then + common_success + else + common_failed + fi + fi + ;; + *) + errornum + ;; + esac + done } set_firewall_area() { - while true; do - [ -z "$vm_redir" ] && vm_redir='OFF' - comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ - "\033[33m$FW_AREA_NOTE_2\033[0m" \ - "" \ - "$SET_FW_AREA_CURRENT$firewall_area_dsc" - btm_box "1) \033[32m$FW_AREA_LAN\033[0m" \ - "2) \033[36m$FW_AREA_LOCAL\033[0m" \ - "3) \033[32m$FW_AREA_BOTH\033[0m" \ - "4) $FW_AREA_NONE" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - [1-4]) - if [ "$firewall_area" -ge 4 ]; then - redir_mod='' - else - redir_mod=Redir - fi - firewall_area="$num" - setconfig firewall_area "$firewall_area" - setconfig redir_mod "$redir_mod" + while true; do + [ -z "$vm_redir" ] && vm_redir='OFF' + comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ + "\033[33m$FW_AREA_NOTE_2\033[0m" \ + "" \ + "$SET_FW_AREA_CURRENT$firewall_area_dsc" + btm_box "1) \033[32m$FW_AREA_LAN\033[0m" \ + "2) \033[36m$FW_AREA_LOCAL\033[0m" \ + "3) \033[32m$FW_AREA_BOTH\033[0m" \ + "4) $FW_AREA_NONE" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + [1-4]) + if [ "$firewall_area" -ge 4 ]; then + redir_mod='' + else + redir_mod=Redir + fi + firewall_area="$num" + setconfig firewall_area "$firewall_area" + setconfig redir_mod "$redir_mod" - case "$firewall_area" in - 1) firewall_area_dsc="$FW_AREA_LAN" ;; - 2) firewall_area_dsc="$FW_AREA_LOCAL" ;; - 3) firewall_area_dsc="$FW_AREA_BOTH" ;; - 4) firewall_area_dsc="$FW_AREA_NONE" ;; - esac + case "$firewall_area" in + 1) firewall_area_dsc="$FW_AREA_LAN" ;; + 2) firewall_area_dsc="$FW_AREA_LOCAL" ;; + 3) firewall_area_dsc="$FW_AREA_BOTH" ;; + 4) firewall_area_dsc="$FW_AREA_NONE" ;; + esac - common_success - ;; - 5) - comp_box "\033[31m$SET_WARN\033[0m" \ - "$SET_BYPASS_WARN_1" \ - "$SET_BYPASS_WARN_2" \ - "$SET_BYPASS_WARN_3" \ - "\033[33m$SET_DESC\033[0m" \ - "$SET_BYPASS_DESC_1" \ - "$SET_BYPASS_DESC_2" - read -r -p "$SET_INPUT_BYPASS_IPV4> " bypass_host - [ -n "$bypass_host" ] && { - firewall_area=$num - setconfig firewall_area "$firewall_area" - setconfig bypass_host "$bypass_host" - redir_mod=$SET_BYPASS_TCP - setconfig redir_mod $redir_mod - } - ;; - *) - errornum - ;; - esac - done + common_success + ;; + 5) + comp_box "\033[31m$SET_WARN\033[0m" \ + "$SET_BYPASS_WARN_1" \ + "$SET_BYPASS_WARN_2" \ + "$SET_BYPASS_WARN_3" \ + "\033[33m$SET_DESC\033[0m" \ + "$SET_BYPASS_DESC_1" \ + "$SET_BYPASS_DESC_2" + read -r -p "$SET_INPUT_BYPASS_IPV4> " bypass_host + [ -n "$bypass_host" ] && { + firewall_area=$num + setconfig firewall_area "$firewall_area" + setconfig bypass_host "$bypass_host" + redir_mod=$SET_BYPASS_TCP + setconfig redir_mod $redir_mod + } + ;; + *) + errornum + ;; + esac + done } set_firewall_vm() { - [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') - comp_box "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" - btm_box "1) \033[32m$VM_ENABLE_AUTO\033[0m" \ - "2) \033[36m$VM_ENABLE_MANUAL\033[0m" \ - "3) \033[31m$VM_DISABLE\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 1) - if [ -n "$vm_ipv4" ]; then - vm_redir=ON - common_success - else - msg_alert "\033[33m$VM_NO_NET_DETECTED\033[0m" - fi + [ -z "$vm_ipv4" ] && vm_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'brd' | grep -E 'docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | sed 's/.*inet.//g' | sed 's/ br.*$//g' | sed 's/metric.*$//g' | tr '\n' ' ') + comp_box "$VM_DETECT_DESC\033[32m$vm_ipv4\033[0m" + btm_box "1) \033[32m$VM_ENABLE_AUTO\033[0m" \ + "2) \033[36m$VM_ENABLE_MANUAL\033[0m" \ + "3) \033[31m$VM_DISABLE\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 1) + if [ -n "$vm_ipv4" ]; then + vm_redir=ON + common_success + else + msg_alert "\033[33m$VM_NO_NET_DETECTED\033[0m" + fi - ;; - 2) - comp_box "$VM_INPUT_DESC_1" \ - "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" \ - "" \ - "$SET_TIPS_ENTER_BACK" - read -r -p "$VM_INPUT_NET> " text - [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON - ;; - 3) - vm_redir=OFF - vm_ipv4='' - common_success - ;; - *) ;; - esac - case "$num" in - 1-3) - setconfig vm_redir "$vm_redir" - setconfig vm_ipv4 "'$vm_ipv4'" - ;; - esac + ;; + 2) + comp_box "$VM_INPUT_DESC_1" \ + "$VM_INPUT_DESC_2 \033[32m10.88.0.0/16 172.17.0.0/16\033[0m" \ + "" \ + "$SET_TIPS_ENTER_BACK" + read -r -p "$VM_INPUT_NET> " text + [ -n "$text" ] && vm_ipv4="$text" && vm_redir=ON + ;; + 3) + vm_redir=OFF + vm_ipv4='' + common_success + ;; + *) ;; + esac + case "$num" in + 1-3) + setconfig vm_redir "$vm_redir" + setconfig vm_ipv4 "'$vm_ipv4'" + ;; + esac } # ipv6设置 set_ipv6() { - while true; do - [ -z "$ipv6_redir" ] && ipv6_redir=OFF - [ -z "$ipv6_dns" ] && ipv6_dns=ON + while true; do + [ -z "$ipv6_redir" ] && ipv6_redir=OFF + [ -z "$ipv6_dns" ] && ipv6_dns=ON - top_box "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" - [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$ipv6_redir" = "OFF" ]; then - ipv6_support=ON - ipv6_redir=ON - else - ipv6_redir=OFF - fi - setconfig ipv6_redir $ipv6_redir - setconfig ipv6_support "$ipv6_support" - common_success - ;; - 2) - [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF - if setconfig ipv6_dns "$ipv6_dns"; then - common_success - else - common_failed - fi - ;; - *) - errornum - ;; - esac - done + top_box "1) $IPV6_REDIR:\t\033[36m$ipv6_redir\033[0m" + [ "$disoverride" != "1" ] && content_line "2) $IPV6_DNS:\t\033[36m$ipv6_dns\033[0m" + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$ipv6_redir" = "OFF" ]; then + ipv6_support=ON + ipv6_redir=ON + else + ipv6_redir=OFF + fi + setconfig ipv6_redir $ipv6_redir + setconfig ipv6_support "$ipv6_support" + common_success + ;; + 2) + [ "$ipv6_dns" = OFF ] && ipv6_dns=ON || ipv6_dns=OFF + if setconfig ipv6_dns "$ipv6_dns"; then + common_success + else + common_failed + fi + ;; + *) + errornum + ;; + esac + done } diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index c084c1cb..f2dca748 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -22,7 +22,7 @@ set_core_config() { LC_ALL=C awk '{ f1 = $1 f2 = $2 - gsub(/\360[\200-\277][\200-\277][\200-\277]/,"",f1) + gsub(/\360[\200-\277][\200-\277][\200-\277]/,"",f1) if (length(f1) > 12) f1 = substr(f1, 1, 8) ".." if (length(f2) > 30) diff --git a/scripts/menus/7_gateway.sh b/scripts/menus/7_gateway.sh index dd567ef4..7338b9f9 100644 --- a/scripts/menus/7_gateway.sh +++ b/scripts/menus/7_gateway.sh @@ -11,176 +11,176 @@ load_lang 7_gateway # 访问与控制主菜单 gateway() { - while true; do - comp_box "\033[30;47m$GW_TITLE\033[0m" - content_line "1) $GW_MENU_FW_WAN \033[32m$fw_wan\033[0m" - content_line "2) $GW_MENU_TG_BOT \033[32m$bot_tg_service\033[0m" - content_line "3) $GW_MENU_DDNS" - [ "$disoverride" != "1" ] && { - content_line "4) $GW_MENU_VMESS \033[32m$vms_service\033[0m" - content_line "5) $GW_MENU_SHADOWSOCKS \033[32m$sss_service\033[0m" - content_line "6) $GW_MENU_TS \033[32m$ts_service\033[0m" - content_line "7) $GW_MENU_WG \033[32m$wg_service\033[0m" - } - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then - comp_box "\033[33m$GW_FW_STOP_WARN\033[0m" \ - "$GW_CONFIRM_CONTINUE" - btm_box "1) $GW_YES" \ - "0) $GW_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - "$CRASHDIR"/start.sh stop && set_fw_wan - else - continue - fi - else - set_fw_wan - fi - ;; - 2) - set_bot_tg - ;; - 3) - . "$CRASHDIR"/menus/ddns.sh && ddns_menu - ;; - 4) - set_vmess - ;; - 5) - set_shadowsocks - ;; - 6) - if echo "$crashcore" | grep -q 'sing'; then - set_tailscale - else - msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" - fi - ;; - 7) - if echo "$crashcore" | grep -q 'sing'; then - set_wireguard - else - msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" - fi - ;; - *) - errornum - ;; - esac - done + while true; do + comp_box "\033[30;47m$GW_TITLE\033[0m" + content_line "1) $GW_MENU_FW_WAN \033[32m$fw_wan\033[0m" + content_line "2) $GW_MENU_TG_BOT \033[32m$bot_tg_service\033[0m" + content_line "3) $GW_MENU_DDNS" + [ "$disoverride" != "1" ] && { + content_line "4) $GW_MENU_VMESS \033[32m$vms_service\033[0m" + content_line "5) $GW_MENU_SHADOWSOCKS \033[32m$sss_service\033[0m" + content_line "6) $GW_MENU_TS \033[32m$ts_service\033[0m" + content_line "7) $GW_MENU_WG \033[32m$wg_service\033[0m" + } + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$(pidof CrashCore)" ] && [ "$firewall_mod" = 'iptables' ]; then + comp_box "\033[33m$GW_FW_STOP_WARN\033[0m" \ + "$GW_CONFIRM_CONTINUE" + btm_box "1) $GW_YES" \ + "0) $GW_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + "$CRASHDIR"/start.sh stop && set_fw_wan + else + continue + fi + else + set_fw_wan + fi + ;; + 2) + set_bot_tg + ;; + 3) + . "$CRASHDIR"/menus/ddns.sh && ddns_menu + ;; + 4) + set_vmess + ;; + 5) + set_shadowsocks + ;; + 6) + if echo "$crashcore" | grep -q 'sing'; then + set_tailscale + else + msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" + fi + ;; + 7) + if echo "$crashcore" | grep -q 'sing'; then + set_wireguard + else + msg_alert "\033[33m$crashcore$GW_CORE_UNSUPPORTED\033[0m" + fi + ;; + *) + errornum + ;; + esac + done } # 公网防火墙 set_fw_wan() { - while true; do - [ -z "$fw_wan" ] && fw_wan=ON - line_break - separator_line "=" - content_line "\033[31m$GW_WARN\033[0m$GW_FW_VPS_HINT" - [ -n "$fw_wan_ports" ] && - content_line "$GW_FW_MANUAL_PORTS\033[36m$fw_wan_ports\033[0m" - [ -n "$vms_port$sss_port" ] && - content_line "$GW_FW_AUTO_PORTS\033[36m$vms_port $sss_port\033[0m" - content_line "$GW_FW_DEFAULT_BLOCK\033[33m$mix_port,$db_port\033[0m" - separator_line "=" - btm_box "1) $GW_FW_TOGGLE\033[36m$fw_wan\033[0m" \ - "2) $GW_FW_ADD_PORT" \ - "3) $GW_FW_REMOVE_PORT" \ - "4) $GW_FW_CLEAR_PORTS" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case $num in - "" | 0) - break - ;; - 1) - if [ "$fw_wan" = ON ]; then - comp_box "$GW_FW_DISABLE_CONFIRM" \ - "$GW_FW_DISABLE_RISK" - btm_box "1) $GW_YES" \ - "0) $GW_NO_BACK" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - fw_wan=OFF - else - fw_wan=ON - fi - else - fw_wan=ON - fi - setconfig fw_wan "$fw_wan" - ;; - 2) - port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') - if [ "$port_count" -ge 10 ]; then - msg_alert "\033[31m$GW_FW_PORT_LIMIT\033[0m" - else - line_break - read -r -p "$GW_INPUT_ALLOW_PORT> " port - if echo ",$fw_wan_ports," | grep -q ",$port,"; then - msg_alert "\033[31m$GW_ERR_DUP_PORT\033[0m" - elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m$GW_ERR_PORT_RANGE\033[0m" - else - fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") - if setconfig fw_wan_ports "$fw_wan_ports"; then - common_success - else - common_faileds - fi - fi - fi - ;; - 3) - while true; do - comp_box "\033[36m$GW_INPUT_REMOVE_PORT\033[0m" \ - "$GW_INPUT_0_BACK" - read -r -p "$GW_INPUT_PLAIN> " port - if [ "$port" = 0 ]; then - break - elif echo ",$fw_wan_ports," | grep -q ",$port,"; then - if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then - msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ - "\033[31m$GW_ERR_PORT_RANGE\033[0m" - else - fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") - setconfig fw_wan_ports "$fw_wan_ports" - break - fi - else - msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ - "\033[31m$GW_ERR_PORT_NOT_FOUND\033[0m" - fi - done - ;; - 4) - fw_wan_ports='' - setconfig fw_wan_ports - msg_alert "\033[32m$GW_OK\033[0m" - ;; - *) - errornum - ;; - esac - done + while true; do + [ -z "$fw_wan" ] && fw_wan=ON + line_break + separator_line "=" + content_line "\033[31m$GW_WARN\033[0m$GW_FW_VPS_HINT" + [ -n "$fw_wan_ports" ] && + content_line "$GW_FW_MANUAL_PORTS\033[36m$fw_wan_ports\033[0m" + [ -n "$vms_port$sss_port" ] && + content_line "$GW_FW_AUTO_PORTS\033[36m$vms_port $sss_port\033[0m" + content_line "$GW_FW_DEFAULT_BLOCK\033[33m$mix_port,$db_port\033[0m" + separator_line "=" + btm_box "1) $GW_FW_TOGGLE\033[36m$fw_wan\033[0m" \ + "2) $GW_FW_ADD_PORT" \ + "3) $GW_FW_REMOVE_PORT" \ + "4) $GW_FW_CLEAR_PORTS" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case $num in + "" | 0) + break + ;; + 1) + if [ "$fw_wan" = ON ]; then + comp_box "$GW_FW_DISABLE_CONFIRM" \ + "$GW_FW_DISABLE_RISK" + btm_box "1) $GW_YES" \ + "0) $GW_NO_BACK" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + fw_wan=OFF + else + fw_wan=ON + fi + else + fw_wan=ON + fi + setconfig fw_wan "$fw_wan" + ;; + 2) + port_count=$(echo "$fw_wan_ports" | awk -F',' '{print NF}') + if [ "$port_count" -ge 10 ]; then + msg_alert "\033[31m$GW_FW_PORT_LIMIT\033[0m" + else + line_break + read -r -p "$GW_INPUT_ALLOW_PORT> " port + if echo ",$fw_wan_ports," | grep -q ",$port,"; then + msg_alert "\033[31m$GW_ERR_DUP_PORT\033[0m" + elif [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + msg_alert "\033[31m$GW_ERR_PORT_RANGE\033[0m" + else + fw_wan_ports=$(echo "$fw_wan_ports,$port" | sed "s/^,//") + if setconfig fw_wan_ports "$fw_wan_ports"; then + common_success + else + common_faileds + fi + fi + fi + ;; + 3) + while true; do + comp_box "\033[36m$GW_INPUT_REMOVE_PORT\033[0m" \ + "$GW_INPUT_0_BACK" + read -r -p "$GW_INPUT_PLAIN> " port + if [ "$port" = 0 ]; then + break + elif echo ",$fw_wan_ports," | grep -q ",$port,"; then + if [ "$port" -lt 1 ] || [ "$port" -gt 65535 ]; then + msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ + "\033[31m$GW_ERR_PORT_RANGE\033[0m" + else + fw_wan_ports=$(echo ",$fw_wan_ports," | sed "s/,$port//; s/^,//; s/,$//") + setconfig fw_wan_ports "$fw_wan_ports" + break + fi + else + msg_alert "\033[31m$GW_ERR_INPUT\033[0m" \ + "\033[31m$GW_ERR_PORT_NOT_FOUND\033[0m" + fi + done + ;; + 4) + fw_wan_ports='' + setconfig fw_wan_ports + msg_alert "\033[32m$GW_OK\033[0m" + ;; + *) + errornum + ;; + esac + done } # tg_BOT相关 set_bot_tg_config() { - setconfig TG_TOKEN "$TOKEN" "$GT_CFG_PATH" - setconfig TG_CHATID "$chat_ID" "$GT_CFG_PATH" - # 设置机器人快捷命令 - JSON=$( - cat < " num - case "$num" in - "" | 0) - break - ;; - 1) - . "$GT_CFG_PATH" - if [ -n "$TG_CHATID" ]; then - set_bot_tg_service - else - msg_alert "\033[31m$GW_TG_BIND_FIRST\033[0m" - fi - ;; - 2) - if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then - comp_box "$GW_TG_BOUND_DETECTED" \ - "$GW_TG_USE_DIRECT" - btm_box "1) $GW_YES" \ - "0) $GW_NO" - read -r -p "$COMMON_INPUT> " res - if [ "$res" = 1 ]; then - TOKEN="$push_TG" - set_bot_tg_config - continue - fi - fi - set_bot_tg_init - ;; - 3) - if [ "$TG_menupush" = ON ]; then - TG_menupush=OFF - else - TG_menupush=ON - fi - setconfig TG_menupush "$TG_menupush" "$GT_CFG_PATH" - set_bot_tg - ;; - *) - errornum - ;; - esac - done + while true; do + [ -n "$ts_auth_key" ] && ts_auth_key_info="$GW_SET" + [ -n "$TG_CHATID" ] && TG_CHATID_info="$GW_BOUND" + comp_box "\033[31m$GW_WARN\033[0m$GW_TG_WARN" + btm_box "1) $GW_TG_TOGGLE \033[32m$bot_tg_service\033[0m" \ + "2) $GW_TG_BIND \033[32m$TG_CHATID_info\033[0m" \ + "3) $GW_TG_MENUPUSH \033[32m$TG_menupush\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + . "$GT_CFG_PATH" + if [ -n "$TG_CHATID" ]; then + set_bot_tg_service + else + msg_alert "\033[31m$GW_TG_BIND_FIRST\033[0m" + fi + ;; + 2) + if [ -n "$chat_ID" ] && [ -n "$push_TG" ] && [ "$push_TG" != 'publictoken' ]; then + comp_box "$GW_TG_BOUND_DETECTED" \ + "$GW_TG_USE_DIRECT" + btm_box "1) $GW_YES" \ + "0) $GW_NO" + read -r -p "$COMMON_INPUT> " res + if [ "$res" = 1 ]; then + TOKEN="$push_TG" + set_bot_tg_config + continue + fi + fi + set_bot_tg_init + ;; + 3) + if [ "$TG_menupush" = ON ]; then + TG_menupush=OFF + else + TG_menupush=ON + fi + setconfig TG_menupush "$TG_menupush" "$GT_CFG_PATH" + set_bot_tg + ;; + *) + errornum + ;; + esac + done } # 自定义入站 set_vmess() { - while true; do - comp_box "\033[31m$GW_WARN\033[0m" \ - "$GW_INBOUND_WARN_PORT" \ - "$GW_INBOUND_WARN_BASIC" \ - "\033[31m$GW_INBOUND_WARN_ILLEGAL\033[0m" - content_line "1) \033[32m$GW_VMS_TOGGLE\033[0m \033[32m$vms_service\033[0m" - content_line "2) $GW_SET_LISTEN_PORT \033[36m$vms_port\033[0m" - content_line "3) $GW_SET_WSPATH \033[33m$vms_ws_path\033[0m" - content_line "4) $GW_SET_UUID \033[36m$vms_uuid\033[0m" - content_line "5) $GW_GEN_RANDOM_KEY" - gen_base64 1 >/dev/null 2>&1 && - content_line "6) $GW_SET_OBFS_HOST \033[33m$vms_host\033[0m" - btm_box "7) $GW_GEN_SHARE_LINK" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$vms_service" = ON ]; then - vms_service=OFF - setconfig vms_service "$vms_service" - else - if [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then - vms_service=ON - setconfig vms_service "$vms_service" - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - fi - ;; - 2) - line_break - read -r -p "$GW_INPUT_PORT_DEL0> " text - if [ "$text" = 0 ]; then - vms_port='' - setconfig vms_port "" "$GT_CFG_PATH" - elif check_port "$text"; then - if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then - msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" - sleep 1 - else - vms_port="$text" - setconfig vms_port "$text" "$GT_CFG_PATH" - fi - else - sleep 1 - fi - ;; - 3) - line_break - read -r -p "$GW_INPUT_WSPATH> " text - if [ "$text" = 0 ]; then - vms_ws_path='' - setconfig vms_ws_path "" "$GT_CFG_PATH" - elif echo "$text" | grep -qE '^/'; then - vms_ws_path="$text" - setconfig vms_ws_path "$text" "$GT_CFG_PATH" - else - msg_alert "\033[31m$GW_ERR_WSPATH\033[0m" - fi - ;; - 4) - line_break - read -r -p "$GW_INPUT_UUID> " text - if [ "$text" = 0 ]; then - vms_uuid='' - setconfig vms_uuid "" "$GT_CFG_PATH" - elif echo "$text" | grep -qiE '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'; then - vms_uuid="$text" - setconfig vms_uuid "$text" "$GT_CFG_PATH" - else - msg_alert "\033[31m$GW_ERR_UUID\033[0m" - fi - ;; - 5) - vms_uuid=$(cat /proc/sys/kernel/random/uuid) - setconfig vms_uuid "$vms_uuid" "$GT_CFG_PATH" - sleep 1 - ;; - 6) - line_break - read -r -p "$GW_INPUT_OBFS_HOST> " text - if [ "$text" = 0 ]; then - vms_host='' - setconfig vms_host "" "$GT_CFG_PATH" - else - vms_host="$text" - setconfig vms_host "$text" "$GT_CFG_PATH" - fi - ;; - 7) - line_break - read -r -p "$GW_INPUT_HOST> " host_wan - if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then - [ -n "$vms_ws_path" ] && vms_net=ws - vms_json=$( - cat </dev/null 2>&1 && + content_line "6) $GW_SET_OBFS_HOST \033[33m$vms_host\033[0m" + btm_box "7) $GW_GEN_SHARE_LINK" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$vms_service" = ON ]; then + vms_service=OFF + setconfig vms_service "$vms_service" + else + if [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then + vms_service=ON + setconfig vms_service "$vms_service" + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + fi + ;; + 2) + line_break + read -r -p "$GW_INPUT_PORT_DEL0> " text + if [ "$text" = 0 ]; then + vms_port='' + setconfig vms_port "" "$GT_CFG_PATH" + elif check_port "$text"; then + if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + sleep 1 + else + vms_port="$text" + setconfig vms_port "$text" "$GT_CFG_PATH" + fi + else + sleep 1 + fi + ;; + 3) + line_break + read -r -p "$GW_INPUT_WSPATH> " text + if [ "$text" = 0 ]; then + vms_ws_path='' + setconfig vms_ws_path "" "$GT_CFG_PATH" + elif echo "$text" | grep -qE '^/'; then + vms_ws_path="$text" + setconfig vms_ws_path "$text" "$GT_CFG_PATH" + else + msg_alert "\033[31m$GW_ERR_WSPATH\033[0m" + fi + ;; + 4) + line_break + read -r -p "$GW_INPUT_UUID> " text + if [ "$text" = 0 ]; then + vms_uuid='' + setconfig vms_uuid "" "$GT_CFG_PATH" + elif echo "$text" | grep -qiE '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'; then + vms_uuid="$text" + setconfig vms_uuid "$text" "$GT_CFG_PATH" + else + msg_alert "\033[31m$GW_ERR_UUID\033[0m" + fi + ;; + 5) + vms_uuid=$(cat /proc/sys/kernel/random/uuid) + setconfig vms_uuid "$vms_uuid" "$GT_CFG_PATH" + sleep 1 + ;; + 6) + line_break + read -r -p "$GW_INPUT_OBFS_HOST> " text + if [ "$text" = 0 ]; then + vms_host='' + setconfig vms_host "" "$GT_CFG_PATH" + else + vms_host="$text" + setconfig vms_host "$text" "$GT_CFG_PATH" + fi + ;; + 7) + line_break + read -r -p "$GW_INPUT_HOST> " host_wan + if [ -n "$host_wan" ] && [ -n "$vms_port" ] && [ -n "$vms_uuid" ]; then + [ -n "$vms_ws_path" ] && vms_net=ws + vms_json=$( + cat </dev/null 2>&1 && - content_line "5) $GW_GEN_SHARE_LINK" - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ "$sss_service" = ON ]; then - sss_service=OFF - setconfig sss_service "$sss_service" - else - if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then - sss_service=ON - setconfig sss_service "$sss_service" - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - fi - ;; - 2) - line_break - read -r -p "$GW_INPUT_PORT_DEL0> " text - if [ "$text" = 0 ]; then - sss_port='' - setconfig sss_port "" "$GT_CFG_PATH" - elif check_port "$text"; then - if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then - msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" - sleep 1 - else - sss_port="$text" - setconfig sss_port "$text" "$GT_CFG_PATH" - fi - else - sleep 1 - fi - ;; - 3) - comp_box "$GW_SS_SELECT_CIPHER" - content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" - content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" - content_line "3) \033[32maes-128-gcm\033[0m" - content_line "4) \033[32maes-256-gcm\033[0m" - gen_random 1 >/dev/null && { - content_line "" - content_line "$GW_SS_2022_NOTE_HEADER" - content_line "$GW_SS_2022_REQUIRE" - content_line "5) \033[32m2022-blake3-chacha20-poly1305\033[0m" - content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" - content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" - } - btm_box "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - 0) ;; - 1) - sss_cipher=xchacha20-ietf-poly1305 - sss_pwd=$(gen_random 16) - ;; - 2) - sss_cipher=chacha20-ietf-poly1305 - sss_pwd=$(gen_random 16) - ;; - 3) - sss_cipher=aes-128-gcm - sss_pwd=$(gen_random 16) - ;; - 4) - sss_cipher=aes-256-gcm - sss_pwd=$(gen_random 16) - ;; - 5) - sss_cipher=2022-blake3-chacha20-poly1305 - sss_pwd=$(gen_random 32) - ;; - 6) - sss_cipher=2022-blake3-aes-128-gcm - sss_pwd=$(gen_random 16) - ;; - 7) - sss_cipher=2022-blake3-aes-256-gcm - sss_pwd=$(gen_random 32) - ;; - *) - errornum - ;; - esac - setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" - setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" - ;; - 4) - if echo "$sss_cipher" | grep -q '2022-blake3'; then - msg_alert "\033[31m$GW_WARN\033[0m$GW_SS_2022_PASSWORD_ONLY" - else - line_break - read -r -p "$GW_INPUT_PWD_DEL0> " text - [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" - setconfig sss_pwd "$text" "$GT_CFG_PATH" - fi - ;; - 5) - line_break - read -r -p "$GW_INPUT_HOST> " text - if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then - ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" - line_break - echo -e "$GW_SHARE_LINK_HINT\n\033[32m$ss_link\033[0m" - sleep 1 - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - ;; - *) - errornum - ;; - esac - done + while true; do + comp_box "\033[31m$GW_WARN\033[0m" \ + "$GW_INBOUND_WARN_PORT" \ + "$GW_INBOUND_WARN_BASIC" \ + "\033[31m$GW_INBOUND_WARN_ILLEGAL\033[0m" + content_line "1) \033[32m$GW_SS_TOGGLE\033[0m \033[32m$sss_service\033[0m" + content_line "2) $GW_SET_LISTEN_PORT \033[36m$sss_port\033[0m" + content_line "3) $GW_SS_SELECT_CIPHER \033[33m$sss_cipher\033[0m" + content_line "4) $GW_SS_SET_PWD \033[36m$sss_pwd\033[0m" + gen_base64 1 >/dev/null 2>&1 && + content_line "5) $GW_GEN_SHARE_LINK" + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ "$sss_service" = ON ]; then + sss_service=OFF + setconfig sss_service "$sss_service" + else + if [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then + sss_service=ON + setconfig sss_service "$sss_service" + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + fi + ;; + 2) + line_break + read -r -p "$GW_INPUT_PORT_DEL0> " text + if [ "$text" = 0 ]; then + sss_port='' + setconfig sss_port "" "$GT_CFG_PATH" + elif check_port "$text"; then + if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then + msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m" + sleep 1 + else + sss_port="$text" + setconfig sss_port "$text" "$GT_CFG_PATH" + fi + else + sleep 1 + fi + ;; + 3) + comp_box "$GW_SS_SELECT_CIPHER" + content_line "1) \033[32mxchacha20-ietf-poly1305\033[0m" + content_line "2) \033[32mchacha20-ietf-poly1305\033[0m" + content_line "3) \033[32maes-128-gcm\033[0m" + content_line "4) \033[32maes-256-gcm\033[0m" + gen_random 1 >/dev/null && { + content_line "" + content_line "$GW_SS_2022_NOTE_HEADER" + content_line "$GW_SS_2022_REQUIRE" + content_line "5) \033[32m2022-blake3-chacha20-poly1305\033[0m" + content_line "6) \033[32m2022-blake3-aes-128-gcm\033[0m" + content_line "7) \033[32m2022-blake3-aes-256-gcm\033[0m" + } + btm_box "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + 0) ;; + 1) + sss_cipher=xchacha20-ietf-poly1305 + sss_pwd=$(gen_random 16) + ;; + 2) + sss_cipher=chacha20-ietf-poly1305 + sss_pwd=$(gen_random 16) + ;; + 3) + sss_cipher=aes-128-gcm + sss_pwd=$(gen_random 16) + ;; + 4) + sss_cipher=aes-256-gcm + sss_pwd=$(gen_random 16) + ;; + 5) + sss_cipher=2022-blake3-chacha20-poly1305 + sss_pwd=$(gen_random 32) + ;; + 6) + sss_cipher=2022-blake3-aes-128-gcm + sss_pwd=$(gen_random 16) + ;; + 7) + sss_cipher=2022-blake3-aes-256-gcm + sss_pwd=$(gen_random 32) + ;; + *) + errornum + ;; + esac + setconfig sss_cipher "$sss_cipher" "$GT_CFG_PATH" + setconfig sss_pwd "$sss_pwd" "$GT_CFG_PATH" + ;; + 4) + if echo "$sss_cipher" | grep -q '2022-blake3'; then + msg_alert "\033[31m$GW_WARN\033[0m$GW_SS_2022_PASSWORD_ONLY" + else + line_break + read -r -p "$GW_INPUT_PWD_DEL0> " text + [ "$text" = 0 ] && sss_pwd='' || sss_pwd="$text" + setconfig sss_pwd "$text" "$GT_CFG_PATH" + fi + ;; + 5) + line_break + read -r -p "$GW_INPUT_HOST> " text + if [ -n "$text" ] && [ -n "$sss_port" ] && [ -n "$sss_cipher" ] && [ -n "$sss_pwd" ]; then + ss_link="ss://$(gen_base64 "$sss_cipher":"$sss_pwd")@${text}:${sss_port}#ShellCrash_ss_in" + line_break + echo -e "$GW_SHARE_LINK_HINT\n\033[32m$ss_link\033[0m" + sleep 1 + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + ;; + *) + errornum + ;; + esac + done } # 自定义端点 set_tailscale() { - while true; do - [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' - comp_box "\033[31m$GW_WARN\033[0m$GW_TS_WARN" \ - "$GW_TS_KEY_URL" \ - "$GW_TS_ALLOW_URL" \ - "$GW_TS_SUBNET_EXIT_HINT" - btm_box "1) \033[32m$GW_TS_TOGGLE\033[0m \033[32m$ts_service\033[0m" \ - "2) $GW_TS_SET_AUTHKEY $ts_auth_key_info" \ - "3) $GW_TS_SUBNET \033[36m$ts_subnet\033[0m" \ - "4) $GW_TS_EXIT_NODE \033[36m$ts_exit_node\033[0m" \ - "5) $GW_TS_HOSTNAME $ts_hostname" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$ts_auth_key" ]; then - [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON - setconfig ts_service "$ts_service" - else - msg_alert "\033[31m$GW_TS_SET_KEY_FIRST\033[0m" - fi - ;; - 2) - line_break - read -r -p "$GW_TS_INPUT_KEY> " text - [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" - setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" - ;; - 3) - [ "$ts_subnet" = true ] && ts_subnet=false || ts_subnet=true - setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" - ;; - 4) - if [ "$ts_exit_node" = true ]; then - ts_exit_node=false - else - ts_exit_node=true - msg_alert -t 3 "\033[31m$GW_WARN\033[0m$GW_TS_EXITNODE_WARN" - fi - setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" - ;; - 5) - comp_box "\033[36m$GW_TS_INPUT_NAME\033[0m" \ - "$GW_INPUT_0_BACK" - read -r -p "$GW_INPUT_PLAIN> " ts_hostname - if [ "$ts_hostname" != 0 ]; then - setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" - fi - ;; - *) - errornum - ;; - esac - done + while true; do + [ -n "$ts_auth_key" ] && ts_auth_key_info='*********' + comp_box "\033[31m$GW_WARN\033[0m$GW_TS_WARN" \ + "$GW_TS_KEY_URL" \ + "$GW_TS_ALLOW_URL" \ + "$GW_TS_SUBNET_EXIT_HINT" + btm_box "1) \033[32m$GW_TS_TOGGLE\033[0m \033[32m$ts_service\033[0m" \ + "2) $GW_TS_SET_AUTHKEY $ts_auth_key_info" \ + "3) $GW_TS_SUBNET \033[36m$ts_subnet\033[0m" \ + "4) $GW_TS_EXIT_NODE \033[36m$ts_exit_node\033[0m" \ + "5) $GW_TS_HOSTNAME $ts_hostname" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$ts_auth_key" ]; then + [ "$ts_service" = ON ] && ts_service=OFF || ts_service=ON + setconfig ts_service "$ts_service" + else + msg_alert "\033[31m$GW_TS_SET_KEY_FIRST\033[0m" + fi + ;; + 2) + line_break + read -r -p "$GW_TS_INPUT_KEY> " text + [ "$text" = 0 ] && unset ts_auth_key ts_auth_key_info || ts_auth_key="$text" + setconfig ts_auth_key "$ts_auth_key" "$GT_CFG_PATH" + ;; + 3) + [ "$ts_subnet" = true ] && ts_subnet=false || ts_subnet=true + setconfig ts_subnet "$ts_subnet" "$GT_CFG_PATH" + ;; + 4) + if [ "$ts_exit_node" = true ]; then + ts_exit_node=false + else + ts_exit_node=true + msg_alert -t 3 "\033[31m$GW_WARN\033[0m$GW_TS_EXITNODE_WARN" + fi + setconfig ts_exit_node "$ts_exit_node" "$GT_CFG_PATH" + ;; + 5) + comp_box "\033[36m$GW_TS_INPUT_NAME\033[0m" \ + "$GW_INPUT_0_BACK" + read -r -p "$GW_INPUT_PLAIN> " ts_hostname + if [ "$ts_hostname" != 0 ]; then + setconfig ts_hostname "$ts_hostname" "$GT_CFG_PATH" + fi + ;; + *) + errornum + ;; + esac + done } set_wireguard() { - while true; do + while true; do - if [ -n "$wg_public_key" ]; then - wgp_key_info='*********' - else - unset wgp_key_info - fi + if [ -n "$wg_public_key" ]; then + wgp_key_info='*********' + else + unset wgp_key_info + fi - if [ -n "$wg_private_key" ]; then - wgv_key_info='*********' - else - unset wgv_key_info - fi + if [ -n "$wg_private_key" ]; then + wgv_key_info='*********' + else + unset wgv_key_info + fi - if [ -n "$wg_pre_shared_key" ]; then - wgpsk_key_info='*********' - else - unset wgpsk_key_info - fi - comp_box "\033[31m$GW_WARN\033[0m$GW_WG_WARN" - btm_box "1) \033[32m$GW_WG_TOGGLE\033[0m \033[32m$wg_service\033[0m" \ - "" \ - "2) $GW_WG_SET_ENDPOINT \033[36m$wg_server\033[0m" \ - "3) $GW_WG_SET_ENDPOINT_PORT \033[36m$wg_port\033[0m" \ - "4) $GW_WG_SET_PUBLIC \033[36m$wgp_key_info\033[0m" \ - "5) $GW_WG_SET_PRESHARED \033[36m$wgpsk_key_info\033[0m" \ - "" \ - "6) $GW_WG_SET_PRIVATE \033[33m$wgv_key_info\033[0m" \ - "7) $GW_WG_SET_IPV4 \033[33m$wg_ipv4\033[0m" \ - "8) $GW_WG_SET_IPV6 \033[33m$wg_ipv6\033[0m" \ - "" \ - "0) $COMMON_BACK" - read -r -p "$COMMON_INPUT> " num - case "$num" in - "" | 0) - break - ;; - 1) - if [ -n "$wg_server" ] && [ -n "$wg_port" ] && [ -n "$wg_public_key" ] && [ -n "$wg_pre_shared_key" ] && [ -n "$wg_private_key" ] && [ -n "$wg_ipv4" ]; then - [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON - setconfig wg_service "$wg_service" - else - msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" - fi - ;; - [1-8]) - line_break - read -r -p "$GW_INPUT_TEXT_DEL0> " text - [ "$text" = 0 ] && text='' - case "$num" in - 2) - wg_server="$text" - setconfig wg_server "$text" "$GT_CFG_PATH" - ;; - 3) - wg_port="$text" - setconfig wg_port "$text" "$GT_CFG_PATH" - ;; - 4) - wg_public_key="$text" - setconfig wg_public_key "$text" "$GT_CFG_PATH" - ;; - 5) - wg_pre_shared_key="$text" - setconfig wg_pre_shared_key "$text" "$GT_CFG_PATH" - ;; - 6) - wg_private_key="$text" - setconfig wg_private_key "$text" "$GT_CFG_PATH" - ;; - 7) - wg_ipv4="$text" - setconfig wg_ipv4 "$text" "$GT_CFG_PATH" - ;; - 8) - wg_ipv6="$text" - setconfig wg_ipv6 "$text" "$GT_CFG_PATH" - ;; - esac - ;; - *) - errornum - ;; - esac - done + if [ -n "$wg_pre_shared_key" ]; then + wgpsk_key_info='*********' + else + unset wgpsk_key_info + fi + comp_box "\033[31m$GW_WARN\033[0m$GW_WG_WARN" + btm_box "1) \033[32m$GW_WG_TOGGLE\033[0m \033[32m$wg_service\033[0m" \ + "" \ + "2) $GW_WG_SET_ENDPOINT \033[36m$wg_server\033[0m" \ + "3) $GW_WG_SET_ENDPOINT_PORT \033[36m$wg_port\033[0m" \ + "4) $GW_WG_SET_PUBLIC \033[36m$wgp_key_info\033[0m" \ + "5) $GW_WG_SET_PRESHARED \033[36m$wgpsk_key_info\033[0m" \ + "" \ + "6) $GW_WG_SET_PRIVATE \033[33m$wgv_key_info\033[0m" \ + "7) $GW_WG_SET_IPV4 \033[33m$wg_ipv4\033[0m" \ + "8) $GW_WG_SET_IPV6 \033[33m$wg_ipv6\033[0m" \ + "" \ + "0) $COMMON_BACK" + read -r -p "$COMMON_INPUT> " num + case "$num" in + "" | 0) + break + ;; + 1) + if [ -n "$wg_server" ] && [ -n "$wg_port" ] && [ -n "$wg_public_key" ] && [ -n "$wg_pre_shared_key" ] && [ -n "$wg_private_key" ] && [ -n "$wg_ipv4" ]; then + [ "$wg_service" = ON ] && wg_service=OFF || wg_service=ON + setconfig wg_service "$wg_service" + else + msg_alert "\033[31m$GW_FILL_REQUIRED\033[0m" + fi + ;; + [1-8]) + line_break + read -r -p "$GW_INPUT_TEXT_DEL0> " text + [ "$text" = 0 ] && text='' + case "$num" in + 2) + wg_server="$text" + setconfig wg_server "$text" "$GT_CFG_PATH" + ;; + 3) + wg_port="$text" + setconfig wg_port "$text" "$GT_CFG_PATH" + ;; + 4) + wg_public_key="$text" + setconfig wg_public_key "$text" "$GT_CFG_PATH" + ;; + 5) + wg_pre_shared_key="$text" + setconfig wg_pre_shared_key "$text" "$GT_CFG_PATH" + ;; + 6) + wg_private_key="$text" + setconfig wg_private_key "$text" "$GT_CFG_PATH" + ;; + 7) + wg_ipv4="$text" + setconfig wg_ipv4 "$text" "$GT_CFG_PATH" + ;; + 8) + wg_ipv6="$text" + setconfig wg_ipv6 "$text" "$GT_CFG_PATH" + ;; + esac + ;; + *) + errornum + ;; + esac + done } diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index cf41483b..aa00011b 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -758,7 +758,7 @@ debug() { . "$CRASHDIR"/libs/core_tools.sh && core_find && "$TMPDIR"/CrashCore merge "$TMPDIR"/debug.json -C "$TMPDIR"/jsons && line_break comp_box "\033[32m$TOOLS_MERGE_OK\033[0m" [ "$TMPDIR" = "$BINDIR" ] && rm -rf "$TMPDIR"/CrashCore - debug + debug ;; *) errornum diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 85077612..eaa8cdab 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -1111,7 +1111,7 @@ saveserver() { setserver() { while true; do line_break - LISTFILE="$CRASHDIR"/configs/servers_"$i18n".list + LISTFILE="$CRASHDIR"/configs/servers_"$i18n".list [ -z "$release_type" ] && release_name=$UPG_SOURCE_UNSET [ -n "$release_type" ] && release_name="$release_type$UPG_SOURCE_ROLLBACK_TAG" [ "$release_type" = stable ] && release_name=$UPG_SOURCE_STABLE_TEXT diff --git a/scripts/menus/bot_tg.sh b/scripts/menus/bot_tg.sh index 09052d7b..d411e095 100644 --- a/scripts/menus/bot_tg.sh +++ b/scripts/menus/bot_tg.sh @@ -19,19 +19,19 @@ OFFSET=0 ### --- 基础函数 --- ### web_download(){ - setproxy - if curl --version >/dev/null 2>&1; then - curl -kfsSl "$1" -o "$2" - else - wget -Y on -q --timeout=3 -O "$2" "$1" - fi + setproxy + if curl --version >/dev/null 2>&1; then + curl -kfsSl "$1" -o "$2" + else + wget -Y on -q --timeout=3 -O "$2" "$1" + fi } web_upload(){ - curl -ksSfl -X POST --connect-timeout 20 "$API/sendDocument" -F "chat_id=$TG_CHATID" -F "document=@$1" >/dev/null + curl -ksSfl -X POST --connect-timeout 20 "$API/sendDocument" -F "chat_id=$TG_CHATID" -F "document=@$1" >/dev/null } send_msg(){ TEXT="$1" - web_json_post "$API/sendMessage" "{\"chat_id\":\"$TG_CHATID\",\"text\":\"$TEXT\",\"parse_mode\":\"Markdown\"}" + web_json_post "$API/sendMessage" "{\"chat_id\":\"$TG_CHATID\",\"text\":\"$TEXT\",\"parse_mode\":\"Markdown\"}" } send_help(){ TEXT=$(cat </dev/null 2>&1;then - CURL_KB=$(cat </dev/null 2>&1;then + CURL_KB=$(cat < "$LOGFILE" } do_stop_fw(){ - redir_mod_bf=$redir_mod - firewall_area=4 - setconfig firewall_area 4 - "$CRASHDIR"/start.sh stop_firewall + redir_mod_bf=$redir_mod + firewall_area=4 + setconfig firewall_area 4 + "$CRASHDIR"/start.sh stop_firewall echo "$BOT_TG_SWITCH_PURE" > "$LOGFILE" } do_restart(){ @@ -185,142 +185,142 @@ do_set_sub(){ } transport(){ #文件传输 - case "$CALLBACK" in - "ts_get_log") - web_upload "$TMPDIR"/ShellCrash.log - send_menu - ;; - "ts_get_bak") - now=$(date +%Y%m%d_%H%M%S) - FILE="$TMPDIR/configs_$now.tar.gz" - tar -zcf "$FILE" -C "$CRASHDIR/configs/" . - web_upload "$FILE" - rm -rf "$FILE" - send_menu - ;; - "ts_get_ccf") - FILE="$TMPDIR/$config_type.tar.gz" - tar -zcf "$FILE" -C "$CRASHDIR/${config_type}s/" . - web_upload "$FILE" - rm -rf "$FILE" - send_menu - ;; - "ts_up_core") - FILE_TYPE=1 - send_msg "$BOT_TG_SEND_CORE ${corename} $BOT_TG_SEND_CORE_SUFFIX" - ;; - "ts_up_bak") - FILE_TYPE=2 - send_msg "$BOT_TG_SEND_BAK" - ;; - "ts_up_ccf") - FILE_TYPE=3 - send_msg "$BOT_TG_SEND_CFG .${config_type} $BOT_TG_SEND_CFG_SUFFIX" - ;; - esac + case "$CALLBACK" in + "ts_get_log") + web_upload "$TMPDIR"/ShellCrash.log + send_menu + ;; + "ts_get_bak") + now=$(date +%Y%m%d_%H%M%S) + FILE="$TMPDIR/configs_$now.tar.gz" + tar -zcf "$FILE" -C "$CRASHDIR/configs/" . + web_upload "$FILE" + rm -rf "$FILE" + send_menu + ;; + "ts_get_ccf") + FILE="$TMPDIR/$config_type.tar.gz" + tar -zcf "$FILE" -C "$CRASHDIR/${config_type}s/" . + web_upload "$FILE" + rm -rf "$FILE" + send_menu + ;; + "ts_up_core") + FILE_TYPE=1 + send_msg "$BOT_TG_SEND_CORE ${corename} $BOT_TG_SEND_CORE_SUFFIX" + ;; + "ts_up_bak") + FILE_TYPE=2 + send_msg "$BOT_TG_SEND_BAK" + ;; + "ts_up_ccf") + FILE_TYPE=3 + send_msg "$BOT_TG_SEND_CFG .${config_type} $BOT_TG_SEND_CFG_SUFFIX" + ;; + esac } ### --- 轮询主进程 --- ### polling(){ - while true; do - UPDATES=$(web_get_lite "$API/getUpdates?timeout=25&offset=$OFFSET") + while true; do + UPDATES=$(web_get_lite "$API/getUpdates?timeout=25&offset=$OFFSET") - echo "$UPDATES" | grep -q '"update_id"' || { - sleep 10 #防止网络不佳时疯狂请求 - continue - } - - OFFSET=$(echo "$UPDATES" | grep -o '"update_id":[0-9]*' | tail -n1 | cut -d: -f2) - OFFSET=$((OFFSET + 1)) - - ### --- 校验ChatID --- ### - CHATID=$(echo "$UPDATES" | grep -o '"id":[0-9]*' | tail -n1 | cut -d: -f2) - [ "$CHATID" != "$TG_CHATID" ] && continue - - ### --- 处理按钮事件 --- ### - CALLBACK=$(echo "$UPDATES" | grep -o '"data":"[^"]*"' | head -n1 | sed 's/.*:"//;s/"$//') - FILE_ID=$(echo "$UPDATES" | sed 's/"callback_query".*//g' | grep -o '"file_id":"[^"]*"' | head -n1 | sed 's/.*:"//;s/"$//') - - [ -n "$FILE_ID" ] && { - download_file - continue - } - [ -n "$CALLBACK" ] && case "$CALLBACK" in - "start_redir") - if [ "$firewall_area" = 4 ];then - do_start_fw - send_msg "$BOT_TG_SWITCH_TO$redir_mod_bf!" - else - send_msg "$BOT_TG_ALREADY$redir_mod!" - fi - send_menu - continue - ;; - "stop_redir") - if [ "$firewall_area" != 4 ];then - do_stop_fw - send_msg "$BOT_TG_SWITCH_PURE" - else - send_msg "$BOT_TG_ALREADY_PURE" - fi - send_menu - continue - ;; - "restart") - do_restart - send_msg "$BOT_TG_SERVICE_RESTARTED_SHORT" - sleep 10 - send_menu - continue - ;; - "readlog") - send_msg "$BOT_TG_LOG_CONTENT\n\`\`\`$(grep -v "$BOT_TG_TASK_WORD" $TMPDIR/ShellCrash.log |tail -n 20)\`\`\`" - sleep 3 - send_menu - continue - ;; - "transport") - send_transport_menu - continue - ;; - "set_sub") - echo "await_sub" > "$STATE_FILE" - send_msg "$BOT_TG_INPUT_SUB" - continue - ;; - ts_*) - transport - continue - ;; - esac + echo "$UPDATES" | grep -q '"update_id"' || { + sleep 10 #防止网络不佳时疯狂请求 + continue + } + + OFFSET=$(echo "$UPDATES" | grep -o '"update_id":[0-9]*' | tail -n1 | cut -d: -f2) + OFFSET=$((OFFSET + 1)) + + ### --- 校验ChatID --- ### + CHATID=$(echo "$UPDATES" | grep -o '"id":[0-9]*' | tail -n1 | cut -d: -f2) + [ "$CHATID" != "$TG_CHATID" ] && continue + + ### --- 处理按钮事件 --- ### + CALLBACK=$(echo "$UPDATES" | grep -o '"data":"[^"]*"' | head -n1 | sed 's/.*:"//;s/"$//') + FILE_ID=$(echo "$UPDATES" | sed 's/"callback_query".*//g' | grep -o '"file_id":"[^"]*"' | head -n1 | sed 's/.*:"//;s/"$//') + + [ -n "$FILE_ID" ] && { + download_file + continue + } + [ -n "$CALLBACK" ] && case "$CALLBACK" in + "start_redir") + if [ "$firewall_area" = 4 ];then + do_start_fw + send_msg "$BOT_TG_SWITCH_TO$redir_mod_bf!" + else + send_msg "$BOT_TG_ALREADY$redir_mod!" + fi + send_menu + continue + ;; + "stop_redir") + if [ "$firewall_area" != 4 ];then + do_stop_fw + send_msg "$BOT_TG_SWITCH_PURE" + else + send_msg "$BOT_TG_ALREADY_PURE" + fi + send_menu + continue + ;; + "restart") + do_restart + send_msg "$BOT_TG_SERVICE_RESTARTED_SHORT" + sleep 10 + send_menu + continue + ;; + "readlog") + send_msg "$BOT_TG_LOG_CONTENT\n\`\`\`$(grep -v "$BOT_TG_TASK_WORD" $TMPDIR/ShellCrash.log |tail -n 20)\`\`\`" + sleep 3 + send_menu + continue + ;; + "transport") + send_transport_menu + continue + ;; + "set_sub") + echo "await_sub" > "$STATE_FILE" + send_msg "$BOT_TG_INPUT_SUB" + continue + ;; + ts_*) + transport + continue + ;; + esac - ### --- 处理订阅输入 --- ### - TEXT=$(echo "$UPDATES" | grep -o '"text":"[^"]*"' | tail -n1 | sed 's/.*"text":"//;s/"$//') + ### --- 处理订阅输入 --- ### + TEXT=$(echo "$UPDATES" | grep -o '"text":"[^"]*"' | tail -n1 | sed 's/.*"text":"//;s/"$//') - if [ "$(cat "$STATE_FILE" 2>/dev/null)" = "await_sub" ]; then - echo "" > "$STATE_FILE" - do_set_sub "$TEXT" - send_msg "$BOT_TG_SUB_UPDATED\n$(cat "$LOGFILE")" - send_menu - continue - fi + if [ "$(cat "$STATE_FILE" 2>/dev/null)" = "await_sub" ]; then + echo "" > "$STATE_FILE" + do_set_sub "$TEXT" + send_msg "$BOT_TG_SUB_UPDATED\n$(cat "$LOGFILE")" + send_menu + continue + fi - ### 处理命令 ### - case "$TEXT" in - /crash) - send_menu - ;; - /"$my_alias") - send_menu - ;; - /help) - send_help - ;; - esac + ### 处理命令 ### + case "$TEXT" in + /crash) + send_menu + ;; + /"$my_alias") + send_menu + ;; + /help) + send_help + ;; + esac - done + done } [ "$TG_menupush" = ON ] && send_menu diff --git a/scripts/menus/bot_tg_bind.sh b/scripts/menus/bot_tg_bind.sh index 7b81a5f2..eb630d8a 100644 --- a/scripts/menus/bot_tg_bind.sh +++ b/scripts/menus/bot_tg_bind.sh @@ -22,7 +22,7 @@ tg_push_token() { push_TG="$TOKEN" setconfig push_TG "$TOKEN" setconfig chat_ID "$chat_ID" - . "$CRASHDIR"/libs/logger.sh && logger "$BOT_TG_SET_DONE" 32 + . "$CRASHDIR"/libs/logger.sh && logger "$BOT_TG_SET_DONE" 32 } get_chatid() { diff --git a/scripts/menus/bot_tg_service.sh b/scripts/menus/bot_tg_service.sh index 759d6591..e02f1717 100644 --- a/scripts/menus/bot_tg_service.sh +++ b/scripts/menus/bot_tg_service.sh @@ -1,16 +1,16 @@ - + . "$CRASHDIR"/libs/set_cron.sh bot_tg_start(){ - . "$CRASHDIR"/starts/start_legacy.sh - start_legacy "$CRASHDIR/menus/bot_tg.sh" 'bot_tg' + . "$CRASHDIR"/starts/start_legacy.sh + start_legacy "$CRASHDIR/menus/bot_tg.sh" 'bot_tg' } bot_tg_stop(){ - cronload | grep -q 'TG_BOT' && cronset 'TG_BOT' - [ -f "$TMPDIR/bot_tg.pid" ] && kill -TERM "$(cat "$TMPDIR/bot_tg.pid")" 2>/dev/null - killall bot_tg.sh 2>/dev/null - rm -f "$TMPDIR/bot_tg.pid" + cronload | grep -q 'TG_BOT' && cronset 'TG_BOT' + [ -f "$TMPDIR/bot_tg.pid" ] && kill -TERM "$(cat "$TMPDIR/bot_tg.pid")" 2>/dev/null + killall bot_tg.sh 2>/dev/null + rm -f "$TMPDIR/bot_tg.pid" } bot_tg_cron(){ - cronset 'ShellCrash-TG_BOT' "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT" + cronset 'ShellCrash-TG_BOT' "* * * * * /bin/sh $CRASHDIR/starts/start_legacy_wd.sh bot_tg #ShellCrash-TG_BOT" } diff --git a/scripts/menus/check_port.sh b/scripts/menus/check_port.sh index a7135550..5d5f1acd 100644 --- a/scripts/menus/check_port.sh +++ b/scripts/menus/check_port.sh @@ -4,46 +4,46 @@ load_lang check_port _get_netstat_cmd() { - case "$1" in - tcp) echo "netstat -ntl" ;; - udp) echo "netstat -nul" ;; - *) echo "netstat -ntul" ;; - esac + case "$1" in + tcp) echo "netstat -ntl" ;; + udp) echo "netstat -nul" ;; + *) echo "netstat -ntul" ;; + esac } check_port() { - local port="$1" - local protocol="${2:-all}" + local port="$1" + local protocol="${2:-all}" - if [ "$port" -gt 65535 ] || [ "$port" -le 1 ]; then - msg_alert "\033[31m$CHECK_PORT_RANGE_ERR\033[0m" - return 1 - fi + if [ "$port" -gt 65535 ] || [ "$port" -le 1 ]; then + msg_alert "\033[31m$CHECK_PORT_RANGE_ERR\033[0m" + return 1 + fi - local check_cmd - check_cmd=$(_get_netstat_cmd "$protocol") + local check_cmd + check_cmd=$(_get_netstat_cmd "$protocol") - if $check_cmd 2>/dev/null | grep -q ":${port}[[:space:]]"; then - msg_alert "\033[31m$CHECK_PORT_OCCUPIED_ERR\033[0m" - return 1 - fi + if $check_cmd 2>/dev/null | grep -q ":${port}[[:space:]]"; then + msg_alert "\033[31m$CHECK_PORT_OCCUPIED_ERR\033[0m" + return 1 + fi - return 0 + return 0 } check_port_with_info() { - local port="$1" - local protocol="${2:-all}" - local check_cmd - check_cmd=$(_get_netstat_cmd "$protocol") + local port="$1" + local protocol="${2:-all}" + local check_cmd + check_cmd=$(_get_netstat_cmd "$protocol") - local conflict_line - conflict_line=$($check_cmd 2>/dev/null | grep ":${port}[[:space:]]" | head -n 1) + local conflict_line + conflict_line=$($check_cmd 2>/dev/null | grep ":${port}[[:space:]]" | head -n 1) - if [ -n "$conflict_line" ]; then - echo "$conflict_line" - return 1 - fi + if [ -n "$conflict_line" ]; then + echo "$conflict_line" + return 1 + fi - return 0 + return 0 } diff --git a/scripts/menus/ddns.sh b/scripts/menus/ddns.sh index 67326c16..0b50986d 100644 --- a/scripts/menus/ddns.sh +++ b/scripts/menus/ddns.sh @@ -12,21 +12,21 @@ add_ddns() { cat >>"$ddns_dir" </dev/null 2>&1 & sleep 3 @@ -71,12 +71,12 @@ set_ddns() { set_ddns_service() { while true; do services_dir=/etc/ddns/"$serv" - [ -s "$services_dir" ] || services_dir=/etc/ddns/services + [ -s "$services_dir" ] || services_dir=/etc/ddns/services [ -s "$services_dir" ] || services_dir=/usr/share/ddns/list - [ -s "$services_dir" ] || { - msg_alert "\033[33m$DDNS_LIST_NOT_FOUND\033[0m" - ddns service update >/dev/null || msg_alert "\033[31m$DDNS_DOWNLOAD_FAILED\033[0m" - } + [ -s "$services_dir" ] || { + msg_alert "\033[33m$DDNS_LIST_NOT_FOUND\033[0m" + ddns service update >/dev/null || msg_alert "\033[31m$DDNS_DOWNLOAD_FAILED\033[0m" + } comp_box "\033[32m$DDNS_SELECT_PROVIDER\033[0m" list=$(awk '/^#/ || !NF {next} {print $1}' "$services_dir") diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index ee328a36..a920c4f5 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -48,31 +48,31 @@ set_dns_mod() { msg_alert "\033[36m$DNS_SET_OK:$dns_mod\033[0m" ;; 4) - if [ "$dns_protect" = ON ]; then - dns_protect=OFF - else - dns_protect=ON - fi - setconfig dns_protect "$dns_protect" - common_success + if [ "$dns_protect" = ON ]; then + dns_protect=OFF + else + dns_protect=ON + fi + setconfig dns_protect "$dns_protect" + common_success ;; 5) - if [ "$hosts_opt" = ON ]; then - hosts_opt=OFF - else - hosts_opt=ON - fi - setconfig hosts_opt "$hosts_opt" - common_success + if [ "$hosts_opt" = ON ]; then + hosts_opt=OFF + else + hosts_opt=ON + fi + setconfig hosts_opt "$hosts_opt" + common_success ;; 6) - if [ "$ecs_subnet" = ON ]; then - ecs_subnet=OFF - else - ecs_subnet=ON - fi - setconfig ecs_subnet "$ecs_subnet" - common_success + if [ "$ecs_subnet" = ON ]; then + ecs_subnet=OFF + else + ecs_subnet=ON + fi + setconfig ecs_subnet "$ecs_subnet" + common_success ;; 7) while true; do diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index a0b673ba..c667fad2 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -97,21 +97,21 @@ gen_providers_txt() { [ -n "$include" ] && include_ele="\"include\": \"$include\"," if [ -n "$(echo "$2" | grep -E '^./')" ]; then cat >>"$TMPDIR"/providers/providers.json <>"$TMPDIR"/providers/providers.json <>"$TMPDIR"/providers/outbounds_add.json diff --git a/scripts/menus/running_status.sh b/scripts/menus/running_status.sh index e62c8acc..3da02535 100644 --- a/scripts/menus/running_status.sh +++ b/scripts/menus/running_status.sh @@ -1,13 +1,13 @@ running_status(){ - VmRSS=$(awk '/^VmRSS:/ {printf "%.2f MB\n", ($2 * 1024) / 1000000}' /proc/$PID/status) - #获取运行时长 - touch "$TMPDIR"/crash_start_time #用于延迟启动的校验 - start_time=$(cat "$TMPDIR"/crash_start_time) - if [ -n "$start_time" ]; then - time=$(($(date +%s) - start_time)) - day=$((time / 86400)) - [ "$day" = "0" ] && day='' || day="$dayD" - time=$(date -u -d @${time} +%H:%M:%S) - fi + VmRSS=$(awk '/^VmRSS:/ {printf "%.2f MB\n", ($2 * 1024) / 1000000}' /proc/$PID/status) + #获取运行时长 + touch "$TMPDIR"/crash_start_time #用于延迟启动的校验 + start_time=$(cat "$TMPDIR"/crash_start_time) + if [ -n "$start_time" ]; then + time=$(($(date +%s) - start_time)) + day=$((time / 86400)) + [ "$day" = "0" ] && day='' || day="$dayD" + time=$(date -u -d @${time} +%H:%M:%S) + fi } diff --git a/scripts/menus/task_cmd.sh b/scripts/menus/task_cmd.sh index de5d403b..84df964e 100644 --- a/scripts/menus/task_cmd.sh +++ b/scripts/menus/task_cmd.sh @@ -14,118 +14,118 @@ load_lang task_cmd task_logger(){ - [ "$task_push" = 1 ] && push= || push=off - [ -n "$2" -a "$2" != 0 ] && echo -e "\033[$2m$1\033[0m" - [ "$3" = 'off' ] && push=off - echo "$1" |grep -qE "($TASK_CMD_EVERY|$TASK_CMD_HOURLY)([1-9]|[1-9][0-9])$TASK_CMD_MIN" && { - push=off - cover=on - } - logger "$1" 0 "$push" "$cover" + [ "$task_push" = 1 ] && push= || push=off + [ -n "$2" -a "$2" != 0 ] && echo -e "\033[$2m$1\033[0m" + [ "$3" = 'off' ] && push=off + echo "$1" |grep -qE "($TASK_CMD_EVERY|$TASK_CMD_HOURLY)([1-9]|[1-9][0-9])$TASK_CMD_MIN" && { + push=off + cover=on + } + logger "$1" 0 "$push" "$cover" } #任务命令 check_update(){ #检查更新工具 - get_bin "$TMPDIR"/crashversion "$1" echooff - [ "$?" = "0" ] && . "$TMPDIR"/crashversion 2>/dev/null - rm -rf "$TMPDIR"/crashversion + get_bin "$TMPDIR"/crashversion "$1" echooff + [ "$?" = "0" ] && . "$TMPDIR"/crashversion 2>/dev/null + rm -rf "$TMPDIR"/crashversion } update_core(){ #自动更新内核 - #检查版本 - check_update bin/version - crash_v_new=$(eval echo \$${crashcore}_v) - if [ -z "$crash_v_new" -o "$crash_v_new" = "$core_v" ];then - task_logger "$TASK_CMD_CORE_SKIP" - return 0 - else - . "$CRASHDIR"/libs/core_tools.sh && core_webget #调用下载工具 - case "$?" in - 0) - task_logger "$TASK_CMD_CORE_DONE" - "$CRASHDIR"/start.sh start - return 0 - ;; - 1) - task_logger "$TASK_CMD_CORE_DL_FAIL" - return 1 - ;; - *) - task_logger "$TASK_CMD_CORE_VERIFY_FAIL" - "$CRASHDIR"/start.sh start - return 1 - ;; - esac - fi + #检查版本 + check_update bin/version + crash_v_new=$(eval echo \$${crashcore}_v) + if [ -z "$crash_v_new" -o "$crash_v_new" = "$core_v" ];then + task_logger "$TASK_CMD_CORE_SKIP" + return 0 + else + . "$CRASHDIR"/libs/core_tools.sh && core_webget #调用下载工具 + case "$?" in + 0) + task_logger "$TASK_CMD_CORE_DONE" + "$CRASHDIR"/start.sh start + return 0 + ;; + 1) + task_logger "$TASK_CMD_CORE_DL_FAIL" + return 1 + ;; + *) + task_logger "$TASK_CMD_CORE_VERIFY_FAIL" + "$CRASHDIR"/start.sh start + return 1 + ;; + esac + fi } update_scripts(){ #自动更新脚本 - #检查版本 - check_update version - if [ -z "$versionsh" -o "$versionsh" = "versionsh_l" ];then - task_logger "$TASK_CMD_SCRIPT_SKIP" - return 0 - else - get_bin "$TMPDIR"/ShellCrash.tar.gz "ShellCrash.tar.gz" - if [ "$?" != "0" ];then - rm -rf "$TMPDIR"/ShellCrash.tar.gz - task_logger "$TASK_CMD_CORE_DL_FAIL" - return 1 - else - #停止服务 - "$CRASHDIR"/start.sh stop - #解压 - tar -zxf "$TMPDIR"/ShellCrash.tar.gz ${tar_para} -C "$CRASHDIR"/ - if [ $? -ne 0 ];then - rm -rf "$TMPDIR"/ShellCrash.tar.gz - task_logger "$TASK_CMD_SCRIPT_UNZIP_FAIL" - "$CRASHDIR"/start.sh start - return 1 - else - . "$CRASHDIR"/init.sh >/dev/null - "$CRASHDIR"/start.sh start - return 0 - fi - fi - fi + #检查版本 + check_update version + if [ -z "$versionsh" -o "$versionsh" = "versionsh_l" ];then + task_logger "$TASK_CMD_SCRIPT_SKIP" + return 0 + else + get_bin "$TMPDIR"/ShellCrash.tar.gz "ShellCrash.tar.gz" + if [ "$?" != "0" ];then + rm -rf "$TMPDIR"/ShellCrash.tar.gz + task_logger "$TASK_CMD_CORE_DL_FAIL" + return 1 + else + #停止服务 + "$CRASHDIR"/start.sh stop + #解压 + tar -zxf "$TMPDIR"/ShellCrash.tar.gz ${tar_para} -C "$CRASHDIR"/ + if [ $? -ne 0 ];then + rm -rf "$TMPDIR"/ShellCrash.tar.gz + task_logger "$TASK_CMD_SCRIPT_UNZIP_FAIL" + "$CRASHDIR"/start.sh start + return 1 + else + . "$CRASHDIR"/init.sh >/dev/null + "$CRASHDIR"/start.sh start + return 0 + fi + fi + fi } update_mmdb(){ #自动更新数据库 - getgeo(){ - #检查版本 - check_update bin/version - geo_v="$(echo $2 | awk -F "." '{print $1}')_v" #获取版本号类型比如Country_v - geo_v_new=$GeoIP_v - geo_v_now=$(eval echo \$$geo_v) - if [ -z "$geo_v_new" -o "$geo_v_new" = "$geo_v_now" ];then - task_logger "$TASK_CMD_DB_SKIP_PREFIX$2$TASK_CMD_DB_SKIP_SUFFIX" - else - #更新文件 - get_bin "$TMPDIR"/$1 "bin/geodata/$2" - if [ "$?" != "0" ];then - task_logger "$TASK_CMD_DB_DL_FAIL_PREFIX$2$TASK_CMD_DB_DL_FAIL_SUFFIX" - rm -rf "$TMPDIR"/$1 - else - mv -f "$TMPDIR"/$1 "$BINDIR"/$1 - setconfig $geo_v $GeoIP_v - task_logger "$TASK_CMD_DB_OK_PREFIX$2$TASK_CMD_DB_OK_SUFFIX" - fi - fi - } - [ -n "${cn_mini_v}" -a -s "$CRASHDIR"/Country.mmdb ] && getgeo Country.mmdb cn_mini.mmdb - [ -n "${china_ip_list_v}" -a -s "$CRASHDIR"/cn_ip.txt ] && getgeo cn_ip.txt china_ip_list.txt - [ -n "${china_ipv6_list_v}" -a -s "$CRASHDIR"/cn_ipv6.txt ] && getgeo cn_ipv6.txt china_ipv6_list.txt - [ -n "${geosite_v}" -a -s "$CRASHDIR"/GeoSite.dat ] && getgeo GeoSite.dat geosite.dat - [ -n "${geoip_cn_v}" -a -s "$CRASHDIR"/geoip.db ] && getgeo geoip.db geoip_cn.db - [ -n "${geosite_cn_v}" -a -s "$CRASHDIR"/geosite.db ] && getgeo geosite.db geosite_cn.db - return 0 + getgeo(){ + #检查版本 + check_update bin/version + geo_v="$(echo $2 | awk -F "." '{print $1}')_v" #获取版本号类型比如Country_v + geo_v_new=$GeoIP_v + geo_v_now=$(eval echo \$$geo_v) + if [ -z "$geo_v_new" -o "$geo_v_new" = "$geo_v_now" ];then + task_logger "$TASK_CMD_DB_SKIP_PREFIX$2$TASK_CMD_DB_SKIP_SUFFIX" + else + #更新文件 + get_bin "$TMPDIR"/$1 "bin/geodata/$2" + if [ "$?" != "0" ];then + task_logger "$TASK_CMD_DB_DL_FAIL_PREFIX$2$TASK_CMD_DB_DL_FAIL_SUFFIX" + rm -rf "$TMPDIR"/$1 + else + mv -f "$TMPDIR"/$1 "$BINDIR"/$1 + setconfig $geo_v $GeoIP_v + task_logger "$TASK_CMD_DB_OK_PREFIX$2$TASK_CMD_DB_OK_SUFFIX" + fi + fi + } + [ -n "${cn_mini_v}" -a -s "$CRASHDIR"/Country.mmdb ] && getgeo Country.mmdb cn_mini.mmdb + [ -n "${china_ip_list_v}" -a -s "$CRASHDIR"/cn_ip.txt ] && getgeo cn_ip.txt china_ip_list.txt + [ -n "${china_ipv6_list_v}" -a -s "$CRASHDIR"/cn_ipv6.txt ] && getgeo cn_ipv6.txt china_ipv6_list.txt + [ -n "${geosite_v}" -a -s "$CRASHDIR"/GeoSite.dat ] && getgeo GeoSite.dat geosite.dat + [ -n "${geoip_cn_v}" -a -s "$CRASHDIR"/geoip.db ] && getgeo geoip.db geoip_cn.db + [ -n "${geosite_cn_v}" -a -s "$CRASHDIR"/geosite.db ] && getgeo geosite.db geosite_cn.db + return 0 } reset_firewall(){ #重设透明路由防火墙 - "$CRASHDIR"/start.sh stop_firewall - "$CRASHDIR"/start.sh afstart + "$CRASHDIR"/start.sh stop_firewall + "$CRASHDIR"/start.sh afstart } ntp(){ - ckcmd ntpd && ntpd -n -q -p 203.107.6.88 >/dev/null 2>&1 || exit 0 + ckcmd ntpd && ntpd -n -q -p 203.107.6.88 >/dev/null 2>&1 || exit 0 } web_save_auto(){ - . "$CRASHDIR"/libs/web_save.sh && web_save + . "$CRASHDIR"/libs/web_save.sh && web_save } update_config() { #更新订阅并重启 . "$CRASHDIR"/starts/core_config.sh && get_core_config && "$CRASHDIR"/start.sh start @@ -139,14 +139,14 @@ hotupdate() { #热更新订阅 } case "$1" in - [1-9][0-9][0-9]) - task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}') - task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') - #task_logger "任务$task_name 开始执行" - 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" - ;; - *) - "$1" - ;; + [1-9][0-9][0-9]) + task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}') + task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') + #task_logger "任务$task_name 开始执行" + 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" + ;; + *) + "$1" + ;; esac diff --git a/scripts/start.sh b/scripts/start.sh index 386f3b18..97e9247f 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -16,20 +16,20 @@ . "$CRASHDIR"/libs/web_save.sh #特殊脚本 bfstart(){ - "$CRASHDIR"/starts/bfstart.sh + "$CRASHDIR"/starts/bfstart.sh } afstart(){ - "$CRASHDIR"/starts/afstart.sh + "$CRASHDIR"/starts/afstart.sh } stop_firewall(){ - "$CRASHDIR"/starts/fw_stop.sh + "$CRASHDIR"/starts/fw_stop.sh } #保守模式启动 start_l(){ - bfstart && { - . "$CRASHDIR"/starts/start_legacy.sh - start_legacy "$COMMAND" 'shellcrash' - } && afstart & + bfstart && { + . "$CRASHDIR"/starts/start_legacy.sh + start_legacy "$COMMAND" 'shellcrash' + } && afstart & } case "$1" in @@ -37,26 +37,26 @@ case "$1" in start) [ -n "$(pidof CrashCore)" ] && $0 stop #禁止多实例 stop_firewall #清理路由策略 - rm -f "$CRASHDIR"/\.start_error #移除自启失败标记 + rm -f "$CRASHDIR"/\.start_error #移除自启失败标记 #使用不同方式启动服务 - if [ "$firewall_area" = "5" ]; then #主旁转发 + if [ "$firewall_area" = "5" ]; then #主旁转发 . "$CRASHDIR"/starts/fw_start.sh elif [ "$start_old" = "ON" ]; then start_l elif [ -f /etc/rc.common ] && grep -q 'procd' /proc/1/comm; then /etc/init.d/shellcrash start elif [ "$USER" = "root" ] && grep -q 'systemd' /proc/1/comm; then - FragmentPath=$(systemctl show -p FragmentPath shellcrash | sed 's/FragmentPath=//') - [ -f "$FragmentPath" ] && { - sed -i "s#^ExecStart=.*#ExecStart=$COMMAND >/dev/null#" "$FragmentPath" - systemctl daemon-reload - } - systemctl start shellcrash.service || . "$CRASHDIR"/starts/start_error.sh + FragmentPath=$(systemctl show -p FragmentPath shellcrash | sed 's/FragmentPath=//') + [ -f "$FragmentPath" ] && { + sed -i "s#^ExecStart=.*#ExecStart=$COMMAND >/dev/null#" "$FragmentPath" + systemctl daemon-reload + } + systemctl start shellcrash.service || . "$CRASHDIR"/starts/start_error.sh elif grep -q 's6' /proc/1/comm; then - bfstart && /command/s6-svc -u /run/service/shellcrash && { - [ ! -f "$CRASHDIR"/.dis_startup ] && touch /etc/s6-overlay/s6-rc.d/user/contents.d/afstart - afstart & - } + bfstart && /command/s6-svc -u /run/service/shellcrash && { + [ ! -f "$CRASHDIR"/.dis_startup ] && touch /etc/s6-overlay/s6-rc.d/user/contents.d/afstart + afstart & + } elif rc-status -r >/dev/null 2>&1; then rc-service shellcrash stop >/dev/null 2>&1 rc-service shellcrash start @@ -68,9 +68,9 @@ stop) logger ShellCrash服务即将关闭...... [ -n "$(pidof CrashCore)" ] && web_save #保存面板配置 #清理定时任务 - cronload | grep -vE '^$|start_legacy_wd.sh|运行时每' > "$TMPDIR"/cron_tmp - cronadd "$TMPDIR"/cron_tmp - rm -f "$TMPDIR"/cron_tmp + cronload | grep -vE '^$|start_legacy_wd.sh|运行时每' > "$TMPDIR"/cron_tmp + cronadd "$TMPDIR"/cron_tmp + rm -f "$TMPDIR"/cron_tmp #停止tg_bot . "$CRASHDIR"/menus/bot_tg_service.sh && bot_tg_stop #多种方式结束进程 @@ -83,8 +83,8 @@ stop) elif [ -f /etc/rc.common ] && grep -q 'procd' /proc/1/comm; then /etc/init.d/shellcrash stop >/dev/null 2>&1 elif grep -q 's6' /proc/1/comm; then - /command/s6-svc -d /run/service/shellcrash - stop_firewall + /command/s6-svc -d /run/service/shellcrash + stop_firewall elif rc-status -r >/dev/null 2>&1; then rc-service shellcrash stop >/dev/null 2>&1 else diff --git a/scripts/starts/afstart.sh b/scripts/starts/afstart.sh index a9da9869..e58ec665 100644 --- a/scripts/starts/afstart.sh +++ b/scripts/starts/afstart.sh @@ -12,45 +12,45 @@ [ -z "$firewall_area" ] && firewall_area=1 #延迟启动 [ ! -f "$TMPDIR"/crash_start_time ] && [ -n "$start_delay" ] && [ "$start_delay" -gt 0 ] && { - logger "ShellCrash将延迟$start_delay秒启动" 31 - sleep "$start_delay" + logger "ShellCrash将延迟$start_delay秒启动" 31 + sleep "$start_delay" } #设置循环检测面板端口以判定服务启动是否成功 . "$CRASHDIR"/libs/start_wait.sh if [ -n "$test" -o -n "$(pidof CrashCore)" ]; then - [ "$start_old" = "ON" ] && [ ! -L "$TMPDIR"/CrashCore ] && rm -f "$TMPDIR"/CrashCore #删除缓存目录内核文件 - . "$CRASHDIR"/starts/fw_start.sh #配置防火墙流量劫持 - date +%s >"$TMPDIR"/crash_start_time #标记启动时间 - #后台还原面板配置 - [ -s "$CRASHDIR"/configs/web_save ] && { - . "$CRASHDIR"/libs/web_restore.sh - web_restore >/dev/null 2>&1 & - } - #推送日志 - { - sleep 5 - logger ShellCrash服务已启动! - } & - ckcmd mtd_storage.sh && mtd_storage.sh save >/dev/null 2>&1 #Padavan保存/etc/storage - #加载定时任务 - cronload | grep -v '^$' > "$TMPDIR"/cron_tmp - [ -s "$CRASHDIR"/task/cron ] && cat "$CRASHDIR"/task/cron >> "$TMPDIR"/cron_tmp - [ -s "$CRASHDIR"/task/running ] && cat "$CRASHDIR"/task/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 - [ "$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 #删除重复行 - cronadd "$TMPDIR"/cron_tmp2 - rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2 - #加载条件任务 - [ -s "$CRASHDIR"/task/afstart ] && { . "$CRASHDIR"/task/afstart; } & - [ -s "$CRASHDIR"/task/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) - sed -i.bak "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall - line=$(grep -En "fw.* start" /etc/init.d/firewall | cut -d ":" -f 1) - sed -i "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall - } & - exit 0 + [ "$start_old" = "ON" ] && [ ! -L "$TMPDIR"/CrashCore ] && rm -f "$TMPDIR"/CrashCore #删除缓存目录内核文件 + . "$CRASHDIR"/starts/fw_start.sh #配置防火墙流量劫持 + date +%s >"$TMPDIR"/crash_start_time #标记启动时间 + #后台还原面板配置 + [ -s "$CRASHDIR"/configs/web_save ] && { + . "$CRASHDIR"/libs/web_restore.sh + web_restore >/dev/null 2>&1 & + } + #推送日志 + { + sleep 5 + logger ShellCrash服务已启动! + } & + ckcmd mtd_storage.sh && mtd_storage.sh save >/dev/null 2>&1 #Padavan保存/etc/storage + #加载定时任务 + cronload | grep -v '^$' > "$TMPDIR"/cron_tmp + [ -s "$CRASHDIR"/task/cron ] && cat "$CRASHDIR"/task/cron >> "$TMPDIR"/cron_tmp + [ -s "$CRASHDIR"/task/running ] && cat "$CRASHDIR"/task/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 + [ "$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 #删除重复行 + cronadd "$TMPDIR"/cron_tmp2 + rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2 + #加载条件任务 + [ -s "$CRASHDIR"/task/afstart ] && { . "$CRASHDIR"/task/afstart; } & + [ -s "$CRASHDIR"/task/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) + sed -i.bak "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall + line=$(grep -En "fw.* start" /etc/init.d/firewall | cut -d ":" -f 1) + sed -i "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall + } & + exit 0 else - . "$CRASHDIR"/starts/start_error.sh + . "$CRASHDIR"/starts/start_error.sh fi diff --git a/scripts/starts/bfstart.sh b/scripts/starts/bfstart.sh index 30477cc6..7facdd59 100644 --- a/scripts/starts/bfstart.sh +++ b/scripts/starts/bfstart.sh @@ -38,8 +38,8 @@ makehtml() { #生成面板跳转文件

@@ -54,19 +54,19 @@ catpac() { #生成pac文件 [ -z "$host_pac" ] && host_pac=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/\/[0-9][0-9].*$//g' | head -n 1) cat >"$TMPDIR"/shellcrash_pac </dev/null | grep 'root')" ] && { - ckcmd userdel && userdel shellcrash 2>/dev/null - sed -i '/0:7890/d' /etc/passwd - sed -i '/x:7890/d' /etc/group - if ckcmd useradd; then - useradd shellcrash -u 7890 - sed -Ei s/7890:7890/0:7890/g /etc/passwd - else - echo "shellcrash:x:0:7890:::" >>/etc/passwd - fi + [ -z "$(id shellcrash 2>/dev/null | grep 'root')" ] && { + ckcmd userdel && userdel shellcrash 2>/dev/null + sed -i '/0:7890/d' /etc/passwd + sed -i '/x:7890/d' /etc/group + if ckcmd useradd; then + useradd shellcrash -u 7890 + sed -Ei s/7890:7890/0:7890/g /etc/passwd + else + echo "shellcrash:x:0:7890:::" >>/etc/passwd + fi } #加载系统内核组件 [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && ckcmd modprobe && modprobe tun 2>/dev/null diff --git a/scripts/starts/check_core.sh b/scripts/starts/check_core.sh index a8815398..9c99b9a3 100644 --- a/scripts/starts/check_core.sh +++ b/scripts/starts/check_core.sh @@ -5,7 +5,7 @@ check_core() { #检查及下载内核文件 [ -n "$(find --help 2>&1 | grep -o size)" ] && find_para=' -size +2000' #find命令兼容 - [ -z "$(find "$TMPDIR"/CrashCore $find_para 2>/dev/null)" ] && core_find + [ -z "$(find "$TMPDIR"/CrashCore $find_para 2>/dev/null)" ] && core_find [ ! -f "$TMPDIR"/CrashCore ] && { logger "未找到【$crashcore】核心,正在下载!" 33 [ -z "$cpucore" ] && . "$CRASHDIR"/libs/check_cpucore.sh && check_cpucore diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index fa483a75..36b7e113 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -16,15 +16,15 @@ modify_yaml() { #Meta内核专属配置 [ "$crashcore" = 'meta' ] && { [ -z "$(grep 'PROCESS' "$CRASHDIR"/yamls/*.yaml)" ] && find_process='find-process-mode: "off"' - #ecs优化 - [ "$ecs_subnet" = ON ] && { - . "$CRASHDIR"/libs/get_ecsip.sh - if [ -n "$ecs_address" ];then - dns_fallback=$(echo "$dns_fallback, " | sed "s|, |#ecs-override=true\&ecs=$ecs_address, |g" | sed 's|, $||') - else - logger "自动获取ecs网段失败!" - fi - } + #ecs优化 + [ "$ecs_subnet" = ON ] && { + . "$CRASHDIR"/libs/get_ecsip.sh + if [ -n "$ecs_address" ];then + dns_fallback=$(echo "$dns_fallback, " | sed "s|, |#ecs-override=true\&ecs=$ecs_address, |g" | sed 's|, $||') + else + logger "自动获取ecs网段失败!" + fi + } } #dns配置 [ -z "$(cat "$CRASHDIR"/yamls/user.yaml 2>/dev/null | grep '^dns:')" ] && { @@ -100,17 +100,17 @@ EOF if [ "$crashcore" = "meta" ]; then echo " 'services.googleapis.cn': services.googleapis.com" >>"$TMPDIR"/hosts.yaml fi - #加载本机hosts - sys_hosts=/etc/hosts - [ -f /data/etc/custom_hosts ] && sys_hosts='/etc/hosts /data/etc/custom_hosts' - cat $sys_hosts | while read line; do - [ -n "$(echo "$line" | grep -oE "([0-9]{1,3}[\.]){3}")" ] && - [ -z "$(echo "$line" | grep -oE '^#')" ] && - hosts_ip=$(echo $line | awk '{print $1}') && - hosts_domain=$(echo $line | awk '{print $2}') && - [ -z "$(cat "$TMPDIR"/hosts.yaml | grep -oE "$hosts_domain")" ] && - echo " '$hosts_domain': $hosts_ip" >>"$TMPDIR"/hosts.yaml - done + #加载本机hosts + sys_hosts=/etc/hosts + [ -f /data/etc/custom_hosts ] && sys_hosts='/etc/hosts /data/etc/custom_hosts' + cat $sys_hosts | while read line; do + [ -n "$(echo "$line" | grep -oE "([0-9]{1,3}[\.]){3}")" ] && + [ -z "$(echo "$line" | grep -oE '^#')" ] && + hosts_ip=$(echo $line | awk '{print $1}') && + hosts_domain=$(echo $line | awk '{print $2}') && + [ -z "$(cat "$TMPDIR"/hosts.yaml | grep -oE "$hosts_domain")" ] && + echo " '$hosts_domain': $hosts_ip" >>"$TMPDIR"/hosts.yaml + done fi #分割配置文件 yaml_char='proxies proxy-groups proxy-providers rules rule-providers sub-rules listeners' @@ -172,10 +172,10 @@ EOF done } #添加自定义入站 - [ "$vms_service" = ON ] || [ "$sss_service" = ON ] && { - . "$CRASHDIR"/configs/gateway.cfg - . "$CRASHDIR"/libs/meta_listeners.sh - } + [ "$vms_service" = ON ] || [ "$sss_service" = ON ] && { + . "$CRASHDIR"/configs/gateway.cfg + . "$CRASHDIR"/libs/meta_listeners.sh + } #节点绕过功能支持 sed -i "/#节点绕过/d" "$TMPDIR"/rules.yaml [ "$proxies_bypass" = "ON" ] && { diff --git a/scripts/starts/core_config.sh b/scripts/starts/core_config.sh index a5aa9813..634fad78 100644 --- a/scripts/starts/core_config.sh +++ b/scripts/starts/core_config.sh @@ -31,19 +31,19 @@ get_core_config() { #下载内核配置文件 Server_ua=$(grep -aE '^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $4}') Config=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $3}') gen_ua - #如果传来的是Url链接则合成Https链接,否则直接使用Https链接 + #如果传来的是Url链接则合成Https链接,否则直接使用Https链接 if [ -z "$Https" ]; then #Urlencord转码处理保留字符 if ckcmd hexdump;then - Url=$(echo $Url | sed 's/%26/\&/g') #处理分隔符 - urlencodeUrl="exclude=$(urlencode "$exclude")&include=$(urlencode "$include")&url=$(urlencode "$Url")&config=$(urlencode "$Config")" - else - urlencodeUrl="exclude=$exclude&include=$include&url=$Url&config=$Config" - fi + Url=$(echo $Url | sed 's/%26/\&/g') #处理分隔符 + urlencodeUrl="exclude=$(urlencode "$exclude")&include=$(urlencode "$include")&url=$(urlencode "$Url")&config=$(urlencode "$Config")" + else + urlencodeUrl="exclude=$exclude&include=$include&url=$Url&config=$Config" + fi Https="${Server}/sub?target=${target}&${Server_ua}=${user_agent}&insert=true&new_name=true&scv=true&udp=true&${urlencodeUrl}" url_type=true - else - Https=$(echo $Https | sed 's/\\&/\&/g') #还原转义 + else + Https=$(echo $Https | sed 's/\\&/\&/g') #还原转义 fi #输出 echo "-----------------------------------------------" @@ -92,7 +92,7 @@ get_core_config() { #下载内核配置文件 else . "$CRASHDIR"/starts/clash_config_check.sh fi - check_config + check_config #如果不同则备份并替换文件 if [ -s "$core_config" ]; then compare "$core_config_new" "$core_config" diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index 2849bcbe..bc9d0028 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -9,17 +9,17 @@ getlanip() { #获取局域网host地址 [ -n "$host_ipv4" -a -n "$host_ipv6" ] && break sleep 1 && i=$((i + 1)) done - #Tailscale - [ "$ts_service" = ON ] && { - ts_host_ipv4=' 100.64.0.0/10' - ts_host_ipv6=' fd7a:115c:a1e0::/48' - } - #Wireguard - [ "$wg_service" = ON ] && { - . "$CRASHDIR"/configs/gateway.cfg - wg_host_ipv4=' $wg_ipv4' - [ -n "$wg_ipv6" ] && wg_host_ipv6=' $wg_ipv6' - } + #Tailscale + [ "$ts_service" = ON ] && { + ts_host_ipv4=' 100.64.0.0/10' + ts_host_ipv6=' fd7a:115c:a1e0::/48' + } + #Wireguard + [ "$wg_service" = ON ] && { + . "$CRASHDIR"/configs/gateway.cfg + wg_host_ipv4=' $wg_ipv4' + [ -n "$wg_ipv6" ] && wg_host_ipv6=' $wg_ipv6' + } #添加自定义ipv4局域网网段 if [ "$replace_default_host_ipv4" == "ON" ]; then host_ipv4="$cust_host_ipv4" @@ -28,9 +28,9 @@ getlanip() { #获取局域网host地址 fi #缺省配置 [ -z "$host_ipv4" ] && { - host_ipv4='192.168.0.0/16 10.0.0.0/12 172.16.0.0/12' - logger "无法获取本地LAN-IPV4网段,请前往流量过滤设置界面设置自定义网段!" 31 - } + host_ipv4='192.168.0.0/16 10.0.0.0/12 172.16.0.0/12' + logger "无法获取本地LAN-IPV4网段,请前往流量过滤设置界面设置自定义网段!" 31 + } host_ipv6="fe80::/10 fd00::/8 $host_ipv6$ts_host_ipv6$wg_host_ipv6" #获取本机出口IP地址 local_ipv4=$(ip route 2>&1 | grep -Ev 'utun|iot|docker|linkdown' | grep -Eo 'src.*' | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort -u) diff --git a/scripts/starts/fw_iptables.sh b/scripts/starts/fw_iptables.sh index 73b41af0..c4a828cd 100644 --- a/scripts/starts/fw_iptables.sh +++ b/scripts/starts/fw_iptables.sh @@ -3,7 +3,7 @@ ckcmd iptables && iptables -h | grep -q '\-w' && iptable='iptables -w' || iptable=iptables ckcmd ip6tables && ip6tables -h | grep -q '\-w' && ip6table='ip6tables -w' || ip6table=ip6tables - + start_ipt_route() { #iptables-route通用工具 #$1:iptables/ip6tables $2:所在的表(nat/mangle) $3:所在的链(OUTPUT/PREROUTING) $4:新创建的shellcrash链表 $5:tcp/udp/all #区分ipv4/ipv6 @@ -32,9 +32,9 @@ start_ipt_route() { #iptables-route通用工具 done [ "$firewall_area" = 5 ] && "$1" $w -t "$2" -A "$4" -s $bypass_host -j RETURN [ -z "$ports" ] && { - "$1" $w -t "$2" -A "$4" -p tcp -m multiport --dports "$mix_port,$redir_port,$tproxy_port" -j RETURN - "$1" $w -t "$2" -A "$4" -p udp -m multiport --dports "$mix_port,$redir_port,$tproxy_port" -j RETURN - } + "$1" $w -t "$2" -A "$4" -p tcp -m multiport --dports "$mix_port,$redir_port,$tproxy_port" -j RETURN + "$1" $w -t "$2" -A "$4" -p udp -m multiport --dports "$mix_port,$redir_port,$tproxy_port" -j RETURN + } #跳过目标保留地址及目标本机网段 for ip in $HOST_IP $RESERVED_IP; do "$1" $w -t "$2" -A "$4" -d $ip -j RETURN @@ -136,35 +136,35 @@ start_ipt_dns() { #iptables-dns通用工具 "$1" $w -t nat -I "$2" -p udp --dport 53 -j "$3" } start_ipt_wan() { #iptables公网防火墙 - ipt_wan_accept(){ - $iptable -I INPUT -p "$1" -m multiport --dports "$accept_ports" -j ACCEPT - ckcmd ip6tables && $ip6table -I INPUT -p "$1" -m multiport --dports "$accept_ports" -j ACCEPT - } - ipt_wan_reject(){ - $iptable -I INPUT -p "$1" -m multiport --dports "$reject_ports" -j REJECT - ckcmd ip6tables && $ip6table -I INPUT -p "$1" -m multiport --dports "$reject_ports" -j REJECT - } - #端口拦截 - reject_ports="$mix_port,$db_port" - ipt_wan_reject tcp - ipt_wan_reject udp - #端口放行 - [ -f "$CRASHDIR"/configs/gateway.cfg ] && . "$CRASHDIR"/configs/gateway.cfg - accept_ports=$(echo "$fw_wan_ports,$vms_port,$sss_port" | sed "s/,,/,/g ;s/^,// ;s/,$//") + ipt_wan_accept(){ + $iptable -I INPUT -p "$1" -m multiport --dports "$accept_ports" -j ACCEPT + ckcmd ip6tables && $ip6table -I INPUT -p "$1" -m multiport --dports "$accept_ports" -j ACCEPT + } + ipt_wan_reject(){ + $iptable -I INPUT -p "$1" -m multiport --dports "$reject_ports" -j REJECT + ckcmd ip6tables && $ip6table -I INPUT -p "$1" -m multiport --dports "$reject_ports" -j REJECT + } + #端口拦截 + reject_ports="$mix_port,$db_port" + ipt_wan_reject tcp + ipt_wan_reject udp + #端口放行 + [ -f "$CRASHDIR"/configs/gateway.cfg ] && . "$CRASHDIR"/configs/gateway.cfg + accept_ports=$(echo "$fw_wan_ports,$vms_port,$sss_port" | sed "s/,,/,/g ;s/^,// ;s/,$//") [ -n "$accept_ports" ] && { - ipt_wan_accept tcp - ipt_wan_accept udp - } - #局域网请求放行 - for ip in $host_ipv4; do - $iptable -I INPUT -s $ip -j ACCEPT - done - ckcmd ip6tables && for ip in $host_ipv6; do - $ip6table -I INPUT -s $ip -j ACCEPT - done - #本机请求全放行 - $iptable -I INPUT -i lo -j ACCEPT - ckcmd ip6tables && $ip6table -I INPUT -i lo -j ACCEPT + ipt_wan_accept tcp + ipt_wan_accept udp + } + #局域网请求放行 + for ip in $host_ipv4; do + $iptable -I INPUT -s $ip -j ACCEPT + done + ckcmd ip6tables && for ip in $host_ipv6; do + $ip6table -I INPUT -s $ip -j ACCEPT + done + #本机请求全放行 + $iptable -I INPUT -i lo -j ACCEPT + ckcmd ip6tables && $ip6table -I INPUT -i lo -j ACCEPT } start_iptables() { #iptables配置总入口 #启动公网访问防火墙 diff --git a/scripts/starts/fw_nftables.sh b/scripts/starts/fw_nftables.sh index 4b5bbf2c..b805ea22 100644 --- a/scripts/starts/fw_nftables.sh +++ b/scripts/starts/fw_nftables.sh @@ -5,24 +5,24 @@ RESERVED_IP=$(echo $reserve_ipv4 | sed 's/[[:space:]]\+/, /g') RESERVED_IP6=$(echo "$reserve_ipv6 $host_ipv6" | sed 's/[[:space:]]\+/, /g') add_ip6_route(){ - #过滤保留地址及本机地址 - nft add rule inet shellcrash $1 ip6 daddr {$RESERVED_IP6} return - #仅代理本机局域网网段流量 - nft add rule inet shellcrash $1 ip6 saddr != {$HOST_IP6} return - #绕过CN_IPV6 - [ "$dns_mod" != "fake-ip" -a "$cn_ip_route" = "ON" -a -f "$BINDIR"/cn_ipv6.txt ] && { - CN_IP6=$(awk '{printf "%s, ",$1}' "$BINDIR"/cn_ipv6.txt) - [ -n "$CN_IP6" ] && { - nft add set inet shellcrash cn_ip6 { type ipv6_addr \; flags interval \; } - nft add element inet shellcrash cn_ip6 { $CN_IP6 } - nft add rule inet shellcrash $1 ip6 daddr @cn_ip6 return - } - } + #过滤保留地址及本机地址 + nft add rule inet shellcrash $1 ip6 daddr {$RESERVED_IP6} return + #仅代理本机局域网网段流量 + nft add rule inet shellcrash $1 ip6 saddr != {$HOST_IP6} return + #绕过CN_IPV6 + [ "$dns_mod" != "fake-ip" -a "$cn_ip_route" = "ON" -a -f "$BINDIR"/cn_ipv6.txt ] && { + CN_IP6=$(awk '{printf "%s, ",$1}' "$BINDIR"/cn_ipv6.txt) + [ -n "$CN_IP6" ] && { + nft add set inet shellcrash cn_ip6 { type ipv6_addr \; flags interval \; } + nft add element inet shellcrash cn_ip6 { $CN_IP6 } + nft add rule inet shellcrash $1 ip6 daddr @cn_ip6 return + } + } } start_nft_route() { #nftables-route通用工具 #$1:name $2:hook(prerouting/output) $3:type(nat/mangle/filter) $4:priority(-100/-150) [ "$common_ports" = "ON" ] && PORTS=$(echo $multiport | sed 's/,/, /g') - [ "$1" = 'prerouting' ] && HOST_IP=$(echo $host_ipv4 | sed 's/[[:space:]]\+/, /g') + [ "$1" = 'prerouting' ] && HOST_IP=$(echo $host_ipv4 | sed 's/[[:space:]]\+/, /g') [ "$1" = 'output' ] && HOST_IP="127.0.0.0/8, $(echo $local_ipv4 | sed 's/[[:space:]]\+/, /g')" [ "$1" = 'prerouting_vm' ] && HOST_IP="$(echo $vm_ipv4 | sed 's/[[:space:]]\+/, /g')" #添加新链 @@ -39,9 +39,9 @@ start_nft_route() { #nftables-route通用工具 #过滤常用端口 [ -n "$PORTS" ] && { nft add rule inet shellcrash $1 ip daddr != {28.0.0.0/8} tcp dport != {$PORTS} return - nft add rule inet shellcrash $1 ip daddr != {28.0.0.0/8} udp dport != {$PORTS} return + nft add rule inet shellcrash $1 ip daddr != {28.0.0.0/8} udp dport != {$PORTS} return nft add rule inet shellcrash $1 ip6 daddr != {fc00::/16} tcp dport != {$PORTS} return - nft add rule inet shellcrash $1 ip6 daddr != {fc00::/16} udp dport != {$PORTS} return + nft add rule inet shellcrash $1 ip6 daddr != {fc00::/16} udp dport != {$PORTS} return } #nft add rule inet shellcrash $1 ip saddr 28.0.0.0/8 return nft add rule inet shellcrash $1 ip daddr {$RESERVED_IP} return #过滤保留地址 @@ -76,23 +76,23 @@ start_nft_route() { #nftables-route通用工具 [ "$dns_mod" != "fake-ip" -a "$cn_ip_route" = "ON" -a -f "$BINDIR"/cn_ip.txt ] && { CN_IP=$(awk '{printf "%s, ",$1}' "$BINDIR"/cn_ip.txt) [ -n "$CN_IP" ] && { - nft add set inet shellcrash cn_ip { type ipv4_addr \; flags interval \; } - nft add element inet shellcrash cn_ip { $CN_IP } - nft add rule inet shellcrash $1 ip daddr @cn_ip return - } - } + nft add set inet shellcrash cn_ip { type ipv4_addr \; flags interval \; } + nft add element inet shellcrash cn_ip { $CN_IP } + nft add rule inet shellcrash $1 ip daddr @cn_ip return + } + } #局域网ipv6支持 if [ "$ipv6_redir" = "ON" -a "$1" = 'prerouting' -a "$firewall_area" != 5 ]; then - HOST_IP6=$(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g') + HOST_IP6=$(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g') add_ip6_route "$1" elif [ "$ipv6_redir" = "ON" -a "$1" = 'output' -a \( "$firewall_area" = 2 -o "$firewall_area" = 3 \) ]; then HOST_IP6="::1, $(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g')" - add_ip6_route "$1" + add_ip6_route "$1" else nft add rule inet shellcrash $1 meta nfproto ipv6 return fi - #屏蔽quic - [ "$quic_rj" = 'ON' -a "$lan_proxy" = true ] && nft add rule inet shellcrash $1 udp dport {443, 8443} return + #屏蔽quic + [ "$quic_rj" = 'ON' -a "$lan_proxy" = true ] && nft add rule inet shellcrash $1 udp dport {443, 8443} return #添加通用路由 nft add rule inet shellcrash "$1" "$JUMP" #处理特殊路由 @@ -104,10 +104,10 @@ start_nft_route() { #nftables-route通用工具 #nft add rule inet shellcrash local_tproxy log prefix \"pre\" level debug } start_nft_dns() { #nftables-dns - [ "$1" = 'prerouting' ] && { - HOST_IP=$(echo $host_ipv4 | sed 's/[[:space:]]\+/, /g') - HOST_IP6=$(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g') - } + [ "$1" = 'prerouting' ] && { + HOST_IP=$(echo $host_ipv4 | sed 's/[[:space:]]\+/, /g') + HOST_IP6=$(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g') + } [ "$1" = 'output' ] && HOST_IP="127.0.0.0/8, $(echo $local_ipv4 | sed 's/[[:space:]]\+/, /g')" [ "$1" = 'prerouting_vm' ] && HOST_IP="$(echo $vm_ipv4 | sed 's/[[:space:]]\+/, /g')" nft add chain inet shellcrash "$1"_dns { type nat hook $2 priority -100 \; } @@ -133,26 +133,26 @@ start_nft_dns() { #nftables-dns nft add rule inet shellcrash "$1"_dns tcp dport 53 redirect to "$dns_redir_port" } start_nft_wan() { #nftables公网防火墙 - HOST_IP=$(echo $host_ipv4 | sed 's/[[:space:]]\+/, /g') - HOST_IP6=$(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g') + HOST_IP=$(echo $host_ipv4 | sed 's/[[:space:]]\+/, /g') + HOST_IP6=$(echo $host_ipv6 | sed 's/[[:space:]]\+/, /g') nft add chain inet shellcrash input { type filter hook input priority -100 \; } nft add rule inet shellcrash input iif lo accept #本机请求全放行 - #端口放行 - [ -f "$CRASHDIR"/configs/gateway.cfg ] && . "$CRASHDIR"/configs/gateway.cfg - accept_ports=$(echo "$fw_wan_ports,$vms_port,$sss_port" | sed "s/,,/,/g ;s/^,// ;s/,$// ;s/,/, /") + #端口放行 + [ -f "$CRASHDIR"/configs/gateway.cfg ] && . "$CRASHDIR"/configs/gateway.cfg + accept_ports=$(echo "$fw_wan_ports,$vms_port,$sss_port" | sed "s/,,/,/g ;s/^,// ;s/,$// ;s/,/, /") [ -n "$accept_ports" ] && { - fw_wan_nfports="{ $(echo "$accept_ports" | sed 's/,/, /g') }" - nft add rule inet shellcrash input tcp dport $fw_wan_nfports meta mark set 0x67890 accept - nft add rule inet shellcrash input udp dport $fw_wan_nfports meta mark set 0x67890 accept - } - #端口拦截 - reject_ports="{ $mix_port, $db_port }" - nft add rule inet shellcrash input ip saddr {$HOST_IP} accept - nft add rule inet shellcrash input ip6 saddr {$HOST_IP6} accept - nft add rule inet shellcrash input tcp dport $reject_ports reject - nft add rule inet shellcrash input udp dport $reject_ports reject - #fw4特殊处理 - nft list chain inet fw4 input >/dev/null 2>&1 && \ + fw_wan_nfports="{ $(echo "$accept_ports" | sed 's/,/, /g') }" + nft add rule inet shellcrash input tcp dport $fw_wan_nfports meta mark set 0x67890 accept + nft add rule inet shellcrash input udp dport $fw_wan_nfports meta mark set 0x67890 accept + } + #端口拦截 + reject_ports="{ $mix_port, $db_port }" + nft add rule inet shellcrash input ip saddr {$HOST_IP} accept + nft add rule inet shellcrash input ip6 saddr {$HOST_IP6} accept + nft add rule inet shellcrash input tcp dport $reject_ports reject + nft add rule inet shellcrash input udp dport $reject_ports reject + #fw4特殊处理 + nft list chain inet fw4 input >/dev/null 2>&1 && \ nft list chain inet fw4 input | grep -q '67890' || \ nft insert rule inet fw4 input meta mark 0x67890 accept 2>/dev/null } diff --git a/scripts/starts/fw_start.sh b/scripts/starts/fw_start.sh index 36a985c8..955692d7 100644 --- a/scripts/starts/fw_start.sh +++ b/scripts/starts/fw_start.sh @@ -14,27 +14,27 @@ #设置策略路由 [ "$firewall_area" != 4 ] && { - [ "$redir_mod" = "Tproxy" ] && ip route add local default dev lo table $table 2>/dev/null - [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && { - i=1 - while [ -z "$(ip route list | grep utun)" -a "$i" -le 29 ]; do - sleep 1 - i=$((i + 1)) - done - if [ -z "$(ip route list | grep utun)" ]; then - logger "找不到tun模块,放弃启动tun相关防火墙规则!" 31 - else - ip route add default dev utun table $table && tun_statu=true - fi - } - [ "$firewall_area" = 5 ] && ip route add default via $bypass_host table $table 2>/dev/null - [ "$redir_mod" != "Redir" ] && ip rule add fwmark $fwmark table $table 2>/dev/null + [ "$redir_mod" = "Tproxy" ] && ip route add local default dev lo table $table 2>/dev/null + [ "$redir_mod" = "Tun" -o "$redir_mod" = "Mix" ] && { + i=1 + while [ -z "$(ip route list | grep utun)" -a "$i" -le 29 ]; do + sleep 1 + i=$((i + 1)) + done + if [ -z "$(ip route list | grep utun)" ]; then + logger "找不到tun模块,放弃启动tun相关防火墙规则!" 31 + else + ip route add default dev utun table $table && tun_statu=true + fi + } + [ "$firewall_area" = 5 ] && ip route add default via $bypass_host table $table 2>/dev/null + [ "$redir_mod" != "Redir" ] && ip rule add fwmark $fwmark table $table 2>/dev/null } #添加ipv6路由 [ "$ipv6_redir" = "ON" -a "$firewall_area" -le 3 ] && { - [ "$redir_mod" = "Tproxy" ] && ip -6 route add local default dev lo table $((table + 1)) 2>/dev/null - [ -n "$(ip route list | grep utun)" ] && ip -6 route add default dev utun table $((table + 1)) 2>/dev/null - [ "$redir_mod" != "Redir" ] && ip -6 rule add fwmark $fwmark table $((table + 1)) 2>/dev/null + [ "$redir_mod" = "Tproxy" ] && ip -6 route add local default dev lo table $((table + 1)) 2>/dev/null + [ -n "$(ip route list | grep utun)" ] && ip -6 route add default dev utun table $((table + 1)) 2>/dev/null + [ "$redir_mod" != "Redir" ] && ip -6 rule add fwmark $fwmark table $((table + 1)) 2>/dev/null } #判断代理用途 [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && local_proxy=true @@ -44,11 +44,11 @@ [ "$firewall_mod" = 'nftables' ] && . "$CRASHDIR"/starts/fw_nftables.sh && start_nftables #修复部分虚拟机dns查询失败的问题 [ "$firewall_area" = 2 -o "$firewall_area" = 3 ] && [ -z "$(grep '127.0.0.1' /etc/resolv.conf 2>/dev/null)" ] && [ "$systype" != 'container' ] && { - line=$(grep -n 'nameserver' /etc/resolv.conf | awk -F: 'FNR==1{print $1}') - sed -i "$line i\nameserver 127.0.0.1 #shellcrash-dns-repair" /etc/resolv.conf >/dev/null 2>&1 + line=$(grep -n 'nameserver' /etc/resolv.conf | awk -F: 'FNR==1{print $1}') + sed -i "$line i\nameserver 127.0.0.1 #shellcrash-dns-repair" /etc/resolv.conf >/dev/null 2>&1 } #移除openwrt-dnsmasq的DNS重定向 [ "$(uci get dhcp.@dnsmasq[0].dns_redirect 2>/dev/null)" = 1 ] && { - uci del dhcp.@dnsmasq[0].dns_redirect - uci commit dhcp.@dnsmasq[0] + uci del dhcp.@dnsmasq[0].dns_redirect + uci commit dhcp.@dnsmasq[0] } diff --git a/scripts/starts/fw_stop.sh b/scripts/starts/fw_stop.sh index d528b7be..8e3757b3 100644 --- a/scripts/starts/fw_stop.sh +++ b/scripts/starts/fw_stop.sh @@ -14,110 +14,110 @@ accept_ports=$(echo "$fw_wan_ports,$vms_port,$sss_port" | sed "s/,,/,/g ;s/^,// ;s/,$//") #重置iptables相关规则 ckcmd iptables && { - ckcmd iptables && iptables -h | grep -q '\-w' && iptable='iptables -w' || iptable=iptables - #dns - $iptable -t nat -D PREROUTING -p tcp --dport 53 -j shellcrash_dns 2>/dev/null - $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_dns 2>/dev/null - $iptable -t nat -D OUTPUT -p udp --dport 53 -j shellcrash_dns_out 2>/dev/null - $iptable -t nat -D OUTPUT -p tcp --dport 53 -j shellcrash_dns_out 2>/dev/null - #redir - $iptable -t nat -D PREROUTING -p tcp $ports -j shellcrash 2>/dev/null - $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash 2>/dev/null - $iptable -t nat -D OUTPUT -p tcp $ports -j shellcrash_out 2>/dev/null - $iptable -t nat -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_out 2>/dev/null - #vm_dns - $iptable -t nat -D PREROUTING -p tcp --dport 53 -j shellcrash_vm_dns 2>/dev/null - $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_vm_dns 2>/dev/null - #vm_redir - $iptable -t nat -D PREROUTING -p tcp $ports -j shellcrash_vm 2>/dev/null - $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_vm 2>/dev/null - #TPROXY&tun - $iptable -t mangle -D PREROUTING -p tcp $ports -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D PREROUTING -p udp $ports -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D PREROUTING -p udp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D OUTPUT -p tcp $ports -j shellcrash_mark_out 2>/dev/null - $iptable -t mangle -D OUTPUT -p udp $ports -j shellcrash_mark_out 2>/dev/null - $iptable -t mangle -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null - $iptable -t mangle -D OUTPUT -p udp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null - $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p tcp -j TPROXY --on-port $tproxy_port 2>/dev/null - $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p udp -j TPROXY --on-port $tproxy_port 2>/dev/null - #tun - $iptable -D FORWARD -o utun -j ACCEPT 2>/dev/null - #屏蔽QUIC - [ "$dns_mod" != "fake-ip" ] && [ "$cn_ip_route" != "OFF" ] && set_cn_ip='-m set ! --match-set cn_ip dst' - $iptable -D INPUT -p udp --dport 443 $set_cn_ip -j REJECT 2>/dev/null - $iptable -D FORWARD -p udp --dport 443 -o utun $set_cn_ip -j REJECT 2>/dev/null - #公网访问 - $iptable -D INPUT -i lo -j ACCEPT 2>/dev/null - for ip in $host_ipv4; do - $iptable -D INPUT -s $ip -j ACCEPT 2>/dev/null - done - $iptable -D INPUT -p tcp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null - $iptable -D INPUT -p udp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null - $iptable -D INPUT -p tcp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null - $iptable -D INPUT -p udp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null - #清理shellcrash自建表 - for text in shellcrash_dns shellcrash shellcrash_out shellcrash_dns_out shellcrash_vm shellcrash_vm_dns; do - $iptable -t nat -F "$text" 2>/dev/null - $iptable -t nat -X "$text" 2>/dev/null - done - for text in shellcrash_mark shellcrash_mark_out; do - $iptable -t mangle -F "$text" 2>/dev/null - $iptable -t mangle -X "$text" 2>/dev/null - done + ckcmd iptables && iptables -h | grep -q '\-w' && iptable='iptables -w' || iptable=iptables + #dns + $iptable -t nat -D PREROUTING -p tcp --dport 53 -j shellcrash_dns 2>/dev/null + $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_dns 2>/dev/null + $iptable -t nat -D OUTPUT -p udp --dport 53 -j shellcrash_dns_out 2>/dev/null + $iptable -t nat -D OUTPUT -p tcp --dport 53 -j shellcrash_dns_out 2>/dev/null + #redir + $iptable -t nat -D PREROUTING -p tcp $ports -j shellcrash 2>/dev/null + $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash 2>/dev/null + $iptable -t nat -D OUTPUT -p tcp $ports -j shellcrash_out 2>/dev/null + $iptable -t nat -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_out 2>/dev/null + #vm_dns + $iptable -t nat -D PREROUTING -p tcp --dport 53 -j shellcrash_vm_dns 2>/dev/null + $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_vm_dns 2>/dev/null + #vm_redir + $iptable -t nat -D PREROUTING -p tcp $ports -j shellcrash_vm 2>/dev/null + $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_vm 2>/dev/null + #TPROXY&tun + $iptable -t mangle -D PREROUTING -p tcp $ports -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D PREROUTING -p udp $ports -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D PREROUTING -p udp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D OUTPUT -p tcp $ports -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D OUTPUT -p udp $ports -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D OUTPUT -p udp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p tcp -j TPROXY --on-port $tproxy_port 2>/dev/null + $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p udp -j TPROXY --on-port $tproxy_port 2>/dev/null + #tun + $iptable -D FORWARD -o utun -j ACCEPT 2>/dev/null + #屏蔽QUIC + [ "$dns_mod" != "fake-ip" ] && [ "$cn_ip_route" != "OFF" ] && set_cn_ip='-m set ! --match-set cn_ip dst' + $iptable -D INPUT -p udp --dport 443 $set_cn_ip -j REJECT 2>/dev/null + $iptable -D FORWARD -p udp --dport 443 -o utun $set_cn_ip -j REJECT 2>/dev/null + #公网访问 + $iptable -D INPUT -i lo -j ACCEPT 2>/dev/null + for ip in $host_ipv4; do + $iptable -D INPUT -s $ip -j ACCEPT 2>/dev/null + done + $iptable -D INPUT -p tcp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null + $iptable -D INPUT -p udp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null + $iptable -D INPUT -p tcp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null + $iptable -D INPUT -p udp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null + #清理shellcrash自建表 + for text in shellcrash_dns shellcrash shellcrash_out shellcrash_dns_out shellcrash_vm shellcrash_vm_dns; do + $iptable -t nat -F "$text" 2>/dev/null + $iptable -t nat -X "$text" 2>/dev/null + done + for text in shellcrash_mark shellcrash_mark_out; do + $iptable -t mangle -F "$text" 2>/dev/null + $iptable -t mangle -X "$text" 2>/dev/null + done } #重置ipv6规则 ckcmd ip6tables && { - ckcmd ip6tables && ip6tables -h | grep -q '\-w' && ip6table='ip6tables -w' || ip6table=ip6tables - #dns - $ip6table -t nat -D PREROUTING -p tcp --dport 53 -j shellcrashv6_dns 2>/dev/null - $ip6table -t nat -D PREROUTING -p udp --dport 53 -j shellcrashv6_dns 2>/dev/null - #redir - $ip6table -t nat -D PREROUTING -p tcp $ports -j shellcrashv6 2>/dev/null - $ip6table -t nat -D PREROUTING -p tcp -d fc00::/16 -j shellcrashv6 2>/dev/null - $ip6table -t nat -D OUTPUT -p tcp $ports -j shellcrashv6_out 2>/dev/null - $ip6table -t nat -D OUTPUT -p tcp -d fc00::/16 -j shellcrashv6_out 2>/dev/null - $ip6table -D INPUT -p tcp --dport 53 -j REJECT 2>/dev/null - $ip6table -D INPUT -p udp --dport 53 -j REJECT 2>/dev/null - #mark - $ip6table -t mangle -D PREROUTING -p tcp $ports -j shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -D PREROUTING -p udp $ports -j shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -D PREROUTING -p tcp -d fc00::/16 -j shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -D PREROUTING -p udp -d fc00::/16 -j shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -D OUTPUT -p tcp $ports -j shellcrashv6_mark_out 2>/dev/null - $ip6table -t mangle -D OUTPUT -p udp $ports -j shellcrashv6_mark_out 2>/dev/null - $ip6table -t mangle -D OUTPUT -p tcp -d fc00::/16 -j shellcrashv6_mark_out 2>/dev/null - $ip6table -t mangle -D OUTPUT -p udp -d fc00::/16 -j shellcrashv6_mark_out 2>/dev/null - $ip6table -D INPUT -p udp --dport 443 $set_cn_ip -j REJECT 2>/dev/null - $ip6table -t mangle -D PREROUTING -m mark --mark $fwmark -p tcp -j TPROXY --on-port $tproxy_port 2>/dev/null - $ip6table -t mangle -D PREROUTING -m mark --mark $fwmark -p udp -j TPROXY --on-port $tproxy_port 2>/dev/null - #tun - $ip6table -D FORWARD -o utun -j ACCEPT 2>/dev/null - #屏蔽QUIC - [ "$dns_mod" != "fake-ip" ] && [ "$cn_ip_route" != "OFF" ] && set_cn_ip6='-m set ! --match-set cn_ip6 dst' - $ip6table -D INPUT -p udp --dport 443 $set_cn_ip6 -j REJECT 2>/dev/null - $ip6table -D FORWARD -p udp --dport 443 -o utun $set_cn_ip6 -j REJECT 2>/dev/null - #公网访问 - $ip6table -D INPUT -i lo -j ACCEPT 2>/dev/null - for ip in $host_ipv6; do - $ip6table -D INPUT -s $ip -j ACCEPT 2>/dev/null - done - $ip6table -D INPUT -p tcp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null - $ip6table -D INPUT -p udp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null - $ip6table -D INPUT -p tcp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null - $ip6table -D INPUT -p udp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null - #清理shellcrash自建表 - for text in shellcrashv6_dns shellcrashv6 shellcrashv6_out; do - $ip6table -t nat -F "$text" 2>/dev/null - $ip6table -t nat -X "$text" 2>/dev/null - done - for text in shellcrashv6_mark shellcrashv6_mark_out; do - $ip6table -t mangle -F "$text" 2>/dev/null - $ip6table -t mangle -X "$text" 2>/dev/null - done - $ip6table -t mangle -F shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -X shellcrashv6_mark 2>/dev/null + ckcmd ip6tables && ip6tables -h | grep -q '\-w' && ip6table='ip6tables -w' || ip6table=ip6tables + #dns + $ip6table -t nat -D PREROUTING -p tcp --dport 53 -j shellcrashv6_dns 2>/dev/null + $ip6table -t nat -D PREROUTING -p udp --dport 53 -j shellcrashv6_dns 2>/dev/null + #redir + $ip6table -t nat -D PREROUTING -p tcp $ports -j shellcrashv6 2>/dev/null + $ip6table -t nat -D PREROUTING -p tcp -d fc00::/16 -j shellcrashv6 2>/dev/null + $ip6table -t nat -D OUTPUT -p tcp $ports -j shellcrashv6_out 2>/dev/null + $ip6table -t nat -D OUTPUT -p tcp -d fc00::/16 -j shellcrashv6_out 2>/dev/null + $ip6table -D INPUT -p tcp --dport 53 -j REJECT 2>/dev/null + $ip6table -D INPUT -p udp --dport 53 -j REJECT 2>/dev/null + #mark + $ip6table -t mangle -D PREROUTING -p tcp $ports -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D PREROUTING -p udp $ports -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D PREROUTING -p tcp -d fc00::/16 -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D PREROUTING -p udp -d fc00::/16 -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D OUTPUT -p tcp $ports -j shellcrashv6_mark_out 2>/dev/null + $ip6table -t mangle -D OUTPUT -p udp $ports -j shellcrashv6_mark_out 2>/dev/null + $ip6table -t mangle -D OUTPUT -p tcp -d fc00::/16 -j shellcrashv6_mark_out 2>/dev/null + $ip6table -t mangle -D OUTPUT -p udp -d fc00::/16 -j shellcrashv6_mark_out 2>/dev/null + $ip6table -D INPUT -p udp --dport 443 $set_cn_ip -j REJECT 2>/dev/null + $ip6table -t mangle -D PREROUTING -m mark --mark $fwmark -p tcp -j TPROXY --on-port $tproxy_port 2>/dev/null + $ip6table -t mangle -D PREROUTING -m mark --mark $fwmark -p udp -j TPROXY --on-port $tproxy_port 2>/dev/null + #tun + $ip6table -D FORWARD -o utun -j ACCEPT 2>/dev/null + #屏蔽QUIC + [ "$dns_mod" != "fake-ip" ] && [ "$cn_ip_route" != "OFF" ] && set_cn_ip6='-m set ! --match-set cn_ip6 dst' + $ip6table -D INPUT -p udp --dport 443 $set_cn_ip6 -j REJECT 2>/dev/null + $ip6table -D FORWARD -p udp --dport 443 -o utun $set_cn_ip6 -j REJECT 2>/dev/null + #公网访问 + $ip6table -D INPUT -i lo -j ACCEPT 2>/dev/null + for ip in $host_ipv6; do + $ip6table -D INPUT -s $ip -j ACCEPT 2>/dev/null + done + $ip6table -D INPUT -p tcp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null + $ip6table -D INPUT -p udp -m multiport --dports "$accept_ports" -j ACCEPT 2>/dev/null + $ip6table -D INPUT -p tcp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null + $ip6table -D INPUT -p udp -m multiport --dports "$mix_port,$db_port" -j REJECT 2>/dev/null + #清理shellcrash自建表 + for text in shellcrashv6_dns shellcrashv6 shellcrashv6_out; do + $ip6table -t nat -F "$text" 2>/dev/null + $ip6table -t nat -X "$text" 2>/dev/null + done + for text in shellcrashv6_mark shellcrashv6_mark_out; do + $ip6table -t mangle -F "$text" 2>/dev/null + $ip6table -t mangle -X "$text" 2>/dev/null + done + $ip6table -t mangle -F shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -X shellcrashv6_mark 2>/dev/null } #清理ipset规则 ipset destroy cn_ip >/dev/null 2>&1 diff --git a/scripts/starts/general_init.sh b/scripts/starts/general_init.sh index 8a8bcde4..38228304 100644 --- a/scripts/starts/general_init.sh +++ b/scripts/starts/general_init.sh @@ -9,22 +9,22 @@ profile=/etc/profile . "$CRASHDIR"/configs/ShellCrash.cfg #padavan和华硕环境变量目录设置 if [ -d "/etc/storage/clash" -o -d "/etc/storage/ShellCrash" ]; then - i=1 - while [ ! -w /etc/profile -a "$i" -lt 10 ]; do - sleep 3 && i=$((i + 1)) - done - [ -w "$profile" ] || profile=/etc_ro/profile - [ "$zip_type" = 'upx' ] || mount -t tmpfs -o remount,rw,size=45M tmpfs /tmp #增加/tmp空间以适配新的内核压缩方式 - sed -i '' "$profile" #将软链接转化为一般文件 + i=1 + while [ ! -w /etc/profile -a "$i" -lt 10 ]; do + sleep 3 && i=$((i + 1)) + done + [ -w "$profile" ] || profile=/etc_ro/profile + [ "$zip_type" = 'upx' ] || mount -t tmpfs -o remount,rw,size=45M tmpfs /tmp #增加/tmp空间以适配新的内核压缩方式 + sed -i '' "$profile" #将软链接转化为一般文件 elif [ -d "/jffs" ]; then - sleep 60 - [ -w "$profile" ] || profile=$(cat /etc/profile | grep -oE '\-f.*jffs.*profile' | awk '{print $2}') + sleep 60 + [ -w "$profile" ] || profile=$(cat /etc/profile | grep -oE '\-f.*jffs.*profile' | awk '{print $2}') fi #写入环境变量 set_profile "$profile" #启动进程或删除守护进程 if [ -f "$CRASHDIR"/.dis_startup ] || [ -f "$CRASHDIR"/.start_error ];then - cronset "保守模式守护进程" + cronset "保守模式守护进程" else - "$CRASHDIR"/start.sh start + "$CRASHDIR"/start.sh start fi diff --git a/scripts/starts/singbox_check.sh b/scripts/starts/singbox_check.sh index 9307664f..10bbf6f5 100644 --- a/scripts/starts/singbox_check.sh +++ b/scripts/starts/singbox_check.sh @@ -2,8 +2,8 @@ singbox_check() { #singbox启动前检查 #检测singboxr专属功能 [ "$crashcore" != "singboxr" ] && [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oE '"shadowsocksr"|"providers"')" ] && { - . "$CRASHDIR"/starts/core_exchange.sh && core_exchange singboxr 'singboxr内核专属功能' - } + . "$CRASHDIR"/starts/core_exchange.sh && core_exchange singboxr 'singboxr内核专属功能' + } check_core #预下载cn.srs数据库 [ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '"tag" *:[[:space:]]*"cn"' "$CRASHDIR"/jsons/*.json && check_geo ruleset/cn.srs srs_geosite_cn.srs diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index bde8ce07..a944649d 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -39,7 +39,7 @@ parse_singbox_dns() { #dns转换 esac fi # 输出 - echo '"type": "'"$type"'", "server": "'"$server"'", "server_port": '"$port"',' + echo '"type": "'"$type"'", "server": "'"$server"'", "server_port": '"$port"',' } modify_json() { #提取配置文件以获得outbounds.json,providers.json及route.json @@ -53,11 +53,11 @@ modify_json() { } cat "$TMPDIR"/format.json | sed -n '/"route":/,/^\( "[a-z]\|}\)/p' | sed '$d' >>"$TMPDIR"/jsons/route.json #生成endpoints.json - [ "$ts_service" = ON ] || [ "$wg_service" = ON ] && [ "$zip_type" != upx ] && { - . "$CRASHDIR"/configs/gateway.cfg - . "$CRASHDIR"/libs/sb_endpoints.sh - } - #生成log.json + [ "$ts_service" = ON ] || [ "$wg_service" = ON ] && [ "$zip_type" != upx ] && { + . "$CRASHDIR"/configs/gateway.cfg + . "$CRASHDIR"/libs/sb_endpoints.sh + } + #生成log.json cat >"$TMPDIR"/jsons/log.json <"$TMPDIR"/jsons/add_rule_set.json <>"$TMPDIR"/jsons/tun.json <"$TMPDIR"/jsons/add_outbounds.json <"$TMPDIR"/jsons/experimental.json < /dev/null - #备份还原SSH秘钥 - [ -f "$CRASHDIR"/configs/dropbear_rsa_host_key ] && ln -sf "$CRASHDIR"/configs/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key - [ -f "$CRASHDIR"/configs/authorized_keys ] && ln -sf "$CRASHDIR"/configs/authorized_keys /etc/dropbear/authorized_keys + uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable' + uci -c /usr/share/xiaoqiang commit xiaoqiang_version.version + } + [ -z "$(pidof dropbear)" -o -z "$(netstat -ntul | grep :22)" ] && { + sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear + /etc/init.d/dropbear restart + [ -n "$mi_autoSSH_pwd" ] && echo -e "$mi_autoSSH_pwd\n$mi_autoSSH_pwd" | passwd root + } + #配置nvram + [ "$(nvram get ssh_en)" = 0 ] && nvram set ssh_en=1 + [ "$(nvram get telnet_en)" = 0 ] && nvram set telnet_en=1 + nvram commit &> /dev/null + #备份还原SSH秘钥 + [ -f "$CRASHDIR"/configs/dropbear_rsa_host_key ] && ln -sf "$CRASHDIR"/configs/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key + [ -f "$CRASHDIR"/configs/authorized_keys ] && ln -sf "$CRASHDIR"/configs/authorized_keys /etc/dropbear/authorized_keys } tunfix(){ - ko_dir=$(modinfo ip_tables | grep -Eo '/lib/modules.*/ip_tables.ko' | sed 's|/ip_tables.ko||' ) - #在/tmp创建并挂载overlay - mkdir -p /tmp/overlay - mkdir -p /tmp/overlay/upper - mkdir -p /tmp/overlay/work - mount -o noatime,lowerdir="$ko_dir",upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work -t overlay "overlay_mods_only" "$ko_dir" - #将tun.ko链接到lib - ln -sf "$CRASHDIR"/tools/tun.ko "$ko_dir"/tun.ko + ko_dir=$(modinfo ip_tables | grep -Eo '/lib/modules.*/ip_tables.ko' | sed 's|/ip_tables.ko||' ) + #在/tmp创建并挂载overlay + mkdir -p /tmp/overlay + mkdir -p /tmp/overlay/upper + mkdir -p /tmp/overlay/work + mount -o noatime,lowerdir="$ko_dir",upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work -t overlay "overlay_mods_only" "$ko_dir" + #将tun.ko链接到lib + ln -sf "$CRASHDIR"/tools/tun.ko "$ko_dir"/tun.ko } tproxyfix(){ - sed -i 's/sysctl -w net.bridge.bridge-nf-call-ip/#sysctl -w net.bridge.bridge-nf-call-ip/g' /etc/init.d/qca-nss-ecm - sysctl -w net.bridge.bridge-nf-call-iptables=0 - sysctl -w net.bridge.bridge-nf-call-ip6tables=0 + sed -i 's/sysctl -w net.bridge.bridge-nf-call-ip/#sysctl -w net.bridge.bridge-nf-call-ip/g' /etc/init.d/qca-nss-ecm + sysctl -w net.bridge.bridge-nf-call-iptables=0 + sysctl -w net.bridge.bridge-nf-call-ip6tables=0 } auto_clean(){ - #自动清理升级备份文件夹 - rm -rf /data/etc_bak - #自动清理被写入闪存的系统日志并禁止服务 - /etc/init.d/stat_points stop 2>/dev/null - /etc/init.d/stat_points disable 2>/dev/null - sed -i '\#/logrotate#{ /^[[:space:]]*#/!s/^/#ShellCrash自动注释 / }' /etc/crontabs/root - sed -i '\#/sec_cfg_bak#{ /^[[:space:]]*#/!s/^/#ShellCrash自动注释 / }' /etc/crontabs/root - rm -rf /data/usr/log /data/usr/sec_cfg - + #自动清理升级备份文件夹 + rm -rf /data/etc_bak + #自动清理被写入闪存的系统日志并禁止服务 + /etc/init.d/stat_points stop 2>/dev/null + /etc/init.d/stat_points disable 2>/dev/null + sed -i '\#/logrotate#{ /^[[:space:]]*#/!s/^/#ShellCrash自动注释 / }' /etc/crontabs/root + sed -i '\#/sec_cfg_bak#{ /^[[:space:]]*#/!s/^/#ShellCrash自动注释 / }' /etc/crontabs/root + rm -rf /data/usr/log /data/usr/sec_cfg + } auto_start(){ - #设置init.d服务 - [ ! -x /etc/init.d/shellcrash ] && { - cp -f "$CRASHDIR"/starts/shellcrash.procd /etc/init.d/shellcrash - chmod 755 /etc/init.d/shellcrash - } - #初始化环境变量 - grep -q '^export CRASHDIR=' '/etc/profile' || { - . "$CRASHDIR"/libs/set_profile.sh - set_profile '/etc/profile' - } - #启动服务 - if [ ! -f "$CRASHDIR"/.dis_startup ] && [ ! -f "$CRASHDIR"/.start_error ]; then - #AX6S/AX6000修复tun功能 - [ -s "$CRASHDIR"/tools/tun.ko ] && tunfix - #小米7000/小米万兆修复tproxy - [ -f /etc/init.d/qca-nss-ecm ] && echo "$redir_mod" | grep -q 'Tproxy' && tproxyfix - #自动覆盖根证书文件 - [ -s "$CRASHDIR"/tools/ca-certificates.crt ] && cp -f "$CRASHDIR"/tools/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt - #启动服务 - "$CRASHDIR"/start.sh stop - /etc/init.d/shellcrash start && /etc/init.d/shellcrash enable - fi + #设置init.d服务 + [ ! -x /etc/init.d/shellcrash ] && { + cp -f "$CRASHDIR"/starts/shellcrash.procd /etc/init.d/shellcrash + chmod 755 /etc/init.d/shellcrash + } + #初始化环境变量 + grep -q '^export CRASHDIR=' '/etc/profile' || { + . "$CRASHDIR"/libs/set_profile.sh + set_profile '/etc/profile' + } + #启动服务 + if [ ! -f "$CRASHDIR"/.dis_startup ] && [ ! -f "$CRASHDIR"/.start_error ]; then + #AX6S/AX6000修复tun功能 + [ -s "$CRASHDIR"/tools/tun.ko ] && tunfix + #小米7000/小米万兆修复tproxy + [ -f /etc/init.d/qca-nss-ecm ] && echo "$redir_mod" | grep -q 'Tproxy' && tproxyfix + #自动覆盖根证书文件 + [ -s "$CRASHDIR"/tools/ca-certificates.crt ] && cp -f "$CRASHDIR"/tools/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt + #启动服务 + "$CRASHDIR"/start.sh stop + /etc/init.d/shellcrash start && /etc/init.d/shellcrash enable + fi } init(){ - #等待启动完成 - while ! ip a| grep -q lan; do - sleep 10 - done - autoSSH #软固化功能 - auto_clean #自动清理 - auto_start - #启动自定义服务 - [ -s /data/auto_start.sh ] && /bin/sh /data/auto_start.sh & - #兼容auto_ssh脚本 - [ -s /data/auto_ssh/auto_ssh.sh ] && /bin/sh /data/auto_ssh/auto_ssh.sh & + #等待启动完成 + while ! ip a| grep -q lan; do + sleep 10 + done + autoSSH #软固化功能 + auto_clean #自动清理 + auto_start + #启动自定义服务 + [ -s /data/auto_start.sh ] && /bin/sh /data/auto_start.sh & + #兼容auto_ssh脚本 + [ -s /data/auto_ssh/auto_ssh.sh ] && /bin/sh /data/auto_ssh/auto_ssh.sh & } case "$1" in - tunfix) tunfix ;; - tproxyfix) tproxyfix ;; - auto_clean) auto_clean ;; - init) init ;; - *) - if [ -z "$(pidof CrashCore)" ];then - init & - fi - ;; + tunfix) tunfix ;; + tproxyfix) tproxyfix ;; + auto_clean) auto_clean ;; + init) init ;; + *) + if [ -z "$(pidof CrashCore)" ];then + init & + fi + ;; esac diff --git a/scripts/starts/start_error.sh b/scripts/starts/start_error.sh index 13726b50..ecd875db 100644 --- a/scripts/starts/start_error.sh +++ b/scripts/starts/start_error.sh @@ -1,11 +1,11 @@ if [ "$start_old" != "ON" ] && ckcmd journalctl; then - journalctl -u shellcrash >"$TMPDIR"/core_test.log + journalctl -u shellcrash >"$TMPDIR"/core_test.log else - PID=$(pidof CrashCore) && [ -n "$PID" ] && kill -9 "$PID" >/dev/null 2>&1 - ${COMMAND} >"$TMPDIR"/core_test.log 2>&1 & - sleep 2 - kill $! >/dev/null 2>&1 + PID=$(pidof CrashCore) && [ -n "$PID" ] && kill -9 "$PID" >/dev/null 2>&1 + ${COMMAND} >"$TMPDIR"/core_test.log 2>&1 & + sleep 2 + kill $! >/dev/null 2>&1 fi touch "$CRASHDIR"/.start_error #标记启动失败,防止自启 error=$(cat "$TMPDIR"/core_test.log | grep -iEo 'error.*=.*|.*ERROR.*|.*FATAL.*') diff --git a/scripts/starts/start_legacy.sh b/scripts/starts/start_legacy.sh index bcbd4dc1..84e7d196 100644 --- a/scripts/starts/start_legacy.sh +++ b/scripts/starts/start_legacy.sh @@ -2,14 +2,14 @@ . "$CRASHDIR"/libs/check_cmd.sh start_legacy(){ - ckcmd nohup && _nohup=nohup - if ckcmd su && grep -q 'shellcrash:x:0:7890' /etc/passwd;then - su shellcrash -c "$_nohup $1 >/dev/null 2>&1 & echo \$! > /tmp/ShellCrash/$2.pid" - elif ckcmd setsid; then + ckcmd nohup && _nohup=nohup + if ckcmd su && grep -q 'shellcrash:x:0:7890' /etc/passwd;then + su shellcrash -c "$_nohup $1 >/dev/null 2>&1 & echo \$! > /tmp/ShellCrash/$2.pid" + elif ckcmd setsid; then $_nohup setsid $1 >/dev/null 2>&1 & echo $! > "/tmp/ShellCrash/$2.pid" - else - $_nohup $1 >/dev/null 2>&1 & - echo $! > "/tmp/ShellCrash/$2.pid" - fi + else + $_nohup $1 >/dev/null 2>&1 & + echo $! > "/tmp/ShellCrash/$2.pid" + fi } diff --git a/scripts/starts/start_legacy_wd.sh b/scripts/starts/start_legacy_wd.sh index f1695ef1..bd8ef80b 100644 --- a/scripts/starts/start_legacy_wd.sh +++ b/scripts/starts/start_legacy_wd.sh @@ -7,24 +7,24 @@ LOCKDIR="/tmp/ShellCrash/start_$1.lock" mkdir "$LOCKDIR" 2>/dev/null || exit 1 if [ -f "$PIDFILE" ]; then - PID="$(cat "$PIDFILE")" - if [ -n "$PID" ] && [ "$PID" -eq "$PID" ] 2>/dev/null; then - if kill -0 "$PID" 2>/dev/null || [ -d "/proc/$PID" ]; then - rm -fr "$LOCKDIR" 2>/dev/null - exit 0 - fi - else - rm -f "$PIDFILE" - fi + PID="$(cat "$PIDFILE")" + if [ -n "$PID" ] && [ "$PID" -eq "$PID" ] 2>/dev/null; then + if kill -0 "$PID" 2>/dev/null || [ -d "/proc/$PID" ]; then + rm -fr "$LOCKDIR" 2>/dev/null + exit 0 + fi + else + rm -f "$PIDFILE" + fi fi #如果没有进程则拉起 if [ "$1" = "shellcrash" ]; then - "$CRASHDIR"/start.sh start + "$CRASHDIR"/start.sh start else - [ -f "$CRASHDIR/starts/start_legacy.sh" ] && . "$CRASHDIR/starts/start_legacy.sh" - killall bot_tg.sh 2>/dev/null - start_legacy "$CRASHDIR/menus/bot_tg.sh" "$1" + [ -f "$CRASHDIR/starts/start_legacy.sh" ] && . "$CRASHDIR/starts/start_legacy.sh" + killall bot_tg.sh 2>/dev/null + start_legacy "$CRASHDIR/menus/bot_tg.sh" "$1" fi rm -fr "$LOCKDIR" 2>/dev/null From 8d51f0aab62a982a3cc766e4f50ecadc3c0efbaf Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Wed, 25 Mar 2026 21:16:20 +0800 Subject: [PATCH 255/318] =?UTF-8?q?=E4=BC=98=E5=8C=96=20web=5Fsave=20?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8C=E7=A1=AE=E4=BF=9D=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E5=93=8D=E5=BA=94=E5=86=8D=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/web_save.sh | 68 +++++++++++++++++++--------------- scripts/starts/afstart.sh | 78 ++++++++++++++++++++------------------- 2 files changed, 80 insertions(+), 66 deletions(-) diff --git a/scripts/libs/web_save.sh b/scripts/libs/web_save.sh index d7ae9787..e734a6c0 100644 --- a/scripts/libs/web_save.sh +++ b/scripts/libs/web_save.sh @@ -1,32 +1,42 @@ +get_save() { #获取面板信息并内部处理所有异常 + local response exit_code + if curl --version >/dev/null 2>&1; then + response=$(curl -sf -H "Authorization: Bearer ${secret}" -H "Content-Type:application/json" "$1" 2>&1) + exit_code=$? + [ $exit_code -eq 0 ] && [ -n "$response" ] && [ "$response" != "{}" ] && { + echo "$response" + return 0 + } + return 1 + elif [ -n "$(wget --help 2>&1 | grep '\-\-method')" ]; then + response=$(wget -q --header="Authorization: Bearer ${secret}" --header="Content-Type:application/json" -O - "$1" 2>&1) + exit_code=$? + [ $exit_code -eq 0 ] && [ -n "$response" ] && [ "$response" != "{}" ] && { + echo "$response" + return 0 + } + return 1 + fi + return 1 +} -# -get_save() { #获取面板信息 - if curl --version >/dev/null 2>&1; then - curl -s -H "Authorization: Bearer ${secret}" -H "Content-Type:application/json" "$1" - elif [ -n "$(wget --help 2>&1 | grep '\-\-method')" ]; then - wget -q --header="Authorization: Bearer ${secret}" --header="Content-Type:application/json" -O - "$1" - fi -} web_save() { #最小化保存面板节点选择 - #使用get_save获取面板节点设置 - get_save "http://127.0.0.1:${db_port}/proxies" | sed 's/{}//g' | sed 's/:{/\ -/g'| grep -aE '"Selector"' >"$TMPDIR"/web_proxies - [ -s "$TMPDIR"/web_proxies ] && while read line; do - def=$(echo $line | grep -oE '"all".*",' | awk -F "[\"]" '{print $4}') - now=$(echo $line | grep -oE '"now".*",' | awk -F "[\"]" '{print $4}') - [ "$def" != "$now" ] && { - name=$(echo $line | grep -oE '"name".*",' | awk -F "[\"]" '{print $4}') - echo "${name},${now}" >>"$TMPDIR"/web_save - } - done <"$TMPDIR"/web_proxies - rm -rf "$TMPDIR"/web_proxies - #对比文件,如果有变动则写入磁盘,否则清除缓存 - for file in web_save; do - if [ -s "$TMPDIR/$file" ]; then - . "$CRASHDIR"/libs/compare.sh && compare "$TMPDIR/$file" "$CRASHDIR/configs/$file" - [ "$?" = 0 ] && rm -f "$TMPDIR/$file" || mv -f "$TMPDIR/$file" "$CRASHDIR/configs/$file" - else - > "$CRASHDIR/configs/$file" #空文件时移除旧文件 - fi - done + #使用get_save获取面板节点设置,失败自动退出 + response=$(get_save "http://127.0.0.1:${db_port}/proxies") || return 1 + + echo "$response" | sed 's/{}//g' | sed 's/:{/\ +/g' | grep -aE '"Selector"' >"$TMPDIR"/web_proxies + + >"$TMPDIR"/web_save + [ -s "$TMPDIR"/web_proxies ] && while read line; do + def=$(echo "$line" | grep -oE '"all".*",' | awk -F "[\"]" '{print $4}') + now=$(echo "$line" | grep -oE '"now".*",' | awk -F "[\"]" '{print $4}') + [ "$def" != "$now" ] && { + name=$(echo "$line" | grep -oE '"name".*",' | awk -F "[\"]" '{print $4}') + echo "${name},${now}" >>"$TMPDIR"/web_save + } + done <"$TMPDIR"/web_proxies + rm -f "$TMPDIR"/web_proxies + . "$CRASHDIR"/libs/compare.sh && compare "$TMPDIR"/web_save "$CRASHDIR"/configs/web_save + [ "$?" = 0 ] && rm -f "$TMPDIR"/web_save || mv -f "$TMPDIR"/web_save "$CRASHDIR"/configs/web_save } diff --git a/scripts/starts/afstart.sh b/scripts/starts/afstart.sh index e58ec665..93455759 100644 --- a/scripts/starts/afstart.sh +++ b/scripts/starts/afstart.sh @@ -2,7 +2,11 @@ # Copyright (C) Juewuy #初始化目录 -[ -z "$CRASHDIR" ] && CRASHDIR=$( cd $(dirname $0);cd ..;pwd) +[ -z "$CRASHDIR" ] && CRASHDIR=$( + cd $(dirname $0) + cd .. + pwd +) . "$CRASHDIR"/libs/get_config.sh #加载工具 . "$CRASHDIR"/libs/check_cmd.sh @@ -12,45 +16,45 @@ [ -z "$firewall_area" ] && firewall_area=1 #延迟启动 [ ! -f "$TMPDIR"/crash_start_time ] && [ -n "$start_delay" ] && [ "$start_delay" -gt 0 ] && { - logger "ShellCrash将延迟$start_delay秒启动" 31 - sleep "$start_delay" + logger "ShellCrash将延迟$start_delay秒启动" 31 + sleep "$start_delay" } #设置循环检测面板端口以判定服务启动是否成功 . "$CRASHDIR"/libs/start_wait.sh if [ -n "$test" -o -n "$(pidof CrashCore)" ]; then - [ "$start_old" = "ON" ] && [ ! -L "$TMPDIR"/CrashCore ] && rm -f "$TMPDIR"/CrashCore #删除缓存目录内核文件 - . "$CRASHDIR"/starts/fw_start.sh #配置防火墙流量劫持 - date +%s >"$TMPDIR"/crash_start_time #标记启动时间 - #后台还原面板配置 - [ -s "$CRASHDIR"/configs/web_save ] && { - . "$CRASHDIR"/libs/web_restore.sh - web_restore >/dev/null 2>&1 & - } - #推送日志 - { - sleep 5 - logger ShellCrash服务已启动! - } & - ckcmd mtd_storage.sh && mtd_storage.sh save >/dev/null 2>&1 #Padavan保存/etc/storage - #加载定时任务 - cronload | grep -v '^$' > "$TMPDIR"/cron_tmp - [ -s "$CRASHDIR"/task/cron ] && cat "$CRASHDIR"/task/cron >> "$TMPDIR"/cron_tmp - [ -s "$CRASHDIR"/task/running ] && cat "$CRASHDIR"/task/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 - [ "$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 #删除重复行 - cronadd "$TMPDIR"/cron_tmp2 - rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2 - #加载条件任务 - [ -s "$CRASHDIR"/task/afstart ] && { . "$CRASHDIR"/task/afstart; } & - [ -s "$CRASHDIR"/task/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) - sed -i.bak "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall - line=$(grep -En "fw.* start" /etc/init.d/firewall | cut -d ":" -f 1) - sed -i "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall - } & - exit 0 + [ "$start_old" = "ON" ] && [ ! -L "$TMPDIR"/CrashCore ] && rm -f "$TMPDIR"/CrashCore #删除缓存目录内核文件 + . "$CRASHDIR"/starts/fw_start.sh #配置防火墙流量劫持 + date +%s >"$TMPDIR"/crash_start_time #标记启动时间 + #还原面板配置 + [ -s "$CRASHDIR"/configs/web_save ] && { + . "$CRASHDIR"/libs/web_restore.sh + web_restore >/dev/null 2>&1 + } + #推送日志 + { + sleep 5 + logger ShellCrash服务已启动! + } & + ckcmd mtd_storage.sh && mtd_storage.sh save >/dev/null 2>&1 #Padavan保存/etc/storage + #加载定时任务 + cronload | grep -v '^$' >"$TMPDIR"/cron_tmp + [ -s "$CRASHDIR"/task/cron ] && cat "$CRASHDIR"/task/cron >>"$TMPDIR"/cron_tmp + [ -s "$CRASHDIR"/task/running ] && cat "$CRASHDIR"/task/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 + [ "$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 #删除重复行 + cronadd "$TMPDIR"/cron_tmp2 + rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2 + #加载条件任务 + [ -s "$CRASHDIR"/task/afstart ] && { . "$CRASHDIR"/task/afstart; } & + [ -s "$CRASHDIR"/task/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) + sed -i.bak "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall + line=$(grep -En "fw.* start" /etc/init.d/firewall | cut -d ":" -f 1) + sed -i "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall + } & + exit 0 else - . "$CRASHDIR"/starts/start_error.sh + . "$CRASHDIR"/starts/start_error.sh fi From 200d1729fbb5f62a079ddcbffc4d9c42fe6c3218 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Thu, 26 Mar 2026 12:04:13 +0800 Subject: [PATCH 256/318] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20`.editorconfig`=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=8C=E7=BA=A6=E6=9D=9F=20`*.sh`=20?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 13 ++++++++++++ scripts/starts/snapshot_init.sh | 35 ++++++++++++++++----------------- 2 files changed, 30 insertions(+), 18 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..4163ce8a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf + +[*.sh] +indent_style = space +indent_size = 4 +shell_variant = posix +simplify = true +switch_case_indent = true + diff --git a/scripts/starts/snapshot_init.sh b/scripts/starts/snapshot_init.sh index e0b611b0..9445b7cf 100644 --- a/scripts/starts/snapshot_init.sh +++ b/scripts/starts/snapshot_init.sh @@ -14,10 +14,10 @@ while [ ! -f "$CRASHDIR/configs/ShellCrash.cfg" ]; do done . "$CRASHDIR"/configs/ShellCrash.cfg -autoSSH(){ +autoSSH() { #自动开启SSH - [ "`uci -c /usr/share/xiaoqiang get xiaoqiang_version.version.CHANNEL`" != 'stable' ] && { - uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable' + [ "$(uci -c /usr/share/xiaoqiang get xiaoqiang_version.version.CHANNEL)" != 'stable' ] && { + uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable' uci -c /usr/share/xiaoqiang commit xiaoqiang_version.version } [ -z "$(pidof dropbear)" -o -z "$(netstat -ntul | grep :22)" ] && { @@ -26,15 +26,15 @@ autoSSH(){ [ -n "$mi_autoSSH_pwd" ] && echo -e "$mi_autoSSH_pwd\n$mi_autoSSH_pwd" | passwd root } #配置nvram - [ "$(nvram get ssh_en)" = 0 ] && nvram set ssh_en=1 + [ "$(nvram get ssh_en)" = 0 ] && nvram set ssh_en=1 [ "$(nvram get telnet_en)" = 0 ] && nvram set telnet_en=1 - nvram commit &> /dev/null + nvram commit >/dev/null 2>&1 #备份还原SSH秘钥 [ -f "$CRASHDIR"/configs/dropbear_rsa_host_key ] && ln -sf "$CRASHDIR"/configs/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key [ -f "$CRASHDIR"/configs/authorized_keys ] && ln -sf "$CRASHDIR"/configs/authorized_keys /etc/dropbear/authorized_keys } -tunfix(){ - ko_dir=$(modinfo ip_tables | grep -Eo '/lib/modules.*/ip_tables.ko' | sed 's|/ip_tables.ko||' ) +tunfix() { + ko_dir=$(modinfo ip_tables | grep -Eo '/lib/modules.*/ip_tables.ko' | sed 's|/ip_tables.ko||') #在/tmp创建并挂载overlay mkdir -p /tmp/overlay mkdir -p /tmp/overlay/upper @@ -43,12 +43,12 @@ tunfix(){ #将tun.ko链接到lib ln -sf "$CRASHDIR"/tools/tun.ko "$ko_dir"/tun.ko } -tproxyfix(){ +tproxyfix() { sed -i 's/sysctl -w net.bridge.bridge-nf-call-ip/#sysctl -w net.bridge.bridge-nf-call-ip/g' /etc/init.d/qca-nss-ecm sysctl -w net.bridge.bridge-nf-call-iptables=0 sysctl -w net.bridge.bridge-nf-call-ip6tables=0 } -auto_clean(){ +auto_clean() { #自动清理升级备份文件夹 rm -rf /data/etc_bak #自动清理被写入闪存的系统日志并禁止服务 @@ -57,9 +57,9 @@ auto_clean(){ sed -i '\#/logrotate#{ /^[[:space:]]*#/!s/^/#ShellCrash自动注释 / }' /etc/crontabs/root sed -i '\#/sec_cfg_bak#{ /^[[:space:]]*#/!s/^/#ShellCrash自动注释 / }' /etc/crontabs/root rm -rf /data/usr/log /data/usr/sec_cfg - + } -auto_start(){ +auto_start() { #设置init.d服务 [ ! -x /etc/init.d/shellcrash ] && { cp -f "$CRASHDIR"/starts/shellcrash.procd /etc/init.d/shellcrash @@ -68,7 +68,7 @@ auto_start(){ #初始化环境变量 grep -q '^export CRASHDIR=' '/etc/profile' || { . "$CRASHDIR"/libs/set_profile.sh - set_profile '/etc/profile' + set_profile '/etc/profile' } #启动服务 if [ ! -f "$CRASHDIR"/.dis_startup ] && [ ! -f "$CRASHDIR"/.start_error ]; then @@ -83,12 +83,12 @@ auto_start(){ /etc/init.d/shellcrash start && /etc/init.d/shellcrash enable fi } -init(){ +init() { #等待启动完成 - while ! ip a| grep -q lan; do + while ! ip a | grep -q lan; do sleep 10 done - autoSSH #软固化功能 + autoSSH #软固化功能 auto_clean #自动清理 auto_start #启动自定义服务 @@ -103,9 +103,8 @@ case "$1" in auto_clean) auto_clean ;; init) init ;; *) - if [ -z "$(pidof CrashCore)" ];then + if [ -z "$(pidof CrashCore)" ]; then init & fi - ;; + ;; esac - From 39084ffd1e8459d0a0ef0795b2c92b4f98f4e673 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sat, 28 Mar 2026 12:03:18 +0800 Subject: [PATCH 257/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20ipv6=20DNS=20?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=E9=94=99=E8=AF=AF=E7=9A=84=E7=BD=91=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/fw_getlanip.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index bc9d0028..1b784e99 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -1,9 +1,10 @@ - getlanip() { #获取局域网host地址 i=1 while [ "$i" -le "20" ]; do - host_ipv4=$(ip route show scope link | grep -Ev 'wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{print $1}') #ipv4局域网网段 - [ "$ipv6_redir" = "ON" ] && host_ipv6=$(ip -6 route show default | awk '{print $3}' | tr '\n' ' ' | sed 's/ $//') #ipv6公网地址段 + #ipv4局域网网段 + host_ipv4=$(ip route show scope link | grep -Ev 'wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{print $1}') + #ipv6局域网网段 + [ "$ipv6_redir" = "ON" ] && 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/ $//') [ -f "$TMPDIR"/ShellCrash.log ] && break [ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break [ -n "$host_ipv4" -a -n "$host_ipv6" ] && break @@ -24,7 +25,7 @@ getlanip() { #获取局域网host地址 if [ "$replace_default_host_ipv4" == "ON" ]; then host_ipv4="$cust_host_ipv4" else - host_ipv4=$(echo "$host_ipv4 $cust_host_ipv4$ts_host_ipv4$wg_host_ipv4"| tr '\n' ' ' | sed 's/ $//') + host_ipv4=$(echo "$host_ipv4 $cust_host_ipv4$ts_host_ipv4$wg_host_ipv4" | tr '\n' ' ' | sed 's/ $//') fi #缺省配置 [ -z "$host_ipv4" ] && { @@ -38,4 +39,4 @@ getlanip() { #获取局域网host地址 #保留地址 [ -z "$reserve_ipv4" ] && reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4" [ -z "$reserve_ipv6" ] && reserve_ipv6="::/128 ::1/128 ::ffff:0:0/96 64:ff9b::/96 100::/64 2001::/32 2001:20::/28 2001:db8::/32 2002::/16 fe80::/10 ff00::/8" -} \ No newline at end of file +} From 2d5df04dd47baff2c8a2aa58d17b42b923f362fa Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sat, 28 Mar 2026 12:38:17 +0800 Subject: [PATCH 258/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20codex=20review=20?= =?UTF-8?q?=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 从 IPv4 已过滤的 scope link 路由提取 LAN 接口名,再用这些接口名去查 IPv6 全局前缀 --- scripts/starts/fw_getlanip.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index 1b784e99..c45030bb 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -3,8 +3,15 @@ getlanip() { #获取局域网host地址 while [ "$i" -le "20" ]; do #ipv4局域网网段 host_ipv4=$(ip route show scope link | grep -Ev 'wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{print $1}') - #ipv6局域网网段 - [ "$ipv6_redir" = "ON" ] && 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/ $//') + #ipv6局域网网段 - 从IPv4已识别的LAN接口获取全局IPv6前缀 + [ "$ipv6_redir" = "ON" ] && { + lan_ifaces=$(ip route show scope link | grep -Ev 'ppp|wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{for(i=1;i<=NF;i++) if($i=="dev") {print $(i+1); break}}' | grep -v '^lo$' | sort -u) + host_ipv6=$( + for iface in $lan_ifaces; do + ip -6 addr show dev $iface 2>/dev/null + done | grep 'scope global' | awk '{print $2}' | tr '\n' ' ' | sed 's/ $//' + ) + } [ -f "$TMPDIR"/ShellCrash.log ] && break [ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break [ -n "$host_ipv4" -a -n "$host_ipv6" ] && break From 08e785dc2d1ca2fb1b85dd7f6fe3ca72c470f7d5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 10:40:35 +0800 Subject: [PATCH 259/318] =?UTF-8?q?~=E5=A2=9E=E5=8A=A0ipv6host=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=9A=84fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/fw_getlanip.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index c45030bb..2e3cb0be 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -11,6 +11,7 @@ getlanip() { #获取局域网host地址 ip -6 addr show dev $iface 2>/dev/null 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/ $//') } [ -f "$TMPDIR"/ShellCrash.log ] && break [ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break From 5b94bce400b9c1b962f81ed8b1015e5067efd025 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 12:02:04 +0800 Subject: [PATCH 260/318] =?UTF-8?q?~=E9=80=82=E9=85=8Doix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/providers_singbox.sh | 4 ++++ scripts/starts/clash_modify.sh | 2 ++ scripts/starts/singbox_modify.sh | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index c667fad2..4a5fc186 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -117,6 +117,7 @@ EOF fi # 通用部分生成 [ "$skip_cert" != "OFF" ] && override_tls='true' || override_tls='false' + [ -n "$(echo "$2" | grep 'oics.net')" ] && domain_resolver='dns_oix' || domain_resolver='dns_resolver' cat >>"$TMPDIR"/providers/providers.json < Date: Sat, 4 Apr 2026 12:05:10 +0800 Subject: [PATCH 261/318] ~bug fix --- scripts/starts/fw_iptables.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/starts/fw_iptables.sh b/scripts/starts/fw_iptables.sh index c4a828cd..70c7b1ff 100644 --- a/scripts/starts/fw_iptables.sh +++ b/scripts/starts/fw_iptables.sh @@ -3,7 +3,7 @@ ckcmd iptables && iptables -h | grep -q '\-w' && iptable='iptables -w' || iptable=iptables ckcmd ip6tables && ip6tables -h | grep -q '\-w' && ip6table='ip6tables -w' || ip6table=ip6tables - + start_ipt_route() { #iptables-route通用工具 #$1:iptables/ip6tables $2:所在的表(nat/mangle) $3:所在的链(OUTPUT/PREROUTING) $4:新创建的shellcrash链表 $5:tcp/udp/all #区分ipv4/ipv6 @@ -37,6 +37,7 @@ start_ipt_route() { #iptables-route通用工具 } #跳过目标保留地址及目标本机网段 for ip in $HOST_IP $RESERVED_IP; do + [ "$ip" = "default" ] && continue "$1" $w -t "$2" -A "$4" -d $ip -j RETURN done #绕过CN_IP @@ -65,7 +66,8 @@ start_ipt_route() { #iptables-route通用工具 "$1" $w -t "$2" -A "$4" -p "$5" -s $ip -j $JUMP done else - for ip in $HOST_IP; do #仅限指定网段流量 + for ip in $HOST_IP; do #仅限指定网段流量 (已修复 default 报错) + [ "$ip" = "default" ] && continue "$1" $w -t "$2" -A "$4" -p "$5" -s $ip -j $JUMP done fi @@ -123,7 +125,8 @@ start_ipt_dns() { #iptables-dns通用工具 "$1" $w -t nat -A "$3" -p udp -s $ip -j REDIRECT --to-ports "$dns_redir_port" done else - for ip in $HOST_IP; do #仅限指定网段流量 + for ip in $HOST_IP; do #仅限指定网段流量 (已修复 default 报错) + [ "$ip" = "default" ] && continue "$1" $w -t nat -A "$3" -p tcp -s $ip -j REDIRECT --to-ports "$dns_redir_port" "$1" $w -t nat -A "$3" -p udp -s $ip -j REDIRECT --to-ports "$dns_redir_port" done @@ -256,7 +259,8 @@ start_iptables() { #iptables配置总入口 fi } } - [ "$vm_redir" = "ON" ] && [ -n "$$vm_ipv4" ] && { + # 修复了原本双刀号 $$vm_ipv4 会变为进程 PID_ipv4 的语法错误问题 + [ "$vm_redir" = "ON" ] && [ -n "$vm_ipv4" ] && { JUMP="REDIRECT --to-ports $redir_port" #跳转劫持的具体命令 start_ipt_dns iptables PREROUTING shellcrash_vm_dns #ipv4-局域网dns转发 start_ipt_route iptables nat PREROUTING shellcrash_vm tcp #ipv4-局域网tcp转发 @@ -289,4 +293,4 @@ start_iptables() { #iptables配置总入口 $ip6table -I INPUT -p udp --dport 443 $set_cn_ip6 -j REJECT >/dev/null 2>&1 } } -} +} \ No newline at end of file From c304ec8271da3c49b28ce3b07b35d2838cc061f5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 18:44:47 +0800 Subject: [PATCH 262/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E5=8C=96=E5=AF=BC=E8=87=B4=E7=9A=84=E4=B8=80=E7=B3=BB?= =?UTF-8?q?=E5=88=97=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/8_tools.lang | 60 ++++++++++++++++++++++----------- scripts/lang/chs/9_upgrade.lang | 51 ++++++++++++++++++---------- scripts/lang/chs/fw_filter.lang | 18 ++++++---- scripts/lang/chs/override.lang | 3 +- scripts/lang/en/8_tools.lang | 60 ++++++++++++++++++++++----------- scripts/lang/en/9_upgrade.lang | 51 ++++++++++++++++++---------- scripts/lang/en/fw_filter.lang | 18 ++++++---- scripts/lang/en/override.lang | 3 +- scripts/menus/2_settings.sh | 2 +- scripts/menus/8_tools.sh | 42 +++++++++++------------ scripts/menus/9_upgrade.sh | 32 +++++++++--------- scripts/menus/fw_filter.sh | 14 ++++---- scripts/menus/override.sh | 5 ++- 13 files changed, 223 insertions(+), 136 deletions(-) diff --git a/scripts/lang/chs/8_tools.lang b/scripts/lang/chs/8_tools.lang index c032befe..08b432e6 100644 --- a/scripts/lang/chs/8_tools.lang +++ b/scripts/lang/chs/8_tools.lang @@ -11,9 +11,11 @@ TOOLS_ENABLE="启用" TOOLS_CONFIGURED="已配置" TOOLS_SSH_ONLY_OPENWRT="此功能仅针对使用Openwrt系统的设备生效,且不依赖服务" TOOLS_SSH_UNSUPPORTED_SYSTEM="本功能不支持红米AX6S等镜像化系统设备,请勿尝试!" -TOOLS_SSH_PORT_ITEM="1) \033[32m修改\033[0m外网访问端口:\033[36m$ssh_port\033[0m" +TOOLS_SSH_PORT_ITEM_PREFIX="1) \033[32m修改\033[0m外网访问端口:" +TOOLS_SSH_PORT_ITEM_SUFFIX="" TOOLS_SSH_PASS_ITEM="2) \033[32m修改\033[0mSSH访问密码(请连续输入2次后回车)" -TOOLS_SSH_TOGGLE_ITEM="3) \033[33m$ssh_ol\033[0m外网访问SSH" +TOOLS_SSH_TOGGLE_ITEM_PREFIX="3) " +TOOLS_SSH_TOGGLE_ITEM_SUFFIX="外网访问SSH" TOOLS_PROMPT_PORT="请输入端口号(1000-65535)> " TOOLS_WARN_COMPAT="本页工具可能无法兼容全部Linux设备,请酌情使用!" TOOLS_DISK_USAGE="磁盘占用/所在目录:" @@ -21,10 +23,14 @@ TOOLS_MENU_TEST_ITEM="1) ShellCrash\033[33m测试菜单\033[0m" TOOLS_MENU_GUIDE_ITEM="2) ShellCrash\033[32m新手引导\033[0m" TOOLS_MENU_LOG_ITEM="3) \033[36m日志及推送工具\033[0m" TOOLS_MENU_SSH_ITEM="4) \033[32m配置\033[0m外网访问SSH" -TOOLS_MENU_MI_UPDATE_ITEM="5) \033[33m$mi_update\033[0m小米系统自动更新" -TOOLS_MENU_MI_AUTO_SSH_ITEM="6) 小米设备软固化SSH —— \033[$mi_mi_autoSSH_type \033[0m" -TOOLS_MENU_MI_TUN_FIX_ITEM="8) 小米设备Tun模块修复 —— \033[$mi_tunfix \033[0m" -TOOLS_MI_UPDATE_MSG="已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!" +TOOLS_MENU_MI_UPDATE_ITEM_PREFIX="5) " +TOOLS_MENU_MI_UPDATE_ITEM_SUFFIX="小米系统自动更新" +TOOLS_MENU_MI_AUTO_SSH_ITEM_PREFIX="6) 小米设备软固化SSH —— " +TOOLS_MENU_MI_AUTO_SSH_ITEM_SUFFIX="" +TOOLS_MENU_MI_TUN_FIX_ITEM_PREFIX="8) 小米设备Tun模块修复 —— " +TOOLS_MENU_MI_TUN_FIX_ITEM_SUFFIX="" +TOOLS_MI_UPDATE_MSG_PREFIX="已" +TOOLS_MI_UPDATE_MSG_SUFFIX="小米路由器的自动更新,如未生效,请在官方APP中同步设置!" TOOLS_UNSUPPORTED_DEVICE="不支持的设备!" TOOLS_FETCHING_SCRIPT="正在获取在线脚本......" TOOLS_DOWNLOAD_FAIL="文件下载失败!" @@ -46,16 +52,25 @@ TOOLS_AUTO_SSH_WARN2="如有问题请加群反馈:" TOOLS_AUTO_SSH_PWD_HINT1="请输入需要还原的SSH密码(不影响当前密码)" TOOLS_AUTO_SSH_PWD_HINT2="(回车可跳过)" TOOLS_AUTO_SSH_INPUT="请输入> " -TOOLS_LOG_TG="1) Telegram推送\t——\033[$stat_TG\033[0m" -TOOLS_LOG_DEER="2) PushDeer推送\t——\033[$stat_Deer\033[0m" -TOOLS_LOG_BARK="3) Bark推送-IOS\t——\033[$stat_bark\033[0m" -TOOLS_LOG_PO="4) Passover推送\t——\033[$stat_Po\033[0m" -TOOLS_LOG_PP="5) PushPlus推送\t——\033[$stat_PP\033[0m" -TOOLS_LOG_SYNO="6) SynoChat推送\t——\033[$stat_SynoChat\033[0m" -TOOLS_LOG_GOTIFY="7) Gotify推送\t ——\033[$stat_Gotify\033[0m" +TOOLS_LOG_TG_PREFIX="1) Telegram推送\t——" +TOOLS_LOG_TG_SUFFIX="" +TOOLS_LOG_DEER_PREFIX="2) PushDeer推送\t——" +TOOLS_LOG_DEER_SUFFIX="" +TOOLS_LOG_BARK_PREFIX="3) Bark推送-IOS\t——" +TOOLS_LOG_BARK_SUFFIX="" +TOOLS_LOG_PO_PREFIX="4) Passover推送\t——" +TOOLS_LOG_PO_SUFFIX="" +TOOLS_LOG_PP_PREFIX="5) PushPlus推送\t——" +TOOLS_LOG_PP_SUFFIX="" +TOOLS_LOG_SYNO_PREFIX="6) SynoChat推送\t——" +TOOLS_LOG_SYNO_SUFFIX="" +TOOLS_LOG_GOTIFY_PREFIX="7) Gotify推送\t ——" +TOOLS_LOG_GOTIFY_SUFFIX="" TOOLS_LOG_VIEW="a) 查看\033[36m运行日志\033[0m" -TOOLS_LOG_TASK="b) 推送任务日志\t——\033[$stat_task\033[0m" -TOOLS_LOG_DEVICE="c) 设置设备名称\t——\033[$device_s\033[0m" +TOOLS_LOG_TASK_PREFIX="b) 推送任务日志\t——" +TOOLS_LOG_TASK_SUFFIX="" +TOOLS_LOG_DEVICE_PREFIX="c) 设置设备名称\t——" +TOOLS_LOG_DEVICE_SUFFIX="" TOOLS_LOG_CLEAR="d) 清空日志文件" TOOLS_CONFIRM_CLOSE_TG="是否确认关闭TG日志推送?" TOOLS_CONFIRM_CLOSE_DEER="是否确认关闭PushDeer日志推送?" @@ -120,17 +135,22 @@ TOOLS_PROXY_NOTE="注意:依赖curl(不支持wget),且测试结果不保 TOOLS_PROXY_OK="连接成功!响应时间为:" TOOLS_PROXY_TIMEOUT="连接超时!请重试或检查节点配置!" TOOLS_DEBUG_WARN1="注意:Debug运行均会停止原本的内核服务" -TOOLS_DEBUG_WARN2="后台运行日志地址:\033[32m$TMPDIR/debug.log\033[0m" +TOOLS_DEBUG_WARN2_PREFIX="后台运行日志地址:" +TOOLS_DEBUG_WARN2_SUFFIX="" TOOLS_DEBUG_WARN3="如长时间运行后台监测,日志等级推荐error!防止文件过大!" TOOLS_DEBUG_WARN4="你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级" -TOOLS_DEBUG_ITEM_1="1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性" -TOOLS_DEBUG_ITEM_2="2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)" +TOOLS_DEBUG_ITEM_1_PREFIX="1) 仅测试" +TOOLS_DEBUG_ITEM_1_SUFFIX="配置文件可用性" +TOOLS_DEBUG_ITEM_2_PREFIX="2) 前台运行" +TOOLS_DEBUG_ITEM_2_SUFFIX="配置文件,不配置防火墙劫持(使用Ctrl+C手动停止)" TOOLS_DEBUG_ITEM_3="3) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[31merror\033[0m" TOOLS_DEBUG_ITEM_4="4) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[32minfo\033[0m" TOOLS_DEBUG_ITEM_5="5) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[33mdebug\033[0m" -TOOLS_DEBUG_ITEM_6="6) 后台运行完整启动流程并配置防火墙劫持,且将错误日志打印到闪存:\033[32m$CRASHDIR/debug.log\033[0m" +TOOLS_DEBUG_ITEM_6_PREFIX="6) 后台运行完整启动流程并配置防火墙劫持,且将错误日志打印到闪存:" +TOOLS_DEBUG_ITEM_6_SUFFIX="" TOOLS_DEBUG_ITEM_8="8) 后台运行完整启动流程,输出执行错误并查找上下文,之后关闭进程" -TOOLS_DEBUG_ITEM_9="9) 将\033[32m$config_tmp\033[0m下json文件合并为$TMPDIR/debug.json" +TOOLS_DEBUG_ITEM_9_PREFIX="9) 将" +TOOLS_DEBUG_ITEM_9_SUFFIX="下json文件合并为" TOOLS_FLASH_WARN="频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!" TOOLS_FLASH_CONFIRM="是否确认启用此功能?" TOOLS_MERGE_OK="合并成功!" diff --git a/scripts/lang/chs/9_upgrade.lang b/scripts/lang/chs/9_upgrade.lang index a0c6735f..f7be375c 100644 --- a/scripts/lang/chs/9_upgrade.lang +++ b/scripts/lang/chs/9_upgrade.lang @@ -68,8 +68,10 @@ UPG_CORETYPE_CONFIRM_TEXT="请确认该自定义内核的类型:" UPG_CORE_SWITCH_KEEP_TEXT="是否保留相关数据库文件?" UPG_KEEP_TEXT="保留" UPG_NOT_KEEP_TEXT="不保留" -UPG_GETTING_CORE_TEXT="正在在线获取$crashcore核心文件......" -UPG_CORE_DOWNLOAD_OK_TEXT="$crashcore核心下载成功!" +UPG_GETTING_CORE_TEXT_PREFIX="正在在线获取" +UPG_GETTING_CORE_TEXT_SUFFIX="核心文件......" +UPG_CORE_DOWNLOAD_OK_TEXT_PREFIX="" +UPG_CORE_DOWNLOAD_OK_TEXT_SUFFIX="核心下载成功!" UPG_CORE_DOWNLOAD_FAIL_TEXT="核心文件下载失败!" UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="核心文件下载成功但校验失败" UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT="请尝试手动指定CPU版本" @@ -100,18 +102,25 @@ UPG_CORE_MENU_CURRENT="当前内核:" UPG_CORE_MENU_SYS="当前系统处理器架构:" UPG_CORE_MENU_LOCAL_HINT="如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令" UPG_CORE_MENU_SELECT="请选择需要使用的核心版本:" -UPG_CORE_MENU_1="1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" -UPG_CORE_MENU_2="2) \033[43;30mSingBoxR\033[0m:\033[32m$singboxr_v \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" -UPG_CORE_MENU_3="3) \033[43;30mSingBox\033[0m:\033[32m$singbox_v \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" -UPG_CORE_MENU_4="4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" -UPG_CORE_MENU_5="5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m" -UPG_CORE_MENU_6="6) \033[36m使用自定义内核\033[0m $custcore" +UPG_CORE_MENU_1_PREFIX="1) \033[43;30mMihomo\033[0m:\033[32m" +UPG_CORE_MENU_1_SUFFIX=" \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" +UPG_CORE_MENU_2_PREFIX="2) \033[43;30mSingBoxR\033[0m:\033[32m" +UPG_CORE_MENU_2_SUFFIX=" \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" +UPG_CORE_MENU_3_PREFIX="3) \033[43;30mSingBox\033[0m:\033[32m" +UPG_CORE_MENU_3_SUFFIX=" \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" +UPG_CORE_MENU_4_PREFIX="4) \033[43;30mClash\033[0m:\033[32m" +UPG_CORE_MENU_4_SUFFIX=" \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" +UPG_CORE_MENU_5_PREFIX="5) 切换版本分支及压缩方式:\033[32m" +UPG_CORE_MENU_5_SUFFIX="\033[0m" +UPG_CORE_MENU_6_PREFIX="6) \033[36m使用自定义内核\033[0m " +UPG_CORE_MENU_6_SUFFIX="" UPG_CORE_MENU_7="7) \033[32m更新当前内核\033[0m" UPG_CORE_MENU_9="9) 手动指定处理器架构" UPG_GEO_GETTING="正在从服务器获取数据库文件......" UPG_GEO_FAIL="文件下载失败!" UPG_GEO_EXTRACT_FAIL="文件解压失败!" -UPG_GEO_OK="$geotype数据库文件下载成功!" +UPG_GEO_OK_PREFIX="" +UPG_GEO_OK_SUFFIX="数据库文件下载成功!" UPG_GEO_LINKING="正在获取数据库文件......" UPG_GEO_FINDING="正在查找可更新的数据库文件......" UPG_GEO_SELECT="请选择需要更新的数据库文件:" @@ -126,7 +135,8 @@ UPG_GEO_LOCAL_ONLY2="(仅限SingBox-srs)" UPG_GEO_LOCAL_ONLY3="(仅限Mihomo-mrs)" UPG_GEO_LOCAL_ONLY4="(仅限Clash-GeoIP)" UPG_GEO_CUSTOM_LINK="自定义数据库链接" -UPG_GEO_CLEAN_HINT1="这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!" +UPG_GEO_CLEAN_HINT1_PREFIX="这将清理" +UPG_GEO_CLEAN_HINT1_SUFFIX="目录及/ruleset目录下所有数据库文件!" UPG_GEO_CLEAN_HINT2="清理后启动服务即可自动下载所需文件" UPG_GEO_CLEAN_CONFIRM="确认清理" UPG_GEO_CLEAN_OK="所有数据库文件均已清理!" @@ -139,7 +149,8 @@ UPG_DB_INSTALLED="检测到已经安装过本地面板" UPG_DB_UPGRADE="升级/覆盖安装" UPG_DB_CANCEL="安装已取消" UPG_DB_DIR_SELECT="请选择面板安装目录:" -UPG_DB_DIR_1="1) 在${CRASHDIR}/ui目录安装" +UPG_DB_DIR_1_PREFIX="1) 在" +UPG_DB_DIR_1_SUFFIX="/ui目录安装" UPG_DB_DIR_2="2) 在/www/clash目录安装" UPG_DB_TITLE="安装 dashboard 管理面板到本地" UPG_DB_TITLE2="打开管理面板的速度更快且更稳定" @@ -207,13 +218,17 @@ UPG_THANKS_ITEM_DUSTIN_URL="开发者地址:https://github.com/DustinWin" UPG_CORE_GET_LINK_TITLE="正在获取内核文件链接......" UPG_CUSTOM_CORE_CURRENT_TEXT="当前内核为:" UPG_CUSTOM_CORE_NOTE1="不支持Gvisor、Tailscale、Wireguard、NaiveProxy" -UPG_CORE_V1="1) \033[43;30mMihomo\033[0m:\033[32m$meta_v \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" +UPG_CORE_V1_PREFIX="1) \033[43;30mMihomo\033[0m:\033[32m" +UPG_CORE_V1_SUFFIX=" \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" UPG_CORE_V1_DOC="说明文档:\033[36;4mhttps://wiki.metacubex.one\033[0m" -UPG_CORE_V2="2) \033[43;30mSingBoxR\033[0m:\033[32m$singboxr_v \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" +UPG_CORE_V2_PREFIX="2) \033[43;30mSingBoxR\033[0m:\033[32m" +UPG_CORE_V2_SUFFIX=" \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" UPG_CORE_V2_DOC="说明文档:\033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" -UPG_CORE_V3="3) \033[43;30mSingBox\033[0m:\033[32m$singbox_v \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" +UPG_CORE_V3_PREFIX="3) \033[43;30mSingBox\033[0m:\033[32m" +UPG_CORE_V3_SUFFIX=" \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" UPG_CORE_V3_DOC="说明文档:\033[36;4mhttps://sing-box.sagernet.org\033[0m" -UPG_CORE_V4="4) \033[43;30mClash\033[0m:\033[32m$clash_v \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" +UPG_CORE_V4_PREFIX="4) \033[43;30mClash\033[0m:\033[32m" +UPG_CORE_V4_SUFFIX=" \033[32m占用低\033[0m \033[33m不安全,已停止维护\033[0m" UPG_CORE_V4_DOC="说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m" UPG_CORE_ASUS_WARN="Meta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!" UPG_GEO_FIND_TITLE="正在查找可更新的数据库文件......" @@ -231,7 +246,8 @@ UPG_GEO_ITEM6="6) Singbox-srs数据库常用包(约0.8mb,非必要勿用)" UPG_GEO_ITEM8="8) \033[36m自定义数据库文件\033[0m" UPG_GEO_ITEM9="9) \033[31m清理数据库文件\033[0m" UPG_GEO_CLEAN_PROMPT="确认清理" -UPG_GEO_CLEAN_WARN="这将清理$CRASHDIR目录及/ruleset目录下所有数据库文件!" +UPG_GEO_CLEAN_WARN_PREFIX="这将清理" +UPG_GEO_CLEAN_WARN_SUFFIX="目录及/ruleset目录下所有数据库文件!" UPG_GEO_CLEAN_WARN2="清理后启动服务即可自动下载所需文件" UPG_GEO_CLEANED="所有数据库文件均已清理!" UPG_DB_CONNECTING="正在连接服务器获取安装文件......" @@ -240,7 +256,8 @@ UPG_DB_EXTRACT_FAIL_TEXT="文件解压失败!" UPG_DB_INSTALLED_HINT="检测到已经安装过本地面板" UPG_DB_INSTALL_CANCEL="安装已取消" UPG_DB_DIR_TITLE="请选择面板安装目录:" -UPG_DB_DIR_1_TEXT="1) 在${CRASHDIR}/ui目录安装" +UPG_DB_DIR_1_TEXT_PREFIX="1) 在" +UPG_DB_DIR_1_TEXT_SUFFIX="/ui目录安装" UPG_DB_DIR_2_TEXT="2) 在/www/clash目录安装" UPG_DB_INSTALL_TITLE="安装 dashboard 管理面板到本地" UPG_DB_INSTALL_TITLE2="打开管理面板的速度更快且更稳定" diff --git a/scripts/lang/chs/fw_filter.lang b/scripts/lang/chs/fw_filter.lang index 325699a2..6f315a41 100644 --- a/scripts/lang/chs/fw_filter.lang +++ b/scripts/lang/chs/fw_filter.lang @@ -1,8 +1,12 @@ FWF_TITLE="流量过滤" -FWF_ITEM_1="1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量" -FWF_ITEM_2="2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤" -FWF_ITEM_3="3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能" -FWF_ITEM_4="4) 过滤CN_IP(4&6)列表:\033[36m$cn_ip_route\033[0m ———优化性能" +FWF_ITEM_1_PREFIX="1) 过滤非常用端口:\t" +FWF_ITEM_1_SUFFIX="—用于过滤P2P流量" +FWF_ITEM_2_PREFIX="2) 过滤局域网设备:\t" +FWF_ITEM_2_SUFFIX="—使用黑/白名单进行过滤" +FWF_ITEM_3_PREFIX="3) 过滤QUIC协议:\t" +FWF_ITEM_3_SUFFIX="—优化视频性能" +FWF_ITEM_4_PREFIX="4) 过滤CN_IP(4&6)列表:" +FWF_ITEM_4_SUFFIX="—优化性能" FWF_ITEM_5="5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境" FWF_ITEM_6="6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境" FWF_BACK="0) $COMMON_BACK" @@ -21,7 +25,8 @@ FWF_PASS_WORD="不" FWF_COMMON_NOTE="注意:\n" FWF_MIX_NOTE="MIX模式下,所有fake-ip来源的非常用端口流量不会被过滤" FWF_ALLOWED_PORTS="当前已放行端口:" -FWF_PORT_MENU_1="1) 启用/关闭端口过滤: \t\033[36m$common_ports\033[0m" +FWF_PORT_MENU_1_PREFIX="1) 启用/关闭端口过滤: \t" +FWF_PORT_MENU_1_SUFFIX="" FWF_PORT_MENU_2="2) 添加放行端口" FWF_PORT_MENU_3="3) 移除指定放行端口" FWF_PORT_MENU_4="4) 重置默认放行端口" @@ -76,7 +81,8 @@ FWF_FILTER_BLACK_DESC="仅列表内设备流量不经过内核" FWF_FILTER_WHITE_DESC="仅列表内设备流量经过内核" FWF_FILTER_EXISTED="当前已过滤设备为:" FWF_FILTER_HEADER=" \033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m" -FWF_FILTER_SWITCH="1) 切换为\033[33m$fw_filter_lan_over模式\033[0m" +FWF_FILTER_SWITCH_PREFIX="1) 切换为" +FWF_FILTER_SWITCH_SUFFIX="模式" FWF_FILTER_ADD_MAC="2) \033[32m添加指定设备(mac地址)\033[0m" FWF_FILTER_ADD_IP="3) \033[32m添加指定设备(IP地址/网段)\033[0m" FWF_FILTER_REMOVE="4) \033[36m移除指定设备\033[0m" diff --git a/scripts/lang/chs/override.lang b/scripts/lang/chs/override.lang index aa2cfaae..a5a0171e 100644 --- a/scripts/lang/chs/override.lang +++ b/scripts/lang/chs/override.lang @@ -10,7 +10,8 @@ OVR_PROMPT="请输入> " OVR_GROUPS_CHOOSE_TYPE="请选择策略组的类型:" OVR_GROUP_TYPE_CN="手动选择 自动选择 故障转移 负载均衡" OVR_WARN_1="此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!" -OVR_WARN_2="如果你不是非常了解$crashcore的运行机制,切勿开启!" +OVR_WARN_2_PREFIX="如果你不是非常了解" +OVR_WARN_2_SUFFIX="的运行机制,切勿开启!" OVR_WARN_3="继续后如出现任何问题,请务必自行解决,一切提问恕不受理!" OVR_WARN_CONFIRM="1) 我确认遇到问题可以自行解决" OVR_CONFIRM_YES="1) 是" diff --git a/scripts/lang/en/8_tools.lang b/scripts/lang/en/8_tools.lang index 379c8c75..df64d1c0 100644 --- a/scripts/lang/en/8_tools.lang +++ b/scripts/lang/en/8_tools.lang @@ -11,9 +11,11 @@ TOOLS_ENABLE="Enable" TOOLS_CONFIGURED="Configured" TOOLS_SSH_ONLY_OPENWRT="This feature only works on OpenWrt devices and does not depend on services" TOOLS_SSH_UNSUPPORTED_SYSTEM="This feature does not support mirrored systems like Redmi AX6S. Do not try it!" -TOOLS_SSH_PORT_ITEM="1) \033[32mChange\033[0m WAN SSH port: \033[36m$ssh_port\033[0m" +TOOLS_SSH_PORT_ITEM_PREFIX="1) \033[32mChange\033[0m WAN SSH port:" +TOOLS_SSH_PORT_ITEM_SUFFIX="" TOOLS_SSH_PASS_ITEM="2) \033[32mChange\033[0m SSH password (enter twice, then press Enter)" -TOOLS_SSH_TOGGLE_ITEM="3) \033[33m$ssh_ol\033[0m WAN SSH access" +TOOLS_SSH_TOGGLE_ITEM_PREFIX="3) " +TOOLS_SSH_TOGGLE_ITEM_SUFFIX=" WAN SSH access" TOOLS_PROMPT_PORT="Please enter a port number (1000-65535)> " TOOLS_WARN_COMPAT="This page may not be compatible with all Linux devices. Use at your own discretion!" TOOLS_DISK_USAGE="Disk usage / current directory:" @@ -21,10 +23,14 @@ TOOLS_MENU_TEST_ITEM="1) ShellCrash \033[33mTest Menu\033[0m" TOOLS_MENU_GUIDE_ITEM="2) ShellCrash \033[32mGetting Started\033[0m" TOOLS_MENU_LOG_ITEM="3) \033[36mLogs and Push Tools\033[0m" TOOLS_MENU_SSH_ITEM="4) \033[32mConfigure\033[0m WAN SSH access" -TOOLS_MENU_MI_UPDATE_ITEM="5) \033[33m$mi_update\033[0m Xiaomi system auto-update" -TOOLS_MENU_MI_AUTO_SSH_ITEM="6) Xiaomi device SSH hardening —— \033[$mi_mi_autoSSH_type \033[0m" -TOOLS_MENU_MI_TUN_FIX_ITEM="8) Xiaomi device Tun module repair —— \033[$mi_tunfix \033[0m" -TOOLS_MI_UPDATE_MSG="Xiaomi router auto-update has been \033[33m$mi_update\033[0m. If it does not take effect, sync the setting in the official app!" +TOOLS_MENU_MI_UPDATE_ITEM_PREFIX="5) " +TOOLS_MENU_MI_UPDATE_ITEM_SUFFIX=" Xiaomi system auto-update" +TOOLS_MENU_MI_AUTO_SSH_ITEM_PREFIX="6) Xiaomi device SSH hardening —— " +TOOLS_MENU_MI_AUTO_SSH_ITEM_SUFFIX="" +TOOLS_MENU_MI_TUN_FIX_ITEM_PREFIX="8) Xiaomi device Tun module repair —— " +TOOLS_MENU_MI_TUN_FIX_ITEM_SUFFIX="" +TOOLS_MI_UPDATE_MSG_PREFIX="Xiaomi router auto-update has been " +TOOLS_MI_UPDATE_MSG_SUFFIX=". If it does not take effect, sync the setting in the official app!" TOOLS_UNSUPPORTED_DEVICE="Unsupported device!" TOOLS_FETCHING_SCRIPT="Fetching online script..." TOOLS_DOWNLOAD_FAIL="File download failed!" @@ -46,16 +52,25 @@ TOOLS_AUTO_SSH_WARN2="If you have issues, please report in the group:" TOOLS_AUTO_SSH_PWD_HINT1="Please enter the SSH password to restore (current password will not be affected)" TOOLS_AUTO_SSH_PWD_HINT2="(Press Enter to skip)" TOOLS_AUTO_SSH_INPUT="Please enter> " -TOOLS_LOG_TG="1) Telegram push\t——\033[$stat_TG\033[0m" -TOOLS_LOG_DEER="2) PushDeer push\t——\033[$stat_Deer\033[0m" -TOOLS_LOG_BARK="3) Bark push-IOS\t——\033[$stat_bark\033[0m" -TOOLS_LOG_PO="4) Passover push\t——\033[$stat_Po\033[0m" -TOOLS_LOG_PP="5) PushPlus push\t——\033[$stat_PP\033[0m" -TOOLS_LOG_SYNO="6) SynoChat push\t——\033[$stat_SynoChat\033[0m" -TOOLS_LOG_GOTIFY="7) Gotify push\t ——\033[$stat_Gotify\033[0m" +TOOLS_LOG_TG_PREFIX="1) Telegram push\t——" +TOOLS_LOG_TG_SUFFIX="" +TOOLS_LOG_DEER_PREFIX="2) PushDeer push\t——" +TOOLS_LOG_DEER_SUFFIX="" +TOOLS_LOG_BARK_PREFIX="3) Bark push-IOS\t——" +TOOLS_LOG_BARK_SUFFIX="" +TOOLS_LOG_PO_PREFIX="4) Passover push\t——" +TOOLS_LOG_PO_SUFFIX="" +TOOLS_LOG_PP_PREFIX="5) PushPlus push\t——" +TOOLS_LOG_PP_SUFFIX="" +TOOLS_LOG_SYNO_PREFIX="6) SynoChat push\t——" +TOOLS_LOG_SYNO_SUFFIX="" +TOOLS_LOG_GOTIFY_PREFIX="7) Gotify push\t ——" +TOOLS_LOG_GOTIFY_SUFFIX="" TOOLS_LOG_VIEW="a) View \033[36mruntime logs\033[0m" -TOOLS_LOG_TASK="b) Push task logs\t——\033[$stat_task\033[0m" -TOOLS_LOG_DEVICE="c) Set device name\t——\033[$device_s\033[0m" +TOOLS_LOG_TASK_PREFIX="b) Push task logs\t——" +TOOLS_LOG_TASK_SUFFIX="" +TOOLS_LOG_DEVICE_PREFIX="c) Set device name\t——" +TOOLS_LOG_DEVICE_SUFFIX="" TOOLS_LOG_CLEAR="d) Clear log files" TOOLS_CONFIRM_CLOSE_TG="Are you sure you want to disable TG log push?" TOOLS_CONFIRM_CLOSE_DEER="Are you sure you want to disable PushDeer log push?" @@ -120,17 +135,22 @@ TOOLS_PROXY_NOTE="Note: depends on curl (wget is not supported), and the test re TOOLS_PROXY_OK="Connection successful! Response time: " TOOLS_PROXY_TIMEOUT="Connection timed out! Please retry or check the node configuration!" TOOLS_DEBUG_WARN1="Note: Debug mode will stop the original kernel service" -TOOLS_DEBUG_WARN2="Background log path: \033[32m$TMPDIR/debug.log\033[0m" +TOOLS_DEBUG_WARN2_PREFIX="Background log path: " +TOOLS_DEBUG_WARN2_SUFFIX="" TOOLS_DEBUG_WARN3="For long-running background monitoring, error is recommended as the log level to avoid oversized files!" TOOLS_DEBUG_WARN4="You can also use: \033[33mcrash -s debug 'warning'\033[0m to select another log level" -TOOLS_DEBUG_ITEM_1="1) Only test the availability of the \033[32m$config_tmp\033[0m config file" -TOOLS_DEBUG_ITEM_2="2) Run the \033[32m$config_tmp\033[0m config file in foreground without firewall hijacking (\033[33muse Ctrl+C to stop manually\033[0m)" +TOOLS_DEBUG_ITEM_1_PREFIX="1) Only test the availability of the " +TOOLS_DEBUG_ITEM_1_SUFFIX=" config file" +TOOLS_DEBUG_ITEM_2_PREFIX="2) Run the " +TOOLS_DEBUG_ITEM_2_SUFFIX=" config file in foreground without firewall hijacking (use Ctrl+C to stop manually)" TOOLS_DEBUG_ITEM_3="3) Run the full startup flow in background with firewall hijacking, log level: \033[31merror\033[0m" TOOLS_DEBUG_ITEM_4="4) Run the full startup flow in background with firewall hijacking, log level: \033[32minfo\033[0m" TOOLS_DEBUG_ITEM_5="5) Run the full startup flow in background with firewall hijacking, log level: \033[33mdebug\033[0m" -TOOLS_DEBUG_ITEM_6="6) Run the full startup flow in background with firewall hijacking and print error logs to flash: \033[32m$CRASHDIR/debug.log\033[0m" +TOOLS_DEBUG_ITEM_6_PREFIX="6) Run the full startup flow in background with firewall hijacking and print error logs to flash: " +TOOLS_DEBUG_ITEM_6_SUFFIX="" TOOLS_DEBUG_ITEM_8="8) Run the full startup flow in background, print execution errors and inspect context, then close the process" -TOOLS_DEBUG_ITEM_9="9) Merge the json files under \033[32m$config_tmp\033[0m into $TMPDIR/debug.json" +TOOLS_DEBUG_ITEM_9_PREFIX="9) Merge the json files under " +TOOLS_DEBUG_ITEM_9_SUFFIX=" into " TOOLS_FLASH_WARN="Frequent flash writes will shorten flash lifespan. Unless you are dealing with a bug that would otherwise crash or reboot the device, do not use this feature!" TOOLS_FLASH_CONFIRM="Confirm enabling this feature?" TOOLS_MERGE_OK="Merged successfully!" diff --git a/scripts/lang/en/9_upgrade.lang b/scripts/lang/en/9_upgrade.lang index 595581ba..33bcda2e 100644 --- a/scripts/lang/en/9_upgrade.lang +++ b/scripts/lang/en/9_upgrade.lang @@ -68,8 +68,10 @@ UPG_CORETYPE_CONFIRM_TEXT="Please confirm custom core type:" UPG_CORE_SWITCH_KEEP_TEXT="Keep related database files?" UPG_KEEP_TEXT="Keep" UPG_NOT_KEEP_TEXT="Do not keep" -UPG_GETTING_CORE_TEXT="Fetching $crashcore core files online..." -UPG_CORE_DOWNLOAD_OK_TEXT="$crashcore core downloaded successfully!" +UPG_GETTING_CORE_TEXT_PREFIX="Fetching " +UPG_GETTING_CORE_TEXT_SUFFIX=" core files online..." +UPG_CORE_DOWNLOAD_OK_TEXT_PREFIX="" +UPG_CORE_DOWNLOAD_OK_TEXT_SUFFIX=" core downloaded successfully!" UPG_CORE_DOWNLOAD_FAIL_TEXT="Core file download failed!" UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="Core file downloaded, but verification failed" UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT="Please try selecting a CPU version manually" @@ -100,18 +102,25 @@ UPG_CORE_MENU_CURRENT="Current core: " UPG_CORE_MENU_SYS="Current CPU architecture: " UPG_CORE_MENU_LOCAL_HINT="If uploading locally, place .upx, .gz, or .tar.gz files in /tmp and rerun the crash command" UPG_CORE_MENU_SELECT="Please choose the core version to use:" -UPG_CORE_MENU_1="1) \033[43;30mMihomo\033[0m: \033[32m$meta_v \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" -UPG_CORE_MENU_2="2) \033[43;30mSingBoxR\033[0m: \033[32m$singboxr_v \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" -UPG_CORE_MENU_3="3) \033[43;30mSingBox\033[0m: \033[32m$singbox_v \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" -UPG_CORE_MENU_4="4) \033[43;30mClash\033[0m: \033[32m$clash_v \033[32mlow resource usage\033[0m \033[33munsafe, maintenance stopped\033[0m" -UPG_CORE_MENU_5="5) Switch branch and compression method: \033[32m$zip_type\033[0m" -UPG_CORE_MENU_6="6) \033[36mUse custom core\033[0m $custcore" +UPG_CORE_MENU_1_PREFIX="1) \033[43;30mMihomo\033[0m: \033[32m" +UPG_CORE_MENU_1_SUFFIX=" \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" +UPG_CORE_MENU_2_PREFIX="2) \033[43;30mSingBoxR\033[0m: \033[32m" +UPG_CORE_MENU_2_SUFFIX=" \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" +UPG_CORE_MENU_3_PREFIX="3) \033[43;30mSingBox\033[0m: \033[32m" +UPG_CORE_MENU_3_SUFFIX=" \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" +UPG_CORE_MENU_4_PREFIX="4) \033[43;30mClash\033[0m: \033[32m" +UPG_CORE_MENU_4_SUFFIX=" \033[32mlow resource usage\033[0m \033[33munsafe, maintenance stopped\033[0m" +UPG_CORE_MENU_5_PREFIX="5) Switch branch and compression method: \033[32m" +UPG_CORE_MENU_5_SUFFIX="\033[0m" +UPG_CORE_MENU_6_PREFIX="6) \033[36mUse custom core\033[0m " +UPG_CORE_MENU_6_SUFFIX="" UPG_CORE_MENU_7="7) \033[32mUpdate current core\033[0m" UPG_CORE_MENU_9="9) Manually specify CPU architecture" UPG_GEO_GETTING="Fetching database files from the server..." UPG_GEO_FAIL="Download failed!" UPG_GEO_EXTRACT_FAIL="Extraction failed!" -UPG_GEO_OK="$geotype database file downloaded successfully!" +UPG_GEO_OK_PREFIX="" +UPG_GEO_OK_SUFFIX=" database file downloaded successfully!" UPG_GEO_LINKING="Fetching database files..." UPG_GEO_FINDING="Searching for updatable database files..." UPG_GEO_SELECT="Please choose the database file to update:" @@ -126,7 +135,8 @@ UPG_GEO_LOCAL_ONLY2="(SingBox-srs only)" UPG_GEO_LOCAL_ONLY3="(Mihomo-mrs only)" UPG_GEO_LOCAL_ONLY4="(Clash-GeoIP only)" UPG_GEO_CUSTOM_LINK="Custom database link" -UPG_GEO_CLEAN_HINT1="This will clean all database files under $CRASHDIR and /ruleset!" +UPG_GEO_CLEAN_HINT1_PREFIX="This will clean all database files under " +UPG_GEO_CLEAN_HINT1_SUFFIX=" and /ruleset!" UPG_GEO_CLEAN_HINT2="After cleaning, starting the service will automatically download the required files" UPG_GEO_CLEAN_CONFIRM="Confirm cleanup" UPG_GEO_CLEAN_OK="All database files have been cleaned!" @@ -139,7 +149,8 @@ UPG_DB_INSTALLED="A local panel is already installed" UPG_DB_UPGRADE="Upgrade / overwrite install" UPG_DB_CANCEL="Installation cancelled" UPG_DB_DIR_SELECT="Please choose the panel install directory:" -UPG_DB_DIR_1="1) Install in ${CRASHDIR}/ui" +UPG_DB_DIR_1_PREFIX="1) Install in " +UPG_DB_DIR_1_SUFFIX="/ui" UPG_DB_DIR_2="2) Install in /www/clash" UPG_DB_TITLE="Install the dashboard management panel locally" UPG_DB_TITLE2="The management panel opens faster and is more stable" @@ -207,13 +218,17 @@ UPG_THANKS_ITEM_DUSTIN_URL="Developer: https://github.com/DustinWin" UPG_CORE_GET_LINK_TITLE="Fetching core file links..." UPG_CUSTOM_CORE_CURRENT_TEXT="Current core: " UPG_CUSTOM_CORE_NOTE1="Gvisor, Tailscale, Wireguard, and NaiveProxy are not supported" -UPG_CORE_V1="1) \033[43;30mMihomo\033[0m: \033[32m$meta_v \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" +UPG_CORE_V1_PREFIX="1) \033[43;30mMihomo\033[0m: \033[32m" +UPG_CORE_V1_SUFFIX=" \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" UPG_CORE_V1_DOC="Docs: \033[36;4mhttps://wiki.metacubex.one\033[0m" -UPG_CORE_V2="2) \033[43;30mSingBoxR\033[0m: \033[32m$singboxr_v \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" +UPG_CORE_V2_PREFIX="2) \033[43;30mSingBoxR\033[0m: \033[32m" +UPG_CORE_V2_SUFFIX=" \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" UPG_CORE_V2_DOC="Docs: \033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" -UPG_CORE_V3="3) \033[43;30mSingBox\033[0m: \033[32m$singbox_v \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" +UPG_CORE_V3_PREFIX="3) \033[43;30mSingBox\033[0m: \033[32m" +UPG_CORE_V3_SUFFIX=" \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" UPG_CORE_V3_DOC="Docs: \033[36;4mhttps://sing-box.sagernet.org\033[0m" -UPG_CORE_V4="4) \033[43;30mClash\033[0m: \033[32m$clash_v \033[32mlow resource usage\033[0m \033[33munsafe, maintenance stopped\033[0m" +UPG_CORE_V4_PREFIX="4) \033[43;30mClash\033[0m: \033[32m" +UPG_CORE_V4_SUFFIX=" \033[32mlow resource usage\033[0m \033[33munsafe, maintenance stopped\033[0m" UPG_CORE_V4_DOC="Docs: \033[36;4mhttps://lancellc.gitbook.io\033[0m" UPG_CORE_ASUS_WARN="The GeoSite.dat database used by Meta core may be deleted by the system on Asus devices, so it may not work!" UPG_GEO_FIND_TITLE="Searching for updatable database files..." @@ -231,7 +246,8 @@ UPG_GEO_ITEM6="6) SingBox-srs common package (about 0.8mb, use only if needed)" UPG_GEO_ITEM8="8) \033[36mCustom database file\033[0m" UPG_GEO_ITEM9="9) \033[31mClean database files\033[0m" UPG_GEO_CLEAN_PROMPT="Confirm cleanup" -UPG_GEO_CLEAN_WARN="This will clean all database files under $CRASHDIR and /ruleset!" +UPG_GEO_CLEAN_WARN_PREFIX="This will clean all database files under " +UPG_GEO_CLEAN_WARN_SUFFIX=" and /ruleset!" UPG_GEO_CLEAN_WARN2="After cleanup, start the service to download the required files automatically" UPG_GEO_CLEANED="All database files have been cleaned!" UPG_DB_CONNECTING="Connecting to the server to fetch installation files..." @@ -240,7 +256,8 @@ UPG_DB_EXTRACT_FAIL_TEXT="Extraction failed!" UPG_DB_INSTALLED_HINT="A local panel is already installed" UPG_DB_INSTALL_CANCEL="Installation cancelled" UPG_DB_DIR_TITLE="Please choose the panel install directory:" -UPG_DB_DIR_1_TEXT="1) Install in ${CRASHDIR}/ui" +UPG_DB_DIR_1_TEXT_PREFIX="1) Install in " +UPG_DB_DIR_1_TEXT_SUFFIX="/ui" UPG_DB_DIR_2_TEXT="2) Install in /www/clash" UPG_DB_INSTALL_TITLE="Install the dashboard management panel locally" UPG_DB_INSTALL_TITLE2="The management panel opens faster and is more stable" diff --git a/scripts/lang/en/fw_filter.lang b/scripts/lang/en/fw_filter.lang index 090c1b5e..119afb1d 100644 --- a/scripts/lang/en/fw_filter.lang +++ b/scripts/lang/en/fw_filter.lang @@ -1,8 +1,12 @@ FWF_TITLE="Traffic Filter" -FWF_ITEM_1="1) Filter non-common ports: \t\033[36m$common_ports\033[0m\t--- used to filter P2P traffic" -FWF_ITEM_2="2) Filter LAN devices: \t\033[36m$mac_return\033[0m\t--- use blacklist/whitelist filtering" -FWF_ITEM_3="3) Filter QUIC protocol: \t\033[36m$quic_rj\033[0m\t--- improve video performance" -FWF_ITEM_4="4) Filter CN_IP (4&6) list: \033[36m$cn_ip_route\033[0m\t--- improve performance" +FWF_ITEM_1_PREFIX="1) Filter Common ports: " +FWF_ITEM_1_SUFFIX="--- filter P2P traffic" +FWF_ITEM_2_PREFIX="2) Filter LAN devices: " +FWF_ITEM_2_SUFFIX="--- use black/white list" +FWF_ITEM_3_PREFIX="3) Filter QUIC protocol: " +FWF_ITEM_3_SUFFIX="--- improve video" +FWF_ITEM_4_PREFIX="4) Filter CN_IP list: " +FWF_ITEM_4_SUFFIX="--- improve performance" FWF_ITEM_5="5) Custom transparent routing IPv4 subnet: suitable for vlan and other complex networks" FWF_ITEM_6="6) Custom reserved-address IPv4 subnet: for environments that need reserved addresses as targets" FWF_BACK="0) $COMMON_BACK" @@ -21,7 +25,8 @@ FWF_PASS_WORD="not" FWF_COMMON_NOTE="Note:\n" FWF_MIX_NOTE="In MIX mode, non-common port traffic from fake-ip sources will not be filtered" FWF_ALLOWED_PORTS="Currently allowed ports: " -FWF_PORT_MENU_1="1) Enable/disable port filtering: \t\033[36m$common_ports\033[0m" +FWF_PORT_MENU_1_PREFIX="1) Enable/disable port filtering: \t" +FWF_PORT_MENU_1_SUFFIX="" FWF_PORT_MENU_2="2) Add allowed port" FWF_PORT_MENU_3="3) Remove specified allowed port" FWF_PORT_MENU_4="4) Reset default allowed ports" @@ -76,7 +81,8 @@ FWF_FILTER_BLACK_DESC="Only the devices in the list bypass the core" FWF_FILTER_WHITE_DESC="Only the devices in the list pass through the core" FWF_FILTER_EXISTED="Currently filtered devices:" FWF_FILTER_HEADER=" \033[36mDevice MAC/IP\033[0m \033[35mDevice name\033[0m" -FWF_FILTER_SWITCH="1) Switch to \033[33m$fw_filter_lan_over mode\033[0m" +FWF_FILTER_SWITCH_PREFIX="1) Switch to " +FWF_FILTER_SWITCH_SUFFIX=" mode" FWF_FILTER_ADD_MAC="2) \033[32mAdd specified device (MAC)\033[0m" FWF_FILTER_ADD_IP="3) \033[32mAdd specified device (IP/subnet)\033[0m" FWF_FILTER_REMOVE="4) \033[36mRemove specified device\033[0m" diff --git a/scripts/lang/en/override.lang b/scripts/lang/en/override.lang index 556916a2..60ea88a2 100644 --- a/scripts/lang/en/override.lang +++ b/scripts/lang/en/override.lang @@ -10,7 +10,8 @@ OVR_PROMPT="Please enter> " OVR_GROUPS_CHOOSE_TYPE="Please choose the proxy group type:" OVR_GROUP_TYPE_CN="Manual Select Auto Select Failover Load Balance" OVR_WARN_1="This feature may cause serious problems! Most script functions will be disabled after enabling it!!!" -OVR_WARN_2="If you are not very familiar with how $crashcore works, do not enable it!" +OVR_WARN_2_PREFIX="If you are not very familiar with how " +OVR_WARN_2_SUFFIX=" works, do not enable it!" OVR_WARN_3="If any problem occurs after continuing, you must solve it yourself. No questions will be accepted!" OVR_WARN_CONFIRM="1) I confirm I can solve any problems myself" OVR_CONFIRM_YES="1) Yes" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index c31a9b21..33dbd3dc 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -265,6 +265,7 @@ set_redir_mod() { [ -z "$firewall_area" ] && firewall_area=1 [ "$firewall_area" = 4 ] && redir_mod="$MENU_PURE_MOD" [ -z "$redir_mod" ] && redir_mod='Redir' + [ -z "$vm_redir" ] && vm_redir='OFF' firewall_area_dsc=$(echo "$SET_FW_AREA_DESC($bypass_host)" | cut -d'|' -f$firewall_area) comp_box "\033[33m$SET_REDIR_RESTART_HINT\033[0m" \ "$SET_REDIR_CURRENT\033[47;30m$redir_mod$MENU_MOD\033[0m; $SET_CORE_CURRENT\033[47;30m$crashcore\033[0m" @@ -550,7 +551,6 @@ set_adv_config() { set_firewall_area() { while true; do - [ -z "$vm_redir" ] && vm_redir='OFF' comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \ "\033[33m$FW_AREA_NOTE_2\033[0m" \ "" \ diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index aa00011b..1442dc45 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -19,9 +19,9 @@ ssh_tools() { [ -z "$ssh_port" ] && ssh_port=10022 comp_box "\033[33m$TOOLS_SSH_ONLY_OPENWRT\033[0m" \ "\033[31m$TOOLS_SSH_UNSUPPORTED_SYSTEM\033[0m" - btm_box "$TOOLS_SSH_PORT_ITEM" \ + btm_box "${TOOLS_SSH_PORT_ITEM_PREFIX}\033[36m$ssh_port\033[0m${TOOLS_SSH_PORT_ITEM_SUFFIX}" \ "$TOOLS_SSH_PASS_ITEM" \ - "$TOOLS_SSH_TOGGLE_ITEM" \ + "${TOOLS_SSH_TOGGLE_ITEM_PREFIX}\033[33m$ssh_ol\033[0m${TOOLS_SSH_TOGGLE_ITEM_SUFFIX}" \ "" \ "0) $COMMON_BACK \033[0m" read -r -p "$COMMON_INPUT> " num @@ -88,9 +88,9 @@ tools() { content_line "$TOOLS_MENU_GUIDE_ITEM" content_line "$TOOLS_MENU_LOG_ITEM" [ -f /etc/firewall.user ] && content_line "$TOOLS_MENU_SSH_ITEM" - [ -x /usr/sbin/otapredownload ] && content_line "$TOOLS_MENU_MI_UPDATE_ITEM" - [ "$systype" = "mi_snapshot" ] && content_line "$TOOLS_MENU_MI_AUTO_SSH_ITEM" - [ "$systype" = "mi_snapshot" ] && content_line "$TOOLS_MENU_MI_TUN_FIX_ITEM" + [ -x /usr/sbin/otapredownload ] && content_line "${TOOLS_MENU_MI_UPDATE_ITEM_PREFIX}\033[33m$mi_update\033[0m${TOOLS_MENU_MI_UPDATE_ITEM_SUFFIX}" + [ "$systype" = "mi_snapshot" ] && content_line "${TOOLS_MENU_MI_AUTO_SSH_ITEM_PREFIX}\033[$mi_mi_autoSSH_type \033[0m${TOOLS_MENU_MI_AUTO_SSH_ITEM_SUFFIX}" + [ "$systype" = "mi_snapshot" ] && content_line "${TOOLS_MENU_MI_TUN_FIX_ITEM_PREFIX}\033[$mi_tunfix \033[0m${TOOLS_MENU_MI_TUN_FIX_ITEM_SUFFIX}" btm_box "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -123,7 +123,8 @@ tools() { sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /etc/crontabs/root || echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root fi - msg_alert "\033[32m$TOOLS_MI_UPDATE_MSG" + [ "$mi_update" = "$TOOLS_DISABLE" ] && mi_update=$TOOLS_ENABLE || mi_update=$TOOLS_DISABLE + msg_alert "\033[32m${TOOLS_MI_UPDATE_MSG_PREFIX}\033[33m$mi_update\033[0m${TOOLS_MI_UPDATE_MSG_SUFFIX}\033[0m" fi ;; 6) @@ -227,17 +228,17 @@ log_pusher() { [ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF [ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF [ -n "$device_name" ] && device_s=32m$device_name || device_s=33m$COMMON_UNSET - comp_box "$TOOLS_LOG_TG" \ - "$TOOLS_LOG_DEER" \ - "$TOOLS_LOG_BARK" \ - "$TOOLS_LOG_PO" \ - "$TOOLS_LOG_PP" \ - "$TOOLS_LOG_SYNO" \ - "$TOOLS_LOG_GOTIFY" \ + comp_box "${TOOLS_LOG_TG_PREFIX}\033[$stat_TG\033[0m${TOOLS_LOG_TG_SUFFIX}" \ + "${TOOLS_LOG_DEER_PREFIX}\033[$stat_Deer\033[0m${TOOLS_LOG_DEER_SUFFIX}" \ + "${TOOLS_LOG_BARK_PREFIX}\033[$stat_bark\033[0m${TOOLS_LOG_BARK_SUFFIX}" \ + "${TOOLS_LOG_PO_PREFIX}\033[$stat_Po\033[0m${TOOLS_LOG_PO_SUFFIX}" \ + "${TOOLS_LOG_PP_PREFIX}\033[$stat_PP\033[0m${TOOLS_LOG_PP_SUFFIX}" \ + "${TOOLS_LOG_SYNO_PREFIX}\033[$stat_SynoChat\033[0m${TOOLS_LOG_SYNO_SUFFIX}" \ + "${TOOLS_LOG_GOTIFY_PREFIX}\033[$stat_Gotify\033[0m${TOOLS_LOG_GOTIFY_SUFFIX}" \ "" \ "$TOOLS_LOG_VIEW" \ - "$TOOLS_LOG_TASK" \ - "$TOOLS_LOG_DEVICE" \ + "${TOOLS_LOG_TASK_PREFIX}\033[$stat_task\033[0m${TOOLS_LOG_TASK_SUFFIX}" \ + "${TOOLS_LOG_DEVICE_PREFIX}\033[$device_s\033[0m${TOOLS_LOG_DEVICE_SUFFIX}" \ "$TOOLS_LOG_CLEAR" \ "" \ "0) $COMMON_BACK" @@ -685,18 +686,18 @@ testcommand() { debug() { echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml comp_box "\033[36m$TOOLS_DEBUG_WARN1\033[0m" \ - "$TOOLS_DEBUG_WARN2" \ + "${TOOLS_DEBUG_WARN2_PREFIX}\033[32m$TMPDIR/debug.log\033[0m${TOOLS_DEBUG_WARN2_SUFFIX}" \ "$TOOLS_DEBUG_WARN3" \ "$TOOLS_DEBUG_WARN4" - content_line "$TOOLS_DEBUG_ITEM_1" - content_line "$TOOLS_DEBUG_ITEM_2" + content_line "${TOOLS_DEBUG_ITEM_1_PREFIX}\033[32m$config_tmp\033[0m${TOOLS_DEBUG_ITEM_1_SUFFIX}" + content_line "${TOOLS_DEBUG_ITEM_2_PREFIX}\033[32m$config_tmp\033[0m${TOOLS_DEBUG_ITEM_2_SUFFIX}" content_line "$TOOLS_DEBUG_ITEM_3" content_line "$TOOLS_DEBUG_ITEM_4" content_line "$TOOLS_DEBUG_ITEM_5" - content_line "$TOOLS_DEBUG_ITEM_6" + content_line "${TOOLS_DEBUG_ITEM_6_PREFIX}\033[32m$CRASHDIR/debug.log\033[0m${TOOLS_DEBUG_ITEM_6_SUFFIX}" content_line "" content_line "$TOOLS_DEBUG_ITEM_8" - [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "$TOOLS_DEBUG_ITEM_9" + [ -s "$TMPDIR"/jsons/inbounds.json ] && content_line "${TOOLS_DEBUG_ITEM_9_PREFIX}\033[32m$config_tmp\033[0m${TOOLS_DEBUG_ITEM_9_SUFFIX}\033[32m$TMPDIR/debug.json\033[0m" btm_box "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num @@ -765,4 +766,3 @@ debug() { ;; esac } - diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index eaa8cdab..33002a82 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -300,11 +300,11 @@ getcore() { # 获取在线内核文件 line_break separator_line "=" - content_line "$UPG_GETTING_CORE_TEXT" + content_line "${UPG_GETTING_CORE_TEXT_PREFIX}${crashcore}${UPG_GETTING_CORE_TEXT_SUFFIX}" core_webget case "$?" in 0) - content_line "\033[32m$UPG_CORE_DOWNLOAD_OK_TEXT\033[0m" + content_line "\033[32m${UPG_CORE_DOWNLOAD_OK_TEXT_PREFIX}${crashcore}${UPG_CORE_DOWNLOAD_OK_TEXT_SUFFIX}\033[0m" separator_line "=" sleep 1 switch_core @@ -403,10 +403,10 @@ setcustcore() { separator_line "=" content_line "$UPG_CUSTOM_CORE_SELECT" separator_line "-" - btm_box "$UPG_CORE_MENU_1" \ - "$UPG_CORE_MENU_2" \ - "$UPG_CORE_MENU_3" \ - "$UPG_CORE_MENU_4" \ + btm_box "${UPG_CORE_MENU_1_PREFIX}${meta_v}${UPG_CORE_MENU_1_SUFFIX}" \ + "${UPG_CORE_MENU_2_PREFIX}${singboxr_v}${UPG_CORE_MENU_2_SUFFIX}" \ + "${UPG_CORE_MENU_3_PREFIX}${singbox_v}${UPG_CORE_MENU_3_SUFFIX}" \ + "${UPG_CORE_MENU_4_PREFIX}${clash_v}${UPG_CORE_MENU_4_SUFFIX}" \ "$UPG_CORE_MENU_9" \ "" \ "0) $COMMON_BACK" @@ -506,22 +506,22 @@ setcore() { "" \ "\033[33m$UPG_CORE_MENU_SELECT\033[0m" - content_line "$UPG_CORE_V1" + content_line "${UPG_CORE_V1_PREFIX}${meta_v}${UPG_CORE_V1_SUFFIX}" sub_content_line "$UPG_CORE_V1_DOC" - content_line "$UPG_CORE_V2" + content_line "${UPG_CORE_V2_PREFIX}${singboxr_v}${UPG_CORE_V2_SUFFIX}" sub_content_line "$UPG_CORE_V2_DOC" [ "$zip_type" = 'upx' ] && { - content_line "$UPG_CORE_V3" + content_line "${UPG_CORE_V3_PREFIX}${singbox_v}${UPG_CORE_V3_SUFFIX}" sub_content_line "$UPG_CORE_V3_DOC" } [ "$zip_type" = 'upx' ] && { - content_line "$UPG_CORE_V4" + content_line "${UPG_CORE_V4_PREFIX}${clash_v}${UPG_CORE_V4_SUFFIX}" sub_content_line "$UPG_CORE_V4_DOC" } - btm_box "$UPG_CORE_MENU_5" \ - "$UPG_CORE_MENU_6" \ + btm_box "${UPG_CORE_MENU_5_PREFIX}${zip_type}${UPG_CORE_MENU_5_SUFFIX}" \ + "${UPG_CORE_MENU_6_PREFIX}${custcore}${UPG_CORE_MENU_6_SUFFIX}" \ "$UPG_CORE_MENU_7" \ "$UPG_CORE_MENU_9" \ "" \ @@ -609,7 +609,7 @@ getgeo() { else mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" fi - content_line "\033[32m$UPG_GEO_OK\033[0m" + content_line "\033[32m${UPG_GEO_OK_PREFIX}${geotype}${UPG_GEO_OK_SUFFIX}\033[0m" geo_v="$(echo "$geotype" | awk -F "." '{print $1}')_v" setconfig "$geo_v" "$GeoIP_v" fi @@ -630,7 +630,7 @@ getcustgeo() { [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset } mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}" - content_line "\033[32m$UPG_GEO_OK\033[0m" + content_line "\033[32m${UPG_GEO_OK_PREFIX}${geotype}${UPG_GEO_OK_SUFFIX}\033[0m" separator_line "=" fi sleep 1 @@ -818,7 +818,7 @@ setgeo() { ;; 9) while true; do - comp_box "\033[33m$UPG_GEO_CLEAN_HINT1\033[0m" \ + comp_box "\033[33m${UPG_GEO_CLEAN_HINT1_PREFIX}${CRASHDIR}${UPG_GEO_CLEAN_HINT1_SUFFIX}\033[0m" \ "$UPG_GEO_CLEAN_HINT2" btm_box "$UPG_GEO_CLEAN_CONFIRM" \ "0) $COMMON_BACK" @@ -912,7 +912,7 @@ dbdir() { fi elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then comp_box "$UPG_DB_DIR_SELECT" - btm_box "$UPG_DB_DIR_1" \ + btm_box "${UPG_DB_DIR_1_PREFIX}${CRASHDIR}${UPG_DB_DIR_1_SUFFIX}" \ "$UPG_DB_DIR_2" \ "" \ "0) $COMMON_BACK" diff --git a/scripts/menus/fw_filter.sh b/scripts/menus/fw_filter.sh index 6ff420ef..afadc578 100644 --- a/scripts/menus/fw_filter.sh +++ b/scripts/menus/fw_filter.sh @@ -12,11 +12,11 @@ set_fw_filter() { [ -z "$quic_rj" ] && quic_rj=OFF [ -z "$cn_ip_route" ] && cn_ip_route=OFF touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter - [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_return=OFF || mac_return=ON - comp_box "$FWF_ITEM_1" \ - "$FWF_ITEM_2" \ - "$FWF_ITEM_3" \ - "$FWF_ITEM_4" \ + [ -z "$(cat "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter 2>/dev/null)" ] && mac_filter_info=OFF || mac_filter_info=ON + comp_box "${FWF_ITEM_1_PREFIX}\033[36m$common_ports\033[0m\t${FWF_ITEM_1_SUFFIX}" \ + "${FWF_ITEM_2_PREFIX}\033[36m$mac_filter_info\033[0m\t${FWF_ITEM_2_SUFFIX}" \ + "${FWF_ITEM_3_PREFIX}\033[36m$quic_rj\033[0m\t${FWF_ITEM_3_SUFFIX}" \ + "${FWF_ITEM_4_PREFIX}\033[36m$cn_ip_route\033[0m\t${FWF_ITEM_4_SUFFIX}" \ "$FWF_ITEM_5" \ "$FWF_ITEM_6" \ "" \ @@ -94,7 +94,7 @@ set_common_ports() { content_line "$FWF_ALLOWED_PORTS\033[36m$multiport\033[0m" fi separator_line "=" - btm_box "$FWF_PORT_MENU_1" \ + btm_box "${FWF_PORT_MENU_1_PREFIX}\033[36m$common_ports\033[0m${FWF_PORT_MENU_1_SUFFIX}" \ "$FWF_PORT_MENU_2" \ "$FWF_PORT_MENU_3" \ "$FWF_PORT_MENU_4" \ @@ -463,7 +463,7 @@ fw_filter_lan() { done separator_line "=" fi - btm_box "$FWF_FILTER_SWITCH" \ + btm_box "${FWF_FILTER_SWITCH_PREFIX}\033[33m$fw_filter_lan_over\033[0m${FWF_FILTER_SWITCH_SUFFIX}" \ "$FWF_FILTER_ADD_MAC" \ "$FWF_FILTER_ADD_IP" \ "$FWF_FILTER_REMOVE" \ diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index 3db8219f..2045bc28 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -3,10 +3,9 @@ [ -n "$__IS_MODULE_OVERRIDE" ] && return __IS_MODULE_OVERRIDE=1 -load_lang override - YAMLSDIR="$CRASHDIR"/yamls JSONSDIR="$CRASHDIR"/jsons +load_lang override # 配置文件覆写 override() { @@ -48,7 +47,7 @@ override() { ;; 9) comp_box "\033[33m$OVR_WARN_1\033[0m" \ - "\033[33m$OVR_WARN_2\033[0m" \ + "\033[33m${OVR_WARN_2_PREFIX}$crashcore${OVR_WARN_2_SUFFIX}\033[0m" \ "\033[33m$OVR_WARN_3\033[0m" sleep 2 btm_box "$OVR_WARN_CONFIRM" \ From 5e7a46c378cb7bfbd4e2bcf13283974a5964f8d2 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 19:11:15 +0800 Subject: [PATCH 263/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=86=85=E6=A0=B8=E5=8A=9F=E8=83=BD=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=A2=9E=E5=8A=A0Dustinwin=E5=86=85=E6=A0=B8?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/9_upgrade.sh | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 33002a82..bba361b4 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -338,7 +338,7 @@ checkcustcore() { release_date=$(cat "$TMPDIR"/github_api | grep '"published_at":' | awk -F '"' '{print $4}') update_date=$(cat "$TMPDIR"/github_api | grep '"updated_at":' | head -n 1 | awk -F '"' '{print $4}') echo "$cpucore" | grep -q 'mips' && cpu_type=mips || cpu_type=$cpucore - cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE "https://github.com/${project}/releases/download.*linux.*${cpu_type}.*\.gz\"$" | sed 's/"//' >"$TMPDIR"/core.list + cat "$TMPDIR"/github_api | grep "browser_download_url" | grep -oE "https://github.com/${project}/releases/download.*linux.*${cpu_type}.*\.(gz|upx)\"$" | sed 's/"//' >"$TMPDIR"/core.list rm -rf "$TMPDIR"/github_api if [ -s "$TMPDIR"/core.list ]; then @@ -391,6 +391,7 @@ checkcustcore() { setcustcore() { while true; do [ -z "$cpucore" ] && check_cpucore + [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#')" line_break separator_line "=" content_line "\033[36m$UPG_CUSTOM_CORE_SOURCE\033[0m" @@ -398,15 +399,17 @@ setcustcore() { content_line "\033[31m$UPG_CUSTOM_CORE_TASK_WARN\033[0m" content_line "\033[32m$UPG_CUSTOM_CORE_NET_WARN\033[0m" [ -n "$custcore" ] && { - content_line "$UPG_CUSTOM_CORE_CURRENT_TEXT\033[36m$custcore\033[0m" + content_line "$UPG_CUSTOM_CORE_CURRENT_TEXT" + content_line "\033[36m$custcore\033[0m" } separator_line "=" content_line "$UPG_CUSTOM_CORE_SELECT" separator_line "-" - btm_box "${UPG_CORE_MENU_1_PREFIX}${meta_v}${UPG_CORE_MENU_1_SUFFIX}" \ - "${UPG_CORE_MENU_2_PREFIX}${singboxr_v}${UPG_CORE_MENU_2_SUFFIX}" \ - "${UPG_CORE_MENU_3_PREFIX}${singbox_v}${UPG_CORE_MENU_3_SUFFIX}" \ - "${UPG_CORE_MENU_4_PREFIX}${clash_v}${UPG_CORE_MENU_4_SUFFIX}" \ + btm_box "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" \ + "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" \ + "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" \ + "4) \033[36mDustinWin/mihomo\033[0m多版本内核" \ + "5) \033[36mDustinWin/sing-boxr\033[0m多版本内核" \ "$UPG_CORE_MENU_9" \ "" \ "0) $COMMON_BACK" @@ -434,9 +437,15 @@ setcustcore() { checkcustcore ;; 4) - project=juewuy/ShellCrash - api_tag=clash.premium.latest - crashcore=clashpre + project=DustinWin/proxy-tools + api_tag=mihomo + crashcore=meta + checkcustcore + ;; + 5) + project=DustinWin/proxy-tools + api_tag=sing-box + crashcore=singboxr checkcustcore ;; 9) @@ -496,7 +505,6 @@ setcore() { [ -z "$crashcore" ] && crashcore="unknow" [ -z "$zip_type" ] && zip_type="tar.gz" echo "$crashcore" | grep -q 'singbox' && core_old=singbox || core_old=clash - [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#')" [ -z "$cpucore" ] && check_cpucore @@ -521,7 +529,7 @@ setcore() { sub_content_line "$UPG_CORE_V4_DOC" } btm_box "${UPG_CORE_MENU_5_PREFIX}${zip_type}${UPG_CORE_MENU_5_SUFFIX}" \ - "${UPG_CORE_MENU_6_PREFIX}${custcore}${UPG_CORE_MENU_6_SUFFIX}" \ + "${UPG_CORE_MENU_6_PREFIX}${UPG_CORE_MENU_6_SUFFIX}" \ "$UPG_CORE_MENU_7" \ "$UPG_CORE_MENU_9" \ "" \ From 6b6740a7251c8067080c4c32e0a94a4758a7f97a Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 19:21:04 +0800 Subject: [PATCH 264/318] =?UTF-8?q?~=E5=A4=9A=E8=AF=AD=E8=A8=80=E5=8C=96?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/9_upgrade.lang | 17 +++-------------- scripts/lang/en/9_upgrade.lang | 17 +++-------------- scripts/menus/9_upgrade.sh | 27 +++++++++++++-------------- 3 files changed, 19 insertions(+), 42 deletions(-) diff --git a/scripts/lang/chs/9_upgrade.lang b/scripts/lang/chs/9_upgrade.lang index f7be375c..fab58d86 100644 --- a/scripts/lang/chs/9_upgrade.lang +++ b/scripts/lang/chs/9_upgrade.lang @@ -52,11 +52,6 @@ UPG_PAC_GUIDE_TEXT="PAC的使用教程请参考:" UPG_THANKS_PROJECTS="感谢以下项目及其开发者们的无私奉献!" UPG_THANKS_SPECIAL_TEXT="特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m" UPG_GETTING_UPDATE="正在检查更新......" -UPG_GET_OK="检查更新成功" -UPG_GET_FAIL="检查更新失败!请尝试切换其他安装源!" -UPG_EXTRACT_START="开始解压文件......" -UPG_SCRIPT_UPDATE_OK="脚本更新成功!" -UPG_SCRIPT_UPDATE_PROMPT="注意:更新时会停止服务!" UPG_SCRIPT_CUR_VER_TEXT="当前脚本版本为:" UPG_SCRIPT_NEW_VER_TEXT="最新脚本版本为:" UPG_UPDATE_NOW_TEXT="立即更新" @@ -88,6 +83,9 @@ UPG_CUSTOM_CORE_TASK_WARN="自定义内核已适配定时任务,但不支持 UPG_CUSTOM_CORE_NET_WARN="如遇到网络错误请先启动ShellCrash服务!" UPG_CUSTOM_CORE_CURRENT="当前内核为:" UPG_CUSTOM_CORE_SELECT="请选择需要使用的核心:" +UPG_CUSTOM_CORE_MENU_OFFICIAL="版本官方内核" +UPG_CUSTOM_CORE_MENU_ALPHA="版本内核(支持Smart策略)" +UPG_CUSTOM_CORE_MENU_MULTI="多版本内核" UPG_CUSTOM_CORE_LINK_HINT="请输入自定义内核的链接地址" UPG_CUSTOM_CORE_LINK_HINT2="(必须是以.tar.gz、.upx或.gz结尾的压缩文件)" UPG_CUSTOM_CORE_LINK_HINT3="或者输入 0 返回上级菜单" @@ -117,8 +115,6 @@ UPG_CORE_MENU_6_SUFFIX="" UPG_CORE_MENU_7="7) \033[32m更新当前内核\033[0m" UPG_CORE_MENU_9="9) 手动指定处理器架构" UPG_GEO_GETTING="正在从服务器获取数据库文件......" -UPG_GEO_FAIL="文件下载失败!" -UPG_GEO_EXTRACT_FAIL="文件解压失败!" UPG_GEO_OK_PREFIX="" UPG_GEO_OK_SUFFIX="数据库文件下载成功!" UPG_GEO_LINKING="正在获取数据库文件......" @@ -142,7 +138,6 @@ UPG_GEO_CLEAN_CONFIRM="确认清理" UPG_GEO_CLEAN_OK="所有数据库文件均已清理!" UPG_DB_GETTING="正在连接服务器获取安装文件......" UPG_DB_DOWNLOAD_OK="下载成功,正在解压文件......" -UPG_DB_EXTRACT_FAIL="文件解压失败!" UPG_DB_OK="面板安装成功!" UPG_DB_REFRESH_HINT="如未生效,请使用【Ctrl+F5】强制刷新浏览器!" UPG_DB_INSTALLED="检测到已经安装过本地面板" @@ -167,8 +162,6 @@ UPG_DB_UNINSTALL="9) \033[31m卸载本地面板\033[0m" UPG_DB_UNINSTALL_CONFIRM="是否卸载本地面板?" UPG_DB_UNINSTALL_YES="1) 确认卸载" UPG_DB_UNINSTALL_OK="面板已经卸载!" -UPG_CRT_DB_GETTING="正在连接服务器获取安装文件......" -UPG_CRT_DB_DOWNLOAD_FAIL="文件下载失败!" UPG_CRT_DB_OK="证书安装成功!" UPG_CRT_TITLE1="安装/更新本地根证书文件(ca-certificates.crt)" UPG_CRT_TITLE2="用于解决证书校验错误,x509报错等问题" @@ -216,7 +209,6 @@ UPG_THANKS_ITEM_REF1ND_URL="项目地址:https://github.com/reF1nd/sing-box" UPG_THANKS_ITEM_DUSTIN="DustinWin 开发:DustinWin" UPG_THANKS_ITEM_DUSTIN_URL="开发者地址:https://github.com/DustinWin" UPG_CORE_GET_LINK_TITLE="正在获取内核文件链接......" -UPG_CUSTOM_CORE_CURRENT_TEXT="当前内核为:" UPG_CUSTOM_CORE_NOTE1="不支持Gvisor、Tailscale、Wireguard、NaiveProxy" UPG_CORE_V1_PREFIX="1) \033[43;30mMihomo\033[0m:\033[32m" UPG_CORE_V1_SUFFIX=" \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\033[0m" @@ -251,8 +243,6 @@ UPG_GEO_CLEAN_WARN_SUFFIX="目录及/ruleset目录下所有数据库文件!" UPG_GEO_CLEAN_WARN2="清理后启动服务即可自动下载所需文件" UPG_GEO_CLEANED="所有数据库文件均已清理!" UPG_DB_CONNECTING="正在连接服务器获取安装文件......" -UPG_DB_DOWNLOAD_FAIL="文件下载失败!" -UPG_DB_EXTRACT_FAIL_TEXT="文件解压失败!" UPG_DB_INSTALLED_HINT="检测到已经安装过本地面板" UPG_DB_INSTALL_CANCEL="安装已取消" UPG_DB_DIR_TITLE="请选择面板安装目录:" @@ -271,7 +261,6 @@ UPG_DB_UNINSTALL_PROMPT="是否卸载本地面板?" UPG_DB_UNINSTALL_CONFIRM_TEXT="1) 确认卸载" UPG_DB_UNINSTALLED="面板已经卸载!" UPG_CRT_CONNECTING="正在连接服务器获取安装文件......" -UPG_CRT_INSTALL_OK="证书安装成功!" UPG_CRT_INSTALL_TITLE1="安装/更新本地根证书文件(ca-certificates.crt)" UPG_CRT_INSTALL_TITLE2="用于解决证书校验错误,x509报错等问题" UPG_CRT_INSTALL_TITLE3="无上述问题的设备请勿使用!" diff --git a/scripts/lang/en/9_upgrade.lang b/scripts/lang/en/9_upgrade.lang index 33bcda2e..e497aff3 100644 --- a/scripts/lang/en/9_upgrade.lang +++ b/scripts/lang/en/9_upgrade.lang @@ -52,11 +52,6 @@ UPG_PAC_GUIDE_TEXT="PAC guide: " UPG_THANKS_PROJECTS="Thanks to the following projects and developers!" UPG_THANKS_SPECIAL_TEXT="Special thanks: \033[36mall contributors and sponsors!\033[0m" UPG_GETTING_UPDATE="Checking updates..." -UPG_GET_OK="Update check succeeded" -UPG_GET_FAIL="Update check failed! Please switch source and retry!" -UPG_EXTRACT_START="Extracting files..." -UPG_SCRIPT_UPDATE_OK="Script update succeeded!" -UPG_SCRIPT_UPDATE_PROMPT="Note: service will be stopped during update!" UPG_SCRIPT_CUR_VER_TEXT="Current script version: " UPG_SCRIPT_NEW_VER_TEXT="Latest script version: " UPG_UPDATE_NOW_TEXT="Update now" @@ -88,6 +83,9 @@ UPG_CUSTOM_CORE_TASK_WARN="Custom cores support scheduled tasks but do not suppo UPG_CUSTOM_CORE_NET_WARN="If you encounter network errors, start the ShellCrash service first!" UPG_CUSTOM_CORE_CURRENT="Current core: " UPG_CUSTOM_CORE_SELECT="Please choose the core you want to use:" +UPG_CUSTOM_CORE_MENU_OFFICIAL=" official core" +UPG_CUSTOM_CORE_MENU_ALPHA=" core (supports Smart strategy)" +UPG_CUSTOM_CORE_MENU_MULTI=" multi-version core" UPG_CUSTOM_CORE_LINK_HINT="Please enter the custom core URL" UPG_CUSTOM_CORE_LINK_HINT2="(must end with .tar.gz, .upx, or .gz)" UPG_CUSTOM_CORE_LINK_HINT3="Or enter 0 to return to the previous menu" @@ -117,8 +115,6 @@ UPG_CORE_MENU_6_SUFFIX="" UPG_CORE_MENU_7="7) \033[32mUpdate current core\033[0m" UPG_CORE_MENU_9="9) Manually specify CPU architecture" UPG_GEO_GETTING="Fetching database files from the server..." -UPG_GEO_FAIL="Download failed!" -UPG_GEO_EXTRACT_FAIL="Extraction failed!" UPG_GEO_OK_PREFIX="" UPG_GEO_OK_SUFFIX=" database file downloaded successfully!" UPG_GEO_LINKING="Fetching database files..." @@ -142,7 +138,6 @@ UPG_GEO_CLEAN_CONFIRM="Confirm cleanup" UPG_GEO_CLEAN_OK="All database files have been cleaned!" UPG_DB_GETTING="Connecting to the server to fetch installation files..." UPG_DB_DOWNLOAD_OK="Download succeeded, extracting files..." -UPG_DB_EXTRACT_FAIL="Extraction failed!" UPG_DB_OK="Panel installed successfully!" UPG_DB_REFRESH_HINT="If it does not take effect, use Ctrl+F5 to force-refresh the browser!" UPG_DB_INSTALLED="A local panel is already installed" @@ -167,8 +162,6 @@ UPG_DB_UNINSTALL="9) \033[31mUninstall local panel\033[0m" UPG_DB_UNINSTALL_CONFIRM="Uninstall the local panel?" UPG_DB_UNINSTALL_YES="1) Confirm uninstall" UPG_DB_UNINSTALL_OK="Panel has been uninstalled!" -UPG_CRT_DB_GETTING="Connecting to the server to fetch installation files..." -UPG_CRT_DB_DOWNLOAD_FAIL="Download failed!" UPG_CRT_DB_OK="Certificate installed successfully!" UPG_CRT_TITLE1="Install / update local root certificate file (ca-certificates.crt)" UPG_CRT_TITLE2="Used to fix certificate verification errors, x509 errors, and similar issues" @@ -216,7 +209,6 @@ UPG_THANKS_ITEM_REF1ND_URL="Project: https://github.com/reF1nd/sing-box" UPG_THANKS_ITEM_DUSTIN="DustinWin Developer: DustinWin" UPG_THANKS_ITEM_DUSTIN_URL="Developer: https://github.com/DustinWin" UPG_CORE_GET_LINK_TITLE="Fetching core file links..." -UPG_CUSTOM_CORE_CURRENT_TEXT="Current core: " UPG_CUSTOM_CORE_NOTE1="Gvisor, Tailscale, Wireguard, and NaiveProxy are not supported" UPG_CORE_V1_PREFIX="1) \033[43;30mMihomo\033[0m: \033[32m" UPG_CORE_V1_SUFFIX=" \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\033[0m" @@ -251,8 +243,6 @@ UPG_GEO_CLEAN_WARN_SUFFIX=" and /ruleset!" UPG_GEO_CLEAN_WARN2="After cleanup, start the service to download the required files automatically" UPG_GEO_CLEANED="All database files have been cleaned!" UPG_DB_CONNECTING="Connecting to the server to fetch installation files..." -UPG_DB_DOWNLOAD_FAIL="Download failed!" -UPG_DB_EXTRACT_FAIL_TEXT="Extraction failed!" UPG_DB_INSTALLED_HINT="A local panel is already installed" UPG_DB_INSTALL_CANCEL="Installation cancelled" UPG_DB_DIR_TITLE="Please choose the panel install directory:" @@ -271,7 +261,6 @@ UPG_DB_UNINSTALL_PROMPT="Uninstall the local panel?" UPG_DB_UNINSTALL_CONFIRM_TEXT="1) Confirm uninstall" UPG_DB_UNINSTALLED="Panel has been uninstalled!" UPG_CRT_CONNECTING="Connecting to the server to fetch installation files..." -UPG_CRT_INSTALL_OK="Certificate installed successfully!" UPG_CRT_INSTALL_TITLE1="Install / update local root certificate file (ca-certificates.crt)" UPG_CRT_INSTALL_TITLE2="Used to fix certificate verification errors, x509 errors, and similar issues" UPG_CRT_INSTALL_TITLE3="Do not use on devices without the above issues!" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index bba361b4..99114fee 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -391,7 +391,7 @@ checkcustcore() { setcustcore() { while true; do [ -z "$cpucore" ] && check_cpucore - [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#')" + [ -n "$custcorelink" ] && custcore="$(echo "$custcorelink" | sed 's#.*github.com##; s#/releases/download/#@#')" line_break separator_line "=" content_line "\033[36m$UPG_CUSTOM_CORE_SOURCE\033[0m" @@ -399,17 +399,16 @@ setcustcore() { content_line "\033[31m$UPG_CUSTOM_CORE_TASK_WARN\033[0m" content_line "\033[32m$UPG_CUSTOM_CORE_NET_WARN\033[0m" [ -n "$custcore" ] && { - content_line "$UPG_CUSTOM_CORE_CURRENT_TEXT" - content_line "\033[36m$custcore\033[0m" + content_line "$UPG_CUSTOM_CORE_CURRENT\033[36m$custcore\033[0m" } separator_line "=" content_line "$UPG_CUSTOM_CORE_SELECT" separator_line "-" - btm_box "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" \ - "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" \ - "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" \ - "4) \033[36mDustinWin/mihomo\033[0m多版本内核" \ - "5) \033[36mDustinWin/sing-boxr\033[0m多版本内核" \ + btm_box "1) \033[36mMetaCubeX/mihomo\033[32m@release\033[0m$UPG_CUSTOM_CORE_MENU_OFFICIAL" \ + "2) \033[36mvernesong/mihomo\033[32m@alpha\033[0m$UPG_CUSTOM_CORE_MENU_ALPHA" \ + "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m$UPG_CUSTOM_CORE_MENU_OFFICIAL" \ + "4) \033[36mDustinWin/mihomo\033[0m$UPG_CUSTOM_CORE_MENU_MULTI" \ + "5) \033[36mDustinWin/sing-boxr\033[0m$UPG_CUSTOM_CORE_MENU_MULTI" \ "$UPG_CORE_MENU_9" \ "" \ "0) $COMMON_BACK" @@ -596,7 +595,7 @@ getgeo() { content_line "$UPG_GEO_GETTING" get_bin "$TMPDIR"/"${geoname}" bin/geodata/"$geotype" if [ "$?" = "1" ]; then - content_line "\033[31m$UPG_GEO_FAIL\033[0m" + content_line "\033[31m$UPG_DOWNLOAD_FAIL\033[0m" error_down else echo "$geoname" | grep -Eq '.mrs|.srs|.tar.gz' && { @@ -606,7 +605,7 @@ getgeo() { if echo "$geoname" | grep -Eq '.tar.gz'; then tar -zxf "$TMPDIR"/"${geoname}" ${tar_para} -C "$BINDIR"/"${geofile}" >/dev/null if [ $? -ne 0 ]; then - content_line "$UPG_GEO_EXTRACT_FAIL" + content_line "$UPG_EXTRACT_FAIL" separator_line "=" sleep 1 line_break @@ -630,7 +629,7 @@ getcustgeo() { content_line "$UPG_GEO_LINKING" webget "$TMPDIR"/"$geoname" "$custgeolink" if [ "$?" = "1" ]; then - content_line "\033[31m$UPG_GEO_FAIL\033[0m" + content_line "\033[31m$UPG_DOWNLOAD_FAIL\033[0m" error_down else echo "$geoname" | grep -Eq '.mrs|.srs' && { @@ -867,7 +866,7 @@ getdb() { content_line "$UPG_DB_GETTING" get_bin "$TMPDIR"/clashdb.tar.gz bin/dashboard/${db_type}.tar.gz if [ "$?" = "1" ]; then - content_line "\033[31m$UPG_GEO_FAIL\033[0m" + content_line "\033[31m$UPG_DOWNLOAD_FAIL\033[0m" error_down return 1 else @@ -875,7 +874,7 @@ getdb() { mkdir -p "$dbdir" >/dev/null tar -zxf "$TMPDIR/clashdb.tar.gz" ${tar_para} -C "$dbdir" >/dev/null if [ $? -ne 0 ]; then - content_line "$UPG_GEO_EXTRACT_FAIL" + content_line "$UPG_EXTRACT_FAIL" separator_line "=" line_break sleep 1 @@ -1036,7 +1035,7 @@ getcrt() { content_line "$UPG_DB_GETTING" get_bin "$TMPDIR"/ca-certificates.crt bin/fix/ca-certificates.crt echooff if [ "$?" = "1" ]; then - content_line "\033[31m$UPG_GEO_FAIL\033[0m" + content_line "\033[31m$UPG_DOWNLOAD_FAIL\033[0m" error_down else [ "$systype" = 'mi_snapshot' ] && cp -f "$TMPDIR"/ca-certificates.crt "$CRASHDIR"/tools #镜像化设备特殊处理 From 2e7d615f8a34264d2bbbbc0d60fc32c19bbee964 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 19:35:24 +0800 Subject: [PATCH 265/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/7_gateway.lang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/lang/chs/7_gateway.lang b/scripts/lang/chs/7_gateway.lang index ddfb9dec..128508c6 100644 --- a/scripts/lang/chs/7_gateway.lang +++ b/scripts/lang/chs/7_gateway.lang @@ -1,4 +1,4 @@ -GW_TITLE="访问与控制菜单" +GW_TITLE="访问与控制菜单" GW_WARN="注意:" GW_FW_VPS_HINT="如在vps运行,还需在vps安全策略对相关端口同时放行" GW_FW_PORT_LIMIT="最多支持设置放行10个端口,请先减少一些!" From 13fc116985d85aec49c26e9360eee3e8d3bab8a0 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 19:50:42 +0800 Subject: [PATCH 266/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E5=86=85=E6=A0=B8=E6=8A=A5=E9=94=99=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/i18n.sh | 4 ++-- scripts/menu.sh | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/scripts/libs/i18n.sh b/scripts/libs/i18n.sh index 1b0af090..01ec63eb 100644 --- a/scripts/libs/i18n.sh +++ b/scripts/libs/i18n.sh @@ -3,6 +3,6 @@ load_lang() { i18n=$(cat "$CRASHDIR"/configs/i18n.cfg 2>/dev/null) [ -z "$i18n" ] && i18n=chs - file="$CRASHDIR/lang/$i18n/$1.lang" - [ -s "$file" ] && . "$file" + i18n_file="$CRASHDIR/lang/$i18n/$1.lang" + [ -s "$i18n_file" ] && . "$i18n_file" } \ No newline at end of file diff --git a/scripts/menu.sh b/scripts/menu.sh index 5cdce9fc..4f85cb7c 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -144,20 +144,21 @@ ckstatus() { # 检查/tmp内核文件 for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -Ev ".*(zip|7z|tar)$" | grep -iE 'CrashCore|^clash$|^clash-linux.*|^mihomo.*|^sing.*box'); do - comp_box "$MENU_TMP_CORE_FOUND \033[36m/tmp/$file\033[0m" \ + local tmp_file="/tmp/$file" + comp_box "$MENU_TMP_CORE_FOUND \033[36m$tmp_file\033[0m" \ "$MENU_TMP_CORE_ASK" btm_box "1) 立即加载" \ "0) 暂不加载" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { - zip_type=$(echo "$file" | grep -oE 'tar.gz$|upx$|gz$') + zip_type=$(echo "$tmp_file" | grep -oE 'tar.gz$|upx$|gz$') . "$CRASHDIR"/menus/9_upgrade.sh && setcoretype - . "$CRASHDIR"/libs/core_tools.sh && core_check "/tmp/$file" + . "$CRASHDIR"/libs/core_tools.sh && core_check "$tmp_file" if [ "$?" = 0 ] && [ -n "$crashcore" ]; then msg_alert "\033[32m$MENU_CORE_LOADED_OK\033[0m" switch_core else - rm -rf /tmp/"$file" + rm -rf "$tmp_file" msg_alert "\033[33m$MENU_CORE_LOADED_BAD\033[0m" \ "\033[33m$MENU_CORE_REMOVED\033[0m" fi @@ -166,17 +167,17 @@ ckstatus() { # 检查/tmp配置文件 for file in $(ls /tmp | grep -v [/$] | grep -v ' ' | grep -iE 'config.yaml$|config.yml$|config.json$'); do - tmp_file=/tmp/$file - comp_box "$MENU_TMP_CFG_FOUND\033[36m/tmp/$file\033[0m" \ + local tmp_file="/tmp/$file" + comp_box "$MENU_TMP_CFG_FOUND\033[36m$tmp_file\033[0m" \ "$MENU_TMP_CFG_ASK" btm_box "1) 立即加载" \ "0) 暂不加载" read -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { - if [ -n "$(echo /tmp/$file | grep -iE '.json$')" ]; then - mv -f /tmp/$file "$CRASHDIR"/jsons/config.json + if [ -n "$(echo $tmp_file | grep -iE '.json$')" ]; then + mv -f "$tmp_file" "$CRASHDIR"/jsons/config.json else - mv -f /tmp/$file "$CRASHDIR"/yamls/config.yaml + mv -f "$tmp_file" "$CRASHDIR"/yamls/config.yaml fi msg_alert "\033[32m$MENU_CFG_LOADED_OK\033[0m " } From a9685519129d4c10fe16109bfdad985bb1806212 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 19:54:34 +0800 Subject: [PATCH 267/318] ~i18n fix --- scripts/lang/chs/menu.lang | 6 ++++++ scripts/lang/en/menu.lang | 6 ++++++ scripts/menu.sh | 16 ++++++++-------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/scripts/lang/chs/menu.lang b/scripts/lang/chs/menu.lang index 0ba87225..9615b9cb 100644 --- a/scripts/lang/chs/menu.lang +++ b/scripts/lang/chs/menu.lang @@ -1,6 +1,8 @@ # ===== 通用提示 ===== MENU_RESTART_NOTICE="检测到配置变更,是否立即重启服务以应用新配置?" +MENU_RESTART_NOW="立即重启" +MENU_RESTART_LATER="暂不重启" MENU_PORT_CONFLICT_TITLE="检测到端口被以下进程占用!内核可能无法正常启动!" MENU_PORT_CONFLICT_HINT="请修改默认端口配置!" @@ -13,6 +15,8 @@ MENU_CFG_LOADED_OK="配置文件加载完成!" MENU_OVERRIDE_WARN="你已经禁用了配置文件覆写功能,这会导致大量脚本功能无法使用!" MENU_OVERRIDE_ASK="是否取消禁用?" +MENU_YES="是" +MENU_NO="否" # ===== 欢迎与状态 ===== MENU_WELCOME="欢迎使用ShellCrash!" @@ -37,6 +41,8 @@ MENU_TG_CHANNEL="TG频道:" # ===== /tmp 文件检测 ===== MENU_TMP_CORE_FOUND="发现可用的内核文件:" MENU_TMP_CORE_ASK="是否立即加载该内核(会停止当前服务)?" +MENU_LOAD_NOW="立即加载" +MENU_LOAD_LATER="暂不加载" MENU_TMP_CFG_FOUND="发现内核配置文件:" MENU_TMP_CFG_ASK="是否立即加载为配置文件?" diff --git a/scripts/lang/en/menu.lang b/scripts/lang/en/menu.lang index bded58e7..ece6d34a 100644 --- a/scripts/lang/en/menu.lang +++ b/scripts/lang/en/menu.lang @@ -1,6 +1,8 @@ # ===== Common Prompts ===== MENU_RESTART_NOTICE="Changes have been detected. Please restart the service!" +MENU_RESTART_NOW="Restart now" +MENU_RESTART_LATER="Not now" MENU_PORT_CONFLICT_TITLE="The port is occupied by the following process. The core may fail to start!" MENU_PORT_CONFLICT_HINT="Please modify the default port configuration!" @@ -13,6 +15,8 @@ MENU_CFG_LOADED_OK="Configuration file loaded successfully!" MENU_OVERRIDE_WARN="You have disabled configuration overwrite. This will cause many features to be unavailable!" MENU_OVERRIDE_ASK="Cancel the disable setting?" +MENU_YES="Yes" +MENU_NO="No" # ===== Welcome & Status ===== MENU_WELCOME="Welcome to ShellCrash!" @@ -37,6 +41,8 @@ MENU_TG_CHANNEL="Telegram Channel: " # ===== /tmp File Detection ===== MENU_TMP_CORE_FOUND="Available core file found:" MENU_TMP_CORE_ASK="Load this core file? (The current service will be stopped)" +MENU_LOAD_NOW="Load now" +MENU_LOAD_LATER="Not now" MENU_TMP_CFG_FOUND="Kernel configuration file found:" MENU_TMP_CFG_ASK="Load as the configuration file? (1/0) > " diff --git a/scripts/menu.sh b/scripts/menu.sh index 4f85cb7c..c902871c 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -33,8 +33,8 @@ load_lang menu checkrestart() { comp_box "\033[32m$MENU_RESTART_NOTICE\033[0m" - btm_box "1) 立即重启" \ - "0) 暂不重启" + btm_box "1) $MENU_RESTART_NOW" \ + "0) $MENU_RESTART_LATER" read -r -p "$COMMON_INPUT> " res if [ "$res" = 1 ]; then start_service @@ -147,8 +147,8 @@ ckstatus() { local tmp_file="/tmp/$file" comp_box "$MENU_TMP_CORE_FOUND \033[36m$tmp_file\033[0m" \ "$MENU_TMP_CORE_ASK" - btm_box "1) 立即加载" \ - "0) 暂不加载" + btm_box "1) $MENU_LOAD_NOW" \ + "0) $MENU_LOAD_LATER" read -r -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { zip_type=$(echo "$tmp_file" | grep -oE 'tar.gz$|upx$|gz$') @@ -170,8 +170,8 @@ ckstatus() { local tmp_file="/tmp/$file" comp_box "$MENU_TMP_CFG_FOUND\033[36m$tmp_file\033[0m" \ "$MENU_TMP_CFG_ASK" - btm_box "1) 立即加载" \ - "0) 暂不加载" + btm_box "1) $MENU_LOAD_NOW" \ + "0) $MENU_LOAD_LATER" read -p "$COMMON_INPUT> " res [ "$res" = 1 ] && { if [ -n "$(echo $tmp_file | grep -iE '.json$')" ]; then @@ -187,8 +187,8 @@ ckstatus() { [ "$disoverride" = "1" ] && { comp_box "\033[33m$MENU_OVERRIDE_WARN\033[0m" \ "$MENU_OVERRIDE_ASK" - btm_box "1) 是" \ - "0) 否" + btm_box "1) $MENU_YES" \ + "0) $MENU_NO" read -p "$COMMON_INPUT> " res [ "$res" = 1 ] && unset disoverride && setconfig disoverride } From 74b304be6fc3793d5c3e09c96601456a1f08a721 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 20:01:24 +0800 Subject: [PATCH 268/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8Dsingbox=E5=86=85?= =?UTF-8?q?=E6=A0=B8tun=E6=A8=A1=E5=BC=8Fipv6=E7=9B=B8=E5=85=B3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/singbox_modify.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index 179eb0fe..0b53fc89 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -272,8 +272,8 @@ EOF . "$CRASHDIR"/configs/gateway.cfg . "$CRASHDIR"/libs/sb_inbounds.sh } - if [ "$redir_mod" = "Mix" -o "$redir_mod" = "Tun" ]; then - [ "ipv6_redir" = 'ON' ] && ipv6_address='"fe80::e5c5:2469:d09b:609a/64",' + if [ "$redir_mod" = "Mix" ] || [ "$redir_mod" = "Tun" ]; then + [ "$ipv6_redir" = 'ON' ] && ipv6_address='"fd00:face:b00c::1/126",' cat >>"$TMPDIR"/jsons/tun.json < Date: Sat, 4 Apr 2026 20:10:43 +0800 Subject: [PATCH 269/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E5=8C=96=E5=AF=BC=E8=87=B4=E7=9A=84=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=97=A0=E6=B3=95=E6=AD=A3=E7=A1=AE=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/5_task.sh | 8 ++++---- scripts/menus/task_cmd.sh | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index e65618dd..a1bda8af 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -122,8 +122,8 @@ task_add() { ;; [1-9] | [1-9][0-9]) if [ "$num" -le "$(echo "$list" | wc -l)" ]; then - task_id=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $1}') - task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') + 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_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_type break else @@ -292,7 +292,7 @@ task_manager() { fi else 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_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$task_id" | awk -F '#' '{print $3}') comp_box "$TASK5_CURRENT_TASK\033[36m$task_des\033[0m" btm_box "1) $TASK5_EDIT_TASK" \ "2) $TASK5_DEL_TASK" \ @@ -313,7 +313,7 @@ task_manager() { common_success ;; 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_${i18n}.list "$CRASHDIR"/task/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" msg_alert "\033[33m$TASK5_TASK_PREFIX$task_des】$task_res\033[0m" ;; diff --git a/scripts/menus/task_cmd.sh b/scripts/menus/task_cmd.sh index 84df964e..719b2173 100644 --- a/scripts/menus/task_cmd.sh +++ b/scripts/menus/task_cmd.sh @@ -140,8 +140,8 @@ hotupdate() { #热更新订阅 case "$1" in [1-9][0-9][0-9]) - task_command=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $2}') - task_name=$(cat "$CRASHDIR"/task/task.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') + task_command=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/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_logger "任务$task_name 开始执行" 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" From 987ef6ab2215d9631b2d5759f7bd1b82ac42a9e5 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 20:17:56 +0800 Subject: [PATCH 270/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/2_settings.lang | 3 ++- scripts/lang/en/2_settings.lang | 3 ++- scripts/menus/2_settings.sh | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/lang/chs/2_settings.lang b/scripts/lang/chs/2_settings.lang index 29a724f4..802b4c4e 100644 --- a/scripts/lang/chs/2_settings.lang +++ b/scripts/lang/chs/2_settings.lang @@ -4,7 +4,8 @@ SET_MENU_TITLE="功能设置菜单" SET_MENU_REDIR="路由模式设置:" SET_MENU_DNS="DNS设置: " -SET_MENU_FW_FILTER="透明路由流量过滤" +SET_MENU_FW_FILTER="透明路由流量过滤:" +SET_MENU_FW_FILTER_DESC="端口、设备、协议或列表" SET_MENU_SKIP_CERT="跳过证书验证:" SET_MENU_SNIFFER="启用域名嗅探:" SET_MENU_ADV_PORT="自定义端口及密钥" diff --git a/scripts/lang/en/2_settings.lang b/scripts/lang/en/2_settings.lang index c59936e2..07de5c31 100644 --- a/scripts/lang/en/2_settings.lang +++ b/scripts/lang/en/2_settings.lang @@ -4,7 +4,8 @@ SET_MENU_TITLE="Welcome to the Function Settings Menu:" SET_MENU_REDIR="Routing Mode:" SET_MENU_DNS="DNS Settings:" -SET_MENU_FW_FILTER="Transparent Routing Traffic Filter" +SET_MENU_FW_FILTER="Transparent Routing Traffic Filter:" +SET_MENU_FW_FILTER_DESC="ports, devices, protocols, or lists" SET_MENU_SKIP_CERT="Skip Cert Verify:" SET_MENU_SNIFFER="Enable Sniff:" SET_MENU_ADV_PORT="Custom Ports and Secrets" diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index 33dbd3dc..a67c9d56 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -20,7 +20,7 @@ settings() { comp_box "\033[30;47m$SET_MENU_TITLE\033[0m" content_line "1) $SET_MENU_REDIR\t\033[36m$redir_mod$MENU_MOD\033[0m" content_line "2) $SET_MENU_DNS\t\033[36m$dns_mod\033[0m" - content_line "3) $SET_MENU_FW_FILTER" + content_line "3) $SET_MENU_FW_FILTER\t$SET_MENU_FW_FILTER_DESC" [ "$disoverride" != "1" ] && { content_line "4) $SET_MENU_SKIP_CERT\t\033[36m$skip_cert\033[0m" content_line "5) $SET_MENU_SNIFFER\t\033[36m$sniffer\033[0m" From 47c733162383760d2697d33a37e61cf9c10ff6b7 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 20:23:33 +0800 Subject: [PATCH 271/318] =?UTF-8?q?~=E9=A6=96=E6=AC=A1=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E8=AE=A2=E9=98=85=E6=97=B6=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E5=86=8D=E6=98=BE=E7=A4=BA=E7=94=9F=E6=88=90=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/6_core_config.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/menus/6_core_config.sh b/scripts/menus/6_core_config.sh index f2dca748..8be1b22f 100644 --- a/scripts/menus/6_core_config.sh +++ b/scripts/menus/6_core_config.sh @@ -143,9 +143,9 @@ setproviders() { content_line "d) $CORECFG_DEL_PROVIDER" content_line "" content_line "\033[36m$CORECFG_MORE_CONFIG_HINT\033[0m" - [ -n "$link" ] && + [ -n "$2" ] && content_line "b) $CORECFG_GEN_LOCAL_ONE" - echo "$link$link_uri" | grep -q '://' && + echo "$2" | grep -q '://' && content_line "c) $CORECFG_GEN_ONLINE_ONE" echo "$link" | grep -q '^http' && content_line "e) $CORECFG_GET_ONLINE_DIRECT" From 49c509d6ef7032f60528f0ccafcad3f798c545d9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 4 Apr 2026 20:24:46 +0800 Subject: [PATCH 272/318] ~1.9.5alpha13 pkg --- ShellCrash.tar.gz | Bin 173817 -> 174910 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index a252dcdc3ee0ab50d5b216506bb5c37b795ca31b..1887628b540a6b5d853941ec3ca1adb432f8909f 100644 GIT binary patch literal 174910 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 V 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%0A?c0kP9|e+SJ(L1 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 literal 173817 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%0A7Cr9vd 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 diff --git a/bin/version b/bin/version index 72774301..f67c9ad4 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha12 +versionsh=1.9.5alpha13 GeoIP_v=20251205 diff --git a/version b/version index 5a1a5dde..8392d24f 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha12 +1.9.5alpha13 From bcb3d9cabde1d69338b549a83eb691e57c155b5c Mon Sep 17 00:00:00 2001 From: DustinWin Date: Mon, 6 Apr 2026 17:33:28 +0800 Subject: [PATCH 273/318] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E5=97=85=E6=8E=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/clash_modify.sh | 2 +- scripts/starts/singbox_modify.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index fadad627..8b4f6ea1 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -67,7 +67,7 @@ EOF fi } #域名嗅探配置 - [ "$sniffer" = "ON" ] && [ "$crashcore" = "meta" ] && sniffer_set="sniffer: {enable: true, parse-pure-ip: true, skip-domain: [Mijia Cloud], sniff: {http: {ports: [80, 8080-8880], override-destination: true}, tls: {ports: [443, 8443]}, quic: {ports: [443, 8443]}}}" + [ "$sniffer" = "ON" ] && [ "$crashcore" = "meta" ] && sniffer_set="sniffer: {enable: true, parse-pure-ip: true, skip-domain: ['+.push.apple.com', 'Mijia Cloud'], sniff: {http: {ports: [80, 8080-8880], override-destination: true}, tls: {ports: [443, 8443]}, quic: {ports: [443, 8443]}}}" [ "$crashcore" = "clashpre" ] && [ "$dns_mod" = "redir_host" -o "$sniffer" = "ON" ] && exper="experimental: {ignore-resolve-fail: true, interface-name: en0,sniff-tls-sni: true}" #生成set.yaml cat >"$TMPDIR"/set.yaml <"$TMPDIR"/jsons/add_route.json < Date: Tue, 7 Apr 2026 09:38:50 +0800 Subject: [PATCH 274/318] refactor: split clash_modify yaml workflow into helpers --- scripts/starts/clash_modify.sh | 34 +++++++++++++++++++++++--- scripts/starts/singbox_modify.sh | 42 +++++++++++++++++++++++++++++++- 2 files changed, 72 insertions(+), 4 deletions(-) diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index 8b4f6ea1..94ade412 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -1,8 +1,7 @@ #!/bin/sh # Copyright (C) Juewuy -#修饰clash配置文件 -modify_yaml() { +prepare_clash_base_config() { ##########需要变更的配置########### [ "$ipv6_dns" != "OFF" ] && dns_v6='true' || dns_v6='false' external="external-controller: 0.0.0.0:$db_port" @@ -69,6 +68,9 @@ EOF #域名嗅探配置 [ "$sniffer" = "ON" ] && [ "$crashcore" = "meta" ] && sniffer_set="sniffer: {enable: true, parse-pure-ip: true, skip-domain: ['+.push.apple.com', 'Mijia Cloud'], sniff: {http: {ports: [80, 8080-8880], override-destination: true}, tls: {ports: [443, 8443]}, quic: {ports: [443, 8443]}}}" [ "$crashcore" = "clashpre" ] && [ "$dns_mod" = "redir_host" -o "$sniffer" = "ON" ] && exper="experimental: {ignore-resolve-fail: true, interface-name: en0,sniff-tls-sni: true}" +} + +generate_set_and_hosts_yaml() { #生成set.yaml cat >"$TMPDIR"/set.yaml <>"$TMPDIR"/hosts.yaml done fi +} + +split_and_customize_yaml_parts() { #分割配置文件 yaml_char='proxies proxy-groups proxy-providers rules rule-providers sub-rules listeners' for char in $yaml_char; do @@ -173,6 +178,9 @@ EOF IFS="$oldIFS" done } +} + +add_custom_inbounds_and_rules() { #添加自定义入站 [ "$vms_service" = ON ] || [ "$sss_service" = ON ] && { . "$CRASHDIR"/configs/gateway.cfg @@ -193,6 +201,9 @@ EOF cat "$TMPDIR"/rules.yaml >>"$TMPDIR"/rules.add mv -f "$TMPDIR"/rules.add "$TMPDIR"/rules.yaml } +} + +generate_rule_providers_and_merge_yaml() { #mix和route模式生成rule-providers [ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '^[[:space:]]*cn:' "$TMPDIR"/rule-providers.yaml && ! grep -q '^rule-providers' "$CRASHDIR"/yamls/others.yaml 2>/dev/null && { space=$(sed -n "1p" "$TMPDIR"/rule-providers.yaml | grep -oE '^ *') #获取空格数 @@ -222,6 +233,9 @@ EOF done #合并完整配置文件 cut -c 1- "$TMPDIR"/set.yaml $yaml_dns $yaml_hosts $yaml_user $yaml_others $yaml_add >"$TMPDIR"/config.yaml +} + +validate_and_rebuild_yaml_if_needed() { #测试自定义配置文件 "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml >/dev/null if [ "$?" != 0 ]; then @@ -235,10 +249,24 @@ EOF cut -c 1- "$TMPDIR"/set.yaml $yaml_dns $yaml_add >"$TMPDIR"/config.yaml sed -i "/#自定义/d" "$TMPDIR"/config.yaml fi +} + +finalize_clash_yaml() { #建立软连接 [ ""$TMPDIR"" = ""$BINDIR"" ] || ln -sf "$TMPDIR"/config.yaml "$BINDIR"/config.yaml 2>/dev/null || cp -f "$TMPDIR"/config.yaml "$BINDIR"/config.yaml #清理缓存 for char in $yaml_char set set_bak dns hosts; do rm -f "$TMPDIR"/${char}.yaml done -} \ No newline at end of file +} + +#修饰clash配置文件 +modify_yaml() { + prepare_clash_base_config + generate_set_and_hosts_yaml + split_and_customize_yaml_parts + add_custom_inbounds_and_rules + generate_rule_providers_and_merge_yaml + validate_and_rebuild_yaml_if_needed + finalize_clash_yaml +} diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index 53df496f..e12fae3e 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -41,7 +41,7 @@ parse_singbox_dns() { #dns转换 # 输出 echo '"type": "'"$type"'", "server": "'"$server"'", "server_port": '"$port"',' } -modify_json() { +extract_base_jsons() { #提取配置文件以获得outbounds.json,providers.json及route.json "$TMPDIR"/CrashCore format -c $core_config >"$TMPDIR"/format.json echo '{' >"$TMPDIR"/jsons/outbounds.json @@ -52,6 +52,9 @@ modify_json() { cat "$TMPDIR"/format.json | sed -n '/^ "providers":/,/^ "[a-z]/p' | sed '$d' >>"$TMPDIR"/jsons/providers.json } cat "$TMPDIR"/format.json | sed -n '/"route":/,/^\( "[a-z]\|}\)/p' | sed '$d' >>"$TMPDIR"/jsons/route.json +} + +generate_basic_jsons() { #生成endpoints.json [ "$ts_service" = ON ] || [ "$wg_service" = ON ] && [ "$zip_type" != upx ] && { . "$CRASHDIR"/configs/gateway.cfg @@ -96,6 +99,9 @@ EOF } EOF fi +} + +prepare_dns_config() { #生成dns.json [ "$ipv6_dns" != "OFF" ] && strategy='prefer_ipv4' || strategy='ipv4_only' #获取detour出口 @@ -131,6 +137,9 @@ EOF } #防泄露设置 [ "$dns_protect" = "OFF" ] && sed -i 's/"server": "dns_proxy"/"server": "dns_direct"/g' "$TMPDIR"/jsons/route.json +} + +generate_dns_related_jsons() { #生成add_rule_set.json [ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '"tag" *:[[:space:]]*"cn"' "$CRASHDIR"/jsons/*.json && { [ "$crashcore" = "singboxr" ] && srs_path='"path": "./ruleset/cn.srs",' @@ -203,6 +212,9 @@ EOF } } EOF +} + +generate_route_and_inbounds_jsons() { #生成add_route.json #域名嗅探配置 [ "$sniffer" != OFF ] && sniffer_set='{ "domain_suffix": [ "push.apple.com" ], "rule_set": [ "telegramip" ], "domain": [ "Mijia Cloud" ], "invert": true, "action": "sniff", "timeout": "500ms" },' @@ -292,6 +304,9 @@ EOF } EOF fi +} + +generate_outbounds_and_experimental_jsons() { #生成add_outbounds.json grep -qE '"tag": "DIRECT"' "$TMPDIR"/jsons/outbounds.json || add_direct='{ "tag": "DIRECT", "type": "direct" }' grep -qE '"tag": "REJECT"' "$TMPDIR"/jsons/outbounds.json || add_reject='{ "tag": "REJECT", "type": "block" }' @@ -325,6 +340,9 @@ EOF } } EOF +} + +generate_custom_rules_json() { #生成自定义规则文件 [ -n "$(grep -Ev ^# "$CRASHDIR"/yamls/rules.yaml 2>/dev/null)" ] && { cat "$CRASHDIR"/yamls/rules.yaml | @@ -348,6 +366,9 @@ EOF sed '$s/,$/ ] } }/' >"$TMPDIR"/jsons/cust_add_rules.json [ ! -s "$TMPDIR"/jsons/cust_add_rules.json ] && rm -rf "$TMPDIR"/jsons/cust_add_rules.json } +} + +normalize_and_finalize_jsons() { #清理route.json中的process_name规则以及"auto_detect_interface" sed -i '/"process_name": \[/,/],$/d' "$TMPDIR"/jsons/route.json sed -i '/"process_name": "[^"]*",/d' "$TMPDIR"/jsons/route.json @@ -367,6 +388,9 @@ EOF rm -rf "$TMPDIR"/jsons/${file}.json fi done +} + +link_custom_jsons() { #加载自定义配置文件 mkdir -p "$TMPDIR"/jsons_base #以下为覆盖脚本的自定义文件 @@ -382,6 +406,9 @@ EOF ln -sf "$CRASHDIR"/jsons/${char}.json "$TMPDIR"/jsons/cust_${char}.json } done +} + +validate_and_restore_custom_jsons() { #测试自定义配置文件 if ! error=$("$TMPDIR"/CrashCore check -D "$BINDIR" -C "$TMPDIR"/jsons 2>&1); then echo $error @@ -393,6 +420,19 @@ EOF rm -rf "$TMPDIR"/jsons/cust_* mv -f "$TMPDIR"/jsons_base/* "$TMPDIR"/jsons 2>/dev/null fi +} + +modify_json() { + extract_base_jsons + generate_basic_jsons + prepare_dns_config + generate_dns_related_jsons + generate_route_and_inbounds_jsons + generate_outbounds_and_experimental_jsons + generate_custom_rules_json + normalize_and_finalize_jsons + link_custom_jsons + validate_and_restore_custom_jsons #清理缓存 rm -rf "$TMPDIR"/*.json rm -rf "$TMPDIR"/jsons_base From 75b3baa5d98396d40197b2ea5c7cef757cd7e4d0 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 10:01:59 +0800 Subject: [PATCH 275/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E7=94=9F=E6=88=90=E6=97=B6=E6=89=BE=E4=B8=8D=E5=88=B0servers.l?= =?UTF-8?q?ist=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/subconverter.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/menus/subconverter.sh b/scripts/menus/subconverter.sh index 8a92cd32..17f04ad1 100644 --- a/scripts/menus/subconverter.sh +++ b/scripts/menus/subconverter.sh @@ -124,7 +124,7 @@ gen_link_config() { content_line "" common_back read -r -p "$COMMON_INPUT> " num - totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers.list) + totalnum=$(grep -acE '^5' "$CRASHDIR"/configs/servers_"$i18n".list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum elif [ "$num" = 0 ]; then @@ -153,7 +153,7 @@ gen_link_server() { content_line "" common_back read -r -p "$COMMON_INPUT> " num - totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers.list) + totalnum=$(grep -acE '^3|^4' "$CRASHDIR"/configs/servers_"$i18n".list) if [ -z "$num" ] || [ "$num" -gt "$totalnum" ]; then errornum elif [ "$num" = 0 ]; then From 791b83ab853d6c0143d509d1b1b0bf2d758f71a0 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 10:40:28 +0800 Subject: [PATCH 276/318] =?UTF-8?q?~DNS=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E4=B8=AD=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=B8=93=E9=97=A8=E7=94=A8?= =?UTF-8?q?=E4=BA=8E=E8=A7=A3=E6=9E=90=E8=8A=82=E7=82=B9=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E7=9A=84=E6=94=B9PROXY-SERVER-DNS=E9=80=89=E9=A1=B9=EF=BC=8C?= =?UTF-8?q?=E5=B9=B6=E7=A7=BB=E9=99=A4=E4=BA=86=E5=AF=B9oix=E7=9A=84?= =?UTF-8?q?=E5=8D=95=E7=8B=AC=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/dns.lang | 15 +++----- scripts/lang/en/dns.lang | 15 +++----- scripts/libs/get_config.sh | 1 + scripts/menus/dns.sh | 57 +++++++++++++++++++++++------- scripts/menus/providers_singbox.sh | 3 +- scripts/starts/clash_modify.sh | 4 +-- scripts/starts/singbox_modify.sh | 4 +-- 7 files changed, 60 insertions(+), 39 deletions(-) diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang index e2930422..08d92c0b 100644 --- a/scripts/lang/chs/dns.lang +++ b/scripts/lang/chs/dns.lang @@ -42,7 +42,8 @@ DNS_ADV_SINGBOX_LIMIT="注意:SingBox内核仅加载第一个DNS" DNS_ADV_EDIT_DIRECT="修改DIRECT-DNS" DNS_ADV_EDIT_PROXY="修改PROXY-DNS(该DNS查询会经过节点)" -DNS_ADV_EDIT_DEFAULT="修改DEFAULT-DNS(必须是IP,用于解析其他DNS)" +DNS_ADV_EDIT_RESOLVER="修改DEFAULT-DNS(必须是IP,用于解析其他DNS)" +DNS_ADV_EDIT_PROXY_SERVER="修改PROXY-SERVER-DNS(必须是IP,用于解析节点域名)" DNS_ADV_AUTO_ENCRYPT="一键配置加密DNS" DNS_ADV_RESET="重置默认DNS配置" @@ -61,12 +62,6 @@ DNS_CONFIRM_ADD="请确认需要添加的地址:" DNS_CONFIRM_OK="确认无误" DNS_ADD_OK="添加成功" DNS_ADD_FAIL="添加失败" -DNS_DIRECT_NOW="当前DIRECT-DNS:" -DNS_PROXY_NOW="当前PROXY-DNS:" -DNS_DEFAULT_NOW="当前DEFAULT-DNS:" -DNS_INPUT_DIRECT_NEW="请直接输入新的DIRECT-DNS地址" -DNS_INPUT_DIRECT_RESET="或输入 r 重置DIRECT-DNS地址" -DNS_INPUT_PROXY_NEW="请直接输入新的PROXY-DNS地址" -DNS_INPUT_PROXY_RESET="或输入 r 重置PROXY-DNS地址" -DNS_INPUT_DEFAULT_NEW="请直接输入新的DEFAULT-DNS地址" -DNS_INPUT_DEFAULT_RESET="或输入 r 重置DEFAULT-DNS地址" +DNS_NOW="当前DNS:" +DNS_INPUT_NEW="请直接输入新的DNS地址" +DNS_INPUT_RESET="或输入 r 重置DNS地址" diff --git a/scripts/lang/en/dns.lang b/scripts/lang/en/dns.lang index 25293cd4..3f56f9d8 100644 --- a/scripts/lang/en/dns.lang +++ b/scripts/lang/en/dns.lang @@ -43,7 +43,8 @@ DNS_ADV_SINGBOX_LIMIT="Note: SingBox core only loads the first DNS entry" DNS_ADV_EDIT_DIRECT="Edit DIRECT-DNS" DNS_ADV_EDIT_PROXY="Edit PROXY-DNS (queries go through the proxy)" -DNS_ADV_EDIT_DEFAULT="Edit DEFAULT-DNS (must be an IP, used to resolve other DNS servers)" +DNS_ADV_EDIT_RESOLVER="Edit DEFAULT-DNS (must be an IP, used to resolve other DNS servers)" +DNS_ADV_EDIT_PROXY_SERVER="Edit PROXY-SERVER-DNS (must be an IP, used to resolve proxy hostnames)" DNS_ADV_AUTO_ENCRYPT="Auto-configure Encrypted DNS" DNS_ADV_RESET="Reset to default DNS configuration" @@ -63,12 +64,6 @@ DNS_CONFIRM_ADD="Please confirm the address to add: " DNS_CONFIRM_OK="Confirm" DNS_ADD_OK="Added successfully" DNS_ADD_FAIL="Add failed" -DNS_DIRECT_NOW="Current DIRECT-DNS: " -DNS_PROXY_NOW="Current PROXY-DNS: " -DNS_DEFAULT_NOW="Current DEFAULT-DNS: " -DNS_INPUT_DIRECT_NEW="Please input new DIRECT-DNS" -DNS_INPUT_DIRECT_RESET="or input r to reset DIRECT-DNS" -DNS_INPUT_PROXY_NEW="Please input new PROXY-DNS" -DNS_INPUT_PROXY_RESET="or input r to reset PROXY-DNS" -DNS_INPUT_DEFAULT_NEW="Please input new DEFAULT-DNS" -DNS_INPUT_DEFAULT_RESET="or input r to reset DEFAULT-DNS" +DNS_NOW="Current DNS: " +DNS_INPUT_NEW="Please input a new DNS address" +DNS_INPUT_RESET="or input r to reset the DNS address" diff --git a/scripts/libs/get_config.sh b/scripts/libs/get_config.sh index 7102d3ae..8eb66a49 100644 --- a/scripts/libs/get_config.sh +++ b/scripts/libs/get_config.sh @@ -20,3 +20,4 @@ routing_mark=$((fwmark + 2)) } [ -z "$dns_fallback" ] && dns_fallback="1.1.1.1, 8.8.8.8" [ -z "$dns_resolver" ] && dns_resolver="223.5.5.5, 2400:3200::1" +[ -z "$dns_proxy_server" ] && dns_proxy_server="$dns_resolver" diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index a920c4f5..c939c01e 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -185,13 +185,17 @@ set_dns_adv() { "PROXY-DNS:" \ "\033[36m$dns_fallback\033[0m" \ "" \ - "DEFAULT-DNS:" \ + "RESOLVER-DNS:" \ "\033[33m$dns_resolver\033[0m" \ + "" \ + "PROXY-SERVER-DNS:" \ + "\033[33m$dns_proxy_server\033[0m" \ "" btm_box "1) $DNS_ADV_EDIT_DIRECT" \ "2) $DNS_ADV_EDIT_PROXY" \ - "3) $DNS_ADV_EDIT_DEFAULT" \ - "4) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \ + "3) $DNS_ADV_EDIT_RESOLVER" \ + "4) $DNS_ADV_EDIT_PROXY_SERVER" \ + "5) \033[32m$DNS_ADV_AUTO_ENCRYPT\033[0m" \ "9) \033[33m$DNS_ADV_RESET\033[0m" \ "" \ "0) $COMMON_BACK" @@ -201,9 +205,9 @@ set_dns_adv() { break ;; 1) - comp_box "$DNS_DIRECT_NOW\033[32m$dns_nameserver\033[0m" - btm_box "\033[36m$DNS_INPUT_DIRECT_NEW\033[0m" \ - "$DNS_INPUT_DIRECT_RESET" \ + comp_box "$DNS_NOW\033[32m$dns_nameserver\033[0m" + btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \ + "$DNS_INPUT_RESET" \ "$DNS_INPUT_REDIR_BACK" read -r -p "$DNS_INPUT> " res case "$res" in @@ -227,9 +231,9 @@ set_dns_adv() { esac ;; 2) - comp_box "$DNS_PROXY_NOW\033[32m$dns_fallback\033[0m" - btm_box "\033[36m$DNS_INPUT_PROXY_NEW\033[0m" \ - "$DNS_INPUT_PROXY_RESET" \ + comp_box "$DNS_NOW\033[32m$dns_fallback\033[0m" + btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \ + "$DNS_INPUT_RESET" \ "$DNS_INPUT_REDIR_BACK" read -r -p "$DNS_INPUT> " res case "$res" in @@ -253,9 +257,9 @@ set_dns_adv() { esac ;; 3) - comp_box "$DNS_DEFAULT_NOW\033[32m$dns_resolver\033[0m" - btm_box "\033[36m$DNS_INPUT_DEFAULT_NEW\033[0m" \ - "$DNS_INPUT_DEFAULT_RESET" \ + comp_box "$DNS_NOW\033[32m$dns_resolver\033[0m" + btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \ + "$DNS_INPUT_RESET" \ "$DNS_INPUT_REDIR_BACK" separator_line "=" read -r -p "$DNS_INPUT> " res @@ -266,7 +270,7 @@ set_dns_adv() { "r") dns_resolver="223.5.5.5, 2400:3200::1" setconfig dns_resolver "'$dns_resolver'" - common_failed + common_success ;; *) if echo "$res" | grep -qE '://.*::'; then @@ -280,6 +284,33 @@ set_dns_adv() { esac ;; 4) + comp_box "$DNS_NOW\033[32m$dns_proxy_server\033[0m" + btm_box "\033[36m$DNS_INPUT_NEW\033[0m" \ + "$DNS_INPUT_RESET" \ + "$DNS_INPUT_REDIR_BACK" + separator_line "=" + read -r -p "$DNS_INPUT> " res + case "$res" in + 0) + continue + ;; + "r") + dns_proxy_server="$dns_resolver" + setconfig dns_proxy_server "'$dns_proxy_server'" + common_success + ;; + *) + if echo "$res" | grep -qE '://.*::'; then + msg_alert "\033[31m$DNS_IPV6_NOT_SUPPORT\033[0m" + else + dns_proxy_server=$(echo "$res" | sed 's#|#,\ #g') + setconfig dns_proxy_server "'$dns_proxy_server'" + msg_alert "\033[32m$COMMON_SUCCESS\033[0m" + fi + ;; + esac + ;; + 5) line_break separator_line "=" if echo "$crashcore" | grep -qE 'meta|singbox'; then diff --git a/scripts/menus/providers_singbox.sh b/scripts/menus/providers_singbox.sh index 4a5fc186..26aa5b94 100644 --- a/scripts/menus/providers_singbox.sh +++ b/scripts/menus/providers_singbox.sh @@ -117,7 +117,6 @@ EOF fi # 通用部分生成 [ "$skip_cert" != "OFF" ] && override_tls='true' || override_tls='false' - [ -n "$(echo "$2" | grep 'oics.net')" ] && domain_resolver='dns_oix' || domain_resolver='dns_resolver' cat >>"$TMPDIR"/providers/providers.json <>"$TMPDIR"/dns.yaml < Date: Sun, 19 Apr 2026 10:49:41 +0800 Subject: [PATCH 277/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/9_upgrade.lang | 1 + scripts/lang/en/9_upgrade.lang | 7 ++++--- scripts/menus/9_upgrade.sh | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/lang/chs/9_upgrade.lang b/scripts/lang/chs/9_upgrade.lang index fab58d86..953ab36f 100644 --- a/scripts/lang/chs/9_upgrade.lang +++ b/scripts/lang/chs/9_upgrade.lang @@ -89,6 +89,7 @@ UPG_CUSTOM_CORE_MENU_MULTI="多版本内核" UPG_CUSTOM_CORE_LINK_HINT="请输入自定义内核的链接地址" UPG_CUSTOM_CORE_LINK_HINT2="(必须是以.tar.gz、.upx或.gz结尾的压缩文件)" UPG_CUSTOM_CORE_LINK_HINT3="或者输入 0 返回上级菜单" +UPG_CUSTOM_CORE_LINK_MENU="使用自定义内核链接" UPG_ZIPTYPE_TITLE="请选择内核分支及压缩方式:" UPG_ZIPTYPE_1="1) \033[36m最简编译release版本,upx压缩\033[0m" UPG_ZIPTYPE_1_HINT="不支持Gvisor、Tailscale、Wireguard、NaiveProxy" diff --git a/scripts/lang/en/9_upgrade.lang b/scripts/lang/en/9_upgrade.lang index e497aff3..ccd5e2b8 100644 --- a/scripts/lang/en/9_upgrade.lang +++ b/scripts/lang/en/9_upgrade.lang @@ -13,7 +13,7 @@ UPG_MENU_DB="Install/Update local " UPG_MENU_DB_NAME="Dashboard" UPG_MENU_CRT="Install/Update local " UPG_MENU_CRT_NAME="certificates" -UPG_MENU_PAC=" proxy view" +UPG_MENU_PAC="Auto proxy view" UPG_MENU_SOURCE="Switch " UPG_MENU_SOURCE_NAME="source and branch" UPG_MENU_UNINSTALL="Uninstall ShellCrash" @@ -89,6 +89,7 @@ UPG_CUSTOM_CORE_MENU_MULTI=" multi-version core" UPG_CUSTOM_CORE_LINK_HINT="Please enter the custom core URL" UPG_CUSTOM_CORE_LINK_HINT2="(must end with .tar.gz, .upx, or .gz)" UPG_CUSTOM_CORE_LINK_HINT3="Or enter 0 to return to the previous menu" +UPG_CUSTOM_CORE_LINK_MENU="Use custom core URL" UPG_ZIPTYPE_TITLE="Please choose the core branch and compression method:" UPG_ZIPTYPE_1="1) \033[36mMinimal release build, upx compressed\033[0m" UPG_ZIPTYPE_1_HINT="Gvisor, Tailscale, Wireguard, and NaiveProxy are not supported" @@ -174,8 +175,8 @@ UPG_CRT_WARN="This device may not have openssl installed, so certificate files c UPG_SOURCE_CUR="Current version: " UPG_SOURCE_CUR2="Current source: " UPG_SOURCE_TITLE="Switch ShellCrash version and update source" -UPG_SOURCE_SWITCH_STABLE="a) Switch to \033[32mstable-stable\033[0m" -UPG_SOURCE_SWITCH_MASTER="b) Switch to \033[36mmaster\033[0m" +UPG_SOURCE_SWITCH_STABLE="a) Switch to \033[32mstable\033[0m" +UPG_SOURCE_SWITCH_MASTER="b) Switch to \033[36mpublic beta-master\033[0m" UPG_SOURCE_SWITCH_DEV="c) Switch to \033[33mdev\033[0m" UPG_SOURCE_CUSTOM="d) Custom source URL (for local or self-hosted sources)" UPG_SOURCE_ROLLBACK="e) \033[31mVersion rollback\033[0m" diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 99114fee..7040c16c 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -409,7 +409,7 @@ setcustcore() { "3) \033[36mSagerNet/sing-box\033[32m@release\033[0m$UPG_CUSTOM_CORE_MENU_OFFICIAL" \ "4) \033[36mDustinWin/mihomo\033[0m$UPG_CUSTOM_CORE_MENU_MULTI" \ "5) \033[36mDustinWin/sing-boxr\033[0m$UPG_CUSTOM_CORE_MENU_MULTI" \ - "$UPG_CORE_MENU_9" \ + "9) $UPG_CUSTOM_CORE_LINK_MENU" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num From 85733ebf9d66b89572fd14f8bccf8faa4929fd8e Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 10:59:23 +0800 Subject: [PATCH 278/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/web_get_bin.sh | 4 ++-- scripts/starts/core_config.sh | 17 ++++++++++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/scripts/libs/web_get_bin.sh b/scripts/libs/web_get_bin.sh index 1ba78e69..d434b670 100644 --- a/scripts/libs/web_get_bin.sh +++ b/scripts/libs/web_get_bin.sh @@ -7,9 +7,9 @@ get_bin() { #专用于项目内部文件的下载 echo "$2" | grep -q '^bin/' && rt=update #/bin文件改为在update分支下载 echo "$2" | grep -qE '^public/|^rules/' && rt=dev #/public和/rules文件改为在dev分支下载 if [ "$url_id" = 101 -o "$url_id" = 104 ]; then - bin_url="$(grep "$url_id" "$CRASHDIR"/configs/servers.list | awk '{print $3}')@$rt/$2" #jsdelivr特殊处理 + bin_url="$(grep "$url_id" "$CRASHDIR"/configs/servers_chs.list | awk '{print $3}')@$rt/$2" #jsdelivr特殊处理 else - bin_url="$(grep "$url_id" "$CRASHDIR"/configs/servers.list | awk '{print $3}')/$rt/$2" + bin_url="$(grep "$url_id" "$CRASHDIR"/configs/servers_chs.list | awk '{print $3}')/$rt/$2" fi else bin_url="$update_url/$2" diff --git a/scripts/starts/core_config.sh b/scripts/starts/core_config.sh index 634fad78..256b3a68 100644 --- a/scripts/starts/core_config.sh +++ b/scripts/starts/core_config.sh @@ -7,10 +7,13 @@ . "$CRASHDIR"/libs/compare.sh . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/logger.sh +. "$CRASHDIR"/libs/i18n.sh -update_servers() { #更新servers.list - get_bin "$TMPDIR"/servers.list public/servers.list - [ "$?" = 0 ] && mv -f "$TMPDIR"/servers.list "$CRASHDIR"/configs/servers.list +load_lang + +update_servers() { #更新servers_${i18n}.list + get_bin "$TMPDIR"/servers_${i18n}.list public/servers_${i18n}.list + [ "$?" = 0 ] && mv -f "$TMPDIR"/servers_${i18n}.list "$CRASHDIR"/configs/servers_${i18n}.list } gen_ua(){ #自动生成ua [ -z "$user_agent" -o "$user_agent" = "auto" ] && { @@ -26,10 +29,10 @@ gen_ua(){ #自动生成ua } get_core_config() { #下载内核配置文件 [ -z "$rule_link" ] && rule_link=1 - [ -z "$server_link" ] || [ $server_link -gt $(grep -aE '^4' "$CRASHDIR"/configs/servers.list | wc -l) ] && server_link=1 - Server=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $3}') - Server_ua=$(grep -aE '^4' "$CRASHDIR"/configs/servers.list | sed -n ""$server_link"p" | awk '{print $4}') - Config=$(grep -aE '^5' "$CRASHDIR"/configs/servers.list | sed -n ""$rule_link"p" | awk '{print $3}') + [ -z "$server_link" ] || [ $server_link -gt $(grep -aE '^4' "$CRASHDIR"/configs/servers_${i18n}.list | wc -l) ] && server_link=1 + Server=$(grep -aE '^3|^4' "$CRASHDIR"/configs/servers_${i18n}.list | sed -n ""$server_link"p" | awk '{print $3}') + Server_ua=$(grep -aE '^4' "$CRASHDIR"/configs/servers_${i18n}.list | sed -n ""$server_link"p" | awk '{print $4}') + Config=$(grep -aE '^5' "$CRASHDIR"/configs/servers_${i18n}.list | sed -n ""$rule_link"p" | awk '{print $3}') gen_ua #如果传来的是Url链接则合成Https链接,否则直接使用Https链接 if [ -z "$Https" ]; then From accc20ff7c415489c9828e71b97b648435340962 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 11:16:35 +0800 Subject: [PATCH 279/318] =?UTF-8?q?~=E6=96=B0=E6=89=8B=E5=BC=95=E5=AF=BC?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AF=AD=E8=A8=80=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/2_settings.sh | 4 ++-- scripts/menus/userguide.sh | 25 +++++++++++++++++++++++-- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index a67c9d56..e2b775bd 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -203,8 +203,8 @@ settings() { exit 0 ;; b) - comp_box "1) $SET_LANG_ZH" \ - "2) $SET_LANG_EN" \ + comp_box "1) 简体中文" \ + "2) English" \ "" \ "0) $COMMON_BACK" read -r -p "$COMMON_INPUT> " num diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index fae079a4..d5abb9bf 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -4,7 +4,26 @@ [ -n "$__IS_MODULE_USERGUIDE_LOADED" ] && return __IS_MODULE_USERGUIDE_LOADED=1 -load_lang userguide +. "$CRASHDIR"/libs/check_dir_avail.sh + +select_lang() { + line_break + comp_box "1) 简体中文" \ + "2) English" + read -r -p "请选择语言 Please choose your language > " num + case "$num" in + 1) + echo chs >"$CRASHDIR"/configs/i18n.cfg + ;; + 2) + echo en >"$CRASHDIR"/configs/i18n.cfg + ;; + esac + line_break + load_lang menu + load_lang common + load_lang userguide +} forwhat() { while true; do @@ -89,7 +108,9 @@ forwhat() { # 新手引导 userguide() { - . "$CRASHDIR"/libs/check_dir_avail.sh + + select_lang + forwhat # 检测小内存模式 From 0f712fd69f8464aa3225208e3b7b56f454fed00c Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 12:06:28 +0800 Subject: [PATCH 280/318] =?UTF-8?q?~=E5=B0=86=E8=87=AA=E5=8A=A8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E5=88=B0$CRASHDIR/configs/task=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/init.sh | 11 ++++++++ scripts/libs/get_config.sh | 1 + scripts/libs/set_cron.sh | 4 ++- scripts/menus/5_task.sh | 47 ++++++++++++++++++---------------- scripts/menus/task_cmd.sh | 5 ++-- scripts/starts/afstart.sh | 12 ++++----- scripts/starts/bfstart.sh | 3 +-- scripts/starts/fw_getlanip.sh | 2 +- scripts/starts/general_init.sh | 1 + 9 files changed, 52 insertions(+), 34 deletions(-) diff --git a/scripts/init.sh b/scripts/init.sh index 3b76777f..45c0603a 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -22,8 +22,10 @@ grep -qE '/(docker|lxc|kubepods|crio|containerd)/' /proc/1/cgroup 2>/dev/null || [ "$systype" = 'container' ] && CRASHDIR='/etc/ShellCrash' [ -z "$CRASHDIR" ] && [ -n "$clashdir" ] && CRASHDIR="$clashdir" [ -z "$CRASHDIR" ] && [ -d /tmp/SC_tmp ] && . /tmp/SC_tmp/menus/set_crashdir.sh && set_crashdir +TASKCFGDIR="$CRASHDIR"/configs/task #移动文件 mkdir -p "$CRASHDIR" +mkdir -p "$TASKCFGDIR" rm -rf /tmp/SC_tmp/menus/set_crashdir.sh 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 mv -f "$CRASHDIR"/"$file" "$CRASHDIR"/configs/"$file" 2>/dev/null 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 #数据库改名 diff --git a/scripts/libs/get_config.sh b/scripts/libs/get_config.sh index 8eb66a49..af3305d4 100644 --- a/scripts/libs/get_config.sh +++ b/scripts/libs/get_config.sh @@ -1,5 +1,6 @@ # 检查配置文件 +[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task [ -f "$CRASHDIR"/configs/ShellCrash.cfg ] || . "$CRASHDIR"/init.sh >/dev/null 2>&1 . "$CRASHDIR"/configs/command.env >/dev/null 2>&1 . "$CRASHDIR"/configs/ShellCrash.cfg diff --git a/scripts/libs/set_cron.sh b/scripts/libs/set_cron.sh index 29bd8c7e..872166a1 100644 --- a/scripts/libs/set_cron.sh +++ b/scripts/libs/set_cron.sh @@ -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" [ -z "$USER" ] && USER=$(whoami 2>/dev/null) +[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task tmpcron=/tmp/cron_tmp touch "$tmpcron" @@ -32,7 +33,8 @@ cronset() { #定时任务设置 cronadd "$tmpcron" #华硕/Padavan固件存档在本地,其他则删除 if [ -d /jffs ] || [ -d /etc/storage/ShellCrash ];then - mv -f "$tmpcron" "$CRASHDIR"/task/cron + mkdir -p "$TASKCFGDIR" + mv -f "$tmpcron" "$TASKCFGDIR"/cron else rm -f "$tmpcron" fi diff --git a/scripts/menus/5_task.sh b/scripts/menus/5_task.sh index a1bda8af..5fb7f363 100644 --- a/scripts/menus/5_task.sh +++ b/scripts/menus/5_task.sh @@ -7,6 +7,7 @@ __IS_MODULE_5_TASK_LOADED=1 # 通用工具 . "$CRASHDIR"/libs/set_config.sh . "$CRASHDIR"/libs/set_cron.sh +[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task load_lang 5_task @@ -32,7 +33,8 @@ set_cron() { set_service() { # 参数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" # 运行时每分钟执行的任务特殊处理 if [ "$1" = "running" ]; then @@ -53,7 +55,7 @@ task_user_add() { while true; do comp_box "\033[33m$TASK5_USER_ADD_HINT1\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" \ "$TASK5_OR_BACK" read -r -p "$TASK5_INPUT> " script @@ -63,12 +65,12 @@ task_user_add() { task_command=$script comp_box "$TASK5_CHECK_INPUT\033[32m$task_command\033[0m" # 获取本任务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 task_id=$((task_max_id + 1)) read -r -p "$TASK5_INPUT_REMARK> " txt [ -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" break else @@ -80,10 +82,10 @@ task_user_add() { # 自定义命令删除 task_user_del() { 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" \ - "$TASK5_USER_DEL_HINT2\033[32m${CRASHDIR}/task/task.user\033[0m" - grep -Ev '^#' "$CRASHDIR/task/task.user" 2>/dev/null | + "$TASK5_USER_DEL_HINT2\033[32m${TASKCFGDIR}/task.user\033[0m" + grep -Ev '^#' "$TASKCFGDIR/task.user" 2>/dev/null | awk -F '#' '{print $1") "$3}' | while IFS= read -r line; do content_line "$line" @@ -94,7 +96,7 @@ task_user_del() { if [ "$num" = 0 ]; then break 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 else msg_alert "\033[31m$TASK5_INPUT_ERROR\033[0m" @@ -111,7 +113,7 @@ task_add() { while true; do 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" btm_box "" \ "0) $COMMON_BACK" @@ -122,8 +124,8 @@ task_add() { ;; [1-9] | [1-9][0-9]) 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_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_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 "$TASKCFGDIR"/task.user 2>/dev/null | grep -Ev '^(#|$)' | sed -n "$num p" | awk -F '#' '{print $3}') task_type break else @@ -142,11 +144,11 @@ task_del() { # 删除定时任务 cronset "$1" # 删除条件任务 - sed -i "/$1/d" "$CRASHDIR"/task/cron 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/bfstart 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/afstart 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/running 2>/dev/null - sed -i "/$1/d" "$CRASHDIR"/task/affirewall 2>/dev/null + sed -i "/$1/d" "$TASKCFGDIR"/cron 2>/dev/null + sed -i "/$1/d" "$TASKCFGDIR"/bfstart 2>/dev/null + sed -i "/$1/d" "$TASKCFGDIR"/afstart 2>/dev/null + sed -i "/$1/d" "$TASKCFGDIR"/running 2>/dev/null + sed -i "/$1/d" "$TASKCFGDIR"/affirewall 2>/dev/null } # 任务条件选择菜单 @@ -244,8 +246,8 @@ task_manager() { while true; do # 抽取并生成临时列表 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 "$CRASHDIR"/task/bfstart "$CRASHDIR"/task/afstart "$CRASHDIR"/task/affirewall 2>/dev/null | 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 "$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 sed -i '/^ *$/d' "$TMPDIR"/task_list rm -rf "$TMPDIR"/task_cronlist @@ -286,13 +288,13 @@ task_manager() { if [ "$res" = 1 ]; then cronname=$(echo "$task_txt" | awk -F '-' '{print $2}') cronset "$cronname" - sed -i "/$cronname/d" "$CRASHDIR"/task/cron 2>/dev/null + sed -i "/$cronname/d" "$TASKCFGDIR"/cron 2>/dev/null break fi else 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" btm_box "1) $TASK5_EDIT_TASK" \ "2) $TASK5_DEL_TASK" \ @@ -313,7 +315,7 @@ task_manager() { common_success ;; 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" msg_alert "\033[33m$TASK5_TASK_PREFIX$task_des】$task_res\033[0m" ;; @@ -367,7 +369,8 @@ task_recom() { task_menu() { 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" btm_box "1) $TASK5_MENU_1" \ "2) $TASK5_MENU_2" \ diff --git a/scripts/menus/task_cmd.sh b/scripts/menus/task_cmd.sh index 719b2173..026eae86 100644 --- a/scripts/menus/task_cmd.sh +++ b/scripts/menus/task_cmd.sh @@ -10,6 +10,7 @@ . "$CRASHDIR"/libs/web_get_bin.sh . "$CRASHDIR"/libs/logger.sh . "$CRASHDIR"/libs/i18n.sh +[ -z "$TASKCFGDIR" ] && TASKCFGDIR="$CRASHDIR"/configs/task load_lang task_cmd @@ -140,8 +141,8 @@ hotupdate() { #热更新订阅 case "$1" in [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_name=$(cat "$CRASHDIR"/task/task_${i18n}.list "$CRASHDIR"/task/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') + 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 "$TASKCFGDIR"/task.user 2>/dev/null | grep "$1" | awk -F '#' '{print $3}') #task_logger "任务$task_name 开始执行" 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" diff --git a/scripts/starts/afstart.sh b/scripts/starts/afstart.sh index 93455759..d798a517 100644 --- a/scripts/starts/afstart.sh +++ b/scripts/starts/afstart.sh @@ -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 #加载定时任务 cronload | grep -v '^$' >"$TMPDIR"/cron_tmp - [ -s "$CRASHDIR"/task/cron ] && cat "$CRASHDIR"/task/cron >>"$TMPDIR"/cron_tmp - [ -s "$CRASHDIR"/task/running ] && cat "$CRASHDIR"/task/running >>"$TMPDIR"/cron_tmp + [ -s "$TASKCFGDIR"/cron ] && cat "$TASKCFGDIR"/cron >>"$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 [ "$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 #删除重复行 cronadd "$TMPDIR"/cron_tmp2 rm -f "$TMPDIR"/cron_tmp "$TMPDIR"/cron_tmp2 #加载条件任务 - [ -s "$CRASHDIR"/task/afstart ] && { . "$CRASHDIR"/task/afstart; } & - [ -s "$CRASHDIR"/task/affirewall -a -s /etc/init.d/firewall -a ! -f /etc/init.d/firewall.bak ] && { + [ -s "$TASKCFGDIR"/afstart ] && { . "$TASKCFGDIR"/afstart; } & + [ -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) - 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) - sed -i "${line}a\\. $CRASHDIR/task/affirewall" /etc/init.d/firewall + sed -i "${line}a\\. $TASKCFGDIR/affirewall" /etc/init.d/firewall } & exit 0 else diff --git a/scripts/starts/bfstart.sh b/scripts/starts/bfstart.sh index 7facdd59..ce8450f8 100644 --- a/scripts/starts/bfstart.sh +++ b/scripts/starts/bfstart.sh @@ -79,7 +79,7 @@ EOF [ ! -d "$BINDIR"/ui ] && mkdir -p "$BINDIR"/ui [ -z "$crashcore" ] && crashcore=meta #执行条件任务 -[ -s "$CRASHDIR"/task/bfstart ] && . "$CRASHDIR"/task/bfstart +[ -s "$TASKCFGDIR"/bfstart ] && . "$TASKCFGDIR"/bfstart #检查内核配置文件 if [ ! -f "$core_config" ]; then if [ -n "$Url" -o -n "$Https" ]; then @@ -144,4 +144,3 @@ fi rm -rf /tmp/ShellCrash/debug.log rm -rf "$CRASHDIR"/debug.log exit 0 - diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index 2e3cb0be..5404cdd9 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -11,7 +11,7 @@ getlanip() { #获取局域网host地址 ip -6 addr show dev $iface 2>/dev/null 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 [ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break diff --git a/scripts/starts/general_init.sh b/scripts/starts/general_init.sh index 38228304..d19efd6d 100644 --- a/scripts/starts/general_init.sh +++ b/scripts/starts/general_init.sh @@ -3,6 +3,7 @@ #初始化目录 [ -z "$CRASHDIR" ] && CRASHDIR=$( cd $(dirname $0);cd ..;pwd) +TASKCFGDIR="$CRASHDIR"/configs/task profile=/etc/profile . "$CRASHDIR"/libs/set_profile.sh . "$CRASHDIR"/libs/set_cron.sh From 309b77ac35aa686bca1974db380452ad1562d1a1 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 12:24:42 +0800 Subject: [PATCH 281/318] =?UTF-8?q?~=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=86=85=E5=AE=B9=E7=9A=84=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bin_update.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/bin_update.yml b/.github/workflows/bin_update.yml index 835fcc2a..dd2c33a5 100644 --- a/.github/workflows/bin_update.yml +++ b/.github/workflows/bin_update.yml @@ -17,6 +17,10 @@ jobs: fetch-depth: 1 persist-credentials: false # 禁用默认凭据(我们用 token push) + - name: Fetch master and dev refs + run: | + git fetch origin master dev + - name: Apt Update & Update CA env: DEBIAN_FRONTEND: noninteractive @@ -136,6 +140,12 @@ jobs: sed -i "s/GeoIP_v=.*/GeoIP_v=$(date '+%Y%m%d')/" version echo 数据库及根证书文件更新完成! + - name: Sync master/dev files into update branch + run: | + # 只同步文件内容,不带任何 git 状态 + git archive --format=tar origin/master ShellCrash.tar.gz version install.sh install_en.sh | tar -x -C . + git archive --format=tar origin/dev public rules | tar -x -C . + - name: Rebuild update branch with no history run: | # 彻底删除历史记录 From 8e5ac1dce591e987ddd93a21ba0ed5b12d82f287 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 12:24:42 +0800 Subject: [PATCH 282/318] =?UTF-8?q?~=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=86=85=E5=AE=B9=E7=9A=84=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/bin_update.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/bin_update.yml b/.github/workflows/bin_update.yml index 835fcc2a..a833361c 100644 --- a/.github/workflows/bin_update.yml +++ b/.github/workflows/bin_update.yml @@ -17,6 +17,10 @@ jobs: fetch-depth: 1 persist-credentials: false # 禁用默认凭据(我们用 token push) + - name: Fetch master and dev refs + run: | + git fetch origin master dev + - name: Apt Update & Update CA env: DEBIAN_FRONTEND: noninteractive @@ -136,6 +140,12 @@ jobs: sed -i "s/GeoIP_v=.*/GeoIP_v=$(date '+%Y%m%d')/" version echo 数据库及根证书文件更新完成! + - name: Sync master/dev files into update branch + run: | + # 只同步文件内容,不带任何 git 状态 + git archive --format=tar origin/master ShellCrash.tar.gz version | tar -x -C . + git archive --format=tar origin/dev install.sh install_en.sh public rules | tar -x -C . + - name: Rebuild update branch with no history run: | # 彻底删除历史记录 From 04503ab9216347bdc4121df9a5d5b5ec1482f1b6 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 13:30:34 +0800 Subject: [PATCH 283/318] =?UTF-8?q?~=E4=B8=BAmihomo=E7=9A=84mix/route?= =?UTF-8?q?=E6=A8=A1=E5=BC=8Fdns=E9=BB=98=E8=AE=A4=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=A2=9E=E5=8A=A0=E6=AF=8F=E6=97=A5=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/clash_modify.sh | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index b6a91709..8e539fa7 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -55,8 +55,6 @@ EOF respect-rules: true nameserver-policy: {'rule-set:cn': [ $dns_nameserver ]} proxy-server-nameserver : [ $dns_proxy_server ] - proxy-server-nameserver-policy: - '+.cloud-nodes.com': '124.221.68.73:1053' nameserver: [ $dns_final ] EOF else @@ -203,12 +201,12 @@ add_custom_inbounds_and_rules() { } } -generate_rule_providers_and_merge_yaml() { +merger_yaml() { #mix和route模式生成rule-providers [ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '^[[:space:]]*cn:' "$TMPDIR"/rule-providers.yaml && ! grep -q '^rule-providers' "$CRASHDIR"/yamls/others.yaml 2>/dev/null && { space=$(sed -n "1p" "$TMPDIR"/rule-providers.yaml | grep -oE '^ *') #获取空格数 [ -z "$space" ] && space=' ' - echo "${space}cn: {type: http, behavior: domain, format: mrs, path: ./ruleset/cn.mrs, url: https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@update/bin/geodata/mrs_geosite_cn.mrs}" >>"$TMPDIR"/rule-providers.yaml + echo "${space}cn: {type: http, behavior: domain, format: mrs, path: ./ruleset/cn.mrs, interval: 86400, url: https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash@update/bin/geodata/mrs_geosite_cn.mrs}" >>"$TMPDIR"/rule-providers.yaml } #对齐rules中的空格 sed -i 's/^ *-/ -/g' "$TMPDIR"/rules.yaml @@ -235,7 +233,7 @@ generate_rule_providers_and_merge_yaml() { cut -c 1- "$TMPDIR"/set.yaml $yaml_dns $yaml_hosts $yaml_user $yaml_others $yaml_add >"$TMPDIR"/config.yaml } -validate_and_rebuild_yaml_if_needed() { +test_yaml() { #测试自定义配置文件 "$TMPDIR"/CrashCore -t -d "$BINDIR" -f "$TMPDIR"/config.yaml >/dev/null if [ "$?" != 0 ]; then @@ -266,7 +264,7 @@ modify_yaml() { generate_set_and_hosts_yaml split_and_customize_yaml_parts add_custom_inbounds_and_rules - generate_rule_providers_and_merge_yaml - validate_and_rebuild_yaml_if_needed + merger_yaml + test_yaml finalize_clash_yaml } From aa21581057e95abbb18c792e7f9ed51107a3782d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 14:10:02 +0800 Subject: [PATCH 284/318] ~bugfix --- scripts/starts/fw_getlanip.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index 5404cdd9..b278a8e4 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -2,16 +2,16 @@ getlanip() { #获取局域网host地址 i=1 while [ "$i" -le "20" ]; do #ipv4局域网网段 - host_ipv4=$(ip route show scope link | grep -Ev 'wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{print $1}') + host_ipv4=$(ip route show scope link | grep -Ev 'wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet|wgs|multicast|anycast' | awk '{print $1}') #ipv6局域网网段 - 从IPv4已识别的LAN接口获取全局IPv6前缀 [ "$ipv6_redir" = "ON" ] && { - lan_ifaces=$(ip route show scope link | grep -Ev 'ppp|wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet' | awk '{for(i=1;i<=NF;i++) if($i=="dev") {print $(i+1); break}}' | grep -v '^lo$' | sort -u) + lan_ifaces=$(ip route show scope link | grep -Ev 'ppp|wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet|wgs|multicast|anycast' | awk '{for(i=1;i<=NF;i++) if($i=="dev") {print $(i+1); break}}' | grep -v '^lo$' | sort -u) host_ipv6=$( for iface in $lan_ifaces; do ip -6 addr show dev $iface 2>/dev/null 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|multicast|anycast' | 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|wgs|multicast|anycast' | awk '{print $1}' | tr '\n' ' ' | sed 's/ $//') } [ -f "$TMPDIR"/ShellCrash.log ] && break [ -n "$host_ipv4" -a "$ipv6_redir" != "ON" ] && break From 1e10113665b5c29d42f2b85373fdb9903bc6501d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sun, 19 Apr 2026 18:56:43 +0800 Subject: [PATCH 285/318] ~1.9.5alpha14 pkg --- ShellCrash.tar.gz | Bin 174910 -> 175635 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 1887628b540a6b5d853941ec3ca1adb432f8909f..fc0f2684983d082193882ffa8a49941af368cb0f 100644 GIT binary patch delta 171364 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

b6(nx|=HI zCi<+`Xe`!!j59sG9sLj%i}}%X|NEVEFNcc9eTN`7lkH);Not1IeATxUcyfODToWkSp9IcG=!4$0DnjtXv`K3?iPnSwZSg?8AqIl{0IOMOHWk7+t%;(?&ODrh zf^k9S!C&^Dsvq{?%V%}1f$J}udN`C_Ilxkp0uAv{deiuVsHY4~T#X=dWXA@xD+8@? zdpm^x=~Wc?7d|}}vder#nWy4znTTkoO#( z@$IMb^+C9G91Wk#D|aJm`Gu-K}bEoM>%0S`{6SLmiR&aX##u_8kdD!F#wTxAU_pcg3s$YJEU5f=8 z38tz`83l7>`TSQiGI~EaXb-M~Ry@p(=L7)-3Z)4XOm;8*jU%2f+$0;j2S$TG{k?c) zmB(Yds8H*6u^hPjPnmw4Od-1Y6xU&=ytSZqmjYDz?s5U)*g*7U$J`IHH-VYzdgS7u zI^4&_x~;|l{t{ncBt8e2co-B>qtC7C?VNsdb`seV4{i3^_YbJ29 zx2Zb=oTFMe)TL`6KG(M@lrx{&pf>o0t+SjU3Rc8bjM{DHaMM%6*v>vk6`o{|#ktMF zJve?eHt|;xd{ie<*L}rJ!chBLei$|9509E~5=S2~3G^Rn1^cDTPCZv<$qk2BiFIt1 z(yyhmH7Y66^aLw##3(&m{qIMT6@k(nv7U4)v%!#0Pxd~{{N&eCG}O{vU7((#_$0Uh znjz}SaEB%smtwB2NFW!Os@=X-Rdjr7W@30p&v+9+p;=E-CF`(kj)~o+fo^dN2<0+N zq2fFx=f{zowT8Jnw}3>nB)t7s%B6{kQOhlUkzWZ;hPcs#t66mlZtB3$Ja97YMfl!H z{M|TjD~R<$f^JWsIww+E5>*{n`9OLITC`eRT~bx@AZ0S9Pn8maLgsZOn=H!qJv~Qk z?VM4ks0HN&wSK(nr&A@7Af=y*!+&pfjru?Acj_O0?F1?Y!+%YA>|;PM zzi3^a{gPmOt!kDcsLy8o2FT}mCCq7oU}Vg+PwnM;`Eh_`n8~xT*4G?)c4=TLL@k`R z4oT8+mQjGmA8ra~tBmisGi7~4C2c)}8|#!eUkT;QTv!4h?1V7|sr-;aL<@E`x=EQ7 zD^KhM94k{hX_CCpcz=hfr!y5$QGfM&Qf{nqy6b_Q~NwFRw?j8wU8{2ebn zQ|4Fiez}E-wc&c)eF!pUw?EcokW}EP9R$VKPlpF_8v+zR$oxe}J&T@sr1>?AYBFUX zX6n!jDnW@8Je*EnFx=fa!Qk~TwWbm=BRFY^?+upZ7_qsvZFUaZ!%|G8)+1tRbn5?-Jj2vk5}aKJXu0uexvZ%0AVNF-DyR+}vP$kMhXwiXnTH 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�BWxEol<>{nQZcY}8w;_z0=&}k3c@G3Gte=E{e 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

o)`K1%~RYkAc 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

XxO65!2U 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 E0Gf(N4gdfE diff --git a/bin/version b/bin/version index f67c9ad4..0da48858 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha13 +versionsh=1.9.5alpha14 GeoIP_v=20251205 diff --git a/version b/version index 8392d24f..0a6e87a2 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha13 +1.9.5alpha14 From bbc0b35b16e95a292dd8e6b275ee364580e72b0e Mon Sep 17 00:00:00 2001 From: juewuy <61367819+juewuy@users.noreply.github.com> Date: Sun, 26 Apr 2026 12:28:33 +0800 Subject: [PATCH 286/318] =?UTF-8?q?=E5=88=9B=E5=BB=BA=20servers.list?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/servers.list | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 public/servers.list diff --git a/public/servers.list b/public/servers.list new file mode 100644 index 00000000..a88c41b3 --- /dev/null +++ b/public/servers.list @@ -0,0 +1,32 @@ +# ID&类型 说明 地址 其他说明 (类型:100-三版全通源;200-单一源;300-基础sub;400-meta_sub;500-规则地址) + +101 Jsdelivr_CDN源 https://cdn.jsdelivr.net/gh/juewuy/ShellCrash +102 Github直连源(请注意网络环境) https://raw.githubusercontent.com/juewuy/ShellCrash +103 ShellClash自建源(请勿滥用!) https://gh.jwsc.eu.org +104 Cloudflare_CDN源(推荐) https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash + +202 http私人内测源(危险!非必要请勿使用) http://t.jwsc.eu.org 开发版 + +401 作者提供,支持vless|hy2 https://sub.jwsc.eu.org ua +402 肥羊提供(有广告),支持vless|hy2 https://api.v1.mk diyua +403 肥羊提供(有广告),支持vless|hy2 https://url.v1.mk diyua + +501 Acl4SSR全能优化版 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash.ini (推荐) +502 Acl4SSR精简优化版 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Mini.ini (推荐) +503 Acl4SSR全能优化+去广告增强 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Block.ini +504 Acl4SSR极简版 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Nano.ini (适合自建节点) +505 Acl4SSR分流&游戏增强 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Full.ini +506 Acl4SSR分流&游戏&去广告增强 https://github.com/juewuy/ShellCrash/raw/dev/rules/ShellClash_Full_Block.ini (低性能设备慎用) +507 洞主规则精简版 https://github.com/juewuy/ShellCrash/raw/dev/rules/lhie1_clash.ini +508 洞主规则重度完整版 https://github.com/juewuy/ShellCrash/raw/dev/rules/lhie1_dler.ini +509 Acl4SSR多国精简 https://github.com/juewuy/ShellCrash/raw/dev/rules/ACL4SSR_Online_Mini_MultiCountry.ini +510 Acl4SSR回国专用 https://github.com/juewuy/ShellCrash/raw/dev/rules/ACL4SSR_BackCN.ini +511 Acl4SSR增强国外GFW https://github.com/juewuy/ShellCrash/raw/dev/rules/ACL4SSR_WithGFW.ini (适合黑名单模式使用) +512 DustinWin全分组规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Full.ini +513 DustinWin无广告全分组规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Full_NoAds.ini +514 DustinWin精简规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Lite.ini (推荐) +515 DustinWin无广告精简规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Lite_NoAds.ini +516 DustinWin黑名单模式规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Blacklist.ini +517 DustinWin无广告黑名单模式规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Blacklist_NoAds.ini +518 DustinWin轻量规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Light.ini +519 DustinWin极简规则 https://raw.githubusercontent.com/DustinWin/ruleset_geodata/master/rule_templates/DustinWin_Nano.ini \ No newline at end of file From d37ffc53e007b018ad2c3a6c69fe2433225eb0f4 Mon Sep 17 00:00:00 2001 From: Wanfung Chu Date: Thu, 7 May 2026 00:24:28 +0800 Subject: [PATCH 287/318] fix sed error --- scripts/menus/userguide.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/userguide.sh b/scripts/menus/userguide.sh index d5abb9bf..4595633e 100644 --- a/scripts/menus/userguide.sh +++ b/scripts/menus/userguide.sh @@ -120,7 +120,7 @@ userguide() { read -r -p "$COMMON_INPUT_R" res [ "$res" = 1 ] && { BINDIR=/tmp/ShellCrash - sed -i "s#BINDIR=.*#BINDIR=$BINDIR" "$CRASHDIR"/configs/command.env + sed -i "s#BINDIR=.*#BINDIR=$BINDIR#" "$CRASHDIR"/configs/command.env } fi From b66dc2c1b60a4e146d51e68f0cc811927134c138 Mon Sep 17 00:00:00 2001 From: Wanfung Chu Date: Thu, 7 May 2026 00:33:07 +0800 Subject: [PATCH 288/318] Fix welcome message formatting in install_en.sh --- install_en.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install_en.sh b/install_en.sh index 5a0f4cae..ea6a24a8 100644 --- a/install_en.sh +++ b/install_en.sh @@ -3,7 +3,7 @@ echo "***********************************************" echo "** Welcome to **" -echo "** ShellCrash **" +echo "** ShellCrash **" echo "** by Juewuy **" echo "***********************************************" From b31c824f94d2b9287d87ed3fb1511c25f7059dd1 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Sun, 17 May 2026 22:48:13 +0800 Subject: [PATCH 289/318] =?UTF-8?q?=E9=80=82=E9=85=8D=20sing-box=20v1.14.0?= =?UTF-8?q?-alpha.21+=20=E7=89=88=E6=9C=AC=E5=86=85=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/override.sh | 2 +- scripts/starts/singbox_modify.sh | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/scripts/menus/override.sh b/scripts/menus/override.sh index 2045bc28..a4e2275c 100644 --- a/scripts/menus/override.sh +++ b/scripts/menus/override.sh @@ -540,7 +540,7 @@ EOF # s自定义singbox配置文件 set_singbox_adv() { comp_box "\033[33m$OVR_SING_TITLE1\033[0m" \ - "\033[36mlog dns ntp certificate experimental\033[0m" \ + "\033[36mlog dns ntp certificate http_clients experimental\033[0m" \ "\033[33m$OVR_SING_TITLE2\033[0m" \ "\033[36mendpoints inbounds outbounds providers route services\033[0m" \ "$OVR_SING_TITLE3" \ diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index e12fae3e..84c294a9 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -92,10 +92,11 @@ EOF ], "rules": [ { - "ip_accept_any": true, + "preferred_by": [ "hosts" ], "server": "hosts" } - ]} + ] + } } EOF fi @@ -153,7 +154,7 @@ generate_dns_related_jsons() { "format": "binary", $srs_path "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cn.srs", - "download_detour": "DIRECT" + "http_client": "detour_direct" } ] } @@ -324,6 +325,21 @@ generate_outbounds_and_experimental_jsons() { $add_global ] } +EOF + #生成http_clients.json + cat >"$TMPDIR"/jsons/http_clients.json < Date: Sun, 7 Jun 2026 22:42:28 +0900 Subject: [PATCH 290/318] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9F=90=E4=BA=9B?= =?UTF-8?q?=E6=83=85=E5=86=B5=E4=B8=8B=E5=BC=95=E5=85=A5=E7=9A=84default?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E6=B1=A1=E6=9F=93=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/fw_getlanip.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index b278a8e4..c1bf3e89 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -2,7 +2,7 @@ getlanip() { #获取局域网host地址 i=1 while [ "$i" -le "20" ]; do #ipv4局域网网段 - host_ipv4=$(ip route show scope link | grep -Ev 'wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet|wgs|multicast|anycast' | awk '{print $1}') + host_ipv4=$(ip route show scope link | grep -Ev 'default|wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet|wgs|multicast|anycast' | awk '{print $1}') #ipv6局域网网段 - 从IPv4已识别的LAN接口获取全局IPv6前缀 [ "$ipv6_redir" = "ON" ] && { lan_ifaces=$(ip route show scope link | grep -Ev 'ppp|wan|utun|iot|peer|docker|podman|virbr|vnet|ovs|vmbr|veth|vmnic|vboxnet|lxcbr|xenbr|vEthernet|wgs|multicast|anycast' | awk '{for(i=1;i<=NF;i++) if($i=="dev") {print $(i+1); break}}' | grep -v '^lo$' | sort -u) From ca6e79d8641e940a8ba4c989953fb8df465928f8 Mon Sep 17 00:00:00 2001 From: Arias Oscar Date: Thu, 25 Jun 2026 17:11:53 +0800 Subject: [PATCH 291/318] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Diptables?= =?UTF-8?q?=E6=94=BE=E8=A1=8C=E7=AB=AF=E5=8F=A3=E6=B7=BB=E5=8A=A0=E8=BF=87?= =?UTF-8?q?=E5=A4=9A=E5=AF=BC=E8=87=B4=E6=BA=A2=E5=87=BA=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/fw_iptables.sh | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/scripts/starts/fw_iptables.sh b/scripts/starts/fw_iptables.sh index 70c7b1ff..57dc1f4e 100644 --- a/scripts/starts/fw_iptables.sh +++ b/scripts/starts/fw_iptables.sh @@ -72,7 +72,22 @@ start_ipt_route() { #iptables-route通用工具 done fi #将所在链指定流量指向shellcrash表 - "$1" $w -t "$2" -I "$3" -p "$5" $ports -j "$4" + if [ -n "$ports" ]; then + clean_ports=$(echo "$multiport" | sed 's/ //g') + echo "$clean_ports" | awk -F, '{ + for(i=1; i<=NF; i+=9) { + group="" + for(j=i; j Date: Thu, 25 Jun 2026 20:56:00 +0800 Subject: [PATCH 292/318] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Diptables?= =?UTF-8?q?=E6=94=BE=E8=A1=8C=E7=AB=AF=E5=8F=A3=E6=B7=BB=E5=8A=A0=E8=BF=87?= =?UTF-8?q?=E5=A4=9A=E5=AF=BC=E8=87=B4=E6=BA=A2=E5=87=BA=E7=9A=84=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ``` iptables v1.8.10 (nf_tables): too many ports specified Try `iptables -h' or 'iptables --help' for more information. iptables v1.8.10 (nf_tables): too many ports specified Try `iptables -h' or 'iptables --help' for more information. ``` iptables放行端口添加过多导致溢出 --- scripts/starts/fw_stop.sh | 67 +++++++++++++++++++++++++++++++-------- 1 file changed, 53 insertions(+), 14 deletions(-) diff --git a/scripts/starts/fw_stop.sh b/scripts/starts/fw_stop.sh index 8e3757b3..a996547b 100644 --- a/scripts/starts/fw_stop.sh +++ b/scripts/starts/fw_stop.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/ash # Copyright (C) Juewuy #初始化目录 @@ -20,24 +20,44 @@ ckcmd iptables && { $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_dns 2>/dev/null $iptable -t nat -D OUTPUT -p udp --dport 53 -j shellcrash_dns_out 2>/dev/null $iptable -t nat -D OUTPUT -p tcp --dport 53 -j shellcrash_dns_out 2>/dev/null + if [ -n "$ports" ]; then + clean_ports=$(echo "$multiport" | sed 's/ //g') + echo "$clean_ports" | awk -F, '{ + for(i=1; i<=NF; i+=9) { + group=""; for(j=i; j/dev/null + $iptable -t nat -D OUTPUT -p tcp -m multiport --dports "$port_group" -j shellcrash_out 2>/dev/null + $iptable -t nat -D PREROUTING -p tcp -m multiport --dports "$port_group" -j shellcrash_vm 2>/dev/null + $iptable -t mangle -D PREROUTING -p tcp -m multiport --dports "$port_group" -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D PREROUTING -p udp -m multiport --dports "$port_group" -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D OUTPUT -p tcp -m multiport --dports "$port_group" -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D OUTPUT -p udp -m multiport --dports "$port_group" -j shellcrash_mark_out 2>/dev/null + fi + done + else + $iptable -t nat -D PREROUTING -p tcp -j shellcrash 2>/dev/null + $iptable -t nat -D OUTPUT -p tcp -j shellcrash_out 2>/dev/null + $iptable -t nat -D PREROUTING -p tcp -j shellcrash_vm 2>/dev/null + $iptable -t mangle -D PREROUTING -p tcp -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D PREROUTING -p udp -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D OUTPUT -p tcp -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D OUTPUT -p udp -j shellcrash_mark_out 2>/dev/null + fi #redir - $iptable -t nat -D PREROUTING -p tcp $ports -j shellcrash 2>/dev/null $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash 2>/dev/null - $iptable -t nat -D OUTPUT -p tcp $ports -j shellcrash_out 2>/dev/null $iptable -t nat -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_out 2>/dev/null #vm_dns $iptable -t nat -D PREROUTING -p tcp --dport 53 -j shellcrash_vm_dns 2>/dev/null $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_vm_dns 2>/dev/null #vm_redir - $iptable -t nat -D PREROUTING -p tcp $ports -j shellcrash_vm 2>/dev/null $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_vm 2>/dev/null #TPROXY&tun - $iptable -t mangle -D PREROUTING -p tcp $ports -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D PREROUTING -p udp $ports -j shellcrash_mark 2>/dev/null $iptable -t mangle -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null $iptable -t mangle -D PREROUTING -p udp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D OUTPUT -p tcp $ports -j shellcrash_mark_out 2>/dev/null - $iptable -t mangle -D OUTPUT -p udp $ports -j shellcrash_mark_out 2>/dev/null $iptable -t mangle -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null $iptable -t mangle -D OUTPUT -p udp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p tcp -j TPROXY --on-port $tproxy_port 2>/dev/null @@ -73,20 +93,39 @@ ckcmd ip6tables && { #dns $ip6table -t nat -D PREROUTING -p tcp --dport 53 -j shellcrashv6_dns 2>/dev/null $ip6table -t nat -D PREROUTING -p udp --dport 53 -j shellcrashv6_dns 2>/dev/null + if [ -n "$ports" ]; then + clean_ports=$(echo "$multiport" | sed 's/ //g') + echo "$clean_ports" | awk -F, '{ + for(i=1; i<=NF; i+=9) { + group=""; for(j=i; j/dev/null + $ip6table -t nat -D OUTPUT -p tcp -m multiport --dports "$port_group" -j shellcrashv6_out 2>/dev/null + $ip6table -t mangle -D PREROUTING -p tcp -m multiport --dports "$port_group" -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D PREROUTING -p udp -m multiport --dports "$port_group" -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D OUTPUT -p tcp -m multiport --dports "$port_group" -j shellcrashv6_mark_out 2>/dev/null + $ip6table -t mangle -D OUTPUT -p udp -m multiport --dports "$port_group" -j shellcrashv6_mark_out 2>/dev/null + fi + done + else + $ip6table -t nat -D PREROUTING -p tcp -j shellcrashv6 2>/dev/null + $ip6table -t nat -D OUTPUT -p tcp -j shellcrashv6_out 2>/dev/null + $ip6table -t mangle -D PREROUTING -p tcp -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D PREROUTING -p udp -j shellcrashv6_mark 2>/dev/null + $ip6table -t mangle -D OUTPUT -p tcp -j shellcrashv6_mark_out 2>/dev/null + $ip6table -t mangle -D OUTPUT -p udp -j shellcrashv6_mark_out 2>/dev/null + fi #redir - $ip6table -t nat -D PREROUTING -p tcp $ports -j shellcrashv6 2>/dev/null $ip6table -t nat -D PREROUTING -p tcp -d fc00::/16 -j shellcrashv6 2>/dev/null - $ip6table -t nat -D OUTPUT -p tcp $ports -j shellcrashv6_out 2>/dev/null $ip6table -t nat -D OUTPUT -p tcp -d fc00::/16 -j shellcrashv6_out 2>/dev/null $ip6table -D INPUT -p tcp --dport 53 -j REJECT 2>/dev/null $ip6table -D INPUT -p udp --dport 53 -j REJECT 2>/dev/null #mark - $ip6table -t mangle -D PREROUTING -p tcp $ports -j shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -D PREROUTING -p udp $ports -j shellcrashv6_mark 2>/dev/null $ip6table -t mangle -D PREROUTING -p tcp -d fc00::/16 -j shellcrashv6_mark 2>/dev/null $ip6table -t mangle -D PREROUTING -p udp -d fc00::/16 -j shellcrashv6_mark 2>/dev/null - $ip6table -t mangle -D OUTPUT -p tcp $ports -j shellcrashv6_mark_out 2>/dev/null - $ip6table -t mangle -D OUTPUT -p udp $ports -j shellcrashv6_mark_out 2>/dev/null $ip6table -t mangle -D OUTPUT -p tcp -d fc00::/16 -j shellcrashv6_mark_out 2>/dev/null $ip6table -t mangle -D OUTPUT -p udp -d fc00::/16 -j shellcrashv6_mark_out 2>/dev/null $ip6table -D INPUT -p udp --dport 443 $set_cn_ip -j REJECT 2>/dev/null From f89ac976a7f5e536b5f7c1dcd66572b737b83c15 Mon Sep 17 00:00:00 2001 From: Kanna Kamui Date: Thu, 25 Jun 2026 20:59:30 +0800 Subject: [PATCH 293/318] Update fw_stop.sh --- scripts/starts/fw_stop.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/starts/fw_stop.sh b/scripts/starts/fw_stop.sh index a996547b..a8bb5eac 100644 --- a/scripts/starts/fw_stop.sh +++ b/scripts/starts/fw_stop.sh @@ -1,4 +1,4 @@ -#!/bin/ash +#!/bin/sh # Copyright (C) Juewuy #初始化目录 From 988c0cde34a95f79c5c958a262a34c72908854d3 Mon Sep 17 00:00:00 2001 From: DustinWin Date: Tue, 7 Jul 2026 10:53:01 +0800 Subject: [PATCH 294/318] =?UTF-8?q?sing-box=20=E5=9F=9F=E5=90=8D=E5=97=85?= =?UTF-8?q?=E6=8E=A2=E7=9B=B8=E5=85=B3=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/9_upgrade.lang | 2 +- scripts/lang/en/9_upgrade.lang | 2 +- scripts/starts/singbox_modify.sh | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/lang/chs/9_upgrade.lang b/scripts/lang/chs/9_upgrade.lang index 953ab36f..de986d3c 100644 --- a/scripts/lang/chs/9_upgrade.lang +++ b/scripts/lang/chs/9_upgrade.lang @@ -216,7 +216,7 @@ UPG_CORE_V1_SUFFIX=" \033[32m(原meta内核)支持全面\033[0m \033[33m占 UPG_CORE_V1_DOC="说明文档:\033[36;4mhttps://wiki.metacubex.one\033[0m" UPG_CORE_V2_PREFIX="2) \033[43;30mSingBoxR\033[0m:\033[32m" UPG_CORE_V2_SUFFIX=" \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m" -UPG_CORE_V2_DOC="说明文档:\033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" +UPG_CORE_V2_DOC="说明文档:\033[36;4mhttps://sing-boxr.dustinwin.cc.cd\033[0m" UPG_CORE_V3_PREFIX="3) \033[43;30mSingBox\033[0m:\033[32m" UPG_CORE_V3_SUFFIX=" \033[32m占用较低\033[0m \033[33m不支持providers\033[0m" UPG_CORE_V3_DOC="说明文档:\033[36;4mhttps://sing-box.sagernet.org\033[0m" diff --git a/scripts/lang/en/9_upgrade.lang b/scripts/lang/en/9_upgrade.lang index ccd5e2b8..5e91c1e7 100644 --- a/scripts/lang/en/9_upgrade.lang +++ b/scripts/lang/en/9_upgrade.lang @@ -216,7 +216,7 @@ UPG_CORE_V1_SUFFIX=" \033[32m(full meta core) highly compatible\033[0m \033[33mm UPG_CORE_V1_DOC="Docs: \033[36;4mhttps://wiki.metacubex.one\033[0m" UPG_CORE_V2_PREFIX="2) \033[43;30mSingBoxR\033[0m: \033[32m" UPG_CORE_V2_SUFFIX=" \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m" -UPG_CORE_V2_DOC="Docs: \033[36;4mhttps://sing-boxr.dustinwin.us.kg\033[0m" +UPG_CORE_V2_DOC="Docs: \033[36;4mhttps://sing-boxr.dustinwin.cc.cd\033[0m" UPG_CORE_V3_PREFIX="3) \033[43;30mSingBox\033[0m: \033[32m" UPG_CORE_V3_SUFFIX=" \033[32mlower resource usage\033[0m \033[33mproviders are not supported\033[0m" UPG_CORE_V3_DOC="Docs: \033[36;4mhttps://sing-box.sagernet.org\033[0m" diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index 64a6f34f..ebd19c3a 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -218,7 +218,8 @@ EOF generate_route_and_inbounds_jsons() { #生成add_route.json #域名嗅探配置 - [ "$sniffer" != OFF ] && sniffer_set='{ "domain_suffix": [ "push.apple.com" ], "rule_set": [ "telegramip" ], "domain": [ "Mijia Cloud" ], "invert": true, "action": "sniff", "timeout": "500ms" },' + grep -q 'telegramip' "$TMPDIR"/jsons/route.json && telegramip_set=' "rule_set": [ "telegramip" ],' + [ "$sniffer" != OFF ] && sniffer_set='{ "domain_suffix": [ "push.apple.com" ],'"$telegramip_set"' "domain": [ "Mijia Cloud" ], "invert": true, "action": "sniff", "timeout": "500ms" },' [ "$ts_service" = ON ] && tailscale_set='{ "inbound": [ "ts-ep" ], "port": 53, "action": "hijack-dns" },' cat >"$TMPDIR"/jsons/add_route.json < Date: Sat, 11 Jul 2026 15:41:46 +0800 Subject: [PATCH 295/318] core: store naked core on compressed rom instead of unpacking to tmpfs On OpenWrt $TMPDIR is tmpfs (RAM) and $BINDIR sits on a transparently-compressed fs (squashfs/ubifs). Unpacking the core to $TMPDIR pins the whole ~40MB binary in unreclaimable Shmem, and a compressed copy is still kept on rom - paying twice. When $TMPDIR is tmpfs and $BINDIR is squashfs/ubifs/overlay, store the verified naked binary as $BINDIR/CrashCore.raw and symlink $TMPDIR/CrashCore to it, dropping the downloaded archive. The binary is transparently compressed on rom (~2.2:1, comparable to keeping .gz) and its text/rodata become file-backed and reclaimable at runtime (RssShmem 0). Other filesystems keep the existing behavior. The upx branch's symlink target is also corrected from $TMPDIR to $BINDIR (same dangling-symlink issue as #1295). For #1304 --- scripts/libs/core_tools.sh | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/scripts/libs/core_tools.sh b/scripts/libs/core_tools.sh index e2ed523b..bc553f8e 100644 --- a/scripts/libs/core_tools.sh +++ b/scripts/libs/core_tools.sh @@ -14,6 +14,8 @@ core_unzip() { #$1:需要解压的文件 $2:目标文件名 rm -rf "$TMPDIR"/core_tmp elif echo "$1" |grep -q '.gz$' ;then gunzip -c "$1" > "$TMPDIR"/"$2" + elif echo "$1" |grep -q '.raw$' ;then + ln -sf "$1" "$TMPDIR"/"$2" elif echo "$1" |grep -q '.upx$' ;then ln -sf "$1" "$TMPDIR"/"$2" else @@ -45,16 +47,27 @@ core_check(){ rm -rf "$1" "$TMPDIR"/core_new return 2 else - rm -f "$BINDIR"/CrashCore.tar.gz "$BINDIR"/CrashCore.gz "$BINDIR"/CrashCore.upx - if [ -z "$zip_type" ];then + rm -f "$BINDIR"/CrashCore.tar.gz "$BINDIR"/CrashCore.gz "$BINDIR"/CrashCore.upx "$BINDIR"/CrashCore.raw + #$TMPDIR为内存(tmpfs)且$BINDIR为透明压缩文件系统(squashfs/ubifs)时,直接以裸二进制存于$BINDIR并软链,省内存 + store_raw=0 + tmp_fs=$(df -T "$TMPDIR" 2>/dev/null | awk 'END{print $2}') + rom_fs=$(df -T "$BINDIR" 2>/dev/null | awk 'END{print $2}') + case "$tmp_fs" in tmpfs|ramfs) + case "$rom_fs" in squashfs|ubifs|overlay|overlayfs) store_raw=1 ;; esac ;; + esac + if [ "$zip_type" = 'upx' ];then + mv -f "$1" "$BINDIR/CrashCore.upx" + rm -f "$TMPDIR"/core_new + ln -sf "$BINDIR/CrashCore.upx" "$TMPDIR/CrashCore" + elif [ "$store_raw" = 1 ];then + rm -f "$1" + mv -f "$TMPDIR/core_new" "$BINDIR/CrashCore.raw" + ln -sf "$BINDIR/CrashCore.raw" "$TMPDIR/CrashCore" + elif [ -z "$zip_type" ];then gzip -c "$TMPDIR/core_new" > "$BINDIR/CrashCore.gz" + mv -f "$TMPDIR/core_new" "$TMPDIR/CrashCore" else mv -f "$1" "$BINDIR/CrashCore.$zip_type" - fi - if [ "$zip_type" = 'upx' ];then - rm -f "$1" "$TMPDIR"/core_new - ln -sf "$TMPDIR/CrashCore.upx" "$TMPDIR/CrashCore" - else mv -f "$TMPDIR/core_new" "$TMPDIR/CrashCore" fi core_v="$v" From 55cfa65875e39a84ca6c2d81903ba98781f52676 Mon Sep 17 00:00:00 2001 From: Xiaoyi Date: Sat, 11 Jul 2026 15:59:42 +0800 Subject: [PATCH 296/318] core: prefer raw binary on compressed rom, avoid upx on tmpfs devices Adds store_on_rom() helper (tmpfs $TMPDIR + squashfs/ubifs/overlay $BINDIR). On such devices core_webget no longer downloads the upx core (its stub decompresses into a memfd = RAM at runtime); it fetches the tar.gz instead and core_check stores the naked binary as $BINDIR/CrashCore.raw, symlinked from $TMPDIR. The binary is transparently compressed on rom and file-backed/reclaimable at runtime (RssShmem 0). Other filesystems and explicit upx keep prior behavior. Also corrects the upx branch symlink target $TMPDIR -> $BINDIR (same dangling-symlink issue as #1295). For #1304 --- scripts/libs/core_tools.sh | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/scripts/libs/core_tools.sh b/scripts/libs/core_tools.sh index bc553f8e..6519ae85 100644 --- a/scripts/libs/core_tools.sh +++ b/scripts/libs/core_tools.sh @@ -2,6 +2,14 @@ [ -n "$(find --help 2>&1 | grep -o size)" ] && find_para=' -size +2000' #find命令兼容 +#$TMPDIR为内存(tmpfs)且$BINDIR在透明压缩文件系统(squashfs/ubifs/overlay)上时返回0 +#此类设备应把裸二进制存于$BINDIR(rom透明压缩)并软链,而非解压/memfd占用内存 +store_on_rom(){ + case "$(df -T "$TMPDIR" 2>/dev/null | awk 'END{print $2}')" in tmpfs|ramfs) ;; *) return 1 ;; esac + case "$(df -T "$BINDIR" 2>/dev/null | awk 'END{print $2}')" in squashfs|ubifs|overlay|overlayfs) return 0 ;; esac + return 1 +} + core_unzip() { #$1:需要解压的文件 $2:目标文件名 if echo "$1" |grep -q 'tar.gz$' ;then [ "$BINDIR" = "$TMPDIR" ] && rm -rf "$TMPDIR"/CrashCore #小闪存模式防止空间不足 @@ -48,18 +56,11 @@ core_check(){ return 2 else rm -f "$BINDIR"/CrashCore.tar.gz "$BINDIR"/CrashCore.gz "$BINDIR"/CrashCore.upx "$BINDIR"/CrashCore.raw - #$TMPDIR为内存(tmpfs)且$BINDIR为透明压缩文件系统(squashfs/ubifs)时,直接以裸二进制存于$BINDIR并软链,省内存 - store_raw=0 - tmp_fs=$(df -T "$TMPDIR" 2>/dev/null | awk 'END{print $2}') - rom_fs=$(df -T "$BINDIR" 2>/dev/null | awk 'END{print $2}') - case "$tmp_fs" in tmpfs|ramfs) - case "$rom_fs" in squashfs|ubifs|overlay|overlayfs) store_raw=1 ;; esac ;; - esac if [ "$zip_type" = 'upx' ];then mv -f "$1" "$BINDIR/CrashCore.upx" rm -f "$TMPDIR"/core_new ln -sf "$BINDIR/CrashCore.upx" "$TMPDIR/CrashCore" - elif [ "$store_raw" = 1 ];then + elif store_on_rom ;then rm -f "$1" mv -f "$TMPDIR/core_new" "$BINDIR/CrashCore.raw" ln -sf "$BINDIR/CrashCore.raw" "$TMPDIR/CrashCore" @@ -83,6 +84,8 @@ core_webget(){ . "$CRASHDIR"/libs/check_target.sh if [ -z "$custcorelink" ];then [ -z "$zip_type" ] && zip_type='tar.gz' + #压缩rom+内存tmp设备避免下载upx(运行时memfd占RAM),改取tar.gz的裸二进制存于rom + [ "$zip_type" = 'upx' ] && store_on_rom && zip_type='tar.gz' get_bin "$TMPDIR/Coretmp.$zip_type" "bin/$crashcore/${target}-linux-${cpucore}.$zip_type" else case "$custcorelink" in From 433774071ad9fba8aa269d94530394348165f74c Mon Sep 17 00:00:00 2001 From: Xiaoyi Date: Sat, 11 Jul 2026 16:38:49 +0800 Subject: [PATCH 297/318] core: choose core storage by weighing rom cost vs ram cost Replaces the binary compressed-rom check with store_raw_worth_it(), which decides per environment: store the naked binary on $BINDIR (0 RAM) only when $TMPDIR is tmpfs AND $BINDIR can hold it with margin (estimated ~2:1 on squashfs/ubifs, full size otherwise). Otherwise keep a compressed copy and decompress to tmp as before. core_webget skips the upx core when raw storage is viable, fetching tar.gz instead. Rationale (rough budgets for a ~40M core): raw on squashfs ~15M rom / 0 RAM; gz 10M rom / ~40M RAM; upx 9M rom / ~40M RAM (memfd). Raw wins when rom has room; compressed wins when rom is the scarce resource. Also corrects the upx branch symlink target $TMPDIR -> $BINDIR (#1295). For #1304 --- scripts/libs/core_tools.sh | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/scripts/libs/core_tools.sh b/scripts/libs/core_tools.sh index 6519ae85..a0ea7e7f 100644 --- a/scripts/libs/core_tools.sh +++ b/scripts/libs/core_tools.sh @@ -2,12 +2,18 @@ [ -n "$(find --help 2>&1 | grep -o size)" ] && find_para=' -size +2000' #find命令兼容 -#$TMPDIR为内存(tmpfs)且$BINDIR在透明压缩文件系统(squashfs/ubifs/overlay)上时返回0 -#此类设备应把裸二进制存于$BINDIR(rom透明压缩)并软链,而非解压/memfd占用内存 -store_on_rom(){ +#根据环境权衡决定是否把裸二进制存于$BINDIR(rom)——省RAM,前提是rom装得下 +#$1=裸二进制字节数。仅当$TMPDIR在内存(tmpfs)时裸存才省RAM; +#再按$BINDIR文件系统估算裸二进制落盘体积(透明压缩fs约2:1),需留有余量($raw_margin,默认8M) +store_raw_worth_it(){ case "$(df -T "$TMPDIR" 2>/dev/null | awk 'END{print $2}')" in tmpfs|ramfs) ;; *) return 1 ;; esac - case "$(df -T "$BINDIR" 2>/dev/null | awk 'END{print $2}')" in squashfs|ubifs|overlay|overlayfs) return 0 ;; esac - return 1 + rom_free=$(df -k "$BINDIR" 2>/dev/null | awk 'END{print $4}') #KB + [ -z "$rom_free" ] && return 1 + case "$(df -T "$BINDIR" 2>/dev/null | awk 'END{print $2}')" in + squashfs|ubifs|overlay|overlayfs) est=$(( ${1:-0}/1024/2 )) ;; #透明压缩,约2:1 + *) est=$(( ${1:-0}/1024 )) ;; #无压缩,全量 + esac + [ $(( rom_free - est )) -gt "${raw_margin:-8192}" ] && return 0 || return 1 } core_unzip() { #$1:需要解压的文件 $2:目标文件名 @@ -60,7 +66,7 @@ core_check(){ mv -f "$1" "$BINDIR/CrashCore.upx" rm -f "$TMPDIR"/core_new ln -sf "$BINDIR/CrashCore.upx" "$TMPDIR/CrashCore" - elif store_on_rom ;then + elif store_raw_worth_it "$(wc -c < "$TMPDIR/core_new")" ;then rm -f "$1" mv -f "$TMPDIR/core_new" "$BINDIR/CrashCore.raw" ln -sf "$BINDIR/CrashCore.raw" "$TMPDIR/CrashCore" @@ -84,8 +90,8 @@ core_webget(){ . "$CRASHDIR"/libs/check_target.sh if [ -z "$custcorelink" ];then [ -z "$zip_type" ] && zip_type='tar.gz' - #压缩rom+内存tmp设备避免下载upx(运行时memfd占RAM),改取tar.gz的裸二进制存于rom - [ "$zip_type" = 'upx' ] && store_on_rom && zip_type='tar.gz' + #若环境适合裸存(见store_raw_worth_it,按典型核心~45M估算),避免下载upx,改取tar.gz的裸二进制 + [ "$zip_type" = 'upx' ] && store_raw_worth_it 47185920 && zip_type='tar.gz' get_bin "$TMPDIR/Coretmp.$zip_type" "bin/$crashcore/${target}-linux-${cpucore}.$zip_type" else case "$custcorelink" in From d4e0ec8fb0c5d7bb713e69dfac6ab2fe3e2bbb7d Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sun, 5 Jul 2026 21:31:44 +0800 Subject: [PATCH 298/318] =?UTF-8?q?fix(ecs):=20singbox=20=E5=88=86?= =?UTF-8?q?=E6=94=AF=E8=A1=A5=E9=BD=90=20ecs=5Faddress=20=E5=88=A4?= =?UTF-8?q?=E7=A9=BA,=E5=A4=B1=E8=B4=A5=E6=97=B6=E7=BB=88=E7=AB=AF?= =?UTF-8?q?=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit singbox_modify.sh 之前 ecs_address 为空时仍写入 client_subnet:"", 导致 sing-box 启动时 netip.ParsePrefix("") 报 'no /' FATAL, 服务无法启动。根因是 get_ecsip.sh 在部分环境(如梅林 resolv.conf 无 # Interface wan 标记、members.3322.org 被限流)下拿不到公网 IP。 - singbox_modify.sh: 与 mihomo 分支对齐,加 [ -n ecs_address ] 判空, 失败时不写字段并 logger 告警 - clash_modify.sh: logger 补颜色码 33(黄色),使告警同样打印到终端, 原来无颜色码只写日志文件用户无感知 --- scripts/starts/clash_modify.sh | 2 +- scripts/starts/singbox_modify.sh | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index 8e539fa7..0424b35e 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -21,7 +21,7 @@ prepare_clash_base_config() { if [ -n "$ecs_address" ];then dns_fallback=$(echo "$dns_fallback, " | sed "s|, |#ecs-override=true\&ecs=$ecs_address, |g" | sed 's|, $||') else - logger "自动获取ecs网段失败!" + logger "自动获取ecs网段失败!" 33 fi } } diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index ebd19c3a..b430ec95 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -113,7 +113,11 @@ prepare_dns_config() { #ecs优化 [ "$ecs_subnet" = ON ] && { . "$CRASHDIR"/libs/get_ecsip.sh - client_subnet='"client_subnet": "'"$ecs_address"'",' + if [ -n "$ecs_address" ]; then + client_subnet='"client_subnet": "'"$ecs_address"'",' + else + logger "自动获取ecs网段失败!" 33 + fi } #根据dns模式生成 [ "$dns_mod" = "redir_host" ] && { From c4532c979f76757908dec37f1ebb1bb59e887f76 Mon Sep 17 00:00:00 2001 From: Feng Yu Date: Sun, 5 Jul 2026 22:10:52 +0800 Subject: [PATCH 299/318] =?UTF-8?q?fix(ecs):=20=E5=85=AC=E7=BD=91IP?= =?UTF-8?q?=E8=BD=AE=E8=AF=A2=E5=8A=A0IPv4=E6=A0=A1=E9=AA=8C,=E6=96=B0?= =?UTF-8?q?=E5=A2=9Eoray=E6=BA=90,=E9=81=BF=E5=85=8D=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=A1=B5=E4=BC=AA=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原轮询 [ -n "$ip" ] 只判非空,members.3322.org 被限流返回 429 HTML 错误页时也判为成功 return,后续更可靠的源不会被尝试。 - 每个响应用 grep -oE 提取合法 IPv4,提取失败(HTML/空)则继续下一个 - 新增 http://ddns.oray.com/checkip 放首位(响应含 'Current IP Address:' 前缀,grep 提取末尾 IPv4),比 3322 免费 DDNS 更稳定 - 移除 http://4.ipw.cn(部分运营商 DNS 解析失败) --- scripts/libs/get_ecsip.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/scripts/libs/get_ecsip.sh b/scripts/libs/get_ecsip.sh index fa0b68a5..ba8e10a2 100644 --- a/scripts/libs/get_ecsip.sh +++ b/scripts/libs/get_ecsip.sh @@ -6,8 +6,9 @@ get_ecs_address() { [ -n "$ip" ] && return done . "$CRASHDIR"/libs/web_get_lite.sh - for web in http://members.3322.org/dyndns/getip http://4.ipw.cn http://ipinfo.io/ip; do - ip=$(web_get_lite "$web" 0) + #轮询公网IP,提取并校验为合法IPv4才采用,否则继续尝试下一个 + for web in http://ddns.oray.com/checkip http://members.3322.org/dyndns/getip http://ipinfo.io/ip; do + ip=$(web_get_lite "$web" 0 | grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' | tail -1) [ -n "$ip" ] && return done } From b2d8ad97743140592dd3f945585aaa49680239dc Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 15:10:50 +0800 Subject: [PATCH 300/318] =?UTF-8?q?~=E9=80=82=E9=85=8D1.14+=E7=89=88?= =?UTF-8?q?=E6=9C=ACsingbox=E5=86=85=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/singbox_modify.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index b430ec95..659a28d8 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -55,6 +55,14 @@ extract_base_jsons() { } generate_basic_jsons() { + #适配1.14+版本 + if [ "$(printf '%s' "$core_v" | cut -d. -f2)" -lt 14 ];then + preferred='"ip_accept_any": true,' + detour_direct='"download_detour": "DIRECT"' + else + preferred='"preferred_by": [ "hosts" ],' + detour_direct='"http_client": "detour_direct"' + fi #生成endpoints.json [ "$ts_service" = ON ] || [ "$wg_service" = ON ] && [ "$zip_type" != upx ] && { . "$CRASHDIR"/configs/gateway.cfg @@ -92,7 +100,7 @@ EOF ], "rules": [ { - "preferred_by": [ "hosts" ], + $preferred "server": "hosts" } ] @@ -158,7 +166,7 @@ generate_dns_related_jsons() { "format": "binary", $srs_path "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cn.srs", - "http_client": "detour_direct" + $detour_direct } ] } From 5cf7aba11256d828ec821778cda5c7f2a6a732c1 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 15:23:13 +0800 Subject: [PATCH 301/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=AE=B9=E5=99=A8?= =?UTF-8?q?=E5=8A=AB=E6=8C=81=E5=BC=80=E5=85=B3=E5=A4=B1=E6=95=88=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/2_settings.sh | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/scripts/menus/2_settings.sh b/scripts/menus/2_settings.sh index e2b775bd..27e510ba 100644 --- a/scripts/menus/2_settings.sh +++ b/scripts/menus/2_settings.sh @@ -625,6 +625,8 @@ set_firewall_vm() { common_success else msg_alert "\033[33m$VM_NO_NET_DETECTED\033[0m" + set_firewall_vm + return fi ;; @@ -639,16 +641,12 @@ set_firewall_vm() { 3) vm_redir=OFF vm_ipv4='' - common_success - ;; - *) ;; - esac - case "$num" in - 1-3) - setconfig vm_redir "$vm_redir" - setconfig vm_ipv4 "'$vm_ipv4'" ;; + *) return ;; esac + common_success + setconfig vm_redir "$vm_redir" + setconfig vm_ipv4 "'$vm_ipv4'" } # ipv6设置 From 47e50ee608b30c3a21587155e7e37aa5c48289c8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 15:30:21 +0800 Subject: [PATCH 302/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=8D=8E=E7=A1=95=E8=AE=BE=E5=A4=87=E6=8F=90=E7=A4=BA=E6=89=BE?= =?UTF-8?q?=E4=B8=8D=E5=88=B0crontab=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/set_cron.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/libs/set_cron.sh b/scripts/libs/set_cron.sh index 872166a1..a586d1d2 100644 --- a/scripts/libs/set_cron.sh +++ b/scripts/libs/set_cron.sh @@ -11,7 +11,7 @@ touch "$tmpcron" cronadd() { #定时任务工具 if crontab -h 2>&1 | grep -q '\-l'; then crontab "$1" - elif [ -f "$crondir/$USER" ];then + elif [ -w "$crondir" ];then cat "$1" >"$crondir"/"$USER" && cru a REFRESH "0 0 1 1 * /bin/true" 2>/dev/null else echo "找不到可用的crond或者crontab应用!No available crond or crontab application can be found!" From 9401a48c02de165144d1c6b42c8fbd455a86e593 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 15:30:48 +0800 Subject: [PATCH 303/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E6=9C=AB=E5=B0=BE=E4=BC=9A=E5=8C=85=E5=90=AB?= =?UTF-8?q?/=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/init.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/init.sh b/scripts/init.sh index 45c0603a..00d7a4b8 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -22,6 +22,7 @@ grep -qE '/(docker|lxc|kubepods|crio|containerd)/' /proc/1/cgroup 2>/dev/null || [ "$systype" = 'container' ] && CRASHDIR='/etc/ShellCrash' [ -z "$CRASHDIR" ] && [ -n "$clashdir" ] && CRASHDIR="$clashdir" [ -z "$CRASHDIR" ] && [ -d /tmp/SC_tmp ] && . /tmp/SC_tmp/menus/set_crashdir.sh && set_crashdir +CRASHDIR=$(echo "$CRASHDIR" | sed 's#/*$##') #删除末尾的/ TASKCFGDIR="$CRASHDIR"/configs/task #移动文件 mkdir -p "$CRASHDIR" From 7603a480cd67750f10f94f03c386e7a3131788bd Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 15:41:43 +0800 Subject: [PATCH 304/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89DNS=E5=8A=AB=E6=8C=81=E7=AB=AF=E5=8F=A3=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA=E6=96=87?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/lang/chs/dns.lang | 2 +- scripts/lang/en/dns.lang | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/lang/chs/dns.lang b/scripts/lang/chs/dns.lang index 08d92c0b..2ab7aa99 100644 --- a/scripts/lang/chs/dns.lang +++ b/scripts/lang/chs/dns.lang @@ -54,7 +54,7 @@ DNS_CORE_REQUIRE="请使用Mihomo或SingBox内核" DNS_SET_TO="设为" DNS_REMOVE_OK="移除成功" DNS_REMOVE_FAIL="移除失败" -DNS_INPUT_REDIR_PORT="请直接输入旁路由IPV4地址" +DNS_INPUT_REDIR_PORT="请输入第三方应用的DNS监听端口" DNS_INPUT_REDIR_RESET="或输入 r 重置DNS劫持端口" DNS_INPUT_REDIR_BACK="或输入 0 返回上级菜单" DNS_INPUT="请输入" diff --git a/scripts/lang/en/dns.lang b/scripts/lang/en/dns.lang index 3f56f9d8..4793b4e5 100644 --- a/scripts/lang/en/dns.lang +++ b/scripts/lang/en/dns.lang @@ -56,7 +56,7 @@ DNS_CORE_REQUIRE="Please use the Mihomo or SingBox core" DNS_SET_TO="Set to" DNS_REMOVE_OK="Removed successfully" DNS_REMOVE_FAIL="Remove failed" -DNS_INPUT_REDIR_PORT="Please input bypass-router IPv4 address" +DNS_INPUT_REDIR_PORT="Please input DNS redirect port" DNS_INPUT_REDIR_RESET="or input r to reset DNS redirect port" DNS_INPUT_REDIR_BACK="or input 0 to go back" DNS_INPUT="Please enter" From 2ef92f42edcd23e41f71e1ebcb940ebf320d9599 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 15:48:34 +0800 Subject: [PATCH 305/318] =?UTF-8?q?~=E5=B0=86fakeip=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E4=BB=8E28.0.0.0/8=E8=B0=83=E6=95=B4=E4=B8=BA198.18.0.0/15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/clash_modify.sh | 2 +- scripts/starts/fw_iptables.sh | 2 +- scripts/starts/fw_nftables.sh | 6 +++--- scripts/starts/fw_stop.sh | 14 +++++++------- scripts/starts/singbox_modify.sh | 4 ++-- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/starts/clash_modify.sh b/scripts/starts/clash_modify.sh index 0424b35e..493c0e20 100644 --- a/scripts/starts/clash_modify.sh +++ b/scripts/starts/clash_modify.sh @@ -37,7 +37,7 @@ dns: default-nameserver: [ $dns_resolver ] direct-nameserver: [ $dns_nameserver ] enhanced-mode: fake-ip - fake-ip-range: 28.0.0.0/8 + fake-ip-range: 198.18.0.0/15 fake-ip-range6: fc00::/16 fake-ip-filter: EOF diff --git a/scripts/starts/fw_iptables.sh b/scripts/starts/fw_iptables.sh index 57dc1f4e..8e02c0d0 100644 --- a/scripts/starts/fw_iptables.sh +++ b/scripts/starts/fw_iptables.sh @@ -88,7 +88,7 @@ start_ipt_route() { #iptables-route通用工具 else "$1" $w -t "$2" -I "$3" -p "$5" -j "$4" fi - [ "$dns_mod" = "mix" -o "$dns_mod" = "fake-ip" ] && [ "$common_ports" = "ON" ] && [ "$1" = iptables ] && "$1" $w -t "$2" -I "$3" -p "$5" -d 28.0.0.0/8 -j "$4" + [ "$dns_mod" = "mix" -o "$dns_mod" = "fake-ip" ] && [ "$common_ports" = "ON" ] && [ "$1" = iptables ] && "$1" $w -t "$2" -I "$3" -p "$5" -d 198.18.0.0/15 -j "$4" [ "$dns_mod" = "mix" -o "$dns_mod" = "fake-ip" ] && [ "$common_ports" = "ON" ] && [ "$1" = ip6tables ] && "$1" $w -t "$2" -I "$3" -p "$5" -d fc00::/16 -j "$4" } [ "$5" = "tcp" -o "$5" = "all" ] && proxy_set "$1" "$2" "$3" "$4" tcp diff --git a/scripts/starts/fw_nftables.sh b/scripts/starts/fw_nftables.sh index b805ea22..c1d5e2c9 100644 --- a/scripts/starts/fw_nftables.sh +++ b/scripts/starts/fw_nftables.sh @@ -38,12 +38,12 @@ start_nft_route() { #nftables-route通用工具 [ -z "$ports" ] && nft add rule inet shellcrash $1 tcp dport {"$mix_port, $redir_port, $tproxy_port"} return #过滤常用端口 [ -n "$PORTS" ] && { - nft add rule inet shellcrash $1 ip daddr != {28.0.0.0/8} tcp dport != {$PORTS} return - nft add rule inet shellcrash $1 ip daddr != {28.0.0.0/8} udp dport != {$PORTS} return + nft add rule inet shellcrash $1 ip daddr != {198.18.0.0/15} tcp dport != {$PORTS} return + nft add rule inet shellcrash $1 ip daddr != {198.18.0.0/15} udp dport != {$PORTS} return nft add rule inet shellcrash $1 ip6 daddr != {fc00::/16} tcp dport != {$PORTS} return nft add rule inet shellcrash $1 ip6 daddr != {fc00::/16} udp dport != {$PORTS} return } - #nft add rule inet shellcrash $1 ip saddr 28.0.0.0/8 return + #nft add rule inet shellcrash $1 ip saddr 198.18.0.0/15 return nft add rule inet shellcrash $1 ip daddr {$RESERVED_IP} return #过滤保留地址 #过滤局域网设备 [ "$1" = 'prerouting' ] && { diff --git a/scripts/starts/fw_stop.sh b/scripts/starts/fw_stop.sh index a8bb5eac..2a5d99c6 100644 --- a/scripts/starts/fw_stop.sh +++ b/scripts/starts/fw_stop.sh @@ -48,18 +48,18 @@ ckcmd iptables && { $iptable -t mangle -D OUTPUT -p udp -j shellcrash_mark_out 2>/dev/null fi #redir - $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash 2>/dev/null - $iptable -t nat -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_out 2>/dev/null + $iptable -t nat -D PREROUTING -p tcp -d 198.18.0.0/15 -j shellcrash 2>/dev/null + $iptable -t nat -D OUTPUT -p tcp -d 198.18.0.0/15 -j shellcrash_out 2>/dev/null #vm_dns $iptable -t nat -D PREROUTING -p tcp --dport 53 -j shellcrash_vm_dns 2>/dev/null $iptable -t nat -D PREROUTING -p udp --dport 53 -j shellcrash_vm_dns 2>/dev/null #vm_redir - $iptable -t nat -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_vm 2>/dev/null + $iptable -t nat -D PREROUTING -p tcp -d 198.18.0.0/15 -j shellcrash_vm 2>/dev/null #TPROXY&tun - $iptable -t mangle -D PREROUTING -p tcp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D PREROUTING -p udp -d 28.0.0.0/8 -j shellcrash_mark 2>/dev/null - $iptable -t mangle -D OUTPUT -p tcp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null - $iptable -t mangle -D OUTPUT -p udp -d 28.0.0.0/8 -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D PREROUTING -p tcp -d 198.18.0.0/15 -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D PREROUTING -p udp -d 198.18.0.0/15 -j shellcrash_mark 2>/dev/null + $iptable -t mangle -D OUTPUT -p tcp -d 198.18.0.0/15 -j shellcrash_mark_out 2>/dev/null + $iptable -t mangle -D OUTPUT -p udp -d 198.18.0.0/15 -j shellcrash_mark_out 2>/dev/null $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p tcp -j TPROXY --on-port $tproxy_port 2>/dev/null $iptable -t mangle -D PREROUTING -m mark --mark $fwmark -p udp -j TPROXY --on-port $tproxy_port 2>/dev/null #tun diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index 659a28d8..bf8b4c24 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -193,7 +193,7 @@ EOF { "tag": "dns_fakeip", "type": "fakeip", - "inet4_range": "28.0.0.0/8", + "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/16" }, { @@ -309,7 +309,7 @@ EOF "interface_name": "utun", "address": [ $ipv6_address - "28.0.0.1/30" + "198.18.0.1/15" ], "auto_route": false, "stack": "system" From bda31de05d927cf739d25d6132638bb1bb9198a1 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 17:00:50 +0800 Subject: [PATCH 306/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E5=9C=A8=E7=BA=BF?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AE=A2=E9=98=85=E5=AE=9A=E6=97=B6=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=A4=B1=E6=95=88=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/task_cmd.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/task_cmd.sh b/scripts/menus/task_cmd.sh index 026eae86..0b1982e2 100644 --- a/scripts/menus/task_cmd.sh +++ b/scripts/menus/task_cmd.sh @@ -129,7 +129,7 @@ web_save_auto(){ . "$CRASHDIR"/libs/web_save.sh && web_save } update_config() { #更新订阅并重启 - . "$CRASHDIR"/starts/core_config.sh && get_core_config && "$CRASHDIR"/start.sh start + . "$CRASHDIR"/starts/core_config.sh get_core_config && "$CRASHDIR"/start.sh start } hotupdate() { #热更新订阅 . "$CRASHDIR"/starts/core_config.sh && get_core_config && From 34b1fc3126357e3c4286022d10c6419c1bb8e964 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 17:11:00 +0800 Subject: [PATCH 307/318] =?UTF-8?q?~=E4=B8=BAupx=E7=89=88=E6=9C=ACmihomo?= =?UTF-8?q?=E5=86=85=E6=A0=B8=E6=B7=BB=E5=8A=A0no=5Ftailscale=E5=8F=82?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/core_easy_update.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/core_easy_update.yaml b/.github/workflows/core_easy_update.yaml index 2b7ba9e3..0b2f9787 100644 --- a/.github/workflows/core_easy_update.yaml +++ b/.github/workflows/core_easy_update.yaml @@ -45,7 +45,7 @@ jobs: tag1: MetaCubeX/mihomo tag2: ${{ needs.get_version.outputs.version }} tag4: meta - tag5: "" + tag5: no_tailscale tag6: tar.gz secrets: inherit From 655c9aaa07c441ec81e8267c439859c5cc8a98c9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Mon, 13 Jul 2026 18:24:14 +0800 Subject: [PATCH 308/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E4=B8=8D=E6=9B=B4=E6=96=B0=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/update_singbox_core.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/update_singbox_core.yaml b/.github/workflows/update_singbox_core.yaml index 2eeb8072..96b16288 100644 --- a/.github/workflows/update_singbox_core.yaml +++ b/.github/workflows/update_singbox_core.yaml @@ -259,7 +259,7 @@ jobs: mkdir -p ./bin/${crashcore} mv -f ./tmp/singbox-linux-* ./bin/${crashcore}/ rm -fr ./tmp - [ "${{ inputs.tag6 }}" = tar.gz ] && sed -i "s/${crashcore}_v=.*/${crashcore}_v=${VERSION}/" ./bin/version + [ "${{ inputs.tag6 }}" = upx ] && sed -i "s/${crashcore}_v=.*/${crashcore}_v=${VERSION}/" ./bin/version git config --global user.email "github-actions[bot]@users.noreply.github.com" && git config --global user.name "github-actions[bot]" git add . && git commit -m "更新${crashcore}内核至${VERSION}" || exit 0 git push From 021960fbe72f2cc43fe6710fc9d8e6527aac0f4a Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 14 Jul 2026 08:41:16 +0800 Subject: [PATCH 309/318] =?UTF-8?q?~=E5=A2=9E=E5=8A=A0=E6=A2=85=E6=9E=97?= =?UTF-8?q?=E5=9B=BA=E4=BB=B6=E5=90=AF=E5=8A=A8=E6=97=B6=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=BB=98=E8=AE=A4=E5=86=85=E5=AD=98=E6=A3=80?= =?UTF-8?q?=E6=B5=8B=E6=9C=BA=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/general_init.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/starts/general_init.sh b/scripts/starts/general_init.sh index d19efd6d..ddb5e1d1 100644 --- a/scripts/starts/general_init.sh +++ b/scripts/starts/general_init.sh @@ -27,5 +27,6 @@ set_profile "$profile" if [ -f "$CRASHDIR"/.dis_startup ] || [ -f "$CRASHDIR"/.start_error ];then cronset "保守模式守护进程" else + echo 0 > /proc/sys/vm/overcommit_memory #优化系统默认内存检测机制 "$CRASHDIR"/start.sh start fi From bc26306ebd1fd592a9b7a729dc8c893490413ca9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 14 Jul 2026 09:56:54 +0800 Subject: [PATCH 310/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/9_upgrade.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/scripts/menus/9_upgrade.sh b/scripts/menus/9_upgrade.sh index 7040c16c..b887c9c9 100644 --- a/scripts/menus/9_upgrade.sh +++ b/scripts/menus/9_upgrade.sh @@ -447,6 +447,12 @@ setcustcore() { crashcore=singboxr checkcustcore ;; + 6) + project=vernesong/mihomo-oix + api_tag=Pre-Alpha + crashcore=meta + checkcustcore + ;; 9) comp_box "$UPG_CUSTOM_CORE_LINK_HINT" \ "$UPG_CUSTOM_CORE_LINK_HINT2" \ From 947d93d3ea43e43d44f16281d4cb037a5fda2396 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 14 Jul 2026 10:47:13 +0800 Subject: [PATCH 311/318] =?UTF-8?q?~=E9=80=82=E9=85=8Dsingbox1.14+?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=86=85=E6=A0=B8=20~=E4=BF=AE=E5=A4=8Ddebug?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E6=8F=90=E7=A4=BA=E6=89=BE=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=E5=86=85=E6=A0=B8=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/8_tools.sh | 3 ++- scripts/starts/singbox_modify.sh | 44 +++++++++++++++++--------------- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/scripts/menus/8_tools.sh b/scripts/menus/8_tools.sh index 1442dc45..ad1c0f7c 100644 --- a/scripts/menus/8_tools.sh +++ b/scripts/menus/8_tools.sh @@ -684,6 +684,7 @@ testcommand() { } debug() { + rm -f "$CRASHDIR"/\.start_error #移除自启失败标记 echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml comp_box "\033[36m$TOOLS_DEBUG_WARN1\033[0m" \ "${TOOLS_DEBUG_WARN2_PREFIX}\033[32m$TMPDIR/debug.log\033[0m${TOOLS_DEBUG_WARN2_SUFFIX}" \ @@ -705,7 +706,7 @@ debug() { 0) ;; 1) "$CRASHDIR"/start.sh stop - "$CRASHDIR"/start.sh bfstart + "$CRASHDIR"/starts/bfstart.sh if echo "$crashcore" | grep -q 'singbox'; then "$TMPDIR"/CrashCore run -D "$BINDIR" -C "$TMPDIR"/jsons & { diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index bf8b4c24..989048df 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -52,6 +52,8 @@ extract_base_jsons() { cat "$TMPDIR"/format.json | sed -n '/^ "providers":/,/^ "[a-z]/p' | sed '$d' >>"$TMPDIR"/jsons/providers.json } cat "$TMPDIR"/format.json | sed -n '/"route":/,/^\( "[a-z]\|}\)/p' | sed '$d' >>"$TMPDIR"/jsons/route.json + #清理PASS规则 + sed -i 's/"PASS"/"DIRECT"/g' "$TMPDIR"/jsons/outbounds.json } generate_basic_jsons() { @@ -62,6 +64,21 @@ generate_basic_jsons() { else preferred='"preferred_by": [ "hosts" ],' detour_direct='"http_client": "detour_direct"' + #生成http_clients.json + cat >"$TMPDIR"/jsons/http_clients.json <"$TMPDIR"/jsons/http_clients.json <"$TMPDIR"/jsons/experimental.json </dev/null From 7ba46d0d2da738b88e9e11b174f37ec71118c226 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 14 Jul 2026 10:47:54 +0800 Subject: [PATCH 312/318] ~1.9.5alpha15 pkg --- ShellCrash.tar.gz | Bin 175635 -> 177275 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index fc0f2684983d082193882ffa8a49941af368cb0f..2c14e3b881508bd4c869a93a58925483206a9435 100644 GIT binary patch delta 175427 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 E0Gje*m;e9( delta 173708 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

~PYb)#99QkYXy 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%0A&kbhd1weql!x8C% zv-9y{t+3F{*7Cd?D+{~jwuK;n$sGpB@Mpw5!{j}iOsUp@s5PMU+U1mHJAAmNtXcxs zVY)3c(u$_o^1B3Z(QhQXBA!92qw6{3^Ns2^_$$X%JuI(cSe~I!fc?PkO*U^{-+b>G zJ;bgA%(ZILLd1_Gdg23z3FZtSJfeYO;|V8z2tLtYVx3GHV4^ui=UsGvbn>x2GU-GU zOmq1D^O-x(Ux7GEH$EW&MM*wi^0zSQq!ooqm@KhCfe@u!@m_??IBe}-p>GXda!En4D4t?Lmz>Q4&!DMdj3z5=uC9^OcoyL^12F*K))yTD)rC zHBCA4=(>tt(uEDu?LFy#P$#_)7Bk2U7)YQ|xs&p%REVM3VS#bz&%`0=wM5XI_`s2# zM1LR0QW-NH7YZj5eH2Qcljvj6`$Crf4e0$tXa*>jIP44##_7NF=o#!C?2R26a0dF& z&m(iF%n{fzfQ197t=`@^`YV|rerY2lBGTtnM3h^>xg6LB z_MU?tkYNw_03YDc2i)KX7<~Gr8Cb zN5@Ze-52f~+<4=w)}?pB-u|6u>%gpH4HGJlz}*+_A8h2Rv1Yy+%a)j@+{@Qnm!1Q1 z83UTcS+Y3JpTPR4P!lR;4EtVT$t z(DFH?0O-R2#27QnOKv#fLh4_@Wp^BxC99 zBz(CfvSIa273*&3esjXoW>yxQDABO;jEZ(V_jMWJREvb9 z)AUz=QvV0`asbN%+aJP!&loznpud#O5p241TGHhjM3kUb?^?a-##+#93edytcw2a z_eRd}f6ktqG^)>o4Qo3%x=VN(Xy_bg0}NC%nbD6s5^Lc0jf;2Qes$yJ=UZ3bA*UmM z(Wf~FTHpNr_77KEpIm0CrJRiyKfUwX+qxB4@Z)he#;S}{$!ze|b3|4GgH1djG8Fjx z)!&Pa##mirM@Gr6WgQ`$6m*1h!ED4@$eU=zvE`}ahg)T7sZ!2R_RO8>#&F{M^$+nC zBLCL@c5|T3e)3dcN;ie1)sI_3#Fln{k^DxSF>RU?TGAM92DgDR2i0>yLL_@zkWjsj zbxFQQQ{|HGA?e&UWqXtSp0vpC3{ST!tqY0Rb*I4UCw3~0Cv|BYrt9uXS}oRWKyFjskBBVNlzKoyFQi-0waIueZPbHt6Bo?qO?xI9%N|Mk!Zs((H3i$X-cT>*Go?m%WlLt6X;L;$IO4 zA?9lHnJ-!&ld!L}U?!W(6{?K`UE*X8(`wM_=s4n!X+1?Z>>4I7>!jWP=5>Et6MIm|V@T;NIZ3 z-8e8g84AQ9Cs!0aT|swutUI>g9IeNm>W;kGh+C}X2s1N z6WSq7l0>_?T&Nsb2E5~c1W!U=PR$HhWoTo--G+vCo{e;p3mh_<*2T}I0U7#RbV?N$ zq=2~Zswt5uTur4>)LHDp4ajJHEgLyYrL3pK<`51VrpuWk#->>9p?*2ZGkOc`0^M4FDr7pur0cg3xm~;U zSJLq2JI}T*eslZQABbPGq7MKgXsld;79p5}F%+q4IU#fbaA*h?-Vq!-K6J3*f0Uy& zdIep&@_PgS5X9OY@1S`Z1?1Cw(U|ugYYO-rnVd)MV;t}sSKQm?D{f%Ql`!w{krktQyK%19VO=)_MMJ+u*`4$EU4@Eqe$4L8;;lx&8g ziEDAtXY^sN;GAn@W+ta5o_Nw4MU_xDS|}Q=l<~qSIlzH`*QHPFED11iP%0h zlR6gs6mg#*J0ubC>@`u72N{?g4FsS^XugaTi8mIUD$%J8M41NKBTZt8caJ>5<2z@j zL*JK5!6PBq{*kJkHoPr*1&@_x!E+bs7CeT4I%@WRG-KztN5?L`v322Mppp3XUh1_E zL)I+Y1xv&GnP1Fqy!p)5H`fT0YA!Q8sg^Mcs5{$=!AGL?m{|)nD!EE2CGSEVsF1ID z1*Vd*^ujoHURhD~sGKI553fUnO;wwWrcP?xM1wO_t-`e`$0w#9ADSA03gFph(6h2< z2TX2%m`$36ci^M89Wgs#AoaGl$*G*%;a(2NptwRF-=A`DRH|ythyrc~W@nh!HumiR z0|&N&f@U;qhq*ChqK=K*z{qy^1#>rcaQy7$Nz>_&i^1F1pKHDH0eJgfdAW7zLhH&m zPMBE^Ik#`V)4KB3?QgGd{qXMQ=Px;vqa);h1K3qv`*P!dUMIO`K->E9Tl@q=)s1@q zGmgwEX`5P6!xQK{QY^~^sWHT-M zvUMuP^z|kAF&pL`4v0nOLpw+V0|8op@SF*=s@Xkg<0gR~?QEz4zy=@SddK?R_WUM~ z@c%E*-yQ$|#G$_aL%RQe?>+zj{doNS{}s<^8r)y@DHm~Rr0l?_AB=T75ba;CJ|Ju} zWDjiFb=n6Q&QTA_Lh8&5@emHS;9gaJHm@4D2 zU#qf*>A*UTBum=5ed8igH&OU%lp%8UAGo;= znSz$$mSCNv*j%XU1NCkv)Qw|w8NqZ(R2%c`1dfqZvw4BD&^;}bimp0f;Ok)77|+n@ zqt1LOyHMvTlHtv|5p1DUfV8@QcF?qMmg@e<@hb{RS|)|AQ%e*CP!2i4sH;cF37qWL z2`2^@E0wbckfcwY4`S$_YO~ShK$HoX7%B2ZjM}oIZ+(MkwJNn@;(#qe;_fyG9P?y$u}3n`G>yU+eO zYalR;zDSg8>+N?oUP2Q6b%}bpVo3Nk1>y~tMx>qLR}Xk8Q$3frjvpAD56s}P(?(A) zi27OZxB;IXxvH0|P2e?uP#k3x;94Yz;FG;7nP|#dk8b6LCZwJzWMy05ev3#DG0kKh z0m_ZZfkwCk3^UJBO?W!4OMS&ih@r2$Y3H_~3-s9$^Z^MxcYoZqzFVOC_MJ-1fiX;S zFl__x`P?c@kDwAdZ>3-nH($jXNxvgPmC@UC>Y_O6?Sf-aPM;iq8usRA%x*av9KVSy zK)h4B6suv>s)j0JQGLhb@_x}rb$pB*wQY?{_`b9~I*w(lVcc|p!R^-Z)HrR8KKE?0|8_?coaR2BhqJ-0`-~6faulf z119D>K@{TJ`=oQa%RU&0(9qyMTB0+DBll49$dYn!kA&7YN|Av)kvmP*AWmFwmU-)&rdQG()S zk`r9uz!O>OBNGXXI+pi<0E7=5payJeE;MhM9J-%DvJ`-#!~!m3HR&8wD=Mk*ofQU_ z$fs)W^l{*Ssli@#6M%E}26ov`ZL# zfy&1dk2}DQCsW*kog6|tI)J>Xcd?94BSyNZppU6H`CuX7p3_Nc77@mlD%Abm%k}yv z>w=Ge|Am=u!xx`6inweN#bDLp{ZZ>_H(ZXC>^{Ks3serPZAzyVaHPHG2Jjg}T5qQX zu>;#~Ay|Y5G&j-(0uA!OrXdIh3bi0Voup0#f-v9)G0-jyX(8m{(Xj@FB2BgpO6UAa z9}#GXaKk~Dis*Qkc0Vddp}OpV098*1s3uu|IO3(n(e6aWV!2*G9TlSyH3epyFh7rRPgc2o(^hd}sUN8F2pX^L2is z5P^_HXo3s1h-}kH&lK9q-dM~k!j&Uf8~M*p4-?Y>rkM;lk$BiY!`yDf3Zo5w zc2FU9=OHRwwiT91#bJ%mVcPCY5}4{-DzE}M!5`qh?*NlZ;%+j4c5|tY3R=vXMa?eX z313As-VM}iT~dNjB?E08l^Rr|^Y70>P-X{AQG%_7s@H9Aux+?}dM`P7r*v8-b!H}y zJ9QZNJY{mMiX`7-iZ>w%!*rc(b7Wb6f1{omryOjSGiY)eP1~|q?2~b+Jy|XFZn&}GoPl&m!uf8XA%^1@l{7a1V z#rAu_g-4G*wB;ZYkdO*8;~%)#Kxd3zzxzaU%uc`-?#D`hex!%)HW$&;Y0v7lXJd-N z!%h6!TL#lUk7_U6%-=reX55cQ_%z?rYWC{ZwPRwTzDz~9_C3O? zsn+Z?^00W7f;)2F1hZ&o(An=)B$4Po+}jP8;D>wBA8-*4)x50bsou;Sb5&}KwJsea zTs<*6ou0x_Yn4ia`u6d6+5A$GG1R5@*FU8f^@cbUH+8WXxPqJ_Zbe*}q@AVN#Y!ULfqdsVotiVJ;q~ zfO|0CEqU>G#@3dLS@oK<9mH^Z0YeMG>_P)nHs-nz8`$*@YViWMJ<VC!jm|h9gRIwJo~-?%Y4Nb5lyet$5!Pb-NKV zQ^xy1mYjPPj-Np8B#}Mt{OD#p2AB(cB>M7Q30&49%=LU?>nh zKIlY_k58piabhyyfT;i>($?X&dia$&$U^GO0fxJdMF5ir>n|@bN@-w(ih8?0M@i`4^O5DhN_9`fKOgxoeyA6H zbIE^wefRwT_vHy7|M838&3CW1ZoSSV3x3QHD#Lyv0_^1S=%7c`1nU>Wy=0vK2ALHaor5#>l)K=y(2P5{1>88piQoUw*)M2UuK z3fANbX65FLeIe@cn%aj*qb>!2hA#=*g6KD5Bg9UB%rXR@Qjw(9!{j5_;<(ePwg*rh zx2ap(oI!iH%o9k$#_a-9()e?`i_WIbTAoDDb!$Y##EjgQ=|wgqje zBdM_++k40Za0nRhkO0Y&@CYO`li@M5+2LUbA0}4Y{wrT$@2!VadUdyrV|I3|6XI4? zsp{6Ps$0KXb?a7yd0^O^VDu4I&!?_j#%sfX)GJuymBPZL-y20Jn@x)GhcL8kQpX-uYmHKYlmqfo=io(&Mo0E6q)XG2*w z#z^d5vGr$GkG4ix24!57v*G4GkM&i59BN1$h~cWO7o>A1?{)dLUY!0ynKo>T7o&I6 zvTmv?)&r~cGi|`zjb+*tZ#Pcw3unCv;IL6I*mNCW!v(&u65w&|rE3Ar`tM$ETlX|8 zKsW4LyD42DMDzNUf!M2pH>3^3O*}7-+T)t%7s+`u6@qmV{>y6w41xJDP7qXo#C3{h zQGOu(hG9OR`ywTFJdsUf{qQGEkQ!6e250QwHTVz>n@B5b6%Z6mzaYP*qH5WuG0he= zg2o9EX?jA5Sl-lN%FUb_0HKvZv*uT>^^$lpG&&u(FN)7T-o8k*f%26U{|QshxSdSI zCKjHtV4gF8CKa-dKG+)K-RkpytIoo8*LbLQ`Rwx2-x9>z1u-4bbj{8dbKIOJJF1*u zyNoAs|1UO8R79fHKo1dCf?2era*;+Wxng~5oW!=x$N#^F?VpdSx@w{$BEUc=jlCZQnnYOg|)xO=`2U%ne{($~*>ucxS4g9_G$0uu7epp_*vv%skwbK`B zmmlC6EqagL!lx@w|5&^H*m-(Uw7*QHM8ad9R_DQ))o1tDF8x@4TeySgzs_G?e)MGd z(W%w>KeM@&`+vn|IbJGR{zjl&>}hYzt>n%E;8I`v@Re6%0GD1%**45S+s2|(%+@r; zElfMn!nCBp$U5_dbNY_h!xBQ57AQzC7ZvnYz1sX`Xa2_87q^{z^R;ugX&~#5e$$|A zQM2g5u4;wWBAkSO+5)Sl2`GB_HJ2ecY7hj<%g?{Ua)`GGu|PTD9wrDGWT6cf`GM7Z z*&=THsq?V;|L{QnzJmkViQ+F&22S!lyLZRU|LvV!y94uoM^8`B_WZvU&&p?iSbnnL z+`Wq42!6P}`olL=(!l&zyLQ1jcathTczx%`U)HYuIgzM;-M#JHW^W+5oqLb*Xws9< zob#uh#qXDwmX@D=PEXw~Ke`LDclG`cwW|w1KRsVI#%OxT48oneSMV!HwzNPCDT7)| zh4t!#kASe3&6|IOhmC(vAw=gr~uGb&zMym z5Whr+zO#6LA%PISPxiWpoG7YR!PF|YX6SwLUSOYrN9NJX3?7cr3MyHT6TmJ%LCn+# zK~abUQap)!NJo3L{XcTqQJ}#rtSjrRl$_xS=UhzzZMPM@m{s+YfH%+G zSbg@4$x7l~05t}7zcQ&Ou<`8!`y_@wD_W7DM>z+7EEb0wM92wXD)7IEUfAg3tgZt1 z)m3^JM=7B{2X{4RE!E>DuFKrP`}>`-03 zG`&;3?Y-0yAMLSk~|g^({EyLD5MKZf{ZGHhUAEc+QqfV{$3 z#(|9w05Jx!xgM9Gd!Tv-0cI=Sa<{;P$X>F6{XzhW2 zA$`d=5?&`X*{B>MKc$SWLc#2~KH;5@Y0lz8?b3ziXV>DIQE{75`X@THjY`DGHY$}y zBm0AEwY#^VJm=yArV^57z}z#KD{qGkd0Ss2K-J7?shhE6f+~?-T22Gq5pYG-Pp3X0 zGecb6y;Elifx&NVpDx_GCyf7~#R{8$s|Ge&|84IIp8xCW-m`lf|82$NuK%*FpF)-% zQA;F_9PK}RwC~ryhF=4R|LwrufsuXv0|y5W9r*Wwz799+-NOft4vYZMfv|Uuz^}uD zd-3<*A?Ax(9bPZyql;-wG!rr2;@vt$sA~k4IME@TCAbJ_X{isJq*f8fC0Yo7{Ag)m z4q;vY3V?$kloLlwZG?FEk$m)5(wVO)}0!LCUpqQ2x55xE& zObcYV{Omc9OoWp&|6k716SC6oo9-YPi622_W<=8=XT6|$!DMY!F_j64U<%@MCn}a9 zho~slAD|T}PKZil*+tbfrS_PAIJ6fN;tFNMQhmg-wceGbOSP}A*FO0UUADJGGS7z{ zT3QhC!oN9!A^e>%x~%$B^7btJ5AcNNf7Wj{v5ZFRzdd_`>p#0Yy0+*4EqR9C(KUNG zu}@gk5p;~bhN&j{arvQ7SM5o|Jdp)%je!P~7&=1x$#CK*I%%`CiAq_2O}vAOt=E|n zM?lgP6|*=cf_E4e@dDYKVsK#JcS zw+!79%y9&23@cnjNYJwMMx|bIL5Ln!Nm!qu0plJV;b)Xl-7qJVG7meV7Wz8ct;Ac} zgk~Qa+<)M$fj$i&0W`>T0vLP%f8}(!Je+t}(QUQ(+vz@H^+yz9-V86?{(Ss{aye>D zjgUow%{BmOF#bE*JHzPOF9vjH;l3otC{QWQ_?_YX_3u!uj%z|6H}@vm<~UAD%RqA_V1e}xm4DbLCP zWlm~Ke^9${&v|kwY>y5MnV=2}$!5Gih8d)jI{k{VVBkGqfvt?m zQd_TZ|4^G;(B)J-2eFETf5Hf88D1{(raTX>9+;WgT`5IzQ0)fOQ#mR}fY4g(+h7+=nY4 zKCaDQcI7qSrr?t8JrwRciCmu@x9!TTAn13RyWW^RIiXtCtZf>{e-(XpQZv=DDnQBE z@o5VHsiy4g#5840L%+1kkh-cBW-V)c);7#px9C|#pT=0rC{|BYcM-u!W&qaTb#+n> zZkG^WNSXCL-aZQV+{&C!%|BRvazD9ode~UCnfjCR&?jjyWzbL2b@K z0n|zdu*?Qpe@-0G&>x)zbXZxta-;V7Jarenvh*>xm_$@pHOrzSZ;u&dIrzsbflr;q z3oG9}a1#kef0Q#a$);C^9BojSf^tzp6-s|{SRGx z_H=LKf4{AG8sk3+y+g0vc@Ty7DvD{TBfRstSIE;V2WuB@F$`f^j!(;~vG=h6|AQ>EL5i-I`5W=G$$l3UOQo)-X*sf_c{r}EH~XK5vEWV`A}dYj4v`2v9ZDn+p-s-kLP~m$ zxsUU~^_9vSKaP3ctqaUWYXIMK<`T3ba2FqFwpqJS*+mQL?h>nrPth1B8jHnJ;F0`L ze-e8ZG!B;F)o>ndk-59%bKotl{&>kb`-IjF2TzJ21W8UY>QizWrc}ae7R+9R2zng6 z7rv(KfKdlCmpWyeO2Hl(1zwDhOV0a8*F=b{j@)RcC$Eb{7HJV%zX z$O|+4;nT9WU|+(Oa2W0dNt{td1V&SMf4R`g&-hRpUGegh(;#txHo6KKQKkSIb0X{l zbZ`u+G^AwSA4bf`?vPG`-1<#3lm!+@!|S6SW{$6fpW{N8ZlW?sy|;wAzWPLzJGTxt z(&bH3WPT?vG(S6+-_@{Wq1omV33^)9RF=*0=I|8K>#q+C z?oZ4}GK9cj#~0R6Jt95X;YNS69+9B7_Lk$|Axmiajo5g-=qfh!8F(|7GytKrS21 zLt>{!X}B9aES6%bMYRO#Q_-yliy=3k;Fkd+Aj-Y6!dDhV^!9d$GwHC8e-!L4Sw%0J zhE_z&FsyZFdsnujeNVP0`|7K5ICV)WsH28)A~Ly~n%^%;|FS}5vQZJ;7BB{xV-`i9 zW}R2yi8ufG7{{{5tNVB-Cl)e^3i>>Ni3hh|ytPen6hMq$bdc+S2)qn<46;!cjZOEZ zAkz}ewdg04_}KGeFlfZkf6LRfBQxu`qG}se6Q*~5$+}XtjS(8^USu*LO!<6O0U&Ze z+H%*OZ(K_ zWwl@%=Ko28Q+&aP^&z!jEkC{LoWJb$PzV{Zs-wDUi&I$KMCIPSe*mA6YZE+yTGmwE zW?4bGzITQ(u`H0WrfOLTG{xP~*4mB7wF~#~{vdK{n2slxO5cvBdt+S){*0B4QKd}u zM*PAvB*%wdRYM|EGZJ4aM#(|sdxl)0=Yz$V2mMNx=0s|PBnjTaBDQEJB5s=tP>LC7 z6*m@N(c2ii(y(Yue<+&HOjVGgyePOwB&Wyh-z8YQc0WInrcCX;G- zUE3?e`7BVpSrs(ZF?DO|$1BI^f?DL^$>RE>7uc4AR5`K6f3HBuD=$!AwuB$qUHRpa zkzHAyk@7PAoyQRvodt}>JR6RfDlZJkJdDV++<*|;!J-LaolhWy1x3hzg}PDXV(-1GYEF-^$!kdN$5!r#M-GcVDwN2A00Sj_t$@Fh)dEwU zG|?=?woz;7f8dgmNOcf>RG!x^{@yu#hvvBY{A_LMc3>YMUT6m7HsU?Bjwa+6^a#3L zk)5t5vqi(1jm;qIpu{)TtzG?V?Y}=>yY^S+6-J~Eud61X1RPBA&4xe$^p412C@Yrk zJ~X8i)63k-@Us}L8l!5&>+6TOFT+g9f9HGMwGlL2e?k=tAPLj7%uE%S>%Ey?sIuh8OJw$AtDshP%rM5vs#4LcY~+j>jVZixqVNPS zIT|F!L{j2nA_;^LqmeV@EWJ;pd*Ff0fFp`t9O33ybuff~FQwJFe%)ET z;9NOfTe!t;L&k7&d#|pQO2A=UIs+)grgIvIGc3Vip{^*&m8vzK1-i>BSxzK6y*Mkw zP*uz7n5j$ag#mG+j6YLP~2e>$+j<{Xn`rGO`1$jT4W!WYQVb_~M0+uJ8B z4|>LIAKl~KpG;kvtgg^z2;VGhfXwMAZ9Ja}=rUI)3b3%*Ah zO$%v%^7u(6N*cwky2RCt4+tN>c%aZ58VEcIir_180%Y-twMa1#{P4}U27lZCf0i79 za)h2&sE-P|01$-omSe>Y(09?jlv}3Nw z@6dJ6&{c{59%gqDNbenoPW7g|)6jVTwbWXB_|RFLU-|yNbMc$iAHH=iK6LJ%S-IhD zx{%|*hFM%+=ACoGiUZPz*#Ml!f1jjxLDO-viGrHsZ$v%ih0-YgmVy?9Zs$9o5!F6E zK8lUwS(>u$&3Wj;A5ezWqC5R_d_Y36*Sit8rlXRc-`nekCV55usra6}>$jcKpN^&= z03-#7(wKl?fn>&MR3N_(JX9o)Sbw>6wYOo(wjclVa%u4TOBL>(aC^wGe>lo~{i618 z3D5bT{gZR=%jL(PpnuNqzi{P0UWOa9e~h=|M$8SHw@vJl>Dwh{JF}FvTth$T)7|}X zN2_|+8phqYxZC@NB|_9NEw4#-oe0+`S}%w$!PLY6A4oZ2+IKh%3UNL^w;q_``RJ8tz_! zh=x4rU?!-=pFuh#eE8Z|xJ-JhVCCECZp;(Xs(NjW3c-f8Na$>5W0shA0m- z)r#B!+{w29XW8E6t_|-6*5Ch2O1>RHItcl!?$XG&0fA>!F%fyjI3V!M-MQY`|-a9SPd#A+)XB1|FB#h~GSb(vPH&O*atf{y*S5~I` zQfWCdf+;g~l!g!)VztFc513N)44S{}8JIv)8=+Vk?Imo}D3_@|(N5QWdfiKB(xDHk z8j;FcWYmbe2+7twlVT)>d16*Am~;a=$$q*~t_H&p|KTdSf6XTSIvL5g82y)7>kw^+ z$l;(Ec98+y^AHZc`5fus-s`be-#k98Oq4CUN}I*s;@)5QBy;e5bm;3@Hz_`JSGP6W zM)q{WQ6Ow|Bg6DQa`wZYNOWMHZA+8?Vlv7|`vwp8ANb$)j+CrNc${U>Sb+ z*AM>wcZbIg$OvZilbpYAjbY?Sa{tJIF#;`=vbjROf7}*kd~APGhD&8Tg*-4mkvwvE zY=XczTiL!W2O^d22k{unks#NeBVqz9RicmRc8qq)K7#LkfRn`Z>}c;)CCCo6b17 zTB407EA>x5kUM};u8s9&`|8D**!)19rNc>!6Bj&OkiYwm9fe+cdl%V{v@x)b#34?m zZ32gtj;JkL0;5xjS#Pt0N^RG8`~Ww!7yn@|f38)ER%7+d#?w2^Z!W`)ENodbICW5y z7%+oXg(6-weJ}g6a61kTrJfBQXL=`)ys3-Q1ZG*OB){KDe4P> zf9mu1fyyU>J?d@C#wrZv3Zhx!Rxqcf4x@ zD_zYMVD?rV2mdL_cQx8CN(SoO`Ch6IRopR!3}sht*@Cjn)yyaGp4AAoTn@r{}fCkC4Tq6wr_Owf8ZMll3lSmCox2! z-*lh_daD!k!vb?hDABEUp#@g&1_d6K>Ma%W<_R@lHcOMbR!*>xo0MYc6(}1cb5yF% z(D~)SKv2i(N^|H3($I^;FkHoLEU!;ir%3fA4^&a2gCr~wU5HcoLzf*RS#-9LLhb$mcl#JAM%>&$%GolQo&c%zrNM{Xj$~@iO@MB+B93XG&(7U zN@7-%5Lu!%6!n!z3eVHJGHB#tmVq6~V_vImHT?O#74W43e-}}y0^EDf{GTy#0}2QW zGJwVjQ^k|$6pP#=7NChh8nO_(-j{YVrDjZ5N|^V&pP%Q#Lfl@wi%yc6Q+?ofYnT5F zgwlkW$9731ai5$iw@pb`OThNENJl@?ESW`;HG$>R(C%(m(VWxE_{Fgv_UW-*gbZH= zi`a#T0!jE1f1}g#XEnxeaBIk-Gq~t*ilgUEuyzj36J|^nKi2-s8Z;!g*d6fwFi%$w9?xsadI`A^a~k<7u8nk0psB!>Gp0W##kEYOmb%@uXc@UL3jf7#ZR^Yv$6vw6>Ds->qgbL|}Y z2ex`92;aEo%|QWep)-cWOKcFc)2nAGOPOueT@aCH8y z&61zIMnoZsz~>^GhB>W*XwfR;f>1zd^-OD(i`8DcTEG8bFCa~`+l?pZ?X%~23EtCpw7^EtE{QAh*sjgH zJvBktUZGkDa_d%vO$DZSu6_BG?czw9y%ygGwUD&VRw@U>fmxIU#%weIi~4RA$sjm1 ze~Z*;{!Yg$BA&MC9x9KRXe_QBR5v1BH%PKV45V1X9Fl><$_4xTv)t|bz02avJ``M)5d_`QaLe?^@iXHB zr3C45LR^Jp*vV0oUt5+0#MBLa8Nh5!e>*oV3-INm;C|fcSjO=<#^z9h{|ZlF&X`WP zw<67Lu!P)rJQX`MLI1@Y$t9cX5{*kwjxIZ5w~O%X^lu>H1<1)&*-x#$=w3hY5-YE} zTx_-WuY>p>LH*zEOgH}Xwp@xZX`lgM7W3SsVN_UB&g5qE>L1K18svd!AW;eTf2EqN zN=i7{aE6@wq48Y`xJ<>_zQ%ZgK_VoD2Z0Q{0yBjo;D1%T3)3n%QCk-xi>Az+l(B_s zfC<=$y=O-NEs(m3S zaH?-U)pu}g?C==f9ojds?~PO+e+cYilS{-*_ zub*R&P99zzZ*6E>Oq9X4@Mw=MnjiV8hi~`#ftQE=Gp+iTF97Z0zwHH@@1y^N1Ks_f zZMl>XDV9h4n9WmQW_f7zCQh-K>TFps%xRE8fkxctR%H3<0siF7a5NsH4lV+>lsMFY9oTNyS39RR>2>|U6jERLyPiRa$t$E)>)%~_D`UtE`2CHvZkOlNFAKV4gV#+WroRoHGttcO=P=5@|CFE)D_%S=_}-|m&3 zk-2pO+=(2Cn5)wBakxjtQ&NA&O_0j=(I>#cnBsns+gDF00s0Jee~h^_M;9X8qaOG~ z)aQC~(s%d!)c_uvM#!Yk6~qbt6mH&F`|hjS;sq9}84u1}y3qLNVI@T9{T8{Xup4sts3fd;KQX~Mvo!eRp(0uq>vbyhd3R@#A!(MM8yv~Kuq zp8plif~9`iB5#C0e^MFk=>MJo{m<+f>c)TDmMgxoz7C?~$N_%C;@b0v#_Ge`tq*(S z_SMJDPj3LZ#Q0=VHv6N?EX&4|mFD{|C_LDi#=R#jTo8gK6eZK2iTfs-Gkv*6*QMlK zrJLy=2!}CCar?|7(C!eB-C-cy5F?Jp)z?--pavx%8hJ32~cAhPOZa)>9a)o>6r?tR}p zeHDgmhJ&zd1Xr8F{*w z0>Z1kRXn7kY8HsZC9SMg%<`|`xnQY=Sy5qPnR9v`&z9sE0u{LRybIrM4WQ`js!N(% zQhyA+F69+RQ`(V#9&$Y#vco0dO?pyI10&a|R&~<(LQBQ3=4DBUJ6I52gBGl|K-@c5 zs7#yHe~Q4qi4|fW{F~L#Ayct|Q#!l&mcKTnC0DSbne{k<$m;P_Z nl}Wvt+M^Xq(^_Wm=f=BqukO{ox>xu5->?4y<1>~e0H_QA_tzUc diff --git a/bin/version b/bin/version index 0da48858..29015102 100644 --- a/bin/version +++ b/bin/version @@ -1,4 +1,4 @@ meta_v=v1.19.17 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.5alpha14 +versionsh=1.9.5alpha15 GeoIP_v=20251205 diff --git a/version b/version index 0a6e87a2..0faa4b84 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.5alpha14 +1.9.5alpha15 From 71c21fa26d5a5f40e6c433234c415fa83b59b6b9 Mon Sep 17 00:00:00 2001 From: juewuy Date: Tue, 14 Jul 2026 15:11:50 +0800 Subject: [PATCH 313/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ShellCrash_RS_Full_BanAds.yaml | 42 +++++++++---------- .../ShellCrash_RS_Full_BanAds.json | 42 +++++++++---------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml index e2fced63..281bc0b7 100644 --- a/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml +++ b/rules/clash_providers/ShellCrash_RS_Full_BanAds.yaml @@ -62,147 +62,147 @@ rule-providers: interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ai.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ai.mrs" youtube: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/youtube.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/youtube.mrs" netflix: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/netflix.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/netflix.mrs" telegramip: type: http format: mrs interval: 86400 behavior: ipcidr proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/telegramip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/telegramip.mrs" applications: type: http format: text interval: 86400 behavior: classical proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/applications.list" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/applications.list" private: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/private.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/private.mrs" privateip: type: http format: mrs interval: 86400 behavior: ipcidr proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/privateip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/privateip.mrs" networktest: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/networktest.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/networktest.mrs" apple-cn: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/apple-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/apple-cn.mrs" google-cn: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/google-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/google-cn.mrs" googlefcm: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@refs/heads/meta/geo/geosite/googlefcm.mrs" + url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/googlefcm.mrs" steamcn: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@refs/heads/meta/geo/geosite/steam@cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@meta/geo/geosite/steam@cn.mrs" microsoft-cn: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/microsoft-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/microsoft-cn.mrs" games-cn: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games-cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games-cn.mrs" games: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/games.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/games.mrs" mediaip: type: http format: mrs interval: 86400 behavior: ipcidr proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/mediaip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/mediaip.mrs" media: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/media.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/media.mrs" cnip: type: http format: mrs interval: 86400 behavior: ipcidr proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cnip.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cnip.mrs" proxy: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/proxy.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/proxy.mrs" cn: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/cn.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/cn.mrs" ads: type: http format: mrs interval: 86400 behavior: domain proxy: DIRECT - url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/mihomo-ruleset/ads.mrs" + url: "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@mihomo-ruleset/ads.mrs" #规则顺序 rules: diff --git a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json index ce26d8d3..262e73aa 100644 --- a/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json +++ b/rules/singbox_providers/ShellCrash_RS_Full_BanAds.json @@ -84,7 +84,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/private.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/private.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/private.srs", "download_detour": "DIRECT" }, { @@ -92,7 +92,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/ads.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/ads.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/ads.srs", "download_detour": "DIRECT" }, { @@ -100,7 +100,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/networktest.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/networktest.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/networktest.srs", "download_detour": "DIRECT" }, { @@ -108,7 +108,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/applications.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/applications.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/applications.srs", "download_detour": "DIRECT" }, { @@ -116,7 +116,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/apple-cn.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/apple-cn.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/apple-cn.srs", "download_detour": "DIRECT" }, { @@ -124,7 +124,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/microsoft-cn.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/microsoft-cn.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/microsoft-cn.srs", "download_detour": "DIRECT" }, { @@ -132,7 +132,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/google-cn.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/google-cn.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/google-cn.srs", "download_detour": "DIRECT" }, { @@ -140,7 +140,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/steamcn.srs", - "url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@refs/heads/sing/geo/geosite/steam%40cn.srs", + "url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/steam%40cn.srs", "download_detour": "DIRECT" }, { @@ -148,7 +148,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/games-cn.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/games-cn.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games-cn.srs", "download_detour": "DIRECT" }, { @@ -156,7 +156,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/googlefcm.srs", - "url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@refs/heads/sing/geo/geosite/googlefcm.srs", + "url": "https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@sing/geo/geosite/googlefcm.srs", "download_detour": "DIRECT" }, { @@ -164,7 +164,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/netflix.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/netflix.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/netflix.srs", "download_detour": "DIRECT" }, { @@ -172,7 +172,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/youtube.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/youtube.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/youtube.srs", "download_detour": "DIRECT" }, { @@ -180,7 +180,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/ai.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/ai.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/ai.srs", "download_detour": "DIRECT" }, { @@ -188,7 +188,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/media.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/media.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/media.srs", "download_detour": "DIRECT" }, { @@ -196,7 +196,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/games.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/games.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/games.srs", "download_detour": "DIRECT" }, { @@ -204,7 +204,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/proxy.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/proxy.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/proxy.srs", "download_detour": "DIRECT" }, { @@ -212,7 +212,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/cn.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/cn.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cn.srs", "download_detour": "DIRECT" }, { @@ -220,7 +220,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/privateip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/privateip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/privateip.srs", "download_detour": "DIRECT" }, { @@ -228,7 +228,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/telegramip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/telegramip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/telegramip.srs", "download_detour": "DIRECT" }, { @@ -236,7 +236,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/mediaip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/mediaip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/mediaip.srs", "download_detour": "DIRECT" }, { @@ -244,7 +244,7 @@ "type": "remote", "format": "binary", "path": "./ruleset/cnip.srs", - "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@refs/heads/sing-box-ruleset/cnip.srs", + "url": "https://testingcf.jsdelivr.net/gh/DustinWin/ruleset_geodata@sing-box-ruleset/cnip.srs", "download_detour": "DIRECT" } ], From 7df1d7aafa79ad779385af748955f27bf4c1614d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 18 Jul 2026 19:35:13 +0800 Subject: [PATCH 314/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/menus/dns.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/menus/dns.sh b/scripts/menus/dns.sh index c939c01e..b960d2f3 100644 --- a/scripts/menus/dns.sh +++ b/scripts/menus/dns.sh @@ -101,7 +101,7 @@ set_dns_mod() { common_success break else - msg_alert + msg_alert "\033[33m$DNS_REDIR_NO_SERVICE\033[0m" fi else errornum From 8b8d47c633eabee924be5585d10d133228b1997d Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 18 Jul 2026 19:45:22 +0800 Subject: [PATCH 315/318] =?UTF-8?q?~=E4=BC=98=E5=8C=96=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/singbox_modify.sh | 54 +++++++++++++++++--------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/scripts/starts/singbox_modify.sh b/scripts/starts/singbox_modify.sh index 989048df..7e68080b 100644 --- a/scripts/starts/singbox_modify.sh +++ b/scripts/starts/singbox_modify.sh @@ -1,8 +1,9 @@ #!/bin/sh # Copyright (C) Juewuy - #修饰singbox配置文件 -parse_singbox_dns() { #dns转换 +#修饰singbox配置文件 + +parse_singbox_dns() { #dns转换工具 first_dns=$(echo "$1" | cut -d',' -f1 | cut -d' ' -f1) type="" server="" @@ -41,8 +42,8 @@ parse_singbox_dns() { #dns转换 # 输出 echo '"type": "'"$type"'", "server": "'"$server"'", "server_port": '"$port"',' } -extract_base_jsons() { - #提取配置文件以获得outbounds.json,providers.json及route.json + +extract_base_jsons() { #提取配置文件以获得outbounds.json,providers.json及route.json "$TMPDIR"/CrashCore format -c $core_config >"$TMPDIR"/format.json echo '{' >"$TMPDIR"/jsons/outbounds.json echo '{' >"$TMPDIR"/jsons/route.json @@ -127,7 +128,7 @@ EOF fi } -prepare_dns_config() { +gen_dns() { #生成dns.json [ "$ipv6_dns" != "OFF" ] && strategy='prefer_ipv4' || strategy='ipv4_only' #获取detour出口 @@ -167,9 +168,6 @@ prepare_dns_config() { } #防泄露设置 [ "$dns_protect" = "OFF" ] && sed -i 's/"server": "dns_proxy"/"server": "dns_direct"/g' "$TMPDIR"/jsons/route.json -} - -generate_dns_related_jsons() { #生成add_rule_set.json [ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ] && ! grep -Eq '"tag" *:[[:space:]]*"cn"' "$CRASHDIR"/jsons/*.json && { [ "$crashcore" = "singboxr" ] && srs_path='"path": "./ruleset/cn.srs",' @@ -243,7 +241,7 @@ EOF EOF } -generate_route_and_inbounds_jsons() { +gen_outbounds() { #生成add_route.json #域名嗅探配置 grep -q 'telegramip' "$TMPDIR"/jsons/route.json && telegramip_set=' "rule_set": [ "telegramip" ],' @@ -264,7 +262,9 @@ generate_route_and_inbounds_jsons() { } } EOF - #生成certificate.json +} + +gen_certificate() { #生成certificate.json cat >"$TMPDIR"/jsons/certificate.json <"$TMPDIR"/jsons/experimental.json </dev/null)" ] && { cat "$CRASHDIR"/yamls/rules.yaml | sed '/#.*/d' | @@ -399,7 +400,7 @@ generate_custom_rules_json() { } } -normalize_and_finalize_jsons() { +normalize_and_finalize_jsons() { #修饰文件 #清理route.json中的process_name规则以及"auto_detect_interface" sed -i '/"process_name": \[/,/],$/d' "$TMPDIR"/jsons/route.json sed -i '/"process_name": "[^"]*",/d' "$TMPDIR"/jsons/route.json @@ -421,7 +422,7 @@ normalize_and_finalize_jsons() { done } -link_custom_jsons() { +link_custom_jsons() { #合并文件 #加载自定义配置文件 mkdir -p "$TMPDIR"/jsons_base #以下为覆盖脚本的自定义文件 @@ -439,8 +440,7 @@ link_custom_jsons() { done } -validate_and_restore_custom_jsons() { - #测试自定义配置文件 +test_json() { #测试自定义配置文件 if ! error=$("$TMPDIR"/CrashCore check -D "$BINDIR" -C "$TMPDIR"/jsons 2>&1); then echo $error error_file=$(echo $error | grep -Eo 'cust.*\.json' | sed 's/cust_//g') @@ -453,17 +453,19 @@ validate_and_restore_custom_jsons() { fi } -modify_json() { +modify_json() { #入口 extract_base_jsons generate_basic_jsons - prepare_dns_config - generate_dns_related_jsons - generate_route_and_inbounds_jsons - generate_outbounds_and_experimental_jsons + gen_dns + gen_outbounds + gen_certificate + gen_inbounds + add_outbounds + gen_experimental generate_custom_rules_json normalize_and_finalize_jsons link_custom_jsons - validate_and_restore_custom_jsons + test_json #清理缓存 rm -rf "$TMPDIR"/*.json rm -rf "$TMPDIR"/jsons_base From 0f2a0b437ca76d161183b64532af7459a533f26c Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 18 Jul 2026 20:08:06 +0800 Subject: [PATCH 316/318] =?UTF-8?q?~=E4=BF=AE=E5=A4=8D=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/starts/fw_getlanip.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/starts/fw_getlanip.sh b/scripts/starts/fw_getlanip.sh index c1bf3e89..2d9e3a39 100644 --- a/scripts/starts/fw_getlanip.sh +++ b/scripts/starts/fw_getlanip.sh @@ -30,7 +30,7 @@ getlanip() { #获取局域网host地址 [ -n "$wg_ipv6" ] && wg_host_ipv6=' $wg_ipv6' } #添加自定义ipv4局域网网段 - if [ "$replace_default_host_ipv4" == "ON" ]; then + if [ "$replace_default_host_ipv4" = "ON" ]; then host_ipv4="$cust_host_ipv4" else host_ipv4=$(echo "$host_ipv4 $cust_host_ipv4$ts_host_ipv4$wg_host_ipv4" | tr '\n' ' ' | sed 's/ $//') From c71fcce8700e0d3a357842b41c86eee04f8f02d8 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 18 Jul 2026 20:16:51 +0800 Subject: [PATCH 317/318] =?UTF-8?q?~=E7=BB=99=E6=B2=A1=E6=9C=89=20CIDR=20?= =?UTF-8?q?=E5=89=8D=E7=BC=80=E7=9A=84=E8=A3=B8=20IP=20=E8=A1=A5=20/32?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/libs/sb_endpoints.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/libs/sb_endpoints.sh b/scripts/libs/sb_endpoints.sh index 39ce450c..55d38301 100644 --- a/scripts/libs/sb_endpoints.sh +++ b/scripts/libs/sb_endpoints.sh @@ -4,6 +4,8 @@ [ "$ts_service" = ON ] && ! grep -q '"tailscale"' "$CRASHDIR"/jsons/endpoints.json 2>/dev/null && { [ "$ts_subnet" = true ] && { . "$CRASHDIR"/starts/fw_getlanip.sh && getlanip + # 给没有 CIDR 前缀的裸 IP 补 /32 + host_ipv4=$(echo $host_ipv4 | awk '{for(i=1;i<=NF;i++){if($i !~ /\//){$i=$i"/32"}} print}') advertise_routes=$(echo "$host_ipv4"|sed 's/[[:space:]]\+/", "/g; s/^/"/; s/$/"/') } [ -z "$ts_exit_node" ] && ts_exit_node=false From a6e6907e86a9ed58fa9c65266d04432423759bb7 Mon Sep 17 00:00:00 2001 From: juewuy Date: Sat, 18 Jul 2026 20:19:51 +0800 Subject: [PATCH 318/318] ~1.9.5beta1 pkg --- ShellCrash.tar.gz | Bin 177275 -> 177412 bytes bin/version | 2 +- version | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index 2c14e3b881508bd4c869a93a58925483206a9435..77e93bd1497a471d7f7e769b21802a03bec7f530 100644 GIT binary patch delta 169161 zcmV)VK(D|1=n91D3V$Dq2mk;800003?EPtfUB$I8jOOk2r&!0%36LEx%~`YeKIFMV zl8sJmN!yZvoG0heZ)vS1TN_LAkz|^E^4y;ta0hNfZyEzJm;i3FA>an%?~-V#d6n}K zZjBn%j8Qcu3<>P>+=~)m{l}~t)sGrAs%ljGU~BQf_;K6|f*$K8U96s1x>@Kamb9D9Ek+mz&_fEdiaGxjlj!%xX=H{Ev zwq_4*38VFneSg$Dd3^QG^BD7=dS~zSZr$r$c){bb^YFoglaI9K`a6rrYEZVo%-rKM zbB5E}-8<_i&gl%;uMl_l%>DyQ8^l_9_eAf+@%mUx-N}*pjT59%NxlOn8$|a?&f}@# zZkG7Q^%n3!4*%HpZ_iE69BM8-^A8{N=x+hhhn4XEmh zD~_VtQ7pu;e2W;c#w;t3ooih%6Se8RA%X z98t(ru(mBqBApT-rUmh5ReY z6u>OuFm*5|X;w6!w)1C*Qj$|!?U6#2ZGWHynljfiJu)!M*;nj`_N(r}4i~O03Rj$) zNF#?$CUZoI=^Gl^er7P`C9&@JiN&^YB^EK|=K2<(EHmTD;YyEUDcq&dN>Ynt*Ar$C zgXE86gA>3~L6VUx{k>`$;S~d@Tmw~3Jf(fPcBI zL=aRYsBqmFe%mf7K^BuZnIOTkoB+dGF>@kX0y9Y~Zl!4|Ipj4=w9GV6SEq()N&|~1 za)D`CSj6ylhMp>9?LVq|+@=*yIw@Q_sr>heo4P22niz}je8C(fh1c|jU ziY!iDRzQHe#zs#vI5kz1sEI8iU#q5;;TmZPpiwN?$2j9(3kH*zLw~_x%3;o7 z$r3UetA-ipobhaABpXKl6b9*9tt`fFQzEvSAt0ln76!R4huG>93deS^BH~{K`zqAB z#AGrNs3p6wuI*7dqq#~M%2*yVFOL}+775j?)5Ix@*l#jn=Rgfh)0Gick!uowg2SA} zjbk%_49;0_Ryi3fV8*kRGk?UIGplH&W)-itoHbt_@umlyM=sBRX;;WubLO$fThLsY zxv?}TCxy#XQyH4XuWlOB zxa8Qb(+wsP1+-YBI%=4f>}wX0v~yh!VPS6DUKka}!6IjY^)PXmbXkS-lzkTo4PWrY ziY5y!VMX#?Gz*&VLf3F)U>xztaT;-)36>TeO$rx0FH{f#7ObA^!d@d*F0-_cEi6e= zC9l(x*J-5#Tc`~xsei$ORyhdygkvGxWP_OWQz_z(8kG-QR+s@LOa!0V_GkOGY?mSv3KgP!8~sw;^_%m zmNahCW=Uf<=F*t8aT@ahoyKNBM;42eW7?Ue4pj&S%ap+?XMd3Oe84#m&NCytni0I` z%YRaaV*Zg;L((iuFR+Ib9z0IH?-~Cty!ayFsf(0mu4s~>BT-(mk0pn36meXTu>hD= zt2J6^T(ZtvHocFm{f&_^HZYEOXgUE4YYjA6DUD39-+48ZUNux+HCJTir!gJIsWl7R z?@VmV=_6%`CVwtr#lup~O5v2pj%ll8b{snFrOnDF6>E-4hFH{?x3IGC(8z*~S*_KX zk16BKbpZ)e4(Wh_s5~yuMrvlR#NnLfgH5u46Az~mk57d*;DTpIcvy%O0`sv6TS`SQaeQJyBuu6%g~U}bWiaJmW4rb;I3>&z(&`51W^nBlz1vP$$@gfUAjCwd}cr&|LqniN&dJmQdljiZdze#FxfWcNU0k;W{% zNJ*^=I$dgdER}634+9x`l$N|8Xjp7fFi2c zXKl((9Cj&_iCg2!nZgYw_2Q<=*g(?t)Kr+cawuGS-^G$N|HMJl9VZhDM$(s#G%=Y08O&8yIqK^gjUGzQcGw|7YOWLQR=qn zz}i(fgSiSQ(%iNQqSSH(WEOFVO7_hT4h=K@HD{0%N7xl==4d@Hdlvkz0^Z+~m_0$>$#0It6yGN~(MHn%hqG@hVo#b$R= zqnyUGbyYQ;4NMt|t?fpk)PB{;WT=e`8;ZHGLBYBqa+`U8q#Xe|6I6vIaeu6m z%BesZ-8{=sQ)(*1B?8?-iGgOqGEi`s^1wO!n)0uvO*J(8${HFAi-yMNWuRbj&HS%n z$rCbGMFV+>s)&816=MytApG6I7qvDJ#`2|+=`0$iTD%yj+seR_1vVpBLo-wjOj%r8 z6B_b#P4_pjWSlD=x8k|7v!BH&V}E9~8;ia8#vZP)tGv=4T1Wtxt+xySsnyaRXNUph zWZMy7X_mmLfkvZ|PE)ZdB?HY>d?q+ej4a1R2{8|*;gSrbmaq>@UKb6Va}j2jcaJ6w}xgOHo1yYmMv9% zG}lI7H#m+xEI2>XZVIO<4}YI|;q%DDC8^*T_pE6ABJ*(WVP4H~>E)O7Plc_JHrW5} zHCx24LJAl3 zE6a*n&(N@$;{=w?Qp+_3tUWqc_AH}MX(T8zt7k-Zk*Z-V93LWMaoF7qnUv_}JBgF6zY+s6)TF=4PRzQJ0o$u3*iLjifE z4&Z8;mpYttY&7Q_`?=Y2%PZUuw2f5ZmYl7w3Y&s`CkHT!SZTTTyTbMuh(hkfn}UV? zn5rXPW_ef?N>InKuBD>F6T9|AHa+HEq7*grkA`L?WuWF%3V(XSLaMu3wmZiL$HK!o<7X#bi+SEy7l0WgBK=rxnz-y59U7UrSuxg!1YHdlB^?gr z>Pe)uvY2!wdj^!?Byx!=EWGb2|DJl^Q_?9w0)~Vu}SLSY)JAgS4%u1__>jr6d`4`R`Ob4gU?O{*jwU?4OFFvlDHC*_6BIpxR$`OTUE}!Y6-ND;gQ*#rcv=) z7H&n0Fn{5dMpQTj1sfVLH5P=uNLZT*Pi_fca0w&1Dhrdul}BOHsT5|(70oo_;h7w< zT9N*qvMvjd$TOvb<{T%ax&c#>?Q~X~8rfE}giQEJL^O)mNs*A#5CyB!v|z(PXoI*5 zUb6Pg_V%Gr^bDdFWU@sUdlrfaE zkSvLca$(~&X=?j~L-yuiq)rvZ9u_nYu{n5@8Yog4JZ%;w`JB3KCyPlX##xg_wzriu zE`RJsoq{D*HNf~|t(+R>B(jKD-3f9a#$ehC!XERr*e)g%j@>%gV469>`Z$=PjNR8_ z)(9eDeKzq@PrcMqk9$fd891WRq^)mvku9W^E;4JI(@>xG!Zs5*?H=|ds)Z~c1y87O zh6sh--CRUOBSXxZq-wGlw`Wm2A9ANM&kL@-dN=bj^l1;oL+<<8%3tRDY%i z#15Avvz0T-8BE#RTRILFqz@=eYSJBiwc&ksL@C5IBKaCStDDATv7(lcbXcZ>_ue#d zJ7or!{JSuwe1-W`m%1}68rpM<1{Y+gsXM_uIxkvg_mDIs`UB#eOo$4X9MfLouAE!; zOmf?ucn4|doTwTKI!!~zElFOzp?{m^&N8iV!K6%D@QSN=POM^`I!x*ncABY9A^2!> z=R@3gS}&R4a|U24mXrxJWtgno5yzxiGq2t=x5cj^OD#9blg3=^08EHD&niAWXO)+^ z%5C2ooO|DCp9Gt(@Gxz-JZ72CV_uhlGcuYL_P*2EJx{30i?|??F!$7?+dfX$6Us}j`Q&`s1xRrbQQk%5sj_w+O&lirVG(mN z2bSTORBT~A1i0@7jh{5>tX?Eu<~)tPNO;8+`YITS&s30tw?mP#;ahOIS7f|P7kmH| zzLuZ!`Kj>Kem<8LMYH0N>3l$C_E#j1$+4!|@gRm4R`d7a-;}sV+LxiBWA7MJ$B3=#4T~*?{wiVAtXFToUmLLY=#5OD?cv$OmR~SVAjBK#T9Jj!-<(LM8u>X zU^<-Dp>rM~=1B^x@+X8qL?IAF7Eyv=VjOCPG02-S4V@EPy?@4$A0QGQ1D0plwPZD& z#9Rm}LP0aF2sBx>^+s9PeHucbi(K`1ImZR9h}0j^V6gUZ zDmbnf12fpIWraB5 z#$Z^1l`MeXQ?LP2Udr4rWuEh)Bo{_m#4)S3B4X0Eh&%yO2)1JY*j^|@LQ0M>B{-SGoC50=rU);E^|K*IbVXoxsWR1 zIA$6g5Pw)(gX+xk00frp${r$3EkQ83WxRYjNOVYm)F`Ad)2%AcoDT$MyjBD@^(l?L z^axCqsdBELfl|(LRj`eks^E(}kfLmsQ>t_75lT{QP)gZ)SrNgU9f0|bmD{;qGXz0ZI)H-1)C(*)PD`4a zaL0O)kk|u_24^gL2~%0sjgiR1cAptBYo<8iqf8NU+PPwGkby-i+sU$bQd5h)T{+KS ztA7YQ)4A77apA7{TLRs00eQ%K6KMY>$JELIxMbO^*kS-M8)9mC5%B0;dcp)R$d6+Dp`;e)v@gTKN2&pcgqZ*U@?C1X)*=L|_JDrDsypF(N9yD&=a6xs28%Ub z273f1wFEBq5^Ld(9KmPGtVB>tykO4ZlEF+?d3(5c>?q;{FUj0bvfx|%TzgZP$$#HO zE6K5iY-l7UTP-R~ch{5B8#+npO`D0|uM_LhgzzZ6MEEq9_?!4i#m=FqyMDZ;t*A;I zq4GimJehGs5mJwbpgYsfOQNti@i3E@sW1Q1$ZJozNUAcL0@EOszaDBsR|I!FQ4{Do zNfDUVK^^fJ0-uavJx{0LH05I4+kcuBsV^?w0W(AJCqP(_vletNcnqQB3c2!h!z-`i zqszIzNiD&vUGGp5^=D%+GqEW`<%QsrM`q9L=pkfp^$LqwC&*$x$g|k%6z(XSBZ!EO z7)2;N0-N+?DOpwc`?Mk>_ZEkRNpR}OmKpqxCx!bYh>c$%!Mg ziJQ398UVLe15}bMBxLakh<~iX6iibZHl`Ju(6d%KKR2mh#Zo1E*9ryZNb~l(1xoXwe_Ho44BaOk<#BH#V4F;Qzp|Nci zz=BqR^IonH`C+$7Fl5T=Zo z;IR|IzUC3lhkvp|lCK5Ni1Y1_m*+X>O3=~@UI^t##@1y_UB?ufz%r&xLU#PdY-WjL zSM#NY6^rb=eIU%Jl+y&O;9G*7Gz_8iLKMOaQKY0qicoqXtR3DGj1G(SV|s+JA{;-F z**zBYdSEQb^BS=>-jbRW*7t;t%X*XGy@@;xVIa!|>whieNe2D3vPaMf!CaJ&jrIi* zpr z_gTj-I<#y5F7uOKl z+W-hjCr#1ChFMc<>^foE%*ce9+C>wF%~SS`=(`HhWb?e~1hj(AuCB4Y!T`7+TC0Ng zlrqAs;E;dKX;Ou|60KoMvPoQaTAXui&wv>$NX83txy#^+VXLnOJB|3mQAE46)sRH#q0G zh&(JfztT&-6dukz?C~#4j{V|PUU{mVr%xsTO-TF@saFL=Wi*76wnO6XvKgH6@4T53 zx3_6!3vkPFX6>-y9(GI9Q1&qcSMNlRc(xGPlYpEPo`+ zWlgY~MV3&yQYb=3a;^yW4w)gaJcyKttBgL@sGxhTQNf&lEqFx%wpMC|6I!jXn4mQm z7a6S{fd1zyr`+k?RZA#odiJbaN(h1!kJ$|k!C3*2Kn9d1xS3fma9mGP9@R)I8kaz& zg*oNs{2QuHNfiv}%ht>ulZPvn7k_b=CN(C<)|jm0Bs3E7GZZtcY@9P~Q~9_h3!R*4 zlg&poiYtm_O&Y6*VrwfG^Vkcl>>1>a6!$PIdwUs57@iXm(HUFB70jy z!`$Vv%t$jSNc5uIU6Ii+W3?Q!ie(ZOOo|g|Og|_tQeKc2uWEom#IC-jbx<>s<<# zY;f2isbS^8gtaxEU?k&A&oQPs$Q>dL?Ri&?S)nH1b4*M5JW_o(tnHVicqo^tx96zMO?5~Ari<+ zH+RcH16dyvQNbbWV?tXzOqIdX&*{mC-5CNyNJv`?^T4!a!R56`Sw}NY)peg0d~AtK zaF|j9i+-)v4FU4xv%1GaI(*TjHm$-cIv6q$6cH~!abcAejF*-Q3mK^$f)Jtf0Y}hjW%55u%9QAlJBL@k!q=h!w}hcTKNx%Ht;_ z{VbyGk&#`rqRBi5Y3!E98ka8ZtYExK$}4B>m$Q~G+{qn8gl8d|v^om9WK@v0JQKzk zHzhrx5Ogt(xZ=^>u79(}8EHGM1{!V&u`wv<4$J^fSuZT?7>zBa?NAVjRlo({k|tGo zkt?rY71i|++dCu%lTJyk1_jxZ(`{v)$l>rJ9_$qqF`WhqWtk?jkGz`>xuNd86(YCY z5jxesbna|o0}CG5Y0?V1+vXZOolIlfc{JvUkv2f=#xi0zmVY%)89$=$AWljAgvh$m z^m(24Jf+%rsq{xTJtKDOc7;h3muy?ABp&+}VijIe=~&t;)vB!&ByC?R#ogsu-M!6S zs$c?j_q)y3p34W@;VRuGMW$iSvO-@9H`rY@u>{fr%&5yeup`XeIt`)QibU)dW{9ht zehEG6Myo^3sLwy+*l}aqlsj(k}36j&2BKjjRcA?h)K#)(}#Uz(#82-u*F{4fV=BTVZj*!{;UcUU>YRieBQ`L=U@5 z$A*xyEGKj+q6vBAMahL1g-JUg6uB3oWYwQ~aGH*l}Q=x-g2vtl(lV|J| zj6KNgLVqPY=>;%holPX1w>eWSEM)U-YP2zj+1#EA=eyH{PfAK)b0R=i6~sk6Lb8-l z88ro|nrzu!HOcb7qGl%b)V;eGuCeRM6?!qW4TjiteT{RD6Yo3aFIZLt+s~=2HMcN` zm{<_I#;cmvo}#1|I^1)-srjU8CMo-tGgLH5iGSgugUi45Kj)xZjaN-_2?7zzV8Sw# zM(!pv!klEDpWv(P2|gW{Sh5u&h6aU+VadLgqWYaesVg2_sVA9`GZsT}#DdbYrzz>~ z3JM8&YTdjP=B$ZO?RouQ$LtzdQRD#;v+ESvYcCAD&>bD zrac=8R6OUgC;xNnB!z@XeIB&)A))km(Ef-7(tYEc3FkQH<)BA4D{`yP%nSB83e6uc z!l;i2U*b6~B2@(n~L`eoQJ4;fzS1`>4mL+T`8pqORc4VeQTz^aI zY7r6L2LcN$lu;wpMI1aL~*BQ`dc%6~$8xfka(=4Iz38Z2a z!TL+E1k$PFB%$3VPP`Hs2dIg|B~37Q%SZEFurlXFepy0FOGOP`hG4fdY@(^hqb$8_ z(GFlYtAHgminSXF`)W+4fKwj?dqPIICuCAYIgOT7#2PDNx+5TBb4=5u$A9Vsu~kJi zwpuM>cX>`@*Xa=38NlF@V|yRT;FP3S(vpz-A?Q`iEeV8v7^QS+XH?e}u@yljB34Jl z=8njnrUqO!Q-(+l<*YXIisrCjX*gqaWHGIq!rrV$UM1sI#bkd4+CPeUacw`sngstQ zq)7BwrHI)+mWbKxBVzh$7=NCgw#G&w$f6M5y`hxBGR?9+2CL6&fCIM5CZ6Sr+kW$bZH-%t*3QZ@b#e~~KNe#4$fqnwi#Uw9531Nk8 zWsqIKA#{qb#)XF~!NQY4g0_ZWKWRSuMv@a*L)t1aE7a9e=hngw#ucj66-C z%|UMxDVXsrWnPvtUO;Vou>B?`{-rf`l3Zgiyddpn*7y`>5ywTsag}@N+vTn$2%nI0 z7H&($5`<3(N?Ca!(!wL;em)AHY3WrBnQe64h}5gR#4C$^mC+J1T0i7OiNL-=1e+$L zv}lSzOOjg0&m=^adw+yH_M+rWB3O6rgi!cQ?R^zPVAbOc2(cxQ3C$3^jJYe2h7fx> z6|BFeDY<}P2#Fse@l#17k7-Ji&HOP(uGyMLItU~eTLhk!wZ>G9sgP&Wh2YbLVCUck zUh+?gzy<84&xFnx2~}bew`LF)3wtVDV^<3rlknt3n_%}Rgnzp~Q5lrbh-K5-9yQE4 zELmVzR|rcMIEy$;I7}HU*UJ%BEU>+^r6JFxwcH~lx+vn3XM`+FG)}$mx%a(fsT1|d z-9X6|GHQ=TIn~samv2({Md9wiAawH;Itb4hB*Fx--8w_;&V3ln!?SFcCCzBXx=6*A ztO?#+ae?E=oqt=<(2ZimPLgU&x((ojGzehYj}$IBe>VmbW#B0pKkA&x5Mtql5TplD zqmUq1fpl+HiQS$x303qeut-p%y4WIN<5+E%IH{bt zYxCwiF+6CuB7zJuB#`k8OA34b0S-LdH$FA8t0RR9hJQ*HFXn7qdm&fX^HO@pPd^t( z5IywtgORR^c^hIZctf(;KIf;mvh@q6-{S~RZ?5oqNJg8T~ zsf97^C4X>uGUMOv85x61{@oq|HQ3|lj13x>9A{qm%u7G>($Bo~?WG@$ovNsD!Ex#3 z$9lICsk^3^YbZEO$axM!U_G2_6e+uCCsM9pq)x#oEMy%}IhbPH(~^xvVUFkN;bzRG z@HJyb%}h;vuGeJEoSxp(Z;Anm6;i%PZ9QsCVt?DqV+q2Tr4<)sXlL%gYGt8YnEJcQV)vFoQjQg~!jD2uyZ8er4j})WaS>yNc4-o=`B@i*IGNsUIsu4Z#jLO@DAh zE{#~js@L}l2FWAm3ML%p9P)8Y3lAI2m_q~$6)^5nO-!`2+mkyF*#$Tj&6|hWojj0Y!Mn-P70R%t33d!Vaj37 zVacF1(Wwm zv?<3lIucSBLlNvDdPA_2U4P~-loM#nf-vP@?U=~OjRoN%M?ALhxVbT{aqcBva(;Hx zN8`fd=Z=#Zg0-t#g7C5|{3zB{k0p4ya5wxcA@ibGozM_mJD8e^{HiNGriGt%yTxP) zsUO9wf9G4v68st~eIAvcN)?32eM0Fqqu&hfi8o6~n_f@xD%sg3Eq}r9EJ1Jco6=d+ z)Jr{u+5br$p`=+C_AmzU$eV6KkQ(exgBqNAIOpMGf??Wn8`y?W1cb^X*ts>!weNe1 zW4uT02-H7PhF2!6Myat|pJjLn)pp>5N>JeB_Bjx`YbJm*=ZFO%NxGnZ$>6YMM9yDk zID@;dumzCQxG{MxXYX_$#BLi&W5MIQok)X) zhf@#d9xge~JboFetC*~@RaxRD;jaAV*s~}(RhuNpoOZ8}dtEWdm%L4})mzvpht{5i z&>jlR^~2gF`+rR8P(2rY&AQLUF&P?@uT$^(}#yO&b<6vRb1oTE3Tas49>mp75{Ga4TA;eUwHLX zc=c08JbdZZPwB-kz4(<^Kb2SBD)qv9{3@?JaTNIkuYbm!Gay5Vy*hM1#wx$oD?i!F%c&7`^_k5eW3h$IM&=L@{ zK;ce4rwWmi&P7aJ;TAD<w>OM%B`U&YEPC ztZ+W*GDL0)l!$nBDl+OCzsOkTvnKH~QxHFLm4(jSWeB#@6>M!O2qASPAPYr9pxb3Y z@bW-T5EsO6oQ65C5^}d6pu5{%YC^`p^Q208QmH@>Y}UDn#!hM%rP?bo0vKSHkoGFs z9e<26qFx|Mwe+%jC_|FNrsO9f33oz=C=qGXz_&hG3O$L$J~g2*xdggQcqt)y}D_c7=0} zS$ZY86Rxq{!Zq;)&2gEMiPR7>n&UDhr+?-Q!OnSxVCOtTs3NZzcKjHpY%O^P zvvQYi4@~2PbPM%XDb2MY2F;Q`B%op9xC2ZnENOS9*W3ZB1LP#{ieQ(YKu9v@7(!!f zb1Xq@*rA2UwU~m|u`ELCQv#tIT7sU+DAh{Q9t%Y1Y=07GZdVbJGl>9B?Gz)CF@IE) z29Xhr*jnikJN3li((%se6DFmgSGGz)9}p=8eOaayYR0%%wY59Y&cRf;h5PvC%m-Pz$ z4?7#MAy|h46-;pCKu%TaO%@MV9J?GLwjJBx#KS&6SEW@G2eeHAAC0meS%lievGY7a zJ6Yh1(n?0#&@s7MU~%cbLj}0666wCCk(qEcw2NPZ6XD^Mv9>NkEY3O3y!d8?YOr~+ z*kCj9s*;n-;u_oan#IDygnxfZ7HbOUw)bdg?3EhYn==-Z+5nu8hH%eVAa`S+##YPh zNwC!6+{Mo9Irqfjl;8?qKCtmCCs_dJWJ)xc<}Q!zu7ZMgZ%yOG=}8J3mtUBg?7<}M z++Nqx$Y?hLH~Cmb3Svdn*gAhxn7C#DT#|!L3dc^XRXDZdQ$as^#eXth+S^XpC{<*y zl4)2G-W4&37+jK~R{D(~!@VNb5RI)B*u*D7-*FsOE9O53_%#VW(jmKBSH8f$N(Wny@lDTB{>w%dAPw=#X~~Enoi-8 zW9uW$5&RG_&9lgO=YNTX^}=Ex9R&(|!Ba1MT2lUn(_0L|YLk`_=N`f6lZs$gc@DBZ zqzEh%39*k@LQE?rv7UfaM-Y)u5MGpwO(T&zpMV7N)DRK`uPitt#wMQB>@^#LTL2)g zyrO0i=V|-?w+FQd4xqEi1Fqz#^(U6FJbuK<7xk{XuJPpf~LHiDe z#oqUrB$n6}wtq$iLn7udXE5Q6a?UB|tl~7|ILkduOO?3ghegm^QOo ztPpl7Yjz2pvZNrZ@YG%vFfeCdbIvN~tcsk$N-!8l{Bs;99H*RlOgm1JQl%4d&WmXs zI+rRNm!(Muc-%cL? z%==D-27h>?V<=}Rrd3xoS;_^IP2dBM$IW#h)RZqJKqWOueLCb4t-MhdDT1ye&2n=^g} zv+yNZUMEd`{==vdQIpn08Bx7DX_kToPORHP4S%`vk~@W3p_J6Qwaq6MmJCwaUFJ=< zJX0`_SYSGF7>~*>-8kl-S>+RV;~J6$Spo}JduI!9710$OVj8}R8M}(pfS&l*(ZQ3fMU9!rYrkuF#GZVHVYk7o3 z8GlwUZd2_NFp)Ou#ck5Kx;E+z8&8920|GXC zDF##h9dPCGi|O!-ZsPYr7MMXibJC0L=IU;k*=H-wIe2Kr+<}92x{Y%_7qVOt3aYw;3=(o@+vmsl&;Vd zb^OOIbQ8B(URszFc?Gznm6!=OJk{A`S|{{IkRs%ESttmB$ZkatK7lF^NXR*Xt%Bk_ z<|0QOK*?zz&-JTNE=ulBBRWFq5enfG3Xj05CnqlUEP*XM^^TCuR@uz>SH_N*z<(2M zLExWbnqjF9&_x)mz^GIyQo1?>$a;c%kIoQsE`Q=%{g5~un9%tSAwo^0Mf2l30A$8F&dG`v~T;91#asw{;9iNhJ=g{7nmnl zi4`IB3A7RE$qXdqO){WC3nQBzDk;dGx{0K(=XUC^O#ncP9xrhg;*RrY~K zmA*o@zbJvPZ1#O3Gq@r#Q!-;Av_eEZOKoossr^PZ$_)W#eLKDtNZl8=0il3ZvlViZ zOWj(w8xG3xqup;nN=)hMa<)x8#0wa3CW0Xw<$EVTeS$C0E^Wv6w*5G z?!Q9z%!;{<-$eUztUNwDDFuxlQ$Ehev$=QgQgjbGmKM`KP>>rI2B)On6;52UD4cmX zCpe)w)8}OjZ>hP{sA-e-9)KnLnv&j8q;7$zVZj3D{3|Hl^s_x)Wq&ZM6yh_=xGErD ziQ0&eb&tZm3Z)_K0fpDqirlOJf+a;HI6~H|0h`;22A8z43NBC-PQC9H|6Y0VS<&oC zgVf@L@+*lgLSxoS6|dKlb=0!pt)R~M+8GWACH5dI14^&z?Xx;Y3V<3DlL}GThPt7{@v{>-) ztgNYe9L5Gu$yij7NaNV<>sv$y8)DblV!Q9J`$NIv7G7NPqJOKw1#Q#9<6S!2d8{ts zlq7QHmOcpWT3^GQ!;(~BMTC=rtfy7Hrx8y*7IWU#qlCq@FIBuR#St4c+?1mUtof|V zfYL%Q0+SG$kVcds?BP~}Ssr7vd26bZ+?#e$0-pBPAQBSV703y21>GAx23m8z!K9L7 z`%Dk{UXuLTcYk}_ciITCeYuC=!owav+9d$fKB2Oo^YG5(X$h%M@REpwGRMLvq<$2i z2Niqdz@^J58$|Z~L(f)I>p%zt`&#^w{{JcRYH%-#tmgwzj_ zr9QzALFZ{C4D=!!%WSZik) zF~}Q&Q|C0HB-3Z?wqpq)5j=`p{2D^aQptHu$)G#3R= zv>+-pVt=ptOWt~wJ3*r{53kRfn+)YqlZrqID-L6t+dQ(Tr7g}q?8O&eYQjs7NnF5Q z{3Pe;r(Sxw;JBcZTpsbh=MI&U0tF>vvdvx)G%cXY=trq?zto9O@S@n;_Kx6{)S0Lh zA#Spg#MXDS!HMACbJlXPS5xi+v%zkw*AfKhz<;L|dhx{OiI4cWw_ zPW4tiyq5_bxa8->7yQBg&3=0B~#yO2am%aMCQ3^EC@Xp<$!5K>+ZPE@XQgY=F%gorBSMm`ir$4rm~&=jlV&6<$wY+MDX56;7OTdt8GjLb zsk2HUKAVMk3Wh-U%A0|C?h*%F*gk~VS^YH5JnY4{mrgXUy!f;*fLSvsg6k6a;v+3x zk`jdlF=v?a+EF*9Xn3l8SMKtwtq{Ad=OPfhlP0)TJ`#j832TCr1cp$0QS2!ROGtf! z&(xk&vIOB1SmWfhTMFlI0HGTJ;D6xC8bqLGL}c%FKp8YN9YaGa)HSweZwwY5PI-JQ zD>RO))F%t=Vm4)gpy>ajLC&ML&#}0mQFwjcYohM))nCH zJ0nb3hRiuH^EKmN>8jNbtc^lM)Oj|-g2ykstTI!lA~-27B6o+nu#i=kBGB4V1X??a zK$8^K&Zv_l7xxhg4ij3LxTS2wr6Guj=73tA1@pv>Fegh2MJSpPhh;>INVjzi!8kuK z1b0di2uaMwk)Ritkw7*g6@O-}jy`6M_9@UIHLrId80SZhK=Y8=ix7lhRXm}Wel*dF zHFZkO$A&oY|K7TvZq-v$XL`ENe3(HZtxZ@#YS||k97)uYpW#7UY>a~|k`*HXDa+K|B49AjWG)FFhaw2ow^4>y zN@C|}q2VqwG-0#14{B3!kJ3`E6Ka@EPo32&4tx_z7FZmjer#cg$npHUe~*kZ^N;s; zg8m!H)XCSUN(o+3#~JTL8fbMBD`*zioR#E_jOYNG>w+6)$UDLSq67~w2Aa&(>0reh zBrZLx+nSe@VmxoLaQ}IvO}X0p*_1eMF%9jM1oxFeEEY3W&H*8I$O}zO>&-Nx&5Ba^k+cUL0WJN{dG~(jB88l<}w9t2>x}n7y3)4ie`&% zsRcqYAR?tw@I!NfKRCfM+P**P$I@SyHLXBt?fOq3o|v%f$9HbT((IBqNE%44#_zB4 zTl#)Pnr4x_)Ai)uUAznX0d`kUYzPwnZf*mNdVQGA8v?nQWu9+W-PscAy{6DpNEA!0 zG#$`p3RQCq6ty=+>&1z`Maq#ox(N5BbUX;bttFPKVSbma3NualAaVQm^#0D~zv2d7 ztPY$X>i=~V;SF_(fq=K$>W1dE_goMC>a^20OiuZPp4r6d%zkeb5Ll*j`0`IVvvc~dt-U6d!{zBgg=XF# zQ_II@YIJXCwfivzIl2ziwj9^R`wcr#;>WX%|v(v(j@JD^OIIndikZ?%bU*sN9vN%5kroxLFF z(nexrzm80D)EM`4p_!tOR4A8aB%4NNDK^)uabSeyXHe6snT97NOvlZlD;xvA{-`y%kN4JJ@_~~8&Fz?s18QWFUCfy4yqhUK-$+y!7D*q zt~bCt+=IVGqDQNGIZGfb@B6Y~HOs}MFb=ed8B@v&4NF=o(}zDW1J-pUNxPzwAcPVWEM&qeSjr>|k~Op!v0qiv z_&0msyBw#XH}O ziu510V%1BlXs98)j=>o`2DT;4;d4i(IqtOdZps-RT?<=++h_ zmEyE!{+~dm(j>jHkA@!zI-6wC^K_13K$_KKNEcus}m7V>qYA zv}GB?%;Y)X!a?U&*if&qXu(rwpV8Ys@_KiMWvnGI5I0ig-L0ApGBQoFg^e&86Z3ZTw;Xw{kQQVdWYyF!E)gF-=)w&B=7Y zODt_CPJ3>$Sa0D-IZ-Py^j(olVge4Lf}&neo9r+^V-tD8cP}z_f6h0!yT6}iIW(z} zaJgRxYV!~5eLk7}YmTbroj`G%kna)c!h@FAHQ+*FZVkcWs4nQIfq&ja(mKKa62tvY z@iPi|Q!@XDVp>gpk)3v0bf00Pv0^@(A}KP#=FedxuDB#3rG`P>kd*iXIvz9iCcR*2 zWREs53PrWrCyhLGO`sRT$o^Onq-PCgl*i}DVPr6VH$5FV+3?v^RIMLHL9*w=>W~kObX#f^- zpJVQRw?&;5GZVXJX^pf9mBrYsntahsl7nFB2K;$nL3D-9k0+sh@1~PWrV?aHXg{g2}=I{AExqNNL+Y|%6MTc13e#!9MkgOjF7zC4x_~*2dSD%3gUTE z$H`LGO$5yo$xce;zqu=agB;Ba^hR<9cCrrFP>k@=BmYrP>hU13&^=;h|3Y|P&RiV~ z`>Ub3AvPE-4I8LDNkD0pEcqb&(+J^hQ~w{RKKZmh|E9iK3rluYUPK(xfZf86{~+fG zY7u%PXasJ8a2dt7Ue*S?KxoX8HFVufw~gK}m0CmerZF3l_41(18bEmuO&O-bv44^* zf=$zfg*6XbMgGfQFm3GP%pzxMabw3GiZbP+6sdt%fIh zB>oN%v0f~rl)fZJ0ML*b!e%N9yXYkv4xVB-M9^D;C+*a0<^Anc(uFMZ6}Zxp+LfCY z9cv!h2!8$wtKwuRq+?%@?#)eDa>v8KA*PI7d&s4eF%F-#iZ6aizQT8WPl{I9MwfRE zj)-9R1pX`$y>~~@YEi~wfm=)w3_+ERe8env#AU2Zr-rj%0xYvK`7Dx^VuNOQNgbF6 zCG;5T(tpYFl^>mwC7n||9v)F8BJD5@RajAN;Sg<2G?tu@|! zV`&6Q3MZO$kz-s09|X1VJtkq@gp{!!3D3-Nw>(X?8*Xjk03mN{_@i{<@7!oD@&;7~ zDPzw;He#AG08?Ieu!3H(lct|T0-u3L!&)QxK1(SfA#N61UN)}!q(K!b2cM2wj0t@0 zN>``LTUaH*&cJf1FQ4%GYIgjKJmllsp0tBV`oYvUpR{y>^{_08=x-@LCiv`gDttG| zrAJ3kGN-v`-;y1rg(VS!X;|J6UiI2@KIBb~T~JrZ0+TvzvUsyP>NogbnlTMZm4n`= zlx<)zurRx&H$C_yLqzG3SyYfen8A^6!=y_# zYWw+nK%R%|aX7uIocc4{s0`aAbFqP024O`#4bq(9oHBh;sjpfq(yby_xHXweguV=u?ru#dp%tNw z;k7Xbu#-q{RmD^2rkm?FSV5ub(tM2Lu5fMv#M0m5AG$Ob=Zl&V{%=-imtN)n@Svcd z&?;GKuRCSC9!ppJs(jlfN`3ELwvU|Dbp*pvO%WJYJpPmimKRmF7?#Nx81y%(V#-XI zT(tMG#}0*AgKI)}TGMEYGUx5_62n6c1#MI>-ps^4e>*f{FopHf0r?I5*9py)$z1xNPkrWIPTIxro#dI*^ zioOH~*LRuI1Cp>|%?uvvFRIG#UpEf1u)N`@$lIQ^Erc+XxUy;(6m7Eend{9=qG5u< zS>*8LXWmQkepf+@$qHwQ$>IZQhyI{-4@x;RNcUx;+J`*IWFRZFVp?VfypL&{bsATU zP<+jcZ6MD6c<$yArvi$z2l2bwl$VWMOv9o1jZg?e#XgL_#3ms#_IR}1?BG*laol!X zaV|*=T1X_O^jk@>4)-CcWEu!-^dh#jYml1eGK+>b7>z$!#0XqAV+IsS1+0#ip!G5l ztanF%C)CgzY?n!oM@=KAIw|l5qeo!c^OO3nd_5IZ)@#(6r3%s{eSCQgtJGBxNn?H5 zIJ}Qai29$4NQxSjs$u@~v@;fH&A3ji9ACR|a9j|h)2(|b#E5m5u*hYEx2O}zq&x!J zFv}Slm2@b?s7+Qd-vaznJxLbtIfQL5y2aL_iE*pzm%86oXGS}ZdsNjyhy-`jN0Biy zFJPmdM%x_N>4W`Pve%8j`nf#j2&1)nGst4z2-x>#h~kNHI@Hl`1|%jR@7N`s2`GAy zF|@0{U1vsfND3BI>?LCu@-#G_K&u`K)-md>;M~+I(G+X`It>tTlzvfU4N^Pi{>&7; zh(%!r~eQ5F`=yn~{GTWHX#GpCkxpanJ^@ zR~EPHfjlo@=R5q{V=oUDk_4++9E`#1`Ni$BAkQe+c?$nFht06Td{T2ci-Q(;y}Yrd>Qb&rp{^_GZXu3_f;1^ zO~dXmERbJ#AfQJJ{!8LvoZOIyI@sNX79c5GQP$O7{B#bx8?iayO5*)kv8e+FWI>N1 zb*R=fUHQdN!!Od?crVfxphvC$q?uo&%VBpF&=-D#|Ko@M_l9>bJTHTc^0F?qP6UoE zLBd&+jC$yOg)p_N)U=Cyqyc|JF6YX?@=u7Cyi%Z(qCO=s{qFD@Rc`}z}G9jQKOX&6R|_0zv_ZWcngFbO?qC@%}r24yut4@}F8RZ5@-xmmL>*bnDP9ZMquKZkB$Vb0TQ-+^VESGLqLlE8~?At2#8n3FmGapK$-Lj{YRHaNDjIOZHCFl;j%zmP;%4Jl|Z zwzYKO)d!Ig^4n?7Cc!JqQtOJ1hhYM&HpANUvr1ZEE-lao96GE$_rDuBOu%6-3I0Nc z!@MAK4W1RnwqX9t_b&u6znwUs1#WT!bu`!<6dBFz9K-5dp$A1^Fjp2#;B;1@0_L@k zbUX!*&tD^D5wSaJ5~lkOm!fv8P#KQ#fY@ffgXlUf{tj3nugeNdB6|ghQTnDX`E93^@@;Qx{bYEvRr%iXhthX5)@>lPEQzdG!=6L= zdlu`qTY1t7;!OMRI2{T>Xc00OSF>Z$>OiuWK$ZO{4VOb|{lU4RtLL1nXVvU@Ew|+^ zyH#VnbG?xl-!9&g49`X_B7&ewXnu)4ew{qte+P zdkow|Q?V$vUD<*Ri0%$dXOby7ucQ6Hu&*2cJ|yx#_Nh$wsm$x4|L`LBGS&Zpu`Y=I zKSZWo4h3Gv1fC`lwO?ZJ^wU&i24=KH1*&+Vo?O%$>KtcDOj5cNuDcRw!bJ`ah3A371!acF^0%~%&dWJHwNi!2ep&SBw{Km7iEQ&LXNAcJ zb)hWC648~`l@i*uzv5iGBQa(bU$))k=iNTKn(gRp;@AMIIH8W=kroRVbM`z)gG5R$g1Hw5__d~4t=E76kaDXGY?ocVxIE(5fos@(Pb=1Z$Z&R zOJwnF#tcV`2R?oJ+z;2VGrqzwu>kttrWmaZ!NT9OHIs@z;3p;REKw7{weXuM2JCJL zSrUF#N-6$K2ZX*xVq+nrjRHs@0cKk$ zj#(d%veZo$+8gaIhRBAF*k*5r{B;?wNZ>M~g@G=Osu?wsBM<_P^KK^51SZGI&_y^T zB}!Z6D5(gK34HNn~JDp&lN5NlmIlo+SBKZmwB9$Od~9GdsOVxW!TS z?qMCA70k(omje;5(3G%bS=a z1m#V*OtvzEHWJA~LGj+xk?-dq@ojmr1Yz`e2~H`e_QuC)P3w$tvv_q;XkW5s8i*Xd ze#>VG(KFDngqN_#V@8@^(}p=*-T80_rBKr7t$pH&H5ZN|p~5~lrU(P`Zjb&fDq z<8YgCgNYUf-S3KL}8_9Oub)| z!S~Fd8^;(yC?zNGzZX@8rYuZGlIp*kmH}nU{{O-#TVc)Ws}j?Ub8RScKo+EI*g{L; z3$s4nPXxGaqVaEQJuG;6UZa$L=IrG8i^FM}u&ikN7aB*gjUGtJPThHt0VKqyjev!5 z-Uv&1m|lf`4o=a~#{gEVqQvNvX@)xSOcgAcs2k;ztu-=Tf=vHvo}gsq?XQHejQn)z zR-K;q*S0WQEidG2yf<&kRa8+D#+rR#r7lvJXO)`Pls`Zze2=DJ@v&U$3eH`j&EZ(6 zGFU;j)5#`} &++O!$p$pL?>y0Js`zM9s%}`h9En~~;5djH-`eTu~PId1`Wkju) zD=9(`P>$0;sJFuf)F$8GybmDb$xK4JOlE?|5p1z>8Ac*&YS~g{F$-~&p{33TJO4%> z$8E~0(c&(tn&Eg+Y4cTiuEKVT9V73J2Iv+3`)ZtR9L_Yj+P0*MW;3w&*ESsR#6-z5 zYvBN4<<>Q309%2Ux{)@A55&5h5EwpVUd&y%s6Z?IR;8CzgEaKTfd4>wB!3*IBRIO? zqL#au)mFzxBZI5;;vGn#r-3uS)@Q0biN>}D*%axiwSi^vlDe|O9tI(Aq$(l|k|Ze_ zqH6L)A!(m}3dd3N9WupDYjlw(5dD)XdRUlc4xQ9=s0|1s*a!IpU#6lP}3U&8{!nvnv^TG1(R4Sj7C@ovq^ z<1}uPw7W|v)CQx=SiBIjc@u2(l+f$47|T>66H7x=>e}5mjcX3^jwuK|?3wp}*jdjU zw}dhRfh{w~vp71g5h`!O*te51eYu!q%53W93olI@ZV-|zScKP z>{@gnmwox>W>25gnn@3Q$ZBii}RlfLgTWZ9*=I-EGdN;hVq$ z)(G1JHd=#FB^a+cNUZICEJc7qR`P?YsL5sUyyNTPDGdoMg^H*ZhRx#7UyUTeS_Jbt zakLM*m7IhOL|{KY^*1@1KM*cxu{;|8464?E6F=)qkI2MX8YX3t>I>#VHl&4%K-*@d z6pRQi90?lALA!^xs4T(7;V^ClmTy3yhj1A`2!<^UN|a4vC^9Qu#UWJHF&ij8?jV+; zla`)xV)oUP#;4a4CL}&HmsalGHsw$pY$#D+nTp0@DSF3)wT;QP{Gg zw+n+59=9{vEA%N`8tQ&G)X-NRs4GaO;rMHfb^|NeR%_UAFZ7hu*PEjBZvaxlef?%Q zXrR6CPL+cNvXC5CWb}9%>`9BKK=pCjp_|2`FUAj~jNM@;Sun(o@zWtL#&14DNR<0o zRjE7}&Q1+-_tj`4L;dfUTE^_{y2$wLkH0nnJJ}ulZQfzcN&<#o8JH7Qs6L%y+ieY4WCVW#aX79=Is;*Pta9yAv{XWuB=(%%a@r_ynXRzTCLhrb23hnYfQ5#~NV$IGK?SRawXk4M$9G`xcGF?oi~U3}vV@iiVsLq90gY z*AuKxd6w8PJ&~i1>8vsm*y5-e+#sZ^Q*9>PMUOQD>V1d@8aeYK{8O5Klj`dV9Fx<1 zX|Pwj-jNcH%IG)yU%KKy3r zG0#_9K;#_IXX>7WV8QnU-T8$5{&_Fl!A?d{_uuRj%_oBRM##F}azHeo4 zZedDcPvOCmza|M#O#X&_bp#3F6-$l>;K54sip&h%=c6Z;S92b2u6>_C&DlpPB6ab-Ql0b-pX79=}p6AHaGN0ct#q3dK zC&Ie=qLknvpZ+jCd$rvE+oYoHdG2^>IzFLVI=|qMaG*?BEfd^&XF3n@+p76q# zq*2?>7e-gX@E~3a{NLRVzY`uhX0@Kx>4Dn~#EbehOPftKrKgioc9#_;gC=o`{1CcGi{*#ig68P7=t`fZ0yzUZM270P$)J82if;8#3A&;+~$^cJm zzo*>1J*h^VajKKS)+`(M-4p^;qo@jZuFCeO>GNZZ!&GsDPFKH?qs{(wH{Nmltmtps z36;VN$uTu|0}CB1RMWa}Y2LA-`B8*Q<>7m*cu^;W}tRO-KfE*#fkyKrcI0@zM1+09E^c{<$N!-uhg*Pp5{E+*JH_=ydiFD_Ke z)8eRdSxo`k`&3}6Hrwv$+jE|h1;EM4;bKsKVP|ww)O5=&D#7nuV{l<+`S(n!IpQxp zmc*e$RuGww^}C~&w22V^=cY!%PUFWJtEPvE(FRMaGo{mOs%yXJ$j3k)z{={XLcC|H zsl;mMxAit$)!SiBx9xg-cnL@Q>8ttn1lRET`!=DD+3cK*L}`qH?9VZ?->-g0m(|Y+ zp8PxMtm}`R-N`Eoy12L62_7oBuUm9YKlSysyIuE|+{zKmIT;t@<+bX41YZm>HFGs& z8~xC2)30CSSQ$t)9~)AQ0?tg*`xsVSToU5BNYiUifw4&xD!NV?{aHSm^gxLDTKk&ju)t+xU9s726$B-`zmh{Cc$=a#RzkV^C z&u7tHdG96q=@RqZY z6JTgGgV4+kt`f#2#;CENI!c7REj#`a*nP9~WvRcY)s8-@d(%#ee$<3OHi=*5-->{wa(r(!a<9r20)VQdet_z$aWkHhMe2{r>$PUSjJ= zG#Tu!3&@#sMUk*8I;LFfaCJ?s`0KQ{ z6q5dknnH?$EjD{otwu9pAHV#k%z$mdc(23L`*xhzX5rhlir=*8b?Qq#eRO&y>C5RVnizE)k}f^j3^WNmdH=DJuz8pmXlkUB)2ZrOYV)E@ zw}T8y2tTub@GiYS)2*2CD(7ENli5plLjHS(nBnYaI`WJqyf;YxaQN?EzEY|C&e4H) z^=#qm8Ip19$jW-0_?%JFY(oa3^w<{t zb0tby_l8ayzb*9c8Y-~jwP1g_epBlH04yFX9d=yjtkeN{-lesV046`>o_7r|4qNC3 zrBCtW3KNd1E6$iZ5x_Pg@N6(iyd7BIHtAV<8t^G+HhS6D(Zsu}@=zMfs?1Fg_%* zcn79%v-z`$f)?w8a&`4hLPV%t=X&@r;#v?YDv|yqmPPL~A6^#{C3z8+W zCNJB;)R=cJq`pe^VRr+ljN3rma$#ZT(#fjXQeUf5;xY0TBWftC0F7O3#M8eX`}=M& zrGw`8)+K+te>ZjJJiDwkp;9Io0e`mI4jl}QJr5JtW2$wy#5bBP@_`2(L{WFMD!Wl} zJ?R_}S2{cjVv#96)X>lFtwf%D6`%f?xI&uUq z4^U{ysZWUOtg~1t2I>%fuBL`BcC|O!8FfVK5G&hnZ;8@#hH9T8U+mU8I?nZ_734Rh_eH-!vYQ{pr?92OHOwN|(NY0i(r-UI6OUOnBc49YAgRZVRUp zt@pYn)qdXS6zTA}7#%*e^5$Akv^#IEjuoH0VK760m>7Fr9voP?Yo8kGKh9*Wi*jAX zc1?+11w_w_0{Q~2Ns3hff3nA3;xrEWG-^K0eOm+uN~ENqg{q1n(dN@+Eh8O03mo3&xwXAekfq+Rz(^p7b8PHp#0%9mN%&0 zD@h31xS2Fgc1&8oHc&Q#7)yFHZ5*wAKTb%l9~~aznrrTh(pYxG5m=QI@R)t672kXH zj-_RD^Dpbcp_qS>@T`7P1rO!cJ4zV^`^>=-Ee&`qrbn)%%=eq^iO&f-iA-E&|Ea4s$c+ZUgmN;KF9CCC0GB}Z)6Qa^Zn09Aj#*Y;>(Ggl#;?A>#M95JU~-k1s+TL-DsyLhO7S}6>vu?M&9j>dg3~%>7WP7qKsA~%n6b#)4Wqmpw0Zx5gWl-*#Aj8J4CV3#|bsf`6 zk+Ko4jkczz9;~DTjVO~3u5XW`cRN>KJ0Z_6ujD|LdtS<~X(;R?D#ip(P*3DQN^21U zo<(mlO`74EKq~`(d2&6I&bpud$iD|E#2v9R!Y{}Hf%z9g{KsH@1dF?Uh3~J0kO5s?;-hLMnEo z&na&aCbBq(F|=QVGFlQzkD6nsKCgN`=}Q8Ty_>0ZlK3Opp3O>QVMT_7 z%Ttob{fwO4HRdJ11-WoRz2BPJpFX}J=_-sk_V_`A4sntDBlE*w$~Nku?3n4$OKe%mT zl%4-GF3F1axv*SS38% zK7pIO`COK`6uk1pWupOo^2y-kN;g?)T6fnLTzKvvp^h^*Hi~VC4c2p@Foxwc+!Z9= z;Mhth+Z_M+*X4-m91bpr$rXimp3mFOcITFvv@~3;t|cc{R{<2l^KD<rKJ)%XCVfcy71XTv>xA5zDl3dCoZ?G^`^qns zLWjDizc$2$e6ZE)7zrQ{eiHGn?4{2U=(m%0OuC0nuF-uUkr!#<8R$HD2iNT_BMl1! zOnF3fL_(V_SPemb1Fc~G1bxqmbHm5+_+)K;o2?^*$p)hmC5xaVlH+Js&;X;}<*!(_ ztfjYKQ{&#%r&04*MR6l@A5k~2Kr5TZ&Sxb(vwQun+cEcwLkGZszTP2#^y4IxzzV@l z&Uzurr^?5$&94Fb9VZz^==_vv$DEB16ItJ7i}WP8MK7YC$5>bD#Ned!%KSk0-l-pR zvABeP$aS9({s3ZusJpn@%IW2MLk_g`&t*HTW$TY`WBO~R2j&KVTP_^T7)5*gwkgoN z=b4Aq+O>M<;|5^RIzbLI(XBhk{jug|r_%KF@43S@O1ZZgvDWsXYip32q2JOj?P@Lm z`a_C?U+4KUu@{=kHKQN4m|y4f22_B3OKS6^gw1OGd1-j;OU3TD>UK9|5L?Dk=)a!N z&b3d8`cw0OJ}hU0Ib}Jt>@hzU>XMqq63XtG0fsYaO#oVN<}oKmU5F_>+}i5)py=86 zY7)CeZ)^R#;Qb7l!_80|1vQU*hMIy>Jzw`RDY6+^EiU`7())ta`Q?_bVZY90G!`i03*p_;bQAt`y=U}Z!R zef+x-UyF3x%Q?#?aq+^x9BHNzsi#H;-|tY#eaG+4m*kvWo3FMn*B2)0e@`p)q`+g} z{OKdoQiYkv94CEdO4GbDO17gz&Na8F+$iO9kpmpIw+%WjteR|RcYVL$t#FyIIyr<-S3OAgilV#xyIRDGc@Wg{u!;^I!c$YOJnP=lBle#d~J2E6$pR&2frP&A9a}j zvl|&LI?Ipt;M4cuD?RSlY4%Crr7mB{tu%OTzIUtlv&~zTMHTTS-zFNZd&CP2C*Ng+ zmPNq-Pn7Dopk@U&c5E~_S|K= zU!wOb|LCLoq(N;4H%&V|u$X9$`KI5!HwGCQ$USgS!7E(7yui8Rfl}n)vbFgBC8DCR7=902Uqax~w@mGLVn<+|2z3_r>t2&SnFeD%!v}1hgZ0#9L zSmn;F=A}CoCLGvsR|#7wDa;Uc`GuVAQ;s7w^lVF6g*NPzbGHzRkoAwQeK}blv~!%#h^%Z1qvb==OYM{T4`+ zJo>;pv8sABx3b{P6uY-*3p)R*=D1Q*P`UoS!RKP|e9gOp3*Zx(W?CR{^WnJq@Q{IO zR-j4Ye?R7MoW1Wrc?a3(dw+%)(@JjEp4==h@b?!}M6WzFoz}CvuAAp$_Aj4pvQ+Usjp-FaNG9;g##B zt2tSG(@NkY>K?`Y=iBiL57Tz{6Or)(tlN%&LnBhi=^lR9{FJszXL*pg2oKNvo=x;O z><6fr&97|o^+Zke<}+IO18}={Ajefl8xyU99eqLpL&7rqd|J)qjuj*S^!&6wY*3=D z;)^vO@9uDQ@?n>v^mxs~`}mH{!@tCgLlBE{So;m=i^s%bDg80|x~RA#6`I0_LiZ!{ z(>omv!X^JUbN+uG&nIh%K?QWub&3{Ir786SI1R=XBpJ!s^T z_rVvj-SvYkPm2nSdUtsv3Eg`Q)<>Y1A$)(ESfQpT{%=_GFtFrMQ^m01F3u@8aS}l@ z1brO*p1d#t4Fv#kR$?}rYn96Gs?+|~H;F;ge-JggeVsboPjG+_P6V=P4^yIa&Q2io z()FQ*`Stto9~94XXNz0ilj~@M*H#Jl%a;Ws&Ekg7y4dFhV(EY5H?u@(bXv;yjaum! z7CIJU;hDZUs7F*jwr{s0%pq>|JW3tTT>q-5Or9T6>Cb?(#V@yg24O$5hatW-`pFU& zTA8neXP8FneRl0PmOB=_t++N>(f-7fwB5_O4H+7DhNHs0m{cn>J#&0E1Ru`kefvTm zvhMnu1}JB$x4MXk4er~bHogaaSnqO|iTo4aQBa^Z*}M@@aOpu{tRhjfSv~#=Zur=D z;Ju)>{+j>@@l{6ON?xeG9tT>yc83qLDuDZgw<&W1$6I@E6iw&s7f0{T#chrXB-^t@ zwSLUueDed#L`Qr;+D-oZGmHs^QtR(u`PbSv%MlY-E~)w+*4qvyS%qtFCd3|&E5HWt z+SZ&XDM*ttPdaBsT~WSpZiumk;c9muWbJzIs&Z}sK6pDHdsV2iM6Q<|BWA@7?ybsWhtV*XK+3BZqJQa2}u=B+Zp8XdbaOSUP2+OzsNdq zKhc3cB|1-zKl!#<7)M|^vE7Q-IGnE26j@emDqD?gXEYxx2ey`>DaE4aeNqgfH8GO= z^iC&r*Bm!VWarZlJ@P5G664@RMyByW=nsU0xx6nc5&})$x(ZZF{j(GpS9%k-WJ#_Q zz!^S{!y4~}@{NTQoSbr9kpq5oFV0dAC*)Vw82=|S*VvYGHExtfLej_P`sNxd*7LUX z8#TBz#(xRy$Q>pyJ@F8C|A{+ov#`(KTH>NAQ(#`glfwQk>(Tmn)RW(%#^9UE$-Csn zNLKXdH+13ZozmYo{Kf=$P>7+ge!UMH2mJ3oW{M!U-R*!_{-$>Mc^^+ympA!*ZUI~- z&bGRuhn1(v`YVWY93DmEHz4j#WZ#Z& z#|uDE-$(DTJ1xS%Gxa~E*S$<^CEu#D{Hm^Zc6FV<9rO4SsN!D2I~*Oi`<1?G18N~_ z(6psneJqkTmBTeZJtCuKmeRkV! zEO=kBs70^S=V#4_I$^+pvA);x{vB!!~z~fZ%62DIg`c0RQaE1tF&f%@COD-UY7Cv;FNBJ&f zq?NK_K!X23`devZ9XW@WI$ZpVxp1a6e|Z3X!H^?Qopb(k{2Dh><41lv^qepZSYj<2( z@g@#hOVg>f4?X$f7q}${f!q%y`qgFimJkMATbLyLv| zO`83?Ir#NJwEV4whq>)WFz|3auHKlS*LlnHDe(h&`QEo?o%P4zv?LV+x;c|?nK{C< zYLwJZUR$s2Q3CJ-nm_UzKi$a+2P^CG1jN&5vVJuf;#e>w$_v8+?U9Cf#tlKW3aI@& zv-B-c_#wy6n-5Fte|hC4`;ptW?&860Tu*p5@+Ov3%GO#R4OkI+*Z{|Zs zM|7zUVd(QAMUs3PlZtbxo1Pi8rvv3 zb|14^x<$y8V?><4HtcO1eB6^Bp|fJsz<)Q}Wz zbas^4k~iN}SbNG?&0R7{nboKTDYHxrp}*F+F$Dtt%!Kwqw3pQ6>3Ww)2+5%yPP=>S zA09v5ee6oQ`_b{`@N_Lczu3&pK?&7xDfhoqpBle^#;1$v+bcRB$9xa}%qdY-c0CL% zUmj*|ujhRz_=W|cAZ4q<?RVzW>+WKZ4nleQ0e+C4*~JM=CqKM-x6{jEP* zqe$O-l^E6=fAq59g2)2)r86_pwEF4?v+b-4Q(kqY;zn<->vbPgaTsOcF=H3Xqk3p9 zhNv2{q}d(rvSz=2=WXx7G23kCiERR1!8fu?e2Ki@0KYtYru;(d9CfYfU3xuRmCxH`IH6h;F}Vr{KThHZ{XU-K*CsJ36`_-7i!J1n zH6h{C9-nvO3{6aa3~JC;ukpX#S-li__XvDAd0u{ew$-4hd!mee_L+I=3XlA;@=WYW z^w{$JV#V0mDTvbs&273rE+Wb^%Z^$ct>4bD=}1^d56Z@ycK}bz zyJnhko({hB;1|arV*0lErF*mHxp~xUI*S^2VYDvu&%<7jAHA~pA5TB2T;X7=U>}8y znTU*4`>+IcjW7%|;LovGh07(;97!W;RsFoeF7qUzd%hg>ywYMs7g;d*X2{KEROV*} zo8?CycxC0pno;u$=?^xgNy^CB%um2;S3w=lz(%Gc_0d{3|j^AV1XCp8N+c3q84llwa)&yd_tfc%dd@7hEnGFyxtVP6S3ocO;Tyu+$WED2=ruq)kzx4j z^7N5#GZ2n5^I}2j#oiAvnaY%pLv#X3rZEcIB8bD?2(zCi*EZGEf-N$M?PHlM2Brylq!6B-OheMH%l*C3eGZH%Ug z=I;H0`Ic1~C3!9R4JL10QOkkR%^Nx|Is;jJvQLQ`_J6F02FliiN>YB4{XayV^&{Q? z`~PP)re~(>Wu|LlI>&T3(@e*7dx~ME+q5y=&2i*(Pj}bhIQrn=e9!yy%lEIi9*_HV zyWg&UWr4Ud8DA%5zHQui++j_Aidg6qGC@f+TCpXL>N|ETR=?BZ5cLwCu5-XT=$gDV z9oS62XUj;Q!VVTL&#o{5H+g-=PQ)pGipO|Jx?i0`#?L8Q7c=Z=$*ZZAOgI`P-(k2; z|P6x z_jBotl6Wtjrrs@VE;K3HJfu}ky%ou+&cVhptPvZG+i_LLUiga{`WAV3*a;>hNfVz8 z#5l;Q27>M7V2kN)WnA=}8xI+AAIXh%)!w@^z0nlPH!5vZDDM$4a7}8+0by+N0qO4_ zPv=M2@+cu@$eJ+z2Z#q9GU^ecZhRDhU?-o`jWR!4=157^fS9$xjFaL z%5n`9v__Y7@;?yUUN^gxb|VQYI>q|vi>DJ}V^uJtD-e~TPl%BNRG4)}DV3JSmau=k z$einoT;oWBbYcmP_+7Np;fVqKjqrscBUXu|x%>Wf|8%Y!XQTYji8-!&Gw=_3br3?& zHcfU0+WznJ*}~uHew{b^>eLn~=-etS=>6FJqsUZ9{*PYd`i`YIH!KRT3%(E}0i>0# zeltpdYqW_A7B<+YW81=}mPDyb%5dm4*#+^m25A|`NA=QN^2R@E=?nmrV0zPQXDU;n zK8T-vMuwwH(%Bm(`R%Xpey5!Wp>#zTR|j}&p%)RKQXDyDMcvy6+5X>E^x zYL_}wEkxRCBdCHH3_kcaYDMQLE7uw$ z?&0{V;^OV3xcv*N)g6FY>c#Y07{9m)yKGgjYV|iGOE-(RHxCGN8(D$Sb}_W_%>|cj z9ircPOLoRbU5eyXdKi${k8L4q(vSXhygZ}=@jXdDcEd3t8{m}}|Lz;bPodaF&&!k3U=(GzfW2BCO`WaLo4)o6|Jrz@N6?)(VE}L>Y^+@KP*GcDx$dY;b^0 z>Bn;0!VjyL0?qHSvpx?<2b zVtEDMhz|sAkQtPx5>HMyHc;eUk=sB)j@6@d3tDH-6K#K)3sP<8K@Nc=xWFVun-$Z4 zdwtc(GICh;Mfr6C`9S%{X78&y^N)H*V6L)Hrh#~>8Rhb})cQi+CiZp?a&ba5sJE`l z98@Y(`|TN<&b2z#_bP$*U%bG!((%vpaGKK%SHyVs!r+{0 zpJ%P7k$9o0VIT1=^qBem)VJ?U5euDy&0a8>_JGTsREZqTjkx^>YMN9|oT zKNl#H4L3)1XOgB)$n90Ia>z1^|2D&qNkpP!X}w4!djF%cTc>QO9#gfXMwEL)=S|}} zi0>J1M-yAPGbZuiPp&|wNhi+A9oUjqA=U*tLMs`4ccErxE8*vQH<7sah3Rp~s#(Gp z&9{l5V8K(c>ziFIY+82C7tSm zli>0wA5HwEJ&?^TwMD5GW5oH5fcak0>L>J?ut-s<^@>qj)Ra?rQYehzo-BNYp}9z| zuc{;BlBA^pq|YRjq|fN{*$YbJoba}gG@Y+pQ~#nYGe8s^qu=-I8PAA-4&U8=4VyAA zkbhCbH(_I=PPJC$`>R&X)YrtTzx~rvfjZ?XS0<%kN5H*gRQsC+$*t)Qlhz}t5?osJ%6f1Nc|Q#lk7E#B?KEq%0W@a{xb`*fdNz- zDlO-^Cad@^Vg+AqE?W^dcmzoq&jjN0VI*0v?%g1DYI-meG8+F6&{5jwdX5lAfMmY6 z@Ub3x@=l$aAiPh;%Aoz?-cz24;G?N16GAA+7<@T!k)!uji`nIszQF*?>drUrxm%pD zzpl@g8eVhOI@Zdiz_^JQ`7STU)BONHOw24NH&Q!wV`Lxm*_S*|?|#h!niZ5a!h;f> zXMdObTV}B#3@`i8_=N#^SYdnxP|+vVc#d8*@i4P<31t%aA!_cG?e@ZHlwfQUzbAjzU zY6|Vl?9%%*66iovNhOSg?p$AcS$HgP?#XKy&mKx2IO_X1uiL7c5k14}x4p6v60~!{ zp8aFDqF`z-C+-80$$O5++9Ml6LKktZL+ zXE6aHtdkObYx=y zf_=SkR;?))JnMgHEO_p5U7woY`cYPmVp%KXy=4>nSBnKNmXfId(0ashUk-2yS|$y9 zJa4(!lnJ*8kJ@6vGLbavYgtMl=V2t*y5zmaw9M)0jtRuK`<5fD(4P_b_+q77Ab#i? zv|gNMA5De6j8?fXa6dHRTF6y!|FD(6m9C_9OJsr{eZ z-`SV|E)yVTHiX=*>Z#aLrfFITp8m$3CY(eRAxJ$WU_#e4P+3abA+-Bk-^ z+9|giq-hcREcS)3Yl@Ce=KYI%Cte%u#}$r^09XWY{tvI}_L=#0g9tde=IFsZ`K3-} z=DZb@*%Gs*bW6Kde6p5Y?k(L$x3|S=wqo~`ZTxJfql=O+)|<_n$fW0pP6#fy5gjO~ zhqeCj&AEX4{k9lmY@ngjl&~@RLg4KL_~f)E06+d6-SnN^py;rMaGOib8#Ncj#P5af zk~!s|BZS+!lmaJ2&4 zw70z;cVL6%1{1dmZ?pyNTEKd7;OW)r1Gk-Wva=C?YtJ9s%r#vC8~qN7-UctS)L{$~ zsEvE3?>>8hu_7mn85sj$S(!=@tnkxmao+%bXY55Xw5f@1@;9_5!c(_8a06Znr-`0X zfwv|if$9~+#~zsOa@(aApE$v`rP=mKb|xnSdF2F(E1&N{8Y#U1iYKDVwC+8-|z1tO`fz;FzBLyEkeI(>nSbUswaMytN z(Ic9i^hK}4I;-1_u_H43+E16GIs^W|z^4;oL5VqG!G+8wnDvP3D@q4Qu1vK-NTHH?|o4BU=0 zUxDo^+_|zSQs(%v^`?#0^?6~ z4JmK>Eb~I2^LY6{HkH4`a?tp|68;efgnxA`0HIn3Q_$JZq`5}uDE!Kk$|#lqrkkNPa6h2&3<8%0o-0;F6J*2b3!OS3FZw? zhlB)L_MQHD?zC`wv9Yj@1Z28cJYeH<@g_1|i9qb&yL%O-bQv^y}#) zDqm!99sugSAJb4}5OwddP3(U&;pgFbRS1$8qoai(7@d6 zm#49JeEawG{%iuU2#tqQukkk5NgE3f1=-C=5@hgLbS=9hwC!D)u@BK%d<=1QwotvB z$h-oM#-Nj{5%E^ZppY)m? zRc&}0ZP1YqzfZ7jP2Kg1jUJ2<5txxi4tKbJE2-AZY@Yx~>iTsJgsgjyH6}M>fL~x} zm4R7D!n3ZR=Ytod9lI@dK!n~-nAjh+jqR+HDtmv9pV)@4K|1Dzy%%Ci@SoesP<%!6 zf6B5>@9w1WAib#A`+7aAWiL1djS>*LsDA(wuqK9Rg&AjG80Am}g_h`E%w9R*x^ywh z>A)_2#R6}vDnqXvt4_!_J`3m{qn{bhD1imU>&2^TPrDgkcA7~v|5o$=sEJeh#NFoA z_LH-;l!-o-Dm64r`YeWKxk~+(JW=u832H;>^VS)NCpe*|(dsn-XB18-9P`fDqs?do zUKz3C;`RQGz|^W*KhczcsS(IOeO>d9R#dqR0Pw!dc{J3Ea9fMadSyQt1O=n06PkXU z{-4Rq!pZb+sSR0@*7%~WcANvo^&>y_RF*b)N8iM76H(l1wM8m_+orQIUd>n%wH_S)GT)(g~7Ww4^A%Zc(0pTLC%urXyCAqI=*d0tZ#f7cb zfQ*{-A-pc4EMHkITOT0etXYX8a6V%IWy$RdyFCuUrqW{l=cMG0XvxTuENEJq^6^wn zf=lA8dg8g*!%8j2O?`X=5g*;vM`YlbGtw_ldQ{!qr9v%GZhJn{5eWl@I zSqg^Z9Ym^!$204^5~b<}0uCk@l-~M4Rn)lxEoS2K&(L)Lj`TMvCGxzl1pZN0{=N8O zz;y&OiNyaN)H92Rn-bDou=nCV?`Z8TfyED&0!BMF6^aV-zCIoWyW7l5h$>i%P~xP; zb~155@eS6plEj|P%I~;Q$2k|m*hL9Tk4pG=+1#!4nm+ug*je`^d=OD_ZbV&H7Oabg z7~HgCo0OY;3W0{h8Tb+~BO`7MW!*w)L^^!TYFCUGGZKGl3_=p0z+Jx;XXvX?MWykZ zt?6@NT~=A@iaL!^`H2NsR(T)+;1<5i+ct0%zJZv=fCz+<1zk=p#?GL*W{=^v!z7=H`?Py|nNdQWB z$xc143NM z7ktVW;l?ZnR=sOgt?nX2ZELX_PX!W3GXz05Qn~yS(TZk=QBPu)X3y&4N6DnD_*;V& z8W743Hwi7ECT=YO%zB(RqM(SLM-iO8BfR(+wJTUe7Kdwt6wpFA_EW><-|#!p$E%sj z!2A7@5}Re-s<3f%r3OsT5DK;u@kGUEop0wraIDUg7nB={Wl0q&vGxCXqEDwxn?9dO zjap=)52o-v##x;*4V1Q@85FQc9BOM>swJ&YiN0GOrbKaE%c6rhLmq_)RWC^O}ZEVbJ$9P%B_vDMTdpTZDo6yCO5 zw`b$=+||{=qc(m_U5m_=JJRU>k&H%aCB_)lgJnbC>SbMV2ls1+?ly!AXxUj(pF+PF zs4j&pY|UnBvWm4zhIFuH*}~>+!0rMkXcmvvc|XHRfuz9ob_-V}O;09y%vlyU3oRX7 z_K=S+bGamuy!YxAZj^R5W)XL~8cbR({K!{in}Q1QxDvQdw_3LZQZ8wewvytTkJ2 zWKjDMz;5gwZ(ytvdAbZ~l90NtP)zVmo{J~tKQ>@?Z!@7>7mB3gKE+U2?)P>o!rbZn zk%8y58Z~W-7pp8@@8Z+q8tE@Vye8~nTjv5f8|#THb8{Osns-GmezUZA8a`c>O^q4$ zYrvhajHQ&>mYyiR+n7xq@Pbix)l^#*U8DSmH+);BF6s9UQKV9-GGO0x#J8PrGdCtyG`w_vBu-9GgP@`hj2Zi_{!>;zLVAOAMo zp+r8>!)?oPq%7@r`Y0q-z@$F~k$bAD;8a{A($aY5*Z>ChkqL+9X0tDz#tUrH+HnB) zsxXNxC?|CWOf*10u5&nyH(E&|YzK??(w!hWuk7BR%(o&2Y0btTk1aa0#O(jnOD=RM z@BDYsw(>KCZ#Dn(l?D4@m|@M{KE*EG%0zUmOUW;r8C|Z8w4XC^5l0{dFNgD=uh}|-LPvR{qa#7}MMR+a>cB=X0D6N$@yNX| z6~l}ealK0LVS~wr_pu61^H^axO^lNC&+KW=)C-oK{JzPhiGE)Zi~V5n`{bkkdVhbI z&k3wY*W1;feFTbFX&|Ty^hL`#^yAk0n&0z&Z9T48V+SO7zgth%Fh?G)1`8sU zW|ktdF-X&k4p+omJZ?7&23+7=9t0nAefPVQbk)hJT=&H? zIp8JHY&3(bQl9t!G=0Q>< zByiqFmo$GSzx0~fdCBtXuB~JW!H`8Acbrg&HQ99|4Y;`TUO5-mBpA-27g>9-6;A z`0N~14<%?F$=`E!3MfvQhi$pKwSar^p}hFsUnyTqXBl^!N}YcC=zgpy!AO$Pc=cpS zMBKpZK66P~619Cvn`O;Y(Y`zoweRSC4=TnRRC1vjq?b1w6~5Mljp6P2?eDD5Erj)y z6V=dGK>*9BFN;~$N2K{_*{!j;`rN)g)rQpvs(~EDID5pns_N_;euQK!(hRv4^0cX3Wk9));36)hWeIN8LmJ?`v>uUx~qD%XX7ipSUTNRpT!?V*1U zUimM;h7-G<2FR~dgd8JK_%!}Kw2tl?e|1je3^=_X)^iOgim&yC6#W1?hGL69GbUC(KQT}HQ@|Swfee@>xYnERvb?GO8 zT506>`LtK_=k$Yq2SF`fyKNMOQRN7m|6lxut9TkBtt%N?apKn(KR9J2`DUx;%%DvY zD@ymfYzkx2e4(X1rmdZDKkFvP2nO*&3N@w_eyo>CaBc)jS1(HvAnt`YZfE<_@4p|! zx-(M^ucUXsRSW*rCvtz13c#f{tR>aje6l0IqsbBN=gfBohq+0IoFAn=e`B%m+Q>rh zx~R}{?)<;Z!4WnA-3cQUB*|jNdpjiHN**A?OP->*GaKMg5H<;)UhSp(JKlzS^6|Rv z;*{e`l63bof0FyBnlw{;EIBq^xIty}W>^{biu)wE)(`T2ckg{i4xrczqpS;T_TDc( znR5SrHbs>aoH z&>aMk`P!E*Zf4{|VXOvMtnE+h9EbG>CJA9g?fY#wn_h5ycC*d7B{n&K+H6Cyz;QhC zT|ROC@BX0`CC=BXK|mUDO*(D>6!uY2OeSHk( zO~t=)U53Uyqwu4WuIcc6F)`@!+K@I?JKp+O0F}-D>$o}jlqF1T(-@3YXxUv9X8>Js zGYL8b?Rsmv&JfOGS$4dx^?DS%8u~w8ACt}h!TkA^^LiuKcEZj;(3?-xjYi-rG*P2x zHPl_d@d|%Z0wg*|NkM;KFo}ylC_ihxaeAyRW3oL{X1sY%_9i_K6L#Pd(0DOH$_5iv zW1BfkXrT8ru{@RZ;WjR?%8oLPCmbZ5f81ZbCg@PIF?;QO@J!j`@<~9502FZGcpErb zdu?x3^6()=jIV+t^vV0Ad$dJONvN?x#Kne;<#VpnI6!j}rh{c1(MRzx^w~48$L6}C zfX=_t>TZ3dLR0X!amJ)!Gc~tpgbem#+DFudyc10NqB*BpMDi@>;p5NaI&dM<)7H%5 zftIDtle3ec4(wq2d^eZoX5)QF+vfDrJ^w#Bxi(WmD{Pt}Iz|JJQkZc^hDT>s%ygXq zDPN^x7tqvr{x?GD95jqiCR5zgIp@Piti#J}O#QE>n6!L$&R7MZm;s5Ob-$J6j*0mf zOR2oZS~Q0x3-r${vEv@ZaBQjUioUbOEZ&xPw)Z5U(Q+Ab8F`j$(&-Qxro+7izDm)$tYuvf2eBXQF59g{Hmg#Wog5RgBMYwzP@bx;a6{E?$f@H5)HRP0Q$ z@@)h-YqH?cKTN&1vVtEs+-6_iW&z#-1Gl)n9dq#sjgu?NN-)b5LGN@)xmyy1iB!Qp z4X?X==La*z(M!$K#(iclUHSZtw96?;wdEuJL8?JQE-)A?_PY0B>+ibj_TW1C%(tZq ze4u`7ajxQBZLaaW5Lyd{fQ#aqK0b19rOQ<0o@aGg&zo>6F$ovzMzpO`h|8vpx4E{7 zFX=~A zEg&7rsu?@%&5cipUs_q^waCg2<$@mFJYYi06Q&!MOQCvq1i!32G85z*t0-&8*;Th<6T!vR5721U%1{6`bsf3{Iti}q0T|(*v^1-D2l~9E&e>jPIjoe z#G2%Q)QZ87i{hfiQ;H6VZ?w(@AaVZ_uCO1xUo_Tl&GFp!35=`F;U7-( zP8Z#AOTl2+G{JufMm-K-U;?zE2kk-%a<|W&b zm{z{y!arOm8W8xI1~vO|J86PiMij@X*%5MqhE`yd4s}rMa*jIUHrElx-sS`a#vbA$ z`pe0a$9>12AF{IcupC@~0uXQR@zpv|0-tlDLQw8<6$oVYJ_NeoBz^GL=dk^UUvDGR zTM&L%VlBKD-jBzV_Ag8Gy(K#4IK#0@L#lI1)xBr|Fk#wlC-n6hs>pXYf|D*VWGL%m zT0k6T=qJqr(qQDx8phMKpq!EATu^;ktW1a50vhXj3&~7_YT5!9?=QZFvFq5|WI!%+ z6S$B6Xf#;!us&YoG(2H_>MSm77yC<#$^ec2$$-SSryWQYU%xEY@Pl6k{aY6j<&m!% zE#=Px#a(|#InSfJLL66^+lgK5SFGNe^e5a;O2`{y<{DN_ML+u!B2uxm!t_LAyk=Rm zA)=A~U$sO?^U{z$lTSP+?`9=NodaZTw9t)ZrI6(AC^EYzhl2 z*0E*MnN0B7y*^OSJIE&{d_J{oBN}@-lC_le_O#%M&`AbxcbV)Pjr$fvypC3dV>bYr z=b8XdwS2oZ^R5F~S& z!*{NRylwptNTst13lTwGH1&I8ReyRwahsmSPBz6<6^hq8(d)xpJ!uvumj$BNs*un)3O@!Y$VpG#uF4i-?E5JC(th&`TN8DJ zP?`%@FfGNkM7?}8GHxw2H)jdh)r8$dZW7gz2@*M>;B*&7jj?{Q~%}pE(A*OS!+zypzbr-k*-WqGrtFb@;D6LW$(F+PvHJ z0dv@Ir=hadA4D|D1krk5iZjxqvOP*;s>vs}3owN%e^o2&+#Ou^mU__#f97?zY;@A? zFUOL#q8Xtgo+4k}ta_6Y<6~c>%kzo(Nq$;t4tT*27QbT?Y&(VHo8`;u5}u~+76 z0K(Ds{fa|n*)m=jPsx?DQ3~%H9+Vd&=ZleOY1|98K?}jGTIH-6ywbmTCk;%LqRC-6 z|DCK*$^bKYv8B4lQf@Xc^db&SrUJKbeC@;eu#47jawYZrIT|XBM9zPayD=9rv_Mh1 zwz4o|ek;K&vBw>vZ)X;)X33K`ae=Iq0P*5jGf8?oPF5{Bm7nq*=*;JRL+guYG&!eQ zp15NwPx$M*aye6PsbpUIO$~0jB1H9N&wG*3ORxWIb^YbMVFRaAp3h|#jzSGl(sGn;*037bnkb@kcB@NaY zoyF&18ZZy4>>#5Nil^+V1qxkix~cU%(H~xj{c-d&419B+{X_fdlsarwY4hvT^V98> z6&+{G+-y%H`w1^ZEx{Xig@gzuBTt451hg4a`GY}23{5HSZ=HB;&&PjRv|$z4ZTs5z zcLG0|PFHLvb}-=YecieoYvsQIirovK)ZbME*rn8BUd%oHTD;P)GiW$3+g(eIszl-B z9UqGB>!~bjEAn;wu6c$odeF^1{xe(li|xk6utz7M#ah`s%$y8FwV(nv$OyeA3aAw7 z#H*do5eoWwA{uaPjLqPuzArlQPPGyzQQvax3sy3nnn?Hi7I*3&X~dLrkQo@5SE!wU)k{UmyxoMF1Z9SVQX)Ywr+k2%z*$>{JqDxm1hUKReZ2|#jXTQfD zcX-`B!=?jJ10g82mkd{6G+|KbSC%)br{qp|FLUuoi(5bmD+Gx0GXQv%eE(iumu16I z9n8N_f$@VNcF962nvU+sh(A!OgOi)<>n1CfxteCN{cHchs3l@)qsj7m5#IcTL1@F2 zPNl@e)=Rs@&(FGg$ys0}hawl4JYBHd=$lC2y@O&ey%@y8K_!Fx54}$mK^uXj&^nkM zrpg7l>m7|FFy8d%`AP((h!)DW$8WPQ?fkfd7%LR@KQXJP90Ijp?(izDS(h~J@{1IO z0{^GE%4m_2+%xq@5uww7IB1<-%(*43mZujF~sfc$l)y1o2htzAxEF2i`UK zA^LtSRV%-3d|l2Qzh_?beR)iosu9zozv>CG@GWA0R-wt0XDPSAca>d-4-HZ-Py;%g zI03ka?0*+RC!w&`PT-O;TTCcWIqTTEB&hD`M#Rk(i!Fh4`t|Plr{laJL1M2oehZS1 zqX@G|_^(**cPDxJZR=64F^1ff?@n_9v_w}UxKE4uSIT?Rv0;`aN3B2M~*eSl@R79j9w&=9>_FCzaR5Ss(AME&`#8 z8E%0sIg}&_5!faf=Y|{8pp2HcN9SH#T$Bjk1^ncssJ$3TNcmspoP<58OalVZ@+lh* za%n2;f$0bA%wzlrb6H%v6?yrLdk<;ZBJsd|26qbk;Jo20@;Ck4hO^R(fal_!fVa<# zF`*}#TOT!Ht8lGLz#(nhhIu($#7W;rPfB3*!!%=X?2YobzP{CV9uX?`SI*WM{)*P{ zceQfIumLM$2UWGMNoep1VgrAu>i`=3bZ#1$UKJesUaOVq8Np=`f*OtT_zMiPG-JbA zpnLVQH)|B$Mfq%?yvs(e+c@JM0JXe4fsVu6U4o6N9&RXK^gPxghC|oWwM)ulw0li- z-4C^>+c&DLs*S(~TpEFv)mQg>f!QFCxw%xKfUM z$*`zt?y;LY99abBU<0cX1Z;kJ725o>np!B9U}(i+YUM1V&5tm2cK8k_EwN#2UTr_W zngg1bQaEyeO`wJ!7YE=HVs_uK~R-vt~O7JRrdd2blqPGn z$@{G;T6aqgSK&_uO4;z~C#FziIT}R}9gp5!PvPg+)@B|D6Le6blerdu)OQ;`;xCo| zv<1FJNdi`**?>vvu!0Mc(ODB8I%Rwq((~va!dfSqQ^YP9RX2ZCRt%g31_ju{yGz}O zua6KYEe(WpANs9O2aBM%^x!52sjITV+lWcxaCrEFgz&yjKW&(Bif603jpBC(*7|X( z;Vb7*S-Db++ke0IKrVCNSA~okLV^XZPKc;=W8X(>1LJ#%QH1(&QgcsxRmlLzx4MAV zPVbZhB})q26gvTo?;leKAkbqlk=$9@%l{b$coC-QCT(;1@eOrmAUSWTg!J46nq&>Z zy8np$5po0Gp~6pHoZtr|X&1hL>uRe1*t3^8=TF3KZT;bQ7j#^z;tbi#=y9;>Q)gwWW{XP5~5pNOshE)M;7d%@) z@xK~pDuVUdoh^-#-wDW<*~qTT3rNn+ayk%g&v^CEZhe6F%`5)XF&2&c1TapWdpbn2 za0D)NIgca#l9eEw>gPyoeVM^w!1f$w%p>%&VCG^F@6LH|M?UhC|>T zn6dKmD;59>zNhzZ(O z6hm?NGV{{07?e6h7j39CN)0e)`I!J7?&FEg=gl7a?KvQR&g_GwOdkB!sZSY=s>fg8 z)+_NBmm)oXnPJaw{E??%>Bq3H=Jc&pp3>aNJv3#3?SfMflS-U~@XyQiw~Hof^>wq9 zc!l&t5I1pE%foEr3B-bPNLO(dmw2hwd{nAP`cVZQ!E_txT0F|N@uEc2`w*at8YvJi zxk+!C_?WFE&~yOyf<9g^#BW82&%D}n%zRUuuTd^}A5;TbVLc>hduljF-h?nXD7ytJk%cmxH)6;x->X982JJ2Z_;tv-I7@1q@qh%KxKza-*z}a~7Am{-lk4>R zFt0XTv8AYwr|4vdF6;Ij9SHg1A!Nmshc;;mQNhU@J?!r8tTPu{CuRfZgm5j5x+0#K zY?J@)C2H)h-D4-;PSf7*1I`bVlM@q@k8+F1-=A)ux;`iFOT_&T3W_$;fRR&UHCtR| z9lK?irbhEo*t&VYR*o=e3&J?z^W1{sw8&O;6s;#Zbl=3`|5*3|K$>Gbg3kld(WQ63 zU8+>o4Ht*vKg+Bawkhl+%FzeBvoNfkN+eFm!}a}AEA2LW0<1Q2g(a%=KaCi)iO^Gj|(>>j-_dWal2=lc2nW)Pr23L=sJ z0bybEJJ%5(Z-2J~DcJuc1WT*tb+<689+k@8bRB=%3Z|u6n~^yAb#BgV)IKW$M1+4| zxRe*Xwt}Yfyk@VS`;yLnr7t1>?4AGSn*WFVvXa9wqKfy=A#eKJ2y5YWL9ESZwXay$ zk81)ugU0j6~`q}#6a9Wee=$Sgc6#NSA4T!oAEC;xmLlseGSCjs0XdyQLj82HFo z;dDZ%$rz8(?p*b{n zQdKp660)wy@C$0cBJb^H2a>rv8fu81N{zEt8Geb2Zdr&`wLuw$jzr|(7#2Gl!`h*C zU(X&eFndnaXAfX&+N|07SbaN;Qg3MwtoA-tB2h1AY@T!t4`U{Wvmn6wA&$iCjnhWRESiSA3nB z;F)Mt`lsjg4;MKEF(vPooQRp^zqw7G5dr^aoFQjiRTRmdS=GvT@u3O58k4}U9F9+4|B)hnVO_{Y4i&q`9beY z>Z|hkUk-`O7p2$*$+LG)qlxKz$m7`Lww#`>5T#m)9l@;9Cj;hgVgNDm=+27VB~Al}tTaf|*-1q_o(td&B8Hw8r z*Li=~^2lhM9t>|L;2S%-*U~1D*Af?!I{hbPO;kJJrhLZ6nQ@yY_nI5jbWEG@7{%fB zU8Qc2NQL>YW5k*ZU2J*I^p0Qr^o=691L$s<;i`9skf|EYlKmlW#-AeNaZECCIaVP9o2B>z81sB zdBf`|5+RKuV93#{uz-z$fi=R}{;j{0Miph8pOMz52d9xwN9R2y7M%~?$_B*)A|)cx zQkGEitZyJD$SWaP(@uBH-1HAwydNtC^Lor3v?U+Wnz*JE6Mqm_`806e4w)U@7& zx$=rPQ?_1nni`?x8bAIcUbs&|po%v^h;(|FQQ73KAUdE28-Q$&X2ekjqD$9W7V4#4 z#^2ygs0~>kQ6t{)HMFn1;w(Q$*82NQegGqfI7LUM=~4G_ne!WHdnzFXc*-f((U-x* z&%JaPN5ab5dcM~ag;RyNnMrmHlK$#y|4}k~K5g!)66%^bvvug~scXO_(AWTMIE z$?b18oi|cb0Bo>qxr%1&y@tQ=1oLd+<_w9VKzf(43IpOdH;)KL*}b3UX0V#U6!$aw zV=mJ^4$15XeTLzr5Dt|QULS5b4!Z)_VZ-Y$V-(@#P{q+#izh?8L*XLe^y}g( zFU4T6>aWfm^s9PVu+N`?6d?&!aYz+lbau!jlznr$FKU1H;T;77E%xG^0N2$7V9)5E z7v}s@&@0~Nl$4_R#7O1La#;W-AXe#Ondq2V{vP8QVkBZ77Snq9K0B(A6~F3b4VaB| zq*xC)qUU7guhP8zttOTKis`ycw@#O%N#W@8zp0%b9gNk?CZ3puF~+7cX{6jSWMeST z7^xy5CM4$mtqgP~-G!tW{A_fK=(00>XnjJ^J$Z?D&iE;)QwXyXe`)ECJR|gez}6d{ zBX)0a@jn+(Vvi6qv+(qd5nvqnK=>x(j&B;E7|)9vVo~HYocgxYK$;?^cz!KHdat|D z%4YMCrTwgDF`sIz;8jp+a*rfzOsMP~!tOmgUK7n1kXyjxBhK0D7owlcrFjHshP=#V zCIEtBiBVb}wJ;Ma!sqj7S{_83_&W*7Uw9*P6~E3^8X+32qT{p0800FAu&+4t415uQ zx2=qkm_Hc)UevTl*y%9-R$}E5v)^SQkU1y!qbciFKz{pB0%` zc_|~9TLVR_Wfq&*K*<=ZhPDb5qCfd>ts0%p zp9&Z{mI&=SDxIAk65=HFei1KN7W)wxd?tcZUq^@`TQuVIu5=+p2U9Zr?XplN*0JG2ayWIlJbvf5w&(bC&$@bs;T5dM{9lGI~lHhn=~N ztj{|9;IOm3_2!95JNOE=E_Q!AmH%&fV7R9#HN7ihuQoAMc*AVsRi0GO{ZX=0%hR$> zOsK+%E!niRWqS+VEvbk9Z(;@@se=~ZILDS+XDxY!ov;040mY+rfrhBLEeoZt3Fx^V zPS`8|`@AW?)1O8V}s@HpN!b>2B|L&QybG@O#u49^>(vJ$4Qfc~}iCXSUk zH={#HsmO8PT={C4fYV7lu*Un;a!Fx)e1@K%iKiU&_N-O%y*F3ctopKv z8%dFlFuSz!2QYoN_>Fb`9{^`Sn7`|zX9ZYOqe)mzH>fzsekbR4 zFu|d>8|Aw}k4<&EeeK3aE62{(9D|Bd6c1iJSq>p@T*SEr#2XJyP(=58_`EpuD4kY#`b$){|dciDsOa&A1u$ ziPYS#l^LrGVK3kER@12o;#^Y>r(BzEmDXV$YT)SCD=%|A0yhp&8rpwKU`wj8`fg!1 z#9@{NA#jR!53tvVy(5U^N})T6^|om`3+p67XHfnUHH&ZC<|Z>lG{Y8#-{^LOVUtGJ zIstY^TnjGWyoxSJa7M6df$2j$X1(jdAksw^iJoC-*iPe(D*7>>ts7(bEt}nNq!Cjn zR;LarmmYezK^JD{@NR$b6QibCS0ZrCbM>;Z_`Qm8s8BP}$nG=tKzzK73RN8xo<>p| zX;{~C!K06U5TgU(>h4JE7+Kz^)xENlhv9!Vsc6v5)ucfm6U9!U zRxPHFpCl8`sk$ryBM>jiH}G-7=A6+~YWZRJcHUWK-O<$)@~evoKL7Rx9ucJ;_R8mS z{eTV5;t}U5_F5G=;jAhaA6-s*)_% zTbJ z`ob40M~>=|q5|KKcM9FDwI2-b1H*nYt4VWF#l->3u6AIjBk2yh51xR9i!6ADR>xsi zTNDKp*_~$oaA#NXBb))i@urR0+D7oz5pd<`@f4G}jT=7be@)?w;oLsuOb0{ya#jKFP~iCydOUsyl-5`H!fs$R#| z7wpw|qfI)o2R%rb^XTAc@9d2Y#-hoUjYN8z_8h5(0~`<2I}RtIE32IldM;WmnoN&W zXV`y^bK0UiH&hjoJY>;)S-SK#rY=iX=kAUF~8@`V_6>%ZJ zvZn?r>)Yy6qK>cIO(FUzHGIQZ89r_L!bj$Ew)>QGS%fD9X@CL-0_H~1ea`UV?kmbe`H@^ly+3G3b-tRwJyZ%1uTEGBq5aB@&m57}gP^f8!{4ft(jVF$`|8{@( zoq(Y}AHrGEP~ZzdABa>g+gDCqfgR#&H+pwpft;&*2SjYB!}WaB7_&K*9lZ;8m*v{) zz0Ak~QrCh}P^@`c;4J*M`FpK0Y!!I$@GWVQ(^F5>Vct!Ww=by(1!x!Ak*z87HE@Wi9wUqLoO@8)y(EcFlWA>seG|Lpp2 z{;BT5!c3?8J*)x0;rvgUW&ZuoB#C}p|NS6;qmNl1{-M^rbqjnZ+haJ125)~v;9&%7 z)3A~B9yE!RkVxt*Y8VN(qBlrs_3EpuuY9n2=lL)mZc1Bor-`8h;>l)IK1d|`az!$W z%K;N(gX-Ay1yl%NFKKNu$wRo>Z6)}ieEW@?S6{#%F1;jZY5?{H-8%s`9{SH67%@8y z7^{I=k_IcU99zHm*4o`q6kdJytL+JzhNQ(BnZPs1OH^Fm< znWv9xXLRS!>PvYyufoC%5A>_(>);RlxLIpiPu(^tcLdD3=|<I$DhZf#;eZjSC{lY-cL8w!fvOyOm-EEOpdo*#y9&zFmhxtN z4o(`c9DPMC$X_#$cGwiGBTP87bn=2e7JKvr7)w+NvL2W3d_Z|)Y;!o4op_=jU?IBc zp(hBuci--zacf}bW0Qu!`BkYyu=G}WQtQw+)=!-7-TP$a%$GR&HshgOXsQN-+ZCs7 z$%VLaf9QOz;RRCX_k4f0@zY=T@7X;*IJ_5MWobU!nmx#dGO{0k6b+q=__$5)_ovmX z9=&6KLTBu9?TC58T`bt?`|52poZ2QqPH1A#mI4(;IkvtFR(gEkOy*EFy*<1Hq4?*tSP4}y?=Gt{8)A{BKZ>vEt@NkgMbMfUx7HmQHpL0F{yW+-y;h?bQa7?xTRoC9itaFZwo?Zl|lgb04Utz&;B6)y;*!9yz-5*_-zF@EF?h(E+`7RIY4Z z$Oxq*uGf3lZn1yC!euKB@70g-w`zi-ug&vVyi znwJ%W6NwMV)WT-3fxJEK}d0bBPu_Ru#dZSKd$xJsi_&3j5G_Qv_o#v$c{HWX738FzWMpuy>~E6ve&{b(5vs`Y|}fZydJpYqqSKP=2FG-y|>}H zDsW@0w)f22d6@R{&9lzBC^O}KhMGCA-my6Uq09+dM#)9nAZhRI8#SqOfpMuO)^{HL zTFLRJD|~;w$>=yN=(nG@HsHhNF0|q+AJgA3iMhG!5IjM;egDGz;X^ouG5%KIa}ipf z8Ss99Cpyvj!RDa@$-jAU)3MdrFdGDSb@7CloLT>RC0NzRA1Z;>nra}gCzcbU;8r0?dvGpmT$g{4)S`Z zkM+)fvU=*)%C#3Hef851mD+r&F5PdG**ds#P3%q={`p0CtxRtL@L=Ywk~tY8_06@r zADVx=7O>$JycqoS(@!_|%eC~_s)GODStWg)?910 zyW=lM^gDmIB}fQn@w!*W?$kn{w}*BCH#G8M~)a~qz(CM&0z1~I?RZZ}BrBiEnEn_+hvGUH=n$^~h z2WCPdIDpU#vrmPEwVPjjs1g~Ilc_j7wUMAL<7&B*E7%|v+)A(GE-i$cA28z$ve&Uf4yq5D=gNCawu4_Jep7_y-wE$%@ zCrki74}Cm^a^HVn!O!jT7z6JbjW4B(3#afbkoc=7nAMj-B$!o|hX^%mWKuP9s46gQ z>jeyGX(wu&p})8Yj@7ps-7atwx<5V#5f~`CA%!Y_;T6&ZP{#^%A#SdJR=B}K8Qh6n}+qTc2%M0Ptu$l6)0iq9ke_QS`>fc>Zz*AXji?Hmb)4{Y*%o_19nHX1Lehy!F=WJ|L@^Y(_-l-uvjD*dT)g#@t`PwI0zUN1FyY* z^VQd-vTthgFJJsLk(^`{<@zU(V1VC9{Ol9Pa8Sc!F~x1AKK#M0-@f7p9boyXtDpVx z=9lj>yhErjLX)V{AuBN~7oe@78{}HSX3VD3;35T#$^JjRFXxvw^WJmMvCYi7`;Fw} zD(Yokp_BB|I{}K5Fw+$Z>0hsZ@s>^lA6b)6(>Eymh=S%_x|2BHjCfcf9{iw z)E@!GldaSue;(v!y#J3b|CcJj?N)1dI|T3m`G0zH%AfynI+1*k|M5_s!ouP~Ps@cx ztKk`4(+NepDs_P4k=1!3lgh1v_zO8r(s~pGQ@;6>og6p*{SV|kNOBYB!nIys|AOK% z@Lm(!P*N#3eEb8q$U{*DojzXO|IurE-}_Ryt-M5FlTOtpfBYhsrj@%kjtA4*F^XHv zWGOW`SFoB>N^K0D&{to(@!k*ie*CGt<KahzElZ4MTLb zSDxjk`p=)+fB)&5qWPE1`Ijb7AT7P~K3$^kz4bmj4{yEqe~=OSh~tz#z)$`tj$UrY z%BSp?KLp;KG4lWPJ{vVKF?`weC4qc+G!iL65$A3QFE}h+z$D%&bh3F1aIpia3RhFo zWC`zZ;6x|O-;aOo#362+$^efRau96exnJFU>+SvTf4xiW`ZzG_$K$Pb_jsI1nXy=G z0;-W!4+Na#>6}0X_Qw|)$K&fnKAk4kTG(|^PaIv6^HCPHQ+2lxY4U>gwI&3K!S@46 zjKm*g_qnC344+AtAX4{p^MyY^4kaGG^Sd{G@Yan_f1Ox83C3@~cosG^_TPlecrSE( z7Uq6&f45s94B*TbTR4fM6vMmIYIP|iqr^=CZM~2;q4m5@+}kd9+yOArazxNZAJ9`6 zszigzZKJUZ1K{5J$xr)s_oN9}+YA!q?{$JHY6^o@9wLzhTxWE6C?=afbe+Pkzsr+&pv&l%{JTSV}O|1||ey-|4 ztXDK#rvK#UiNV+Nd4HG6YI=u-MRmmmKcE@dXksKFE7`VJA-BZj+#Kq(Bw@b!#fOY6 z?!EFup?7%c0bBk*V!!2ch{Q&>OANYI&d ze_lrD3^4%`Za2@;g?YdbC$6Q0f>ZK1frmA6fKEhu-bY`lQ8!G&$XMsd6AV|Pen$|!WK21 z{&_f^pIL`by;Sg_H!Nfxc;f?bCX$xWf5^SUX zfE&pfm1rLdlRb>+2v?_{{xfNSZ@uustsg%RjJZgrCbuW1eFcYY#!)eH1`1xb+wg92 z|A+71dhV4VM)Jmrr&8I|z;=E2f8CoO{hT-Y#XDpQ32_I0^X%TQUb^wh2Vt1a;aJBC z-roQAVaQmm7nFmy{(4G?G(w65UJ}jNd=BMc9gTKrB8{ydj<3(_sbDu*DKhX-i4$Ia z9}2!mZh|Bo_-ar*Y)G_1qHN06G~Mv{@-bM8a=b(w42R{TlOxLDvj!)$A6kk2KB#F$*BkV-wx%$E1ZSZ z#ZsE#^*OdbKD>q}seFGbx1NWn>WpBpZ`y}da84m3EA1^tz9h$6x)S29+b_RQ=9UzF zl5qmykMjGUNA(oLU>p3-fA6TAALJs@i~%6Or-hq+g)DeY!_j90a94Qv!2Y1gmNjZx z_6C5lDa^GsL@jTFka-i$kf5@!$>#PLLI}7%1uYJ$f z&Bc@0MX3(4f|KUNbOJHBWGQBJ*#cDRXzZh5#rPr~w0U~ZirJxwe|8mS*+-r`eU};r zb8gk9W|Slg<?hI-!4CQhtb#@eTE)-9tT|4JlIOg-@bx=)XcG%Kz|fB);f@4w9WIv`Q7ahf>=|({M9E6`uKfs- zf07KOW!&PvITQ?o9QTbYZ)4EJhM;knIZ)lI4gwm#^U{saf3){Js6hPlwgOQd<%J{n zy}_)I{0`=~Z|+_D1^B>YLNmSheo*oXgqBKPf%waTRrA6Me@27Apd%uvudhe}g6-0r zk_%j*L?6>=RkBbxRa#BuPfLq;xB>b;#oA`yMC11x^&dQcqtk!S?QHe#NdVwM^nZ5B zum7K#o=rTU|A+A$g}9VJgFgSk-iM!$tS{U1Sm=d_xGanKw2aUS%L!7DlOZYhXh7nH zdZTslwC7}fe|bJK4pCmwX5#vve{$oye^gP9xRU@zL44zrz1P2c<2O8#$OJ;ktrasl z3{b1bI^bu5NF7c&N3VbO3k>?NY9)C<1#b58*>mDR_}%_Hp9YIhu|~f9(cWwCLRVjU z6{~z9(`RBy@LUAp54Ck#v;@pY0af*zWbQ77#l$>Na`Xt#f_JeGWc^=S$(@DV8-Xt9C!%h8 zp8#(K4we80yqgGqW>qH9fyKZ17+(`PnFYSH#ZxZvbe@YCKHhMjc2R5%yjhV)Sf4=wo zAL+l_jNi*PfXJVinF*u+@c8Ke-5BJ3VchLDidE&&h zKmXh8i3jKZp*$j&NdZ>B*XB7)$QNHEnt_w8;C3$7Dz1ZA;#M86SE;z3x7n-LcaKDP zg|q3CT(DVWvcX2H+^NoqZ)-9|aSnn&IaL?nc}}I=bSkZ8)2(!!9>n{0SV?%ZS=;J$ zf6CojtEpf>$TI<@`n`-LmI8 zwMM(u={jX!!OdF7>&iA5!1P%qqb}7tJ?>7qUia0hv>NTY%U19Roi1YkCrh5&g>fBv z{GY^$#B?zK$AkTUI1k?>2YJ}WDsWtJ8s%Ekfz+WRw*#{s-vGCnhvPp9CVQ*7y}+P9NI<1rGlf_w-4naX|*e_mMw1_`F|%Cm&y_5lr>$3d!k zvD~bPsDQQBQHR z^c(!1vMuoo`zpLNi?9q&8lPBez^FbYv+3%<0RfSds_eKaBXr$_3y*!@V6rvPuvrxC z5|0FjoU{!Y34(91tC_4mnX&>Q7!;m))RT+te;Syj%FYg`H#SgJjLh@~M;G|jk(Mjn zTEl(1lO*mY0Sl8$?j`}alXC8o0jrY*?}h=5lZ@}de;L33*YsrKLH?IRdBA2H{U3=A zEEoo5w2Q$6Eixhs0=^0PS0q;!+)&wR_LvaWQ3oe^%y?}Or5RTt{3I1P@?}z_8uqFv zCCK%-*V~YHT9o;K5tHVHI9;KFrT&Bu;z*kl&`yk7gtiF z!*@HpJEFjV8cnR3a6sjhqpZ!lG>(zYBfmm7j%Ujqu=1J%D_+h3R*7N)U#1*kf#xW- zf{`u8tp-3!*BhZiMYcu96r932RZnSA#T%hVe^tLNOp5qO%COW5rYtkS76jEo>8VwR%#ft^RP9Gsr zHG!@4R}`$}fU2wLM(NqE`OVAROA6qnlfW&->vaPN=cfOgG zNGwQGwb!nr@y&6KShZnss+4JDKfV$}-Tp2poQw^nnZPM%gcJ^J2v*7GYQoCEIR%5HbNZ7&Z0wltU2c9NtT zq8&^5Db>9dNm^9DR=EXiyIuxuFR3vsV5ULS6nHzMI&+fE>g=?mAoGa^r$MBa8evm+ zJjM!5@`=xc&pPL9Q08I_C8!!+e+?jLxo9vgehi@E=DEU(S^BdGcAWWyI#16x4Z9rn zXRQgx2*YYnMUV#o*o}o*jQL?Jzp4iK$>A*@Xw%Wyiq?T)MYC$rv-?4*b2>v9#!l)C z-q&?Itsb~-Y=bZL#;()Y_1yZVJ}t#`{!D5mVbb_*w_NXTN5wT+7wmWHf3{;n)K8kH z5t@h!Th>0+Q7hP}X>&t*N6@I5XVH4f?BPbIwZl$gXFU~mddc)As#>DqUaHi4RXF#z z+)H6KWl|IUv}CK@zvcoeUTHcs(=gji&iV0DTL!{?Yc*$_D+x6sO0KqAeTn}a+CJn} z$qqnr$QhpkP2)sZ2c$;af3||oII53BTTc#dJ&|<$Fks$f(g87TYI)}vSqD9;S=?UI zKPo6k!%?ODorf~EUazN&j$>HPSc9< zPi3c7$6z~=5mvx3HFogT(%I6PwF2j^Gn+E%24gqN4*PPPj5^9-9wr^DNj$AJ$vK9V zV$xEj$Jn=B_KC6Kf4eaOn<64+Rw3B%dK

Vv>MKFu<(HJ*xSW;H?E(!=kKBAcfcu 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�RA#L50FxB-S?RhE| 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 Q2nxW5OiApzSjlnjRE;WNf{ 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

m6n07l;Oy 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%0DAgfWaMGNZP9O%CEX9m2 zTYyR(jeRt%7+=JLHh)j=Sur~_(XPTQ`^a;r?@+^F&aK+ijFM!be7Zm$gFHj3@qt!S z7-6W5{aAV-*g=1RRnQ1Qs~8&d>wIF}f9~WX&;MSt)?`Ovy?*HaUx~ztsr&w4_vn$4 zX2q50?|;4b!>> z2pWf(1J$kSAfWNPFJAxRt-a?!1>&E#6^QC6FC4k=4Q7SpcQC(wbMNXezy}@^n(4jw zgOXPuv{dp6#D8B7teO{AFd75~9T7o&eMJfoY?tPgT;KvF`j|$ml7+&l(rPMyT3Wor z4bTrM);9Yl8o$@5fB*R#o&I}nXRCKt0ss%9|Fctm{r}YT)YN_Ye;ChEh)W4H=!+li zee}i1`m#Nbg#eGb$(0!0JZjwFMqdp^@pI=G;^hc=d5A+ z{!>Q9$*9wpqeplayoY@t>;KY9?kwcq2y{U|5p~o11b8cOummvR-9+#+t1^iWEdGtJ z-e#3}L`!z!z4Lv@5X?~Flc)E8|0}{SED9(?L4U9)RMQW@2LqDze*UGQ&3y3{u-N6H zfTgIfz~njOp@xq)5`kQgJxaP#2 zLT=%7VP;NC(;|kpRB!DV@h3qi>n_H{9WzThLjdrWkb;`bio3)PDm2EJ9=`6EK zMqR3P+?{g0?yFO2HQIHTt>6(lUBv!RmOQr$<2v;CKZz5G>45+L)cunW-xmP_vnSsN z0Rb|TFW^7{QIl}sTmg5J&ER|tM{gO80~-qea=W*TlU3o83T4#FyVY6;_scD_@!=Q& z0j!e><0l$hr}t9!iaTdkZ+TxbJ~Ne1r{J7ZZ0V`mcauxwF%rCjdzdy28WZe#OyV zeeKJWeCS02-vE=t=)eI2lZ5G$9^bd}{+d6+{$r*Dcym|GzXsWVOrAL5xBpH~&)mBPjR#K8~mQKE%6KcD!ep{undnIpIB?as6HXH^Xk9>0ilz$?6?y{ zblrptkA2@@vNh1KSrqLO4+WEd?G*vola=j%8k(ib&JL(IHc(ZJ%=89F7x>kYmMh&_ z!+o-oF774)2a{FqCIP6EeD0C~s*?}zh5@aUmhZuTnSlS-i4*tpzZ}W~Hrwd`NOWMq zFesy43?^ui5m6BEO~}6@xw7Df%1*P#gs6@>ILTwiYlA4wxC-GXslbshlOolyS4Am7 zuE)LJhP>0F%m<8^G%v*I3KcB%Cwvf33W&3fW#OdBFI;hia!(qy7SzEcYqgrJDYtL6 zMRhuV(Qz&YV3ItePFi)4t8TcH0*oe51ug4yS%|}kRtqRv)wWxWR@|d}-5tERk{TVp z+u_|21qRe;V$FmDDyJM}ZQiAEjBFnH6}oXeTke3B*Bn^!at5$U6chL|

KjN3j)* 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

m6n07l;Oy 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

ZqB$fzQ&(;%w7f&m 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

)D*6A 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