介绍
Clash 有一些比较高级的用法,灵活设置可以实现你的个性化需求。本篇需要有一定的计算机基础。
混合模式
从米白云处导入的订阅链接,会把节点连带分流规则都写入到配置文件里。默认的分流规则也许并不适合你的要求,如果直接修改配置文件,等到订阅更新后,修改的规则会丢失。借助混合模式,你自己修改的规则有最高优先级,即便更新订阅后也仍然生效。
1、配置混合模式
针对上面的例子,我们按照下面步骤
- 进入 Settings 页面
- 滚动至 Profile Mixin 栏
- 点击 YAML 右边 Edit 小字打开编辑界面
- 修改配置
2、指定网站不走代理
如果你想要实现 domain.com 走代理:
mixin: # 注意下面缩进
rules:
- "DOMAIN-SUFFIX,ident.me,DIRECT"
然后点击右下角的 保存
3、指定网站走代理
如果你想要实现 linkedin.cn 走代理:
mixin: # 注意下面缩进
rules:
- "DOMAIN-SUFFIX,linkedin.com,节点选择"
然后点击右下角的 保存
4、打开混合模式
回到 General 页面,打开 Mixin 开关即可。
TUN 模式
对于不遵循系统代理的软件,TUN 模式可以接管其流量并交由 CFW 处理,在 Windows 中,TUN 模式性能比 TAP 模式好
启动 TUN 模式
启动 TUN 模式需要进行如下操作:
- 1、点击
General
中Service Mode
右边 Manage,在打开窗口中安装服务模式,安装完成应用会自动重启,Service Mode 右边地球图标变为绿色即安装成功 - 2、点击
General
中TUN Mode
右边开关启动 TUN 模式
提示
如果在第一步安装失败,可以尝试手动安装。👉点我 下载 Wintun 压缩包,解压后进入 bin 文件夹,出现的4个文件夹代表对应的系统平台:
- amd64:intel 64位操作系统
- x86:intel 32位操作系统
- arm64:arm 64位操作系统
- arm:arm 32位操作系统
将属于自己系统的文件夹打开,复制里面的 wintun.dll
文件到 clash 主目录,然后重新操作上面的2个步骤。快速打开 clash 主目录方法:
- 打开 clash 软件,切换到 General,点击 Home Directory。
修改配置文件
因为每次更新订阅都会丢失修改,所以这里选择使用 Mixin。
mixin:
tun:
enable: true
stack: system # or gvisor
# dns-hijack:
# - 223.5.5.5:53
# - 223.6.6.6:53
auto-route: true
auto-detect-interface: true # 自动检测出口网卡
检查
打开控制面板,依次进入 控制面板 > 网络和Internet > 网络连接,在这里可以看到你本机的所有网卡设备。如果clash设置TUN模式成功,会看到名为 Clash 的虚拟网卡。
TAP 模式
对于不遵循系统代理的软件,除了使用 TUN 模式,也可以使用 TAP 模式可以接管其流量并交由 CFW 处理。推荐使用 [TUN 模式](#TUN 模式)
安装 TAP 网卡
点击 General
页面中 TAP Device
选项的 Manage 按钮,在弹出对话框中选择Install将会安装 TAP 网卡,此网卡用于接管系统流量,安装完成可在系统网络连接中看到名为cfw-tap的网卡。
#启动 TAP 模式 使用的 Profile 中包含 listen 设置:
dns:
enable: true
enhanced-mode: redir-host # 或 fake-ip
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
工作原理
此版本可以通过设置 Interface Name (自动识别) 属性避免回环,并且支持了 UDP 及 IP 类请求,请在Settings页面Interface Name选项中选择出站网卡(通常为本机物理网卡)
注意事项
当enhanced-mode设置为fake-ip时,会出现系统检测到网卡无法联网,微软系 APP 无法登陆使用等问题,可以通过添加fake-ip-filter解决:
dns:
enable: true
enhanced-mode: fake-ip
listen: 0.0.0.0:53
nameserver:
- 223.5.5.5
fake-ip-filter:
- "dns.msftncsi.com"
- "www.msftncsi.com"
- "www.msftconnecttest.com"
提示
TAP 模式更推荐使用 redir-host 模式
加速其他设备
请参考:🔗 Clash 加速其他设备方法
配置文件预处理
简便方法(YAML)
如果需要对下载地址为 https://example.com/profile.yaml 的配置文件进行预处理,操作如下:
- 进入 Settings 界面
- 滚动至 Profiles 栏
- 点击 Parsers 右边 Edit 打开编辑器,填入:
parsers:
- url: https://example.com/profile.yaml
yaml:
prepend-rules:
- DOMAIN,test.com,DIRECT # rules最前面增加一个规则
append-proxies:
- name: test # proxies最后面增加一个服务
type: http
server: 123.123.123.123
port: 456
- 点击编辑器右下角保存按钮
当配置文件触发刷新(包括自动更新)时,CFW 会读取yaml字段定义的值,将对应值插入/合并到原配置文件中
参数说明
键 | 值类型 | 操作 |
---|---|---|
append-rules | 数组 | 数组合并至原配置rules数组后 |
prepend-rules | 数组 | 数组合并至原配置rules数组前 |
append-proxies | 数组 | 数组合并至原配置proxies数组后 |
prepend-proxies | 数组 | 数组合并至原配置proxies数组前 |
append-proxy-groups | 数组 | 数组合并至原配置proxy-groups数组后 |
prepend-proxy-groups | 数组 | 数组合并至原配置proxy-groups数组前 |
mix-proxy-providers | 对象 | 对象合并至原配置proxy-providers中 |
mix-rule-providers | 对象 | 对象合并至原配置rule-providers中 |
mix-object | 对象 | 对象合并至原配置最外层中 |
commands | 数组 | 在上面操作完成后执行简单命令操作配置文件 |
Commands 使用方法(beta)
commands 是一组简单的命令,作为上面操作的补充
例子:
commands:
- dns.enable=false # 命令1
- proxy-groups.0.proxies.2+DIRECT # 命令2
每个命令可以被分为三个部分,分别是:定位+操作+设定值
命令 1 中,定位是dns.enable,操作是=,设定值是false
命令 2 中,定位是proxy-groups.0.proxies.2,操作是+,设定值是DIRECT
定位
定位中每个层级以.分割,数组类型的定位下标由 0 开始计算,命令 2 中proxy-groups.0即表示定位至第 1 个策略组,.proxies表示访问第一个策略组的 proxies 属性,.proxies.2表示 proxies 属性的第 3 个位置
如果不想用序号定位,也可以使用name值定位,proxies以及proxy-groups中的每个项目都会有name属性。例如在proxies中已经定义了名为debug的节点,那么修改其udp参数的定位即为proxies.(debug).udp,名称两边的()是保证识别,如果节点名不包括+、.或=这几个符号,也可以省略不写
操作
目前支持三种操作:
- =:覆盖
- +:插入
- -:删除
命令 1 中,=表示将dns下enable的值覆盖为false
命令 2 中,+表示在定位的策略组中的proxies数组中添加一个名为DIRECT的值,原本其他值被向后移动 1 位。如果此处改成=,则会覆盖原来第一个值
设定值
设定值是用于插入或覆盖的值,如果操作是-,则此值可有可无,例如:
commands:
- proxies.0- # 命令3
此处可以将配置文件proxies的第 1 个节点删除
如果设定值为纯数字,则会被识别为整数,为true|false则识别为布尔类型,如果 JSON 编码通过则识别为对象
v0.13.7 版本更新后,支持 3 个内置值用于设置策略组节点,分别是[]proxyNames,[]groupNames和[]shuffledProxyNames,并支持使用正则过滤其中节点,例子如下:
yaml:
prepend-proxy-groups:
- name: myGroup # 建立新策略组
type: fallback
url: "http://www.gstatic.com/generate_204"
interval: 300
proxies:
- DIRECT
commands:
- proxy-groups.myGroup.proxies=[]proxyNames|HK # 向策略组添加所有定义的节点名,并按“HK”正则表达式过滤
轻量模式
依赖于内置 Service Mode,启动轻量模式后,关闭软件界面后 CFW 将会完全关闭,仅保留 Clash 核心继续工作。再次启动 CFW 则会快速恢复并连接核心。
此模式下,CFW 界面关闭后将不再占用系统内存,但同时部分功能将会失效,例如:
- 任务栏图标及菜单
- 配置文件定时更新
- TAP 模式
- 后台启动其他应用
- 后台更新检测
- WARNING
其他未提及功能也可能会受到影响,如追求更好体验,不建议使用此功能
开启步骤
- 1、点击General中Service Mode右边Manage,在打开窗口中安装服务模式,安装完成应用会自动重启,Service Mode 右边地球图标变为绿色即安装成功
- 2、点击Settings界面中General模块中Lightweight Mode进行开启
开启后关闭界面操作即自动关闭软件,重新启动软件会自动恢复,已选择配置文件及节点不会丢失。
绕过系统代理
- 进入 Settings 页面
- 点击 System proxy Bypass 右边 Edit 小字打开编辑界面
- 若要增加绕过example.com域名,只需在修改编辑界面内容为:
bypass:
- "example.com" # 下面字段可不删除
- 127.0.0.1
- ...
点击编辑器右下角保存
bypass 类型为数组,item 为需要绕过的域名或节点,支持通配符*
提示
最后一行对应系统中“请勿将代理服务器用于本地(Intranet)地址”选项,请确保此项在最底部
文章评论