https://github.com/maniebra/voidrun
An isolated environment for code execution.
https://github.com/maniebra/voidrun
app docker dockerimage fastapi firejail isolation judge
Last synced: 10 months ago
JSON representation
An isolated environment for code execution.
- Host: GitHub
- URL: https://github.com/maniebra/voidrun
- Owner: maniebra
- Created: 2025-06-07T19:35:20.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-06-08T06:18:31.000Z (10 months ago)
- Last Synced: 2025-06-08T06:27:20.779Z (10 months ago)
- Topics: app, docker, dockerimage, fastapi, firejail, isolation, judge
- Language: Python
- Homepage:
- Size: 13.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VoidRun: An Isolated Environment for Code Execution
## About the Project
VoidRun is an isolated environment for code execution. It provides a safe and secure environment for executing code in a controlled environment, preventing potential vulnerabilities or attacks. It uses Firejail, a sandboxing tool, to isolate the code execution environment, ensuring that the code is executed in a controlled and secure environment.
## Usecases
Examples of usecases for VoidRun include:
- Testing code in a controlled environment.
- Debugging code in a controlled environment.
- Executing code in a controlled environment.
- Judging code in a controlled environment.
- Running projects that require installing dependencies or network access.
## New Features
- **Multi-file execution**: upload several files at once.
- **Dependency installation**: provide setup commands like `pip install`.
- **Optional networking**: enable network access when needed for tests.
## Installation
### Docker
You can use VoidRun with Docker:
```bash
docker pull maniebra/voidrun:latest
```
### Linux (Manual)
Install Firejail and VoidRun using the following commands (i.e. in a terminal in a debian based distro):
```bash
sudo apt-get update
sudo apt-get install -y \
python3 python3-pip \
firejail gcc g++ \
nodejs npm \
curl coreutils
npm install -g ts-node
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 8000
```