Coder Social home page Coder Social logo

trolldemorted / ctfpad Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stratumauhuur/ctfpad

0.0 2.0 0.0 252 KB

A web UI and server for task based competitions employing Etherpad Lite.

License: MIT License

CoffeeScript 17.52% JavaScript 62.45% Shell 0.08% Ruby 0.09% CSS 7.50% HTML 12.36%

ctfpad's Introduction

CTFPad

A web UI and server for task based competitions employing Etherpad Lite. It features CTF and Task managemeent, CTF&Task based file uploads and user assignment. May be used for other purposes.

Installing

  • acquire Node.JS v10.x and npm, sqlite3 and openssl
  • check if node is in PATH, create a link to nodejs if necessary (usually necessary on Debian/Ubuntu)
  • executenpm install
  • install etherpad-lite into etherpad-lite (see https://github.com/ether/etherpad-lite) and run it once to install all the dependencies
  • create ctfpad.sqlite with ctfpad.sql (on Debian use sqlite3 ctfpad.sqlite < ctfpad.sql)
  • if necessary, create a keypair with new_certs.sh (or use any other certificate pair)
  • copy config.json.example to config.json and tweak to your needs (see Configuration)
  • create a directory named uploads or soft link another location

Configuration

CTFPad

  • port: TCP port the CTFPad will listen on
  • etherpad_port: TCP port where Etherpad Lite will be reachable from the outside
  • etherpad_internal_port: TCP port where Etherpad Lite is reachable locally
  • keyfile: location of the SSL key file
  • certfile: location of the SSL cert file
  • authkey: a secret string needed to register

Etherpad Lite

Follow the instructions on the project pages. It is recommended to configure Etherpad Lite to only listen locally. The CTFPad will provide an authenticating proxy for accessing Etherpad Lite.

Running

Start the server by running node main.js or coffee main.coffee if Coffeescript ist installed globally.

Using

If you are using a self-signed certificate (which is the case for certificates generated with new_certs.sh) it may be necessary to access https://$host:$etherpad_port directly to add an certificate exception since most browsers do not allow adding exceptions for iframes.

ctfpad's People

Contributors

bennofs avatar comawill avatar kasalehlia avatar lucebac avatar

Watchers

 avatar  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.