Giter Club home page Giter Club logo

flaggr's Introduction

image

Flaggr is a CTF platform with a simple, modern UI.

Why Flaggr ?

Flaggr was created by computer science students at Université de Sherbrooke. We wanted to build a platform that felt great to use for the admins and the participants. More precisely:

  • A single instance, multiple competitions

    Flaggr allows to administer many competitions on the same machine, either simultanously or one at a time, with a single instance. This reduces configuration time and allows event organizers to focus on what's important: the competition. It also allows to easily keep trace of scores in previous competitions. image

  • Single-Page App

    Flaggr has been build with the idea that a competition platform should feel fluid to use. This is why we built it as a SPA, reducing subsequent pages load to a minimum. Combined with async API calls with a UI indicator, it makes using Flaggr feels like a fun, fast and fluid experience.

  • Intuitive UI

    We wanted to build a UI where the users don't ask themselves hard questions about how Flaggr should be interacted with. We also wanted it to feel modern.

    https://www.youtube.com/watch?v=cUHMvHJ4g4c

Deployment

Dependencies

The only dependencies to deploy Flaggr are Docker and Docker-Compose, usually shipped with Docker.

Once installed, all you need to do is execute these command:

git clone https://github.com/JDIS/flaggr.git
cd flaggr
docker-compose up

Ports 80 and 443 need to be available for Flaggr to successfully start.

Using HTTPS with Flaggr

Flaggr supports HTTPS (with HTTP/2) with Let's Encrypt. All you need to do is edit docker-compose.yml and set the DOMAIN environment variable to the domain you wish to have a certificate for. On startup, certbot will try to issue a signed certificate for the provided domain. The cert is kept in the newly created letsencrypt folder. This is the recommanded approach.

If you already have a cert for the domain, you can use it by copying the content of /etc/letsencrypt in a folder named letsencrypt at the root of Flaggr.

On startup, certbot will always attempt to renew the cert, if possible.

If the domain name is not set (default), Flaggr uses HTTP (HTTP/2 cannot be used without HTTPS).

Administration

To administer the platform, you need to go to /admin. A username and password will be printed on the first startup of Flaggr. Take note those credentials!

Contributions

Dependencies, procedures and contribution guidelines are detailled in their respective README:

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.