diff --git a/.github/workflows/bin_update.yml b/.github/workflows/bin_update.yml index 3c95c51..26bbdf0 100644 --- a/.github/workflows/bin_update.yml +++ b/.github/workflows/bin_update.yml @@ -128,8 +128,6 @@ jobs: 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/geoip_cn.db https://github.com/lyc8503/sing-box-rules/releases/latest/download/geoip-cn.db - curl -kfSL -o geodata/geosite_cn.db https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-geodata/geosite-lite.db 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 diff --git a/.github/workflows/core_auto_update.yml b/.github/workflows/core_auto_update.yml index 89f1d44..cdef7a3 100644 --- a/.github/workflows/core_auto_update.yml +++ b/.github/workflows/core_auto_update.yml @@ -36,7 +36,7 @@ jobs: uses: juewuy/ShellCrash/.github/workflows/update_singbox_core.yaml@dev with: tag1: reF1nd/sing-box - tag2: building + tag2: reF1nd-dev tag3: singbox_core_reF1nd tag5: with_quic,with_dhcp,with_wireguard,with_shadowsocksr,with_utls,with_clash_api,with_gvisor secrets: inherit diff --git a/bin/ShellCrash.tar.gz b/bin/ShellCrash.tar.gz index 5d004bc..a0a1bbd 100644 Binary files a/bin/ShellCrash.tar.gz and b/bin/ShellCrash.tar.gz differ diff --git a/bin/clashfm.tar.gz b/bin/clashfm.tar.gz index ea35cb5..dda0b25 100644 Binary files a/bin/clashfm.tar.gz and b/bin/clashfm.tar.gz differ diff --git a/bin/version b/bin/version index 2039924..7587e5b 100644 --- a/bin/version +++ b/bin/version @@ -5,5 +5,5 @@ meta_v=v1.19.11 singboxp_v=1.10.0-alpha.29-067c81a7 singbox_v=1.10.7 singboxr_v=1.13.0-alpha.27 -versionsh=1.9.2beta7 +versionsh=1.9.3alpha4fix GeoIP_v=20251128 diff --git a/rules/clash_providers/DustinWin_RS_Full.yaml b/rules/clash_providers/DustinWin_RS_Full.yaml index dd0e1ec..a256d68 100644 --- a/rules/clash_providers/DustinWin_RS_Full.yaml +++ b/rules/clash_providers/DustinWin_RS_Full.yaml @@ -34,7 +34,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/private.mrs + path: ./ruleset/private.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/private.mrs" interval: 86400 @@ -42,7 +42,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/ads.mrs + path: ./ruleset/ads.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/ads.mrs" interval: 86400 @@ -50,7 +50,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/trackerslist.mrs + path: ./ruleset/trackerslist.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/trackerslist.mrs" interval: 86400 @@ -58,7 +58,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/microsoft-cn.mrs + path: ./ruleset/microsoft-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 @@ -66,7 +66,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/apple-cn.mrs + path: ./ruleset/apple-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/apple-cn.mrs" interval: 86400 @@ -74,7 +74,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/google-cn.mrs + path: ./ruleset/google-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/google-cn.mrs" interval: 86400 @@ -82,7 +82,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/games-cn.mrs + path: ./ruleset/games-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/games-cn.mrs" interval: 86400 @@ -90,7 +90,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/media.mrs + path: ./ruleset/media.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/media.mrs" interval: 86400 @@ -98,7 +98,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/games.mrs + path: ./ruleset/games.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/games.mrs" interval: 86400 @@ -106,7 +106,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/ai.mrs + path: ./ruleset/ai.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/ai.mrs" interval: 86400 @@ -114,7 +114,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/networktest.mrs + path: ./ruleset/networktest.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/networktest.mrs" interval: 86400 @@ -122,7 +122,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/proxy.mrs + path: ./ruleset/proxy.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/proxy.mrs" interval: 86400 @@ -130,7 +130,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/cn.mrs + path: ./ruleset/cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn.mrs" interval: 86400 @@ -138,7 +138,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/privateip.mrs + path: ./ruleset/privateip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/privateip.mrs" interval: 86400 @@ -146,7 +146,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/cnip.mrs + path: ./ruleset/cnip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cnip.mrs" interval: 86400 @@ -154,7 +154,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/mediaip.mrs + path: ./ruleset/mediaip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/mediaip.mrs" interval: 86400 @@ -162,7 +162,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/gamesip.mrs + path: ./ruleset/gamesip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/gamesip.mrs" interval: 86400 @@ -170,7 +170,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/telegramip.mrs + path: ./ruleset/telegramip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/telegramip.mrs" interval: 86400 diff --git a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml index 8966952..770e7f0 100644 --- a/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Full_NoAds.yaml @@ -31,7 +31,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/private.mrs + path: ./ruleset/private.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/private.mrs" interval: 86400 @@ -39,7 +39,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/trackerslist.mrs + path: ./ruleset/trackerslist.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/trackerslist.mrs" interval: 86400 @@ -47,7 +47,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/microsoft-cn.mrs + path: ./ruleset/microsoft-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 @@ -55,7 +55,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/apple-cn.mrs + path: ./ruleset/apple-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/apple-cn.mrs" interval: 86400 @@ -63,7 +63,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/google-cn.mrs + path: ./ruleset/google-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/google-cn.mrs" interval: 86400 @@ -71,7 +71,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/games-cn.mrs + path: ./ruleset/games-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/games-cn.mrs" interval: 86400 @@ -79,7 +79,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/media.mrs + path: ./ruleset/media.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/media.mrs" interval: 86400 @@ -87,7 +87,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/games.mrs + path: ./ruleset/games.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/games.mrs" interval: 86400 @@ -95,7 +95,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/ai.mrs + path: ./ruleset/ai.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/ai.mrs" interval: 86400 @@ -103,7 +103,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/networktest.mrs + path: ./ruleset/networktest.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/networktest.mrs" interval: 86400 @@ -111,7 +111,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/proxy.mrs + path: ./ruleset/proxy.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/proxy.mrs" interval: 86400 @@ -119,7 +119,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/cn.mrs + path: ./ruleset/cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn.mrs" interval: 86400 @@ -127,7 +127,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/privateip.mrs + path: ./ruleset/privateip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/privateip.mrs" interval: 86400 @@ -135,7 +135,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/cnip.mrs + path: ./ruleset/cnip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cnip.mrs" interval: 86400 @@ -143,7 +143,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/mediaip.mrs + path: ./ruleset/mediaip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/mediaip.mrs" interval: 86400 @@ -151,7 +151,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/gamesip.mrs + path: ./ruleset/gamesip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/gamesip.mrs" interval: 86400 @@ -159,7 +159,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/telegramip.mrs + path: ./ruleset/telegramip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/telegramip.mrs" interval: 86400 diff --git a/rules/clash_providers/DustinWin_RS_Light.yaml b/rules/clash_providers/DustinWin_RS_Light.yaml index f45450e..623fa64 100644 --- a/rules/clash_providers/DustinWin_RS_Light.yaml +++ b/rules/clash_providers/DustinWin_RS_Light.yaml @@ -21,7 +21,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/private.mrs + path: ./ruleset/private.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/private.mrs" interval: 86400 @@ -29,7 +29,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/tld-proxy.mrs + path: ./ruleset/tld-proxy.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/tld-proxy.mrs" interval: 86400 @@ -37,7 +37,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/proxy.mrs + path: ./ruleset/proxy.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/proxy.mrs" interval: 86400 @@ -45,7 +45,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/privateip.mrs + path: ./ruleset/privateip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/privateip.mrs" interval: 86400 @@ -53,7 +53,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/cnip.mrs + path: ./ruleset/cnip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cnip.mrs" interval: 86400 @@ -61,7 +61,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/telegramip.mrs + path: ./ruleset/telegramip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/telegramip.mrs" interval: 86400 diff --git a/rules/clash_providers/DustinWin_RS_Lite.yaml b/rules/clash_providers/DustinWin_RS_Lite.yaml index afed513..186673a 100644 --- a/rules/clash_providers/DustinWin_RS_Lite.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite.yaml @@ -32,7 +32,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/private.mrs + path: ./ruleset/private.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/private.mrs" interval: 86400 @@ -40,7 +40,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/ads.mrs + path: ./ruleset/ads.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/ads.mrs" interval: 86400 @@ -48,7 +48,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/trackerslist.mrs + path: ./ruleset/trackerslist.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/trackerslist.mrs" interval: 86400 @@ -56,7 +56,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/microsoft-cn.mrs + path: ./ruleset/microsoft-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 @@ -64,7 +64,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/apple-cn.mrs + path: ./ruleset/apple-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/apple-cn.mrs" interval: 86400 @@ -72,7 +72,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/google-cn.mrs + path: ./ruleset/google-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/google-cn.mrs" interval: 86400 @@ -80,7 +80,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/games-cn.mrs + path: ./ruleset/games-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/games-cn.mrs" interval: 86400 @@ -88,7 +88,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/ai.mrs + path: ./ruleset/ai.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/ai.mrs" interval: 86400 @@ -96,7 +96,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/networktest.mrs + path: ./ruleset/networktest.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/networktest.mrs" interval: 86400 @@ -104,7 +104,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/proxy.mrs + path: ./ruleset/proxy.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/proxy.mrs" interval: 86400 @@ -112,7 +112,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/cn.mrs + path: ./ruleset/cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn-lite.mrs" interval: 86400 @@ -120,7 +120,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/privateip.mrs + path: ./ruleset/privateip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/privateip.mrs" interval: 86400 @@ -128,7 +128,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/cnip.mrs + path: ./ruleset/cnip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cnip.mrs" interval: 86400 @@ -136,7 +136,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/telegramip.mrs + path: ./ruleset/telegramip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/telegramip.mrs" interval: 86400 diff --git a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml index 2b1dfbd..fa6a38d 100644 --- a/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml +++ b/rules/clash_providers/DustinWin_RS_Lite_NoAds.yaml @@ -29,7 +29,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/private.mrs + path: ./ruleset/private.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/private.mrs" interval: 86400 @@ -37,7 +37,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/trackerslist.mrs + path: ./ruleset/trackerslist.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/trackerslist.mrs" interval: 86400 @@ -45,7 +45,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/microsoft-cn.mrs + path: ./ruleset/microsoft-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/microsoft-cn.mrs" interval: 86400 @@ -53,7 +53,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/apple-cn.mrs + path: ./ruleset/apple-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/apple-cn.mrs" interval: 86400 @@ -61,7 +61,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/google-cn.mrs + path: ./ruleset/google-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/google-cn.mrs" interval: 86400 @@ -69,7 +69,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/games-cn.mrs + path: ./ruleset/games-cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/games-cn.mrs" interval: 86400 @@ -77,7 +77,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/ai.mrs + path: ./ruleset/ai.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/ai.mrs" interval: 86400 @@ -85,7 +85,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/networktest.mrs + path: ./ruleset/networktest.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/networktest.mrs" interval: 86400 @@ -93,7 +93,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/proxy.mrs + path: ./ruleset/proxy.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/proxy.mrs" interval: 86400 @@ -101,7 +101,7 @@ rule-providers: type: http behavior: domain format: mrs - path: ./rules/cn.mrs + path: ./ruleset/cn.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cn-lite.mrs" interval: 86400 @@ -109,7 +109,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/privateip.mrs + path: ./ruleset/privateip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/privateip.mrs" interval: 86400 @@ -117,7 +117,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/cnip.mrs + path: ./ruleset/cnip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/cnip.mrs" interval: 86400 @@ -125,7 +125,7 @@ rule-providers: type: http behavior: ipcidr format: mrs - path: ./rules/telegramip.mrs + path: ./ruleset/telegramip.mrs url: "https://github.com/DustinWin/ruleset_geodata/releases/download/mihomo-ruleset/telegramip.mrs" interval: 86400 diff --git a/rules/singbox_providers/DustinWin_Geo_Full.json b/rules/singbox_providers/DustinWin_Geo_Full.json deleted file mode 100644 index 2dd60d0..0000000 --- a/rules/singbox_providers/DustinWin_Geo_Full.json +++ /dev/null @@ -1,59 +0,0 @@ -//DustinWin-GeoSite全分组规则 -{ - "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, - { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🎮 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, - { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 全球直连" ] }, - { "tag": "🛑 广告域名", "type": "selector", "outbounds": [ "🔴 全球拦截", "🎯 全球直连" ] }, - { "tag": "🔴 全球拦截", "type": "selector", "outbounds": [ "REJECT" ] }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "DIRECT", "REJECT", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "dns-out", "type": "dns" }, - - { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" ] }, - { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "0\\.[1-5]|低倍率|省流|大流量" ] }, - { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇭🇰|港|hk|hongkong|hong kong)" ] }, - { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇹🇼|台|tw|taiwan|tai wan)" ] }, - { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇯🇵|日|jp|japan)" ] }, - { "tag": "🇸🇬 新加坡节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇸🇬|新|sg|singapore)" ] }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "(?i)(🇺🇸|美|us|unitedstates|united states)" ] } - ], - "route": { - "rules": [ - { "protocol": [ "dns" ], "outbound": "dns-out" }, - { "clash_mode": [ "Direct" ], "outbound": "DIRECT" }, - { "clash_mode": [ "Global" ], "outbound": "GLOBAL" }, - { "geosite": [ "private" ], "outbound": "🎯 全球直连" }, - { "geosite": [ "ads" ], "outbound": "🛑 广告域名" }, - { "geosite": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, - { "geosite": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, - { "geosite": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, - { "geosite": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, - { "geosite": [ "games-cn" ], "outbound": "🎮 游戏服务" }, - { "geosite": [ "media" ], "outbound": "🌍 国外媒体" }, - { "geosite": [ "games" ], "outbound": "🎮 游戏平台" }, - { "geosite": [ "ai" ], "outbound": "🤖 AI 平台" }, - { "geosite": [ "networktest" ], "outbound": "📈 网络测试" }, - { "geosite": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "geosite": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "geoip": [ "private" ], "outbound": "🎯 全球直连", "skip_resolve": true }, - { "geoip": [ "cn" ], "outbound": "🀄️ 直连 IP" }, - { "geoip": [ "media" ], "outbound": "🌍 国外媒体" }, - { "geoip": [ "games" ], "outbound": "🎮 游戏平台" }, - { "geoip": [ "telegram" ], "outbound": "📲 电报消息", "skip_resolve": true } - ], - "final": "🐟 漏网之鱼" - } -} \ No newline at end of file diff --git a/rules/singbox_providers/DustinWin_Geo_Full_NoAds.json b/rules/singbox_providers/DustinWin_Geo_Full_NoAds.json deleted file mode 100644 index 3a7c378..0000000 --- a/rules/singbox_providers/DustinWin_Geo_Full_NoAds.json +++ /dev/null @@ -1,56 +0,0 @@ -//DustinWin-GeoSite无广告规则 -{ - "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, - { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🌍 国外媒体", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🎮 游戏平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, - { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 全球直连" ] }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "DIRECT", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "dns-out", "type": "dns" }, - - { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" ] }, - { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "0\\.[1-5]|低倍率|省流|大流量" ] }, - { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇭🇰|港|hk|hongkong|hong kong)" ] }, - { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇹🇼|台|tw|taiwan|tai wan)" ] }, - { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇯🇵|日|jp|japan)" ] }, - { "tag": "🇸🇬 新加坡节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇸🇬|新|sg|singapore)" ] }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "(?i)(🇺🇸|美|us|unitedstates|united states)" ] } - ], - "route": { - "rules": [ - { "protocol": [ "dns" ], "outbound": "dns-out" }, - { "clash_mode": [ "Direct" ], "outbound": "DIRECT" }, - { "clash_mode": [ "Global" ], "outbound": "GLOBAL" }, - { "geosite": [ "private" ], "outbound": "🎯 全球直连" }, - { "geosite": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, - { "geosite": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, - { "geosite": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, - { "geosite": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, - { "geosite": [ "games-cn" ], "outbound": "🎮 游戏服务" }, - { "geosite": [ "media" ], "outbound": "🌍 国外媒体" }, - { "geosite": [ "games" ], "outbound": "🎮 游戏平台" }, - { "geosite": [ "ai" ], "outbound": "🤖 AI 平台" }, - { "geosite": [ "networktest" ], "outbound": "📈 网络测试" }, - { "geosite": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "geosite": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "geoip": [ "private" ], "outbound": "🎯 全球直连", "skip_resolve": true }, - { "geoip": [ "cn" ], "outbound": "🀄️ 直连 IP" }, - { "geoip": [ "media" ], "outbound": "🌍 国外媒体" }, - { "geoip": [ "games" ], "outbound": "🎮 游戏平台" }, - { "geoip": [ "telegram" ], "outbound": "📲 电报消息", "skip_resolve": true } - ], - "final": "🐟 漏网之鱼" - } -} \ No newline at end of file diff --git a/rules/singbox_providers/DustinWin_Geo_Light.json b/rules/singbox_providers/DustinWin_Geo_Light.json deleted file mode 100644 index 03051ed..0000000 --- a/rules/singbox_providers/DustinWin_Geo_Light.json +++ /dev/null @@ -1,35 +0,0 @@ -//DustinWin-GeoSite轻量规则 -{ - "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, - { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 全球直连" ] }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "DIRECT", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "dns-out", "type": "dns" }, - - { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" ] }, - { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "0\\.[1-5]|低倍率|省流|大流量" ] }, - { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇭🇰|港|hk|hongkong|hong kong)" ] }, - { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇹🇼|台|tw|taiwan|tai wan)" ] }, - { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇯🇵|日|jp|japan)" ] }, - { "tag": "🇸🇬 新加坡节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇸🇬|新|sg|singapore)" ] }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "(?i)(🇺🇸|美|us|unitedstates|united states)" ] } - ], - "route": { - "rules": [ - { "protocol": [ "dns" ], "outbound": "dns-out" }, - { "clash_mode": [ "Direct" ], "outbound": "DIRECT" }, - { "clash_mode": [ "Global" ], "outbound": "GLOBAL" }, - { "geosite": [ "private" ], "outbound": "🎯 全球直连" }, - { "geosite": [ "tld-proxy" ], "outbound": "🧱 代理域名" }, - { "geosite": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "geoip": [ "private" ], "outbound": "🎯 全球直连", "skip_resolve": true }, - { "geoip": [ "cn" ], "outbound": "🀄️ 直连 IP" }, - { "geoip": [ "telegram" ], "outbound": "📲 电报消息", "skip_resolve": true } - ], - "final": "🐟 漏网之鱼" - } -} \ No newline at end of file diff --git a/rules/singbox_providers/DustinWin_Geo_Lite.json b/rules/singbox_providers/DustinWin_Geo_Lite.json deleted file mode 100644 index 9e1ea91..0000000 --- a/rules/singbox_providers/DustinWin_Geo_Lite.json +++ /dev/null @@ -1,53 +0,0 @@ -//DustinWin-GeoSite精简规则 -{ - "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, - { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, - { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 全球直连" ] }, - { "tag": "🛑 广告域名", "type": "selector", "outbounds": [ "🔴 全球拦截", "🎯 全球直连" ] }, - { "tag": "🔴 全球拦截", "type": "selector", "outbounds": [ "REJECT" ] }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "DIRECT", "REJECT", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "dns-out", "type": "dns" }, - - { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" ] }, - { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "0\\.[1-5]|低倍率|省流|大流量" ] }, - { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇭🇰|港|hk|hongkong|hong kong)" ] }, - { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇹🇼|台|tw|taiwan|tai wan)" ] }, - { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇯🇵|日|jp|japan)" ] }, - { "tag": "🇸🇬 新加坡节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇸🇬|新|sg|singapore)" ] }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "(?i)(🇺🇸|美|us|unitedstates|united states)" ] } - ], - "route": { - "rules": [ - { "protocol": [ "dns" ], "outbound": "dns-out" }, - { "clash_mode": [ "Direct" ], "outbound": "DIRECT" }, - { "clash_mode": [ "Global" ], "outbound": "GLOBAL" }, - { "geosite": [ "private" ], "outbound": "🎯 全球直连" }, - { "geosite": [ "ads" ], "outbound": "🛑 广告域名" }, - { "geosite": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, - { "geosite": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, - { "geosite": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, - { "geosite": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, - { "geosite": [ "games-cn" ], "outbound": "🎮 游戏服务" }, - { "geosite": [ "ai" ], "outbound": "🤖 AI 平台" }, - { "geosite": [ "networktest" ], "outbound": "📈 网络测试" }, - { "geosite": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "geosite": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "geoip": [ "private" ], "outbound": "🎯 全球直连", "skip_resolve": true }, - { "geoip": [ "cn" ], "outbound": "🀄️ 直连 IP" }, - { "geoip": [ "telegram" ], "outbound": "📲 电报消息", "skip_resolve": true } - ], - "final": "🐟 漏网之鱼" - } -} \ No newline at end of file diff --git a/rules/singbox_providers/DustinWin_Geo_Lite_NoAds.json b/rules/singbox_providers/DustinWin_Geo_Lite_NoAds.json deleted file mode 100644 index 51887e9..0000000 --- a/rules/singbox_providers/DustinWin_Geo_Lite_NoAds.json +++ /dev/null @@ -1,50 +0,0 @@ -//DustinWin-GeoSite无广告精简规则 -{ - "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, - { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🎮 游戏服务", "type": "selector", "outbounds": [ "🎯 全球直连", "👑 高级节点", "🚀 节点选择" ] }, - { "tag": "🪟 微软服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🇬 谷歌服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🍎 苹果服务", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🛡️ 直连域名", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, - { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, - { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags}, "🎯 全球直连" ] }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "DIRECT", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, - { "tag": "dns-out", "type": "dns" }, - - { "tag": "👑 高级节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(专线|专用|高级|直连|急速|高倍率|游戏|game|IEPL|IPLC|AIA|CTM|CC|AC)" ] }, - { "tag": "📉 省流节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "0\\.[1-5]|低倍率|省流|大流量" ] }, - { "tag": "🇭🇰 香港节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇭🇰|港|hk|hongkong|hong kong)" ] }, - { "tag": "🇹🇼 台湾节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇹🇼|台|tw|taiwan|tai wan)" ] }, - { "tag": "🇯🇵 日本节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇯🇵|日|jp|japan)" ] }, - { "tag": "🇸🇬 新加坡节点", "type": "urltest", "use_all_providers": true, "includes": [ "(?i)(🇸🇬|新|sg|singapore)" ] }, - { "tag": "🇺🇸 美国节点", "type": "urltest", "tolerance": 100, "use_all_providers": true, "includes": [ "(?i)(🇺🇸|美|us|unitedstates|united states)" ] } - ], - "route": { - "rules": [ - { "protocol": [ "dns" ], "outbound": "dns-out" }, - { "clash_mode": [ "Direct" ], "outbound": "DIRECT" }, - { "clash_mode": [ "Global" ], "outbound": "GLOBAL" }, - { "geosite": [ "private" ], "outbound": "🎯 全球直连" }, - { "geosite": [ "trackerslist" ], "outbound": "📋 Trackerslist" }, - { "geosite": [ "microsoft-cn" ], "outbound": "🪟 微软服务" }, - { "geosite": [ "apple-cn" ], "outbound": "🍎 苹果服务" }, - { "geosite": [ "google-cn" ], "outbound": "🇬 谷歌服务" }, - { "geosite": [ "games-cn" ], "outbound": "🎮 游戏服务" }, - { "geosite": [ "ai" ], "outbound": "🤖 AI 平台" }, - { "geosite": [ "networktest" ], "outbound": "📈 网络测试" }, - { "geosite": [ "proxy" ], "outbound": "🧱 代理域名" }, - { "geosite": [ "cn" ], "outbound": "🛡️ 直连域名" }, - { "geoip": [ "private" ], "outbound": "🎯 全球直连", "skip_resolve": true }, - { "geoip": [ "cn" ], "outbound": "🀄️ 直连 IP" }, - { "geoip": [ "telegram" ], "outbound": "📲 电报消息", "skip_resolve": true } - ], - "final": "🐟 漏网之鱼" - } -} \ No newline at end of file diff --git a/rules/singbox_providers/DustinWin_RS_Full.json b/rules/singbox_providers/DustinWin_RS_Full.json index ee71d48..43218cb 100644 --- a/rules/singbox_providers/DustinWin_RS_Full.json +++ b/rules/singbox_providers/DustinWin_RS_Full.json @@ -1,7 +1,8 @@ //DustinWin-ruleset全分组规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, + { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, @@ -54,126 +55,126 @@ "tag": "private", "type": "remote", "format": "binary", - "path": "./private.srs", + "path": "./ruleset/private.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/private.srs" }, { "tag": "ads", "type": "remote", "format": "binary", - "path": "./ads.srs", + "path": "./ruleset/ads.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/ads.srs" }, { "tag": "trackerslist", "type": "remote", "format": "binary", - "path": "./trackerslist.srs", + "path": "./ruleset/trackerslist.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/trackerslist.srs" }, { "tag": "microsoft-cn", "type": "remote", "format": "binary", - "path": "./microsoft-cn.srs", + "path": "./ruleset/microsoft-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/microsoft-cn.srs" }, { "tag": "apple-cn", "type": "remote", "format": "binary", - "path": "./apple-cn.srs", + "path": "./ruleset/apple-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/apple-cn.srs" }, { "tag": "google-cn", "type": "remote", "format": "binary", - "path": "./google-cn.srs", + "path": "./ruleset/google-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/google-cn.srs" }, { "tag": "games-cn", "type": "remote", "format": "binary", - "path": "./games-cn.srs", + "path": "./ruleset/games-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/games-cn.srs" }, { "tag": "media", "type": "remote", "format": "binary", - "path": "./media.srs", + "path": "./ruleset/media.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/media.srs" }, { "tag": "games", "type": "remote", "format": "binary", - "path": "./games.srs", + "path": "./ruleset/games.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/games.srs" }, { "tag": "ai", "type": "remote", "format": "binary", - "path": "./ai.srs", + "path": "./ruleset/ai.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/ai.srs" }, { "tag": "networktest", "type": "remote", "format": "binary", - "path": "./networktest.srs", + "path": "./ruleset/networktest.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/networktest.srs" }, { "tag": "proxy", "type": "remote", "format": "binary", - "path": "./proxy.srs", + "path": "./ruleset/proxy.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs" }, { "tag": "cn", "type": "remote", "format": "binary", - "path": "./cn.srs", + "path": "./ruleset/cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn.srs" }, { "tag": "privateip", "type": "remote", "format": "binary", - "path": "./privateip.srs", + "path": "./ruleset/privateip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/privateip.srs" }, { "tag": "cnip", "type": "remote", "format": "binary", - "path": "./cnip.srs", + "path": "./ruleset/cnip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs" }, { "tag": "mediaip", "type": "remote", "format": "binary", - "path": "./mediaip.srs", + "path": "./ruleset/mediaip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/mediaip.srs" }, { "tag": "gamesip", "type": "remote", "format": "binary", - "path": "./gamesip.srs", + "path": "./ruleset/gamesip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/gamesip.srs" }, { "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./telegramip.srs", + "path": "./ruleset/telegramip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/telegramip.srs" } ], diff --git a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json index c0a1807..6cbd14d 100644 --- a/rules/singbox_providers/DustinWin_RS_Full_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Full_NoAds.json @@ -1,7 +1,8 @@ //DustinWin-ruleset无广告规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, + { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, @@ -51,119 +52,119 @@ "tag": "private", "type": "remote", "format": "binary", - "path": "./private.srs", + "path": "./ruleset/private.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/private.srs" }, { "tag": "trackerslist", "type": "remote", "format": "binary", - "path": "./trackerslist.srs", + "path": "./ruleset/trackerslist.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/trackerslist.srs" }, { "tag": "microsoft-cn", "type": "remote", "format": "binary", - "path": "./microsoft-cn.srs", + "path": "./ruleset/microsoft-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/microsoft-cn.srs" }, { "tag": "apple-cn", "type": "remote", "format": "binary", - "path": "./apple-cn.srs", + "path": "./ruleset/apple-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/apple-cn.srs" }, { "tag": "google-cn", "type": "remote", "format": "binary", - "path": "./google-cn.srs", + "path": "./ruleset/google-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/google-cn.srs" }, { "tag": "games-cn", "type": "remote", "format": "binary", - "path": "./games-cn.srs", + "path": "./ruleset/games-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/games-cn.srs" }, { "tag": "media", "type": "remote", "format": "binary", - "path": "./media.srs", + "path": "./ruleset/media.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/media.srs" }, { "tag": "games", "type": "remote", "format": "binary", - "path": "./games.srs", + "path": "./ruleset/games.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/games.srs" }, { "tag": "ai", "type": "remote", "format": "binary", - "path": "./ai.srs", + "path": "./ruleset/ai.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/ai.srs" }, { "tag": "networktest", "type": "remote", "format": "binary", - "path": "./networktest.srs", + "path": "./ruleset/networktest.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/networktest.srs" }, { "tag": "proxy", "type": "remote", "format": "binary", - "path": "./proxy.srs", + "path": "./ruleset/proxy.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs" }, { "tag": "cn", "type": "remote", "format": "binary", - "path": "./cn.srs", + "path": "./ruleset/cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn.srs" }, { "tag": "privateip", "type": "remote", "format": "binary", - "path": "./privateip.srs", + "path": "./ruleset/privateip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/privateip.srs" }, { "tag": "cnip", "type": "remote", "format": "binary", - "path": "./cnip.srs", + "path": "./ruleset/cnip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs" }, { "tag": "mediaip", "type": "remote", "format": "binary", - "path": "./mediaip.srs", + "path": "./ruleset/mediaip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/mediaip.srs" }, { "tag": "gamesip", "type": "remote", "format": "binary", - "path": "./gamesip.srs", + "path": "./ruleset/gamesip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/gamesip.srs" }, { "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./telegramip.srs", + "path": "./ruleset/telegramip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/telegramip.srs" } ], diff --git a/rules/singbox_providers/DustinWin_RS_Light.json b/rules/singbox_providers/DustinWin_RS_Light.json index 4153565..6504baf 100644 --- a/rules/singbox_providers/DustinWin_RS_Light.json +++ b/rules/singbox_providers/DustinWin_RS_Light.json @@ -1,7 +1,8 @@ //DustinWin-ruleset轻量规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, + { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, { "tag": "🀄️ 直连 IP", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, { "tag": "🧱 代理域名", "type": "selector", "outbounds": [ "🚀 节点选择", "🎯 全球直连" ] }, { "tag": "📲 电报消息", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, @@ -30,42 +31,42 @@ "tag": "private", "type": "remote", "format": "binary", - "path": "./private.srs", + "path": "./ruleset/private.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/private.srs" }, { "tag": "tld-proxy", "type": "remote", "format": "binary", - "path": "./tld-proxy.srs", + "path": "./ruleset/tld-proxy.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/tld-proxy.srs" }, { "tag": "proxy", "type": "remote", "format": "binary", - "path": "./proxy.srs", + "path": "./ruleset/proxy.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs" }, { "tag": "privateip", "type": "remote", "format": "binary", - "path": "./privateip.srs", + "path": "./ruleset/privateip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/privateip.srs" }, { "tag": "cnip", "type": "remote", "format": "binary", - "path": "./cnip.srs", + "path": "./ruleset/cnip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs" }, { "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./telegramip.srs", + "path": "./ruleset/telegramip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/telegramip.srs" } ], diff --git a/rules/singbox_providers/DustinWin_RS_Lite.json b/rules/singbox_providers/DustinWin_RS_Lite.json index f17bc2f..9c0ca67 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite.json +++ b/rules/singbox_providers/DustinWin_RS_Lite.json @@ -1,7 +1,8 @@ //DustinWin-ruleset精简规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, + { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, @@ -48,98 +49,98 @@ "tag": "private", "type": "remote", "format": "binary", - "path": "./private.srs", + "path": "./ruleset/private.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/private.srs" }, { "tag": "ads", "type": "remote", "format": "binary", - "path": "./ads.srs", + "path": "./ruleset/ads.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/ads.srs" }, { "tag": "trackerslist", "type": "remote", "format": "binary", - "path": "./trackerslist.srs", + "path": "./ruleset/trackerslist.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/trackerslist.srs" }, { "tag": "microsoft-cn", "type": "remote", "format": "binary", - "path": "./microsoft-cn.srs", + "path": "./ruleset/microsoft-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/microsoft-cn.srs" }, { "tag": "apple-cn", "type": "remote", "format": "binary", - "path": "./apple-cn.srs", + "path": "./ruleset/apple-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/apple-cn.srs" }, { "tag": "google-cn", "type": "remote", "format": "binary", - "path": "./google-cn.srs", + "path": "./ruleset/google-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/google-cn.srs" }, { "tag": "games-cn", "type": "remote", "format": "binary", - "path": "./games-cn.srs", + "path": "./ruleset/games-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/games-cn.srs" }, { "tag": "ai", "type": "remote", "format": "binary", - "path": "./ai.srs", + "path": "./ruleset/ai.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/ai.srs" }, { "tag": "networktest", "type": "remote", "format": "binary", - "path": "./networktest.srs", + "path": "./ruleset/networktest.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/networktest.srs" }, { "tag": "proxy", "type": "remote", "format": "binary", - "path": "./proxy.srs", + "path": "./ruleset/proxy.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs" }, { "tag": "cn", "type": "remote", "format": "binary", - "path": "./cn.srs", + "path": "./ruleset/cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn-lite.srs" }, { "tag": "privateip", "type": "remote", "format": "binary", - "path": "./privateip.srs", + "path": "./ruleset/privateip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/privateip.srs" }, { "tag": "cnip", "type": "remote", "format": "binary", - "path": "./cnip.srs", + "path": "./ruleset/cnip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs" }, { "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./telegramip.srs", + "path": "./ruleset/telegramip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/telegramip.srs" } ], diff --git a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json index c81bda8..bb786cb 100644 --- a/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json +++ b/rules/singbox_providers/DustinWin_RS_Lite_NoAds.json @@ -1,7 +1,8 @@ //DustinWin-ruleset无广告精简规则 { "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, + { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", "🖐️ 手动选择", "DIRECT", {providers_tags} ] }, + { "tag": "🖐️ 手动选择", "type": "selector", "use_all_providers": true }, { "tag": "📈 网络测试", "type": "selector", "outbounds": [ "🎯 全球直连", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点", "👑 高级节点", "📉 省流节点", {providers_tags} ] }, { "tag": "🤖 AI 平台", "type": "selector", "outbounds": [ "🚀 节点选择", "🇭🇰 香港节点", "🇹🇼 台湾节点", "🇯🇵 日本节点", "🇸🇬 新加坡节点", "🇺🇸 美国节点" ] }, { "tag": "📋 Trackerslist", "type": "selector", "outbounds": [ "🎯 全球直连", "🚀 节点选择" ] }, @@ -45,91 +46,91 @@ "tag": "private", "type": "remote", "format": "binary", - "path": "./private.srs", + "path": "./ruleset/private.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/private.srs" }, { "tag": "trackerslist", "type": "remote", "format": "binary", - "path": "./trackerslist.srs", + "path": "./ruleset/trackerslist.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/trackerslist.srs" }, { "tag": "microsoft-cn", "type": "remote", "format": "binary", - "path": "./microsoft-cn.srs", + "path": "./ruleset/microsoft-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/microsoft-cn.srs" }, { "tag": "apple-cn", "type": "remote", "format": "binary", - "path": "./apple-cn.srs", + "path": "./ruleset/apple-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/apple-cn.srs" }, { "tag": "google-cn", "type": "remote", "format": "binary", - "path": "./google-cn.srs", + "path": "./ruleset/google-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/google-cn.srs" }, { "tag": "games-cn", "type": "remote", "format": "binary", - "path": "./games-cn.srs", + "path": "./ruleset/games-cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/games-cn.srs" }, { "tag": "ai", "type": "remote", "format": "binary", - "path": "./ai.srs", + "path": "./ruleset/ai.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/ai.srs" }, { "tag": "networktest", "type": "remote", "format": "binary", - "path": "./networktest.srs", + "path": "./ruleset/networktest.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/networktest.srs" }, { "tag": "proxy", "type": "remote", "format": "binary", - "path": "./proxy.srs", + "path": "./ruleset/proxy.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs" }, { "tag": "cn", "type": "remote", "format": "binary", - "path": "./cn.srs", + "path": "./ruleset/cn.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn-lite.srs" }, { "tag": "privateip", "type": "remote", "format": "binary", - "path": "./privateip.srs", + "path": "./ruleset/privateip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/privateip.srs" }, { "tag": "cnip", "type": "remote", "format": "binary", - "path": "./cnip.srs", + "path": "./ruleset/cnip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs" }, { "tag": "telegramip", "type": "remote", "format": "binary", - "path": "./telegramip.srs", + "path": "./ruleset/telegramip.srs", "url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/telegramip.srs" } ], diff --git a/rules/singbox_providers/ShellCrash_Geo_Nano.json b/rules/singbox_providers/ShellCrash_Geo_Nano.json deleted file mode 100644 index 1964039..0000000 --- a/rules/singbox_providers/ShellCrash_Geo_Nano.json +++ /dev/null @@ -1,19 +0,0 @@ -//ShellCrash-GeoIP极简规则 -{ - "outbounds": [ - { "tag": "🚀 节点选择", "type": "selector", "outbounds": [ {providers_tags} ], "use_all_providers": true }, - { "tag": "🐟 漏网之鱼", "type": "selector", "outbounds": [ "🚀 节点选择", {providers_tags}, "🎯 全球直连" ], "use_all_providers": true }, - { "tag": "🎯 全球直连", "type": "selector", "outbounds": [ "DIRECT" ] }, - { "tag": "GLOBAL", "type": "selector", "outbounds": [ "DIRECT", {providers_tags} ], "use_all_providers": true }, - { "tag": "dns-out", "type": "dns" } - ], - "route": { - "rules": [ - { "protocol": "dns", "outbound": "dns-out" }, - { "clash_mode": [ "Direct" ], "outbound": "DIRECT" }, - { "clash_mode": [ "Global" ], "outbound": "GLOBAL" }, - { "geoip": "cn", "outbound": "🎯 全球直连" } - ], - "final": "🐟 漏网之鱼" - } -} \ No newline at end of file diff --git a/scripts/init.sh b/scripts/init.sh index a56eec8..e9794bf 100644 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -1,7 +1,7 @@ #!/bin/sh # Copyright (C) Juewuy -version=1.9.2beta7 +version=1.9.3alpha4fix setdir() { dir_avail() { @@ -244,7 +244,7 @@ fi setconfig COMMAND "$COMMAND" ${CRASHDIR}/configs/command.env #设置防火墙执行模式 grep -q 'firewall_mod' "$CRASHDIR/configs/ShellClash.cfg" 2>/dev/null || { - iptables -j REDIRECT -h >/dev/null 2>&1 && firewall_mod=iptables + firewall_mod=iptables nft add table inet shellcrash 2>/dev/null && firewall_mod=nftables setconfig firewall_mod $firewall_mod } @@ -327,6 +327,7 @@ mkdir -p ${CRASHDIR}/yamls mkdir -p ${CRASHDIR}/jsons mkdir -p ${CRASHDIR}/tools mkdir -p ${CRASHDIR}/task +mkdir -p ${CRASHDIR}/ruleset for file in config.yaml.bak user.yaml proxies.yaml proxy-groups.yaml rules.yaml others.yaml; do mv -f ${CRASHDIR}/$file ${CRASHDIR}/yamls/$file 2>/dev/null done @@ -339,6 +340,9 @@ mv -f ${CRASHDIR}/mark ${CRASHDIR}/configs/ShellCrash.cfg 2>/dev/null mv -f ${CRASHDIR}/configs/ShellClash.cfg ${CRASHDIR}/configs/ShellCrash.cfg 2>/dev/null #数据库改名 mv -f ${CRASHDIR}/geosite.dat ${CRASHDIR}/GeoSite.dat 2>/dev/null +#数据库移动 +mv -f ${CRASHDIR}/*.srs ${CRASHDIR}/ruleset/ 2>/dev/null +mv -f ${CRASHDIR}/*.mrs ${CRASHDIR}/ruleset/ 2>/dev/null #内核改名 mv -f ${CRASHDIR}/clash ${CRASHDIR}/CrashCore 2>/dev/null #内核压缩 @@ -354,6 +358,7 @@ userdel shellclash >/dev/null 2>&1 sed -i '/shellclash/d' /etc/passwd sed -i '/shellclash/d' /etc/group rm -rf /etc/init.d/clash +rm -rf ${CRASHDIR}/rules [ "$systype" = "mi_snapshot" -a "$CRASHDIR" != '/data/clash' ] && rm -rf /data/clash for file in CrashCore clash.sh getdate.sh shellcrash.rc core.new clashservice log shellcrash.service mark? mark.bak; do rm -rf ${CRASHDIR}/$file diff --git a/scripts/menu.sh b/scripts/menu.sh index 5c3425b..f614c92 100644 --- a/scripts/menu.sh +++ b/scripts/menu.sh @@ -511,6 +511,7 @@ log_pusher() { #日志菜单 setport() { #端口设置 source $CFG_PATH >/dev/null [ -z "$secret" ] && secret=未设置 + [ -z "$table" ] && table=100 [ -z "$authentication" ] && auth=未设置 || auth=****** inputport() { read -p "请输入端口号(1-65535) > " portx @@ -540,14 +541,17 @@ setport() { #端口设置 echo -e " 6 设置面板访问密码: \033[36m$secret\033[0m" echo -e " 7 修改默认端口过滤: \033[36m$multiport\033[0m" echo -e " 8 自定义本机host地址: \033[36m$host\033[0m" + echo -e " 9 自定义路由表: \033[36m$table,$((table + 1))\033[0m" echo -e " 0 返回上级菜单" read -p "请输入对应数字 > " num - if [ -z "$num" ]; then - errornum - elif [ "$num" = 1 ]; then + case "$num" in + 0) + ;; + 1) xport=mix_port inputport - elif [ "$num" = 2 ]; then + ;; + 2) echo ----------------------------------------------- echo -e "格式必须是\033[32m 用户名:密码 \033[0m的形式,注意用小写冒号分隔!" echo -e "请尽量不要使用特殊符号!避免产生未知错误!" @@ -574,16 +578,20 @@ setport() { #端口设置 fi fi setport - elif [ "$num" = 3 ]; then + ;; + 3) xport=redir_port inputport - elif [ "$num" = 4 ]; then + ;; + 4) xport=dns_port inputport - elif [ "$num" = 5 ]; then + ;; + 5) xport=db_port inputport - elif [ "$num" = 6 ]; then + ;; + 6) read -p "请输入面板访问密码(输入0删除密码) > " secret if [ -n "$secret" ]; then [ "$secret" = "0" ] && secret="" @@ -591,7 +599,8 @@ setport() { #端口设置 echo -e "\033[32m设置成功!!!\033[0m" fi setport - elif [ "$num" = 7 ]; then + ;; + 7) echo ----------------------------------------------- echo -e "需配合\033[32m仅代理常用端口\033[0m功能使用" echo -e "多个端口请用小写逗号分隔,例如:\033[33m143,80,443\033[0m" @@ -606,7 +615,8 @@ setport() { #端口设置 echo -e "\033[32m设置成功!!!\033[0m" fi setport - elif [ "$num" = 8 ]; then + ;; + 8) echo ----------------------------------------------- echo -e "\033[33m如果你的局域网网段不是192.168.x或172.16.x或10.x开头,请务必修改!\033[0m" echo -e "\033[31m设置后如本机host地址有变动,请务必重新修改!\033[0m" @@ -626,7 +636,22 @@ setport() { #端口设置 fi sleep 1 setport - fi + ;; + 9) + echo ----------------------------------------------- + echo -e "\033[33m仅限Tproxy、Tun或混合模式路由表出现冲突时才需要设置!\033[0m" + read -p "请输入路由表地址(不明勿动!建议102-125之间) > " table + if [ -n "$table" ]; then + [ "$table" = "0" ] && table="100" + setconfig table $table + echo -e "\033[32m设置成功!!!\033[0m" + fi + setport + ;; + *) + errornum + ;; + esac } setdns() { #DNS详细设置 [ -z "$dns_nameserver" ] && dns_nameserver='114.114.114.114, 223.5.5.5' @@ -2003,9 +2028,9 @@ tools() { echo -e " 3 \033[36m日志及推送工具\033[0m" [ -f /etc/firewall.user ] && echo -e " 4 \033[32m配置\033[0m外网访问SSH" [ -x /usr/sbin/otapredownload ] && echo -e " 5 \033[33m$mi_update\033[0m小米系统自动更新" - [ -f ${CRASHDIR}/misnap_init.sh ] && echo -e " 6 小米设备软固化SSH ———— \033[$mi_autoSSH_type \033[0m" + [ "$systype" = "mi_snapshot" ] && echo -e " 6 小米设备软固化SSH ———— \033[$mi_autoSSH_type \033[0m" [ -f /etc/config/ddns ] && echo -e " 7 配置\033[32mDDNS服务\033[0m(需下载相关脚本)" - [ -f ${CRASHDIR}/misnap_init.sh ] && echo -e " 8 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" + [ "$systype" = "mi_snapshot" ] && echo -e " 8 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m" echo ----------------------------------------------- echo -e " 0 返回上级菜单" echo ----------------------------------------------- @@ -2076,7 +2101,7 @@ tools() { rm -rf ${CRASHDIR}/tools/tun.ko echo -e "\033[33m补丁文件已移除,请立即重启设备以防止出错!\033[0m" } - elif [ -z "$(modinfo tun)" ]; then + elif ckcmd modinfo && [ -z "$(modinfo tun)" ]; then echo -e "\033[33m本功能需要修改系统文件,不保证没有任何风险!\033[0m" echo -e "\033[33m本功能采集的Tun模块并不一定适用于你的设备!\033[0m" sleep 1 diff --git a/scripts/start.sh b/scripts/start.sh index dbe091c..739f21a 100644 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -79,6 +79,7 @@ ckcmd() { #检查命令是否存在 command -v sh >/dev/null 2>&1 && command -v "$1" >/dev/null 2>&1 || type "$1" >/dev/null 2>&1 } ckgeo() { #查找及下载Geo数据文件 + [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset find --help 2>&1 | grep -q size && find_para=' -size +20' #find命令兼容 [ -z "$(find "$BINDIR"/"$1" "$find_para" 2>/dev/null)" ] && { if [ -n "$(find "$CRASHDIR"/"$1" "$find_para" 2>/dev/null)" ]; then @@ -86,7 +87,7 @@ ckgeo() { #查找及下载Geo数据文件 else logger "未找到${1}文件,正在下载!" 33 get_bin "$BINDIR"/"$1" bin/geodata/"$2" - [ "$?" = "1" ] && rm -rf "${BINDIR:?}"/"${1}" && logger "${1}文件下载失败,已退出!请前往更新界面尝试手动下载!" 31 && exit 1 + [ "$?" = "1" ] && rm -rf "${BINDIR}"/"${1}" && logger "${1}文件下载失败,已退出!请前往更新界面尝试手动下载!" 31 && exit 1 geo_v="$(echo "$2" | awk -F "." '{print $1}')_v" setconfig "$geo_v" "$(date +"%Y%m%d")" fi @@ -398,6 +399,8 @@ modify_yaml() { #修饰clash配置文件 } #dns配置 [ -z "$(cat "$CRASHDIR"/yamls/user.yaml 2>/dev/null | grep '^dns:')" ] && { + default_nameserver='223.5.5.5' + [ "$crashcore" = 'meta' ] && default_nameserver='https://223.5.5.5/dns-query' cat >"$TMPDIR"/dns.yaml <>"$TMPDIR"/dns.yaml <>"$TMPDIR"/dns.yaml <>"$TMPDIR"/dns.yaml - cat "$CRASHDIR"/configs/fallback_filter.list | grep -v '#' | sed "s/^/ - '/" | sed "s/$/'/" >>"$TMPDIR"/dns.yaml - } + # [ -s "$CRASHDIR"/configs/fallback_filter.list ] && { + # echo " domain:" >>"$TMPDIR"/dns.yaml + # cat "$CRASHDIR"/configs/fallback_filter.list | grep -v '#' | sed "s/^/ - '/" | sed "s/$/'/" >>"$TMPDIR"/dns.yaml + # } } #域名嗅探配置 [ "$sniffer" = "已启用" ] && [ "$crashcore" = "meta" ] && sniffer_set="sniffer: {enable: true, parse-pure-ip: true, skip-domain: [Mijia Cloud], sniff: {http: {ports: [80, 8080-8880], override-destination: true}, tls: {ports: [443, 8443]}, quic: {ports: [443, 8443]}}}" @@ -556,7 +554,7 @@ EOF [ "$dns_mod" = "mix" ] && ! grep -q 'geosite-cn:' "$TMPDIR"/rule-providers.yaml && ! grep -q '^rule-providers' "$CRASHDIR"/yamls/others.yaml 2>/dev/null && { space=$(sed -n "1p" "$TMPDIR"/rule-providers.yaml | grep -oE '^ *') #获取空格数 [ -z "$space" ] && space=' ' - echo "${space}geosite-cn: {type: file, behavior: domain, format: mrs, path: geosite-cn.mrs}" >> "$TMPDIR"/rule-providers.yaml + echo "${space}geosite-cn: {type: file, behavior: domain, format: mrs, path: ./ruleset/geosite-cn.mrs}" >> "$TMPDIR"/rule-providers.yaml } #对齐rules中的空格 sed -i 's/^ *-/ -/g' "$TMPDIR"/rules.yaml @@ -642,10 +640,16 @@ EOF EOF fi #生成dns.json - dns_direct=$(echo $dns_nameserver | awk -F ',' '{print $1}') - dns_proxy=$(echo $dns_fallback | awk -F ',' '{print $1}') - [ -z "$dns_direct" ] && dns_direct='223.5.5.5' - [ -z "$dns_proxy" ] && dns_proxy='1.0.0.1' + [ -z "$dns_nameserver" ] && dns_nameserver='223.5.5.5' + [ -z "$dns_fallback" ] && dns_fallback='1.0.0.1' + dns_direct_1st=$(echo $dns_nameserver | awk -F ',' '{print $1}') + dns_direct=$(echo $dns_direct_1st | sed 's|.*://||' | sed 's|/.*||') + dns_direct_type=$(echo "$dns_direct_1st" | awk -F '://' '{print $1}') + [ "$dns_direct_type" = "$dns_direct" ] && dns_direct_type="udp" + dns_proxy_1st=$(echo $dns_fallback | awk -F ',' '{print $1}') + dns_proxy=$(echo $dns_proxy_1st | sed 's|.*://||' | sed 's|/.*||') + dns_proxy_type=$(echo "$dns_proxy_1st" | awk -F '://' '{print $1}') + [ "$dns_proxy_type" = "$dns_proxy" ] && dns_proxy_type="udp" [ "$ipv6_dns" = "已开启" ] && strategy='prefer_ipv4' || strategy='ipv4_only' [ "$dns_mod" = "redir_host" ] && { global_dns=dns_proxy @@ -668,10 +672,9 @@ EOF [ -n "$fake_ip_filter_domain" ] && fake_ip_filter_domain="{ \"domain\": [$fake_ip_filter_domain], \"server\": \"dns_direct\" }," [ -n "$fake_ip_filter_suffix" ] && fake_ip_filter_suffix="{ \"domain_suffix\": [$fake_ip_filter_suffix], \"server\": \"dns_direct\" }," [ -n "$fake_ip_filter_regex" ] && fake_ip_filter_regex="{ \"domain_regex\": [$fake_ip_filter_regex], \"server\": \"dns_direct\" }," - if [ -z "$(echo "$core_v" | grep -E '(^1\.(8|[89]\d*|\d{2,})\.\d+$)|(^(2|[2-9]\d*|\d{2,})\.([0-9]\d*|\d{2,})\.\d+$)')" ]; then - direct_dns="{ \"rule_set\": [\"geosite-cn\"], \"server\": \"dns_direct\" }," - #生成add_rule_set.json - [ -z "$(cat "$CRASHDIR"/jsons/*.json | grep -Ei '"tag" *: *"geosite-cn"')" ] && cat >"$TMPDIR"/jsons/add_rule_set.json <"$TMPDIR"/jsons/add_rule_set.json <"$TMPDIR"/jsons/dns.json </dev/null else - sed -i 's/"insecure": true/"insecure": false/' "$TMPDIR"/jsons/outbounds.json "$TMPDIR"/jsons/providers.json + sed -i 's/"insecure": true/"insecure": false/' "$TMPDIR"/jsons/outbounds.json "$TMPDIR"/jsons/providers.json 2>/dev/null fi #判断可用并修饰outbounds&providers&route.json结尾 for file in outbounds providers route; do @@ -1465,7 +1465,7 @@ start_firewall() { #路由规则总入口 getlanip #获取局域网host地址 #设置策略路由 [ "$firewall_area" != 4 ] && { - local table=166 + [ -z "$table" ] && table=100 [ "$redir_mod" = "Tproxy模式" ] && ip route add local default dev lo table $table 2>/dev/null [ "$redir_mod" = "Tun模式" -o "$redir_mod" = "混合模式" ] && { i=1 @@ -1628,10 +1628,10 @@ stop_firewall() { #还原防火墙配置 /etc/init.d/dnsmasq restart >/dev/null 2>&1 } #清理路由规则 - ip rule del fwmark $fwmark table 100 2>/dev/null - ip route flush table 100 2>/dev/null - ip -6 rule del fwmark $fwmark table 101 2>/dev/null - ip -6 route flush table 101 2>/dev/null + ip rule del fwmark $fwmark table $table 2>/dev/null + ip route flush table $table 2>/dev/null + ip -6 rule del fwmark $fwmark table $((table + 1)) 2>/dev/null + ip -6 route flush table $((table + 1)) 2>/dev/null #重置nftables相关规则 ckcmd nft && { nft flush table inet shellcrash >/dev/null 2>&1 @@ -1818,7 +1818,7 @@ clash_check() { #clash启动前检查 #预下载GeoSite数据库并排除存在自定义数据库链接的情况 [ -n "$(grep -oEi 'geosite' "$CRASHDIR"/yamls/*.yaml)" ] && [ -z "$(grep -oEi 'geosite:' "$CRASHDIR"/yamls/*.yaml)" ] && ckgeo GeoSite.dat geosite.dat #预下载geosite-cn.mrs数据库 - [ -n "$(cat "$CRASHDIR"/yamls/*.yaml | grep -oEi 'rule_set.*geosite-cn')" -o "$dns_mod" = "mix" ] && ckgeo geosite-cn.mrs mrs_geosite_cn.mrs + [ -n "$(cat "$CRASHDIR"/yamls/*.yaml | grep -oEi 'rule_set.*geosite-cn')" -o "$dns_mod" = "mix" ] && ckgeo ruleset/geosite-cn.mrs mrs_geosite_cn.mrs return 0 } singbox_check() { #singbox启动前检查 @@ -1826,13 +1826,9 @@ singbox_check() { #singbox启动前检查 [ "$crashcore" != "singboxr" ] && [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oE '"shadowsocksr"|"providers"')" ] && core_exchange singboxr 'singboxr内核专属功能' core_check #预下载geoip-cn.srs数据库 - [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oEi '"rule_set" *: *"geoip-cn"')" ] && ckgeo geoip-cn.srs srs_geoip_cn.srs + [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oEi '"rule_set" *: *"geoip-cn"')" ] && ckgeo ruleset/geoip-cn.srs srs_geoip_cn.srs #预下载geosite-cn.srs数据库 - [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oEi '"rule_set" *: *"geosite-cn"')" -o "$dns_mod" = "mix" ] && ckgeo geosite-cn.srs srs_geosite_cn.srs - #预下载GeoIP数据库 - [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oEi '"geoip":')" ] && ckgeo geoip.db geoip_cn.db - #预下载GeoSite数据库 - [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oEi '"geosite":')" ] && ckgeo geosite.db geosite_cn.db + [ -n "$(cat "$CRASHDIR"/jsons/*.json | grep -oEi '"rule_set" *: *"geosite-cn"')" -o "$dns_mod" = "mix" ] && ckgeo ruleset/geosite-cn.srs srs_geosite_cn.srs return 0 } network_check() { #检查是否联网 diff --git a/scripts/task.sh b/scripts/task.sh index cb7dcbd..c77ebdc 100644 --- a/scripts/task.sh +++ b/scripts/task.sh @@ -365,7 +365,7 @@ task_type(){ #任务条件选择菜单 7) echo ----------------------------------------------- echo -e " 输入10即每隔10分钟运行一次,1440即每隔24小时运行一次" - echo -e " 大于60分钟的数值将按小时取整" + echo -e " 大于60分钟的数值将按小时取整,且按当前时区记时" read -p "想每隔多少分钟执行一次?(1-1440的整数) > " num if [ "$num" -lt 60 ];then min="$num" @@ -373,7 +373,7 @@ task_type(){ #任务条件选择菜单 time_des="$min分钟" else hour="$((num / 60))" - cron_time="* */$hour * * *" + cron_time="0 */$hour * * *" time_des="$hour小时" fi set_service running "$task_id" "运行时每$time_des$task_name" "$cron_time" @@ -491,14 +491,14 @@ task_recom(){ #任务推荐 echo ----------------------------------------------- echo -e "每隔10分钟自动保存面板配置" echo -e "服务启动后自动同步ntp时间" - echo -e "在每周3的3点整更新订阅并重启服务" + echo -e "在每日的3点0分重启服务" echo ----------------------------------------------- read -p "是否启用?(1/0) > " res [ "$res" = 1 ] && { set_service running "106" "运行时每10分钟自动保存面板配置" "*/10 * * * *" set_service afstart "107" "服务启动后自动同步ntp时间" - cronset "在每周3的3点整更新订阅并重启服务" "0 3 * * 3 ${CRASHDIR}/task/task.sh 104 在每周3的3点整更新订阅并重启服务" && \ - echo -e "任务【在每周3的3点整更新订阅并重启服务】\033[32m添加成功!\033[0m" + cronset "在每日的3点0分重启服务" "0 3 * * * ${CRASHDIR}/task/task.sh 103 在每日的3点0分重启服务" && \ + echo -e "任务【在每日的3点0分重启服务】\033[32m添加成功!\033[0m" } } task_menu(){ #任务菜单 diff --git a/scripts/webget.sh b/scripts/webget.sh index 55feb20..c339737 100644 --- a/scripts/webget.sh +++ b/scripts/webget.sh @@ -1164,7 +1164,7 @@ set_core_config(){ #配置文件功能 user_agent='none' ;; 3) - read -p "请输入自定义UA > " text + read -p "请输入自定义UA(不要包含空格和特殊符号!) > " text [ -n "$text" ] && user_agent="$text" ;; *) @@ -1281,15 +1281,15 @@ switch_core(){ #clash与singbox内核切换 read -p "是否保留相关数据库文件?(1/0) > " res [ "$res" = '0' ] && { [ "$core_old" = "clash" ] && { - geodate='Country.mmdb GeoSite.dat geosite-cn.mrs' + geodate='Country.mmdb GeoSite.dat ruleset/*.mrs ruleset/*.yaml ruleset/*.yml' geodate_v='Country_v cn_mini_v geosite_v mrs_geosite_cn_v' } [ "$core_old" = "singbox" ] && { - geodate='geoip.db geosite.db geoip-cn.srs geosite-cn.srs' + geodate='geoip.db geosite.db ruleset/*.srs ruleset/*.json' geodate_v='geoip_cn_v geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v' } for text in ${geodate} ;do - rm -rf ${CRASHDIR}/"$text" + rm -rf ${CRASHDIR}/${text} done for text in ${geodate_v} ;do setconfig "$text" @@ -1509,6 +1509,7 @@ setcore(){ #内核选择菜单 #echo -e " 说明文档: \033[36;4mhttps://sing-boxp.dustinwin.top\033[0m" echo ----------------------------------------------- echo -e "5 \033[36m自定义内核\033[0m $custcore" + echo -e "6 \033[32m更新当前内核\033[0m" echo ----------------------------------------------- echo "9 手动指定处理器架构" echo ----------------------------------------------- @@ -1540,6 +1541,9 @@ setcore(){ #内核选择菜单 setcustcore setcore ;; + 6) + getcore + ;; 9) setcpucore ;; @@ -1553,13 +1557,17 @@ getgeo(){ #下载Geo文件 #生成链接 echo ----------------------------------------------- echo 正在从服务器获取数据库文件………… - ${CRASHDIR}/start.sh get_bin ${TMPDIR}/$geoname bin/geodata/$geotype + ${CRASHDIR}/start.sh get_bin ${TMPDIR}/${geoname} bin/geodata/$geotype if [ "$?" = "1" ];then echo ----------------------------------------------- echo -e "\033[31m文件下载失败!\033[0m" error_down else - mv -f ${TMPDIR}/$geoname ${BINDIR}/$geoname + echo "$geoname" | grep -Eq '.mrs|.srs' && { + geofile='ruleset/' + [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset + } + mv -f ${TMPDIR}/${geoname} ${BINDIR}/${geofile}${geoname} echo ----------------------------------------------- echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" #全球版GeoIP和精简版CN-IP数据库不共存 @@ -1582,7 +1590,11 @@ setcustgeo(){ #下载自定义数据库文件 echo -e "\033[31m文件下载失败!\033[0m" error_down else - mv -f ${TMPDIR}/$geoname ${BINDIR}/$geoname + echo "$geoname" | grep -Eq '.mrs|.srs' && { + geofile='ruleset/' + [ ! -d "$BINDIR"/ruleset ] && mkdir -p "$BINDIR"/ruleset + } + mv -f ${TMPDIR}/${geoname} ${BINDIR}/${geofile}${geoname} echo ----------------------------------------------- echo -e "\033[32m$geotype数据库文件下载成功!\033[0m" fi @@ -1594,7 +1606,7 @@ setcustgeo(){ #下载自定义数据库文件 echo -e "\033[32m正在查找可更新的数据库文件!\033[0m" ${CRASHDIR}/start.sh webget ${TMPDIR}/github_api https://api.github.com/repos/${project}/releases/${api_url} release_tag=$(cat ${TMPDIR}/github_api | grep '"tag_name":' | awk -F '"' '{print $4}') - cat ${TMPDIR}/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|geosite.*\.db"$|geoip.*\.db"$' | sed 's/"//' > ${TMPDIR}/geo.list + cat ${TMPDIR}/github_api | grep "browser_download_url" | grep -oE 'releases/download.*' | grep -oiE 'geosite.*\.dat"$|country.*\.mmdb"$|.*.mrs|.*.srs' | sed 's|.*/||' | sed 's/"//' > ${TMPDIR}/geo.list rm -rf ${TMPDIR}/github_api } if [ -s ${TMPDIR}/geo.list ];then @@ -1612,8 +1624,7 @@ setcustgeo(){ #下载自定义数据库文件 geotype=$(sed -n "$num"p ${TMPDIR}/geo.list) [ -n "$(echo $geotype | grep -oiE 'GeoSite.*dat')" ] && geoname=GeoSite.dat [ -n "$(echo $geotype | grep -oiE 'Country.*mmdb')" ] && geoname=Country.mmdb - [ -n "$(echo $geotype | grep -oiE 'geosite.*db')" ] && geoname=geosite.db - [ -n "$(echo $geotype | grep -oiE 'geoip.*db')" ] && geoname=geoip.db + [ -n "$(echo $geotype | grep -oiE '.*(.srs|.mrs)')" ] && geoname=$geotype custgeolink=https://github.com/${project}/releases/download/${release_tag}/${geotype} getcustgeo checkcustgeo @@ -1638,10 +1649,10 @@ setcustgeo(){ #下载自定义数据库文件 echo -e "\033[33m如遇到网络错误请先启动ShellCrash服务!\033[0m" echo -e "\033[0m请选择需要更新的数据库项目来源:\033[0m" echo ----------------------------------------------- - echo -e " 1 \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m (Clash及SingBox)" - echo -e " 2 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Clash)" - echo -e " 3 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限SingBox)" - echo -e " 4 \033[36;4mhttps://github.com/lyc8503/sing-box-rules\033[0m (仅限SingBox)" + echo -e " 1 \033[36;4mhttps://github.com/MetaCubeX/meta-rules-dat\033[0m (仅限Clash/Mihomo)" + echo -e " 2 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Clash/Mihomo)" + echo -e " 3 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限SingBox-srs)" + echo -e " 4 \033[36;4mhttps://github.com/DustinWin/ruleset_geodata\033[0m (仅限Mihomo-mrs)" echo -e " 5 \033[36;4mhttps://github.com/Loyalsoldier/geoip\033[0m (仅限Clash-GeoIP)" echo ----------------------------------------------- echo -e " 9 \033[33m自定义数据库链接 \033[0m" @@ -1664,13 +1675,13 @@ setcustgeo(){ #下载自定义数据库文件 ;; 3) project=DustinWin/ruleset_geodata - api_tag=sing-box-geodata + api_tag=sing-box-ruleset checkcustgeo setcustgeo ;; 4) - project=lyc8503/sing-box-rules - api_tag=latest + project=DustinWin/ruleset_geodata + api_tag=mihomo-ruleset checkcustgeo setcustgeo ;; @@ -1710,10 +1721,8 @@ setgeo(){ #数据库选择菜单 echo -e " 5 geosite-cn.mrs数据库(DNS分流,约0.5mb) \033[33m$mrs_geosite_cn_v\033[0m" } [ -n "$(echo "$crashcore" | grep sing)" ] && { - echo -e " 6 SingBox精简版GeoIP_cn数据库(约0.3mb) \033[33m$geoip_cn_v\033[0m" - echo -e " 7 SingBox精简版GeoSite数据库(约0.8mb) \033[33m$geosite_cn_v\033[0m" - echo -e " 8 geoip-cn.srs数据库(约0.1mb) \033[33m$srs_geoip_cn_v\033[0m" - echo -e " 9 geosite-cn.srs数据库(DNS分流,约0.5mb) \033[33m$srs_geosite_cn_v\033[0m" + echo -e " 6 geoip-cn.srs数据库(约0.1mb) \033[33m$srs_geoip_cn_v\033[0m" + echo -e " 7 geosite-cn.srs数据库(DNS分流,约0.5mb) \033[33m$srs_geosite_cn_v\033[0m" } echo ----------------------------------------------- echo -e " a \033[32m自定义数据库文件\033[0m" @@ -1755,24 +1764,12 @@ setgeo(){ #数据库选择菜单 setgeo ;; 6) - geotype=geoip_cn.db - geoname=geoip.db - getgeo - setgeo - ;; - 7) - geotype=geosite_cn.db - geoname=geosite.db - getgeo - setgeo - ;; - 8) geotype=srs_geoip_cn.srs geoname=geoip-cn.srs getgeo setgeo ;; - 9) + 7) geotype=srs_geosite_cn.srs geoname=geosite-cn.srs getgeo @@ -1789,13 +1786,13 @@ setgeo(){ #数据库选择菜单 echo ----------------------------------------------- read -p "确认清理?[1/0] > " res [ "$res" = '1' ] && { - for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geosite_cn.mrs geoip.db geosite.db geoip-cn.srs geosite-cn.srs;do + for file in cn_ip.txt cn_ipv6.txt Country.mmdb GeoSite.dat geoip.db geosite.db;do rm -rf $CRASHDIR/$file done for var in Country_v cn_mini_v china_ip_list_v china_ipv6_list_v geosite_v geoip_cn_v geosite_cn_v mrs_geosite_cn_v srs_geoip_cn_v srs_geosite_cn_v ;do setconfig $var done - rm -rf $CRASHDIR/*.srs + rm -rf $CRASHDIR/ruleset/* echo -e "\033[33m所有数据库文件均已清理!\033[0m" sleep 1 } @@ -2259,9 +2256,10 @@ userguide(){ else redir_mod="Redir模式" fi - setconfig crashcore "clash" } + setconfig crashcore "mihomo" setconfig redir_mod "$redir_mod" + setconfig dns_mod mix #默认启用绕过CN-IP setconfig cn_ip_route 已开启 #自动识别IPV6