A fork of XMRig Proxy tailored for HashVault mining pools.
Anti-censorship first. Helping miners bypass network restrictions and DNS blocking that prevent access to mining pools. Mining should be accessible to everyone, everywhere.
- Anti-censorship features
- Embedded web management UI
- HashVault pool optimizations
- Tracking upstream XMRig Proxy for updates and security fixes
- Donation mechanics (original XMRig donation is preserved)
- Core proxy functionality
- What is a Stratum Proxy?
- Download
- Install via APT (Ubuntu/Debian)
- Install via DNF (Fedora/RHEL)
- Building
- Web UI
- Versioning
- Upstream XMRig Proxy
- Contributing
A stratum proxy sits between your miners and the pool, aggregating connections:
[Miner 1] --\
[Miner 2] ----> [vltrig-proxy] ----> [Pool]
[Miner N] --/
Benefits:
- Reduces pool-side connections (100,000 miners -> ~400 pool connections)
- Handles donation traffic efficiently
- Supports both NiceHash and simple modes
- Can manage 100K+ miner connections on minimal hardware
Prebuilt binaries are available on the Releases page.
| Platform | Architecture | Notes |
|---|---|---|
| Linux | x64 | Static binary (musl libc) |
| Windows | x64 | MinGW build |
| macOS | x64 | Intel Macs |
| macOS | ARM64 | Apple Silicon |
Quick install:
curl -fsSL https://hashvault.github.io/apt/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashvault.gpg && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/hashvault.gpg] https://hashvault.github.io/apt stable main" | sudo tee /etc/apt/sources.list.d/hashvault.list && sudo apt update && sudo apt install -y vltrig-proxy
Step by step:
# Add the GPG key
curl -fsSL https://hashvault.github.io/apt/KEY.gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashvault.gpg
# Add the repository
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/hashvault.gpg] https://hashvault.github.io/apt stable main" | sudo tee /etc/apt/sources.list.d/hashvault.list
# Install
sudo apt update && sudo apt install vltrig-proxyThe binary installs to /usr/bin/vltrig-proxy with a default config at /etc/vltrig-proxy/config.json.
Start and enable the service:
sudo systemctl enable --now vltrig-proxyTo update:
sudo apt update && sudo apt upgrade vltrig-proxyQuick install:
sudo rpm --import https://hashvault.github.io/rpm/KEY.gpg && sudo tee /etc/yum.repos.d/hashvault.repo <<< $'[hashvault]\nname=HashVault\nbaseurl=https://hashvault.github.io/rpm\ngpgcheck=1\ngpgkey=https://hashvault.github.io/rpm/KEY.gpg\nenabled=1' && sudo dnf install -y vltrig-proxy
Step by step:
# Import the GPG key
sudo rpm --import https://hashvault.github.io/rpm/KEY.gpg
# Add the repository
sudo tee /etc/yum.repos.d/hashvault.repo << 'EOF'
[hashvault]
name=HashVault
baseurl=https://hashvault.github.io/rpm
gpgcheck=1
gpgkey=https://hashvault.github.io/rpm/KEY.gpg
enabled=1
EOF
# Install
sudo dnf install vltrig-proxyStart and enable the service:
sudo systemctl enable --now vltrig-proxyTo update:
sudo dnf upgrade vltrig-proxyUbuntu/Debian
apt install build-essential cmake libuv1-dev libssl-devRHEL/CentOS
yum install gcc gcc-c++ cmake libuv-devel openssl-develmacOS
brew install cmake libuv opensslmake release # Release build
make debug # Debug build with debug logging
make rebuild # Clean + release
make clean # Remove build directoryBinary output: build/vltrig-proxy
vltrig-proxy includes an embedded web management dashboard accessible through the HTTP API.
The Web UI requires the HTTP API to be enabled in your config:
{
"http": {
"enabled": true,
"host": "0.0.0.0",
"port": 4040,
"access-token": "your-secret-token",
"restricted": false
}
}Set restricted to false to allow config changes and restart from the UI. When true, the UI is read-only.
Open http://127.0.0.1:4040 in a browser. If an access-token is set, the UI will prompt for it on first visit and store it locally.
If TLS is enabled, use https:// instead. The proxy auto-generates a self-signed certificate if configured cert files are missing.
- Dashboard - live hashrate, upstreams, miner count, share results, connection status
- Workers - per-worker hashrate and share statistics with sortable columns
- Miners - connected miners list with IP, difficulty, and connection time
- Config - quick-settings toggles (mode, workers, difficulty, TLS per bind, verbose) and a full JSON editor with syntax highlighting
- Restart - graceful shutdown via the UI (requires a process supervisor like systemd to restart)
To disable the Web UI at compile time:
cmake .. -DWITH_WEB_UI=OFFThe Web UI requires Python 3 at build time to compress and embed the HTML into the binary.
Version format: X.Y.Z.P
| Part | Description |
|---|---|
X.Y.Z |
Upstream XMRig Proxy version |
.P |
vltrig-proxy patch number (continuous) |
XMRig Proxy 6.24.0 -> vltrig-proxy 6.24.0.1 -> 6.24.0.2 -> 6.24.0.3
XMRig Proxy 6.25.0 -> vltrig-proxy 6.25.0.4 -> 6.25.0.5
About XMRig Proxy
XMRig Proxy is an extremely high-performance proxy for the CryptoNote stratum protocol. It can efficiently manage over 100K connections on an inexpensive, low-memory virtual machine.
Links:
Donations:
- Default donation 2% can be reduced to 1% or disabled via
donate-leveloption - XMR:
48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD
While vltrig-proxy is tailored for HashVault pools, improvements that benefit all users are submitted as pull requests to the upstream XMRig Proxy project.