功能介绍
覆写配置(Override)

覆写文件(Override)

覆写文件(Override)允许用户修改配置文件的部分字段,常用于修改托管、订阅的配置的内容。覆写文件允许有多个,为了便于单独控制开关和分享,覆写文件通常以功能点划分。

语法参考

  • 覆写文件使用 YAML 格式,后缀名为 stoverride
  • 通常地,使用 namedesc 字段作为覆写文件的名称和描述;
  • 覆写文件对配置文件的修改,采用如下规则:
    • 对于简单类型的同名 key,例如 string、number、boolean,会直接覆盖;
    • 对于字典类型的同名 key,采用递归按 key 合并;
    • 对于数组类型的同名 key,采用覆写文件的数组会插入在配置文件数组的前面。
⚠️

暂时不支持修改数组中的元素,后续会提供其他语法进行修改。

下面是一个完整的覆写文件示例,作者 VirgilClyne:

#SUBSCRIBED https://raw.githubusercontent.com/VirgilClyne/iRingo/main/stoverride/Weather.stoverride
name:  iRingo for Apple Weather
desc: (V3) 1.解锁全部天气数据类型 2.替换空气质量数据:WAQI 3.添加下一小时降水:气象在线 4.替换空气质量地图数据:WAQI
 
http:
  mitm:
    - 'weather-data.apple.com'
    - 'weather-map.apple.com'
  script:
    - match: ^https?:\/\/weather-data\.apple\.com\/(v1|v2)\/availability\/.*
      name: Apple_Weather_Availability
      type: response
      require-body: true
      timeout: 10
    - match: ^https?:\/\/weather-data\.apple\.com\/(v1|v2)\/weather\/.*
      name: Apple_Weather
      type: response
      require-body: true
      timeout: 20
    - match: ^https?:\/\/weather-map\.apple\.com\/(v1|v2)\/mapOverlay\/.*(\?.*country=CN.*)
      name: Apple_Weather_Map
      type: request
      require-body: false
      timeout: 10
 
script-providers:
  Apple_Weather_Availability:
    url: https://raw.githubusercontent.com/VirgilClyne/iRingo/main/js/Weather.Availability.js
    interval: 86400
  Apple_Weather:
    url: https://raw.githubusercontent.com/VirgilClyne/iRingo/main/js/Weather.js
    interval: 86400
  Apple_Weather_Map:
    url: https://raw.githubusercontent.com/VirgilClyne/iRingo/main/js/Weather.Map.js
    interval: 86400

下面为一个简单的合并实例:

# config.yaml
dict:
  k1: true
  k2: 1
  k3:
    - 1
    - 2
    - 3
# override file
key: value
dict:
  k3:
    - 0
  k4: null
# after override
key: value
dict:
  k1: true
  k2: 1
  k3:
    - 0
    - 1
    - 2
    - 3
  k4: null

覆写集合(Override Hub)

Stash 内置了一个覆写文件的列表,用户可以在 Stash App 内浏览并安装覆写文件。如果您也撰写了覆写文件并想与广大用户分享您的配置,欢迎修改 source.json 文件后提交 Pull Requests

⚠️

该列表由社群进行维护,不代表 Stash Network Limited 立场。用户在使用任何覆写文件前需认真审查其内容,恶意的覆写文件可能损坏你的设备,导致财产损失。

⚠️

如果你认为有任何不应该出现在该列表的内容,请与 [email protected] 联系。