- Open Source
- /
- Snider Labs
- /
- Mining
Mining
Snider LabsA reference implementation showing how Core modules work in practice. The miner-ctrl CLI manages a hardened XMRig and XMRig-proxy (96+ security fixes and counting). Comes with a custom HTML element and Gin API so you can control everything from a GUI or command line.
Features
miner-ctrl
Go CLI for GUI/CLI management - controls both miner core and proxy components
miner/core (Hardened XMRig)
96+ security bugs fixed, all popular algorithms - ongoing hardening work
miner/proxy (Hardened XMRig-proxy)
Hardened stratum proxy for pool aggregation and failover
Module Pattern Reference
Single custom element + Gin routes = loadable Core module template
All Popular Algorithms
RandomX, KawPow, ETChash, ProgPowZ, Blake3, CryptoNight, GhostRider, and more
Two-Tier Hashrate Storage
High-resolution (10s, 5min) and low-resolution (1min, 24h) metrics
Installation
# Docker deployment
docker run -p 9090:9090 snider/mining
# Go installation
go install github.com/Snider/Mining@latest
mining-server --host 0.0.0.0 --port 9090
Usage
Repository Structure
Mining/
├── miner-ctrl/ ← Go CLI (GUI/CLI management)
├── miner/
│ ├── core/ ← Hardened XMRig (96+ fixes)
│ └── proxy/ ← Hardened XMRig-proxy
└── ui/
└── mbe-mining-dashboard.js ← Angular custom element
miner-ctrl CLI
# Start miner with profile
miner-ctrl start --profile monero-cpu
# Control proxy
miner-ctrl proxy start --port 3333
# Stats
miner-ctrl stats
Core Module Mode
// Load Mining as Core module
core.WithModule(mining.Module)
// Routes available at /api/v1/mining/*
// Element renders: <mbe-mining-dashboard></mbe-mining-dashboard>
Web Component
<mbe-mining-dashboard api="http://localhost:9090">
</mbe-mining-dashboard>
Packages
Quick Links
More from Snider Labs
Fancy helping out?
Spotted a bug? Got an idea? We'd love to hear from you.
Read the contributing guide →