Clash Meta的配置文件结构如下

clash-meta:
  # 元数据存储配置
  storage:
    # 存储路径
    path: /path/to/meta-data
    # 文件名模式,支持占位符,如{bucket}和{key}
    file-pattern: '{bucket}_[{key}]'
    # 分区配置
    partitions:
      - name: partition-
        # 分区存储路径
        path: /path/to/partition-
        # 每个分区的块大小,单位为字节,默认为MB
        block-size: 256M
    # 元数据块大小,默认为MB
    meta-block-size: 64M
    # 元数据索引大小,默认为MB
    index-block-size: 64M
  # 存储策略
  storage-strategy:
    # 元数据的最大缓存时间,单位为秒,默认为无限
    max-cache-time: 86400
    # 元数据的最大缓存容量,单位为字节,默认为无限
    max-cache-size: 4294967296
    # 单个元数据的最大缓存数量,默认为无限
    max-num-cached-entries: -1
    # 清理策略,定期清理旧的元数据
    cleanup-strategy: "periodic"
    # 清理定期时间,单位为秒,默认为(按配置文件修改)
    cleanup-period: 86400
    # 清理保留最多最近的元数据数量
    cleanup-keep-last: 100
  # 读写控制
  read-write-control:
    # 单个元数据的并发读写限制,单位为字节/秒,默认为无限
    rw-limit: 0
    # 延迟控制,限制延迟时间,默认为
    delay: 0
    # 网络错误重试次数,默认为3次
    retry: 3
    # 网络连接超时时间,默认为5秒
    connect-timeout: 5
    # 读取超时时间,默认为5秒
    read-timeout: 5
    # 写入超时时间,默认为5秒
    write-timeout: 5
  # 索引配置
  index:
    # 索引类型,默认为"prefix"
    index-type: "prefix"
    # 索引存储路径,默认为与存储路径相同
    index-path: /path/to/meta-data/indexes
    # 索引的块大小,默认为MB
    index-block-size: 64M
    # 索引的文件名模式,支持占位符,默认为"{index}_{file}"
    index-file-pattern: "{index}_{file}"
    # 索引的最大缓存容量,默认为无限
    index-max-cache-size: 4294967296
    # 索引的最大缓存时间,默认为无限
    index-max-cache-time: 86400
  # 后台处理
  background:
    # 后台清理策略,默认为"periodic"
    cleanup-strategy: "periodic"
    # 后台清理的时间间隔,默认为(按配置文件修改)
    cleanup-period: 86400
    # 后台任务执行时间间隔,默认为60秒
    task-period: 60
  # 访问控制
  access-control:
    # 是否启用权限控制,默认为false
    enabled: false
    # 配置访问策略,示例中的规则说明允许特定用户访问特定元数据
    access-strategy:
      - name: "read-only"
        pattern: "^/read-only"
        permissions: "read"
      - name: "admin"
        pattern: "^/admin"
        permissions: "full"
  # 监控和日志记录
  monitoring:
    # 是否启用监控,默认为false
    enabled: false
    # 监控目标,示例中的配置表示监控存储路径下的文件
    monitor-targets:
      - path: /path/to/meta-data
        pattern: ".*.meta"
        interval: 60
    # 日志记录级别,默认为"debug"
    log-level: "debug"
  # 扩展插件
  extensions:
    - name: "custom-plugin"
      path: "/path/to/custom-plugin.so"
      # 插件的初始化参数
      init-params:
        - name: "param1"
          value: "value1"

配置说明

  1. 存储配置:

    • path:指定元数据的存储路径。
    • file-pattern:定义文件的命名模式,支持使用占位符 {bucket} 和 {key}。
    • partitions:定义分区,支持多个分区,提高存储管理效率。
    • block-size:定义分区和索引的块大小,影响存储效率和读写速度。
    • meta-block-size和index-block-size:分别定义元数据块和索引块的大小。
  2. 存储策略:

    • max-cache-time和max-cache-size:控制元数据的缓存时间和容量,防止内存和磁盘资源耗尽。
    • cleanup-strategy:定义后台清理策略,periodic表示按时间间隔清理。
    • cleanup-period:清理的时间间隔,``表示按配置文件修改。
    • cleanup-keep-last:保留最近的元数据数量,避免清理过度。
  3. 读写控制:

    • rw-limit:限制单个元数据的并发读写速度。
    • delay:控制延迟,防止过多请求导致系统瓶颈。
    • retry:网络错误重试次数,提升连接稳定性。
    • connect-timeout、read-timeout、write-timeout:控制网络和IO操作的超时时间。
  4. 索引配置:

    • index-type:选择索引类型,如prefix或hash。
    • index-path:指定索引的存储路径。
    • index-file-pattern:定义索引文件的命名模式。
  5. 后台处理:

    • cleanup-strategy:定义后台清理策略。
    • task-period:后台任务执行的时间间隔,用于定期清理和维护。
  6. 访问控制:

    • enabled:是否启用权限控制。
    • access-strategy:定义访问规则,允许特定用户或路径访问特定元数据。
  7. 监控和日志记录:

    • monitoring:是否启用监控功能,监控目标文件路径和模式。
    • log-level:设置日志记录级别,debug、info、warning、error、critical。
  8. 扩展插件:

    允许添加自定义插件,扩展系统功能,例如加密或压缩。

示例配置

clash-meta:
  storage:
    path: /var/meta
    file-pattern: '{bucket}_[{key}]'
    partitions:
      - name: partition-
        path: /var/meta/partition-
        block-size: 1G
  storage-strategy:
    max-cache-time: 86400
    max-cache-size: 1073741824
    max-num-cached-entries: 100
    cleanup-strategy: "periodic"
    cleanup-period: 86400
    cleanup-keep-last: 500
  read-write-control:
    rw-limit: 0
    delay: 0
    retry: 3
    connect-timeout: 5
    read-timeout: 5
    write-timeout: 5
  index:
    index-type: "prefix"
    index-path: /var/meta/indexes
    index-block-size: 64M
    index-file-pattern: "{index}_{file}"
  background:
    cleanup-strategy: "periodic"
    cleanup-period: 86400
    task-period: 60
  access-control:
    enabled: true
    access-strategy:
      - name: "read-only"
        pattern: "^/read-only"
        permissions: "read"
      - name: "admin"
        pattern: "^/admin"
        permissions: "full"
  monitoring:
    enabled: true
    monitor-targets:
      - path: /var/meta
        pattern: ".*.meta"
        interval: 60
    log-level: "debug"
  extensions:
    - name: "custom-plugin"
      path: "/path/to/custom-plugin.so"
      init-params:
        - name: "param1"
          value: "value1"

注意事项

  • 占位符使用:确保在配置文件中,占

Clash Meta的配置文件结构如下

@版权声明

转载原创文章请注明转载自原子VPN|多平台网络连接与线路优化工具,支持节点切换、网络测速及电脑手机端使用,满足不同网络环境下的连接需求,网站地址:https://yuanziapp.com.cn/