~修复多语言化导致的一系列显示错误
This commit is contained in:
@@ -11,9 +11,11 @@ TOOLS_ENABLE="启用"
|
|||||||
TOOLS_CONFIGURED="已配置"
|
TOOLS_CONFIGURED="已配置"
|
||||||
TOOLS_SSH_ONLY_OPENWRT="此功能仅针对使用Openwrt系统的设备生效,且不依赖服务"
|
TOOLS_SSH_ONLY_OPENWRT="此功能仅针对使用Openwrt系统的设备生效,且不依赖服务"
|
||||||
TOOLS_SSH_UNSUPPORTED_SYSTEM="本功能不支持红米AX6S等镜像化系统设备,请勿尝试!"
|
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_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_PROMPT_PORT="请输入端口号(1000-65535)> "
|
||||||
TOOLS_WARN_COMPAT="本页工具可能无法兼容全部Linux设备,请酌情使用!"
|
TOOLS_WARN_COMPAT="本页工具可能无法兼容全部Linux设备,请酌情使用!"
|
||||||
TOOLS_DISK_USAGE="磁盘占用/所在目录:"
|
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_GUIDE_ITEM="2) ShellCrash\033[32m新手引导\033[0m"
|
||||||
TOOLS_MENU_LOG_ITEM="3) \033[36m日志及推送工具\033[0m"
|
TOOLS_MENU_LOG_ITEM="3) \033[36m日志及推送工具\033[0m"
|
||||||
TOOLS_MENU_SSH_ITEM="4) \033[32m配置\033[0m外网访问SSH"
|
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_UPDATE_ITEM_PREFIX="5) "
|
||||||
TOOLS_MENU_MI_AUTO_SSH_ITEM="6) 小米设备软固化SSH —— \033[$mi_mi_autoSSH_type \033[0m"
|
TOOLS_MENU_MI_UPDATE_ITEM_SUFFIX="小米系统自动更新"
|
||||||
TOOLS_MENU_MI_TUN_FIX_ITEM="8) 小米设备Tun模块修复 —— \033[$mi_tunfix \033[0m"
|
TOOLS_MENU_MI_AUTO_SSH_ITEM_PREFIX="6) 小米设备软固化SSH —— "
|
||||||
TOOLS_MI_UPDATE_MSG="已\033[33m$mi_update\033[0m小米路由器的自动更新,如未生效,请在官方APP中同步设置!"
|
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_UNSUPPORTED_DEVICE="不支持的设备!"
|
||||||
TOOLS_FETCHING_SCRIPT="正在获取在线脚本......"
|
TOOLS_FETCHING_SCRIPT="正在获取在线脚本......"
|
||||||
TOOLS_DOWNLOAD_FAIL="文件下载失败!"
|
TOOLS_DOWNLOAD_FAIL="文件下载失败!"
|
||||||
@@ -46,16 +52,25 @@ TOOLS_AUTO_SSH_WARN2="如有问题请加群反馈:"
|
|||||||
TOOLS_AUTO_SSH_PWD_HINT1="请输入需要还原的SSH密码(不影响当前密码)"
|
TOOLS_AUTO_SSH_PWD_HINT1="请输入需要还原的SSH密码(不影响当前密码)"
|
||||||
TOOLS_AUTO_SSH_PWD_HINT2="(回车可跳过)"
|
TOOLS_AUTO_SSH_PWD_HINT2="(回车可跳过)"
|
||||||
TOOLS_AUTO_SSH_INPUT="请输入> "
|
TOOLS_AUTO_SSH_INPUT="请输入> "
|
||||||
TOOLS_LOG_TG="1) Telegram推送\t——\033[$stat_TG\033[0m"
|
TOOLS_LOG_TG_PREFIX="1) Telegram推送\t——"
|
||||||
TOOLS_LOG_DEER="2) PushDeer推送\t——\033[$stat_Deer\033[0m"
|
TOOLS_LOG_TG_SUFFIX=""
|
||||||
TOOLS_LOG_BARK="3) Bark推送-IOS\t——\033[$stat_bark\033[0m"
|
TOOLS_LOG_DEER_PREFIX="2) PushDeer推送\t——"
|
||||||
TOOLS_LOG_PO="4) Passover推送\t——\033[$stat_Po\033[0m"
|
TOOLS_LOG_DEER_SUFFIX=""
|
||||||
TOOLS_LOG_PP="5) PushPlus推送\t——\033[$stat_PP\033[0m"
|
TOOLS_LOG_BARK_PREFIX="3) Bark推送-IOS\t——"
|
||||||
TOOLS_LOG_SYNO="6) SynoChat推送\t——\033[$stat_SynoChat\033[0m"
|
TOOLS_LOG_BARK_SUFFIX=""
|
||||||
TOOLS_LOG_GOTIFY="7) Gotify推送\t ——\033[$stat_Gotify\033[0m"
|
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_VIEW="a) 查看\033[36m运行日志\033[0m"
|
||||||
TOOLS_LOG_TASK="b) 推送任务日志\t——\033[$stat_task\033[0m"
|
TOOLS_LOG_TASK_PREFIX="b) 推送任务日志\t——"
|
||||||
TOOLS_LOG_DEVICE="c) 设置设备名称\t——\033[$device_s\033[0m"
|
TOOLS_LOG_TASK_SUFFIX=""
|
||||||
|
TOOLS_LOG_DEVICE_PREFIX="c) 设置设备名称\t——"
|
||||||
|
TOOLS_LOG_DEVICE_SUFFIX=""
|
||||||
TOOLS_LOG_CLEAR="d) 清空日志文件"
|
TOOLS_LOG_CLEAR="d) 清空日志文件"
|
||||||
TOOLS_CONFIRM_CLOSE_TG="是否确认关闭TG日志推送?"
|
TOOLS_CONFIRM_CLOSE_TG="是否确认关闭TG日志推送?"
|
||||||
TOOLS_CONFIRM_CLOSE_DEER="是否确认关闭PushDeer日志推送?"
|
TOOLS_CONFIRM_CLOSE_DEER="是否确认关闭PushDeer日志推送?"
|
||||||
@@ -120,17 +135,22 @@ TOOLS_PROXY_NOTE="注意:依赖curl(不支持wget),且测试结果不保
|
|||||||
TOOLS_PROXY_OK="连接成功!响应时间为:"
|
TOOLS_PROXY_OK="连接成功!响应时间为:"
|
||||||
TOOLS_PROXY_TIMEOUT="连接超时!请重试或检查节点配置!"
|
TOOLS_PROXY_TIMEOUT="连接超时!请重试或检查节点配置!"
|
||||||
TOOLS_DEBUG_WARN1="注意:Debug运行均会停止原本的内核服务"
|
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_WARN3="如长时间运行后台监测,日志等级推荐error!防止文件过大!"
|
||||||
TOOLS_DEBUG_WARN4="你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级"
|
TOOLS_DEBUG_WARN4="你亦可通过:\033[33mcrash -s debug 'warning'\033[0m命令使用其他日志等级"
|
||||||
TOOLS_DEBUG_ITEM_1="1) 仅测试\033[32m$config_tmp\033[0m配置文件可用性"
|
TOOLS_DEBUG_ITEM_1_PREFIX="1) 仅测试"
|
||||||
TOOLS_DEBUG_ITEM_2="2) 前台运行\033[32m$config_tmp\033[0m配置文件,不配置防火墙劫持(\033[33m使用Ctrl+C手动停止\033[0m)"
|
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_3="3) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[31merror\033[0m"
|
||||||
TOOLS_DEBUG_ITEM_4="4) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[32minfo\033[0m"
|
TOOLS_DEBUG_ITEM_4="4) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[32minfo\033[0m"
|
||||||
TOOLS_DEBUG_ITEM_5="5) 后台运行完整启动流程并配置防火墙劫持,日志等级:\033[33mdebug\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_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_WARN="频繁写入闪存会导致闪存寿命降低,如非遇到会导致设备死机或重启的bug,请勿使用此功能!"
|
||||||
TOOLS_FLASH_CONFIRM="是否确认启用此功能?"
|
TOOLS_FLASH_CONFIRM="是否确认启用此功能?"
|
||||||
TOOLS_MERGE_OK="合并成功!"
|
TOOLS_MERGE_OK="合并成功!"
|
||||||
|
|||||||
@@ -68,8 +68,10 @@ UPG_CORETYPE_CONFIRM_TEXT="请确认该自定义内核的类型:"
|
|||||||
UPG_CORE_SWITCH_KEEP_TEXT="是否保留相关数据库文件?"
|
UPG_CORE_SWITCH_KEEP_TEXT="是否保留相关数据库文件?"
|
||||||
UPG_KEEP_TEXT="保留"
|
UPG_KEEP_TEXT="保留"
|
||||||
UPG_NOT_KEEP_TEXT="不保留"
|
UPG_NOT_KEEP_TEXT="不保留"
|
||||||
UPG_GETTING_CORE_TEXT="正在在线获取$crashcore核心文件......"
|
UPG_GETTING_CORE_TEXT_PREFIX="正在在线获取"
|
||||||
UPG_CORE_DOWNLOAD_OK_TEXT="$crashcore核心下载成功!"
|
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_FAIL_TEXT="核心文件下载失败!"
|
||||||
UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="核心文件下载成功但校验失败"
|
UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="核心文件下载成功但校验失败"
|
||||||
UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT="请尝试手动指定CPU版本"
|
UPG_CORE_DOWNLOAD_VERIFY_HINT_TEXT="请尝试手动指定CPU版本"
|
||||||
@@ -100,18 +102,25 @@ UPG_CORE_MENU_CURRENT="当前内核:"
|
|||||||
UPG_CORE_MENU_SYS="当前系统处理器架构:"
|
UPG_CORE_MENU_SYS="当前系统处理器架构:"
|
||||||
UPG_CORE_MENU_LOCAL_HINT="如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令"
|
UPG_CORE_MENU_LOCAL_HINT="如需本地上传,请将.upx .gz .tar.gz文件上传至 /tmp 目录后重新运行crash命令"
|
||||||
UPG_CORE_MENU_SELECT="请选择需要使用的核心版本:"
|
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_1_PREFIX="1) \033[43;30mMihomo\033[0m:\033[32m"
|
||||||
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_1_SUFFIX=" \033[32m(原meta内核)支持全面\033[0m \033[33m占用略高\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_2_PREFIX="2) \033[43;30mSingBoxR\033[0m:\033[32m"
|
||||||
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_2_SUFFIX=" \033[32m支持全面\033[0m \033[33m使用reF1nd增强分支\033[0m"
|
||||||
UPG_CORE_MENU_5="5) 切换版本分支及压缩方式:\033[32m$zip_type\033[0m"
|
UPG_CORE_MENU_3_PREFIX="3) \033[43;30mSingBox\033[0m:\033[32m"
|
||||||
UPG_CORE_MENU_6="6) \033[36m使用自定义内核\033[0m $custcore"
|
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_7="7) \033[32m更新当前内核\033[0m"
|
||||||
UPG_CORE_MENU_9="9) 手动指定处理器架构"
|
UPG_CORE_MENU_9="9) 手动指定处理器架构"
|
||||||
UPG_GEO_GETTING="正在从服务器获取数据库文件......"
|
UPG_GEO_GETTING="正在从服务器获取数据库文件......"
|
||||||
UPG_GEO_FAIL="文件下载失败!"
|
UPG_GEO_FAIL="文件下载失败!"
|
||||||
UPG_GEO_EXTRACT_FAIL="文件解压失败!"
|
UPG_GEO_EXTRACT_FAIL="文件解压失败!"
|
||||||
UPG_GEO_OK="$geotype数据库文件下载成功!"
|
UPG_GEO_OK_PREFIX=""
|
||||||
|
UPG_GEO_OK_SUFFIX="数据库文件下载成功!"
|
||||||
UPG_GEO_LINKING="正在获取数据库文件......"
|
UPG_GEO_LINKING="正在获取数据库文件......"
|
||||||
UPG_GEO_FINDING="正在查找可更新的数据库文件......"
|
UPG_GEO_FINDING="正在查找可更新的数据库文件......"
|
||||||
UPG_GEO_SELECT="请选择需要更新的数据库文件:"
|
UPG_GEO_SELECT="请选择需要更新的数据库文件:"
|
||||||
@@ -126,7 +135,8 @@ UPG_GEO_LOCAL_ONLY2="(仅限SingBox-srs)"
|
|||||||
UPG_GEO_LOCAL_ONLY3="(仅限Mihomo-mrs)"
|
UPG_GEO_LOCAL_ONLY3="(仅限Mihomo-mrs)"
|
||||||
UPG_GEO_LOCAL_ONLY4="(仅限Clash-GeoIP)"
|
UPG_GEO_LOCAL_ONLY4="(仅限Clash-GeoIP)"
|
||||||
UPG_GEO_CUSTOM_LINK="自定义数据库链接"
|
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_HINT2="清理后启动服务即可自动下载所需文件"
|
||||||
UPG_GEO_CLEAN_CONFIRM="确认清理"
|
UPG_GEO_CLEAN_CONFIRM="确认清理"
|
||||||
UPG_GEO_CLEAN_OK="所有数据库文件均已清理!"
|
UPG_GEO_CLEAN_OK="所有数据库文件均已清理!"
|
||||||
@@ -139,7 +149,8 @@ UPG_DB_INSTALLED="检测到已经安装过本地面板"
|
|||||||
UPG_DB_UPGRADE="升级/覆盖安装"
|
UPG_DB_UPGRADE="升级/覆盖安装"
|
||||||
UPG_DB_CANCEL="安装已取消"
|
UPG_DB_CANCEL="安装已取消"
|
||||||
UPG_DB_DIR_SELECT="请选择面板安装目录:"
|
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_DIR_2="2) 在/www/clash目录安装"
|
||||||
UPG_DB_TITLE="安装 dashboard 管理面板到本地"
|
UPG_DB_TITLE="安装 dashboard 管理面板到本地"
|
||||||
UPG_DB_TITLE2="打开管理面板的速度更快且更稳定"
|
UPG_DB_TITLE2="打开管理面板的速度更快且更稳定"
|
||||||
@@ -207,13 +218,17 @@ UPG_THANKS_ITEM_DUSTIN_URL="开发者地址:https://github.com/DustinWin"
|
|||||||
UPG_CORE_GET_LINK_TITLE="正在获取内核文件链接......"
|
UPG_CORE_GET_LINK_TITLE="正在获取内核文件链接......"
|
||||||
UPG_CUSTOM_CORE_CURRENT_TEXT="当前内核为:"
|
UPG_CUSTOM_CORE_CURRENT_TEXT="当前内核为:"
|
||||||
UPG_CUSTOM_CORE_NOTE1="不支持Gvisor、Tailscale、Wireguard、NaiveProxy"
|
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_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_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_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_V4_DOC="说明文档:\033[36;4mhttps://lancellc.gitbook.io\033[0m"
|
||||||
UPG_CORE_ASUS_WARN="Meta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!"
|
UPG_CORE_ASUS_WARN="Meta内核使用的GeoSite.dat数据库在华硕设备存在被系统误删的问题,可能无法使用!"
|
||||||
UPG_GEO_FIND_TITLE="正在查找可更新的数据库文件......"
|
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_ITEM8="8) \033[36m自定义数据库文件\033[0m"
|
||||||
UPG_GEO_ITEM9="9) \033[31m清理数据库文件\033[0m"
|
UPG_GEO_ITEM9="9) \033[31m清理数据库文件\033[0m"
|
||||||
UPG_GEO_CLEAN_PROMPT="确认清理"
|
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_CLEAN_WARN2="清理后启动服务即可自动下载所需文件"
|
||||||
UPG_GEO_CLEANED="所有数据库文件均已清理!"
|
UPG_GEO_CLEANED="所有数据库文件均已清理!"
|
||||||
UPG_DB_CONNECTING="正在连接服务器获取安装文件......"
|
UPG_DB_CONNECTING="正在连接服务器获取安装文件......"
|
||||||
@@ -240,7 +256,8 @@ UPG_DB_EXTRACT_FAIL_TEXT="文件解压失败!"
|
|||||||
UPG_DB_INSTALLED_HINT="检测到已经安装过本地面板"
|
UPG_DB_INSTALLED_HINT="检测到已经安装过本地面板"
|
||||||
UPG_DB_INSTALL_CANCEL="安装已取消"
|
UPG_DB_INSTALL_CANCEL="安装已取消"
|
||||||
UPG_DB_DIR_TITLE="请选择面板安装目录:"
|
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_DIR_2_TEXT="2) 在/www/clash目录安装"
|
||||||
UPG_DB_INSTALL_TITLE="安装 dashboard 管理面板到本地"
|
UPG_DB_INSTALL_TITLE="安装 dashboard 管理面板到本地"
|
||||||
UPG_DB_INSTALL_TITLE2="打开管理面板的速度更快且更稳定"
|
UPG_DB_INSTALL_TITLE2="打开管理面板的速度更快且更稳定"
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
FWF_TITLE="流量过滤"
|
FWF_TITLE="流量过滤"
|
||||||
FWF_ITEM_1="1) 过滤非常用端口: \033[36m$common_ports\033[0m ———用于过滤P2P流量"
|
FWF_ITEM_1_PREFIX="1) 过滤非常用端口:\t"
|
||||||
FWF_ITEM_2="2) 过滤局域网设备: \033[36m$mac_return\033[0m ———使用黑/白名单进行过滤"
|
FWF_ITEM_1_SUFFIX="—用于过滤P2P流量"
|
||||||
FWF_ITEM_3="3) 过滤QUIC协议: \033[36m$quic_rj\033[0m ———优化视频性能"
|
FWF_ITEM_2_PREFIX="2) 过滤局域网设备:\t"
|
||||||
FWF_ITEM_4="4) 过滤CN_IP(4&6)列表:\033[36m$cn_ip_route\033[0m ———优化性能"
|
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_5="5) 自定义透明路由ipv4网段:适合vlan等复杂网络环境"
|
||||||
FWF_ITEM_6="6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境"
|
FWF_ITEM_6="6) 自定义保留地址ipv4网段:需要以保留地址为访问目标的环境"
|
||||||
FWF_BACK="0) $COMMON_BACK"
|
FWF_BACK="0) $COMMON_BACK"
|
||||||
@@ -21,7 +25,8 @@ FWF_PASS_WORD="不"
|
|||||||
FWF_COMMON_NOTE="注意:\n"
|
FWF_COMMON_NOTE="注意:\n"
|
||||||
FWF_MIX_NOTE="MIX模式下,所有fake-ip来源的非常用端口流量不会被过滤"
|
FWF_MIX_NOTE="MIX模式下,所有fake-ip来源的非常用端口流量不会被过滤"
|
||||||
FWF_ALLOWED_PORTS="当前已放行端口:"
|
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_2="2) 添加放行端口"
|
||||||
FWF_PORT_MENU_3="3) 移除指定放行端口"
|
FWF_PORT_MENU_3="3) 移除指定放行端口"
|
||||||
FWF_PORT_MENU_4="4) 重置默认放行端口"
|
FWF_PORT_MENU_4="4) 重置默认放行端口"
|
||||||
@@ -76,7 +81,8 @@ FWF_FILTER_BLACK_DESC="仅列表内设备流量不经过内核"
|
|||||||
FWF_FILTER_WHITE_DESC="仅列表内设备流量经过内核"
|
FWF_FILTER_WHITE_DESC="仅列表内设备流量经过内核"
|
||||||
FWF_FILTER_EXISTED="当前已过滤设备为:"
|
FWF_FILTER_EXISTED="当前已过滤设备为:"
|
||||||
FWF_FILTER_HEADER=" \033[36m设备mac/ip地址\033[0m \033[35m设备名称\033[0m"
|
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_MAC="2) \033[32m添加指定设备(mac地址)\033[0m"
|
||||||
FWF_FILTER_ADD_IP="3) \033[32m添加指定设备(IP地址/网段)\033[0m"
|
FWF_FILTER_ADD_IP="3) \033[32m添加指定设备(IP地址/网段)\033[0m"
|
||||||
FWF_FILTER_REMOVE="4) \033[36m移除指定设备\033[0m"
|
FWF_FILTER_REMOVE="4) \033[36m移除指定设备\033[0m"
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ OVR_PROMPT="请输入> "
|
|||||||
OVR_GROUPS_CHOOSE_TYPE="请选择策略组的类型:"
|
OVR_GROUPS_CHOOSE_TYPE="请选择策略组的类型:"
|
||||||
OVR_GROUP_TYPE_CN="手动选择 自动选择 故障转移 负载均衡"
|
OVR_GROUP_TYPE_CN="手动选择 自动选择 故障转移 负载均衡"
|
||||||
OVR_WARN_1="此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!"
|
OVR_WARN_1="此功能可能会导致严重问题!启用后脚本中大部分功能都将禁用!!!"
|
||||||
OVR_WARN_2="如果你不是非常了解$crashcore的运行机制,切勿开启!"
|
OVR_WARN_2_PREFIX="如果你不是非常了解"
|
||||||
|
OVR_WARN_2_SUFFIX="的运行机制,切勿开启!"
|
||||||
OVR_WARN_3="继续后如出现任何问题,请务必自行解决,一切提问恕不受理!"
|
OVR_WARN_3="继续后如出现任何问题,请务必自行解决,一切提问恕不受理!"
|
||||||
OVR_WARN_CONFIRM="1) 我确认遇到问题可以自行解决"
|
OVR_WARN_CONFIRM="1) 我确认遇到问题可以自行解决"
|
||||||
OVR_CONFIRM_YES="1) 是"
|
OVR_CONFIRM_YES="1) 是"
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ TOOLS_ENABLE="Enable"
|
|||||||
TOOLS_CONFIGURED="Configured"
|
TOOLS_CONFIGURED="Configured"
|
||||||
TOOLS_SSH_ONLY_OPENWRT="This feature only works on OpenWrt devices and does not depend on services"
|
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_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_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_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_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_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_GUIDE_ITEM="2) ShellCrash \033[32mGetting Started\033[0m"
|
||||||
TOOLS_MENU_LOG_ITEM="3) \033[36mLogs and Push Tools\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_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_UPDATE_ITEM_PREFIX="5) "
|
||||||
TOOLS_MENU_MI_AUTO_SSH_ITEM="6) Xiaomi device SSH hardening —— \033[$mi_mi_autoSSH_type \033[0m"
|
TOOLS_MENU_MI_UPDATE_ITEM_SUFFIX=" Xiaomi system auto-update"
|
||||||
TOOLS_MENU_MI_TUN_FIX_ITEM="8) Xiaomi device Tun module repair —— \033[$mi_tunfix \033[0m"
|
TOOLS_MENU_MI_AUTO_SSH_ITEM_PREFIX="6) Xiaomi device SSH hardening —— "
|
||||||
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_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_UNSUPPORTED_DEVICE="Unsupported device!"
|
||||||
TOOLS_FETCHING_SCRIPT="Fetching online script..."
|
TOOLS_FETCHING_SCRIPT="Fetching online script..."
|
||||||
TOOLS_DOWNLOAD_FAIL="File download failed!"
|
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_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_PWD_HINT2="(Press Enter to skip)"
|
||||||
TOOLS_AUTO_SSH_INPUT="Please enter> "
|
TOOLS_AUTO_SSH_INPUT="Please enter> "
|
||||||
TOOLS_LOG_TG="1) Telegram push\t——\033[$stat_TG\033[0m"
|
TOOLS_LOG_TG_PREFIX="1) Telegram push\t——"
|
||||||
TOOLS_LOG_DEER="2) PushDeer push\t——\033[$stat_Deer\033[0m"
|
TOOLS_LOG_TG_SUFFIX=""
|
||||||
TOOLS_LOG_BARK="3) Bark push-IOS\t——\033[$stat_bark\033[0m"
|
TOOLS_LOG_DEER_PREFIX="2) PushDeer push\t——"
|
||||||
TOOLS_LOG_PO="4) Passover push\t——\033[$stat_Po\033[0m"
|
TOOLS_LOG_DEER_SUFFIX=""
|
||||||
TOOLS_LOG_PP="5) PushPlus push\t——\033[$stat_PP\033[0m"
|
TOOLS_LOG_BARK_PREFIX="3) Bark push-IOS\t——"
|
||||||
TOOLS_LOG_SYNO="6) SynoChat push\t——\033[$stat_SynoChat\033[0m"
|
TOOLS_LOG_BARK_SUFFIX=""
|
||||||
TOOLS_LOG_GOTIFY="7) Gotify push\t ——\033[$stat_Gotify\033[0m"
|
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_VIEW="a) View \033[36mruntime logs\033[0m"
|
||||||
TOOLS_LOG_TASK="b) Push task logs\t——\033[$stat_task\033[0m"
|
TOOLS_LOG_TASK_PREFIX="b) Push task logs\t——"
|
||||||
TOOLS_LOG_DEVICE="c) Set device name\t——\033[$device_s\033[0m"
|
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_LOG_CLEAR="d) Clear log files"
|
||||||
TOOLS_CONFIRM_CLOSE_TG="Are you sure you want to disable TG log push?"
|
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_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_OK="Connection successful! Response time: "
|
||||||
TOOLS_PROXY_TIMEOUT="Connection timed out! Please retry or check the node configuration!"
|
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_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_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_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_1_PREFIX="1) Only test the availability of the "
|
||||||
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_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_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_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_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_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_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_FLASH_CONFIRM="Confirm enabling this feature?"
|
||||||
TOOLS_MERGE_OK="Merged successfully!"
|
TOOLS_MERGE_OK="Merged successfully!"
|
||||||
|
|||||||
@@ -68,8 +68,10 @@ UPG_CORETYPE_CONFIRM_TEXT="Please confirm custom core type:"
|
|||||||
UPG_CORE_SWITCH_KEEP_TEXT="Keep related database files?"
|
UPG_CORE_SWITCH_KEEP_TEXT="Keep related database files?"
|
||||||
UPG_KEEP_TEXT="Keep"
|
UPG_KEEP_TEXT="Keep"
|
||||||
UPG_NOT_KEEP_TEXT="Do not keep"
|
UPG_NOT_KEEP_TEXT="Do not keep"
|
||||||
UPG_GETTING_CORE_TEXT="Fetching $crashcore core files online..."
|
UPG_GETTING_CORE_TEXT_PREFIX="Fetching "
|
||||||
UPG_CORE_DOWNLOAD_OK_TEXT="$crashcore core downloaded successfully!"
|
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_FAIL_TEXT="Core file download failed!"
|
||||||
UPG_CORE_DOWNLOAD_VERIFY_FAIL_TEXT="Core file downloaded, but verification 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_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_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_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_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_1_PREFIX="1) \033[43;30mMihomo\033[0m: \033[32m"
|
||||||
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_1_SUFFIX=" \033[32m(full meta core) highly compatible\033[0m \033[33mmore resource usage\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_2_PREFIX="2) \033[43;30mSingBoxR\033[0m: \033[32m"
|
||||||
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_2_SUFFIX=" \033[32mfully featured\033[0m \033[33mreF1nd enhanced branch\033[0m"
|
||||||
UPG_CORE_MENU_5="5) Switch branch and compression method: \033[32m$zip_type\033[0m"
|
UPG_CORE_MENU_3_PREFIX="3) \033[43;30mSingBox\033[0m: \033[32m"
|
||||||
UPG_CORE_MENU_6="6) \033[36mUse custom core\033[0m $custcore"
|
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_7="7) \033[32mUpdate current core\033[0m"
|
||||||
UPG_CORE_MENU_9="9) Manually specify CPU architecture"
|
UPG_CORE_MENU_9="9) Manually specify CPU architecture"
|
||||||
UPG_GEO_GETTING="Fetching database files from the server..."
|
UPG_GEO_GETTING="Fetching database files from the server..."
|
||||||
UPG_GEO_FAIL="Download failed!"
|
UPG_GEO_FAIL="Download failed!"
|
||||||
UPG_GEO_EXTRACT_FAIL="Extraction 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_LINKING="Fetching database files..."
|
||||||
UPG_GEO_FINDING="Searching for updatable database files..."
|
UPG_GEO_FINDING="Searching for updatable database files..."
|
||||||
UPG_GEO_SELECT="Please choose the database file to update:"
|
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_ONLY3="(Mihomo-mrs only)"
|
||||||
UPG_GEO_LOCAL_ONLY4="(Clash-GeoIP only)"
|
UPG_GEO_LOCAL_ONLY4="(Clash-GeoIP only)"
|
||||||
UPG_GEO_CUSTOM_LINK="Custom database link"
|
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_HINT2="After cleaning, starting the service will automatically download the required files"
|
||||||
UPG_GEO_CLEAN_CONFIRM="Confirm cleanup"
|
UPG_GEO_CLEAN_CONFIRM="Confirm cleanup"
|
||||||
UPG_GEO_CLEAN_OK="All database files have been cleaned!"
|
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_UPGRADE="Upgrade / overwrite install"
|
||||||
UPG_DB_CANCEL="Installation cancelled"
|
UPG_DB_CANCEL="Installation cancelled"
|
||||||
UPG_DB_DIR_SELECT="Please choose the panel install directory:"
|
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_DIR_2="2) Install in /www/clash"
|
||||||
UPG_DB_TITLE="Install the dashboard management panel locally"
|
UPG_DB_TITLE="Install the dashboard management panel locally"
|
||||||
UPG_DB_TITLE2="The management panel opens faster and is more stable"
|
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_CORE_GET_LINK_TITLE="Fetching core file links..."
|
||||||
UPG_CUSTOM_CORE_CURRENT_TEXT="Current core: "
|
UPG_CUSTOM_CORE_CURRENT_TEXT="Current core: "
|
||||||
UPG_CUSTOM_CORE_NOTE1="Gvisor, Tailscale, Wireguard, and NaiveProxy are not supported"
|
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_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_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_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_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_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_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_ITEM8="8) \033[36mCustom database file\033[0m"
|
||||||
UPG_GEO_ITEM9="9) \033[31mClean database files\033[0m"
|
UPG_GEO_ITEM9="9) \033[31mClean database files\033[0m"
|
||||||
UPG_GEO_CLEAN_PROMPT="Confirm cleanup"
|
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_CLEAN_WARN2="After cleanup, start the service to download the required files automatically"
|
||||||
UPG_GEO_CLEANED="All database files have been cleaned!"
|
UPG_GEO_CLEANED="All database files have been cleaned!"
|
||||||
UPG_DB_CONNECTING="Connecting to the server to fetch installation files..."
|
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_INSTALLED_HINT="A local panel is already installed"
|
||||||
UPG_DB_INSTALL_CANCEL="Installation cancelled"
|
UPG_DB_INSTALL_CANCEL="Installation cancelled"
|
||||||
UPG_DB_DIR_TITLE="Please choose the panel install directory:"
|
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_DIR_2_TEXT="2) Install in /www/clash"
|
||||||
UPG_DB_INSTALL_TITLE="Install the dashboard management panel locally"
|
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_TITLE2="The management panel opens faster and is more stable"
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
FWF_TITLE="Traffic Filter"
|
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_1_PREFIX="1) Filter Common ports: "
|
||||||
FWF_ITEM_2="2) Filter LAN devices: \t\033[36m$mac_return\033[0m\t--- use blacklist/whitelist filtering"
|
FWF_ITEM_1_SUFFIX="--- filter P2P traffic"
|
||||||
FWF_ITEM_3="3) Filter QUIC protocol: \t\033[36m$quic_rj\033[0m\t--- improve video performance"
|
FWF_ITEM_2_PREFIX="2) Filter LAN devices: "
|
||||||
FWF_ITEM_4="4) Filter CN_IP (4&6) list: \033[36m$cn_ip_route\033[0m\t--- improve performance"
|
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_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_ITEM_6="6) Custom reserved-address IPv4 subnet: for environments that need reserved addresses as targets"
|
||||||
FWF_BACK="0) $COMMON_BACK"
|
FWF_BACK="0) $COMMON_BACK"
|
||||||
@@ -21,7 +25,8 @@ FWF_PASS_WORD="not"
|
|||||||
FWF_COMMON_NOTE="Note:\n"
|
FWF_COMMON_NOTE="Note:\n"
|
||||||
FWF_MIX_NOTE="In MIX mode, non-common port traffic from fake-ip sources will not be filtered"
|
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_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_2="2) Add allowed port"
|
||||||
FWF_PORT_MENU_3="3) Remove specified allowed port"
|
FWF_PORT_MENU_3="3) Remove specified allowed port"
|
||||||
FWF_PORT_MENU_4="4) Reset default allowed ports"
|
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_WHITE_DESC="Only the devices in the list pass through the core"
|
||||||
FWF_FILTER_EXISTED="Currently filtered devices:"
|
FWF_FILTER_EXISTED="Currently filtered devices:"
|
||||||
FWF_FILTER_HEADER=" \033[36mDevice MAC/IP\033[0m \033[35mDevice name\033[0m"
|
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_MAC="2) \033[32mAdd specified device (MAC)\033[0m"
|
||||||
FWF_FILTER_ADD_IP="3) \033[32mAdd specified device (IP/subnet)\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_REMOVE="4) \033[36mRemove specified device\033[0m"
|
||||||
|
|||||||
@@ -10,7 +10,8 @@ OVR_PROMPT="Please enter> "
|
|||||||
OVR_GROUPS_CHOOSE_TYPE="Please choose the proxy group type:"
|
OVR_GROUPS_CHOOSE_TYPE="Please choose the proxy group type:"
|
||||||
OVR_GROUP_TYPE_CN="Manual Select Auto Select Failover Load Balance"
|
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_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_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_WARN_CONFIRM="1) I confirm I can solve any problems myself"
|
||||||
OVR_CONFIRM_YES="1) Yes"
|
OVR_CONFIRM_YES="1) Yes"
|
||||||
|
|||||||
@@ -265,6 +265,7 @@ set_redir_mod() {
|
|||||||
[ -z "$firewall_area" ] && firewall_area=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'
|
[ -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)
|
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" \
|
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"
|
"$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() {
|
set_firewall_area() {
|
||||||
while true; do
|
while true; do
|
||||||
[ -z "$vm_redir" ] && vm_redir='OFF'
|
|
||||||
comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \
|
comp_box "\033[33m$FW_AREA_NOTE_1\033[0m" \
|
||||||
"\033[33m$FW_AREA_NOTE_2\033[0m" \
|
"\033[33m$FW_AREA_NOTE_2\033[0m" \
|
||||||
"" \
|
"" \
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ ssh_tools() {
|
|||||||
[ -z "$ssh_port" ] && ssh_port=10022
|
[ -z "$ssh_port" ] && ssh_port=10022
|
||||||
comp_box "\033[33m$TOOLS_SSH_ONLY_OPENWRT\033[0m" \
|
comp_box "\033[33m$TOOLS_SSH_ONLY_OPENWRT\033[0m" \
|
||||||
"\033[31m$TOOLS_SSH_UNSUPPORTED_SYSTEM\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_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"
|
"0) $COMMON_BACK \033[0m"
|
||||||
read -r -p "$COMMON_INPUT> " num
|
read -r -p "$COMMON_INPUT> " num
|
||||||
@@ -88,9 +88,9 @@ tools() {
|
|||||||
content_line "$TOOLS_MENU_GUIDE_ITEM"
|
content_line "$TOOLS_MENU_GUIDE_ITEM"
|
||||||
content_line "$TOOLS_MENU_LOG_ITEM"
|
content_line "$TOOLS_MENU_LOG_ITEM"
|
||||||
[ -f /etc/firewall.user ] && content_line "$TOOLS_MENU_SSH_ITEM"
|
[ -f /etc/firewall.user ] && content_line "$TOOLS_MENU_SSH_ITEM"
|
||||||
[ -x /usr/sbin/otapredownload ] && content_line "$TOOLS_MENU_MI_UPDATE_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"
|
[ "$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"
|
[ "$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 "" \
|
btm_box "" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
read -r -p "$COMMON_INPUT> " num
|
read -r -p "$COMMON_INPUT> " num
|
||||||
@@ -123,7 +123,8 @@ tools() {
|
|||||||
sed -i "/^\s*#.*otapredownload/ s/^\s*#//" /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
|
echo "15 3,4,5 * * * /usr/sbin/otapredownload >/dev/null 2>&1" >>/etc/crontabs/root
|
||||||
fi
|
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
|
fi
|
||||||
;;
|
;;
|
||||||
6)
|
6)
|
||||||
@@ -227,17 +228,17 @@ log_pusher() {
|
|||||||
[ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF
|
[ -n "$push_Gotify" ] && stat_Gotify=32mON || stat_Gotify=33mOFF
|
||||||
[ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF
|
[ "$task_push" = 1 ] && stat_task=32mON || stat_task=33mOFF
|
||||||
[ -n "$device_name" ] && device_s=32m$device_name || device_s=33m$COMMON_UNSET
|
[ -n "$device_name" ] && device_s=32m$device_name || device_s=33m$COMMON_UNSET
|
||||||
comp_box "$TOOLS_LOG_TG" \
|
comp_box "${TOOLS_LOG_TG_PREFIX}\033[$stat_TG\033[0m${TOOLS_LOG_TG_SUFFIX}" \
|
||||||
"$TOOLS_LOG_DEER" \
|
"${TOOLS_LOG_DEER_PREFIX}\033[$stat_Deer\033[0m${TOOLS_LOG_DEER_SUFFIX}" \
|
||||||
"$TOOLS_LOG_BARK" \
|
"${TOOLS_LOG_BARK_PREFIX}\033[$stat_bark\033[0m${TOOLS_LOG_BARK_SUFFIX}" \
|
||||||
"$TOOLS_LOG_PO" \
|
"${TOOLS_LOG_PO_PREFIX}\033[$stat_Po\033[0m${TOOLS_LOG_PO_SUFFIX}" \
|
||||||
"$TOOLS_LOG_PP" \
|
"${TOOLS_LOG_PP_PREFIX}\033[$stat_PP\033[0m${TOOLS_LOG_PP_SUFFIX}" \
|
||||||
"$TOOLS_LOG_SYNO" \
|
"${TOOLS_LOG_SYNO_PREFIX}\033[$stat_SynoChat\033[0m${TOOLS_LOG_SYNO_SUFFIX}" \
|
||||||
"$TOOLS_LOG_GOTIFY" \
|
"${TOOLS_LOG_GOTIFY_PREFIX}\033[$stat_Gotify\033[0m${TOOLS_LOG_GOTIFY_SUFFIX}" \
|
||||||
"" \
|
"" \
|
||||||
"$TOOLS_LOG_VIEW" \
|
"$TOOLS_LOG_VIEW" \
|
||||||
"$TOOLS_LOG_TASK" \
|
"${TOOLS_LOG_TASK_PREFIX}\033[$stat_task\033[0m${TOOLS_LOG_TASK_SUFFIX}" \
|
||||||
"$TOOLS_LOG_DEVICE" \
|
"${TOOLS_LOG_DEVICE_PREFIX}\033[$device_s\033[0m${TOOLS_LOG_DEVICE_SUFFIX}" \
|
||||||
"$TOOLS_LOG_CLEAR" \
|
"$TOOLS_LOG_CLEAR" \
|
||||||
"" \
|
"" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
@@ -685,18 +686,18 @@ testcommand() {
|
|||||||
debug() {
|
debug() {
|
||||||
echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml
|
echo "$crashcore" | grep -q 'singbox' && config_tmp="$TMPDIR"/jsons || config_tmp="$TMPDIR"/config.yaml
|
||||||
comp_box "\033[36m$TOOLS_DEBUG_WARN1\033[0m" \
|
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_WARN3" \
|
||||||
"$TOOLS_DEBUG_WARN4"
|
"$TOOLS_DEBUG_WARN4"
|
||||||
content_line "$TOOLS_DEBUG_ITEM_1"
|
content_line "${TOOLS_DEBUG_ITEM_1_PREFIX}\033[32m$config_tmp\033[0m${TOOLS_DEBUG_ITEM_1_SUFFIX}"
|
||||||
content_line "$TOOLS_DEBUG_ITEM_2"
|
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_3"
|
||||||
content_line "$TOOLS_DEBUG_ITEM_4"
|
content_line "$TOOLS_DEBUG_ITEM_4"
|
||||||
content_line "$TOOLS_DEBUG_ITEM_5"
|
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 ""
|
||||||
content_line "$TOOLS_DEBUG_ITEM_8"
|
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 "" \
|
btm_box "" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
read -r -p "$COMMON_INPUT> " num
|
read -r -p "$COMMON_INPUT> " num
|
||||||
@@ -765,4 +766,3 @@ debug() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -300,11 +300,11 @@ getcore() {
|
|||||||
# 获取在线内核文件
|
# 获取在线内核文件
|
||||||
line_break
|
line_break
|
||||||
separator_line "="
|
separator_line "="
|
||||||
content_line "$UPG_GETTING_CORE_TEXT"
|
content_line "${UPG_GETTING_CORE_TEXT_PREFIX}${crashcore}${UPG_GETTING_CORE_TEXT_SUFFIX}"
|
||||||
core_webget
|
core_webget
|
||||||
case "$?" in
|
case "$?" in
|
||||||
0)
|
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 "="
|
separator_line "="
|
||||||
sleep 1
|
sleep 1
|
||||||
switch_core
|
switch_core
|
||||||
@@ -403,10 +403,10 @@ setcustcore() {
|
|||||||
separator_line "="
|
separator_line "="
|
||||||
content_line "$UPG_CUSTOM_CORE_SELECT"
|
content_line "$UPG_CUSTOM_CORE_SELECT"
|
||||||
separator_line "-"
|
separator_line "-"
|
||||||
btm_box "$UPG_CORE_MENU_1" \
|
btm_box "${UPG_CORE_MENU_1_PREFIX}${meta_v}${UPG_CORE_MENU_1_SUFFIX}" \
|
||||||
"$UPG_CORE_MENU_2" \
|
"${UPG_CORE_MENU_2_PREFIX}${singboxr_v}${UPG_CORE_MENU_2_SUFFIX}" \
|
||||||
"$UPG_CORE_MENU_3" \
|
"${UPG_CORE_MENU_3_PREFIX}${singbox_v}${UPG_CORE_MENU_3_SUFFIX}" \
|
||||||
"$UPG_CORE_MENU_4" \
|
"${UPG_CORE_MENU_4_PREFIX}${clash_v}${UPG_CORE_MENU_4_SUFFIX}" \
|
||||||
"$UPG_CORE_MENU_9" \
|
"$UPG_CORE_MENU_9" \
|
||||||
"" \
|
"" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
@@ -506,22 +506,22 @@ setcore() {
|
|||||||
"" \
|
"" \
|
||||||
"\033[33m$UPG_CORE_MENU_SELECT\033[0m"
|
"\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"
|
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"
|
sub_content_line "$UPG_CORE_V2_DOC"
|
||||||
|
|
||||||
[ "$zip_type" = 'upx' ] && {
|
[ "$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"
|
sub_content_line "$UPG_CORE_V3_DOC"
|
||||||
}
|
}
|
||||||
[ "$zip_type" = 'upx' ] && {
|
[ "$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"
|
sub_content_line "$UPG_CORE_V4_DOC"
|
||||||
}
|
}
|
||||||
btm_box "$UPG_CORE_MENU_5" \
|
btm_box "${UPG_CORE_MENU_5_PREFIX}${zip_type}${UPG_CORE_MENU_5_SUFFIX}" \
|
||||||
"$UPG_CORE_MENU_6" \
|
"${UPG_CORE_MENU_6_PREFIX}${custcore}${UPG_CORE_MENU_6_SUFFIX}" \
|
||||||
"$UPG_CORE_MENU_7" \
|
"$UPG_CORE_MENU_7" \
|
||||||
"$UPG_CORE_MENU_9" \
|
"$UPG_CORE_MENU_9" \
|
||||||
"" \
|
"" \
|
||||||
@@ -609,7 +609,7 @@ getgeo() {
|
|||||||
else
|
else
|
||||||
mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}"
|
mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}"
|
||||||
fi
|
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"
|
geo_v="$(echo "$geotype" | awk -F "." '{print $1}')_v"
|
||||||
setconfig "$geo_v" "$GeoIP_v"
|
setconfig "$geo_v" "$GeoIP_v"
|
||||||
fi
|
fi
|
||||||
@@ -630,7 +630,7 @@ getcustgeo() {
|
|||||||
[ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset
|
[ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset
|
||||||
}
|
}
|
||||||
mv -f "$TMPDIR"/"${geoname}" "$BINDIR"/"${geofile}""${geoname}"
|
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 "="
|
separator_line "="
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
@@ -818,7 +818,7 @@ setgeo() {
|
|||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
while true; do
|
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"
|
"$UPG_GEO_CLEAN_HINT2"
|
||||||
btm_box "$UPG_GEO_CLEAN_CONFIRM" \
|
btm_box "$UPG_GEO_CLEAN_CONFIRM" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
@@ -912,7 +912,7 @@ dbdir() {
|
|||||||
fi
|
fi
|
||||||
elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then
|
elif [ -w /www ] && [ -n "$(pidof nginx)" ]; then
|
||||||
comp_box "$UPG_DB_DIR_SELECT"
|
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" \
|
"$UPG_DB_DIR_2" \
|
||||||
"" \
|
"" \
|
||||||
"0) $COMMON_BACK"
|
"0) $COMMON_BACK"
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ set_fw_filter() {
|
|||||||
[ -z "$quic_rj" ] && quic_rj=OFF
|
[ -z "$quic_rj" ] && quic_rj=OFF
|
||||||
[ -z "$cn_ip_route" ] && cn_ip_route=OFF
|
[ -z "$cn_ip_route" ] && cn_ip_route=OFF
|
||||||
touch "$CRASHDIR"/configs/mac "$CRASHDIR"/configs/ip_filter
|
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
|
[ -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" \
|
comp_box "${FWF_ITEM_1_PREFIX}\033[36m$common_ports\033[0m\t${FWF_ITEM_1_SUFFIX}" \
|
||||||
"$FWF_ITEM_2" \
|
"${FWF_ITEM_2_PREFIX}\033[36m$mac_filter_info\033[0m\t${FWF_ITEM_2_SUFFIX}" \
|
||||||
"$FWF_ITEM_3" \
|
"${FWF_ITEM_3_PREFIX}\033[36m$quic_rj\033[0m\t${FWF_ITEM_3_SUFFIX}" \
|
||||||
"$FWF_ITEM_4" \
|
"${FWF_ITEM_4_PREFIX}\033[36m$cn_ip_route\033[0m\t${FWF_ITEM_4_SUFFIX}" \
|
||||||
"$FWF_ITEM_5" \
|
"$FWF_ITEM_5" \
|
||||||
"$FWF_ITEM_6" \
|
"$FWF_ITEM_6" \
|
||||||
"" \
|
"" \
|
||||||
@@ -94,7 +94,7 @@ set_common_ports() {
|
|||||||
content_line "$FWF_ALLOWED_PORTS\033[36m$multiport\033[0m"
|
content_line "$FWF_ALLOWED_PORTS\033[36m$multiport\033[0m"
|
||||||
fi
|
fi
|
||||||
separator_line "="
|
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_2" \
|
||||||
"$FWF_PORT_MENU_3" \
|
"$FWF_PORT_MENU_3" \
|
||||||
"$FWF_PORT_MENU_4" \
|
"$FWF_PORT_MENU_4" \
|
||||||
@@ -463,7 +463,7 @@ fw_filter_lan() {
|
|||||||
done
|
done
|
||||||
separator_line "="
|
separator_line "="
|
||||||
fi
|
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_MAC" \
|
||||||
"$FWF_FILTER_ADD_IP" \
|
"$FWF_FILTER_ADD_IP" \
|
||||||
"$FWF_FILTER_REMOVE" \
|
"$FWF_FILTER_REMOVE" \
|
||||||
|
|||||||
@@ -3,10 +3,9 @@
|
|||||||
|
|
||||||
[ -n "$__IS_MODULE_OVERRIDE" ] && return
|
[ -n "$__IS_MODULE_OVERRIDE" ] && return
|
||||||
__IS_MODULE_OVERRIDE=1
|
__IS_MODULE_OVERRIDE=1
|
||||||
load_lang override
|
|
||||||
|
|
||||||
YAMLSDIR="$CRASHDIR"/yamls
|
YAMLSDIR="$CRASHDIR"/yamls
|
||||||
JSONSDIR="$CRASHDIR"/jsons
|
JSONSDIR="$CRASHDIR"/jsons
|
||||||
|
load_lang override
|
||||||
|
|
||||||
# 配置文件覆写
|
# 配置文件覆写
|
||||||
override() {
|
override() {
|
||||||
@@ -48,7 +47,7 @@ override() {
|
|||||||
;;
|
;;
|
||||||
9)
|
9)
|
||||||
comp_box "\033[33m$OVR_WARN_1\033[0m" \
|
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"
|
"\033[33m$OVR_WARN_3\033[0m"
|
||||||
sleep 2
|
sleep 2
|
||||||
btm_box "$OVR_WARN_CONFIRM" \
|
btm_box "$OVR_WARN_CONFIRM" \
|
||||||
|
|||||||
Reference in New Issue
Block a user