PHPackages                             mirobit/bitcoin-node-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. mirobit/bitcoin-node-manager

ActiveProject[Admin Panels](/categories/admin)

mirobit/bitcoin-node-manager
============================

Lightweight dashboard and control system for bitcoin nodes

1.4.0(2y ago)133270[8 issues](https://github.com/Mirobit/bitcoin-node-manager/issues)[2 PRs](https://github.com/Mirobit/bitcoin-node-manager/pulls)MITCSSPHP ^7.0CI passing

Since Apr 26Pushed 2mo ago11 watchersCompare

[ Source](https://github.com/Mirobit/bitcoin-node-manager)[ Packagist](https://packagist.org/packages/mirobit/bitcoin-node-manager)[ RSS](/packages/mirobit-bitcoin-node-manager/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)DependenciesVersions (10)Used By (0)

Bitcoin Node Manager
====================

[](#bitcoin-node-manager)

[![](https://user-images.githubusercontent.com/13236924/102018547-2c11e800-3d6e-11eb-96bb-e0bccf76977e.png)](https://user-images.githubusercontent.com/13236924/102018547-2c11e800-3d6e-11eb-96bb-e0bccf76977e.png)

Bitcoin Node Manager (BNM) is a lightweight dashboard and control system for your Bitcoin node.

Check out [ElextrumX Dashboard](https://github.com/Mirobit/electrumx-dashboard) if you run an Electrumx Server.

Features
--------

[](#features)

- Extensive dashboard with general information about the node, connected peers and the blockchain
- Create rules to manage your peers
    - Ban, disconnect or log peers that waste resources, are slow or run alternative clients (e.g. BCash)
    - Set global events that trigger the execution of rules, run rules manually or set up a cron job
- Overview of all connected peers including country, ISP, client, traffic usage, supported services...
    - Ban or disconnect peers
    - Manage a list of web hoster to detect if peer is hosted or private
- Manage banned peers
    - Unban specific peers
    - Export/Import your ban list
    - Generate iptables rules (reject banned peers at OS level)
- Last received blocks information
- Last received forks (orphaned blocks / alternative chains) information
- Memory pool statitics
- Wallet overview (no functionality, information only)

Requirements
------------

[](#requirements)

- Bitcoin Core 0.19.0.1+
- Web Server (Apache, Nginx, PHP Server)
- PHP 7.3.0+
    - curl extension
- Docker (Alternative to Web Server and PHP)

Installation
------------

[](#installation)

1. Clone the repository.
2. Make sure `bitcoind` (`-daemon`) is running. If you use `bitcoin-qt` set `server=1` in the `bitcoin.conf` file.
3. Copy `src/Config.sample.php` and remove `.sample`. Open `src/Config.php` and enter your Bitcoin Core RPC credentials and set the BNM password.

### Manual setup

[](#manual-setup)

4. Make sure the BNM folder is in your web servers folder (e.g. `/var/www/html/`). If the server is publicly accessible, I recommend renaming the BNM folder to something unique. Although BNM is password protected and access can be limited to a specific IP, there can be security flaws and bugs.
5. Check that the server (e.g. `www-data`) has access (read and write) to the data folder (git will change the ownership by default).
6. Open the URL to the folder in your browser and login with the password chosen in `src/Config.php`.

### Docker

[](#docker)

The BNM folder is mounted as volume in Docker. This way you can edit `src/Config.php` and update BNM (`git pull`) at any time without connecting to the container.

4. Change the RPC IP in `src/Config.php` to the docker network interface IP.
5. Run either `docker-compose up -d` or `docker run -d -p 8000:80 --name bnm -v ${PWD}:/var/www/html php:7.4-apache` in the BNM folder.
6. Add the following to your `bitcoin.conf`:

```
rpcbind=127.0.0.1
rpcbind=172.17.0.1
rpcallowip=0.0.0.0/0

```

7. BNM should now be accessible under .

Security
--------

[](#security)

- All pages and control functionality are only accessible for logged-in users. The only exception is if you use the Rules cron job functionality. But a password based token is required and the functionality is only able to apply rules.
- Access to BNM is by default limited to localhost. This can be expanded to a specific IP or disabled. If disabled, make sure to protect the BNM folder (.htaccess or rename it to something unique that an attacker will not guess). An attacker could "guess" your password, since there is no build-in brute force protection.
- The `data` folder contains your rules, rule logs and geo information about your peers. Make sure to protect (e.g. `chmod -R 700 data`) peer information if your web server is publicly accessible. The previously mentioned IP protection doesn't work here. If you use `Apache` you are fine, since the folder is protected with `.htaccess` (make sure `AllowOverride All` is set in your Apache config file).

Roadmap
-------

[](#roadmap)

- Improve project structure
- Improve OOP
- Improve error handling
- Import rules functionality
- More help icons
- Display expanded peer/block info (popup)

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance55

Moderate activity, may be stable

Popularity21

Limited adoption so far

Community26

Small or concentrated contributor base

Maturity57

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 92.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~169 days

Recently: every ~239 days

Total

8

Last Release

1021d ago

Major Versions

v0.6.0 → 1.0.02020-12-13

### Community

Maintainers

![](https://www.gravatar.com/avatar/029ef28a709f6f07a69f54645965c3ddbc9fa7f1e456fcc5beeb36e63cf3faa8?d=identicon)[Mirobit](/maintainers/Mirobit)

---

Top Contributors

[![Mirobit](https://avatars.githubusercontent.com/u/13236924?v=4)](https://github.com/Mirobit "Mirobit (215 commits)")[![dArkjON](https://avatars.githubusercontent.com/u/17581781?v=4)](https://github.com/dArkjON "dArkjON (4 commits)")[![MontejoJorge](https://avatars.githubusercontent.com/u/56157795?v=4)](https://github.com/MontejoJorge "MontejoJorge (4 commits)")[![gruve-p](https://avatars.githubusercontent.com/u/11212268?v=4)](https://github.com/gruve-p "gruve-p (2 commits)")[![k0gen](https://avatars.githubusercontent.com/u/3606313?v=4)](https://github.com/k0gen "k0gen (1 commits)")[![d-rez](https://avatars.githubusercontent.com/u/1719659?v=4)](https://github.com/d-rez "d-rez (1 commits)")[![xblitz](https://avatars.githubusercontent.com/u/592097?v=4)](https://github.com/xblitz "xblitz (1 commits)")[![oonqt](https://avatars.githubusercontent.com/u/36819562?v=4)](https://github.com/oonqt "oonqt (1 commits)")[![ourlink](https://avatars.githubusercontent.com/u/10887137?v=4)](https://github.com/ourlink "ourlink (1 commits)")[![spyhunter493](https://avatars.githubusercontent.com/u/41215704?v=4)](https://github.com/spyhunter493 "spyhunter493 (1 commits)")[![drkskwlkr](https://avatars.githubusercontent.com/u/6951698?v=4)](https://github.com/drkskwlkr "drkskwlkr (1 commits)")

---

Tags

bitcoinbitcoin-nodecryptocurrencydashboardmanagernodephpmanagerbitcoindashboard

### Embed Badge

![Health badge](/badges/mirobit-bitcoin-node-manager/health.svg)

```
[![Health](https://phpackages.com/badges/mirobit-bitcoin-node-manager/health.svg)](https://phpackages.com/packages/mirobit-bitcoin-node-manager)
```

###  Alternatives

[studio/laravel-totem

A Laravel package to manage your cron jobs through a beautiful dashboard

1.8k1.1M](/packages/studio-laravel-totem)[optimistdigital/nova-page-manager

Page(s) and region(s) manager for Laravel Nova.

17988.5k](/packages/optimistdigital-nova-page-manager)[digital-creative/nova-dashboard

The missing dashboard for nova.

7169.3k1](/packages/digital-creative-nova-dashboard)[jubeki/nova-card-linkable

A Linkeable Card for the Laravel Nova Dashboard.

19246.1k](/packages/jubeki-nova-card-linkable)[eliseekn/laravel-metrics

Generate easily metrics and trends data of your models for your dashboards.

1075.7k](/packages/eliseekn-laravel-metrics)[plastyk/dashboard

An extendable dashboard for Silverstripe

2243.0k2](/packages/plastyk-dashboard)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
