fix: harden security and tune task performance

This commit is contained in:
liumangmang
2026-06-10 20:42:17 +08:00
parent 42214b33e3
commit 409c5a81e4
16 changed files with 302 additions and 95 deletions
+20
View File
@@ -83,6 +83,26 @@ http://localhost:18088
`GET /api/settings` 不会回显 `openaiApiKey``svnPassword` 明文,前端通过 `openaiApiKeyConfigured``svnCredentialsConfigured` 展示配置状态。
## 安全与兼容配置
- SVN 密码加密密钥不再写死在源码中:
- 默认生成到 `outputs/.svn-log-tool.key`
- 可用 `SVN_LOG_TOOL_CRYPTO_KEY``-Dsvnlog.crypto.key=...` 指定 Base64 AES 密钥
- 可用 `SVN_LOG_TOOL_CRYPTO_KEY_FILE``-Dsvnlog.crypto.keyFile=...` 指定密钥文件
- 旧版本固定密钥加密的历史配置需要先用显式密钥启动并重新保存配置完成迁移
- HTTPS/SVN 默认只启用 TLS 1.2,并保留系统默认的证书校验。
- 如必须连接旧内网 SVN,可显式启用兼容开关:
- `SVN_LOG_TOOL_ALLOW_LEGACY_TLS=true``-Dsvnlog.svn.allowLegacyTls=true`
- `SVN_LOG_TOOL_ALLOW_INSECURE_SSL=true``-Dsvnlog.svn.allowInsecureSsl=true`
- 异步任务线程数可配置:
- `SVN_LOG_TOOL_TASK_THREADS=16``-Dsvnlog.task.threads=16`
- 未配置时默认取 `max(8, CPU核数*2)`
## 前端构建配置
- `VITE_API_BASE_URL`:覆盖前端 API Base URL,默认使用同源 `/api`
- `VITE_DASHBOARD_POLL_INTERVAL_MS`:工作台轮询间隔,默认 `8000`,最小 `3000`
## SVN 预设来源与调用方式
- SVN 地址统一维护在 `application.properties``svn.presets[*]` 中。