ReactPHP stratum+tcp proxy between miners and pools with database and frontend.
PHP Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE Updated README file. Mar 22, 2016


ReactPHP stratum+tcp proxy between miners and pools with database and minimal web interface.

Used to demostrate how pools steal your hash by renaming worker names and redirecting the hashrate.

Used² to recommend you to mine only on trusted (self owned!) pools.

Basically it may be run with the following command (remember first to install dependencies with $ composer):

$ php bin/php-proxy-stratum-daemon.php

Or use the init script:

 $ sudo cp dist/ /etc/init.d/php-proxy-stratum
 $ sudo chmod +x /etc/init.d/php-proxy-stratum
 $ sudo update-rc.d php-proxy-stratum defaults
 $ sudo update-rc.d php-proxy-stratum enable
 $ sudo service php-proxy-stratum start

And feel free to connect your miners at port 3333, also you can configure your webserver with pub/ as the document root and php-proxy-stratum.php as the index file.

The mining and all other configurations are hardcoded, please review/modify the daemon code before run it.

Currently the web interface features auto refresh and pool switch; a snapshot may look like (yes, is just json output):

2015-12-10 17:32:52

    "result": [
            "key": 27,
            "user": "analpaper.2",
            "version": "cgminer\/4.8.0",
            "since": "2015-12-10T16:56:22+0000",
            "last": "2015-12-10T17:32:46+0000",
            "pool": {
                "id": 0,
                "url": "",
                "port": 3333,
                "user": "analpaper.0",
                "pass": "x"
            "pending": [],
            "diff": 3801,
            "2min avg": "5,71 TH\/s"
            "key": 35,
            "user": "analpaper.3",
            "version": "cgminer\/4.8.0",
            "since": "2015-12-10T16:56:24+0000",
            "last": "2015-12-10T17:32:47+0000",
            "pool": {
                "id": "1",
                "url": "",
                "port": "3333",
                "user": "analpaper.0",
                "pass": "x"
            "pending": [],
            "diff": 1042,
            "2min avg": "1,23 TH\/s"
    "pid": 22559,
    "mem": "1.5mb"


Very special thanks to:


nope. but you can donate to your favorite developer today! (or tomorrow!)