https://github.com/toolkithub/rce-engine
HTTP API for running untrusted code inside isolated Docker containers
https://github.com/toolkithub/rce-engine
docker http remote-code-execution systemd
Last synced: about 1 month ago
JSON representation
HTTP API for running untrusted code inside isolated Docker containers
- Host: GitHub
- URL: https://github.com/toolkithub/rce-engine
- Owner: ToolKitHub
- License: mit
- Created: 2024-08-06T23:54:34.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-02T20:14:27.000Z (12 months ago)
- Last Synced: 2025-04-24T01:47:16.208Z (11 months ago)
- Topics: docker, http, remote-code-execution, systemd
- Language: Rust
- Homepage:
- Size: 205 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rce-engine
A secure service for running untrusted code inside isolated Docker containers via a simple HTTP API.
See [supported programming languages](https://github.com/ToolKitHub/rce-runner).
## Features
- **Security First**: Run untrusted code safely in isolated containers
- **Language Support**: Execute code in multiple programming languages
- **Simple API**: Easy integration with a straightforward REST API
- **Fast Execution**: Optimized container startup (250-2200ms)
- **Resource Control**: Configure memory, CPU, and execution time limits
## Quick Start
**System Requirements**:
- Ubuntu 22.04+
- Docker installed
### Installation
For installation instructions, see:
- [Standard Installation Guide](docs/install/ubuntu-22.04.md)
- [Enhanced Security Installation with gVisor](docs/install/ubuntu-22.04-gvisor.md)
### Basic Usage
Run a Python program:
```bash
curl --request POST \
--header 'X-Access-Token: your-token-here' \
--header 'Content-Type: application/json' \
--data '{
"image": "toolkithub/python:latest",
"payload": {
"language": "python",
"files": [{"name": "main.py", "content": "print(\"Hello world!\")"}]
}
}' \
--url 'http://localhost:8080/run'
```
Response:
```json
{
"stdout": "Hello world!\n",
"stderr": "",
"error": ""
}
```
## Documentation
- [Full documentation](DOCUMENTATION.md)
- [API Reference](docs/api/run.md)
- [Installation guides](docs/install/)
## License
This project is licensed under the [MIT License](./LICENSE)