mirror of
				https://github.com/Loyalsoldier/clash-rules.git
				synced 2025-11-03 17:46:58 +08:00 
			
		
		
		
	Compare commits
	
		
			37 Commits
		
	
	
		
			2020101922
			...
			2023120222
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					98fe5fd593 | ||
| 
						 | 
					7a9894fa22 | ||
| 
						 | 
					3b76324b76 | ||
| 
						 | 
					113caa01de | ||
| 
						 | 
					52af20ac3c | ||
| 
						 | 
					9155127ee1 | ||
| 
						 | 
					11ed3bf0c9 | ||
| 
						 | 
					fa12eabc89 | ||
| 
						 | 
					9cf6161dbf | ||
| 
						 | 
					1e6cb3c0e2 | ||
| 
						 | 
					81c1ec313c | ||
| 
						 | 
					e89dd8d764 | ||
| 
						 | 
					6653b1818c | ||
| 
						 | 
					a409fcb644 | ||
| 
						 | 
					b10802d5f3 | ||
| 
						 | 
					c3b9c36c72 | ||
| 
						 | 
					9666b73222 | ||
| 
						 | 
					3231f9422a | ||
| 
						 | 
					0d943b72cf | ||
| 
						 | 
					fcf4f979dc | ||
| 
						 | 
					18c612c4e9 | ||
| 
						 | 
					86a7c719b5 | ||
| 
						 | 
					c210a589f0 | ||
| 
						 | 
					5441d199cf | ||
| 
						 | 
					49f7eb8a57 | ||
| 
						 | 
					1e7b435701 | ||
| 
						 | 
					7f13203f06 | ||
| 
						 | 
					f85ed2f9e1 | ||
| 
						 | 
					79f97847f4 | ||
| 
						 | 
					28f62a90c5 | ||
| 
						 | 
					594f81515e | ||
| 
						 | 
					d2b891b3e5 | ||
| 
						 | 
					43422a58a8 | ||
| 
						 | 
					048ee41552 | ||
| 
						 | 
					0dfe2ef96d | ||
| 
						 | 
					62a5cdf9e7 | ||
| 
						 | 
					4ef5289afe | 
							
								
								
									
										98
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										98
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,98 +0,0 @@
 | 
			
		||||
name: Generate RULE-SET for Premium Edition of Clash
 | 
			
		||||
