vintcessun/XMUHub

鹭岛书阁 · 厦门大学学生资料共享平台:按课程整理往年试卷、笔记、课件,免费浏览下载与上传分享。非官方学生项目。Rust + Axum + redb,文件存 GitHub Releases,经国内镜像下载。

★ 41Forks 3RustGitHub ↗Compare

Project website ↗

axumcloudflare-workersgithub-releasespast-papersredbruststudy-materialstantivyxiamen-universityxmu

README

XMUHub · 学生资料共享平台

同学们按课程整理、分享往年试卷、笔记、课件和题库的网站。上游站点是 鹭岛书阁(学生自发的非官方学习交流项目,与任何学校及其官方机构无关)。

代码完全开源,任何学校都可以 fork 一份部署给自己学校,并且随时同步这里的更新。

功能

找资料

  • 按课程浏览:公共课、专业课、教材参考书、工具模板四大栏目,下面按学院 / 课程分类,还能按本科 / 研究生、学期、资料类型(真题、笔记、题库、课件)、适用专业筛选。
  • 搜索:课程名、课程代号、拼音全拼和首字母都能搜(wjf → 微积分,gdsx → 高等数学),可以只在某个学院或课程里搜,结果多时可以直接跳到第几页。
  • 在线预览:PDF、Word、PPT、Excel、图片、音视频、文本代码、电子书,以及压缩包里的文件,不用下载就能看;课程列表里直接点「预览」。
  • 免费下载:文件从国内加速镜像直接下载,大文件自动分卷、自动合并并校验完整性;支持勾选多份批量下载。
  • 合集:一套连续的资料(第 1–12 讲、历年期末)合成一行,资料页显示「第 3 / 12 份」和上一份 / 下一份,可以一键下载整个合集。
  • 求资料:找不到的资料可以发帖求助,别人回复指向站内资料,同样需要的人点「我也要」。
  • 收藏夹、关注和提醒:把资料收进自己的收藏夹(可以申请公开分享);关注课程或学院,有新资料时站内提醒。
  • 评分和留言:给资料打分,留下哪几页最有用、答案有没有错之类的建议。
  • 站外资源:大家推荐的其他资料仓库、网盘合集。
  • 统计:全站和各课程的资料数量、下载量。

分享资料

  • 批量上传:一次拖入多个文件,按原文件名自动识别课程、学年、学期、卷别、类型、是否含答案,系统生成规范的文件名;传错课程时会提醒。
  • 放进合集:上传时就可以把一套资料建成合集(写上来源、年份),审核员一次审完。
  • 断点续传和秒传:刷新页面后能接着传,别人传过的相同文件秒传。
  • 不知道放哪:放进「待整理」,交给审核员归类。
  • 改错和申请删除:上传者可以修改自己的资料,改备注或删除时提交申请。

管理和审核

  • 先审后发:新同学的上传由审核员通过后公开;可信贡献者先发后审;审核员自己提交的内容也要由另一位审核员审核,管理员免审。
  • 分批审核:审核员每次领一批、互不重复;拿不准的可以留给别人或「问上传者」。
  • 改课程、整理分类树、处理投诉和反馈、全站公告。
  • 一键封禁并清理:对恶意账号一次性封号,并撤下他发布的所有内容。
  • 资料永不真正删除:驳回、下架只改状态,随时可以恢复。

账号和接入

  • 任何邮箱都能注册,学校邮箱显示认证标记;非常用邮箱注册需要人机验证。
  • AI 助手接入(MCP):在「我的」页面创建个人令牌,Claude、Cursor 等 AI 助手就能帮你搜资料、下载、上传,网页上能做的它都能做;同一个令牌也可以调用 REST API。

部署一份给自己的学校

  1. Fork 本仓库,git remote add upstream https://github.com/vintcessun/XMUHub.git;
  2. cp -r site/example site/<你的站>,在 site.json 里填上站名、学校、域名,再放上自己的 Logo 和背景图;
  3. cp -r .secrets.example .secrets,填好服务器地址和密钥;
  4. pwsh scripts/sync.ps1 一键编译部署;
  5. 以后同步上游:git fetch upstream && git merge upstream/main,再运行一次 sync.ps1。

你只改自己的 site/<你的站>/ 和 .secrets/,所以同步上游不会冲突。完整步骤见 docs/fork.md,站点配置的每一项见 site/README.md。

参与开发

  • docs/development.md:技术说明、本地开发、部署脚本、MCP 接口;
  • AGENTS.md 和 docs/principles.md:开发规则(包括用 AI 助手写代码),最重要的一条是 资料文件的字节绝不经过服务器;
  • 问题和建议欢迎提 Issue。

许可证

GNU AGPL-3.0。如果你修改后以网站形式对外提供服务,需要向使用者公开修改后的源代码。

Contributors

vintcessunPingu-daisukivintces-private

Issues