Skip to content
/ DirtyMike Public

🦾 Fully automated & remotely deployable watchdog setup for Monero (XMR) pool mining using rest CPU capacity.

Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit



70 Commits

Repository files navigation

DirtyMike ✌️

Quick Setup

Setup & Donate Hash Power

Fully automated & remotely deployable build & control setup for Monero (XMR) pool mining.


  • ✅ Nasty installations automated
  • ✅ Dirty packages are removed no trash legacies
  • ✅ Fast deploy commands that can trigger any arbitrary amount of servers to mine
  • ✅ Mining yields are transferred directly to provided wallet (min. 0.005 XMR)
  • ✅ Lean back with our watchdog which takes care of all servers (workers) and reboots if necessary
  • ✅ Automatic HW benchmark for optimal algorithm (see here)
  • ✅ Intervene remotely within seconds without ssh struggle, process back tracing etc.
  • ✅ Detatched mode for remote hosts (no ssh connection needed)
  • ✅ Works perfectly on low performance PCs - needs at least 2 CPU threads and ~4GB RAM (recommended)
  • ✅ Designed to be scalable
  • ✅ Will utilize unused CPU power only


  • XMR wallet
  • PC, or remote host with rest CPU power and ~4GB RAM
  • Ubuntu 20.04 (tested) or debian OS

DirtyMike can be build on any host with x64/ARMv8 CPU however strongest algos like randomx run optimally on x64 architecture (strongly recommended).


The script will automatically install:

📌 xmrig - high performance, open source, cross platform RandomX, KawPow, CryptoNight and AstroBWT unified CPU/GPU miner

📌 cpulimit for usage throttling

📌 curl

Getting Started

1. Wallet

First get a valid wallet address. If a wallet does not exist yet it can be generated quickly. For this download the official wallet software from and simply follow the instructions.

2. Install DirtyMike (Ubuntu/Debian)

wget -O - | bash


$ git clone
$ cd ./DirtyMike

3. Configuration

Open to alter the config parameters. Exchange your wallet address (mandatory) all other parameters are fine on default for now.

# ...
# Pool support many ports that are only different by their starting difficulty. Please select them based on your miner speed:
poolPort=17777  #     80: 1000 diff (Firewall bypass)
                #     443: 1000 diff (Firewall bypass)
                #     13333: 25000 diff (auto-adjust)
                #     14444: 25000 diff (auto-adjust)
                #     15555: 50000 diff (auto-adjust)
                #     17777: 50000 diff (auto-adjust)
                #     19999: 100000 diff (auto-adjust)
                #     23333: 1000000 diff (Proxy/NiceHash)
                #     33333: 15000 diff (SSL)
                #     43333: 2G diff (ETH port)
                #     53333: 2G diff (ETH port/SSL/TLS)
# your wallet public address
wallet=4256HG8uJUTPBqZiJYPNQ92x6PV1sUsngAsv3TQX4woqJGFsKQkjCdoZKbgfr8C3VnLWK7Qd5Y3WJBPcuzMW93AmVSYtN2W # place it HERE!
# installation directory (DONT change)
# remote build via IP
# remote=true #deprecated run the `. -r` for remote build deploy
# CPU range for shuffling, will alter the allowed CPU usage for the miner randomly sampled between min and max value (0-100%) 
# each random period of time. These bounds will be applied to each virtual CPU thread.
# watchdog is a backed system service which monitors that all processes are running properly
# Detatched (only needed for remote deploy to detatch process from ssh connection)
# ...

4. Deploy

Run DirtyMike locally in the root directory

~/DirtyMike$ .

The script will ask a few times to enter your password for installation. When you see the miner running benchmarks in the terminal, you should be fine. Note : If this is the first time calling

5. Deploy Remotely

Remote is triggered using the -r flag. The user is then asked to enter hostname and login credentials

~/DirtyMike$ . -r

> Hostname:
> Login: root
> Password: ...

Note: On remote servers where the process stay alive, please set the detatch in the to true. Repeat this with arbitrary hosts.

6. Monitoring

Go to and enter your wallet (public key) to monitor all servers (workers) which mine to the wallet.

Congratulations you have just started your own miner.

Deploy Variants 📡

Every method will ask for remote or local option.

Simple remote deploy

. -r

Kill Worker

. -k


. -rm

Shuffler (only)

This will run automatically.

. -s



🦾 Fully automated & remotely deployable watchdog setup for Monero (XMR) pool mining using rest CPU capacity.