Commit Graph
31 Commits
Author SHA1 Message Date
miaomiao 8e890d9a96 feat: 新增工单反馈系统 2026-09-05 02:42:51 +08:00
miaomiao e505a170b7 feat: 工作台 proxy 深度改造(Muximux 模式)——/proxy/{slug}/ 路径前缀 + HTML 改写 + 运行时 shim + WebSocket + cookie 鉴权 + 按面板信任模型 sandbox,支持嵌入几乎所有 SPA 2026-08-22 00:17:39 +08:00
miaomiao c8707cf704 feat: 公开个人主页(/u/:id 名片+统计+帖子/回复内容流,全站头像可点跳转,bio 签名+最后活跃) 2026-08-13 02:12:14 +08:00
miaomiao 620d931fa6 fix: /out 确认页豁免 CSP(内联倒计时脚本被 script-src 'self' 拦截) 2026-08-12 22:46:18 +08:00
miaomiao 2cf6368abf feat: 页脚栏目自定义(后台编辑器+前台渲染)+ 外链跳转确认页(/out 5秒倒计时+全站拦截) 2026-08-12 22:27:46 +08:00
miaomiao b301a44caf feat: 版主子管理页(帖子管理/公告/禁言)+ 版块级禁言(migrations v5) 2026-08-12 18:44:47 +08:00
miaomiao a9726df1ee feat: 论坛贴吧风格大升级(L1版块索引+L2版块页+L3楼层帖+置顶/加精/多版主/admin超管+后台帖子管理+分享) 2026-08-12 18:14:12 +08:00
miaomiao bc007c165f fix: L1 安全响应头中间件(nosniff/SAMEORIGIN/Referrer/Permissions/CSP,proxy 路径豁免) 2026-08-12 16:46:17 +08:00
miaomiao 93c1fb9c7a fix: 安全审计修复(H3 express.json 恢复 + H2 代理 iframe 沙箱 + H4 论坛越权 + M2/M3/M4/M5/M7) 2026-08-12 16:10:11 +08:00
miaomiao 7dbaf2277f feat: 分享链接跳转 SPA 完整版(/blog/:id/share → 列表页 share 参数 → 客户端导航) 2026-08-12 04:07:11 +08:00
miaomiao 57851e4daa feat: 全站 SEO 优化(serveIndex 按路由 meta/OG/JSON-LD + sitemap 修复 + robots noindex + 品牌 OG 图/favicon) 2026-08-12 02:47:16 +08:00
miaomiao 4200826120 feat: RainID 单点登录接入(ROPC 密码登录 + 授权码 PKCE + 影子账号 + 注册跳转 + 登出联动) 2026-08-10 18:20:42 +08:00
miaomiao 717ebc44f4 feat: 工作台 VSCode 风格改造 + Web 终端(双侧栏/活动栏/xterm/dnd-kit/resizable-panels/终端 API) 2026-08-08 02:31:42 +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 632d19f49e feat: 后台评论管理 + 评论设置开关 + 技术债清理
- 后台评论管理页(待审核 Tab + 通过/拒绝),侧栏入口
- 站点设置加评论审核模式/评论邮件通知开关
- Material Icons 自托管(本地 woff2)+ ssr 图标修复
- /admin* 路由收紧为显式两条
- 删除死代码 routes/links.js
- 密码箱改 PIN 增加数据丢失警告确认
2026-08-07 02:14:07 +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 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 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 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 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 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
shanshuilala 73e145df07 v1.1.1: captcha refactor, Turnstile support, SEO, forum boards, icon fixes 2026-06-21 18:05:05 +08:00
shanshuilala 6ffbf19aff Refactor forum.js for improved post and category handling; add sub-category support and enhance captcha verification in login and registration; implement update check and run functionality in server.js; improve captcha generation with noise and difficulty adjustments. 2026-06-21 00:54:49 +08:00
shanshuilala 2e6eeadfc1 feat: 增加数据库导入功能,支持从旧版 RainWeb 导入数据,优化验证码处理逻辑 2026-06-20 21:57:04 +08:00
shanshuilala 608adac6d4 feat: add content rendering and article writing features
- Implemented a content renderer in `render.js` to handle Markdown and custom tags for images and files.
- Created a new article writing page in `write.html` with a form for title, excerpt, and content, including upload functionality for images and files.
- Added server-side rendering functions in `ssr.js` for blog and forum posts, including support for generating a sitemap.
2026-06-20 18:19:06 +08:00
shanshuilala c479b3a31a feat: add proxy route for fetching external URLs and handling CSP headers
- Implemented a new proxy route in `routes/proxy.js` to fetch content from external URLs.
- The proxy handles URL validation, stripping of certain headers, and rewriting of relative URLs to absolute.
- Added a new batch script `start.bat` for easier server startup and dependency installation.
- Included instructions for accessing the server and default admin credentials in the batch script.
- Added a new release file `rainweb-win.zip`.
2026-06-19 23:08:20 +08:00
shanshuilala 2fd2cd01e9 优化验证码生成和验证逻辑,增加错误处理和状态反馈 2026-06-19 21:44:33 +08:00
shanshuilala 38689b36f8 first commit 2026-06-19 19:34:04 +08:00