> For the complete documentation index, see [llms.txt](https://mcreadme.gitbook.io/mc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mcreadme.gitbook.io/mc/base/custom.md).

# 自定规则

{% hint style="info" %}

* 编辑规则有风险，请勿在没完全搞懂的情况下，胡乱尝试
* 增加完成新规则后，<mark style="color:orange;">**重启MC插件才能生效**</mark>
* MC根据不同配置文件名设置不同的自定义规则，切换配置文件时自动切换
  {% endhint %}

<figure><img src="/files/vIU7EOgEgGzWGsChDjXO" alt=""><figcaption></figcaption></figure>

### <mark style="color:blue;">IPtables前置分流：</mark>

{% hint style="info" %}

* 本功能同【科学上网插件】原理相同，通过Iptables实现提前分流
* 对于ARM v7的路由设备，可以有效减轻CPU压力，详情请看 [**FAQ3**](/mc/faq/faq1.md#q3)
* 即使设置【<mark style="color:blue;">大陆IP绕行</mark>】/【<mark style="color:$primary;">强制绕行规则</mark>】，DNS解析服务依然会由Clash负责
* 本功能设置好后，需要<mark style="color:orange;">**重启MC插件**</mark>
  {% endhint %}

#### 大陆IP不经过内核：

使用 [**Fernvenue**](https://github.com/fernvenue/chn-cidr-list) 的大陆IP地址规则集前置分流，让大陆IP不进入Clash，从而减轻CPU压力

{% hint style="info" %}

* **Redir-Host模式下**，使用大陆IP地址规则集绕行MC
* **Fake-ip模式下**，需先匹配【[**DNS设置**](/mc/base/dns.md#dns-fang-an)】里的<mark style="color:blue;">fake-ip-filter</mark>名单绕行获取真实IP，然后才能匹配大陆IP规则集
* 大陆IP地址变动频率很低，没必要经常更新
  {% endhint %}

#### 自定义IPtables分流规&#x5219;**：**

<mark style="color:orange;">**编辑强制绕行规则**</mark>**：**&#x5C06;设定的域名/IP直接送出路由，不再经过Clash

<mark style="color:orange;">**编辑强制转发规则**</mark>**：**&#x5F3A;制将设定的域名/IP转发给Clash（是否翻墙还需要由<mark style="color:orange;">yaml配置文件</mark>/<mark style="color:orange;">代理组策略</mark>决定）

{% hint style="info" %}

* 规则列表支持<mark style="color:orange;">域名</mark>/<mark style="color:orange;">IP</mark>/<mark style="color:orange;">IP-CIDR</mark>，一行一个
* IP-CIDR规则IP末尾为0的时候，请写作1（判定语句小bug，不影响使用）

&#x20;     如：192.168.50.<mark style="color:orange;">0</mark>/24  请写成  192.168.50.<mark style="color:orange;">1</mark>/24
{% endhint %}

#### <mark style="color:blue;">自定义Clash规则：</mark>

#### 自定义规则模式：

<mark style="color:orange;">**简单模式**</mark>**：**&#x5FEB;速入手，通过简单选择/输入，快速添加规则

{% hint style="info" %}
简单模式需<mark style="color:$primary;">启动成功后</mark>才可以选择【类型】【连接方式】下拉菜单，添加规则，添加完成重启生效
{% endhint %}

<mark style="color:orange;">**专业模式**</mark>**：**&#x9002;合一次多条规则添加，自定义规则顶格写，不需要空格和“-”，一行一个规则，如：

```yaml
DOMAIN,abc.com.io,DIRECT
DOMAIN-SUFFIX,123.com,♻️ 手动切换
```

## <mark style="color:blue;">附：</mark>

部分常用规则类型说明，更多请查阅[MihomoWiki-路由规则](https://wiki.metacubex.one/config/rules/)

**DOMAIN-SUFFIX：目的域名后缀**

简单说明：设定浏览器等访问包含相关的域名后缀如何走规则

举例： <mark style="color:blue;">DOMAIN-SUFFIX,abc.com,国外网站</mark>

&#x20;           <mark style="color:blue;">DOMAIN-SUFFIX,123.abc.com,国外网站</mark>

| DOMAIN-SUFFIX |                                                                                                              包含                                                                                                              |               不包含               |
| :-----------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------: |
|    abc.com    |         <p>*.<mark style="color:orange;">abc.com</mark></p><p>*.<mark style="color:orange;">abc.com</mark>/*</p><p><mark style="color:orange;">abc.com</mark></p><p><mark style="color:orange;">abc.com</mark>/*</p>         |             123.com             |
|  123.abc.com  | <p>*.<mark style="color:orange;">123.abc.com</mark></p><p>*.<mark style="color:orange;">123.abc.com</mark>/*</p><p><mark style="color:orange;">123.abc.com</mark></p><p><mark style="color:orange;">123.abc.com</mark>/*</p> | <p>abc.com</p><p>abc.com/\*</p> |

**DOMAIN：目的域名**

简单说明：设定浏览器等访问的域名如何走规则

举例：<mark style="color:blue;">DOMAIN,abc.com,国外网站</mark>

&#x20;          <mark style="color:blue;">DOMAIN,123.abc.com,国外网站</mark>

|    DOMAIN   |                                                       包含                                                      |                                    不包含                                   |
| :---------: | :-----------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------: |
|   abc.com   |     <p><mark style="color:orange;">abc.com</mark></p><p><mark style="color:orange;">abc.com</mark>/\*</p>     |                    <p>*.abc.com</p><p>*.abc.com/\*</p>                   |
| 123.abc.com | <p><mark style="color:orange;">123.abc.com</mark></p><p><mark style="color:orange;">123.abc.com</mark>/\*</p> | <p>*.123.abc.com</p><p>*.123.abc.com/*</p><p>abc.com</p><p>abc.com/*</p> |

**DOMAIN-KEYWORD:目的域名关键词**

简单说明：设定浏览器等访问带有该关键字的域名如何走规则

举例：<mark style="color:blue;">DOMAIN-KEYWORD,abc,国外网站</mark>

| DOMAIN-KEYWORD |                                                                                                                                                                                                             包含                                                                                                                                                                                                            |   不包含   |
| :------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----: |
|       abc      | <p><mark style="color:orange;">abc</mark>.com</p><p>*<mark style="color:orange;">abc</mark>.com</p><p><mark style="color:orange;">abc</mark>*.com</p><p>*<mark style="color:orange;">abc</mark>*.com</p><p>*.<mark style="color:orange;">abc</mark>.com</p><p><mark style="color:orange;">abc</mark>.*.com</p><p>*.<mark style="color:orange;">abc</mark>.*.com</p><p>(注:<mark style="color:blue;">com</mark>为任意顶级域名)</p> | 123.com |

**SRC-IP-CIDR:来源IP地址**

简单说明：设定局域网内某设备如何走规则（IP地址必须有掩码位）

举例：<mark style="color:blue;">SRC-IP-CIDR,192.168.50.100/32,DIRECT</mark>

**IP-CIDR:目的IP地址**

简单说明：设定浏览器等访问的IP地址如何走规则

举例：<mark style="color:blue;">IP-CIDR,123.123.123.0/24,DIRECT</mark>

{% hint style="info" %}

* IP规则需遵循 [**IP-CIDR**](https://baike.baidu.com/item/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1/15758573?fromtitle=CIDR\&fromid=3695195\&fr=aladdin) 格式，IP地址后面必须跟对应<mark style="color:orange;">掩码位</mark>；
* 例：123.123.0.0/<mark style="color:orange;">16</mark>  代表123.123.0.1\~123.123.255.254共65534个IP地址

&#x20;             123.0.0.0/<mark style="color:orange;">8</mark>      代表123.0.0.1\~123.255.255.254共16777214个IP地址

* 可借助 [**子网掩码计算器**](http://tool.chinaz.com/tools/subnetmask/) 辅助计算；
* 支持IPv6，如：IP-CIDR,2001:b28:f23f::/48,DIRECT。
  {% endhint %}

**SRC-PORT:来源端口**

简单说明：设定来源于局域网某端口的请求如何走规则

举例：<mark style="color:blue;">SRC-PORT,7777,DIRECT</mark>

**DST-PORT:目的端口**

简单说明：设定访问目的端口如何走规则

举例：<mark style="color:blue;">DST-PORT,8888,REJECT</mark>

{% hint style="info" %}

* 端口规则可使用 - 来匹配端口范围，使用 / 或者 , 来区分多个端口/端口范围，如

&#x20;      114-514/810-1919,65530
{% endhint %}
