/xmrig-proxy-nodonate

Monero (XMR) Stratum protocol proxy without donate

Primary LanguageC++GNU General Public License v3.0GPL-3.0

XMRig Proxy without donate

Extremely high performance Monero (XMR) Stratum protocol proxy, can easily handle over 100K connections on cheap $5 (1024 MB) virtual machine. Reduce number of pool connections up to 256 times, 100K workers become just 391 worker on pool side. Written on C++/libuv same as XMRig miner.

Compatibility

⚠️ ⚠️ ⚠️ Nicehash support must be enabled on miner side, it mandatory. ⚠️ ⚠️ ⚠️

  • Compatible with any Monero, Electroneum, Sumokoin and AEON pools, except nicehash.com.
  • Any miner with nicehash support, --nicehash option for XMRig, "nicehash_nonce": true, for xmr-stak-cpu.
  • Comparison with other proxies.

Why?

This proxy designed and created for handle donation traffic from XMRig. No one other solution works fine with high connection/disconnection rate.

Download

Usage

💥 If you use Linux and want handle more than 1000 connections, you need increase limits of open files.

Basic example

xmrig-proxy.exe -o pool.minemonero.pro:5555 -u YOUR_WALLET -p x --bind 0.0.0.0:3333 --bind 0.0.0.0:5555 

Failover

xmrig-proxy.exe -o pool.minemonero.pro:5555 -u YOUR_WALLET1 -o pool.supportxmr.com:5555 -u YOUR_WALLET2 -p x --bind 0.0.0.0:5555 

For failover you can add multiple pools, maximum count not limited.

Options

  -b, --bind=ADDR          bind to specified address, example "0.0.0.0:3333"
  -a, --algo=ALGO          cryptonight (default) or cryptonight-lite
  -m, --mode=MODE          proxy mode, nicehash (default) or simple
  -o, --url=URL            URL of mining server
  -O, --userpass=U:P       username:password pair for mining server
  -u, --user=USERNAME      username for mining server
  -p, --pass=PASSWORD      password for mining server
  -r, --retries=N          number of times to retry before switch to backup server (default: 1)
  -R, --retry-pause=N      time to pause between retries (default: 1 second)
      --custom-diff=N      override pool diff
      --reuse-timeout=N    timeout in seconds for reuse pool connections in simple mode
      --verbose            verbose output
      --user-agent=AGENT   set custom user-agent string for pool
      --no-color           disable colored output
      --no-workers         disable per worker statistics
      --variant            algorithm PoW variant
  -B, --background         run the miner in the background
  -c, --config=FILE        load a JSON-format configuration file
      --no-watch           disable configuration file watching
  -l, --log-file=FILE      log all output to a file
  -S, --syslog             use system log for output messages
  -A  --access-log-file=N  log all workers access to a file
      --api-port=N         port for the miner API
      --api-access-token=T use Bearer access token for API
      --api-worker-id=ID   custom worker-id for API
      --api-no-ipv6        disable IPv6 support for API
      --api-no-restricted  enable full remote access (only if API token set)
  -h, --help               display this help and exit
  -V, --version            output version information and exit

Contacts