on:
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron: "30 22 * * *"
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
    paths-ignore:
 | 
			
		||||
      - "**/README.md"
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    name: Build
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Set variables
 | 
			
		||||
        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 "v2fly_icloud=https://raw.githubusercontent.com/v2fly/domain-list-community/release/icloud.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "v2fly_apple=https://raw.githubusercontent.com/v2fly/domain-list-community/release/apple.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_reject=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/reject-list.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_proxy=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_direct=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/direct-list.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "felixonmars_apple=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/apple.china.conf" >> $GITHUB_ENV
 | 
			
		||||
          echo "felixonmars_google=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/google.china.conf" >> $GITHUB_ENV
 | 
			
		||||
          echo "ipipnet_chinaiplist=https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt" >> $GITHUB_ENV
 | 
			
		||||
        shell: bash
 | 
			
		||||
 | 
			
		||||
      - name: Checkout the "hidden" branch
 | 
			
		||||
        uses: actions/checkout@v2.3.3
 | 
			
		||||
        with:
 | 
			
		||||
          ref: hidden
 | 
			
		||||
 | 
			
		||||
      - name: Generate icloud.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > icloud.txt
 | 
			
		||||
          curl -sSL ${v2fly_icloud} | grep -E "^(full|domain):" | awk -F ':' '{printf "  - |+.%s|\n", $2}' | sed "s/|/'/g" >> icloud.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate google.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > google.txt
 | 
			
		||||
          curl -sSL ${felixonmars_google} | perl -ne '/^server=\/([^\/]+)\// && print "  - |+.$1|\n"' | sed "s/|/'/g" >> google.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate apple.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          curl -sSL ${felixonmars_apple} | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' > apple.temp
 | 
			
		||||
          curl -sSL ${v2fly_apple} | grep -E "^(full|domain):" | awk -F ':' '{print $2}' >> apple.temp
 | 
			
		||||
          echo "payload:" > apple.txt
 | 
			
		||||
          cat apple.temp | perl -ne '/^([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$1|\n"' | sed "s/|/'/g" >> apple.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate direct.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > direct.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_direct} | grep -Ev "^(regex|keyword):" | perl -ne '/^([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$1|\n"' | sed "s/|/'/g" >> direct.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate proxy.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > proxy.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_proxy} | grep -Ev "^(regex|keyword):" | perl -ne '/^([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$1|\n"' | sed "s/|/'/g" >> proxy.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate reject.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > reject.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_reject} | grep -Ev "^(regex|keyword):" | perl -ne '/^([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$1|\n"' | sed "s/|/'/g" >> reject.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate cncidr.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > cncidr.txt
 | 
			
		||||
          curl -sSL ${ipipnet_chinaiplist} | perl -ne '/^(\d{1,3}(\.\d{1,3}){3}\/\d{1,2})/ && print "  - |$1|\n"' | sed "s/|/'/g" >> cncidr.txt
 | 
			
		||||
 | 
			
		||||
      - name: Move files to publish directory
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p publish
 | 
			
		||||
          install -p {apple,icloud,google,proxy,direct,reject,cncidr,lancidr}.txt ./publish/
 | 
			
		||||
 | 
			
		||||
      - name: Release and upload assets
 | 
			
		||||
        uses: softprops/action-gh-release@v1
 | 
			
		||||
        with:
 | 
			
		||||
          name: ${{ env.RELEASE_NAME }}
 | 
			
		||||
          tag_name: ${{ env.TAG_NAME }}
 | 
			
		||||
          draft: false
 | 
			
		||||
          prerelease: false
 | 
			
		||||
          files: |
 | 
			
		||||
            ./publish/*
 | 
			
		||||
        env:
 | 
			
		||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
 | 
			
		||||
      - name: Git push assets to "release" branch
 | 
			
		||||
        run: |
 | 
			
		||||
          cd publish
 | 
			
		||||
          git init
 | 
			
		||||
          git config --local user.name "actions"
 | 
			
		||||
          git config --local user.email "action@github.com"
 | 
			
		||||
          git checkout -b release
 | 
			
		||||
          git add .
 | 
			
		||||
          git commit -m "${{ env.RELEASE_NAME }}"
 | 
			
		||||
          git remote add origin "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}"
 | 
			
		||||
          git push -f -u origin release
 | 
			
		||||
							
								
								
									
										141
									
								
								.github/workflows/run.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								.github/workflows/run.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,141 @@
 | 
			
		||||
name: Generate RULE-SET for Premium Edition of Clash
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  schedule:
 | 
			
		||||
    - cron: "30 22 * * *"
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - master
 | 
			
		||||
    paths-ignore:
 | 
			
		||||
      - "**/README.md"
 | 
			
		||||
