fbx v0.1.0 — macOS & Linux
Run it in a sandbox
The fbx command-line client for Firebox.
One command to install, one to configure, one to run. Your code executes inside its own Firecracker microVM — then the sandbox is destroyed. Nothing touches your machine.
$ fbx run script.py
Sandbox sb_4dee82408148 on g6-baremetal-01 — provisioned in 6ms
$ python3 snippet.py
────────────────────────────────────────
hello from the sandbox
────────────────────────────────────────
Exit code 0 in 212ms — total 891ms wall clock.
Install
Single static binary, no dependencies. Pick your platform:
$ curl -sL https://getfirebox.dev/downloads/fbx-darwin-arm64 \
-o /usr/local/bin/fbx && chmod +x /usr/local/bin/fbx
$ curl -sL https://getfirebox.dev/downloads/fbx-darwin-amd64 \
-o /usr/local/bin/fbx && chmod +x /usr/local/bin/fbx
$ curl -sL https://getfirebox.dev/downloads/fbx-linux-amd64 \
-o /usr/local/bin/fbx && chmod +x /usr/local/bin/fbx
$ curl -sL https://getfirebox.dev/downloads/fbx-linux-arm64 \
-o /usr/local/bin/fbx && chmod +x /usr/local/bin/fbx
Prefer a manual download? macOS · Apple Silicon · macOS · Intel · Linux · x86_64 · Linux · ARM64
Quickstart
Install, configure, run — under a minute.
Install
Download the fbx binary for your platform and put it on your PATH.
Configure
fbx config set-key <your-api-key> — grab a key from the Firebox dashboard (Keys tab). Or set FBX_API_KEY as an environment variable instead.
Run code
fbx run script.py — creates a sandbox, uploads your file, executes it with the right interpreter, prints the output, and always deletes the sandbox.
Command reference
Everything fbx can do. Run fbx --help or fbx <command> --help for full details.
| Command | What it does |
|---|---|
fbx run <file> | Create a sandbox, upload the file, run it (.py → python3, .js → node, .sh → bash), print output, delete the sandbox. Exit code is the remote command’s. |
fbx exec <id> -- <cmd> | Run a command inside an existing sandbox. |
fbx sandbox create | Create a sandbox. --template python picks the image. |
fbx sandbox list | List your sandboxes. |
fbx sandbox get <id> | Show sandbox details. |
fbx sandbox delete <id> | Delete a sandbox. |
fbx template list | List available templates. |
fbx config get | Show config (API key masked). |
Built for scripting
Stdout is clean (sandbox output only); metadata goes to stderr — so fbx is pipe-friendly.
# capture just the program output
$ result=$(fbx run calc.py 2>/dev/null)
# long-lived sandbox for iterative work
$ sb=$(fbx sandbox create --template python | awk '/^id:/{print $2}')
$ fbx exec $sb -- pip install requests
$ fbx exec $sb -- python3 -c "import requests; print('ok')"
$ fbx sandbox delete $sb