Skip to content

Arbitrary code execution server using Docker //in Go//.

License

Notifications You must be signed in to change notification settings

HichuYamichu/myriag

Repository files navigation

Myriag

Arbitrary code execution server using Docker //in Go//.

Inspiration

Why

Just to play around with Docker SDK

Endpoints

GET /languages

List of enabled languages.
Example response:

["go", "typescript"]

POST /eval

Evaluate code.
JSON payload with language and code keys.
The language is as in the name of a subfolder in the languages directory.
Example payload:

{ "language": "go", "code": "package main; import \"fmt\"; func main() { fmt.Println(\"hello world\")}" }

Example response:

{ "result": "hello world\n" }

Errors with 404 if language is not found, 504 if evaluation timed out, or 500 if evaluation failed for other reasons.

GET /containers

List of containers being handled by Myriag.

POST /cleanup

Kill all containers, giving back the names of the containers killed.

About

Arbitrary code execution server using Docker //in Go//.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published