qing
|
407ce3c366
|
feat(ca): 认证独立化 CA 模块 v1.0.0 + gateway v0.9.0 纯转发瘦身
拓扑:waf:443 → ca:8443(认证+前置转发)→ gateway:8445(仅 loopback 纯转发),
WAF upstream 不变,core/dnfs2/前端零改动。
ca v1.0.0(新模块):
- 认证资产逐字搬迁自 gateway v0.8.0(9 条认证路由、Token 双轨吊销、
PBKDF2、限流、WS 代理鉴权、wrapperHttp、优雅关闭)
- handleForward 前置转发层:固定上游 gateway:8445;无 Target-Url 公开直转,
有则本地验签后注入 X-Auth-User/X-Auth-Admin/Authorization(strip-then-set)
- is_special_header 新增剥离 x-auth-user/x-auth-admin;上游不可达统一 502
- confs/configs/ca.ini 新增([Upstream] gateway + UPSTREAM_GATEWAY env)
gateway v0.9.0(2470→约 560 行):
- 删除全部认证代码,退居 127.0.0.1:8445
- 启动 loopback 强制自检(非 loopback 拒绝启动)
- X-Auth-User 存在性不变量:显式 Target-Url 无该头一律 401
- gateway.ini 精简至 [Server]/[Proxy]/[Downstream db]
验收:黑盒 34 断言对 8443 原样全绿(32 passed/2 skipped,与基线一致);
探针实测伪造 X-Auth-User 经 CA 被剥离(echo 实证)、直连 8445 无头 401、
白名单外 403、gateway 宕机 CA 502。core/init.txt 加入 ca/_run.sh。
|
2026-08-09 12:15:35 +00:00 |
|
qing
|
546394b681
|
feat: captcha C++20 重写 + 安全审计修复 (P0/P1/P2/P3, 10/11 已修复)
captcha2 — C++20 验证码服务(FreeType + stb_image_write):
- 完整实现: 图片生成、CaptchaStore、RateLimiter、pymsg RPC 路由
- 协议完全兼容 Python 原版,gateway 零改动
审计修复 (captcha2_SECURITY_AUDIT_20260809.md):
- P0-1: 存储答案小写化 (对齐 Python 版语义)
- P1-1: gateway 按 IP 限流 10/min + captcha2 全局限流 600/min 兜底
- P2-1: generate_text mt19937 → std::random_device
- P2-2: ::tolower UB → unsigned char lambda
- P3-1: parse_int 辅助函数, stoi 异常可诊断
- P3-2: 显式 #include <iomanip>
- P3-3: 补齐 CAPTCHA_LEN/TTL/RATE_LIMIT 环境变量
- P3-4: LogC 日志超时 5.0→1.0s
- P3-5: 限流/满容抛异常, gateway 映射 429/503
- P3-6: 清理死代码
集成:
- core/init.txt: captcha → captcha2
- confs configs/captcha.ini: 新增 max_store/rate_limit_per_min
- docs: 开发方案、安全审计报告、交叉引用更新
|
2026-08-09 04:26:09 +00:00 |
|
qing
|
eab58b61f3
|
更新安装列表和自启动列表
|
2026-08-08 16:08:48 +08:00 |
|
qing
|
f93ae59521
|
feat: 切换 dnfs 到 dnfs2 启动与安装配置
|
2026-08-08 13:24:30 +08:00 |
|
qing
|
df39e5d006
|
迁移db到db2
|
2026-08-07 13:43:55 +08:00 |
|
qing
|
45db2f780b
|
refix core initialize list
|
2026-08-02 12:56:14 +08:00 |
|
qing
|
55fbe2f1f1
|
feat(confs): 统一配置服务(pymsg/TCP :8010)
- confs.py 重写为统一配置服务:get/list/reload/health 路由,
内存缓存 + mtime 自动重载,路径遍历防护,ini/json 按键提取
- 复制 log_client.py,新增 configs/example.ini 示例配置
- 注册到 core/init.txt(db 之后启动)与 _inst.sh 安装序列
|
2026-08-01 02:15:04 +08:00 |
|
qing
|
3501168f45
|
inst aibo
|
2026-07-27 22:03:50 +08:00 |
|
shufeng2012
|
957981c2c3
|
🍱 更新脚本
|
2026-07-26 20:57:04 +08:00 |
|
qing
|
2da504cdc4
|
自启动脚本的顺序修改,db在最前面
|
2026-07-25 21:10:51 +08:00 |
|
qing
|
12173b179d
|
jialiao
|
2026-07-25 17:36:14 +08:00 |
|
qing
|
202f2804b2
|
增加waf模块
|
2026-07-25 01:27:08 +08:00 |
|
qing
|
fbccc5d909
|
网友修改版
|
2026-07-25 00:21:16 +08:00 |
|
shufeng2012
|
468d420746
|
解决冲突(这啥呀*2)
|
2026-07-24 15:00:34 +08:00 |
|
shufeng2012
|
80d20f5015
|
解决冲突(这啥呀)
|
2026-07-24 14:46:26 +08:00 |
|
shufeng2012
|
dc5dc864c3
|
OK
|
2026-07-24 12:43:24 +08:00 |
|
shufeng2012
|
cc08d171c6
|
refix
|
2026-07-24 07:05:46 +08:00 |
|
qing
|
f8ecd18561
|
^-^
|
2026-07-23 10:16:41 +08:00 |
|
qing
|
caf2359e5f
|
增加dnfs后续
|
2026-07-22 10:15:35 +08:00 |
|
qing
|
396519d0bb
|
配置微调
|
2026-07-20 20:19:24 +08:00 |
|
qing
|
70d467d052
|
init
|
2026-07-20 11:12:29 +08:00 |
|