Clash 配置文件详解

目录

  1. 什么是 Clash 配置文件
  2. Clash 配置文件结构
  3. 配置文件示例
  4. 常见问题 FAQ

什么是 Clash 配置文件

Clash 是一款开源的代理客户端软件,它支持多种代理协议,包括 Shadowsocks、Vmess、Trojan 等。Clash 的配置文件是一个 YAML 格式的文件,用于定义代理服务器、代理分组、规则等信息,从而控制 Clash 的行为。通过修改配置文件,用户可以灵活地管理和使用 Clash 提供的代理功能。

Clash 配置文件结构

Clash 配置文件主要由以下几个部分组成:

proxy

proxy 部分定义了各个代理服务器的信息,包括服务器地址、端口、协议类型、加密方式等。每个代理服务器都需要在这里进行配置。例如:

  • name: 代理服务器名称
  • type: 代理协议类型,如 Shadowsocks、Vmess、Trojan 等
  • server: 代理服务器地址
  • port: 代理服务器端口
  • password: 密码(适用于 Shadowsocks 等需要密码的协议)
  • cipher: 加密方式(适用于 Shadowsocks 等需要加密的协议)

proxy-group

proxy-group 部分定义了各个代理分组的信息,包括分组名称、选择策略、所包含的代理服务器等。通过配置代理分组,可以实现负载均衡、故障转移等功能。例如:

  • name: 分组名称
  • type: 分组类型,如 select、url-test、fallback 等
  • proxies: 分组包含的代理服务器名称列表

rule-provider

rule-provider 部分定义了各个规则提供者的信息,包括名称、数据源 URL、规则更新间隔等。规则提供者可以为 Clash 提供预定义的规则集,用于实现更精细的流量控制。例如:

  • name: 规则提供者名称
  • type: 规则提供者类型,如 http、file 等
  • behavior: 规则提供者行为,如 classical、ipcidr 等
  • url: 规则数据源 URL
  • interval: 规则更新间隔

rules

rules 部分定义了各个流量控制规则的信息,包括规则表达式、所属的规则提供者、匹配的代理分组等。通过配置规则,可以实现基于域名、IP 地址、关键词等的流量控制。例如:

    • RULE-SET,rule-provider-name,proxy-group-name
    • DOMAIN,example.com,proxy-group-name
    • IP-CIDR,192.168.1.0/24,DIRECT

dns

dns 部分定义了 Clash 的 DNS 服务器配置,包括使用的 DNS 服务器地址、DNS 缓存时间、域名解析策略等。通过配置 DNS,可以实现更快、更准确的域名解析。例如:

  • enable: 是否启用 DNS 功能
  • listen: DNS 服务器监听地址
  • nameserver:
    • 8.8.8.8
    • 8.8.4.4
  • fallback:
    • 1.1.1.1
    • 1.0.0.1

tproxy

tproxy 部分定义了 Clash 的 TProxy 配置,用于实现透明代理功能。通过配置 TProxy,可以实现全局代理或者仅代理特定流量。例如:

  • enable: 是否启用 TProxy 功能
  • auto-route: 是否自动路由
  • auto-detect-interface: 是否自动检测网络接口

cfw-spec

cfw-spec 部分定义了 Clash for Windows 的特殊配置,用于实现一些 Windows 平台上的特殊功能。例如:

  • interface-name: 指定 Clash for Windows 使用的网络接口名称
  • route:
    • 0.0.0.0/0

配置文件示例

以下是一个 Clash 配置文件的示例:

yaml port: 7890 socks-port: 7891 redir-port: 7892 allow-lan: false mode: rule log-level: info external-controller: 127.0.0.1:9090

proxy:

  • name: Shadowsocks-1 type: ss server: ss.example.com port: 8388 password: password cipher: aes-256-cfb

proxy-group:

  • name: Proxy type: select proxies:
    • Shadowsocks-1

rule-provider:

  • name: DOMAIN-SUFFIX type: http behavior: domain url: https://example.com/domain-suffix.yaml interval: 86400

rules:

  • RULE-SET,DOMAIN-SUFFIX,Proxy
  • DOMAIN-SUFFIX,example.com,Proxy
  • IP-CIDR,192.168.1.0/24,DIRECT

dns: enable: true listen: 0.0.0.0:53 nameserver: – 8.8.8.8 – 8.8.4.4 fallback: – 1.1.1.1 – 1.0.0.1

常见问题 FAQ

Q: Clash 配置文件中各个部分的作用是什么?

A: Clash 配置文件主要由以下几个部分组成:

  • proxy: 定义各个代理服务器的信息,包括服务器地址、端口、协议类型、加密方式等。
  • proxy-group: 定义各个代理分组的信息,包括分组名称、选择策略、所包含的代理服务器等。
  • rule-provider: 定义各个规则提供者的信息,包括名称、数据源 URL、规则更新间隔等。
  • rules: 定义各个流量控制规则的信息,包括规则表达式、所属的规则提供者、匹配的代理分组等。
  • dns: 定义 Clash 的 DNS 服务器配置,包括使用的 DNS 服务器地址、DNS 缓存时间、域名解析策略等。
  • tproxy: 定义 Clash 的 TProxy 配置,用于实现透明代理功能。
  • cfw-spec: 定义 Clash for Windows 的特殊配置。

Q: Clash 配置文件中 proxy 部分和 proxy-group 部分的区别是什么?

A: proxy 部分定义了各个代理服务器的信息,包括服务器地址、端口、协议类型、加密方式等。而 proxy-group 部分定义了各个代理分组的信息,包括分组名称、选择策略、所包含的代理服务器等。通过配置代理分组,可以实现负载均衡、故障转移等功能。

Q: Clash 配置文件中 rule-providerrules 部分的作用是什么?

A: rule-provider 部分定义了各个规则提供者的信息,包括名称、数据源 URL、规则更新间隔等。规则提供者可以为 Clash 提供预定义的规则集,用于实现更精细的流量控制。rules 部分定义了各个流量控制规则的信息,包括规则表达式、所属的规则提供者、匹配的代理分组等。通过配置规则,可以实现基于域名、IP 地址、关键词等的流量控制。

Q: Clash 配置文件中 dns 部分的作用是什么?

A: dns 部分定义了 Clash 的 DNS 服务器配置,包括使用的 DNS 服务器地址、DNS 缓存时间、域名解析策略等。通过配置 DNS,可以实现更快、更准确的域名解析。

Q: Clash 配置文件中 tproxycfw-spec 部分的作用是什么?

A: tproxy 部分定义了 Clash 的 TProxy 配置,用于实现透明代理功能。通过配置 TProxy,可以实现全局代理或者仅代理特定流量。cfw-spec 部分定义了 Clash for Windows 的特殊配置,用于实现一些 Windows 平台上的特殊功能。

正文完