diff --git a/.github/workflows/bin_update.yml b/.github/workflows/bin_update.yml index 9686870e..835fcc2a 100644 --- a/.github/workflows/bin_update.yml +++ b/.github/workflows/bin_update.yml @@ -84,7 +84,7 @@ jobs: curl -kfSL -o geodata/cn_mini.mmdb https://raw.githubusercontent.com/Hackl0us/GeoIP2-CN/release/Country.mmdb curl -kfSL -o geodata/china_ip_list.txt https://raw.githubusercontent.com/ChanthMiao/China-IPv4-List/release/cn.txt curl -kfSL -o geodata/china_ipv6_list.txt https://raw.githubusercontent.com/ChanthMiao/China-IPv6-List/release/cn6.txt - curl -kfSL -o geodata/geosite.dat https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-geodata/geosite-all.dat + curl -kfSL -o geodata/geosite.dat https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat curl -kfSL -o geodata/srs_geoip_cn.srs https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs curl -kfSL -o geodata/srs_geosite_cn.srs https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn.srs curl -kfSL -o geodata/mrs_geosite_cn.mrs https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn.mrs @@ -150,7 +150,12 @@ jobs: git branch -M update git remote add origin "https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git" git push -f origin update - + #刷新cdn缓存 + sleep 60 + find bin/dashboard bin/geodata -type f 2>/dev/null | while read -r file; do + curl -s "https://purge.jsdelivr.net/gh/juewuy/ShellClash@update/${file#bin/}" || true + done + curl -s https://purge.jsdelivr.net/gh/juewuy/ShellClash@update/bin/version || true - name: Cleanup Workflow uses: Mattraks/delete-workflow-runs@main with: diff --git a/.github/workflows/update_meta_core.yaml b/.github/workflows/update_meta_core.yaml index b7d271ce..923897bc 100644 --- a/.github/workflows/update_meta_core.yaml +++ b/.github/workflows/update_meta_core.yaml @@ -195,6 +195,12 @@ jobs: 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 + #刷新cdn缓存 + sleep 60 + find "bin/${crashcore}" -type f | while read -r file; do + curl -s "https://purge.jsdelivr.net/gh/juewuy/ShellClash@update/${file#bin/}" || true + done + curl -s https://purge.jsdelivr.net/gh/juewuy/ShellClash@update/bin/version || true - name: Create Release and Upload Release Asset if: ${{ env.RELEASE != '' && env.PUSHDIR == '' }} diff --git a/.github/workflows/update_singbox_core.yaml b/.github/workflows/update_singbox_core.yaml index a03ca48b..120a9ed8 100644 --- a/.github/workflows/update_singbox_core.yaml +++ b/.github/workflows/update_singbox_core.yaml @@ -220,6 +220,12 @@ jobs: 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 + #刷新cdn缓存 + sleep 60 + find "bin/${crashcore}" -type f | while read -r file; do + curl -s "https://purge.jsdelivr.net/gh/juewuy/ShellClash@update/${file#bin/}" || true + done + curl -s https://purge.jsdelivr.net/gh/juewuy/ShellClash@update/bin/version || true - name: Create Release and Upload Release Asset if: ${{ env.RELEASE != '' && env.PUSHDIR == '' }} diff --git a/ShellCrash.tar.gz b/ShellCrash.tar.gz index ceaba242..5f3551a9 100644 Binary files a/ShellCrash.tar.gz and b/ShellCrash.tar.gz differ diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index ceaba242..5f3551a9 100644 Binary files a/bin/clashfm.tar.gz and b/bin/clashfm.tar.gz differ diff --git a/bin/version b/bin/version index 620b5ec1..7a29ad88 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.3beta5fix +versionsh=1.9.3beta7 GeoIP_v=20251205 diff --git a/install.sh b/install.sh index 439a3746..e70be35b 100644 --- a/install.sh +++ b/install.sh @@ -13,9 +13,8 @@ echo "***********************************************" dir_avail() { df $2 $1 | 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 -E 'Ava|可用' | awk '{print $2}' } -setconfig() { - configpath=$CRASHDIR/configs/ShellCrash.cfg - [ -n "$(grep ${1} $configpath)" ] && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || echo "${1}=${2}" >>$configpath +ckcmd() { #检查命令 + command -v sh >/dev/null 2>&1 && command -v "$1" || type "$1" } webget() { #参数【$1】代表下载目录,【$2】代表在线地址 @@ -43,6 +42,29 @@ error_down() { $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 ;; + *) my_alias=$res ;; + esac + cmd=$(ckcmd "$my_alias" | grep 'menu.sh') + ckcmd "$my_alias" >/dev/null 2>&1 && [ -z "$cmd" ] && { + $echo "\033[33m此别名和当前系统内置命令/别名冲突,请换一个!\033[0m" + sleep 1 + set_alias + } +} gettar() { webget /tmp/ShellCrash.tar.gz "$url/ShellCrash.tar.gz" if [ "$result" != "200" ]; then @@ -57,7 +79,9 @@ gettar() { 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 - . $CRASHDIR/init.sh >/dev/null || $echo "\033[33m初始化失败,请尝试本地安装!\033[0m" + set_alias + . $CRASHDIR/init.sh >/dev/null + [ "$?" != 0 ] && $echo "\033[33m初始化失败,请尝试本地安装!\033[0m" && exit 1 else rm -rf /tmp/ShellCrash.tar.gz $echo "\033[33m文件解压失败!\033[0m" @@ -207,7 +231,7 @@ 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 crash \033[0;33m命令即可管理!!!\033[0m" + $echo "\033[33m输入\033[30;47m $my_alias \033[0;33m命令即可管理!!!\033[0m" echo ----------------------------------------------- } setversion() { diff --git a/public/servers.list b/public/servers.list index 8080eb86..90811fa5 100644 --- a/public/servers.list +++ b/public/servers.list @@ -5,7 +5,6 @@ 103 ShellClash自建源(请勿滥用!) https://gh.jwsc.eu.org 104 Cloudflare_CDN源(推荐) https://testingcf.jsdelivr.net/gh/juewuy/ShellCrash -201 wwng2333自建CN源(请勿滥用!) https://mirrors.csgo.ovh/ShellClash 公测版 202 http私人内测源(危险!非必要请勿使用) http://t.jwsc.eu.org 开发版 401 作者提供,支持vless|hy2 https://sub.jwsc.eu.org ua diff --git a/rules/clash_providers/DustinWin_Geo_Full.yaml b/rules/clash_providers/DustinWin_Geo_Full.yaml index 72b3f881..1265b181 100644 --- a/rules/clash_providers/DustinWin_Geo_Full.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full.yaml @@ -1,7 +1,7 @@ #DustinWin-GeoSite全分组规则 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -23,6 +23,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml index 19d0faef..8e4c85bc 100644 --- a/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Full_NoAds.yaml @@ -1,7 +1,7 @@ #DustinWin-GeoSite无广告规则 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -20,6 +20,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_Geo_Light.yaml b/rules/clash_providers/DustinWin_Geo_Light.yaml index 0f611644..35ab25f4 100644 --- a/rules/clash_providers/DustinWin_Geo_Light.yaml +++ b/rules/clash_providers/DustinWin_Geo_Light.yaml @@ -1,6 +1,6 @@ #DustinWin-GeoSite轻量规则 proxy-groups: - - {name: 🚀 节点选择, type: select, proxies: [🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} @@ -10,6 +10,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_Geo_Lite.yaml b/rules/clash_providers/DustinWin_Geo_Lite.yaml index c00fb298..9be29f2e 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite.yaml @@ -1,7 +1,7 @@ #DustinWin-GeoSite精简规则 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -21,6 +21,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml index 8003cbf2..eae98cca 100644 --- a/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_Geo_Lite_NoAds.yaml @@ -1,7 +1,7 @@ #DustinWin-GeoSite无广告精简规则 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -18,6 +18,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index b764cbe8..9b98ed8a 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -1,7 +1,7 @@ #DustinWin-ruleset全分组去广告规则 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -9,7 +9,7 @@ proxy-groups: - {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: [🎯 全球直连, 🚀 节点选择]} - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, 🎯 全球直连]} @@ -23,6 +23,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 5dfd1778..3e84d715 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -1,14 +1,14 @@ #DustinWin-ruleset全分组规则 proxy-groups: - - {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: 🤖 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: [🎯 全球直连, 🚀 节点选择]} - {name: 🛡️ 直连域名, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🀄️ 直连 IP, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} @@ -20,6 +20,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_RS_Light.yaml b/rules/clash_providers/DustinWin_RS_Light.yaml index f7499903..dd3abdbc 100644 --- a/rules/clash_providers/DustinWin_RS_Light.yaml +++ b/rules/clash_providers/DustinWin_RS_Light.yaml @@ -1,6 +1,6 @@ #DustinWin-ruleset轻量规则 proxy-groups: - - {name: 🚀 节点选择, type: select, proxies: [🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} + - {name: 🚀 节点选择, type: select, proxies: [♻️ 自动选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} - {name: 🎯 全球直连, type: select, proxies: [DIRECT, 🚀 节点选择]} - {name: 🧱 代理域名, type: select, proxies: [🚀 节点选择, DIRECT]} - {name: 📲 电报消息, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点, 👑 高级节点, 📉 省流节点, {providers_tags}]} @@ -8,6 +8,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} @@ -21,8 +22,8 @@ rule-providers: format: mrs path: ./ruleset/cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn.mrs" - interval: 86400 - + interval: 86400 + private: type: http behavior: domain diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index 0ec8def2..aed1d7ca 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -1,7 +1,7 @@ #DustinWin-ruleset标准规则+去广告 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -21,6 +21,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index 06b9c718..128476a2 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -1,7 +1,7 @@ #DustinWin-ruleset标准规则 proxy-groups: - - {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: 🤖 AI 平台, type: select, proxies: [🚀 节点选择, 🇭🇰 香港节点, 🇹🇼 台湾节点, 🇯🇵 日本节点, 🇸🇬 新加坡节点, 🇺🇸 美国节点]} - {name: 📋 Trackerslist, type: select, proxies: [🎯 全球直连, 🚀 节点选择]} - {name: 🎮 游戏服务, type: select, proxies: [🎯 全球直连, 👑 高级节点, 🚀 节点选择]} @@ -18,6 +18,7 @@ proxy-groups: - {name: 👑 高级节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)"} - {name: 📉 省流节点, type: url-test, tolerance: 100, include-all-providers: true, filter: "(0\\.[1-5]|低倍率|省流|大流量)"} + - {name: ♻️ 自动选择, type: url-test, tolerance: 100, include-all-providers: true} - {name: 🇭🇰 香港节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇭🇰|港|hk|hongkong|hong kong)"} - {name: 🇹🇼 台湾节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇹🇼|台|tw|taiwan|tai wan)"} - {name: 🇯🇵 日本节点, type: url-test, tolerance: 50, include-all-providers: true, filter: "(?i)(🇯🇵|日|jp|japan)"} diff --git a/rules/clash_providers/ShellCrash_Geo_Nano.yaml b/rules/clash_providers/ShellCrash_Geo_Nano.yaml index be5750c9..7fac3f85 100644 --- a/rules/clash_providers/ShellCrash_Geo_Nano.yaml +++ b/rules/clash_providers/ShellCrash_Geo_Nano.yaml @@ -1,8 +1,7 @@ #ShellCrash-GeoIP极简规则 proxy-groups: - {name: 🚀 节点选择, type: select, proxies: [{providers_tags}], include-all-providers: true} - - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 节点选择, {providers_tags}, 🎯 全球直连]} - - {name: 🎯 全球直连, type: select, proxies: [DIRECT], hidden: true} + - {name: 🎯 全球直连, type: select, proxies: [DIRECT, 🚀 节点选择]} rules: - GEOIP,cn,🎯 全球直连 - - MATCH,🐟 漏网之鱼 + - MATCH,🚀 节点选择 diff --git a/rules/clash_providers/ShellCrash_RS_Nano.yaml b/rules/clash_providers/ShellCrash_RS_Nano.yaml index 17511499..5195350a 100644 --- a/rules/clash_providers/ShellCrash_RS_Nano.yaml +++ b/rules/clash_providers/ShellCrash_RS_Nano.yaml @@ -9,7 +9,7 @@ rule-providers: format: mrs path: ./ruleset/cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn.mrs" - interval: 86400 + interval: 86400 privateip: type: http behavior: ipcidr diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index 22a95c5e..70cb31d1 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -1,9 +1,8 @@ //DustinWin-ruleset全分组规则+去广告 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, - { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "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": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, @@ -11,7 +10,7 @@ { "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": [ "🎯 全球直连", "🚀 节点选择" ] }, { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, @@ -21,6 +20,7 @@ { "tag": "GLOBAL", "type": "selector", "outbounds": [ "🚀 节点选择", "DIRECT" ] }, { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" }, { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "include": "0\\.[1-5]|低倍率|省流|大流量" }, + { "tag": "♻️ 自动选择", "type": "urltest", "tolerance": 100, "use_all_providers": true }, { "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)(🇯🇵|日|jp|japan)" }, @@ -44,8 +44,8 @@ { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, { "rule_set": [ "privateip" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, - - { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, + + { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "gamesip" ], "outbound": "🎮 游戏平台" } diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index a7dd7a6c..070e749f 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -1,9 +1,8 @@ //DustinWin-ruleset全分组规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, - { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "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": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, @@ -11,7 +10,7 @@ { "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": [ "🎯 全球直连", "🚀 节点选择" ] }, { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, @@ -21,6 +20,7 @@ { "tag": "GLOBAL", "type": "selector", "outbounds": [ "🚀 节点选择", "DIRECT" ] }, { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" }, { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "include": "0\\.[1-5]|低倍率|省流|大流量" }, + { "tag": "♻️ 自动选择", "type": "urltest", "tolerance": 100, "use_all_providers": true }, { "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)(🇯🇵|日|jp|japan)" }, @@ -43,8 +43,8 @@ { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, { "rule_set": [ "privateip" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, - - { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, + + { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" }, { "rule_set": [ "mediaip" ], "outbound": "🌍 国外媒体" }, { "rule_set": [ "gamesip" ], "outbound": "🎮 游戏平台" } diff --git a/rules/singbox_providers/DustinWin_RS_Light.json b/rules/singbox_providers/DustinWin_RS_Light.json index 6bc7470d..85ddac0b 100644 --- a/rules/singbox_providers/DustinWin_RS_Light.json +++ b/rules/singbox_providers/DustinWin_RS_Light.json @@ -1,15 +1,15 @@ //DustinWin-ruleset轻量规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, - { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT", "🚀 节点选择" ] }, + { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "♻️ 自动选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🎯 全球直连", {providers_tags} ] }, { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 全球直连" ] }, + { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, { "tag": "GLOBAL", "type": "selector", "outbounds": [ "🚀 节点选择", "DIRECT" ] }, { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" }, { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "include": "0\\.[1-5]|低倍率|省流|大流量" }, + { "tag": "♻️ 自动选择", "type": "urltest", "tolerance": 100, "use_all_providers": true }, { "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)(🇯🇵|日|jp|japan)" }, @@ -21,11 +21,11 @@ { "rule_set": [ "private" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "tld-proxy" ], "outbound": "🧱 代理域名" }, { "rule_set": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "rule_set": [ "cn" ], "outbound": "🎯 全球直连" }, + { "rule_set": [ "cn" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "privateip" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, - - { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, + + { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, { "rule_set": [ "cnip" ], "outbound": "🎯 全球直连" } ], "rule_set": [ diff --git a/rules/singbox_providers/DustinWin_RS_Lite.json b/rules/singbox_providers/DustinWin_RS_Lite.json index d97e191a..0325760d 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite.json +++ b/rules/singbox_providers/DustinWin_RS_Lite.json @@ -1,9 +1,8 @@ //DustinWin-ruleset标准规则+去广告 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, - { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "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": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, @@ -19,6 +18,7 @@ { "tag": "GLOBAL", "type": "selector", "outbounds": [ "🚀 节点选择", "DIRECT" ] }, { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" }, { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "include": "0\\.[1-5]|低倍率|省流|大流量" }, + { "tag": "♻️ 自动选择", "type": "urltest", "tolerance": 100, "use_all_providers": true }, { "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)(🇯🇵|日|jp|japan)" }, @@ -40,8 +40,8 @@ { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, { "rule_set": [ "privateip" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, - - { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, + + { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, { "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 5734afdf..121ba9dd 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json @@ -1,9 +1,8 @@ //DustinWin-ruleset标准规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, - { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "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": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, @@ -19,6 +18,7 @@ { "tag": "GLOBAL", "type": "selector", "outbounds": [ "🚀 节点选择", "DIRECT" ] }, { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "include": "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" }, { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "include": "0\\.[1-5]|低倍率|省流|大流量" }, + { "tag": "♻️ 自动选择", "type": "urltest", "tolerance": 100, "use_all_providers": true }, { "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)(🇯🇵|日|jp|japan)" }, @@ -39,8 +39,8 @@ { "rule_set": [ "cn" ], "outbound": "🛡️ 直连域名" }, { "rule_set": [ "privateip" ], "outbound": "🎯 全球直连" }, { "rule_set": [ "telegramip" ], "outbound": "📲 电报消息" }, - - { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, + + { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, { "rule_set": [ "cnip" ], "outbound": "🀄️ 直连 IP" } ], diff --git a/rules/singbox_providers/ShellCrash_RS_Nano.json b/rules/singbox_providers/ShellCrash_RS_Nano.json index 9cb76a6b..ae2326b0 100644 --- a/rules/singbox_providers/ShellCrash_RS_Nano.json +++ b/rules/singbox_providers/ShellCrash_RS_Nano.json @@ -2,14 +2,14 @@ { "outbounds": [ { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ {providers_tags}, "DIRECT" ], "use_all_providers": true }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" , "🚀 节点选择" ] } + { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT", "🚀 节点选择" ] } ], "route": { "rules": [ { "rule_set": [ "privateip" ], "outbound": "🎯 全球直连" }, - { "rule_set": [ "cn" ], "outbound": "🎯 全球直连" }, + { "rule_set": [ "cn" ], "outbound": "🎯 全球直连" }, - { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, + { "action": "resolve", "server": "dns_proxy", "strategy": "prefer_ipv4"}, { "rule_set": [ "cnip" ], "outbound": "🎯 全球直连" } ], "rule_set": [ diff --git a/scripts/init.sh b/scripts/init.sh index c37a6697..b7633ea5 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (C) Juewuy -version=1.9.3beta5fix +version=1.9.3beta7 setdir() { dir_avail() { @@ -248,20 +248,20 @@ grep -q 'firewall_mod' "$CRASHDIR/configs/ShellClash.cfg" 2>/dev/null || { [ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add [ -w ~/.bashrc ] && profile=~/.bashrc [ -w /etc/profile ] && profile=/etc/profile +set_profile(){ + [ -z "$my_alias" ] && my_alias=crash + sed -i "/alias crash=*/"d "$1" + sed -i "/alias ${my_alias}=*/"d "$1" + 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 +} if [ -n "$profile" ]; then - sed -i '/alias crash=*/'d $profile - echo "alias crash=\"$shtype $CRASHDIR/menu.sh\"" >>$profile #设置快捷命令环境变量 - sed -i '/export CRASHDIR=*/'d $profile - echo "export CRASHDIR=\"$CRASHDIR\"" >>$profile #设置路径环境变量 - . $profile >/dev/null 2>&1 || echo 运行错误!请使用bash而不是dash运行安装命令!!! + set_profile "$profile" #适配zsh环境变量 - zsh --version >/dev/null 2>&1 && [ -z "$(cat ~/.zshrc 2>/dev/null | grep CRASHDIR)" ] && { - sed -i '/alias crash=*/'d ~/.zshrc 2>/dev/null - echo "alias crash=\"$shtype $CRASHDIR/menu.sh\"" >>~/.zshrc - sed -i '/export CRASHDIR=*/'d ~/.zshrc 2>/dev/null - echo "export CRASHDIR=\"$CRASHDIR\"" >>~/.zshrc - . ~/.zshrc >/dev/null 2>&1 - } + zsh --version >/dev/null 2>&1 && [ -z "$(cat ~/.zshrc 2>/dev/null | grep CRASHDIR)" ] && set_profile '~/.zshrc' 2>/dev/null + setconfig my_alias "$my_alias" else echo -e "\033[33m无法写入环境变量!请检查安装权限!\033[0m" exit 1 diff --git a/scripts/menu.sh b/scripts/menu.sh index 2f2b0688..e5b3736e 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -699,6 +699,7 @@ setdns() { #DNS详细设置 [ -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 "$hosts_opt" ] && hosts_opt=已启用 + [ -z "$dns_protect" ] && dns_protect=ON [ -z "$dns_redir" ] && dns_redir=未开启 [ -z "$dns_no" ] && dns_no=未禁用 echo ----------------------------------------------- @@ -712,10 +713,11 @@ setdns() { #DNS详细设置 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 " 5 hosts优化: \033[36m$hosts_opt\033[0m ————调用本机hosts并劫持NTP服务" - echo -e " 6 Dnsmasq转发: \033[36m$dns_redir\033[0m ————不推荐使用" - echo -e " 7 禁用DNS劫持: \033[36m$dns_no\033[0m ————搭配第三方DNS使用" + 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 Dnsmasq转发:\033[36m$dns_redir\033[0m ———不推荐使用" + echo -e " 7 禁用DNS劫持:\033[36m$dns_no\033[0m ———搭配第三方DNS使用" + echo -e " 8 一键配置\033[32m加密DNS\033[0m" echo -e " 9 \033[33m重置\033[0m默认DNS配置" echo -e " 0 返回上级菜单" echo ----------------------------------------------- @@ -756,21 +758,9 @@ setdns() { #DNS详细设置 setdns ;; 4) - echo ----------------------------------------------- - openssldir="$(openssl version -d 2>&1 | awk -F '"' '{print $2}')" - if [ -s "$openssldir/certs/ca-certificates.crt" -o -s "/etc/ssl/certs/ca-certificates.crt" ]; then - dns_nameserver='https://doh.360.cn/dns-query, 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 - setdns + [ "$dns_protect" = "ON" ] && dns_protect=OFF || dns_protect=ON + setconfig dns_protect $dns_protect + setdns ;; 5) echo ----------------------------------------------- @@ -818,6 +808,24 @@ setdns() { #DNS详细设置 sleep 1 setdns ;; + 8) + 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://doh.360.cn/dns-query, 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 + setdns + ;; 9) dns_nameserver= dns_fallback= @@ -1996,10 +2004,14 @@ uninstall() { #移除其他内容 [ -w ~/.bashrc ] && profile=~/.bashrc [ -w /etc/profile ] && profile=/etc/profile - sed -i '/alias clash=*/'d $profile + sed -i "/alias $my_alias=*/"d $profile sed -i '/alias crash=*/'d $profile sed -i '/export CRASHDIR=*/'d $profile sed -i '/export crashdir=*/'d $profile + [ -w ~/.zshrc ] && { + sed -i "/alias $my_alias=*/"d ~/.zshrc + sed -i '/export CRASHDIR=*/'d ~/.zshrc + } sed -i '/all_proxy/'d $profile sed -i '/ALL_PROXY/'d $profile sed -i "/启用外网访问SSH服务/d" /etc/firewall.user 2>/dev/null diff --git a/scripts/misnap_init.sh b/scripts/misnap_init.sh index fbdc8dd4..e7a820c7 100644 --- a/scripts/misnap_init.sh +++ b/scripts/misnap_init.sh @@ -43,8 +43,9 @@ auto_clean(){ #自动清理升级备份文件夹 rm -rf /data/etc_bak #自动清理被写入闪存的系统日志并禁止服务 - /etc/init.d/stat_points stop - /etc/init.d/stat_points disable + /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 rm -rf /data/usr/log } init(){ diff --git a/scripts/start.sh b/scripts/start.sh index 444d475b..210751c9 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -303,6 +303,12 @@ check_singbox_config() { #检查singbox配置文件 sed -i 's/{[^{}]*"dns-out"[^{}]*}//g' "$core_config_new" } #检测并去除无效策略组 + grep -q '"sni"' "$core_config_new" && { + logger "获取到了不支持的旧版(<1.12)配置文件【$core_config_new】!" 31 + echo "请尝试使用支持1.12以上版本内核的方式生成配置文件!" + exit 1 + } + #检测并去除无效策略组 [ -n "$url_type" ] && { #获得无效策略组名称 grep -oE '\{"type":"urltest","tag":"[^"]*","outbounds":\["DIRECT"\]' "$core_config_new" | sed -n 's/.*"tag":"\([^"]*\)".*/\1/p' >"$TMPDIR"/singbox_tags @@ -432,11 +438,12 @@ EOF [ "$dns_mod" = "mix" ] && echo ' - "rule-set:cn"' >>"$TMPDIR"/dns.yaml #mix模式和route模式插入分流设置 if [ "$dns_mod" = "mix" ] || [ "$dns_mod" = "route" ];then + [ "$dns_protect" = "OFF" ] && dns_final="$dns_fallback" || dns_final="$dns_nameserver" cat >>"$TMPDIR"/dns.yaml <>"$TMPDIR"/dns.yaml <"$TMPDIR"/jsons/add_rule_set.json < "$TMPDIR"/jsons/ntp.json <"$TMPDIR"/jsons/certificate.json <"$TMPDIR"/web_proxies [ -s "$TMPDIR"/web_proxies ] && while read line; do - def=$(echo $line | grep -oE '"all".*",' | awk -F "[:\"]" '{print $5}') - now=$(echo $line | grep -oE '"now".*",' | awk -F "[:\"]" '{print $5}') + 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 $5}') + name=$(echo $line | grep -oE '"name".*",' | awk -F "[\"]" '{print $4}') echo "${name},${now}" >>"$TMPDIR"/web_save } done <"$TMPDIR"/web_proxies @@ -1698,12 +1694,11 @@ web_restore() { #还原面板选择 #设置循环检测面板端口以判定服务启动是否成功 test="" i=1 - while [ -z "$test" -a "$i" -lt 20 ]; do - sleep 2 - test=$(get_save http://127.0.0.1:${db_port}/configs | grep -o port) + while [ -z "$test" -a "$i" -lt 30 ]; do + test=$(get_save http://127.0.0.1:${db_port}/proxies | grep -o proxies) i=$((i + 1)) + sleep 2 done - sleep 1 [ -n "$test" ] && { #发送节点选择数据 [ -s "$CRASHDIR"/configs/web_save ] && { diff --git a/scripts/webget.sh b/scripts/webget.sh index 0d6df610..e6c2a015 100644 --- a/scripts/webget.sh +++ b/scripts/webget.sh @@ -1438,8 +1438,10 @@ setcustcore(){ #自定义内核 echo -e "1 \033[36mMetaCubeX/mihomo\033[32m@release\033[0m版本官方内核" echo -e "2 \033[36mMetaCubeX/mihomo\033[32m@alpha\033[0m版本官方内核" echo -e "3 \033[36mvernesong/mihomo\033[32m@alpha\033[0m版本内核(支持Smart策略)" - echo -e "4 \033[36mreF1nd/sing-box\033[32m@dev\033[0m版本内核(完整编译)" - echo -e "5 Premium-2023.08.17内核(已停止维护)" + echo -e "4 \033[36mSagerNet/sing-box\033[32m@release\033[0m版本官方内核" + echo -e "5 \033[36mreF1nd/sing-box\033[32m@release\033[0m版本内核(完整编译)" + echo -e "6 \033[36mreF1nd/sing-box\033[32m@dev\033[0m版本内核(完整编译)" + echo -e "7 Premium-2023.08.17内核(已停止维护)" echo -e "a \033[33m自定义内核链接 \033[0m" echo ----------------------------------------------- read -p "请输入对应数字 > " num @@ -1463,12 +1465,24 @@ setcustcore(){ #自定义内核 checkcustcore ;; 4) + project=SagerNet/sing-box + api_tag=latest + crashcore=singbox + checkcustcore + ;; + 5) project=juewuy/ShellCrash api_tag=singbox_core_reF1nd crashcore=singboxr checkcustcore ;; - 5) + 6) + project=juewuy/ShellCrash + api_tag=singbox_core_dev_reF1nd + crashcore=singboxr + checkcustcore + ;; + 7) project=juewuy/ShellCrash api_tag=clash.premium.latest crashcore=clashpre @@ -2182,7 +2196,6 @@ update(){ elif [ "$num" = 2 ]; then setcore - update elif [ "$num" = 3 ]; then setgeo @@ -2262,7 +2275,7 @@ userguide(){ redir_mod="Redir模式" fi } - setconfig crashcore "mihomo" + setconfig crashcore "meta" setconfig redir_mod "$redir_mod" setconfig dns_mod mix setconfig firewall_area '1' diff --git a/version b/version index a2f6420f..1047f6bf 100644 --- a/version +++ b/version @@ -1 +1 @@ -1.9.3beta5fix +1.9.3beta7