GithubHelp home page GithubHelp logo

techworm21 / cyboard Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pereztr5/cyboard

0.0 1.0 0.0 1.05 MB

Scoring engine for cyber defense competitions

License: BSD 3-Clause "New" or "Revised" License

Go 54.25% Shell 0.36% CSS 4.75% JavaScript 18.58% HTML 22.07%

cyboard's Introduction

Cyboard

This is a scoring engine for cyber defense competitions. This currently includes:

  • Database (MongoDB)
  • Front-End
  • CTF API
  • Service Checker
  • Team Score Web Socket

Background

I am doing this project as my capstone, senior project, at SUNY Polytechnic and to use for the CNY Hackathon. The goal is to make a modular Scoring Engine. The approach for the service checking is currently to accept any script and base the it on the exit status code. There are different things currently implemented as listed above but the goal is to make is modular, for example you could only use the service checking portion which provides an API to use and use our own web appication.

This is a work in progress and all suggestions are welcome.
Here are links to contacting me E-Mail: [email protected], Twitter: @tonyxpr5

Configuration

You can use a configuration file to set the setting for the program. The file name is config.toml. There are 2 different location you can have the config file, in order (last location found will be used):

  • $HOME/.cyboard/config.toml
  • . (current directory)

There are multiple ways to configure the MongoDB URI(Last location found will be used):

  • In the config file like so:
[database]
uri = "mongodb://127.0.0.1"
  • As a command line parameter
    • --mongodb_uri "mongodb://127.0.0.1"
  • As a environment variable
    • MONGODB_URI

Flags will overwrite setting in the configuration file

Installation

To get cyboard up and running with some testing data:

  1. Ensure mongodb is installed and active
  2. Configure config.toml with the correct settings for your installation of mongodb
  3. There are example data modals in the setup/mongo directory
  4. Import test data:
    • cd setup
    • sh ./dbcommands.sh
  5. Build cyboard:
    • go build
  6. Start the server:
    • ./cyboard server
  7. Take it for a spin:
    • ex: http://127.0.0.1:8080

Note on SSL: To quickly enable ssl using self-signed certs, you may run:
go run ./setup/generate_cert.go --host https://127.0.0.1:5433 --rsa-bits 4048

LICENSE

cyboard's People

Contributors

elithrar avatar pereztr5 avatar tbutts avatar techworm21 avatar

Watchers

 avatar

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.