Clash配置文件格式详解

目录

  1. 简介
  2. 配置文件结构
  3. 配置文件优化
  4. 常见问题解答

简介

Clash 是一款开源的代理客户端软件,广受用户好评。Clash 的强大之处在于它的配置文件格式非常灵活和强大,可以满足各种复杂的代理需求。本文将详细介绍 Clash 配置文件的格式和用法,帮助用户更好地理解和使用 Clash。

配置文件结构

Clash 的配置文件采用 YAML 格式,主要包含以下几个部分:

General 配置

General 配置用于设置 Clash 的一些基本参数,如:

  • port: Clash 服务器监听的端口号
  • socks-port: Socks5 代理端口
  • redir-port: 透明代理端口
  • allow-lan: 是否允许局域网连接
  • mode: 运行模式,可选 ruleglobaldirect
  • log-level: 日志级别,可选 infowarningerror
  • external-controller: 远程控制 URL
  • secret: 远程控制密钥

Proxy 配置

Proxy 配置用于定义代理服务器,每个代理服务器都有一个唯一的名称。常见的代理类型有:

  • ss: Shadowsocks
  • ssr: Shadowsocks R
  • vmess: V2Ray VMess
  • trojan: Trojan
  • http: HTTP/HTTPS
  • socks5: Socks5

每种代理类型都有自己的一些特定配置项,如服务器地址、端口、加密方式等。

Proxy Group 配置

Proxy Group 配置用于定义代理组,可以将多个代理服务器组合成一个代理组。常见的代理组类型有:

  • select: 手动选择代理
  • url-test: 根据延迟自动选择最快的代理
  • fallback: 根据可用性自动选择可用的代理
  • load-balance: 负载均衡代理

每种代理组类型都有自己的一些特定配置项,如代理服务器列表、测试 URL 等。

Rule 配置

Rule 配置用于定义流量路由规则,Clash 会根据这些规则决定流量走哪个代理。规则支持丰富的匹配条件,如域名、IP 地址、关键词等。常见的规则类型有:

  • DOMAIN-SUFFIX: 匹配域名后缀
  • DOMAIN: 匹配完整域名
  • IP-CIDR: 匹配 IP 地址段
  • GEOIP: 匹配地理位置
  • SRC-PORT: 匹配源端口
  • DST-PORT: 匹配目标端口
  • MATCH: 兜底规则,匹配剩余流量

配置文件优化

为了提高 Clash 的性能和稳定性,可以对配置文件进行以下优化:

  • 尽量减少代理服务器和代理组的数量,保持配置文件简洁
  • 对于不常用的代理服务器,可以设置 disable: true 禁用
  • 对于负载较高的代理组,可以调整 url-testload-balance 的测试间隔和超时时间
  • 合理设置 rule 规则,避免过于复杂的规则导致性能下降

常见问题解答

Q: Clash 配置文件中的 portsocks-port 有什么区别?

A: port 是 Clash 服务器监听的端口号,用于接收来自客户端的 HTTP/HTTPS 流量。socks-port 是 Socks5 代理端口,用于接收来自客户端的 Socks5 流量。一般情况下,你需要同时配置这两个端口。

Q: 如何定义 Shadowsocks 代理服务器?

A: 在 proxies 部分添加如下配置: yaml

  • name: ss-server type: ss server: 192.168.1.100 port: 8388 cipher: aes-256-cfb password: password

其中 name 是代理服务器的名称, type 是代理类型, server 是服务器地址, port 是服务器端口, cipher 是加密方式, password 是密码。

Q: 如何定义 URL-Test 代理组?

A: 在 proxy-groups 部分添加如下配置: yaml

  • name: url-test type: url-test proxies:
    • ss-server1
    • ss-server2
    • vmess-server url: ‘http://www.google.com’ interval: 300

其中 name 是代理组的名称, type 是代理组类型, proxies 是组成该代理组的代理服务器列表, url 是测试 URL, interval 是测试间隔(单位:秒)。

Q: Clash 的 rule 配置有哪些常见的匹配条件?

A: Clash 的 rule 配置支持多种匹配条件,常见的有:

  • DOMAIN-SUFFIX: 匹配域名后缀,如 DOMAIN-SUFFIX,google.com,Proxy
  • DOMAIN: 匹配完整域名,如 DOMAIN,www.google.com,Proxy
  • IP-CIDR: 匹配 IP 地址段,如 IP-CIDR,192.168.1.0/24,DIRECT
  • GEOIP: 匹配地理位置,如 GEOIP,CN,DIRECT
  • SRC-PORT: 匹配源端口,如 SRC-PORT,7000-8000,Proxy
  • DST-PORT: 匹配目标端口,如 DST-PORT,80,DIRECT
  • MATCH: 兜底规则,匹配剩余流量,如 MATCH,Proxy
正文完