Git Product home page Git Product logo

itswa's Introduction

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

技术栈

  • Python
    • Pydantic
    • AsyncIO
    • FastAPI
  • Linux
    • Lrun(WIP)

开始

查看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过程中发现了任何安全问题,请勿擅自将其公开,而应立即将安全问题发送到[email protected]以获取我们的技术支持。当您获得我们的允许后,方可公开该问题。

关于遥测

为了方便开发,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 修改的程序应当 使用相同的许可证并开放源代码。

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

itswa's People

Contributors

xycode-kerman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.