This is a replacement dashboard for the Pisces Helium Miner

Overview

Pisces QoL Dashboard

This is a replacement dashboard for the Pisces Helium Miner.

The dashboard that ships with the Pisces P100 has a number of security and performance issues. The main things this dashboard fixes are:

  • Lack of any authentication on the frontend.
  • Removal of ability to run root level code from the web server.
  • Changes to the way data is polled so that the dashboard doesn't hang for ~30 seconds while waiting for GPS/Bluetooth/Helium miner to report back statuses.
  • Enabling of WiFi support (not tested with mining).

Important Notes

This dashboard is in no way supported by, or affiliated with, the Pisces dev team.

By installing this dashboard, you are inheritently making the device more secure by removing the device's ability to install things like this dashboard from the web server.

A result of this is that in the event you need to troubleshoot your device, Pisces will have one fewer tool to assist you (although arguably this should never have been a tool for them to use in the first place). I have taken steps to avoid this so please read the important information below:

Installing this script creates a sudo user called "admin" with the password "admin". When you first log in to the dashboard, it is imperative that you visit Tools > Reset Password and update this password.

Installation Instructions

  1. Find the internal IP address of your Pisces miner.
  2. Use the following link, replacing YOURIP with the IP address of your miner:
  1. Log in at https://YOURIP
  • Username: admin
  • Password: admin
  1. Click "Tools"
  2. Click "Reset Password"
  3. Enter a secure password and click submit.
  4. Enjoy!

Removal Instructions

  1. Connect via SSH to your miner (either using PuTTY or open cmd and type: ssh admin@YOURIP)
  2. Enter the admin username and the password you set.
  3. Type the following command: sudo bash /var/dashboard/uninstall.sh