jobs:
 | 
			
		||||
  build:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Set variables
 | 
			
		||||
        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 "custom_icloud=https://raw.githubusercontent.com/Loyalsoldier/domain-list-custom/release/icloud.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "custom_tld_not_cn=https://raw.githubusercontent.com/Loyalsoldier/domain-list-custom/release/tld-!cn.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "custom_private=https://raw.githubusercontent.com/Loyalsoldier/domain-list-custom/release/private.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_reject=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/reject-list.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_proxy=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/proxy-list.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_direct=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/direct-list.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_gfw=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/gfw.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "Loyalsoldier_greatfire=https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/greatfire.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "felixonmars_apple=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/apple.china.conf" >> $GITHUB_ENV
 | 
			
		||||
          echo "felixonmars_google=https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/google.china.conf" >> $GITHUB_ENV
 | 
			
		||||
          echo "cn_cidr=https://raw.githubusercontent.com/Loyalsoldier/geoip/release/text/cn.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "lan_cidr=https://raw.githubusercontent.com/Loyalsoldier/geoip/release/text/private.txt" >> $GITHUB_ENV
 | 
			
		||||
          echo "telegram_cidr=https://raw.githubusercontent.com/Loyalsoldier/geoip/release/text/telegram.txt" >> $GITHUB_ENV
 | 
			
		||||
        shell: bash
 | 
			
		||||
 | 
			
		||||
      - name: Checkout the "hidden" branch
 | 
			
		||||
        uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          ref: hidden
 | 
			
		||||
 | 
			
		||||
      - name: Generate icloud.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > icloud.txt
 | 
			
		||||
          curl -sSL ${custom_icloud} | grep -E "^(full|domain):" | awk -F ':' '{printf "  - |+.%s|\n", $2}' | sed "s/|/'/g" >> icloud.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate google.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > google.txt
 | 
			
		||||
          curl -sSL ${felixonmars_google} | perl -ne '/^server=\/([^\/]+)\// && print "  - |+.$1|\n"' | sed "s/|/'/g" >> google.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate apple.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > apple.txt
 | 
			
		||||
          curl -sSL ${felixonmars_apple} | perl -ne '/^server=\/([^\/]+)\// && print "  - |+.$1|\n"' | sed "s/|/'/g" >> apple.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate private.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > private.txt
 | 
			
		||||
          curl -sSL ${custom_private} | awk -F ':' '/^full:/ {printf "  - |%s|\n", $2}' | sed "s/|/'/g" >> private.txt
 | 
			
		||||
          curl -sSL ${custom_private} | awk -F ':' '/^domain:/ {printf "  - |+.%s|\n", $2}' | sed "s/|/'/g" >> private.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate direct.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > direct.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_direct} | grep -Ev "^(regexp|keyword):" | perl -ne '/^(full:)([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |$2|\n"' | sed "s/|/'/g" >> direct.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_direct} | grep -Ev "^(regexp|keyword|full):" | perl -ne '/^(domain:)?([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$2|\n"' | sed "s/|/'/g" >> direct.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate proxy.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > proxy.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_proxy} | grep -Ev "^(regexp|keyword):" | perl -ne '/^(full:)([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |$2|\n"' | sed "s/|/'/g" >> proxy.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_proxy} | grep -Ev "^(regexp|keyword|full):" | perl -ne '/^(domain:)?([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$2|\n"' | sed "s/|/'/g" >> proxy.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate reject.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > reject.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_reject} | grep -Ev "^(regexp|keyword):" | perl -ne '/^(domain:|full:)?([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$2|\n"' | sed "s/|/'/g" >> reject.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate gfw.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > gfw.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_gfw} | grep -Ev "^(regexp|keyword):" | perl -ne '/^(domain:|full:)?([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$2|\n"' | sed "s/|/'/g" >> gfw.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate greatfire.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > greatfire.txt
 | 
			
		||||
          curl -sSL ${Loyalsoldier_greatfire} | grep -Ev "^(regexp|keyword):" | perl -ne '/^(domain:|full:)?([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$2|\n"' | sed "s/|/'/g" >> greatfire.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate tld-not-cn.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > tld-not-cn.txt
 | 
			
		||||
          curl -sSL "${custom_tld_not_cn}" | perl -ne '/^domain:([-_a-zA-Z0-9]+(\.[-_a-zA-Z0-9]+)*)/ && print "  - |+.$1|\n"' | sed "s/|/'/g" >> tld-not-cn.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate cncidr.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > cncidr.txt
 | 
			
		||||
          curl -sSL ${cn_cidr} | perl -ne '/(.+\/\d+)/ && print "  - |$1|\n"' | sed "s/|/'/g" >> cncidr.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate telegramcidr.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > telegramcidr.txt
 | 
			
		||||
          curl -sSL ${telegram_cidr} | perl -ne '/(.+\/\d+)/ && print "  - |$1|\n"' | sed "s/|/'/g" >> telegramcidr.txt
 | 
			
		||||
 | 
			
		||||
      - name: Generate lancidr.txt file
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "payload:" > lancidr.txt
 | 
			
		||||
          curl -sSL ${lan_cidr} | perl -ne '/(.+\/\d+)/ && print "  - |$1|\n"' | sed "s/|/'/g" >> lancidr.txt
 | 
			
		||||
 | 
			
		||||
      - name: Move files to publish directory
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p publish
 | 
			
		||||
          cp *.txt ./publish/
 | 
			
		||||
 | 
			
		||||
      - name: Release and upload assets
 | 
			
		||||
        uses: softprops/action-gh-release@v1
 | 
			
		||||
        with:
 | 
			
		||||
          name: ${{ env.RELEASE_NAME }}
 | 
			
		||||
          tag_name: ${{ env.TAG_NAME }}
 | 
			
		||||
          draft: false
 | 
			
		||||
          prerelease: false
 | 
			
		||||
          files: |
 | 
			
		||||
            ./publish/*
 | 
			
		||||
        env:
 | 
			
		||||
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
			
		||||
 | 
			
		||||
      - name: Git push assets to "release" branch
 | 
			
		||||
        run: |
 | 
			
		||||
          cd publish || exit 1
 | 
			
		||||
          git init
 | 
			
		||||
          git config --local user.name "github-actions[bot]"
 | 
			
		||||
          git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
 | 
			
		||||
          git checkout -b release
 | 
			
		||||
          git add .
 | 
			
		||||
          git commit -m "${{ env.RELEASE_NAME }}"
 | 
			
		||||
          git remote add origin "https://${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}"
 | 
			
		||||
          git push -f origin release
 | 
			
		||||
 | 
			
		||||
      - name: Purge jsdelivr CDN
 | 
			
		||||
        run: |
 | 
			
		||||
          cd publish || exit 1
 | 
			
		||||
          for file in $(ls); do
 | 
			
		||||
            curl -i "https://purge.jsdelivr.net/gh/${{ github.repository }}@release/${file}"
 | 
			
		||||
          done
 | 
			
		||||
							
								
								
									
										154
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										154
									
								
								README.md
									
									
									
									
									
								
							@@ -1,18 +1,26 @@
 | 
			
		||||
# 简介
 | 
			
		||||
 | 
			
		||||
本项目生成适用于 [**Clash Premium**](https://github.com/Dreamacro/clash/releases/tag/premium) 的规则集(RULE-SET)。使用 GitHub Actions 北京时间每天早上 6:30 自动构建,保证规则最新。
 | 
			
		||||
本项目生成适用于 [**Clash Premium 内核**](https://github.com/Dreamacro/clash/releases/tag/premium)的规则集(RULE-SET),同时适用于所有使用 Clash Premium 内核的 Clash 图形用户界面(GUI)客户端。使用 GitHub Actions 北京时间每天早上 6:30 自动构建,保证规则最新。
 | 
			
		||||
 | 
			
		||||
## 说明
 | 
			
		||||
 | 
			
		||||
本项目的规则集(RULE-SET)主要来源于项目 [@Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat) 和 [@v2fly/domain-list-community](https://github.com/v2fly/domain-list-community);[`Apple`](https://github.com/Loyalsoldier/clash-rules/blob/release/apple.txt) 和 [`Google`](https://github.com/Loyalsoldier/clash-rules/blob/release/google.txt) 列表里的部分域名来源于项目 [@felixonmars/dnsmasq-china-list](https://github.com/felixonmars/dnsmasq-china-list);中国大陆 IPv4 地址数据使用 [@17mon/china_ip_list](https://github.com/17mon/china_ip_list)。
 | 
			
		||||
本项目规则集(RULE-SET)的数据主要来源于项目 [@Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat) 和 [@v2fly/domain-list-community](https://github.com/v2fly/domain-list-community);[`Apple`](https://github.com/Loyalsoldier/clash-rules/blob/release/apple.txt) 和 [`Google`](https://github.com/Loyalsoldier/clash-rules/blob/release/google.txt) 列表里的域名来源于项目 [@felixonmars/dnsmasq-china-list](https://github.com/felixonmars/dnsmasq-china-list);中国大陆 IPv4 地址数据使用 [@17mon/china_ip_list](https://github.com/17mon/china_ip_list)。
 | 
			
		||||
 | 
			
		||||
本项目的规则集(RULE-SET)只适用于 Clash **Premium** 版本。Clash Premium 相对于普通版,增加了 **TUN 增强模式**,能接管设备所有 TCP 和 UDP 流量,类似 [Surge for Mac](https://nssurge.com) 的增强模式。更多高级特性请看[官方 wiki](https://github.com/Dreamacro/clash/wiki/premium-core-features)。
 | 
			
		||||
本项目的规则集(RULE-SET)只适用于 Clash **Premium** 版本。Clash Premium 相对于普通版,增加了 **TUN 增强模式**,能接管设备所有 TCP 和 UDP 流量。
 | 
			
		||||
 | 
			
		||||
### Clash 各版本下载地址
 | 
			
		||||
### Clash Premium 各版本下载地址
 | 
			
		||||
 | 
			
		||||
- Clash Premium **命令行**版(兼容 Windows、macOS、Linux、OpenWRT 等多种平台):[https://github.com/Dreamacro/clash/releases/tag/premium](https://github.com/Dreamacro/clash/releases/tag/premium)
 | 
			
		||||
- Clash Premium **图形用户界面**版(ClashX Pro,兼容 macOS):[https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public](https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public)
 | 
			
		||||
- Clash Premium **图形用户界面**版(Clash for Windows,兼容 Windows、macOS):[https://github.com/Fndroid/clash_for_windows_pkg/releases](https://github.com/Fndroid/clash_for_windows_pkg/releases)
 | 
			
		||||
> ⚠️ 由于 Clash 及其部分周边生态项目于 2023 年 11 月上旬删库跑路,现提供部分官方原版安装包、可执行文件,详情见 [**hidden**](https://github.com/Loyalsoldier/clash-rules/tree/hidden) 分支。
 | 
			
		||||
 | 
			
		||||
- Clash Premium **命令行**版:
 | 
			
		||||
  - [官方版](https://github.com/Loyalsoldier/clash-rules/tree/hidden/software/clash-premium)(适用于 Windows、macOS、Linux、OpenWRT 等多种平台)
 | 
			
		||||
  - [衍生版 Clash.Meta](https://github.com/MetaCubeX/Clash.Meta/releases)(适用于 Windows、macOS、Linux、OpenWRT 等多种平台)
 | 
			
		||||
- Clash Premium **图形用户界面**版:
 | 
			
		||||
  - [ClashN](https://github.com/2dust/clashN/releases)(适用于 Windows)
 | 
			
		||||
  - [ClashX Pro](https://github.com/Loyalsoldier/clash-rules/tree/hidden/software/clashx-pro)(适用于 macOS)
 | 
			
		||||
  - [Clash-verge](https://github.com/zzzgydi/clash-verge/releases)(适用于 Windows、macOS、Linux)
 | 
			
		||||
  - [Clash for Windows](https://github.com/Loyalsoldier/clash-rules/tree/hidden/software/clash-for-windows)(适用于 Windows、macOS、Linux)
 | 
			
		||||
  - [Clash for Android](https://apkpure.com/clash-for-android/com.github.kr328.clash/versions)(适用于 Android)
 | 
			
		||||
 | 
			
		||||
## 规则文件地址及使用方式
 | 
			
		||||
 | 
			
		||||
@@ -29,26 +37,39 @@
 | 
			
		||||
- **广告域名列表 reject.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/reject.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/reject.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt)
 | 
			
		||||
- **Apple 域名列表 apple.txt**:
 | 
			
		||||
- **私有网络专用域名列表 private.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/private.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/private.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt)
 | 
			
		||||
- **Apple 在中国大陆可直连的域名列表 apple.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/apple.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/apple.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt)
 | 
			
		||||
- **iCloud 域名列表 icloud.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/icloud.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/icloud.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt)
 | 
			
		||||
- **Google 域名列表 google.txt**:
 | 
			
		||||
- **[慎用]Google 在中国大陆可直连的域名列表 google.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/google.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/google.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt)
 | 
			
		||||
- **GFWList 域名列表 gfw.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/gfw.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/gfw.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt)
 | 
			
		||||
- **非中国大陆使用的顶级域名列表 tld-not-cn.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/tld-not-cn.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/tld-not-cn.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt)
 | 
			
		||||
- **Telegram 使用的 IP 地址列表 telegramcidr.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/telegramcidr.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/telegramcidr.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt)
 | 
			
		||||
- **局域网 IP 及保留 IP 地址列表 lancidr.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/lancidr.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/lancidr.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt)
 | 
			
		||||
- **中国大陆 IPv4 地址列表 cncidr.txt**:
 | 
			
		||||
- **中国大陆 IP 地址列表 cncidr.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/cncidr.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/cncidr.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt)
 | 
			
		||||
- **需要直连的常见软件列表 applications.txt**:
 | 
			
		||||
  - [https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/applications.txt](https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/applications.txt)
 | 
			
		||||
  - [https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt](https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt)
 | 
			
		||||
 | 
			
		||||
### 使用方式
 | 
			
		||||
 | 
			
		||||
关于 Clash Premium 使用方式,请查看[官方文档](https://github.com/Dreamacro/clash/wiki/premium-core-features) 或 [Lancellc's GitBook](https://lancellc.gitbook.io/clash/)。
 | 
			
		||||
 | 
			
		||||
要想使用本项目的规则集,只需要在 Clash 配置文件中添加如下 `rule-providers` 和 `rules`。
 | 
			
		||||
 | 
			
		||||
#### Rule Providers 配置方式
 | 
			
		||||
@@ -58,100 +79,149 @@ rule-providers:
 | 
			
		||||
  reject:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/reject.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
 | 
			
		||||
    path: ./ruleset/reject.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  icloud:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/icloud.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
 | 
			
		||||
    path: ./ruleset/icloud.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  apple:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/apple.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
 | 
			
		||||
    path: ./ruleset/apple.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  google:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/google.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
 | 
			
		||||
    path: ./ruleset/google.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  proxy:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/proxy.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
 | 
			
		||||
    path: ./ruleset/proxy.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  direct:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/direct.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
 | 
			
		||||
    path: ./ruleset/direct.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  private:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
 | 
			
		||||
    path: ./ruleset/private.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  gfw:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
 | 
			
		||||
    path: ./ruleset/gfw.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  tld-not-cn:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: domain
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
 | 
			
		||||
    path: ./ruleset/tld-not-cn.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  telegramcidr:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: ipcidr
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
 | 
			
		||||
    path: ./ruleset/telegramcidr.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  cncidr:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: ipcidr
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/cncidr.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
 | 
			
		||||
    path: ./ruleset/cncidr.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  lancidr:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: ipcidr
 | 
			
		||||
    url: "https://raw.githubusercontent.com/Loyalsoldier/clash-rules/release/lancidr.txt"
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
 | 
			
		||||
    path: ./ruleset/lancidr.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
 | 
			
		||||
  applications:
 | 
			
		||||
    type: http
 | 
			
		||||
    behavior: classical
 | 
			
		||||
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt"
 | 
			
		||||
    path: ./ruleset/applications.yaml
 | 
			
		||||
    interval: 86400
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### Rules 配置方式
 | 
			
		||||
#### 白名单模式 Rules 配置方式(推荐)
 | 
			
		||||
 | 
			
		||||
- 以下配置中的 `PROCESS-NAME` 规则类型**只能**在 **ClashX Pro** 中使用,其余版本均不能使用,需要手动删除。
 | 
			
		||||
- 如果希望使用 DNS 来解析未命中域名类型规则的域名,而不是直接走代理,请删除 `cncidr` 行尾的 `,no-resolve`。
 | 
			
		||||
- 白名单模式,意为「**没有命中规则的网络流量,统统使用代理**」,适用于服务器线路网络质量稳定、快速,不缺服务器流量的用户。
 | 
			
		||||
- 以下配置中,除了 `DIRECT` 和 `REJECT` 是默认存在于 Clash 中的 policy(路由策略/流量处理策略),其余均为自定义 policy,对应配置文件中 `proxies` 或 `proxy-groups` 中的 `name`。如你直接使用下面的 `rules` 规则,则需要在 `proxies` 或 `proxy-groups` 中手动配置一个 `name` 为 `PROXY` 的 policy。
 | 
			
		||||
- 如你希望 Apple、iCloud 和 Google 列表中的域名使用代理,则把 policy 由 `DIRECT` 改为 `PROXY`,以此类推,举一反三。
 | 
			
		||||
- 如你不希望进行 DNS 解析,可在 `GEOIP` 规则的最后加上 `,no-resolve`,如 `GEOIP,CN,DIRECT,no-resolve`。
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
rules:
 | 
			
		||||
  - PROCESS-NAME,v2ray,DIRECT
 | 
			
		||||
  - PROCESS-NAME,Surge%203,DIRECT
 | 
			
		||||
  - PROCESS-NAME,ss-local,DIRECT
 | 
			
		||||
  - PROCESS-NAME,privoxy,DIRECT
 | 
			
		||||
  - PROCESS-NAME,trojan,DIRECT
 | 
			
		||||
  - PROCESS-NAME,trojan-go,DIRECT
 | 
			
		||||
  - PROCESS-NAME,naive,DIRECT
 | 
			
		||||
  - PROCESS-NAME,Thunder,DIRECT
 | 
			
		||||
  - PROCESS-NAME,DownloadService,DIRECT
 | 
			
		||||
  - PROCESS-NAME,qBittorrent,DIRECT
 | 
			
		||||
  - PROCESS-NAME,Transmission,DIRECT
 | 
			
		||||
  - PROCESS-NAME,fdm,DIRECT
 | 
			
		||||
  - PROCESS-NAME,aria2c,DIRECT
 | 
			
		||||
  - PROCESS-NAME,Folx,DIRECT
 | 
			
		||||
  - PROCESS-NAME,NetTransport,DIRECT
 | 
			
		||||
  - PROCESS-NAME,uTorrent,DIRECT
 | 
			
		||||
  - PROCESS-NAME,WebTorrent,DIRECT
 | 
			
		||||
  - RULE-SET,applications,DIRECT
 | 
			
		||||
  - DOMAIN,clash.razord.top,DIRECT
 | 
			
		||||
  - DOMAIN,yacd.haishan.me,DIRECT
 | 
			
		||||
  - RULE-SET,private,DIRECT
 | 
			
		||||
  - RULE-SET,reject,REJECT
 | 
			
		||||
  - RULE-SET,icloud,DIRECT
 | 
			
		||||
  - RULE-SET,apple,DIRECT
 | 
			
		||||
  - RULE-SET,google,DIRECT
 | 
			
		||||
  - RULE-SET,proxy,PROXY
 | 
			
		||||
  - RULE-SET,direct,DIRECT
 | 
			
		||||
  - RULE-SET,lancidr,DIRECT,no-resolve
 | 
			
		||||
  - RULE-SET,cncidr,DIRECT,no-resolve
 | 
			
		||||
  - RULE-SET,lancidr,DIRECT
 | 
			
		||||
  - RULE-SET,cncidr,DIRECT
 | 
			
		||||
  - RULE-SET,telegramcidr,PROXY
 | 
			
		||||
  - GEOIP,LAN,DIRECT
 | 
			
		||||
  - GEOIP,CN,DIRECT
 | 
			
		||||
  - MATCH,PROXY
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### 黑名单模式 Rules 配置方式
 | 
			
		||||
 | 
			
		||||
- 黑名单模式,意为「**只有命中规则的网络流量,才使用代理**」,适用于服务器线路网络质量不稳定或不够快,或服务器流量紧缺的用户。通常也是软路由用户、家庭网关用户的常用模式。
 | 
			
		||||
- 以下配置中,除了 `DIRECT` 和 `REJECT` 是默认存在于 Clash 中的 policy(路由策略/流量处理策略),其余均为自定义 policy,对应配置文件中 `proxies` 或 `proxy-groups` 中的 `name`。如你直接使用下面的 `rules` 规则,则需要在 `proxies` 或 `proxy-groups` 中手动配置一个 `name` 为 `PROXY` 的 policy。
 | 
			
		||||
 | 
			
		||||
```yaml
 | 
			
		||||
rules:
 | 
			
		||||
  - RULE-SET,applications,DIRECT
 | 
			
		||||
  - DOMAIN,clash.razord.top,DIRECT
 | 
			
		||||
  - DOMAIN,yacd.haishan.me,DIRECT
 | 
			
		||||
  - RULE-SET,private,DIRECT
 | 
			
		||||
  - RULE-SET,reject,REJECT
 | 
			
		||||
  - RULE-SET,tld-not-cn,PROXY
 | 
			
		||||
  - RULE-SET,gfw,PROXY
 | 
			
		||||
  - RULE-SET,telegramcidr,PROXY
 | 
			
		||||
  - MATCH,DIRECT
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## 致谢
 | 
			
		||||
 | 
			
		||||
- [@Loyalsoldier/geoip](https://github.com/Loyalsoldier/geoip)
 | 
			
		||||
- [@Loyalsoldier/v2ray-rules-dat](https://github.com/Loyalsoldier/v2ray-rules-dat)
 | 
			
		||||
- [@gfwlist/gfwlist](https://github.com/gfwlist/gfwlist)
 | 
			
		||||
- [@v2fly/domain-list-community](https://github.com/v2fly/domain-list-community)
 | 
			
		||||
- [@felixonmars/dnsmasq-china-list](https://github.com/felixonmars/dnsmasq-china-list)
 | 
			
		||||
- [@17mon/china_ip_list](https://github.com/17mon/china_ip_list)
 | 
			
		||||
 | 
			
		||||
## 项目 Star 数增长趋势
 | 
			
		||||
 | 
			
		||||
[](https://starchart.cc/Loyalsoldier/clash-rules)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user