diff --git a/.github/workflows/delete.yml b/.github/workflows/delete.yml new file mode 100644 index 00000000..bb7b6851 --- /dev/null +++ b/.github/workflows/delete.yml @@ -0,0 +1,16 @@ +name: Delete old workflow runs +on: + schedule: + - cron: '0 0 * * 0' +# Run monthly, at 00:00 on the 1st day of month. + +jobs: + del_runs: + runs-on: ubuntu-latest + steps: + - name: Delete workflow runs + uses: GitRML/delete-workflow-runs@main + with: + token: ${{ secrets.AUTH_PAT }} + repository: ${{ github.repository }} + retain_days: 7 diff --git a/.github/workflows/run.yml b/.github/workflows/run.yml index a6fb74ab..0bf23e32 100644 --- a/.github/workflows/run.yml +++ b/.github/workflows/run.yml @@ -1,4 +1,4 @@ -name: Build V2Ray rules dat files +name: Build rules dat files on: workflow_dispatch: schedule: @@ -21,7 +21,7 @@ jobs: run: | echo "RELEASE_NAME=Released on $(date +%Y%m%d%H%M)" >> $GITHUB_ENV echo "TAG_NAME=$(date +%Y%m%d%H%M)" >> $GITHUB_ENV - echo "CHINA_DOMAINS_URL=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf" >> $GITHUB_ENV + echo "CHINA_DOMAINS_URL=https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaMax/ChinaMax_Domain.txt" >> $GITHUB_ENV echo "GOOGLE_DOMAINS_URL=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/google.china.conf" >> $GITHUB_ENV echo "APPLE_DOMAINS_URL=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/apple.china.conf" >> $GITHUB_ENV echo "EASYLISTCHINA_EASYLIST_REJECT_URL=https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt" >> $GITHUB_ENV @@ -73,7 +73,7 @@ jobs: - name: Get and add direct domains into temp-direct.txt file run: | - curl -sSL $CHINA_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' > temp-direct.txt + curl -sSL ${CHINA_DOMAINS_URL} | sed '/^[^\.]/d' | sed '/^\s*#/d' | sed 's/^\.\([^\.]*\)\./\1\./g' > temp-direct.txt curl -sSL ${CUSTOM_DIRECT} | perl -ne '/^(domain):([^:]+)(\n$|:@.+)/ && print "$2\n"' >> temp-direct.txt - name: Get and add proxy domains into temp-proxy.txt file @@ -153,27 +153,29 @@ jobs: - name: Create `google-cn`、`apple-cn`、`gfw` lists run: | curl -sSL $GOOGLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "full:$1\n"' > ./community/data/google-cn - curl -sSL $GOOGLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "full:$1\n"' > google-cn.txt curl -sSL $APPLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "full:$1\n"' > ./community/data/apple-cn - curl -sSL $APPLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "full:$1\n"' > apple-cn.txt cat ./gfwlist2dnsmasq/temp-gfwlist.txt | perl -ne '/^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/ && print "$1\n"' >> ./community/data/gfw - cat ./community/data/gfw | sort --ignore-case -u > gfw.txt curl -sSL $WIN_SPY | grep "0.0.0.0" | awk '{print $2}' > ./community/data/win-spy - curl -sSL $WIN_SPY | grep "0.0.0.0" | awk '{print $2}' > win-spy.txt curl -sSL $WIN_UPDATE | grep "0.0.0.0" | awk '{print $2}' > ./community/data/win-update - curl -sSL $WIN_UPDATE | grep "0.0.0.0" | awk '{print $2}' > win-update.txt curl -sSL $WIN_EXTRA | grep "0.0.0.0" | awk '{print $2}' > ./community/data/win-extra - curl -sSL $WIN_EXTRA | grep "0.0.0.0" | awk '{print $2}' > win-extra.txt + - name: Add `meta` modification + env: + SED: sed '/^\s*#/d' | sed 's/DOMAIN,//g' | sed 's/DOMAIN-SUFFIX,//g' | sed 's/DOMAIN-KEYWORD,/keyword:/g' + run: | + curl -sSL https://raw.githubusercontent.com/xishang0128/rules/main/biliintl.list > ./community/data/biliintl + curl -sSL https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/SteamCN/SteamCN.list | ${{ env.SED }} > ./community/data/steam-cn + curl -sSL https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/PrivateTracker/PrivateTracker.list | ${{ env.SED }} > ./community/data/tracker + - name: Build geosite.dat file run: | cd custom || exit 1 go run ./ --datapath=../community/data - - name: Checkout CHIZI-0618/sing-geosite + - name: Checkout SagerNet/sing-geosite uses: actions/checkout@v3 with: - repository: CHIZI-0618/sing-geosite + repository: SagerNet/sing-geosite path: sing-geosite - name: Build geosite.db file @@ -181,8 +183,10 @@ jobs: NO_SKIP: true run: | cd sing-geosite || exit 1 - cp ../custom/publish/geosite.dat ./ - go run -v . geosite.dat geosite.db + sed -i 's/geosite-v2fly\.db/geosite.db/g' main.go + sed -i 's/v2fly\/domain-list-community/Loyalsoldier\/v2ray-rules-dat/g' main.go + sed -i 's/dlc/geosite/g' main.go + go run -v . - name: Checkout SagerNet/sing-geoip uses: actions/checkout@v3 @@ -198,29 +202,29 @@ jobs: sed -i 's/Dreamacro\/maxmind-geoip/Loyalsoldier\/geoip/g' main.go go run -v . - - name: Move and zip files and generate sha256 hash + - name: Move and zip files run: | mkdir -p ./publish/ - wget https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb -O ./publish/Country.mmdb + wget https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb -O ./publish/country.mmdb install -Dp ./geoip.dat ./publish/ - install -Dp ./geoip.dat.sha256sum ./publish/ install -Dp ./custom/publish/geosite.dat ./publish/ install -Dp ./sing-geosite/geosite.db ./publish/ - install -Dp ./sing-geosite/geosite-v2fly.db ./publish/ install -Dp ./sing-geoip/geoip.db ./publish/ - install -p {proxy,direct,reject}-tld-list.txt ./publish/ - install -p {proxy,direct,reject}-list.txt ./publish/ - install -p hosts ./publish/ - install -p apple-cn.txt ./publish/ cd ./publish || exit 1 - zip rules.zip {proxy,direct,reject}-list.txt geoip.dat geosite.dat geosite.db geosite-v2fly.db geoip.db + - name: Delete current release assets + uses: andreaswilli/delete-release-assets-action@v2.0.0 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + tag: latest + deleteOnlyFromDrafts: false + - name: Release and upload assets uses: softprops/action-gh-release@v0.1.6 with: - name: ${{ env.RELEASE_NAME }} - tag_name: ${{ env.TAG_NAME }} + name: latest + tag_name: latest draft: false prerelease: false files: | diff --git a/README.md b/README.md index b7e60e5d..7e7b0391 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,35 @@ -# 简介 +**下载地址**: -[**V2Ray**](https://github.com/v2fly/v2ray-core) 路由规则文件加强版,可代替 V2Ray 官方 `geoip.dat` 和 `geosite.dat`,兼容 [Shadowsocks-windows](https://github.com/shadowsocks/shadowsocks-windows)、[Xray-core](https://github.com/XTLS/Xray-core)、[Trojan-Go](https://github.com/p4gefau1t/trojan-go) 和 [leaf](https://github.com/eycorsican/leaf)。利用 GitHub Actions 北京时间每天早上 6 点自动构建,保证规则最新。 +- **country.mmdb** + - [Github release](https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country.mmdb) + - [JSdelivr](https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb) + - [JSdelivr-CF](https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/country.mmdb) +- **geoip.dat** -## 规则文件生成方式 + - [Github release](https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat) + - [JSdelivr](https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat) + - [JSdelivr-CF](https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.dat) -### geoip.dat +- **geoip.db** -- 通过仓库 [@Loyalsoldier/geoip](https://github.com/Loyalsoldier/geoip) 生成 -- 其中全球 IP 地址(IPv4 和 IPv6)来源于 [MaxMind GeoLite2](https://dev.maxmind.com/geoip/geoip2/geolite2/),`CN`(中国大陆)类别下的 IPv4 地址融合了 [ipip.net](https://github.com/17mon/china_ip_list) 和 [@gaoyifan/china-operator-ip](https://github.com/gaoyifan/china-operator-ip),`CN`(中国大陆)类别下的 IPv6 地址融合了 [MaxMind GeoLite2](https://dev.maxmind.com/geoip/geoip2/geolite2/) 和 [@gaoyifan/china-operator-ip](https://github.com/gaoyifan/china-operator-ip) + - [Github release](https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.db) + - [JSdelivr](https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.db) + - [JSdelivr-CF](https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geoip.db) + +- **geosite.dat** + + - [Github release](https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat) + - [JSdelivr](https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat) + - [JSdelivr-CF](https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.dat) + +- **geosite.db** + - [Github release](https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.db) + - [JSdelivr](https://cdn.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.db) + - [JSdelivr-CF](https://testingcf.jsdelivr.net/gh/MetaCubeX/meta-rules-dat@release/geosite.db) + +### country.mmdb,geoip.dat,geoip.db + +同 [Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat) - 新增类别(方便有特殊需求的用户使用): - `geoip:cloudflare` - `geoip:cloudfront` @@ -18,429 +40,39 @@ - `geoip:telegram` - `geoip:twitter` -> 希望定制 `geoip.dat` 文件?查看仓库 [@Loyalsoldier/geoip](https://github.com/Loyalsoldier/geoip)。 +### geosite.dat,geosite.db -### geosite.dat - -- 基于 [@v2fly/domain-list-community/data](https://github.com/v2fly/domain-list-community/tree/master/data) 数据,通过仓库 [@Loyalsoldier/domain-list-custom](https://github.com/Loyalsoldier/domain-list-custom) 生成 -- **加入大量中国大陆域名、Apple 域名和 Google 域名**: - - [@felixonmars/dnsmasq-china-list/accelerated-domains.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/accelerated-domains.china.conf) 加入到 `geosite:cn` 类别中 - - [@felixonmars/dnsmasq-china-list/apple.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/apple.china.conf) 加入到 `geosite:geolocation-!cn` 类别中(如希望本文件中的 Apple 域名直连,请参考下面 [geosite 的 Routing 配置方式](https://github.com/Loyalsoldier/v2ray-rules-dat#geositedat-1)) - - [@felixonmars/dnsmasq-china-list/google.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/google.china.conf) 加入到 `geosite:geolocation-!cn` 类别中(如希望本文件中的 Google 域名直连,请参考下面 [geosite 的 Routing 配置方式](https://github.com/Loyalsoldier/v2ray-rules-dat#geositedat-1)) -- **加入 GFWList 域名**: - - 基于 [@gfwlist/gfwlist](https://github.com/gfwlist/gfwlist) 数据,通过仓库 [@cokebar/gfwlist2dnsmasq](https://github.com/cokebar/gfwlist2dnsmasq) 生成 - - 加入到 `geosite:gfw` 类别中,供习惯于 PAC 模式并希望使用 [GFWList](https://github.com/gfwlist/gfwlist) 的用户使用 - - 同时加入到 `geosite:geolocation-!cn` 类别中 -- **加入 Greatfire Analyzer 检测到的屏蔽域名**: - - 通过仓库 [@Loyalsoldier/cn-blocked-domain](https://github.com/Loyalsoldier/cn-blocked-domain) 获取 [Greatfire Analyzer](https://zh.greatfire.org/analyzer) 检测到的在中国大陆被屏蔽的域名 - - 加入到 `geosite:greatfire` 类别中,可与上面的 `geosite:gfw` 类别同时使用,以达到域名黑名单的效果 - - 同时加入到 `geosite:geolocation-!cn` 类别中 -- **加入 EasyList 和 EasyListChina 广告域名**:通过 [@AdblockPlus/EasylistChina+Easylist.txt](https://easylist-downloads.adblockplus.org/easylistchina+easylist.txt) 获取并加入到 `geosite:category-ads-all` 类别中 -- **加入 AdGuard DNS Filter 广告域名**:通过 [@AdGuard/DNS-filter](https://kb.adguard.com/en/general/adguard-ad-filters#dns-filter) 获取并加入到 `geosite:category-ads-all` 类别中 -- **加入 Peter Lowe 广告和隐私跟踪域名**:通过 [@PeterLowe/adservers](https://pgl.yoyo.org/adservers) 获取并加入到 `geosite:category-ads-all` 类别中 -- **加入 Dan Pollock 广告域名**:通过 [@DanPollock/hosts](https://someonewhocares.org/hosts) 获取并加入到 `geosite:category-ads-all` 类别中 -- **加入 Windows 操作系统相关的系统升级和隐私跟踪域名**: - - 基于 [@crazy-max/WindowsSpyBlocker](https://github.com/crazy-max/WindowsSpyBlocker/tree/master/data/hosts) 数据 - - [**慎用**] Windows 操作系统使用的隐私跟踪域名 [@crazy-max/WindowsSpyBlocker/hosts/spy.txt](https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/spy.txt) 加入到 `geosite:win-spy` 类别中 - - [**慎用**] Windows 操作系统使用的系统升级域名 [@crazy-max/WindowsSpyBlocker/hosts/update.txt](https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/update.txt) 加入到 `geosite:win-update` 类别中 - - [**慎用**] Windows 操作系统附加的隐私跟踪域名 [@crazy-max/WindowsSpyBlocker/hosts/extra.txt](https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/extra.txt) 加入到 `geosite:win-extra` 类别中 - - 关于这三个类别的使用方式,请参考下面 [geosite 的 Routing 配置方式](https://github.com/Loyalsoldier/v2ray-rules-dat#geositedat-1) -- **可添加自定义直连、代理和广告域名**:由于上游域名列表更新缓慢或缺失某些域名,所以引入**需要添加的域名**列表。[`hidden 分支`](https://github.com/Loyalsoldier/v2ray-rules-dat/tree/hidden)里的三个文件 `direct.txt`、`proxy.txt` 和 `reject.txt`,分别存放自定义的需要添加的直连、代理、广告域名,最终分别加入到 `geosite:cn`、`geosite:geolocation-!cn` 和 `geosite:category-ads-all` 类别中 -- **可移除自定义直连、代理和广告域名**:由于上游域名列表存在需要被移除的域名,所以引入**需要移除的域名**列表。[`hidden 分支`](https://github.com/Loyalsoldier/v2ray-rules-dat/tree/hidden)里的三个文件 `direct-need-to-remove.txt`、`proxy-need-to-remove.txt` 和 `reject-need-to-remove.txt`,分别存放自定义的需要从 `direct-list`(直连域名列表)、`proxy-list`(代理域名列表)和 `reject-list`(广告域名列表) 移除的域名 - -## 规则文件下载及使用方式 - -**下载地址**: - -> 如果无法访问域名 `raw.githubusercontent.com`,可以使用第二个地址(`cdn.jsdelivr.net`),但是内容更新会有 12 小时的延迟。 - -- **geoip.dat**: - - [https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat](https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat) -- **geosite.dat**: - - [https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat](https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat) -- **直连域名列表 direct-list.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/direct-list.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/direct-list.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/direct-list.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/direct-list.txt) -- **代理域名列表 proxy-list.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/proxy-list.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/proxy-list.txt) -- **广告域名列表 reject-list.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/reject-list.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/reject-list.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/reject-list.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/reject-list.txt) -- **Apple 在中国大陆可直连的域名列表 apple-cn.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/apple-cn.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/apple-cn.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/apple-cn.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/apple-cn.txt) -- **Google 在中国大陆可直连的域名列表 google-cn.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/google-cn.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/google-cn.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/google-cn.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/google-cn.txt) -- **GFWList 域名列表 gfw.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/gfw.txt) -- **Greatfire 域名列表 greatfire.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/greatfire.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/greatfire.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/greatfire.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/greatfire.txt) -- **Windows 操作系统使用的隐私跟踪域名列表 win-spy.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-spy.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-spy.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-spy.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-spy.txt) -- **Windows 操作系统使用的系统升级域名列表 win-update.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-update.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-update.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-update.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-update.txt) -- **Windows 操作系统使用的附加隐私跟踪域名列表 win-extra.txt**: - - [https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-extra.txt](https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/win-extra.txt) - - [https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-extra.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/win-extra.txt) - -**使用方式**: - -1. 安装适用于自己操作系统的客户端 -2. 下载本项目的 `geoip.dat` 和 `geosite.dat` -3. 把下载下来的 `geoip.dat` 和 `geosite.dat` 放入到客户端的规则文件目录,替换掉原来的 `geoip.dat` 和 `geosite.dat` -4. 如果使用的是 V2Ray v4 版本客户端,配置可参考下面 👇👇👇 - -## 参考配置(仅适用于 V2Ray v4 版本) - -### geoip.dat - -跟 V2Ray 官方 `geoip.dat` 配置方式相同。 - -**Routing 配置方式**: - -```json -"routing": { - "rules": [ - { - "type": "field", - "outboundTag": "Direct", - "ip": [ - "223.5.5.5/32", - "119.29.29.29/32", - "180.76.76.76/32", - "114.114.114.114/32", - "geoip:cn", - "geoip:private" - ] - }, - { - "type": "field", - "outboundTag": "Proxy", - "ip": [ - "1.1.1.1/32", - "1.0.0.1/32", - "8.8.8.8/32", - "8.8.4.4/32", - "geoip:us", - "geoip:ca", - "geoip:telegram" - ] - } - ] -} +用法同 [Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat) + - `geosite:cn`类别的源替换为 [ChinaMax_Domain](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/ChinaMax) + - 新增类别 + - `geosite:biliintl` 来源 [biliintl](https://raw.githubusercontent.com/xishang0128/rules/main/biliintl.list) + - `geosite:steam-cn` 来源 [SteamCN](https://github.com/blackmatrix7/ios_rule_script/tree/master/rule/Clash/SteamCN) +## 示例 +```yaml + - GEOSITE,category-ads-all,REJECT + - GEOSITE,private,DIRECT + - GEOSITE,youtube,PROXY + - GEOSITE,google,PROXY + - GEOSITE,twitter,PROXY + - GEOSITE,pixiv,PROXY + - GEOSITE,category-scholar-!cn,PROXY + - GEOSITE,biliintl,PROXY + - GEOSITE,onedrive,DIRECT + - GEOSITE,microsoft@cn,DIRECT + - GEOSITE,apple-cn,DIRECT + - GEOSITE,steam-cn,DIRECT + - GEOSITE,category-games@cn,DIRECT + - GEOSITE,geolocation-!cn,PROXY + - GEOSITE,cn,DIRECT + + #GEOIP规则 + - GEOIP,private,DIRECT,no-resolve + - GEOIP,telegram,PROXY + - GEOIP,JP,PROXY + - GEOIP,CN,DIRECT + - DST-PORT,80/8080/443/8443,PROXY + - MATCH,DIRECT ``` - -### geosite.dat - -跟 V2Ray 官方 `geosite.dat` 配置方式相同。相比官方 `geosite.dat` 文件,本项目特有的类别: - -- `geosite:apple-cn`:包含 [@felixonmars/dnsmasq-china-list/apple.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/apple.china.conf) 文件里的域名,供希望 Apple 域名直连(不走代理)的用户使用。 -- `geosite:google-cn`:包含 [@felixonmars/dnsmasq-china-list/google.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/google.china.conf) 文件里的域名,供希望 Google 域名直连(不走代理)的用户使用。 -- [**慎用**]`geosite:win-spy`:包含 [@crazy-max/WindowsSpyBlocker/hosts/spy.txt](https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/spy.txt) 文件里的域名,供希望屏蔽 Windows 操作系统隐私跟踪域名的用户使用。 -- [**慎用**]`geosite:win-update`:包含 [@crazy-max/WindowsSpyBlocker/hosts/update.txt](https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/update.txt) 文件里的域名,供希望屏蔽 Windows 操作系统自动升级的用户使用。 -- [**慎用**]`geosite:win-extra`:包含 [@crazy-max/WindowsSpyBlocker/hosts/extra.txt](https://github.com/crazy-max/WindowsSpyBlocker/blob/master/data/hosts/extra.txt) 文件里的域名,供希望屏蔽 Windows 操作系统附加隐私跟踪域名的用户使用。 - -> ⚠️ 注意:在 Routing 配置中,类别越靠前(上),优先级越高,所以 `geosite:apple-cn` 和 `geosite:google-cn` 要放置在 `geosite:geolocation-!cn` 前(上)面才能生效。 - -#### 高级用法 - -v2fly/domain-list-community 项目 [data](https://github.com/v2fly/domain-list-community/tree/master/data) 目录中某些列表里的规则会被标记诸如 `@cn` 的 attribute(如下所示),意为该域名在中国大陆有接入点,可直连。 - -``` -steampowered.com.8686c.com @cn -steamstatic.com.8686c.com @cn -``` - -对于玩 Steam 国区游戏,想要直连的用户,可以设置类别 `geosite:steam@cn` 为直连,意为将 [steam](https://github.com/v2fly/domain-list-community/blob/master/data/steam) 列表内所有被标记了 `@cn` attribute 的规则(域名)设置为直连。同理,由于 [category-games](https://github.com/v2fly/domain-list-community/blob/master/data/category-games) 列表包含了 `steam`、`ea`、`blizzard`、`epicgames` 和 `nintendo` 等常见的游戏厂商。设置类别 `geosite:category-games@cn` 为直连,即可节省大量服务器流量。 - -> ⚠️ 注意:在 Routing 配置中,类别越靠前(上),优先级越高,所以 `geosite:category-games@cn` 等所有带有 `@cn` attribute 的规则都要放置在 `geosite:geolocation-!cn` 前(上)面才能生效。 -> -> `category-games` 列表内的规则(域名)可能会有疏漏,请留意规则命中情况。如发现遗漏,欢迎到项目 v2fly/domain-list-community 提 [issue](https://github.com/v2fly/domain-list-community/issues) 反馈。 - -#### 配置参考下面 👇👇👇 - -**白名单模式 Routing 配置方式**: - -```json -"routing": { - "rules": [ - { - "type": "field", - "outboundTag": "Reject", - "domain": ["geosite:category-ads-all"] - }, - { - "type": "field", - "outboundTag": "Direct", - "domain": [ - "geosite:private", - "geosite:apple-cn", - "geosite:google-cn", - "geosite:tld-cn", - "geosite:category-games@cn" - ] - }, - { - "type": "field", - "outboundTag": "Proxy", - "domain": ["geosite:geolocation-!cn"] - }, - { - "type": "field", - "outboundTag": "Direct", - "domain": ["geosite:cn"] - }, - { - "type": "field", - "outboundTag": "Proxy", - "network": "tcp,udp" - } - ] -} -``` - -**黑名单模式 Routing 配置方式:** - -```json -"routing": { - "rules": [ - { - "type": "field", - "outboundTag": "Reject", - "domain": ["geosite:category-ads-all"] - }, - { - "type": "field", - "outboundTag": "Proxy", - "domain": ["geosite:gfw", "geosite:greatfire"] - }, - { - "type": "field", - "outboundTag": "Proxy", - "ip": ["geoip:telegram"] - }, - { - "type": "field", - "outboundTag": "Direct", - "network": "tcp,udp" - } - ] -} -``` - -**DNS 配置方式**: - -```json -"dns": { - "hosts": { - "dns.google": "8.8.8.8", - "dns.pub": "119.29.29.29", - "dns.alidns.com": "223.5.5.5", - "geosite:category-ads-all": "127.0.0.1" - }, - "servers": [ - { - "address": "https://1.1.1.1/dns-query", - "domains": ["geosite:geolocation-!cn"], - "expectIPs": ["geoip:!cn"] - }, - "8.8.8.8", - { - "address": "114.114.114.114", - "port": 53, - "domains": ["geosite:cn", "geosite:category-games@cn"], - "expectIPs": ["geoip:cn"], - "skipFallback": true - }, - { - "address": "localhost", - "skipFallback": true - } - ] -} -``` - -### 自用 V2Ray v4 版本客户端配置(不适用于 V2Ray v5 及更新的版本) - -注意事项: - -- 由于下面客户端配置的 DNS 使用了 `skipFallback` 选项,所以必须使用 v4.37.2 或更新版本的 [V2Ray](https://github.com/v2fly/v2ray-core/releases) -- 下面客户端配置使 V2Ray 在本机开启 SOCKS 代理(监听 1080 端口)和 HTTP 代理(监听 2080 端口),允许局域网内其他设备连接并使用代理 -- BT 流量统统直连(实测依然会有部分 BT 流量走代理,如果服务商禁止 BT 下载,请不要为下载软件设置代理) -- 最后,不命中任何路由规则的请求和流量,统统走代理 -- `outbounds` 里的第一个大括号内的配置,即为 V2Ray 代理服务的配置。请根据自身需求进行修改,并参照 V2Ray 官网配置文档中的 [配置 > Outbounds > OutboundObject](https://www.v2fly.org/config/outbounds.html#outboundobject) 部分进行补全 - -```jsonc -{ - "log": { - "loglevel": "warning" - }, - "dns": { - "hosts": { - "dns.google": "8.8.8.8", - "dns.pub": "119.29.29.29", - "dns.alidns.com": "223.5.5.5", - "geosite:category-ads-all": "127.0.0.1" - }, - "servers": [ - { - "address": "https://1.1.1.1/dns-query", - "domains": ["geosite:geolocation-!cn", "geosite:google@cn"], - "expectIPs": ["geoip:!cn"] - }, - "8.8.8.8", - { - "address": "114.114.114.114", - "port": 53, - "domains": [ - "geosite:cn", - "geosite:icloud", - "geosite:category-games@cn" - ], - "expectIPs": ["geoip:cn"], - "skipFallback": true - }, - { - "address": "localhost", - "skipFallback": true - } - ] - }, - "inbounds": [ - { - "protocol": "socks", - "listen": "0.0.0.0", - "port": 1080, - "tag": "Socks-In", - "settings": { - "ip": "127.0.0.1", - "udp": true, - "auth": "noauth" - }, - "sniffing": { - "enabled": true, - "destOverride": ["http", "tls"] - } - }, - { - "protocol": "http", - "listen": "0.0.0.0", - "port": 2080, - "tag": "Http-In", - "sniffing": { - "enabled": true, - "destOverride": ["http", "tls"] - } - } - ], - "outbounds": [ - { - //下面这行,协议类别要改为socks、shadowsocks、vmess或vless等(记得删除本行文字说明) - "protocol": "协议类别", - "settings": {}, - //下面这行,tag的值对应Routing里的outboundTag,这里为Proxy(记得删除本行文字说明) - "tag": "Proxy", - "streamSettings": {}, - "mux": {} - }, - { - "protocol": "dns", - "tag": "Dns-Out" - }, - { - "protocol": "freedom", - "tag": "Direct", - "settings": { - "domainStrategy": "UseIPv4" - } - }, - { - "protocol": "blackhole", - "tag": "Reject", - "settings": { - "response": { - "type": "http" - } - } - } - ], - "routing": { - "domainStrategy": "IPIfNonMatch", - "domainMatcher": "mph", - "rules": [ - { - "type": "field", - "outboundTag": "Direct", - "protocol": ["bittorrent"] - }, - { - "type": "field", - "outboundTag": "Dns-Out", - "inboundTag": ["Socks-In", "Http-In"], - "network": "udp", - "port": 53 - }, - { - "type": "field", - "outboundTag": "Reject", - "domain": ["geosite:category-ads-all"] - }, - { - "type": "field", - "outboundTag": "Proxy", - "domain": [ - "full:www.icloud.com", - "domain:icloud-content.com", - "geosite:google" - ] - }, - { - "type": "field", - "outboundTag": "Direct", - "domain": [ - "geosite:tld-cn", - "geosite:icloud", - "geosite:category-games@cn" - ] - }, - { - "type": "field", - "outboundTag": "Proxy", - "domain": ["geosite:geolocation-!cn"] - }, - { - "type": "field", - "outboundTag": "Direct", - "domain": ["geosite:cn", "geosite:private"] - }, - { - "type": "field", - "outboundTag": "Direct", - "ip": ["geoip:cn", "geoip:private"] - }, - { - "type": "field", - "outboundTag": "Proxy", - "network": "tcp,udp" - } - ] - } -} -``` - -## 使用本项目的项目 - -- [@Loyalsoldier/clash-rules](https://github.com/Loyalsoldier/clash-rules) -- [@Loyalsoldier/surge-rules](https://github.com/Loyalsoldier/surge-rules) - ## 致谢 - [@Loyalsoldier/geoip](https://github.com/Loyalsoldier/geoip) @@ -455,7 +87,3 @@ steamstatic.com.8686c.com @cn - [@PeterLowe/adservers](https://pgl.yoyo.org/adservers) - [@DanPollock/hosts](https://someonewhocares.org/hosts) - [@crazy-max/WindowsSpyBlocker](https://github.com/crazy-max/WindowsSpyBlocker) - -## 项目 Star 数增长趋势 - -[![Stargazers over time](https://starchart.cc/Loyalsoldier/v2ray-rules-dat.svg)](https://starchart.cc/Loyalsoldier/v2ray-rules-dat)