/ItsWA

一个简单的评测系统

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

ItsWA
查看使用效果

Report a Bug · Request a Feature . Ask a Question

GitHub License Conventional Commits

GitHub last commit (branch) Codecov (with branch)

GitHub last commit (branch) Codecov (with branch)


关于

ItsWA是一个基于Python实现的代码评测系统,使用Lrun提供安全运行时。并且所有比赛信息均存储在ccf.json中,方便在各个计算机间的移动。

作为ItsWA的姊妹项目,ItsWA-Editor(简称ITED)实现了一个在前端的GUI,通过访问ItsWA-API的方式实现了对比赛的远程管理(即可以远程操作评测机进行评测)。

ITED的首页 ITED评测结果
image-20240415134229646 image-20240415134359382

技术栈

操作系统
开发语言 PASS
评测语言 WIP

⚠️以上使用到的徽标均遵循CC-BY-NC-SA 4.0协议,引用自VTuberized Logos

开始

查看Getting Started - ItsWA Online Documents

使用

查看安装 - ItsWA Online Documents

开发路线图

open issues 中列出了我们将会修复的bug和将会新增的功能。

寻求帮助

通过如下方式,可以向我们寻求帮助

  • 查看已解决的 Issue。
  • 发起一个新的 Github Issue。

帮助开发

为了帮助我们的开发,您可以做以下几件事:

  • 给我们的项目点一个 Star
  • 向其他OIer、教练或非正式赛事组织方推荐ItsWA。
  • Issue中向我们提起新功能建议或报告已知的Bug。
  • 根据开发规范编写贡献代码,并提起Pull Request,将其合并到我们的项目中。

开发者

本项目目前由 XYCode Kerman 一个人独立制作完成。

the contributors page 查看所有的贡献者。

安全

ItsWA无法保证我们的代码中没有安全漏洞,因此请您自行做好安全措施,包括但不限于以下几点:

  1. 不要将ItsWA Management API暴露到公网中。
  2. 不要直接将ItsWA Online Judge API暴露到公网中,使用Zerotier等服务实现有限的服务共享。
  3. 不要用ItsWA Built-in Online Judge来搭建公共OJ。
  4. 确保你可以在线下找到所有选手,如果他们的代码损坏了评测机,请立即要求他们进行赔偿!

如果您在Review Code过程中发现了任何安全问题,请勿擅自将其公开,而应立即将安全问题发送到xycode-xyc@outlook.com以获取我们的技术支持。当您获得我们的允许后,方可公开该问题。

关于遥测

为了方便开发,ItsWA会向遥测服务上报一些不涉及隐私的基本信息,该遥测服务的源代码位于XYCode-Kerman/ItsWA-Telemetering。遥测服务只会收集ItsWA的开启、关闭等基本信息,访问itte.api.xycode.club/docs以获取ItsWA遥测服务的帮助(包括自己已有的遥测信息、删除遥测记录等)。

尽管ITTE的代码中包含了收集客户端的IP地址的逻辑-,但由于ITTE使用了Service + Ingress进行部署,因此ITTE实际上收集到的IP地址实际上是集群内部的IP地址

如果您不希望使用遥测服务,请打开configs.py并将其中的TELEMETERING = True修改为TELEMETERING = False

许可证

本项目的许可证是 GPL v3

GNU 通用公共许可证是传染性协议,这意味着所有使用到 ItsWA 或基于 ItsWA 修改的程序应当 使用相同的许可证并开放源代码。

但是根据本软件作者的意愿,如果您有修改本软件并闭源的需求,请依照下方的模板,发送一份申请到 xycode-xyc@outlook.com,获得许可后您可无视 GNU 通用公共许可证中的条款来对本软件的某一版 本进行修改和再分发。(详情请见用户手册)