跳转至

代理集合

proxy-providers:
  provider1:
    type: http
    url: "http://test.com"
    path: ./proxy_providers/provider1.yaml
    interval: 3600
    proxy: DIRECT
    size-limit: 0
    age-secret-key: AGE-SECRET-KEY-1ZTQLLN0A4U3ZTT3DCZKYN0CGZEZQLWX2DFTXUWMT4ZHR0N2UG6LSW9NT0N
    header:
      User-Agent:
      - "mihomo/1.18.3"
      Authorization:
      - 'token 1231231'
      # X-Age-Public-Key:
      # - 'age1xh86kh9v23vattr58yedspm3f57sxvnswu9krr6ns438amekx5gsd09uma'
    health-check:
      enable: true
      url: https://www.gstatic.com/generate_204
      interval: 300
      timeout: 5000
      lazy: true
      expected-status: 204
    override:
      tfo: false
      mptcp: false
      udp: true
      udp-over-tcp: false
      down: "50 Mbps"
      up: "10 Mbps"
      skip-cert-verify: true
      dialer-proxy: proxy
      interface-name: tailscale0
      routing-mark: 233
      ip-version: ipv4-prefer
      additional-prefix: "provider1 prefix |"
      additional-suffix: "| provider1 suffix"
      proxy-name:
      - pattern: "IPLC-(.*?)倍"
        target: "iplc x $1"
    filter: "(?i)港|hk|hongkong|hong kong"
    exclude-filter: "xxx"
    exclude-type: "ss|http"
    payload:
      - name: "ss1"
        type: ss
        server: server
        port: 443
        cipher: chacha20-ietf-poly1305
        password: "password"

name

必须,如provider1,不能重复,建议不要和策略组名称重复

type

必须,provider类型,可选http / file / inline

url

类型为http是则需要配置

path

可选,文件路径,不可重复,不填写时会使用 url 的 MD5 作为此文件的文件名

由于安全问题,此路径将限制只允许在 HomeDir(有启动参数 -d 配置) 中,如果想存储到其他位置,请通过设置 SAFE_PATHS 环境变量指定额外的安全路径。该环境变量的语法同本操作系统的 PATH 环境变量解析规则(即 Windows 下以分号分割,其他系统下以冒号分割)

interval

更新provider的时间,单位为秒

proxy

经过指定代理进行下载/更新

size-limit

限制下载文件的最大大小,默认为 0 即不限制文件大小,单位为字节 (b)

age-secret-key

如果设置会age-secret-key尝试通过此secret解密age armor格式加密的配置文件

注意:

  • 对于加密内容,目前仅支持 age-encryption.org/v1 的 official ASCII "armor" format
  • 对于key格式,目前仅支持 age-encryption.org/v1 的 x25519 recipient type 和 The mlkem768-x25519 hybrid post-quantum recipient type
  • 目前核心不会主动将公钥发送给服务器,用户需要自行设置header里X-Age-Public-Key或者通过其他方式将公钥上传
  • 核心同样支持命令行参数-age-secret-keyCLASH_AGE_SECRET_KEY环境变量来加载加密配置文件

实用工具:

  • 您可以通过 mihomo age keygen 生成符合要求的 x25519 key
  • 您可以通过 mihomo age keygen-pq 生成符合要求的 mlkem768-x25519 key
  • 您可以通过 mihomo age convert <secret_key> 从 age-secret-key 导出 age-public-key
  • 您可以通过 mihomo age decrypt <secret_key> <source_file> <target_file> 将已加密文件解密, 为 - 时会从标准输入读取, 为 - 时会往标准输出写入
  • 您可以通过 mihomo age encrypt <public_key> <source_file> <target_file> 将未加密文件加密, 为 - 时会从标准输入读取, 为 - 时会往标准输出写入

参考实现:

自定义 http 请求头

health-check

健康检查 (延迟测试)

health-check.enable

是否启用,可选 true/false

health-check.url

健康检查地址,推荐使用以下地址之一

https://cp.cloudflare.com
https://www.gstatic.com/generate_204

health-check.interval

健康检查间隔时间,单位为秒

health-check.timeout

健康检查超时时间,单位为毫秒

health-check.lazy

懒惰状态,默认为true,不使用该集合节点时,不进行测试

health-check.expected-status

参阅 期望状态

override

覆写节点内容,以下为支持的字段

override.additional-prefix

为节点名称添加固定前缀

override.additional-suffix

为节点名称添加固定后缀

override.proxy-name

对节点名称内容进行替换,支持正则表达式,pattern 为替换内容,target 为替换目标

override.其余配置项

参阅通用字段 tfo

参阅通用字段 mptcp

参阅通用字段 udp

参阅Shadowsocks udp-over-tcp

参阅Hysteria/Hysteria2 up

参阅Hysteria/Hysteria2 down

参阅通用字段 skip-cert-verify

参阅通用字段 dialer-proxy

参阅通用字段 interface-name

参阅通用字段 routing-mark

参阅通用字段 ip-version

filter

筛选满足关键词或正则表达式的节点,可以使用 ` 区分多个正则表达式

exclude-filter

排除满足关键词或正则表达式的节点,可以使用 ` 区分多个正则表达式

exclude-type

不支持正则表达式,通过 | 分割,根据节点类型排除

provider 的 exclude-type 使用配置文件中的 type 类型进行排除

payload

内容,仅 typeinline 时生效

httpfile 解析失败时,也可以使用 payload 作为备用代理