CTFOJ is a open-source online judge to host capture-the-flag problems and contests. It is primarily designed for small-medium sized CTF clubs.
See INSTALL.md.
If you are encountering any issues, please check the repository Wiki first of the issues tab.
If you would like to open an issue about a feature request or bug report, please do so on the Issues tab.
Otherwise, email jdabtieu for other support.
If you have logged in with an administrator account, you will be able to manage the site through the "Admin Tools" interface. This includes the ability to create practice problems, contests, and announcements. Additionally, you will be able to manage users and view submissions.
Contributors are welcome. If you want to help, feel free to submit a pull request or open an issue. Please do not commit or push directly to master, unless absolutely necessary. Additionally, please make sure to test your changes thoroughly with our test suite.
Notice a security vulnerability? Refer to SECURITY.md to determine what to do.
We encourage you to follow the PEP 8 style guide for Python code, with a modification of 90 characters line length. However, longer lines may be used if breaking the line would reduce readability.
For non-Python code, please use 4 space tabs, limit your lines to under 100 characters, and use descriptive variable names.
This project is licensed under the GNU AGPLv3.