CV/projects.typ
2025-12-06 19:20:59 +08:00

370 lines
12 KiB
Typst
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 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 服务器。
我联络并将本组织加入了 MUAMC高校联盟并且有一套比较先进的为了生电服优化过的架构。
https://nuistcraft.com
#mklink("https://github.com/Kaleido-Studio/nuistcraft")[Kaleido-Studio/nuistcraft: NUIST Craft 官网和文档]
开源的只有文档站。我曾经在多火做过一期 NUISTCraft 架构的讲座,可以向我索要幻灯片。
=== NuistShare
只是一个资料分享站点。只是分发资料。
https://nuistshare.cn
曾经,学长【杨帆】做了初版。我后来写过两个版本,但是最终发现没有 Alist 好用2025.06Alist寄了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 年这个公司又找我写了一版。
还有更多非公开的外包,不过我想都不太重要。