Repository navigation
installation
github-actions[bot] edited this page May 13, 2026
·
1 revision
-
Go
1.23.xmatchinggo.modif you build locally. - MongoDB reachable from the ReaperC2 process (single replica is typical for small deployments).
- Optional: git with submodule support if you want the pinned Scythe tree under
third_party/Scythe(recommended for reproducible Scythe.embedded builds).
git clone https://github.com/BuildAndDestroy/ReaperC2.git
cd ReaperC2
git submodule update --init --recursive # recommended for Scythecd cmd && CGO_ENABLED=0 go build -o ReaperC2The same binary serves two HTTP listeners: beacon API (default :8080) and admin panel (default :8443).
ReaperC2 expects application collections in a database such as api_db. For local Docker-based seeding, use the scripts under test/:
cd test
./run_tests.shSee test/setup_mongo.sh for created users, indexes, and sample data. Point MONGO_HOST / MONGO_PORT at your instance when not using the default test network.
-
Bootstrap (recommended for first boot): set
ADMIN_BOOTSTRAP_USERNAMEandADMIN_BOOTSTRAP_PASSWORDwhen theoperatorscollection is empty; the server creates an Admin account on startup (password stored as Argon2id). - Manual: insert an operator document into MongoDB with a compatible password hash (see README in the repo for Argon2id / bcrypt notes).
At minimum set MONGO_HOST, MONGO_PORT, MONGO_USERNAME, MONGO_PASSWORD, MONGO_DATABASE, and DEPLOY_ENV (e.g. ONPREM). Optional MONGO_AUTH_SOURCE when the user authenticates against the admin database (common for root users).
Full variable tables: Usage and the root README.
- Docker Compose for a batteries-included local stack.
- Kubernetes for cluster deployment.
- Usage for day-to-day operation.