Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Params

全局自定义参数,供模板通过 p 面访问。在 params.yaml 中定义,也可放在 thurgio.yamlparams 顶级节(两者合并)。

值可以是任意 YAML 结构(标量、映射、列表),模板中按路径访问:

# params.yaml
mixed-port: true
dns:
  enable: true
  mode: fake-ip
format: json
test:
  interval: 60
  url: https://cp.cloudflare.com/generate_204
mixed-port: {{ p["mixed-port"] }}
dns-mode: {{ p.dns.mode }}
interval: {{ p.test.interval }}

参数面:p 与 hp 的分离

模板中有两个独立的参数面(ADR-081):

来源可变性
p.*配置:params.yaml + /app/admin/p 端点热更新进程生命周期内持久
hp.*本次 HTTP 请求的查询参数(YAML 解析、点分键嵌套)单次请求

HTTP 请求的查询参数不会覆盖 p 中的同名值——订阅方无法篡改你的配置参数;需要请求级差异时在模板中显式消费 hp

热更新

Admin 令牌请求 /app/admin/p?key=value 会把查询参数深度合并进内存中的 params(点分键写入嵌套结构),立即对后续渲染生效,不写回配置文件:

curl "http://localhost:10100/app/admin/p?test.interval=120&token=ADMIN_TOKEN"

example

见上方 YAML 示例;完整参数面语义(解析规则、100 个上限等)见 API 参考