Skip to content
Switch branches/tags
This branch is 23 commits ahead of mrgrshift:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Kapu Monitor Delegate "FORK Shift Checker"

Current version: 2.0

This script checks the status of your Kapu Monitor Delegate by using PHP.
Feel free to rewrite in Python or Bash.

This script will also check whether your node has forked or not.
When forked, it will stop Kapu, restore to previous snapshot, and start Kapu again.

This script will also check your consensus and switch forging to your backup node.
When both nodes have a bad consensus, it will restart Kapu and let you know by sending a Telegram message.

IMPORTANT TO MENTION If you want to use the consensus controller, you need to add your secret(s) to config.php and remove them from your Kapu config.json. Also, you have to give access to the forging API calls for both nodes. Like this ( is the extra IP):

    "forging": {
        "force": false,
        "secret": [],
        "access": {
            "whiteList": [

There are some echo lines in this file.
When you redirect output to a log file in your crontab, these lines will show up.
See section Example crontab for more information.

Be sure to run this script after:

  • You have installed kapu-snapshot
  • You have created a snapshot with kapu-snapshot


Be sure that your php.ini allows passthru(). It's default that it does though, so just check if this script is not working.

sudo apt install php php-cli php-mbstring php-sqlite3


You can clone this into every directory of your choosing. I usually just clone it into my home folder.

git clone
  • Change settings inside config.php to match your needs
  • Edit your crontab with the example below

Example crontab

* * * * * php ~/Kapu-Monitor-Delegate/checkdelegate.php >> ~/Kapu-Monitor-Delegate/logs/checkdelegate.log 2>&1

Telegram bot

Shift-Checker comes with Telegram functionality which will allow shfit-checker to send you a message if anything requires your attention. It's very easy to set up:

  • Open Telegram and start a conversation with: userinfobot
  • Put your ID inside variable $telegramId.
$telegramId = "12345678";
  • Start a conversation with: botfather
  • Say: /newbot
  • Tell botfather your bot's name
  • Tell botfather your bot's username
  • Botfather will say "Congratulations!" and give you a token
  • Put your token inside variable $telegramApiKey.
$telegramApiKey 	= "1122334455:AAEhBOweik6ad9r_QXMENQjcrGbqCr4K-bs";
  • Edit the telegram toggle (true/false)
  • Start a conversation with your bot (username) to enable communication between you two



Do you like/use my script(s)? Please consider donating the amount of a cup of coffee :-)
SHIFT: 7970982857025266480S
BTC: 1GbAWBiGyuybXJcjtyTvtH6hB5iezXNVdP


Seatrips (create snapshot when status is okay)

Mrgr (Shift snapshots)


Checks the status of your Kapu Monitor Delegate




No releases published


No packages published