Skip to content
RootMe API using distributed computing with redis
Python Other
  1. Python 98.8%
  2. Other 1.2%
Branch: master
Clone or download
Latest commit 9ced75d Aug 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
api Use regex pattern as var Aug 9, 2019
bot_discord Lint Jul 31, 2019
varnish Merge web-server & api Feb 8, 2019
worker Lint worker Aug 11, 2019
.gitattributes Add gitattributes Aug 9, 2019
.gitignore Add pycache to gitignore Feb 3, 2019 Update May 2, 2019
docker-compose.yml Merge web-server & api Feb 8, 2019

RootMe API


Self deployment

Using docker

 docker-compose up


  • Install python3, python3-pip, install the dependencies pip3 install -r api/requirements.txt
  • Launch the api python3 api/
  • Install varnish ( and replace the default config file in /etc/varnish/default.vcl by the file in varnish/config.vcl (update host to '' and the port to the port where your flask API is running). Then you can use your application with varnish HTTP cache by making HTTP requests on port 6081.

Varnish Cache is a web application accelerator also known as a caching HTTP reverse proxy. You install it in front of any server that speaks HTTP and configure it to cache the contents. Varnish Cache is really, really fast. It typically speeds up delivery with a factor of 300 - 1000x, depending on your architecture.

List of endpoints

Some endpoints need a valid RootMe username you can extract from the URL of your profile.
Here is an example with --> zTeeed-115405

Discord Bot


You need to create a discord bot here:, get a token and replace it in ./bot_discord/bot/ (you can use the public url api or your own instance)

cd ./bot_discord
apt install python3.5 python3.5-pip
pip3 install -r requirements.txt


  • today (<username>)

Return challenges solved grouped by users for last day.

  • week (<username>)

Return challenges solved grouped by users for last week.

  • add_user <username>

Add a user to team into database.

  • scoreboard

Show list of users from team.

  • remove_user <username>

Remove a user from team in database.

  • categories

Show list of categories.

  • category <category>

Show list of challenges from a category.

  • who_solved <challenge>

Return who solved a specific challenge.

  • diff <username1> <username2>

Return difference of solved challenges between two users.

  • diff_with <username>

Return difference of solved challenges between a user and all team.

  • flush

Flush all data from bot channel excepted events

You can’t perform that action at this time.