From ccee8016caff66bbf9781d8c361ee0b8b834a41f Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 17 May 2020 17:09:29 -0400 Subject: [PATCH] BTC integration (#5) * Initial work on LTC * Support for BTC * BTC progress * Final updates for bitcoin * configure fix --- README.md | 17 +++-- icryptonode/api/Node.php | 2 +- icryptonode/api/Updates.php | 9 ++- icryptonode/bootstrap.php | 3 +- icryptonode/cron/daemon_cron | 7 ++ icryptonode/node_commands/bitcoin | 79 ++++++++++++++++++++++ icryptonode/node_commands/litecoin | 79 ++++++++++++++++++++++ icryptonode/public/img/bitcoin.png | Bin 0 -> 40285 bytes icryptonode/public/img/litecoin.png | Bin 0 -> 58658 bytes icryptonode/system_commands/update_daemon | 10 ++- setup/icn_configure | 47 +++++++++++-- setup/lighttpd_config | 2 +- 12 files changed, 237 insertions(+), 18 deletions(-) create mode 100755 icryptonode/node_commands/bitcoin create mode 100755 icryptonode/node_commands/litecoin create mode 100644 icryptonode/public/img/bitcoin.png create mode 100644 icryptonode/public/img/litecoin.png diff --git a/README.md b/README.md index a5a838d..6afe043 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,15 @@ -# iCryptoNode - Monero Raspberry Pi Cryptocurrency Node Management Software +# iCryptoNode - Bitcoin and Monero Raspberry Pi Cryptocurrency Node Management Software [iCryptoNode](https://icryptonode.com/) is an open source software project to manage blockchain daemons, specifically for single-board computers like Raspberry Pi. It aims to be blockchain agnostic by standardizing interfaces. -For now, we are only supporting [Monero](https://getmonero.org/). +For now, we are only supporting [Bitcoin](https://bitcoin.org/) and [Monero](https://getmonero.org/). Anyone can use or build this software. Development is sponsored by [iCryptoNode.com](https://icryptonode.com/) which sells hardware pre-installed and configured with iCryptoNode and blockchain software. ## Features - Blockchains: + - Bitcoin - Monero - *More coming soon* - Privacy & Security @@ -91,6 +92,10 @@ To: Then `cmake .`, `make`, `sudo make install`. +### External Hard Drive + +If you are trying to use a cryptocurrency with a large blockchain, (Bitcoin) and need an external hard drive, you must set it up at `/mnt/[coin name]` such as `/mnt/bitcoin`. You can follow instructions [here](https://www.raspberrypi.org/documentation/configuration/external-storage.md). + ### Clone this repository In your home folder on the raspberry pi: @@ -101,7 +106,7 @@ In your home folder on the raspberry pi: This automatically configures as many things as possible. Unfortunately some things can't (easily) be automated, which is why there are more manual steps after this. `cd iCryptoNode/setup` -`sudo ./icn_configure monero` +`sudo ./icn_configure [bitcoin|monero]` Let it run. @@ -110,13 +115,13 @@ Let it run. We use GPG for our PGP encryption implementation. It must be enabled in `php.ini`. Edit `php.ini`: -`sudo nano /etc/php/7.0/cgi/php.ini` +`sudo nano /etc/php/7.3/cgi/php.ini` Navigate to the `Dynamic Extensions` section and add this line: `extension=gnupg.so` Do the same for the PHP command-line interface if you'd like: -`sudo nano /etc/php/7.0/cli/php.ini` +`sudo nano /etc/php/7.3/cli/php.ini` Make sure there are no semi-colons (`;`) before it! That comments out the line. @@ -239,7 +244,7 @@ You should now be able to access iCryptoNode. Instructions on use are hosted her When you build your own iCryptoNode rather than pre-purchase one, you need to install the blockchain software and sync it. -Go to the Updates tab and download and install the latest version of Monero. Once installed, go to the Node tab and enable the daemon. Syncing will take about a week, [unless you pre-install the blockchain](https://getmonero.org/resources/user-guides/importing_blockchain.html). +Go to the Updates tab and download and install the latest version of the blockchain software. Once installed, go to the Node tab and enable the daemon. Syncing will take about a week unless you pre-install the blockchain. ### Conclusion diff --git a/icryptonode/api/Node.php b/icryptonode/api/Node.php index 10b7d4d..823bdce 100644 --- a/icryptonode/api/Node.php +++ b/icryptonode/api/Node.php @@ -91,7 +91,7 @@ public function control($operation) { return array('success' => false); } - $output = shell_exec( NODE_CMD . ' ' . $operation ); + $output = shell_exec( 'sudo ' . NODE_CMD . ' ' . $operation ); $vpn_status = json_decode($output); return $vpn_status; } diff --git a/icryptonode/api/Updates.php b/icryptonode/api/Updates.php index 84d919e..1e04e01 100644 --- a/icryptonode/api/Updates.php +++ b/icryptonode/api/Updates.php @@ -237,7 +237,7 @@ public function install_daemon() { $daemon_compressed_path = DAEMON_DOWNLOAD_PATH . '/' . basename($update_config[NODE_TYPE]['url']); - if ($this->endsWith($daemon_compressed_path, '.tar.bz2')) { + if ($this->endsWith($daemon_compressed_path, '.tar.bz2') || $this->endsWith($daemon_compressed_path, '.tar.gz')) { shell_exec( "sudo " . SYSTEM_CMD_DIR . "/update_daemon " . escapeshellarg($daemon_compressed_path) ); } else { @@ -377,7 +377,12 @@ private function sha256($path) { private function get_update_config() { putenv('GNUPGHOME=' . GNUPG_HOME); $res = gnupg_init(); - $signed = file_get_contents( UPDATE_ENDPOINT . '/latest.json.asc' ); + if (TESTMODE_ENABLED) { + $signed = file_get_contents( UPDATE_ENDPOINT . '/testing.json.asc' ); + } + else { + $signed = file_get_contents( UPDATE_ENDPOINT . '/latest.json.asc' ); + } $plain = ""; $info = gnupg_verify($res, $signed, false, $plain); diff --git a/icryptonode/bootstrap.php b/icryptonode/bootstrap.php index a22660a..5e550e3 100644 --- a/icryptonode/bootstrap.php +++ b/icryptonode/bootstrap.php @@ -1,6 +1,6 @@ HKQ(X}s_Z}_?1j1KVlG6r(AV$ECHw+7Sr$I_> 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

Hi^7sYxU)W*1K2LQQk(!;N%UBkg7D!MICMT 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 z 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

dm+bhMsCC=NKo>f6|#f4Byfti5>JU(ht(s zyrPenJ7PG!GKU=)waMVT0*(R){arVgOT~yP72a&uFAbV!wVXwu$83OtM;6*K+{L0l zsW^}46%YY%! ztiLIy@SYZ`cD-s7_P;DlIbeG(7L^FG)kMxi7lw-{kJqYLbedMVI!4Df5 zq>?n8#G?lFyR0AlOO^s6;dx21XR|yH5CK zy7HQPs7OBWx4BzCU*y<);i#y9G0)Ob(8>esj(!HKC8+vGH_xxLCRJ-voquY}REBLV zwRCP!hhN06QiUq+FxpzSnOBkl13v0C)VM^8TH3N^r52eH2UDXZl&+*6;ZF%=JV-|t` zVg=iO0&+BuL{ea1*vaaBENdIM80u|j3U1i9?Dat|r#-OQygXfZP7gP7?X^PWj55cG zBw6uC#~i5xK7)V&7qEPw>xkG25K9Y-*93@g%13&;oG;^X-cs9W_ms37Jo#F`{_!U+ zI@@$WLFV(&hne$t7$a!Vz$$8W=BNqIh~}%)P2Tf)Xr>Z2r|W3~U-^~2J9zPs^Am4E z!pn4v$eI4`OT80?8SeDWEs^ggpasg6Hz|vu2CqkFloGKwGI}(CA9)8}--|8r7t`tP s|0x9^v{z$q{r_y;{|5ax>(sH!f~_4m@2imi7XABwgKZ|>%kN^Mx literal 0 HcmV?d00001 diff --git a/icryptonode/public/img/litecoin.png b/icryptonode/public/img/litecoin.png new file mode 100644 index 0000000000000000000000000000000000000000..ff41b6ff42ae3953d9ec26c081ff917aa79b9a02 GIT binary patch literal 58658 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

q4vEinq=g(o77BzJM@2y>0 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 literal 0 HcmV?d00001 diff --git a/icryptonode/system_commands/update_daemon b/icryptonode/system_commands/update_daemon index d571674..6ba4816 100755 --- a/icryptonode/system_commands/update_daemon +++ b/icryptonode/system_commands/update_daemon @@ -1,9 +1,15 @@ -#!/bin/sh +#!/bin/bash # Cleans out old folder, extracts the new daemon, ensures perms are correct sudo rm -rf /etc/icryptonode/daemon/* # Pass in path to compressed daemon -tar -xjf $1 -C /etc/icryptonode/daemon/ +if [[ $1 = *.tar.bz2 ]]; then + tar -xjf $1 -C /etc/icryptonode/daemon/ + +elif [[ $1 = *.tar.gz ]]; then + tar -xzf $1 -C /etc/icryptonode/daemon/ + +fi sudo chown -R www-data:www-data /etc/icryptonode/daemon/* \ No newline at end of file diff --git a/setup/icn_configure b/setup/icn_configure index b5d5582..ee417a3 100755 --- a/setup/icn_configure +++ b/setup/icn_configure @@ -2,7 +2,7 @@ usage () { echo "\niCryptoNode Configuration Program" - echo "Usage: icn_configure [monero]\n" + echo "Usage: icn_configure [monero|bitcoin|litecoin]\n" exit 0 } @@ -16,6 +16,13 @@ if [ -z "$1" ]; then elif [ "$1" = "monero" ]; then print_info "Configuring a monero node" +elif [ "$1" = "litecoin" ]; then + print_info "Configuring a litecoin node [ NOT SUPPORTED - WORK IN PROGRESS ]" + exit 1 + +elif [ "$1" = "bitcoin" ]; then + print_info "Configuring a bitcoin node" + else print_info "Error: unknown node type '$1'" usage @@ -26,7 +33,7 @@ ROOT_DIR=/var/www/html/icryptonode print_info "Installing required packages" sudo apt-get update sudo apt-get --assume-yes install ufw openvpn unzip lighttpd cmake dh-autoreconf git \ - lua5.1 liblua5.1-0-dev php7.0-fpm php7.0-cgi php-pear php7.0-dev \ + lua5.1 liblua5.1-0-dev php7.3-fpm php7.3-cgi php-pear php7.3-dev \ libgpgme11 libgpgme-dev dnsutils @@ -37,6 +44,13 @@ print_info "Creating icryptonode daemon dirs" sudo mkdir /etc/icryptonode sudo mkdir /etc/icryptonode/daemon sudo mkdir /etc/icryptonode/blockchain + +if [ "$1" = "bitcoin" ]; then + print_info "Creating blockchain folder in external disk" + sudo mkdir /mnt/bitcoin/blockchain + sudo chown -R www-data:www-data /mnt/bitcoin +fi + sudo cp ./fix_folders.sh /etc/icryptonode print_info "Importing iCryptoNode official PGP public key" @@ -52,6 +66,7 @@ sudo lighty-enable-mod fastcgi-php print_info "Replacing lighttpd config" sudo cp ./lighttpd_config /etc/lighttpd/lighttpd.conf +sudo ln -s /usr/share/lighttpd/create-mime.conf.pl /usr/share/lighttpd/create-mime.assign.pl sudo service lighttpd force-reload @@ -64,15 +79,30 @@ $ROOT_DIR/vpn/commands/change_pia_auth REPLACE_ME nothing sudo chown -R www-data:www-data $ROOT_DIR - if [ "$1" = "monero" ]; then print_info "Opening up monero daemon ports" sudo ufw allow 22 sudo ufw allow 80 sudo ufw allow 18080 sudo ufw allow 18081 + +elif [ "$1" = "litecoin" ]; then + print_info "Opening up litecoin daemon ports" + sudo ufw allow 22 + sudo ufw allow 80 + sudo ufw allow 9332 + sudo ufw allow 9333 + +elif [ "$1" = "bitcoin" ]; then + print_info "Opening up bitcoin daemon ports" + sudo ufw allow 22 + sudo ufw allow 80 + sudo ufw allow 8332 + sudo ufw allow 8333 fi +sudo ufw enable + # Set crons and enable them print_info "Creating crontab entries" echo 'PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games' >> mycron @@ -86,7 +116,7 @@ rm mycron print_info "Setting UCI variables" sudo mkdir /etc/config -touch /etc/config/icryptonode +sudo touch /etc/config/icryptonode uci add icryptonode info uci set icryptonode.@info[0].vpn_enabled='no' uci set icryptonode.@info[0].vpn_file='US_East.ovpn' @@ -100,10 +130,17 @@ uci set icryptonode.@info[0].is_updating='no' if [ "$1" = "monero" ]; then uci set icryptonode.@info[0].node_type='monero' uci set icryptonode.@info[0].daemon_rpc_port='18081' + +elif [ "$1" = "litecoin" ]; then + uci set icryptonode.@info[0].node_type='litecoin' + uci set icryptonode.@info[0].daemon_rpc_port='9332' + +elif [ "$1" = "bitcoin" ]; then + uci set icryptonode.@info[0].node_type='bitcoin' + uci set icryptonode.@info[0].daemon_rpc_port='8332' fi sudo uci commit sudo chown -R www-data:www-data /etc/config - echo "iCryptoNode configuration success!" \ No newline at end of file diff --git a/setup/lighttpd_config b/setup/lighttpd_config index 446e7ba..8b8b996 100644 --- a/setup/lighttpd_config +++ b/setup/lighttpd_config @@ -24,4 +24,4 @@ compress.filetype = ( "application/javascript", "text/css", "text/html # default listening port for IPv6 falls back to the IPv4 port include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port include_shell "/usr/share/lighttpd/create-mime.assign.pl" -include_shell "/usr/share/lighttpd/include-conf-enabled.pl" \ No newline at end of file +include "/etc/lighttpd/conf-enabled/*.conf" \ No newline at end of file