370 lines
12 KiB
Typst
370 lines
12 KiB
Typst
// 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 年这个公司又找我写了一版。
|
||
|
||
还有更多非公开的外包,不过我想都不太重要。
|
||
|