🔒 闭源软件 · 游戏开发接口开放

把课堂文件收发和
打字练习放进一个网页

一台主机部署即用,学生用浏览器上传下载、练打字、玩打字游戏; 管理员在一个后台管账号、管文件、管成绩、管游戏。不在同一局域网?客户端一键组网接入。

● 免安装运行 ● 跨网络组网 ● 6 套界面皮肤 ● 成绩自动入库
46类危险文件拦截
300MB每生上传配额
8人同房间联机
6套界面皮肤
http://10.126.126.1:8080/
📁 共享文件 已登录:张三
📘 实验三_链表实现.cpp张三 · 4.2 KB · 下载 12 次 下载
📄 课程设计要求.pdf李老师 · 1.8 MB · 下载 37 次 下载
📦 课件_第5章.zip王老师 · 12.6 MB · 下载 25 次 下载
🖼️ 实验结果截图.png张三 · 486 KB · 下载 3 次 下载
核心功能

三件事,一个平台全包了

不用再装 FTP、不用再插 U 盘、不用再找打字软件。打开浏览器就能开始。

📁

文件共享

拖进浏览器就上传,点一下就下载。支持整文件夹上传,自动去重、同名自动改名。

  • 拖拽 / 多选 / 整文件夹上传
  • 上传进度、速度、剩余时间
  • 危险文件类型自动拦截
  • 可分别限制上传与下载速度
  • 上传者可自行删除自己的文件
⌨️

打字练习

用真实代码当练习素材,屏幕键盘高亮下一个键,手指提示告诉你该用哪根手指。

  • 内置素材 + 平台模板 + 本地文件
  • 虚拟键盘与十指提示
  • 速度 / 正确率 / 输错率实时统计
  • 可跳过注释、空行与缩进
  • 成绩自动入库,老师可查可导出
🎮

打字游戏

单机练手,或者输入同一个房间号和同学实时对战。成绩自动进排行榜。

  • 插件式游戏,后台可启停
  • 单机与联机房间对战
  • 成绩自动入库与排行
  • 游戏开发接口对外开放
打字练习

像玩游戏一样练打字

选一段代码或文章,跟着屏幕敲。平台实时算速度、正确率和输错率, 空行与行首缩进自动跳过,不用把时间浪费在敲空格上。

  • 下一个要按的键在虚拟键盘上高亮
  • 下方手型提示该用哪根手指
  • 可切换「要打注释 / 不打注释」
  • 练习结束一键提交成绩,老师后台可见
http://10.126.126.1:8080/typing
01:24用时
142字符/分
97.2%正确率
2.8%输错率
#include <iostream>
int main() {
  std::cout << "hello";
}
QWERTYUIOP
ASDFGHJKL
ZXCVBNM
管理后台

一个后台,把整间机房管住

学生自助注册,不用一个个建账号;谁传了什么、谁练了多少、谁在玩游戏,后台一眼看清。 密码忘了老师直接重置,文件违规一键删除。

  • 仪表盘:学生数、文件数、成绩数、游戏状态
  • 学生管理:重置密码、删除账号
  • 文件管理:查看下载次数、删除任意文件
  • 成绩管理:明细查看 + 一键导出 CSV
  • 游戏管理:重新扫描、启用 / 停用
  • 系统设置:文件类型黑名单、上下行限速
http://10.126.126.1:8080/admin/
📊 仪表盘 管理员
128已注册学生
342共享文件
1,984打字成绩
3启用中的游戏
桌面客户端

不在同一个局域网,也能连上

学生机在家里、在别的楼层、在另一个网段?把客户端文件夹发过去,点一下「开始连接」就够了—— 自动组网、自动找服务器、自动更新,不需要公网 IP,也不需要配置端口映射。

组网与连接,学生只需要点一个按钮

  • 一键组网:自动建立虚拟局域网,自动搜索服务端
  • 身份校验:连接时校验服务端身份,防止连到冒充的服务器
  • 自动更新:连上就自动比对并升级,学生无需操作
  • 下载管理:下载进度、速度、一键打开所在文件夹
  • 日志上报:出问题点一下就能把日志发给维护者
  • 在线可见:管理端能看到设备主机名、使用者与在线时间
lch收发 · 客户端
下载管理
课件_第5章.zip
72% · 9.1 MB/s
实验三_链表实现.cpp
已完成
课程设计要求.pdf
已完成
● 已连接 lch-server 10.126.126.7
内嵌服务端页面
⭐ 唯一开放的能力

游戏开发接口对外开放

本软件为闭源软件,但游戏插件开发完全开放。 一个文件夹、三个文件,就是一个能被平台加载、能被学生玩到、成绩能进排行榜的游戏。

插件长什么样

  • game.json —— 元数据:名称、图标、简介、人数、是否联机
  • static/index.html —— 游戏界面,平台自动放进页面里
  • server.py —— 服务端逻辑,联机游戏才需要

平台给你什么

  • 独立接口前缀:/api/game/<你的游戏>/…
  • 独立实时通信频道:/game/<你的游戏>,各游戏互不干扰
  • 成绩提交通路,写一次就进后台与排行榜
  • 学生姓名、房间、人数上限等基础能力现成可用
  • 放进目录 + 点「重新扫描」即上线,不用改平台任何代码
