Files
webui4frpc/packaging/common/config.json
JianFeeeee ee46b758fa feat(packaging): 单元与安装包改为配置文件启动,口令不再写入 ExecStart
所有交付形态统一成「只传 -config」,凭据留在配置文件 / secrets 文件里。

- systemd 单元:ExecStart 改为 `-config /etc/webui4frpc/config.json`,
  EnvironmentFile 加 `-` 前缀变成可选;新增 ReadOnlyPaths=-/etc/webui4frpc/secret。
- 新增 packaging/common/config.json 示例:口令默认用
  file:/etc/webui4frpc/secret/password 引用,内嵌以 "_" 开头的说明键。
- webui4frpc.env 瘦身为可选环境变量(${VAR} 取值来源),不再承载明文口令。
- deb/rpm:安装 config.json 与 0750 的 secret 目录,config.json 进 conffiles,
  安装后提示改成「设置 password 文件」。
- release.sh 的分发单元模板同步改 -config;tar.gz 附 config.json.example。
- macOS pkg:写 config.json + secret/password,launch 包装脚本只传 -config。
- Windows NSIS:安装时把口令写进 secret-password.txt(icacls 限制为
  SYSTEM/Administrators),生成 data/config.json 用 file: 引用,启动脚本只传
  -config;顺带按 JSON 规则转义 addr/user。makensis 实测可编译通过。
2026-10-23 09:12:30 +08:00

28 lines
1.1 KiB
JSON

{
"_comment": [
"webui4frpc startup config. Every field is optional; the effective",
"precedence is: command-line flag > this file > built-in default.",
"",
"Password handling (pick ONE, do not put a literal password here):",
" \"password\": \"file:/etc/webui4frpc/secret/password\" first line of a 0640 root:webui4frpc file",
" \"password\": \"${W4F_PASSWORD}\" from the environment (unset => refuses to start)",
"",
"Unknown keys are a hard error, so a typo cannot silently fall back to the",
"built-in default credentials. The file may be absent (pure-flag mode)."
],
"addr": "0.0.0.0:7500",
"user": "admin",
"password": "file:/etc/webui4frpc/secret/password",
"workdir": "/var/lib/webui4frpc",
"_optional": [
"bin - initial frpc binary path, seeded into settings on first start",
"frpc - fallback worker frpc path when settings has none",
"peers - cluster peer host:port list (same as repeating -peer)",
"join_key- cluster admission key = sponsor node's nodeKey (or ${W4F_JOIN_KEY})"
],
"frpc": "",
"peers": [],
"join_key": ""
}