Skip to content

Commit 5241698

Browse files
committed
Main readme
1 parent 8706b64 commit 5241698

File tree

1 file changed

+8
-53
lines changed

1 file changed

+8
-53
lines changed

README.md

Lines changed: 8 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,14 @@
11
Sheetcode
22
====================
3-
Sheetcode is a service which allows users to create, edit and solve programming tasks and challange each other.
3+
ShetCode is a LeetCode-like platform built with Symfony and PostgreSQL. It supports public/private coding problems, sandboxed Python execution, and feedback submission. It is designed as a CTF service with multiple flagstores and intended vulnerabilities.
44
-----------------------------------------------
55

6-
# Usage
6+
# Installation and Setup
7+
## Service
8+
The service is located in the `service` directory.
79

8-
Use this repository as the base structure for your service. Please keep the directory structure and the following required files:
10+
## Checker
11+
The checker is located in the `checker` directory.
912

10-
- `README.md` with a description of your vulnerabilities and exploits.
11-
- `LICENSE` with the MIT
12-
- `.gitignore` files exclude directories or files from being committed.
13-
- `.dockerignore` files exclude directories or files from being tracked by the docker daemon.
14-
- `.env` files used by docker-compose to assign a unique project-name.
15-
- `docker-compose.yml` files to manage your service or checker containers
16-
- `Dockerfile` with commands to build your service
17-
18-
# Checking your service
19-
20-
You will have to implement a checker script, which periodically interacts with your service to store and retrieve flags and checks if it still behaves correctly. The game engine will call your checker during a CTF. Use the web interface or `enochecker_cli` to call your different checker methods.
21-
22-
## Manually
23-
However, you can also perform all game engine call manually in your local development environment.
24-
25-
- First, start your service with `cd service` and `docker-compose up --build`.
26-
- Next, start your checker with `cd checker` and `docker-compose up --build`.
27-
28-
### Web interface
29-
The checker launches a web interface on the port configured in its `docker-compose.yml`.
30-
31-
- Browse to `http://localhost:<checker-port>` to reach the checker interface.
32-
33-
### enochecker_cli
34-
35-
Install `enochecker_cli` using `pip install --user enochecker_cli`. Provide the needed checker URL (`http://localhost:8000`), service IP address (i.e. `192.168.2.112`) and the checker methods to call:
36-
37-
```
38-
$> enochecker_cli -A http://localhost:8000/ -a 192.168.2.112 putflag
39-
OK
40-
$> enochecker_cli -A http://localhost:8000/ -a 192.168.2.112 getflag
41-
OK
42-
$> enochecker_cli -A http://localhost:8000/ -a 192.168.2.112 putnoise
43-
OK
44-
$> enochecker_cli -A http://localhost:8000/ -a 192.168.2.112 getnoise
45-
OK
46-
$> enochecker_cli -A http://localhost:8000/ -a 192.168.2.112 -v 2 havoc
47-
OK
48-
```
49-
50-
## Automatically
51-
You will use CI/CD to continuously check the checker and service.
52-
53-
- First, install `enochecker_test`.
54-
- Wipe your checker's and service's `./data/` directories as `enochecker_test` requires a clean state.
55-
- Run `enochecker_test`:
56-
57-
```
58-
ENOCHECKER_TEST_CHECKER_ADDRESS='localhost' ENOCHECKER_TEST_CHECKER_PORT='8000' ENOCHECKER_TEST_SERVICE_ADDRESS='192.168.2.112' enochecker_test
59-
```
13+
# Documentation
14+
Detailed documentation is stored in `documentation` directory. It contains all the information about functionality, architecture, vulnerabilities and other aspects of the application.

0 commit comments

Comments
 (0)