clash配置文件的基本构成和写法,看完应该就全明白了
规则解释
- DOMAIN-SUFFIX:域名后缀匹配
- DOMAIN:域名匹配
- DOMAIN-KEYWORD:域名关键字匹配
- IP-CIDR:IP段匹配
- SRC-IP-CIDR:源IP段匹配
- GEOIP:GEOIP数据库(国家代码)匹配
- DST-PORT:目标端口匹配
- SRC-PORT:源端口匹配
- MATCH:全匹配(一般放在最后)
基本配置
port: 7890
socks-port: 7891
allow-lan: false
mode: Rule
log-level: info
external-controller: 127.0.0.1:9090Proxy:
Proxy Group:
Rule:
– DOMAIN-SUFFIX,google.com,DIRECT
– DOMAIN-KEYWORD,google,DIRECT
– DOMAIN,google.com,DIRECT
– DOMAIN-SUFFIX,ad.com,REJECT
– GEOIP,CN,DIRECT
– MATCH,DIRECT
额外支持特定的字段:
- cfw-latency-timeout:延迟测试超时时间(毫秒),默认3000
- cfw-latency-url:延迟测试URL,默认http://www.gstatic.com/generate_204
- cfw-bypass:系统代理绕过域名或地址,参考 绕过系统代理
- cfw-conn-break-strategy: 切换节点后或切换配置文件后打断连接
- cfw-profiles-path: 自定义 profiles 目录路径 (beta)
这些配置关乎Clash核心是否能正常启动,如非必要,请勿更改
完全配置记录
#—————————————————#
## 配置文件需要放置在 $HOME/.config/clash/config.yml
##
## 如果您不知道如何操作,请参阅 SS-Rule-Snippet 的 Wiki:
## https://github.com/Hackl0us/SS-Rule-Snippet/wiki/clash(X)
#—————————————————## HTTP 代理端口
port: 7890# SOCKS5 代理端口
socks-port: 7891# Linux 和 macOS 的 redir 代理端口 (如需使用此功能,请取消注释)
# redir-port: 7892# 允许局域网的连接(可用来共享代理)
allow-lan: false
# bind-address: “*”
# 此功能仅在 allow-lan 设置为 true 时生效,支持三种参数:
# “*” 绑定所有的 IP 地址
# 192.168.122.11 绑定一个的 IPv4 地址
# “[aaaa::a8aa:ff:fe09:57d8]” 绑定一个 IPv6 地址# 规则模式:Rule(规则) / Global(全局代理)/ Direct(全局直连)
mode: Rule# 设置日志输出级别 (默认级别:silent,即不输出任何内容,以避免因日志内容过大而导致程序内存溢出)。
# 5 个级别:silent / info / warning / error / debug。级别越高日志输出量越大,越倾向于调试,若需要请自行开启。
log-level: silent# clash 的 RESTful API
external-controller: 127.0.0.1:9090# 您可以将静态网页资源(如 clash-dashboard)放置在一个目录中,clash 将会服务于
${API}/ui
# 参数应填写配置目录的相对路径或绝对路径。
# external-ui: folder# RESTful API 的口令 (可选)
# secret: “”# 实验性功能
experimental:
ignore-resolve-fail: true # 忽略 DNS 解析失败,默认值为 true# 本地 SOCKS5 / HTTP(S) 服务认证
# authentication:
# – “user1:pass1”
# – “user2:pass2”# # 实验性功能 hosts, 支持通配符 (例如 *.clash.dev 甚至 *.foo.*.example.com)
# # 静态的域名 比 通配域名 具有更高的优先级 (foo.example.com 优先于 *.example.com)
# # 注意: hosts 在 fake-ip 模式下不生效
# hosts:
# ‘*.clash.dev’: 127.0.0.1
# ‘alpha.clash.dev’: ‘::1’dns:
enable: true
ipv6: false
# listen: 0.0.0.0:53
# enhanced-mode: redir-host # 或 fake-ip
# # fake-ip-range: 198.18.0.1/16 # 如果你不知道这个参数的作用,请勿修改
# fake-ip-filter: # fake-ip 白名单列表
# – ‘*.lan’
# – localhost.ptlogin2.qq.comnameserver:
– 1.2.4.8
– 114.114.114.114
– 223.5.5.5
– tls://13800000000.rubyfish.cn:853
#- https://13800000000.rubyfish.cn/fallback: # 与 nameserver 内的服务器列表同时发起请求,当规则符合 GEOIP 在 CN 以外时,fallback 列表内的域名服务器生效。
– tls://13800000000.rubyfish.cn:853
– tls://1.0.0.1:853
– tls://dns.google:853#- https://13800000000.rubyfish.cn/
#- https://cloudflare-dns.com/dns-query
#- https://dns.google/dns-queryfallback-filter:
geoip: true # 默认
ipcidr: # 在这个网段内的 IP 地址会被考虑为被污染的 IP
– 240.0.0.0/4# 1. clash DNS 请求逻辑:
# (1) 当访问一个域名时, nameserver 与 fallback 列表内的所有服务器并发请求,得到域名对应的 IP 地址。
# (2) clash 将选取 nameserver 列表内,解析最快的结果。
# (3) 若解析结果中,IP 地址属于 国外,那么 clash 将选择 fallback 列表内,解析最快的结果。
#
# 因此,我在 nameserver 内放置了无污染、解析速度较快的国内 DNS 服务器,以达到最快的解析速度。
# 但是 fallback 列表内服务器会用在解析境外网站,为了结果绝对无污染和安全解析,我仅保留了支持 国外DoT/DoH (谷歌、claoudflare)的两个服务器。#
#有一点值得注意下,国内没有被污染的DNS还是能解析国外域名的,但为了安全起见,非常不建议用国内DNS解析国外,虽然全加密,但总感觉不是绝对安全~# 2. clash DNS 配置注意事项:
# (1) 如果您为了确保 DNS 解析结果无污染,请仅保留列表内以 tls:// 或 https:// 开头的 DNS 服务器,但是通常对于国内域名没有必要。
# (2) 如果您不在乎可能解析到污染的结果,更加追求速度。请将 nameserver 列表的服务器插入至 fallback 列表内,并移除重复项。
#
# 3. 关于 DNS over HTTPS (DoH) 和 DNS over TLS (DoT) 的选择:
# 对于两项技术双方各执一词,而且会无休止的争论,各有利弊。各位请根据具体需求自行选择,但是配置文件内默认启用 DoT,因为目前国内没有封锁或管制。
# DoH: 以 https:// 开头的 DNS 服务器。拥有更好的伪装性,且几乎不可能被运营商或网络管理封锁,但查询效率和安全性可能略低。
# DoT: 以 tls:// 开头的 DNS 服务器。拥有更高的安全性和查询效率,但端口有可能被管制或封锁。
# 若要了解更多关于 DoH/DoT 相关技术,请自行查阅规范文档。Proxy:
# shadowsocks
# 所支持的加密方式与 go-shadowsocks2 保持一致
# 支持加密方式:
# aes-128-gcm aes-192-gcm aes-256-gcm
# aes-128-cfb aes-192-cfb aes-256-cfb
# aes-128-ctr aes-192-ctr aes-256-ctr
# rc4-md5 chacha20 chacha20-ietf xchacha20
# chacha20-ietf-poly1305 xchacha20-ietf-poly1305– name: “ss1”
type: ss
server: server
port: 443
cipher: chacha20-ietf-poly1305
password: “password”
# udp: true– name: “ss2”
type: ss
server: server
port: 443
cipher: AEAD_CHACHA20_POLY1305
password: “password”
plugin: obfs
plugin-opts:
mode: tls # 混淆模式,可以选择 http 或 tls
host: bing.com # 混淆域名,需要和服务器配置保持一致– name: “ss3”
type: ss
server: server
port: 443
cipher: AEAD_CHACHA20_POLY1305
password: “password”
plugin: v2ray-plugin
plugin-opts:
mode: websocket # 暂时不支持 QUIC 协议
# tls: true # wss
# skip-cert-verify: true
# host: bing.com
# path: “/”
# headers:
# custom: value# vmess
# 支持加密方式:auto / aes-128-gcm / chacha20-poly1305 / none
– name: “vmess”
type: vmess
server: server
port: 443
uuid: uuid
alterId: 32
cipher: auto
# udp: true
# tls: true
# skip-cert-verify: true
# network: ws
# ws-path: /path
# ws-headers:
# Host: v2ray.com# socks5
– name: “socks”
type: socks5
server: server
port: 443
# username: username
# password: password
# tls: true
# skip-cert-verify: true
# udp: true# http
– name: “http”
type: http
server: server
port: 443
# username: username
# password: password
# tls: true # https
# skip-cert-verify: true# snell
– name: “snell”
type: snell
server: server
port: 44046
psk: yourpsk
# obfs-opts:
# mode: http # 或 tls
# host: bing.comProxy Group:
# url-test 可以自动选择与指定 URL 测速后,延迟最短的服务器
– name: “auto”
type: url-test
proxies:
– ss1
– ss2
– vmess1
url: ‘http://www.gstatic.com/generate_204’
interval: 300# fallback 可以尽量按照用户书写的服务器顺序,在确保服务器可用的情况下,自动选择服务器
– name: “fallback-auto”
type: fallback
proxies:
– ss1
– ss2
– vmess1
url: ‘http://www.gstatic.com/generate_204’
interval: 300# load-balance 可以使相同 eTLD 请求在同一条代理线路上
– name: “load-balance”
type: load-balance
proxies:
– ss1
– ss2
– vmess1
url: ‘http://www.gstatic.com/generate_204’
interval: 300# select 用来允许用户手动选择 代理服务器 或 服务器组
# 您也可以使用 RESTful API 去切换服务器,这种方式推荐在 GUI 中使用
– name: Proxy
type: select
proxies:
– ss1
– ss2
– vmess1
– autoRule:
# 抗 DNS 污染
– DOMAIN-KEYWORD,amazon,Proxy
– DOMAIN-KEYWORD,google,Proxy
– DOMAIN-KEYWORD,gmail,Proxy
– DOMAIN-KEYWORD,youtube,Proxy
– DOMAIN-KEYWORD,facebook,Proxy
– DOMAIN-SUFFIX,fb.me,Proxy
– DOMAIN-SUFFIX,fbcdn.net,Proxy
– DOMAIN-KEYWORD,twitter,Proxy
– DOMAIN-KEYWORD,instagram,Proxy
– DOMAIN-KEYWORD,dropbox,Proxy
– DOMAIN-SUFFIX,twimg.com,Proxy
– DOMAIN-KEYWORD,blogspot,Proxy
– DOMAIN-SUFFIX,youtu.be,Proxy
– DOMAIN-KEYWORD,whatsapp,Proxy# 常见广告域名屏蔽
– DOMAIN-KEYWORD,admarvel,REJECT
– DOMAIN-KEYWORD,admaster,REJECT
– DOMAIN-KEYWORD,adsage,REJECT
– DOMAIN-KEYWORD,adsmogo,REJECT
– DOMAIN-KEYWORD,adsrvmedia,REJECT
– DOMAIN-KEYWORD,adwords,REJECT
– DOMAIN-KEYWORD,adservice,REJECT
– DOMAIN-KEYWORD,domob,REJECT
– DOMAIN-KEYWORD,duomeng,REJECT
– DOMAIN-KEYWORD,dwtrack,REJECT
– DOMAIN-KEYWORD,guanggao,REJECT
– DOMAIN-KEYWORD,lianmeng,REJECT
– DOMAIN-SUFFIX,mmstat.com,REJECT
– DOMAIN-KEYWORD,omgmta,REJECT
– DOMAIN-KEYWORD,openx,REJECT
– DOMAIN-KEYWORD,partnerad,REJECT
– DOMAIN-KEYWORD,pingfore,REJECT
– DOMAIN-KEYWORD,supersonicads,REJECT
– DOMAIN-KEYWORD,uedas,REJECT
– DOMAIN-KEYWORD,umeng,REJECT
– DOMAIN-KEYWORD,usage,REJECT
– DOMAIN-KEYWORD,wlmonitor,REJECT
– DOMAIN-KEYWORD,zjtoolbar,REJECT# LAN
– DOMAIN-SUFFIX,local,DIRECT
– IP-CIDR,127.0.0.0/8,DIRECT
– IP-CIDR,172.16.0.0/12,DIRECT
– IP-CIDR,192.168.0.0/16,DIRECT
– IP-CIDR,10.0.0.0/8,DIRECT
– IP-CIDR,17.0.0.0/8,DIRECT
– IP-CIDR,100.64.0.0/10,DIRECT# 最终规则
– GEOIP,CN,DIRECT
– MATCH,Proxy
绕过系统代理
Clash for Windows在v 0.4.5 版本后可以自定义系统代理需要绕过的域名或IP
部分应用检测到系统代理会拒绝响应(例如网易云音乐uwp),此功能用于解决此类问题
设置方式
config.yaml
port: 8888
socks-port: 8889
redir-port: 0
allow-lan: true
mode: Rule
log-level: info
external-controller: ‘0.0.0.0:6170’
secret: ”
Proxy:
…
Proxy Group:
…
Rule:
…
cfw-bypass:
… # 原有字段不用删除
– ‘music.163.com’ # 网易云域名1
– ‘*.music.126.net’ # 网易云域名2
cfw-bypass类型为数组,item为需要绕过的域名或节点,支持通配符*
最后一行对应系统中“请勿将代理服务器用于本地(Intranet)地址”选项,请确保此项在最底部
以上文章转发自joylau~~~http://blog.joylau.cn/2020/05/01/Clash-Config/