SkillAgentSearch skills...

Hustoj

Popular Simple Open Source Online Judge based on PHP/C++/MySQL/Linux for ACM/ICPC and NOIP training, with easy installation. 简单实用的开源OJ系统

Install / Use

/learn @zhblue/Hustoj
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

HUSTOJ

流行的OJ系统,跨平台、易安装、有题库、二次开发门槛低。

常见问题请先查阅

FAQ常见问答

咨询小张AI

目录

模板演示

版权说明

致谢

更新日志

<details> <summary><b>安装说明</b></summary> <br>

安装说明

注意事项

系统演示

硬件需求

校园网安装

基于 Ubuntu 20.04 安装 新手首选, 各类软件最新,最容易操作成功

Ubuntu 更换软件源

[基于Deepin深度安装](#基于 Deepin 20+ 安装)

基于CentOS安装

基于Docker安装

基于其他发行版安装

LiveCD下载安装

卸载阿里云盾

</details> <details> <summary><b>装后须知</b></summary> <br>

装后须知

备份

迁移

更新升级

修复

二次开发

</details>

支持捐助、加入社区

免费题库

求助 报错

如果您喜欢在线聊天,希望问题获得及时反馈,请加官方QQ群 23361372

如果需要付费服务,如:远程协助、服务器抢救、相关技术咨询,可加微信号:hustoj

如有远程协助需求,请提前安装向日葵,或准备好公网可连接的SSH账号。

自带的5种模板演示

syzoj主题 added by@renbaoshuo

sidebar主题

bs3原版

sweet主题

bshark主题 added by @yemaster

mdui主题 added by@renbaoshuo

修改 db_info.inc.php[默认位置/home/judge/src/web/include]$OJ_TEMPLATE 的值,即可使用上述模板。

版权说明

HUSTOJ is an GPL Free Software.

HUSTOJ 是采用 GPL 的自由软件。(仅限原创部分代码,其中使用了其他开源项目的组件,请遵循原组件的协议。)

<details>

感谢下述及其他被使用到的开源代码项目贡献者,来自这些项目的代码及衍生代码遵循其原有开源协议,不受本项目的GPL授权影响。

  • masteroj uoj loj syzoj zoj qduoj openJudger scratch-run PHPMailer
  • linux apache nginx php mysql mariadb memcached sqlite
  • bootstrap kindeditor ACEeditor blockly codemirror katex phpfilemanager mdui
  • sim gcc clang openjdk freepascal mono docker SyntaxHighlighter

排名不分先后本列表欢迎补充

注意:基于本项目源码从事科研、论文、系统开发,请在文中或系统中表明来自于本项目的内容和创意。

论文请引用参考文献 基于开放式云平台的开源在线评测系统设计与实现

如果打算进行二次开发, Wiki 和这份FAQ 可能有帮助。

上面这是建议,不是强制要求。

GPLv2 唯一实质性要求的是,当你基于本项目进行二次开发,请在分发时提供源代码,这里的分发,指您将二次开发的产品安装在您“客户”的服务器上使用,这时需要一并提供您修改过的源码,给您的“客户”(不是我,不是公开在网上)并在其中包含GPLv2的协议,并明示GPLv2的授权。这里的“客户”可以是收费的,也可以是免费的。仅提供SaaS模式的服务,让其他人在您自己的服务器上使用本软件的衍生品,并不构成这里的分发。因此,您可以部署本系统的二次开发品作为SaaS服务出租,而无需公开源码,也无需在前端页面标注,甚至可以去除原先页脚的版权信息而不破坏授权,只要您不将本系统的衍生物安装到客户的服务器上,或提供给他们二进制编译后或加密后的可运行程序使用,就不算分发。另外,如果您的软件或系统通过数据库或HTTP请求调用API来访问本系统的功能,不受本系统GPL授权的影响。

简单总结,二次开发时页脚的标注可以删除,Web目录下的GPLv2,在分发时必须保留。

如果您是完全重新开发一套Web界面,只在数据库和API层面与本品耦合,GPLv2不会对您所开发的Web部分代码构成感染。

如果您在淘宝购买了本系统的二次开发产品,请注意索取未加密的源代码,如商家拒绝提供,可以找店小二投诉,要求退款。

</details>

有关安装、使用问题请先查阅 FAQ常见问答文档 或使用搜索引擎。

如果这个项目对你有用,请:

  • 挥动鼠标,右上角给个 **Star** !
  • 保留网站页脚的二维码
  • 访问 tk题库 ,充值下载题目
  • 向同学同事推荐这个项目
  • 每天扫一扫本页底部的支付宝红包
  • 在您的论文参考文献中写出本项目的网址

Star us, please!

更新日志

<details open> <summary><b>2026年</b></summary>

日期 | 类型 | 更新内容 | 图 ------- | :--: | :--: | :------- 01-29 | 更新 | 基于人工智能的题目分类标签生成 | QQ20260129-151030 01-22 | 更新 | 修改AI调用为异步模式运行,不再影响php-fpm的进程池。|在db_info.inc.php中增加变量 $OJ_AI_API_URL=”aiapi/qwen.php”; //根据所需选择aiapi目录中的某个文件。配置$OJ_AI_API_URL所指向的文件,主要是提供其中的$apiKey 的值,其他内容可根据自己需求修改调整。 01-01 | 更新 | 允许AI辅助造题,纯鼠标点击的造题模式。|<img width="623" height="531" alt="image" src="https://github.com/user-attachments/assets/b6d4d937-142b-4068-b0b4-e06f0841492f" />

</details> <details> <summary><b>2025年</b></summary>

日期 | 类型 | 更新内容 | 图 ------- | :--: | :--: | :------- 12-30 | 更新 | 增加了新的人工智能造数据、标程工具 |<img width="1084" height="175" alt="image" src="https://github.com/user-attachments/assets/615146fb-fee6-4c49-88c7-f27359d103e9" /> 12-09 | 更新 | 增加一个命令行配置工具setup.sh | <img width="390" height="278" alt="image" src="https://github.com/user-attachments/assets/1a1ac6a8-4dc0-4a41-99d5-01d0ece016cb" /> 12-05 | 更新 | 增加比赛的AI辅助开关 | <img width="429" height="361" alt="image" src="https://github.com/user-attachments/assets/f8c5f3f3-bb85-45a6-ba33-323f5c93d849" /> 11-16 | 更新 | 增加aiapi目录,放入千问、Bigmodel、腾讯元宝、腾讯混元、huggingface 等模型接口文件,db_info.inc.php中的$QWEN_API_KEY去掉,换成$OJ_AI_API_URL来指定加载加载AI答疑文件路径。 11-05 | 更新 | 接入Qwen3-coder-480b-a35b-instruct API , 进一步解析编译错误和运行错误。 (此功能需要阿里千问的付费服务)|<img width="650" alt="image" src="https://github.com/user-attachments/assets/95ca3c13-b3aa-4c3b-9a14-371fc856a0d0" /> 在qwen.php中配置 $apiKey后可以使用。 10-26 | 更新 | 增加比赛只按最后一次提交记分可选项,之前的提交记0分,算做测试运行。|<img width="336" height="230" alt="image" src="https://github.com/user-attachments/assets/a04400ab-8053-400d-8642-79407a1535d0" /> 10-24 | 更新 | LiveCD基础发行版更新到Ubuntu24.04,podman替代docker作为判题容器。 06-08 | 更新 | 在用户信息页增加参赛信息统计,以帮助部分培训机构满足“消课”信息的快速确认。|<img width="996" height="609" alt="image" src="https://github.com/user-attachments/assets/4561fede-393a-4314-a331-cbcccac9c26a" /> 05-24 | 更新 | 增加检测是否首次AC的触发器,让本月之星排名更合理。|<img width="348" height="137" alt="image" src="https://github.com/user-attachments/assets/59f53842-84f3-49dc-ac6c-559b04ff5bee" /> 05-17 | 更新 | 用Wasm版本的SQLite在浏览器中执行SQL语言的测试运行,分散服务器测试运行的压力。 05-06 | 补丁 | 修复markdown中的选择题选项控件。 05-05 | 更新 | 比赛禁止补题选项。|79f8dff90b22d13e8a1fd5f09fc4e96e 04-25 | 更新 | PHP8.4 兼容。 04-03 | 更新 | 支持截屏粘贴转为上传文件。 04-02 | 更新 | 支持文件管理器里复制图片文件,在编辑器中粘贴。支持粘贴pdf文件,自动转换为iframe直接显示。|<img width="647" alt="f41bb38f9bf0b811724cead0bd99775" src="https://github.com/user-attachments/assets/e4ade558-f3bd-4d37-b43f-48a45ea706db" /> 04-01 | 更新 | 支持一次上传多个文件。|image 03-16 | 补丁 | 修复个人限时赛中露一手的工作异常。 03-08 | 补丁 | 修订对比和一些细节,祝天下妈妈们身体健康! 03-02 | 更新 | 初步支持龙芯架构loongarch。 01-23 | 更新 | 优化用户列表的显示。 | image 01-20 | 更新 | 增加比赛的禁止选项。| image 01-07 | 更新 | 增加矩阵转置按钮。| image 01-06 | 更新 | 增加全局题单班组(group_name)统计显示页group_total.php 。 | image 01-04 | 更新 | 增加题单的班组(group_name)统计显示页group_statistics.php 。 | image 01-02 | 更新 | 允许新闻用importance字段排序,允许双击修改importance。| image 01-01 | 预定 | 新年好!| image

</details> <details> <summary><b>2024年</b></summary>

日期 | 类型 | 更新内容 ------- | :--: | :------- 12-20 | 补丁 | 改善用户导入功能,支持带BOM的UTF8编码csv文件。优化用户删除功能的界面提示。 12-10 | 更新 | 远程调用客户端remote_service.php。 12-09 | 更新 | 远程调用接口service.php。 12-07 | 更新 | 导入用户可以设置有效期。 11-30 | 更新 | 初步增加仓颉语言支持。 11-26 | 更新 | 增加用户账户有效期,管理员手工添加的账户有从当前日期开始365天的过期时间。 老用户、自己注册的用户过期时间默认2099-01-01,默认过期天数在db_info中可以手工调节,用户名单中双击,可以修改过期时间。 11-25 | 更新 | 增加upj类型特判流程,返回值为百分制分数。 11-24 | 更新 | 增加单例部分分开关OJ_INTERNAL_MARK,对比输出中给首个不同的位置加红色。 11-23 | 更新 | 允许测试数据目录中存在judge.conf,对单题覆盖系统部分判题设置。 11-15 | 更新 | 更友善的对比输出,对单个测试数据提供部分分计算,可用OJ_INTERNAL_MARK控制。 10-19 | 更新 | 默认安装memcached,开启缓存,Docker环境在Ubuntu24.04中同步更新到24.04。 10-07 | 更新 | 修订install-deepin23.sh,并在deepin23发行版测试通过。 09-22 | 更新 | 管理员菜单增加AI链接。 09-21 | 更新 | 对在github上给项目加星的同名账号给予回应,在用户信息页点亮“排名”左侧的⭐。 09-14 | 更新 | 修订semantic ui对1200以上的屏幕宽度适应,修订MathJax的渲染过程。 09-13 | 更新 | 更加友善的错误答案对比输出。 09-08 | 更新 | 提交答案异步刷新为正确时,触发js网页特效。 09-03 | 更新 | 用PHPMailer替换原邮件组件。 08-27 | 更新 | 打包更新LiveCD,更新其中的QQ、向日葵、小熊猫C++,增加非snap独立运行的Chromium。 08-24 | 更新 | 提高判断选择题格式容错性。 08-19 | 更新 | 用户管理页增加IP地址列。 07-25 | 更新 | 增加problem表、contest表索引。 07-24 | 更新 | syzoj强制提交文件名,solution.name。 07-22 | 更新 | 基于syzoj修改增加侧边栏皮肤sidebar。 07-20 | 更新 | 增加待完成的任务功能页。 07-19 | 更新 | 允许参加私有比赛的人在比赛结束后补题,免开自由练习模式。 07-13 | 更新 | 给syzoj增加打印服务功能页。 07-03 | 更新 | 调整策略,在CPU核心数大于7的机器上,增加判题的反应速度,减少平均等待时间。 06-29 | 更新 | 调整一本通检测URL,导出xml时增加markdown标记中的图片打包。 06-22 | 更新 | 适当重构状态页,增加学校班级过滤条件。 06-12 | 更新 | 增加导入zip压缩的.md文件为题目的功能。 06-11 | 补丁 | 修补syzoj中部分中文为国际化文本常量。 06-08 | 更新 | 为国内Docker镜像失效准备临时镜像。 05-31 | 更新 | 改良下载的比赛排名,让每个学生只占一行,方便后期公式计算。 05-29 | 更新 | 增加编辑题目的预览窗口。 05-14 | 更新 | 增加新华社敏感词。 04-26 | 更新 | Ubuntu24.04安装脚本初版。 04-22 | 更新 | 增加导入离线比赛模式。 04-23 | 补丁 | 修补03-26引入的mathjax解析错误。 04-22 | 更新 | 增加scratch3上传文件模式。 04-06 | 更新 | 测试数据管理界面增加了生成input.name/output.name文件的功能。 04-05 | 更新 | @Tiang-88 增加了露一手功能中,左右屏幕占比调整的功能。 03-26 | 更新 | 增加对来自hydro的主观题格式题目导入,支持图片附件的导入。允许更换markdown-it作为markdown解析器。 03-24 | 更新 | 增加R语言支持,仅限x64环境。 03-16 | 更新 | @Tiang-88 改善MathJax渲染,补充了字体并修订了部分显示效果。 03-15 | 更新 | 代码提交页按Ctrl+双击鼠标整理C语言代码缩进

View on GitHub
GitHub Stars3.7k
CategoryData
Updated5h ago
Forks816

Languages

JavaScript

Security Score

100/100

Audited on Mar 31, 2026

No findings