Skip to main content

A modular Discord bot for CTF teams

Project description

drawing

OvisBot

Open source Discord bot for CTF teams


Code Style: Black

OverviewInstallationDocumentationContributionLicense

Overview

OvisBot is a modular, feature-extensive Discord bot for managing CTF teams through discord. It facilitates collaboration and organisation by providing well defined commands to create/delete/update discord category/channels in order to structure CTF problems and provide more efficient team commmunication. In addition the bot provides basic utility functions to assist the solving process of CTF challenges (encoding schemes, etc.. ). Finally, promotes competitiveness amongst team members by providing a aut-synchronised leaderboard to common cybersecurity training platforms such as CryptoHack and Hack The Box,

Note that the majority of the features are provided by isolated plugins and thus they can be enabled/disabled on demand.

This is a self-hosted bot, therefore it requires to be hosted on a private server in order to be used. Further instructions to do so are provided below. It also required a running instance of MongoDB on the server but still, the docker-based installation instructions take care of that.

Installation

There are couple ways to install the bot but generally the installing using docker-compose is the most convenient way to do it. Nevertheless, don't hesitate to use any other methods that suits you.

Installing using pip

To install using pip run the following command

pip install ovisbot

The above will install ovisbot in your python environment and will introduce the ovisbot cli. The cli provides commands to launch and interact with ovisbot.

At runtime, the bot requires a running MongoDB server. An easy way to run a local mongodb server is using docker. You skip this step if you already have one running

docker run -d -p 27017-27019:27017-27019 --name mongodb mongo

Since OvisBot requires some predifined configuration before launch, it is necessary the you set your environment variables accordingly. Alternatively you can create a .env file that defined the required variables. Refer to .env.example for an example.

OvisBot cli provides the setupenv command which assists the creation of a .env file. Therefore to contrinue run and fill in the variables.

ovisbot setupenv

At the end of the process a new .env file will be create in your current directory.

Finally to launch the bot, run:

ovisbot run

Installing using docker

Installation using docker takes care of running mongo db automatically without requiring any extra steps. To achieve this, docker-compose is utilised therefore make sure that you have docker and docker-compose installed on your system.

Firstly clone this repository:

git clone https://github.com/cybermouflons/ovisbot ovisbot && ovisbot

For the next step make sure that you have your environment variables configured properly and run:

docker-compose -f docker-compose.yml -f docker-compose.prod.yml up

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Contribution

Have a feature request? Make a GitHub issue and feel free to contribute. To get started with contributing refer to CONTRIBUTE.md.

Current Contributors:

License

Released under the GNU GPL v3 license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ovisbot-2.0.0.tar.gz (17.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ovisbot-2.0.0-py3-none-any.whl (33.0 kB view details)

Uploaded Python 3

File details

Details for the file ovisbot-2.0.0.tar.gz.

File metadata

  • Download URL: ovisbot-2.0.0.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for ovisbot-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1e60eb66ac8275e316c6a49b1f33fa226aa613cb51c164dd69493287323aa393
MD5 0b1e035b3234eca9d70de9a27e0e59eb
BLAKE2b-256 e3fa4fb702be897e33922d4eeb10bde59f43df771736967ddef25c0fb3d360c8

See more details on using hashes here.

File details

Details for the file ovisbot-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: ovisbot-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 33.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.9

File hashes

Hashes for ovisbot-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6221d8ea0bdd1a943fde97c3d1d28241f5492b8ed2d65593f34eab5a4efc036d
MD5 8402fad5a8715be38ca8288f07474cbd
BLAKE2b-256 df171e067ec58372692bdecc5515ca5355f59c4fd7eda5ea0e13d97ee9d966e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page