Files
Scoreboard/config.yaml
T
AskaEth 2c9ff65fc4 feat: 补齐第一批已知缺口(关闭握手 / 定时备份 / Origin 白名单 / DTO 收敛)
- httpapi:新增 POST /api/shutdown(admin 会话或 X-Shutdown-Token 常量时间比对)
  与 GET /api/rules/switches(recorder 可读,只回布尔开关);settings/standings 的
  重复 DTO 收敛到 internal/dto;standings.showIndividualMedals 贯通到设置读写与前端
- export:抽出 export.Service,新增自动备份定时任务(backup.intervalMinutes/keep),
  自动、手动、发布前三类备份共用同一把互斥锁与滚动清理
- realtime:/ws 去掉 InsecureSkipVerify,改用 OriginPatterns(同源与无 Origin 放行,
  跨站需命中 server.allowedOrigins)
- console:停止服务改走 POST /api/shutdown 优雅关闭(5 秒宽限后回退强杀),
  服务管理器新增「已连接的大屏实例」卡片
- deploy:build.bat 改用 for /f 读内部署名——set /p 在 chcp 65001 下返回空,
  导致最近这次构建的 exe 里根本没注入署名
- docs:备份策略、关闭超时、Origin 配置的说明与实现对齐
2026-09-09 21:41:08 +08:00

18 lines
584 B
YAML

# 服务端启动配置
server:
host: 0.0.0.0
port: 19540
# WebSocket 跨站 Origin 白名单(可选,path.Match 模式);同源与不带 Origin 的客户端始终放行
allowedOrigins: []
# 运行时数据目录(数据库 / 备份 / 上传资源)
dataDir: data
# 自动备份:按间隔把 system.db 与赛事库快照到 dataDir/backups
backup:
intervalMinutes: 5 # 备份间隔(分钟);<=0 关闭自动备份
keep: 20 # 每个库滚动保留的份数,超出的旧备份自动删除
log:
level: info # debug | info | warn | error