qing
e007990594
feat(dnfs,static): 新增管理员特殊节点(链接/网页代码/图片/文件)
...
- 信封格式:content 为 {"_sp":...} JSON,普通 Markdown 节点不受影响
- dnfs:add_note/update_note 按 is_admin 强制特殊节点发布权(非管理员 403),
字段与大小校验(url≤2048、code≤512KB、base64≤3.5M 字符),AI 审核剔除 base64 负载
- dnfs:修复存量 bug —— 模块级 _sys.path.insert 未定义导致 import 即 NameError
- static:新增 GET /api/favicon 服务端代理(SSRF 防护:内网地址拦截 + 重定向校验 + 512KB 上限)
- 前端:管理员可见节点类型选择器;链接 favicon 卡片 / 网页可审计可运行 / 图片直显 / 文件下载
- theme.css 补充 select 与特殊节点样式;两个 README 同步更新
2026-08-01 04:34:23 +08:00
qing
4e190953c0
feat(confs): integrate dnfs service with centralized config management
...
- Add dnfs.ini to confs/configs/ with server, database, ai_review, confs sections
- Refactor dnfs.py to use three-layer fail-safe config loading (defaults → confs → env vars)
- Unify timeouts for DB RPC and AI review calls via configuration
- Add _merge_ini() whitelist merging to prevent unexpected config injection
- Environment variables have highest priority for Docker networking (db/ai_review hostnames)
- Document config loading mechanism in both confs/README.md and dnfs/README.md
Follows the same pattern as static service integration; confs failure falls back
gracefully to built-in defaults + environment variables.
2026-08-01 04:13:39 +08:00
qing
e7f435dc4e
refix
2026-07-31 21:07:41 +08:00
qing
ada2af47af
增加handle_exp包装器
2026-07-31 19:47:27 +08:00
qing
5839172dae
迁移/whoami视图
2026-07-30 22:05:12 +08:00
qing
3f97dd92ef
update
2026-07-30 21:57:04 +08:00
qing
6649b31e17
feat(static): add frontend token auto-refresh for dnfs page
...
- New token_manager.js: silent refresh timer (80% lifetime) + global
fetch 401 interceptor with one-shot retry.
- dnfs.py /whoami now returns iat, created_at, keep_time for expiry
estimation.
- Dnfs.html loads token_manager.js before dnfs.js (zero change to dnfs.js).
- Graceful fallback: stale tokens without new fields, refresh failures,
and /refresh_token 401 itself all degrade to the existing 401→login flow.
2026-07-30 12:25:11 +08:00
qing
8c1956cdeb
feat(dnfs): 左上角用户信息面板(默认折叠),新增 /whoami 身份接口
...
dnfs 新增 POST /whoami:解 Token payload 返回 user/is_admin,无或畸形
Token 返回 login=false(HttpOnly Cookie 模式下 JS 无法读 Token,身份
必须由后端下发);static 加 /whoami 代理(Cookie 转 Bearer);前端
dnfs.html 左上新增 userpanel,镜像 minimap 样式默认折叠,展开显示
用户名/角色/退出登录(POST /logout 清 Cookie 后跳登录页)。
2026-07-30 09:31:28 +08:00
qing
b4e1cf462a
feat(dnfs): get_notes 按当前用户注入 can_operate,前端按权显隐编辑/删除按钮
...
dnfs get_notes 可选解析 Authorization(畸形 Token try 兜底),为每个节点
附带 can_operate 标记(is_admin 或 owner,口径与 delete/update 一致);
dnfs.js 卡片编辑/删除按钮仅 can_operate === true 时渲染,未登录或无权隐藏。
2026-07-30 09:17:28 +08:00
qing
46c3a197be
refactor(auth): 管理员判定上移至 gateway,经 Token payload 下发 is_admin
...
gateway 登录签发 Token 时,账号命中 [Admin] users 白名单即在 payload
写入 is_admin=true(随 RSA 签名保护);dnfs 移除本地 ADMIN_USERS 硬编码,
delete_note/update_note 豁免判断改读 payload 的 is_admin 字段。
旧 Token 无此字段按非管理员处理(安全方向)。
2026-07-30 09:08:33 +08:00
qing
e9f9860fe1
fix(dnfs): review_content 兼容布尔/字符串审核结果,修复安全内容误拦
...
仅明确判定安全(布尔 false 或字符串 "false")才放行,其余一律拦截,
保持 fail-closed;同时消除 invalid 字段缺失时的 KeyError。
2026-07-30 08:38:14 +08:00
qing
751866d9c1
refix
2026-07-29 11:52:46 +08:00
qing
ace98caff6
feat: 卡片编辑/删除按钮 + dnfs 管理员豁免
...
- dnfs.js: 卡片底部新增编辑/删除按钮,复用下方表单支持编辑模式
(startEdit/cancelEdit/updateNode/deleteChild),stopPropagation 防误触
- theme.css: 新增 card-actions/act-btn 按钮样式,编辑橙色/删除红色软底
- dnfs.py: ADMIN_USERS 统一管理豁免名单(admin, admin@qsont.me ),
update_note 新增管理员豁免,delete_note 同步改用名单
- dnfs/README.md: 同步更新所有权豁免说明
2026-07-29 11:22:30 +08:00
qing
13f3eb8f88
DEV
2026-07-27 21:43:56 +08:00
qing
1a39e87c8c
更新pymsg
2026-07-26 21:04:42 +08:00
qing
8ec42df779
初步开发了新的pymsg,并且应用在了dnfs上面
2026-07-26 17:57:27 +08:00
qing
013e130a08
logs in db develop
2026-07-25 21:01:46 +08:00
qing
17c22a8cd3
管理员也不能更新别人的节点
2026-07-25 14:25:06 +08:00
qing
3e9ff99eaa
只能更新自己的节点
2026-07-25 14:24:36 +08:00
qing
efbe2b36f3
节点所有权
2026-07-25 14:20:08 +08:00
qing
c028e46d00
fixbug
2026-07-25 11:15:42 +08:00
qing
fbccc5d909
网友修改版
2026-07-25 00:21:16 +08:00
shufeng2012
5fe2e2ed65
refix
2026-07-24 16:50:15 +08:00
shufeng2012
f1201c692b
prepare fix bug
2026-07-24 16:42:08 +08:00
shufeng2012
cd7293b791
dnfs server calling ai_review
2026-07-24 15:47:25 +08:00
shufeng2012
468d420746
解决冲突(这啥呀*2)
2026-07-24 15:00:34 +08:00
shufeng2012
80d20f5015
解决冲突(这啥呀)
2026-07-24 14:46:26 +08:00
shufeng2012
b431aba35d
refix
2026-07-24 12:03:33 +08:00
shufeng2012
a6ff35260b
使用db服务
2026-07-24 10:02:46 +08:00
shufeng2012
7bb0124bbe
有子节点不可删除
2026-07-24 08:54:22 +08:00
qing
5edb6ad0a4
dnfs不再托管本地前端
2026-07-23 09:20:04 +08:00
qing
6db8c9b413
dnf
2026-07-21 10:10:06 +08:00