当前位置: 首页 > news >正文

《软考人必看!告别手动F5,我用Python写了个“成绩解放器”,支持NAS部署秒推微信》

大家好,我是这个小工具的开发者。

作为一名经历过软考(计算机技术与软件专业技术资格考试)折磨的考生,我深知“查成绩”这个环节有多反人类:官网从来不准时,只能蹲在电脑前疯狂刷新,或者眼巴巴盯着群里别人的消息。

为了彻底解决这个痛点,我开发了ruankao-monitor—— 一个轻量级的软考成绩监控助手

简单来说,它能帮你:

  1. 24小时自动监控软考官网(ruankao.org.cn)。
  2. 一旦出成绩,立即通过微信、邮件、钉钉等渠道通知你。
  3. 部署极简,不需要昂贵的服务器,家里的 NAS(群晖/威联通/飞牛等)就能跑,且内存占用极低(<50MB)。

不用再焦虑地刷新网页了,出分那一刻,它会像闹钟一样叫醒你。


🛠️ 一、核心功能特性
  • 多平台推送:支持 Server酱(微信推送)、企业微信、钉钉、Bark(iOS)、SMTP邮件。
  • NAS友好:基于 Docker 打包,x86/ARM 架构通吃,非常适合挂机运行。
  • 防误报:内置多种 HTML 解析策略,即使官网微调也能稳定运行。
  • 去重机制:状态持久化,重启容器不会导致微信消息刷屏。
🚀 二、手把手部署教程 (Docker版)

如果你有一台 7x24 小时开机的 NAS 或服务器,请按照以下步骤操作,一分钟即可上线

第一步:准备配置文件
你需要先创建一个配置文件config.yaml。你可以直接在服务器上创建,或者下载模板修改。

# 1. 创建项目目录并进入 mkdir -p ruankao-monitor && cd ruankao-monitor # 2. 下载配置文件模板 wget https://raw.githubusercontent.com/jason-PLA/ruankao-monitor/main/config.yaml.example -O config.yaml

第二步:配置通知渠道(关键步骤)
使用编辑器(如nanovim)打开config.yaml,填入你的通知信息。

  • 微信推送(推荐 Server酱)
    去 Server酱官网获取SendKey,填入server_chan_skey字段。
  • 邮件推送
    填入你的 SMTP 服务器地址、端口、发件箱账号和授权码。
  • 其他(钉钉/企业微信)
    填入对应的 Webhook 地址即可。

第三步:启动容器
项目根目录下有一个docker-compose.yml文件,或者你可以直接使用以下命令运行:

# 使用 Docker Compose (推荐) docker-compose up -d # 或者使用纯 Docker 命令 docker run -d \ --name ruankao-monitor \ -v $(pwd)/config.yaml:/app/config.yaml \ jason-pla/ruankao-monitor:latest

第四步:坐等出分
启动后,容器会自动开始轮询软考官网。当检测到成绩查询入口出现时,你会立刻收到推送!


💡 三、给非技术用户的建议

如果你不太熟悉 Docker 命令,但使用的是群晖(Synology)飞牛NAS(fnOS)

  1. 在套件中心安装Docker
  2. 打开 Docker 图形界面,注册表搜索jason-pla/ruankao-monitor
  3. 挂载路径:将本地的config.yaml映射到容器内的/app/config.yaml
  4. 启动即可。

📦 开源与反馈

这个项目是MIT 开源协议的,代码托管在 GitHub:
GitHub 仓库地址:https://github.com/jason-PLA/ruankao-monitor

如果你在部署过程中遇到问题,或者有新的功能建议(比如支持 Telegram),欢迎去 Issues 区提,或者直接在本帖回复。希望能帮到正在焦虑等成绩的你,祝大家逢考必过!🎉

http://www.jsqmd.com/news/1078506/

相关文章:

  • 机器学习模型监控实战:从数据漂移到业务归因的五层防御体系
  • AI 每日资讯简报
  • UI 组件的抽象边界:从复合组件模式到无障碍优先的 API 设计
  • Rust 所有权与借用:从 MIR 到汇编的零成本抽象验证
  • AI 编程工具链选型:从代码补全到智能重构的成本收益分析
  • 代数几何中的对数正则性判别准则:从对数微分到Frobenius-Witt结构
  • 【高级】AccessGuard v1.6:国际化(i18n)类型安全 — TypeScript 模板字面量类型与翻译键深度实战
  • 高性价比三维光学轮廓仪:预算有限的国产之选
  • AI 系统可观测性:从 Token 用量追踪到模型推理延迟的全链路监控
  • 武汉艺术培训形体费用大揭秘!快来了解靠谱价格区间
  • 《剑与翼》2026正版下载完整指南,忆东怀旧手游官方渠道安装教程
  • 告别网盘限速烦恼:这款免费浏览器插件让你轻松获取高速下载直链
  • OpenAI Agent Builder与n8n:自动化工作流的范式迁移
  • 技术人转产品经理:需求拆解、优先级判断与交付节奏的思维切换
  • Spring Boot 自动配置:从 @Conditional 到生产级 Starter 的原理拆解
  • AI 代码审查工作流:从 Prompt 工程到自动化 Pipeline 的工程实践
  • 无人直播防封终极指南:10个技巧让账号更安全
  • Docker 容器安全加固:从镜像瘦身到运行时防护的纵深防御体系
  • 既然照片、视频、文档都在NAS里 ,是不是可以直接跑本地大模型?
  • 2026年精选:哪些苦荞米品牌真正赢得了消费者的心?
  • 微调前数据清洗:用 Node.js 做 JSONL 格式自检
  • EVE-NG V7 PC安装部署教程(最细教程)
  • NotePic 实操:没有阿里云账号?从注册到开通 OSS 全流程
  • 开源教务管理系统如何重塑学校数字化管理体验?
  • 图最大割问题的分数割覆盖松弛与随机舍入策略工程实践
  • scinique® 1.0 双护协同光学技术白皮书:圆偏振光与磁控溅射 AR 的融合之道
  • 跨境电商创业者的心态管理:从焦虑到稳定的六项长期主义认知
  • 幼儿系统英语启蒙app首选,全面覆盖零基础到小学教材
  • 前端可观测性体系建设:从性能指标采集到告警闭环的全链路监控实战
  • DSM 7.2+系统Video Station功能恢复技术方案