// Imports #import "@preview/brilliant-cv:2.0.5": cv, cvSection #let metadata = toml("./metadata.toml") #let cvSection = cvSection.with(metadata: metadata) #show: cv.with(metadata, profilePhoto: image("./src/avatar.png")) // #text(size: 20pt, weight: 500)[项目列表] #cvSection("项目列表") #v(10pt) 本文章记录了余翰文(Dustella)在整个大学期间折腾过的东西的记录 & 其他提高生活质量的小项目记录(不一定是我写的) 这主要指的是那些 *不太适合写在简历里的小打小闹* 但是,我相信有些项目能帮助到一些人,我相信也许有人能捡起我当时的想法继续做下去, *但是也有很多能直接改善生活质量的小玩意儿* 如果项目 *有别人参与*,或者 *不是我做的* ,我会有特别注明。排序先后仅通过时间。 = 零、NUISTCraft 和 NuistShare、组织联络 #let mklink(dest, body) = { link(dest)[#emph(underline(body))] } === NUISTCraft 我维护了三年多的一个 MC 服务器。 我联络并将本组织加入了 MUA(MC高校联盟),并且有一套比较先进的,为了生电服优化过的架构。 https://nuistcraft.com #mklink("https://github.com/Kaleido-Studio/nuistcraft")[Kaleido-Studio/nuistcraft: NUIST Craft 官网和文档] 开源的只有文档站。我曾经在多火做过一期 NUISTCraft 架构的讲座,可以向我索要幻灯片。 === NuistShare 只是一个资料分享站点。只是分发资料。 https://nuistshare.cn 曾经,学长【杨帆】做了初版。我后来写过两个版本,但是最终发现没有 Alist 好用(2025.06,Alist寄了)(2025.6,我又把Openlist修好了) 这两个版本的站点开源如下: 前端: #mklink( "https://github.com/Kaleido-Studio/nuistshare-frontend", )[Kaleido-Studio/nuistshare-frontend: Nuistshare - an archive sharing platform] 后端: #mklink("https://github.com/Kaleido-Studio/nuistshare-backend")[Kaleido-Studio/nuistshare-backend] === Nuist Tech Gathering #mklink("https://github.com/Dustella/nuister-gathering")[Dustella/nuister-gathering] #mklink("https://nuister.onrender.com/")[Nuisters | Nuisters] NUIST 主要技术和娱乐社群集合 = 一、生活质量改善 === 惠湖通微信OAuth自动网络登录 **目前社区内的唯一实现** #mklink( "https://github.com/Dustella/Huihutong-portal-login", )[Dustella/Huihutong-portal-login: 慧湖通 2024 自动登录脚本 - 无需扫码、完全无人值守、支持 Openwrt] 我是抓包大手子 === 南信大毕业论文 Typst 模板 开源地址: https://github.com/Dustella/nuist-thesis-typst **如果是毕业论文,不推荐使用。** 因为毕业论文查重和检查格式需要 Word 副本,建议直接用Word写。平时的课程论文、课程设计拿它来做模板非常合适! 感谢南大的 Typst 模板 === 小爱同学的课程表导入 https://github.com/Dustella/NUIST_Curriculum_Parser 截至 2025 年,我真的入职了小米,他们却把小爱课程表的教务系统导入功能砍了。What can I say。 但它的确帮助过不少人 === NUIST VPN 域名编码逆向 你好奇 nuist vpn 里面那串乱码是怎么编码目标域名的吗?我逆向了它并且实现了一个开源版本的URL加解密工具,完全依靠 WebCrypto. 我是逆向大手子.jpg https://github.com/Dustella/nuist-vpn-wormhole === 校园网登陆-Golang实现 https://github.com/Dustella/i-NUIST-login-golang 实现这个,本来是给我一些多拨的设备 实现一个防止掉线的 daemon, 我确实也实现了防止掉线的daemon模式,但是我自己也觉得不太好用。并且我实现了一个账号池,可以从账号池子里随机选择账号登陆。 === 校园网登陆 - C\#实现 https://github.com/Dustella/NuistAutoLoginCSharp 这纯粹只是我用于练手C\#、WinForm、一些简单的面向对象设计模式的练手项目,当然它的确是可以用的。可是拜托——谁会用呢,既然有网页 === 校园网登陆 Mock 服务器 - C\# https://github.com/Dustella/mock-login-nuist 写上面那个项目的时候我人不在学校,于是用 C\# 和 #mklink("http://ASP.Net")[ASP.Net] Core 去糊了一个 Mock 客户端用于调试。同上,也只是为了学习 C\#。 === NuistShare 旧站点 dump https://github.com/Dustella/nuistshare-archive Credits to 老学长【杨帆】。NuistShare 旧版本的站点是他维护的。 === 大葱云打水平台-第三方客户端 服务端(在 Cloudflare Worker 上运行) #mklink( "https://github.com/Dustella/green-orion-water-api", )[Dustella/green-orion-water-api: 大葱云平台 API 的 node 实现] 客户端(基于Solidjs) #mklink("https://github.com/Dustella/water-client")[Dustella/water-client] 曾经南信大的热水供应商是这个。每次打水要申请一次性打水码。我不喜欢他的 APP UI,于是逆向了它的API自己写了一个。 为了解决跨域和 提取服务端 JSP 渲染出来的数据,需要有那个 Cloudflare Worker 上部署的后端配合。 2023年之后,热水供应商改变。本项目未继续维护。 === 自动完成青年大学习 #mklink( "https://github.com/Dustella/AntiFacistIndoctrination", )[Dustella/AntiFacistIndoctrination: 江苏省 青年大学习 用 Github Action 全自动完成学习,结果可自定义推送] 作者:北雁云依。 Powered By Rust. Credits to BeiyanYunyi btw. === 自动同学互评 #mklink( "https://github.com/Dustella/nuist-auto-peer-evaluation", )[Dustella/nuist-auto-peer-evaluation: NUIST 南信带自动同学互评 一键脚本] 自动完成同学互评。 自动完成老师评价的没写,那个改改这个可能也能用。 === 自动填健康日报 #mklink( "https://github.com/Dustella/NUIST_HealthyReport_NEW", )[Dustella/NUIST_HealthyReport_NEW: 可能是首个支持新版健康管理的自动填写工具,顺便支持识别统一认证的验证码] 作者:不愿意透露姓名的 InfinityWei 上香。 === 伪造的出校二维码 #mklink("https://github.com/Dustella/NUIST-go-out-next")[Dustella/NUIST-go-out-next] 作者:InfinityWei、Clansty、我、北雁云依等。据我所知有超过五个人独立实现过。 上香。 === 笔记本推荐 #mklink( "https://github.com/Dustella/Laptop_purchase_guide_2021", )[Dustella/Laptop_purchase_guide_2021: 2021年校科协给新生的笔记本推荐] 科协给新生的笔记本推荐。第一版是我写的。可以作为模板,但是后几年的几版更好。 === 自动跑龙猫 由于有部分涉及的当事人现在还未毕业,为保护当事人,不给链接,只给一些提示。 1. 有一个基于 Xposed Hook 高德 SDK 的方案。开源。 2. 有不止一个基于客户端逆向的方案。有一个方案开源。 3. 有一个 Xposed 直接 Hook 龙猫本体去发包的方案,我不知道开不开源,应该没有 public。 4. 我不确定 Fake Location 是否工作,以前是工作的。 === 复制水卡 曾经东苑水卡是离线的,水卡本质为一个 Mifare 1K 无漏洞卡。A Key B Key 皆不固定。使用变色龙即可嗅探出密钥,pn532和pm3使用hard nested攻击会因为无漏洞卡特性而无限循环。 现在据我所知所有老版本水卡都被替换。刷学生卡的方案无法破解,因为学生卡是 CPU 卡。蓝牙方案未知是否能重放。 = 二、课程作业、课程设计 **注意:** 因为我在2023年末接了10个课程设计的单子,所以有大量不是我的专业课的项目,也有同一份课设我做了很多版本。 按照重量级排序的第一个: === 使用 Rust 实现的编译器前端 - Negatives #mklink("https://github.com/Dustella/negative-lab")[Dustella/negative-lab: 关于rust和编译器的测试] #mklink("https://github.com/Dustella/negatives")[Dustella/negatives: 负片-编译器相关测试] 使用 Rust 实现的,使用 LL1 文法设计的一种类似于 JavaScript 的语言的编译器前端。 做到的程度是,输入代码字符串,能过lexer分token,最终显示 LL1 的抽象语法树 (AST) 不是递归下降,我记得是一种只需要多看一个token的预测机 它得到了 93 分 === 使用 Rust 写的部分操作系统实验 #mklink("https://github.com/Dustella/os-mini-lab")[Dustella/os-mini-lab] 不建议参考。关于并发的东西尽可能去用 Golang/Python 而不是 Rust。用 Rust 纯属折磨自己。 === 哲学家进餐问题可视化 #mklink("https://github.com/Dustella/dining-philosophers")[Dustella/dining-philosophers: 哲学家进餐问题展示-用Vue实现] 用 Vue3 一个下午糊出来的。 === AI 实践课 作业 #mklink("https://github.com/Dustella/ai-tour-assignments")[Dustella/ai-tour-assignments: 学校AI课程的任务] 涉及内容:传统机器学习、非常简单的深度学习 === Java 局域网画板 #mklink("https://github.com/Dustella/lan-painter-java")[Dustella/lan-painter-java: Java 局域网画板] 花了一个下午,把CSDN上的一个Java 局域网聊天室和一个Java画板缝在一起,就有了这玩意儿。 南师大未知学姐的 JavaEE 课设。 === 特菈的小白数据挖掘课 #mklink("https://github.com/Dustella/data-mining")[Dustella/data-mining: 特菈的小白数据挖掘课 代码] 对,我曾经开过数据挖掘入门课,我讲。这是课程代码。 === **可重定位分区分配算法的内存管理可视化** 操作系统课设。Python 糊的。 #mklink("https://github.com/Dustella/memory-os-lab")[Dustella/memory-os-lab: 给朋友做的操作系统课程设计] === 编译原理课设-另一个版本 #mklink( "https://github.com/Dustella/compiler-principle-example", )[Dustella/compiler-principle-example: 编译原理 课设 - C 语言版本] 这反正是某个老师的课设,是填空题,不用完整实现。 我用GPT4填出来能跑。 === 多种排序算法比较速度 #mklink( "https://github.com/Dustella/race-of-sorting-algorithms", )[Dustella/race-of-sorting-algorithms: 多种排序算法对比,别人的数据结构课程设计] C++ 实现的很多种排序算法速度比较 前面忘了,后面忘了,全是 GPT 写的。它最适合干这种活儿。 === Java 实现的操作系统模拟 #mklink("https://github.com/Dustella/os-simulator-java")[Dustella/os-simulator-java: 给别人做的OS课设] 不建议参考。老师的题目很烂。 === Python 实现的操作系统模拟 #mklink("https://github.com/Dustella/os-simulator-py")[Dustella/os-simulator-py: 给别人做的OS课设 - Python 版本] 不建议参考。和上面那个是同一个老师的题目。很烂。 === C++ 学生管理系统 #mklink("https://github.com/Dustella/student-manager")[Dustella/student-manager: 给别人做的学生管理系统] OOP 课设。妈的,就喜欢管理学生。 === 数据挖掘、计算机图形学、机器学习作业 #mklink( "https://github.com/Dustella/data-mining-tour", )[Dustella/data-mining-tour: 作业存档,包含机器学习、数据挖掘、计算机图形学、计算机视觉、信息安全] 我第三年的很多选修课。 包含:机器学习、数据挖掘、计算机图形学、计算机视觉、信息安全的全部实验和课设。 === 仓库管理系统-数据库 #mklink("https://github.com/Dustella/repo-manage")[Dustella/repo-manage] 数据库课设,好像是仓库管理?不记得了。就喜欢CURD。 建议阅读建议参考。 === 数据结构 #mklink("https://github.com/Dustella/data-struct")[Dustella/data-struct] 数据结构的所有实验和课设。 我的课设是比较两种二叉树的性能。 === OOP-音乐播放模拟 #mklink("https://github.com/Dustella/Stupid_MP3_Simulator")[Dustella/Stupid_MP3_Simulator] 不建议参考。早期作品,码风不好,意义不明。 附:OOP平时课程实验:#mklink("https://github.com/Dustella/object-oriented-programming-lesson")[Dustella/object-oriented-programming-lesson] = 三、学生组织相关 === 多火官网 https://www.duohuo.org.cn 使用 先进的群岛框架 Astro 开发的网站。 Co-authored by: 北雁云依 === 科协工单转发机器人 2021 年写的,给科协的工单转发机器人,把所有接受到的私聊消息转发到群里,支持反向转发回复消息。 感谢 Nonebot 框架 https://github.com/Dustella/Forwardbot = 四、其他杂项和外包 === 优职享官网 在麦趣尔工作时写的,一个招聘网站。 https://www.jobdream.vip === 台风预警系统 毕业论文顺便写的,一个台风预警系统。2025 年这个公司又找我写了一版。 还有更多非公开的外包,不过我想都不太重要。