Skip to content

Latest commit

 

History

History
286 lines (194 loc) · 7.85 KB

File metadata and controls

286 lines (194 loc) · 7.85 KB

vltrig-proxy

GitHub release GitHub downloads Discord GitHub license

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.

Focus Areas

  • Anti-censorship features
  • Embedded web management UI
  • HashVault pool optimizations
  • Tracking upstream XMRig Proxy for updates and security fixes

Not Changing

  • Donation mechanics (original XMRig donation is preserved)
  • Core proxy functionality

Table of Contents


What is a Stratum Proxy?

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

Download

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

Install via APT (Ubuntu/Debian)

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-proxy

The 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-proxy

To update:

sudo apt update && sudo apt upgrade vltrig-proxy

Install via DNF (Fedora/RHEL)

Quick 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-proxy

Start and enable the service:

sudo systemctl enable --now vltrig-proxy

To update:

sudo dnf upgrade vltrig-proxy

Building

Dependencies

Ubuntu/Debian
apt install build-essential cmake libuv1-dev libssl-dev
RHEL/CentOS
yum install gcc gcc-c++ cmake libuv-devel openssl-devel
macOS
brew install cmake libuv openssl

Build Commands

make release    # Release build
make debug      # Debug build with debug logging
make rebuild    # Clean + release
make clean      # Remove build directory

Binary output: build/vltrig-proxy


Web UI

vltrig-proxy includes an embedded web management dashboard accessible through the HTTP API.

Enabling

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.

Accessing

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.

Features

  • 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)

Building Without Web UI

To disable the Web UI at compile time:

cmake .. -DWITH_WEB_UI=OFF

The Web UI requires Python 3 at build time to compress and embed the HTML into the binary.


Versioning

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

Upstream XMRig Proxy

About XMRig Proxy

Github All Releases GitHub release GitHub license

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-level option
  • XMR: 48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD

Developers: xmrig, sech1


Contributing

While vltrig-proxy is tailored for HashVault pools, improvements that benefit all users are submitted as pull requests to the upstream XMRig Proxy project.