2024-12-21
闲着也是闲着,刚刚想到了可以给我的小游戏平台加一个代码上传和审核功能,我觉得可以这么做:
- 开发者申请自己的小游戏,只需要游戏名称全局唯一即可,得到自己的小游戏ID。
- 开发者根据格式要求(比如根目录下必须有一个index.html)上传代码压缩包,需要强制.zip格式。上传成功后向数据表中插入一条记录
- 后台自动审核:开启一个任务队列,从数据库中依次读取任务并执行。worker的任务就是拉取一个docker镜像(alpine)并安装unzip依赖(为了节省时间和性能可以预先构建一个alpine-unzip镜像并上传,或者直接本地不需要联网拉取),然后把系统指定目录(上传zip的目录)挂载到容器中 的指定目录,再把系统的nodejs环境也挂载进去,然后让容器解压指定zip文件,再让容器调用nodejs执行我的JS检测程序(为什么不用linux指令比如sed来检测代码?因为无法保证用户是否会上传恶意代码,通过调用第三方依赖库可以做到更加安全的检测),确认没问题之后再返回成功,否则返回失败。
- 人工审核(可选) 经过程序初步检测可以保证至少安全可以保证,然后我在从已通过的列表中进行复审,这一步可以忽略毕竟代码太多看着很累。
- 后面就简单了,通过CI/CD执行流水线步骤,重新部署项目即可。
先这样吧,后面有其他功能也会在这里更新。例如你的点数可以花了, 自研点数计费系统 - #41,来自 NightKitty
原帖 :(2024/11/26更新) 重磅消息 LinuxDo 在线随机匹配小游戏上线啦!