MCPcopy Create free account
hub / github.com/0xUnixIO/pulse / ConfigHasher

Function ConfigHasher

internal/nodeagent/dispatch.go:285–297  ·  view source on GitHub ↗

── ConfigHasher ───────────────────────────────────────────────── ConfigHasher 返回一个函数,给 DefaultHelloProvider 使用。 hash 由当前 xray 配置中的"用户列表 + inbound 倍率"规范化后 SHA256 得到, 仅在影响下发的关键字段变化时改变(用户增删、UUID/secret 变化、启用状态变化、 inbound 倍率变化),server 端可据此判断是否需要重下发配置。 算法实现位于 internal/nodes/confighash 共享包,与 server 侧保持字

(api *nodeapi.API)

Source from the content-addressed store, hash-verified

283//
284// 算法实现位于 internal/nodes/confighash 共享包,与 server 侧保持字节一致。
285func ConfigHasher(api *nodeapi.API) func() string {
286 return func() string {
287 if api == nil {
288 return ""
289 }
290 raw := api.DoConfig()
291 cfgStr, _ := raw["config"].(string)
292 if cfgStr == "" {
293 return ""
294 }
295 return confighash.HashFromXrayJSON(cfgStr)
296 }
297}

Callers 4

RunFunction · 0.92

Calls 2

HashFromXrayJSONFunction · 0.92
DoConfigMethod · 0.80

Tested by 3