docs(official-sync): 推荐环境变量配置代理并同步凭据处理说明

- official-resource-test-pull.md §0.1:新增"带凭据代理优先用 HTTPS_PROXY 环境
  变量"推荐(含 systemd EnvironmentFile 0600 用法),补充凭据处理说明——日志/
  status 脱敏、经 ALL_PROXY 环境变量传 curl、daemon 经环境变量下传、bat-proxy.secret
  复用与 clean-stable 清除;修正旧表述"代理参数写入后台子进程启动参数"。
- official-resource-backend.md 第 13 条:把"仅日志脱敏"扩写为全链路凭据不落
  世界可读位置。
- CURRENT_STATUS.md 第 7 条:同步上述凭据处理描述。
- deployments/systemd/official-sync.env.example:新增注释版 HTTPS_PROXY/NO_PROXY
  示例,并提示含凭据时按 0600 安装。
- CHANGELOG:新增"修复"(Unity 版本数值比较)与"安全"(代理凭据不落世界可读
  位置)条目。

对应 issue #18 维护清单 1-1 / 1-2。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 06:58:11 -07:00
co-authored by Claude Fable 5
parent 565fd317de
commit 4c123b9560
5 changed files with 31 additions and 4 deletions
+14 -2
View File
@@ -53,7 +53,15 @@ target/release/bat \
`bat` 默认会自动读取当前进程环境中的 curl 代理变量:`HTTPS_PROXY``https_proxy``ALL_PROXY``all_proxy``HTTP_PROXY``http_proxy`,并保留 `NO_PROXY` / `no_proxy`。同步开始时会输出一条 `proxy` 进度日志;`bat doctor` 也会显示当前代理解析结果。
手动指定本地代理
**推荐:带凭据的代理优先用环境变量。** 如果代理 URL 里含有用户名/密码,优先通过标准代理环境变量配置,而不是命令行参数
```bash
HTTPS_PROXY=http://user:pass@127.0.0.1:7890 target/release/bat --auto-discover
```
生产环境用 systemd 时,把该变量写进 `EnvironmentFile=`(建议 `0600`),凭据就不会进入 shell 历史、`ps`、进程 argv 或任何状态文件。这是配置带凭据代理最简单也最安全的方式。
也可以用 `--proxy` 参数手动指定(无凭据的本地代理用这个最方便):
```bash
target/release/bat \
@@ -75,7 +83,11 @@ target/release/bat \
target/release/bat doctor --proxy http://127.0.0.1:7890
```
`--proxy auto` 会恢复默认环境变量自动检测;`--proxy none``--proxy direct``--proxy off``--proxy disabled` 等价于 `--no-proxy`如果用 `--daemon` 启动并显式传入代理参数,该参数会写入后台子进程启动参数,后续 `restart` / `reload` 复用同一配置。代理只影响 curl 传输层,资源 URL 仍必须是官方域名;不要把代理配置成镜像、转写或非官方资源来源。
`--proxy auto` 会恢复默认环境变量自动检测;`--proxy none``--proxy direct``--proxy off``--proxy disabled` 等价于 `--no-proxy`
**凭据处理**:无论用环境变量还是 `--proxy` 参数,代理凭据都不会以明文出现在世界可读的位置——日志和 `status` 输出中会脱敏;传给 curl 子进程时经 `ALL_PROXY` 环境变量而非 `--proxy` 参数,因此不落 curl 的 `/proc/<pid>/cmdline``--daemon` 模式下代理凭据经环境变量下传后台子进程,不进入子进程 argv 或 `bat-status.json`,复用所需的凭据单独存于后台状态目录下的 `bat-proxy.secret``0600`),`clean-stable` 会在后台停止后清除它。后续 `restart` / `reload` 会复用同一代理配置;若该凭据文件已被清除,复用型 `restart` 会明确报错要求重新传入代理。
代理只影响 curl 传输层,资源 URL 仍必须是官方域名;不要把代理配置成镜像、转写或非官方资源来源。
## 1. 当前流程