学生目录5~6月月度报告
迟来的月度报告
各位终于放暑假了的高中牲们:
5月为什么没有报告呢?因为5月份的yuebi太懒啦w,所以准备将5月和6月的报告合并在一起,于是就有了这篇融合两月报告的诞生awa
本篇报告由yuebi和Leo共同完成,我们在此将这两个月的工作成果用汇报如下:
本月VPN服务流量统计
如下是5月和6月的流量统计与VPN各日的使用分析。
五月


六月


我们这两个月中,一共白嫖了我们番禺神奇学校的3388GB免费的流量
其中5月使用了1732GB,六月使用了1654GB
经过换算,相当于5月消耗了855GB的流量,六月消耗了825GB的流量
三月份使用的流量是1047GB,四月份使用的流量为1449GB,可以看出我们的流量使用量呈逐月增长趋势
然而有些人可能注意到,5月份的流量居然大于比6月份,这是为什么呢
这是因为我们在6月份研究出的一种新的VPN连接——教师VPN,这部分流量将不会计入统计。所以,有些朋友在使用这项新技术时,流量就悄悄地‘溜’走了
那么,教师VPN到底是什么呢?来使用教师VPN吧!
我们的校园网接入服务被我们同学开发出了许多的食用方法比如说听音乐,看下说,玩云游戏,看流媒体视频等等。
随着使用方法和人数的日益激增,我们发现我们的网络卡顿的情况越来越严重,对食用体验造成了许多的困扰和影响。
经过讨论与研究,我们提出了一个崭新的思路——教师VPN。顾名思义,教师VPN就是在能够一直在学校里保持网络访问权限的老师的电脑上搭建VPN供我们使用。
然而搭建教师VPN的过程绝非易事 ,在搭建的过程中我们遇到的麻烦也是层出不穷,原本在大脑中演练的过程在现实中不堪一击。第一次在安装完成后一切顺利,但是在我们回到教室尝试连接教室电脑的时候出现了一个写着‘不支持的’提示框。
这让我们疑惑了许久,最后经过在网上查阅资料,我们发现给教师端安装的softether是稳定版本的,这与我们学生端的beta版的softether并不兼容。于是我们在一个晚修期间再次对老师的电脑上的softether进行了重装。最终解决了这个问题。
当然,梦想很美好,但是我们发现,教师网络似乎存在一些限制。 经我们的讨论,我们猜测老师的网络流量来源是教育局,但是教育局的网络会限制游戏例如云原神的地址访问,所以部分的网站和软件我们是无法正常登陆使用的
我们发现,教师网络的屏蔽是有局限性的。它没有完全屏蔽所有的游戏,比如说,有一些游戏资源是可以访问的。在一次测试中,我们意外发现了:明日方舟这款游戏居然可以在教师VPN环境下正常游玩。我们推测是因为开发明日方舟的公司没有那么出名,所以并没有被屏蔽。当然这也证明了教师VPN的屏蔽有漏洞,所以如果你也发现了类似的情况,欢迎与我们反馈
所以,如果你要玩游戏的话 我们可以使用71的这个VPN,这样就可以很好的避免被屏蔽的问题。
对比项 | 10.88.202.71 | 教师VPN |
---|---|---|
可使用时段 | 一直可用 | 仅对应老师开机时 |
可访问的资源 | 所有网络资源 | 无法访问游戏类资源 |
建议用途 | 游戏 | 其他 |
网络速度限制 | 上限50Mbps | 仍有待测试,曾跑出过300Mbps |
VPN状态页面
VPN状态页面包含了简介、公告、最新VPN密码和VPN服务器状态四个部分。
公告部分内容会比主页中的公告更加详细,有助于用户了解最新动态。
最新VPN密码部分会显示当前的VPN密码及其发布时间,并添加了一键复制功能,只需点击“复制密码”即可轻松复制VPN密码。
VPN状态部分会检测各VPN服务器是否开启,以及连接人数,用户可根据此信息选择适合的VPN服务器进行连接。
以下,我将详细记录我是如何实现查询VPN状态的功能的。
在之前编写状态指示灯的代码时,由于懒得部署后端,我选择了通过bat脚本不断重复查询会话数并将结果保存到一个文件的方法,服务器将从这个文件中读取数据并显示在状态指示灯上。然而,这种方法的弊端是需要反复查询,导致大量无意义的服务器资源浪费,显得非常愚蠢。
于是,今天我们开发出了一项新的技术,取代了以前这种低效的做法,这项技术就是后端服务。
网页的后端服务可以接收前端发送的API请求,并作出相应的响应,实现前后端的数据交互。
我们使用Node.js搭建了一个后端服务器。当后端接收到API请求时,会发送一个ICMP请求以判断指定主机是否在线。此外,后端还会通过执行特定命令查询VPN服务器的连接人数,并将结果呈现在网页中。这种动态查询的方式无疑大大提高了用户体验。
API实现原理
在我使用了Express框架来创建服务器,并通过CORS中间件来处理跨域请求。定义了两个API端点:
- /api/vpn-status: 用于检测指定IP地址的VPN服务器是否在线。该端点通过创建一个TCP连接到指定的IP地址与端口(这里是443端口),并在设定的超时时间内判断连接是否成功。
- /api/vpn-users: 用于查询指定IP地址的VPN服务器的在线用户数。该端点通过执行vpncmd命令来获取VPN服务器的状态信息,并解析其中的会话数。
API使用方法
前端可以通过发送GET请求来调用这两个API。
- 检测VPN状态:前端可以通过访问
/api/vpn-status?ip=VPN服务器地址
来获取VPN服务器在线状态和响应时间。 - 查询VPN用户数:前端可以通过访问
/api/vpn-users?ip=VPN服务器地址
来获取VPN服务器的在线用户数。
为了确保API的安全性,我添加了对IP地址格式的验证,只有格式正确的IP地址才会被处理。如果格式不正确,API会返回400 Bad Request错误。
键盘记录器
6月下旬的时候,教师目录不知道为什么要求了所有老师重置了密码,所以相应的,学生目录中共享目录映射的教师目录的文件夹也都失效了,我们又回到了没有教师目录的时代。这可不行啊,还有英语周测还要抄呢
于是我在GitHub上找到了一个开源的键盘记录器项目keyboard-recorder,它可以帮助我们记录键盘输入
在此项目的基础上我添加了使用快捷键控制和支持开机自启与静默启动的功能,这样就可以悄悄地把老师的密码记住啦awa
键盘记录器顾名思义就是一个记录键盘输入的工具
我们可以通过这个工具记录教师在班级上课时所输入的教师目录的密码
使用方法如下
ctrl+shift+alt+p 开始/暂停键盘记录
ctrl+shift+alt+q 安全退出
ctrl+shift+alt+s 设置/取消开机自启(注册表写入,需要有权限)
我将我修改后的代码上传到了GitHub上,大家有兴趣可以在此查看
以下是一些软件的截图

.png)
.png)
.png)
你可以在学生目录的共享目录上下载键盘记录器,或者前往GitHub下载最新版的release
如果你觉得这个项目对你有帮助,欢迎来给一个Star⭐哦~
本网站功能优化
添加此网站各项日志内容筛选功能
随着本网站上个日志的增多,快速找到自己想要查看的日志变得有些困难,因此我们添加了日志内容排序功能,用户可以根据日志的类型进行筛选,以便快速找到自己需要查看的日志。
我将网站的日志内容分为五个类型,分别为:月度报告、项目进展、Bug修复、服务器相关、Github信息。
在网站上方可以通过点击各标签来进行筛选
VPN日志分析
支持了直接在本网站上进行日志分析,日志已被上传至GitHub仓库,通过我写的这个网站,可以对日志进行分析,并生成相应的报告。
工具集
在网站的右下角,我添加了一个工具集,目前工具集中共有前往Github仓库与分析日志两个工具,通过工具集可以方便地找到各个工具的入口