查看完整游戏开发指南 →
// ① game.json —— 告诉平台你是谁
{
  "key": "my_game",
  "name": "我的游戏",
  "icon": "🎲",
  "description": "一句话说明玩法",
  "has_server": true,
  "max_players": 8
}

# ② server.py —— 定义 Game 类即可
from games.base import BaseGame


class Game(BaseGame):

    def register_routes(self, bp):
        # 地址: /api/game/my_game/hello
        @bp.route("/hello")
        def hello():
            return {"ok": True}

    def register_socketio(self, socketio, namespace):
        # 频道: /game/my_game
        @socketio.on("join", namespace=namespace)
        def on_join(data):
            socketio.emit("joined", data, namespace=namespace)

# ③ static/index.html —— 你的游戏界面
部署与要求

一台 Windows 主机就能跑

以打包好的程序形式分发,目标电脑无需安装任何开发环境。

项目说明
运行环境Windows 主机一台,免安装运行环境;整个程序文件夹一起拷贝即可
访问入口浏览器访问 http://服务器地址:8080/,管理后台在同地址加 /admin/login
端口默认 8080,可在启动器里修改;需在防火墙放行该端口
客户端可选。跨网络使用时发放客户端文件夹 + 配置文件;需整目录拷贝,程序会请求管理员权限以安装虚拟网卡驱动
账号学生自助注册(姓名 + 密码 + 验证码);管理员首次登录强制改密
上传限制单次不超过 100 MB;每名学生累计 300 MB;默认拦截 46 类可执行与脚本文件
数据账号、文件索引、成绩与共享文件都保存在程序目录下,定期备份即可
组网跨网络接入时由客户端自动完成,无需公网 IP 与端口映射
开放性软件本体闭源;游戏插件开发接口对外开放
安全设计

在学校网络里用得住

从登录到文件落盘,每一环都做了基本防护。

🛡️危险文件拦截

默认拦截 46 类可执行与脚本文件,阻断通过共享目录投放木马的最常见路径,管理员可自行调整。

🔐登录鉴权

学生登录与注册均需图形验证码;上传文件、提交成绩都必须先登录。

🔑身份校验

客户端连接时校验服务端身份,避免学生把数据交到冒充的服务器上。

🧱路径防护

下载路径做了穿越防护,无法借文件下载读取服务器上的其他内容。

🚦限速与配额

可限制上传下载速度、限制每人占用空间,保证多人同时使用时不被个别大文件拖垮。

👥权限分级

超级管理员与普通管理员分离,增删管理员等敏感操作仅超级管理员可执行。

常见问题

大家最常问的几件事

需要在一台电脑上装什么吗?
不需要。服务端是打包好的程序,目标电脑不用安装运行环境,整个文件夹拷过去双击启动即可。学生端只要有浏览器就能用,连浏览器都不用装额外的插件。
学生不在同一个局域网能用吗?
可以。把客户端文件夹和配置文件一起发给学生,运行客户端点「开始连接」,程序会自动组网并搜索服务端,整个过程不需要公网 IP,也不用在路由器上做端口映射。
能上传 exe 或压缩包吗?
可执行与脚本类文件(如 exe、bat、dll、ps1、jar 等,默认 46 类)会被自动拦截,以防在班级电脑之间传播木马。压缩包可以正常上传——如果确实需要传程序,压成压缩包再传即可。管理员也可在后台调整这份拦截清单。
每个学生能传多少东西?
单次上传不超过 100 MB,每人累计 300 MB。学生在首页删除自己以前上传的文件后,空间会立即释放。
学生的打字成绩怎么统计?
每次练习结束提交成绩后,速度、正确率、输错率、用时都会入库。管理员可在后台查看明细,并按考试或班级需要一键导出成 CSV 表格,直接用 Excel 打开。
能自己加游戏吗?
能,而且这正是本软件对外开放的能力。按公开的游戏开发接口写一个插件文件夹放进游戏目录,在后台点「重新扫描」就能上线,不需要修改平台本身。接口规范与示例见游戏开发指南。
能不能拿到源代码?
不能。本软件为闭源软件,不提供源代码与内部实现细节;对外开放的只有游戏插件开发接口。如需二次定制,请联系维护者。
杀毒软件报毒怎么办?
打包后的程序有时会被误判。把整个程序目录加入杀毒软件的信任区或白名单即可,注意不要只添加单个文件。
数据放在哪里?怎么备份?
账号、成绩、文件索引与共享文件都保存在程序目录下,首次运行时自动生成。定期把整个程序目录备份一份即可;恢复时保持目录结构不变整体替换。
⬇️ 下载与获取

获取软件

部署包、桌面客户端与解压缩软件统一放在网盘。点开卡片即可跳转;有提取码的点一下按钮就能复制。

下载前请确认

  • 部署包运行在 Windows 主机 上,免安装运行环境;整个文件夹拷贝过去双击启动即可。
  • 桌面客户端用于 跨网络组网,需整目录拷贝;首次运行会请求管理员权限以安装虚拟网卡驱动。
  • 若杀毒软件误报,请把 整个程序目录 加入信任区,不要只添加单个文件。
  • 链接失效或获取不到,可邮件联系 [email protected]。