Commit Graph
72 Commits
Author SHA1 Message Date
miaomiao 2b748fc48e fix: 工作台审计修复(终端流控/exit重生/无障碍/ARIA/cookie token/安全纵深)+ 前后端联调整合 2026-08-08 03:14:51 +08:00
miaomiao 717ebc44f4 feat: 工作台 VSCode 风格改造 + Web 终端(双侧栏/活动栏/xterm/dnd-kit/resizable-panels/终端 API) 2026-08-08 02:31:42 +08:00
miaomiao f2740afe50 fix: 密码箱弹窗改回前台 dialog-overlay 风格(深浅色适配,保留顶层渲染修复) 2026-08-08 00:36:08 +08:00
miaomiao d9d2ad3f7d fix: 密码箱设置 PIN 弹窗无反应(弹窗仅渲染于已解锁分支 → MUI Dialog 提升顶层渲染) 2026-08-07 23:27:49 +08:00
miaomiao 0ae8815f33 feat: 工作台记事本(浮窗↔固定侧边栏双形态/自动保存/文件管理器/实体文件存储)
- routes/notes.js CRUD + 文件名安全校验 + 实体 .txt 存储 workspace/
- NoteEditor 浮窗(可拖拽)↔固定(280px)切换,📌 工具栏入口
- 编辑器 900ms 防抖自动保存 + Ctrl+S + dirty 指示
- 文件管理器:新建/重命名/删除/空态/错误态
- server 挂载 /api/notes,gitignore workspace/
2026-08-07 22:38:10 +08:00
miaomiao 9400f76c7e fix: 工作台审查修复 - 短 TTL proxy token/沙箱剥离/加载提示/独立刷新/键盘导航/懒加载分包 2026-08-07 21:57:56 +08:00
miaomiao 03d5c97315 feat: 面板工作台模块(tools/workbench)- 浏览器式侧边栏/工具栏/iframe 管理/密码库抽屉
- Workbench 独立页(/admin/workbench,adminOnly 守卫,全屏布局,MUI 风格)
- 工具栏:历史栈/刷新/地址栏/搜索/添加/密码库/侧栏折叠/返回
- 侧边栏:分组+固定区+折叠+拖拽调宽+打开方式(内嵌/新标签/弹窗)
- PanelFrame:懒加载/保留切换/LRU(3)/15s 超时失败回退/proxy 模式
- VaultDrawer:PIN 解锁/搜索/详情复制/锁定(复用 passwords API)
- 后台顶栏「工作台」入口 + 路由注册;localStorage 持久化
2026-08-07 21:43:06 +08:00
miaomiao 2cb9592d56 v2.1.0: 版本号更新 2026-08-07 20:09:06 +08:00
miaomiao 8a08932d78 fix: 控件三态统一(forum-cat-item/chip/toggle 对齐 surface-container→surface-variant→primary-container 体系) 2026-08-07 20:04:44 +08:00
miaomiao b152a2a9c9 fix: 论坛分类按钮点击后深色背景丢失(基础态 surface-container 主题化底色) 2026-08-07 19:56:14 +08:00
miaomiao 4af71185d5 feat: Markdown Indigo 定制主题(文本级渲染/背景透明走磨砂玻璃/主题色变量/深浅色/okaidia 代码块) 2026-08-07 19:50:29 +08:00
miaomiao 6d60b10c14 fix: 论坛板块按钮深色模式白底(button UA 默认样清除,基础态透明) 2026-08-07 19:24:58 +08:00
miaomiao cf4c7d4ca4 fix: UI/无障碍审查修复(焦点可见/键盘可达/dialog 语义/对比度/触控目标等 B1-B10) 2026-08-07 16:13:01 +08:00
miaomiao 5acc461e88 fix: 壁纸下玻璃表面统一抬升可读性(--glass-bg 0.82/0.74,逐表面应用,壁纸间隙可见) 2026-08-07 16:00:30 +08:00
miaomiao 391cd1bdae fix: 删除壁纸下 .page 遮罩(保留卡片/页脚磨砂) 2026-08-07 15:48:24 +08:00
miaomiao 5b166ef0e2 fix: 壁纸下内容区统一磨砂背景(可读性修复,浅深色自适应) 2026-08-07 15:26:03 +08:00
miaomiao 4f89c63b28 feat: 壁纸开关(后台主题设置可启用/禁用壁纸) 2026-08-07 15:24:09 +08:00
miaomiao 7bfeffaaa0 feat: 目录侧边独立卡片(正文 720 居中不重叠)+ 锚点根治(HTML 生成时注入 h2 id) 2026-08-07 04:50:34 +08:00
miaomiao aff5764b9b fix: 目录悬浮定位修正(≥1500px 才显示,避免与正文重叠) 2026-08-07 04:32:09 +08:00
miaomiao bb830f779c feat: 目录独立悬浮卡片(右侧留白区,正文不缩宽;<1280px 隐藏) 2026-08-07 04:30:52 +08:00
miaomiao 63d329db5f fix: 修复详情页 TDZ 白屏(wordCount 重复声明清理) 2026-08-07 04:22:42 +08:00
miaomiao e83a4e6ee1 feat: 详情页侧边目录(仅 h2/500 字阈值)+ meta 间距修正 2026-08-07 04:19:18 +08:00
miaomiao 0153f770f6 revert: 移除博客列表页磨砂背景(保留详情页) 2026-08-07 04:16:09 +08:00
miaomiao 789a2d9b33 feat: 博客文章详情页磨砂玻璃背景(壁纸下可读性) 2026-08-07 04:14:29 +08:00
miaomiao 5a878c1aab feat: 博客页磨砂玻璃背景(壁纸下可读性) 2026-08-07 04:13:50 +08:00
miaomiao 5e4cdf26b9 feat: 页脚三样式统一磨砂玻璃(半透明+blur,浅深色自适应) 2026-08-07 04:12:43 +08:00
miaomiao 2faace4810 fix: 登录/注册页改回完全透明(透壁纸) 2026-08-07 04:08:01 +08:00
miaomiao 45002b809a feat: 登录/注册页磨砂玻璃背景(半透明+blur,浅深色自适应) 2026-08-07 04:06:34 +08:00
miaomiao 1b62bf99ce fix: 登录/注册页去掉深色遮罩背景(透出壁纸,保留居中) 2026-08-07 04:05:45 +08:00
miaomiao 6fafa6eb00 fix: 注册弹窗与登录一致(flex 居中+背景遮罩);页脚背景透明(壁纸透出) 2026-08-07 04:00:04 +08:00
miaomiao 6649eba777 v2.0.3: 版本号更新 2026-08-07 03:24:05 +08:00
miaomiao 6aedc5f632 fix: 页脚分隔点去文本化(sep 纯发光圆点,去掉 JSX 里的 '·' 字符) 2026-08-07 03:22:56 +08:00
miaomiao ed82908a0d fix: 版权文本去掉多余分隔点(保留发光圆点分隔) 2026-08-07 03:18:00 +08:00
miaomiao 274291f8fe feat: 页脚微调 - 发光分隔点 + Powered 改中文带 Gitea 链接(RainWeb Engine) 2026-08-07 03:17:00 +08:00
miaomiao 588df32306 feat: 炫酷 Powered by 徽章(流光渐变/描边/扫光动画) 2026-08-07 03:14:27 +08:00
miaomiao 3c98084909 feat: 炫酷版权提示 - 霓虹发光胶囊(呼吸光晕/渐变文字/模糊底,浅深色自适应) 2026-08-07 03:11:18 +08:00
miaomiao 1c0339bae1 docs: 移除页脚 HTML 支持提示文案(后台即管理员无需说明) 2026-08-07 03:06:31 +08:00
miaomiao 651bbbb22e docs: 页脚 HTML 提示文案澄清(效果所有人可见,仅管理员可编辑) 2026-08-07 03:05:52 +08:00
miaomiao 36be795af5 fix: 前台页脚落于视口外(.page min-height 撑满视口剩余,滚动才见页脚) 2026-08-07 02:32:28 +08:00
miaomiao 632d19f49e feat: 后台评论管理 + 评论设置开关 + 技术债清理
- 后台评论管理页(待审核 Tab + 通过/拒绝),侧栏入口
- 站点设置加评论审核模式/评论邮件通知开关
- Material Icons 自托管(本地 woff2)+ ssr 图标修复
- /admin* 路由收紧为显式两条
- 删除死代码 routes/links.js
- 密码箱改 PIN 增加数据丢失警告确认
2026-08-07 02:14:07 +08:00
miaomiao 3cf560f932 feat: 博客功能前台 - 搜索/标签云/标签页/归档/详情增强/嵌套评论
- Blog 列表: 搜索框 + 标签云 + 归档入口
- 新路由: /tag/:name、/archive.html
- 详情: views/字数/标签 chips/点赞(乐观更新)/前后篇/可折叠 TOC
- 嵌套评论任意层级递归渲染 + 回复预填; Write 加 tags 输入
2026-08-07 02:06:01 +08:00
miaomiao ad8883cc61 feat: 博客功能后端 - 搜索/RSS/标签/归档/views/点赞/评论增强/备份
- migrateSchema v2: tags/views/parent_id/status 列 + post_likes 表
- 接口: search/tags/tag/archive/prevnext/点赞三连/评论审核三连/feed.xml
- 评论: 嵌套回复/审核模式(comment_moderate)/限流/邮件通知(comment_notify)
- cli backup 命令 + status 显示最近备份;backups/ 入 gitignore
- ssr blogSSR 阅读量计数;settings 白名单补新键
2026-08-07 01:57:01 +08:00
miaomiao f8d495b128 feat: 页脚文案支持 HTML/CSS 渲染(仅管理员字段,self-XSS 与音乐嵌入同级) 2026-08-07 01:47:12 +08:00
miaomiao c2ca0f2327 feat: 页脚三样式(经典/分栏/玻璃)+ 后台样式编辑卡 + 博客页首屏修复
- Footer.jsx 按 footer_style 渲染三变体(含 Powered by RainnyaWeb + 版权)
- 后台站点设置页脚卡:样式选择 + 按样式显示可编辑字段(分栏导航固定不可编辑)
- db 默认值 footer_style/copyright/powered/desc;settings 白名单接入
- 博客页移动端内容优先排列(首屏可见标题)
2026-08-07 01:44:12 +08:00
miaomiao 249ed8cd2c feat: 后台 MUI 主题 MD3 化(与前台同源 token/大圆角/surface 边框)+ 深色模式修复 2026-08-07 00:27:00 +08:00
miaomiao a858439e19 fix: 首页侧栏强制显示(blog_show_sidebar 开关仅影响博客页);v2.0.0 版本号 2026-08-07 00:11:15 +08:00
miaomiao 535e4b8fcd v2.0.0: 大版本号更新(v1 原生前端 → v2 React 前后台) 2026-08-06 23:59:48 +08:00
miaomiao 75d102d6ee docs: AGENTS.md 更新至 v2 现状(assets 挂载/无更新接口/新路由顺序等) 2026-08-06 23:56:34 +08:00
miaomiao f0b642362a fix: /assets 挂载构建产物(vite base='/' 与 dist/assets 路径不匹配导致 MIME text/html 白屏) 2026-08-06 23:55:03 +08:00
miaomiao 45f0dc9beb fix: serveIndex 加 no-store 缓存头(防止旧 index.html 缓存导致 assets 404 白屏) 2026-08-06 23:28:52 +08:00
miaomiao b29fbcdcfc fix: 面板嵌入 proxy 模式支持 query token(iframe 无法带 header) 2026-08-06 23:20:25 +08:00
miaomiao 20deb09dbd P6: 集成上线 - dist 切换/后台路由/Setup+Embed/v1 退役/文档更新
- server.js: serveIndex 改读构建产物 dist/index.html(占位符替换保留);新增 /admin* → dist/admin.html;/forum/manage/:id 改 302 重定向
- Setup 初始化向导三步迁移;Embed 面板嵌入迁移(proxy 代理)
- v1 前端全部退役(12 html + public/js/ 12 文件 + deploy 脚本)
- README/AGENTS.md 更新为 v2 架构(React+Vite、better-sqlite3、构建流程)
2026-08-06 23:16:18 +08:00
miaomiao c71f4f0ed6 P5: 后台独立应用(MUI)- 13 模块/布局/守卫/复用前台基建 2026-08-06 23:10:09 +08:00
miaomiao f7dd4163b2 P4: 审查收尾 - 第三方验证码闭环/导航指向/验证码统一校验 2026-08-06 23:01:52 +08:00
miaomiao 72295ded4d P4: 密码箱迁移(PIN/CRUD/生成器/安全加固) 2026-08-06 22:51:17 +08:00
miaomiao f4a5276fb8 P4: 登录/注册/个人中心迁移(验证码 proof/邮箱验证/头像/改密) 2026-08-06 22:48:48 +08:00
miaomiao be6f644154 P4: 论坛迁移(列表/发帖/详情回复/板块管理) 2026-08-06 22:45:31 +08:00
miaomiao bdd3a068af P4: 首页/博客/写文章迁移(列表/详情/评论/编辑/上传) 2026-08-06 22:42:25 +08:00
miaomiao 990f6f40d0 P4: 基础设施 - api 层/布局壳/公共组件(Markdown/Captcha/音乐嵌入) 2026-08-06 22:38:21 +08:00
miaomiao 1bed2dda5f P3: 前端工程化搭建 - Vite + React 多入口脚手架
- vite.config.js 双入口(前台 index + 后台 admin),产物输出 public/dist
- 前台 App 布局壳 + 11 条路由占位;api client/theme/utils 共享层
- index.html 保留 ${site_name} 等占位符与 style.css 引用(UI 100% 还原基础)
- dev 代理 3101,构建产物 gitignored
2026-08-06 22:29:03 +08:00
miaomiao b319584012 chore: 换轨遗留清理 - Node>=22 文档/sql.js 卸载/cli 并发写警告 2026-08-06 22:24:00 +08:00
miaomiao c4c0115ba6 P2: 数据层换轨 better-sqlite3(sql.js → 原生 SQLite)
- db.js: getDb 同步化 + new Database(DB_PATH) 直接打开;run/get/all 重写为 prepare API;删除 saveDb 全量导出;22 处 DDL 改 exec
- migrateSchema 填实 version 1(user_settings.pin_iter),passwords.js 删除私有 ensureSchema
- routes/import.js: better-sqlite3 只读打开上传文件(PRAGMA table_info + all() 对象行),finally 关闭
- 数据零迁移:现有 data/rainweb.db 直接打开,播种数据完整,CRUD/SSR/cli 全通
2026-08-06 22:19:57 +08:00
miaomiao f6407a84f7 fix: 审查修复 - setup 死锁/验证码前后端对接/SPA 侧 XSS
- setup /complete 改 setup_complete 门禁(修复新装死锁),新密码禁止等于默认
- 验证码 proof 全链路贯通:前端 captcha.js/api/login/register/forum 传 captcha_proof;consumeProof 一次性消费 + jti 防同秒碰撞;删除死端点与死代码
- render.js 引入 DOMPurify 净化 markdown(SPA 侧存储型 XSS)
- email.js SMTP 检查提前;avatar 强正则白名单;register 验证码 crypto.randomInt
2026-08-06 22:11:43 +08:00
miaomiao 2ac286a4f8 P1: 后端安全加固 - 上传白名单/SSR净化/限流/密码箱/鉴权收敛/数据层统一
- 上传扩展名白名单 + MIME 校验;/uploads 加 nosniff + CSP sandbox 防护头
- ssr.js 全插值转义 + DOMPurify 净化 + JSON-LD JSON.stringify 序列化(消除存储型 XSS)
- 登录/发帖限流(express-rate-limit);验证码 proof token 体系(5 分钟 JWT + 防重放)
- 密码箱:PBKDF2 600k(pin_iter 列兼容旧密文)、解锁 3 次/5 分钟锁定、滑动过期会话、PIN >= 6 位
- adminOnly 查库复查;草稿仅 admin/作者可见;错误信息收敛;avatar 站内路径白名单;验证码 crypto.randomInt
- cli.js 删除重复 sql.js 封装统一到 db.js(data/rainweb.db 单路径);db.js 新增 migrateSchema 迁移框架
2026-08-06 21:32:06 +08:00
miaomiao 91cd009899 P0: 删除 Web 更新链路,修复 setup/proxy/email 安全漏洞
- 删除 /api/update/check 与 /api/update/run(无鉴权 RCE 面 + .git 覆盖风险)
- cli.js upgrade 仅保留 git pull 分支,删除 GitHub zip 下载分支
- admin 前端移除更新按钮与 checkUpdate/runUpdate
- JWT_SECRET 启动时随机生成写入 .env.json,删除硬编码回退
- /api/setup/complete 加 adminOnly;/setup/status 移除 default_password 泄露
- /api/proxy/fetch 加 adminOnly + 内网地址拦截(SSRF)
- send-verify 验证码不再回显,改 crypto.randomInt,修复 pending 重建 bug
2026-08-06 21:22:04 +08:00
miaomiao 4d0ad9da68 docs: 添加 AGENTS.md 与 v2 重构计划文档 2026-08-06 21:22:04 +08:00
miaomiao e7f8b3f173 v1.4.2: PJAX router, auto-hide music embed, update script fix
- PJAX navigation: nav clicks fetch & replace <main> seamlessly
- router.js dynamically loads page-specific JS (blog/forum/admin)
- Music embed: global on/off toggle, hover-based auto-collapse
- Update script restored to download-based (no git dependency)
- All PJAX pages have #musicEmbed container (index, blog, forum, admin, passwords)
- Version bump to 1.4.2
2026-07-02 02:22:09 +08:00
miaomiao a30a628772 fix: add musicEmbed container to admin.html for PJAX persistence 2026-07-02 02:09:32 +08:00
miaomiao cd290ff237 PJAX router + music embed with auto-hide
- router.js: intercept nav clicks, fetch page via AJAX, replace <main> content
- Blog/Forum/Admin/Homepage init functions extracted for PJAX re-init
- music-embed.js: hover-based auto-hide (leave → 10s timer → collapse)
- Settings: music_embed_code, position, pages, autohide, idle_timeout
- New keys replace old homepage_music_embed/position (auto-migrated)
2026-07-02 02:00:49 +08:00
miaomiao f7f30af569 v1.4.1: theme color refactor, UI restructuring, markdown improvements 2026-07-01 23:46:01 +08:00
miaomiao 4465130e60 fix: update download URL follows redirects, use codeload directly 2026-07-01 20:05:28 +08:00
miaomiao bd0c0442ab feat: add public settings endpoint and update settings retrieval in frontend 2026-07-01 19:41:06 +08:00