Caveats

  • It's not using jQuery or anything fancy to pull statuses on stuff. If you click a button to enable/disable a service, manually refresh a few times until it updates.
  • You will likely get a "This site is not secure" banner when you first connect. This is because I've enabled HTTPS by default with a self-signed certificate. The reason it is "not secure" is because web browsers prefer certificates to be signed by an authority, not just yourself. I promise though, HTTPS with a self-signed certificate is way more secure than standard HTTP (don't take my word for it, Google "https vs http") because at least your data is being encrypted this way. If you care enough, go buy a certificate for a couple of bucks and add it into /etc/ssl/ (you've got root access now).

Buy me a beer

If you like my work, sling me some crypto:

  • ETH: 0x5130357514BA058a78855E9A6B071E0E91e39aCd
  • HNT: 13pgLa6yk2zqAx7yNUyXkqN9cKJ5WJgY8Mke92y2GwLwF94h7Ly
Comments
  • Admin account locked after reseting password

    Admin account locked after reseting password

    I made all installation and reseted the password.

    I am not able now to access to the panel. It says incorrect password but I am pretty sure I did it correctly. I used some special characters and this could affect.

    Is there any way to reset the password?

    I have seen an identical issue (https://github.com/briffy/PiscesQoLDashboard/issues/17) and the author posted a solution that seems to not be working anymore.

    I get a 404.

    Any idea?

    opened by galcopi 7
  • Replace nebra endpoints with sensecap

    Replace nebra endpoints with sensecap

    Thanks to @herrtakacs for finding this, and for providing a fix.

    The snapshots in the nebra endpoints are updated too seldom, which can cause the miner to load an old snapshot (1000 blocks behind blockchain), so these should be replaced with the ones in the sensecap endpoints, which are updated every 30 minutes.

    opened by GGAlanSmithee 4
  • Force Ethernet link to 10/100baseT on the RPi 4

    Force Ethernet link to 10/100baseT on the RPi 4

    Problem: The P100 cannot establish a link with many switches/routers that support 1000BaseT. The reason seems to be linked to the PoE subsystem on the P100 which cannot handle 1000BaseT. When the switch and the RPi auto negotiate 1000BaseT, the link fails. Therefore, a workaround is to use a switch limited to 100BaseT or manually reducing the port speed at the switch. However not all switches/routers support this feature, which leaves the user no other option than to buy new equipment.

    Solution: Limiting the advertised link modes on the RPi should fix this.

    This is done with:

    sudo ethtool -s eth0 advertise 0x0f 
    

    As per these values:

        advertise N
            Sets the speed and duplex advertised by autonegotiation.  The 
            argument is a hexadecimal value using one or a combination of
            the following values:
              0x001       10baseT Half
              0x002       10baseT Full
              0x004       100baseT Half
              0x008       100baseT Full
              0x010       1000baseT Half       (not supported by IEEE standards)
              0x020       1000baseT Full
    

    To make the changes persistent, edit /etc/rc.local and add :

     # Fix Pisces 1Gb Ethernet problem
     /sbin/ethtool -s eth0 advertise 0x0f &
    

    After the line

      # By default this script does nothing.
    

    There is probably a better place to implement this change, but I couldn't make it work in /etc/network/if-pre-up.d/ethtool .

    Ideally this change should be in incorporated to new P100 miners before shipping. Also, to the Version-0-18-EU-2021-11-06.img available for download. Once tested, perhaps you can pass this information on to the Pisces team.

    In the meantime, adding this to the QoL dashboard would be very helpful. Those affected by this problem could connect their device through WiFi (the ethernet cable only provides power at this point), install the QoL Dashboard, reboot and have a working Ethernet link.

    Links:

    opened by inigoflores 3
  • Admin account locked after changing the password

    Admin account locked after changing the password

    I installed the dashboard and initially it was OK. I updated the password and now I can not log in via web or SSH... is there any way to fix this?

    API version 0.27

    Thanks

    opened by ingmvillegas 2
  • curl -s 'https://api.helium.io/v1/blocks/height'

    curl -s 'https://api.helium.io/v1/blocks/height'

    429 Slow down gun powder!

    Error 429 Slow down gun powder!

    Slow down gun powder!

    Guru Mediation:

    Details: cache-fra19166-FRA 1637303554 2403683208


    Varnish cache server

    wget -qO- 'https://api.helium.io/v1/blocks/height' {"data":{"height":1103346}}

    opened by iotzo 1
  • Need to upgrade apt cache before installing php-7.3-fpm

    Need to upgrade apt cache before installing php-7.3-fpm

    As seen in discord, for the install script :

    root@raspberrypi:~# apt-get install php7.3-fpm Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: php-pear The following NEW packages will be installed: php7.3-fpm 0 upgraded, 1 newly installed, 0 to remove and 20 not upgraded. Need to get 1,286 kB of archives. After this operation, 4,628 kB of additional disk space will be used. Err:1 http://deb.debian.org/debian-security buster/updates/main arm64 php7.3-fpm arm64 7.3.29-1~deb10u1 404 Not Found [IP: 199.232.174.132 80] E: Failed to fetch http://deb.debian.org/debian-security/pool/updates/main/p/php7.3/php7.3-fpm_7.3.29-1~deb10u1_arm64.deb 404 Not Found [IP: 199.232.174.132 80] E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? root@raspberrypi:~#

    Solved with :

    ~# apt-get update

    Then :

    root@raspberrypi:~# apt-get -y install nginx php-fpm php7.3-fpm

    opened by joanmarcriera 1
  • Minor additions on the dashboard

    Minor additions on the dashboard

    Hi, as I said to you in discord, this are the changes that I did on the dashboard files:

    • added clean memory script to clean buffers/cache and swap every hour;
    • removed lm-sensors dependency for temp, used vcgencmd measure_temp, which is built in;
    • mounted miner logs to /home/pi/hnt/miner/log which permits the dashboard to have access to it without issueing docker commands;
    • added the removal of the older docker images when upgrading with success the version;
    • added the /etc/lsb_release update when there is a new firmware version. This file is responsible to show the firmware version on helium app.
    opened by greenward 0
  • Locked/forgotten Admin password

    Locked/forgotten Admin password

    Hello i have locked my Admin password by gettig invalid password when trying to log in to sudo what actions can i take to gain access to my miner again?

    opened by mentallyirresponsible 0
  • Bluetooth on setup

    Bluetooth on setup

    Hi, just bought a Pisces 100 Miner. I followed all the setups and plugged into my router. I get no bluetooth thru Helium app to get this going. Cable is fine. It appears when hooked up, I get no connectivity on the router either. No lights saying it has power. Is there some specials sequence to fire this up or just a defecifive unit? thanks

    opened by KClue 1
  • Problem with miner update

    Problem with miner update

    Hello,

    few days ago I tried update of miner, cause new version was available was in dashboard. old docker container was removed, but after that it stuck and don't replaced it with the new one. No UP/DW bandwidth on network. Could you please help me how to update miner? Maybe manually from ssh? Dashboard now shows nothing in "miner version" and docker container is gone.

    Thanks a lot for help !

    opened by SlappySK 3
  • Question on exporrting log

    Question on exporrting log

    Hello, I need to format and analise logs with something like elastic, logstrash and so. apart from this, I need to fetch miner's log from the pisces 100 with qol and put them on another host. How do I do this? Hw do I access logs from another machine (for example trough scp or similar)? Im not that skilled with docker. Basically: what command do I have to issue from another host to fetch logs?

    opened by CyberPingU 0
  • curl: (60) SSL certificate problem: self signed certificate

    curl: (60) SSL certificate problem: self signed certificate

    root@raspberrypi:~# docker exec miner miner info height && curl https://api.helium.io/v1/blocks/height &&echo 34768 1302549 curl: (60) SSL certificate problem: self signed certificate More details here: https://curl.haxx.se/docs/sslcerts.html

    curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above.

    and dashboard error:

    Remote IP:302 Found nginx/1.14.2

    opened by totodata 0
Releases(v0.2.4)
  • v0.2.4(Nov 30, 2021)

  • v0.2.3(Nov 30, 2021)

    • Potential fix for miner height not displaying correctly and causing it to show as perpetually syncing (thanks to fraggy2k).
    • Modified witness log output to better capture the full witness event.
    • Added uptime to the home screen.
    Source code(tar.gz)
    Source code(zip)
    latest.tar.gz(1.44 MB)
  • v0.2.1(Nov 28, 2021)

    • Removed seed connector from the auto-maintain script. Seems more and more like a Helium issue every day and no amount of smashing is going to fix it (https://github.com/helium/miner/issues/1205)
    • Fixed faulty logic with sync checker.
    • Split auto-maintain and auto-update into separate functions.
    • Removed an option in the miner update that may cause problems for the US based miners that are starting to appear.
    Source code(tar.gz)
    Source code(zip)
    latest.tar.gz(1.44 MB)
  • v0.2.0(Nov 27, 2021)

    • Added a seed node smasher into the automaintain. This digs and connects to the Helium seed nodes every hour, hopefully help with low activity on the blockchain. Or it'll DDoS the seed nodes. Let's find out.
    • Changed the sync status script to be less sensitive (THANKS SHRYKEZ).
    • Modified the blockchain clear to check for any status other than "Up" instead of specifically looking for the "exited" status.
    • Changed log files to be in reverse order.
    Source code(tar.gz)
    Source code(zip)
    latest.tar.gz(1.44 MB)
  • v0.1.9(Nov 26, 2021)

    • Added a "Logs" section.
    • Modified the miner update docker run command to add region override and change the port bindings to try and alleviate low beacon/challenge issues, running a miner update is recommended.
    • Merged Shrykez sync checker.
    Source code(tar.gz)
    Source code(zip)
    latest.tar.gz(1.44 MB)
  • v0.1.8(Nov 25, 2021)

Owner
null
Easily create WooCommerce replacement orders for your customers.

Support Orders for WooCommerce Requires PHP: 7.0 WP requires at least: 5.7 WP tested up to: 5.7 WC requires at least: 5.6.0 WC tested up to: 5.8.0 Sta

DevPress 5 Feb 24, 2022
A drop-in replacement for the Magento 2 checkout.

Clean Checkout for Magento 2 A drop-in replacement for the Magento 2 checkout. Features Modules The project is divided into several modules: Overall c

Daniel Sloof 275 Sep 14, 2022
A faster drop in replacement for bin/magento cache:clean with file watcher

"You know, hope is a mistake. If you can't fix what's broken, you'll, uh... you'll go insane." - Max Rockatansky Magento 2 Cache Clean A faster drop i

mage2tv 460 Dec 26, 2022
A replacement for Octoprint's UI and for multiple printers.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Andy Newhouse 1 Jan 19, 2022
Igbinary is a drop in replacement for the standard php serializer.

igbinary Igbinary is a drop in replacement for the standard php serializer. Instead of the time and space consuming textual representation used by PHP

Igbinary development 727 Dec 21, 2022
A Symfony2 bundle that integrates Select2 as a drop-in replacement for a standard entity field on a Symfony form.

select2entity-bundle Introduction This is a Symfony bundle which enables the popular Select2 component to be used as a drop-in replacement for a stand

Ross Keatinge 214 Nov 21, 2022
A powerful and pretty replacement for PHP's var_export()

Brick\VarExporter A powerful and pretty replacement for PHP's var_export(). Introduction PHP's var_export() function is a handy way to export a variab

Brick 145 Dec 23, 2022
Verify purchase codes right on your WordPress dashboard.

envato-purchase-code-widget Verify purchase codes right on your WordPress dashboard. Install the plugin Go to Settings->EPCW and enter your "Envato AP

null 6 Oct 28, 2021
Dashboard that shows who pings your linux box - PHP and TCPDUMP

server-ping-alert Dashboard that shows who pings your linux box - PHP and TCPDUMP This uses tcpdump and php to see who is pinging your linux box. This

null 4 May 16, 2022
Inventory manager - Light Bootstrap Dashboard

Light Bootstrap Dashboard is an admin dashboard template designed to be beautiful and simple. It is built on top of Bootstra

Ranaivonampoizina Mikajy 1 Nov 17, 2021
Perch Dashboard app for exporting content to (Kirby) text files and Kirby Blueprint files

toKirby Perch Dashboard app for exporting content to (Kirby) text files and Kirby Blueprint files. You can easily install and test it in a few steps.

R. Banus 4 Jan 15, 2022
A Magento 2 dashboard to display installed extensions. Read the blog post on some of the thinking behind it:

Extension Dashboard for Magento 2 This module adds a dashboard to review all installed extensions in the Magento admin (Magento 2.3.0+ for now only).

ExtDN 36 Dec 24, 2022
A widget that displays a Bible verse every day in the Statamic dashboard

Statamic Widget: Verse of the Day What is it A widget that displays a Bible verse every day in the Statamic dashboard. How to install it Install via c

Michael 2 Jan 27, 2022
Dashboard autônoma que mostra os dados gerais da campanha de vacinação contra a Covid-19 do Estado de Mato-Grosso

Vacinometro Covid-19 MT Web App Demo: https://vacinometro-mt.netlify.app/ Dashboard que mostra o progresso da campanha de vacinação da Covid-19 no est

Samuel Araujo 1 May 2, 2022
Small tool that extracts witness data from Helium miner logs.

Helium Miner Logs Analyzer Small tool that extracts witness data from Helium miner logs. It currently works for the Pisces 100 and miner version miner

Iñigo Flores 42 Dec 11, 2022
A proof of concept of a PHP Miner that can mine DuinoCoin

Duino Coin - PHP Miner This is a proof of concept. This miner is provided as is, with no guarantee it will work as intended for you.

Ricardo Fiorani 10 Sep 7, 2022
Simple Arabic Laravel Dashboard , has basic settings and a nice layout . to make it easy for you to create fast dashboard

Simple Arabic Laravel Dashboard ✅ Auto Seo ✅ Optimized Notifications With Images ✅ Smart Alerts ✅ Auto Js Validations ✅ Front End Alert ✅ Nice Image V

Peter Tharwat 254 Dec 19, 2022
ControlPanel's Dashboard is a dashboard application designed to offer clients a management tool to manage their pterodactyl servers.

Features PayPal Integration Email Verification Audit Log Admin Dashboard User/Server Management Store (credit system) Vouchers and so much more! Contr

ControlPanel.gg 223 Jan 5, 2023
CodeIgniter 3 + Vue.js 3 + Vite with supported Hot Module Replacement (HMR)

CodeIgniter 3 + Vue.js 3 + Vite Looking for Vue 2? Please check branch vue2 Just a basic example how to integrating CodeIgniter 3 + Vue.js 3 + Vite wi

Nur Muhammad 44 Dec 15, 2022
HashOver is a PHP comment system intended as a replacement for services like Disqus.

HashOver is a PHP comment system intended as a replacement for services like Disqus. HashOver is free and open source software, under the GNU Affero General Public License. HashOver adds a "comment section" to any website, by placing a few simple lines of JavaScript or PHP to the source code of any webpage. HashOver is a self-hosted system and allows completely anonymous comments to be posted, the only required information is the comment itself.

Jacob Barkdull 410 Dec 25, 2022