Skip to content
This repository was archived by the owner on Mar 16, 2025. It is now read-only.

LayFz/MoocTools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

中文 | English

英华学堂刷课脚本

用户反馈,我将把安装提前,详细实现过程点击此处

如何安装

以Firefox(火狐)为例

第一步

第二步

  • 如果你从没安装过油猴,那么你需要先安装油猴。

  • 如果你已经安装过油猴,直接跳转到第三步

  • 如上图,点击看到有该应用就说明安装成功了。

第三步:

  • 如上图,让脚本处于开启状态

第四步:

  • 进入mooc,点击你的课程就可开启自动刷课,不过值得注意的是,他的验证还是很少的,对于我们这种有两个显示器的,一边挂着是不影响的,至少不用自己点击了。

介绍

  • 刚交上文理的学费,学校就给我上了一课,根据学校的规定以及要求,我们要完成两堂网课,届时我们将会参加网上考试,并且会有挂科的机会,为此我感到愤愤不平,我的专业是计算机科学与技术,网课的名称是《安全教育》,还有一个是啥有点忘记了,反正就是毫无意义的课程,对于我们来说是毫无意义,更是浪费时间的。
  • 正所谓‘业精于勤,荒于嬉,行成于思,毁于随’,与其抱怨环境,不如自食其力,遂经过一下午的研究,脚本问世。

实现过程

第一步:观察DOM层

  • 刚进入到页面我们就可以看到控制台中在不停的输出,从这里我就有了头绪,多半使用js或者别的方式加速视频标签应该没多大作用。

  • 点击进入源码👇

  • 以上我们可以看到是这一行代码在做输出,经过源码分析,我大致了解了他的过程,简单来说就是实时观察正常情况下的时间才给你算学习时间,所以他这里每秒都会检测一下你有没有多开。

  • 在控制台中也可以看到有success字样,进入到源码中也可以看到👇

  • 代码的282行打印了该字段,经过分析,这里是是否弹出验证码的关键,这里的js代码会检测鼠标的活动情况来判断你是否是真人,但是权重很低,所以无关痛痒。

第二步:观察网络层

  • 因为先前有过爬虫的经验,我们很快能够以锁定到我们需要的dom,所以此时我们只需要获取他们的数据就能够实现模拟操作。

  • 于是我便设计了如上的思路,开始网络层面的探索。

  • 刚才在这边发现了一个很可疑的代码,根据http协议,我们一般会把加密的数据放在LocalStorge中👇

  • 根据前面所提到的js,这里极大可能根据id和课程号生成,但是非常可惜,我们并没有从中获得有用的信息,值得一提的是,在这里面他明文存入了用户的账号和密码,这是十分危险的。

  • 以上是这个网站的cookie,总共有两个token,应该是后台生成的一个用于本站校验权限,另一个是颁发给樱花的,所以视频并不是通过本地网关转发,而是直接走的服务器,那么这个token就比较合理了。

  • 通过网络层面也可以看到在正常上课的情况下会有轮询请求,定时的给后台报备你的在线状态以及听课时间。在这里更加证明了不能通过加速的方式完成。

第三步:动态分析

  • 根据设计图就能够很轻松的做出实现过程。

  • 改变视频播放速度并没有意义。

  • 模拟点击挂时长以及自动点击是主要的方案。

  • 漫长的Dom操作

    经过漫长的测试,很快第一版就出来了。

第四步:放弃初始方案

  • 做着做着,我发现存在诸多问题,对于每一次都要获取章节的冗余操作,让我们的逻辑变得极其复杂,并且存在诸多的bug,导致无法运行。
  • 不在繁琐中爆发,就在爆发中死亡,我感觉到身心疲惫,每一次dom都让人既惊喜又难受的体验。
  • bug过多,遂放弃了此方案,探索新的方案(当然是在测试过程中发现了更简易的方案)

第五部分:真香的方案

  • 我发现我们其实没必要每一章都检查一下,确实没必要,确实没必要,确实没必要!!!于是就出现了上图的方案,更加简洁,逻辑更加合适。

    啊啊啊!!!

就如爱情就像一场旅行,兜兜转转,你会遇到很多人,但最终只有一个人会与你一起走完余生

展望

  • 市面上的脚本有很多,但是这种私网的自己服务器自己搭建的mooc多半都不能被市面上的识别到位。
  • 目前没打算做更多的更新,这些功能足够解决我挂网课了。
  • 如果能帮助到你记得star!(:

参考资料

About

A JS based course brushing script.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors