Isolate. Execute. Forget.
Nyx is a lightweight Linux CLI utility to execute programs in a temporary workspace with resource limits and job-based logs.
- CLI commands:
run,inspect,help - Per-run job ID generation
- Temporary workspace creation under
/tmp/nyx_<job-id> - CPU time limit (
RLIMIT_CPU = 2s) - Memory limit (
RLIMIT_AS = 256MB) - Stdout/stderr redirection into log files:
output.logerror.log
- Post-run inspection using job ID
nyx/
├── scr/
│ ├── main.c
│ ├── cli.c
│ ├── cli.h
│ ├── executor.c
│ └── executor.h
├── Assets/
└── README.md
- Linux (tested in shell environment)
- GCC
- Standard POSIX runtime
From the scr/ directory:
gcc *.c -o nyxFrom the repository root, you can also run:
cd scr && gcc *.c -o nyx./nyx help./nyx run /bin/ls -laNyx prints a job ID, for example:
[nyx] Job ID: 1711023456
./nyx inspect 1711023456This prints:
STDOUTfrom/tmp/nyx_1711023456/output.logSTDERRfrom/tmp/nyx_1711023456/error.log
Expected output format:
[nyx] Inspecting job: 1711023456
----- STDOUT -----
...
----- STDERR -----
...
Usage flow:
- Build Nyx
- Execute
nyx run <program> [args...] - Copy the printed job ID
- Execute
nyx inspect <job-id>to view logs
- Nyx currently focuses on process limits + log capture.
- Workspace cleanup is currently disabled in code to allow inspection after execution.
- This is an early-stage project; isolation and hardening can be extended further.
- Not a full security sandbox yet (hardening still in progress).
- Temporary workspace cleanup is intentionally disabled for post-run inspection.
