Compare commits

...

1558 Commits
v1.7.1 ... main

Author SHA1 Message Date
rootzoll
c73c5f022a #2074 remove docker install 2024-08-06 20:01:15 +02:00
rootzoll
336a3418e9 updated torrent v1.11.1-fat 2024-08-05 18:09:00 +02:00
/rootzoll
27bdcb072c
#4643 get codeversion directly from file (#4674)
* detect release Candidate
2024-07-31 16:39:55 +02:00
/rootzoll
3c71712653
#4643 retest releasecadidate (#4673)
detect release Candidate
2024-07-31 15:29:57 +02:00
rootzoll
ed675f628d RaspiBlitz v1.11.1 2024-07-29 20:22:02 +02:00
/rootzoll
62a34a6105
#4660 More flexible interims tested Bitcoin Core update option (#4661)
* #4660 set 27.1 as tested update
* #4660 allow tested updates on every sub release
2024-07-29 20:16:24 +02:00
rootzoll
0f1b1fc433 chore: Update RaspiBlitz to version 1.11.1rc3 2024-07-26 12:44:03 +02:00
rootzoll
0134325bfe v1.11.1rc3 2024-07-24 23:46:30 +02:00
rootzoll
d2bcb4c34a release v1.11.1rc2 2024-07-24 12:19:58 +02:00
/rootzoll
1e5ea5ff6f
#4654 pyblock 2.7.2 (#4657)
* Update pyblock to v2.7.2
2024-07-24 12:00:26 +02:00
rootzoll
1183448f4f version bump v1.11.1rc2 2024-07-24 00:41:07 +02:00
/rootzoll
cd424ac955
#4642 dont use release branches on RCs (#4656) 2024-07-23 23:30:11 +02:00
/rootzoll
e7bb32a485
#4654 pyblock 2.7.1 (#4655)
Update PyBlock to 2.7.1
2024-07-23 23:29:21 +02:00
rootzoll
d9b091be1a ensuring the system is in a consistent state for release 2024-07-22 17:43:55 +02:00
rootzoll
4d4385a840 only security updates on release 2024-07-22 13:22:15 +02:00
rootzoll
a68069d3ee softer update OS during release 2024-07-22 11:08:05 +02:00
rootzoll
544e49ecf8 make sure to update os on release 2024-07-22 10:43:57 +02:00
/rootzoll
9f7c479b0d
#4649 correct electrs installed status (#4651)
#4649 old installed/configured status
2024-07-21 00:04:44 +02:00
/rootzoll
eaeb96ae14
v1.11.1rc1 release (#4645)
* v1.11.1rc1 release

* fix headlines
2024-07-10 22:57:30 +02:00
rootzoll
2058903689 #4642 WebUI master branch during RC phase 2024-07-10 13:28:20 +02:00
openoms
40e970d828
i2p: limit addseednodes to 21 new peers, format script (#4641)
* i2p: limit addseednodes to 21 new peers, format script
2024-07-06 15:58:38 +02:00
openoms
9a2de6cad5
update amd64 base image to debian-12.6.0-amd64-netinst.iso (#4637)
* update amd64 base image to debian-12.6.0-amd64-netinst.iso
* add resolvconf and nameservers for the amd64 build
2024-07-03 16:32:37 +02:00
rootzoll
b6c8bc17da Update codeVersion to 1.11.1rc1 2024-06-28 11:58:29 +02:00
openoms
8a16a8ffe0
btcpay nbxplorer update: try to webflow key (#4627) 2024-06-21 17:16:37 +02:00
/rootzoll
22a95cae08
Reduce use of "sudo" (#4522) 2024-06-19 23:02:41 +02:00
geco91
e4c51fe22e
#4585 Dont reboot after change of Password B (#4614) 2024-06-19 22:57:52 +02:00
openoms
c5c984f3e5
switch SUMMARY to cl-plugin.summars (#4625)
* add summars plugin script

* switch to summars plugin, remove summary plugin
2024-06-19 22:56:42 +02:00
/rootzoll
13acbe94b0
Update config.yml
removing the Q+A Discussion
2024-06-18 21:49:58 +02:00
/rootzoll
88168842dc
Adding Labelbase to menus & recover (#4620) 2024-06-10 22:11:05 +02:00
Xavier Fiechter
5e732ce67f
Labelbase Bonus Integration bonus.labelbase.sh (#4616) 2024-06-10 20:25:09 +02:00
/rootzoll
d746bf3353
update LIT v0.12.5 (#4617) 2024-06-10 16:41:06 +02:00
/rootzoll
b4e38e8741
#3261 change text (#4619) 2024-06-10 16:40:39 +02:00
/rootzoll
e74b129f22
Update lnd 0.17.5 & recommended bitcoin update 27.0 (#4601)
* update lnd 0.17.5 &  recommended bitcoin update 27.0
* fix sync screen
2024-06-09 22:24:35 +02:00
/rootzoll
0516aa5971
#2552 adding electrum sync progress to infoscreen (#4603)
* #2552 getting the synced blockheight with nc
* feat: Add blockheight information to electrs status command
* add info in CHANGES
2024-06-09 22:24:02 +02:00
/rootzoll
20650fd3e7
#2558 deprecated Sphinx-Relay (#4599) 2024-06-09 22:23:02 +02:00
/rootzoll
36b38d5118
#1712 Add setting Timezone (#4604)
* #1712 adding blitz.time.sh
* Add Info on CHANGES
2024-06-09 22:21:47 +02:00
/rootzoll
513c759e5c
#1953 Remove autopilot & keysend from SSH menus (#4605)
* #1953 remove autopilot and keysend from menus

* add to CHANGES
2024-06-09 22:21:08 +02:00
/rootzoll
8e6e92b37c
#4541 remove text (#4608) 2024-06-09 22:20:37 +02:00
/rootzoll
0df22b0504
#4554 Deactivate Touchscreen Option in SSH Menu (#4609)
#4554 in menu deactivate touchscreen
Deactivate touchscreen provisioning script
2024-06-09 22:10:47 +02:00
openoms
4388da4859
ask before reboot in UPDATE menu (#4606)
* ask before reboot in UPDATE menu

* correct comments
2024-06-09 19:58:54 +02:00
geco91
500e26d500
#2314 Update lndmanage to v0.16.0 (#4612)
* #2314 update lndmanage v0.16.0
* add CHANGES info
2024-06-09 19:54:48 +02:00
geco91
0351d2fb5e
#4538 remove CopyStation script (#4611) 2024-06-09 19:47:33 +02:00
/rootzoll
1cdfc3e6f6
feat: Add system uptime text to infoBlitz script #4108 (#4600) 2024-05-29 23:44:05 +02:00
/rootzoll
af85242be5
Add charge-lnd bonus script (#4594)
* Add charge-lnd bonus script
2024-05-29 17:05:46 +02:00
openoms
28bde64e9a
add elements install script for Liquid support (#4573) 2024-05-29 16:55:38 +02:00
openoms
770587eee2
btcpay update to v1.13.0, signed by web-flow (#4526)
* btcpay update to v1.13.0, signed by web-flow
* add to CHANGES
2024-05-29 16:42:49 +02:00
/rootzoll
d1e57d6bd2
#4586 Update LNbits & fix systemd dependency (#4596)
* Update LNbits to version 0.12.8
* remove userid from url
* remove IP2Tor-on option from menu
* revert to old auth method
* #4586 systemd wait funding source
* chore: Update lnbits.service to fallback to bitcoind.service for funding source
2024-05-29 16:17:40 +02:00
/rootzoll
d21348822c
Improve VM install & add Bitcoin Testnet Option (#4579) 2024-05-29 16:16:40 +02:00
/rootzoll
c0d07013fc
Update acme.sh & fix duckdns (#4560)
* fix dialog info
* acme.sh 3.0.7
* use fake email if none given
* format email correct
* adressing #2255
2024-05-29 13:49:16 +02:00
openoms
4932495daa
LNbits update to v0.12.4 (#4491)
* lnbits install script formatting
* lnbits update to 0.12.4
2024-05-29 00:11:31 +02:00
/rootzoll
45dbdb3b82
Add script for signing messages from specific address (#4582)
* Add script for signing messages from specific address
* use bitcoin-cli to check address
* add CHANGES
2024-05-28 22:42:11 +02:00
/rootzoll
4f7ce2b8a7
#4589 Remove IP2Tor shoplist (#4595)
* remove shop list
* add CHANGES
2024-05-28 22:25:37 +02:00
openoms
3de15bed49
specter update to 2.0.4 (#3709)
* specter update to 2.0.0 with python 3.10
* add deadsnake GPG key without using apt-key
* fix deleteData question
* fix config and formatting
* specter update to v2.0.1, remove default node
* readd config and del user on uninstall
* update config
* fix merge
* readd UPDATE option in menu
* specter update to v2.0.2, fix config
* specter update to 2.0.4
* add to change
2024-05-28 21:56:45 +02:00
/rootzoll
bd5f010409
#4561 Remove Tallycoin App (#4562)
* #4561 remove tallycoin app
2024-05-28 21:53:04 +02:00
rootzoll
d423c3c2d9 add resolvconf for v1.12.0 base image 2024-05-25 14:40:07 +02:00
/rootzoll
9ff4947021
Merge pull request #4583 from raspiblitz/4553-firmware
#4553 Update EEPROM firmware 1708097321
2024-05-25 12:32:49 +02:00
rootzoll
e174972fe2 add date as comment 2024-05-24 23:17:10 +02:00
rootzoll
8c8b0b2c62 #4553 update to firmware to 1708097321 2024-05-24 22:45:48 +02:00
rootzoll
b419daf43a fix #4571 typo 2024-05-24 17:41:44 +02:00
openoms
bf9dbc0321
add GPT integrity check for amd64 (#4576) 2024-05-17 09:55:01 +02:00
openoms
e63326bbea
fix FulcrumAdmin symlink (#4574) 2024-05-16 23:13:50 +02:00
openoms
5209508584
correct rootPartition and rootPartitionBytes with volume group 2024-05-16 23:10:47 +02:00
HODLmeTight
425442c248
lnd.conf and lnd.check.sh template adjustments (#4432)
* add larger logrotation and tiny typo fix
* reduce logs rotation & size
2024-05-02 18:36:00 +02:00
rootzoll
b6c919a0e8 fix typo 2024-05-02 18:04:44 +02:00
rootzoll
58d568685e v1.11.0 torrent files 2024-04-16 20:37:38 +02:00
rootzoll
c891c1df7e version v1.11.0 2024-04-16 13:58:26 +02:00
openoms
4d9a4e4dc4 fix(controlSetupDialog): setting migrationMode 2024-04-08 14:22:09 +02:00
/rootzoll
208cd6ab4e
Merge branch 'v1.11' into dev 2024-04-08 12:22:38 +02:00
rootzoll
c8e555c9b3 v1.11.0rc7 2024-04-08 12:18:36 +02:00
/rootzoll
e4761966f3
#4534 activating watchdog reboot on halt (#4536) 2024-04-08 12:17:33 +02:00
/rootzoll
2eed08965c
fix moved config.txt (#4530) 2024-04-08 11:48:12 +02:00
openoms
f9ae449ebb
check for /boot/firmware dir during build (#4529) 2024-04-06 21:21:42 +02:00
openoms
c2c710a9d1
check for /boot/firmware dir during build (#4529) 2024-04-06 21:19:39 +02:00
openoms
4d4762106e
fix postgresql 13 recovery (#4521)
* postgres: add comments, backup and remove unused databases
* bats: remove output, use --verbose-run locally
* always drop empty pg 15 cluster
* check cluster correctly, fix port after upgrade
* always restart postgresql.service to fix port
2024-04-06 10:25:08 +02:00
openoms
3aa0bb42a7
fix postgresql 13 recovery (#4521)
* postgres: add comments, backup and remove unused databases
* bats: remove output, use --verbose-run locally
* always drop empty pg 15 cluster
* check cluster correctly, fix port after upgrade
* always restart postgresql.service to fix port
2024-04-06 10:23:39 +02:00
openoms
ce80eb5939
check kernel8 image in /boot/firmware/ (#4528) 2024-04-06 09:53:04 +02:00
openoms
8f7f08cea9
check kernel8 image in /boot/firmware/ (#4528) 2024-04-06 09:51:44 +02:00
/rootzoll
81a2a013c8
Merge pull request #4524 from raspiblitz/4523-smartctl
#4523 fix too often call of smartctl
2024-04-05 16:14:36 +02:00
rootzoll
f0ccc61b05 #4523 get value to check against 2024-04-05 15:42:33 +02:00
rootzoll
7eaf68cd41 simplify packer 2024-04-05 14:30:10 +02:00
/rootzoll
c8feef9063
Merge pull request #4520 from raspiblitz/dev
build and packer updates
2024-04-04 13:33:29 +02:00
rootzoll
c7eb225de4 sd card build prevent "unable to resolve host debian" error 2024-04-04 13:30:36 +02:00
rootzoll
35b5e8e670 fail on wrong branch 2024-04-04 12:36:52 +02:00
rootzoll
69a18c7375 fix packer script 2024-04-04 12:30:09 +02:00
rootzoll
8b77877d6b clean up 2024-04-04 12:22:34 +02:00
rootzoll
6558fb41f1 check internet & clean 2024-04-04 12:18:59 +02:00
rootzoll
3b60da7cd4 Merge branch 'de#4517 reactivate watchdogv' into v1.11 2024-04-04 12:13:33 +02:00
rootzoll
4325658924 Merge branch 'de#4517 reactivate watchdogv' into v1.11 2024-04-04 12:12:13 +02:00
/rootzoll
01d3595a83
Merge pull request #4519 from raspiblitz/dev
v1.11.0rc6
2024-04-03 23:55:36 +02:00
/rootzoll
dd8b195db9 clean release & init startup (rc6) (#4518) 2024-04-03 23:44:07 +02:00
/rootzoll
dc5999a3c7
clean release & init startup (rc6) (#4518) 2024-04-03 23:43:40 +02:00
rootzoll
ac9735b8d3 correct config file 2024-04-03 23:25:43 +02:00
rootzoll
836990aaca adapt lcd install 2024-04-03 23:23:50 +02:00
openoms
c4b8ef5586
ci: add base image build (#4465)
* ci: add base image build
add stop file and --image_size 20G
* make /var/cache/raspiblitz world writable for qemu
* add stop file to /boot/
---------
Co-authored-by: Christoph Stenglein <christoph@cstenglein.com>
2024-04-03 21:26:00 +02:00
rootzoll
5c8d1da6e5 remove old docs 2024-04-03 21:10:07 +02:00
openoms
b377858178 fix postgres cluster not starting automatically (#4516) 2024-04-03 19:56:55 +02:00
openoms
ba88e6e17c
fix postgres cluster not starting automatically (#4516) 2024-04-03 19:56:17 +02:00
rootzoll
069005cc29 update torrents v1.11.0 2024-04-02 19:42:11 +02:00
rootzoll
b34186ff0c update torrents v1.11.0 2024-04-02 19:41:22 +02:00
openoms
6d9e0ae5f5 Postgres migration fix and test (#4510) 2024-04-02 12:10:20 +02:00
rootzoll
fa9989bf51 fix documentation links 2024-04-02 12:10:19 +02:00
rootzoll
15447780fa move documentation to raspiblitz-docs 2024-04-02 12:10:19 +02:00
rootzoll
f26489d653 add torrent create info 2024-04-02 12:10:19 +02:00
openoms
655f5cb7b0
Postgres migration fix and test (#4510) 2024-04-02 12:03:02 +02:00
/rootzoll
45f5539f9c #4507 redact i2p b32 addresses (#4513) 2024-04-01 18:24:24 +02:00
/rootzoll
58e7bcd260
#4507 redact i2p b32 addresses (#4513) 2024-04-01 18:23:22 +02:00
/rootzoll
19c64497ef fix redis persistence and #4449 2024-04-01 13:49:48 +02:00
/rootzoll
5022cfaf37
fix redis persistence and #4449 2024-04-01 13:35:45 +02:00
rootzoll
502782f5ed fix documentation links 2024-03-29 18:15:38 +01:00
rootzoll
f8a7af1970 move documentation to raspiblitz-docs 2024-03-29 17:52:13 +01:00
rootzoll
a3b4daba4e add torrent create info 2024-03-29 16:43:44 +01:00
rootzoll
da34292f10 add v1.11.0 torrents 2024-03-29 16:43:13 +01:00
rootzoll
870014d879 add v1.11.0 torrents 2024-03-29 15:21:23 +01:00
openoms
1093ae3f9b
do not install postgres for cln to not create a cluster outside of the pg install script (#4506) 2024-03-28 16:15:51 +01:00
openoms
16cbf0ef34
do not install postgres for cln to not create a cluster outside of the pg install script (#4506) 2024-03-28 15:40:29 +01:00
openoms
898485adbe use the installed postgres version to create the cluster (#4504) 2024-03-28 13:15:40 +01:00
openoms
7d41e56e02
use the installed postgres version to create the cluster (#4504) 2024-03-28 13:15:00 +01:00
rootzoll
4ecd33514c version v1.11.0 2024-03-27 18:54:45 +01:00
rootzoll
e2d9d29164 version v1.11.0 2024-03-27 18:53:32 +01:00
/rootzoll
b7a8731e9c Update BOS to 17.9.1 (#4501) 2024-03-26 15:21:09 +01:00
/rootzoll
02a5771666
Update BOS to 17.9.1 (#4501) 2024-03-26 15:19:52 +01:00
rootzoll
151ba3e15e show lndg again 2024-03-25 20:03:58 +01:00
/rootzoll
f4a4800174 Updated SSH Menu (#4499)
adresses #4342
2024-03-25 20:03:58 +01:00
rootzoll
0ebc94821d show lndg again 2024-03-25 20:03:26 +01:00
/rootzoll
483ca2305b
Updated SSH Menu (#4499)
adresses #4342
2024-03-25 19:27:23 +01:00
/rootzoll
01db973bec Fix LNDg install & update v1.8.0 (#4498) 2024-03-25 14:17:54 +01:00
/rootzoll
01d289cb4f
Fix LNDg install & update v1.8.0 (#4498) 2024-03-25 14:17:13 +01:00
/rootzoll
27ff2d63e2 fix zerotier dialogs (#4495) 2024-03-21 21:35:26 +01:00
/rootzoll
02fca137b3
fix zerotier dialogs (#4495) 2024-03-21 21:34:53 +01:00
/rootzoll
850f08d37f
Merge pull request #4494 from raspiblitz/dev
#4484 fix syntax error
2024-03-21 16:08:49 +01:00
rootzoll
e4cf6d294a #4484 fix syntax error 2024-03-21 15:53:35 +01:00
/rootzoll
0bb32723e8
Merge pull request #4493 from raspiblitz/dev 2024-03-21 13:58:02 +01:00
rootzoll
a791651366 make v1.11.0rc5 images public 2024-03-21 13:56:24 +01:00
rootzoll
0e26641158 #4484 make release remove stop flag 2024-03-21 13:50:32 +01:00
rootzoll
ff23ede250 #4492 fix electrs recover on min-build 2024-03-21 13:41:33 +01:00
/rootzoll
e15a02caf1
Merge pull request #4489 from raspiblitz/dev
Merge dev for v1.11.0rc5
2024-03-19 23:04:45 +01:00
/rootzoll
5d2b4c84fc
Merge branch 'v1.11' into dev 2024-03-19 23:02:54 +01:00
rootzoll
1b01d920db version v1.11.0rc5 2024-03-19 22:47:43 +01:00
/rootzoll
5e461ff1ce
#4122 lnproxy deactivate for repair (#4487) 2024-03-19 18:01:55 +01:00
rootzoll
2c56f5248b #4477 packer min-build without display 2024-03-19 15:24:25 +01:00
/rootzoll
24a3c06a35
Info about API/WebUI deactivation on fatpack provision (#4486)
fixes #4468
2024-03-19 00:05:00 +01:00
/rootzoll
f1342ebcfd
Fix manual provisioning with stop file flag (#4485) 2024-03-18 15:59:02 +01:00
openoms
588820ff13
cln update to v24.02.1 (#4482) 2024-03-18 15:02:34 +01:00
Stephan Oeste
9e64abc9d9
Fix electrs data dir user at update, update electrs to v0.10.4 (#4480)
* Fix electrs data dir user at update
* check and create, fix persmissions of storage dir when on
the data disk is not always available yet when the install option is running
* apply formatting
* fix storage dir before code install check
* electrs update v0.10.4
* update in changes
---------
Co-authored-by: openoms <oms@tuta.io>
2024-03-17 08:52:22 +01:00
openoms
7426a3a287
fulcrum update to v1.10.0 (#4481) 2024-03-17 08:49:50 +01:00
openoms
5581a40b2b
base image update: raspios_arm64-2024-03-15 (#4479) 2024-03-17 08:49:01 +01:00
rootzoll
6a4b33a960 v1.11.0rc4 downloads 2024-03-16 00:58:32 +01:00
rootzoll
2d701b77e2 v1.11.0rc4 downloads 2024-03-16 00:57:24 +01:00
rootzoll
77c45141bc fix typo 2024-03-15 16:30:24 +01:00
rootzoll
ac377df504 fix typo 2024-03-15 16:29:32 +01:00
/rootzoll
083cd12727 Correct branches for WebUI & API 2024-03-15 15:54:33 +01:00
/rootzoll
14e1201d82
Correct branches for WebUI & API 2024-03-15 15:54:03 +01:00
rootzoll
e477377214 adapt versioning with v 2024-03-15 11:59:44 +01:00
/rootzoll
522b13e5d4 prevent redis hang on setup reboot (#4474)
to fix #4469 while removing sudos from bootstrap script
2024-03-15 11:29:12 +01:00
/rootzoll
b3c1a8d937
prevent redis hang on setup reboot (#4474)
to fix #4469 while removing sudos from bootstrap script
2024-03-15 11:28:07 +01:00
rootzoll
6918d21639 improve build process doc 2024-03-12 09:07:16 +01:00
rootzoll
b4e3a61fe4 update version to v1.11.0rc4 2024-03-11 11:10:28 +01:00
openoms
0720b0c2a8
switch to dialog inputbox for zerotier (#4464) 2024-03-10 22:26:01 +01:00
openoms
0592776504
fix cln watchtower client plugin (#4459)
* exit if doesn't compile, format

* fix watchtower config option
2024-03-09 08:40:36 +00:00
/rootzoll
2f0abcf7fa
fix #4456 packer local build (#4461) 2024-03-08 21:30:43 +01:00
/rootzoll
2de42dc72a
Fix #4456 local packer build (#4460) 2024-03-08 20:48:21 +01:00
openoms
87d63e5f32
docs: fix local build command 2024-03-07 19:07:34 +01:00
rootzoll
c5fedf71c2 improve packer doc 2024-03-07 18:55:49 +01:00
rootzoll
b02db0b46c update packer script 2024-03-07 18:28:18 +01:00
/rootzoll
003230d137
Fix LNDg (#4420)
deactivate LNDg for repair in v1.11.1
2024-03-07 12:20:50 +01:00
openoms
e70c6863f9
fulcrum update to v1.9.8, refactor install and status (#4413)
* fulcrum update to v1.9.8, refactor install and status

* add fulcrum to main menu if installed

* add to recovery (provision) and display with infoSync
2024-03-07 08:12:36 +00:00
openoms
2b70db09fe
debug: do not change termbin link (#4444) 2024-03-07 08:11:22 +00:00
openoms
9283f7fc3d
joinmarket v0.9.11 in joininbox v0.8.3, jam 0.2.0, build improvements (#4443)
* joinmarket v0.9.11 in joininbox v0.8.3, build improvements

* jam update to v0.2.0

* jam: change the onion_serving_port to avoid collusion with LND REST port

discussed in:
https://github.com/joinmarket-webui/jam/issues/723
2024-03-07 08:10:47 +00:00
openoms
11c2072580
cln backup plugin update (#4446) 2024-02-29 13:46:24 +01:00
/rootzoll
45c5c0ff57
Electrs - clean up after failed install (#4439) 2024-02-25 13:54:41 +01:00
/rootzoll
440b788bd5
Fix Electrs Fatpack/WebUI (#4438) 2024-02-25 13:38:27 +01:00
rootzoll
ec67c362f7 improve snc lcd info 2024-02-22 19:07:50 +01:00
rootzoll
5e283e0cc5 fix sync lcd screen 2024-02-22 19:06:44 +01:00
rootzoll
85e6e26f9d hdd info during sync 2024-02-22 19:04:55 +01:00
rootzoll
b3a14cfc35 version 1.11.0rc3 2024-02-20 20:47:48 +01:00
/rootzoll
85871f325a
Fix Pyblock 2.2.3 (#4427)
* Workaround
2024-02-18 23:27:07 +01:00
openoms
ffea31dfd6
improve wording on restart (#4426) 2024-02-18 23:19:45 +01:00
rootzoll
7cd267c421 fix missing state 2024-02-18 20:59:32 +01:00
Boiler-Bit-Room
449b0a226c
SFTP StaticChannelBackup (#4382)
* Update FAQ.md.  Typo: rebuild -> rebuilt (#4223)

* SFTP StaticChannelBackup

* Update _background.sh

To resolve the variables, you have to use double quotes

* change back to SCP

* change back to scp

---------

Co-authored-by: /rootzoll <christian@geektank.de>
Co-authored-by: Glen Cooper <glen@glencooper.com>
2024-02-16 18:03:42 +01:00
rootzoll
be1ec81a58 #4421 remove warnings 2024-02-16 17:25:29 +01:00
openoms
13ae51c54a
build: fix github web-flow PGPpubkeyFingerprint (#4417)
* build: fix github web-flow PGPpubkeyFingerprint
* git-verify: use extended regular expression to check alternative key
* build: break when external scripts return with error
* git-verify: use extended regular expression to check correctKey
* ci: maximize disk space in gh action
using https://github.com/marketplace/actions/maximize-build-disk-space
2024-02-16 17:23:06 +01:00
/rootzoll
1a092f8ee7
#4399 Add SmartCrtl/HDD-Temp info (#4422)
SmartCrtl/HDD-Temp info in ..
- as part of blitz.datadrive.sh
- background scan & cache values
- LCD info
- debug info
2024-02-16 15:47:57 +01:00
openoms
26d5e18e7d
add option to reset the self-signed tls certificate (#4412)
* add option to reset the self-signed tls certificate
2024-02-15 09:27:31 +01:00
openoms
6d4784bba8
btcpay: add database backup and restore option (#4409)
* btcpay: add database backup and restore option
* add to  CHANGES
2024-02-14 20:50:19 +01:00
openoms
f9cb44982e
Thunderhub update (#4404)
* fix: tunderhub update dubious ownership error
* thunderhub update to v0.13.30
2024-02-14 20:40:40 +01:00
orbitalturtle
f67c8fd11c
Add lndk as a service option (#4320)
* Add script for starting/stopping lndk service
* Add lndk as a service option to the menu
2024-02-14 20:00:14 +01:00
openoms
168789c609
add btop to SYSTEM menu (#4408) 2024-02-14 15:00:12 +01:00
openoms
e70f4b7197
revert: build: remove externally-managed flag for python (#4400) (#4410)
This reverts commit 240f28d5dc.
2024-02-11 21:05:57 +01:00
openoms
81e5fae6dc
ci: amd64 base image update to debian 12.5.0 (#4411) 2024-02-11 19:33:48 +01:00
openoms
e98bb8d3c0
dns setting for Debian 12 using nmcli (#4407) 2024-02-10 18:03:18 +00:00
openoms
4719fbd443
btcpay update v1.12.5, nbxplorer v2.5 (#4401) 2024-02-10 17:55:27 +01:00
Nerfzooka
2f967e9077 Update FAQ.md (#4387)
Typo on the word REPAIR
2024-02-09 16:21:47 +01:00
openoms
240f28d5dc
build: remove externally-managed flag for python (#4400) 2024-02-09 16:19:47 +01:00
Christoph Stenglein
96bb62a010 (ci): update to github actions v4 2024-02-02 16:02:49 +01:00
/rootzoll
81ebfb7902
Remove script stop/block on CL install (#4391)
* mark as v1.11.0rc2
* make non-interactive
* remove rpi-first-boot-wizard
2024-01-31 21:45:04 +01:00
/rootzoll
60c58ec6df
Refactor Wifi Config & Backup (#4385)
* #4384 set wifi by wifi file
2024-01-30 18:05:16 +01:00
openoms
6fdf6f747e
fix rtl repo, typos, set off if install fails (#4389) 2024-01-29 21:05:55 +01:00
rootzoll
0635a16d2b reactivate git verify 2024-01-19 21:40:32 +01:00
/rootzoll
91cddd9fb0
#4247 Fix Fatpack / git-verify with expired keys (#4378)
* modify git verify
* force outputs to English
---------
Co-authored-by: openoms <oms@tuta.io>
2024-01-19 18:27:35 +01:00
rootzoll
970b4dfb5d fresh lnd - loglevel to info 2024-01-19 13:00:33 +01:00
/rootzoll
c2df07efd1
Local release image build with Packer (#4335)
* packer build live image
2024-01-18 17:25:35 +01:00
rootzoll
1d3d7a0e75 skipping display key check 2024-01-18 12:13:59 +01:00
openoms
9afa8101b4
fix jam tor nginx conf (#4373) 2024-01-17 20:13:58 +00:00
openoms
0a215c2476
fix: make clrest certs groudp readable, add rtl to bitcoin group
follow up of #4328
2024-01-17 13:01:50 +01:00
openoms
5f33c94f09
clrest: preserve certs in app-data for new install (#4328)
* clrest: preserve certs in app-data for new install
* add symlink-to-appdata options, add config entry
2024-01-16 10:50:40 +01:00
Christoph Stenglein
51e1bf4452
(ci): move from deprecated set-output to GITHUB_OUTPUT (#4371) 2024-01-15 19:56:58 +01:00
openoms
c0ab542310
add to CHANGES for v1.11.0 (#4274) 2024-01-15 19:55:28 +01:00
Christoph Stenglein
ca88646ad2
(apps): update btc-rpc-explorer to version 3.4.0 (#4368) 2024-01-15 19:46:02 +01:00
Christoph Stenglein
3f3b7e429e
(apps): update joininbox to version 0.8.2 (#4367) 2024-01-15 19:44:33 +01:00
openoms
af65af5e14
mempool update to v2.5.0 (#4353)
* formatting
* mempool update to v2.5.0
* fix shellcheck warns
* check for command outcomes directly
* use npm ci, exit on failed install
* use npm ci in update

Co-authored-by: Christoph Stenglein <9399034+cstenglein@users.noreply.github.com>
2024-01-15 19:43:33 +01:00
/rootzoll
ce89ac53fa
Updating Firmware if needed for RaspberryPi5 to get Pimoroni NVMe Base working #4359 (#4365)
* #4359 add rpi5 firmware update
2024-01-13 13:30:20 +01:00
Christoph Stenglein
ccd08a08d1
(apps) update electrs to 0.10.2 (#4363) 2024-01-13 12:38:40 +01:00
openoms
e6bec47aec
build: use the kernel8.img if page size is not 4k (#4348)
* build: use the kernel8.img if page size is not 4k
* fix: remove invalid raspi-config commands
2024-01-05 09:13:02 +00:00
openoms
186d50dec3
build: fix base image filename in comment 2024-01-05 08:26:24 +01:00
openoms
b5c03d509d
cln update to v23.11.2 (#4332) 2024-01-05 06:59:52 +00:00
openoms
5321480fb5
build(arm64-rpi): make /dev/shm world writable for the build (#4347) 2024-01-02 14:19:20 +01:00
openoms
00fe2e2c67
Revert "ci: use environment files in actions (#4338)" (#4339)
This reverts commit 4d8776a35c.
2023-12-23 12:00:59 +01:00
openoms
4d8776a35c
ci: use environment files in actions (#4338) 2023-12-23 11:48:26 +01:00
openoms
a7ae5162e7
btcpay to v1.12.3, lowercase certthumbprint (#4336) 2023-12-23 09:21:45 +00:00
Kevin Ravensberg
98dfd49f6e
Changed version of BTCPayServer to 1.12.0 (#4334)
* Changed version of BTCPayServer to 1.12.0
Updated dependency NBXplorer to: https://github.com/dgarage/NBXplorer/releases/tag/v2.4.3
and .NET to 8.0.100.
Now for BTCPayServer 1.12.0 and NBXplorer 2.4.3 build with .NET 8.0.
2023-12-23 08:47:09 +00:00
openoms
eddec30f4a
fix ports in helipad nginx conf and unused in jam 2023-12-19 22:15:24 +01:00
/rootzoll
e70263dc30
#4182 deactivating API when installed but off (#4330) 2023-12-19 17:00:48 +01:00
/rootzoll
64e8b706ad
Circuitbreaker v0.5.1 (#4329) 2023-12-19 16:13:12 +01:00
rootzoll
5062bfe95a #4118 better debug 2023-12-19 00:08:29 +01:00
/rootzoll
de18ad8b36
#3872 adding "shrinkdebugfile=1" to bitcoin.conf (#4297)
* #3872 adding shrinkdebugfile=1
2023-12-18 23:50:44 +01:00
rootzoll
1404ac3285 #4300 make sure bitcoin debug.log exists 2023-12-18 22:02:20 +01:00
rootzoll
622135c570 #4199 added to debug vcgencmd get_throttled 2023-12-16 01:17:37 +01:00
rootzoll
40587e4d8e version v1.11.0rc1 2023-12-15 12:45:18 +01:00
/rootzoll
c290205fb9
#4259 activating nvme hat on sd card build (#4322)
* #4259 activating nvme in config.txt
* adding to CHANGES
* compact config.txt
2023-12-15 01:42:31 +01:00
/rootzoll
127d88efcc
#2583 start parted at 0% (#4321) 2023-12-14 22:48:36 +01:00
/rootzoll
fac733a0a1
raspios_arm64-2023-12-06 (#4319)
* raspios_arm64-2023-10-10
* update signature check
* Update Packer
2023-12-14 19:43:30 +01:00
openoms
4de59b58b3
verify bitcoin core install and update with all signing keys (#4306)
* verify bitcoin core update with all signing keys
* remove the fallbackSigner
* verify bitcoin core install with all signing keys
2023-12-14 18:40:05 +01:00
/rootzoll
1ef72dc481
Repair Fresh HDD/SSD Setup (#4317) 2023-12-13 22:14:45 +01:00
openoms
07cdde07c0
trigger safe shutdown with rpi5 power button (#4312)
* trigger safe shutdown with rpi5 power button
* run blitz.shutdown.sh with sudo everywhere
* blitz.shutdown.sh: remove sudo, fulcrum to stop
2023-12-13 12:11:13 +01:00
openoms
a015d2c399
fix typo 2023-12-12 20:48:13 +01:00
openoms
0a9ce40ff9
add spelling check to github actions (#4314)
* add spelling check to github actions
* fix typos in .conf file
2023-12-12 20:23:49 +01:00
openoms
275f996226
set onlynet onion for bitcoind (#4307) 2023-12-12 20:19:43 +01:00
rootzoll
9bb38ce501 #4279 Update lnbits 0.11.3 2023-12-12 18:41:42 +01:00
openoms
d206bc238d
docs: recommend fatpack=false for manual builds 2023-12-11 12:15:52 +01:00
openoms
c17066cb07
build: debian update to 12.4.0-amd64 (#4313) 2023-12-11 11:50:20 +01:00
/rootzoll
30d2e69304
just go thru liost one time to signal shutdown (#4310) 2023-12-08 23:16:17 +01:00
rootzoll
d73191099a fix SSH renew bookworm 2023-12-08 22:45:33 +01:00
/rootzoll
3f837a2fc2
#4308 update lnd v0.17.3 (#4309) 2023-12-08 22:32:22 +01:00
/rootzoll
487ccd45b4
LN SyncInfo & #4294 ChanTools (#4296)
* #4294 Update ChanTools to 0.12.0 for LND 0.17.x
2023-12-08 20:34:41 +01:00
/rootzoll
f2d09038d5
#4301 update to bitcoin core 26.0 (#4303)
* #4301 update to bitcoind 26.0
* updating versions
2023-12-07 17:10:43 +01:00
rootzoll
252de3b0d4 fix grep warning 2023-12-05 21:25:32 +01:00
rootzoll
c8d49b71cb #4295 update Specter connection guide link 2023-12-05 19:46:17 +01:00
rootzoll
72af1378e4 #4276 remove FAIL log 2023-12-05 19:23:19 +01:00
/rootzoll
dee7ec41f5
fix grep (#4288) 2023-12-05 17:14:54 +01:00
/rootzoll
432a0c720e
LNbits update to v0.11.2 (#4271)
* #4180 update to lnbits 0.11.2 & repair db access
2023-12-05 16:46:43 +01:00
openoms
720771709f
cln update to v23.11, dependency cleanup, clnrest, clboss, RTL updates (#4281)
* cln update to v23.11, dependency cleanup, clnrest
* c-lightning-rest update to v0.10.7
* add PGP key:  pneuroth (nepet)
* remove the source code on purge
* clboss update to the latest commit v0.13+ 0673c50
* add psutil for backup plugin
* fix typos in comment
* hide ls: cannot access error messages
* RTL update to v0.14.1
2023-12-04 21:07:05 +00:00
/rootzoll
16b3afe0ab
3114 poweroff improve (#4287) 2023-12-04 19:07:25 +01:00
Alessandro Riva
2896fa398a
Changed italian Telegram group link (#4285) 2023-12-02 20:31:32 +01:00
openoms
50769843ba
docs: update link for arm64-rpi images in ci 2023-12-02 18:39:14 +01:00
rootzoll
2995282d49 #4044 create auth.log after emergency log delete 2023-12-01 16:25:34 +01:00
openoms
39a94dd4d4
CLN to v23.08.1, wait for #4281 2023-11-29 20:43:57 +01:00
rootzoll
6324c5f97b Update CLN 23.11 2023-11-29 11:54:51 +01:00
steepdawn974
7e66b82e0e
fulcrum update to 1.9.7 (#4273) 2023-11-24 10:54:46 +00:00
Christoph Stenglein
4523db7036 (web.ui.sh): use npm for installation of webui 2023-11-23 17:43:34 +01:00
/rootzoll
b402ee4c5f
#3267 repair hostname on recover/update (#4272) 2023-11-23 16:50:40 +01:00
/rootzoll
6a33cbc6dc
#4146 deprecate & remove apps (#4269)
- deprecate: Homer Dashboard & BitcoinMinds
- remove: ItchyStas
2023-11-23 16:16:38 +01:00
cercatrova
16094398d7
Update LNBits to 0.10.10 (#4180) 2023-11-23 15:08:20 +01:00
openoms
9f238868e9
fix gnome login screen: create admin as a non system user (#4270) 2023-11-23 13:18:59 +00:00
openoms
37c8f6f897
Activate i2p more reliably (#4265)
* move the i2p setup after the last bitcoin.conf check
* redo config even if i2p is active
2023-11-22 13:03:07 +01:00
/rootzoll
624f8ca1a7
Base updates of Bitcoin & LND (#4263)
* Bitcoin Core v25.1 update
* LND v0.17.1 update
* updated protobuffs python renderings
* fix python grpc module
* update CHANGES
* lnd update to v0.17.2-beta

---------

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-11-22 07:38:00 +00:00
openoms
df210e6e45
local build fixes (#4260)
* run the local build uninterrupted
* fix local build amd64-lean-desktop-uefi-image
2023-11-22 07:30:43 +00:00
openoms
b57aba6acf
Debian12 Bookworm for RPi in ci (#4238)
* update RPi base image to Debian12 Bookworm in ci
* ci: remove  -d headless for rpi
* docs: ready made images for arm64-rpi
* update python deps, add rsyslog, armbian_deps
* hide wget progress in lean build, keep errors
* apt-get instead of apt
* enable ssh
* apt-get everywhere, remove only if present
* use --quiet for wget for cleaner logs
2023-11-22 07:28:54 +00:00
flyerbear
7a7c7bd97b
Bitcoin install script fails during gpg key download (#3754) 2023-11-21 18:08:37 +01:00
Oleg Koretsky
4f71a73e3f
Rename electrs INDEX to REINDEX (#4256) 2023-11-18 09:21:00 +01:00
openoms
041574a1ee
fulcrum update to v1.9.6, simple cli update option, new filenames (#4217) 2023-11-18 09:19:15 +01:00
Roman Zeyde
3ca368fbbe
Update electrs to latest release (v0.10.1) (#4255) 2023-11-18 09:17:28 +01:00
openoms
c67499b222
ci: fix builds (#4160)
* fix: missing space in amd64 fatpack action
* change tab to space
* determine github user
* use $GITHUB_OUTPUT instead of set-output
https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
* update all build workflows

* fix: don't protect system packages from pip
Discussed in: https://github.com/raspiblitz/raspiblitz/issues/4170

* add raspi.list only on aarch64

* create auth.log for fail2ban
related: https://github.com/raspiblitz/raspiblitz/issues/4044

* Broken builds on amd64 for blitz api and core lightning (debian 12) (#4242)
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>

* remove the arm64-rpi-debian12-lean-image-build
* deactivate automatic fatpack builds in gh actions

---------

Co-authored-by: Akihiko <105069903+0xakihiko@users.noreply.github.com>
2023-11-15 15:12:59 +01:00
/rootzoll
5f1df69528
update btcpayserver to v1.11.7 (#4058)
* #4058 fix signer
* fix use of var
* skip listing pg databases to not break the script
* add postgress access for database migrations
* update btcpayserver v1.11.7, nbxplorer v2.3.67
* add to CHANGES
* correct tor capitalization

---------

Co-authored-by: openoms <oms@tuta.io>
2023-11-15 08:43:43 +01:00
Overload3910
1781062bfe
jam update to v0.1.6 (#4197) 2023-11-15 08:17:52 +01:00
openoms
68f21035c1
docs: add instructions to prepare a used OSdisk (#4218) 2023-11-14 18:36:08 +01:00
/rootzoll
885be6ccb2
4195 IP2Tor Subscription Improvement (#4246)
* #4195 set info & fee limit

* try fixed feelimit
2023-11-14 16:49:58 +01:00
Glen Cooper
5a2257c445 Update FAQ.md. Typo: rebuild -> rebuilt (#4223) 2023-11-14 14:35:05 +01:00
Brian Liotti
ee3cc02864
bos telegram systemd service broken in v1.10.0 - rm working dir (#4224)
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-11-12 20:03:40 +00:00
Christoph Stenglein
bf9aaa9076
(build) set LC_ALL to C (#4124) 2023-10-23 17:38:38 +02:00
d11n
154db3ea90
fix typo (#4219) 2023-10-16 09:45:53 +00:00
Christoph Stenglein
4a194007a8
(dev): update debian iso to 12.2.0 (#4214)
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-10-11 15:31:45 +02:00
rootzoll
60b5c47240 v1.10.0 torrent files 2023-09-28 17:38:50 +02:00
rootzoll
d59d03ce27 v1.10.0 image imagelinks 2023-09-28 17:35:05 +02:00
rootzoll
eb1969d267 images v1.10.0rc6 2023-09-22 13:58:35 +02:00
rootzoll
b8e42f062f add failed services info to debug 2023-09-21 22:36:59 +02:00
rootzoll
e97b35a3b0 #4149 remove manual logrotate start 2023-09-21 22:26:38 +02:00
rootzoll
a9f9272388 #4149 add copytruncate to logrotate config 2023-09-21 18:45:54 +02:00
rootzoll
a3c2ef9b6e #4171 fix blitz config on fatpack 2023-09-20 21:54:33 +02:00
rootzoll
a925528657 #4171 fix blitzapi config on fatpack 2023-09-20 21:48:38 +02:00
code-byter
850d90b416
Fix typos in CONTRIBUTING.md (#4178) 2023-09-20 14:45:15 +02:00
rootzoll
93e8b5aa14 #4171 fix provision of api/webui 2023-09-20 12:56:53 +02:00
openoms
2c235f3b53
fix adduser + maintenance tasks (#4172)
* fix: add --shell /bin/bash to adduser

* joininbox update to v0.8.1 and install fixes

* CLN update to v23.08.1

* bos update to 15.8.14, improve menu

* lnproxy: deactivate in menu and provision

* copy the skeleton files for user used with login

* deprecate loop single install further

do not install in any case
the uninstall option is still used

* deprecate faraday single install further

do not install in any case
the uninstall option is still used

* deprecate pool single install further

do not install in any case
the uninstall option is still used

* bos: minimize changes to script

* only add --bash oprion to users intended for login

* add info to CHANGES

* add sudo to non-privileged scripts

* bos: don't download source

* ci: run apt update before qemu install
2023-09-20 10:29:15 +02:00
Michael Schmid
ea41275b5d
Fix pip error: This environment is externally managed on Debian 12 (#4153)
* add support for debian12:
- remove python lock which prevents pip from installing modules
- make admin home directory readable
2023-09-20 10:24:04 +02:00
/rootzoll
d033e5a7cf
Merge pull request #4163 from openoms/docs-ci
docs: fix steps for the ready made images
2023-09-13 16:47:26 +02:00
openoms
a394ba59a3
add missing make command 2023-09-11 12:50:32 +02:00
openoms
547e0456a9
docs: fix steps for the ready made images 2023-09-10 20:58:00 +02:00
rootzoll
6163c91cd6 prepare version 1.10.0 2023-09-10 17:16:25 +02:00
/rootzoll
672f980335
Make Background Service Emergency Delete Logs (#4161) 2023-09-10 17:14:56 +02:00
qlrd
a6a15dc834
Recognizing Armbian system and fixing "Bitcoin Install Fails" on Armbian (#4157)
* Update build_sdcard.sh

OrangePi5 was not recognized in line ~255; so recognize it by same 'Debian' method, replacing by 'Armbian'

* Update bitcoin.install.sh

Bitcoin Install Fails during build_sdcard.sh due to PGP key download; see https://github.com/raspiblitz/raspiblitz/issues/3753. Comment it by now

* Update bitcoin.install.sh

changed to secure hkps

* Update home.admin/config.scripts/bitcoin.install.sh

These comments are not needed here. The sole purpose was to describe the move to a PR.

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>

* Update build_sdcard.sh

Modified the request by OpenOMS where the comments are unnecessary and kept Debian as the first option and moved Armbian down the list as an elif.

---------

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-09-09 21:38:32 +03:00
openoms
39102b149c
create home folders as 0755 on Debian 12 (#4156)
related: https://github.com/raspiblitz/raspiblitz/issues/4154
2023-09-09 21:36:35 +03:00
/rootzoll
e670e61297
Merge pull request #4152 from Schnitzel/dev
handle nvme drives when using ext4
2023-09-09 19:49:51 +02:00
/rootzoll
d3fd958c4c
Merge pull request #4144 from raspiblitz/ci-notes
docs: reorganize the amd64 image instructions
2023-09-09 18:54:38 +02:00
Michael Schmid
0b1e6fb9ac handle nvme drives when using ext4 2023-09-05 15:57:11 -04:00
openoms
e3982b9175
recommend using qemu-image dd first 2023-08-31 13:50:59 +02:00
openoms
01560a95b1
docs: reorganize the amd64 image instructions 2023-08-31 12:32:19 +02:00
rootzoll
882d99a6ec v1.10.0rc5 images 2023-08-30 01:17:29 +02:00
rootzoll
67af23321c update version 1.10.0rc5 2023-08-29 21:44:53 +02:00
rootzoll
ea17380591 #4140 remove old asset copy line 2023-08-29 21:42:37 +02:00
rootzoll
7070df161c #4138 raspberrypi optimizations not for debian 2023-08-29 21:36:45 +02:00
rootzoll
196199e662 #4107 start bitcoind after redis 2023-08-28 10:47:01 +02:00
rootzoll
950b18b8a1 publish v1.10.0rc4 images 2023-08-27 23:02:39 +02:00
rootzoll
bd9c177c4e version v1.10.0rc4 2023-08-27 17:43:57 +02:00
/rootzoll
837f8883a2
Update & fix configure of CLN v23.08 (#4134)
* update cln v23.08

* remove  --enable-experimental-features
2023-08-27 17:39:56 +02:00
rootzoll
73038b4b33 #3966 give lnd more time to start on pwd change 2023-08-27 00:05:39 +02:00
rootzoll
0f98f2f55b #3966 activate bitcoin mainnet on umbrel migration 2023-08-26 22:08:34 +02:00
d11n
7c6ef5dba7
Kindle Display v0.5.3 (#4078) 2023-08-25 22:24:09 +02:00
rootzoll
56fd14c5fa #4122 update lnproxy commit 2023-08-25 22:15:19 +02:00
openoms
70eae57b03
cln clboss update to latest commit, add simple update (#4121)
* clboss: buildfrom github clone, add update option
* cln clboss update to latest commit
2023-08-25 22:11:06 +02:00
openoms
43ee57d069
cln: remove spark wallet and sparko plugin (#4120)
* cln: remove sparko
* cln: remove spark wallet
2023-08-25 22:09:49 +02:00
/rootzoll
e33800c8e6
fix & improve zram install (#4132)
#4116 zram install exiting on VERSION check fix
2023-08-25 22:00:32 +02:00
openoms
fc845973cc
provision: log zram install, fix typos (#4117) 2023-08-25 17:21:39 +02:00
openoms
901bfb2a3f
swapfile size increase to 10GB (#4114) 2023-08-25 17:07:04 +02:00
openoms
16b815e58d
electrs: control the log level in the conf only (#4115) 2023-08-25 16:58:53 +02:00
openoms
6134cac0ab
use nginx-full package for stream support (#4113) 2023-08-25 16:57:05 +02:00
/rootzoll
f090d605dc
Merge pull request #4109 from cstenglein/background_values_improvement
(background.scan): only init values if they do not exist
2023-08-25 16:51:18 +02:00
/rootzoll
e3182203f2
Merge branch 'dev' into background_values_improvement 2023-08-25 16:50:52 +02:00
rootzoll
e318fea70f NX to init 2023-08-25 16:47:47 +02:00
Christoph Stenglein
8119b33f3a (background.scan): only init values if they do not exist 2023-08-25 16:42:36 +02:00
Christoph Stenglein
2b414703cf
(background.scan): only init values if they do not exist 2023-08-16 18:36:53 +02:00
rootzoll
accea759f6 images v1.10.0rc3 2023-08-14 02:07:32 +02:00
Christoph Stenglein
8828075637
change webui link in readme, fix trailing spaces & markdown issues (#4076) 2023-08-13 15:21:31 +02:00
/rootzoll
684322e1e2
lndbackup also using backup device if connected (#4053)
* copy backup file to backupdevice (#3979)
* #3979 adding free space check to backup device
* just 50MB for safety is enough
2023-08-13 15:20:02 +02:00
rootzoll
ef47911beb version 1.10.0rc3 2023-08-13 15:18:33 +02:00
/rootzoll
64e5f65eab
#3714 fix bitcoin setup (#4075)
* #3714 bitcoin service activation
2023-08-11 20:12:08 +02:00
rootzoll
329e4a83e9 #4062 fix if statements 2023-08-11 16:45:31 +02:00
/rootzoll
2551abf9ca
Merge pull request #4071 from openoms/suez-update2
suez update and fix for cln
2023-08-10 15:24:13 +02:00
rootzoll
d459b8d828 #4072 CHANGES update Kindle-Display 0.5.1 2023-08-10 15:10:58 +02:00
/rootzoll
81e8c219ef
Merge pull request #4072 from dennisreimann/kindle-display
Update kindle-display to 0.5.1
2023-08-10 15:09:00 +02:00
Dennis Reimann
a7c2a2de16
Update kindle-display
The new version adds support for other display formats: The added environment vaiable `DISPLAY_THEME` allows to choose between `quote` (default), `fees`, `lightning` and `random`.
2023-08-09 17:23:47 +02:00
openoms
cb7c97d49b
suez update and fix for cln 2023-08-09 16:49:43 +02:00
rootzoll
010103a3e3 add macos info open electrum 2023-08-08 17:01:01 +02:00
rootzoll
d0e5d90bbb update fallback node lists 2023-08-08 16:21:53 +02:00
rootzoll
3274a0b5bc give 8GB RaspberryPis more RAM during IBD 2023-08-07 19:05:52 +02:00
rootzoll
64964d7888 new v1.10.0rc2 images 2023-08-03 00:15:59 +02:00
rootzoll
d7e0874c8c fix Bitcoin mainnet being actived 2023-08-02 16:28:03 +02:00
rootzoll
91e6623579 v1.10.0rc2 download links 2023-08-02 12:45:19 +02:00
/rootzoll
f396e2781e
Merge branch 'v1.10' into dev 2023-08-02 00:07:06 +02:00
rootzoll
d2742b1d62 mark version v1.10.0rc2 2023-08-02 00:04:31 +02:00
/rootzoll
0ede78d0af
Improve Indexing Percent (#4055)
* #3894 improve percent calculation
2023-08-01 23:47:43 +02:00
/rootzoll
742da1b9d7
LNbits Admin Page to allow install extensions (#4054)
* add user id to status
* activate Admin page on install
2023-08-01 22:38:32 +02:00
/rootzoll
1355a2b4a2
Adjust lnd.conf for healthcheck parameters (#4052)
* Adjust lnd.conf for healthcheck parameters, allowing for longer timeout intervalls for rpc connection (#4010)
* adding healthcheck values

---------

Co-authored-by: HODLmeTight <35168804+TrezorHannes@users.noreply.github.com>
2023-08-01 00:46:35 +02:00
openoms
91ba149d98
specter update to v1.13.1 (#4035)
* specter update to 1.13.1
2023-08-01 00:39:43 +02:00
/rootzoll
fe0e1e518e
#3983 switch on vm.overcommit_memory & higher fs.inotify.max_user_instances (#4041) 2023-08-01 00:14:46 +02:00
/rootzoll
4e889be7d8
#4003 bitcoin.check.sh to set debug log path (#4051)
* #4003 add bitcoin.check.sh to set debug file
* add debug
* change delimiter
* set network on bitcoind service
2023-07-31 23:00:25 +02:00
openoms
f58a388cdb
ci: change variables in gh actions to new format (#4045)
* ci: change variables in gh actions to new format

* ci: remove quotes and set vars correctly
2023-07-31 22:34:52 +02:00
/rootzoll
9bfc8237e0
Edit Logrotate: Reduce Complexity & hard set 100M size limit (#4038)
* simplify logrotate and force hard size limit
* default log rotation in build sd card & 100M limit
* changing to size limit for tor logs
* changing to size limit for CLN logs
* force a log rotate on every boot
2023-07-31 22:08:16 +02:00
openoms
0d0e5581a5
ci: UEFI image generation and build updates (#4033)
* ci: use uefi for amd64 image, debian 12.1.0
* build: add amd64 legacyboot image action
* ci: store var values in config, update readme
* fix: add raspi repo on aarch64 only
fixes: https://github.com/raspiblitz/raspiblitz/issues/4029
* docs: guide to extend the root partition
2023-07-30 10:51:33 +02:00
rootzoll
7dfdcf9b3f moved raspiblitz-web into raspiblitz github org 2023-07-29 19:18:01 +02:00
rootzoll
3b22b7a100 clean up lnd.conf from empty lines 2023-07-29 18:12:14 +02:00
rootzoll
4444bd191c #3974 add the word "upgrade" for fatpack 2023-07-29 16:54:17 +02:00
openoms
bfc29736a5
bos update to 15.8.14 (#4014) 2023-07-29 16:16:31 +02:00
openoms
1da893ed06
Nodejs update to v20.x with apt (#4032)
* nodejs update to v20.x with apt
* remove info option from command info
2023-07-29 16:08:17 +02:00
openoms
df662a1349
ci: quote all options for packer build (#4004) 2023-07-29 15:54:26 +02:00
openoms
8c87bee0f6
c-lightning-REST improvements, balance display fix (#4005)
* improve handling aliases when no network given
* clrest install to use absolute paths
* fix cln balance display
* remove misplaced line
* improve jq expressions
* convert msat balances to sat

discussed in: https://github.com/raspiblitz/raspiblitz/issues/3837
2023-07-29 13:48:11 +02:00
rootzoll
237570af44 Add electrs v0.10.0 update to CHANGES.md 2023-07-29 11:20:59 +02:00
Roman Zeyde
0a2ce9a95a
Update electrs to latest release (v0.10.0) (#3999)
See https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0100-rc1-jun-21-2023
2023-07-29 00:59:47 +02:00
openoms
b20fae09d6
typo fixes in .md files with typos-cli (#4026)
* typo fixes in .md files with typos-cli
* fix false positives
2023-07-28 23:06:05 +02:00
openoms
2abe5aed4b
chantools update 0.11.3, accept higher lnd version (#4031) 2023-07-28 22:43:04 +02:00
openoms
8bbdd957fb
ci: update packer-builder (#4017) 2023-07-18 18:53:51 +02:00
geco91
f5302c7409
Remove Bitcoin recommended Update for v1.10.0 (#4015)
* adapt version

* correct versions

* remove recommended bitcoind update
2023-07-18 18:52:48 +02:00
/rootzoll
6d1582096d
RTL, clrest update, fix update options for cli (#3880) (#4002)
* clrest update to v0.10.3, add update option
* rtl update to v0.14.0
* c-lightning-rest update to v0.10.5
* add to CHANGES
* fix lnd update (cli only)

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-07-08 22:53:35 +02:00
openoms
819c7e72f6
RTL, clrest update, fix update options for cli (#3880)
* clrest update to v0.10.3, add update option

* rtl update to v0.14.0

* c-lightning-rest update to v0.10.5

* add to CHANGES

* fix lnd update (cli only)
2023-07-08 22:52:10 +02:00
/rootzoll
9878ea8a02
misc updates for v1.10.0rc1 (#4001)
* add lndg update info

* mark v1.10.0rc1 version

* Thunderhub v0.13.19

* changing default repo to raspiblitz org

* LNbits 0.10.9

* lnbits dont delete user on "off"

* BTCPayServer 1.10.3

* switch default branch to v1.10
2023-07-08 19:38:08 +02:00
openoms
50fbeb0168
fix: remove sudo from lnd prestart (#3995) 2023-07-08 19:35:07 +02:00
allyourbankarebelongtous
68678e243d
Update lndg (#3740)
* Update bonus.lndg.sh
Cleaned up code, added requirements.txt install to updates (needed for this update, may be needed in future).

* Update bonus.lndg.sh
Change to v1.7.0
2023-07-08 18:17:32 +02:00
/rootzoll
3db93fa19b
change to signer roasbeef (#3994) 2023-07-08 16:25:11 +02:00
/rootzoll
68772e3f6d
New RaspiOS 20230503 & cln 23.05.2 & BitcoinCore 25.0 (#3993)
* Update sd card base Image
* update cln to 23.05.2
* bitcoin update to 25.0
* document CHANGES
2023-07-08 15:31:39 +02:00
Christoph Stenglein
14f126ee88
create issue templates (#3952) 2023-07-08 15:21:23 +02:00
openoms
82bd29c2d0
lit update to 0.10.1-alpha, add pgp key (#3962) 2023-07-08 15:20:35 +02:00
Christoph Stenglein
e7b1772f3b
(electrs): update to 0.9.14 (#3965) 2023-07-08 15:18:23 +02:00
Martin Berger
fc2979f9da
Create aeskey.properties if not existing (#3875) 2023-07-08 15:16:05 +02:00
Christoph Stenglein
c9b6971489
(lnd): update lnd to 0.16.4 (#3963)
* (lnd): update lnd to 0.16.3

* update LND to 0.16.4-beta
2023-07-08 15:14:52 +02:00
openoms
d270662b73
ci: update images, add arm64-rpi-debian12 build (#3985)
* ci: update images, add arm64-rpi-debian12 build

* ci: add apt update and concurrency

* fix: use netcat-openbsd in build

* ci: add concurrency to all jobs

* fix: simplify image check and add python 3.11

* ci: update amd64 base image to Debian 12.0.0

* build: separate apt_installs

* add btrfs-progs only if not bookworm on aarch64

* build: remove armbian, add aarch64 debian

---------

Co-authored-by: /rootzoll <christian@geektank.de>
2023-07-08 14:58:00 +02:00
openoms
120d407d38
lnd: Restart=always and clean config (#3986)
* lnd.service: use Restart=always

* lnd.check: remove erroneous    [rpcmiddleware]

* remove [[Rr]pcmiddleware] entries
2023-07-08 14:53:34 +02:00
Christoph Stenglein
6965b6ceae
prevent caching of index.html, add cache-control header for other requests as well (#3992) 2023-07-08 14:52:49 +02:00
openoms
8d72c83ca9
amd64 image update to Debian 12.0.0 and Python compatibility (#3967)
* build:  use python 3.11 if available

* ci: update amd64 base image to Debian 12.0.0

* use netcat-openbsd package
2023-07-08 14:51:11 +02:00
/rootzoll
5d346e9062
Merge pull request #3892 from raspiblitz/lnd-conf-fix
fix indentation of lnd.conf
2023-06-18 00:29:59 +02:00
openoms
45744386d7
fix indentation of lnd.conf 2023-06-04 12:53:50 +02:00
/rootzoll
ff7275faf8
Merge pull request #3890 from chGoodchild/hardware_images
Added HW assembly pictures
2023-06-03 12:59:51 +02:00
Chandran
1bca7b6d88 Added HW assembly pictures 2023-06-03 00:34:11 +02:00
rootzoll
afc1d348e0 fix typos 2023-05-24 13:23:28 +02:00
rootzoll
c4c0dbcad5 fix typo 2023-05-24 13:21:28 +02:00
rootzoll
9ba52edba9 Fix Torrent Info 2023-05-23 23:54:21 +02:00
rootzoll
94126c5280 Add JAM on ReadMe 2023-05-23 23:51:18 +02:00
/rootzoll
7e446517fb
Merge pull request #3868 from rootzoll/v19doc
v1.9.0 Release Documentation
2023-05-23 23:44:00 +02:00
rootzoll
5b984b82ff correct versions 2023-05-23 23:42:35 +02:00
rootzoll
04a045ba48 update v1.9.0 image links & info 2023-05-23 23:06:14 +02:00
/rootzoll
50064448b3
Merge pull request #3866 from openoms/amd64-build-image-update
ci: use debian-11.7.0-amd64 base image
2023-05-23 22:47:11 +02:00
/rootzoll
0cd4c8a8fe
Merge pull request #3865 from rootzoll/suez-fix
fix: use the absolute path of suez
2023-05-23 22:45:56 +02:00
openoms
9752773caa
fix: use the absolute path of suez 2023-05-23 16:48:11 +01:00
rootzoll
7a195c8eac add torrentfiles v1.9.0 2023-05-23 15:35:30 +02:00
openoms
d9cfe82b51
ci: use debian-11.7.0-amd64 base image 2023-05-23 12:30:26 +01:00
/rootzoll
3ed2502cab
Merge pull request #3861 from rootzoll/cl-backup-fix
fix: use absolute path for cln backup-cli
2023-05-22 23:22:03 +02:00
openoms
69160baa95
fix: use absolute path for cln backup-cli 2023-05-22 21:21:17 +01:00
/rootzoll
5505bd34ad
Merge pull request #3860 from rootzoll/3858fixmigration
#3858 Fix new Umbrel migration
2023-05-22 00:15:03 +02:00
rootzoll
7f7a648881 #3858 adapt to new lnd conf name 2023-05-21 23:15:31 +02:00
rootzoll
00dc6423ab fix version swap 2023-05-21 18:51:04 +02:00
/rootzoll
da66fb9724
Merge pull request #3854 from rootzoll/v19doc
Merge v1.9.0 docs
2023-05-20 19:03:17 +02:00
rootzoll
c88a540000 mark v1.9.0 version 2023-05-20 19:01:32 +02:00
/rootzoll
e04a9b35b8
Merge pull request #3849 from drmartinberger/dev
Update bonus.fints.sh: copy & configure connectionpool.properties for db connection
2023-05-19 23:22:34 +02:00
/rootzoll
2caebce73d
Merge pull request #3851 from rootzoll/btc24-1
Offer Bitcoin Core 24.1 as "tested update" option
2023-05-19 09:40:12 +02:00
rootzoll
91bff7719a we need non-interaction 2023-05-19 09:33:39 +02:00
rootzoll
470260444a fix update process 2023-05-19 01:16:48 +02:00
rootzoll
0f00051870 update option for bitcoind 24.1 2023-05-19 00:47:26 +02:00
/rootzoll
e1001cc829
Merge pull request #3850 from rootzoll/3845virtualenv
#3845 fix virtualenv
2023-05-19 00:43:51 +02:00
rootzoll
8322bf3cef #3836 return specter to 1.8.1 2023-05-19 00:40:49 +02:00
rootzoll
1b7435c4b7 #3836 retest specter 1.14.5 2023-05-19 00:05:28 +02:00
Martin Berger
1304cc708d
Update bonus.fints.sh: copy and configure connectionpool.properties for db connection 2023-05-17 22:36:25 +02:00
rootzoll
cfe034e0f9 #3845 reset virtual env after poetry installs 2023-05-17 18:04:41 +02:00
/rootzoll
b3aa01a435
Merge pull request #3846 from drmartinberger/patch-1
Update bonus.fints.sh: set default encrypted FinTS PIN within dbsetup.sql
2023-05-16 21:19:35 +02:00
Martin Berger
bc58fe8e14
Update bonus.fints.sh: Copy blz.banking2.properties correctly 2023-05-16 21:18:34 +02:00
Martin Berger
1375cec93a
Update bonus.fints.sh: set default encrypted FinTS PIN within dbsetup.sql 2023-05-16 20:51:54 +02:00
/rootzoll
9f6326d127
Merge pull request #3844 from rootzoll/installupdate
Fix JAM missing resturn value on uninstall
2023-05-16 15:17:04 +02:00
rootzoll
c49ba7a432 missing slash 2023-05-16 15:14:12 +02:00
rootzoll
b7c65288ad JAM reporting result=OK on deinstall 2023-05-16 15:12:05 +02:00
/rootzoll
cca7492032
Merge pull request #3843 from rootzoll/3831lit
#3831 quick fix for LITD macaroon renew
2023-05-16 15:02:04 +02:00
rootzoll
95a5cc9230 delete also litd macaroon 2023-05-16 14:19:05 +02:00
rootzoll
96887861c5 adapt info 2023-05-16 13:18:54 +02:00
rootzoll
bca0620105 update waiting times 2023-05-16 13:15:58 +02:00
openoms
dbbdaf91fc
CLN: less reckless update, consistent leading v (#3835)
* CLN: less reckless update, consistent leading v
* check in app-data as root and add output
* check if clUpdateVersion is already installed
2023-05-16 12:12:36 +01:00
rootzoll
da513b438a fix LIT verion in CHANGES 2023-05-16 11:37:10 +02:00
/rootzoll
2d5e4f2dcc
Merge pull request #3836 from rootzoll/specter-v1.14.5
disable Specter update in menu
2023-05-15 23:30:53 +02:00
/rootzoll
c10df9033a
Merge pull request #3842 from rootzoll/3833export
#3833 Fix Migration Download Commands
2023-05-15 23:27:28 +02:00
rootzoll
861c571352 #3833 fix migration download links 2023-05-15 22:48:45 +02:00
openoms
617c1ca682
fix: switch cl recovery mode off when finished (#3839) 2023-05-15 21:15:55 +01:00
openoms
de5e579e6c
keep version v1.8.1 2023-05-15 21:12:22 +01:00
/rootzoll
0fdf9804ac
Merge pull request #3830 from nformant1/dev
Fixed typo "additial" in dev branch
2023-05-15 21:59:19 +02:00
/rootzoll
c9c8606e87
Merge pull request #3840 from dennisreimann/patch-1
Readme: Adjust BTCPay Server wording
2023-05-15 20:59:16 +02:00
/rootzoll
725a6669fe
Merge pull request #3841 from dennisreimann/patch-2
Fix typos in dialogPasswords.sh
2023-05-15 20:58:10 +02:00
d11n
222035684f
Fix typos in dialogPasswords.sh 2023-05-15 17:53:25 +02:00
d11n
6603bd7b40
Readme: Adjust BTCPay Server wording 2023-05-15 16:03:45 +02:00
openoms
282ea0866a
specter: pin version v1.14.5 2023-05-15 10:50:34 +01:00
openoms
8a6adc4e69
disable Specter update 2023-05-15 10:45:06 +01:00
nformant
9ac7c57061 fixed typo "additial" in dev branch 2023-05-12 12:15:45 +02:00
/rootzoll
f2b77e913d
Merge branch 'v1.9' into dev 2023-05-12 09:35:56 +02:00
/rootzoll
e7bbdfa937
add checksums for v1.9.0rc5 (#3828) 2023-05-12 09:26:49 +02:00
/rootzoll
03eb726415
Merge branch 'dev' into v19doc 2023-05-12 09:26:36 +02:00
rootzoll
ba38d95549 add images checksum 2023-05-12 09:22:20 +02:00
/rootzoll
19244f43f0
1.9.0rc5 merge (#3826)
* extend sd card before fatpack (#3783)

* Fatpack sd card expand (#3784)

* extend sd card before fatpack

* fix expansion detection

* Bump lnbits to 0.10.5 and add path to poetry in systemd script (#3787)

* fix: don't reinstall same CLN version + fmt (#3796)

* fix: lnd check for rpcmiddleware (#3804)

* fix: joininbox update, hide jm api error from lcd (#3801)

* fix: hide jm api error from lcd

* joininbox update to v0.7.8

* fix: remove lnbits user when off, improve checks (#3798)

* reduce bitcoind memory usage w  MALLOC_ARENA_MAX=1 (#3780)

* Misc fixed towards v1.9.0 (#3808)

* get web api info
* #3772 increase curl timeout
* #3805 change "Please Login"

* #3807 fix cln jrpc socket access (#3815)

* Btcpay 193 (#3812)

* Update BTCPay v1.9.3
* btcpay verify with web-flow

* lnbits 0.10.6 update (#3814)

* Fatpack: LCD on & cl-plugin.cln-grpc OFF (#3817)

* make sure fatpack is LCD activated
* remove cl-plugin.cln-grpc.sh by default
* #3793 fix socket jrpc

* lndmanage 0.15.0 (#3818)

* 1.9.0rc5 merge (#3825)

* update build manual
* debug report info
* Bitbanana Info
* #3614 more debug log lines of BTC & LN mainnet
* rc5 downloads

---------

Co-authored-by: Stephan Oeste <emzy@emzy.de>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-05-11 19:41:46 +02:00
/rootzoll
4fae085c6e
1.9.0rc5 merge (#3825)
* update build manual
* debug report info
* Bitbanana Info
* #3614 more debug log lines of BTC & LN mainnet
* rc5 downloads
2023-05-11 19:38:02 +02:00
rootzoll
432c5a8a93 fix typo 2023-05-11 19:37:00 +02:00
/rootzoll
d5807a04e4
Merge branch 'dev' into v19doc 2023-05-11 19:36:05 +02:00
rootzoll
e3651ea5b8 rc5 downloads 2023-05-11 19:34:24 +02:00
/rootzoll
75171c09e3
merge prepare v1.9.0rc5 (#3824)
* extend sd card before fatpack (#3783)
* Fatpack sd card expand (#3784)
* extend sd card before fatpack
* fix expansion detection
* Bump lnbits to 0.10.5 and add path to poetry in systemd script (#3787)
* fix: don't reinstall same CLN version + fmt (#3796)
* fix: lnd check for rpcmiddleware (#3804)
* fix: joininbox update, hide jm api error from lcd (#3801)
* fix: hide jm api error from lcd
* joininbox update to v0.7.8
* fix: remove lnbits user when off, improve checks (#3798)
* reduce bitcoind memory usage w  MALLOC_ARENA_MAX=1 (#3780)
* Misc fixed towards v1.9.0 (#3808)
* get web api info
* #3772 increase curl timeout
* #3805 change "Please Login"
* #3807 fix cln jrpc socket access (#3815)
* Btcpay 193 (#3812)
* Update BTCPay v1.9.3
* btcpay verify with web-flow
* lnbits 0.10.6 update (#3814)
* Fatpack: LCD on & cl-plugin.cln-grpc OFF (#3817)
* make sure fatpack is LCD activated
* remove cl-plugin.cln-grpc.sh by default
* #3793 fix socket jrpc
* lndmanage 0.15.0 (#3818)

---------

Co-authored-by: Stephan Oeste <emzy@emzy.de>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2023-05-11 17:12:28 +02:00
/rootzoll
bbe7f80be2
Merge branch 'v1.9' into dev 2023-05-11 17:10:20 +02:00
/rootzoll
078233ada8
lndmanage 0.15.0 (#3818) 2023-05-10 14:57:04 +02:00
rootzoll
8ff38531b6 #3614 more debug log lines of BTC & LN mainnet 2023-05-10 14:19:11 +02:00
/rootzoll
019d78f398
Fatpack: LCD on & cl-plugin.cln-grpc OFF (#3817)
* make sure fatpack is LCD activated
* remove cl-plugin.cln-grpc.sh by default
* #3793 fix socket jrpc
2023-05-10 13:20:40 +02:00
/rootzoll
7335476a07
lnbits 0.10.6 update (#3814) 2023-05-09 23:13:31 +02:00
/rootzoll
4f934ee622
Btcpay 193 (#3812)
* Update BTCPay v1.9.3
* btcpay verify with web-flow
2023-05-09 23:12:23 +02:00
/rootzoll
d7599c21ae
#3807 fix cln jrpc socket access (#3815) 2023-05-09 23:10:28 +02:00
rootzoll
6662e39e9d Bitbanana Info 2023-05-09 10:08:30 +02:00
rootzoll
df1615de1b debug report info 2023-05-08 23:05:09 +02:00
/rootzoll
2519cc8708
Misc fixed towards v1.9.0 (#3808)
* get web api info
* #3772 increase curl timeout
* #3805 change "Please Login"
2023-05-08 22:44:17 +02:00
openoms
086b022698
reduce bitcoind memory usage w MALLOC_ARENA_MAX=1 (#3780) 2023-05-08 22:29:51 +02:00
openoms
9c25636217
fix: remove lnbits user when off, improve checks (#3798) 2023-05-08 21:33:20 +02:00
openoms
7a2dfd9232
fix: joininbox update, hide jm api error from lcd (#3801)
* fix: hide jm api error from lcd

* joininbox update to v0.7.8
2023-05-08 20:56:42 +02:00
openoms
029525ab4d
fix: lnd check for rpcmiddleware (#3804) 2023-05-08 20:35:18 +02:00
openoms
4e1f2a4ae9
fix: don't reinstall same CLN version + fmt (#3796) 2023-05-08 20:30:39 +02:00
rootzoll
09e1a91002 rc4 links 2023-05-08 19:45:11 +02:00
Stephan Oeste
4c1c1349d3
Bump lnbits to 0.10.5 and add path to poetry in systemd script (#3787) 2023-05-05 14:59:05 +02:00
rootzoll
414deb3ab1 update to lnbits 0.10.5 2023-05-04 18:31:24 +02:00
rootzoll
b3b9ba4722 update build manual 2023-05-04 15:58:42 +02:00
/rootzoll
f64f6d21e9
fatpack sd card expansion (#3785)
* extend sd card before fatpack (#3783)

* Fatpack sd card expand (#3784)

* extend sd card before fatpack

* fix expansion detection
2023-05-04 13:41:48 +02:00
/rootzoll
34f91f1730
Fatpack sd card expand (#3784)
* extend sd card before fatpack

* fix expansion detection
2023-05-04 13:23:05 +02:00
/rootzoll
7943fe0611
extend sd card before fatpack (#3783) 2023-05-04 12:35:16 +02:00
/rootzoll
4af7fa5d94
Merge pull request #3782 from rootzoll/dev
merge v1.9.0rc4
2023-05-03 23:06:15 +02:00
/rootzoll
4cbdde88c2
Merge branch 'v1.9' into dev 2023-05-03 23:03:34 +02:00
rootzoll
a4ab1f6b8c v1.9.0rc4 version info 2023-05-03 22:58:37 +02:00
rootzoll
69d30adca2 update to lnd v0.16.2 2023-05-03 19:36:37 +02:00
Dipun Mistry
02f0da720c
migrated only relevant fixes from #3770 (#3778)
* migrated only relevant fixes from #3770
* add the missing apt_install function
2023-05-03 19:11:03 +02:00
openoms
8b9b1225ad
lnproxy update with new specs (#3771) 2023-05-03 19:07:08 +02:00
rootzoll
3f2c2b2ff8 mute warning on build set display 2023-05-03 18:39:03 +02:00
Jason Brill
4c461a2055
LIT update to v0.9.2-alpha (#3738)
* LIT update to v0.9.2-alpha
* lnd check for rpcmiddleware
2023-05-03 18:29:16 +02:00
/rootzoll
f49c3af192
#3751 update proto files (#3765) 2023-05-03 17:33:39 +02:00
openoms
082cf33f88
refactor bitcoin update script with new keys (#3758) 2023-05-03 17:32:23 +02:00
Dipun Mistry
c3715c2194
minor fixes I found as I ran scripts manually (#3767)
* minor fixes I found as I ran scripts manually
* removed use of sudo & added sudo root check
2023-05-03 17:21:44 +02:00
dni ⚡
8109114d9e
fix reverse proxz issue, bind to 0.0.0.0 (#3776) 2023-04-28 10:58:36 +02:00
openoms
6f4f77b1eb
lnd update to v0.16.1-beta (#3774) 2023-04-25 20:54:55 +02:00
dni ⚡
42126c47eb
bump lnbits to 0.10.4.1 (#3769)
:) updates!
2023-04-24 00:38:11 +02:00
openoms
084304531a
btcpay update to v1.9.1, migration to postgres (#3756)
* btcpay update to v1.9.0, migration to postgres
* update CHANGES.md
* always fix postgres files ownership
* add socksendpoint=127.0.0.1:9050 to fix #3729
* btcpay update to v1.9.1
* update changes
* create config directory in BtcPayConfig
2023-04-24 00:14:44 +02:00
openoms
34bac321f4
joininbox update to v0.7.7 (#3768) 2023-04-22 19:14:25 +00:00
openoms
4217baa714
joinmarket: check for the bitcoin core wallet last (#3752) 2023-04-19 10:53:08 +01:00
/rootzoll
158c077dee Create pull_request_template.md (#3762) 2023-04-17 11:08:36 +02:00
/rootzoll
d03f245bca
Create pull_request_template.md (#3762) 2023-04-17 11:07:26 +02:00
openoms
fa156fbd52
fulcrum update to v1.9.1, add notes (#3748) 2023-04-13 12:51:48 +02:00
openoms
3b52569be5
web.api: fix sed syntax and format (#3749) 2023-04-13 12:05:23 +02:00
flyerbear
4f93dee697
Update README.md for LND and CLN versions (#3745)
Update README to include updated LND and CLN versions from CHANGES.md.
2023-04-13 12:03:23 +02:00
/rootzoll
a880c08076
fatpack fix for v1.9.0rc3 build (#3744)
* cln: use default normal feerate to withdraw all

* Bugfix: bad subsititution (#3668)

Fix for error:

/home/admin/config.scripts/bonus.go.sh: line 31: ${goOSversion{}: bad substitution

* whiptail one line

* fix syntax

* lnproxy: fix api access through nginx (#3671)

* lnproxy: fix api access through nginx
* fix tor config and fit the menu
* add to the menu and provision

* merge #3682

* cln update to v23.02, backup-plugin update, add poetry (#3684)

* cln backup-plugin update, add poetry
* fix mkdir error, remove commented code, fmt #3677
* poetry and path fixes
* add terminal feedback, format #3676
* detect the full name of the plugin
* install pyln-client tqdm with pip
* git-verify: add --keyid-format LONG
to recognise if the signing key is not the main key
* cln update to v23.02
* cln-grpc: add protobuf-compiler dep
* rtl update to v0.13.6 and formatting
* C-lightningREST update to v0.10.1

* CLN FAQ update (#3666)

* improve the detection of existing cln aliases
* add the emergencyrecover instructions to  CLN FAQ
* update help entries

* Update Tallycoin to version 1.8.0 (#3693)

* add tallycoin update info to CHANGES

* Fix typo in README.md (#3699)

excepted -> accepted

* #3694 add LCD info

* #3664 att timeout 30s to ln monitor calls (#3665)

* fix setting LND_REST_ENDPOINT (#3689)

* btcpay update v1.8.2, postgres database fix (#3697)

* btcpay update v1.8.0, postgres database fix

* btcpayserver update to v1.8.2

* update lnbits to 0.10.2 and use poetry instead of venv (#3703)

* fix apt update Key error for influx repo (#3711)

Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>

* fix missing timeout value for nc cmnd (#3712)

Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>

* #3706 Update CLN v23.02.2 (#3716)

* used patched/rolledback 23.02.2 release
* check rusty sig
* fix typo
* fix default lightning setting

* #3683 Update LIT to 0.8.6 (#3717)

* update LIT to 0.8.6
* activate lnd rpcmiddleware
* CHANGES.md

* #3667 change all up/download from sftp tp scp (#3718)

* #3722 add no hostkeys available detection (#3723)

* #1186 FinTS/HBCI interface (#3704)

* #1186 FinTS install script first draft

* only start app when blitz is ready

* improve menu

* improve dit lnbits config

* preserve edit

* improve edit

* improve edit

* fix insertion

* dont use fingerprint

* now use main repo

* add port

* show local ip

* fix typo

* show port SSL

* Update bonus.lndg.sh (#3725)

* Update bonus.lndg.sh

Changes version to v1.6.0.
Fixes update menu bug.
Cleans up code a bit (removes tabs and changes to spaces to match raspiblitz formats).

* Update bonus.lndg.sh

Cleaned up code, added requirements.txt install to updates (needed for this update, may be needed in future).

* #3725 update lndg version in CHANGES

* #3692 update lnd to v0.16.0-beta (#3732)

* update SD CARD base image info

* Clenaup CHANGES info

* RTL install fix (#3739)

* c-lightning-REST update to 0.10.2, fmt
* rtl: npm insatll with --legacy-peer-deps
* purge c-lightning-REST as well with RTL

* jam update to v0.1.5 (#3736)

* 3733 CLN GRPC > JRPC (#3741)

* change exit code

* change to cln_jrpc

* deactivate the cln_grpc settings

* set v1.9.0rc3 version

* improve git verify

* move fatpack into external script

* get brach& repo  infos

* clean up fatpack

---------

Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: Metallicc <72348+metallicc@users.noreply.github.com>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: DJ Booth <djbooth007@gmail.com>
Co-authored-by: Yuck Fou <115867254+YuckFouBTC@users.noreply.github.com>
Co-authored-by: dni  <office@dnilabs.com>
Co-authored-by: PatrickScheich <50054697+PatrickScheich@users.noreply.github.com>
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
Co-authored-by: allyourbankarebelongtous <100060902+allyourbankarebelongtous@users.noreply.github.com>
2023-04-10 04:07:19 +02:00
/rootzoll
cb8ffbd8dc
Merge branch 'v1.9' into dev 2023-04-10 04:06:55 +02:00
rootzoll
d94412984c clean up fatpack 2023-04-10 04:04:03 +02:00
rootzoll
9bb7cb12f1 get brach& repo infos 2023-04-10 03:59:07 +02:00
/rootzoll
bec03c8566
Fatpack external (#3743)
* cln: use default normal feerate to withdraw all

* Bugfix: bad subsititution (#3668)

Fix for error:

/home/admin/config.scripts/bonus.go.sh: line 31: ${goOSversion{}: bad substitution

* whiptail one line

* fix syntax

* lnproxy: fix api access through nginx (#3671)

* lnproxy: fix api access through nginx
* fix tor config and fit the menu
* add to the menu and provision

* merge #3682

* cln update to v23.02, backup-plugin update, add poetry (#3684)

* cln backup-plugin update, add poetry
* fix mkdir error, remove commented code, fmt #3677
* poetry and path fixes
* add terminal feedback, format #3676
* detect the full name of the plugin
* install pyln-client tqdm with pip
* git-verify: add --keyid-format LONG
to recognise if the signing key is not the main key
* cln update to v23.02
* cln-grpc: add protobuf-compiler dep
* rtl update to v0.13.6 and formatting
* C-lightningREST update to v0.10.1

* CLN FAQ update (#3666)

* improve the detection of existing cln aliases
* add the emergencyrecover instructions to  CLN FAQ
* update help entries

* Update Tallycoin to version 1.8.0 (#3693)

* add tallycoin update info to CHANGES

* Fix typo in README.md (#3699)

excepted -> accepted

* #3694 add LCD info

* #3664 att timeout 30s to ln monitor calls (#3665)

* fix setting LND_REST_ENDPOINT (#3689)

* btcpay update v1.8.2, postgres database fix (#3697)

* btcpay update v1.8.0, postgres database fix

* btcpayserver update to v1.8.2

* update lnbits to 0.10.2 and use poetry instead of venv (#3703)

* fix apt update Key error for influx repo (#3711)

Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>

* fix missing timeout value for nc cmnd (#3712)

Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>

* #3706 Update CLN v23.02.2 (#3716)

* used patched/rolledback 23.02.2 release
* check rusty sig
* fix typo
* fix default lightning setting

* #3683 Update LIT to 0.8.6 (#3717)

* update LIT to 0.8.6
* activate lnd rpcmiddleware
* CHANGES.md

* #3667 change all up/download from sftp tp scp (#3718)

* #3722 add no hostkeys available detection (#3723)

* #1186 FinTS/HBCI interface (#3704)

* #1186 FinTS install script first draft

* only start app when blitz is ready

* improve menu

* improve dit lnbits config

* preserve edit

* improve edit

* improve edit

* fix insertion

* dont use fingerprint

* now use main repo

* add port

* show local ip

* fix typo

* show port SSL

* Update bonus.lndg.sh (#3725)

* Update bonus.lndg.sh

Changes version to v1.6.0.
Fixes update menu bug.
Cleans up code a bit (removes tabs and changes to spaces to match raspiblitz formats).

* Update bonus.lndg.sh

Cleaned up code, added requirements.txt install to updates (needed for this update, may be needed in future).

* #3725 update lndg version in CHANGES

* #3692 update lnd to v0.16.0-beta (#3732)

* update SD CARD base image info

* Clenaup CHANGES info

* RTL install fix (#3739)

* c-lightning-REST update to 0.10.2, fmt
* rtl: npm insatll with --legacy-peer-deps
* purge c-lightning-REST as well with RTL

* jam update to v0.1.5 (#3736)

* 3733 CLN GRPC > JRPC (#3741)

* change exit code

* change to cln_jrpc

* deactivate the cln_grpc settings

* set v1.9.0rc3 version

* improve git verify

* move fatpack into external script

---------

Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: Metallicc <72348+metallicc@users.noreply.github.com>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: DJ Booth <djbooth007@gmail.com>
Co-authored-by: Yuck Fou <115867254+YuckFouBTC@users.noreply.github.com>
Co-authored-by: dni  <office@dnilabs.com>
Co-authored-by: PatrickScheich <50054697+PatrickScheich@users.noreply.github.com>
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
Co-authored-by: allyourbankarebelongtous <100060902+allyourbankarebelongtous@users.noreply.github.com>
2023-04-09 23:25:43 +02:00
rootzoll
19a54e1641 move fatpack into external script 2023-04-09 23:19:22 +02:00
rootzoll
f383624abe improve git verify 2023-04-09 23:00:39 +02:00
/rootzoll
1a0c4fe09a
v1.9.0rc3 Merge (#3742)
* cln: use default normal feerate to withdraw all

* Bugfix: bad subsititution (#3668)

Fix for error:

/home/admin/config.scripts/bonus.go.sh: line 31: ${goOSversion{}: bad substitution

* whiptail one line

* fix syntax

* lnproxy: fix api access through nginx (#3671)

* lnproxy: fix api access through nginx
* fix tor config and fit the menu
* add to the menu and provision

* merge #3682

* cln update to v23.02, backup-plugin update, add poetry (#3684)

* cln backup-plugin update, add poetry
* fix mkdir error, remove commented code, fmt #3677
* poetry and path fixes
* add terminal feedback, format #3676
* detect the full name of the plugin
* install pyln-client tqdm with pip
* git-verify: add --keyid-format LONG
to recognise if the signing key is not the main key
* cln update to v23.02
* cln-grpc: add protobuf-compiler dep
* rtl update to v0.13.6 and formatting
* C-lightningREST update to v0.10.1

* CLN FAQ update (#3666)

* improve the detection of existing cln aliases
* add the emergencyrecover instructions to  CLN FAQ
* update help entries

* Update Tallycoin to version 1.8.0 (#3693)

* add tallycoin update info to CHANGES

* Fix typo in README.md (#3699)

excepted -> accepted

* #3694 add LCD info

* #3664 att timeout 30s to ln monitor calls (#3665)

* fix setting LND_REST_ENDPOINT (#3689)

* btcpay update v1.8.2, postgres database fix (#3697)

* btcpay update v1.8.0, postgres database fix

* btcpayserver update to v1.8.2

* update lnbits to 0.10.2 and use poetry instead of venv (#3703)

* fix apt update Key error for influx repo (#3711)

Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>

* fix missing timeout value for nc cmnd (#3712)

Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>

* #3706 Update CLN v23.02.2 (#3716)

* used patched/rolledback 23.02.2 release
* check rusty sig
* fix typo
* fix default lightning setting

* #3683 Update LIT to 0.8.6 (#3717)

* update LIT to 0.8.6
* activate lnd rpcmiddleware
* CHANGES.md

* #3667 change all up/download from sftp tp scp (#3718)

* #3722 add no hostkeys available detection (#3723)

* #1186 FinTS/HBCI interface (#3704)

* #1186 FinTS install script first draft

* only start app when blitz is ready

* improve menu

* improve dit lnbits config

* preserve edit

* improve edit

* improve edit

* fix insertion

* dont use fingerprint

* now use main repo

* add port

* show local ip

* fix typo

* show port SSL

* Update bonus.lndg.sh (#3725)

* Update bonus.lndg.sh

Changes version to v1.6.0.
Fixes update menu bug.
Cleans up code a bit (removes tabs and changes to spaces to match raspiblitz formats).

* Update bonus.lndg.sh

Cleaned up code, added requirements.txt install to updates (needed for this update, may be needed in future).

* #3725 update lndg version in CHANGES

* #3692 update lnd to v0.16.0-beta (#3732)

* update SD CARD base image info

* Clenaup CHANGES info

* RTL install fix (#3739)

* c-lightning-REST update to 0.10.2, fmt
* rtl: npm insatll with --legacy-peer-deps
* purge c-lightning-REST as well with RTL

* jam update to v0.1.5 (#3736)

* 3733 CLN GRPC > JRPC (#3741)

* change exit code

* change to cln_jrpc

* deactivate the cln_grpc settings

* set v1.9.0rc3 version

---------

Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: Metallicc <72348+metallicc@users.noreply.github.com>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: DJ Booth <djbooth007@gmail.com>
Co-authored-by: Yuck Fou <115867254+YuckFouBTC@users.noreply.github.com>
Co-authored-by: dni  <office@dnilabs.com>
Co-authored-by: PatrickScheich <50054697+PatrickScheich@users.noreply.github.com>
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
Co-authored-by: allyourbankarebelongtous <100060902+allyourbankarebelongtous@users.noreply.github.com>
2023-04-08 23:10:01 +02:00
rootzoll
bc42a2a343 set v1.9.0rc3 version 2023-04-08 23:06:51 +02:00
rootzoll
1cf0f0f140 Merge branch 'v1.9' into dev 2023-04-08 22:55:33 +02:00
/rootzoll
e998f19a8c
3733 CLN GRPC > JRPC (#3741)
* change exit code

* change to cln_jrpc

* deactivate the cln_grpc settings
2023-04-08 21:00:26 +02:00
openoms
83a6413bb4
jam update to v0.1.5 (#3736) 2023-04-08 17:10:38 +02:00
openoms
48f4054a9c
RTL install fix (#3739)
* c-lightning-REST update to 0.10.2, fmt
* rtl: npm insatll with --legacy-peer-deps
* purge c-lightning-REST as well with RTL
2023-04-07 14:35:11 +02:00
rootzoll
c6a202ede0 Clenaup CHANGES info 2023-04-04 01:21:25 +02:00
rootzoll
2397b3847c update SD CARD base image info 2023-04-04 01:21:06 +02:00
/rootzoll
71b3d6148f
#3692 update lnd to v0.16.0-beta (#3732) 2023-04-03 19:25:02 +02:00
rootzoll
880714283b #3725 update lndg version in CHANGES 2023-04-03 13:03:05 +02:00
allyourbankarebelongtous
cfae7d81f9
Update bonus.lndg.sh (#3725)
* Update bonus.lndg.sh

Changes version to v1.6.0.
Fixes update menu bug.
Cleans up code a bit (removes tabs and changes to spaces to match raspiblitz formats).

* Update bonus.lndg.sh

Cleaned up code, added requirements.txt install to updates (needed for this update, may be needed in future).
2023-04-03 13:01:58 +02:00
/rootzoll
5c9dc1855e
#1186 FinTS/HBCI interface (#3704)
* #1186 FinTS install script first draft

* only start app when blitz is ready

* improve menu

* improve dit lnbits config

* preserve edit

* improve edit

* improve edit

* fix insertion

* dont use fingerprint

* now use main repo

* add port

* show local ip

* fix typo

* show port SSL
2023-04-03 12:59:45 +02:00
/rootzoll
d9deaee1e2
#3722 add no hostkeys available detection (#3723) 2023-04-03 12:57:55 +02:00
/rootzoll
679effcecd
#3667 change all up/download from sftp tp scp (#3718) 2023-04-03 12:56:33 +02:00
/rootzoll
a7056fc894
#3683 Update LIT to 0.8.6 (#3717)
* update LIT to 0.8.6
* activate lnd rpcmiddleware
* CHANGES.md
2023-03-22 20:44:04 +01:00
/rootzoll
19584f5c11
#3706 Update CLN v23.02.2 (#3716)
* used patched/rolledback 23.02.2 release
* check rusty sig
* fix typo
* fix default lightning setting
2023-03-22 15:10:30 +01:00
PatrickScheich
aa12a1be85
fix missing timeout value for nc cmnd (#3712)
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
2023-03-20 22:04:02 +01:00
PatrickScheich
1f06f90b95
fix apt update Key error for influx repo (#3711)
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
2023-03-20 16:12:04 +01:00
dni ⚡
1ae636b265
update lnbits to 0.10.2 and use poetry instead of venv (#3703) 2023-03-13 12:47:47 +01:00
openoms
6a677a6baa
btcpay update v1.8.2, postgres database fix (#3697)
* btcpay update v1.8.0, postgres database fix

* btcpayserver update to v1.8.2
2023-03-08 13:18:37 +00:00
openoms
9672c47652
fix setting LND_REST_ENDPOINT (#3689) 2023-03-08 13:03:00 +01:00
/rootzoll
4de2f81e60
#3664 att timeout 30s to ln monitor calls (#3665) 2023-03-08 13:01:06 +01:00
rootzoll
4c5e843d94 #3694 add LCD info 2023-03-08 10:32:39 +01:00
Yuck Fou
2b72ffda07 Fix typo in README.md (#3699)
excepted -> accepted
2023-03-07 23:39:12 +01:00
rootzoll
db2d264045 add tallycoin update info to CHANGES 2023-03-07 23:38:51 +01:00
DJ Booth
3fe8f44006 Update Tallycoin to version 1.8.0 (#3693) 2023-03-07 23:33:13 +01:00
openoms
eb0e9eacfa
CLN FAQ update (#3666)
* improve the detection of existing cln aliases
* add the emergencyrecover instructions to  CLN FAQ
* update help entries
2023-03-07 20:07:47 +00:00
openoms
7639b75311
cln update to v23.02, backup-plugin update, add poetry (#3684)
* cln backup-plugin update, add poetry
* fix mkdir error, remove commented code, fmt #3677
* poetry and path fixes
* add terminal feedback, format #3676
* detect the full name of the plugin
* install pyln-client tqdm with pip
* git-verify: add --keyid-format LONG
to recognise if the signing key is not the main key
* cln update to v23.02
* cln-grpc: add protobuf-compiler dep
* rtl update to v0.13.6 and formatting
* C-lightningREST update to v0.10.1
2023-03-07 20:06:39 +00:00
/rootzoll
2f88ea9d25
Merge pull request #3669 from rootzoll/cl-withdraw-patch
cln: use default normal feerate to withdraw all
2023-03-07 17:27:15 +01:00
rootzoll
371d772c4c merge #3682 2023-03-07 17:23:45 +01:00
/rootzoll
3f7f6b7ced
Merge pull request #3682 from leow149/patch-1
Update README.md
2023-03-07 17:19:00 +01:00
/rootzoll
cbf7d9a7ca
Merge pull request #3681 from rootzoll/3678-sphinx
#3678 fix sphinx install
2023-03-07 16:17:04 +01:00
leow149
d63a725c65
Update README.md 2023-02-16 10:18:41 +01:00
openoms
52cb52271f
lnproxy: fix api access through nginx (#3671)
* lnproxy: fix api access through nginx
* fix tor config and fit the menu
* add to the menu and provision
2023-02-15 08:49:21 +00:00
rootzoll
0a4a6feab0 fix syntax 2023-02-13 22:17:28 +01:00
rootzoll
6080aadf49 whiptail one line 2023-02-13 22:15:04 +01:00
Metallicc
b91506b4fb
Bugfix: bad subsititution (#3668)
Fix for error:

/home/admin/config.scripts/bonus.go.sh: line 31: ${goOSversion{}: bad substitution
2023-02-12 10:36:06 +00:00
/rootzoll
d739ce3e57
Merge pull request #3672 from rootzoll/dev
merge 1.9.0rc2 download info & links
2023-02-12 11:30:00 +01:00
openoms
76b49c87bc
cln: use default normal feerate to withdraw all 2023-02-11 08:48:17 +00:00
rootzoll
0d0168b1e7 Upload ne rc2 images 2023-02-08 21:23:51 +01:00
/rootzoll
61d84abbd4
Merge pull request #3663 from rootzoll/dev
merge dev for 1.9.9rc2 release
2023-02-07 21:43:50 +01:00
rootzoll
fa0b65decf Merge branch 'v1.9' into dev 2023-02-07 21:37:34 +01:00
openoms
0a6b450684
break scripts on fatal failures (#3658) 2023-02-07 21:32:22 +01:00
rootzoll
b0567148ce #3656 fix API & WebUI install 2023-02-07 21:08:26 +01:00
/rootzoll
795ed2919a
#3659 filter ald Torv1 addresses on update (#3662) 2023-02-07 20:58:07 +01:00
openoms
00522b3d05
bump nbxplorer to v2.3.59 (#3661) 2023-02-07 20:28:14 +01:00
rootzoll
ec4a1fd0e7 Merge brreparing rc2 2023-02-07 20:24:58 +01:00
/rootzoll
8727207987
merigng 1.9RC2 changes (#3657) 2023-02-05 23:11:49 +01:00
/rootzoll
bd961f7b6e
Merge branch 'v1.9' into dev 2023-02-05 22:54:43 +01:00
openoms
e9c98ab822
feat: add lnproxy server, webui and check payment hashes as a client (#3637)
* lnproxy: check if payment hashes match #3636

* go update to 1.19.5 and verify checkums

* add lnproxy install script

* add lnproxy-webui

* pin versions and fix formatting

* add nginx configs for lnproxy
2023-02-05 20:36:51 +00:00
openoms
d11dafd1db
joininbox update to v0.7.6 with Joinmarket v0.9.9 (#3655)
* update joininbox to v0.7.6 no qtgui with JM v0.9.9

* add to CHANGES
2023-02-05 21:11:32 +01:00
openoms
5d6521f8ee
fix: don't exit if the hsm_secret is decrypted ok (#3654)
related #3639
2023-02-05 21:10:02 +01:00
openoms
57434aa107
BTCpay and NBXplorer update, use postgres for new installs (#3641)
* use postgres for new btcpay installs
keep sqlite if the database is present
clean and format the script with shellcheck
* reinstall the service on update and check postgres
* run userdel -rf btcpay when off
* btcpay update to v1.7.5
* add systemctl daemon-reload when changing service
* exit on failed builds
* Restart=always
* nbxplorer update to v2.3.58
* prevent the git error 'detected dubious ownership in repository'
2023-02-04 12:37:59 +00:00
/rootzoll
61823316dc
#3629 update to tallycoin-c 1.7.5 (#3653) 2023-02-03 23:23:49 +01:00
/rootzoll
3dd1d8aebf
updated zeus instructions (#3652) 2023-02-03 22:57:03 +01:00
/rootzoll
3b087a00cb
#3468 Update electrs to 0.9.11 (#3613) 2023-02-03 20:46:07 +01:00
openoms
b63981fb9f
fix check for torActive (#3638) 2023-02-03 20:44:18 +01:00
myxmaster
358b13376a
prevent displaying 100.00%, although incorrect because of rounding (#3624) 2023-02-03 19:39:27 +01:00
openoms
82e26b118b
disable suspend (#3587)
* disable suspend

* fix typo in the logrotate config
2023-02-03 19:38:20 +01:00
/rootzoll
92f69bb29e
3524 Re-Add IP2Tor (#3643) 2023-02-03 17:44:24 +01:00
openoms
6e3e82a6f0
fix typos in the FAQ (#3626) 2023-02-03 17:41:15 +01:00
/rootzoll
504cef36c1
#3632 update lnbits to 0.9.6 (#3633) 2023-01-25 20:17:37 +01:00
/rootzoll
d731823758
#3605 Add both reindex options & FAQ entry (#3623)
fixes #3605
2023-01-25 19:07:13 +01:00
/rootzoll
0012aea921
#3620 adapt 99.99% for last 50 blocks to sync (#3621) 2023-01-19 09:45:08 +01:00
rootzoll
72b0a21e35 #3584 use scp for windows blockchain upload 2023-01-18 20:40:29 +01:00
/rootzoll
f1d3b48db6
#3602 also change password B for mempool (#3619)
* change password b also for mempool

* fix lndg password b
2023-01-18 20:18:28 +01:00
openoms
cde7eb1310
suez update and improvements (#3615)
* suez update and improvements
2023-01-18 15:13:33 +01:00
ChuckNorrison
2ce930e9e2
print windows hint for Download LND rescue file (#3589)
found in  #3581
2023-01-18 13:28:22 +01:00
openoms
744dd45758
ci docs update (#3578) 2023-01-18 13:26:38 +01:00
openoms
55bdc7a512
update bos to 13.15.0 (#3600)
Co-authored-by: /rootzoll <christian@geektank.de>
2023-01-18 13:19:52 +01:00
Ian Harper
4ccb83803a
Add steps to connect Raspiblitz to windows laptop internet connection (#3611) 2023-01-18 09:01:52 +01:00
/rootzoll
d0beb6875f
fix testnet & signat log paths (#3618)
* fix testnet & signat log paths
* silence missing /var/log/gunicorn_error.log
* remove 2>/dev/null
2023-01-18 01:19:50 +01:00
allyourbankarebelongtous
50c5a4df24
Add LNDg to blitz.debug.sh (#3583)
* Update blitz.debug.sh
Adds LNDg logs to blitz.debug.sh
* Improves gunicorn.service error log
Improves error recording for gunicorn.service, fixes blitz.debug.sh errors for LNDg logs.
2023-01-18 00:53:28 +01:00
openoms
51a82bf443
add i2p and lnproxy to CHANGES (#3582) 2023-01-18 00:41:05 +01:00
/rootzoll
b012802f95
#3577 adding more detail against dev branch (#3617) 2023-01-18 00:39:18 +01:00
/rootzoll
593cf5718f
#2314 lndmanage update (#3575)
* #2314 update lndmanage to 0.14.2
* fix version install
* menu & commands
* patch command name
2023-01-18 00:26:39 +01:00
cercatrova
cda19df5ca
Proxmox installation guide update to 1.9 (#3574) 2023-01-17 23:38:19 +01:00
openoms
b761c7d093
add Circuitbreaker webUI (#3599) 2023-01-16 00:54:42 +01:00
JayDeLux
2f8dfe4446
Typo (#3596) 2023-01-15 22:08:30 +01:00
/rootzoll
2ec84c30db
#3605 refactor reindex script and add to repair menu (#3609) 2023-01-15 21:51:08 +01:00
allyourbankarebelongtous
06472cb11e
Update LNDg to latest version 1.5.0 (#3597)
* Update bonus.lndg.sh

* Update bonus.lndg.sh

Fixes permissions on old /mnt/app-data/lndg folder/db if they are messed up prior to install

* Update bonus.lndg.sh
2023-01-12 23:03:23 +01:00
openoms
8156c90032
joininbox update to v0.7.5 (#3576)
fixes the port collusion between LND REST and the JM onion_serving_port
2022-12-24 19:51:43 +01:00
/rootzoll
8d5f42ff2e
V1.9 rebase with dev for v1.9.0rc1 release (#3572)
* reduce arm64-rpi image size to 28G (#3557)

* Fix display settings recover for future lean build releases (#3558)

* modify dev notes

* display recover during lean-build

* prevent checkout hook (#3560)

* modify dev notes

* display recover during lean-build

* prevent hooks

* prevent hook

* fix version file (#3561)

* prepare rc2 (#3564)

* fix web api/ui installs (#3567)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* Prepare v1.9.0rc1 (#3568)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* Prepare v1.9.0rc1 (#3569)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* remove n/a

* Prepare v1.9.0rc1 (#3571)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* remove n/a

* better structure download section

* DISCLAIMER SECTION ADDED

* Update SECURITY section

* security link

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-12-23 16:39:06 +01:00
/rootzoll
d532b721a2
Merge branch 'v1.9' into dev 2022-12-23 16:35:47 +01:00
/rootzoll
588b5d3b6c
Prepare v1.9.0rc1 (#3571)
* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* remove n/a

* better structure download section

* DISCLAIMER SECTION ADDED

* Update SECURITY section

* security link
2022-12-23 16:33:37 +01:00
/rootzoll
ab4bbddef7
v1.9.0rc1 Download Links (#3570)
* reduce arm64-rpi image size to 28G (#3557)

* Fix display settings recover for future lean build releases (#3558)

* modify dev notes

* display recover during lean-build

* prevent checkout hook (#3560)

* modify dev notes

* display recover during lean-build

* prevent hooks

* prevent hook

* fix version file (#3561)

* prepare rc2 (#3564)

* fix web api/ui installs (#3567)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* Prepare v1.9.0rc1 (#3568)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* Prepare v1.9.0rc1 (#3569)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* remove n/a

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-12-22 15:21:22 +01:00
/rootzoll
50c6516d6e
Merge branch 'v1.9' into dev 2022-12-22 15:18:43 +01:00
/rootzoll
615b6b200b
Prepare v1.9.0rc1 (#3569)
* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links

* remove n/a
2022-12-22 15:14:52 +01:00
/rootzoll
1a7bf29bd5
Prepare v1.9.0rc1 (#3568)
* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

* v1.9.0rc1 download links
2022-12-22 15:11:41 +01:00
/rootzoll
31d66e1417
Rebase v1.9 with dev for RC1 release (#3565)
* reduce arm64-rpi image size to 28G (#3557)

* Fix display settings recover for future lean build releases (#3558)

* modify dev notes

* display recover during lean-build

* prevent checkout hook (#3560)

* modify dev notes

* display recover during lean-build

* prevent hooks

* prevent hook

* fix version file (#3561)

* prepare rc2 (#3564)

* fix web api/ui installs (#3567)

* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-12-22 00:40:33 +01:00
/rootzoll
a382f2b803
fix web api/ui installs (#3567)
* add export build parameter

* Install WebAPI with build_sdcard.sh defaults

* change use of build_sdcard

* make webui work with DEFAULTS

* use web data

* update docs
2022-12-22 00:38:44 +01:00
/rootzoll
7c1d4c3b10
Merge branch 'v1.9' into dev 2022-12-21 18:48:37 +01:00
/rootzoll
6b8882b773
prepare rc2 (#3564) 2022-12-21 18:46:49 +01:00
/rootzoll
9d004042f5
rebase with dev (#3563)
* reduce arm64-rpi image size to 28G (#3557)

* Fix display settings recover for future lean build releases (#3558)

* modify dev notes

* display recover during lean-build

* prevent checkout hook (#3560)

* modify dev notes

* display recover during lean-build

* prevent hooks

* prevent hook

* fix version file (#3561)

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-12-21 18:39:48 +01:00
/rootzoll
d8dbf4d835
fix version file (#3561) 2022-12-21 18:18:09 +01:00
/rootzoll
8ce103f889
prevent checkout hook (#3560)
* modify dev notes

* display recover during lean-build

* prevent hooks

* prevent hook
2022-12-21 17:34:38 +01:00
/rootzoll
4a2a33c081
Fix display settings recover for future lean build releases (#3558)
* modify dev notes

* display recover during lean-build
2022-12-21 14:50:52 +01:00
openoms
ff4d35b038
reduce arm64-rpi image size to 28G (#3557) 2022-12-21 12:07:37 +01:00
/rootzoll
e879c7df0d
prepare v1.9.0rc1 (#3553)
* prepare v1.9.0rc1

* offer subscribe also for CLN & justBTC

* add quicklinks

* move quick links

* add break line
2022-12-20 17:30:50 +01:00
/rootzoll
5cf4aad1f9
#3272 blitz_api change to dev branch (#3546) 2022-12-20 17:29:31 +01:00
openoms
bcc05b6ada
docker helper script updates (#3554) 2022-12-20 17:18:25 +01:00
openoms
4ab6c46a27
Add automated image builds for VM, bare metal (amd64) and RPi (arm64-rpi) (#3486)
* add amd64 image build with lean and fatpack option

* use the pi user for setup

* add notes to ci readme

* add gnome desktop to fatpack image, reduce to 30GB

* documentation updates

* install gnome with --force-yes

* install gnome desktop non-interactively

* change links to rootzoll dev

* pass user and branch to build_sdcard.sh from PR

* add user and branch to Makefile

* Add arm64 rpi image build (#74)

ci:
* add arm64-rpi image build
* rename to raspiblitz-amd64-debian-11.5-lean/fatpack
* use rm -f to not exit with error
* place amd64 images under ci/amd64/builds/
* make /dev/shm world writable for fatpack
* fix vlc remove and --var syntax
* remove sudo-s
* leave update and upgrade to the build_sdcard.sh
* increase image size to 16GB, rename build dir

build_sdcard.sh:
* detect raspios_arm64 with raspi.list
* switch ssmtp to msmtp
related: https://github.com/rootzoll/raspiblitz/pull/2232

Co-authored-by: rootzoll <johndoe@example.com>

* i2pd: unified install from repo, /usr/sbin to PATH

related: #2413, fixes amd64 build

* update CHANGES.md

* fix amd64 path in Makefile

* use only qemu image, run on ubuntu-22.04

* use file_checksum for the arm64-rpi base image

* Fix the local arm64-rpi image generation (#75)

* add selfrun script
* ubuntu: add universe repo and qemu-user-static
* test on ubuntu live (jammy)

* build from branches: [ "dev", "v1.8", "v1.9" ]

* correct Makefile paths for the  local run

* make the local run non-interactive

* improve readme and Makefile

* increase disk image sizes to 32GB

* set image sizes to 30 GB for amd64 and arm64-rpi

* add network-manager for amd64

* add to readme

* skip Code&Compile for VM builds

* add to readme

* amd64 base image update to debian 11.6.0

* remove debian version from filenames

* skip Code&Compile for amd64 builds

* Merge branch 'dev' into add-amd64-image-build

* amd64: increase cpu and RAM, compile mempool last

* trigger workflows only on scripts used or called

* Update ci/arm64-rpi/packer.build.arm64-rpi.sh

Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>

* arm64 remove setup-qemu-action, leave npm last

* set only manual trigger for fatpack, edit triggers

Co-authored-by: rootzoll <johndoe@example.com>
Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com>
2022-12-20 15:31:51 +01:00
openoms
b8b86b3b10
fix typos (#3552) 2022-12-20 11:57:14 +01:00
/rootzoll
ba68541d2e
#2891 seperation of install/on joinmarket (#3551)
* #2891 fix install blips

* #2891 move wallet

* add exit

* #2891 move config over to `on` section
2022-12-20 01:37:36 +01:00
/rootzoll
41c0aa5c66
#3524 Deactivate IP2Tor from SSH menus & docs (#3549)
* deactivate in subscription menu

* remove IP2Tor options from LNbits

* Add to CHANGES

* remopve from btcpayserver

* deactivate LNDREST & SPHINX

* remove from README
2022-12-19 17:18:17 +01:00
/rootzoll
334792abda
#2891 Prepare JAM install scripts for WebUI (#3545)
* webapi branches

* add thunderhub off

* webui JAM & joinmarket

* fix joinmarket menu

* comment output

* add debug

* remove user delete JAM

* pipe outputs

* add to fatpack

* pipe more debug

* dont remove app

* force https

* #3544 manual merge

* separate install and on option for joinmarket (#3544)

* fix call

* adapt api/webui branches

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-12-19 12:28:56 +01:00
allyourbankarebelongtous
19cb9fdbc5
Update blitz.datadrive.sh (#3540)
* Update blitz.datadrive.sh

Updates script for amd64 and nvme drives

* Update home.admin/config.scripts/blitz.datadrive.sh

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>

* Update blitz.datadrive.sh

Cleaned up code a bit per Openoms suggestion

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-12-18 19:15:23 +01:00
allyourbankarebelongtous
20c0da709b
Update 00settingsMenuServices.sh (#3538)
* Update 00settingsMenuServices.sh

* Update 00settingsMenuServices.sh
2022-12-18 18:35:59 +01:00
/rootzoll
f6fd368f17
fix debug clear output (#3543)
* higher timeout for API

* remove clear
2022-12-18 12:06:57 +01:00
/rootzoll
285485009a
add missing isntall (#3542) 2022-12-17 21:58:24 +01:00
/rootzoll
edf375860d
fix sdcard build (#3534) 2022-12-16 17:53:32 +01:00
/rootzoll
2610758faa
#3482 btcpayserver 1.7.2 (#3533) 2022-12-16 15:50:03 +01:00
/rootzoll
fe6737439a
improve API config (#3532)
* remove secret preset (not needed)

* add ip2d debug install info
2022-12-16 14:07:04 +01:00
/rootzoll
0ce4cca4ec
fix webapi (#3531) 2022-12-16 11:16:22 +01:00
/rootzoll
54c66559e0
added githubapi versioning (#3530) 2022-12-16 11:12:56 +01:00
/rootzoll
45c2716e0e
API & WebU get installed from similar release branches like main repo (#3529)
* #3272 adapt API install script version branches

* #3273 adapt webui install script version branches

* #3254 move info

* #3460 change mempool detection

* fix syntax

* fix warning output
2022-12-16 00:19:12 +01:00
/rootzoll
f067250979
3460 Mempool install check fix (#3528)
* fix mempool working detection

* #3640 change test

* add version info for electrs
2022-12-15 23:45:46 +01:00
/rootzoll
5a08729644
add more info on incomplete blockchain (#3526) 2022-12-15 17:58:41 +01:00
/rootzoll
9d3e4faf3d
#2659 journalctl --vacuum-size once a day (#3525) 2022-12-15 16:05:31 +01:00
openoms
9ebf9c63a5
jam update to v0.1.4 (#3521) 2022-12-14 23:26:52 +01:00
/rootzoll
21eb83b3c2
#3520 redact lnbits info on debug (#3522)
* redact api-key usr wallet strings
2022-12-14 14:58:04 +01:00
/rootzoll
7ac2d214f6
#3429 app bonus scripts all give version information for WebUI (#3518)
* add version to template

* add version to RTL

* fix RTL verison

* add lnbits version

* add version to mempool

* add version to thunderhub

* add version to btc rpc explorer

* add version to BTCpayServer
2022-12-14 11:54:06 +01:00
/rootzoll
5a3b3f78d8
bonjour ports & gfree-sync-list off (#3517)
* #3144 open additional Bonjour NAT ports
* #3144 remove sync-freelist=true from def lnd.conf
* #3251 remove sync-freelist=1 by lnd.check.sh
2022-12-14 10:55:33 +01:00
ChuckNorrison
1c26120056
LNBits Backup and Restore database (#3412)
* LNBits Backup and Restore database

Add Backup and Restore methods and  menu entries

* LNBits backup target

based on blitz.backupdevice.sh switch backup target to /mnt/backup_manual per default

* Add postgresql script

Script to install or uninstall postgresql

Backup a single database with sql dump file

Restore a single database from sql dump file

* Unpack backup file only for SQLite

For postgresql just use the dedicated script

* Support multiple backup files

After backup file was written, keep only last 3 backups

Restore the recent backup found

* improve backup and restore with config and path

make use of raspiblitz config to retrieve db state for backup and restore

default manual backup path set to /mnt/hdd/app-data/backup

* add info command to postgresql script

retrieve database directory and database names

* update backup path for postgresql script

default path is /mnt/hdd/app-data/backup

this will survive reflash sd card

* improve user feedback

* add dialog for restore and improvements

dialog with confirm restore process

timestamps for backup file names

small improvements for user feedback

only resume if unpack backup succeed

* fix sqlite backup file name

* fix restore path and permissions

* add dialog to choose backup from a list

list all available backups to start restore in a dialog

* fix backup list for sqlite

* fix restore menu

* Update LNBits version with bigint fix for migration

if migrate to postgresql, use lnbits version with latest bigint fixes

* Update bonus.postgresql.sh

* fix postgres backup permissions
2022-12-14 10:40:15 +01:00
/rootzoll
7141cb1674
#2192 lnd xpubs display (#3515)
#2192 menu entry to show lnd xpubs
2022-12-13 18:14:47 +01:00
/rootzoll
fb9283a06c
Fatpack WebUI Apps (#3514) 2022-12-13 15:28:05 +01:00
/rootzoll
6c9bfaf1b7
Update Bitcoin to v24.0.1 (#3512) 2022-12-12 16:31:27 +01:00
/rootzoll
e3ffe5dc61
#3326 Reduce Logs & Misc (#3511)
* #3326 set loglevel of mempool to warn
* #3326 set mempool loglevel thru systemd service
* fix pint out of isSMART
* #3326 set LogLevel ins systemd
* #3268 fix helipad db owner
* check mempool install success
* fix mempool success detection
* add mempool db socks
* lnserver localhost to 127.0.0.1
2022-12-12 14:29:51 +01:00
/rootzoll
5184044faf
prevent hanging shutdows (#3510)
* prevent hanging shutdows

* also timeout stopping bitcoind
2022-12-12 01:05:17 +01:00
/rootzoll
59c2e4d8bf
#3473 Update to CLN 22.11.1 (#3508)
* #3473 update cln to 22.11.1
2022-12-11 17:20:53 +01:00
ChuckNorrison
1f0416bbbb
Add staticIP config and fix 127.0.0.1 (#3419)
* Add staticIP config and fix 127.0.0.1

Add possibility of a staticIP config in Raspiblitz.conf to override globalIP and publicIP detection.

Skip dyndns in case of static ip usage

if curl fails accidentaly it could result in the wrong IP. Only prefer if publicIP is empty.

* add FAQ entry

Co-authored-by: rootzoll <christian@geektank.de>
2022-12-10 14:53:29 +01:00
/rootzoll
d7d1c40866
#3505 lnbits PostgresSQl migration finalization (#3507)
* fix missing dependencies

* LNBits SQLite to PostgreSQL migration (#3411)

* LNBits SQLite to PostgreSQL migration

New installations with PostgreSQL configuration, existent data with SQLite.

convert script needs a full start of LNBits prior migrating the old sqlite db's.

User can migrate from raspiblitz menu.

* only fix postgres if it needs to

check for symbolik link of postgres default directory or desired postgres folder

btcpayserver and lnbits could use postgresql

new script to install or uninstall postgresql

* fix typos

* silent apt remove

* fix removed function postgresConfig

call bonus.postgresql.sh to setup PostgreSQL

* Support outdated installation

old installations should upgrade to new tag first

create new data directory /mnt/hdd/app-data/LNBits/data

* Improve migration

Make it a bit more user friendly and prepare for a worst case to revert the migration if something fails unexpectedly

make use of sync method for preparation

* Rework migration workflow

Cant wait for lnbits to start when ExecStartPre is used.

We need a full start of lnbits prior migration, so make use of lsof to check for ports and wait.

dont forget to start postgres service after installation. dont forget to stop postgres after uninstall

* Dont overwrite the backup file

if we start migrate again, the sqlite backup should not be overwritten with postgres data. Keep the backup file.

* add migrate message to menu

add the hint to revert migration manually after migrate script executed

* fix install and data directory

lnbits always needs a data directory

* clean up lnbits settings for migration

even if postgresql is already running, we can extract sqlite backup and start migrate

remove migrateMsg duplicate

* preserve database for reflash

drop database only for migrate, not for regular installations

* set blitz config for LNBits

fix drop database only for migrate, not for regular installations

* Add confirmation dialog and automatic revert

User needs to confirm the process, this will eliminate missclicks

add a migrate revert function to automatically revert if something unexpected happens

let the user call the function manually

* check conv.py on success or revert

if the conversion script fails, revert automatically

* Improve revert message

Do not print the revert hint message if current database is SQLite

* fix read config LNBitsDB

* fix unpack backup

Folder LNBits should never block the restore of backup. Happened after multiple migrations and revert.

* Wait for lnbits v0.9.5

Set commit version with fix for postgresql database and BIGINT for amounts for migrate

Can be set to v0.9.5 tag or above later

* improve migrate backup handling

revert to the current backup and not to the previous backup.

No need for the failed folder state

user message with backup file path

* check psql version once

* supress expected errors

if database exists

Co-authored-by: /rootzoll <christian@geektank.de>

* fix error output on status

Co-authored-by: ChuckNorrison <2964146+ChuckNorrison@users.noreply.github.com>
2022-12-10 00:04:15 +01:00
/rootzoll
9d23c63c38
#3313 & #3230 lndg final (#3506)
* Integrate LNDg to Raspiblitz (#3313)

* cl.hsmtool: fix password display

* add clearnet fallback for tor keys

* fix CLN wallet reset (#3296)

* cln: unify and improve the resetWallet function
previously the old config and channel database could have been left
behind when using SEEDRESTORE and FILERESTORE
* prompt to save the wallet password for backup

* change default branch to v1.8 (#3306)

* Adds install script for LNDg (https://github.com/cryptosharks131/lndg)

Install script creates user lndg and installs LNDg in /home/lndg/lndg,
uses systemd for the backend, and uses nginx and uwsgi for the gui.

Install script will check for tor and enable tor
if "run behind tor" is on.

Updates menu settings for easy access to the script settings

* Creates bonus.lndg.sh script for installing LNDg
Adds LNDg to list of apps in "SERVICES"
Adds LNDg to UPDATES when installed
Adds LNDg to menu when installed

Fixed typos/errors, tested and works!

* LNDg menu install. Added ssl, ssl over tor, and standardized nginx files. Tests Good.

* FAQ.cln: poncho, CLN cheatsheet, extract privkey

* #3286 fix loca IP

* fix #3312

* fix lnbits update options (#3307)

* Integrates LNDg to Raspiblitz
Fixes issues with python and python3 (see comments on PR).
Adds option to keep or delete database on both uninstall and install with existing database.

Fixes issues with python and python3 (see comments on PR).
Adds option to keep or delete database on both uninstall and install with existing database.

Update 00settingsMenuServices.sh

Update info menu for LNDg

Adds username and instructions on how to change username

* Update bonus.lndg.sh

* Install LNDg script
Forces yes on install question

* Update blitz.shutdown.sh

* Update bonus.lndg.sh

* Update bonus.lndg.sh

* Update bonus.lndg.sh

* Update bonus.lndg.sh

Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: Dipun Mistry <dipunm@gmail.com>
Co-authored-by: rootzoll <christian@geektank.de>

* added documentation

* #3230 change password B

* #3230 fix to version 1.4.0

Co-authored-by: allyourbankarebelongtous <100060902+allyourbankarebelongtous@users.noreply.github.com>
Co-authored-by: openoms <oms@tuta.io>
Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
Co-authored-by: Dipun Mistry <dipunm@gmail.com>
2022-12-09 21:49:44 +01:00
ChuckNorrison
72eac9e9c3
bos-telegram as service (#3446)
* bos-telegram as service

Add OPTIONS menu for balance of satoshi to setup telegram.

Asks for the connect code and installs service file

* improve first time setup

need to start bos telegram manually once to enter HTTP API token from telegram bot creation

* Rework BoS telegram menu

Improve setup experience

invoke bos telegram command from menu and make service install optional

* add changes

Co-authored-by: rootzoll <christian@geektank.de>
2022-12-08 23:10:58 +01:00
ChuckNorrison
4fd3247386
New Feature LightningTipBot (#3445)
* Add new Service LightningTipBot

A tip bot and Bitcoin Lightning wallet on Telegram based on LNBits

https://github.com/LightningTipBot/LightningTipBot

* mention config file in menu

* Add version in CHANGES

Co-authored-by: /rootzoll <christian@geektank.de>
2022-12-08 21:33:27 +01:00
/rootzoll
e19b5911cf
Merge CL Watchtower #3394 (#3501)
* Bonus script to install CLN Watchtower client rust-teos ("The Eye of Satoshi") (#3404)

* TEoS watchtower bonus install script

* Add Menu items

* add READ & CHANGES info

* On Purge, delete source and plugin

* Add sys pkg_dependecies

* Cleanup before clone

* Add cl plugins to _provision.sh and Info menu

Co-authored-by: rootzoll <christian@geektank.de>

* adapt info

* Add Watchtower info to menu

Co-authored-by: steepdawn974 <92274076+steepdawn974@users.noreply.github.com>
2022-12-08 12:56:30 +01:00
rek79
9fe1c47048
Improve localIP assignment and SSD detection (#3439) 2022-12-08 12:20:00 +01:00
ChuckNorrison
74ee085400
show localip after install webui (#3496)
When turning the webUI off & on again
2022-12-08 00:58:12 +01:00
openoms
4323dbbc49
CLN update to v22.11, install and update fixes (#3487)
* cln readd mako, update and testPR checks

* cln update to v22.11

* always use cl.hsmtool.sh unlock

* add git reset --hard to not show as v22.11-modded

* update RECKLESS upgrade message, run unlock after

* one line RECKLESS upgrade message

* add to CHANGES

* cln 22.11 PGPsigner cdecker A26D6D9FE088ED58

Co-authored-by: rootzoll <johndoe@example.com>
Co-authored-by: rootzoll <christian@geektank.de>
2022-12-08 00:29:00 +01:00
openoms
41e75d9d8f
fix bitcoin aliases, whitespaces and comments (#3483)
* fix bitcoin aliases, whitespaces and comments

* fix typo
2022-12-07 20:39:28 +01:00
openoms
c69b2603de
feat: add I2P (#3330)
* feat: add i2pd install script

* improve i2p install script

* add i2pd to SDcard image

* set i2pd value in the raspiblitz.conf

* improve detection and output

* fix typo

* exit 0 after addseednodes

* fix config and enable teh i2pd webconsole

* working install for amd64

* add checksum check

* better help message

* use confAdd for repeated keys

* add status option, passwordB protected webconsole

* separate i2pd install and setup

* change install check

* rename script & remove double on switch

* add i2p add node

* fallback.bitcoin.nodes

* kickstart only torv3

* fix Torv3 kickstart

* update bitnodes fallback list

* kickstart i2p from background

Co-authored-by: rootzoll <christian@geektank.de>
2022-12-07 20:26:10 +01:00
openoms
df74c87e2c
btcpay update to v1.7.1 (#3482)
btcpay update to v1.7.1
2022-12-06 18:55:31 +01:00
openoms
d715422e62
lnd update to v0.15.5-beta, litd update and LNC fix (#3490) 2022-12-06 17:46:22 +01:00
/rootzoll
0a697bb59a
#3427 sd card clean bloat (#3495) 2022-12-06 17:25:06 +01:00
/rootzoll
022d1eee4f
update bitcoin 24 (#3481) 2022-11-27 17:03:47 +01:00
openoms
dec77ac467
CLN 22.11 update (#3474)
* update cln backup plugin
* use database-upgrade=true if needed
2022-11-27 15:51:57 +00:00
/rootzoll
850173043a
allow code update from different branch (#3480) 2022-11-27 15:01:26 +01:00
/rootzoll
0302b7ce1c
#3376 update circuitbreaker v0.3.2 (#3479) 2022-11-26 23:19:20 +01:00
/rootzoll
79536c4b4b
#3370 update cl-rest to 0.9.0 (#3478) 2022-11-26 20:00:11 +01:00
/rootzoll
f1bba1de0e
simplify lnbits systemd exec line (#3477) 2022-11-26 18:02:51 +01:00
/rootzoll
7475898034
fix typo (#3475) (#3476)
Co-authored-by: Yure Andrade <115199230+YureAndrade@users.noreply.github.com>
2022-11-24 16:07:10 +01:00
TnTBass
8e3fef2144
Update README.md (#3472)
* Update README.md
2022-11-24 14:58:03 +01:00
/rootzoll
b8a9c84845
Update blitz.backupdevice.sh (#3467) (#3471)
Co-authored-by: cAP5L0CK <drummer7@yahoo.com>
2022-11-22 21:59:17 +01:00
ChuckNorrison
a23c5915a2
electrs update server_banner in config (#3464) 2022-11-22 21:31:10 +01:00
/rootzoll
5fb809c2ec
Electrum Server in Rust (electrs) v0.9.10 (#3470)
* more structural comments
* improve conf check
* Electrum Server in Rust (electrs) v0.9.10
2022-11-22 19:33:45 +01:00
/rootzoll
6dae0283de
Small Changes (#3469)
* more structural comments
* improve conf check
2022-11-22 19:27:25 +01:00
ChuckNorrison
7f05277f5f
blitzapi: fix permissions (#3466) 2022-11-21 22:00:18 +01:00
/rootzoll
6ef861ba0b
New sdcard base image & sd card build fixes (#3456)
- wrapt fix
- python3-mako
- Fix install issues with wrong hashes and python environment mismatch
- #3455 fix ExecStart path of blitzapi
2022-11-21 21:15:18 +01:00
steepdawn974
4ce743a939
Update cl.update.sh menu entries (#3459) 2022-11-21 20:15:59 +01:00
steepdawn974
53c5a8559d
Add mako to python-lib in build_sdcard.sh (#3442) 2022-11-17 20:17:51 +01:00
openoms
f5b1e65b30
Backup CLN emergency.recover file (#3393) 2022-11-17 18:11:56 +01:00
ChuckNorrison
cd77988ee8
update bos version 13.6.0 (#3450)
* update bos version 13.6.0
2022-11-17 14:05:34 +01:00
/rootzoll
f860c2b4ca
more testdev notes (#3452)
adding dev notes on branch protection
2022-11-17 13:26:28 +01:00
/rootzoll
e6089c560e
Adding info to dev notes (#3451) 2022-11-17 13:20:06 +01:00
ChuckNorrison
455ff74aee
Add commands confirmation message (#3444) 2022-11-16 18:21:10 +01:00
openoms
1f99ac5d0a
Testnets LNbits fix (#3422) 2022-11-16 18:00:35 +01:00
ChuckNorrison
5096a90461
homer fix missing local IP in menu (#3448) 2022-11-16 16:54:52 +01:00
Christoph Stenglein
8a35227d5d
dev: add codeowners file for branch protection (#3432) 2022-11-16 15:21:08 +01:00
rootzoll
4381e095cb #3361 fix link 2022-11-15 22:17:05 +01:00
Oliver Gugger
2fa6d25dc5
chantools update to v0.10.5 (#3347) 2022-11-15 21:55:25 +01:00
rootzoll
fcde75d792 script doc fix 2022-11-15 21:41:06 +01:00
openoms
0fc8e10167
lit update to v0.8.3-alpha (#3430) 2022-11-15 18:32:37 +01:00
Oliver Offing
3a25872f26 fix(bitcon.update): unary operator expected (#3365)
* fix(bitcon.update): unary operator expected
* Update home.admin/config.scripts/bitcoin.update.sh

Co-authored-by: openoms <43343391+openoms@users.noreply.github.com>
2022-11-15 16:39:23 +01:00
ChuckNorrison
5c1da4f19c electrs fix missing local IP in CONNECT view (#3438)
the local ip was not displayed correctly in ELECTRS->CONNECT menu
2022-11-14 18:42:33 +01:00
openoms
d9829c3348
nodejs update to the latest LTS v18.12.0 (#3387) 2022-11-09 19:38:55 +00:00
openoms
52952f3335
thunderhub to v0.13.16 w DISABLE_BALANCE_PUSHES (#3416) 2022-11-09 19:36:02 +00:00
ChuckNorrison
3e2fdb2b7b
mempool change logger from debug to info (#3426)
A lot of debug messages are flooding into the journal, this will make it less noisy
2022-11-09 11:00:17 +01:00
openoms
9aaaa6f00e
quote values to avoid flashing lines on LCD 2022-11-08 07:42:26 +00:00
Djo1e
af0d279e1b
Update configure boot options url (#3401) 2022-11-04 15:12:51 +00:00
Leonardo Papini
82b0bcc24d
Fix localIP and torAddress gathering (#3388)
* fix localIP gathering in btc-rpc-explorer.sh

* fix localIP gathering in homer.sh

* fix torAddress gathering in electrs.sh
2022-11-04 15:07:57 +00:00
Melroy van den Berg
b24b170f06
Fix LND rest API (#3379) 2022-11-04 15:04:27 +00:00
ChuckNorrison
30211575c3
branch master does not exist (#3389)
githubRepo lnbits-legends gets redirected to lnbits

the default branch of lnbits is main
2022-11-04 15:00:37 +00:00
JayDeLux
ed40489e45
Ubuntu Live image broken link -> Changed to latest official release (#3414)
New link is https://releases.ubuntu.com/focal/ubuntu-20.04.5-desktop-amd64.iso
2022-11-04 14:58:04 +00:00
ChuckNorrison
c503802463
debug c-lightning self info ln_default_alias (#3396)
redact ln_default_alias in SYSTEM CACHE STATUS
2022-11-04 14:54:55 +00:00
JayDeLux
e5a54c64df
typo (#3415) 2022-11-04 14:54:29 +00:00
ChuckNorrison
f93b04fe1f
Add update menu for electrs v0.9.9 (#3402)
Add UPDATE - ELECTRS menu entry

Add update method to script with update to the latest release tag.
2022-11-04 14:50:54 +00:00
ChuckNorrison
3b0fdc5117
fix ufw delete rule (#3410)
command is ufw delete not delete ufw
2022-11-04 14:45:45 +00:00
openoms
a9e686528d
fulcrum: use ufw delete instead of deny 2022-11-04 14:42:09 +00:00
steepdawn974
2c65314066
Fix fulcrum tor service removal (#3407)
`bonus.fulcrum.sh off` currently removes the hidden service for electrs
instead of fulcrum
2022-11-02 12:04:27 +00:00
/rootzoll
69d9e11e1f lnd update to 0.15.4-beta hotfix (#3400) 2022-11-01 17:59:07 +01:00
rootzoll
d55d28aecd hotfix changes 2022-11-01 17:49:56 +01:00
steepdawn974
a515eabcd4
Update electrs to 0.9.9 (#3397)
Fixes  #3395
2022-11-01 17:45:27 +01:00
openoms
a0f7bedee0
Jam fix (#3321)
* jam: fix nginx conf and rename to jam
* rename script
* correct capitalization
Co-authored-by: Gigi <109058+dergigi@users.noreply.github.com>
* joininbox update to v0.7.3, joinmarket v0.9.8
* correct websocket
* add obwatcher for Jam
* set  random max_cj_fee_abs and max_cj_fee_rel
* start the ob-watcher.service on Jam install
* fix the websocket connection
* display JMstats if maker_running with the api
* rename to jam everywhere
* rename in provision (recovery)
* add jam to main menu
* add Jam to SERVICES
* remove legacy nginx confs
* rename tor service
* clearnet websocket fix
* run joinmarket-api independent of bitcoind
* add jam to the UPDATE menu
* use dergigi's key to verify, install to jam user
* fix update to commit
* joininbox update to v0.7.4
* fix jam var in menu
* joininbox: use tag to verify
* add cleanup to uninstall in all cases
* improve uninstall
* fix path for jam uninstall
* feat: move to the joininbox menu from JM info
* jam update to v0.1.2
* remove old $APP_DIR on update
2022-11-01 15:47:54 +00:00
openoms
3179d88f36
lnd update to v0.15.3 2022-10-18 14:31:04 +01:00
openoms
9298200188
go update to v1.18.7 2022-10-18 14:28:56 +01:00
openoms
cf5746ca76
lnbits update to v0.9.4 2022-10-15 11:20:20 +01:00
openoms
2c8c81bc2d
lnd update to v0.15.2 2022-10-10 08:36:47 +01:00
Buck Ryan
07cc163d26
Calculate LN amounts in lnd.balance.sh using msats (#3336)
This is a more accurate way to calculate the amounts, because
it does rounding after calculating the total.
2022-10-06 16:47:38 +02:00
steepdawn974
ed0ea3a539
Remove bad quote from build_sdcard.sh (#3341) 2022-10-06 16:39:08 +02:00
openoms
6fafcf042a
build_sdcard: fix double quote and whitespaces 2022-10-04 23:42:47 +01:00
rootzoll
c03fe4b044 #3337 add info to CHANGES 2022-10-03 16:03:21 +02:00
Philipp Hoenisch
e50fd56dba
Bump ItchySats to 0.7.0 (#3337)
Co-authored-by: itchymax <itchymax@itchysats.network>
2022-10-03 16:01:22 +02:00
openoms
473ce12730
prevent sleep (#3292) 2022-09-29 21:04:39 +02:00
/rootzoll
21616e4ec2
lnd.check.sh -> harden rpc user/pass parsing against double entries (#3282) 2022-09-29 21:03:48 +02:00
rootzoll
922ad2ff5a #3280 add updtae info to CHANGES 2022-09-29 21:02:47 +02:00
scratchy
f32e408705
Upgrade itchysats to 0.6.1 (#3280) 2022-09-29 21:01:18 +02:00
Luis Miguel
f6ea4847da
Adding fdisk to dependencies (#3228) 2022-09-29 21:00:39 +02:00
Deverick
01ab62514b
Scp refactor (#3206) 2022-09-29 20:56:23 +02:00
arno
cfa0ffa505
Install Helipad on amd64 (#3290) 2022-09-29 20:51:58 +02:00
openoms
ec4d773c5b
RTL v0.13.0 update (#3293) 2022-09-29 20:46:24 +02:00
HiLivin
6aea40a58b
Add support for X708 UPS HAT (#3087) 2022-09-28 17:13:54 +02:00
rootzoll
20045be2f2 #3087 ad info to CHANGES 2022-09-28 17:12:00 +02:00
openoms
c45e3a81ba
CLN update to v0.12.1 (#3319) 2022-09-28 15:04:38 +02:00
openoms
6ee15019db
Lnd v0.15.1 (#3320) 2022-09-28 15:02:44 +02:00
rootzoll
2f6877a8db #3327 add lnbits update info to CHANGES 2022-09-28 14:59:46 +02:00
cercatrova
469badb8e5
Update lnbits (#3327) 2022-09-28 14:58:47 +02:00
rootzoll
d2b4cfb5b1 #3334 add update also cache with new list values 2022-09-28 14:44:58 +02:00
/rootzoll
2163523359
Add list-add & list-remove to blitz.conf.sh (#3334) 2022-09-28 14:39:43 +02:00
openoms
53ec75ae34
add shortcut for lnproxy (#3333) 2022-09-28 10:16:44 +02:00
rootzoll
bc7646fd21 #3324 add to CHANGES 2022-09-23 16:31:40 +02:00
cercatrova
4b89991f06
Add Proxmox installation guide (#3328) 2022-09-23 16:27:57 +02:00
Tochi Obudulu
0248213f6a
Update build_sdcard.sh default branch (#3301)
Bumps the default branch of `build_sdcard.sh` to v1.8 as following the build instructions on the 1.8 branch currently installs 1.7.2 which might be confusing.
2022-09-13 22:35:18 +02:00
openoms
36057e6f87
fix lnbits update options (#3307) 2022-09-13 19:16:28 +02:00
rootzoll
886b8fd7e4 fix #3312 2022-09-13 18:59:22 +02:00
rootzoll
73f1a4c471 #3286 fix loca IP 2022-08-21 17:44:35 +02:00
openoms
c1df67e3d2
fix CLN wallet reset (#3296)
* cln: unify and improve the resetWallet function
previously the old config and channel database could have been left
behind when using SEEDRESTORE and FILERESTORE
* prompt to save the wallet password for backup
2022-08-18 10:44:06 +01:00
openoms
35607331de
add clearnet fallback for tor keys 2022-08-15 21:14:10 +01:00
openoms
64e0ecd6e7
cl.hsmtool: fix password display 2022-08-13 08:48:34 +01:00
openoms
e07ad71326
FAQ.cln: poncho, CLN cheatsheet, extract privkey 2022-08-13 08:44:01 +01:00
rootzoll
b20293a0c9 CHANGES details 2022-07-29 08:01:41 +02:00
rootzoll
2e9690d34c v1.8.0 sd card image & torrent release 2022-07-28 20:51:28 +02:00
openoms
1ce759ff58
create a non-descriptor wallet for joinmarket (#3252)
discussed in: https://github.com/openoms/joininbox/issues/88
2022-07-28 16:14:44 +02:00
rootzoll
8f3257cd27 lnbits 0.9.1 2022-07-28 16:08:15 +02:00
rootzoll
aa474b4fec sudo -u lnbits 2022-07-28 15:15:43 +02:00
rootzoll
92fcd8fe27 try lnbits 0.9.0 2022-07-28 15:04:32 +02:00
rootzoll
21bae5adc0 Update README prerelease 2022-07-28 10:05:34 +02:00
rootzoll
6108733178 correct changes 2022-07-28 10:02:53 +02:00
rootzoll
ece5272fb5 Update version to v1.8.0 2022-07-28 10:01:38 +02:00
rootzoll
813cb3279b #3073 v1.8.0 Update TOC for README & FAQ 2022-07-28 09:31:38 +02:00
rootzoll
2fd904e728 LNbits back to 0.8.0 2022-07-28 00:01:26 +02:00
rootzoll
4ac031abcd Update LNbits to 0.9.0 2022-07-27 22:33:38 +02:00
rootzoll
8996181e7f use /var/cache/raspiblitz for temp conf 2022-07-27 16:44:17 +02:00
rootzoll
bb71fed220 remove sudo on temp drive 2022-07-27 14:38:02 +02:00
rootzoll
0aaa667842 try again .env 2022-07-27 14:36:56 +02:00
rootzoll
528263df4b use /var/cache/raspiblitz for temp conf files creation 2022-07-27 14:32:14 +02:00
rootzoll
a1e988781b fix btc rpc explorer webui install 2022-07-27 13:42:07 +02:00
rootzoll
c91d0b1d05 sudo fix webui install btc-rpc-explorer 2022-07-27 13:37:40 +02:00
rootzoll
943dd6f5a7 mempool fix sudo write config 2022-07-27 12:59:18 +02:00
rootzoll
06f6fd62a2 chantools update restriction 2022-07-27 09:01:07 +02:00
rootzoll
23afac142e Core Lightning renamings 2022-07-27 08:37:36 +02:00
rootzoll
212d163906 Core Lightning renamings 2022-07-27 08:29:16 +02:00
rootzoll
b2a3b0b95d btc-rpc-explorer localip fix 2022-07-27 07:55:24 +02:00
rootzoll
41a4ba4027 Merge branch 'dev' into v1.8 2022-07-27 07:40:35 +02:00
rootzoll
f6bd930611 pyblock -y on install packages 2022-07-27 07:40:23 +02:00
rootzoll
f108f203d9 Merge branch 'dev' into v1.8 2022-07-26 15:12:20 +02:00
rootzoll
9cb5174396 #3241 update itchy sats version in CHANGES 2022-07-26 15:12:11 +02:00
Itchy Max
a66e0b0ead
Upgrade itchysats to 0.5.0 (#3241) 2022-07-26 15:10:50 +02:00
TonySanak
0c3deebed9 Fixing typo (#3240)
To show on the presentation :)
2022-07-26 15:10:04 +02:00
TonySanak
1d771a9daa
Fixing typo (#3240)
To show on the presentation :)
2022-07-26 15:07:54 +02:00
openoms
2938ced67e
improve Tor update logic 2022-07-23 15:43:27 +01:00
openoms
0734a2406c
improve Tor update logic 2022-07-23 15:34:11 +01:00
openoms
237721c9f4
api: fix symlink for CLN lightning-rpc access 2022-07-23 15:11:16 +01:00
openoms
305564f5c3
api: fix symlink for CLN lightning-rpc access 2022-07-23 15:10:35 +01:00
openoms
1a2032b34a
Merge branch 'v1.8' of https://github.com/rootzoll/raspiblitz into v1.8 2022-07-23 12:35:30 +01:00
openoms
5da3067c95
add CLN lightning-rpc access for blitzapi 2022-07-23 12:35:19 +01:00
openoms
2d63681d5d
add CLN lightning-rpc access for blitzapi 2022-07-23 12:34:33 +01:00
rootzoll
bb7d0ce8cd Merge branch 'dev' into v1.8 2022-07-21 17:36:56 +02:00
openoms
a25a48a071
don't delete old rescue files (#3239) 2022-07-21 17:36:23 +02:00
openoms
9973e871fd
FAQ.cl.md update with more recovery options #2983 2022-07-21 15:50:29 +01:00
openoms
cd2867d3f5
FAQ.cl.md update with more recovery options #2983 2022-07-21 15:49:40 +01:00
openoms
6b84f8dd09
don't overwrite lncli when installing lit binaries
#3237
2022-07-21 00:26:00 +01:00
openoms
216974b40f
LIT update to v0.7.0-alpha #3215 2022-07-21 00:25:34 +01:00
openoms
a6f1e27f4b
don't overwrite lncli when installing lit binaries
#3237
2022-07-21 00:10:19 +01:00
openoms
fa5a175a5a
LIT update to v0.7.0-alpha #3215 2022-07-20 20:13:07 +01:00
rootzoll
289a1a7091 link v1.8.0rc4 image 2022-07-20 19:53:27 +02:00
rootzoll
82a85dbf3c btc_default values 2022-07-20 19:21:35 +02:00
rootzoll
47da71b760 add default values for btc_default 2022-07-20 19:12:48 +02:00
rootzoll
6154d2aa3e up version to rc4 2022-07-20 12:42:18 +02:00
openoms
d0fb2bf9bc
use standardised clrest QRcode (#3234) 2022-07-20 12:35:49 +02:00
openoms
4b01143ab6
fix /mnt/temp ownership #3221 2022-07-19 13:31:15 +01:00
openoms
264ee95ae4
change on-disk swap size to 3072 MB
fix:#3221
2022-07-19 12:43:27 +01:00
Luis Miguel
09335f1e40
Add lsb-release to apt install (#3233) 2022-07-18 22:14:30 +02:00
openoms
a7976786d5
fix error messages using exclamation marks (#3232) 2022-07-18 22:07:14 +02:00
openoms
7356e5f88c
jam updato to v0.0.9 #3224 2022-07-15 22:35:15 +01:00
openoms
cc332b5c86
nodejs to v16.14.2, make wget more robust #3224 2022-07-15 22:11:42 +01:00
openoms
c7fd5f3928
nodejs update to v16.4.2, auto checksum #3224 2022-07-15 22:02:55 +01:00
openoms
63b8e461b5
instal latest npm with nodejs #3224 2022-07-15 19:44:47 +01:00
openoms
f58953bbe9
fix deb.torproject.org key check #3179
increase timeout to 60 seconds
exit 1 if file size is 0
2022-07-15 18:47:13 +01:00
openoms
ba657c49cd
fix deprecated options for nginx #3223 2022-07-15 17:33:52 +01:00
Luis Miguel
6e7a29a162
Fixed x64 checksum (#3226) 2022-07-13 11:15:01 +02:00
rootzoll
d0968a24ad Update ReadMe 2022-07-12 21:23:42 +02:00
rootzoll
14189a9c44 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-07-12 20:54:04 +02:00
rootzoll
f43a783403 #3224 NodeJS update to v18.5.0 2022-07-12 20:54:02 +02:00
openoms
f3da3bc92e
Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-07-12 15:42:00 +01:00
openoms
15f0847305
joininbox update to v0.6.8 with joinmarket v0.9.6 2022-07-12 15:41:51 +01:00
openoms
261db5104c
make lnd.credentials.sh work for all chains (#3219) 2022-07-12 14:08:41 +02:00
openoms
a045f18373
btcpay v1.6.1, nbxplorer v2.3.28 with postgres (#3222) 2022-07-12 14:02:15 +02:00
rootzoll
c6e0d21f53 #3222 add v1.6.1 BTCPay Server to CHANGES 2022-07-12 14:01:44 +02:00
openoms
4b35b77e93
lnd autounlock if testnet and signet (#3212)
* lnd autounlock if testnet and signet

* check for header in the lnd.conf

* fix variables and improve output

* make grep more robust

* delete autounlock if passwordFile not present
2022-07-12 13:59:04 +02:00
openoms
b33d2fcbd7
fulcrum: use main.zmqpubhashblock 2022-07-11 16:15:57 +01:00
openoms
790f729c77
fulcrum update v1.7.0, use existing SSL cert #2924 2022-07-08 20:44:06 +01:00
openoms
caae3c8cea
clboss: add warning on install (#3210) 2022-07-07 10:52:33 +02:00
openoms
94e5a97d0d
cl.hsmtool.sh unlock: password as an option (#3211) 2022-07-07 09:54:29 +02:00
rootzoll
f8b13a58a8 replace welcome lcd image 2022-07-07 00:06:19 +02:00
rootzoll
ea5ec2fd29 Web Admin name 2022-07-06 23:13:28 +02:00
rootzoll
2027e03378 web info on LCD 2022-07-06 23:12:08 +02:00
rootzoll
4c0dea749e replace main image on README 2022-07-06 22:21:30 +02:00
Deverick
06470f37a0
Add installation instructions for QEMU with UTM (#3200) 2022-07-06 19:30:53 +02:00
openoms
ec3a78a4ca
fix: check cln-grpc after cln is installed 2022-07-06 09:47:30 +01:00
rootzoll
0b0c8e1547 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-07-05 22:01:59 +02:00
rootzoll
7b675caaaf Upload v1.8.0rc3 image 2022-07-05 22:01:58 +02:00
openoms
6c01360bd6
fix quotation #3180 2022-07-04 13:24:49 +01:00
rootzoll
929eb5813e reboot after copy blockchain 2022-07-03 00:35:22 +02:00
rootzoll
576704f3a8 improve import migration file 2022-07-01 23:55:40 +02:00
rootzoll
12c56c38fa Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-07-01 11:11:06 +02:00
rootzoll
57983466b6 prepare version for v1.8.0rc3 2022-07-01 11:11:05 +02:00
openoms
441ef22410
fix: CLN datadir symlink for blitzapi
Related: https://github.com/fusion44/blitz_api/issues/122
2022-07-01 07:04:58 +01:00
Wolf
24e0b40f50
allow more than one config, also complementing a base config (#3198) 2022-06-30 21:09:30 +02:00
rootzoll
1a8a6baca2 fix raspiblitz.info set 2022-06-30 19:35:53 +02:00
rootzoll
ddff7f0738 simplyfy electrs status 2022-06-30 17:19:43 +02:00
rootzoll
9c767b2acc #2387 less internet global status 2022-06-30 17:16:16 +02:00
rootzoll
755a3f401e #2387 reduce DNS calls when electrum installed 2022-06-30 16:09:54 +02:00
rootzoll
14c5c54884 #3191 password checks sudo calls 2022-06-30 14:42:26 +02:00
rootzoll
e98d2c35da #3191 use sudo to get credentials 2022-06-30 12:31:07 +02:00
rootzoll
c56c8b1946 provision blitzapi when not fatpacked 2022-06-30 01:13:09 +02:00
rootzoll
d0dda72c55 seperate dev part from FAQs 2022-06-30 01:02:01 +02:00
rootzoll
e47b002cca make blitzapi value survive release cleaning 2022-06-30 00:31:10 +02:00
rootzoll
1a8f353fec mark blitzapi install in info file 2022-06-29 23:14:44 +02:00
rootzoll
2645d45dbd display browser info only when blitzapi on 2022-06-29 23:07:41 +02:00
rootzoll
a6a3346109 #3191 move blitzapi option to SETTINGS menu 2022-06-29 21:34:57 +02:00
rootzoll
936457c5d1 make sure sudo for web api install actions 2022-06-29 10:08:52 +02:00
rootzoll
d0d3921073 #3191 fix syntax glitch 2022-06-29 02:33:14 +02:00
rootzoll
591f3bae89 #3191 allow run config api as non-root 2022-06-29 02:31:14 +02:00
rootzoll
9dd4308b77 fix syntax error seen during sd card build 2022-06-29 01:21:16 +02:00
rootzoll
64e1cbc550 fix syntax of build script 2022-06-29 00:49:05 +02:00
rootzoll
c2d61e7663 fix api secret 2022-06-29 00:03:32 +02:00
rootzoll
514eb25e60 #3181 updated proto 2022-06-28 23:42:35 +02:00
rootzoll
242b33bc20 setting API secret 2022-06-28 20:05:54 +02:00
openoms
d4448d4652
blitzapi: add dedicated user and conf entry (#3191)
* blitzapi: add dedicated user and conf entry
* blitzapi: add to sudo group,  allow systemd access
* store blitz_we code under /home/blitzapi
* add SERVICES menu option for Blitz API and webUI
* blitz.passwords: allow non-sudo to check passwords
* change blitz_web path
* blitzapi: fix SERVICES menu entry
2022-06-28 19:35:21 +02:00
rootzoll
c8bd9a646d update version numbers 2022-06-28 19:13:35 +02:00
openoms
e1b8b4b85d
set LANG=en_US.utf8 with grep 'Good signature' (#3183) 2022-06-28 18:49:03 +02:00
openoms
5eb32db8cf
increase the possible number of running processes (#3180) 2022-06-28 18:48:07 +02:00
openoms
1738bfa382
reduce lnd workers to number of cores if -lt 8 (#3188) 2022-06-28 17:57:27 +02:00
Deverick
253d06079c
Bump homer version (#3189) 2022-06-28 17:52:16 +02:00
Itchy Max
ee20b0a3a7
Update itchysats to 0.4.21 (#3194) 2022-06-28 17:50:53 +02:00
openoms
5957cb0d3a
cl.check: fix detection for clboss in config 2022-06-28 13:42:28 +01:00
openoms
7844dcafef
core lightning update to v0.11.2 #3054 2022-06-27 08:12:53 +01:00
openoms
4859fdc5ef
fix: make /mnt/hdd/lnd readable 2022-06-24 21:21:48 +01:00
openoms
178d46c96f
update changes and readme toc 2022-06-24 20:52:45 +01:00
openoms
7c79d5c51f
lnd update v0.15.0 #3181 2022-06-24 20:52:22 +01:00
openoms
4a5600bb26
Core Lightning rebrand in install script 2022-06-23 07:55:34 +01:00
openoms
f4d9d6e4df
Tor: update from Torpoject repo and readd keys
#3179
2022-06-22 10:23:52 +01:00
rootzoll
8f756e2d47 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-22 10:24:05 +02:00
rootzoll
3a1d47601a release of v1.8.0rc2 2022-06-22 10:24:04 +02:00
openoms
8cfefb0834
cln-grpc: add update function to install script 2022-06-21 23:17:29 +01:00
rootzoll
a6fae36838 #3135 fix api pre-config 2022-06-20 21:41:51 +02:00
Christoph Stenglein
ea81602ab3
Documentation: Change big images to webp and fix markdown issues (#3172)
* replace big pictures with webp ones, fix README links & markdown issues

* fix two other videos, fix duplicate heading, correct heading for top logo
2022-06-20 18:53:48 +02:00
openoms
ccabd6716e
Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-20 16:45:51 +01:00
openoms
9f0f7caec0
fix: accurate ZFS used space calculation for #3175 2022-06-20 16:45:39 +01:00
rootzoll
ee26fb48cb Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-20 17:43:49 +02:00
rootzoll
7d504d8bbc fix git clone error 2022-06-20 17:40:41 +02:00
openoms
6f040732b5
fix web.api install syntax (#3171) 2022-06-20 12:36:20 +02:00
rootzoll
daaabfc5b0 fix backend on update 2022-06-20 11:28:54 +02:00
openoms
beccc4be56
tor: update to stable release w apt, restart CLN 2022-06-20 07:35:41 +01:00
openoms
639170e155
display Core Lightning at recovery, whitespaces 2022-06-19 00:02:37 +01:00
rootzoll
3044ca0f5f 1.8.0rc2 version update 2022-06-17 22:06:38 +02:00
rootzoll
110cc81f47 #3148 ckbunker CHANGES ENTRY 2022-06-17 22:06:14 +02:00
openoms
fc765de029
feat: add ckbunker install script (#3148)
* feat: add ckbunker install script

* ckbunker: don't run the service by default
2022-06-17 22:01:54 +02:00
rootzoll
77db8b5de8 Provisioning cl-plugin.cln-grpc.sh 2022-06-15 18:38:25 +02:00
rootzoll
b7258fd2a5 #3135 make sure cln grpc is installed 2022-06-15 09:04:01 +02:00
rootzoll
caa2f4e659 add cln grpc status 2022-06-15 08:41:37 +02:00
rootzoll
0cce85d302 #3135 cln grpc port 2022-06-15 07:38:03 +02:00
rootzoll
a6979bfad9 #3135 start API after mnt-hdd.mount 2022-06-14 16:08:51 +02:00
rootzoll
08b00706ab #3135 fix config on startup 2022-06-14 11:05:20 +02:00
rootzoll
337e391054 empty ln_node means no setup yet 2022-06-14 10:10:51 +02:00
rootzoll
87036412b7 #3135 set lightning none for setup 2022-06-13 23:06:27 +02:00
rootzoll
ca713a0d99 #3161 mempool 2.4.0 update info 2022-06-13 23:05:39 +02:00
rootzoll
ff8562177d #3161 testing mempool 2.4.0 2022-06-13 21:50:00 +02:00
openoms
f02d814b2d
build: pin protobuf==3.20.1 #3162 2022-06-13 15:28:33 +01:00
openoms
132812e009
fulcrum improvements for inital sync 2022-06-09 17:07:27 +01:00
/rootzoll
dd9e81b6c2
Adapt to new migration for umbrel 0.5.0 including core lightning data (#3160) 2022-06-09 17:51:42 +02:00
openoms
19f5424315
FAQ.cl: multifundchannel, feeadjuster, rebrand 2022-06-08 21:33:38 +01:00
rootzoll
7b264a266e fix cl background scan 2022-06-06 22:23:33 +02:00
rootzoll
8c1f65dc78 make sure cln grpc plugin is installed on update 2022-06-06 21:39:00 +02:00
rootzoll
51c2adb5bf exit terminal setback to org setupphase 2022-06-06 14:48:21 +02:00
rootzoll
219e0b3a51 webapi zero start 2022-06-06 14:36:58 +02:00
rootzoll
df6c47bf53 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-06 14:31:37 +02:00
rootzoll
6ae04d864d improve webapi config during setup 2022-06-06 14:31:36 +02:00
openoms
828ab104f8
Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-06 12:56:51 +01:00
openoms
f81881d9bf
fix: check for clboss on CLN config file 2022-06-06 12:56:46 +01:00
openoms
0e0afc7784
fix style 2022-06-06 12:55:56 +01:00
rootzoll
c052b455e8 fix lnd unlock when second option 2022-06-06 00:27:34 +02:00
rootzoll
47318f958c #3134 run cln api with cln_grpc 2022-06-05 23:56:36 +02:00
rootzoll
3db2bf6f44 #3134 try moving to correct spot 2022-06-05 23:00:32 +02:00
rootzoll
8d6bdf60df #3134 add debug 2022-06-05 19:56:46 +02:00
rootzoll
cfe3695eca #3134 install cln-grpc on provision 2022-06-05 18:04:55 +02:00
rootzoll
a1eac77b48 api changes lnd value 2022-06-05 09:12:04 +02:00
rootzoll
3a7f2abb39 fix clean hdd data 2022-06-04 14:41:10 +02:00
rootzoll
83e0d7e017 #3023 fix SSH dialog text 2022-06-04 14:14:23 +02:00
rootzoll
9532c601fd #3023 make sure blockchain data is available 2022-06-04 12:59:07 +02:00
rootzoll
460781b9b0 #3023 offer COPY LAN option based on hdd data size 2022-06-04 12:45:15 +02:00
rootzoll
63a6ea856b fix password input 2022-06-03 20:06:42 +02:00
rootzoll
64e6b43554 check password input 2022-06-03 20:00:58 +02:00
rootzoll
0ebf134714 fix password salt 2022-06-02 19:38:29 +02:00
rootzoll
e7053cfcdc debug password salt 2022-06-02 19:37:48 +02:00
rootzoll
0826ca5e00 #3116 fix escapes 2022-06-02 17:10:02 +02:00
rootzoll
67b1e271d8 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-02 17:09:05 +02:00
rootzoll
5ae78b16b6 #3116 fix escapes 2022-06-02 17:09:03 +02:00
openoms
e93a08be8e
feat: add BTCPAY-CLN to CONNECT #3155 (#3156)
* feat: add BTCPAY-CLN to CONNECT #3155

* docs: record CHANGES
2022-06-02 15:26:20 +01:00
rootzoll
2f361e764a #3129 changing proxypass 2022-06-02 15:19:11 +02:00
rootzoll
2549d22cd4 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-06-02 15:08:02 +02:00
rootzoll
37e489f3fb #2636 make non-visible for v1.8.0 2022-06-02 15:08:00 +02:00
Itchy Max
0c48446851
#2753 Fix itchysats update to download latest version (#3154)
Introducing arguments to `buildFromSource` and `downloadBinary` allows us to either build from the default variable or fetch the latest version when in the `update` menu.
2022-06-02 13:20:28 +02:00
rootzoll
af97b34c99 #3125 activate lnd rest tor service when default 2022-06-01 23:38:17 +02:00
Michael Bumann
d61b058c65
Use special bonus script to show alby connection details (#3125)
Alby is a lightning app for the desktop browsers and thus it is not possible for users to scan a lndconnect QR code.
This new bonus.alby.sh script prints Alby connection details that can be copied and pasted into Alby
2022-06-01 23:07:38 +02:00
rootzoll
e464c92669 #2753 fixed GITHUB_VERSION to 0.4.20 2022-06-01 22:20:31 +02:00
rootzoll
2b74ef3727 #2753 install fix 2022-06-01 22:15:36 +02:00
rootzoll
5dd558d31f #2753 fix install to binary download for now 2022-06-01 21:58:02 +02:00
rootzoll
1abce07826 #2753 itchysats recover only with binary 2022-06-01 20:51:08 +02:00
rootzoll
b898504f30 #2636 fix tor for squeaknode 2022-06-01 20:19:25 +02:00
rootzoll
56ca9544c3 #2162 Homer config info 2022-06-01 18:29:56 +02:00
rootzoll
9db352bc76 #2162 Homer fixes 2022-06-01 17:22:57 +02:00
rootzoll
573d2edbe9 #3150 add itchysats info to CHANGES.md 2022-05-30 20:29:55 +02:00
rootzoll
963b3349e3 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-05-30 20:27:04 +02:00
rootzoll
d16599bedd Merge branch 'itchysats-itchysats-service' into dev 2022-05-30 20:24:52 +02:00
rootzoll
e9a587e71a Merge branch 'itchysats-service' of https://github.com/itchysats/raspiblitz into itchysats-itchysats-service 2022-05-30 20:24:19 +02:00
openoms
a8a02d9a9c
blitzapi: wait 60 sec for restart (#3143) 2022-05-30 20:15:03 +02:00
openoms
2b75ae2fcf
template: fix wording and remove whitespaces 2022-05-29 08:36:36 +01:00
openoms
56cfb1d0ca
update BTCPay to 1.5.4, make uninstall more robust 2022-05-28 19:44:52 +01:00
openoms
b03465f5da
fix tor.onion-service error removing empty lines 2022-05-28 19:42:41 +01:00
openoms
d8dc675f5c
Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-05-28 10:15:36 +01:00
openoms
125f2b313e
fix manual lnd database compacting 2022-05-28 10:15:21 +01:00
rootzoll
ecd8ea102e correct shasum for rc1 image 2022-05-28 11:09:58 +02:00
itchymax
313336f1ba Add ItchySats service
ItchySats enables you to trade CFDs fully non-custodial and peer-to-peer. It's powered using Discreet Log Contracts (DLCs).
2022-05-24 13:24:50 +10:00
openoms
df4072ffd8
CLN - Core Lightning rebrand in main places in menu 2022-05-23 13:04:29 +01:00
openoms
3b7dccd199
info: rename to CLN on display 2022-05-23 12:59:15 +01:00
openoms
cc3086d8d3
cln: check if the backup is outdated on unlock
related: #3140
2022-05-23 12:57:14 +01:00
openoms
dbbca1f7aa
cln-backup: use the version before poetry 2022-05-23 12:52:55 +01:00
itchymax
b091a81832 Fix template typos 2022-05-21 20:03:34 +10:00
openoms
84ef6ea73f
cRTL: adapt the certs path 2022-05-20 00:41:51 +01:00
openoms
94959d0d4a
cl.rest update to 0.7.2 and fix parallel netwoks 2022-05-20 00:38:52 +01:00
openoms
8e07418044
cln update to 0.11.1 #3054 2022-05-20 00:36:28 +01:00
rootzoll
0b1d4c5f46 rc1 links 2022-05-19 11:21:04 +02:00
openoms
33f363ec07
Documentation to create an amd64 image release (#3052) 2022-05-18 23:46:15 +02:00
/rootzoll
b7c823f3e8
Improve Patch command (#3130) 2022-05-18 22:02:37 +02:00
rootzoll
fa7868006c #3127 improve webui 2022-05-18 20:09:13 +02:00
openoms
b90b71bed1
Merge pull request #3128 from rootzoll/3126clngrpc
#3126 fix cln-grpc namings
2022-05-18 17:06:30 +01:00
openoms
7ba79eb763
fix variable 2022-05-18 17:02:05 +01:00
openoms
38e26e242f
fix variable names 2022-05-18 17:00:27 +01:00
rootzoll
d58b3f4a9a #3127 improve webui install 2022-05-18 16:34:45 +02:00
rootzoll
138131e68c #3127 fix nginx snippets 2022-05-18 15:41:30 +02:00
rootzoll
dc573dc8b5 #3126 fix namings 2022-05-18 15:14:57 +02:00
rootzoll
0bb7d9da31 #89 fixes 2022-05-17 23:52:25 +02:00
Spencer
4acebb18ff
Update bonus.helipad.sh (#3089)
Reflects the latest Helipad version
2022-05-17 23:10:15 +02:00
rootzoll
ee121fe8da #3063 crossmerge into dev 2022-05-17 23:07:07 +02:00
Wolf
6bb49dc0b9
add tousands separator on balances (#3063) 2022-05-17 23:05:58 +02:00
Luis Miguel
29d4b2b776
Fix for broken link (#3057)
It seems the title of that section got updated, but the link wasn't
2022-05-17 23:03:42 +02:00
rootzoll
87547ee37b Merge branch 'merge-v1.7' into dev 2022-05-17 23:01:41 +02:00
Charles Wagner
e5567b64a1
Update README.md - Removed Duplicate text (#3049)
Removed Duplicate paragraph in IP2TOR subscription signup instructions.
2022-05-17 23:01:15 +02:00
rootzoll
76c2e46e74 Merge branch 'merge-v1.7' into dev 2022-05-17 22:40:04 +02:00
Joel Klabo
48b684b0ce
Update Link to System Configuration Guide in build_sdcard.sh (#3045) 2022-05-17 22:39:33 +02:00
rootzoll
f8a65fefcc Add squeaknode to changes 2022-05-17 22:36:20 +02:00
rootzoll
38c33577de #3031 alby merge to dev 2022-05-17 22:35:56 +02:00
secondl1ght
e328140bc2
Add Alby (#3031) 2022-05-17 22:31:17 +02:00
rootzoll
3cd1e5350a #2984 update helipad 0.1.10 2022-05-17 22:29:30 +02:00
rootzoll
f51cdd161e Merge branch 'merge-v1.7' into dev 2022-05-17 22:26:31 +02:00
Spencer
22ae4101fb
Update Helipad version (#2984)
v0.1.9 just released
2022-05-17 22:25:36 +02:00
rootzoll
f9f458e996 Merge branch 'yzernik-add_squeaknode_app_dev' into dev 2022-05-17 22:21:57 +02:00
rootzoll
db5179ce54 Merge branch 'add_squeaknode_app_dev' of https://github.com/yzernik/raspiblitz into yzernik-add_squeaknode_app_dev 2022-05-17 22:21:06 +02:00
/rootzoll
d19271d41c
Adding #2152 Homer Dashboard (#2541) 2022-05-17 22:08:25 +02:00
rootzoll
60d357d753 #2071 lnbits update to 0.8.0 2022-05-17 21:53:05 +02:00
rootzoll
09859dcfbc #2373 auth only when bitcoin wallet on 2022-05-17 21:42:01 +02:00
Tracachang
ed711c0397
disable password auth btc-rpc-explorer (#2373)
By default password it is not activated, so I think it should be disabled since the script already create a specific user to run this service and rpc commands are disabled by default.
2022-05-17 21:31:27 +02:00
rootzoll
d3700887ae #2907 removing lnd.autonat.sh 2022-05-17 19:54:51 +02:00
rootzoll
10bb659acd #2939 one more char 2022-05-17 19:50:07 +02:00
rootzoll
300c410071 #2939 max lnd name to 32chars 2022-05-17 19:45:28 +02:00
Götz Görisch
5b478252ad
feat: removes preinstalled cups (#2951) 2022-05-17 19:34:50 +02:00
Christoph Stenglein
74286ca146
add gzip to all nginx configs; add http2 support for all https nginx configs (#2955) 2022-05-17 19:33:56 +02:00
rootzoll
6a1617b6c1 #2985 added notify on (re)start 2022-05-17 19:29:55 +02:00
rootzoll
31e1b6663f Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-05-17 19:17:56 +02:00
rootzoll
f70949aab3 #3022 adding a bit more sleep 2022-05-17 19:17:55 +02:00
harvhat
39dd64c156
Wrap apt install -y into a function and exit if it fails (#3002) 2022-05-17 19:13:13 +02:00
rootzoll
22a4219d21 fix syntax 2022-05-17 19:06:34 +02:00
rootzoll
997317c393 fix syntax 2022-05-17 19:05:28 +02:00
rootzoll
59c6ea219d fix values 2022-05-17 19:03:35 +02:00
rootzoll
627506276f #2998 check values before use 2022-05-17 19:02:24 +02:00
rootzoll
cd969ada4a #2952 add new UASP vendors 2022-05-17 18:55:20 +02:00
rootzoll
7f1c545d6b #2659 small log improvements 2022-05-17 18:48:33 +02:00
Kilian Rausch
eb88651abd
feat: add emergency mode solution hints to FAQ (#3044) 2022-05-17 18:05:29 +02:00
rootzoll
1ebd6e4665 #3064 remove bitcoind PID file 2022-05-17 17:54:13 +02:00
rootzoll
42e22ad461 #3066 fix localip 2022-05-17 17:50:44 +02:00
rootzoll
312e86f992 #3106 fix GB display on wait screen 2022-05-17 17:43:03 +02:00
/rootzoll
a2bbecc03f
Fix #3123 adding cln auto-config to blitzapi (#3124) 2022-05-17 17:40:23 +02:00
openoms
c0b601a95b
add ZRAM (#3102) 2022-05-17 16:18:30 +02:00
openoms
e6fa69ee03
cln-grpc: remove hyphen from variable
related: #3054  #3109
2022-05-13 23:05:47 +01:00
openoms
14d1ba7ce0
install clrest on connect if not active, fix #3097 2022-05-13 13:58:53 +01:00
openoms
78a0ae00a0
CLBOSS update to v0.13A 2022-05-13 13:41:09 +01:00
openoms
ea88df84db
CLBOSS update to 0.13A 2022-05-13 13:25:30 +01:00
ZmnSCPxj jxPCSnmZ
f18a567dfb
update CLBOSS to 0.12 2022-05-13 13:21:36 +01:00
openoms
9d05b49a90
Merge pull request #3080 from ZmnSCPxj/v1.7
update CLBOSS to 0.12
2022-05-13 13:14:13 +01:00
openoms
3febd00c7f
Merge pull request #3085 from openoms/updates
tested updates for v1.8
2022-05-13 13:12:37 +01:00
openoms
539afe9882
add the cln-grpc plugin (#3109)
* add cln-grpc plugin
* set firewall,  Tor and move rust install
* build the cln-grpc as part of the fatpack option
* add to CHANGES
2022-05-13 13:06:30 +01:00
PatrickScheich
55df916305
fix electrs is ready for btc-rpc-explorer prestart (#3113)
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
2022-05-12 12:38:52 +02:00
rootzoll
108a565f7e add port to cl rest onion 2022-05-11 23:24:12 +02:00
rootzoll
c1808a5ddd Add Rest Tor output 2022-05-11 23:15:34 +02:00
/rootzoll
a08b42e258
Adapt scripts to provide key-value connection details for BlitzAPI (#3112) 2022-05-11 22:31:55 +02:00
openoms
66061e6a9b
hold NBXplorer version #3055 2022-05-10 10:01:26 +01:00
openoms
1c74739a12
Merge branch 'dev' into updates 2022-05-10 08:43:34 +01:00
/rootzoll
3e272ce3b6
Lightningupdates (#3100) 2022-05-10 09:37:26 +02:00
openoms
5fb986bcf7
add CHANGES 2022-05-10 08:36:24 +01:00
openoms
1d40e7b443
improve RTL output 2022-05-10 08:35:42 +01:00
openoms
91fbe7b61d
Lnd updates (#3095)
* lnd update to v0.14.3

* chantools udpate to v.0.10.4, change to /usr/local/bin

* do not set "tor.streamisolation" "true" again
fix #3094

* add to CHANGES.md
2022-05-10 09:34:30 +02:00
openoms
453c82e048
electrs update to v0.9.7 2022-05-10 08:32:14 +01:00
rootzoll
fbf97b749f #1500 add info to CHANGES.md 2022-05-09 21:58:52 +02:00
/rootzoll
2853c10406
Optimize scripts for API calling blitz.password.sh (#3099) 2022-05-09 19:02:29 +02:00
openoms
b2669eda0d
#3054 rustup for cargo and global mrkd+mistune 2022-05-09 01:05:46 +01:00
openoms
fa589ed95e
CLN v0.11.0 update #3054 fix PATH in /home/bitcoin/.bashrc 2022-05-07 19:40:47 +01:00
rootzoll
1279a6d9e6 #3098 add BTCPayServer update info to CHANGES 2022-05-07 19:04:15 +02:00
cercatrova
2d222ca313
Update btcpayserver to 1.5.1 (#3096)
Tested, no issues so far
2022-05-07 19:02:25 +02:00
rootzoll
e170e97d4c fix typo default index.html 2022-05-07 17:13:22 +02:00
rootzoll
c16c83e31c set default branches for API & WebUI 2022-05-07 17:05:57 +02:00
rootzoll
4def4dd284 #3054 cln change signing to rusty 2022-05-07 14:01:41 +02:00
rootzoll
9253d3b699 pi user command fixed 2022-05-07 13:13:10 +02:00
openoms
fc8cb71953
cln: add cargo and rustfmt as a build dependency
Related: #3054 #3086
2022-05-05 20:09:17 +01:00
rootzoll
86d20b95f4 fix FAQ 2022-05-05 15:32:19 +02:00
rootzoll
f709f551e2 Update Bitcoin Core v23.0 2022-05-05 13:41:33 +02:00
rootzoll
6726c29737 #3086 add info to CHANGES 2022-05-05 13:36:14 +02:00
openoms
294f43b8e0
CLN update to v0.11.0.1 + apply poetry install (#3086) 2022-05-05 13:31:42 +02:00
/rootzoll
fd8d880c09
Apiscripts (#3093) 2022-05-05 10:59:50 +02:00
nyxnor
b0b3ba9066
fix toc dot (#3090) 2022-05-04 16:42:07 +02:00
openoms
f0db1a40d7
suez update to support parallel CLN channels 2022-05-04 09:46:25 +01:00
Vincent Davis
55215299e1
Update README.md (#3079)
Links for basic setup were broken.
2022-05-02 22:09:46 +02:00
HiLivin
de43ca96c6
Move color defs above their use cases (#3082)
After this fix the UPS status color is displayed as intended.
2022-05-02 19:36:50 +02:00
openoms
9db14f1863
RTL update to v0.12.3 2022-05-02 18:14:52 +01:00
openoms
56a4a72a60
c-lightningREST update to v0.7.0 2022-05-02 18:14:20 +01:00
ZmnSCPxj jxPCSnmZ
78dc77b30f update CLBOSS to 0.12 2022-05-01 11:24:55 +08:00
openoms
217c278e72
fix btc_version display for v23.0.0 2022-04-27 07:51:22 +01:00
openoms
62b40e92b3
fix btc_version display for v23.0.0 2022-04-27 07:50:32 +01:00
openoms
8101d467bd
fix sats amount display in LND channel open dialog 2022-04-27 07:14:45 +01:00
HiLivin
66cf002640
Fix passing UPS battery info between scripts (#3074)
The background scan sources the value of $upsBattery
from "blitz.ups.sh status" and passes it further
to the cache. This enables the proper display of
voltage/capacity on the info screen.
2022-04-26 22:20:22 +02:00
HiLivin
0f09f5085a
Fix missing brace in UPS section (#3070) 2022-04-25 14:42:51 +02:00
rootzoll
312eb157af #2070 update migrate link 2022-04-25 13:59:40 +02:00
openoms
43c7384cb7
use sudo to install docker-switch
#2074
2022-03-28 07:55:15 +01:00
openoms
7d8b75d4d6
docker for amd64, add docker compose 2.0.0, switch
#2074
2022-03-23 12:42:59 +00:00
openoms
ef70b621b8
docker: do not break if gpg key exists #2074 2022-03-15 17:03:50 +00:00
openoms
6d3af0cd8c
btcpay: disable git verification for updates #3025 2022-03-14 15:41:29 +00:00
openoms
1241636263
btcpay: disable git verification for updates #3025 2022-03-14 15:40:56 +00:00
openoms
bbde9e967c
add how to check clboss version 2022-03-14 15:37:44 +00:00
openoms
1664a17b5d
nodejs: check for full version to update if needed 2022-03-14 15:37:10 +00:00
openoms
9577cfcb5e
fix Docker install script #2074 2022-03-14 14:34:10 +00:00
rootzoll
8ba04e90c0 allow rolling with python 3.8 2022-03-09 22:31:58 +01:00
rootzoll
2315b438b6 allow rolling with python 3.8 2022-03-09 22:31:19 +01:00
harvhat
25c52404b0
Fix for issue #2997 (#3000) 2022-03-08 20:57:12 +01:00
rootzoll
da1e904822 Merge branch 'v1.7' into dev 2022-03-08 20:43:27 +01:00
rootzoll
48b7b2fd57 #2997 fix lnbalance 2022-03-08 20:33:56 +01:00
PatrickScheich
dcbfa57ecb no dns spam by netstat / use netstat -n (#2992)
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
2022-03-08 20:20:04 +01:00
PatrickScheich
855d19d6a0
no dns spam by netstat / use netstat -n (#2992)
Co-authored-by: Patrick Scheich <patrick.scheich@syscovery.de>
2022-03-08 20:18:49 +01:00
Tony B
8d55cc33e2
Fix unit for C-Lightning fee report on info screen (#2990)
Fixes #2989
2022-03-08 21:26:38 +03:00
openoms
ed5615712c
lnbits: cl fix for testnets #3007 2022-03-08 18:22:40 +00:00
openoms
723d385bb7
lnbits: fix cl funding source on restart #3007 2022-03-06 13:31:51 +00:00
openoms
16d83a8f7c
add git-verify to joinmarket-webui install (#3005)
* add git-verify
use git clone instead of wget
small fixes

* add note about the connection details in the menu
2022-03-02 13:21:00 +03:00
Daniel
99cc8d6b27
Fix auth header for JoinMarket (#2988) 2022-03-01 19:02:21 +03:00
d11n
109d97eade
Fix for JoinMarket web UI (#2987)
* Fix for JoinMarket web UI
The SSL file permissions didn't work, hence we generate them on our own now. Also removed a leftover nginx file for the superfluous http version.
* Assume clean install state, overwrite potentially outdated nginx configs
* Remove potentially existing SSL directory, create fresh certificate files
2022-03-01 18:27:31 +03:00
rootzoll
45d7dc7026 template rename 2022-02-26 14:34:25 +01:00
rootzoll
4923aaa5a7 template rename 2022-02-26 14:34:05 +01:00
rootzoll
d3baffeda3 template script 2022-02-26 14:32:48 +01:00
rootzoll
61ca08c696 template git verify optional 2022-02-26 14:20:38 +01:00
/rootzoll
d030b5d811
Bonustemplate (#2993) 2022-02-24 14:25:04 +01:00
rootzoll
320015dc60 upload v1.7.2 image links 2022-02-21 00:18:27 +01:00
rootzoll
0ff33e6853 update torrent klink for v1.7.2 2022-02-20 16:01:08 +01:00
rootzoll
f0a9cdc47d Adding torrent for v1.7.2 2022-02-20 15:59:31 +01:00
rootzoll
311358dfd5 Add tracker info to FAQ 2022-02-20 15:57:06 +01:00
rootzoll
42498b0bec link v1.7.2rc3 image 2022-02-20 12:57:13 +01:00
rootzoll
04245dc58f prepare v1.7.2RC3 2022-02-20 00:34:27 +01:00
rootzoll
268f8bec65 Merge branch 'v1.7' into dev 2022-02-19 23:41:48 +01:00
rootzoll
aaf99c412a setting message thru cache 2022-02-19 19:49:13 +01:00
rootzoll
be61a528ff #2926 fix helipad provision call 2022-02-19 18:59:48 +01:00
rootzoll
708524d899 #2926 adapt menu info 2022-02-19 16:02:39 +01:00
rootzoll
c269d841a4 #2926 mods for v1.7.2 integration 2022-02-19 15:59:19 +01:00
Spencer
d11f7eaf41
adding helipad as a service (#2944) 2022-02-19 15:45:02 +01:00
rootzoll
440449c8d8 Update LNbits 0.7.0 2022-02-19 11:21:35 +01:00
openoms
3e82d34b9b
[New] Fulcrum install script (#2966) 2022-02-19 10:55:43 +01:00
openoms
ef42bc653b
joininbox update to v0.6.7 with joinmarket v0.9.5
#2977
2022-02-18 22:22:47 +00:00
openoms
25b24ef445
joinmarket-web-ui update to 0.0.3
change LAN connection to HTTPS-only
add to CHANGES.md
#2891
https://github.com/joinmarket-webui/joinmarket-webui/issues/16
2022-02-18 22:01:38 +00:00
openoms
87429d3719
fix menu sizes, fix typos, add notes 2022-02-18 19:54:02 +00:00
rootzoll
832bd79596 #2650 place rename later in code 2022-02-18 12:47:20 +01:00
rootzoll
4f5b53273f #2650 set lnd name 2022-02-18 12:40:58 +01:00
rootzoll
39e52edbb5 #2963 marking touchscreen as experimental 2022-02-17 20:19:48 +01:00
rootzoll
535b4b43f9 #2963 add note on touchscreen 2022-02-17 18:07:49 +01:00
rootzoll
b0f9fc8e70 #2653 redact c-lightning log info 2022-02-17 13:07:14 +01:00
rootzoll
272d7b27ee #2348 script clean up 2022-02-17 12:28:47 +01:00
rootzoll
d19a63f735 #2348 creating onion services on demand 2022-02-17 12:22:39 +01:00
rootzoll
931ab1b9c1 #2348 add debug 2022-02-17 11:52:37 +01:00
Bitcoin Runners
4a1fc3ffb5 #2642 document citadel migration 2022-02-17 02:17:09 +01:00
Bitcoin Runners
87b210012f
Update FAQ.md with minor typo correction. (#2962) 2022-02-17 00:07:05 +01:00
openoms
8df8dbc6cf
add lnd bolt auto-compact >monthly (#2968) 2022-02-16 22:02:34 +01:00
openoms
aca20317c1
thunderhub: add logs to journal 2022-02-16 19:05:17 +00:00
openoms
f47cd2e190
LiT update to v0.6.3 #2971
add logs to journal
2022-02-16 19:04:45 +00:00
openoms
2daaff60be
noquotes option for blitz.conf.sh (#2965) 2022-02-15 22:31:44 +01:00
openoms
4070ecf8c2
reset wifi config for release
#1371
the config in /boot/wpa_supplicant.conf is  moved to
/etc/wpa_supplicant/wpa_supplicant.conf
during boot so both should be deleted
2022-02-14 14:49:01 +00:00
openoms
4074b86cf7
formatting of nginx snippets 2022-02-14 14:32:07 +00:00
openoms
e383cd9169
reactivate joinmarket stats display 2022-02-14 12:42:16 +00:00
openoms
14fce266c2
add support channels to cl FAQ 2022-02-13 22:38:44 +00:00
openoms
f6aeeb0fa7
cl.check: make sure plugins are loaded #2953 2022-02-13 19:24:50 +00:00
openoms
fbf6db75ab
run blitz.display.sh with sudo (#2957) 2022-02-13 13:23:34 +01:00
openoms
eb66ab1b77
cl: switch autunlock off and always lock on backup
#2925
2022-02-12 23:46:38 +00:00
openoms
2aac9e8ab7
cl sparko update to v2.8 #2953 2022-02-12 20:25:50 +00:00
rootzoll
414ef3384e Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-02-12 11:14:35 +01:00
rootzoll
8af06d8c8e #2488 add UASP support for new UGREEN model 2022-02-12 11:14:31 +01:00
Christoph Stenglein
84687fc254
use --show-keys for gpg fingerprint listing (#2950) 2022-02-12 11:10:38 +01:00
rootzoll
fb6f1a243c Note Cache refactor for Changes 2022-02-11 20:10:25 +01:00
rootzoll
732721f480 dont show verfify link on rc 2022-02-11 19:58:28 +01:00
rootzoll
61f783eda4 upload of v1.7.2rc2c image 2022-02-11 01:24:59 +01:00
rootzoll
4b40ee99d6 #1450 fix removing tor service 2022-02-10 22:29:10 +01:00
rootzoll
1b0beb6a42 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-02-10 22:26:28 +01:00
rootzoll
6b6e583499 #1450 adapt nginx tor configs 2022-02-10 22:26:27 +01:00
nyxnor
a92f856709
Toc - Table of Contents (#2943) 2022-02-10 22:08:46 +01:00
rootzoll
c46fe4b499 #2933 install aghain on provision 2022-02-10 22:04:10 +01:00
rootzoll
bfe1c0ec4a #2933 make sure nodejs is installed 2022-02-10 22:01:26 +01:00
rootzoll
88f697f7cc #2933 add info on CHANGES & README 2022-02-10 21:58:52 +01:00
rootzoll
fdc8ebeae1 #2933 edit config thru blitz.conf.sh 2022-02-10 21:53:31 +01:00
raulcano
f242f75b53
Bitcoinminds.org to be made available as a service in Raspiblitz (#2933) 2022-02-10 21:48:53 +01:00
openoms
6c4fd39ef6
don't set hostname by default (#2945) 2022-02-10 19:56:59 +01:00
openoms
254500b4f3
update CHANGES.md 2022-02-10 17:57:19 +00:00
openoms
90e5333d27
electrs update to v0.9.5 2022-02-10 17:56:35 +00:00
openoms
23b6202d15
bos update to 11.50.0 2022-02-10 16:37:11 +00:00
openoms
7cddee1ef1
btcpayserver update to v1.4.4
verify with nicolasdorier signature
do not exit install if btcpay user exists #2884
2022-02-10 16:26:55 +00:00
openoms
bf0ee4a30a
cl.spark update to v0.3.1 2022-02-10 16:09:37 +00:00
openoms
e76a75084c
specter update to 1.8.1 2022-02-10 15:49:19 +00:00
openoms
d7d127362a
lnbits update to 0.6.0 #2792 2022-02-10 15:46:12 +00:00
openoms
80730729a2
#2556 modify usergroup as part of switch 2022-02-09 19:12:59 +00:00
openoms
940b108567
onion-service.sh: remove extra / 2022-02-09 18:10:16 +00:00
openoms
22b5537402
update from raspibltz.conf after restore 2022-02-09 16:04:24 +00:00
openoms
2ff49db10d
skip checking ln_default_sync_initial_done for cl
#2941
2022-02-09 15:11:13 +00:00
openoms
5f9a9cb508
nicer message with counting seconds 2022-02-09 14:48:27 +00:00
openoms
3fd49e7331
#2691 detect locked c-lightning wallet from logs 2022-02-09 14:31:23 +00:00
openoms
9fadcda73e
switch to msgbox 2022-02-09 12:04:42 +00:00
openoms
4c4aef9fcc
#2925 encrypt and lock cl wallet before backup 2022-02-09 11:48:25 +00:00
openoms
f845592b10
migration: stop cl and parallel services if in conf 2022-02-09 11:11:07 +00:00
openoms
3b42595e3a
show message when seed is not avalilable 2022-02-09 10:17:41 +00:00
openoms
ae719bcf73
cl.hsmtool: run encrypt with sudo 2022-02-09 09:53:13 +00:00
openoms
c3bf3c1859
cl: delete config file on reset 2022-02-09 09:30:02 +00:00
openoms
1e19fbb5f1
cl: delete whole directory on reset 2022-02-09 09:21:30 +00:00
rootzoll
4b7f8892f1 adapt FAQ instructions 2022-02-08 17:23:33 +01:00
rootzoll
33c5e6ac74 link updated 1.7.2RC2 image 2022-02-08 17:08:15 +01:00
openoms
fb65c0e9b1
correct cronjob path 2022-02-07 21:09:17 +00:00
openoms
6fc37180b3
cl.hsmtool unlock: check for passwordfile 2022-02-07 20:28:47 +00:00
rootzoll
855d198053 make sure directory exists 2022-02-07 20:59:11 +01:00
rootzoll
6bb8f11b2d #2938 improve detect old ssh data 2022-02-07 19:53:08 +01:00
rootzoll
f5fe9968eb #2938 fix ssh location conversion 2022-02-07 18:33:17 +01:00
rootzoll
85d92b34b9 #2920 both SCB path locations 2022-02-07 17:16:55 +01:00
rootzoll
0a5843c26e Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-02-07 17:04:01 +01:00
rootzoll
fcf09991fe #2935 remove dropbox section 2022-02-07 17:04:00 +01:00
openoms
a6655ef1cb
clean update and testPR options #2937 2022-02-07 14:49:46 +00:00
openoms
c61bd1d53f
CL install from source from github instead of zip (#2936) 2022-02-07 15:19:25 +01:00
openoms
dfe0b69c99
remove notes 2022-02-07 11:20:33 +00:00
rootzoll
de99796884 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-02-07 10:29:55 +01:00
rootzoll
d1cf7ee57e remove btrfs-tools package 2022-02-07 10:29:53 +01:00
openoms
28d21594e4
note about raspiblitz.provision-update.log 2022-02-07 08:14:14 +00:00
rootzoll
c3b79755e4 RC2 test download 2022-02-07 00:53:46 +01:00
rootzoll
c9842d447c fix buildimage instructions 2022-02-06 23:51:47 +01:00
rootzoll
887c882c74 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-02-06 21:26:51 +01:00
rootzoll
0826d69857 prepare 1.7.2RC2 build 2022-02-06 21:26:49 +01:00
openoms
04a3a5a440
lnbits: add debug output to check permissions 2022-02-06 19:56:56 +00:00
openoms
96ba0ee0e1
cl.check: make the lightning-rpc socket group readable
#2556
2022-02-06 19:56:15 +00:00
rootzoll
930caca038 #2919 sdcard size & shrink process 2022-02-06 19:05:54 +01:00
rootzoll
332f4d0574 #2921 quote nextcloud password on storage 2022-02-06 15:56:48 +01:00
rootzoll
a021270496 #2920 correct channel.backup file location 2022-02-06 15:21:37 +01:00
openoms
75a1a46a7d
#2877 remove failing service 2022-02-06 09:54:21 +00:00
rootzoll
4c43675fbd fix version numbers in readme 2022-02-06 10:24:53 +01:00
rootzoll
c2684eed3c thunderhub menu info edit 2022-02-06 10:01:19 +01:00
rootzoll
153a81817d Update lnd 0.14.2 2022-02-06 09:53:04 +01:00
rootzoll
7e70c848dc Update Thunderhub 0.13.6 2022-02-06 09:40:40 +01:00
openoms
817a09abd5
provision: fix cl.install.sh syntax 2022-02-05 16:13:11 +00:00
openoms
18e75b7237
lnbits: update for bitcoinpos
add dep secp256k1 #2792
2022-01-31 22:36:40 +00:00
openoms
d58c6dcd1f
remove how to mount raw disk in VM 2022-01-31 22:35:38 +00:00
openoms
22974320b1
add to VM notes 2022-01-31 10:25:21 +00:00
openoms
53441e3854
lnbits: improve uninstall sequence 2022-01-31 10:24:54 +00:00
rootzoll
6902f8467a check also ln_default_ready 2022-01-30 18:38:22 +01:00
rootzoll
d57cba1508 checkln default before main menu 2022-01-30 18:31:57 +01:00
rootzoll
9b0e99830b Try update BOS 11.40.0 2022-01-30 18:23:16 +01:00
rootzoll
24edc3f0bf add terning off option to dns config 2022-01-30 17:19:25 +01:00
Marnix
d8e7a766f6 Update LICENSE (#2918)
Update LICENSE to 2022
2022-01-30 17:15:46 +01:00
rootzoll
6c75cca1a7 better edit of dns conf 2022-01-30 17:14:32 +01:00
Marnix
d3f042f48a
Update LICENSE (#2918)
Update LICENSE to 2022
2022-01-30 17:12:57 +01:00
rootzoll
fbce0ac8fa uncomment dns settings line 2022-01-30 16:10:52 +01:00
rootzoll
f353159185 deactivate static dns if needed 2022-01-30 16:01:23 +01:00
rootzoll
2d7a01cc4e chaning parameter order 2022-01-30 14:52:50 +01:00
rootzoll
747500c990 remove main menu double entry 2022-01-30 11:57:47 +01:00
rootzoll
5655ee94c4 make sure lightning/lnd/cl is coherent 2022-01-30 10:36:24 +01:00
rootzoll
105b33c5d6 upload v1.7.2rc1f internal test image 2022-01-30 00:14:45 +01:00
rootzoll
0e7e2b3a28 sudo autonat edit 2022-01-29 22:03:40 +01:00
rootzoll
cb8abf6ac3 fix autonat script 2022-01-29 21:59:16 +01:00
rootzoll
529457ad70 try specter update 1.8.0 2022-01-29 21:08:03 +01:00
rootzoll
696ebf2809 Update CTRL+c info 2022-01-29 20:18:43 +01:00
rootzoll
9ada48d9fb Add info on 32GB sd card 2022-01-29 18:18:28 +01:00
rootzoll
1481f2c504 Make sd card 32GB minimum 2022-01-29 01:39:32 +01:00
rootzoll
4b1b259b51 upload v1.7.2rc1e image for internal testing 2022-01-29 01:08:17 +01:00
rootzoll
843265e816 fix image description 2022-01-29 01:06:45 +01:00
rootzoll
660344fa1b #2915 update to new raspios base image 2022-01-28 19:33:42 +01:00
rootzoll
2e5f968e8c #2916 update thunderhub 0.13.1 2022-01-28 19:29:03 +01:00
Anthony Potdevin
89a2bb1359 Update bonus.thunderhub.sh (#2916)
In the latest release there is a breaking change. To run on a different port you now have to specify an env var
2022-01-28 19:26:03 +01:00
Anthony Potdevin
343e7b1592
Update bonus.thunderhub.sh (#2916)
In the latest release there is a breaking change. To run on a different port you now have to specify an env var
2022-01-28 19:24:52 +01:00
rootzoll
9109d6a05c fix ssh restore 2022-01-28 14:32:07 +01:00
rootzoll
3c7133766e fix git-verify 2022-01-28 10:48:38 +01:00
rootzoll
915a4d7ab3 #2914 mempool update change log entry 2022-01-28 10:08:35 +01:00
Felipe Knorr Kuhn
e6adea88f4
Update mempool app to v2.3.1 (#2914) 2022-01-28 10:07:21 +01:00
rootzoll
bf551ec8e7 #2820 cp -ra 2022-01-27 23:30:10 +01:00
rootzoll
801f5fffd7 #2913 added policykit-1 to build script 2022-01-27 23:24:54 +01:00
rootzoll
b5d34197b3 fix git verify webflow 2022-01-27 22:47:24 +01:00
rootzoll
f75710f24b adapt signer 2022-01-27 22:35:12 +01:00
rootzoll
6af2cd80f3 add debug 2022-01-27 22:27:04 +01:00
rootzoll
ea1cfd6fa5 fix git-verify 2022-01-27 22:09:18 +01:00
rootzoll
a73654bcc1 fix checksumname 2022-01-27 21:48:50 +01:00
rootzoll
55d193be10 Update to .NET 6.0 SDK 2022-01-27 21:44:05 +01:00
rootzoll
eb115d4522 NET Core 3.1 SDK v3.1.416 2022-01-27 21:37:54 +01:00
rootzoll
17d91ac9fc keep fsexpanded in raspiblitz.info 2022-01-27 20:34:54 +01:00
rootzoll
872e87a937 limit journald system use 2022-01-27 18:39:32 +01:00
rootzoll
b41c3c7c4f reup NBXplorerVersion 2022-01-27 18:29:16 +01:00
rootzoll
6725222ad6 revert NBXplorerVersion 2022-01-27 18:24:20 +01:00
rootzoll
18b3daca51 try BTCPay Update 1.4.0 2022-01-27 16:48:23 +01:00
openoms
289589376f
joininbox update to v0.6.6 2022-01-26 16:37:19 +00:00
rootzoll
3c648de8cf #1450 fix raspiblitz config edit 2022-01-26 02:34:28 +01:00
rootzoll
90639dca6e Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-01-26 00:42:57 +01:00
rootzoll
7660482735 #1450 Tallycoin Connect menus & info 2022-01-26 00:42:54 +01:00
nyxnor
082b52f143
make boolean options have the same value (#2912) 2022-01-26 00:26:50 +01:00
rootzoll
b6a106d5d7 fix old internet.hiddenservice.sh references 2022-01-26 00:15:50 +01:00
rootzoll
ea1c71f4a8 #2908 revert framebuffer settings for now 2022-01-25 23:39:15 +01:00
rootzoll
deb46c6330 #2908 fix sed replacement 2022-01-25 23:00:15 +01:00
rootzoll
52b8dec35f #2908 edit framebuffer width/height 2022-01-25 20:51:48 +01:00
rootzoll
1a5bd72cb6 cleanup blitz.display.sh 2022-01-25 20:38:42 +01:00
rootzoll
57d7b5a05d cleanup blitz.display.sh 2022-01-25 20:02:53 +01:00
rootzoll
b7735f8240 #2771 Install Info 2022-01-25 19:33:30 +01:00
openoms
0dcb593e74
update build_sdcard.sh command for VM 2022-01-25 13:28:57 +00:00
/rootzoll
ec7f983ed2
Refactor Repair & Recovery Options #2901 (#2910) 2022-01-25 12:07:11 +01:00
rootzoll
fa21b1ac43 moved RTL sample conf location 2022-01-18 02:17:07 +01:00
rootzoll
2ded9deb98 set recovery window by default 2022-01-18 00:16:27 +01:00
rootzoll
93c1903580 fix ownership of linked files 2022-01-17 23:13:02 +01:00
rootzoll
92b17514e2 put recovery window back to 5000 2022-01-17 23:04:02 +01:00
openoms
6cd0968bf1
better message 2022-01-17 20:54:22 +00:00
openoms
5f4b6985d7
improve outputs 2022-01-17 20:43:14 +00:00
openoms
f8dfbf2780
add quotes 2022-01-17 20:34:52 +00:00
openoms
a5440dd8a0
make sure /var/cache/raspiblitz/temp exists #2832 2022-01-17 20:32:19 +00:00
openoms
df4f835cb5
lnd seedwords not BIP39, skip test #2832 2022-01-17 20:10:38 +00:00
rootzoll
0e9a45e647 add reboot information 2022-01-17 17:04:18 +01:00
rootzoll
3969edc9fd remove manual passwordB change apps with prestart 2022-01-17 16:51:39 +01:00
openoms
a7298c0fd9
RTL update to v0.12.1 2022-01-17 13:48:59 +00:00
openoms
4878730bab
FAQ.cl: add manual instructions for hsmtool #2897 2022-01-17 13:35:23 +00:00
openoms
45c32af561
FAQ.cl: add manual instructions for hsmtool #2897 2022-01-17 13:34:40 +00:00
openoms
a1fe1eca5e
fix lnd repair (don't run with sudo) #2832 2022-01-17 11:40:26 +00:00
openoms
66b6a32272
text cosmetics 2022-01-17 11:26:43 +00:00
rootzoll
4b12010548 move harddrive scan into deeper scan section 2022-01-17 12:25:40 +01:00
rootzoll
41481a51f2 suppress expected error output 2022-01-17 11:38:21 +01:00
rootzoll
2b75167855 fix error message 2022-01-17 11:36:52 +01:00
rootzoll
ddaf4d7c2f simplify tempmount 2022-01-17 11:32:07 +01:00
openoms
50e27348db
cl restore: improve file handling and checks 2022-01-17 09:57:27 +00:00
openoms
5970f03da9
fix setting lit.conf 2022-01-17 09:51:58 +00:00
rootzoll
c84d69db6d fix syntax 2022-01-17 00:29:20 +01:00
rootzoll
6f271c6745 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-01-16 22:07:20 +01:00
rootzoll
a4761ed886 change logfiles user group 2022-01-16 22:07:17 +01:00
openoms
d902f4df12
cl: dispaly logs if unlock is unsuccessful #2866 2022-01-16 19:53:31 +00:00
Felipe Knorr Kuhn
2884a9ffc6
Check if the mempool SQL file exists before attempting to import it (#2892) 2022-01-16 20:23:50 +01:00
rootzoll
6233d13ed5 lnd compact break loops on fail 2022-01-16 17:40:59 +01:00
openoms
c17b25e2c3
mempool update to v2.3.0
always remove files and close ports  when off # 2887 #2884
2022-01-16 16:20:13 +00:00
rootzoll
88624a98ee #2857 ui fix when asked about backup 2022-01-16 13:51:18 +01:00
rootzoll
8e3c9774a2 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-01-15 21:21:24 +01:00
rootzoll
4e725f7651 upload new rc1 image 2022-01-15 21:21:18 +01:00
openoms
f65adc3a1f
cl feeadjuster: fix off option #2888 2022-01-15 12:19:26 +00:00
d11n
7a7693caa6
JoinMarket Web UI (#2747)
* Add JoinMarket Web UI
* Update webserver config
* Add update option
* Improve logging for api service
* Improve install and update script
* Update version and install process
* Use correct onion service script
* Ensure JoinMarket is installed
* add joinmarket-webui precheck to load wallet.dat
2022-01-15 11:00:36 +01:00
Christoph Stenglein
33ed2af24a
(webui): disable yarn 3 telemetry (#2874) 2022-01-14 20:53:10 +01:00
arno
2fb7fb9496
add curl and unzip before first use (#2886) 2022-01-14 20:52:21 +01:00
rootzoll
e93735613d renew all ip2tor subscriptions 2022-01-14 20:51:12 +01:00
arno
a20d9f353c
other syntax for boolean if statements (#2885) 2022-01-14 17:36:28 +01:00
rootzoll
a2543cfae0 #2792 test quart remove 2022-01-13 23:46:49 +01:00
JayDeLux
fb08e306a1 Minor typo in text (#2883)
Minor typo in text
2022-01-13 23:41:56 +01:00
JayDeLux
fd4256223c
Minor typo in text (#2883)
Minor typo in text
2022-01-13 23:41:06 +01:00
rootzoll
b1fe99e112 shebang to bash 2022-01-13 20:56:30 +01:00
rootzoll
33f2a7075d install layer2 binaries & reduce sudo usage 2022-01-13 19:44:13 +01:00
openoms
1366eda7db
explorer: fix janoside PGP key: 70C0B166321C0AF8 2022-01-12 20:45:01 +00:00
openoms
0c5943a33b
add bitcoinlog alias for mainnet, fix debuglogpath 2022-01-12 20:10:52 +00:00
openoms
af2f8fb8a6
create cl.log_old dir for logrotate 2022-01-12 19:37:19 +00:00
openoms
135f5a4a40
#2662 pip install for root to /usr/local/bin 2022-01-12 15:39:30 +00:00
openoms
dbb25d5807
#2662 build dependencies for both root and bitcoin 2022-01-12 14:47:18 +00:00
/rootzoll
75478fa726
Improving Migration from Umbrel/Citadel (#2881) 2022-01-12 14:03:18 +01:00
rootzoll
46ecc66d5b Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-01-11 20:17:13 +01:00
rootzoll
ca4255ffd2 put back hashbang 2022-01-11 20:17:03 +01:00
openoms
c72b6d2a67
cl: sync installing user with dependencies #2662 2022-01-11 19:01:55 +00:00
rootzoll
59903a3d1a test build script again 2022-01-11 18:43:15 +01:00
rootzoll
bad4e7cff0 add comment 2022-01-11 18:41:53 +01:00
openoms
4f6751080c
lnbits: fix typos 2022-01-11 14:55:06 +00:00
/rootzoll
1fbb620c0a
2852buildparameter (#2879) 2022-01-11 14:39:15 +01:00
openoms
a8b4b6fc28
update CHANGES 2022-01-11 10:04:42 +00:00
openoms
c56b31d323
electrs update to v0.9.4 and add INFO logs 2022-01-11 10:04:24 +00:00
openoms
a72fad3607
[x86] correct apparmor.d/system_tor (#2876) 2022-01-10 19:02:29 +01:00
openoms
17524cfb10
#2824 add Restart=on-failure for nginx 2022-01-10 14:33:15 +00:00
openoms
ff3007c782
#2871 strip the non-ascii characters 2022-01-10 12:47:04 +00:00
rootzoll
2bb53ceb96 add text info 2022-01-08 22:50:51 +01:00
rootzoll
6e0254bba0 Add fallback shutdown/reboot ... 2022-01-08 20:55:24 +01:00
Tracachang
af0e18f361 Update FAQ.cl.md (#2872)
typo error
2022-01-08 20:05:24 +01:00
Tracachang
5e6ca681e4
Update FAQ.cl.md (#2872)
typo error
2022-01-08 20:04:36 +01:00
openoms
9e650e18b8
#2859 set swap maxsize to 4096 2022-01-08 00:08:38 +00:00
rootzoll
1e158e76e4 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2022-01-07 22:33:35 +01:00
rootzoll
5b671e7bda #2859 increase swap to 4GB 2022-01-07 22:33:27 +01:00
openoms
4fcdbe71db
hide path check from output 2022-01-06 18:59:45 +00:00
openoms
bec5b9b965
cl: add weekly backup-compact to crontab
#2869 using the admin crontab,  check with:
crontab -u admin -l
2022-01-06 18:56:26 +00:00
openoms
f524dab1d7
joininbox: configure joinmarket after install
#2747
2022-01-05 11:21:06 +00:00
openoms
1c9e96b033
joininbox update to commit b0efe45
remove  sudo use for menu
2022-01-05 10:37:25 +00:00
rootzoll
68d7e79c8e stronger file permissions on log files 2022-01-04 23:41:19 +01:00
rootzoll
6ad3a61400 #2848 remove old debug log 2022-01-04 23:20:18 +01:00
rootzoll
3c9c7f0d02 #2824 adding resolver 2022-01-04 22:40:56 +01:00
KYC
4802271feb
Catch 404 errors and add logs when when tor bridges are deleted (#2853) 2022-01-04 20:58:30 +01:00
nyxnor
abb393ff70
fix https://github.com/rootzoll/raspiblitz/issues/2611 (#2845) 2022-01-04 20:47:03 +01:00
Felipe Knorr Kuhn
0bf03b8234
Update NodeJS to v16.10.0 (#2840) 2022-01-04 20:41:35 +01:00
openoms
fc5becc6b5
add LND repair menu (#2833)
* add 99lndRepairMenu.sh
* add more lnd checks and improve output
* add sudo to syncAndCheckLND
* add ${netprefix} to lnd service
* restore seed and scb separately
* update lnd proto files
* lnd.initwallet: add unlock method
* lndrepair: use recovery window with unlock
* change all rpc_pb2 to lightning_pb2
* mainnet -> ${chain}net
* _provison.setup: restore SCB separately
* clear up the placement of channel.backup
* unloc kLND before SCB restore
* provison.setup: add more logging
* lnd.install: make sure bitcoin is in debian-tor
* lndRepairMenu: add RETRYSCB option
* wait to create macaroons for 2 minutes
* lndRepairMenu: add RESCAN option
2022-01-04 20:08:38 +01:00
openoms
dd10808f9f
blitz.conf: add sudo for new entries 2022-01-04 18:14:22 +00:00
openoms
e5f7f447d9
cl.install.: refactor to use requirements.txt
adding: postgresql libpq-dev #2662
2022-01-02 22:06:03 +00:00
openoms
346a16957c
proofread comment 2022-01-02 20:50:14 +00:00
openoms
e6772d8ab8
fix passwordB change for electrs #2861 2022-01-02 20:45:43 +00:00
openoms
17c1d707cd
c-lightningREST update to v0.6.1 #2860 2022-01-02 20:37:22 +00:00
openoms
4b3bba7a54
RTL update to v0.12.0 #2860 2022-01-02 20:36:40 +00:00
openoms
5072272075
chantools update to v0.10.1 2022-01-02 01:00:01 +00:00
openoms
75251e5557
alt platforms: add python upgrade, remove DietPi 2021-12-26 22:22:33 +00:00
openoms
faaef35a6a
build_sdcard: admin:admin to own raspiblitz.info 2021-12-24 17:15:33 +00:00
openoms
e75cc3a92f
make sure /home/admin/_aliases exists 2021-12-23 20:32:07 +00:00
openoms
9da44ea593
#2839 return seedwords and add6x4 in new function 2021-12-23 17:25:17 +00:00
openoms
2f244429aa
correct comment 2021-12-23 17:21:36 +00:00
FeedMyTummy
fbe2f0f2a6
Update broken links / use GitHub links. (#2830) 2021-12-23 14:57:38 +01:00
d11n
44a4a4a95d
Upgrade tallycoin_connect (#2835) 2021-12-23 14:53:56 +01:00
arno
ecf1a32187
set hostname on different OS-es (#2831) 2021-12-23 14:48:42 +01:00
/rootzoll
3e831918ba
#2556 change to uvicorn (#2844) 2021-12-23 14:03:46 +01:00
rootzoll
9652f0542b fix string output 2021-12-22 02:09:01 +01:00
rootzoll
62da202f72 upload of v1.7.2rc1b image 2021-12-22 01:59:52 +01:00
rootzoll
67878d87ad #2556 lnbits switch to fastAPI 2021-12-21 21:49:45 +01:00
openoms
02425de990
lnd.service: avoid hanging on stop #2827 2021-12-21 15:33:41 +00:00
openoms
58ae87e3cb
typos 2021-12-21 15:30:45 +00:00
rootzoll
729247d921 #2617 give menu more width 2021-12-21 15:55:55 +01:00
rootzoll
fab8e6b52a #2617 fix deletion of files 2021-12-21 15:53:58 +01:00
d11n
cf4dae5a7d
Integrate Tallycoin Connect (#2617) 2021-12-21 15:45:01 +01:00
rootzoll
ccab24e8b6 #2639 check ln synced before main menu 2021-12-21 13:09:15 +01:00
rootzoll
43473db434 exit to terminal info again 2021-12-21 12:53:31 +01:00
openoms
1eda1adbc4
#2639 fix config after lnd rescuefile import 2021-12-21 07:54:51 +00:00
openoms
4919955fca
fix comment 2021-12-21 00:30:02 +00:00
rootzoll
518b425d73 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-21 00:40:14 +01:00
rootzoll
1c57fee848 #2639 check if wallet exists from resacue file 2021-12-21 00:38:51 +01:00
openoms
f1ed46afd3
provision.setup: register LNDRESCUE, fix #2639 2021-12-20 23:16:50 +00:00
openoms
c910a0e173
repairMenu: ask both CL and LND backup if active 2021-12-20 20:37:58 +00:00
openoms
e2eafc54aa
provison.setup: don't need passwordC for rescuefile #2639 2021-12-20 20:16:09 +00:00
rootzoll
48bbbac527 #2828 fix some more bad substitutions 2021-12-20 20:41:02 +01:00
rootzoll
c1ea6c4236 #2824 retest upstream 2021-12-20 20:34:37 +01:00
openoms
ba4a0ed801
fix bad substitutions for redis #2828 2021-12-20 19:28:25 +00:00
openoms
81621071bd
BBcashoutWallet: fix variable #2828 2021-12-20 19:26:34 +00:00
openoms
d78d35b4ec
BBfundwallet: fix variable #2828 2021-12-20 19:24:36 +00:00
openoms
c3a4eb3bfb
cl.install: keep using Type=simple
Type=forking hangs on restart
2021-12-20 16:41:36 +00:00
openoms
cf65db6023
cl.install: improve service file based on sample 2021-12-20 15:07:39 +00:00
openoms
ff3ab2585e
#2826 do not create system directories and format 2021-12-20 15:02:36 +00:00
openoms
4636f47aad
#2826 improve bitcoind service files 2021-12-20 14:20:06 +00:00
openoms
5706d38c1e
#2827 improve lnd.service files
added:
ExecStop=/usr/local/bin/lncli -n=${CHAIN} --rpcserver localhost:1${rpcportmod}009 stop
PIDFile=/home/bitcoin/.lnd/${netprefix}lnd.pid
Restart=on-failure # was always
Type=notify # was simple
MemoryDenyWriteExecute=true

Increased timeouts:
TimeoutStartSec=1200
TimeoutStopSec=3600
2021-12-20 14:09:24 +00:00
openoms
9658d49e60
99cLMenu: add check if the CL wallet is unlocked
#2812
2021-12-20 12:41:59 +00:00
rootzoll
7198044843 change fingerprint file used in menu 2021-12-20 12:41:00 +01:00
rootzoll
10464ebb5a add debug 2021-12-20 12:29:19 +01:00
rootzoll
c73a242a57 adapt pyblock info message 2021-12-20 11:44:55 +01:00
rootzoll
000eb7b6a5 fix small ui 2021-12-20 11:40:41 +01:00
rootzoll
5b1d0ea311 fix status info 2021-12-20 11:40:34 +01:00
openoms
8edaa3dbe0
fix lndlog alias check 2021-12-20 08:34:43 +00:00
openoms
48584bb434
lnd.check: add [Bitcoin] section 2021-12-20 08:04:15 +00:00
openoms
79c6ee78d0
lnd.install: improve aliases, add lndconf 2021-12-20 07:40:19 +00:00
arno
720a9c0403
preserve-timestamps (#2823) 2021-12-20 01:06:29 +01:00
openoms
eae7160422
cl, lnd.update: check version in reckless install
#2798
2021-12-19 23:56:40 +00:00
openoms
34b54f0553
lnd.setname: add alias if not present and set 2021-12-19 22:56:30 +00:00
rootzoll
18f696afa4 #2825 change insert of string data 2021-12-19 23:43:07 +01:00
openoms
cf8d454988
lnd.check: streamisolation false in hybrid mode
a simple logic to cover #2787
2021-12-19 22:36:39 +00:00
rootzoll
9844476804 #2824 remove exterbal proxy pass 2021-12-19 23:28:53 +01:00
rootzoll
772d9c8132 mute directory copy 2021-12-19 23:18:36 +01:00
rootzoll
800c76d4e4 more debug output 2021-12-19 23:18:00 +01:00
rootzoll
28e947dedb mete warnings 2021-12-19 23:15:34 +01:00
rootzoll
13be394f51 github patch always clean 2021-12-19 23:04:49 +01:00
rootzoll
7770efbde9 use -R 2021-12-19 22:47:42 +01:00
rootzoll
f09601da50 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-19 22:44:48 +01:00
rootzoll
1921e4e0fa add more redact data 2021-12-19 22:44:42 +01:00
openoms
dc581a9403
improve lightning backup texts 2021-12-19 18:35:27 +00:00
openoms
6986e7e020
lnd.compact: kill process without exiting
#2752
2021-12-19 18:06:16 +00:00
openoms
fe61c69c31
update: download both lnd and cl rescue if active 2021-12-19 16:56:38 +00:00
openoms
40d2df860c
lnd.compact: use pkill instead of killall
#2752
2021-12-19 16:47:06 +00:00
openoms
f5be48770b
remove duplicate sudos and improve clrescue import 2021-12-19 16:27:27 +00:00
rootzoll
95f979c734 add git pull config 2021-12-19 16:59:25 +01:00
rootzoll
37d1f05a85 double PAM file open limit 2021-12-19 16:40:08 +01:00
rootzoll
6a2e5525d0 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-19 15:43:33 +01:00
rootzoll
e66848a048 #2820 add more test & debug 2021-12-19 15:43:25 +01:00
openoms
139bb371d0
fixing typos including uasp-fix 2021-12-19 14:37:48 +00:00
rootzoll
0e8332045d v1.7.2rc1 image link 2021-12-19 00:46:25 +01:00
openoms
2704406819
Create CL wallet from seedwords before start (#2822) 2021-12-18 23:07:37 +01:00
rootzoll
6e2f6dfec4 version v1.7.2rc1 2021-12-18 22:31:40 +01:00
rootzoll
e92bfd6547 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-18 22:30:24 +01:00
rootzoll
225cc44e7b remove double directory dev & extras 2021-12-18 22:30:19 +01:00
/rootzoll
e1a028fe18
#2818 ssh keys backup refactor (#2819) 2021-12-18 19:18:57 +01:00
/rootzoll
167264ff50
privacy redact debug logs (#2817) 2021-12-18 14:18:42 +01:00
rootzoll
06dbfa3d1f #2653 added info in CHANGES & SECURITY docs 2021-12-18 14:15:44 +01:00
openoms
6cd17ad27a
cl.hsmtool: correct passwordfile name everywhere 2021-12-18 02:52:59 +00:00
openoms
5afb635482
cl.hsmtool: correct passwordfile name everywhere 2021-12-18 02:52:25 +00:00
openoms
d575aec130
FAQ.cl: correct rescan intructions 2021-12-18 02:35:35 +00:00
openoms
d9f7a72b1d
cl: move the autounlock file to /home/bitcoin/
to fix permission errors in #2812
2021-12-18 02:35:18 +00:00
openoms
c1d64125af
FAQ.cl: correct rescan intructions 2021-12-18 02:34:24 +00:00
openoms
681e8c98bd
cl: move the autounlock file to /home/bitcoin/
to fix permission errors in #2812
2021-12-18 02:29:57 +00:00
rootzoll
1b7f9d51d8 pipe nginx check results into stdout 2021-12-18 01:04:51 +01:00
rootzoll
aca06e05ed dont check blitzapi if not installed 2021-12-18 01:02:09 +01:00
rootzoll
efb53e8e76 remove exit to terminal 2021-12-18 00:55:49 +01:00
rootzoll
dee23e98b6 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-18 00:38:55 +01:00
rootzoll
ab53050e3f make new scripts use blitz.conf.sh 2021-12-18 00:38:49 +01:00
nyxnor
83838472eb
improve debug logs readability and tips tp use without tor (#2815) 2021-12-17 23:28:17 +01:00
arno
72bfa88861
ssh is a directory (#2807) 2021-12-17 22:45:01 +01:00
rootzoll
9ada5b912c fix peer-kickstart 2021-12-17 22:28:35 +01:00
rootzoll
2bf4739ac5 fatpack as FAQ default 2021-12-17 22:26:25 +01:00
rootzoll
adc8549845 lnd & cl install on on if not done in fatpack 2021-12-17 21:43:19 +01:00
rootzoll
300090047c #2759 add to CHANGES.md 2021-12-17 01:36:23 +01:00
/rootzoll
399c278b15
#2759 update pyblock install (#2811) 2021-12-17 01:26:16 +01:00
Tracachang
08576a055c Add more time to avoid re-enter the password (#2795) 2021-12-16 23:25:14 +01:00
Tracachang
9f8fbc2f39 increase timeoutsec to avoid re-entering the password (#2794) 2021-12-16 23:23:36 +01:00
rootzoll
4ef931f6c4 delete modules if available 2021-12-16 23:23:00 +01:00
rootzoll
7272771664 opt out telemetry after install 2021-12-16 22:51:03 +01:00
rootzoll
7dc7ab9226 add debug 2021-12-16 22:46:58 +01:00
rootzoll
fc417ab19d Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-16 22:45:47 +01:00
rootzoll
9194a341ea #2810 try mute user interaction 2021-12-16 22:45:38 +01:00
arno
18756426e7
extra names for variables used in other scripts (#2809) 2021-12-16 22:36:53 +01:00
rootzoll
a62f20c894 #2804 fix if syntax 2021-12-16 21:18:17 +01:00
rootzoll
0067437724 call tor.network.sh on provision 2021-12-16 21:11:34 +01:00
rootzoll
5be1452169 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-16 21:10:06 +01:00
rootzoll
b8b23b8a65 #2805 fix calling tor status 2021-12-16 21:10:00 +01:00
/rootzoll
88d77d4197
fix #2792 & #2556 LNbits c-lightning (#2808) 2021-12-16 20:10:03 +01:00
arno
f1478dff8a
/mnt/hdd/ssh is a directory (#2806) 2021-12-16 18:07:11 +01:00
rootzoll
37b6076117 #2799 fix chmod line 2021-12-15 23:32:19 +01:00
rootzoll
8fa4d4dbfa #2801 fix typo 2021-12-15 23:30:59 +01:00
rootzoll
faae20fbca #2796 update BTC RPC Explorer to 3.3.0 2021-12-15 00:22:53 +01:00
/rootzoll
85b0c97d41
big merge of 2388redis & 2669tor (#2790) 2021-12-14 23:34:35 +01:00
openoms
1cdb50d38f
update joininbox v0.6.5 with joinmarket v0.9.4 2021-12-14 17:27:51 +00:00
openoms
1a6ee15cd7
fix seedwordFile typos in outputs 2021-12-14 17:25:41 +00:00
James
8b4362da7a Updated README header (#2784)
Fixed the header for Hex-String
2021-12-13 23:43:29 +01:00
James
40dd28066f
Updated README header (#2784)
Fixed the header for Hex-String
2021-12-13 23:42:41 +01:00
openoms
95f32c2b92
blitz.copychain: fix retry after invalid transfer 2021-12-13 08:23:45 +00:00
openoms
521020a453
98repairBlockchain: fix COPY option 2021-12-13 01:13:11 +00:00
openoms
4ba72ab270
build:_sdcard: remove --ingroup admin 2021-12-12 18:19:16 +00:00
arno
a050c7b02c
add debian to Tor repository (#2785) 2021-12-12 18:10:37 +00:00
/rootzoll
6068b86d76
#2348 adding Zap back to SSH connect menu (#2783) 2021-12-11 19:38:35 +01:00
openoms
b656f24383
add VM instructions and update alternative hw reqs (#2768) 2021-12-11 14:03:45 +01:00
arno
a7fe5ffd24
typo-variable (#2782) 2021-12-09 20:46:00 +01:00
rootzoll
6efd09a236 #2647 remove full lnd directory backup 2021-12-09 19:00:57 +01:00
/rootzoll
dacf1dcda2
2703keepchanges (#2781) 2021-12-09 18:35:34 +01:00
cxbtc
b2621f52b5 Small improvements to internet check (re: #2388) (#2726) 2021-12-09 18:30:17 +01:00
rootzoll
399640f872 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-09 18:26:56 +01:00
frennkie
e9869fb222 automatically create cronjob for kindle-display (#2657) 2021-12-09 18:26:38 +01:00
Matheus Bach
46b1845534
Fix adduser error for Ubuntu (#2638) 2021-12-09 18:24:24 +01:00
frennkie
1549f63eac allow custom e-mail server port for notify (#2700) 2021-12-09 18:23:19 +01:00
Götz Görisch
efbd67eac2 fix(deps): Bumps base image to bullseye (#2734) 2021-12-09 18:21:26 +01:00
Rene Sauerwein
70a643b720
#2400 adjust command prompt (#2651) 2021-12-09 18:15:25 +01:00
Christoph Stenglein
52952245e9
fix webui routing, fixes #2723 (#2770) 2021-12-09 18:01:23 +01:00
nyxnor
6796a31786
removing litecoin option from the menu, code still there (#2545) 2021-12-09 15:01:33 +01:00
rootzoll
ab89fe87eb clean more old litecoin references 2021-12-09 14:08:04 +01:00
rootzoll
54bc9fa7ae #1578 remove edit of asset 2021-12-09 14:00:32 +01:00
rootzoll
504da588d4 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-12-09 11:45:03 +01:00
rootzoll
6d15c195c5 #1578 remove unneeded litecoin assests & code 2021-12-09 11:44:57 +01:00
openoms
fa3b981540
update BTCPay to v1.3.6, NBXplorer v2.2.18 2021-12-09 07:06:18 +00:00
openoms
f14ac5f3bf
lit update to v0.6.1-alpha 2021-12-09 07:04:07 +00:00
HWWAIT
65a6d4ae3d Spellcheck Security.md (#2778)
Added minor spelling fixes.
2021-12-09 03:33:03 +01:00
HWWAIT
a500cc7cf2
Spellcheck Security.md (#2778)
Added minor spelling fixes.
2021-12-09 03:31:22 +01:00
rootzoll
adf0e9d952 #2581 UASP check only if lsusb is available 2021-12-09 03:23:47 +01:00
openoms
2807623716
cl.install: fix mistune version to 0.8.4
related: https://github.com/refi64/mrkd/pull/6
2021-12-08 21:31:34 +00:00
openoms
716a091c84
build_sdcard: fix aarch64 detection 2021-12-08 16:04:30 +00:00
openoms
2fcb10caa8
cl.install: source configfiles after install 2021-12-08 13:58:30 +00:00
rootzoll
1dee064452 #2743 adding --logLevel warn 2021-12-08 09:56:37 +01:00
rootzoll
9887766aab #2776 add changes info 2021-12-08 09:30:31 +01:00
cercatrova
ac20d1b1d5
Update Specter 1.7.2 (#2764) 2021-12-08 09:28:06 +01:00
/rootzoll
97dc925ed4
#2710 enable ctrl+c again in ssh sync info (#2775) 2021-12-08 09:21:12 +01:00
/rootzoll
f3773f2eda
fix #2703 keeping to RTL config changes thru reboot & sd card update (#2774)
* #2703 dont delete RTL config
* #2703 move RTL config to HDD
* fix config exists detection
2021-12-08 01:12:56 +01:00
rootzoll
6b5efb8e40 #2247 quick fix for the letsencrypt=on 2021-12-07 23:19:48 +01:00
rootzoll
236fc76e92 #2689 chown subscription directory admin 2021-12-07 21:59:37 +01:00
Aaron Dewes
fe651b4f1d
Update electrs to 0.9.3 (#2749)
* Update electrs to 0.9.3

https://github.com/romanz/electrs/blob/v0.9.3/RELEASE-NOTES.md

* Remove the unsupported verbose option from electrs.toml
2021-12-07 15:04:00 +01:00
Dipun Mistry
03f0318bed
Opt out of nextjs telemetry (#2751)
Fixes https://github.com/rootzoll/raspiblitz/issues/2620
2021-12-07 15:01:39 +01:00
openoms
7c18db7bd7
build_sdcard.sh to call config.scripts to install Bitcoin, LND and CL (#2754)
* move Bitcoin Core install to bitcoin.install.sh

* update lnd to v0.14.1, move to lnd.install.sh

* update CL to v0.10.2, move to cl.install.sh

* call config.scripts to install BITCOIN, LND and CL

* improve cpu and base image detection

* switch tor sources to bullseye for debian and co

* allow one parameter in install scripts

* PGPauthor is guggero for lnd v0.14.1

* lnd.install: improve output

* cl.install: fix links

* cl v0.10.2 signer is cdecker

* cl.install: add mrkd dependency

* make the bitcoin home directory readable
2021-12-07 15:00:44 +01:00
rootzoll
6dabdf9089 add debug info 2021-12-07 14:17:03 +01:00
rootzoll
fddf8e2547 #2761 check free HDD & whiptail dialog 2021-12-07 14:15:47 +01:00
openoms
40bc588fa3
New: Compact the LND channel.db on-demand from REPAIR and before backups (#2761)
* add lnd.compact.sh
* add interactive channel.db compacting to backups
* improve text output
* compact: restart LND after manual compacting
2021-12-07 12:13:03 +01:00
nyxnor
792b0a7bb2
improve go script (#2670) 2021-11-30 23:54:42 +01:00
rootzoll
38749562c4 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-11-30 23:13:51 +01:00
rootzoll
8d2eac4bec #2583 partions at 1024KiB & remove -a optimal 2021-11-30 23:13:46 +01:00
openoms
5e074d0cca
Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-11-30 20:33:44 +00:00
openoms
9ac00f305f
update LIT to v0.6.0-alpha, everything over Tor 2021-11-30 20:33:36 +00:00
rootzoll
217c1766d2 #2649 stop bitcoind & delete small chainm data 2021-11-30 20:08:10 +01:00
rootzoll
3a4aae8ed7 #2642 add citadel as migration option 2021-11-30 18:27:04 +01:00
rootzoll
18a7ed9c3d #2644 disable password c when no lightning 2021-11-30 18:13:28 +01:00
rootzoll
49d44abcca #2630 adding info on sub key in FAQ 2021-11-30 17:03:10 +01:00
openoms
3a910729b1 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-11-30 15:33:05 +00:00
openoms
f1a549171d SETTINGS: change Testnets if either changes 2021-11-30 15:32:51 +00:00
openoms
9fd9fb1670
copy systematically and unify script permissions (#2746) 2021-11-30 16:27:20 +01:00
openoms
8d92382911 Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-11-30 14:26:35 +00:00
openoms
8427dcb42e
update c-lightning to v0.10.2 (#2707)
do not offer updates to release candidates for LND and CL
fix #2706
2021-11-30 12:46:31 +00:00
openoms
4c1c4aaf63 cl.update to v0.10.2 and no release candidates
lnd.update: do not offer release candidates
2021-11-30 12:38:32 +00:00
openoms
e77a343dca
VM fixes - ongoing testing (#2745) 2021-11-30 13:22:10 +01:00
openoms
3c3df62a8a
Improve setup reliability and VM compatibility (#2744) 2021-11-30 12:58:06 +01:00
openoms
3a09f3a3e5
Git verify everywhere + updates (#2708) 2021-11-30 12:43:52 +01:00
pretyflaco
3762406fe5 Update blitz.debug.sh (#2740)
Changed lnd to c-lightning log output for c-lightning node
2021-11-30 12:00:18 +01:00
pretyflaco
22868f35f9
Update blitz.debug.sh (#2740)
Changed lnd to c-lightning log output for c-lightning node
2021-11-30 11:59:17 +01:00
yzernik
773e0b9bf7 Add squeaknode to provision script 2021-11-29 21:23:58 -08:00
nyxnor
34fb92e8a4
faq cleanup (#2668) 2021-11-29 20:32:11 +01:00
Jai Mistry
9aad51d5af Remove extra "the" words in FAQ.md (#2736)
Found 4 extra instances of the word "the" in FAQ.md
2021-11-29 13:39:24 +01:00
Jai Mistry
2aba958382
Remove extra "the" words in FAQ.md (#2736)
Found 4 extra instances of the word "the" in FAQ.md
2021-11-29 13:37:01 +01:00
yzernik
b031054422 Change order of squeaknode in readme 2021-11-28 15:13:07 -08:00
yzernik
51e1207512 Add squeaknode to readme 2021-11-28 15:08:07 -08:00
yzernik
8354830d2c Change name to uppercase in main menu 2021-11-26 20:59:07 -08:00
yzernik
52d34db7ac Close ports on firewall on set off 2021-11-26 17:09:59 -08:00
yzernik
6d9e68949c Add squeaknode app 2021-11-26 16:56:14 -08:00
Stadicus
76d70e0282 README: update RaspiBolt links (#2716)
The RaspiBolt guide has moved, so the links are updated to point to
https://raspibolt.github.io/raspibolt/
2021-11-25 23:53:42 +01:00
Stadicus
0515d39eab
README: update RaspiBolt links (#2716)
The RaspiBolt guide has moved, so the links are updated to point to
https://raspibolt.github.io/raspibolt/
2021-11-25 23:52:22 +01:00
David
c677233c38
update link to wifi guide in faq (#2719) 2021-11-25 23:47:22 +01:00
openoms
27d5c63fc6
blitz.web.api.sh update-config for testnet (#2724) 2021-11-25 22:33:58 +01:00
openoms
a0fd288e55 FAQ.cl.md: formatting and updates 2021-11-17 06:19:53 -06:00
FeedMyTummy
1c158759b1
Fix broken links. (#2681)
Old links are dead. Long live the new links.
2021-11-11 15:53:16 +01:00
Evan Kaloudis
fd9b765bfd Remove TestFlight label from Zeus (#2687) 2021-11-11 15:47:22 +01:00
Evan Kaloudis
2594e8f1fa
Remove TestFlight label from Zeus (#2687) 2021-11-11 15:47:06 +01:00
openoms
608a5854f7 Fix RESET-LND (#2690)
* initialize LND wallet after reset
* diplay seed for mainnet after reset and init
* display and delete the seed for mainnet
* lnd.install: remove seedwordFile after shred

The seed will be safely deleted after having been displayed, the same as during the initial setup.
The seedwordFile is created and kept for testnet and signet if active.
2021-11-11 15:41:04 +01:00
openoms
38e4de5908
Fix RESET-LND (#2690)
* initialize LND wallet after reset
* diplay seed for mainnet after reset and init
* display and delete the seed for mainnet
* lnd.install: remove seedwordFile after shred

The seed will be safely deleted after having been displayed, the same as during the initial setup.
The seedwordFile is created and kept for testnet and signet if active.
2021-11-02 12:19:33 +00:00
openoms
d81801d2a9 FAQ.cl: add sqlite3 queries about channel closes 2021-10-30 23:50:36 +01:00
rootzoll
d45839facf fix torrent link 2021-10-28 16:05:22 +02:00
rootzoll
1949725792 fix torrent link text 2021-10-28 15:18:25 +02:00
rootzoll
306c7d9f91 Uploaded patch for v1.7.1 2021-10-28 15:17:38 +02:00
rootzoll
cce38cdaae add new torrent file 2021-10-28 14:02:35 +02:00
/rootzoll
2c26fe40f4 add commit has info to github menu (#2674) 2021-10-28 11:59:11 +02:00
/rootzoll
b9d3d46996
add commit has info to github menu (#2674) 2021-10-28 11:58:44 +02:00
rootzoll
c681428740 #2667 fix 2021-10-28 01:03:46 +02:00
rootzoll
a45adc3473 #2667 fix 2021-10-28 01:00:32 +02:00
rootzoll
df1f10712d #2575 removing again 2021-10-27 00:33:52 +02:00
Alazne Morales
475cb9f651 modify wording of a correct signature verification (#2660)
gpg (GnuPG) 2.2.12 is displaying the term `gpg: Good signature from ...` and not "correct signature" as currently written in the FAQ.
2021-10-26 15:16:54 +02:00
Alazne Morales
abad5448e2
modify wording of a correct signature verification (#2660)
gpg (GnuPG) 2.2.12 is displaying the term `gpg: Good signature from ...` and not "correct signature" as currently written in the FAQ.
2021-10-26 15:16:26 +02:00
rootzoll
f7b6c10890 remove old update info 2021-10-26 10:13:23 +02:00
/rootzoll
02544f6b45 # 2084onlycopystation (#2664) 2021-10-25 11:31:49 +02:00
/rootzoll
fe5bb74983
# 2084onlycopystation (#2664) 2021-10-25 11:31:12 +02:00
openoms
db74a04fa6
RTL: add lnServerUrl config for lnd testnets 2021-10-18 11:06:48 +01:00
openoms
3baf720f92
FAQ.cl: add notes obout the seedwords.info file 2021-10-18 11:06:43 +01:00
openoms
4cf02caa43
RTL: add lnServerUrl config for lnd testnets 2021-10-18 10:58:05 +01:00
openoms
02c4ee5323
FAQ.cl: add notes obout the seedwords.info file 2021-10-17 20:08:32 +01:00
openoms
2993ad76e8
CL: do not announce 127.0.0.1 and check in CLCONF
fixes #2634
2021-10-17 10:39:07 +01:00
openoms
46264131c1
CL: show port on infoscreen
fixing #2635
2021-10-17 10:35:36 +01:00
openoms
4f1da190bf
CL: show port on infoscreen
fixing #2635
2021-10-17 10:34:46 +01:00
openoms
4c0e0d1b2d
CL: do not announce 127.0.0.1 and check in CLCONF
fixes #2634
2021-10-17 10:13:57 +01:00
openoms
69f4b0e037
FAQ.cl: add notes on updatin C-lightning 2021-10-17 09:56:14 +01:00
theword3
b20c0146a3
bonus.rtl.sh: Fix C-Lightning changes of config (#2625)
fixes #2626
2021-10-17 09:54:26 +01:00
openoms
515e211983
FAQ.cl: add notes on updatin C-lightning 2021-10-17 09:52:57 +01:00
theword3
f0d0ed8c24
bonus.rtl.sh: Fix C-Lightning changes of config (#2625)
fixes #2626
2021-10-17 09:47:08 +01:00
rootzoll
bcc1ebb8ea Merge branch 'dev' of https://github.com/rootzoll/raspiblitz into dev 2021-10-16 23:29:35 +02:00
Will Clark
583197a7cf README: Improve clarity, spell fixes (#2619)
* README: Improve clarity, spell fixes

* README single line phrases

Allows much easier (re)moving and reordering using text editors
2021-10-16 23:29:27 +02:00
Will Clark
aa962c105a
README: Improve clarity, spell fixes (#2619)
* README: Improve clarity, spell fixes

* README single line phrases

Allows much easier (re)moving and reordering using text editors
2021-10-16 23:27:57 +02:00
/rootzoll
9eeb7f22e0
Update FAQ links (#2633) 2021-10-16 22:59:30 +02:00
/rootzoll
1e27805d71
Merge pull request #2631 from rsauerwein/readme-update
Readme update  - outdated links
2021-10-16 22:58:19 +02:00
Rene Sauerwein
2aebe1dbbc Fix outdated anchor link 2021-10-16 16:35:44 +02:00
Rene Sauerwein
efa6aa9673 Fix outdated anchor link 2021-10-16 16:32:33 +02:00
460 changed files with 285267 additions and 172499 deletions

17
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,17 @@
---
name: Bug report
about: Create a bug report to help us improve
title: ''
labels: 'bug - unconfirmed'
assignees: ''
---
**Describe the bug**
A clear and concise description about the issue you encounter.
**To Reproduce**
Steps to reproduce the behavior.
**Debug file**
If possible, please add a debug report. To do that, drag a text file with the debug report in here.

4
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@ -0,0 +1,4 @@
contact_links:
- name: Have an idea for a new app in the RaspiBlitz? Make a suggestion in the app ideas section
url: https://github.com/raspiblitz/raspiblitz/discussions/categories/feature-app-ideas
about: Feature and app ideas

View File

@ -0,0 +1,7 @@
---
name: Documentation Improvement
about: Improvement suggestions for the documentation
title: ''
labels: 'documentation'
assignees: ''
---

View File

@ -0,0 +1,7 @@
---
name: Feature Request
about: Enhancement suggestions for the RaspiBlitz
title: ''
labels: 'enhancement'
assignees: ''
---

View File

@ -0,0 +1,105 @@
name: amd64-fatpack-image-build
concurrency:
group: amd64-fatpack-image-build-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
#push:
# branches: ["dev", "v1.10"]
# paths:
# - 'build_sdcard.sh'
# - 'home.admin/bitcoin.install.sh'
# - 'home.admin/lnd.install.sh'
# - 'home.admin/cl.install.sh'
# - 'home.admin/cl-plugin.cln-grpc.sh'
# - 'home.admin/tor.install.sh'
# - 'home.admin/blitz.i2pd.sh'
# - 'home.admin/blitz.web.sh'
# - 'home.admin/bonus.nodejs.sh'
# - 'home.admin/bonus.rtl.sh'
# - 'home.admin/bonus.btcpayserver.sh'
# - 'home.admin/bonus.thunderhub.sh'
# - 'home.admin/bonus.jam.sh install'
# - 'home.admin/bonus.mempool.sh'
# - 'home.admin/blitz.web.api.sh'
# - 'home.admin/blitz.web.ui.sh'
# - 'home.admin/blitz.display.sh'
# - 'ci/amd64/**'
#pull_request:
# branches: ["dev", "v1.10"]
# paths:
# - 'build_sdcard.sh'
# - 'home.admin/bitcoin.install.sh'
# - 'home.admin/lnd.install.sh'
# - 'home.admin/cl.install.sh'
# - 'home.admin/cl-plugin.cln-grpc.sh'
# - 'home.admin/tor.install.sh'
# - 'home.admin/blitz.i2pd.sh'
# - 'home.admin/blitz.web.sh'
# - 'home.admin/bonus.nodejs.sh'
# - 'home.admin/bonus.rtl.sh'
# - 'home.admin/bonus.btcpayserver.sh'
# - 'home.admin/bonus.thunderhub.sh'
# - 'home.admin/bonus.jam.sh install'
# - 'home.admin/bonus.mempool.sh'
# - 'home.admin/blitz.web.api.sh'
# - 'home.admin/blitz.web.ui.sh'
# - 'home.admin/blitz.display.sh'
# - 'ci/amd64/**'
jobs:
amd64-image-build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set values
id: set_values
run: |
echo "BUILD_DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV
echo "BUILD_VERSION=$(git describe --always --tags)" >> $GITHUB_ENV
if [ -z "$GITHUB_HEAD_REF" ]; then
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
else
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
if [[ "${{github.event_name}}" == "pull_request" ]]; then
echo "GITHUB_USER=${{github.event.pull_request.head.repo.owner.login}}" >> $GITHUB_OUTPUT
else
echo "GITHUB_USER=$(echo ${{github.repository}} | cut -d'/' -f1)" >> $GITHUB_OUTPUT
fi
- name: Display the build name
run: echo "Building the raspiblitz-amd64-debian-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}"
- name: Run the build script
run: |
echo "Using the variables: --pack fatpack --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --preseed_file preseed.cfg --boot uefi --desktop none"
cd ci/amd64
bash packer.build.amd64-debian.sh --pack fatpack --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --preseed_file preseed.cfg --boot uefi --desktop none
- name: Compute checksum of the raw image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu/
sha256sum raspiblitz-amd64-debian-fatpack.qcow2 > raspiblitz-amd64-debian-fatpack.qcow2.sha256
- name: Compress image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu/
gzip -v9 raspiblitz-amd64-debian-fatpack.qcow2
- name: Compute checksum of the compressed image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu/
sha256sum raspiblitz-amd64-debian-fatpack.qcow2.gz > raspiblitz-amd64-debian-fatpack.qcow2.gz.sha256
- name: Upload the image and checksums
uses: actions/upload-artifact@v4
with:
name: raspiblitz-amd64-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}
path: |
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu/raspiblitz-amd64-debian-fatpack.qcow2.sha256
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu/raspiblitz-amd64-debian-fatpack.qcow2.gz
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu/raspiblitz-amd64-debian-fatpack.qcow2.gz.sha256

89
.github/workflows/amd64-lean-image.yml vendored Normal file
View File

@ -0,0 +1,89 @@
name: amd64-lean-image-build
concurrency:
group: amd64-lean-image-build-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches: ['dev', 'v1.10']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/amd64/**'
pull_request:
branches: ['dev', 'v1.10']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/amd64/**'
jobs:
amd64-image-build:
runs-on: ubuntu-22.04
steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
root-reserve-mb: 12288
temp-reserve-mb: 12288
- uses: actions/checkout@v4
- name: Set values
id: set_values
run: |
echo "BUILD_DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV
echo "BUILD_VERSION=$(git describe --always --tags)" >> $GITHUB_ENV
if [ -z "$GITHUB_HEAD_REF" ]; then
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
else
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
if [[ "${{github.event_name}}" == "pull_request" ]]; then
echo "GITHUB_USER=${{github.event.pull_request.head.repo.owner.login}}" >> $GITHUB_OUTPUT
else
echo "GITHUB_USER=$(echo ${{github.repository}} | cut -d'/' -f1)" >> $GITHUB_OUTPUT
fi
- name: Display the build name
run: echo "Building the raspiblitz-amd64-debian-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}"
- name: Run the build script
run: |
echo "Using the variables: --pack lean --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --preseed_file preseed.cfg --boot uefi --desktop gnome"
cd ci/amd64
bash packer.build.amd64-debian.sh --pack lean --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --preseed_file preseed.cfg --boot uefi --desktop gnome
- name: Compute checksum of the raw image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu
sha256sum raspiblitz-amd64-debian-lean.qcow2 > raspiblitz-amd64-debian-lean.qcow2.sha256
- name: Compress image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu
gzip -v9 raspiblitz-amd64-debian-lean.qcow2
- name: Compute checksum of the compressed image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu
sha256sum raspiblitz-amd64-debian-lean.qcow2.gz > raspiblitz-amd64-debian-lean.qcow2.gz.sha256
- name: Upload the image and checksums
uses: actions/upload-artifact@v4
with:
name: raspiblitz-amd64-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}
path: |
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.sha256
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.gz
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.gz.sha256

View File

@ -0,0 +1,83 @@
name: amd64-lean-legacyboot-image-build
concurrency:
group: amd64-lean-legacyboot-image-build-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches: ['dev', 'v1.10']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/amd64/**'
pull_request:
branches: ['dev', 'v1.10']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/amd64/**'
jobs:
amd64-image-build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set values
id: set_values
run: |
echo "BUILD_DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV
echo "BUILD_VERSION=$(git describe --always --tags)" >> $GITHUB_ENV
if [ -z "$GITHUB_HEAD_REF" ]; then
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
else
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
if [[ "${{github.event_name}}" == "pull_request" ]]; then
echo "GITHUB_USER=${{github.event.pull_request.head.repo.owner.login}}" >> $GITHUB_OUTPUT
else
echo "GITHUB_USER=$(echo ${{github.repository}} | cut -d'/' -f1)" >> $GITHUB_OUTPUT
fi
- name: Display the build name
run: echo "Building the raspiblitz-amd64-debian-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}"
- name: Run the build script
run: |
echo "Using the variables: --pack lean --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --preseed_file preseed.cfg --boot bios --desktop none"
cd ci/amd64
bash packer.build.amd64-debian.sh --pack lean --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --preseed_file preseed.cfg --boot bios --desktop none
- name: Compute checksum of the raw image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu
sha256sum raspiblitz-amd64-debian-lean.qcow2 > raspiblitz-amd64-debian-lean.qcow2.sha256
- name: Compress image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu
gzip -v9 raspiblitz-amd64-debian-lean.qcow2
- name: Compute checksum of the compressed image
run: |
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu
sha256sum raspiblitz-amd64-debian-lean.qcow2.gz > raspiblitz-amd64-debian-lean.qcow2.gz.sha256
- name: Upload the image and checksums
uses: actions/upload-artifact@v4
with:
name: raspiblitz-amd64-image-${{env.BUILD_DATE}}-${{env.BUILD_VERSION}}
path: |
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.sha256
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.gz
${{github.workspace}}/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.gz.sha256

View File

@ -0,0 +1,93 @@
name: arm64-rpi-base-image-build
concurrency:
group: arm64-rpi-base-image-build-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches: ['dev', 'v1.10', 'v1.11']
paths:
- 'build_sdcard.sh'
- 'home.admin/config.scripts/bitcoin.install.sh'
- 'home.admin/config.scripts/tor.install.sh'
- 'home.admin/config.scripts/blitz.i2pd.sh'
- 'home.admin/config.scripts/blitz.web.sh'
- 'home.admin/config.scripts/blitz.display.sh'
- 'ci/arm64-rpi/**'
- 'home.admin/config.scripts/bonus.btc-rpc-explorer.sh'
- 'home.admin/config.scripts/bonus.btcpayserver.sh'
- 'home.admin/config.scripts/bonus.jam.sh'
- 'home.admin/config.scripts/bonus.joinmarket.sh'
- 'home.admin/config.scripts/bonus.lnbits.sh'
- 'home.admin/config.scripts/bonus.mempool.sh'
- 'home.admin/config.scripts/bonus.nodejs.sh'
- 'home.admin/config.scripts/bonus.rtl.sh'
- 'home.admin/config.scripts/bonus.thunderhub.sh'
- 'home.admin/config.scripts/blitz.web.api.sh'
- 'home.admin/config.scripts/blitz.web.ui'
pull_request:
branches: ['dev', 'v1.10', 'v1.11']
paths:
- 'build_sdcard.sh'
- 'home.admin/config.scripts/bitcoin.install.sh'
- 'home.admin/config.scripts/tor.install.sh'
- 'home.admin/config.scripts/blitz.i2pd.sh'
- 'home.admin/config.scripts/blitz.web.sh'
- 'home.admin/config.scripts/blitz.display.sh'
- 'ci/arm64-rpi/**'
- 'home.admin/config.scripts/bonus.btc-rpc-explorer.sh'
- 'home.admin/config.scripts/bonus.btcpayserver.sh'
- 'home.admin/config.scripts/bonus.jam.sh'
- 'home.admin/config.scripts/bonus.joinmarket.sh'
- 'home.admin/config.scripts/bonus.lnbits.sh'
- 'home.admin/config.scripts/bonus.mempool.sh'
- 'home.admin/config.scripts/bonus.nodejs.sh'
- 'home.admin/config.scripts/bonus.rtl.sh'
- 'home.admin/config.scripts/bonus.thunderhub.sh'
- 'home.admin/config.scripts/blitz.web.api.sh'
- 'home.admin/config.scripts/blitz.web.ui'
jobs:
arm64-rpi-base-image-build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set values
id: set_values
run: |
echo "BUILD_VERSION=$(git describe --always --tags)" >> $GITHUB_ENV
if [ -z "$GITHUB_HEAD_REF" ]; then
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
else
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
if [[ "${{github.event_name}}" == "pull_request" ]]; then
echo "GITHUB_USER=${{github.event.pull_request.head.repo.owner.login}}" >> $GITHUB_OUTPUT
else
echo "GITHUB_USER=$(echo ${{github.repository}} | cut -d'/' -f1)" >> $GITHUB_OUTPUT
fi
- name: Display the build name
run: echo "Building the raspiblitz-arm64-rpi-base-image"
- name: Run the build script
run: |
echo "Using the variables: --pack base --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --image_size 18G"
cd ci/arm64-rpi
bash packer.build.arm64-rpi.sh --pack base --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}} --image_size 18G
- name: Calculate the checksum of the raw image
run: |
cd ci/arm64-rpi
sha256sum raspiblitz-arm64-rpi-base.img > raspiblitz-arm64-rpi-base.img.sha256
- name: Upload the base image and checksum
uses: actions/upload-artifact@v4
with:
name: raspiblitz-arm64-rpi-base-image-${{ env.BUILD_VERSION }}
path: |
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-base.img.sha256
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-base.img

View File

@ -0,0 +1,83 @@
name: arm64-rpi-lean-image-build
concurrency:
group: arm64-rpi-lean-image-build-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches: ['dev', 'v1.10']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/arm64-rpi/**'
pull_request:
branches: ['dev', 'v1.10']
paths:
- 'build_sdcard.sh'
- 'home.admin/bitcoin.install.sh'
- 'home.admin/tor.install.sh'
- 'home.admin/blitz.i2pd.sh'
- 'home.admin/blitz.web.sh'
- 'home.admin/blitz.display.sh'
- 'ci/arm64-rpi/**'
jobs:
arm64-rpi-image-build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set values
id: set_values
run: |
echo "BUILD_DATE=$(date +"%Y-%m-%d")" >> $GITHUB_ENV
echo "BUILD_VERSION=$(git describe --always --tags)" >> $GITHUB_ENV
if [ -z "$GITHUB_HEAD_REF" ]; then
echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV
else
echo "BRANCH_NAME=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
fi
if [[ "${{github.event_name}}" == "pull_request" ]]; then
echo "GITHUB_USER=${{github.event.pull_request.head.repo.owner.login}}" >> $GITHUB_OUTPUT
else
echo "GITHUB_USER=$(echo ${{github.repository}} | cut -d'/' -f1)" >> $GITHUB_OUTPUT
fi
- name: Display the build name
run: echo "Building the raspiblitz-arm64-rpi-lean-image-${{ env.BUILD_DATE }}-${{ env.BUILD_VERSION }}"
- name: Run the build script
run: |
echo "Using the variables: --pack lean --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}}"
cd ci/arm64-rpi
bash packer.build.arm64-rpi.sh --pack lean --github_user ${{steps.set_values.outputs.GITHUB_USER}} --branch ${{env.BRANCH_NAME}}
- name: Compute checksum of the raw image
run: |
cd ci/arm64-rpi
sha256sum raspiblitz-arm64-rpi-lean.img > raspiblitz-arm64-rpi-lean.img.sha256
- name: Compress image
run: |
cd ci/arm64-rpi
gzip -v9 raspiblitz-arm64-rpi-lean.img
- name: Compute checksum of the compressed image
run: |
cd ci/arm64-rpi
sha256sum raspiblitz-arm64-rpi-lean.img.gz > raspiblitz-arm64-rpi-lean.img.gz.sha256
- name: Upload the image and checksums
uses: actions/upload-artifact@v4
with:
name: raspiblitz-arm64-rpi-image-${{ env.BUILD_DATE }}-${{ env.BUILD_VERSION }}
path: |
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-lean.img.sha256
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-lean.img.gz
${{ github.workspace }}/ci/arm64-rpi/raspiblitz-arm64-rpi-lean.img.gz.sha256

20
.github/workflows/spelling.yml vendored Normal file
View File

@ -0,0 +1,20 @@
name: Spelling
on:
workflow_dispatch:
push:
branches: ['dev', 'v1.10', 'v1.11']
pull_request:
branches: ['dev', 'v1.10', 'v1.11']
jobs:
spelling:
name: Spell Check with Typos
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v4
- name: Spell Check Repo
uses: crate-ci/typos@master
with:
config: typos.toml

38
.github/workflows/test-bats.yml vendored Normal file
View File

@ -0,0 +1,38 @@
name: Test bats
concurrency:
group: test-bats-${{ github.head_ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches: ["dev"]
paths:
- "home.admin/config.scripts/bonus.postgresql.sh"
pull_request:
branches: ["dev"]
paths:
- "home.admin/config.scripts/bonus.postgresql.sh"
jobs:
run-bats-tests:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install bats
run: |
sudo apt update &>/dev/null
sudo apt install -y bats
- name: Run the bats tests with postgresql 15
run: |
cd test
sudo bats ./bonus.postgresql-15.bats
- name: Run the bats tests with postgresql 13
run: |
cd test
sudo bats ./bonus.postgresql-13.bats

8
.gitignore vendored
View File

@ -3,6 +3,10 @@ home.admin/.DS_Store
*.log
*.pyc
__pycache__
rpc_pb2.pyc
rpc_pb2_grpc.pyc
lightning_pb2.pyc
lightning_pb2_grpc.pyc
/.vagrant/
ci/amd64/builds
ci/arm64-rpi/raspiblitz-arm64-rpi*
ci/arm64-rpi/.packer*
ci/arm64-rpi/packer-builder-arm

2
.shellcheckrc Normal file
View File

@ -0,0 +1,2 @@
shell=bash
source=/dev/null

View File

@ -1,17 +1,222 @@
# CHANGES between Releases
## What's new in Version 1.11.1 of RaspiBlitz?
- New: Set Timezone SSHMENU > SYSTEM > TIME [details](https://github.com/raspiblitz/raspiblitz/issues/1712)
- New: Labelbase 2.2.1 [details](https://x.com/labelbase_space)
- New: Redesign WebUI Setup & Recovery
- Update: amd64 base image: debian-12.6.0-amd64-netinst.iso
- Update: LNbits 0.12.8 [details](https://github.com/lnbits/lnbits/releases/tag/0.12.8)
- Update: Specter Desktop 2.0.4 with reactivated UPDATE option [details](https://github.com/cryptoadvance/specter-desktop/releases/tag/v2.0.4)
- Update: BTCPayServer 1.13.0 [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.13.0)
- Update: acme.sh 3.0.7 (repair duckdns.org dyndns)
- Update: show progress of electrs building index on LCD
- Update: lndmanage 0.16.0 [details](https://github.com/bitromortac/lndmanage)
- Update: Lightning Terminal v0.12.5-alpha [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.12.5-alpha)
- Update: PyBlock 2.7.2 [details](https://github.com/curly60e/pyblock/blob/master/README.md)
- Update: Bitcoin Core 27.1 (as tested update) [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-27.1.md)
- Experimental: charge-lnd install script [details](https://github.com/raspiblitz/raspiblitz/discussions/3955)
- Experimental: config.scripts/lnd.signaddress.sh to easy sign messages on addresses on LND [details](https://github.com/raspiblitz/raspiblitz/issues/4540)
- Experimental: config.scripts/bonus.elements.sh install elements blockchain platform [details](https://github.com/ElementsProject/elements)
- Deprecated: Sphinx-Relay [details](https://github.com/raspiblitz/raspiblitz/issues/2558)
- Remove: AutoPilot & Keysend from SSH menus [details](https://github.com/raspiblitz/raspiblitz/issues/1953#issuecomment-1811553602)
- Remove: Tallycoin-Connect [see service shutdown](https://x.com/djbooth007/status/1784409117563720082)
- Remove: IP2Tor Shoplist [details](https://github.com/raspiblitz/raspiblitz/issues/4589)
- Remove: CopyStation Script [details](https://github.com/raspiblitz/raspiblitz/issues/4538)
## What's new in Version 1.11.0 of RaspiBlitz?
- New: RaspberryPi5 tested & enabling NVMe PCIe Hats
- New: BTCPay Server PostgreSQL database backup and restore options [details](https://github.com/raspiblitz/raspiblitz/pull/4409)
- New: Reset option for the self-signed TLS certificate [details](https://github.com/raspiblitz/raspiblitz/pull/4412)
- New on WebUI: Electrum Connect Screen
- Update: RaspberryOS arm64 base image 2024-03-15 (Debian 12 Bookworm) [details](https://downloads.raspberrypi.com/raspios_full_arm64/release_notes.txt)
- Update: amd64 base image: debian-12.5.0-amd64-netinst.iso
- Update: Bitcoin Core v26.0 [details](https://bitcoincore.org/en/releases/26.0/)
- Update: LND v0.17.3-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.17.3-beta)
- Update: Core Lightning v24.02.1 [details](https://github.com/ElementsProject/lightning/releases/tag/v24.02.1)
- Update: C-lightningREST v0.10.7 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.7)
- Update: Electrum Server in Rust (electrs) v0.10.4 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0104-mar-15-2024)
- Update: Fulcrum Electrum server v1.10.0 (CLI install script) [details](https://github.com/cculianu/Fulcrum/releases/tag/v1.10.0)
- Update: BTC-RPC-Explorer v3.4.0 [details](https://github.com/janoside/btc-rpc-explorer/blob/master/CHANGELOG.md#v340)
- Update: JoinMarket v0.9.11 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.11)
- Update: Jam (JoinMarket Web UI) v0.2.0 [details](https://github.com/joinmarket-webui/jam/releases/tag/v0.2.0)
- Update: JoininBox v0.8.3 [details](https://github.com/openoms/joininbox/releases/tag/v0.8.3)
- Update: RTL v0.14.1 [details](https://github.com/Ride-The-Lightning/RTL/releases/tag/v0.14.1)
- Update: Thunderhub v0.13.30 [details](https://github.com/apotdevin/thunderhub/releases/tag/v0.13.30)
- Update: CLBOSS 0.13+ (latest master 0673c50) [details](https://github.com/ZmnSCPxj/clboss/releases/tag/v0.13)
- Update: BTCPayServer v1.12.5 [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.12.5)
- Update: Channel Tools (chantools) v0.12.0 [details](https://github.com/lightninglabs/chantools/releases/tag/v0.12.0)
- Update: LNbits 0.11.3 [details](https://github.com/lnbits/lnbits/releases/tag/0.11.3)
- Update: Circuitbreaker v0.5.1 [details](https://github.com/lightningequipment/circuitbreaker/blob/master/README.md)
- Update: LNDg v1.8.0 [details](https://github.com/cryptosharks131/lndg/releases/tag/v1.8.0)
- Update: Balance of Satoshis v17.9.1 [details](https://www.npmjs.com/package/balanceofsatoshis/v/17.9.1)
- Experimental: LNDK (runs on top of LND to help forward onion messages (BOLT 12)) [details](https://github.com/lndk-org/lndk)
- Fix: PyBlock 2.2.3 [details](https://github.com/curly60e/pyblock/blob/master/README.md)
- Refactor: Wifi config with file on sd card
- Deactivated for Repair: lnproxy [details](https://github.com/raspiblitz/raspiblitz/issues/4122)
- Deprecated: Homer Dashboard (remove from SSH menus, config script will stay with possible future removal)
- Deprecated: Bitcoinminds (remove from SSH menus, config script will stay with possible future removal)
- Remove: ItchySats (unmaintained project / in consent with dev)
## What's new in Version 1.10.0 of RaspiBlitz?
- Update: RaspiOS base image from 2023-05-03
- Update: Bitcoin Core v25.0.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-25.0.md)
- Update: LND v0.16.4-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.16.4-beta)
- Update: Core Lightning v23.08.1 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.08.1)
- Update: Suez - Channel Visualization for LND & CLN [details](https://github.com/prusnak/suez)
- Update: Electrum Server in Rust (electrs) v0.10.0 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0100-jul-22-2023)
- Update: C-lightningREST v0.10.5 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.5)
- Update: RTL v0.14.0 [details](https://github.com/Ride-The-Lightning/RTL/releases/tag/v0.14.0)
- Update: Lightning Terminal v0.10.1-alpha [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.10.1-alpha)
- Update: Channel Tools (chantools) v0.11.3 [details](https://github.com/guggero/chantools/releases/tag/v0.11.3)
- Update: LNDg v1.7.0 [details](https://github.com/cryptosharks131/lndg)
- Update: Thunderhub v0.13.19 [details](https://github.com/apotdevin/thunderhub/releases/tag/v0.13.19)
- Update: LNbits 0.10.10 [details](https://github.com/lnbits/lnbits/releases/tag/0.10.10)
- Update: BTCPayServer 1.10.3 (postgres by default with sqlite migration) [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.10.3)
- Update: Specter Desktop 1.13.1 [details](https://github.com/cryptoadvance/specter-desktop/releases/tag/v1.13.1)
- Update: Kindle-Display 0.5.1 [details](https://github.com/dennisreimann/kindle-display/)
- Update: JoinMarket v0.9.10 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.10)
- Update: JoininBox v0.8.1 [details](https://github.com/openoms/joininbox/releases/tag/v0.8.1)
- Update: Balance of Satoshis 15.11.0 (bos) [details](https://github.com/alexbosworth/balanceofsatoshis/blob/master/CHANGELOG.md#15110)
- Fix: Homebanking Interface FinTS/HBCI (experimental) [details](https://github.com/rootzoll/raspiblitz/issues/1186)
- Remove: Spark Wallet and Sparko CLN plugin (not maintained anymore)
- Remove: Faraday, Loop, Pool single installs - used in the LiT package instead
- Remove: deactivate LNproxy in the menu and in provision
- Info: the users not intended to be logged in will not be available to change into (manage them from admin with sudo)
## What's new in Version 1.9.0 of RaspiBlitz?
- New: Automated disk image build for amd64 (VM, laptop, desktop, server) and arm64-rpi (Raspberry Pi) [details](https://github.com/rootzoll/raspiblitz/tree/dev/ci/README.md)
- New: Fatpack & Minimal sd card builds [details](SECURITY.md#minimal-sd-card-build)
- New: I2P support for Bitcoin Core (i2pacceptincoming=1) [details](https://github.com/rootzoll/raspiblitz/issues/2413)
- New: CLN Watchtower (The Eye of Satoshi) [details](https://github.com/talaia-labs/rust-teos/tree/master/watchtower-plugin)
- New: LNDg v1.6.0 [details](https://github.com/cryptosharks131/lndg)
- New: Support of X708 UPS HAT [details](https://github.com/rootzoll/raspiblitz/pull/3087)
- New: BOS Telegram Bot Support (see OPTIONS on LND Balance of Satoshis menu entry)
- New: LightningTipBot v0.5 [details](https://github.com/LightningTipBot/LightningTipBot)
- New: ↬lnproxy cli shortcut and server [details](https://github.com/lnproxy)
- New: Homebanking Interface FinTS/HBCI (experimental) [details](https://github.com/rootzoll/raspiblitz/issues/1186)
- New on WebUI: Jam (JoinMarket Web UI) v0.1.5 [details](https://github.com/joinmarket-webui/joinmarket-webui/releases/tag/v0.1.5)
- New on WebUI: Generate/Download Debug Report from Settings
- Update: Bitcoin Core v24.0.1 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-24.0.1.md)
- Update: LND v0.16.2-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.16.2-beta)
- Update: Core Lightning v23.02.2 [details](https://github.com/ElementsProject/lightning/releases/tag/v23.02.2)
- Update: C-lightningREST v0.10.2 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.10.2)
- Update: Electrum Server in Rust (electrs) v0.9.11 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#0911-jan-5-2023)
- Update: Lightning Terminal v0.8.6-alpha [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.8.6-alpha)
- Update: RTL v0.13.6 with update option [details](https://github.com/Ride-The-Lightning/RTL/releases/tag/v0.13.6)
- Update: Thunderhub v0.13.16 with balance sharing disabled [details](https://github.com/apotdevin/thunderhub/releases/tag/v0.13.16)
- Update: LNbits 0.10.6 [details](https://github.com/lnbits/lnbits/releases/tag/0.10.6)
- Update: BTCPayServer 1.9.3 (postgres by default with sqlite migration) [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.9.3)
- Update: ItchySats 0.7.0 [details](https://github.com/itchysats/itchysats/releases/tag/0.7.0)
- Update: Channel Tools (chantools) v0.10.5 [details](https://github.com/guggero/chantools/releases/tag/v0.10.5)
- Update: JoinMarket v0.9.9 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.9)
- Update: JoininBox v0.7.7 [details](https://github.com/openoms/joininbox/releases/tag/v0.7.7)
- Update: Balance of Satoshis 13.15.0 (bos) [details](https://github.com/alexbosworth/balanceofsatoshis/blob/master/CHANGELOG.md#13150)
- Update: lndmanage 0.15.0 [details](https://github.com/bitromortac/lndmanage)
- Update: Circuitbreaker with webUI [details](https://github.com/lightningequipment/circuitbreaker/blob/master/README.md)
- Update: Suez - Channel Visualization for LND & CL [details](https://github.com/prusnak/suez)
- Update: Tallycoin Connect v1.8.0 [details](https://github.com/djbooth007/tallycoin_connect/releases/tag/v1.8.0)
- Update: Fulcrum install script (CLI only) v1.9.1 [details](https://github.com/cculianu/Fulcrum/releases/tag/v1.9.1)
- Fixed: SCB/Emergency-Backup to USB drive (now also with CLN emergency.recover file)
- Info: Run RaspiBlitz on Proxmox [details](https://github.com/rootzoll/raspiblitz/tree/dev/alternative.platforms/Proxmox)
- Info: IP2Tor fix fulmo shop & added new ip2tor.com shop
- Info: 32GB sdcard is now enforced (after being recommended since v1.5)
- Info: 'Reindex Blockchain' is now part of 'repair' menu
## What's new in Version 1.8.0c of RaspiBlitz?
- Update: LND v0.15.4 (emergency hotfix release) [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.15.4-beta)
- Update: Electrum Server in Rust (electrs) v0.9.9 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#099-jul-12-2022)
## What's new in Version 1.8.0b of RaspiBlitz?
- Update: LND v0.15.2 (emergency hotfix release) [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.15.2-beta)
## What's new in Version 1.8.0 of RaspiBlitz?
- New: Multilanguage WebUI [details](https://github.com/cstenglein/raspiblitz-web)
- New: BackendAPI [details](https://github.com/fusion44/blitz_api)
- New: ZRAM - compressed swap in memory [details](https://github.com/rootzoll/raspiblitz/issues/2905)
- New: Core Lightning GRPC plugin [details](https://github.com/rootzoll/raspiblitz/pull/3109)
- New: Core Lightning connection to BTCPayServer (CONNECT menu) [details](https://github.com/rootzoll/raspiblitz/issues/3155)
- New: Alby (Connection Menu) [details](https://getalby.com/)
- New: Homer Dashboard 22.06.1 [details](https://github.com/bastienwirtz/homer#readme)
- New: ItchySats 0.5.0 [details](https://github.com/itchysats/itchysats/)
- New: ckbunker CLI install script (experimental) [details](https://github.com/rootzoll/raspiblitz/issues/1062)
- Update: Bitcoin Core v23.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-23.0.md)
- Update: Core Lightning (CLN - formerly C-lightning) v0.11.2 [details](https://github.com/ElementsProject/lightning/releases/tag/v0.11.2)
- Update: LND v0.15.0 [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.15.0-beta)
- Update: RTL v0.12.3 [details](https://github.com/Ride-The-Lightning/RTL/releases/tag/v0.12.3)
- Update: LNbits 0.9.1 [details](https://github.com/lnbits/lnbits-legend/releases/tag/0.9.1)
- Update: C-lightningREST v0.7.2 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.7.2)
- Update: CLBOSS 0.13A [details](https://github.com/ZmnSCPxj/clboss/releases/tag/0.13A)
- Update: Channel Tools (chantools) v0.10.4 [details](https://github.com/guggero/chantools/blob/master/README.md)
- Update: Lightning Terminal v0.9.2-alpha with Lightning Node Connect over Tor [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.9.2-alpha)
- Update: JoinMarket v0.9.6 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.6)
- Update: JoininBox v0.6.8 [details](https://github.com/openoms/joininbox/releases/tag/v0.6.8)
- Update: JoinMarket Web UI (Jam) v0.0.9 (CLI install script) [details](https://github.com/joinmarket-webui/joinmarket-webui/releases/tag/v0.0.9)
- Update: Electrum Server in Rust (electrs) v0.9.7 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#097-apr-30-2022)
- Update: Fulcrum Electrum server v1.7.0 (CLI install script) [issue](https://github.com/rootzoll/raspiblitz/issues/2924)
- Update: BTCPayServer 1.6.1 [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.6.1)
- Update: Mempool 2.4.0 [details](hhttps://github.com/mempool/mempool/releases/tag/v2.4.0)
- Update: Helipad (Podcasting 2.0 Boostagram reader) v0.1.10 [details](https://github.com/Podcastindex-org/helipad/releases/tag/v0.1.10)
- Update: Adapted Umbrel Migration for new 0.5.0 version with Core Lightning
- Info: Run RaspiBlitz on amd64 bare metal and virtual machines [details](https://github.com/rootzoll/raspiblitz/tree/dev/alternative.platforms)
## What's new in Version 1.7.2 of RaspiBlitz?
- Refactor: Cache & Backgroundscan of Systeminfo
- New: Compact the LND channel.db monthly on restart, on-demand from menu and before backups [issue](https://github.com/rootzoll/raspiblitz/issues/2752)
- New: Run C-lightning backup-compact regularly [issue](https://github.com/rootzoll/raspiblitz/issues/2869)
- New: Switch LNbits between lnd & c-lightning [issue](https://github.com/rootzoll/raspiblitz/issues/2556)
- New: Tallycoin Connect [details](https://github.com/djbooth007/tallycoin_connect#readme)
- New: Helipad (Podcasting 2.0 Boostagram reader) [details](https://github.com/Podcastindex-org/helipad)
- New: Migration from Citadel to RaspiBlitz [details](https://github.com/rootzoll/raspiblitz/issues/2642)
- New: Bitcoinminds.org local on RaspiBlitz [details](https://github.com/raulcano/bitcoinminds)
- New: JoinMarket Web UI v0.0.3 (CLI install of the first public alpha release) [details](https://github.com/joinmarket-webui/joinmarket-webui/releases/tag/v0.0.3)
- New: Fulcrum Electrum server v1.6.0 (CLI install script) [issue](https://github.com/rootzoll/raspiblitz/issues/2924)
- Update: LND v0.14.2-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.14.2-beta)
- Update: C-lightning v0.10.2 [details](https://github.com/ElementsProject/lightning/releases/tag/v0.10.2)
- Update: LNbits 0.7.0 [details](https://github.com/lnbits/lnbits-legend/releases/tag/0.7.0)
- Update: RTL v0.12.1 [details](https://github.com/Ride-The-Lightning/RTL/releases/tag/v0.12.1)
- Update: C-lightningREST v0.6.1 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.6.1)
- Update: CL Spark Wallet v0.3.1 [details](https://github.com/shesek/spark-wallet/releases/tag/v0.3.1)
- Update: CL Sparko plugin v0.2.8 [details](https://github.com/fiatjaf/sparko/releases/tag/v2.8)
- Update: Lightning Terminal v0.6.3-alpha with Lightning Node Connect over Tor [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.6.3-alpha)
- Update: Channel Tools (chantools) v0.10.1 [details](https://github.com/guggero/chantools/releases/tag/v0.10.1)
- Update: BTCPayServer v1.4.4 with UPDATE option [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.4.4)
- Update: Electrum Server in Rust (electrs) v0.9.5 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#095-feb-4-2022)
- Update: JoinMarket v0.9.5 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.9.5)
- Update: JoininBox v0.6.7 [details](https://github.com/openoms/joininbox/releases/tag/v0.6.7)
- Update: Thunderhub v0.13.6 [details](https://github.com/apotdevin/thunderhub/releases/tag/v0.13.6)
- Update: BTC-RPC-Explorer v3.3.0 [details](https://github.com/janoside/btc-rpc-explorer/blob/master/CHANGELOG.md#v330)
- Update: Specter Desktop 1.8.1 [details](https://github.com/cryptoadvance/specter-desktop/releases/tag/v1.8.1)
- Update: Mempool 2.3.1 [details](https://github.com/mempool/mempool/releases/tag/v2.3.1)
- Update: PyBlock to 1.1.8.5 (adapt to new install mechanism)
- Update: Balance of Satoshis 11.50.0 (BOS) [details](https://github.com/alexbosworth/balanceofsatoshis/blob/master/CHANGELOG.md#11500)
- Update: Re-Add connecting node with Zap mobile wallet iOS & Android
- Update: additional redaction of private data in debug logs
- Security: Verify git commits and tags everywhere possible [issue](https://github.com/rootzoll/raspiblitz/issues/2686)
- Fixed: LND repair options, SEED+SCB and rescue-file restore, RESET options [issue](https://github.com/rootzoll/raspiblitz/issues/2832)
- Info: All existing IP2Tor subscriptions need to be canceled & renewed to be functional again.
- Info: 32GB sd card is now required (was already long time recommended on shopping list)
- Info: The touchscreen graphical mode is back to experimental for now and missing some UI fixes. This might take until v1.8.1 where the touchscreen will get a refactor/rewrite.
## What's new in Version 1.7.1 of RaspiBlitz?
There was a small patch-update with raspiblitz-v1.7.1-2021-10-28.img.gz to fix a restart-loop after blockchain was self-synced.
- New: C-lightning v0.10.1 [details](https://github.com/ElementsProject/lightning/releases/tag/v0.10.1)
- New: C-lightningREST v0.5.1 [details](https://github.com/Ride-The-Lightning/c-lightning-REST/releases/tag/v0.5.1)
- New: CL Spark Wallet v0.3.0rc with BOLT12 offers [details](https://github.com/shesek/spark-wallet/releases)
- New: CL plugin: Sparko [details](https://github.com/fiatjaf/sparko)
- New: CL plugin: CLBOSS The C-Lightning Node Manager [details](https://github.com/ZmnSCPxj/clboss#clboss-the-c-lightning-node-manager)
- New: CL plugin: CLBOSS The Core Lightning Node Manager [details](https://github.com/ZmnSCPxj/clboss#clboss-the-c-lightning-node-manager)
- New: Refactored Setup-Process [details](https://github.com/rootzoll/raspiblitz/issues/1126#issuecomment-829757665)
- New: Suez - channel visualization for LND and CL [info](https://github.com/rootzoll/raspiblitz/issues/2366#issuecomment-939521302)[details](https://github.com/prusnak/suez)
- New: LND Static Channel Backup to Nextcloud
- New: Allow SphinxApp to connect over Tor
- New: Parallel TESTNET & SIGNET services
- New: Parallel TESTNET & SIGNET services
- Update: Bitcoin Core v22.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-22.0.md)
- Update: LND v0.13.3 [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.13.3-beta)
- Update: Specter Desktop 1.6.0 [details](https://github.com/cryptoadvance/specter-desktop/blob/master/README.md)
@ -89,7 +294,7 @@
- Update: BTCPay Server 1.0.5.9 [details](https://github.com/btcpayserver/btcpayserver/releases/tag/v1.0.5.9)
- Update: Loop 0.11.1
- Update: stacking-sats-kraken 0.3.0
- Update: Experimental BTRFS support
- Update: Experimental BTRFS support
- Fix: DropBox API
## What's new in Version 1.6.1 of RaspiBlitz?
@ -110,7 +315,7 @@
- New: Circuit Breaker (config-script) [details](https://github.com/rootzoll/raspiblitz/issues/1581)
- New: PyBlock (Python Util & Fun Scripts) [details](https://github.com/curly60e/pyblock/blob/master/README.md)
- New: Mempool Explorer [details](https://github.com/mempool/mempool)
- New: dynu.com as alternative option for LetsEncrpyt FreeDNS provider
- New: dynu.com as alternative option for LetsEncrypt FreeDNS provider
- New: Experimental running RaspiBlitz as VM (vagrant & docker)
For ALL small bug fixes & improvements see: https://github.com/rootzoll/raspiblitz/milestone/11
@ -128,7 +333,7 @@ For ALL small bug fixes & improvements see: https://github.com/rootzoll/raspibli
- Update: ElectRS 0.8.5 [details](https://github.com/romanz/electrs/blob/master/RELEASE-NOTES.md#085-1-july-2020)
- Update: JoinMarket v0.6.3.1 [details](https://github.com/JoinMarket-Org/joinmarket-clientserver/releases/tag/v0.6.3.1)
- New: Nginx Web Server
- New: Subscriptions Management
- New: Subscriptions Management
- New: IP2Tor Bridge (optional subscription service)
- New: Balance of Satoshis v5.41.0 (with update option) [details](https://github.com/alexbosworth/balanceofsatoshis)
- New: Faraday [details](https://github.com/lightninglabs/faraday)
@ -142,12 +347,12 @@ For ALL small bug fixes & improvements see: https://github.com/rootzoll/raspibli
- Fix: DropBox StaticChannelBackup
- Removed: Shango from the list of Mobile Wallets
- Removed: Torrent Download of Blockchain (Copy over LAN now default for RP3)
- Shoppinglist: 4GB RaspberryPi 4 is now default for Standard Package (will still run with less)
- Shoppinglist: 4GB RaspberryPi 4 is now default for Standard Package (will still run with less)
## What's new in Version 1.5.1 of RaspiBlitz?
- Bugfix: DropBox Backup of Static-Channel-Backup
- Bugfix: Torrentfiles with active tracker
- Bugfix: Torrentfiles with active tracker
## What.s new in Version 1.5 of RaspiBlitz?
@ -173,7 +378,7 @@ Beside many small improvements and changes, these are most important changes:
- New: Make it easier to Copy The Blockchain over Network from running Blitz
- New: Forwarding Fee Report on Main Menu
- New: Easy Setup of Auto-Backup of SCB to Dropbox
- New: LND Interims Updates (verified & reckless) [details](https://github.com/rootzoll/raspiblitz/issues/1116#issuecomment-619467148)
- New: LND Interims Updates (verified & reckless) [details](https://github.com/rootzoll/raspiblitz/issues/1116#issuecomment-619467148)
- New: Sync RaspiBlitz with your forked GitHub repo thru menu [details](FAQ.md#how-can-i-sync-a-branch-of-my-forked-github-with-my-local-raspiblitz)
- Removed: Clone Blockchain from second HDD (use CopyStation script)
@ -280,4 +485,3 @@ Version 1.1 packs some first fixes and enhancements to make the RaspiBlitz more
- Removed: FTP download option for blockchain
For full details see issue list of [Release 1.1 Milestone](https://github.com/rootzoll/raspiblitz/milestone/3?closed=1).

6
CODEOWNERS Normal file
View File

@ -0,0 +1,6 @@
# For info see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# These owners will be the default owners for everything in the repo.
# Unless a later match takes precedence, these users will be requested for review when someone opens a pull request.
* @rootzoll @openoms

View File

@ -1,35 +1,42 @@
# Community development
Everybody is welcome to join, improve, and extend the RaspiBlitz - it's a work in progress. Check the issues if you wanna help out or add new ideas. You can find the scripts used for RaspiBlitz interactions on the device at /home/admin or in this Git repo's subfolder home.admin.
## Understanding Blitz project
RaspiBlitz is insipired by the [RaspiBolt guide](https://stadicus.github.io/RaspiBolt/). Tutorial on how to build a lightning node on the RaspberryPi. So much thx to Stadicus :)
RaspiBlitz is inspired by the [RaspiBolt guide](https://raspibolt.github.io/raspibolt/). Tutorial on how to build a lightning node on the RaspberryPi. So much thx to Stadicus :)
To start your Deep Dive into the RaspiBlitz project, watch [this video](https://www.youtube.com/watch?v=QXUGg45CWLo).
### Blitz philosophy
* DIY community development, if you are unhappy with the code, fork and pull request, this will make you you DYOR instead of depending on the developers.
* DIY community development, if you are unhappy with the code, fork and pull request, this will make you DYOR instead of depending on the developers.
* If you ask when the next release will be available, we don't know, but if you contribute, it might be faster.
* Be sure to contribute back, every little help is wanted.
## Getting started
Get all details on "How to contribute to RaspiBlitz Development" on [this video](https://www.youtube.com/watch?v=ZVtZepV3OfM).
### Levels
All levels are important. Even advanced users help on basic levels for other Blitzers. Every help is welcome.
Not all enhancements needs to go through all levels, these are levels of difficulty, scalability depends on your skills.
#### Basic
1. **Reporting user side** --> Open an issue to indicate a problem or make a feature request.
1. **Community support** --> Solve other people issues.
1. **Good first issue** --> The purpose of the good first issue label is to highlight which issues are suitable for a new contributor without a deep understanding of the codebase.
#### Medium
1. **Sovereignty** --> Fork the repo to have the changes controlled by you.
1. **Experiment** --> Try things out on your RaspiBlitz.
1. **Executable** --> Turn your experiment into a basic shell script.
#### Advanced
1. **Config script** --> Integrate your executable into the RaspiBlitz enviroment.
1. **Config script** --> Integrate your executable into the RaspiBlitz environment.
1. **SSH-GUI** --> Make it easier for others to use your config script.
1. **WEB-GUI** --> Turn your feature into customer ready
@ -49,7 +56,7 @@ and is also an effective way to request assistance if and when you need it.
1. Make sure it is compatible with Blitz philosophy.
1. Fork the repo
1. Commit changes on the new branch
1. Open a pull request (PR are made to the `dev` branch unless indicated otherwise by a collaborator.
1. Open a pull request (PRs are made to the `dev` branch unless indicated otherwise by a collaborator.
#### Review
@ -70,7 +77,7 @@ NACKs without accompanying reasoning may be disregarded.
After conceptual agreement on the change, code review can be provided. A review begins with the urgent necessity of the changes.
Start from urgent to less important:
1. Security risk.
1. Code that breaks the enviroment.
1. Code that breaks the environment.
1. Enhancing current services functionality.
1. Solving a common issue.
1. Adding new applications.
@ -82,5 +89,5 @@ Reviewers that have demonstrated a deeper commitment and understanding of the pr
The project leader is the release manager for each RaspiBlitz release.
## Copyright
By contributing to this repository, you agree to license your work under the [MIT license](https://github.com/rootzoll/raspiblitz/blob/master/LICENSE).
By contributing to this repository, you agree to license your work under the [MIT license](https://github.com/raspiblitz/raspiblitz/blob/master/LICENSE).
Any work contributed where you are not the original author must contain its license header with the original author(s) and source.

757
FAQ.cl.md
View File

@ -1,757 +0,0 @@
<!-- omit in toc -->
# C-lightning on the RaspiBlitz FAQ
- [Common questions about the different Lightning Network implementations](#common-questions-about-the-different-lightning-network-implementations)
- [Can LND and C-lightning nodes open channels to each other and route payments?](#can-lnd-and-c-lightning-nodes-open-channels-to-each-other-and-route-payments)
- [Can I run LND and C-lightning connected to the same node?](#can-i-run-lnd-and-c-lightning-connected-to-the-same-node)
- [Can I convert an LND node to C-lightning (or the opposite)?](#can-i-convert-an-lnd-node-to-c-lightning-or-the-opposite)
- [Is there a table to quickly compare LND and C-Lightning?](#is-there-a-table-to-quickly-compare-lnd-and-c-lightning)
- [C-lightning official documentation](#c-lightning-official-documentation)
- [Commands and aliases](#commands-and-aliases)
- [Directories](#directories)
- [Config file](#config-file)
- [Default values](#default-values)
- [All possible config settings](#all-possible-config-settings)
- [Plug-ins](#plug-ins)
- [General info](#general-info)
- [Directories](#directories-1)
- [Implemented plugins](#implemented-plugins)
- [Add a custom plugin](#add-a-custom-plugin)
- [CLBOSS](#clboss)
- [Feeadjuster](#feeadjuster)
- [Dual funded channels](#dual-funded-channels)
- [Reading](#reading)
- [Setting up](#setting-up)
- [Open a dual funded channel](#open-a-dual-funded-channel)
- [Fundchannel syntax](#fundchannel-syntax)
- [Offers](#offers)
- [About the feature bits](#about-the-feature-bits)
- [Testnets](#testnets)
- [Backups](#backups)
- [Seed](#seed)
- [How to display the hsm_secret in a human-readable format?](#how-to-display-the-hsm_secret-in-a-human-readable-format)
- [Channel database](#channel-database)
- [Recovery](#recovery)
- [Recover from a cl-rescue file](#recover-from-a-cl-rescue-file)
- [Recover from a seed](#recover-from-a-seed)
- [Rescan the chain after restoring a used c-lightning wallet](#rescan-the-chain-after-restoring-a-used-c-lightning-wallet)
- [Script file help list](#script-file-help-list)
---
## Common questions about the different Lightning Network implementations
### Can LND and C-lightning nodes open channels to each other and route payments?
* Yes, all [BOLT specification](https://github.com/lightningnetwork/lightning-rfc) compliant implementations can open channels to each other and route payments.
### Can I run LND and C-lightning connected to the same node?
* Yes, both can run parallel on a RaspiBlitz and even have channels witch each other.
### Can I convert an LND node to C-lightning (or the opposite)?
* No, currently there are no tools available to convert between the databases storing the channel states.
The channels would need to be closed to use the same funds in an other node.
### Is there a table to quickly compare LND and C-Lightning?
* see [github.com/openoms/lightning-node-management/blob/master/node-types/comparison.md](https://github.com/openoms/lightning-node-management/blob/master/node-types/comparison.md)
---
## C-lightning official documentation
* https://lightning.readthedocs.io/
## Commands and aliases
* Check if the C-lightning daemon is running:
```
sudo systemctl status lightningd
```
* Follow it's system output for debugging:
```
sudo journalctl -fu lightningd
```
* The logs can be accessed in the menu `SYSTEM` - `CLLOG`
or with the alias: `cllog`
* The frequently used commands are shortened with alisases. Check them with the command `alias`:
```
alias cl='sudo -u bitcoin /usr/local/bin/lightning-cli --conf=/home/bitcoin/.lightning/config'
alias clconf='sudo nano /home/bitcoin/.lightning/config'
alias cllog='sudo tail -n 30 -f /home/bitcoin/.lightning/bitcoin/cl.log'
```
## Directories
* All data is stored on the disk in:
`/mnt/hdd/app-data/.lightningd`
* and symlinked to:
`/home/bitcoin/.lightningd`
## Config file
* Edit in the menu `SYSTEM` - `CLNCONF` or use the alias `clconf`
### Default values
* on the RaspiBlitz for mainnet
```
network=bitcoin
announce-addr=127.0.0.1:9736
log-file=cl.log
log-level=info
plugin-dir=/home/bitcoin/cln-plugins-enabled
# Tor settings
proxy=127.0.0.1:9050
bind-addr=127.0.0.1:9736
addr=statictor:127.0.0.1:9051/torport=9736
always-use-proxy=true
```
### All possible config settings
* can be shown by running:
`lightningd --help`
* Place the settings in the config file without the `--` and restart lightningd
```
Usage: lightningd
A bitcoin lightning daemon (default values shown for network: bitcoin).
--conf=<file> Specify configuration file
--lightning-dir=<dir> Set base directory: network-specific subdirectory is
under here (default: "/home/admin/.lightning")
--network <arg> Select the network parameters (bitcoin, testnet,
signet, regtest, litecoin or litecoin-testnet)
(default: bitcoin)
--mainnet Alias for --network=bitcoin
--testnet Alias for --network=testnet
--signet Alias for --network=signet
--allow-deprecated-apis <arg> Enable deprecated options, JSONRPC commands, fields,
etc. (default: true)
--rpc-file <arg> Set JSON-RPC socket (or /dev/tty)
(default: "lightning-rpc")
--plugin <arg> Add a plugin to be run (can be used multiple times)
--plugin-dir <arg> Add a directory to load plugins from (can be used
multiple times)
--clear-plugins Remove all plugins added before this option
--disable-plugin <arg> Disable a particular plugin by filename/name
--important-plugin <arg> Add an important plugin to be run (can be used multiple
times). Die if the plugin dies.
--always-use-proxy <arg> Use the proxy always (default: false)
--daemon Run in the background, suppress stdout/stderr
--wallet <arg> Location of the wallet database.
--large-channels|--wumbo Allow channels larger than 0.16777215 BTC
--experimental-dual-fund experimental: Advertise dual-funding and allow peers to
establish channels via v2 channel open protocol.
--experimental-onion-messages EXPERIMENTAL: enable send, receive and relay of onion
messages
--experimental-offers EXPERIMENTAL: enable send and receive of offers (also
sets experimental-onion-messages)
--experimental-shutdown-wrong-funding EXPERIMENTAL: allow shutdown with alternate txids
--help|-h Print this message.
--rgb <arg> RRGGBB hex color for node
--alias <arg> Up to 32-byte alias for node
--pid-file=<file> Specify pid file
(default: "/home/admin/.lightning/lightningd-bitcoin.pid")
--ignore-fee-limits <arg> (DANGEROUS) allow peer to set any feerate
(default: false)
--watchtime-blocks <arg> Blocks before peer can unilaterally spend funds
(default: 144)
--max-locktime-blocks <arg> Maximum blocks funds may be locked for (default: 2016)
--funding-confirms <arg> Confirmations required for funding transaction
(default: 3)
--cltv-delta <arg> Number of blocks for cltv_expiry_delta (default: 34)
--cltv-final <arg> Number of blocks for final cltv_expiry (default: 18)
--commit-time=<millseconds> Time after changes before sending out COMMIT
(default: 10)
--fee-base <arg> Millisatoshi minimum to charge for HTLC (default: 1000)
--rescan <arg> Number of blocks to rescan from the current head, or
absolute blockheight if negative (default: 15)
--fee-per-satoshi <arg> Microsatoshi fee for every satoshi in HTLC
(default: 10)
--max-concurrent-htlcs <arg> Number of HTLCs one channel can handle concurrently.
Should be between 1 and 483 (default: 30)
--min-capacity-sat <arg> Minimum capacity in satoshis for accepting channels
(default: 10000)
--addr <arg> Set an IP address (v4 or v6) to listen on and announce
to the network for incoming connections
--bind-addr <arg> Set an IP address (v4 or v6) to listen on, but not
announce
--announce-addr <arg> Set an IP address (v4 or v6) or .onion v3 to announce,
but not listen on
--offline Start in offline-mode (do not automatically reconnect
and do not accept incoming connections)
--autolisten <arg> If true, listen on default port and announce if it
seems to be a public interface (default: true)
--proxy <arg> Set a socks v5 proxy IP address and port
--tor-service-password <arg> Set a Tor hidden service password
--experimental-accept-extra-tlv-types <arg> Comma separated list of extra TLV types to accept.
--disable-dns Disable DNS lookups of peers
--encrypted-hsm Set the password to encrypt hsm_secret with. If no
password is passed through command line, you will be
prompted to enter it.
--rpc-file-mode <arg> Set the file mode (permissions) for the JSON-RPC socket
(default: "0600")
--force-feerates <arg> Set testnet/regtest feerates in sats perkw,
opening/mutual_close/unlateral_close/delayed_to_us/htlc_resolution/penalty:
if fewer specified, last number applies to remainder
--subdaemon <arg> Arg specified as SUBDAEMON:PATH. Specifies an alternate
subdaemon binary. If the supplied path is relative the
subdaemon binary is found in the working directory.
This option may be specified multiple times. For
example, --subdaemon=hsmd:remote_signer would use a
hypothetical remote signing subdaemon.
--log-level <arg> log level (io, debug, info, unusual, broken) [:prefix]
(default: info)
--log-timestamps <arg> prefix log messages with timestamp (default: true)
--log-prefix <arg> log prefix (default: lightningd)
--log-file=<file> log to file instead of stdout
--version|-V Print version and exit
--autocleaninvoice-cycle <arg> Perform cleanup of expired invoices every given
seconds, or do not autoclean if 0
--autocleaninvoice-expired-by <arg> If expired invoice autoclean enabled, invoices that
have expired for at least this given seconds are
cleaned
--fetchinvoice-noconnect Don't try to connect directly to fetch an invoice.
--bitcoin-datadir <arg> -datadir arg for bitcoin-cli
--bitcoin-cli <arg> bitcoin-cli pathname
--bitcoin-rpcuser <arg> bitcoind RPC username
--bitcoin-rpcpassword <arg> bitcoind RPC password
--bitcoin-rpcconnect <arg> bitcoind RPC host to connect to
--bitcoin-rpcport <arg> bitcoind RPC host's port
--bitcoin-retry-timeout <arg> how long to keep retrying to contact bitcoind before
fatally exiting
--commit-fee <arg> Percentage of fee to request for their commitment
--funder-policy <arg> Policy to use for dual-funding requests. [match,
available, fixed]
--funder-policy-mod <arg> Percent to apply policy at (match/available); or amount
to fund (fixed)
--funder-min-their-funding <arg> Minimum funding peer must open with to activate our
policy
--funder-max-their-funding <arg> Maximum funding peer may open with to activate our
policy
--funder-per-channel-min <arg> Minimum funding we'll add to a channel. If we can't
meet this, we don't fund
--funder-per-channel-max <arg> Maximum funding we'll add to a channel. We cap all
contributions to this
--funder-reserve-tank <arg> Amount of funds we'll always leave available.
--funder-fuzz-percent <arg> Percent to fuzz the policy contribution by. Defaults to
5%. Max is 100%
--funder-fund-probability <arg> Percent of requests to consider. Defaults to 100%.
Setting to 0% will disable dual-funding
--funder-lease-requests-only <arg> Only fund lease requests. Defaults to true if channel
lease rates are being advertised
--lease-fee-base-msat <arg> Channel lease rates, base fee for leased funds, in
satoshi.
--lease-fee-basis <arg> Channel lease rates, basis charged for leased funds
(per 10,000 satoshi.)
--lease-funding-weight <arg> Channel lease rates, weight we'll ask opening peer to
pay for in funding transaction
--channel-fee-max-base-msat <arg> Channel lease rates, maximum channel fee base we'll
charge for funds routed through a leased channel.
--channel-fee-max-proportional-thousandths <arg> Channel lease rates, maximum proportional fee (in
thousandths, or ppt) we'll charge for funds routed
through a leased channel. Note: 1ppt = 1,000ppm
--disable-mpp Disable multi-part payments.
```
## Plug-ins
### General info
* https://lightning.readthedocs.io/PLUGINS.html#a-day-in-the-life-of-a-plugin
* https://github.com/lightningd/plugins/
### Directories
* The plugins are installed to:
`/home/bitcoin/cl-plugins-available`
* and symlinked to:
`/home/bitcoin/cl-plugins-enabled`
* All plugins in the `/home/bitcoin/cl-plugins-enabled` directory are loaded automatically as set in the config file: `/home/bitcoin/.lightningd/config`
### Implemented plugins
* summary
* sparko
* clboss
### Add a custom plugin
* Place the plugin in the `/home/bitcoin/cl-plugins-enabled` directory
* Make sure it is owned by the `bitcoin` user and is executable:
```
sudo chown bitcoin:bitcoin /home/bitcoin/cl-plugins-enabled/PLUGIN_NAME
sudo chmod +x /home/bitcoin/cl-plugins-enabled/PLUGIN_NAME
```
* start with
```
lightnign-cli plugin start /home/bitcoin/cl-plugins-enabled/PLUGIN_NAME
```
* or to load it automatically on restart:
```
sudo systemctl restart lightningd
```
From the directory `/home/bitcoin/cl-plugins-enabled` it will load auomatically after restarts.
* To just load it run it once store in (and start from):
`/home/bitcoin/cl-plugins-available/`
### CLBOSS
A plugin for automatic LN node management.
CLBOSS only requires to have funds deposited to the onchain wallet of C-lightning.
The recommended amount to start is ~ 10 million satoshis (0.1 BTC).
It does automatically:
* generate outbound capacity - opens channels
* generate inbound capacity - submarine swaps through the boltz.exchange API
* aware of onchain fees and mempool through c-lightning and makes transactions when fees are low
* manages rebalancing - performs probing
* closes bad channels (inactive or low traffic) - this function needs to activated manually
Overall it is a tool which makes users able to send and receive lightning payments with minimal interaction, basically setting up a routing node by itself.
The transactions made by CLBOSS does cost money and running it requires a fair amount of trust in the (fully open-source - MIT) code.
Neither the CLBOSS nor the RaspiBlitz developers can take resposibility for lost sats, use at your own discretion!
* Activate it in the menu - `SETTINGS` - `-CL CLBOSS`
* Discussion: https://github.com/rootzoll/raspiblitz/issues/2490
* Advanced usage
https://github.com/ZmnSCPxj/clboss#clboss-status
* Stopping CLBOSS will leave the node in the last state. No channels will be closed or funds removed when CLBOSS is uninstalled.
### Feeadjuster
* Install:
* to set the default fees in the config add:
```
fee-base=BASEFEE_IN_MILLISATS
fee-per-satoshi=PPM_FEE_IN_SATS
```
* more options for the feeadjuster to be set in the c-lightning config can be seen in the [code](https://github.com/lightningd/plugins/blob/c16c564c2c5549b8f7236815490260c49e9e9bf4/feeadjuster/feeadjuster.py#L318):
```
plugin.add_option(
"feeadjuster-deactivate-fuzz",
False,
"Deactivate update threshold randomization and hysterisis.",
"flag"
)
plugin.add_option(
"feeadjuster-deactivate-fee-update",
False,
"Deactivate automatic fee updates for forward events.",
"flag"
)
plugin.add_option(
"feeadjuster-threshold",
"0.05",
"Relative channel balance delta at which to trigger an update. Default 0.05 means 5%. "
"Note: it's also fuzzed by 1.5%",
"string"
)
plugin.add_option(
"feeadjuster-threshold-abs",
"0.001btc",
"Absolute channel balance delta at which to always trigger an update. "
"Note: it's also fuzzed by 1.5%",
"string"
)
plugin.add_option(
"feeadjuster-enough-liquidity",
"0msat",
"Beyond this liquidity do not adjust fees. "
"This also modifies the fee curve to achieve having this amount of liquidity. "
"Default: '0msat' (turned off).",
"string"
)
plugin.add_option(
"feeadjuster-adjustment-method",
"default",
"Adjustment method to calculate channel fee"
"Can be 'default', 'soft' for less difference or 'hard' for higher difference"
"string"
)
plugin.add_option(
"feeadjuster-imbalance",
"0.5",
"Ratio at which channel imbalance the feeadjuster should start acting. "
"Default: 0.5 (always). Set higher or lower values to limit feeadjuster's "
"activity to more imbalanced channels. "
"E.g. 0.3 for '70/30'% or 0.6 for '40/60'%.",
"string"
)
plugin.add_option(
"feeadjuster-feestrategy",
"global",
"Sets the per channel fee selection strategy. "
"Can be 'global' to use global config or default values, "
"or 'median' to use the median fees from peers of peer "
"Default: 'global'.",
"string"
```
* start the feeadjuster
```
cl plugin start /home/bitcoin/cl-plugins-available/plugins/feeadjuster/feeadjuster.py
```
* stop (best to run only periodically)
```
cl plugin stop /home/bitcoin/cl-plugins-available/plugins/feeadjuster/feeadjuster.py
```
* Can use menu - `CL` - `SUEZ` to visualize the channel balances and fee settings
* check the list of base fees
```
cl listpeers | grep fee_base_msat
```
* check the list of proportional fees
```
cl listpeers | grep fee_proportional_millionths
```
* set the fees to the defaults
```
cl setchannelfee all
```
### Dual funded channels
#### Reading
* https://medium.com/blockstream/c-lightning-opens-first-dual-funded-mainnet-lightning-channel-ada6b32a527c
* https://medium.com/blockstream/setting-up-liquidity-ads-in-c-lightning-54e4c59c091d
* https://twitter.com/niftynei/status/1389328732377255938
* lightning-rfc PR: https://github.com/lightningnetwork/lightning-rfc/pull/851/files
* represented by the feature bits 28/29
#### Setting up
* activate the feature on your node:
Type: `clconf` or use the menu `SYSTEM` - `CLCONF`.
Add the line:
```
experimental-dual-fund
```
Save and restart C-lightning.
* set up a liquidity ad:
```
lightning-cli funderupdate -k policy=match policy_mod=100
```
or set in the config for example - see the meaning of each line in https://medium.com/blockstream/setting-up-liquidity-ads-in-c-lightning-54e4c59c091d :
```
experimental-dual-fund
funder-policy=match
funder-policy-mod=100
lease-fee-base-msat=500sat
lease-fee-basis=50
channel-fee-max-base-msat=100sat
channel-fee-max-proportional-thousandths=2
```
* check the settings used currently on your node:
```
lightning-cli funderupdate
```
* check your advertised settings (needs some minutes to appear):
```
lightning-cli listnodes $(lightning-cli getinfo | jq .id)
```
#### Open a dual funded channel
* check if a node has onchain liquidity on offer:
```
lightning-cli listnodes nodeid
```
Example:
```
lightning-cli listnodes 02cca6c5c966fcf61d121e3a70e03a1cd9eeeea024b26ea666ce974d43b242e636
```
* list all nodes known in the graph with active offers:
```
lightning-cli listnodes | grep option_will_fund -B20 -A7
```
* note the node `id` and `compact_lease`
* connect to the node
```
lightning-cli connect nodeID@IP_or.onion
```
#### Fundchannel syntax
* the amount is the own funds in the wallet contributed
use equal amounts to have a balanced channel from start
the amounts can be specified in `sat` or `btc`
```
lightning-cli fundchannel -k id=NODE_ID amount=OWN_AMOUNTsat request_amt=PEER_CONTRIBUTION_AMOUNTsat compact_lease=COMPACT_LEASE
```
It can fail if the offer changed or there are not enough funds available on either side.
* open a dual funded channel with a chosen utxo and miner feerate
list the utxo-s with `lightning-cli listfunds`, can list multiple
the feerate is in `perkb` by default, e.g. use 1000 for 1 sat/byte
```
lightning-cli fundchannel feerate=PERKB_FEERATE utxos='["TRANSACTION_ID:INDDEX_NUMBER"]' -kid=NODE_ID amount=OWN_AMOUNTsat request_amt=PEER_CONTRIBUTION_AMOUNTsat compact_lease=COMPACT_LEASE
```
### Offers
* Details at bolt12.org
* Create an offer to receive payments:
https://lightning.readthedocs.io/lightning-offer.7.html
```
lightning-cli offer amount description [vendor] [label] [quantity_min] [quantity_max] [absolute_expiry] [recurrence] [recurrence_base] [recurrence_paywindow] [recurrence_limit] [single_use]
```
* Example:
Create a reusable offer which can be paid with any amount for LN tips using a fixed string.
```
lightning-cli offer any tip
```
* Create an offer to send payments:
https://lightning.readthedocs.io/lightning-offerout.7.html
```
lightning-cli offerout amount description [vendor] [label] [absolute_expiry] [refund_for]
```
* Fetch an invoice to pay an offer:
https://lightning.readthedocs.io/lightning-fetchinvoice.7.html
Will need at least one peer which supports onion the messages. For example:
```
lightning-cli connect 024b9a1fa8e006f1e3937f65f66c408e6da8e1ca728ea43222a7381df1cc449605@128.199.202.168:9735
```
* Then use the command to fetch the BOLT12 invoice:
```
lightning-cli fetchinvoice offer [msatoshi] [quantity] [recurrence_counter] [recurrence_start] [recurrence_label] [timeout] [payer_note]
```
* decode a BOLT12 invoice:
```
lightning-cli decode bolt12_invoice
```
* pay a a BOLT12 invoice:
Will need to pay through a peer which supports the onion messages which means you need at least one channel with such a node.
```
lightning-cli pay bolt12_invoice
```
* see if there is a new invoice is paid with:
```
lightning-cli listinvoices
```
The `pay_index` will increase as the offer gets reused.
### About the feature bits
* https://bitcoin.stackexchange.com/questions/107484/how-can-i-decode-the-feature-string-of-a-lightning-node-with-bolt-9
* Convert the hex number from `lightning-cli listpeers` to binary: https://www.binaryhexconverter.com/hex-to-binary-converter and count the position of the bits from the right.
## Testnets
* for testnet and signet there are prefixes `t` and `s` used for the aliases, daemons and their own plugin directory names.
* Testnet
```
# alias:
tcl | tclconf | tcllog
# daemon service name:
tlightningd
# config file:
/home/bitcoin/.lightningd/testnet/config
# plugin directory:
/home/bitcoin/tcl-plugins-enabled
```
* Signet
```
# aliases:
scl | sclconf | scllog
# daemon service name:
slightningd
# config file:
/home/bitcoin/.lightningd/signet/config
# plugin directory:
/home/bitcoin/scl-plugins-enabled
```
## Backups
* https://lightning.readthedocs.io/FAQ.html#how-to-backup-my-wallet
* General details: https://lightning.readthedocs.io/BACKUP.html
### Seed
* by default a BIP39 wordlist compatible, 24 words seed is used to generate the `hsm_secret`
* if the wallet was generated or restored from seed on the RaspiBlitz the seed is stored in the disk with the option to encrypt
### How to display the hsm_secret in a human-readable format?
* If there is no seed available it isbest is to save the hsm_secret as a file with `scp`. To display as text:
```
sudo cat /home/bitcoin/.lightning/bitcoin/hsm_secret | xxd
```
### Channel database
* Stored on the disk and synchronised to the SDcard with the help of the bakcup plugin.
### Recovery
* https://lightning.readthedocs.io/FAQ.html#database-corruption-channel-state-lost
* https://lightning.readthedocs.io/FAQ.html#loss
#### Recover from a cl-rescue file
* use the `REPAIR-CL` - `FILERESTORE` option in the menu for instructions to upload
#### Recover from a seed
* use the `REPAIR-CL` - `SEEDRESTORE` option in the menu for instructions to paste the seedwords to restore
#### Rescan the chain after restoring a used c-lightning wallet
* https://lightning.readthedocs.io/FAQ.html#rescanning-the-block-chain-for-lost-utxos
* Stop `lightningd`:
```
sudo systemctl stop lightningd
```
* Rescan from the block 700000
```
sudo -u bitcoin lightningd --rescan=700000
```
## Script file help list
* generate a list of the help texts on a RaspiBlitz:
```
cd /home/admin/config.scripts/
ls cl*.sh > clScriptList.txt
sed -i 's#^#./#g' clScriptList.txt
sed -i 's#.sh#.sh -h#g' clScriptList.txt
bash -x clScriptList.txt
rm clScriptList.txt
```
```
+ ./cl.backup.sh -h
---------------------------------------------------
CL RESCUE FILE (tar.gz of complete cl directory)
---------------------------------------------------
cl.backup.sh cl-export
cl.backup.sh cl-export-gui
cl.backup.sh cl-import [file]
cl.backup.sh cl-import-gui [setup|production] [?resultfile]
---------------------------------------------------
SEED WORDS
---------------------------------------------------
cl.backup.sh seed-export-gui [lndseeddata]
cl.backup.sh seed-import-gui [resultfile]
+ ./cl.check.sh -h
# script to check CL states
# cl.check.sh basic-setup
# cl.check.sh prestart [mainnet|testnet|signet]
+ ./cl.hsmtool.sh -h
Create new wallet or import seed
Unlock/lock, encrypt, decrypt, set autounlock or change password for the hsm_secret
Usage:
Create new wallet:
cl.hsmtool.sh [new] [mainnet|testnet|signet] [?seedPassword]
cl.hsmtool.sh [new-force] [mainnet|testnet|signet] [?seedPassword]
There will be no seedPassword(passphrase) used by default
new-force will delete any old wallet and will work without dialog
cl.hsmtool.sh [seed] [mainnet|testnet|signet] ["space-separated-seed-words"] [?seedPassword]
cl.hsmtool.sh [seed-force] [mainnet|testnet|signet] ["space-separated-seed-words"] [?seedPassword]
The new hsm_secret will be not encrypted if no NewPassword is given
seed-force will delete any old wallet and will work without dialog
cl.hsmtool.sh [unlock|lock] <mainnet|testnet|signet>
cl.hsmtool.sh [encrypt|decrypt] <mainnet|testnet|signet>
cl.hsmtool.sh [autounlock-on|autounlock-off] <mainnet|testnet|signet>
cl.hsmtool.sh [change-password] <mainnet|testnet|signet> <NewPassword>
+ ./cl.install-service.sh -h
Script to set up or update the C-lightning systemd service
Usage:
/home/admin/config.scripts/cl.install-service.sh <mainnet|testnet|signet>
+ ./cl.install.sh -h
C-lightning install script
The default version is: v0.10.1
Setting up on mainnet unless otherwise specified
mainnet / testnet / signet instances can run parallel
Usage:
cl.install.sh on <mainnet|testnet|signet>
cl.install.sh off <mainnet|testnet|signet> <purge>
cl.install.sh [update <version>|testPR <PRnumber>]
cl.install.sh display-seed <mainnet|testnet|signet>
+ ./cl-plugin.backup.sh -h
Install the backup plugin for C-lightning
Replicates the lightningd.sqlite3 database on the SDcard
Usage:
cl-plugin.backup.sh [on|off] [testnet|mainnet|signet]
cl-plugin.backup.sh [restore] [testnet|mainnet|signet] [force]
cl-plugin.backup.sh [backup-compact] [testnet|mainnet|signet]
https://github.com/lightningd/plugins/tree/master/backup
+ ./cl-plugin.clboss.sh -h
Install or remove the CLBOSS C-lightning plugin
version: v0.10
Usage:
cl-plugin.clboss.sh [on|off] [testnet|mainnet|signet]
+ ./cl-plugin.feeadjuster.sh -h
Install the feeadjuster plugin for C-lightning
Usage:
cl-plugin.feeadjuster.sh [on|off] <testnet|mainnet|signet>
+ ./cl-plugin.http.sh -h
Install, remove, connect the c-lightning-http-plugin
version: 1dbb6537e0ec5fb9b8edde10db6b4cc613ccdb19
Implemented for mainnet only.
Usage:
cl-plugin.http.sh [on|off|connect] <norestart>
+ ./cl-plugin.sparko.sh -h
Install, remove, connect or get info about the Sparko plugin for C-lightning
version: v2.7
Usage:
cl-plugin.sparko.sh [on|off|menu|connect] [testnet|mainnet|signet] [norestart]
+ ./cl-plugin.standard-python.sh -h
Install and show the output of the chosen plugin for C-lightning
Usage:
cl-plugin.standard-python.sh on [plugin-name] <testnet|mainnet|signet> <persist|runonce>
tested plugins:
summary | helpme | feeadjuster | paytest
find more at:
https://github.com/lightningd/plugins
+ ./cl-plugin.summary.sh -h
Install and show the output if the summary plugin for C-lightning
Usage:
cl-plugin.summary.sh [testnet|mainnet|signet] [runonce]
+ ./cl.rest.sh -h
C-lightning-REST install script
The default version is: v0.5.1
mainnet | testnet | signet instances can run parallel
The same macaroon and certs will be used for the parallel networks
Usage:
cl.rest.sh [on|off|connect] <mainnet|testnet|signet>
+ ./cl.setname.sh -h
Config script to set the alias of the C-lightning node
cl.setname.sh [mainnet|testnet|signet] [?newName]
+ ./cl.spark.sh -h
Install, remove or get info about the Spark Wallet for C-lightning
version: v0.3.0rc
Usage:
cl.spark.sh [on|off|menu] <testnet|mainnet|signet>
+ ./cl.update.sh -h
Interim optional C-lightning updates between RaspiBlitz releases.
cl.update.sh [info|verified|reckless]
info -> get actual state and possible actions
verified -> only do recommended updates by RaspiBlitz team
binary will be checked by signature and checksum
reckless -> if you just want to update to the latest release
published on C-lightning GitHub releases (RC or final) without any
testing or security checks.
```

964
FAQ.md
View File

@ -1,964 +0,0 @@
<!-- omit in toc -->
# FAQ - Frequently Asked Questions
- [What changed on the single RaspiBlitz updates?](#what-changed-on-the-single-raspiblitz-updates)
- [How do I update my RaspiBlitz (since 1.2)?](#how-do-i-update-my-raspiblitz-since-12)
- [How do I update my RaspiBlitz from older versions like v1.0 or v1.1?](#how-do-i-update-my-raspiblitz-from-older-versions-like-v10-or-v11)
- [How to verify the SD card image after download?](#how-to-verify-the-sd-card-image-after-download)
- [How to update an old RaspiBlitz BEFORE v1.0? (LEGACY)](#how-to-update-an-old-raspiblitz-before-v10-legacy)
- [Why do I need to re-burn my SD card for an update?](#why-do-i-need-to-re-burn-my-sd-card-for-an-update)
- [I have the full blockchain on another storage. How do I copy it to the RaspiBlitz?](#i-have-the-full-blockchain-on-another-storage-how-do-i-copy-it-to-the-raspiblitz)
- [How do I generate a Debug Report?](#how-do-i-generate-a-debug-report)
- [Can I run my RaspiBlitz on Solar Energy?](#can-i-run-my-raspiblitz-on-solar-energy)
- [Why is my "final sync" taking so long?](#why-is-my-final-sync-taking-so-long)
- [How do I backup my Lightning Node?](#how-do-i-backup-my-lightning-node)
- [1) Securing your On-Chain- and Channel-Funds during Operation](#1-securing-your-on-chain--and-channel-funds-during-operation)
- [2) Making a complete LND data backup](#2-making-a-complete-lnd-data-backup)
- [How can I recover my coins from a failing RaspiBlitz?](#how-can-i-recover-my-coins-from-a-failing-raspiblitz)
- [1) Recover LND data](#1-recover-lnd-data)
- [2) Recover from Wallet Seed](#2-recover-from-wallet-seed)
- [What is this mnemonic seed word list?](#what-is-this-mnemonic-seed-word-list)
- [How do I move funds & channels from RaspiBlitz to LND Lightning Desktop App?](#how-do-i-move-funds--channels-from-raspiblitz-to-lnd-lightning-desktop-app)
- [How do I change the Name/Alias of my lightning node](#how-do-i-change-the-namealias-of-my-lightning-node)
- [What to do when on SSH I see "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"](#what-to-do-when-on-ssh-i-see-warning-remote-host-identification-has-changed)
- [When using Auto-Unlock, how much security do I lose?](#when-using-auto-unlock-how-much-security-do-i-lose)
- [I connected my HDD but it still says 'Connect HDD' on the display?](#i-connected-my-hdd-but-it-still-says-connect-hdd-on-the-display)
- [How do I shrink the QR code for connecting my Shango/Zap/Zeus mobile phone?](#how-do-i-shrink-the-qr-code-for-connecting-my-shangozapzeus-mobile-phone)
- [Why is my bitcoin IP on the display red?](#why-is-my-bitcoin-ip-on-the-display-red)
- [Why is my node address on the display red?](#why-is-my-node-address-on-the-display-red)
- [Why is my node address on the display yellow (not green)?](#why-is-my-node-address-on-the-display-yellow-not-green)
- [Can I run the RaspiBlitz as Backend for BTCPayServer?](#can-i-run-the-raspiblitz-as-backend-for-btcpayserver)
- [I don't have a LAN port on my Laptop - how do I connect to my RaspiBlitz?](#i-dont-have-a-lan-port-on-my-laptop---how-do-i-connect-to-my-raspiblitz)
- [Is it possible to connect the Blitz over Wifi instead of using a LAN cable?](#is-it-possible-to-connect-the-blitz-over-wifi-instead-of-using-a-lan-cable)
- [Can I directly connect the RaspiBlitz to my laptop?](#can-i-directly-connect-the-raspiblitz-to-my-laptop)
- [How do I unplug/shutdown safely without SSH](#how-do-i-unplugshutdown-safely-without-ssh)
- [How can I build an SD card from another branch?](#how-can-i-build-an-sd-card-from-another-branch)
- [How can I build an SD card from my forked GitHub Repo?](#how-can-i-build-an-sd-card-from-my-forked-github-repo)
- [How can I checkout a new branch from the RaspiBlitz repo to my forked repo?](#how-can-i-checkout-a-new-branch-from-the-raspiblitz-repo-to-my-forked-repo)
- [How can I sync a branch of my forked GitHub with my local RaspiBlitz?](#how-can-i-sync-a-branch-of-my-forked-github-with-my-local-raspiblitz)
- [How contribute a feature/change from my forked branch back to the RaspiBlitz repo?](#how-contribute-a-featurechange-from-my-forked-branch-back-to-the-raspiblitz-repo)
- [How can I help testing a Pull Request?](#how-can-i-help-testing-a-pull-request)
- [How to attach the RaspberryPi to the HDD?](#how-to-attach-the-raspberrypi-to-the-hdd)
- [What other case options do I have?](#what-other-case-options-do-i-have)
- [Are those "Under-Voltage detected" warnings a problem?](#are-those-under-voltage-detected-warnings-a-problem)
- [Is using the prepared SD card image secure?](#is-using-the-prepared-sd-card-image-secure)
- [What is the process of creating a new SD card image release?](#what-is-the-process-of-creating-a-new-sd-card-image-release)
- [How do I return to the menu after exiting to the command line](#how-do-i-return-to-the-menu-after-exiting-to-the-command-line)
- [Can I run RaspiBlitz on other computers than RaspberryPi?](#can-i-run-raspiblitz-on-other-computers-than-raspberrypi)
- [Can I flip the screen?](#can-i-flip-the-screen)
- [How do I setup fresh/clean/reset and without going into recovery mode?](#how-do-i-setup-freshcleanreset-and-without-going-into-recovery-mode)
- [My blockchain data is corrupted - what can I do?](#my-blockchain-data-is-corrupted---what-can-i-do)
- [Can I run the RaspiBlitz without a display/LCD?](#can-i-run-the-raspiblitz-without-a-displaylcd)
- [How do I set up VNC?](#how-do-i-set-up-vnc)
- [I have two RaspiBlitz in my network - can they both be public?](#i-have-two-raspiblitz-in-my-network---can-they-both-be-public)
- [How do I change the public port LND/Lightning node is running on?](#how-do-i-change-the-public-port-lndlightning-node-is-running-on)
- [How do I solve a "signature mismatch after caveat verification" error?](#how-do-i-solve-a-signature-mismatch-after-caveat-verification-error)
- [Why is my node not routing?](#why-is-my-node-not-routing)
- [How can I update LND or bitcoind even before the next RaspiBlitz update?](#how-can-i-update-lnd-or-bitcoind-even-before-the-next-raspiblitz-update)
- [I cannot connect via SSH to my RaspiBlitz. What do I do?](#i-cannot-connect-via-ssh-to-my-raspiblitz-what-do-i-do)
- [How to SSH over Tor?](#how-to-ssh-over-tor)
- [How to setup port-forwarding with a SSH tunnel?](#how-to-setup-port-forwarding-with-a-ssh-tunnel)
- [How do I setup just a port-forwarding user on my public server?](#how-do-i-setup-just-a-port-forwarding-user-on-my-public-server)
- [How do I connect a UPS to the RaspiBlitz?](#how-do-i-connect-a-ups-to-the-raspiblitz)
- [Why use BTRFS on RaspiBlitz?](#why-use-btrfs-on-raspiblitz)
- [Storing your important Data in RAID1 with a USB Thumb Drive](#storing-your-important-data-in-raid1-with-a-usb-thumb-drive)
- [Snapshotting the Blockchain](#snapshotting-the-blockchain)
- [How do I use BTRFS on RaspiBlitz?](#how-do-i-use-btrfs-on-raspiblitz)
- [How to recover a BTRFS partition?](#how-to-recover-a-btrfs-partition)
- [How do I fix a displayed Error in my Config?](#how-do-i-fix-a-displayed-error-in-my-config)
- [How to fix my upside down LCD after update?](#how-to-fix-my-upside-down-lcd-after-update)
- [How can I repair my SSH login?](#how-can-i-repair-my-ssh-login)
- [How to use the Let's Encrypt client](#how-to-use-the-lets-encrypt-client)
- [Let's Encrypt - HTTP-01](#lets-encrypt---http-01)
- [Let's Encrypt - DNS-01](#lets-encrypt---dns-01)
- [Let's Encrypt - eMail Address](#lets-encrypt---email-address)
- [Let's Encrypt - Installation details](#lets-encrypt---installation-details)
- [How can I customize my RaspiBlitz or add other software?](#how-can-i-customize-my-raspiblitz-or-add-other-software)
- [Versioning](#versioning)
- [GitHub Workflow](#github-workflow)
- [How do I find the IP address when running without a display?](#how-do-i-find-the-ip-address-when-running-without-a-display)
---
## What changed on the single RaspiBlitz updates?
See the [CHANGES.md](CHANGES.md) file for details.
## How do I update my RaspiBlitz (since 1.2)?
The update should be quite simple - you don't need to close any channels:
- It would be best to get a second 16GB or 32GB SD card - but you can also reuse your old one
- In the SSH main menu of you RaspiBlitz choose `UPDATE` & follow the dialogs until shutdown
- Download the new RaspiBlitz image file from the [GitHub README](https://github.com/rootzoll/raspiblitz/blob/dev/README.md#installing-the-software)
- Write the new image to the (new) SD card with a tool like [balena etcher](https://www.balena.io/etcher/)
- RaspiBlitz with new SD card image - it now goes through a recover/update phase - this may take some time.
- Once that's done, login once via SSH and use the password raspiblitz and set a new password A (can be your old one or a new one).
After the final reboot your RaspiBlitz should be ready, running the new RaspiBlitz version.
## How do I update my RaspiBlitz from older versions like v1.0 or v1.1?
To update you DON'T NEED to close any channels, remove funding, or download the blockchain again.
Here is a YouTube video tutorial on how to update: https://www.youtube.com/watch?v=Xvn0WQfHUdI
Simply [Download the new RaspiBlitz SD card image](https://github.com/rootzoll/raspiblitz#installing-the-software) to your laptop and have an SD card writer ready. Then login into your RaspiBlitz with SSH and:
- main menu > OFF
- remove power
- remove SD card
Write the new image to your SD card .. yes, you simply overwrite the old one. It's OK, all your personal data is on the HDD. If you want to be extra safe you can make an image backup of your old SD card first - but that is optional. If you made manual changes to your RaspiBlitz with scripts on the SD card you might want to check on this FAQ question first: [Why do I need to re-burn my SD card for an update?](FAQ.md#why-do-i-need-to-re-burn-my-sd-card-for-an-update).
- insert new SD card image
- power on the RaspiBlitz again
You should see that it switched into recover/backup mode. It's now provisioning the fresh OS on the sd card with your old settings and data. This process can take some time, especially if you had the RTL Web UI activated. Follow the instructions on the display ... if it takes longer than an hour .. [get support](https://github.com/rootzoll/raspiblitz#support).
When the update/recover process is ready you will see a `FINAL RECOVER LOGIN NEEDED` message on the display. Login via SSH by using the password `raspiblitz` and set your Password A again. It can be the same as the old one, but consider using the occasion to make a password change for security reasons. If you had auto-unlock activated you might also be asked to enter your old Password C again. Then it wil make a final reboot.
After your RaspiBlitz is done catching up with the latest blockchain data you should see your status screen displaying your funds and channels. Your backup is complete.
## How to verify the SD card image after download?
You can do a quick check to verify that the sha256 hash of the file you downloaded is the same as the sha256 hash mentioned below the download link, or use the torrent download which will also check the file for a checksum after download. But this does not prove to you that the SD card image was actually built by the lead developer of the RaspiBlitz project.
To verify that the download was actually signed by [rootzoll](https://keybase.io/rootzoll) you need to use GPG and import the following public key:
```
curl https://keybase.io/rootzoll/pgp_keys.asc | gpg --import
```
Next, download the "signature file" for the SD card image. It's the same download link as for the image file - just added a `.sig` at the end. You should also always find the download link for the signature file in the README right below the image download link following the `SIGNATURE` link.
If you know have all the three elements needed - the imported public key, the image signature and the image file itself - you can verify the download with:
```
gpg --verify [SIGNATURE-FILE] [IMAGE-FILE]
```
As a result you should see a "correct signature" message with a main fingerprint the same as you can find on the [keybase.io/rootzoll](https://keybase.io/rootzoll) that is ending on `1C73 060C 7C17 6461`. If that fingerprint is correct, the SD card image you downloaded is a original release RaspiBlitz.
## How to update an old RaspiBlitz BEFORE v1.0? (LEGACY)
If your old RaspiBlitz is version 0.98 or higher, just follow the update instructions in the README.
If you run a version earlier then 0.98 you basically need to setup a new RaspiBlitz to update - but you can keep the blockchain data on the HDD, so you don't need have that long waiting time again:
1. Close all open lightning channels you have (`lncli closeallchannels --force`) or use the menu option 'CLOSE ALL' if available. Wait until all closing transactions are done.
2. Move all on-chain funds to a wallet outside raspiblitz (`lncli sendcoins --conf_target 3 <ADDRESS> <AMT>`) or use the menu option 'CASHOUT' if available
3. Prepare the HDD for the new setup by running the script `/home/admin/XXcleanHDD.sh` (Blockchain will stay on HDD)
4. Then shutdown RaspiBlitz (`sudo shutdown now`), flash the SD card with new image, redo a fresh setup of RaspiBlitz, move your funds back in, and re-open your channels
## Why do I need to re-burn my SD card for an update?
I know it would be nicer to run just an update script and be ready to go. But then the scripts would need to be written in a much more complex way to be able to work with any versions of LND and Bitcoind (they are already complex enough with all the edge cases) and testing would become even more time consuming than it is now. That's not something that a single developer can deliver.
For some, it might be a pain point to make an update by re-burning a new SD card - especially if you added your own scripts or made changes to the system - but that's by design. It's a way to enforce a "clean state" with every update - the same state that I tested and developed the scripts with. The reason for that pain: I simply cannot write and support scripts that run on every modified system forever - that's simply too much work.
With the SD card update mechanism I reduce complexity, I deliver a "clean state" OS, LND/Bitcoind and the scripts tightly bundled together exactly in the dependency/combination like I tested them and it's much easier to reproduce bug reports and give support that way.
Of course, people should modify the system, add own scripts, etc ... but if you want to also have the benefit of the updates of the RaspiBlitz, you have two ways to do it:
1. Contribute your changes back to the main project as pull requests so that they become part of the next update - the next SD card release.
2. Make your changes so that they survive an SD card update easily - put all your scripts and extra data onto the HDD, AND document for yourself how to activate them again after an update. The file `/mnt/hdd/app-data/custom-installs.sh` runs with sudo rights after an update/recovery from a fresh SD card. This is the place to put all the install commands, cronjobs or editing of system configs for your personal modifications of RaspiBlitz.
*BTW there is a beneficial side effect when updating with a new SD card: You also get rid of any malware or system bloat that happened in the past. You start with a fresh system :)*
## I have the full blockchain on another storage. How do I copy it to the RaspiBlitz?
Copying a already synced blockchain from another storage (e.g. your Laptop or external hard drive) can be a quick way to get the RaspiBlitz started or replacing a corrupted blockchain with a fresh one. Also that way you have synced and verified the blockchain yourself, and are not trusting the RaspiBlitz Torrent downloads (Don't trust, verify).
One requirement is that the blockchain is from another bitcoin-core client with version greater or equal to 0.17.1.
But we don't copy the data via USB to the device, because the HDD needs to be formatted in EXT4 and that is usually not read/writable by Windows or Mac computers. So I will explain a way to copy the data through your local network. This should work from Windows, Mac, Linux and even from another already synced RaspiBlitz.
Both computers (your RaspberryPi and the other computer with the full blockchain) need to be connected to the same local network. Make sure that bitcoind/bitcoin-qt is stopped on the computer containing the blockchain.
If your blockchain source is another RaspiBlitz v1.5 or higher - go to `REPAIR` > `COPY-SOURCE`.
If your RaspiBlitz is below v1.5 then on the terminal `sudo systemctl stop bitcoind` and then go to the directory where the blockchain data is with `cd /mnt/hdd/bitcoin` - when the copy/transfer is done later reboot a RaspiBlitz source with `sudo shutdown -r now`.
If everything described above is in order, start the setup of the new RaspiBlitz with a fresh SD card (like explained in the README) - it's OK that there is no blockchain data on your HDD yet - just follow the setup. When you get to the setup-point `Getting the Blockchain` choose the COPY option. Starting from version 1.0 of the RaspiBlitz this will give you further detailed instructions how to transfer the blockchain data onto your RaspiBlitz. In short: On your computer with the blockchain data source you will execute SCP commands that will copy the data over your local network to your RaspiBlitz.
Once you finished all the transfers, the Raspiblitz will make a quick-check on the data - but that will not guarantee that everything in detail was OK with the transfer. Check further FAQ answers if you get stuck or see a final sync with a value below 90%.
## How do I generate a Debug Report?
If your RaspiBlitz is not working correctly and you like to get help from the community, it's good to provide more debug information, so others can better diagnose your problem - please follow the following steps to generate a debug report:
- SSH into your raspiblitz as admin user with your password A
- If you see the menu - use CTRL+C to get to the terminal
- To generate debug report run: `debug`
- Then copy all output beginning with `*** RASPIBLITZ LOGS ***` and share this
*PLEASE NOTICE: It's possible that these logs can contain private information (like IPs, node IDs, ...) - just share publicly what you feel OK with.*
## Can I run my RaspiBlitz on Solar Energy?
Yes - take a look at the project of [Chimezie Chuta](https://twitter.com/mezie16/status/1264513274080636928?s=20)
![RaspiSolar](pictures/raspisolar.jpg)
More details in his book ["A-Z of Building your own Full Bitcoin Lightning Node: A hand Book for Enthusiasts"](https://blockspace.shop/products/a-z-of-building-your-own-full-bitcoin-lightning-node-a-hand-book-for-enthusiasts)
## Why is my "final sync" taking so long?
First of all if you see a final sync over 90% and you can see from time to time small increase - you should be OK ... this can take a looong time to catch up with the network. Only in the case that you actively choose the `SYNC` option in the `Getting the Blockchain` is a final sync under 90% OK. If you did a torrent or a copy from another computer and you are seeing under 90% something went wrong, and the setup process is ignoring your prepared Blockchain and doing a full sync - which can almost take forever on a raspberryPi.
If something is wrong (like mentioned above) then try again from the beginning. You need to reset your HDD for a fresh start: SSH in as admin user. Abort the final sync info with CTRL+c to get to the terminal. Then run `sudo /home/admin/XXcleanHDD.sh -all` and follow the script to delete all data in HDD. When finished power down with `sudo shutdown now`. Then make a fresh SD card from image and this time try another option to get the blockchain. If you run into trouble the second time, please report an issue on GitHub.
## How do I backup my Lightning Node?
There are two ways of performing a Backup:
### 1) Securing your On-Chain- and Channel-Funds during Operation
This is best done by auto backing-up the 'channel.backup' file to a remote location. But it just secures the funds you have in your on-chain wallet or in your channels. On recovery the channels will get closed. For details on how to setup see the README:
https://github.com/rootzoll/raspiblitz/blob/v1.2/README.md#backup-for-on-chain---channel-funds
### 2) Making a complete LND data backup
This backups all your LND data - including all open channels. But it's just intended to use when you move your LND data between computers, during update situations, or in rescue recoveries, because replaying out-dated backups can lead to the loss of all channel funds.
To backup LND data in a rescue situation see next question "How can I recover my coins from a failing RaspiBlitz?".
## How can I recover my coins from a failing RaspiBlitz?
On a RaspiBlitz you have coins in your on-chain wallet (bitcoin wallet) and also coins in lightning channels. First we will try to recover all of them while trying to keep your channels open with "Recover LND data". If that is not possible you can fall back to the second option "Recover from Wallet Seed".
### 1) Recover LND data
The best chance to recover all your LND data/channels is when you still can SSH into the RaspiBlitz and the HDD is still usable/reachable (mounted) - even if it shows some errors. If this is not possible anymore you should skip to the second option "Recover from Wallet Seed" or try to recover the LND data from the HDD (directory `lnd`) from another computer.
If you still can SSH in and HDD is readable, we can try to rescue/export your LND data (funds and channels) from a RaspiBlitz to then be able to restore it back to a fresh one. For this you can use the following procedure ...
To rescue/export your Lightning data from a RaspiBlitz (since v1.1):
* SSH into your RaspiBlitz and EXIT to terminal from the menu.
* then run: `/home/admin/config.scripts/lnd.backup.sh lnd-export-gui`
* follow the instructions of the script.
This will create a lnd-rescue file (ends on gz.tar) that contains all the data from the LND. The script offers you a command to transfer the lnd-rescue file to your laptop. If the transfer was successful you can now setup a fresh RaspiBlitz. Do all the setup until you have a clean new Lightning node running - just without any funding or channels.
Then to restore your old LND data and to recover your funds and channels:
* SSH into your new RaspiBlitz and EXIT to terminal from the menu.
* then run: `/home/admin/config.scripts/lnd.backup.sh lnd-import-gui`
* follow the instructions of the script.
This script will offer you a way to transfer the lnd-rescue file from your laptop to the new RaspiBlitz and will restore the old data. LND then gets restarted for you, and after some time it should show you the status screen again with your old funds and channels.
**Be aware that if backup is some hours old, channels could have been closed by the other party and it may take some time until you see funds back on-chain. If backup is somewhat older then 1 day also the channel counter-parties may have used your offline time to cheat you with an old state. And if your backup was not the latest state it could also be happening that you are posting an old channel state (seen as cheating) and funds of that channel get forfeited as punishment. So again .. this backup method can be risky, use with caution. While it's recommended to try in recover and rescue situations - it's not for regular backups.**
### 2) Recover from Wallet Seed
Remember those 24 words you were writing down during the setup? That's your "cipher seed" - These words are very important for recovering your wallet. If you don't have them anymore: go back to option "Recover LND data" (see above) and check all possible ways to recover data from the HDD. If you still have the word seed: good, but read the following carefully:
With the word seed you can recover the on-chain funds that LND was managing for you - but it does not contain all the details about the channels you have open - it's mostly the key to your funding wallet. If you were able to close all channels or never opened any, then you should be safe: The best results to recover on-chain funds from wallet seeds have been reported from people installing the Lightning Labs App on laptop and then using the wallet seed (and same wallet passwords): https://github.com/lightninglabs/lightning-app/releases. Other people were succesful in this process using the Zap Desktop wallet (OSX, Win, Linux): https://zap.jackmallers.com/download
If you had open channels it would be best to check if you have also the `channel.backup` file (Static-Channel-Backup feature) that is available since LND 0.6 (RaspiBlitz v1.2) and use it in the process below ... for more details on the `channel.backup` file see [README.md on backups](README.md#backup-for-on-chain---channel-funds).
- SetUp a fresh RaspiBlitz (fresh SD-Card image and clean HDD).
- During the new SetUp, when you get to the point of creating the LND wallet (see image below).
- Choose `OLD - I had an old Node I want to recover/restore` option and then
- Choose `SEED+SCB - Seed & channel.backup file` option
- and follow the instructions to upload your `channel.backup` file and enter your seed
Then give LND some time to re-scan the blockchain. In the end you will have restored your funding wallet. You maybe need to wait for your old channel counterparts to force close the old channels until you see the coins displayed again.
If you don't have the `channel.backup` file but only the seed words there is a last hope - read this article:
https://medium.com/@guggero/did-you-lose-funds-on-the-lightning-network-because-of-a-disk-crash-8971b6a92494
*Important: If you see a zero balance for on-chain funds after restoring from seed ... see details discussed [here](https://github.com/rootzoll/raspiblitz/issues/278) - you might try setup fresh this time with bigger look-ahead number.*
## What is this mnemonic seed word list?
With the 24 word list given you by LND upon wallet creation you can recover your private key. You should write it down and store it at a safe place. Bear in mind that *this 24 word mnemonic seed is not based on the BIP 39* and therefore cannot be recovered using a Bitcoin wallet.
For more background on the LND mnemonic seed [read this article](https://github.com/lightningnetwork/lnd/blob/master/docs/recovery.md#recovering-funds-from-lnd-funds-are-safu).
## How do I move funds & channels from RaspiBlitz to LND Lightning Desktop App?
Before you start - download a LND-data-rescue file from your RaspiBlitz to your laptop `main menu -> UPDATE -> Update Anyway -> Start Update -> Download Backup -> FOLLOW INSTRUCTIONS and press Enter when ready with download -> START UPDATE`. Now your RaspiBlitz will power down.
Now install the LND Lightning Desktop App for your OS: https://github.com/lightninglabs/lightning-app/releases
Then start the App and create a new wallet - it's a throw-away wallet (will be deleted afterwards with no funds) - so you don't need to keep seeds safe. To get easily through the setup just make a photo of the seed with your mobile. If you get asked for funding - just click "done" until you reach the basic wallet screen. Then close the LND Desktop App.
Now find out the path where LND stores the wallet data on your computer.
Linux: [USER-DIRECTORY]/.config/lightning-app/lnd
OSX: [USER-DIRECTORY]/Library/Application Support/lightning-app/lnd
Windows: %USERPROFILE%\AppData\Roaming\lightning-app\lnd
Then open that directory on your local file manager and delete all data in the `lnd` directory.
Now unpack the lnd-rescue you made before and copy all the data from the `mnt/hdd/lnd` directory (including sub directories) into the LND-Path lnd directory. Delete the "lnd.conf" file.
Now start the Lightning App again. Your wallet password should now be your RaspIBlitz Password C.
**If it's working and you have access to your funds/channels on the Desktop App ... don't start the RaspiBlitz anymore. Delete SD card and HDD.**
## How do I change the Name/Alias of my lightning node
Use the "Change Name/Alias of Node" option in the Lightning - LND Wallet Options menu. The RaspiBlitz will automatically reboot after this.
## What to do when on SSH I see "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!"
This means that he public SSH key of the RaspiBlitz has changed to the one you logged in with the last time under that IP.
It's OK when happening during an update - when you changed the SD card image. If it's really happening out of the blue - check your local network setup for a problem. Maybe the local IP of your RaspiBlitz changed? Is there a second RaspiBlitz connected? It's a security warning, so at least take some time to check if anything is strange. But also don't immediately panic - when it's in your local network, normally it's some network thing - not an intruder.
To fix this and to be able to login with SSH again, you have to remove the old public key for that IP from your local client computer. Just run the following command (with the replaced IP of your RaspiBlitz): `ssh-keygen -R IP-OF-YOUR-RASPIBLITZ` or remove the line for this IP manually from the known_hosts file (see the path to the file in the warning message).
After that, you should be able to login with SSH again.
## When using Auto-Unlock, how much security do I lose?
The idea of the "wallet lock" in general, is that your private key / seed / wallet is stored in a encrypted way on your HDD. On every restart, you have to input the password once manually (unlock your wallet), so that the LND can read and write to the encrypted wallet again. This improves your security if your RaspiBlitz gets stolen or taken away - it loses power and then your wallet is safe - the attacker cannot access your wallet.
When you activate the "Auto-Unlock" feature of the RaspiBlitz, the password of the wallet gets stored on the RaspiBlitz. So if an attacker steals the RaspiBlitz physically, it's now possible for them to find the password and unlock the wallet.
## I connected my HDD but it still says 'Connect HDD' on the display?
Your HDD may have no partitions yet. SSH into the RaspiBlitz as admin (see command and password on display) and you should be offered the option to create a partition. If this is not the case:
Check/Exchange the USB cable. Connect the HDD to another computer and check if it shows up at all.
OSX: https://www.howtogeek.com/212836/how-to-use-your-macs-disk-utility-to-partition-wipe-repair-restore-and-copy-drives/
Windows: https://www.lifewire.com/how-to-open-disk-management-2626080
Linux/Ubuntu (desktop): https://askubuntu.com/questions/86724/how-do-i-open-the-disk-utility-in-unity
Linux/Raspbian (command line): https://www.addictivetips.com/ubuntu-linux-tips/manually-partition-a-hard-drive-command-line-linux/
## How do I shrink the QR code for connecting my Shango/Zap/Zeus mobile phone?
Make the fonts smaller until the QR code fits into your (fullscreen) terminal. In OSX use `CMD` + `-` key. In LINUX use `CTRL`+ `-` key. On WINDOWS Putty go into the settings and change the font size: https://globedrill.com/change-font-size-putty
## Why is my bitcoin IP on the display red?
The bitcoin IP is red when the RaspiBlitz detects that it cannot reach the port of bitcoin node from the outside. This means the bitcoin node can peer with other bitcoin nodes, but other bitcoin nodes cannot initiate a peering with you. Don't worry, you don't need a publicly reachable bitcoin node to run a (public) lightning node. If you want to change this however, you need to forward port 8333 on your router to the the RaspiBlitz. How to do this is different on every router.
Some routers support a feature called UPnP where devices can automatically request a forwarding to be publicly reachable. By turning on `BTC UPnP` in the main menu `SERVICES` section, you can try if your router supports this feature.
On details how to set port forwarding manually on your router model see: https://portforward.com
## Why is my node address on the display red?
The node address is red when the RaspiBlitz detects that it cannot reach the port of the LND node from the outside - when the device is behind a NAT or firewall of the the router. Your node is not publicly reachable. This means you can peer+openChannel with other public nodes, but other nodes cannot peer+openChannel with you. To change this you need to forward port 9735 on your router to the the RaspiBlitz. How to do this is different on every router.
Some routers support a feature called UPnP where devices can automatically request a forwarding to be publicly reachable. By turning on `LND UPnP` in the main menu `SERVICES` section, you can try if your router supports this feature.
On details how to set port forwarding manually on your router model see: https://portforward.com
Also the self-testing of the RaspiBlitz to see if the port is forwarded or not might not work if your router is not supporting [Hairpinning](https://en.wikipedia.org/wiki/Hairpinning).
## Why is my node address on the display yellow (not green)?
Yellow is OK. The RaspiBlitz can detect that it can reach a service on the port 9735 of your public IP - this is in most cases the LND of your RaspiBlitz. But the RaspiBlitz cannot 100% for sure detect that this is its own LND service on that port - that's why it's just yellow, not green.
For details on how to set port forwarding on your router model see: https://portforward.com
## Can I run the RaspiBlitz as Backend for BTCPayServer?
BTCPay Server is a solution to be your own payment processor to accept Lightning Payments for your online store: https://github.com/btcpayserver/btcpayserver
You can find setup instructions for a experimental setup here: https://goo.gl/KnTzLu
Thanks to @RobEdb (ask on twitter for more details) for running his demo store with RaspiBlitz: https://store.edberg.eu - buy a picture of [him and Andreas](https://store.edberg.eu/produkt/jag-andreas/) :)
## I don't have a LAN port on my Laptop - how do I connect to my RaspiBlitz?
You don't need a LAN port on your laptop as long as you can connect over WLAN to the same LAN router/switch the RaspiBlitz is connected to .. and you are on the same local network.
## Is it possible to connect the Blitz over Wifi instead of using a LAN cable?
A LAN cable is recommended because it reduces a possible source of error on the network connection side. But how to setup WLAN when you don't have a LAN-Router/Switch available see here:
https://stadicus.github.io/RaspiBolt/raspibolt_20_pi.html#prepare-wifi
## Can I directly connect the RaspiBlitz to my laptop?
If you have a LAN port on your laptop - or you have a USB-LAN adapter, you can connect the RaspiBlitz directly (without a router/switch) to your laptop and share the WIFI internet connection. You can follow this [guide for OSX](https://medium.com/@tzhenghao/how-to-ssh-into-your-raspberry-pi-with-a-mac-and-ethernet-cable-636a197d055).
In short for OSX:
* make sure all VPNs are off (can interfere with local LAN)
* connect with LAN directly
* Settings > Sharing/Freigaben > activate "internet sharing" from WLAN to Ethernet
* Settings > Network > Ethernet-Adapter > set to DHCP
* in terminal > `ifconfig` there you should see the IP of the bridge100
* in terminal > `arp -a` and check for an IP of a client to the bridge
* in terminal > ssh admin@[clientIP]
If anyone has experience on doing this in Linux/Win, please share.
## How do I unplug/shutdown safely without SSH
Just removing power from the RaspiBlitz can lead to data corruption if the HDD is right in the middle of a writing process. The safest way is always to SSH into the RaspiBlitz and use the "POWER OFF" option in the main menu.
But if cannot login with SSH and you need to power off at least remove the LAN cable (network connection)first for sometime (around 10-30 secs - until you can see no more blinking lights on the HDD) and then remove the power cable. This should minimize the risk if data corruption in this situations.
## How can I build an SD card from another branch?
There might be new, but not released features in development that are not yet in the master branch - but you want to try them out.
To build a SD card image from another branch than master, you follow the [Build the SD Card Image](README.md#build-the-sd-card-image) from the README, but execute the build script from the other branch and add the name of that branch as a parameter to the build script.
For example if you want to make a build from the 'dev' branch you execute the following command:
`wget --no-cache https://raw.githubusercontent.com/rootzoll/raspiblitz/dev/build_sdcard.sh && sudo bash build_sdcard.sh false false rootzoll dev lcd true true`
## How can I build an SD card from my forked GitHub Repo?
If you fork the RaspiBlitz repo (much welcome) and you want to run that code on your RaspiBlitz, there are two ways to do that:
* The quick way: For small changes in scripts, go to `/home/admin` on your running RaspiBlitz, delete the old git with `sudo rm -r raspiblitz` then replace it with your code `git clone [YOURREPO]` and `patch`
* The long way: If you like to install/remove/change services and system configurations you need to build a SD card from your own code. Prepare like in [Build the SD Card Image](README.md#build-the-sd-card-image) from the README but in the end run the command:
`wget --no-cache https://raw.githubusercontent.com/[GITHUB-USERNAME]/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh false false [GITHUB-USERNAME] [BRANCH] lcd true true`
If you are then working in your forked repo and want to update the scripts on your RaspiBlitz with your latest repo changes, run `patch` - That's OK as long as you don't make changes to the SD card build script - for that you would need to build a fresh SD card again from your repo.
## How can I checkout a new branch from the RaspiBlitz repo to my forked repo?
You need to have your forked repo checked-out on your laptop. There your should see your forked repo as `origin` when you run `git remote -v`. If you don't see an additional `upstream` remote yet, then create it with the following command: `git remote add upstream https://github.com/rootzoll/raspiblitz.git`.
So, first checkout the new branch named `BRANCH` from the original RaspBlitz repo to your local computer with: `git fetch upstream` and then `git checkout -b BRANCH upstream/BRANCH`.
Now push the new branch to your forked GitHub repo with `git push -u origin BRANCH`.
Once the branch is available and synced between the RaspiBlitz GitHub repo, your forked GitHub repo and your local computer git repo, you can start developing.
## How can I sync a branch of my forked GitHub with my local RaspiBlitz?
Since v1.5 of RaspiBlitz there has been an easy way thru the SSH menus: Under `MAIN MENU > UPDATE > PATCH` you have the option to change the GitHub repository and and branch to sync with. You change the GitHub Reposity by setting the GitHub username where you forked the Repo.
So for example: If you forked the RaspiBlitz project (rootzoll/raspiblitz) on GitHub and your GitHub project page is now called: https://github.com/raumi75/raspiblitz ... then just change the repo to sync/patch with to your username `raumi75`.
Now you can use the `Patch/Sync RaspiBlitz with GitHub Repo` to easily keep your RaspiBlitz in sync with your forked repository and develop your own customizations and features.
Background info and doing it manually:
There is a git copy of the original RaspiBlitz GitHub repo on your physical RaspiBlitz in the folder `/home/admin/raspiblitz`. If you change into that folder and run `git remote -v` you can see the set origin repo.
You need to change that origin repo to your forked repo. You do that with:
```
git remote set-url origin [THE-URL-OF-YOUR-FORKED-REPO]
```
Now to sync your branch namend BRANCH on your forked repo with your RaspiBlitz, you always just run:
```
/home/admin/config.scripts/blitz.github.sh BRANCH
```
So your workflow can go like this: You write code on your local computer. Commit to your local repo, push it to your forked repo and use the sync-script above to get the code to your RaspiBlitz.
## How contribute a feature/change from my forked branch back to the RaspiBlitz repo?
In the same way as described above, you can build a new feature or test a change. Once you have something ready that you want to contribute back, you make sure it's pushed to your forked GitHub repo, and then start a pull request from your forked repo to the RaspiBlitz repo.
See more info: https://yangsu.github.io/pull-request-tutorial/
## How can I help testing a Pull Request?
Make sure to have the correct base image.
Then go to the command line and create a branch for the PR:
```
cd /home/admin/raspiblitz
git fetch origin pull/[PRNUMBER]/head:pr[PRNUMBER]
git checkout pr[PRNUMBER]
cd /home/admin
/home/admin/config.scripts/blitz.github.sh -justinstall
```
Now you have the code of the PR active - depending on what scripts are changed you might need to reboot.
To change back to the code:
```
/home/admin/config.scripts/blitz.github.sh master
```
## How to attach the RaspberryPi to the HDD?
Try a rubber band.
## What other case options do I have?
You can put the heatsink-case (top-part mentioned in the shopping lists) into a customized 3D printed case for the RaspiBlitz called "Lightning Shell" - great work by @CryptoCloaks
https://www.cryptocloaks.com/product/lightningshell/ (Delivery from USA)
![LightningShell](pictures/lightningshell.jpeg)
![LightningShell](pictures/lightningshell2.jpeg)
Also there is the ZKDS metal case available that also needs some extra hardware (SATA-USB expansion board and USB bridge).
https://diynodes.com (delivery from UK)
![ZKDSMetalCase](pictures/metalcase.png)
## Are those "Under-Voltage detected" warnings a problem?
When your USB power adapter for the RaspiBlitz delivers too low of a power level, those messages with "Under-Voltage detected" (under-voltage) are shown on the display. This can lead to data loss/corruption on the HDD. If you see this just one or two times it's not OK, but can be in a tolerant window. Nevertheless it is important to make sure that your USB power adapter can deliver at least 3A (big and stable is good). If you still see those warnings maybe get a second USB Power adapter just for the HDD, and power the HDD through a Y-Cable - see https://en.wikipedia.org/wiki/Y-cable#USB or put a USB Hub with extra power between the Raspberry and the HDD.
## Is using the prepared SD card image secure?
Using pre-built software almost always shifts trust to the one who made the binary. But at least you can check with the SHA checksum after downloading to verify that the image downloaded is really the one offered by the GitHub repo. To do so, make a quick check that your browser is really on the correct GitHub page, and that the HTTPS of the GitHub page is signed by 'DigiCert'. Then compare the SHA-256 string (always next to the download link of the image on the README) with the result of the command `shasum -a 256 [DOWNLOADED-FILE-TO-CHECK]` (Mac/Linux). Still, this is not optimal and if at least some people from the community request it, I will consider signing the download as an author for the future.
The best way would be to build the SD card yourself. You use the script `build_sdcard.sh` for this. Take a few minutes to check if you see anything suspicious in that build script and then follow the [README](README.md#build-the-sd-card-image) on this.
## What is the process of creating a new SD card image release?
Work notes for the process of producing a new SD card image release:
* Make sure you have the "Versioning" final in your RaspiBlitz Source Code
* Start [`Ubuntu LIVE`](http://releases.ubuntu.com/18.04.3/ubuntu-18.04.3-desktop-amd64.iso) from USB stick on the Build Computer (press F12 on startup)
* Connect to a secure WiFi (hardware switch on) or LAN
* Download the latest RaspiOS-64bit (zip & sig file) namend in the [build_sdcard.sh](./build_sdcard.sh) and note the SHA256 checksum
* From the browser `Show All Downloads` and from the context menu select `Open Containing Folder`
* On that file manager open context (right click) on the white-space and select `Open in Terminal`
* Compare the checksum with the one you just made note of, using `shasum -a 256 *.zip`
* Install curl if needed `sudo apt-get install -f curl net-tools`
* Check signature: `curl https://www.raspberrypi.org/raspberrypi_downloads.gpg.key | gpg --import && gpg --verify *.sig`
* The result should say "correct signature" and the fingerprint should end with `8738 CD6B 956F 460C`
* Insert an NTFS formatted USB stick and use the file manager to move all files to the USB
* Use in file manager context on NTFS USB stick `extract here` to unzip
* Connect SD card reader with a 8GB SD card
* In the file manager open context on the .img-file, select `Open With Disk Image Writer` and write the image to the SD card
* In the file manager open context on `boot` drive free space `open in terminal`
* Run the commands: `touch ssh` and `exit`
* Eject the `boot` and the `NTFS` volume
* Connect a RaspiBlitz (without HDD) to network, insert sd card and power up
* Find the IP of the RaspiBlitz (arp -a or check router)
* In terminal `ssh pi@[IP-OF-RASPIBLITZ]`
* Password is `raspberry`
* Run the following command BUT REPLACE `[BRANCH]` with the branch-string of your latest version
* `wget --no-cache https://raw.githubusercontent.com/rootzoll/raspiblitz/[BRANCH]/build_sdcard.sh && sudo bash build_sdcard.sh false true rootzoll [BRANCH] lcd true true`
* Monitor/Check outputs for warnings/errors - install LCD
* Login new with `ssh admin@[IP-OF-RASPIBLITZ]` (pw: raspiblitz) and run `release`
* Disconnect WiFi/LAN on build laptop (hardware switch off) and shutdown
* Remove `Ubuntu LIVE` USB stick and cut power from the RaspberryPi
* Connect USB stick with latest `TAILS` (make it stay offline)
* Power on the Build Laptop (press F12 for boot menu)
* Connect USB stick with GPG signing keys - decrypt drive if needed
* Open Terminal and cd into directory of USB Stick under `/media/amnesia`
* Run `gpg --import ./sub.key`, check and `exit`
* Disconnect USB stick with GPG keys
* Take the SD card from the RaspberryPi and connect with an external SD card reader to the laptop
* Click on `boot` volume once in the file manger
* Connect the NTFS USB stick, open in file manager and delete old files
* Open Terminal and cd into directory of NTFS USB stick under `/media/amnesia`
* Run `df` to check on the SD card device name (`boot` - ignore last partition number)
* `dd if=/dev/[sdcarddevice] | gzip > ./raspiblitz-vX.X-YEAR-MONTH-DAY.img.gz`
* When finished you should see that more then 7GB were copied
* Then run `shasum -a 256 *.gz > sha256.txt`
* Sign with `gpg --output raspiblitz-vX.X-YEAR-MONTH-DAY.img.gz.sig --detach-sign *.gz`
* Shutdown build computer
* Connect the NTFS USB stick to MacOS (it is just read-only)
* Run tests on the new image
* Upload the new image to the Download Server - put sig-file next to it
* Copy SHA256-String into GitHub README and update the download link
## How do I return to the menu after exiting to the command line
Type the command `raspiblitz` to return to the main menu if you exited to the command line.
## Can I run RaspiBlitz on other computers than RaspberryPi?
There is an experimental section in this GitHub that tries to build for other SingleBoardComputers. Feel free to try it out and share your experience: [alternative.platforms/README.md](alternative.platforms/README.md)
## Can I flip the screen?
There is now an option under `SETTINGS` to rotate the screen.
To do it manually: For the default 3.5" LCD you need to edit the /boot/config.txt. Run `sudo nano /boot/config.txt`
Look for the line `dtoverlay=tft35a:rotate=270` towards the end. To flip the screen with 180 degrees change the line to `dtoverlay=tft35a:rotate=90` and reboot with `sudo reboot`. Reference: https://github.com/goodtft/LCD-show/issues/34
## How do I setup fresh/clean/reset and without going into recovery mode?
When you put in a SD card with a new/clean RaspiBlitz image the RaspiBlitz will go into recovery mode because it detects the old data on your HDD and assumes you just want to continue to work with this data.
But there might be cases where you want to start a totally fresh/clean RaspiBlitz from the beginning. To do so you need to delete the old data from the HDD. Choose the option `RESET-ALL` under `REPAIR` to delete all data and start fresh.
When the HDD is clean, then flash a new RaspiBlitz sd card and your setup should start fresh.
## My blockchain data is corrupted - what can I do?
You could try to re-index, but that can take a very long time - multiple days or even weeks. But there are other options:
1. Get new Blockchain
Use `REPAIR` in the SSH main menu and then choose `RESET-CHAIN`. Then you get offered multiple options to get new blockchain data.
2. Backup LND Data, make fresh Blitz, Replay LND Data
You can backup your channel and wallet data, make a complete fresh RaspiBlitz and after that is setup, you replace the LND data with your old data. Also make sure to check again on your power supply - it needs to deliver equal or more then 3A, and should deliver a stable current. If you think your HDD or SD card is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz)*
## Can I run the RaspiBlitz without a display/LCD?
The display is one of the nice features of the RaspiBlitz but it can run without it. Maybe not all the add-on features can be used to the full extent, but you can get started without the LCD and if you wish, plug it on later.
If you want to use the HDMI output you can place a file called `hdmi` on the `boot` section of the RaspiBlitz sd card ... just connect the sd card to your laptop, create that file and then boot it up in the RaspberryPi.
If you are already logged in you can use on the console the commands:
- `hdmi` --> switch to HDMI
- `lcd` --> switch to LCD
## How do I set up VNC?
Enter the Console/Terminal by selecting the last option from the Raspiblitz menu.
![Raspiblitz menu](pictures/vnc-go-to-console.png)
Enable the VNC server using raspi-config:
`sudo raspi-config`
In the menu, go to
*Interfacing Options > VNC > Enable*
![Raspi-config menu](pictures/vnc-raspi-config-menu.png)
After that reboot the Raspiblitz. You can do this easily from the Raspiblitz menu.
In the command line, type:
`menu`
The Raspiblitz menu has a reboot option if you scroll down. Select it and reboot.
![Raspi-config menu](pictures/vnc-reboot-from-menu.png)
After the Raspiblitz is rebooted, set a password for the VNC Server:
`sudo vncpasswd -service`
Set the Authentication parameter:
`sudo echo "Authentication=VncAuth" > /etc/vnc/config.d/common.custom`
Restart the VNC Server for settings to take effect:
`sudo systemctl restart vncserver-x11-serviced`
Open the relevant port in the firewall (ufw):
`sudo ufw allow vnc`
Start the VNC server from the Raspiblitz:
`vncserver`
This will run by default in the display number '1'. If you want to specify another number, run this (change *\<display-number\>* to whatever you prefer):
`vncserver :<display-number>`
![VNC server started](pictures/vnc-server-started.png)
From the VNC client (e.g. your PC, laptop), connect to the IP that the previous command has displayed in the screen (I covered it in pink in the screenshot). If everything is alright, you can see the display from the VNC client now.
In order to stop broadcasting your display, stop the server from the Raspiblitz with this:
`vncserver -kill :<display-number>`
For example:
`vncserver -kill :1`
**Note**: You may have to set the resolution through raspi-config in certain situations:
`sudo raspi-config`
*Advanced Options > Resolution*
**Hint**: From macOS, there is a built in VNC client hidden away at: /System/Library/CoreServices/Applications/Screen\ Sharing.app
**Hint 2**: Find more info about VNC in Raspberry [here](https://www.raspberrypi.org/documentation/remote-access/vnc/).
## I have two RaspiBlitz in my network - can they both be public?
Yes but you need to change the port number (for example to 9736) on at least one of your RaspiBlitzes - see how to change a port below. Then you can forward both ports from your home internet router to the matching RaspiBlitzes.
## How do I change the public port LND/Lightning node is running on?
There is a experimental script you can call from the terminal that will make all changes for you ... see details here: https://github.com/rootzoll/raspiblitz/issues/100#issuecomment-466722712
## How do I solve a "signature mismatch after caveat verification" error?
If you get this error by LND it means that something is wrong with the macaroons being used to communicate with LND .. see: https://github.com/lightningnetwork/lnd/blob/master/docs/macaroons.md
Fixing this depends on where you get this error:
* If you get it in a mobile wallet, then redo the connection with the RaspiBlitz to get fresh macaroons.
* If you get this from RTL or from the scripts of the SSH menus of the RaspiBlitz, then go to "EXPORT Macacroons and TLS.cert" in SSH main menu and choose the the "RESET Macaroons & TLS" option.
Also make sure to check again on your power supply - it needs to deliver equal or more then 3A and should deliver a stable current. If you think your HDD is degrading - maybe this is a good time to replace it. See for details the FAQ question: [How can I recover my coins from a failing RaspiBlitz?](FAQ.md#how-can-i-recover-my-coins-from-a-failing-raspiblitz)
## Why is my node not routing?
1. You don't have inbound liquidity
2. Low uptime
3. Capital is committed to competitive destinations
4. Capital committed to destinations no one wants to send to
5. Fees are too high
6. Your inbound liquidity doesn't have good inbound liquidity itself
## How can I update LND or bitcoind even before the next RaspiBlitz update?
Try updating before a official RaspiBlitz at your own risk - you can find some info about that here:
https://stadicus.github.io/RaspiBolt/raspibolt_faq.html#how-to-upgrade-bitcoin-core
## I cannot connect via SSH to my RaspiBlitz. What do I do?
- Check the command again with how it shows on the display - do you have it typed in correctly?
- Replace `ssh` with `sudo ssh` and try it (laptop admin password might be required).
If that doesn't work, try to ping the IP of the RaspiBlitz with `ping [IP-of-RaspiBlitz]`. If you get no response on the ping requests and the device is not reachable, try this check list:
- Make sure that your RaspiBlitz and your laptop are really on the same local network
- Check if you have a VPN running on your laptop - some VPNs block local network
- Some Routers have `IP Isolation` switched on - not allowing two devices to connect
If you've checked those and SSH is still not working: Join the conversation on [GitHub Issue #420](https://github.com/rootzoll/raspiblitz/issues/420).
## How to SSH over Tor?
SSH is already encrypted, why would I want to use it with Tor?
* Remote access when away from LAN.
* Anonymized access - Someone sniffing the traffic don't know where the server you are establishing a connection is, not the server side knows where the client is.
Create Hidden Service:
`bash /home/admin/config.scripts/internet.hiddenservice.sh ssh 22 22`
SSH over Tor:
`torsocks ssh admin@HiddenServiceAddress.onion`
Get the address:
`sudo cat /mnt/hdd/tor/ssh/hostname`
## How to setup port-forwarding with a SSH tunnel?
To use a public server for port-forwarding thru a SSH tunnel you can use the following experimental script on the RaspiBlitz (since v1.2):
`/home/admin/config.scripts/internet.sshtunnel.py`
But first you need to make sure that the public server you are using is supporting SSH reverse-tunneling and authentication by public authorized key. Check the `/etc/ssh/sshd_config` on the public server. It should contain the following settings:
```
RSAAuthentication yes
PubkeyAuthentication yes
GatewayPorts yes
AllowTcpForwarding yes
ClientAliveInterval 60
ClientAliveCountMax 2
```
*Last two parameters were added as used in the ssh tunnel demo at #GPN19 https://media.ccc.de/v/gpn19-76-einen-server-daheim-ohne-ffentliche-ipv4-adresse#t=911*
You can add those at the end of the file, save and reboot.
On the RaspiBlitz you can then setup for example to forward the gRPC port 10009 (internal port) to the port 20009 on the public server (external port) with the user = `test` and server address = `raspiblitz.com` with the following command:
`/home/admin/config.scripts/internet.sshtunnel.py on test@raspiblitz.com "10009<20009"`
You can even set multiple port forwardings like with:
`/home/admin/config.scripts/internet.sshtunnel.py on test@raspiblitz.com "10009<20009" "8080<9090"`
Please be aware that after you set such a port forwarding you will need to set the domain of the public server as a `DynamicDNS` name (leave update url empty) and then connect mobile wallets fresh, or export the macaroons/certs again. When connecting the mobile wallets you may need to adjust ports manually after QR code scan. And if you SSH tunnel the LND node port `9735` you may also need to set the custom LND port script and maybe also a manual set of the domain in the LND service would be needed. This all is very experimental at the moment ... better integration will come in the future.
To switch this SSH tunneling off again use:
`/home/admin/config.scripts/internet.sshtunnel.py off` and also deactivate the DynamicDNS again.
To check if a tunnel is running on the tunneling server check: `netstat -tulpn`
## How do I setup just a port-forwarding user on my public server?
Make sure the `/etc/ssh/sshd_config` has the following lines at the end:
```
RSAAuthentication yes
PubkeyAuthentication yes
GatewayPorts yes
AllowTcpForwarding yes
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
```
The last one stores all authorized_keys in one directory with a file per user. See https://serverfault.com/questions/313465/is-a-central-location-for-authorized-keys-a-good-idea#424659 To prepare this run:
```
mkdir /etc/ssh/authorized_keys
groupadd forwardings
```
To add a forwarding user run:
```
useradd -g forwardings -d /home [USERNAME]
echo 'command="date" [CONTENT-OF-RASPIBLITZ-ROOT-SSH-PUBKEY]' > /etc/ssh/authorized_keys/[USERNAME]
```
The `[CONTENT-OF-RASPIBLITZ-ROOT-SSH-PUBKEY]` you get when running the `internet.sshtunnel.py` script on the RaspiBlitz (see above). Now restart the RaspiBlitz. The server should not need a restart after adding a additional forwarding user.
To check if a tunnel is running on on server check: `netstat -tulpn`
To check for any errors on RaspiBlitz after restart check logs: `sudo journalctl -f -u autossh-tunnel.service`
## How do I connect a UPS to the RaspiBlitz?
A UPS (Uninterruptible Power Supply) is used to protect the RaspiBlitz against power outages. Normally you put it just between your normal power outlet and your RaspiBlitz and you are set. But some UPS offer a way to communicate with devices. This can be very useful for example if on a longer power outage the battery of the UPS runs low the RaspiBlitz could detect this and power down in a clean way - instead of a sudden stop that risks data loss or corruption.
There is an experimental script to connect the RaspiBlitz to a UPS over USB cable build by APC - the Model tested with was [APC Back-UPS BX - BX700U-GR](https://www.amazon.de/APC-Back-UPS-Unterbrechungsfreie-Stromversorgung-BX700U-GR/dp/B00T7BYRCK) but it should work with every APC model offering a USB port.
To turn it on run from terminal: `/home/admin/config.scripts/blitz.ups.sh on apcusb`
If you have other UPS models or ways to connect ... feel free to extend this script.
## Why use BTRFS on RaspiBlitz?
The file system [BTRFS](https://de.wikipedia.org/wiki/Btrfs) for your HDD/SSD provides two new features to make the data storage more resilient:
### Storing your important Data in RAID1 with a USB Thumb Drive
BTRFS comes with build in RAID features - that means that data can be stored on two physical drives at the same time and if one is failing the other one can be used to heal the other one or its replacement.
For the Raspiblitz this means that you can connect an additional 32GB USB3 Thumb Drive (under 10 USD) and have it running in a RAID with your HDD/SSD - keeping your LND channel data and all other important data of your RaspiBlitz double-safe.
### Snapshotting the Blockchain
BTRFS comes with a build in snapshot feature - that means that your RaspiBlitz can make every day a backup of the blockchain data and if a blockchain corruption occurs (exmaple thru a power outage) there is no need to sync the complete chain again. Just switch back to the last backup state and quickly sync up from there. On BTRFS such backups can be done as snapshots that dont need much more space on the drive and are quickly done - no need to buy a bigger SSD or wait for copying over 200GB.
## How do I use BTRFS on RaspiBlitz?
Because the BTRFS is still experimental it's a bit hidden. There are two ways to activate:
- When you start a fresh setup just connect a 32GB Thumb Drive on the second USB3 port from the beginning and you should be asked during HDD setup if you want to try out BTRFS and gave the Thumb Drive as RAID1.
- If you have a existing RaspiBlitz and you want to switch to BTRFS then you need to export a Migration File (MAINMENU > REPAIR > MIGRATION) an then format your HDD/SSD clean. When you import a Migration File during a fresh Setup (see above) you will get the option to format the HDD/SSD with BTRFS.
Once the Blitz is running on BTRFS you can use the '/home/admin/config.scripts/blitz.datadrive.sh' script to add a RAID drive or make a snapshot.
## How to recover a BTRFS partition?
This articles goes thru the usual options:
https://ownyourbits.com/2019/03/03/how-to-recover-a-btrfs-partition/
https://seravo.fi/2015/using-raid-btrfs-recovering-broken-disks
## How do I fix a displayed Error in my Config?
When the LCD display is telling you to do a config check:
- go to the RaspiBlitz terminal (X on main menu) and run 'patch'
- start reboot with command: 'restart'
- go to the RaspiBlitz terminal run the command: 'check'
- now edit the RaspiBlitz config and get rid of the errors: 'nano /mnt/hdd/raspiblitz.conf'
- save config with: CTRL+o
- exit nano editor with: CTRL+x
- start reboot with command: 'restart'
## How to fix my upside down LCD after update?
Some displays have a different orientation. To fix this activate/deactivate the LCD-ROTATION option in the MAINMENU > SERVICES and let it reboot. You might need to do this up to 3 times until your display works correctly.
## How can I repair my SSH login?
If you cannot login via SSH into your RaspiBlitz your SSH RaspiBlitz certs might be corrupted. To renew and reset those do the following (since version 1.5):
- shutdown the RaspiBlitz - if you dont have touchscreen activated, disconnect LAN cable, wait until HDD/SSD activity slows down (no constant blinking) and then cut the power
- take out the SD card and connect it to your laptop - it should appear as a `boot` drive
- in the root directory of that `boot` drive create a file called `ssh.reset`
- that file can be empty or just copy another file on that drive and rename it ()
- eject the drive from your laptop safely
- put SD card back into the RaspiBlitz (also make sure LAN cable is connected again)
- power up - the RaspiBlitz should boot up & reboot again
- then try again to SSH login
If you see a "REMOTE HOST IDENTIFICATION HAS CHANGED!" warning on login, that's what we wanted - the SSH cert of your RaspiBlitz changed - thats good. We just need to remove the old one from our laptop first - on OSX you can use `rm ~/.ssh/known_hosts` (deletes all cached server certs) or remove the line with your RaspiBlitz IP manually from the `~/.ssh/known_hosts` file with a text editor.
## How to use the Let's Encrypt client
The [Let's Encrypt](https://letsencrypt.org/) client software [acme.sh](https://github.com/acmesh-official/acme.sh) is
included (since v1.6) and can be used to create TLS certificates that are signed by the Certificate Authority (*Root
CA*) **Let's Encrypt** and which are therefore trusted on all modern platforms.
In order to successfully get a signed certificate you need to **verify ownership** over a **DNS domain** or a **full
qualified domain name** (**FQDN**). Currently Let's Encrypt **doesn't** issue certificates for IP addresses. The two
most common standards for verification of control are `HTTP-01` and `DNS-01`.
The **acme.sh** client supports both modes and has a large number of DNS services (more than 50) it can interact with.
More details can be found on the [acme.sh wiki](https://github.com/acmesh-official/acme.sh/wiki).
### Let's Encrypt - HTTP-01
To use `HTTP-01` your RaspiBlitz needs to be accessible directly from the Internet on a **public IP address** on **port
80**. If you don't have a public IPv4/IPv6 IP on either `eth0` or `wlan0` then it might be possible to use **NAT port
forwarding** or an **autossh-tunnel** to fulfill this requirement.
If everything (this includes creating a `DNS A` or `DNS CNAME` record that points to a static or dynamic IP address) is
set up so that the Let's Encrypt servers can reach your RaspiBlitz on port 80 then the following command will perform
the initial creation of a signed certificate and will also store the configuration data needed to regularly refresh it.
Just run this once and then lean back and forget about it. :-D
```
~/.acme.sh/acme.sh --keylength ec-256 --issue -d hostname.example.com -w /var/www/letsencrypt/
```
### Let's Encrypt - DNS-01
The `DNS-01` standard **proves ownership** by creating `DNS TXT` records on the domain or subdomain you want to use.
This requires interaction with and access to a dns server but comes with the benefit that `wildcard certificates`
can be issued.
It is beyond the scope of this FAQ entry to explain all details of this - please refer to the official documentation.
Assuming you are using the [DuckDNS](https://www.duckdns.org/) dynamic DNS service then the following command will
get a certificate (including a wildcard subject alternative name (**SAN**) listing). It will also take care of continuous
renewals.
```
export DuckDNS_Token="abcdefgh-0123-56ij-78kl-abcd9012efgh"
~/.acme.sh/acme.sh --issue --keylength ec-256 --dns dns_duckdns -d hostname.duckdns.org -d *.hostname.duckdns.org
```
As mentioned, more that 50 other services (including self-hosted options like e.g. `nsupdate` or `PowerDNS`) are supported.
### Let's Encrypt - eMail Address
The installation process of the `acme.sh` client includes a prompt for an eMail address. The data entered there is
stored in the `accounts.conf` file as `ACCOUNT_EMAIL`. This address is used by Let's Encrypt to notify you about
the expiry of certificates (which is not really needed as renewals are automated) and also about changes to their
**Terms of Service**. For more details please check their [privacy policy](https://letsencrypt.org/privacy/).
It is currently considered completely fine to leave this field empty and not provide an eMail address.
### Let's Encrypt - Installation details
The `acme.sh` script is installed in `/home/admin/.acme.sh/` - the configuration and the certificates are stored on the
external hard disk in `/mnt/hdd/app-data/letsencrypt`.
### How can I customize my RaspiBlitz or add other software?
The RaspiBlitz is your computer to experiment with. Feel free to add your own scripts, edit the system or install further software from the command line. Just keep in mind that after an update/recovery the RaspiBlitz starts with a fresh and clean operating system again. So all your editings and installs might be gone. To prevent this you should do the following:
- place your own scripts and data that should survive an update/recovery into the `/mnt/hdd/app-data` directory
- put all install commands & modification of the system into the script `/mnt/hdd/app-data/custom-installs.sh` which will be started automatically on a recovery/update.
## Versioning
* Major Updates: 1.0.0, 2.0.0, 3.0.0, ... are epic updates signaling that the software reached a new era.
* Main Updates: 1.1.0, 1.2.0, 1.3.0, ... are breaking updates - the reflashing of the sd ard is mandatory.
* Minor Updates: 1.1.0, 1.2.0, 1.3.0, ... are soft updates - can be done by 'patching' the scripts & code, but new sd card reflash is still advised.
## GitHub Workflow
- Development is done on the 'dev' branch, new features should be done on single feature branches and merged into 'dev' once ready.
- When a release of a new main-update (see above) comes closer, a new release branch gets created from 'dev' with the first release candidate - the RCs and the final release sd card will be build from this branch.
- All minor-releases will basically all work with the same 'build_sdcard.sh' script so that the code could be updated by just calling 'patch'. Emergency updates on lnd & bitcoin may break this guideline, but basic structure & packaging should stay mostly consistent over a main-update version.
- Once a release is ready, that release branch will be set as the "default" branch on GitHub (so its shown as main page)
- Hot fixes & new features for minor verisons will be created as single branches from the release branch, and once ready will be merged back into that release branch as a Pull Request using 'Squash-Merge' AND then, this 'Squash-Merge' (one single commit) will get cherry-picked into the 'dev' branch ('git cherry-pick COMMITHASH' - may call 'git fetch' & 'git pull' before to make a clean cherry-pick into dev).
## How do I find the IP address when running without a display?
If you can login into your local internet router it should show you the IP address assigned to the RaspberryPi.
Another way is to use [Angry IP Scanner](https://angryip.org/) to find the IP address.
You can also put an empty file just called `hdmi` (without any ending) onto the sd card when connected to your laptop and then start it up on the RaspberryPi. This will activate the HDMI port and if you connect a HDMI monitor to the RaspberryPi it will show you the RaspiBlitz status screen containing the local IP address.
## How can I enforce UASP mode for my SSD controller?
By default just tested & selected SSD encasings/controller are running enabled with UASP in RaspiBlitz. UASP brings a speed up for the SSD but also if not well supported by the SSD encasing/controller can lead to system halts. If you know for sure that your SSD encasing/controller is supporting UASP fully you can place a file called `uasp.force` on the sd card boot section after flashing the image with your laptop. See details or report errors on issue [#2488](https://github.com/rootzoll/raspiblitz/issues/2488)

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2018 The RaspiBlitz developers
Copyright (c) 2018-2022 The RaspiBlitz developers
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
THE SOFTWARE.

127
Makefile Normal file
View File

@ -0,0 +1,127 @@
SHELL = /bin/bash
GITHUB_ACTOR = $(shell git remote -v | grep origin | head -1 | cut -d/ -f4)
GITHUB_HEAD_REF = $(shell git rev-parse --abbrev-ref HEAD)
amd64-lean-desktop-uefi-image:
# Run the build script
cd ci/amd64 && \
sudo bash packer.build.amd64-debian.sh \
--pack lean \
--github_user $(GITHUB_ACTOR) \
--branch $(GITHUB_HEAD_REF) \
--preseed_file preseed.cfg \
--boot uefi \
--desktop gnome
# Compute the checksum of the qemu image
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu && \
sha256sum raspiblitz-amd64-debian-lean.qcow2 > raspiblitz-amd64-debian-lean.qcow2.sha256
# Compress the image
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu && \
gzip -v9 raspiblitz-amd64-debian-lean.qcow2
# Compute the checksum of the compressed image
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu && \
sha256sum raspiblitz-amd64-debian-lean.qcow2.gz > raspiblitz-amd64-debian-lean.qcow2.gz.sha256
# List the generated files
ls -lah ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.*
amd64-lean-server-legacyboot-image:
# Run the build script
cd ci/amd64 && \
sudo bash packer.build.amd64-debian.sh \
--pack lean \
--github_user $(GITHUB_ACTOR) \
--branch $(GITHUB_HEAD_REF) \
--preseed_file preseed.cfg \
--boot bios-256k.bin \
--desktop none
# Compute the checksum of the qemu image
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu && \
sha256sum raspiblitz-amd64-debian-lean.qcow2 > raspiblitz-amd64-debian-lean.qcow2.sha256
# Compress the image
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu && \
gzip -v9 raspiblitz-amd64-debian-lean.qcow2
# Compute the checksum of the compressed image
cd ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu && \
sha256sum raspiblitz-amd64-debian-lean.qcow2.gz > raspiblitz-amd64-debian-lean.qcow2.gz.sha256
# List the generated files
ls -lah ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2.*
amd64-fatpack-desktop-uefi-image:
# Run the build script
cd ci/amd64 && \
sudo bash packer.build.amd64-debian.sh \
--pack fatpack \
--github_user $(GITHUB_ACTOR) \
--branch $(GITHUB_HEAD_REF) \
--preseed_file preseed.cfg \
--boot uefi \
--desktop gnome
# Compute the checksum of the qemu image
cd ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu && \
sha256sum raspiblitz-amd64-debian-fatpack.qcow2 > raspiblitz-amd64-debian-fatpack.qcow2.sha256
# Compress the image
cd ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu && \
gzip -v9 raspiblitz-amd64-debian-fatpack.qcow2
# Compute the checksum of the compressed image
cd ci/amd64/builds/raspiblitz-amd64-debian-fatpack-qemu && \
sha256sum raspiblitz-amd64-debian-fatpack.qcow2.gz > raspiblitz-amd64-debian-fatpack.qcow2.gz.sha256
# List the generated files
ls -lah ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-fatpack.qcow2.*
arm64-rpi-lean-image:
# Run the build script
cd ci/arm64-rpi && \
sudo bash packer.build.arm64-rpi.local.sh \
--pack lean \
--github_user $(GITHUB_ACTOR) \
--branch $(GITHUB_HEAD_REF)
# Compute the checksum of the raw image
cd ci/arm64-rpi/packer-builder-arm && \
sha256sum raspiblitz-arm64-rpi-lean.img > raspiblitz-arm64-rpi-lean.img.sha256
# Compress the image
cd ci/arm64-rpi/packer-builder-arm && \
gzip -v9 raspiblitz-arm64-rpi-lean.img
# Compute the checksum of the compressed image
cd ci/arm64-rpi/packer-builder-arm && \
sha256sum raspiblitz-arm64-rpi-lean.img.gz > raspiblitz-arm64-rpi-lean.img.gz.sha256
# List the generated files
ls -lah ci/arm64-rpi/packer-builder-arm/raspiblitz-arm64-rpi-lean.img.*
arm64-rpi-fatpack-image:
# Run the build script
cd ci/arm64-rpi && \
bash packer.build.arm64-rpi.local.sh \
--pack fatpack \
--github_user $(GITHUB_ACTOR) \
--branch $(GITHUB_HEAD_REF)
# Compute the checksum of the raw image
cd ci/arm64-rpi/packer-builder-arm && \
sha256sum raspiblitz-arm64-rpi-fatpack.img > raspiblitz-arm64-rpi-fatpack.img.sha256
# Compress the image
cd ci/arm64-rpi/packer-builder-arm && \
gzip -v9 raspiblitz-arm64-rpi-fatpack.img
# Compute the checksum of the compressed image
cd ci/arm64-rpi/packer-builder-arm && \
sha256sum raspiblitz-arm64-rpi-fatpack.img.gz > raspiblitz-arm64-rpi-fatpack.img.gz.sha256
# List the generated files
ls -lah ci/arm64-rpi/packer-builder-arm/raspiblitz-arm64-rpi-fatpack.img.*

1193
README.md

File diff suppressed because it is too large Load Diff

View File

@ -1,74 +0,0 @@
# Security Policy
*NOTE: This document is just a first draft and still under contruction.*
Only use this software with funds you could afford to lose. Especially a lightning wallet that is a hot wallet, which has constant connection to the internet and can be target of exploitation.
Just because the software is OpenSource does not mean its free of errors. Especially if you run additional apps, the RaspiBlitz team cannot review all the code of those external projects.
The software is provided "AS IS", without warrenty of any kind. In no event shall the
authors or copyright holders be liable for any claim, damages or other
liability. [details on legal license](LICENSE.md)
## Supported Versions
Updates are made only for the latest version.
Security patches can be done with `MAINMENU > UPDATE > PATCH` for the current branch in the case of a high risk issue before next release.
The latest version always have the `latest` tag. To make sure you are using the lastest version, run:
```
curl -s https://api.github.com/repos/rootzoll/raspiblitz/releases/latest|grep tag_name|head -1|cut -d '"' -f4
```
## Reporting a Vulnerability
To report security issues send an email to christian@rotzoll.de (not for support).
The following keys may be used to communicate sensitive information to developers:
| Name | Fingerprint | 64-bit |
|------|-------------|--------|
|Rootzoll|92A7 46AE 33A3 C186 D014 BF5C 1C73 060C 7C17 6461|1C73 060C 7C17 6461|
|Openoms|13C6 88DB 5B9C 745D E4D2 E454 5BFB 7760 9B08 1B65|5BFB 7760 9B08 1B65|
You can import a key by running the following command with that individuals fingerprint:
```
curl https://keybase.io/rootzoll/pgp_keys.asc | gpg --import
curl https://keybase.io/oms/pgp_keys.asc | gpg --import
```
Ensure that you put quotes around fingerprints containing spaces if importing with other methods.
# Online Security
* Wi-fi and Bluetooth is disabled by default in the build script.
* UFW is active and only specific ports are open, closing ports and removing hidden services when services are uninstalled.
* Fail-2-Ban is protecting the SSH login against brute-force-attacks.
* Admin (and Joinmarket [optional]) users have passwordless sudo access to be able to perform installations and read password without much user interaction.
# Physical Security
* The lightning wallet and user interfaces are password protected by default so this has more privacy implications (in the case of physical theft) than security.
* Basic hardening measures are applied to all non-root systemd services
* Optional log in through SSH using a hardware wallet.
* LUKS encryption would be welcome in the future.
# On-chain Funds
Please keep in mind that there can be two different on-chain wallets on the RaspiBlitz:
## Lightning Wallet (default)
The default is the on-chain lightning wallet - that's the wallet where you normally send your funds before opening a channel & where your funds return to when you close a channel. With the initial word seed you get during RaspiBlitz setup, you can get access again to this on-chain wallet. Keep the seed words secure in a off-line location.
## Bitcoin Core Wallet (deactivated by default)
Beside lightning you have a bitcoin core installed. Normally, bitcoin core acts just as a blockchain informational service to the lightning wallet and its internal seperate on-chain wallet is deactivated.
Some apps (like Fully Noded or JoinMarket) activate the bitcoin core wallet and use it for their own needs. This on-chain balance will not be reflected in the rest of the RaspiBlitz software and is NOT backuped by the seed words from the RaspiBlitz setup. If you make use of the bitcoin core wallet please take care of these funds.
# Off-chain Funds (Lightning Channels)
Please note that there is no perfect backup concept for the funds in your lightning channels yet. We strongly recommend using the `Static Channel Backup` provided by LND and consider off-line location backup of that file to have the best chances to recover Lightning funds in a case of recoverying from a disaster.
For more practical information on this topic see: [Backup Channel Funds](README.md#backup-for-on-chain---channel-funds)

View File

@ -1,228 +0,0 @@
# RaspiBlitz Workshop Tutorial
One goal of the RaspiBlitz project is to provide an open DIY platform for workshops - to setup your own lightning node and learn to manage it. This tutorial is collecting best practices on how to organise a RaspiBlitz workshop.
<br/>
# Time Planning
First thing on planning a RaspiBlitz workshop is to calculate the time needed correctly. For example, the setup from scratch with no further support is still a weekend project - mostly because downloading and syncing the blockchain takes a lot of time.
So the time required for the workshop all depends on the preparation you as a workshop organizer are interested to provide ahead of the workshop. This document outlines three starting configurations... going from most preparation required to least.
Note that the time estimates below are about getting a node to a "clean setup". They do not include the funding & setting up channels process - which is adding an additional 30 min to 1 hour to the calculation.
Also, if your group is lager then 5 participants, calculate some extra time for individual support. You can compensate for that if you let two participants work together on one RaspiBlitz setup; this way you limit individual support and let them help each other.
## Workshop Scenario A) Provide a Ready-2-Go RaspiBlitz
_Estimated Duration: 2 Hours_
Sure, one part of the fun for participants is to assemble the hardware themselves. But if you aim for the shortest workshop possible, then this is the way to go (around 2 hours length). If you have the RaspiBlitz already assembled to be operational at the workshop you should already set them up with a basic setup, maybe even transfer a small amount of coins onto them. This way you can give the workshop participants the A.B.C.D passwords on a sheet of paper and let them jump right into learning how to manage a node. While waiting for confirmations on the first channel opening you can use the time to explain how to build a RaspiBlitz from scratch and some Lightning basics.
These are the following steps you need to prepare (follow links for details):
- [Buy all the Hardware](WORKSHOP.md#buy-all-the-hardware)
- [Assemble all the Hardware](WORKSHOP.md#assemble-all-the-hardware)
- [Prepare HDDs with Blockchain Data](WORKSHOP.md#prepare-hdds-with-blockchain-data)
- [Prepare SD cards with latest RaspiBlitz image](WORKSHOP.md#prepare-sd-cards-with-latest-raspiblitz-image)
- Run Basic Node Setup
- [Setup Workshop Environment](WORKSHOP.md#setup-workshop-environment)
_NOTE: Make sure that the blockchain of the RaspiBlitzes are synced before the workshop begins._
## Workshop Scenario B) Provide a RaspiBlitz Hardware-Kit
_Estimated Duration: 3 Hours_
In this workshop scenario you buy all the hardware but let participants assemble the RaspiBlitz themselves - that's half the fun and people get a feel for the gear. But to keep the blockchain sync time short and be able to keep in a 3 hour timeframe you need to prepare the HDDs with blockchain data not much older than one day. Start ordering the parts at least one week before the workshop (budget as needed) and plan the day before completely for copying blockchain data to all those HDDs.
These are the following steps you need to prepare (follow links for details):
- [Buy all the Hardware](WORKSHOP.md#buy-all-the-hardware)
- [Prepare HDDs with Blockchain Data](WORKSHOP.md#prepare-hdds-with-blockchain-data)
- [Prepare SD cards with latest RaspiBlitz image](WORKSHOP.md#prepare-sd-cards-with-latest-raspiblitz-image)
- [Setup Workshop Environment](WORKSHOP.md#setup-workshop-environment)
Variation: If you don't have a big bugdet to prefinance the parts or people have already hardware they want to bring you can just buy the HDDs and SD cards and prepare them to run this scenario.
## Workshop Scenario C) Bring your own Hardware
_Estimated Duration: 46 Hours_
This scenario is advised only for small groups, or you'll need to bring multiple blockchain copy stations - see details on "Prepare HDDs with Blockchain Data". Otherwise it needs the least prepartion time and prefinance and can be announced to participants about 5 days beforehand, so that they have time to order all the parts online.
- [Instruct Participants to bring Hardware](WORKSHOP.md#instruct-participants-to-bring-hardware)
- [Prepare Blockchain Copy Station](WORKSHOP.md#prepare-blockchain-copy-station)
- [Setup Workshop Environment](WORKSHOP.md#setup-workshop-environment)
As soon as the participants arrive at the workhop, make sure to check their hardware list. We also suggest taking their HDDs and starting the blockchain copy process before official starting time.
<br/>
# Checklist for Running a Workshop
Make sure you have the following hardware and infrastructure ready for the workshop:
- Lots of 'multiple power outlets/extensions' (min. 2 per participants - RaspiBlitz + Laptop)
- Network-Switch with enough ports (min. 1 per RaspiBlitz)
- Enough LAN network cables (short ones to connect the RaspiBlitzes)
- Good internet connection at location with LAN port (or a WLAN to LAN adapter)
- Extra WLAN Router (if you are not sure if LAN & WLAN is not on the same network at location)
- One or two USB SD card adapters
- One or two USB-C to USB-A adapters
- Some Tape, Markers & Pens always come in handy (also for participants to wirte down seeds & passwords)
- Potentially some bitcoin funds (if people dont have their own to start funding channels)
Participants need to bring at least their laptops.
<br/>
# Running of the Workshop
_The basic structure of the workshop is set by the RaspiBlitz setup process. Simply follow that. The following parts should share some experiences and suggestions on how you can optimize the time and mentoring during this process. Feel free to share your experience here._
## Welcome and Intro
In the beginning, it's great to give a small introduction to the Lightning Network and show the RaspiBlitz GitHub page to let everybody know where to find the basic info. But try to keep it around 10 min, in order to not waste time.
Also, even before the intro, take care of the blockchain preparation. If people bring clean HDDs, hook them up to your blockchain copy station as soon as possible. If you have to copy on location, plan to spend time for some deeper educational intro while the HDDs get prepared.
## Assembling
If you hand out hardware kits or people bring their own hardware, it's time to put it together. If you are in a ready-2-go scenario, of course skip this and just hand them out.
## Basic Setup
Connect everybody's laptop to the same local network the RaspiBlitzes are connected to. Be prepared to explain how to open a terminal - Windows' users especially need some help here (see README on this).
Then everybody is SSHing into the RaspiBlitz and is following the setup dialog. Hand out paper and pens for people to write down their passwords and wallet seeds.
## Waiting Time
After the lightning wallet setup comes the longest waiting time during the workshop - around 30 min. When you have a presynced ready-2-go or up to 1 hour for the other scenarios. It's the time when the node is syncing up the blockchain and LND is scanning. If you see someone's blockchain progress under 97%, something is wrong - possibly the HDD was not correctly prepared or the blockchain data is way too old to finish during workshop time if you work with old RaspberryPi3. The new RaspberryPi4 with SSD can catch up much faster.
Use this time for a more in-depth educational segment on lightning in general. This time can also be used to demo with one RaspiBlitz that is already on clean-setup (you prepared before the workshop) how the funding, setting up channels and the other features of the RaspiBlitz work. That way people see what are the next steps once their node is ready and even if your workshop time is over by then they can know the next steps to do at home.
Also this time is good for troubleshooting in individual sessions. If someone is not able to finish the sync on location in time shutdown the Raspiblitz from SSH terminal with CTRL+C and then `shutdown now`. If the device gets connected back up at home it should pickup the sync/scan process (let people know about the wallet unlock).
## Finalizing Setup
Once the RaspiBlitz is ready (LCD shows status screen) and people can SSH into the main menu, let them go into the `SERVICES` section and activate the `RTL WebUI`. It's the best interface to then continue with the peering, funding and channel opening.
## Funding, Channels, API
Check how much time is left to go thru the next steps of connecting to peers, funding and opening channels. While you wait on funding or channel opening confirmations, its a good moment to try to connect users mobile wallets with the device. But just so that on the local network for demo - dynamicDNS is something people then can try at home with port forwarding on their routers.
Its also nice to add casual social open-end segment to the end of the workshop. So people can already go into personal conversations, music and beverages while some last nodes sync up, confirmations come in and people sending their first satoshis on some lightning chess or from node to node.
Here are some videos that show what else is possible with the RaspiBlitz:
- [Lightning Network LND API - Buying Stickers using Commandline](https://youtu.be/tocJFPU8sAc) 24min
<br/>
# Organisation Tasks
*Which of the following organisation tasks are relevant for you depends on which starting scenario you choose (see above). Here is the complete possible list with details:*
## Buy all the Hardware
See the shopping list on the RaspiBlitz Github README. You need to buy all of those, and every participant also needs a short (about 1m) network cable.
From experience start ordering two weeks before the workshop (if you need to assemble) and minimum one week if you're handing out hardware kits - even if you have Amazon Prime. There is always a shipment coming late, and it's a lot of packages.
If you like to support the RaspiBlitz project you can order a ready-2-go RaspiBlitz or a all-you-need-hardwareset for your RaspiBlitz workshop from [raspiblitz.com](https://raspiblitz.com)
## Instruct Participants to Bring Hardware
This is for the scenario where people bring their own hardware. Make sure to let them know at least a week before the event so that there is enough time for online ordering. Also make sure that especially the power supply needs to provide 3A and a stable current (big fat with a thick cable is good) because that's the most often error source if people just reuse some old weak power supply.
In all scenarios make sure people bring their laptops.
## Assemble all the Hardware
Basically you follow the assembly instructions on the RaspiBlitz GitHUb README. Think of a safe way to transport the assembled devices to the workshop location - HDDs like it soft.
## Prepare HDDs with Blockchain Data
This is the most time consuming part of the preparation. Try it once to get a feel for how much time you need to prepare one HDD. If you prepare more than one HDD check out the "Copystation" script below.
A prepared HDD is formatted in EXT4 and named "BLOCKCHAIN". In a folder called `bitcoin` it contains a copy of the following data folders from a running Bitcoin core client (same version on RaspiBlitz).
```
/bitcoin/blocks
/bitcoin/chainstate
```
The bitcoin core client (0.17.1 or higher) needs to be stopped while the data is copied to the HDD.
The easiest way to get a "template" of such HDD is to setup a fresh RaspiBlitz (without channel and fundings) and then run the script `/home/admin/XXcleanHDD.sh` and manually delete all rest data from the HDD and just leave those folders.
Once you have that "template" you can make an image from that and write that image to the other HDDs.
## Prepare Blockchain Copy Station
In the RaspiBlitz GitHub repo and also on every RaspiBlitz (since v1.3) you can find the script:
`/home/admin/XXcopyStation.sh`
This can be used to prepare and keep multiple HDDs in snyc with blockchain data in preparation of a workshop. You can start it directly on a RaspiBlitz and turn it into "Copy Station Mode" by executing on the command line:
`sudo /home/admin/XXcopyStation.sh`
_Beware that it will not run as a Lightning Node during that time (LND is stopped). And to reset it back into normal mode you need to stop the script with `CTLR+c` and the reboot with `sudo shutdown -r now`._
In "Copy Station Mode" the RaspiBlitz will just run the bitcoind (so it needs network connection), copy fresh blockchain data over to a template folder on the HDD called `/mnt/hdd/templateHDD` and from there sync it to further HDDs that get connected to it.
If you run it in a setup like on this photo with an extra powered USB hub, you can connect up to 10 HDDs at once to be synced with an almost up-to-date blockchain.
At the moment the "Blockchain Copy Station" is just a computer (laptop - not a RaspberryPi) having an image of a "template" HDD (see above) and you can attach (with a USB3.0 Hub) multiple fresh HHDs to it and start writing in the template image to that.
To update the "template" HDD for the next workshop use it for a fresh clean RaspiBllitz setup just days before, sync the blockchain to 100% and repeat the process above.
_This version is not tested, but seems like the easiest to setup so far. Images can have the problem of being too large when some 1TB HDDs are just some bytes smaller. So for the template HDD it would be best to find the smallest 1TB HDD possible or just writing the image to HDDs of the same brand & model._
Copying the blockchain between RaspberryPis during the workshop is not an option, because the network and its USB2 is too slow and will take 3 to 4 hours.
For former workshops I had a laptop just with the data and had a script that was formatting and rsyning that data over to a fresh HDD. That took around 1,5 hours per HDD.
_If someone has a better idea for a 'Blockchain Copy Station', please feel free to contribute._
## Prepare SD Cards with Latest RaspiBlitz Image
Download the latest RaspiBlitz SD card image from the README page. `Balena Etcher` is the best image writing software for this use case because if you have multiple sd card adapters, you can write multiple cards at once,cutting down your preparation time.
## Setup Workshop Environment
See hardware checklist for what to bring to the workshop in the earlier chapter.
Setup power outlets for everybody. Its always good to be way early at the workshop location for setup, especially if you run the "pre-sync" of the ready-2-go scenario.
Most important is the network setup. Every RaspiBlitz needs a LAN port in the switch and that switch needs to be on the same local network as the WLAN so that participants laptop can SSH into the RaspiBlitz. If that is not the case or you cannot confirm that before the event its best to bring an additional WLAN router. Then you give the WLAN router internet uplink thru the available LAN cable and you put the network switch for the Raspiblitzes behind that router and open an additional WLAN on that WLAN router for everybody to connect to. It's OK to be behind a NAT; it's just important for everybody to be behind the same NAT.

View File

@ -0,0 +1,150 @@
# Install Raspiblitz on proxmox
Here I want to show you how to install a new Raspiblitz on a Debian VM on Proxmox and get it running. My Raspiblitz ran very long and stable on a Raspberry Pi 4 with 8GB RAM. It would very likely continue to do so for a longer time, however my Lightning Node is growing more and more and various apps and services are built on top of my Node. So the issue of availability and backup becomes more and more important. Therefore I decided to migrate the Raspiblitz to a VM in Proxmox. So I have much more room to maneuver regarding backup and administration.
This guide here will help you to set up a completely new Raspiblitz with Proxmox. The guide for the migration will follow soon...
### What is needed?
- Proxmox installation on an Intel NUC, laptop or server
- at least 1TB SSD
You have several options for the SSD: Either you install the 1TB SSD in the system and install your Proxmox host on it or (as I did) you have an internal SSD (in my case 500GB M2 SSD) where the host operating system is located. I connected the 1TB SSD via SATA to my Intel NUC. This is used exclusively for storing the blockchain and Lightning Node.
## Create Debian VM
We install Raspiblitz on a fresh Debian machine. Therefore we have to download the ISO file from Debian first. Here just choose the right processor architecture: (For me it is amd64)
[https://www.debian.org/distrib/netinst](https://www.debian.org/distrib/netinst)
Afterwards this ISO file can be uploaded under Proxmox. To do this, click on the Local Storage, ISO Images and on Upload:
![](images/2022-09-21_16-05.png)
Now you can create a new virtual machine by clicking on "Create VM" in the upper right corner. Now we click on it.
![](images/2022-09-21_20-16.png)
A settings window appears where we can now specify the properties of the VM. In my example, the properties look like this:
VM ID and name can be selected by yourself.
![](images/2022-09-21_20-03.png)
Under the item "OS" we now select the previously downloaded ISO file:
![](images/2022-09-21_20-04.png)
Under "System" we can leave the default settings. I have checked Qemu Agent so that the VM can communicate with the Proxmox host via Qemu Agent and transfer data.
![](images/2022-09-21_20-05.png)
Under "Disks" you can now specify the desired size of the VM. I have set the same size (32GB) as my SD cards from the Raspiblitz are big. This can be increased at any time in the future, if you need more space and the host machine also has this space available. Another advantage why I virtualized my Raspiblitz :)
![](images/2022-09-21_20-06.png)
Under "CPU" you can specify the desired number of cores. Of course, this depends on your host operating system. My Intel NUC has 4 cores, so I can provide 4 cores to the VM.
![](images/2022-09-21_20-06_1.png)
Under "Memory" you must specify the desired RAM number in MB. This also depends on your host. If possible, I would enter 8GB or more. **Small hint: 1GB = 1024 MB. So 8GB = 8192 MB. (8 x 1024)**
![](images/2022-09-21_20-07.png)
The VM also needs a network adapter. You also have to select this adapter based on your Proxmox installation. Default will be vmbr0. On my Proxmox I have configured several VLAN, where vmbr3 is my BTC VLAN. But this is only the case for me.
![](images/2022-09-21_20-08.png)
After that you can click on "Finish" and the VM will be created. This now also appears with name on the left side and can now be started. (Right click -> Start)
Now you can open the console (top right) of the VM and do the Debian installation steps normally. I have abbreviated the steps a bit here:
- Install
- Select Language
- Select Location
- Select Keyboard Language
- Set Hostname
- Set domain (or just leave it empty)
- Set root password
- Create new user (mine is called "pi")
- Set password for user pi
- Guided - use entire disk
- Select SCSI3 harddisk
- All files in one partition
- Finish partitioning and write changes to disk
- "Write the changes to disks?" -> Yes
- Scan extra installation media? -> No
- Package manager -> Select your country
- Package manager -> deb.debian.org
- http proxy -> leave empty and continue
- Participate in the package usage survey? -> No
- Software selection: SSH server and standard utilities should be sufficient here
- Install the GRUB boot loader to your primary drive? -> Yes
- Select /dev/sda
The VM is now installed and starts to boot. In the meantime you can remove the ISO file. (VM -> Hardware -> CD/DVD Drive -> Do not use any media -> OK)
## Add storage
Now to install Raspiblitz on this new VM we need to do 2 things: Connect the hard disk for the blockchain data and pass it to the VM and install the SD Card Builder Script of Raspiblitz. We start first with the hard disk, where there are 2 variants:
### Variant 1: External hard disk
Now connect the hard drive to the host system using SATA or USB. In my example here I use a USB hard disk, which I connected via USB 3.1 to the Intel NUC. The best thing to do now is to shutdown the Raspiblitz VM.
Now you need to log in to the console on the Proxmox host system and do the following:
https://www.youtube.com/watch?v=U-UTMuhmC1U
The commands from the video here again to copy:
```
ls -n /dev/disk/by-id/
/sbin/qm set [VM-ID] -virtio2 /dev/disk/by-id/[DISK-ID]
```
It is important here that the hard disk is passed through by ID. If something changes in the dev sda order in the future, the correct hard disk is still connected to the VM.
### Variant 2: Use internal storage
If you have enough space on the host operating system, you do not have to use an external hard disk. You can simply add a second hard disk to the VM under "Hardware -> Add -> Hard Disk". I would recommend at least 1TB as storage size.
* * *
Regardless of whether variant 1 or 2 was executed, the VM should now have 2 hard disks connected in the hardware overview: A smaller one (e.g. 32GB) where the operating system of Raspiblitz will be installed and run and a larger one (e.g. 1TB or more) where all the blockchain data will be stored later.
![](images/2022-09-21_21-04.png)
## Install Raspiblitz
Now we are ready to install Raspiblitz via script. For this we start the Raspiblitz VM and log in as root user in the console. First of all update everything:
```
apt update
apt upgrade -y
apt install sudo
```
Now we need to download the Build SDCard Script from Rootzoll. The version can be customized as you like. The latest version (as of block time 768745) is the 1.9.
```
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/v1.9/build_sdcard.sh
```
And run:
```
sudo bash build_sdcard.sh
```
The script now shows you information from your system. If all this is correct, start with "yes".
![](images/2022-09-21_21-16.png)
Now the installation takes a few minutes. Do not abort or shut down the VM here, just let it install. When everything is finished, a reboot is needed:
```
sudo shutdown -r now
```
Now you can call the IP address of your VM in the browser and perform the normal installation steps of Raspiblitz.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -0,0 +1,61 @@
Documentation focused on install for macos dev environment. Do not rely on this setup for mainnet nodes.
1. Download [Debian 10.4 Minimal Image](https://mac.getutm.app/gallery/debian-10-4-minimal)
2. Resize the image container to 30GB
`qemu-img resize ~/Library/Containers/com.utmapp.UTM/Data/Documents/Debian\ ARM.utm/Images/debian.qcow2 +30G`
3. Add USB Device to the VM
- Right click the VM from the list.
- Select `new drive` from the Drives Menu
- Update the interface to `USB`
- Update size to 40GB
4. Install Dependencies
- `sudo apt install mount e2fsprogs gnupg2`
- Install [armbian-config](https://github.com/armbian/config#armbian-configuration-utility)
```
echo "deb [arch=arm64] http://apt.armbian.com $(lsb_release -cs) main" > /etc/apt/sources.list.d/armbian.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 9F0E78D5
sudo apt update
sudo apt install armbian-config
```
5. (Optional) Switch to swapfile - [Reference](https://www.linuxuprising.com/2018/08/how-to-use-swap-file-instead-of-swap.html)
```
sudo swapoff /dev/vda3
sudo vim /etc/fstab
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576`
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon -s
```
6. Update `/etc/apt/sources` to `bullseye` and add `raspi.list`
```
deb https://archive.raspberrypi.org/debian/ bullseye main
deb-src https://archive.raspberrypi.org/debian/ bullseye main
```
- [https://ict.gctaa.net/resources/adding_raspbian_repo.html](https://ict.gctaa.net/resources/adding_raspbian_repo.html)
- [https://www.linuxquestions.org/questions/blog/craigevil-176422/raspberry-pi-os-debian-11-bullseye-apt-repos-38636/](https://www.linuxquestions.org/questions/blog/craigevil-176422/raspberry-pi-os-debian-11-bullseye-apt-repos-38636/)
- [https://www.cyberciti.biz/faq/update-upgrade-debian-10-to-debian-11-bullseye/](https://www.cyberciti.biz/faq/update-upgrade-debian-10-to-debian-11-bullseye/)
- [https://www.tomshardware.com/how-to/upgrade-raspberry-pi-os-to-bullseye-from-buster](https://www.tomshardware.com/how-to/upgrade-raspberry-pi-os-to-bullseye-from-buster)
7. Add /usr/sbin to path
1. `sudo vim ~/.bashrc`
2. Add `PATH=$PATH:/usr/sbin` to the end of the file
3. Save File `:wq!`
4. Run `source ~/.bashrc`
8. Add keys
```
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 82B129927FA3303E
sudo apt-key adv --recv-keys --keyserver **keys.openpgp.org** 74A941BA219EC810
```
9. Resize partition - [Source](https://askubuntu.com/a/116367)
1. Run `sudo fdisk /dev/sda`
- use `p` to list the partitions. Make note of the start cylinder of `/dev/sda1`
- use `d` to **delete** first the swap partition (`2`) and then the `/dev/sda1` partition. This is very scary but is actually harmless as the data is not written to the disk until you write the changes to the disk.
- use `n` to **create** a new primary partition. Make sure its start cylinder is exactly the same as the old `/dev/sda1` used to have. For the end cylinder agree with the default choice, which is to make the partition to span the whole disk.
- review your changes, make a deep breath and use `w` to write the new partition table to disk.
2. Reboot with `sudo reboot`.
10. Make usb filesystem by running command `mkfs.ext4 /dev/sda1` where `/dev/sda1` is your new disk.
11. [Install raspiblitz via build script](https://github.com/rootzoll/raspiblitz/tree/v1.7/alternative.platforms#building-the-raspiblitz-scripts)
12. [Configure signet](https://github.com/rootzoll/raspiblitz/issues/1500#issuecomment-982779830)
13. Reboot with `sudo reboot`.
14. Login with `admin` user. Default password: `raspiblitz`

View File

@ -1,24 +1,116 @@
<!-- omit in toc -->
# ⚡️ Alternative platforms for the RaspiBlitz ⚡️
- [Minimum requirements](#minimum-requirements)
- [Recommended specs](#recommended-specs)
- [amd64 image](#amd64-image)
- [Requirements](#requirements)
- [Automated builds](#automated-builds)
- [Virtual Machine](#virtual-machine)
- [Create the base image](#create-the-base-image)
- [Building the Raspiblitz scripts](#building-the-raspiblitz-scripts)
- [Notes](#notes)
- [Data drive](#data-drive)
- [Armbian](#armbian)
- [Ubuntu](#ubuntu)
- [Python upgrade](#python-upgrade)
- [Manual image release for amd64](#manual-image-release-for-amd64)
- [Requirements:](#requirements-1)
- [Create an NTFS formatted USB Stick / USB disk](#create-an-ntfs-formatted-usb-stick--usb-disk)
- [Boot Ubuntu Live from USB](#boot-ubuntu-live-from-usb)
- [Download and verify the base image](#download-and-verify-the-base-image)
- [Flash the base image to the installation medium](#flash-the-base-image-to-the-installation-medium)
- [Install Debian to the OS disk](#install-debian-to-the-os-disk)
- [Install the RaspiBlitz Scripts](#install-the-raspiblitz-scripts)
- [Prepare the release](#prepare-the-release)
- [Clean and shutdown the build machine](#clean-and-shutdown-the-build-machine)
- [Start Tails](#start-tails)
- [Import the signing keys](#import-the-signing-keys)
- [Prepare the disk](#prepare-the-disk)
- [Verify the downloaded image](#verify-the-downloaded-image)
- [Linux instructions](#linux-instructions)
- [Create a torrent](#create-a-torrent)
Minimum requirements:
* ARMv7, ARMv8 or x86 processor (32 or 64 bit)
## Minimum requirements
* ARMv8 or x86 processor (64 bit)
* 1 GB RAM
* \> 300 GB HDD
Desirable:
* \> 2GB DDR3 RAM
* USB 3.0 or SATA connector
* SSD
* Compact case with efficient cooling (heatsink / fan)
* HDMI / GPIO screen
* 500 GB HDD
* Python >=3.9 (see [how to upgrade below](#python-upgrade) )
### Recommended specs
* \> 2GB DDR3 ECC RAM (8GB+ if using ZFS)
* USB 3.0 / SATA / PCIE / NVME connectors
* SSD - multiple disks for redundancy
Specifications of the tested hardware: [hw_comparison.md](hw_comparison.md)
All testers are welcome. Open an issue for your specific board to collaborate and share your experience.
---
## Armbian Buster
## amd64 image
### Requirements
* amd64 Laptop, Desktop or Server connected to the internet via a LAN cable
* `OS disk`: min 32GB SSD is recommended to run the system on
* if the computer can boot from an SDcard an Endurance type card can be used similar to the RPi setup
* USB SSD recommendation: [Sandisk Extreme Pro USB 128 GB](https://www.amazon.co.uk/SanDisk-Extreme-Solid-State-Flash/dp/B01MU8TZRV)
* if the laptop has an optical drive an [Optical Drive Bay Caddy / adapter](https://www.amazon.co.uk/dp/B07SHSCVC7/) can be used to change it to a second SSD instead.
* `Data disk`: a new, minimum 1TB SSD is recommended - stores data independent of the operating system
* usually placed internally
### Automated builds
* find the download links or build locally with the instructions in: [/ci/README.md](/ci/README.md)
## Virtual Machine
Instructions to run a RaspiBlitz as a VM on a Linux host machine.
The process is similar if you want to run RaspiBlitz on the bare metal.
Tested with:
* Debian image in VirtualBox and linux virt-manager / [cockpit-machines](https://github.com/cockpit-project/cockpit-machines)
* Ubuntu image in VirtualBox and linux virt-manager / [cockpit-machines](https://github.com/cockpit-project/cockpit-machines)
* Debian image in VirtualBox https://github.com/rootzoll/raspiblitz/issues/2756#issuecomment-983532237
* TrueNAS (FreeBSD bhyve) with an Ubuntu VM: https://github.com/rootzoll/raspiblitz/issues/2104#issuecomment-917444238
* [QEMU+UTM](https://github.com/rootzoll/raspiblitz/blob/dev/alternative.platforms/QEMU/raspiblitz-on-qemu.md)
### Create the base image
* Download and install the base OS on an at least 32GB drive
* Debian is the most tested and is closest to the RaspberryOS: <https://www.debian.org/distrib/>
* Ubuntu should work, but less tested
* To just experiment can load a virtualbox image from: <https://www.osboxes.org/debian/> or <https://www.osboxes.org/ubuntu>.
These not need installation, password: `osboxes.org`
### Building the Raspiblitz scripts
* Run the build script in the terminal of the base OS (with sudo access):
```bash
# download the build script
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/dev/build_sdcard.sh
# run
sudo bash build_sdcard.sh -f false -b dev -d headless -t false -w off
```
```
Options:
-EXPORT just print build parameters & exit'
-h, --help this help info
-i, --interaction [0|1] interaction before proceeding with execution (default: 1)
-f, --fatpack [0|1] fatpack mode (default: 1)
-u, --github-user [raspiblitz|other] github user to be checked from the repo (default: raspiblitz)
-b, --branch [v1.7|v1.8] branch to be built on (default: v1.10)
-d, --display [lcd|hdmi|headless] display class (default: lcd)
-t, --tweak-boot-drive [0|1] tweak boot drives (default: 1)
-w, --wifi-region [off|US|GB|other] wifi iso code (default: US) or 'off'
```
* Switch off when ready
* Attach an other disk (can be even small if you prune or [stop bitcoind](https://github.com/rootzoll/raspiblitz/issues/1500#issuecomment-982779830) manually.
The second virtual disk will be used as the BLOCKCHAIN drive.
This makes that data portable and independent from the OS similar to the combination of the SDcard and separate SSD.
### Notes
#### Data drive
* create a raw image of 500+ GB for best compatibility
* if there are permission issues try to symlink the disk image to `/var/lib/libvirt/images`
## Armbian
Many SBC-s are supported:
https://www.armbian.com/download/
@ -27,14 +119,13 @@ To verify the downloaded image follow: https://docs.armbian.com/User-Guide_Getti
Tested on:
* Odroid XU4 / HC1 / HC2 with the Armbian Buster image from https://www.armbian.com/odroid-xu4/
Burn the image to the SDcard with [Etcher](https://www.balena.io/etcher/).
Assemble and boot.
Assemble and boot.
`ssh root@192.168.x.x`
password: 1234
password: `1234`
Follow the instructions in the terminal. Set the new password to `raspiblitz` and name the new user `admin` to keep in line with the rest of the setup.
@ -42,8 +133,7 @@ Continue with building the SDcard: https://github.com/rootzoll/raspiblitz#build-
---
## Ubuntu Bionic
## Ubuntu
A common distro to be supplied by the manufacturer for various boards.
Tested on:
@ -74,26 +164,258 @@ Continue with building the SDcard: https://github.com/rootzoll/raspiblitz#build-
---
## DietPi
## Python upgrade
* run the commands below in the terminal line-by-line
```bash
# select version
pythonVersion="3.10.4"
majorPythonVersion=$(echo "$pythonVersion" | awk -F. '{print $1"."$2}' )
# update and upgrade
sudo apt update
sudo apt upgrade -y
# dependencies
sudo apt install wget software-properties-common build-essential libnss3-dev zlib1g-dev libgdbm-dev libncurses5-dev libssl-dev libffi-dev libreadline-dev libsqlite3-dev libbz2-dev -y
# download
wget https://www.python.org/ftp/python/${pythonVersion}/Python-${pythonVersion}.tgz
# optional signature for verification
wget https://www.python.org/ftp/python/${pythonVersion}/Python-${pythonVersion}.tgz.asc
# get PGP pubkey of Pablo Galindo Salgado
gpg --recv-key CFDCA245B1043CF2A5F97865FFE87404168BD847
# check for: Good signature from "Pablo Galindo Salgado <pablogsal@gmail.com>"
gpg --verify Python-${pythonVersion}.tgz.asc
# unzip
tar xvf Python-${pythonVersion}.tgz
cd Python-${pythonVersion}
# configure
./configure --enable-optimizations
# install
sudo make altinstall
# move the python binary to the expected directory
sudo mv $(which python${majorPythonVersion}) /usr/bin/
# check
ls -la /usr/bin/python${majorPythonVersion}
# make the new version the default
sudo rm /etc/alternatives/python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python${majorPythonVersion} 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${majorPythonVersion} 1
# check
python --version
python3 --version
```
Many SBC-s are supported:
https://dietpi.com/#download
## Manual image release for amd64
Tested on:
Work notes partially based on: https://github.com/rootzoll/raspiblitz/blob/v1.7/FAQ.md#what-is-the-process-of-creating-a-new-sd-card-image-release
* Odroid HC1
* Odroid HC2 (the same board with a 3.5" 12V HDD)
* Odroid XU4 (with HDMI screen)
* Raspberry Pi 3 B+ (with the default GPIO or HDMI display)
### Requirements:
* amd64 Laptop or Server connected to the internet via a LAN cable
* [`Ubuntu Live`](https://releases.ubuntu.com/focal/ubuntu-20.04.5-desktop-amd64.iso) USB Stick to start on a clean system
* `Installation medium`: min 8GB SDcard / USB stick to install the base image from
* `OS disk`: min 32 GB Endurance type SDcard or USB SSD to run the operating system on
* (`Data disk`: a new, minimum 1TB SSD is recommended - not needed to create the image release)
* [`Tails USB Stick`](https://tails.boum.org/install/download/) to sign the image offline
* PGP keys on an USB stick to sign the image
* NTFS formatted USB Stick or disk to store the signed image (can reuse the Installation medium)
### Create an NTFS formatted USB Stick / USB disk
* can be prepared any time on a separate computer and can reuse the Installation medium
### Boot Ubuntu Live from USB
* Start [`Ubuntu Live`](https://releases.ubuntu.com/focal/ubuntu-20.04.5-desktop-amd64.iso) from USB stick
* Under Settings: best to set correct keyboard language & power settings to prevent monitor turn off
### Download and verify the base image
* Download the latest [Debian Desktop netinst.io, SHA512SUMS and Signature](https://www.debian.org/download) and verify the [downloaded image](https://www.debian.org/CD/verify)
* In a terminal can use the following commands (see the comments for the explanations and an example output)
```bash
# Download the base image:
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-11.3.0-amd64-netinst.iso
# Download the SHA512SUMS:
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS
# Download the Signature:
wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS.sign
# Verify:
# download the signing pubkey:
gpg --keyserver keyring.debian.org --receive-key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
# gpg: key DA87E80D6294BE9B: public key "Debian CD signing key <debian-cd@lists.debian.org>" imported
# gpg: Total number processed: 1
# gpg: imported: 1
# Verify the signature of the SHA512SUMS file
gpg --verify gpg --verify SHA512SUMS.sign
# Look for the output 'Good signature':
# gpg: assuming signed data in 'SHA512SUMS'
# gpg: Signature made Sat 26 Mar 2022 21:22:41 GMT
# gpg: using RSA key DF9B9C49EAA9298432589D76DA87E80D6294BE9B
# gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: DF9B 9C49 EAA9 2984 3258 9D76 DA87 E80D 6294 BE9B
# Compare the hash to the hash of the image file:
sha512sum -c SHA512SUMS --ignore-missing
# Look for the output 'OK':
# debian-11.3.0-amd64-netinst.iso: OK
```
### Flash the base image to the installation medium
* Connect an SDcard reader with a min 8GB SDcard or an USB stick.
* In the file manager open the context menu (right click) on the `netinst.iso` file.
* Select the option `Open With Other Application` and choose `Open With Disk Image Writer`.
* Write the image to the SDcard / USB SSD (Installation medium).
* Shut down the Laptop now and remove the `Ubuntu Live` USB Stick.
### Install Debian to the OS disk
* Connect the Laptop / Server to the LAN (with cable) with only the OS disk connected (no Data disk)
* Insert the installation medium to the USB and power up - boot from USB.
* Continue to work on the screen of the laptop or a connected monitor
* Install Debian with the defaults:
* leave the root password empty (root user disabled)
* create a new user called `pi`, set the password to `raspiblitz`
* use a single partition for the OS
* Choose: `Guided - use entire disk`
* Select the OS disk
* All files in one partition
* Can remove the `Swap` partition - a swap file will be created on the Data disk later
* At the `Software selection` choose:
* Debian desktop environment
* GNOME (could be other as preferred)
* SSH server
* standard system utilities
* Install GRUB on the primary partition (OS Disk)
The HDMI screen tested: https://www.aliexpress.com/item/3-5-inch-LCD-HDMI-USB-Touch-Screen-Real-HD-1920x1080-LCD-Display-Py-for-Raspberri/32818537950.html
### Install the RaspiBlitz Scripts
* Once the setup is finished reboot and log in with the `pi` user (pw: `raspiblitz`)
* Run the following commands to build from the `dev` branch or change `dev` with the branch name of your version:
```bash
# download
wget https://raw.githubusercontent.com/rootzoll/raspiblitz/dev/build_sdcard.sh
# run
sudo bash build_sdcard.sh -f true -b dev -d headless -t false -w off
```
* The `[sudo] password for pi:` is `raspiblitz`
* Confirm the chosen parameters
* Monitor/Check outputs for warnings/errors
* (Optional for development - copy the output to a build_sdcard.sh.log)
Detailed instructions for the RaspiBlitz-on-DietPi: [alternative.platforms/dietpi/README.md](/alternative.platforms/dietpi/README.md)
* Useful settings:
* In Settings - Power - Automatic Suspend - Plugged In - Off
* In Tweaks - General - Suspend when laptop lid is closed - Off
---
For the process to build a custom SDcard image release see:
https://github.com/rootzoll/raspiblitz/blob/dev/FAQ.md#what-is-the-process-of-creating-a-new-sd-card-image-release
Extras for advanced users and powerful hardware:
https://github.com/openoms/bitcoin-tutorials/
### Prepare the release
#### Clean and shutdown the build machine
* run the command (same as running `release` under `admin`):
```bash
sudo -u admin /home/admin/config.scripts/blitz.preparerelease.sh
```
* This will shut down the laptop.
* Remove the `Installation medium` and the `Ubuntu Live` USB stick and the LAN cable
#### Start Tails
* Connect the `Tails USB Stick` (make it stay offline)
* Boot Tails and set and Admin password in Additional Settings (will need it to work with the disk)
* Set the screen to not switch off: Settings > Power -> Blank screen - Never
#### Import the signing keys
* Connect USB stick with GPG signing keys - decrypt drive if needed
* Open Terminal and cd into directory of USB Stick under `/media/amnesia`
* Run `gpg --import ./secret-key-backup.key`, check and `exit`
* Disconnect USB stick with GPG keys
##### Prepare the disk
* Start Disks and resize the OS disk partition to 10GB
* Connect the NTFS USB stick, open in file manager and delete old files
* Open a terminal from the NTFS disk with right click
* Run `lsblk` in a terminal to double check the OS disk device name (ignore last partition number)
* Clone and compress the OS disk image (copy 11GB so the 10GB sized partition is comfortably included):
```bash
sudo dd if=/dev/[OSdiskddevice] bs=1G count=11 status=progress | gzip > raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz
```
* When finished you should see that 30GB was copied (the resulting compressed file is less than 3GB).
* Create sha256 hash of the image:
```bash
sha256sum *.gz > raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz.sha256
```
* Sign the sha256 hash file:
```bash
gpg --detach-sign --armor *.sha256
```
* Check the files:
```bash
ls
raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz
raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz.sha256
raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz.sha256.asc
```
* Test with:
```bash
gpg --verify *.asc
shasum -c *.sha256
```
* Shutdown the build computer
* Upload the new image to server - put the .sig file and .sha256 next to it
* Copy the sha256sum to GitHub README and update the download link
### Verify the downloaded image
#### Linux instructions
* Open a terminal in the directory with the downloaded files
```
raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz
raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz.sha256
raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz.sha256.asc
```
* Paste the following commands (see the comments for the explanations and an example output)
```bash
# Import the signing pubkey:
curl https://keybase.io/oms/pgp_keys.asc | gpg --import
# Verify the signature of the sha256 hash:
gpg --verify *.asc
# Look for the output 'Good signature':
# gpg: assuming signed data in 'raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz.sha256'
# gpg: Signature made Mon DAY MONTH YEAR xx:xx:xx GMT
# gpg: using RSA key 13C688DB5B9C745DE4D2E4545BFB77609B081B65
# gpg: Good signature from "openoms <oms@tuta.io>" [unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 13C6 88DB 5B9C 745D E4D2 E454 5BFB 7760 9B08 1B65
# Compare the sha256 hash to the hash of the image file
shasum -c *.sha256
# Look for the output 'OK' :
# raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY.img.gz: OK
```
### Create a torrent
* Create Torrent file from image (for example with Transmission / qbBittorrent) and place in the `home.admin/assets` folder & link on README
* Tracker list recommended to be used with the torrent:
```
udp://tracker.coppersurfer.tk:6969/announce
http://tracker.yoshi210.com:6969/announce
http://open.acgtracker.com:1096/announce
http://tracker.skyts.net:6969/announce
udp://9.rarbg.me:2780/announce
http://tracker2.itzmx.com:6961/announce
udp://exodus.desync.com:6969/announce
http://pow7.com:80/announce
udp://tracker.leechers-paradise.org:6969
```
* Comments:
```
raspiblitz-raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY
raspiblitz-raspiblitz-amd64-vX.X.X-YEAR-MONTH-DAY image, sha256sum and signature
Find more info at: https://github.com/rootzoll/raspiblitz/tree/dev/alternative.platforms
# Import the signing pubkey:
curl https://keybase.io/oms/pgp_keys.asc | gpg --import
gpg --verify *.asc
# Verify the signature of the sha256 hash (Look for the output 'Good signature'):
gpg --verify *.asc
# Look for the output 'Good signature'
# Compare the sha256 hash to the hash of the image file (Look for the output 'OK'):
shasum -c *.sha256
```

View File

@ -21,18 +21,8 @@
"ssh_username": "vagrant",
"type": "virtualbox-iso",
"vboxmanage": [
[
"modifyvm",
"{{.Name}}",
"--memory",
"1024"
],
[
"modifyvm",
"{{.Name}}",
"--cpus",
"1"
]
["modifyvm", "{{.Name}}", "--memory", "1024"],
["modifyvm", "{{.Name}}", "--cpus", "1"]
],
"vm_name": "raspiblitz-amd64"
}
@ -63,10 +53,9 @@
],
"variables": {
"branch": "dev",
"github_user": "rootzoll",
"iso_checksum": "2af8f43d4a7ab852151a7f630ba596572213e17d3579400b5648eba4cc974ed0",
"github_user": "raspiblitz",
"iso_checksum": "23ab444503069d9ef681e3028016250289a33cc7bab079259b73100daee0af66",
"iso_checksum_type": "sha256",
"iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.6.0-amd64-netinst.iso"
"iso_url": "https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.2.0-amd64-netinst.iso"
}
}

View File

@ -22,9 +22,3 @@ wget --no-check-certificate \
-O /home/vagrant/.ssh/authorized_keys
chmod 0600 /home/vagrant/.ssh/authorized_keys
chown -R vagrant /home/vagrant/.ssh
# disable apparmor - tor will not work with raspiblitz customization
mkdir -p /etc/default/grub.d
echo 'GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT apparmor=0"' \
| tee /etc/default/grub.d/apparmor.cfg
update-grub

View File

@ -10,7 +10,7 @@ cp /vagrant/home.admin/config.scripts/blitz.github.sh /home/admin/config.scripts
# execute 'patch' command to sync laptop with VM
/home/admin/config.scripts/blitz.github.sh -run
source <(/home/admin/config.scripts/internet.sh status)
source <(/home/admin/config.scripts/internet.sh status local)
echo
echo "************* NEXT ********************"

View File

@ -21,7 +21,7 @@ if [ ${isDietPi} -gt 0 ]; then
fi
if [ "${baseimage}" = "?" ]; then
cat /etc/os-release 2>/dev/null
echo "!!! FAIL !!!"
echo "# FAIL #"
echo "Base Image cannot be detected or is not supported."
exit 1
else
@ -55,7 +55,7 @@ if [ "${CHOICE}" = "GPIO" ]; then
sudo apt-mark hold raspberrypi-bootloader
sudo ./LCD35-show
else
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf 2>/dev/null
sudo mkdir /etc/X11/xorg.conf.d
sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/
sudo cp ./usr/tft35a-overlay.dtb /boot/overlays/tft35a.dtbo
@ -79,7 +79,7 @@ elif [ "${CHOICE}" = "HDMI" ]; then
sudo chmod -R 755 LCD-show
cd LCD-show/
#sudo ./MPI3508-show
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf
sudo rm -rf /etc/X11/xorg.conf.d/40-libinput.conf 2>/dev/null
if [ "${baseimage}" != "dietpi" ]; then
sudo cp -rf ./boot/config-35-480X320.txt /boot/config.txt

1674
build_sdcard.sh Executable file → Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +0,0 @@
# Raspiblitz Case: Standard
This is a raspiblitz case prototype. The standard file (Raspiblitz_standard.stl) should be modified to fit your HDD.
#### To Do
* Update the HDD container to fit the standard HDD model from the raspiblitz amazon buylist. (Toshiba HDTB420EK3AA 2TB Canvio Basics 2.5-Inch USB 3.0 Portable External Hard Drive - Black)
* Add a cool lightning bolt to improve the design.

272
ci/README.md Normal file
View File

@ -0,0 +1,272 @@
<!-- omit in toc -->
# Automated builds
<details>
<summary>Table of Contents</summary>
- [Ready made images for arm64-rpi](#ready-made-images-for-arm64-rpi)
- [Ready made images for amd64 (x86)](#ready-made-images-for-amd64-x86)
- [Write the image to a disk connected with USB](#write-the-image-to-a-disk-connected-with-usb)
- [Prepare the disk](#prepare-the-disk)
- [Option 1 - rite the .qcow2 file directly to disk with `qemu-image dd`](#option-1---rite-the-qcow2-file-directly-to-disk-with-qemu-image-dd)
- [Option 2 - convert the .qcow2 volume to a raw disk image](#option-2---convert-the-qcow2-volume-to-a-raw-disk-image)
- [The first boot](#the-first-boot)
- [Lean image with Gnome desktop (default image)](#lean-image-with-gnome-desktop-default-image)
- [Extend the root partition (optional - recommended)](#extend-the-root-partition-optional---recommended)
- [Add wifi driver (optional)](#add-wifi-driver-optional)
- [Local build](#local-build)
- [Generate an arm64-rpi image](#generate-an-arm64-rpi-image)
- [Generate an amd64 image](#generate-an-amd64-image)
- [amd64-lean-desktop-uefi-image](#amd64-lean-desktop-uefi-image)
- [amd64-lean-server-legacyboot-image](#amd64-lean-server-legacyboot-image)
- [Notes for the lean server image without Gnome desktop](#notes-for-the-lean-server-image-without-gnome-desktop)
- [After the boot](#after-the-boot)
- [Connect to wifi from the command line (optional)](#connect-to-wifi-from-the-command-line-optional)
- [Add Gnome desktop to the server image (optional)](#add-gnome-desktop-to-the-server-image-optional)
- [Fatpack images](#fatpack-images)
- [Workflow notes](#workflow-notes)
- [VNC](#vnc)
- [Packer settings](#packer-settings)
- [Flashing](#flashing)
</details>
## Ready made images for arm64-rpi
* The images are built in GitHub actions
* To see the downloadable artifacts will need to log in to GitHub
* Find the latest successful build of the default amd64 image:
https://github.com/raspiblitz/raspiblitz/actions/workflows/arm64-rpi-lean-image.yml?query=workflow%3Aarm64-rpi-lean-image-build+is%3Asuccess+branch%3Adev
* unpack the artifact to the same directory
```
unzip ./raspiblitz-arm64-rpi-image-*.zip
```
* The resulting `raspiblitz-arm64-rpi-lean.img.gz` can be written to an SDcard directly with Balena Etcher
## Ready made images for amd64 (x86)
* The images are built in GitHub actions
* To see the downloadable artifacts will need to log in to GitHub
* Find the latest successful build of the default amd64 image:
https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?query=workflow%3Aamd64-lean-image-build+branch%3Adev+is%3Asuccess++
```
# unpack the artifact to the same directory
unzip ./raspiblitz-amd64-image-*.zip
# unpack the image
gzip -dkv raspiblitz-amd64-debian-lean.qcow2.gz
# install qemu-utils
sudo apt install -y qemu-utils
```
### Write the image to a disk connected with USB
#### Prepare the disk
* identify the connected disk with `lsblk` e.g., `/dev/sdk`
* set the disk variable
```
# identify the USB connected disk
lsblk
# set the disk variable
disk=/dev/sdk
```
* clean the existing partitions:
```
# unmount all partitions
sudo umount ${disk}*
# wipe the partition table
sudo wipefs --all ${disk}
```
#### Option 1 - rite the .qcow2 file directly to disk with `qemu-image dd`
* requires less disk space - the .qcow2 volume is 8.1 GB
```
sudo qemu-img dd if=./raspiblitz-amd64-debian-lean.qcow2 of=${disk} bs=4M
```
#### Option 2 - convert the .qcow2 volume to a raw disk image
* the raw .img is 30GB
```
# convert
qemu-img convert ./raspiblitz-amd64-debian-lean.qcow2 ./raspiblitz-amd64-debian-lean.img
```
* identify the connected disk with `lsblk` e.g., `/dev/sdk`
* use [Balena Etcher](https://www.balena.io/etcher/)
* or `dd` to write the .img to disk
```
sudo dd if=./raspiblitz-amd64-debian-lean.img of=${disk} bs=4M status=progress
```
### The first boot
#### Lean image with Gnome desktop (default image)
* log in on screen:
* username: `admin`
* password: `raspiblitz`
* start a terminal for guidance
* alternatively connect with ssh over the LAN with the same username and password
#### Extend the root partition (optional - recommended)
* The default image is 30GB. The partition can be extended to the full size of the disk.
* The lvm partition can be extended while mounted so this step can be done later as well while the system is running.
* CLI (recommended)
```
# identify the USB connected disk
lsblk
df -h
# select the disk carefully
disk="/dev/sde"
# resize the extended partition to the full size of the disk
sudo parted ${disk} -- resizepart 2 100%
# resize the lvm partition to the full size of the disk
sudo parted ${disk} -- resizepart 5 100%
# extend the physical volume to size of the lvm partition
sudo pvresize ${disk}5
# extend the root lvm to the full free space and resize the filesystem
sudo lvextend -r -l +100%FREE /dev/mapper/raspiblitz--amd64--vg-root
```
* GUI with GParted
```
# install
sudo apt install gparted
# start the gparted GUI
sudo gparted
# resize the extended partition to the full size of the disk
# extend the lvm to the full free space and resize the filesystem (extends the swap space by default)
# in CLI: extend the root lvm
sudo lvextend -r -l +100%FREE /dev/mapper/raspiblitz--amd64--vg-root
```
#### Add wifi driver (optional)
* as in https://wiki.debian.org/iwlwifi
* add the component `non-free` after `deb http://deb.debian.org/debian bullseye main` in `/etc/apt/sources.list`
* install the wifi driver for the mentioned cards:
```
sudo apt update && sudo apt install firmware-iwlwifi
```
* alternatively download the deb package from: http://ftp.debian.org/debian/pool/non-free-firmware/f/firmware-nonfree/firmware-iwlwifi_20230210-5_all.deb
* install with:
```
sudo dpkg -i firmware-iwlwifi_20230210-5_all.deb
```
## Local build
with the [Makefile](https://github.com/rootzoll/raspiblitz/blob/dev/Makefile)
* needs ~20 GB free space
* tested on:
* Ubuntu Live (jammy)
* Debian Bullseye Desktop
* Preparation:
```
# change to a mountpoint with sufficient space (check with 'df -h')
cd $HOME/
# switch to root
sudo su
# install git and make
apt update && apt install -y git make
# download the repo (or your fork)
git clone https://github.com/rootzoll/raspiblitz
cd raspiblitz
# checkout the desired branch
git checkout dev
```
### Generate an arm64-rpi image
* The workflow locally and in github actions generates a .img raw format image for the Raspberry Pi.
```
make arm64-rpi-lean-image
```
* find the image and sha256 hashes in the `ci/arm64-rpi/packer-builder-arm` directory
* the .img.gz file can be written to an SDcard directly with Balena Etcher
### Generate an amd64 image
* The workflow locally and in github actions generates a .qcow2 format amd64 image.
* When finished find the compressed .qcow2 image and sha256 hashes in the `ci/amd64/builds` directory
#### amd64-lean-desktop-uefi-image
* lean image, Gnome desktop, UEFI boot
* Tested with
* written to disk and booted with UEFI
```
make amd64-lean-desktop-uefi-image
```
#### amd64-lean-server-legacyboot-image
* lean image, no desktop (cli only), legacy boot for old computers
* Tested with
* libvirt / virsh / virt-manager (https://virt-manager.org/)
* written to disk and booted with legacy boot (non-UEFI / CSM mode)
```
make amd64-lean-server-legacyboot-image
```
## Notes for the lean server image without Gnome desktop
### After the boot
* press any key to get to a login prompt after the splash screen
* username: `admin`
* password: `raspiblitz`
### Connect to wifi from the command line (optional)
* if the wifi driver is included in the FOSS Debian distro
* in the command line run the network manager interface to connect:
```
sudo nmtui
```
#### Add Gnome desktop to the server image (optional)
* Connect to the internet (easiest to plug in a LAN cable - use a USB - LAN adapter if have no port)
```
apt install gnome
systemctl start gdm
```
## Fatpack images
* can open a browser and go to:
* http://localhost
* can also open the WebUI on another computer
* Find the the RaspiBlitz_IP in your router dashboard, in the terminal prompt or with `hostname -I`
* open: http://RaspiBlitz_IP
## Workflow notes
The github workflow files are the equivalent of the Makefile commands run locally.
The local repo owner (`GITHUB_ACTOR`) and branch (`GITHUB_HEAD_REF`) is picked up.
The build_sdcard.sh is downloaded from the source branch and built with the options pack=[lean|fatpack] to set fatpack=[0|1].
The github workflow is running the job in an ubuntu-22.04 image.
The amd64 image is built with running a qemu VM
* installs the base OS (Debian)
* connects with ssh and runs the scripts including the build_sdcard.sh
The arm64-rpi image generation runs in Docker in github actions and without Docker locally.
* the base image (RaspberryOS) is started in the qemu VM
* Packer runs the build_sdcard.sh directly in the VM
After the image is built (and there is no exit with errors) the next steps are:
* compute checksum of the qemu/raw image
* compress the image with gzip
* compute checksum of the compressed image
* (in github actions: upload the artifacts in one .zip file)
### VNC
* can follow the setup locally in VNC with the port stated in the first part of the logs eg: `Found available VNC port: 5900 on IP: 127.0.0.1`
### Packer settings
* `disk_size` / `image_size` - the size op the raw image. The .qcow2 file is compressed.
* `template` - image filename
* `output_directory` - directory under builds where the image will be placed
* the `pi` user is given passwordless sudo access and used for the image setup
* use `file_checksum` instead of `file_checksum_url`. The image must be downloaded and verified with PGP manually to fill the field:
```
# image
wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64.img.xz
# signature
wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64.img.xz.sig
# hash
wget https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2022-09-26/2022-09-22-raspios-bullseye-arm64.img.xz.sha256
curl https://www.raspberrypi.org/raspberrypi_downloads.gpg.key | gpg --import
sha256sum -c 2022-09-22-raspios-bullseye-arm64.img.xz.sha256 && \
gpg --verify 2022-09-22-raspios-bullseye-arm64.img.xz.sig
cat 2022-09-22-raspios-bullseye-arm64.img.xz.sha256
```
### Flashing
* using `qemu-img dd bs=4M if=raspiblitz-amd64-debian-lean.qcow2 of=/dev/sdd` changed the UUID so it won't boot without editing GRUB

4
ci/amd64/_common/env.sh Normal file
View File

@ -0,0 +1,4 @@
#!/bin/sh
echo "# Display the environment variables"
env

20
ci/amd64/_common/sshd.sh Normal file
View File

@ -0,0 +1,20 @@
#!/bin/sh -eux
SSHD_CONFIG="/etc/ssh/sshd_config"
# ensure that there is a trailing newline before attempting to concatenate
sed -i -e '$a\' "$SSHD_CONFIG"
USEDNS="UseDNS no"
if grep -q -E "^[[:space:]]*UseDNS" "$SSHD_CONFIG"; then
sed -i "s/^\s*UseDNS.*/${USEDNS}/" "$SSHD_CONFIG"
else
echo "$USEDNS" >>"$SSHD_CONFIG"
fi
GSSAPI="GSSAPIAuthentication no"
if grep -q -E "^[[:space:]]*GSSAPIAuthentication" "$SSHD_CONFIG"; then
sed -i "s/^\s*GSSAPIAuthentication.*/${GSSAPI}/" "$SSHD_CONFIG"
else
echo "$GSSAPI" >>"$SSHD_CONFIG"
fi

View File

@ -0,0 +1,115 @@
variable "iso_name" { default = "debian-12.6.0-amd64-netinst.iso" }
variable "iso_checksum" { default = "ade3a4acc465f59ca2496344aab72455945f3277a52afc5a2cae88cdc370fa12" }
variable "pack" { default = "lean" }
variable "github_user" { default = "raspiblitz" }
variable "branch" { default = "dev" }
variable "desktop" { default = "none" }
variable "boot" { default = "uefi" }
variable "preseed_file" { default = "preseed.cfg" }
variable "hostname" { default = "raspiblitz-amd64" }
variable "disk_size" { default = "30000" }
variable "memory" { default = "4096" }
variable "cpus" { default = "4" }
locals {
name_template = "${var.hostname}-debian-${var.pack}"
bios_file = var.boot == "uefi" ? "OVMF.fd" : "bios-256k.bin"
boot_command = var.boot == "uefi" ? [
"<wait><wait><wait>c<wait><wait><wait>",
"linux /install.amd/vmlinuz ",
"auto=true ",
"url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/${var.preseed_file} ",
"hostname=${var.hostname} ",
"domain=${var.hostname}.local ",
"interface=auto ",
"vga=788 noprompt quiet --<enter>",
"initrd /install.amd/initrd.gz<enter>",
"boot<enter>"
] : [
"<esc><wait>install <wait>",
"<wait><wait><wait><wait><wait><wait><wait><wait><wait><wait><wait><wait><wait><wait><wait><wait> preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/${var.preseed_file} <wait>",
"debian-installer=en_US.UTF-8 <wait>",
"auto <wait>",
"locale=en_US.UTF-8 <wait>",
"kbd-chooser/method=us <wait>",
"keyboard-configuration/xkb-keymap=us <wait>",
"netcfg/get_hostname=${var.hostname} <wait>",
"netcfg/get_domain=${var.hostname}.local <wait>",
"fb=false <wait>",
"debconf/frontend=noninteractive <wait>",
"console-setup/ask_detect=false <wait>",
"console-keymaps-at/keymap=us <wait>",
"grub-installer/bootdev=default <wait>",
"<enter><wait>"
]
}
source "qemu" "debian" {
boot_command = local.boot_command
boot_wait = "5s"
cpus = var.cpus
disk_size = var.disk_size
http_directory = "./http"
iso_checksum = var.iso_checksum
iso_url = "https://cdimage.debian.org/cdimage/release/current/amd64/iso-cd/${var.iso_name}"
memory = var.memory
output_directory = "../builds/${local.name_template}-qemu"
shutdown_command = "echo 'raspiblitz' | sudo /sbin/shutdown -hP now"
ssh_password = "raspiblitz"
ssh_port = 22
ssh_timeout = "10000s"
ssh_username = "pi"
format = "qcow2"
vm_name = "${local.name_template}.qcow2"
headless = false
vnc_bind_address = "127.0.0.1"
vnc_port_max = 5900
vnc_port_min = 5900
qemuargs = [
["-m", var.memory],
["-bios", local.bios_file],
["-display", "none"]
]
}
build {
description = "Can't use variables here yet!"
sources = ["source.qemu.debian"]
provisioner "shell" {
environment_vars = [
"HOME_DIR=/home/pi",
"github_user=${var.github_user}",
"branch=${var.branch}",
"pack=${var.pack}",
"desktop=${var.desktop}"
]
execute_command = "echo 'raspiblitz' | {{.Vars}} sudo -S -E sh -eux '{{.Path}}'"
expect_disconnect = true
scripts = [
"./../_common/env.sh",
"./scripts/update.sh",
"./../_common/sshd.sh",
"./scripts/networking.sh",
"./scripts/sudoers.sh",
"./scripts/systemd.sh",
"./scripts/build.raspiblitz.sh",
"./scripts/cleanup.sh"
]
}
}
packer {
required_version = ">= 1.7.0, < 2.0.0"
required_plugins {
qemu = {
source = "github.com/hashicorp/qemu"
version = ">= 1.0.0, < 2.0.0"
}
}
}

View File

@ -0,0 +1,72 @@
# https://github.com/chef/bento/blob/main/packer_templates/http/debian/preseed.cfg
# https://www.debian.org/releases/stable/example-preseed.txt
# https://github.com/tylert/packer-build/blob/master/source/debian/12_bookworm/base-uefi.preseed
# variables: https://github.com/tylert/packer-build/blob/master/source/debian/12_bookworm/base-uefi.pkr.hcl
# Locale Setup
d-i debian-installer/language string en
d-i debian-installer/country string US
d-i debian-installer/locale string en_US.UTF-8
# d-i localechooser/supported-locales multiselect en_CA.UTF-8 fr_CA.UTF-8 zh_CN.UTF-8
# d-i pkgsel/install-language-support boolean true
# Keyboard Setup
d-i keyboard-configuration/xkb-keymap select us
# Clock Setup
# d-i time/zone string Canada/Eastern
d-i time/zone string UTC
d-i clock-setup/utc boolean true
# set above to false if making a bootable USB to run on same system as Windows
# Network Setup
d-i netcfg/get_hostname string raspiblitz-amd64
d-i netcfg/get_domain string
# https://bugs.launchpad.net/ubuntu/+source/netcfg/+bug/713385
d-i netcfg/choose_interface select auto
# make sure you also add "interface=auto" to your boot command too
# https://bugs.launchpad.net/ubuntu/+source/netcfg/+bug/713385
# User Setup
d-i passwd/root-login boolean false
d-i passwd/root-password-again password raspiblitz
d-i passwd/root-password password raspiblitz
d-i passwd/user-fullname string pi
d-i passwd/user-uid string 1000
d-i passwd/user-password password raspiblitz
d-i passwd/user-password-again password raspiblitz
d-i passwd/username string pi
# Package Setup
d-i hw-detect/load_firmware boolean false
d-i hw-detect/load_media boolean false
apt-cdrom-setup apt-setup/cdrom/set-first boolean false
d-i mirror/country string manual
d-i mirror/http/hostname string httpredir.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string
d-i apt-setup/contrib boolean true
d-i apt-setup/non-free boolean true
tasksel tasksel/first multiselect ssh-server, standard
d-i pkgsel/include string sudo bzip2 acpid cryptsetup zlib1g-dev wget curl dkms fuse make nfs-common net-tools cifs-utils rsync
d-i pkgsel/install-language-support boolean false
d-i pkgsel/update-policy select none
d-i pkgsel/upgrade select full-upgrade
popularity-contest popularity-contest/participate boolean false
# Drive setup
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
d-i partman-auto/method string lvm
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/confirm_write_new_label boolean true
# Final Setup
d-i finish-install/reboot_in_progress note

View File

@ -0,0 +1,19 @@
#!/bin/sh -eux
echo 'Download the build_sdcard.sh script ...'
wget https://raw.githubusercontent.com/${github_user}/raspiblitz/${branch}/build_sdcard.sh
if [ ${pack} = "fatpack" ]; then
fatpack="1"
else
fatpack="0"
fi
if [ "${desktop}" = "gnome" ]; then
echo 'Add Gnome desktop'
export DEBIAN_FRONTEND=none
sudo apt install gnome -y
fi
echo 'Build RaspiBlitz ...'
bash build_sdcard.sh -f ${fatpack} -u ${github_user} -b ${branch} -d headless -t false -w off -i false

View File

@ -0,0 +1,55 @@
#!/bin/sh -eux
echo "remove linux-headers"
dpkg --list \
| awk '{ print $2 }' \
| grep 'linux-headers' \
| xargs apt-get -y purge;
echo "remove specific Linux kernels, such as linux-image-4.9.0-13-amd64 but keeps the current kernel and does not touch the virtual packages"
dpkg --list \
| awk '{ print $2 }' \
| grep 'linux-image-[234].*' \
| grep -v `uname -r` \
| xargs apt-get -y purge;
echo "remove linux-source package"
dpkg --list \
| awk '{ print $2 }' \
| grep linux-source \
| xargs apt-get -y purge;
echo "remove obsolete networking packages"
apt-get -y purge ppp pppconfig pppoeconf;
echo "remove popularity-contest package"
apt-get -y purge popularity-contest;
echo "remove installation-report package"
apt-get -y purge installation-report;
echo "autoremoving packages and cleaning apt data"
apt-get -y autoremove;
apt-get -y clean;
echo "remove /var/cache"
find /var/cache -type f -exec rm -rf {} \;
echo "truncate any logs that have built up during the install"
find /var/log -type f -exec truncate --size=0 {} \;
echo "blank netplan machine-id (DUID) so machines get unique ID generated on boot"
truncate -s 0 /etc/machine-id
echo "remove the contents of /tmp and /var/tmp"
rm -rf /tmp/* /var/tmp/*
echo "force a new random seed to be generated"
rm -f /var/lib/systemd/random-seed
echo "delete the SSH keys (will be recreated on the first boot)"
rm -f /etc/ssh/ssh_host_*
echo "clear the history so our install isn't there"
rm -f /root/.wget-hsts
export HISTSIZE=0

View File

@ -0,0 +1,14 @@
#!/bin/sh -eux
# Disable Predictable Network Interface names and use eth0
sed -i 's/en[[:alnum:]]*/eth0/g' /etc/network/interfaces
sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0 \1"/g' /etc/default/grub
update-grub
# Adding a 2 sec delay to the interface up, to make the dhclient happy
echo "pre-up sleep 2" >>/etc/network/interfaces
# needed for resolvconf installed in build_sdcard.sh
apt-get install resolvconf -y
echo 'nameserver 1.1.1.1' >/etc/resolv.conf
echo 'nameserver 8.8.8.8' >>/etc/resolv.conf

View File

@ -0,0 +1,9 @@
#!/bin/sh -eux
# Only add the secure path line if it is not already present
grep -q 'secure_path' /etc/sudoers \
|| sed -i -e '/Defaults\s\+env_reset/a Defaults\tsecure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"' /etc/sudoers;
# Set up password-less sudo for the pi user
echo 'pi ALL=(ALL) NOPASSWD:ALL' >/etc/sudoers.d/99_pi;
chmod 440 /etc/sudoers.d/99_pi;

View File

@ -0,0 +1,4 @@
#!/bin/sh -eux
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751636
apt-get install libpam-systemd

View File

@ -0,0 +1,19 @@
#!/bin/sh -eux
arch="$(uname -r | sed 's/^.*[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\(-[0-9]\{1,2\}\)-//')"
debian_version="$(lsb_release -r | awk '{print $2}')"
major_version="$(echo $debian_version | awk -F. '{print $1}')"
# Disable systemd apt timers/services
systemctl stop apt-daily.timer
systemctl stop apt-daily-upgrade.timer
systemctl disable apt-daily.timer
systemctl disable apt-daily-upgrade.timer
systemctl mask apt-daily.service
systemctl mask apt-daily-upgrade.service
systemctl daemon-reload
## leave update and upgrade to the build_sdcard.sh
#apt-get update
#apt-get -y upgrade linux-image-$arch
#apt-get -y install linux-headers-$(uname -r)

View File

@ -0,0 +1,33 @@
#!/bin/bash -e
sudo apt-get update
# install packer
if ! packer version 2>/dev/null; then
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository -y "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update
echo -e "\nInstalling packer..."
sudo apt-get install -y packer
else
echo "# Packer is installed"
fi
# install qemu
echo "# Install qemu ..."
sudo apt-get update
sudo apt-get install -y qemu-system
# set vars
echo "# Setting the variables: $*"
source ../set_variables.sh
set_variables "$@"
# Build the image
echo "# Build the image ..."
cd debian
packer init -upgrade .
command="PACKER_LOG=1 packer build ${vars} -only=qemu packer.build.amd64-debian.hcl"
echo "# Running: $command"
if [ ${#vars} -eq 0 ];then exit 1;fi
PACKER_LOG=1 packer build ${vars} -only=qemu.debian build.amd64-debian.pkr.hcl || exit 1

View File

@ -0,0 +1,78 @@
variable "pack" { default = "lean" }
variable "github_user" { default = "raspiblitz" }
variable "branch" { default = "dev" }
variable "image_link" { default = "https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2024-03-15/2024-03-15-raspios-bookworm-arm64.img.xz" }
variable "image_checksum" { default = "7e53a46aab92051d523d7283c080532bebb52ce86758629bf1951be9b4b0560f" }
variable "image_size" { default = "20G" }
source "arm" "raspiblitz-arm64-rpi" {
file_checksum_type = "sha256"
file_checksum = var.image_checksum
file_target_extension = "xz"
file_unarchive_cmd = ["xz", "--decompress", "$ARCHIVE_PATH"]
file_urls = [var.image_link]
image_build_method = "resize"
image_chroot_env = ["PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin"]
image_partitions {
filesystem = "vfat"
mountpoint = "/boot"
name = "boot"
size = "256M"
start_sector = "8192"
type = "c"
}
image_partitions {
filesystem = "ext4"
mountpoint = "/"
name = "root"
size = "0"
start_sector = "532480"
type = "83"
}
image_path = "raspiblitz-arm64-rpi-${var.pack}.img"
image_size = var.image_size
image_type = "dos"
qemu_binary_destination_path = "/usr/bin/qemu-arm-static"
qemu_binary_source_path = "/usr/bin/qemu-arm-static"
}
build {
sources = ["source.arm.raspiblitz-arm64-rpi"]
provisioner "shell" {
inline = [
"echo 'nameserver 1.1.1.1' > /etc/resolv.conf",
"echo 'nameserver 8.8.8.8' >> /etc/resolv.conf",
"echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections",
"apt-get update",
"apt-get install -y sudo wget",
"apt-get -y autoremove",
"apt-get -y clean",
"touch /boot/ssh",
"echo 'pi:$6$TE7HmruYY9EaNiKP$Vz0inJ6gaoJgJvQrC5z/HMDRMTN2jKhiEnG83tc1Jsw7lli5MYdeA83g3NOVCsBaTVW4mUBiT/1ZRWYdofVQX0' > /boot/userconf"
]
}
provisioner "shell" {
environment_vars = [
"github_user=${var.github_user}",
"branch=${var.branch}",
"pack=${var.pack}"
]
script = "./build.raspiblitz.sh"
}
provisioner "shell" {
inline = [
"echo '# delete the SSH keys (will be recreated on the first boot)'",
"rm -f /etc/ssh/ssh_host_*",
"echo 'OK'",
]
}
provisioner "shell" {
inline = [
"if [ \"${var.pack}\" = \"base\" ]; then echo 'Adding stop file to /boot/'; touch /boot/stop; fi"
]
}
}

View File

@ -0,0 +1,18 @@
#!/bin/sh -eux
echo 'Download the build_sdcard.sh script ...'
wget https://raw.githubusercontent.com/${github_user}/raspiblitz/${branch}/build_sdcard.sh
if [ "${pack}" = "fatpack" ]; then
fatpack="1"
display="lcd"
else
fatpack="0"
display="headless"
fi
# make /dev/shm world writable for qemu
sudo chmod 777 /dev/shm
echo 'Build RaspiBlitz ...'
bash build_sdcard.sh -f ${fatpack} -u ${github_user} -b ${branch} -t false -w off -i false -d ${display}

View File

@ -0,0 +1,72 @@
#!/bin/bash -e
echo -e "\n# Install dependencies with apt"
if [ "$(uname -n)" = "ubuntu" ]; then
sudo add-apt-repository -y universe
fi
# Install dependencies
# needed on Ubuntu Live ('lsb_release -cs': jammy)
sudo apt install -y qemu-user-static || exit 1
# from https://github.com/mkaczanowski/packer-builder-arm/blob/master/docker/Dockerfile
sudo apt install -y \
wget \
curl \
ca-certificates \
dosfstools \
fdisk \
gdisk \
kpartx \
libarchive-tools \
parted \
psmisc \
qemu-utils \
sudo \
xz-utils || exit 1
echo -e "\n# Install Packer..."
if ! packer version 2>/dev/null; then
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository -y "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get update -y && sudo apt-get install packer -y || exit 1
else
echo "# Packer is installed"
fi
echo -e "\n# Install Go"
export PATH=$PATH:/usr/local/go/bin
# https://go.dev/dl/
GOVERSION="1.20.6"
GOHASH="b945ae2bb5db01a0fb4786afde64e6fbab50b67f6fa0eb6cfa4924f16a7ff1eb"
if ! go version 2>/dev/null | grep "${GOVERSION}"; then
wget --progress=bar:force https://go.dev/dl/go${GOVERSION}.linux-amd64.tar.gz
echo "${GOHASH} go${GOVERSION}.linux-amd64.tar.gz" | sha256sum -c - || exit 1
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go${GOVERSION}.linux-amd64.tar.gz
sudo rm -rf go${GOVERSION}.linux-amd64.tar.gz
else
echo "# Go ${GOVERSION} is installed"
fi
echo -e "\n# Download the packer-builder-arm plugin"
git clone https://github.com/mkaczanowski/packer-builder-arm
cd packer-builder-arm
# https://github.com/mkaczanowski/packer-builder-arm/releases
git reset --hard "v1.0.7"
echo -e "\n# Build the packer-builder-arm plugin"
go mod download
go build || exit 1
# set vars
echo "# Setting the variables: $*"
# running from the ci/arm64-rpi/packer-builder-arm directory
source ../../set_variables.sh
set_variables "$@"
cp ../build.arm64-rpi.pkr.hcl ./
cp ../build.raspiblitz.sh ./
echo -e "\n# Build the image"
command="packer build ${vars} build.arm64-rpi.pkr.hcl"
echo "# Running: $command"
$command || exit 1

View File

@ -0,0 +1,15 @@
#!/bin/bash -e
# set vars
echo "# Setting the variables: $*"
source ../set_variables.sh
set_variables "$@"
# build the image in docker
echo -e "\nBuild the image..."
# from https://hub.docker.com/r/mkaczanowski/packer-builder-arm/tags
command="docker run --rm --privileged -v /dev:/dev -v ${PWD}:/build \
mkaczanowski/packer-builder-arm@sha256:0ff8ce0cf33e37be6c351c8bcb2643835c7f3525b7f591808b91c04238d45695 \
build ${vars} build.arm64-rpi.pkr.hcl"
echo "# Running: $command"
$command || exit 1

300
ci/packer.sh Normal file
View File

@ -0,0 +1,300 @@
#!/usr/bin/env bash
#########################################################################
# script to trigger packer image build on a debian LIVE system
# see FAQ.dev.md for instructions
##########################################################################
# YOUR REPO (REPLACE WITH YOUR OWN FORK IF NEEDED)
REPO="https://github.com/raspiblitz/raspiblitz"
# folders to store the build results
BUILDFOLDER="images"
# check if started with sudo
if [ "$EUID" -ne 0 ]; then
echo "error='run as root / may use sudo'"
exit 1
fi
# usage info
echo "packer.sh [BRANCH] [arm|x86] [min|fat] [?lastcommithash]"
echo "Build RaspiBlitz install images on a Debian LIVE system"
echo "From repo (change in script is needed):"
echo $REPO
echo "Results will be stored in:"
echo $BUILDFOLDER
echo "Start this script in the root of an writable 128GB NTFS formatted USB drive."
# check if internet is available
if ping -c 1 "1.1.1.1" &> /dev/null; then
echo "# checking internet"
else
echo "error='script needs internet connection to run'"
exit 1
fi
# get parameters
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
# by input
read -p "Press ENTER to continue or CTRL+C to exit"
read -p "Enter the branch to build: " BRANCH
read -p "Enter the architecture to build (arm|x86): " ARCH
read -p "Enter the type to build (min|fat): " TYPE
read -p "Enter the last commit hash to check (optional): " COMMITHASH
else
# by command line
BRANCH=$1
ARCH=$2
TYPE=$3
COMMITHASH=$4
fi
# check if branch is set
if [ ${#BRANCH} -eq 0 ]; then
echo "error='branch not set'"
exit 1
fi
# check if arch is set
if [ ${#ARCH} -eq 0 ]; then
echo "error='ARCH not set'"
exit 1
fi
if [ "$ARCH" != "arm" ] && [ "$ARCH" != "x86" ]; then
echo "error='ARCH not supported'"
exit 1
fi
# check if type is set
if [ ${#TYPE} -eq 0 ]; then
echo "error='TYPE not set'"
exit 1
fi
if [ "$TYPE" != "min" ] && [ "$TYPE" != "fat" ]; then
echo "error='TYPE not supported'"
exit 1
fi
# install git and make
apt update && apt install -y git make
# clean old repo
rm -rf raspiblitz 2>/dev/null
# download the repo
git clone $REPO
if [ $? -gt 0 ]; then
echo "# REPO: ${REPO}"
echo "error='git clone failed'"
exit 1
fi
cd raspiblitz
# checkout the desired branch
git checkout $BRANCH
if [ $? -gt 0 ]; then
cd ..
rm -rf raspiblitz 2>/dev/null
echo "# BRANCH: ${BRANCH}"
echo "error='git checkout BRANCH failed'"
exit 1
fi
# check commit hash if set
if [ ${#COMMITHASH} -gt 0 ]; then
echo "# CHECKING COMMITHASH"
actualCOMMITHASH=$(git log -1 --format=%H)
echo "# actual(${actualCOMMITHASH}) ?= wanted(${COMMITHASH})"
matches=$(echo "${actualCOMMITHASH}" | grep -c "${COMMITHASH}")
if [ ${matches} -eq 0 ]; then
cd ..
rm -rf raspiblitz 2>/dev/null
echo "error='COMMITHASH of branch does not match'"
exit 1
fi
echo "# COMMITHASH CHECK OK"
else
echo "# NO COMMITHASH CHECK"
fi
# make sure make build runs thru
safedir=$(realpath ./ci/arm64-rpi/packer-builder-arm)
echo "# Setting safe.directory to: ${safedir}"
git config --global --add safe.directory "${safedir}"
# get code version
codeVersion=$(cat ./home.admin/_version.info | grep 'codeVersion="' | cut -d'"' -f2)
if [ ${#codeVersion} -eq 0 ]; then
echo "error='codeVersion not found'"
exit 1
fi
echo "# RaspiBlitz Version: ${codeVersion}"
# get date as string formatted like YEAR-MONTH-DAY
dateString=$(date +%Y-%m-%d)
echo "# Date: ${dateString}"
if [ "${ARCH}" == "arm" ] && [ "${TYPE}" == "min" ]; then
PACKERTARGET="arm64-rpi-lean-image"
PACKERBUILDPATH="./raspiblitz/ci/arm64-rpi/packer-builder-arm/raspiblitz-arm64-rpi-lean.img"
PACKERFINALFILE="raspiblitz-min-v${codeVersion}-${dateString}.img"
elif [ "${ARCH}" == "arm" ] && [ "${TYPE}" == "fat" ]; then
PACKERTARGET="arm64-rpi-fatpack-image"
PACKERBUILDPATH="./raspiblitz/ci/arm64-rpi/packer-builder-arm/TODO" #TODO
PACKERFINALFILE="raspiblitz-fat-v${codeVersion}-${dateString}.img"
elif [ "${ARCH}" == "x86" ] && [ "${TYPE}" == "min" ]; then
PACKERTARGET="amd64-lean-server-legacyboot-image"
PACKERBUILDPATH="./raspiblitz/ci/amd64/builds/raspiblitz-amd64-debian-lean-qemu/raspiblitz-amd64-debian-lean.qcow2"
PACKERFINALFILE="raspiblitz-amd64-min-v${codeVersion}-${dateString}.qcow2"
else
echo "error='$ARCH-$TYPE not supported'"
exit 1
fi
echo "# PACKER TARGET: ${PACKERTARGET}"
echo "# PACKER BUILD PATH: ${PACKERBUILDPATH}"
echo "# PACKER FINAL FILE: ${PACKERFINALFILE}"
# check if file already exists
if [ -f "./${BUILDFOLDER}/${PACKERFINALFILE}.img.gz" ]; then
echo "error='image already exists'"
echo "# delete ./${BUILDFOLDER}/${PACKERFINALFILE}.img.gz (and all .sha256 & .sig) before trying again"
exit 1
fi
# prevent monitor to go to sleep during long non-interactive build
xset s off
gsettings set org.gnome.desktop.screensaver idle-activation-enabled false
echo "# BUILDING '${PACKERTARGET}' ###########################################"
make $PACKERTARGET
# check if build was successful
if [ $? -gt 0 ]; then
echo "# BUILDING FAILED ###########################################"
echo "# Check the output above for errors."
exit 1
fi
echo "# BUILDING SUCCESS ###########################################"
echo "# moving build to timestamped folder ./${BUILDFOLDER}"
cd ..
mkdir "${BUILDFOLDER}" 2>/dev/null
#check that Build folder exists
if [ ! -d "./${BUILDFOLDER}" ]; then
echo "# FAILED CREATING BUILD FOLDER: ./${BUILDFOLDER}"
exit 1
fi
# move .gz file to build folder
mv "${PACKERBUILDPATH}.gz" "./${BUILDFOLDER}/${PACKERFINALFILE}.gz"
if [ $? -gt 0 ]; then
echo "# FAILED MOVING .gz"
exit 1
fi
# move gz.sha256 file to build folder
mv "${PACKERBUILDPATH}.gz.sha256" "./${BUILDFOLDER}/${PACKERFINALFILE}.gz.sha256"
if [ $? -gt 0 ]; then
echo "# FAILED MOVING .gz.sha256"
exit 1
fi
# move sha256 file to build folder
mv "${PACKERBUILDPATH}.sha256" "./${BUILDFOLDER}/${PACKERFINALFILE}.sha256"
if [ $? -gt 0 ]; then
echo "# FAILED MOVING .sha256"
exit 1
fi
# special handling for qcow2
if [ "${ARCH}" == "x86" ]; then
echo "# decompressing qcow2"
gunzip "./${BUILDFOLDER}/${PACKERFINALFILE}.gz"
echo "# converting qcow2 to raw"
qemu-img convert -f qcow2 -O raw "./${BUILDFOLDER}/${PACKERFINALFILE}.qcow2" "./${BUILDFOLDER}/${PACKERFINALFILE}.img"
if [ $? -gt 0 ]; then
echo "# FAILED CONVERTING qcow2 to raw"
exit 1
fi
echo "# compressing raw"
gzip -9 "./${BUILDFOLDER}/${PACKERFINALFILE}.img"
if [ $? -gt 0 ]; then
echo "# FAILED COMPRESSING raw"
exit 1
fi
echo "# removing raw"
rm "./${BUILDFOLDER}/${PACKERFINALFILE}.img"
if [ $? -gt 0 ]; then
echo "# FAILED REMOVING raw"
exit 1
fi
fi
echo "# clean up"
rm -rf ./../raspiblitz 2>/dev/null
echo "# SIGN & SECURE IMAGE ###########################################"
echo
# security check that internet is cut
echo "# MANUAL ACTION NEEDED:"
echo "# Cut the connection to the internet before signing the image."
echo
echo "# Press RETURN to continue..."
read -r -p "" key
if ping -c 1 "1.1.1.1" &> /dev/null; then
echo "# FAIL - Internet connection is up - EXITING SCRIPT"
exit 1
else
echo "# OK - Internet connection is cut"
fi
echo
# Note down the SHA256 checksum of the image
echo "# MANUAL ACTION NEEDED:"
echo "# Note down the SHA256 checksum of the image:"
echo
cat ./${BUILDFOLDER}/${PACKERFINALFILE}.gz.sha256
echo
echo "# Press RETURN to continue..."
read -r -p "" key
# import the signer keys
echo "# MANUAL ACTION NEEDED:"
echo "# Keep this terminal open and the 128GB stick connected."
echo "# Additionalley connect and unlock the USB device with the signer keys."
echo "# Open in Filemanager and use right-click 'Open in Termonal' and run:"
echo "# sudo gpg --import ./sub.key"
echo "# Close that second terminal and remove USB device with signer keys."
echo
echo "# Press RETURN to continue..."
read -r -p "" key
# signing instructions
echo "# MANUAL ACTION NEEDED:"
echo "# Please wait infront of the screen until the signing process is asks you for the password."
echo
cd "${BUILDFOLDER}"
gpg --output ${PACKERFINALFILE}.gz.sig --detach-sign ${PACKERFINALFILE}.gz
if [ $? -gt 0 ]; then
echo "# !!!!!!! SIGNING FAILED - redo manual before closing this terminbal !!!!!!!"
echo "gpg --output ${PACKERFINALFILE}.gz.sig --detach-sign ${PACKERFINALFILE}.gz"
else
echo "# OK Signing successful."
fi
# last notes
echo
echo "Close this terminal and eject your 128GB usb device."
echo "Have fun with your build image on it under:"
echo "${BUILDFOLDER}/${PACKERFINALFILE}.gz"

75
ci/set_variables.sh Executable file
View File

@ -0,0 +1,75 @@
#!/bin/bash
function set_variables() {
declare -A params
while (("$#")); do
case "$1" in
--pack)
params[pack]="$2"
shift 2
;;
--github_user)
params[github_user]="$2"
shift 2
;;
--branch)
params[branch]="$2"
shift 2
;;
# arm64-rpi
--image_link)
params[image_link]="$2"
shift 2
;;
# arm64-rpi
--image_checksum)
params[image_checksum]="$2"
shift 2
;;
# amd64
# preseed.cfg
--preseed_file)
params[preseed_file]="$2"
shift 2
;;
# amd64
# uefi | bios
--boot)
params[boot]="$2"
shift 2
;;
# amd64
# none | gnome
--desktop)
params[desktop]="$2"
shift 2
;;
--image_size)
params[image_size]="$2"
shift 2
;;
--)
shift
break
;;
*)
echo "Error: Invalid argument"
exit 1
;;
esac
done
# Reset the global vars string
vars=""
# Iterate over all keys in the params array
for key in "${!params[@]}"; do
# If the value for this key is not empty, add it to vars
if [ -n "${params[$key]}" ]; then
vars="$vars -var $key=${params[$key]}"
fi
done
export vars
}

View File

@ -1,9 +1,58 @@
#!/bin/bash
# 00infoBlitz.sh <cl|lnd> <testnet|mainnet|signet>
source <(/home/admin/_cache.sh get \
state \
setupPhase \
network \
chain \
lightning \
codeVersion \
hostname \
undervoltageReports \
hdd_used_info \
internet_localip \
internet_public_ip_clean \
internet_rx \
internet_tx \
system_ram_available_mb \
system_ram_mb \
system_ups_status \
system_ups_battery \
system_cpu_load \
system_up_text \
system_temp_celsius \
system_temp_fahrenheit \
runBehindTor \
ups \
ElectRS \
BTCRPCexplorer \
joinmarket \
blitzapi \
)
# load code software version
source /home/admin/_version.info
# PARAMETER 1: forcing view on a given network
PARAMETER_CHAIN=$2
if [ "${PARAMETER_CHAIN}" == "mainnet" ]; then
chain="main"
fi
if [ "${PARAMETER_CHAIN}" == "testnet" ]; then
chain="test"
fi
if [ "${PARAMETER_CHAIN}" == "signet" ]; then
chain="sig"
fi
# PARAMETER 2: forcing view on a lightning implementation
PARAMETER_LIGHTNING=$1
if [ "${PARAMETER_LIGHTNING}" == "lnd" ]; then
lightning="lnd"
fi
if [ "${PARAMETER_LIGHTNING}" == "cl" ]; then
lightning="cl"
fi
if [ "${PARAMETER_LIGHTNING}" == "none" ]; then
lightning=""
fi
# set colors
color_red='\033[0;31m'
@ -12,445 +61,259 @@ color_amber='\033[0;33m'
color_yellow='\033[1;93m'
color_gray='\033[0;37m'
## get basic info
source /home/admin/raspiblitz.info 2>/dev/null
source /mnt/hdd/raspiblitz.conf 2>/dev/null
source <(/home/admin/config.scripts/network.aliases.sh getvars $1 $2)
## get HDD/SSD info
source <(sudo /home/admin/config.scripts/blitz.datadrive.sh status)
hdd="${hddUsedInfo}"
## get internet info
source <(sudo /home/admin/config.scripts/internet.sh status)
cleanip=$(echo "${publicIP}" | tr -d '[]')
# generate netprefix
netprefix=${chain:0:1}
if [ "${netprefix}" == "m" ]; then
netprefix=""
fi
## get UPS info
source <(/home/admin/config.scripts/blitz.ups.sh status)
upsInfo=""
if [ "${upsStatus}" = "ONLINE" ]; then
upsInfo="${color_gray}${upsBattery}"
if [ "${system_ups_status}" = "ONLINE" ]; then
upsInfo="${color_gray}${system_ups_battery}"
fi
if [ "${upsStatus}" = "ONBATT" ]; then
upsInfo="${color_red}${upsBattery}"
if [ "${system_ups_status}" = "ONBATT" ]; then
upsInfo="${color_red}${system_ups_battery}"
fi
if [ "${upsStatus}" = "SHUTTING DOWN" ]; then
if [ "${system_ups_status}" = "SHUTTING DOWN" ]; then
upsInfo="${color_red}DOWN"
fi
# check hostname
if [ ${#hostname} -eq 0 ]; then hostname="raspiblitz"; fi
# for oldnodes
if [ ${#network} -eq 0 ]; then
network="bitcoin"
litecoinActive=$(sudo ls /mnt/hdd/litecoin/litecoin.conf 2>/dev/null | grep -c 'litecoin.conf')
if [ ${litecoinActive} -eq 1 ]; then
network="litecoin"
else
network=$(sudo cat /home/admin/.network 2>/dev/null)
fi
if [ ${#network} -eq 0 ]; then
network="bitcoin"
fi
fi
# for oldnodes
if [ ${#chain} -eq 0 ]; then
chain="test"
isMainChain=$(sudo cat /mnt/hdd/${network}/${network}.conf 2>/dev/null | grep "#testnet=1" -c)
if [ ${isMainChain} -gt 0 ];then
chain="main"
fi
network="bitcoin"
chain="main"
fi
# set datadir
lnd_dir="/home/bitcoin/.lnd"
lnd_macaroon_dir="/home/bitcoin/.lnd/data/chain/${network}/${chain}net"
# get uptime & load
load=$(w | head -n 1 | cut -d 'v' -f2 | cut -d ':' -f2)
# get CPU temp - no measurement in a VM
cpu=0
if [ -d "/sys/class/thermal/thermal_zone0/" ]; then
cpu=$(cat /sys/class/thermal/thermal_zone0/temp)
fi
if [ $cpu = 0 ];then
tempC=""
tempF=""
else
tempC=$((cpu/1000))
tempF=$(((tempC * 18 + 325) / 10))
fi
# get memory
ram_avail=$(free -m | grep Mem | awk '{ print $7 }')
ram=$(printf "%sM / %sM" "${ram_avail}" "$(free -m | grep Mem | awk '{ print $2 }')")
if [ ${ram_avail} -lt 50 ]; then
# ram info string
ram=$(printf "%sM / %sM" "${system_ram_available_mb}" "${system_ram_mb}")
if [ "${system_ram_available_mb}" != "" ] && [ ${system_ram_available_mb} -lt 50 ]; then
color_ram="${color_red}\e[7m"
else
color_ram=${color_green}
fi
# Bitcoin blockchain
btc_path=$(command -v ${network}-cli)
blockInfo="-"
if [ -n "${btc_path}" ]; then
btc_title=$network
blockchaininfo="$($bitcoincli_alias getblockchaininfo 2>/dev/null)"
if [ ${#blockchaininfo} -gt 0 ]; then
btc_title="${btc_title} (${chain}net)"
# get sync status
headers="$(echo "${blockchaininfo}" | jq -r '.headers')"
block_verified="$(echo "${blockchaininfo}" | jq -r '.blocks')"
block_diff=$(expr ${headers} - ${block_verified})
blockInfo="${block_verified}/${headers}"
progress="$(echo "${blockchaininfo}" | jq -r '.verificationprogress')"
sync_percentage=$(echo $progress | awk '{printf( "%.2f%%", 100 * $1)}')
if [ ${block_diff} -eq 0 ]; then # fully synced
sync="OK"
sync_color="${color_green}"
sync_behind=" "
elif [ ${block_diff} -eq 1 ]; then # fully synced
sync="OK"
sync_color="${color_green}"
sync_behind="-1 block"
elif [ ${block_diff} -le 10 ]; then # <= 2 blocks behind
sync=""
sync_color="${color_red}"
sync_behind="-${block_diff} blocks"
else
sync=""
sync_color="${color_red}"
sync_behind="${sync_percentage}"
fi
# get last known block
if [ ! -z "${last_block}" ]; then
btc_line2="${btc_line2} ${color_gray}(block ${last_block})"
fi
# get mem pool transactions
mempool="$($bitcoincli_alias getmempoolinfo 2>/dev/null | jq -r '.size')"
else
btc_line2="${color_red}NOT RUNNING\t\t"
fi
fi
# get IP address & port
networkInfo=$($bitcoincli_alias getnetworkinfo 2>/dev/null)
local_ip="${localip}" # from internet.sh
public_ip="${cleanip}"
public_port="$(echo ${networkInfo} | jq -r '.localaddresses [0] .port')"
if [ "${public_port}" = "null" ]; then
if [ "${chain}" = "test" ]; then
public_port="18333"
else
public_port="8333"
fi
fi
# check if RTL web interface is installed
webinterfaceInfo=""
runningRTL=$(systemctl status ${netprefix}${typeprefix}RTL.service 2>/dev/null | grep -c active)
if [ ${runningRTL} -eq 1 ]; then
if [ "${lightning}" == "cl" ]; then
RTLHTTP=${portprefix}7000
elif [ "${lightning}" == "lnd" ];then
RTLHTTP=${portprefix}3000
fi
webinterfaceInfo="Web admin --> ${color_green}http://${local_ip}:${RTLHTTP}"
fi
# CHAIN NETWORK
public_addr_pre="Public "
public_addr="??"
# Tor info string
torInfo=""
# Version
networkVersion=$($bitcoincli_alias -version 2>/dev/null | cut -d ' ' -f6)
# TOR or IP
networkConnections=$(echo ${networkInfo} | jq -r '.connections')
networkConnectionsInfo="${color_green}${networkConnections} ${color_gray}connections"
if [ "${runBehindTor}" = "on" ]; then
# TOR address
onionAddress=$(echo ${networkInfo} | jq -r '.localaddresses [0] .address')
networkConnectionsInfo="${color_green}${networkConnections} ${color_gray}peers"
public_addr="${onionAddress}:${public_port}"
public=""
public_color="${color_green}"
torInfo="+ Tor"
fi
#######################
# BITCOIN INFO
# get block data - use meta on cache to call dynamic variable name
source <(/home/admin/_cache.sh meta btc_${chain}net_blocks_headers)
btc_blocks_headers="${value}"
source <(/home/admin/_cache.sh meta btc_${chain}net_blocks_verified)
btc_blocks_verified="${value}"
source <(/home/admin/_cache.sh meta btc_${chain}net_blocks_behind)
btc_blocks_behind="${value}"
source <(/home/admin/_cache.sh meta btc_${chain}net_sync_percentage)
if [ "${value}" != "" ]; then
sync_percentage="${value}%"
fi
# construct blockinfo string
if [ "${btc_blocks_behind}" == "" ]; then
sync="WAIT"
sync_color="${color_yellow}"
elif [ ${btc_blocks_behind} -lt 2 ]; then
sync="OK"
sync_color="${color_green}"
else
sync=""
sync_color="${color_red}"
fi
blockInfo="Blocks ${btc_blocks_verified}/${btc_blocks_headers} ${color_gray}Sync ${sync_color}${sync}"
if [ "${btc_blocks_headers}" == "" ]; then
blockInfo="${color_red}Not Started | Not Ready Yet | No Data${color_gray}"
fi
# IP address
networkConnectionsInfo="${color_green}${networkConnections} ${color_gray}connections"
public_addr="${publicIP}:${public_port}"
public_check=$(nc -z -w6 ${cleanip} ${public_port} 2>/dev/null; echo $?)
if [ $public_check = "0" ] || [ "${ipv6}" == "on" ] ; then
public=""
# only set yellow/normal because netcat can only say that the port is open - not that it points to this device for sure
public_color="${color_amber}"
else
public=""
public_color="${color_red}"
# get address data - use meta on cache to call dynamic variable name
source <(/home/admin/_cache.sh meta btc_${chain}net_version)
networkVersion="${value} "
source <(/home/admin/_cache.sh meta btc_${chain}net_peers)
btc_peers=${value}
if [ "${btc_peers}" == "" ]; then
networkConnectionsInfo=""
elif [ ${btc_peers} -gt 0 ]; then
networkConnectionsInfo="${color_green}${btc_peers} ${color_gray}peers"
else
networkConnectionsInfo="${color_red}${btc_peers} ${color_gray}peers"
fi
#######################
# LIGHTNING INFO
# default values
ln_alias=${hostname}
ln_baseInfo="-"
ln_channelInfo="\n"
ln_external="\n"
ln_feeReport=""
ln_peersInfo=""
ln_version=""
ln_publicColor="${color_green}"
if [ "${lightning}" != "" ]; then
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_version)
ln_version="${value}"
# get alias
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_alias)
if [ "${value}" != "" ]; then
ln_alias="${value}"
fi
# DynDomain
if [ ${#dynDomain} -gt 0 ]; then
# consider tor address green for public
# when not Tor use yellow because not sure if public
if [ "${runBehindTor}" != "on" ]; then
ln_publicColor="${color_yellow}"
fi
#check if dynamic domain resolves to correct IP
ipOfDynDNS=$(getent hosts ${dynDomain} | awk '{ print $1 }')
if [ "${ipOfDynDNS}:${public_port}" != "${public_addr}" ]; then
public_color="${color_red}"
# get the public address/URI
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_address)
ln_external="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_peers)
if [ "${value}" != "" ]; then
ln_peersInfo="${color_green}${value} ${color_gray}peers"
fi
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_ready)
ln_ready="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_sync_chain)
ln_sync="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_locked)
ln_locked="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_recovery_mode)
ln_recovery_mode="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_recovery_done)
ln_recovery_done="${value}"
# lightning is still starting
if [ "${ln_ready}" != "1" ]; then
ln_baseInfo="\n ${color_red}Not Started | Not Ready Yet | No Data"
ln_peersInfo=""
# lightning is still syncing
elif [ "${ln_locked}" == "1" ]; then
ln_baseInfo="${color_amber}Wallet Locked"
ln_peersInfo=""
# lightning is still syncing
elif [ "${ln_recovery_mode}" == "1" ] && [ "${ln_recovery_done}" == "0" ]; then
ln_baseInfo="${color_amber}Rescanning transactions"
ln_peersInfo=""
# lightning is still syncing
elif [ "${ln_sync}" != "1" ]; then
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_sync_progress)
ln_syncprogress="${value}"
ln_baseInfo="${color_amber}Scanning blocks: ${ln_syncprogress}"
ln_peersInfo=""
# OK lightning is ready - get more details
else
# create fee report
if [ "${lightning}" == "lnd" ]; then
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_fees_daily)
ln_dailyfees="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_fees_weekly)
ln_weeklyfees="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_fees_month)
ln_monthlyfees="${value}"
ln_feeReport="Fee Report (D-W-M): ${color_green}${ln_dailyfees}-${ln_weeklyfees}-${ln_monthlyfees} ${color_gray}${netprefix}sat"
else
public_color="${color_amber}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_fees_total)
ln_totalfees="${value}"
ln_feeReport="Fee Report: ${color_green}${ln_totalfees} ${color_gray}${netprefix}msat"
fi
# replace IP display with dynDN
public_addr_pre="DynDN "
public_addr="${dynDomain}"
fi
# on-chain wallet info
ln_pendingonchain=""
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_wallet_onchain_pending)
ln_onchain_pending="${value}"
if [ "${ln_onchain_pending}" != "" ] && [ ${ln_onchain_pending} -gt 0 ]; then ln_pendingonchain=" (+${ln_onchain_pending})"; fi
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_wallet_onchain_balance)
ln_walletbalance=$(printf "%'d" "${value}")
ln_baseInfo="${color_gray}Wallet ${ln_walletbalance} ${netprefix}sat ${ln_pendingonchain}"
if [ ${#public_addr} -gt 25 ]; then
# if a IPv6 address dont show peers to save space
networkConnectionsInfo=""
fi
# channel pending info
ln_channelbalance_pending=""
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_wallet_channels_pending)
ln_channels_pending="${value}"
if [ "${ln_channels_pending}" != "" ] && [ ${ln_channels_pending} -gt 0 ]; then ln_channelbalance_pending=" (+${ln_channels_pending})"; fi
if [ ${#public_addr} -gt 35 ]; then
# if a LONG IPv6 address dont show "Public" in front to save space
public_addr_pre=""
# get channel infos
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_wallet_channels_balance)
ln_channels_balance=$(printf "%'d" "${value}")
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_channels_active)
ln_channels_online="${value}"
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_channels_total)
ln_channels_total="${value}"
# construct channel info string
ln_channelInfo="${ln_channels_online}/${ln_channels_total} Channels ${ln_channels_balance} ${netprefix}sat${ln_channelbalance_pending}"
fi
fi
# LIGHTNING NETWORK
if [ "${lightning}" == "cl" ]; then
ln_getInfo=$($lightningcli_alias getinfo 2>/dev/null)
ln_baseInfo="-"
ln_channelInfo="\n"
ln_external="\n"
ln_alias="$(sudo cat "${CLCONF}" | grep "^alias=*" | cut -f2 -d=)"
if [ ${#ln_alias} -eq 0 ];then
ln_alias=$(echo "${ln_getInfo}" | grep '"alias":' | cut -d '"' -f4)
fi
if [ ${#ln_alias} -eq 0 ];then
ln_alias=${hostname}
fi
ln_publicColor=""
ln_port=$(sudo cat "${CLCONF}" | grep "^bind-addr=*" | cut -f2 -d':')
if [ ${#ln_port} -eq 0 ]; then
ln_port=$(echo "${ln_getInfo}" | grep '"port":' | cut -d: -f2 | tail -1 | bc)
fi
wallet_unlocked=0 #TODO
if [ "$wallet_unlocked" -gt 0 ] ; then
ln_alias="Wallet Locked"
else
pubkey=$(echo "${ln_getInfo}" | grep '"id":' | cut -d '"' -f4)
address=$(echo "${ln_getInfo}" | grep '.onion' | cut -d '"' -f4)
if [ ${#address} -eq 0 ];then
address=$(echo "${ln_getInfo}" | grep '"ipv4"' -A 1 | tail -1 | cut -d '"' -f4)
fi
ln_external="${pubkey}@${address}"
ln_tor=$(echo "${ln_external}" | grep -c ".onion")
if [ ${ln_tor} -eq 1 ]; then
ln_publicColor="${color_green}"
else
public_check=$(nc -z -w6 ${public_ip} ${ln_port} 2>/dev/null; echo $?)
if [ $public_check = "0" ] || [ "${ipv6}" == "on" ]; then
# only set yellow/normal because netcat can only say that the port is open - not that it points to this device for sure
ln_publicColor="${color_amber}"
else
ln_publicColor="${color_red}"
fi
fi
BLOCKHEIGHT=$(echo "$blockchaininfo"|grep blocks|awk '{print $2}'|cut -d, -f1)
CLHEIGHT=$(echo "${ln_getInfo}" | jq .blockheight)
if [ "$BLOCKHEIGHT" == "$CLHEIGHT" ];then
ln_sync=1
else
ln_sync=0
fi
ln_version=$($lightningcli_alias -V)
if [ ${ln_sync} -eq 0 ]; then
if [ ${#ln_getInfo} -eq 0 ]; then
ln_baseInfo="${color_red} Not Started | Not Ready Yet"
else
ln_baseInfo="
${color_amber}Scanning blocks: ${CLHEIGHT}/${BLOCKHEIGHT}"
fi
else
ln_walletbalance=0
cl_listfunds=$($lightningcli_alias listfunds 2>/dev/null)
for i in $(echo "$cl_listfunds" \
|jq .outputs[]|jq 'select(.status=="confirmed")'|grep value|awk '{print $2}'|cut -d, -f1);do
ln_walletbalance=$((ln_walletbalance+i))
done
for i in $(echo "$cl_listfunds" \
|jq .outputs[]|jq 'select(.status=="unconfirmed")'|grep value|awk '{print $2}'|cut -d, -f1);do
ln_walletbalance_wait=$((ln_walletbalance_wait+i))
done
# ln_closedchannelbalance: "state": "ONCHAIN" funds in channels
for i in $(echo "$cl_listfunds" \
|jq .channels[]|jq 'select(.state=="ONCHAIN")'|grep channel_sat|awk '{print $2}'|cut -d, -f1);do
ln_closedchannelbalance=$((ln_closedchannelbalance+i))
done
# ln_pendingonchain: waiting onchain + waiting closed channel funds
ln_pendingonchain=$((ln_walletbalance_wait+ln_closedchannelbalance))
if [ "${ln_pendingonchain}" = "0" ]; then ln_pendingonchain=""; fi
if [ ${#ln_pendingonchain} -gt 0 ]; then ln_pendingonchain="(+${ln_pendingonchain})"; fi
# ln_channelbalance: "state": "CHANNELD_NORMAL" funds in channels
for i in $(echo "$cl_listfunds" \
|jq .channels[]|jq 'select(.state=="CHANNELD_NORMAL")'|grep channel_sat|awk '{print $2}'|cut -d, -f1);do
ln_channelbalance=$((ln_channelbalance+i))
done
if [ ${#ln_channelbalance} -eq 0 ];then
ln_channelbalance=0
fi
# ln_channelbalance_all: all funds in channels
for i in $(echo "$cl_listfunds" \
|jq .channels[]|grep channel_sat|awk '{print $2}'|cut -d, -f1);do
ln_channelbalance_all=$((ln_channelbalance_all+i))
done
ln_channelbalance_pending=$((ln_channelbalance_all-ln_channelbalance-ln_closedchannelbalance))
if [ "${ln_channelbalance_pending}" = "0" ]; then ln_channelbalance_pending=""; fi
if [ ${#ln_channelbalance_pending} -gt 0 ]; then ln_channelbalance_pending=" (+${ln_channelbalance_pending})"; fi
# - **num_peers** (u32): The total count of peers, connected or with channels
# - **num_pending_channels** (u32): The total count of channels being opened
# - **num_active_channels** (u32): The total count of channels in normal state
# - **num_inactive_channels** (u32): The total count of channels waiting for opening or closing
ln_channels_online="$(echo "${ln_getInfo}" | jq -r '.num_active_channels')" 2>/dev/null
cl_num_pending_channels="$(echo "${ln_getInfo}" | jq -r '.num_pending_channels')" 2>/dev/null
cl_num_inactive_channels="$(echo "${ln_getInfo}" | jq -r '.num_inactive_channels')" 2>/dev/null
ln_channels_total=$((ln_channels_online+cl_num_pending_channels+cl_num_inactive_channels))
ln_baseInfo="${color_gray}Wallet ${ln_walletbalance} ${netprefix}sat ${ln_pendingonchain}"
ln_peers="$(echo "${ln_getInfo}" | jq -r '.num_peers')" 2>/dev/null
ln_channelInfo="${ln_channels_online}/${ln_channels_total} Channels ${ln_channelbalance} ${netprefix}sat${ln_channelbalance_pending}"
ln_peersInfo="${color_green}${ln_peers} ${color_gray}peers"
# - **fees_collected_msat** (msat): Total routing fees collected by this node
#ln_dailyfees="$($lncli_alias feereport | jq -r '.day_fee_sum')" 2>/dev/null
#ln_weeklyfees="$($lncli_alias feereport | jq -r '.week_fee_sum')" 2>/dev/null
#ln_monthlyfees="$($lncli_alias feereport | jq -r '.month_fee_sum')" 2>/dev/null
#ln_feeReport="Fee Report (D-W-M): ${color_green}${ln_dailyfees}-${ln_weeklyfees}-${ln_monthlyfees} ${color_gray}sat"
ln_feeReport="Fees collected: $(echo "${ln_getInfo}" | jq -r '.fees_collected_msat')"
fi
fi
elif [ "${lightning}" == "lnd" ];then
ln_baseInfo="-"
ln_channelInfo="\n"
ln_external="\n"
ln_alias="$(sudo cat /mnt/hdd/lnd/${netprefix}lnd.conf | grep "^alias=*" | cut -f2 -d=)"
if [ ${#ln_alias} -eq 0 ];then
ln_alias=${hostname}
fi
ln_publicColor=""
ln_port=$(sudo cat /mnt/hdd/lnd/${netprefix}lnd.conf | grep "^listen=*" | cut -f2 -d':')
if [ ${#ln_port} -eq 0 ]; then
ln_port="9735"
fi
wallet_unlocked=$(sudo tail -n 1 /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log 2> /dev/null | grep -c unlock)
if [ "$wallet_unlocked" -gt 0 ] ; then
ln_alias="Wallet Locked"
else
ln_getInfo=$($lncli_alias --macaroonpath=${lnd_macaroon_dir}/readonly.macaroon --tlscertpath=${lnd_dir}/tls.cert getinfo 2>/dev/null)
ln_external=$(echo "${ln_getInfo}" | grep "uris" -A 1 | tr -d '\n' | cut -d '"' -f4)
ln_tor=$(echo "${ln_external}" | grep -c ".onion")
if [ ${ln_tor} -eq 1 ]; then
ln_publicColor="${color_green}"
else
public_check=$(nc -z -w6 ${public_ip} ${ln_port} 2>/dev/null; echo $?)
if [ $public_check = "0" ] || [ "${ipv6}" == "on" ]; then
# only set yellow/normal because netcat can only say that the port is open - not that it points to this device for sure
ln_publicColor="${color_amber}"
else
ln_publicColor="${color_red}"
fi
fi
ln_sync=$(echo "${ln_getInfo}" | grep "synced_to_chain" | grep "true" -c)
ln_version=$(echo "${ln_getInfo}" | jq -r '.version' | cut -d' ' -f1)
if [ ${ln_sync} -eq 0 ]; then
if [ ${#ln_getInfo} -eq 0 ]; then
ln_baseInfo="${color_red} Not Started | Not Ready Yet"
else
ln_baseInfo="${color_amber} Waiting for Chain Sync"
fi
else
lnd_walletbalance=$($lncli_alias --macaroonpath=${lnd_macaroon_dir}/readonly.macaroon --tlscertpath=${lnd_dir}/tls.cert walletbalance 2>/dev/null)
ln_walletbalance="$(echo "$lnd_walletbalance" | jq -r '.confirmed_balance')" 2>/dev/null
ln_walletbalance_wait="$(echo "$lnd_walletbalance" | jq -r '.unconfirmed_balance')" 2>/dev/null
if [ "${ln_walletbalance_wait}" = "0" ]; then ln_walletbalance_wait=""; fi
if [ ${#ln_walletbalance_wait} -gt 0 ]; then ln_walletbalance_wait="(+${ln_walletbalance_wait})"; fi
lnd_channelbalance=$($lncli_alias --macaroonpath=${lnd_macaroon_dir}/readonly.macaroon --tlscertpath=${lnd_dir}/tls.cert channelbalance 2>/dev/null)
ln_channelbalance="$(echo "$lnd_channelbalance" | jq -r '.balance')" 2>/dev/null
ln_channelbalance_pending="$(echo "$lnd_channelbalance" | jq -r '.pending_open_balance')" 2>/dev/null
if [ "${ln_channelbalance_pending}" = "0" ]; then ln_channelbalance_pending=""; fi
if [ ${#ln_channelbalance_pending} -gt 0 ]; then ln_channelbalance_pending=" (+${ln_channelbalance_pending})"; fi
ln_channels_online="$(echo "${ln_getInfo}" | jq -r '.num_active_channels')" 2>/dev/null
ln_channels_total="$($lncli_alias --macaroonpath=${lnd_macaroon_dir}/readonly.macaroon --tlscertpath=${lnd_dir}/tls.cert listchannels | jq '.[] | length')" 2>/dev/null
ln_baseInfo="${color_gray}wallet ${ln_walletbalance} ${netprefix}sat ${ln_walletbalance_wait}"
ln_peers="$(echo "${ln_getInfo}" | jq -r '.num_peers')" 2>/dev/null
ln_channelInfo="${ln_channels_online}/${ln_channels_total} Channels ${ln_channelbalance} ${netprefix}sat${ln_channelbalance_pending}"
ln_peersInfo="${color_green}${ln_peers} ${color_gray}peers"
lnd_feereport=$($lncli_alias --macaroonpath=${lnd_macaroon_dir}/readonly.macaroon --tlscertpath=${lnd_dir}/tls.cert feereport 2>/dev/null)
ln_dailyfees="$(echo "$lnd_feereport" | jq -r '.day_fee_sum')" 2>/dev/null
ln_weeklyfees="$(echo "$lnd_feereport" | jq -r '.week_fee_sum')" 2>/dev/null
ln_monthlyfees="$(echo "$lnd_feereport" | jq -r '.month_fee_sum')" 2>/dev/null
ln_feeReport="Fee Report (D-W-M): ${color_green}${ln_dailyfees}-${ln_weeklyfees}-${ln_monthlyfees} ${color_gray}sat"
fi
fi
fi
# show JoinMarket stats in place of the LND URI only if the Yield Generator is running
source /home/joinmarket/joinin.conf 2>/dev/null
if [ "${joinmarket}" = "on" ] && [ $(sudo -u joinmarket pgrep -f "python yg-privacyenhanced.py $YGwallet --wallet-password-stdin" 2>/dev/null | wc -l) -gt 2 ]; then
trap 'rm -f "$JMstats"' EXIT
JMstats=$(mktemp -p /dev/shm)
sudo -u joinmarket /home/joinmarket/info.stats.sh > $JMstats
JMstatsL1=$(sed -n 1p < "$JMstats")
JMstatsL2=$(sed -n 2p < "$JMstats")
JMstatsL3=$(sed -n 3p < "$JMstats")
JMstatsL4=$(sed -n 4p < "$JMstats")
lastLine="\
${color_yellow}
${color_yellow}${ln_publicColor}${ln_external}${color_gray}"
if [ "${joinmarket}" = "on" ];then
# show JoinMarket stats in place of the LND URI only if the Yield Generator is running
if [ "$(sudo -u joinmarket pgrep -f "yg-privacyenhanced.py" 2>/dev/null | wc -l)" -gt 2 ] || \
[ "$(curl -ksX GET https://127.0.0.1:28183/api/v1/session | jq .maker_running 2>/dev/null)" = true ]; then
trap 'rm -f "$JMstats"' EXIT
JMstats=$(mktemp -p /dev/shm)
sudo -u joinmarket /home/joinmarket/info.stats.sh > $JMstats
JMstatsL1=$(sed -n 1p < "$JMstats")
JMstatsL2=$(sed -n 2p < "$JMstats")
JMstatsL3=$(sed -n 3p < "$JMstats")
JMstatsL4=$(sed -n 4p < "$JMstats")
lastLine="\
${color_gray}
${color_gray} ╦╔╦╗ ${color_gray}$JMstatsL1
${color_gray} ║║║║ ${color_gray}$JMstatsL2
${color_gray} ╚╝╩ ╩ ${color_gray}$JMstatsL3
${color_gray}====${color_gray}$JMstatsL4"
else
lastLine="\
${color_yellow}
${color_yellow}${ln_publicColor}${ln_external}${color_gray}"
fi
fi
if [ "${lightning}" == "cl" ];then
LNline="C-LIGHTNING ${color_green}${ln_version}\n ${ln_baseInfo}"
elif [ "${lightning}" == "lnd" ];then
if [ "${lightning}" == "cl" ]; then
LNline="CLN ${color_green}${ln_version} ${ln_baseInfo}"
elif [ "${lightning}" == "lnd" ]; then
LNline="LND ${color_green}${ln_version} ${ln_baseInfo}"
fi
if [ $cpu = 0 ];then
templine="on $(uname -m) VM%s%s"
else
templine="temp %s°C %s°F"
fi
sleep 5
LNinfo=" + Lightning Network"
if [ "${lightning}" == "" ]; then
LNinfo=""
if [ "${lightning}" == "" ] || [ "${lightning}" == "none" ]; then
LNinfo=""
fi
## get uptime and current date & time
uptime=$(uptime --pretty)
datetime=$(date -R)
webuiinfo=""
source <(/home/admin/_cache.sh meta ln_${lightning}_${chain}net_recovery_done)
if [ "${blitzapi}" == "on" ]; then
webuiinfo="Web Admin --> http://${internet_localip}"
fi
datetime=$(date +"%d %b %T %z")
datetime="${datetime} up ${system_up_text}"
stty sane
sleep 1
@ -465,11 +328,11 @@ ${color_yellow} ${color_gray}${network^} Fullnode${LNinfo} ${torIn
${color_yellow} ,/ ${color_yellow}%s
${color_yellow} ,'/ ${color_gray}%s
${color_yellow} ,' / ${color_gray}%s, temp %s°C %s°F
${color_yellow} ,' /_____ ${color_gray}Free Mem ${color_ram}${ram} ${color_gray} HDDuse ${color_hdd}%s${color_gray}
${color_yellow},'_____ ,' ${color_gray}SSH admin@${color_green}${local_ip}${color_gray} d${network_rx} u${network_tx}
${color_yellow} / ,' ${color_gray}${webinterfaceInfo}
${color_yellow} / ,' ${color_gray}${network} ${color_green}${networkVersion} ${color_gray}${chain}net ${networkConnectionsInfo}
${color_yellow} /,' ${color_gray}Blocks ${blockInfo} ${color_gray}Sync ${sync_color}${sync} %s
${color_yellow} ,' /_____ ${color_gray}Free Mem ${color_ram}${ram} ${color_gray} HDD ${color_hdd}%s${color_gray}
${color_yellow},'_____ ,' ${color_gray}SSH admin@${internet_localip}${color_gray} d${internet_rx} u${internet_tx}
${color_yellow} / ,' ${color_gray}${webuiinfo}
${color_yellow} / ,' ${color_gray}${network} ${color_green}${networkVersion}${color_gray}${chain}net ${networkConnectionsInfo}
${color_yellow} /,' ${color_gray}${blockInfo} %s
${color_yellow} /' ${color_gray}
${color_yellow} ${color_gray}${LNline}
${color_yellow} ${color_gray}${ln_channelInfo} ${ln_peersInfo}
@ -479,8 +342,8 @@ $lastLine
"RaspiBlitz v${codeVersion}" \
"-------------------------------------------" \
"Refreshed: ${datetime}" \
"CPU load${load##up*, }" "${tempC}" "${tempF}" \
"${hdd}" "${sync_percentage}"
"CPU load${system_cpu_load##up*, }" "${system_temp_celsius}" "${system_temp_fahrenheit}" \
"${hdd_used_info}" "${sync_percentage}"
if [ ${#undervoltageReports} -gt 0 ] && [ "${undervoltageReports}" != "0" ]; then
echo "${undervoltageReports} undervoltage reports - run 'Hardware Test' in menu"
@ -492,29 +355,34 @@ else
appInfoLine=""
# Electrum Server - electrs
if [ "${ElectRS}" = "on" ]; then
fileFlagExists=$(sudo ls /mnt/hdd/app-storage/electrs/initial-sync.done 2>/dev/null | grep -c 'initial-sync.done')
if [ "${ElectRS}" == "on" ] && [ $fileFlagExists -eq 0 ]; then
error=""
source <(sudo /home/admin/config.scripts/bonus.electrs.sh status 2>/dev/null)
source <(/home/admin/config.scripts/bonus.electrs.sh status-sync 2>/dev/null)
if [ ${#infoSync} -gt 0 ]; then
appInfoLine="Electrum: ${infoSync}"
fi
fi
# BTC RPC EXPLORER
if [ "${BTCRPCexplorer}" = "on" ]; then
# Electrum Server - fulcrum
fileFlagExists=$(sudo ls /mnt/hdd/app-storage/fulcrum/initial-sync.done 2>/dev/null | grep -c 'initial-sync.done')
if [ "${fulcrum}" == "on" ] && [ $fileFlagExists -eq 0 ]; then
error=""
source <(sudo /home/admin/config.scripts/bonus.btc-rpc-explorer.sh status 2>/dev/null)
if [ ${#error} -gt 0 ]; then
appInfoLine="ERROR BTC-RPC-Explorer: ${error} (try restart)"
elif [ "${isIndexed}" = "0" ]; then
appInfoLine="BTC-RPC-Explorer: ${indexInfo}"
source <(/home/admin/config.scripts/bonus.fulcrum.sh status-sync 2>/dev/null)
if [ ${#infoSync} -gt 0 ]; then
appInfoLine="Fulcrum: ${infoSync}"
fi
fi
# Transaction Index
source <(/home/admin/config.scripts/network.txindex.sh status)
if [ "${txindex}" == "1" ] && [ "${isIndexed}" != "1" ]; then
appInfoLine="Transaction Index: ${indexInfo}"
fi
if [ ${#appInfoLine} -gt 0 ]; then
echo "${appInfoLine}"
fi
fi
# EOF

View File

@ -64,8 +64,8 @@ configFile="/mnt/hdd/raspiblitz.conf"
infoFile="/home/admin/raspiblitz.info"
# check that user is pi
if [ "$USER" != "pi" ]; then
echo "plz run as user pi --> su pi"
if [ "$USER" != "pi" ] && [ "$USER" != "root" ]; then
echo "plz run as user pi or with sudo"
exit 1
fi
@ -86,38 +86,57 @@ while :
# get config info if already available (with state value)
source ${infoFile}
configExists=$(ls ${configFile} 2>/dev/null | grep -c '.conf')
configExists=$(ls "${configFile}" 2>/dev/null | grep -c '.conf')
if [ ${configExists} -eq 1 ]; then
source ${configFile}
source <(/home/admin/config.scripts/network.aliases.sh getvars)
fi
if [ "${setupPhase}" != "done" ] || [ "${state}" == "reboot" ] || [ "${state}" == "shutdown" ] || [ "${state}" == "copytarget" ] || [ "${state}" == "copysource" ] || [ "${state}" == "copystation" ]; then
if [ "${setupPhase}" != "done" ] || [ "${state}" == "reboot" ] || [ "${state}" == "shutdown" ] || [ "${state}" == "copytarget" ] || [ "${state}" == "copysource" ]; then
# show status info during boot & setup & repair on LCD
if [ "${state}" == "" ]; then
state="nostate"
fi
/home/admin/setup.scripts/eventInfoWait.sh "${state}" "${message}" lcd
sleep 1
continue
fi
# TODO: ALSO SEPARATE GUI/ACTION FOR THE SCANNING / WALLET UNLOCK / ERROR DETECTION
# if lightning is syncing or scanning
source <(sudo /home/admin/config.scripts/blitz.statusscan.sh $lightning)
if [ "${walletLocked}" == "1" ] || [ "${CLwalletLocked}" == "1" ]; then
source <(/home/admin/_cache.sh get \
lightning \
ln_default_locked \
btc_default_synced \
btc_default_online \
btc_default_sync_initialblockdownload \
btc_default_blocks_behind \
)
if [ "${lightning}" != "" ] && [ "${lightning}" != "none" ] && [ "${ln_default_locked}" == "1" ]; then
/home/admin/setup.scripts/eventInfoWait.sh "walletlocked" "" lcd
sleep 3
continue
fi
if [ "${syncedToChain}" != "1" ]; then
# when lightning is active - show sync until ln_default_sync_initial_done
if [ "${lightning}" != "" ] && [ "${lightning}" != "none" ] && [ "${ln_default_sync_initial_done}" == "0" ]; then
/home/admin/setup.scripts/eventBlockchainSync.sh lcd
sleep 10
sleep 3
continue
fi
# when btc not online or not synced - show sync screen
if [ "${btc_default_synced}" != "1" ] || [ "${btc_default_online}" != "1" ]; then
/home/admin/setup.scripts/eventBlockchainSync.sh lcd
sleep 3
continue
fi
# no special case - show status display
/home/admin/00infoBlitz.sh $lightning ${chain}net
/home/admin/00infoBlitz.sh ${chain}net $lightning
sleep 5
done

View File

@ -2,15 +2,9 @@
echo "Starting the main menu ..."
# CONFIGFILE - configuration of RaspiBlitz
configFile="/mnt/hdd/raspiblitz.conf"
# INFOFILE - state data from bootstrap
infoFile="/home/admin/raspiblitz.info"
# MAIN MENU AFTER SETUP
source ${infoFile}
source ${configFile}
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
# FUNCTIONS
@ -38,7 +32,7 @@ confirmation()
}
# get the local network IP to be displayed on the LCD
source <(/home/admin/config.scripts/internet.sh status local)
source <(/home/admin/_cache.sh get internet_localip)
if [ ${chain} = test ];then
netprefix="t"
@ -64,7 +58,7 @@ fi
if [ ${#lightning} -gt 0 ]; then
plus="/ ${lightning} ${plus}"
fi
BACKTITLE="${localip} / ${hostname} / ${network} ${plus}"
BACKTITLE="${internet_localip} / ${hostname} / ${network} ${plus}"
# Basic Options
OPTIONS+=(INFO "RaspiBlitz Status Screen")
@ -74,9 +68,9 @@ if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
OPTIONS+=(LND "LND Wallet Options")
fi
# if C-Lightning is active
# if Core Lightning is active
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
OPTIONS+=(CL "C-lightning Wallet Options")
OPTIONS+=(CLN "Core Lightning Wallet Options")
fi
# Activated Apps/Services
@ -84,7 +78,7 @@ if [ "${rtlWebinterface}" == "on" ]; then
OPTIONS+=(LRTL "LND RTL Webinterface")
fi
if [ "${crtlWebinterface}" == "on" ]; then
OPTIONS+=(CRTL "C-Lightning RTL Webinterface")
OPTIONS+=(CRTL "Core Lightning RTL Webinterface")
fi
if [ "${BTCPayServer}" == "on" ]; then
OPTIONS+=(BTCPAY "BTCPay Server Info")
@ -92,20 +86,24 @@ fi
if [ "${lit}" == "on" ]; then
OPTIONS+=(LIT "LIT (loop, pool, faraday)")
fi
if [ "${sparko}" == "on" ]; then
OPTIONS+=(SPARKO "Sparko Webwallet")
fi
if [ "${spark}" == "on" ]; then
OPTIONS+=(SPARK "Spark Wallet")
if [ "${lndg}" == "on" ]; then
OPTIONS+=(LNDG "LNDg (auto-rebalance, auto-fees)")
fi
if [ "${ElectRS}" == "on" ]; then
OPTIONS+=(ELECTRS "Electrum Rust Server")
fi
if [ "${fulcrum}" == "on" ]; then
OPTIONS+=(FULCRUM "Fulcrum Electrum Server")
fi
if [ "${BTCRPCexplorer}" == "on" ]; then
OPTIONS+=(EXPLORE "BTC RPC Explorer")
fi
if [ "${LNBits}" == "on" ]; then
OPTIONS+=(LNBITS "LNbits Server")
if [ "${LNBitsFunding}" == "lnd" ] || [ "${LNBitsFunding}" == "tlnd" ] || [ "${LNBitsFunding}" == "slnd" ] || [ "${LNBitsFunding}" == "" ]; then
OPTIONS+=(LNBITS "LNbits on LND")
elif [ "${LNBitsFunding}" == "cl" ] || [ "${LNBitsFunding}" == "tcl" ] || [ "${LNBitsFunding}" == "scl" ]; then
OPTIONS+=(LNBITS "LNbits on Core Lightning")
fi
fi
if [ "${lndmanage}" == "on" ]; then
OPTIONS+=(LNDMANAGE "LND Manage Script")
@ -113,6 +111,9 @@ fi
if [ "${loop}" == "on" ]; then
OPTIONS+=(LOOP "Loop In/Out Service")
fi
if [ "${lndk}" == "on" ]; then
OPTIONS+=(LNDK "LND BOLT 12 privacy")
fi
if [ "${mempoolExplorer}" == "on" ]; then
OPTIONS+=(MEMPOOL "Mempool Space")
fi
@ -122,12 +123,18 @@ fi
if [ "${joinmarket}" == "on" ]; then
OPTIONS+=(JM "JoinMarket with JoininBox")
fi
if [ "${jam}" == "on" ]; then
OPTIONS+=(JAM "Jam (JoinMarket WebUI)")
fi
if [ "${faraday}" == "on" ]; then
OPTIONS+=(FARADAY "Faraday Channel Management")
fi
if [ "${bos}" == "on" ]; then
OPTIONS+=(BOS "Balance of Satoshis")
fi
#if [ "${lnproxy}" == "on" ]; then
# OPTIONS+=(LNPROXY "lnproxy server")
#fi
if [ "${pyblock}" == "on" ]; then
OPTIONS+=(PYBLOCK "PyBlock")
fi
@ -143,11 +150,26 @@ fi
if [ "${sphinxrelay}" == "on" ]; then
OPTIONS+=(SPHINX "Sphinx Chat Relay")
fi
if [ "${helipad}" == "on" ]; then
OPTIONS+=(HELIPAD "Helipad Boostagram reader")
fi
if [ "${chantools}" == "on" ]; then
OPTIONS+=(CHANTOOLS "ChannelTools (Fund Rescue)")
fi
if [ "${circuitbreaker}" == "on" ]; then
OPTIONS+=(CIRCUIT "Circuitbreaker (LND firewall)")
OPTIONS+=(CIRCUITBREAKER "Circuitbreaker (LND firewall)")
fi
if [ "${squeaknode}" == "on" ]; then
OPTIONS+=(SQUEAKNODE "Squeaknode")
fi
if [ "${lightningtipbot}" == "on" ]; then
OPTIONS+=(LIGHTNINGTIPBOT "Show LightningTipBot details")
fi
if [ "${fints}" == "on" ]; then
OPTIONS+=(FINTS "Show FinTS/HBCI details")
fi
if [ "${labelbase}" == "on" ]; then
OPTIONS+=(LABELBASE "Labelbase (UTXO labeling)")
fi
# dont offer to switch to "testnet view for now" - so no wswitch back to mainnet needed
@ -163,9 +185,7 @@ OPTIONS+=(SETTINGS "Node Settings & Options")
OPTIONS+=(SERVICES "Additional Apps & Services")
OPTIONS+=(SYSTEM "Monitoring & Configuration")
OPTIONS+=(CONNECT "Connect Apps & Show Credentials")
if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
OPTIONS+=(SUBSCRIBE "Manage Subscriptions")
fi
OPTIONS+=(SUBSCRIBE "Manage Subscriptions")
OPTIONS+=(PASSWORD "Change Passwords")
if [ "${touchscreen}" == "1" ]; then
@ -197,13 +217,13 @@ case $CHOICE in
do
# show the same info as on LCD screen
/home/admin/00infoBlitz.sh ${lightning} ${chain}net
/home/admin/00infoBlitz.sh ${chain}net ${lightning}
# wait 6 seconds for user exiting loop
echo ""
echo -en "Screen is updating in a loop .... press 'x' now to get back to menu."
read -n 1 -t 6 keyPressed
echo -en "\rGathering information to update info ... please wait. \n"
echo -en "\rGathering information to update info ... please wait. \n"
# check if user wants to abort session
if [ "${keyPressed}" = "x" ]; then
@ -217,7 +237,7 @@ case $CHOICE in
LND)
/home/admin/99lndMenu.sh
;;
CL)
CLN)
/home/admin/99clMenu.sh ${chain}net
;;
CONNECT)
@ -245,14 +265,14 @@ case $CHOICE in
ELECTRS)
/home/admin/config.scripts/bonus.electrs.sh menu
;;
FULCRUM)
/home/admin/config.scripts/bonus.fulcrum.sh menu
;;
LIT)
/home/admin/config.scripts/bonus.lit.sh menu
;;
SPARKO)
/home/admin/config.scripts/cl-plugin.sparko.sh menu mainnet
;;
SPARK)
/home/admin/config.scripts/cl.spark.sh menu mainnet
LNDG)
/home/admin/config.scripts/bonus.lndg.sh menu
;;
LNBITS)
/home/admin/config.scripts/bonus.lnbits.sh menu
@ -260,8 +280,11 @@ case $CHOICE in
LNDMANAGE)
/home/admin/config.scripts/bonus.lndmanage.sh menu
;;
LOOP)
/home/admin/config.scripts/bonus.loop.sh menu
LNDK)
/home/admin/config.scripts/bonus.lndk.sh menu
;;
LIGHTNINGTIPBOT)
/home/admin/config.scripts/bonus.lightningtipbot.sh menu
;;
MEMPOOL)
/home/admin/config.scripts/bonus.mempool.sh menu
@ -270,13 +293,16 @@ case $CHOICE in
/home/admin/config.scripts/bonus.specter.sh menu
;;
JM)
sudo /home/admin/config.scripts/bonus.joinmarket.sh menu
/home/admin/config.scripts/bonus.joinmarket.sh menu
;;
FARADAY)
sudo /home/admin/config.scripts/bonus.faraday.sh menu
JAM)
/home/admin/config.scripts/bonus.jam.sh menu
;;
BOS)
sudo /home/admin/config.scripts/bonus.bos.sh menu
;;
LNPROXY)
sudo /home/admin/config.scripts/bonus.lnproxy.sh menu
;;
PYBLOCK)
sudo /home/admin/config.scripts/bonus.pyblock.sh menu
@ -287,21 +313,33 @@ case $CHOICE in
ZEROTIER)
sudo /home/admin/config.scripts/bonus.zerotier.sh menu
;;
POOL)
sudo /home/admin/config.scripts/bonus.pool.sh menu
;;
SPHINX)
sudo /home/admin/config.scripts/bonus.sphinxrelay.sh menu
;;
HELIPAD)
sudo /home/admin/config.scripts/bonus.helipad.sh menu
;;
SQUEAKNODE)
/home/admin/config.scripts/bonus.squeaknode.sh menu
;;
ITCHYSATS)
sudo /home/admin/config.scripts/bonus.itchysats.sh menu
;;
CHANTOOLS)
sudo /home/admin/config.scripts/bonus.chantools.sh menu
;;
CIRCUIT)
CIRCUITBREAKER)
sudo /home/admin/config.scripts/bonus.circuitbreaker.sh menu
;;
LABELBASE)
sudo /home/admin/config.scripts/bonus.labelbase.sh menu
;;
FINTS)
sudo /home/admin/config.scripts/bonus.fints.sh menu
;;
TESTNETS)
/home/admin/00parallelChainsMenu.sh
;;
;;
SUBSCRIBE)
/home/admin/config.scripts/blitz.subscriptions.py
;;
@ -315,7 +353,7 @@ case $CHOICE in
/home/admin/98repairMenu.sh
;;
PASSWORD)
sudo /home/admin/config.scripts/blitz.setpassword.sh
sudo /home/admin/config.scripts/blitz.passwords.sh set
;;
UPDATE)
/home/admin/99updateMenu.sh
@ -358,4 +396,4 @@ exitCodeOfSubmenu=$?
if [ "${exitCodeOfSubmenu}" != "0" ]; then
echo "# submenu signaled exit code '${exitCodeOfSubmenu}' --> forward to outside loop"
fi
exit ${exitCodeOfSubmenu}
exit ${exitCodeOfSubmenu}

View File

@ -6,9 +6,6 @@
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
# get the local network IP to be displayed on the LCD
source <(/home/admin/config.scripts/internet.sh status local)
# BASIC MENU INFO
WIDTH=64
BACKTITLE="RaspiBlitz"
@ -20,7 +17,7 @@ plus=""
if [ "${testnet}" == "on" ]; then
OPTIONS+=(tSYS "TESTNET Monitoring & Configuration")
if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then OPTIONS+=(tLND "TESTNET LND Wallet Options"); fi
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then OPTIONS+=(tCL "TESTNET C-Lightning Wallet Options"); fi
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then OPTIONS+=(tCL "TESTNET Core Lightning Wallet Options"); fi
fi
# just an optical splitter - ignored on select
@ -28,7 +25,7 @@ OPTIONS+=(--- "----------------------------------")
if [ "${signet}" == "on" ]; then
OPTIONS+=(sSYS "SIGNET Monitoring & Configuration")
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then OPTIONS+=(sCL "SIGNET C-Lightning Wallet Options"); fi
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then OPTIONS+=(sCL "SIGNET Core Lightning Wallet Options"); fi
fi
# DONT OFFER SERVICES FOR TESTNET RIGHT NOW

View File

@ -13,8 +13,6 @@ if [ ${#rtlWebinterface} -eq 0 ]; then rtlWebinterface="off"; fi
if [ ${#lnd} -eq 0 ]; then lnd="off"; fi
if [ ${#cl} -eq 0 ]; then cl="off"; fi
if [ ${#crtlWebinterface} -eq 0 ]; then crtlWebinterface="off"; fi
if [ ${#sparko} -eq 0 ]; then sparko="off"; fi
if [ ${#spark} -eq 0 ]; then spark="off"; fi
# show select dialog
echo "run dialog ..."
@ -22,10 +20,8 @@ echo "run dialog ..."
OPTIONS=()
OPTIONS+=(l "LND on $CHAIN" ${lnd})
OPTIONS+=(r "RTL for LND $CHAIN" ${rtlWebinterface})
OPTIONS+=(c "C-lightning on $CHAIN" ${cl})
OPTIONS+=(c "Core Lightning on $CHAIN" ${cl})
OPTIONS+=(t "RTL for CL on $CHAIN" ${crtlWebinterface})
OPTIONS+=(s "Sparko for CL on $CHAIN" ${sparko})
OPTIONS+=(m "Spark for CL on $CHAIN" ${spark})
CHOICES=$(dialog --title ' Additional Services ' \
--checklist ' use spacebar to activate/de-activate ' \
@ -60,7 +56,7 @@ if [ "${lnd}" != "${choice}" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
echo "# Successfully installed LND on $CHAIN"
else
l1="# !!! FAIL on LND on $CHAIN install !!!"
l1="# FAIL on LND on $CHAIN install #"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/lnd.install.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -81,8 +77,11 @@ if [ "${cl}" != "${choice}" ]; then
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
echo "# Successfully installed CL on $CHAIN"
# for mainnet only
# generate wallet from seedwords
/home/admin/config.scripts/cl.hsmtool.sh new $CHAIN
else
l1="# !!! FAIL on CL on $CHAIN install !!!"
l1="# FAIL on CL on $CHAIN install #"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl.install.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -107,7 +106,7 @@ if [ "${rtlWebinterface}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.rtl.sh menu lnd $CHAIN
else
l1="# !!! FAIL on RTL for LND $CHAIN install !!!"
l1="# FAIL on RTL for LND $CHAIN install #"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on lnd $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -132,7 +131,7 @@ if [ "${crtlWebinterface}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.rtl.sh menu cl $CHAIN
else
l1="!!! FAIL on RTL for CL $CHAIN install !!!"
l1="# FAIL on RTL for CL $CHAIN install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on cl $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -142,50 +141,6 @@ else
echo "RTL for CL $CHAIN Setting unchanged."
fi
# sparko process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "s")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${sparko}" != "${choice}" ]; then
echo "# Sparko on $CHAIN Setting changed .."
anychange=1
/home/admin/config.scripts/cl-plugin.sparko.sh ${choice} $CHAIN
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
/home/admin/config.scripts/cl-plugin.sparko.sh menu $CHAIN
else
l1="# !!! FAIL on Sparko on $CHAIN install !!!"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl-plugin.sparko.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "# Sparko on $CHAIN Setting unchanged."
fi
# spark process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "m")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${spark}" != "${choice}" ]; then
echo "# Spark Wallet on $CHAIN Setting changed .."
anychange=1
/home/admin/config.scripts/cl.spark.sh ${choice} $CHAIN
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
/home/admin/config.scripts/cl.spark.sh menu $CHAIN
else
l1="# !!! FAIL on Spark Wallet on $CHAIN install !!!"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl.spark.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "# Spark Wallet on $CHAIN Setting unchanged."
fi
if [ ${anychange} -eq 0 ]; then
dialog --msgbox "NOTHING CHANGED!\nUse Spacebar to check/uncheck services." 8 58
exit 0

View File

@ -13,8 +13,6 @@ if [ ${#trtlWebinterface} -eq 0 ]; then trtlWebinterface="off"; fi
if [ ${#tlnd} -eq 0 ]; then tlnd="off"; fi
if [ ${#tcrtlWebinterface} -eq 0 ]; then tcrtlWebinterface="off"; fi
if [ ${#tcl} -eq 0 ]; then tcl="off"; fi
if [ ${#tsparko} -eq 0 ]; then tsparko="off"; fi
if [ ${#tspark} -eq 0 ]; then tspark="off"; fi
# show select dialog
echo "run dialog ..."
@ -22,10 +20,8 @@ echo "run dialog ..."
OPTIONS=()
OPTIONS+=(l "LND on $CHAIN" ${tlnd})
OPTIONS+=(r "RTL for LND $CHAIN" ${trtlWebinterface})
OPTIONS+=(c "C-lightning on $CHAIN" ${tcl})
OPTIONS+=(c "Core Lightning on $CHAIN" ${tcl})
OPTIONS+=(t "RTL for CL on $CHAIN" ${tcrtlWebinterface})
OPTIONS+=(s "Sparko for CL on $CHAIN" ${tsparko})
OPTIONS+=(m "Spark Wallet fro CL on $CHAIN" ${tspark})
CHOICES=$(dialog --title ' Additional Services ' \
--checklist ' use spacebar to activate/de-activate ' \
@ -60,7 +56,7 @@ if [ "${tlnd}" != "${choice}" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
echo "# Successfully installed LND on $CHAIN"
else
l1="# !!! FAIL on LND on $CHAIN install !!!"
l1="# FAIL on LND on $CHAIN install #"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/lnd.install.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -82,7 +78,7 @@ if [ "${tcl}" != "${choice}" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
echo "# Successfully installed CL on $CHAIN"
else
l1="# !!! FAIL on CL on $CHAIN install !!!"
l1="# FAIL on CL on $CHAIN install #"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl.install.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -107,7 +103,7 @@ if [ "${trtlWebinterface}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.rtl.sh menu lnd $CHAIN
else
l1="# !!! FAIL on RTL for LND $CHAIN install !!!"
l1="# FAIL on RTL for LND $CHAIN install #"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on lnd $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -132,7 +128,7 @@ if [ "${tcrtlWebinterface}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.rtl.sh menu cl $CHAIN
else
l1="!!! FAIL on RTL for CL $CHAIN install !!!"
l1="# FAIL on RTL for CL $CHAIN install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on cl $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -142,50 +138,6 @@ else
echo "RTL for CL $CHAIN Setting unchanged."
fi
# tsparko process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "s")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${tsparko}" != "${choice}" ]; then
echo "# Sparko on $CHAIN Setting changed .."
anychange=1
/home/admin/config.scripts/cl-plugin.sparko.sh ${choice} $CHAIN
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
/home/admin/config.scripts/cl-plugin.sparko.sh menu $CHAIN
else
l1="# !!! FAIL on Sparko on $CHAIN install !!!"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl-plugin.sparko.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "# Sparko on $CHAIN Setting unchanged."
fi
# tspark process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "m")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${tspark}" != "${choice}" ]; then
echo "# Spark Wallet on $CHAIN Setting changed .."
anychange=1
/home/admin/config.scripts/cl.spark.sh ${choice} $CHAIN
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
/home/admin/config.scripts/cl.spark.sh menu $CHAIN
else
l1="# !!! FAIL on Spark Wallet on $CHAIN install !!!"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl.spark.sh on $CHAIN"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
else
echo "# Spark Wallet on $CHAIN Setting unchanged."
fi
if [ ${anychange} -eq 0 ]; then
dialog --msgbox "NOTHING CHANGED!\nUse Spacebar to check/uncheck services." 8 58
exit 0

View File

@ -8,22 +8,10 @@
echo "Starting SSH user interface ... (please wait)"
# CONFIGFILE - configuration of RaspiBlitz
configFile="/mnt/hdd/raspiblitz.conf"
source ${configFile} 2>/dev/null
source /mnt/hdd/raspiblitz.conf 2>/dev/null
# INFOFILE - state data from bootstrap
infoFile="/home/admin/raspiblitz.info"
# check if raspiblitz.info exists
systemInfoExists=$(ls ${infoFile} | grep -c "${infoFile}")
if [ "${systemInfoExists}" != "1" ]; then
echo "systemInfoExists(${systemInfoExists})"
echo "FAIL: ${infoFile} does not exist .. which it should at this point."
echo "Check logs & bootstrap.service for errors and report to devs."
exit 1
fi
# get system state information raspiblitz.info
source ${infoFile}
# check that basic system phase/state information is available
@ -59,35 +47,27 @@ if [ "${copyInProgress}" = "1" ]; then
exit
fi
# special state: reindex was triggered
if [ "${state}" = "reindex" ]; then
echo "Re-Index in progress ... start monitoring:"
/home/admin/config.scripts/network.reindex.sh
exit
fi
# special state: copystation
if [ "${state}" = "copystation" ]; then
echo "Copy Station is Running ..."
echo "reboot to return to normal"
sudo /home/admin/XXcopyStation.sh
exit
fi
# prepare status file
# TODO: this is to be replaced and unified together with raspiblitz.info
# when we move to a background monitoring thread & redis for WebUI with v1.8
sudo touch /var/cache/raspiblitz/raspiblitz.status
sudo chown admin:admin /var/cache/raspiblitz/raspiblitz.status
sudo chmod 740 /var/cache/raspiblitz/raspiblitz.status
#####################################
# SSH MENU LOOP
# this loop runs until user exits or
# an error drops user to terminal
#####################################
# listen to CTRL-c & CTRL-z to break loop
quit() {
echo "SIGINT or SIGTERM received, exiting..."
kill -9 $$
}
trap quit INT
trap quit TERM
echo "# start ssh menu loop"
# put some values on higher scan rate for 10 minute
/home/admin/_cache.sh focus ln_default_ready 2 600 >/dev/null
/home/admin/_cache.sh focus ln_default_locked 2 600 >/dev/null
/home/admin/_cache.sh focus btc_default_synced 2 600 >/dev/null
echo "# starting ssh menu loop ... "
exitMenuLoop=0
doneIBD=0
while [ ${exitMenuLoop} -eq 0 ]
@ -97,63 +77,56 @@ do
# Access fresh system info on every loop
# refresh system state information
source ${infoFile}
# gather fresh status scan and store results in memory
# TODO: move this into background loop and unify with redis data storage later
#echo "# blitz.statusscan.sh"
firstStatusScanExists=$(ls /var/cache/raspiblitz/raspiblitz.status | grep -c "raspiblitz.status")
#echo "firstStatusScanExists(${firstStatusScanExists})"
if [ ${firstStatusScanExists} -eq 1 ]; then
# run statusscan with timeout - if status scan was not killed it will copy over the
timeout 15 /home/admin/config.scripts/blitz.statusscan.sh ${lightning} > /var/cache/raspiblitz/raspiblitz.status.tmp
result=$?
#echo "result(${result})"
if [ "${result}" == "0" ]; then
# statusscan finished in under 10 seconds - use results
cp /var/cache/raspiblitz/raspiblitz.status.tmp /var/cache/raspiblitz/raspiblitz.status
else
# statusscan blocked and was killed - fallback to old results
echo "statusscan blocked (${result}) - fallback to old results"
sleep 1
fi
else
# first time run statusscan without timeout
echo "# running statusscan for the first time ... can take time"
/home/admin/config.scripts/blitz.statusscan.sh ${lightning} > /var/cache/raspiblitz/raspiblitz.status
source <(/home/admin/_cache.sh get \
systemscan_runtime \
state \
setupPhase \
btc_default_synced \
ln_default_sync_chain \
ln_default_locked \
ln_default_ready \
ln_default_sync_initial_done \
message \
network \
chain \
lightning \
internet_localip
)
# background.scan is not ready yet
if [ "${systemscan_runtime}" == "" ]; then
echo "# background.scan not ready yet ... (please wait)"
sleep 4
continue
fi
# load statusscan results
source /var/cache/raspiblitz/raspiblitz.status 2>/dev/null
#####################################
# ALWAYS: Handle System States
# ALWAYS: Handle System States
#####################################
############################
# LND Wallet Unlock
# Wallet Unlock
if [ "${lndActive}" == "1" ] && [ "${walletLocked}" == "1" ] && [ "${state}" == "ready" ] && [ "${setupPhase}" == "done" ]; then
#echo "# lnd.unlock.sh"
/home/admin/config.scripts/lnd.unlock.sh
fi
if [ "${state}" == "ready" ] && [ "${setupPhase}" == "done" ] && [ "${ln_default_locked}" == "1" ]; then
# unlock lnd
if [ "${lightning}" == "lnd" ]; then
/home/admin/config.scripts/lnd.unlock.sh
fi
# unlock c-lightning
if [ "${lightning}" == "cl" ]; then
/home/admin/config.scripts/cl.hsmtool.sh unlock ${chain}net
sleep 5
fi
# CL Wallet Unlock
if [ "${CLwalletLocked}" == "1" ] && [ "${state}" == "ready" ] && [ "${setupPhase}" == "done" ]; then
/home/admin/config.scripts/cl.hsmtool.sh unlock
sleep 5
fi
#####################################
# SETUP MENU
#####################################
# when is needed & bootstrap process signals that it waits for user dialog
# when is needed & bootstrap process signals that it waits for user dialog
if [ "${setupPhase}" != "done" ] && [ "${state}" == "waitsetup" ]; then
# push user to main menu
echo "# controlSetupDialog.sh"
@ -168,14 +141,14 @@ do
# SETUP DONE DIALOGS
#####################################
# when is needed & bootstrap process signals that it waits for user dialog
# when is needed & bootstrap process signals that it waits for user dialog
if [ "${setupPhase}" != "done" ] && [ "${state}" == "waitfinal" ]; then
# push to final setup gui dialogs
#echo "# controlFinalDialog.sh"
/home/admin/setup.scripts/controlFinalDialog.sh
# exit because controller will reboot at the end
exit 0
fi
fi
# exit loop/script in case if system shutting down
if [ "${state}" == "reboot" ] || [ "${state}" == "shutdown" ]; then
@ -186,7 +159,7 @@ do
echo "***********************************************************"
if [ "${state}" == "reboot" ]; then
echo "SSH again into system with:"
echo "ssh admin@${localip}"
echo "ssh admin@${internet_localip}"
echo "Use your password A"
echo "***********************************************************"
fi
@ -195,13 +168,88 @@ do
fi
#####################################
# INITIAL BLOCKCHAIN SYNC (SUBLOOP)
# MAKE SURE BLOCKCHAIN/LN IS SYNC
#####################################
if [ "${lightning}" == "" ]; then syncedToChain=1; fi
if [ "${setupPhase}" == "done" ] && [ "${state}" == "ready" ] && [ "${syncedToChain}" != "1" ]; then
/home/admin/setup.scripts/eventBlockchainSync.sh ssh
sleep 10
continue
if [ "${setupPhase}" == "done" ] && [ "${state}" == "ready" ]; then
if [ "${lightning}" = "cl" ]; then
if [ "${btc_default_synced}" != "1" ] || [ "${ln_default_ready}" == "0" ] || [ "${ln_default_sync_chain}" == "0" ]; then
/home/admin/setup.scripts/eventBlockchainSync.sh ssh
sleep 3
continue
fi
elif [ "${lightning}" = "lnd" ]; then
if [ "${btc_default_synced}" != "1" ] || [ "${ln_default_ready}" == "0" ] || [ "${ln_default_sync_chain}" == "0" ] || [ "${ln_default_sync_initial_done}" == "0" ]; then
/home/admin/setup.scripts/eventBlockchainSync.sh ssh
sleep 3
continue
fi
else
if [ "${btc_default_synced}" != "1" ]; then
/home/admin/setup.scripts/eventBlockchainSync.sh ssh
sleep 3
continue
fi
fi
fi
#####################################
# SCB ACTIVATION
#####################################
# when setup is done & state is ready .. check for SCB activation
if [ "${setupPhase}" == "done" ] && [ "${state}" == "ready" ]; then
# check if there is a channel.backup to activate
gotSCB=$(ls /home/admin/channel.backup 2>/dev/null | grep -c 'channel.backup')
if [ "${gotSCB}" == "1" ]; then
clear
echo
echo "*** channel.backup Recovery ***"
echo "Running ... (please wait)"
lncli --chain=${network} restorechanbackup --multi_file=/home/admin/channel.backup 2>/home/admin/.error.tmp
error=`cat /home/admin/.error.tmp`
rm /home/admin/.error.tmp 2>/dev/null
if [ ${#error} -gt 0 ]; then
# output error message
echo ""
echo "# FAIL # SOMETHING WENT WRONG:"
echo "${error}"
# check if its possible to give background info on the error
notMachtingSeed=$(echo $error | grep -c 'unable to unpack chan backup')
if [ ${notMachtingSeed} -gt 0 ]; then
echo "--> ERROR BACKGROUND:"
echo "The WORD SEED is not matching the channel.backup file."
echo "Either there was an error in the word seed list or"
echo "or the channel.backup file is from another RaspiBlitz."
echo
fi
# basic info on error
echo "#################"
echo "To try upload of channel.backup again:"
echo "MAINMENU > REPAIR > REPAIR-LND > RETRYSCB"
echo
echo "Press ENTER to continue for now ..."
rm /home/admin/channel.backup
read key
else
rm /home/admin/channel.backup
dialog --title " OK Static-Channel-Backup IMPORT " --msgbox "
LND accepted the channel.backup file you uploaded.
It can now take up to an hour until you can see,
if LND was able to recover funds from your channels.
If you dont see any pending on-chain incoming funds
within the next hour or you still missing funds, you
can always retry the upload again under:
MAINMENU > REPAIR > REPAIR-LND > RETRYSCB
" 14 58
fi
fi
fi
#####################################
@ -211,6 +259,9 @@ do
# when setup is done & state is ready .. jump to main menu
if [ "${setupPhase}" == "done" ] && [ "${state}" == "ready" ]; then
# MAIN MENU
# remove higher scan rate on values
/home/admin/_cache.sh focus ln_default_locked -1
/home/admin/_cache.sh focus btc_default_synced -1
echo "# 00mainMenu.sh"
/home/admin/00mainMenu.sh
# use the exit code from main menu as signal if menu loop should exited
@ -220,32 +271,13 @@ do
fi
#####################################
# DURING SETUP: Handle System States
# DURING SETUP: Handle System States
#####################################
if [ "${setupPhase}" != "done" ]; then
#echo "# DURING SETUP: Handle System State (${state})"
# when no HDD on Vagrant - just print info & exit (admin info & exit)
if [ "${state}" == "noHDD" ] && [ ${vagrant} -gt 0 ]; then
echo "***********************************************************"
echo "VAGRANT INFO"
echo "***********************************************************"
echo "To connect a HDD data disk to your VagrantVM:"
echo "- shutdown VM with command: off"
echo "- open your VirtualBox GUI and select RaspiBlitzVM"
echo "- change the 'mass storage' settings"
echo "- add a second 'Primary Slave' drive to the already existing controller"
echo "- close VirtualBox GUI and run: vagrant up & vagrant ssh"
echo "***********************************************************"
echo "You can either create a new dynamic VDI with around 900GB or download"
echo "a VDI with a presynced blockchain to speed up setup. If you dont have 900GB"
echo "space on your laptop you can store the VDI file on an external drive."
echo "***********************************************************"
exit 1
fi
# for all critical errors (admin info & exit)
if [ "${state}" == "error" ] || [ "${state}" == "errorHDD" ]; then
clear
@ -269,6 +301,8 @@ do
echo "https://github.com/rootzoll/raspiblitz#support"
echo "command to shutdown --> off"
exit 1
elif [ "${state}" == "" ]; then
echo "state(${state}) message(${message})"
else
# every other state just push as event to SSH frontend
/home/admin/setup.scripts/eventInfoWait.sh "${state}" "${message}"
@ -320,7 +354,7 @@ if [ "${setupPhase}" == "done" ]; then
echo "LND command line options: lncli -h"
fi
if [ "${lightning}" == "cl" ]; then
echo "C-Lightning command line options: lightning-cli help"
echo "Core Lightning command line options: lightning-cli help"
fi
else
echo "Your setup is not finished."

View File

@ -6,10 +6,8 @@ source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
echo "services default values"
if [ ${#autoPilot} -eq 0 ]; then autoPilot="off"; fi
if [ ${#autoUnlock} -eq 0 ]; then autoUnlock="off"; fi
if [ ${#runBehindTor} -eq 0 ]; then runBehindTor="off"; fi
if [ ${#autoNatDiscovery} -eq 0 ]; then autoNatDiscovery="off"; fi
if [ ${#networkUPnP} -eq 0 ]; then networkUPnP="off"; fi
if [ ${#touchscreen} -eq 0 ]; then touchscreen=0; fi
if [ ${#lcdrotate} -eq 0 ]; then lcdrotate=0; fi
@ -18,6 +16,8 @@ if [ ${#circuitbreaker} -eq 0 ]; then circuitbreaker="off"; fi
if [ ${#clboss} -eq 0 ]; then clboss="off"; fi
if [ ${#clEncryptedHSM} -eq 0 ]; then clEncryptedHSM="off"; fi
if [ ${#clAutoUnlock} -eq 0 ]; then clAutoUnlock="off"; fi
if [ ${#clWatchtowerClient} -eq 0 ]; then clWatchtowerClient="off"; fi
if [ ${#blitzapi} -eq 0 ]; then blitzapi="off"; fi
echo "# map LND to on/off"
lndNode="off"
@ -31,7 +31,7 @@ if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
clNode="on"
fi
echo "map nextcloudbackup to on/off"
echo "# map nextcloudbackup to on/off"
NextcloudBackup="off"
if [ $nextcloudBackupServer ] && [ $nextcloudBackupUser ] && [ $nextcloudBackupPassword ]; then NextcloudBackup="on"; fi
@ -69,21 +69,6 @@ if [ ${touchscreen} -gt 0 ]; then
touchscreenMenu='on'
fi
echo "# map autopilot to on/off"
lndAutoPilotOn=$(sudo cat /mnt/hdd/lnd/lnd.conf 2>/dev/null | grep -c 'autopilot.active=1')
if [ ${lndAutoPilotOn} -eq 1 ]; then
autoPilot="on"
else
autoPilot="off"
fi
echo "# map keysend to on/off"
keysend="on"
source <(sudo /home/admin/config.scripts/lnd.keysend.sh status)
if [ ${keysendOn} -eq 0 ]; then
keysend="off"
fi
echo "# map clboss to on/off"
clbossMenu='off'
if [ "${clboss}" == "on" ]; then
@ -102,16 +87,24 @@ if [ "${clAutoUnlock}" == "on" ]; then
clAutoUnlockMenu='on'
fi
echo "# map clWatchtowerClient to on/off"
clWatchtowerClientMenu='off'
if [ "${clWatchtowerClient}" == "on" ]; then
clWatchtowerClientMenu='on'
fi
# show select dialog
echo "run dialog ..."
# BASIC MENU INFO
OPTIONS=()
OPTIONS+=(A 'Blitz API + WebUI' ${blitzapi})
# LCD options (only when running with LCD screen)
if [ "${displayClass}" == "lcd" ]; then
OPTIONS+=(s 'Touchscreen' ${touchscreenMenu})
OPTIONS+=(r 'LCD Rotate' ${lcdrotateMenu})
# OPTIONS+=(s 'Touchscreen (experimental)' ${touchscreenMenu})
OPTIONS+=(r 'LCD Rotate' ${lcdrotateMenu})
fi
# Important basic options
@ -120,27 +113,30 @@ OPTIONS+=(z 'ZeroTier' ${zerotierSwitch})
if [ ${#runBehindTor} -eq 0 ] || [ "${runBehindTor}" = "off" ]; then
OPTIONS+=(y ${dynDomainMenu} ${domainValue})
OPTIONS+=(b 'BTC UPnP (AutoNAT)' ${networkUPnP})
OPTIONS+=(b 'BTC UPnP (AutoNAT)' ${networkUPnP})
fi
OPTIONS+=(p 'Parallel Testnet/Signet' ${parallelTestnets})
# LND & options (only when running LND)
OPTIONS+=(m 'LND LIGHTNING LABS NODE' ${lndNode})
if [ "${lndNode}" == "on" ]; then
OPTIONS+=(a '-LND Channel Autopilot' ${autoPilot})
OPTIONS+=(k '-LND Accept Keysend' ${keysend})
OPTIONS+=(c '-LND Circuitbreaker (firewall)' ${circuitbreaker})
OPTIONS+=(u '-LND Auto-Unlock' ${autoUnlock})
OPTIONS+=(x '-LND StaticChannelBackup on Nextcloud' ${NextcloudBackup})
OPTIONS+=(e '-LND StaticChannelBackup USB Drive' ${LocalBackup})
OPTIONS+=(l '-LND UPnP (AutoNAT)' ${autoNatDiscovery})
# Lightning options (only LND and/or CLN)
if [ "${lndNode}" == "on" ] || [ "${clNode}" == "on" ]; then
OPTIONS+=(x 'SCB/Emergency-Backup on Nextcloud' ${NextcloudBackup})
OPTIONS+=(e 'SCB/Emergency-Backup USB Drive' ${LocalBackup})
fi
# C-Lightning & options/PlugIns
OPTIONS+=(n 'CL C-LIGHTNING NODE' ${clNode})
# LND & options (only when running LND)
OPTIONS+=(m 'LND LIGHTNING LABS NODE' ${lndNode})
if [ "${lndNode}" == "on" ]; then
OPTIONS+=(c '-LND Circuitbreaker (firewall)' ${circuitbreaker})
OPTIONS+=(u '-LND Auto-Unlock' ${autoUnlock})
fi
# Core Lightning & options/PlugIns
OPTIONS+=(n 'CL CORE LIGHTNING NODE' ${clNode})
if [ "${clNode}" == "on" ]; then
OPTIONS+=(o '-CL CLBOSS Automatic Node Manager' ${clbossMenu})
OPTIONS+=(h '-CL Wallet Encryption' ${clEncryptedHSMMenu})
OPTIONS+=(w '-CL Watchtower Client' ${clWatchtowerClientMenu})
if [ "${clEncryptedHSM}" == "on" ]; then
OPTIONS+=(q '-CL Auto-Unlock' ${clAutoUnlockMenu})
fi
@ -165,16 +161,23 @@ fi
needsReboot=0
anychange=0
# LND AUTOPILOT process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "a")
# Blitz API + webUI process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "A")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${autoPilot}" != "${choice}" ] && [ "${lndNode}" == "on" ]; then
echo "Autopilot Setting changed .."
if [ "${blitzapi}" != "${choice}" ]; then
echo "Blitz API + webUI settings changed .."
anychange=1
sudo /home/admin/config.scripts/lnd.autopilot.sh ${choice}
needsReboot=1
sudo /home/admin/config.scripts/blitz.web.api.sh ${choice} DEFAULT
sudo /home/admin/config.scripts/blitz.web.ui.sh ${choice} DEFAULT
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
whiptail --title " Installed Blitz API + webUI" --msgbox "\
The Blitz API + webUI was installed.\n
See the status screen for more info.\n
" 10 35
fi
else
echo "Autopilot Setting unchanged."
echo "Blitz API + webUI Setting unchanged."
fi
# Dynamic Domain
@ -210,27 +213,6 @@ else
echo "BTC UPnP Setting unchanged."
fi
# LND AutoNAT
choice="off"; check=$(echo "${CHOICES}" | grep -c "l")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${autoNatDiscovery}" != "${choice}" ] && [ "${lndNode}" == "on" ]; then
echo "AUTO NAT Setting changed .."
anychange=1
if [ "${choice}" = "on" ]; then
echo "Starting autoNAT ..."
/home/admin/config.scripts/lnd.autonat.sh on
autoNatDiscovery="on"
needsReboot=1
else
echo "Stopping autoNAT ..."
/home/admin/config.scripts/lnd.autonat.sh off
autoNatDiscovery="off"
needsReboot=1
fi
else
echo "LND AUTONAT Setting unchanged."
fi
# Tor process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "t")
if [ ${check} -eq 1 ]; then choice="on"; fi
@ -247,14 +229,12 @@ RaspiBlitz will now install/activate Tor & after reboot run behind it.
Please keep in mind that thru your LND node id & your previous IP history with your internet provider your lightning node could still be linked to your personal id even when running behind Tor. To unlink you from that IP history its recommended that after the switch/reboot to Tor you also use the REPAIR > RESET-LND option to create a fresh LND wallet. That might involve closing all channels & move your funds out of RaspiBlitz before that RESET-LND.
" 16 76
# make sure AutoNAT & UPnP is off
/home/admin/config.scripts/lnd.autonat.sh off
/home/admin/config.scripts/network.upnp.sh off
fi
# change Tor
anychange=1
sudo /home/admin/config.scripts/internet.tor.sh ${choice}
sudo /home/admin/config.scripts/tor.network.sh ${choice}
needsReboot=1
else
@ -272,7 +252,7 @@ if [ "${autoUnlock}" != "${choice}" ] && [ "${lndNode}" == "on" ]; then
l1="AUTO-UNLOCK IS NOW OFF"
if [ "${choice}" = "on" ]; then
l1="AUTO-UNLOCK IS NOW ACTIVE"
fi
fi
dialog --title 'OK' --msgbox "\n${l1}\n" 9 50
needsReboot=1
fi
@ -345,20 +325,6 @@ else
echo "BackupdDevice setting unchanged."
fi
# LND Keysend process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "k")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${keysend}" != "${choice}" ] && [ "${lndNode}" == "on" ]; then
echo "keysend setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/lnd.keysend.sh ${choice}
sudo systemctl restart lnd
dialog --msgbox "Accept Keysend on LND mainnet is now ${choice}.\n\nLND restarted - you might need to unlock wallet." 7 52
sudo -u admin /home/admin/config.scripts/lnd.unlock.sh
else
echo "keysend setting unchanged."
fi
# ZeroTier process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "z")
if [ ${check} -eq 1 ]; then choice="on"; fi
@ -366,19 +332,11 @@ if [ "${zerotierSwitch}" != "${choice}" ]; then
echo "zerotier setting changed .."
anychange=1
error=""
source <(sudo -u admin /home/admin/config.scripts/bonus.zerotier.sh ${choice})
if [ "${choice}" == "on" ]; then
if [ ${#error} -eq 0 ]; then
dialog --msgbox "Your RaspiBlitz joined the ZeroTier network." 6 46
else
if [ "${error}" != "cancel" ]; then
dialog --msgbox "ZeroTier Error:\n${error}" 8 46
fi
fi
else
sudo -u admin /home/admin/config.scripts/bonus.zerotier.sh ${choice}
if [ "${choice}" != "on" ]; then
dialog --msgbox "ZeroTier is now OFF." 5 46
fi
else
echo "ZeroTier setting unchanged."
fi
@ -414,17 +372,24 @@ choice="off"; check=$(echo "${CHOICES}" | grep -c "n")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${clNode}" != "${choice}" ]; then
anychange=1
echo "# C-Lightning NODE Setting changed .."
echo "# Core Lightning NODE Setting changed .."
if [ "${choice}" = "on" ]; then
echo "# turning ON"
/home/admin/config.scripts/cl.install.sh on mainnet
sudo /home/admin/config.scripts/cl.install.sh display-seed mainnet
# generate wallet from seedwords or just display (write to dev/null to not write seed words to logs)
echo "Generating CL wallet seedwords .."
/home/admin/config.scripts/cl.hsmtool.sh new mainnet noninteractive
if [ "${testnet}" == "on" ]; then
# no seed for testnet
echo "Turn on CL testnet .."
/home/admin/config.scripts/cl.install.sh on testnet
fi
if [ "${signet}" == "on" ]; then
# no seed for signet
echo "Turn on CL signet .."
/home/admin/config.scripts/cl.install.sh on signet
fi
else
echo "# turning OFF"
/home/admin/config.scripts/cl.install.sh off mainnet
@ -432,7 +397,7 @@ if [ "${clNode}" != "${choice}" ]; then
/home/admin/config.scripts/cl.install.sh off signet
fi
else
echo "C-Lightning NODE setting unchanged."
echo "Core Lightning NODE setting unchanged."
fi
# CLBOSS process choice
@ -441,7 +406,16 @@ if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${clboss}" != "${choice}" ] && [ "${clNode}" == "on" ]; then
echo "CLBOSS Setting changed .."
anychange=1
sudo /home/admin/config.scripts/cl-plugin.clboss.sh ${choice}
if [ ${choice} = on ]; then
if /home/admin/config.scripts/cl-plugin.clboss.sh info; then
sudo /home/admin/config.scripts/cl-plugin.clboss.sh on
else
echo "CLBOSS install was cancelled."
sleep 2
fi
else
sudo /home/admin/config.scripts/cl-plugin.clboss.sh off
fi
needsReboot=0
else
echo "CLBOSS Setting unchanged."
@ -454,7 +428,7 @@ if [ "${clEncryptedHSM}" != "${choice}" ] && [ "${clNode}" == "on" ]; then
echo "clEncryptedHSM Setting changed .."
anychange=1
if [ "${choice}" == "on" ]; then
/home/admin/config.scripts/cl.hsmtool.sh encrypt mainnet
sudo /home/admin/config.scripts/cl.hsmtool.sh encrypt mainnet
else
/home/admin/config.scripts/cl.hsmtool.sh decrypt mainnet
fi
@ -479,10 +453,33 @@ else
echo "clAutoUnlock Setting unchanged."
fi
# clWatchtowerClient process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "w")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${clWatchtowerClient}" != "${choice}" ] && [ "${clNode}" == "on" ]; then
echo "CL WATCHTOWER CLIENT Setting changed .."
anychange=1
if [ ${choice} = on ]; then
if /home/admin/config.scripts/cl-plugin.watchtower-client.sh info; then
sudo /home/admin/config.scripts/cl-plugin.watchtower-client.sh on
else
echo "CL WATCHTOWER CLIENT install was cancelled."
sleep 2
fi
else
sudo /home/admin/config.scripts/cl-plugin.watchtower-client.sh off
fi
needsReboot=0
else
echo "CL WATCHTOWER CLIENT Setting unchanged."
fi
# parallel testnet process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "p")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${testnet}" != "${choice}" ]; then
if [ "${testnet}" != "${choice}" ] || \
[ "${signet}" != "${choice}" ]; then
echo "# Parallel Testnets Setting changed .."
anychange=1
if [ "${choice}" = "on" ]; then
@ -495,9 +492,9 @@ if [ "${testnet}" != "${choice}" ]; then
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
/home/admin/config.scripts/cl.install.sh on testnet
/home/admin/config.scripts/cl.install.sh on signet
fi
fi
else
# just turn al lightning testnets off (even if not on before)
# just turn all lightning testnets off (even if not on before)
/home/admin/config.scripts/lnd.install.sh off testnet
/home/admin/config.scripts/lnd.install.sh off signet
/home/admin/config.scripts/cl.install.sh off testnet

View File

@ -1,5 +1,5 @@
#!/bin/bash
# get raspiblitz config
echo "get raspiblitz config"
source /home/admin/raspiblitz.info
@ -15,6 +15,7 @@ if [ ${#BTCPayServer} -eq 0 ]; then BTCPayServer="off"; fi
if [ ${#ElectRS} -eq 0 ]; then ElectRS="off"; fi
if [ ${#lndmanage} -eq 0 ]; then lndmanage="off"; fi
if [ ${#joinmarket} -eq 0 ]; then joinmarket="off"; fi
if [ ${#jam} -eq 0 ]; then jam="off"; fi
if [ ${#LNBits} -eq 0 ]; then LNBits="off"; fi
if [ ${#mempoolExplorer} -eq 0 ]; then mempoolExplorer="off"; fi
if [ ${#bos} -eq 0 ]; then bos="off"; fi
@ -22,10 +23,14 @@ if [ ${#pyblock} -eq 0 ]; then pyblock="off"; fi
if [ ${#thunderhub} -eq 0 ]; then thunderhub="off"; fi
if [ ${#sphinxrelay} -eq 0 ]; then sphinxrelay="off"; fi
if [ ${#lit} -eq 0 ]; then lit="off"; fi
if [ ${#lndg} -eq 0 ]; then lndg="off"; fi
if [ ${#whitepaper} -eq 0 ]; then whitepaper="off"; fi
if [ ${#chantools} -eq 0 ]; then chantools="off"; fi
if [ ${#sparko} -eq 0 ]; then sparko="off"; fi
if [ ${#spark} -eq 0 ]; then spark="off"; fi
if [ ${#helipad} -eq 0 ]; then helipad="off"; fi
if [ ${#lightningtipbot} -eq 0 ]; then lightningtipbot="off"; fi
if [ ${#fints} -eq 0 ]; then fints="off"; fi
if [ ${#lndk} -eq 0 ]; then lndk="off"; fi
if [ ${#labelbase} -eq 0 ]; then labelbase="off"; fi
# show select dialog
echo "run dialog ..."
@ -34,37 +39,46 @@ OPTIONS=()
# just available for BTC
if [ "${network}" == "bitcoin" ]; then
OPTIONS+=(e 'BTC Electrum Rust Server' ${ElectRS})
OPTIONS+=(p 'BTC PayServer' ${BTCPayServer})
OPTIONS+=(b 'BTC RPC-Explorer' ${BTCRPCexplorer})
OPTIONS+=(s 'BTC Specter Desktop' ${specter})
OPTIONS+=(a 'BTC Mempool Space' ${mempoolExplorer})
OPTIONS+=(j 'BTC JoinMarket+JoininBox menu' ${joinmarket})
OPTIONS+=(w 'BTC Download Bitcoin Whitepaper' ${whitepaper})
OPTIONS+=(ea 'BTC Electrum Rust Server' ${ElectRS})
OPTIONS+=(pa 'BTC PayServer' ${BTCPayServer})
OPTIONS+=(ba 'BTC RPC-Explorer' ${BTCRPCexplorer})
OPTIONS+=(sa 'BTC Specter Desktop' ${specter})
OPTIONS+=(aa 'BTC Mempool Space' ${mempoolExplorer})
OPTIONS+=(ja 'BTC JoinMarket+JoininBox menu' ${joinmarket})
OPTIONS+=(za 'BTC Jam (JoinMarket WebUI)' ${jam})
OPTIONS+=(wa 'BTC Download Bitcoin Whitepaper' ${whitepaper})
OPTIONS+=(ls 'BTC Labelbase' ${labelbase})
fi
# available for both LND & c-lightning
if [ "${lnd}" == "on" ] || [ "${cl}" == "on" ]; then
OPTIONS+=(ia 'LNbits (Lightning Accounts)' ${LNBits})
OPTIONS+=(ga 'LightningTipBot' ${lightningtipbot})
fi
# just available for LND
if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
OPTIONS+=(r 'LND RTL Webinterface' ${rtlWebinterface})
OPTIONS+=(t 'LND ThunderHub' ${thunderhub})
OPTIONS+=(l 'LND LIT (loop, pool, faraday)' ${lit})
OPTIONS+=(i 'LND LNbits' ${LNBits})
OPTIONS+=(o 'LND Balance of Satoshis' ${bos})
OPTIONS+=(y 'LND PyBLOCK' ${pyblock})
OPTIONS+=(h 'LND ChannelTools (Fund Rescue)' ${chantools})
OPTIONS+=(x 'LND Sphinx-Relay' ${sphinxrelay})
OPTIONS+=(ra 'LND RTL Webinterface' ${rtlWebinterface})
OPTIONS+=(ta 'LND ThunderHub' ${thunderhub})
OPTIONS+=(la 'LND LIT (loop, pool, faraday)' ${lit})
OPTIONS+=(gb 'LND LNDg (auto-rebalance, auto-fees)' ${lndg})
OPTIONS+=(oa 'LND Balance of Satoshis' ${bos})
OPTIONS+=(ya 'LND PyBLOCK' ${pyblock})
OPTIONS+=(ha 'LND ChannelTools (Fund Rescue)' ${chantools})
OPTIONS+=(fa 'LND Helipad Boostagram reader' ${helipad})
OPTIONS+=(lb 'LND LNDK (experimental BOLT 12)' ${lndk})
fi
# just available for CL
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
OPTIONS+=(c 'C-Lightning RTL Webinterface' ${crtlWebinterface})
OPTIONS+=(k 'C-Lightning Sparko WebWallet' ${sparko})
OPTIONS+=(n 'C-Lightning Spark Wallet' ${spark})
OPTIONS+=(ca 'Core Lightning RTL Webinterface' ${crtlWebinterface})
fi
OPTIONS+=(fn 'FinTS/HBCI Interface (experimental)' ${fints})
CHOICES=$(dialog --title ' Additional Mainnet Services ' \
--checklist ' use spacebar to activate/de-activate ' \
25 55 18 "${OPTIONS[@]}" 2>&1 >/dev/tty)
27 55 20 "${OPTIONS[@]}" 2>&1 >/dev/tty)
dialogcancel=$?
echo "done dialog"
@ -84,7 +98,7 @@ needsReboot=0
anychange=0
# RTL process choice (LND)
choice="off"; check=$(echo "${CHOICES}" | grep -c "r")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ra")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${rtlWebinterface}" != "${choice}" ]; then
@ -99,7 +113,7 @@ if [ "${rtlWebinterface}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.rtl.sh menu lnd mainnet
else
l1="!!! FAIL on RTL lnd install !!!"
l1="# FAIL on RTL lnd install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on lnd mainnet"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -109,8 +123,8 @@ else
echo "RTL-lnd Webinterface Setting unchanged."
fi
# RTL process choice (C-Lightning)
choice="off"; check=$(echo "${CHOICES}" | grep -c "c")
# RTL process choice (Core Lightning)
choice="off"; check=$(echo "${CHOICES}" | grep -c "ca")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${crtlWebinterface}" != "${choice}" ]; then
echo "RTL-cl Webinterface Setting changed .."
@ -124,7 +138,7 @@ if [ "${crtlWebinterface}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.rtl.sh menu cl mainnet
else
l1="!!! FAIL on RTL C-Lightning install !!!"
l1="# FAIL on RTL Core Lightning install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.rtl.sh on cl mainnet"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -135,7 +149,7 @@ else
fi
# BTC-RPC-Explorer process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "b")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ba")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${BTCRPCexplorer}" != "${choice}" ]; then
echo "RTL Webinterface Setting changed .."
@ -152,7 +166,7 @@ When finished use the new 'EXPLORE' entry in Main Menu for more info.\n
" 14 50
needsReboot=1
else
l1="!!! FAIL on BTC-RPC-Explorer install !!!"
l1="# FAIL on BTC-RPC-Explorer install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.btc-rpc-explorer.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -163,7 +177,7 @@ else
fi
# Specter Desktop process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "s")
choice="off"; check=$(echo "${CHOICES}" | grep -c "sa")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${specter}" != "${choice}" ]; then
echo "Specter Desktop Setting changed .."
@ -175,7 +189,7 @@ if [ "${specter}" != "${choice}" ]; then
sudo systemctl start specter
/home/admin/config.scripts/bonus.specter.sh menu
else
l1="!!! FAIL on Specter Desktop install !!!"
l1="# FAIL on Specter Desktop install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.specter.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -186,7 +200,7 @@ else
fi
# ElectRS process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "e")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ea")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${ElectRS}" != "${choice}" ]; then
echo "ElectRS Setting changed .."
@ -213,7 +227,7 @@ When finished use the new 'ELECTRS' entry in Main Menu for more info.\n
" 14 50
needsReboot=0
else
l1="!!! FAIL on ElectRS install !!!"
l1="# FAIL on ElectRS install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.electrs.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -236,7 +250,7 @@ else
fi
# BTCPayServer process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "p")
choice="off"; check=$(echo "${CHOICES}" | grep -c "pa")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${BTCPayServer}" != "${choice}" ]; then
echo "BTCPayServer setting changed .."
@ -272,7 +286,7 @@ else
fi
# LNDMANAGE process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "m")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ab")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${lndmanage}" != "${choice}" ]; then
echo "lndmanage Setting changed .."
@ -287,7 +301,7 @@ else
fi
# CHANTOOLS process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "h")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ha")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${chantools}" != "${choice}" ]; then
echo "chantools Setting changed .."
@ -302,7 +316,7 @@ else
fi
# Balance of Satoshis process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "o")
choice="off"; check=$(echo "${CHOICES}" | grep -c "oa")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${bos}" != "${choice}" ]; then
echo "Balance of Satoshis Setting changed .."
@ -317,7 +331,7 @@ else
fi
# PyBLOCK process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "y")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ya")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${pyblock}" != "${choice}" ]; then
echo "PyBLOCK Setting changed .."
@ -332,7 +346,7 @@ else
fi
# thunderhub process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "t")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ta")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${thunderhub}" != "${choice}" ]; then
echo "ThunderHub Setting changed .."
@ -346,7 +360,7 @@ if [ "${thunderhub}" != "${choice}" ]; then
sleep 10
/home/admin/config.scripts/bonus.thunderhub.sh menu
else
l1="!!! FAIL on ThunderHub install !!!"
l1="# FAIL on ThunderHub install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.thunderhub.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -357,12 +371,12 @@ else
fi
# LNbits process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "i")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ia")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${LNBits}" != "${choice}" ]; then
echo "LNbits Setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.lnbits.sh ${choice}
sudo -u admin /home/admin/config.scripts/bonus.lnbits.sh ${choice} ${lightning}
if [ "${choice}" = "on" ]; then
sudo systemctl start lnbits
sudo -u admin /home/admin/config.scripts/bonus.lnbits.sh menu
@ -371,8 +385,23 @@ else
echo "LNbits setting unchanged."
fi
# LightningTipBot process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "ga")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${lightningtipbot}" != "${choice}" ]; then
echo "LightningTipBot Setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.lightningtipbot.sh ${choice}
if [ "${choice}" = "on" ]; then
sudo systemctl start lightningtipbot
sudo -u admin /home/admin/config.scripts/bonus.lightningtipbot.sh menu
fi
else
echo "LightningTipBot setting unchanged."
fi
# LIT (Lightning Terminal)
choice="off"; check=$(echo "${CHOICES}" | grep -c "l")
choice="off"; check=$(echo "${CHOICES}" | grep -c "la")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${lit}" != "${choice}" ]; then
echo "LIT Setting changed .."
@ -386,27 +415,74 @@ else
echo "LIT setting unchanged."
fi
# Sphinx Relay
choice="off"; check=$(echo "${CHOICES}" | grep -c "x")
# LNDg
choice="off"; check=$(echo "${CHOICES}" | grep -c "gb")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${sphinxrelay}" != "${choice}" ]; then
echo "Sphinx-Relay Setting changed .."
if [ "${lndg}" != "${choice}" ]; then
echo "LNDg Setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.sphinxrelay.sh ${choice}
databasechoice=""
isDatabase=$(sudo ls /mnt/hdd/app-data/lndg/data/db.sqlite3 2>/dev/null | grep -c 'db.sqlite3')
if ! [ ${isDatabase} -eq 0 ]; then
if [ "${choice}" = "off" ]; then
whiptail --title "Delete LNDg Database?" \
--yes-button "Keep Database" \
--no-button "Delete Database" \
--yesno "LNDg is getting uninstalled. If you keep the database, you will be able to reuse the data should you choose to re-install. Do you wish to keep the database?" 10 80
if [ $? -eq 1 ]; then
databasechoice="deletedatabase"
fi
else
whiptail --title "Use Existing LNDg Database?" \
--yes-button "Use existing database" \
--no-button "Start a new database" \
--yesno "LNDg is getting installed, and there is an existing database. You may use the existing database, which will include your old password and all of your old data, or you may start with a clean database. Do you wish to use the existing database?" 10 110
if [ $? -eq 1 ]; then
databasechoice="deletedatabase"
fi
fi
fi
sudo -u admin /home/admin/config.scripts/bonus.lndg.sh ${choice} ${databasechoice}
if [ "${choice}" = "on" ]; then
echo "Giving service 1 minute to start up ... (please wait) ..."
sleep 60
whiptail --title " Installed Sphinx Server" --msgbox "\
Sphinx Server was installed.\n
Use the new 'SPHINX' entry in Main Menu for more info.\n
" 10 35
sudo -u admin /home/admin/config.scripts/bonus.lndg.sh menu
fi
else
echo "Sphinx Relay unchanged."
echo "LNDg unchanged."
fi
# Helipad
choice="off"; check=$(echo "${CHOICES}" | grep -c "fa")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${helipad}" != "${choice}" ]; then
echo "Helipad setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.helipad.sh ${choice}
if [ "${choice}" = "on" ]; then
sudo systemctl start helipad
sudo -u admin /home/admin/config.scripts/bonus.helipad.sh menu
fi
else
echo "Helipad setting unchanged."
fi
# LNDK
choice="off"; check=$(echo "${CHOICES}" | grep -c "lb")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${lndk}" != "${choice}" ]; then
echo "LNDK Setting changed .."
anychange=1
sudo -u admin /home/admin/config.scripts/bonus.lndk.sh ${choice}
if [ "${choice}" = "on" ]; then
whiptail --title " Installed LNDK" --msgbox "\
LNDK was installed.\n
" 10 45
fi
else
echo "LNDK Setting unchanged."
fi
# JoinMarket process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "j")
choice="off"; check=$(echo "${CHOICES}" | grep -c "ja")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${joinmarket}" != "${choice}" ]; then
echo "JoinMarket setting changed .."
@ -434,8 +510,37 @@ else
echo "JoinMarket not changed."
fi
# Jam process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "za")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${jam}" != "${choice}" ]; then
echo "Jam setting changed .."
# check if TOR is installed
source /mnt/hdd/raspiblitz.conf
if [ "${choice}" = "on" ] && [ "${runBehindTor}" = "off" ]; then
whiptail --title " Use Tor with Jam" --msgbox "\
It is highly recommended to use Tor with Jam.\n
Please activate TOR in SERVICES first.\n
Then try activating Jam again in SERVICES.\n
" 13 42
else
anychange=1
sudo /home/admin/config.scripts/bonus.jam.sh ${choice}
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
sudo /home/admin/config.scripts/bonus.jam.sh menu
else
whiptail --title 'FAIL' --msgbox "Jam installation is cancelled\nTry again from the menu or install from the terminal with:\nsudo /home/admin/config.scripts/bonus.jam.sh on" 9 65
fi
fi
fi
else
echo "Jam not changed."
fi
# Mempool process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "a")
choice="off"; check=$(echo "${CHOICES}" | grep -c "aa")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${mempoolExplorer}" != "${choice}" ]; then
echo "Mempool Explorer settings changed .."
@ -451,7 +556,7 @@ This can take ~7 hours on a RPi4 with SSD. Monitor the progress on the LCD.\n
When finished use the new 'MEMPOOL' entry in Main Menu for more info.\n
" 14 50
else
l1="!!! FAIL on Mempool Explorer install !!!"
l1="# FAIL on Mempool Explorer install #"
l2="Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/bonus.mempool.sh on"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
@ -462,7 +567,7 @@ else
fi
# Whitepaper process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "w")
choice="off"; check=$(echo "${CHOICES}" | grep -c "wa")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${whitepaper}" != "${choice}" ]; then
echo "Whitepaper setting changed .."
@ -476,48 +581,30 @@ else
echo "Whitepaper setting unchanged."
fi
# sparko process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "k")
# labelbase process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "ls")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${sparko}" != "${choice}" ]; then
echo "# Sparko on mainnet Setting changed .."
if [ "${labelbase}" != "${choice}" ]; then
echo "Labelbase setting changed .."
anychange=1
/home/admin/config.scripts/cl-plugin.sparko.sh ${choice} mainnet
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
/home/admin/config.scripts/cl-plugin.sparko.sh menu mainnet
else
l1="# !!! FAIL on Sparko on mainnet install !!!"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl-plugin.sparko.sh on mainnet"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
sudo -u admin /home/admin/config.scripts/bonus.labelbase.sh ${choice}
source /mnt/hdd/raspiblitz.conf
if [ "${labelbase}" = "on" ]; then
sudo -u admin /home/admin/config.scripts/bonus.labelbase.sh menu
fi
else
echo "# Sparko on mainnet Setting unchanged."
echo "Labelbase setting unchanged."
fi
# spark wallet process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "n")
# fints process choice
choice="off"; check=$(echo "${CHOICES}" | grep -c "fn")
if [ ${check} -eq 1 ]; then choice="on"; fi
if [ "${spark}" != "${choice}" ]; then
echo "# Spark Wallet on mainnet Setting changed .."
if [ "${fints}" != "${choice}" ]; then
echo "fints setting changed .."
anychange=1
/home/admin/config.scripts/cl.spark.sh ${choice} mainnet
errorOnInstall=$?
if [ "${choice}" = "on" ]; then
if [ ${errorOnInstall} -eq 0 ]; then
/home/admin/config.scripts/cl.spark.sh menu mainnet
else
l1="# !!! FAIL on Spark Wallet on mainnet install !!!"
l2="# Try manual install on terminal after reboot with:"
l3="/home/admin/config.scripts/cl.spark.sh on mainnet"
dialog --title 'FAIL' --msgbox "${l1}\n${l2}\n${l3}" 7 65
fi
fi
sudo -u admin /home/admin/config.scripts/bonus.fints.sh ${choice}
else
echo "# Spark Wallet on mainnet Setting unchanged."
echo "fints setting unchanged."
fi
if [ ${anychange} -eq 0 ]; then

View File

@ -12,23 +12,21 @@ if [ "$1" = "-h" ] || [ "$1" = "-help" ];then
echo "chain=${chain}"
fi
justLocal=1
aks4IP2TOR=0
source <(/home/admin/config.scripts/network.aliases.sh getvars $1 $2)
justLocal=1
# if TOR is activated then outside reach is possible (no notice)
if [ "${runBehindTor}" = "on" ]; then
echo "# runBehindTor ON"
justLocal=0
aks4IP2TOR=1
fi
# if dynDomain is set connect from outside is possible (no notice)
if [ ${#dynDomain} -gt 0 ]; then
echo "# dynDomain ON"
justLocal=0
aks4IP2TOR=0
fi
# if sshtunnel to 10009/8080 then outside reach is possible (no notice)
@ -36,19 +34,14 @@ isForwarded=$(echo ${sshtunnel} | grep -c "10009<")
if [ ${isForwarded} -gt 0 ]; then
echo "# forward 10009 ON"
justLocal=0
aks4IP2TOR=0
fi
isForwarded=$(echo ${sshtunnel} | grep -c "8080<")
if [ ${isForwarded} -gt 0 ]; then
echo "# forward 8080 ON"
justLocal=0
aks4IP2TOR=0
fi
# echo "# justLocal(${justLocal})"
# echo "# aks4IP2TOR(${aks4IP2TOR})"
# read key
# check if dynamic domain is set
if [ ${justLocal} -eq 1 ]; then
whiptail --title " Just Local Network? " --yesno "If you want to connect with your RaspiBlitz
@ -74,88 +67,20 @@ For full support switch to mainnet.
fi
# function to call for wallets that support TOR
connect="ip"
choose_IP_or_TOR()
{
whiptail --title " How to Connect? " \
--yes-button "TOR" \
--no-button "IP/Domain" \
--yesno "The mobile wallet you selected supports TOR.\nDo you want to connect over TOR to your RaspiBlitz or fallback to Domain/IP?" 9 60
if [ $? -eq 0 ]; then
echo "# yes-button -> TOR"
connect="tor"
else
echo "# no-button -> IP"
connect="ip"
fi
}
# function to if already activated or user wants to activate IP2TOR
# needs parameter: #1 "LND-REST-API" or "LND-GRPC-API"
ip2tor=""
checkIP2TOR()
{
# check if IP2TOR service is already available
error=""
ip2tor=""
source <(/home/admin/config.scripts/blitz.subscriptions.ip2tor.py subscription-by-service $1)
if [ ${#error} -eq 0 ]; then
ip2tor="$1"
fi
#echo "# ip2tor(${ip2tor})"
#echo "# aks4IP2TOR(${aks4IP2TOR})"
#read key
# if IP2TOR is not already available:
# and the checks from above showed there is SSH forwarding / dynDNS
# then ask user if IP2TOR subscription is wanted
if [ ${#ip2tor} -eq 0 ] && [ ${aks4IP2TOR} -eq 1 ]; then
whiptail --title " Want to use a IP2TOR Bridge? " --yes-button "Go To Shop" --no-button "No Thanks" --yesno "It can be hard to connect to your RaspiBlitz when away from home.\n\nDo you like to subscribe to a IP2TOR bridge service (that will give you a public IP while hidden behind TOR) and make it more easy to connect your mobile wallet?" 12 60
if [ $? -eq 0 ]; then
echo "# yes-button -> Send To Shop"
port="10009"
toraddress=$(sudo cat /mnt/hdd/tor/lndrpc10009/hostname)
if [ "$1" == "LND-REST-API" ]; then
port="8080"
toraddress=$(sudo cat /mnt/hdd/tor/lndrest8080/hostname)
fi
userHasActiveChannels=$(sudo -u bitcoin lncli listchannels | grep -c '"active": true')
if [ ${userHasActiveChannels} -gt 0 ]; then
sudo -u admin /home/admin/config.scripts/blitz.subscriptions.ip2tor.py create-ssh-dialog "$1" "$toraddress" "$port"
else
whiptail --title " Lightning not Ready " --msgbox "\nYou need at least one active Lightning channel.\n\nPlease make sure that your node is funded and\nyou have a confirmed and active channel running.\nThen try again to connect the mobile wallet." 13 52
exit 0
fi
clear
fi
fi
# check again if IP2TOR service is now already available
error=""
source <(/home/admin/config.scripts/blitz.subscriptions.ip2tor.py subscription-by-service "$1")
if [ ${#error} -eq 0 ]; then
ip2tor="$1"
fi
}
OPTIONS=()
if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
# Zap deactivated for now - see: https://github.com/rootzoll/raspiblitz/issues/2198#issuecomment-822808428
OPTIONS+=(ZEUS_IOS "Zeus to LND (iOS)")
OPTIONS+=(ZEUS_ANDROID "Zeus to LND (Android)")
OPTIONS+=(ZAP_IOS "Zap to LND (iOS)")
OPTIONS+=(ZAP_ANDROID "Zap/Bitbanana to LND (Android)")
OPTIONS+=(SPHINX "Sphinx Chat to LND (Android/iOS)")
OPTIONS+=(SENDMANY_ANDROID "SendMany to LND (Android)")
OPTIONS+=(FULLYNODED_LND "Fully Noded to LND REST (iOS+Tor)")
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
OPTIONS+=(ZEUS_CLREST "Zeus to C-lightningREST (Android or iOS)")
OPTIONS+=(ZEUS_SPARK "Zeus to Sparko (Android or iOS)")
OPTIONS+=(SPARK "Spark Wallet to Sparko (Android - EXPERIMENTAL)" )
OPTIONS+=(ZEUS_CLREST "Zeus to Core LightningREST (Android or iOS)")
OPTIONS+=(FULLYNODED_CL "Fully Noded to CL REST (iOS+Tor)")
fi
@ -164,9 +89,9 @@ if [ "${runBehindTor}" = "on" ]; then
OPTIONS+=(FULLYNODED_BTC "Fully Noded to bitcoinRPC (iOS+Tor)")
fi
CHOICE=$(whiptail --clear --title "Choose Mobile Wallet" --menu "" 16 75 10 "${OPTIONS[@]}" 2>&1 >/dev/tty)
CHOICE=$(whiptail --clear --title "Choose Mobile Wallet" --menu "" 18 75 12 "${OPTIONS[@]}" 2>&1 >/dev/tty)
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
clear
echo "creating install info ..."
@ -194,69 +119,40 @@ case $CHOICE in
;;
ZAP_IOS)
appstoreLink="https://apps.apple.com/us/app/zap-bitcoin-lightning-wallet/id1406311960"
#/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
#whiptail --title "Install Testflight and Zap on your iOS device" \
# --yes-button "continue" \
# --no-button "link as QR code" \
# --yesno "Search for 'Zap Bitcoin' in Apple Appstore for basic version\nOr join public beta test for latest features:\n${appstoreLink}\n\nJoin testing and follow ALL instructions.\n\nWhen installed and started -> continue" 11 65
# if [ $? -eq 1 ]; then
# /home/admin/config.scripts/blitz.display.sh qr-console ${appstoreLink}
#fi
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zap.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zap.png
whiptail --title "Install Fully Noded on your iOS device" \
--yes-button "Continue" \
--no-button "StoreLink" \
--yesno "Open the Apple App Store on your mobile phone.\n\nSearch for --> 'Zap Bitcoin'\n\nCheck that logo is like on LCD & author: Zap Technologies LLC\nWhen app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " App Store Link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the qr code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
checkIP2TOR LND-GRPC-API
see https://github.com/rootzoll/raspiblitz/issues/1001#issuecomment-634580257
if [ ${#ip2tor} -eq 0 ]; then
choose_IP_or_TOR
fi
/home/admin/config.scripts/bonus.lndconnect.sh zap-ios ${connect}
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/bonus.lndconnect.sh zap-ios tor
exit 0;
;;
ZAP_ANDROID)
appstoreLink="https://play.google.com/store/apps/details?id=zapsolutions.zap"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zap.png
whiptail --title "Install Zap on your Android Phone" \
whiptail --title "Install Zap/Bitbanana on your Android Phone" \
--yes-button "Continue" \
--no-button "StoreLink" \
--yesno "Open the Android Play Store on your mobile phone.\n\nSearch for --> 'zap bitcoin app'\n\nCheck that logo is like on LCD and author is: Zap\nWhen app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " App Store Link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the qr code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
checkIP2TOR LND-GRPC-API
if [ ${#ip2tor} -eq 0 ]; then
choose_IP_or_TOR
fi
/home/admin/config.scripts/bonus.lndconnect.sh zap-android ${connect}
--yesno "Open the Android Play Store on your mobile phone.\n\nSearch for --> 'bitbanana' (for updated fork)\nSearch for --> 'zap bitcoin app' (for original)\n\nWhen app is installed and started --> Continue." 12 65
/home/admin/config.scripts/bonus.lndconnect.sh zap-android tor
exit 0;
;;
SENDMANY_ANDROID)
# check if keysend is activated first
source <(/home/admin/config.scripts/lnd.keysend.sh status)
keysendOn=$(cat /mnt/hdd/lnd/lnd.conf | grep -c '^accept-keysend=1')
if [ "${keysendOn}" == "0" ]; then
whiptail --title " KEYSEND NEEDED " --msgbox "
whiptail --title " LND KEYSEND NEEDED " --msgbox "
To use the chat feature of the SendMany app, you need to activate the Keysend feature first.
Please go to MAINMENU > SERVICES and activate KEYSEND first.
Please go to MAINMENU > SYSTEM > LNDCONF and set accept-keysend=1 first.
" 12 65
exit 0
fi
@ -267,85 +163,84 @@ Please go to MAINMENU > SERVICES and activate KEYSEND first.
--no-button "Link as QR code" \
--yesno "Download & install the SendMany APK (armeabi-v7) from GitHub:\n\n${appstoreLink}\n\nEasiest way to scan QR code on LCD and download/install.\n\nWhen installed and started -> continue." 13 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
/home/admin/config.scripts/blitz.display.sh qr-console ${appstoreLink}
fi
/home/admin/config.scripts/blitz.display.sh hide
checkIP2TOR LND-GRPC-API
/home/admin/config.scripts/bonus.lndconnect.sh sendmany-android ${connect}
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/bonus.lndconnect.sh sendmany-android ip
exit 0;
;;
ZEUS_IOS)
appstoreLink="https://apps.apple.com/us/app/zeus-ln/id1456038895"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
whiptail --title "Install Zeus on your iOS device" \
--yes-button "Continue" \
--no-button "Link as QRcode" \
--yesno "Open the Apple App Store on your mobile phone.\n\nSearch for --> 'zeus ln'\n\nCheck that logo is like on LCD and author is: Zeus LN LLC\nWhen the app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
/home/admin/config.scripts/blitz.display.sh qr-console ${appstoreLink}
fi
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/bonus.lndconnect.sh zeus-ios tor
exit 0;
;;
ZEUS_ANDROID)
appstoreLink="https://play.google.com/store/apps/details?id=app.zeusln.zeus"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
whiptail --title "Install Zeus on your Android Phone" \
--yes-button "Continue" \
--no-button "StoreLink" \
--yesno "Open the Android Play Store on your mobile phone.\n\nSearch for --> 'zeus ln'\n\nCheck that logo is like on LCD and author is: Evan Kaloudis\nWhen app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " App Store Link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the qr code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/bonus.lndconnect.sh zeus-android tor
exit 0;
;;
FULLYNODED_BTC)
appstoreLink="https://apps.apple.com/us/app/fully-noded/id1436425586"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_fullynoded.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_fullynoded.png
whiptail --title "Install Fully Noded on your iOS device" \
--yes-button "Continue" \
--no-button "StoreLink" \
--yesno "Open the Apple App Store on your mobile phone.\n\nSearch for --> 'fully noded'\n\nCheck that logo is like on LCD and author is: Denton LLC\nWhen app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " App Store Link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the qr code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/bonus.fullynoded.sh
exit 0;
;;
FULLYNODED_LND)
appstoreLink="https://apps.apple.com/us/app/fully-noded/id1436425586"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_fullynoded.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_fullynoded.png
whiptail --title "Install Fully Noded on your iOS device" \
--yes-button "Continue" \
--no-button "StoreLink" \
--yesno "Open the Apple App Store on your mobile phone.\n\nSearch for --> 'fully noded'\n\nCheck that logo is like on LCD and author is: Denton LLC\nWhen app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " App Store Link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the qr code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/bonus.lndconnect.sh fullynoded-lnd tor
exit 0;
;;
@ -355,26 +250,26 @@ Or scan the qr code on the LCD with your mobile phone.
/home/admin/config.scripts/cl-plugin.http.sh on
fi
appstoreLink="https://apps.apple.com/us/app/fully-noded/id1436425586"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_fullynoded.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_fullynoded.png
whiptail --title "Install Fully Noded on your iOS device" \
--yes-button "Continue" \
--no-button "StoreLink" \
--yesno "Open the Apple App Store on your mobile phone.\n\nSearch for --> 'fully noded'\n\nCheck that logo is like on LCD and author is: Denton LLC\nWhen app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
sudo /home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " App Store Link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the qr code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/cl-plugin.http.sh connect
exit 0;
;;
ZEUS_CLREST)
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
whiptail --title "Install Zeus on your Android or iOS Phone" \
--yes-button "Continue" \
--no-button "Cancel" \
@ -382,41 +277,8 @@ ZEUS_CLREST)
if [ $? -eq 1 ]; then
exit 0
fi
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/cl.rest.sh connect
exit 0;
;;
ZEUS_SPARK)
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
whiptail --title "Install Zeus on your Android or iOS Phone" \
--yes-button "Continue" \
--no-button "Cancel" \
--yesno "Open the https://zeusln.app/ on your mobile phone to find the App Store link or binary for your phone.\n\nWhen the app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
exit 0
fi
/home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/cl-plugin.sparko.sh connect
exit 0;
;;
SPARK)
appstoreLink="https://github.com/shesek/spark-wallet#mobile-app"
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/app_zeus.png
whiptail --title "Install Zeus on your Android Phone" \
--yes-button "Continue" \
--no-button "GitHub link" \
--yesno "Open the ${appstoreLink} on Android to find the App Store link or binary for your phone.\n\nWhen the app is installed and started --> Continue." 12 65
if [ $? -eq 1 ]; then
/home/admin/config.scripts/blitz.display.sh qr ${appstoreLink}
whiptail --title " GitHub link " --msgbox "\
To install app open the following link:\n
${appstoreLink}\n
Or scan the QR code on the LCD with your mobile phone.
" 11 70
fi
/home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/cl-plugin.sparko.sh connect
exit 0;
;;
esac

View File

@ -17,22 +17,20 @@ clear
if [ "${CHOICE}" = "COPY" ]; then
echo "Starting COPY ..."
sudo sed -i "s/^state=.*/state=recopy/g" /home/admin/raspiblitz.info
/home/admin/50copyHDD.sh
/home/admin/config.scripts/blitz.copychain.sh target
sudo sed -i "s/^state=.*/state=na/g" /home/admin/raspiblitz.info
elif [ "${CHOICE}" = "RESYNC" ]; then
echo "Starting RESYNC ..."
/home/admin/50syncHDD.sh
#TODO #FIXME
# /home/admin/50syncHDD.sh
dialog --pause "OK. System will reboot to activate changes." 8 58 8
clear
echo "rebooting .. (please wait)"
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
elif [ "${CHOICE}" = "REINDEX" ]; then
echo "Starting REINDEX ..."
sudo /home/admin/config.scripts/network.reindex.sh
elif [ "${CHOICE}" = "BACKUP" ]; then
/home/admin/config.scripts/lnd.compact.sh interactive
sudo /home/admin/config.scripts/lnd.backup.sh lnd-export-gui
echo "PRESS ENTER to continue."
read key

View File

@ -6,32 +6,51 @@ source /mnt/hdd/raspiblitz.conf
askBackupCopy()
{
whiptail --title "LND Data Backup" --yes-button "Backup" --no-button "Skip" --yesno "
whiptail --title "Lightning Data Backup" --yes-button "Backup" --no-button "Skip" --yesno "
Before deleting your data, do you want
to make a backup of all your LND Data
and download that file to your laptop?
to make a backup of all your Lightning Data
and download the file(s) to your laptop?
Download LND Data Backup now?
Download Lightning Data Backup now?
" 12 44
if [ $? -eq 0 ]; then
clear
echo "*************************************"
echo "* PREPARING LND BACKUP DOWNLOAD"
echo "*************************************"
echo "please wait .."
sleep 2
/home/admin/config.scripts/lnd.backup.sh lnd-export-gui
echo
echo "PRESS ENTER to continue once you are done downloading."
read key
if [ "${lightning}" == "lnd" ] || [ "${lnd}" = "on" ]; then
clear
echo "***********************************"
echo "* PREPARING THE LND BACKUP DOWNLOAD"
echo "***********************************"
echo "please wait .."
/home/admin/config.scripts/lnd.compact.sh interactive
/home/admin/config.scripts/lnd.backup.sh lnd-export-gui
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" = "on" ]; then
clear
echo "**********************************************"
echo "* PREPARING THE CORE LIGHTNING BACKUP DOWNLOAD"
echo "**********************************************"
echo "please wait .."
/home/admin/config.scripts/cl.backup.sh cl-export-gui
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
fi
else
clear
echo "*************************************"
echo "* JUST MAKING BACKUP TO SD CARD"
echo "* JUST MAKING A BACKUP TO THE SD CARD"
echo "*************************************"
echo "please wait .."
sleep 2
/home/admin/config.scripts/lnd.backup.sh lnd-export
if [ "${lightning}" == "lnd" ] || [ "${lnd}" = "on" ]; then
/home/admin/config.scripts/lnd.backup.sh lnd-export
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" = "on" ]; then
/home/admin/config.scripts/cl.backup.sh cl-export
fi
sleep 3
fi
}
@ -46,49 +65,74 @@ RaspiBlitz image to your SD card.
" 12 40
}
# get status of txindex
source <(sudo /home/admin/config.scripts/network.txindex.sh status)
OPTIONS=()
#OPTIONS+=(HARDWARE "Run Hardwaretest")
OPTIONS+=(SOFTWARE "Run Softwaretest (DebugReport)")
if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
OPTIONS+=(BACKUP-LND "Backup your LND data (Rescue-File)")
OPTIONS+=(RESET-LND "Delete LND & start new node/wallet")
OPTIONS+=(REPAIR-LND "Repair/Backup LND")
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
OPTIONS+=(REPAIR-CL "Repair/Backup C-Lightning")
OPTIONS+=(REPAIR-CL "Repair/Backup Core Lightning")
fi
OPTIONS+=(MIGRATION "Migrate Blitz Data to new Hardware")
OPTIONS+=(COPY-SOURCE "Copy Blockchain Source Modus")
if [ "${txindex}" == "1" ]; then
OPTIONS+=(DELETE-INDEX "Reindex Bitcoin Transaction-Index")
elif [ "${indexByteSize}" != "0" ]; then
OPTIONS+=(DELETE-INDEX "Delete Bitcoin Transaction-Index")
fi
OPTIONS+=(REINDEX-UTXO "Redindex Just Bitcoin Chainstate (Fast)")
OPTIONS+=(REINDEX-FULL "Redindex Full Bitcoin Blockchain (Slow)")
OPTIONS+=(RESET-CHAIN "Delete Blockchain & Re-Download")
OPTIONS+=(RESET-HDD "Delete HDD Data but keep Blockchain")
OPTIONS+=(RESET-ALL "Delete HDD completely to start fresh")
OPTIONS+=(DELETE-ELEC "Delete Electrum Index")
OPTIONS+=(DELETE-INDEX "Delete Bitcoin Transaction-Index")
CHOICE=$(whiptail --clear --title "Repair Options" --menu "" 18 62 11 "${OPTIONS[@]}" 2>&1 >/dev/tty)
CHOICE=$(whiptail --clear --title "Repair Options" --menu "" 19 62 12 "${OPTIONS[@]}" 2>&1 >/dev/tty)
clear
case $CHOICE in
# HARDWARE)
# ;;
SOFTWARE)
sudo /home/admin/config.scripts/blitz.debug.sh
echo "Generating debug logs. Be patient, this should take maximum 2 minutes .."
sudo rm /var/cache/raspiblitz/debug.log 2>/dev/null
/home/admin/config.scripts/blitz.debug.sh > /var/cache/raspiblitz/debug.log
echo "Redacting .."
/home/admin/config.scripts/blitz.debug.sh redact /var/cache/raspiblitz/debug.log
sudo chmod 640 /var/cache/raspiblitz/debug.log
sudo chown root:sudo /var/cache/raspiblitz/debug.log
cat /var/cache/raspiblitz/debug.log
echo
echo "Press ENTER to return to main menu."
read key
;;
BACKUP-LND)
sudo /home/admin/config.scripts/lnd.backup.sh lnd-export-gui
REPAIR-LND)
/home/admin/99lndRepairMenu.sh
echo
echo "Press ENTER when your backup download is done to shutdown."
echo "Press ENTER to return to main menu."
read key
/home/admin/config.scripts/blitz.shutdown.sh
;;
REPAIR-CL)
sudo /home/admin/99clRepairMenu.sh
/home/admin/99clRepairMenu.sh
echo
echo "Press ENTER to return to main menu."
read key
;;
MIGRATION)
if [ "${cl}" == "on" ] || [ "${cl}" == "1" ] && [ "${clEncryptedHSM}" != "on" ] ; then
dialog \
--title "Encrypt the Core Lightning wallet" \
--msgbox "\nWill proceed to encrypt and lock the Core Lightning wallet to prevent it from starting automatically after the backup" 9 55
sudo /home/admin/config.scripts/cl.hsmtool.sh encrypt mainnet
fi
if [ "${clAutoUnlock}" = "on" ]; then
/home/admin/config.scripts/cl.hsmtool.sh autounlock-off mainnet
fi
/home/admin/config.scripts/cl.hsmtool.sh lock mainnet
sudo /home/admin/config.scripts/blitz.migration.sh "export-gui"
echo "Press ENTER to return to main menu."
read key
@ -99,37 +143,6 @@ case $CHOICE in
echo "For reboot type: sudo shutdown -r now"
exit 1;
;;
RESET-LND)
askBackupCopy
# ask for a new name so that network analysis has harder time to connect new node id with old
result=""
while [ ${#result} -eq 0 ]
do
trap 'rm -f "$_temp"' EXIT
_temp=$(mktemp -p /dev/shm/)
l1="Please enter the new name of your LND node:\n"
l2="different name is better for a fresh identity\n"
l3="one word, keep characters basic & not too long"
dialog --backtitle "RaspiBlitz - Setup (${network}/${chain})" --inputbox "$l1$l2$l3" 13 52 2>$_temp
result=$( cat $_temp | tr -dc '[:alnum:]-.' | tr -d ' ' )
echo "processing ..."
sleep 3
done
# make sure host is named like in the raspiblitz config
echo "Setting the Name/Alias/Hostname .."
sudo /home/admin/config.scripts/lnd.setname.sh mainnet ${result}
sudo sed -i "s/^hostname=.*/hostname=${result}/g" /mnt/hdd/raspiblitz.conf
echo "stopping lnd ..."
sudo systemctl stop lnd
sudo rm -r /mnt/hdd/lnd
/home/admin/70initLND.sh
# go back to main menu (and show)
/home/admin/00raspiblitz.sh
exit 0;
;;
RESET-HDD)
askBackupCopy
/home/admin/XXcleanHDD.sh
@ -152,8 +165,18 @@ case $CHOICE in
/home/admin/config.scripts/network.txindex.sh delete
exit 0;
;;
REINDEX-UTXO)
/home/admin/config.scripts/network.reindex.sh reindex-chainstate mainnet
exit 0;
;;
REINDEX-FULL)
/home/admin/config.scripts/network.reindex.sh reindex mainnet
exit 0;
;;
COPY-SOURCE)
/home/admin/config.scripts/blitz.copychain.sh source
/home/admin/config.scripts/lnd.unlock.sh
;;
esac
exit 0

View File

@ -7,16 +7,16 @@ source /mnt/hdd/raspiblitz.conf
source <(/home/admin/config.scripts/network.aliases.sh getvars cl $1)
# get the local network IP to be displayed on the LCD
source <(/home/admin/config.scripts/internet.sh status local)
# make sure the CL wallet is unlocked
/home/admin/config.scripts/cl.hsmtool.sh unlock ${CHAIN}
# BASIC MENU INFO
WIDTH=64
BACKTITLE="RaspiBlitz"
TITLE=" C-Lightning Options (${CHAIN})"
TITLE=" Core Lightning Options (${CHAIN})"
MENU=""
OPTIONS=()
OPTIONS+=(FUNDING "Fund the C-lightning wallet onchain")
OPTIONS+=(FUNDING "Fund the Core Lightning wallet onchain")
OPTIONS+=(PEERING "Connect to a peer")
OPTIONS+=(CHANNEL "Open a channel with peer")
OPTIONS+=(SEND "Pay an invoice / payment request")
@ -33,10 +33,13 @@ if [ ${#openChannels} -gt 0 ] && [ ${openChannels} -gt 0 ]; then
fi
OPTIONS+=(CASHOUT "Withdraw all funds onchain ($CHAIN)")
OPTIONS+=(SEED "Show Wallet Seed Words")
OPTIONS+=(REPAIR-CL "Repair options for C-lightning")
if [ "${clWatchtowerClient}" == "on" ] && [ "${CHAIN}" == "mainnet" ]; then
OPTIONS+=(WATCHTOWER "Watchtower Client Options")
fi
OPTIONS+=(REPAIR-CL "Repair options for Core Lightning")
if [ "${lightning}" != "cl" ] && [ "${CHAIN}" == "mainnet" ]; then
OPTIONS+=(SWITCHLN "Use C-lightning as default")
fi
OPTIONS+=(SWITCHLN "Use Core Lightning as default")
fi
CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1"))
HEIGHT=$((CHOICE_HEIGHT+6))
@ -53,7 +56,7 @@ CHOICE=$(dialog --clear \
case $CHOICE in
SUMMARY)
clear
/home/admin/config.scripts/cl-plugin.summary.sh $CHAIN
/home/admin/config.scripts/cl-plugin.summars.sh $CHAIN
echo "Press ENTER to return to main menu."
read key
;;
@ -81,17 +84,17 @@ case $CHOICE in
NAME)
sudo /home/admin/config.scripts/cl.setname.sh $CHAIN
;;
WATCHTOWER)
/home/admin/config.scripts/cl-plugin.watchtower-client.sh info
;;
SUEZ)
clear
if [ ! -f /home/bitcoin/suez/suez ];then
/home/admin/config.scripts/bonus.suez.sh on
fi
cd /home/bitcoin/suez || exit 0
command="sudo -u bitcoin /home/bitcoin/.local/bin/poetry run ./suez --client=c-lightning --client-args=--conf=${CLCONF}"
echo "# Running the command:"
echo "${command}"
cd /home/bitcoin/suez || exit 1
echo
$command
sudo -u bitcoin poetry run /home/bitcoin/suez/suez --client=c-lightning --client-args=--conf=${CLCONF}
echo
echo "Press ENTER to return to main menu."
read key
@ -105,10 +108,11 @@ case $CHOICE in
/home/admin/99clRepairMenu.sh $CHAIN
;;
SWITCHLN)
clear
clear
echo
# setting value in the raspiblitz.conf
sudo sed -i "s/^lightning=.*/lightning=cl/g" /mnt/hdd/raspiblitz.conf
/home/admin/config.scripts/blitz.conf.sh set lightning "cl"
sudo systemctl restart blitzapi 2>/dev/null
echo "# OK - lightning=cl is set in /mnt/hdd/raspiblitz.conf"
echo
echo "Press ENTER to return to main menu."
@ -116,4 +120,4 @@ case $CHOICE in
;;
esac
exit 0
exit 0

View File

@ -7,14 +7,40 @@ source /mnt/hdd/raspiblitz.conf
source <(/home/admin/config.scripts/network.aliases.sh getvars cl $1)
# get the local network IP to be displayed on the LCD
source <(/home/admin/config.scripts/internet.sh status local)
NETclEncryptedHSM="${netprefix}clEncryptedHSM"
sudo mkdir /var/cache/raspiblitz/temp 2>/dev/null
function clRescan() {
trap 'rm -f "$_temp"' EXIT
_temp=$(mktemp -p /dev/shm/)
dialog --backtitle "Choose the new gap limit" \
--title "Enter the rescan depth or blockheight (-)" \
--inputbox "
Enter the number of blocks to rescan from the current tip
or use a negative number for the absolute blockheight to scan from.
If left empty will start to rescan from the block 700000 (-700000).
" 12 71 2> "$_temp"
BLOCK=$(cat "$_temp")
if [ ${#BLOCK} -eq 0 ]; then
BLOCK="-700000"
fi
sudo /home/admin/config.scripts/cl.backup.sh "${CHAIN}" recoverymode on "${BLOCK}"
sudo systemctl restart ${netprefix}lightningd
}
function resetWallet() {
echo "# Delete ${CLCONF}"
sudo rm -f ${CLCONF}
echo "# Delete and recreate /home/bitcoin/.lightning/${CLNETWORK}"
sudo rm -rf /home/bitcoin/.lightning/${CLNETWORK}
sudo -u bitcoin mkdir /home/bitcoin/.lightning/${CLNETWORK}
}
# BASIC MENU INFO
WIDTH=64
BACKTITLE="RaspiBlitz"
TITLE="C-lightning repair options for $CHAIN"
TITLE="Core Lightning repair options for $CHAIN"
MENU=""
OPTIONS=()
@ -23,16 +49,17 @@ if [ "$(eval echo \$${netprefix}clEncryptedHSM)" = "off" ];then
elif [ "$(eval echo \$${netprefix}clEncryptedHSM)" = "on" ];then
OPTIONS+=(PASSWORD_C "Change the hsm_secret encryption password")
OPTIONS+=(DECRYPT "Decrypt the hsm_secret")
if [ ! -f "/root/.${netprefix}cl.pw" ]; then
if [ ! -f "/home/bitcoin/.${netprefix}cl.pw" ]; then
OPTIONS+=(AUTOUNLOCK-ON "Auto-decrypt the hsm_secret after boot")
else
OPTIONS+=(AUTOUNLOCK-OFF "Do not auto-decrypt the hsm_secret after boot")
fi
fi
OPTIONS+=(BACKUP "Full backup (hsm_secret + lightningd.sqlite3")
OPTIONS+=(BACKUP "Full backup (hsm_secret + lightningd.sqlite3)")
OPTIONS+=(RESET "Reset the wallet and create new")
OPTIONS+=(FILERESTORE "Restore from a rescue file")
OPTIONS+=(SEEDRESTORE "Restore from a seed (onchain funds only)")
OPTIONS+=(RESCAN "Rescan for onchain funds from a given block")
CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1"))
HEIGHT=$((CHOICE_HEIGHT+6))
@ -48,7 +75,7 @@ CHOICE=$(dialog --clear \
case $CHOICE in
ENCRYPT)
/home/admin/config.scripts/cl.hsmtool.sh encrypt $CHAIN
sudo /home/admin/config.scripts/cl.hsmtool.sh encrypt $CHAIN
source /mnt/hdd/raspiblitz.conf
;;
@ -56,22 +83,33 @@ case $CHOICE in
/home/admin/config.scripts/cl.hsmtool.sh decrypt $CHAIN
source /mnt/hdd/raspiblitz.conf
;;
PASSWORD_C)
/home/admin/config.scripts/cl.hsmtool.sh change-password $CHAIN
;;
AUTOUNLOCK-ON)
/home/admin/config.scripts/cl.hsmtool.sh autounlock-on $CHAIN
;;
AUTOUNLOCK-OFF)
/home/admin/config.scripts/cl.hsmtool.sh autounlock-off $CHAIN
;;
BACKUP)
## from dialogLightningWallet.sh
# run upload dialog and get result
if [ "${cl}" == "on" ] || [ "${cl}" == "1" ] && [ "${clEncryptedHSM}" != "on" ]; then
dialog \
--title "Encrypt the Core Lightning wallet" \
--msgbox "
Will proceed to encrypt and lock the Core Lightning wallet to prevent it from starting automatically after the backup.
Save this password as it will be needed to restore the backup (same as the Password C for CLN)." 10 55
sudo /home/admin/config.scripts/cl.hsmtool.sh encrypt mainnet
fi
if [ "${clAutoUnlock}" = "on" ]; then
/home/admin/config.scripts/cl.hsmtool.sh autounlock-off mainnet
fi
/home/admin/config.scripts/cl.hsmtool.sh lock mainnet
## from dialogLightningWallet.sh
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
clear
/home/admin/config.scripts/cl.backup.sh cl-export-gui production $_temp
@ -81,10 +119,10 @@ case $CHOICE in
echo "Press ENTER when finished downloading."
read key
;;
RESET)
# backup
## from dialogLightningWallet.sh
## from dialogLightningWallet.sh
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
clear
/home/admin/config.scripts/cl.backup.sh cl-export-gui production $_temp
@ -93,21 +131,19 @@ case $CHOICE in
echo
echo "The rescue file is stored on the SDcard named cl-rescue.*.tar.gz just in case."
echo
echo "The next step will overwrite the old C-lighthning $CHAIN wallet"
echo "The next step will overwrite the old Core Lightning $CHAIN wallet"
echo "Press ENTER to continue or CTRL+C to abort"
read key
# reset
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/*.*
resetWallet
# make sure the new hsm_secret is treated as unencrypted and clear autounlock
sudo sed -i \
"s/^${netprefix}clEncryptedHSM=.*/${netprefix}clEncryptedHSM=off/g" \
/mnt/hdd/raspiblitz.conf
sudo sed -i \
"s/^${netprefix}clAutoUnlock=.*/${netprefix}clEncryptedHSM=off/g" \
/mnt/hdd/raspiblitz.conf
/home/admin/config.scripts/blitz.conf.sh set ${netprefix}clEncryptedHSM "off"
/home/admin/config.scripts/blitz.conf.sh set ${netprefix}clAutoUnlock "off"
# new
/home/admin/config.scripts/cl.hsmtool.sh new $CHAIN
# create config
/home/admin/config.scripts/cl.install.sh on $CHAIN
# set the lightningd service file on each active network
if [ "${cl}" == "on" ] || [ "${cl}" == "1" ]; then
/home/admin/config.scripts/cl.install-service.sh mainnet
@ -119,10 +155,10 @@ case $CHOICE in
/home/admin/config.scripts/cl.install-service.sh signet
fi
;;
FILERESTORE)
# backup
## from dialogLightningWallet.sh
## from dialogLightningWallet.sh
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
clear
/home/admin/config.scripts/cl.backup.sh cl-export-gui production $_temp
@ -131,12 +167,12 @@ case $CHOICE in
echo
echo "The rescue file is stored on the SDcard named cl-rescue.*.tar.gz just in case."
echo
echo "The next step will overwrite the old C-lighthning $CHAIN wallet"
echo "The next step will overwrite the old Core Lightning $CHAIN wallet"
echo "Press ENTER to continue or CTRL+C to abort"
read key
# reset
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/*.*
resetWallet
# import file
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
clear
@ -144,10 +180,10 @@ case $CHOICE in
source $_temp 2>/dev/null
sudo rm $_temp 2>/dev/null
;;
SEEDRESTORE)
# backup
## from dialogLightningWallet.sh
## from dialogLightningWallet.sh
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
clear
/home/admin/config.scripts/cl.backup.sh cl-export-gui production $_temp
@ -156,25 +192,33 @@ case $CHOICE in
echo
echo "The rescue file is stored on the SDcard named cl-rescue.*.tar.gz just in case."
echo
echo "The next step will overwrite the old C-lighthning $CHAIN wallet"
echo "The next step will overwrite the old Core Lightning $CHAIN wallet"
echo "Press ENTER to continue or CTRL+C to abort"
read key
# reset
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/config
sudo rm /home/bitcoin/.lightning/${CLNETWORK}/*.*
resetWallet
# import seed
_temp="/var/cache/raspiblitz/.temp.tmp"
/home/admin/config.scripts/cl.backup.sh seed-import-gui $_temp
source $_temp
/home/admin/config.scripts/cl.hsmtool.sh seed-force "$CHAIN" "${seedWords}"
sudo rm $_temp 2>/dev/null
if ! sudo ls /home/bitcoin/.lightning/${CLNETWORK}/hsm_secret 2>/dev/null; then
echo "# There was no hsm_secret created - exiting"
exit 15
fi
# regenerate config
/home/admin/config.scripts/cl.hsmtool.sh autounlock-off
/home/admin/config.scripts/cl.hsmtool.sh decrypt
/home/admin/config.scripts/cl.install.sh on $CHAIN
clRescan
;;
RESCAN)
clRescan
;;
esac
exit 0

View File

@ -5,8 +5,9 @@ echo "get raspiblitz config"
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
# get the local network IP to be displayed on the LCD
source <(/home/admin/config.scripts/internet.sh status local)
source <(/home/admin/_cache.sh get internet_localip internet_localiprange)
localIP="${internet_localip}"
localIPrange="${internet_localiprange}"
# BASIC MENU INFO
WIDTH=64
@ -19,16 +20,23 @@ OPTIONS+=(MOBILE "Connect Mobile Wallet")
if [ "${ElectRS}" == "on" ]; then
OPTIONS+=(ELECTRS "Electrum Rust Server")
fi
if [ "${BTCPayServer}" == "on" ]; then
OPTIONS+=(BTCPAY "Show LND connection string")
if [ "${BTCPayServer}" == "on" ] && [ "${lnd}" = "on" ]; then
OPTIONS+=(BTCPAY-LND "Show LND connection string")
fi
if [ "${BTCPayServer}" == "on" ] && [ "${cl}" = "on" ]; then
OPTIONS+=(BTCPAY-CLN "Show CLN connection string")
fi
OPTIONS+=(${network}RPC "Connect Specter Desktop or JoinMarket")
OPTIONS+=(BISQ "Connect Bisq to this node")
if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
OPTIONS+=(ALBY "Connect Alby to this node")
OPTIONS+=(EXPORT "Get Macaroons and TLS.cert")
OPTIONS+=(RESET "Recreate LND Macaroons & tls.cert")
OPTIONS+=(SYNC "Sync Macaroons & tls.cert with Apps/Users")
fi
if [ -f /mnt/hdd/app-data/selfsignedcert/selfsigned.cert ]; then
OPTIONS+=(RESET-TLS "Reset the self-signed TLS certificate")
fi
CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1"))
HEIGHT=$((CHOICE_HEIGHT+6))
@ -48,24 +56,35 @@ case $CHOICE in
/home/admin/97addMobileWallet.sh;;
ELECTRS)
/home/admin/config.scripts/bonus.electrs.sh menu;;
BTCPAY)
BTCPAY-LND)
/home/admin/config.scripts/lnd.export.sh btcpay
echo "Press ENTER to return to main menu."
read key
exit 0;;
BTCPAY-CLN)
/home/admin/config.scripts/bonus.btcpayserver.sh cln-lightning-rpc-access
echo "Press ENTER to return to main menu."
read key
exit 0;;
RESET)
sudo /home/admin/config.scripts/lnd.credentials.sh reset
sudo /home/admin/config.scripts/lnd.credentials.sh sync
sudo /home/admin/config.scripts/lnd.credentials.sh reset "${chain:-main}net"
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
exit 0;;
SYNC)
sudo /home/admin/config.scripts/lnd.credentials.sh sync
sudo /home/admin/config.scripts/lnd.credentials.sh sync "${chain:-main}net"
echo "Press ENTER to return to main menu."
read key
exit 0;;
EXPORT)
sudo /home/admin/config.scripts/lnd.export.sh
exit 0;;
RESET-TLS)
sudo /home/admin/config.scripts/internetselfsignedcert.sh reset
exit 0;;
ALBY)
/home/admin/config.scripts/bonus.alby.sh
exit 0;
;;
BISQ)
OPTIONS=()
@ -161,14 +180,10 @@ HiddenServicePort 8333 127.0.0.1:8333" | sudo tee -a /etc/tor/torrc
# have this to signal that selection went wrong
BITCOINRPCPORT=0
fi
echo "# Running on ${chain}net"
echo "# Running on ${chain:-main}net"
echo
localIPrange=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' |\
grep 'eth0\|wlan0\|enp0\|inet' | tail -n1 | awk '{print $2}' |\
awk -F. '{print $1"."$2"."$3".0/24"}')
localIP=$(hostname -I | awk '{print $1}')
allowIPrange=$(grep -c "rpcallowip=$localIPrange" < /mnt/hdd/${network}/${network}.conf)
bindIP=$(grep -c "${chain}.rpcbind=$localIP" < /mnt/hdd/${network}/${network}.conf)
bindIP=$(grep -c "${chain:-main}.rpcbind=$localIP" < /mnt/hdd/${network}/${network}.conf)
rpcTorService=$(grep -c "HiddenServicePort ${BITCOINRPCPORT} 127.0.0.1:${BITCOINRPCPORT}" < /etc/tor/torrc)
TorRPCaddress=$(sudo cat /mnt/hdd/tor/bitcoin${BITCOINRPCPORT}/hostname)
@ -226,10 +241,10 @@ HiddenServicePort 8333 127.0.0.1:8333" | sudo tee -a /etc/tor/torrc
case $CHOICE in
ADDRPCLAN)
clear
clear
echo "# Make sure the bitcoind wallet is on"
/home/admin/config.scripts/network.wallet.sh on
restartCore=0
if [ $allowIPrange -eq 0 ]; then
echo "rpcallowip=$localIPrange" | sudo tee -a /mnt/hdd/${network}/${network}.conf
@ -254,7 +269,7 @@ HiddenServicePort 8333 127.0.0.1:8333" | sudo tee -a /etc/tor/torrc
clear
echo "# Make sure the bitcoind wallet is on"
/home/admin/config.scripts/network.wallet.sh on
/home/admin/config.scripts/internet.hiddenservice.sh bitcoin${BITCOINRPCPORT} ${BITCOINRPCPORT} ${BITCOINRPCPORT}
/home/admin/config.scripts/tor.onion-service.sh bitcoin${BITCOINRPCPORT} ${BITCOINRPCPORT} ${BITCOINRPCPORT}
echo
echo "The address of the local node is: $TorRPCaddress"
echo
@ -267,7 +282,7 @@ HiddenServicePort 8333 127.0.0.1:8333" | sudo tee -a /etc/tor/torrc
CREDENTIALS)
clear
showRPCcredentials
echo
echo
echo "Press ENTER to return to the menu."
read key
;;
@ -275,7 +290,7 @@ HiddenServicePort 8333 127.0.0.1:8333" | sudo tee -a /etc/tor/torrc
# remove old entry
sudo sed -i "/# Hidden Service for BITCOIN RPC (mainnet, testnet, signet)/,/^\s*$/{d}" /etc/tor/torrc
# remove Hidden Service
/home/admin/config.scripts/internet.hiddenservice.sh off bitcoin${BITCOINRPCPORT}
/home/admin/config.scripts/tor.onion-service.sh off bitcoin${BITCOINRPCPORT}
sudo ufw deny from $localIPrange to any port ${BITCOINRPCPORT}
restartCore=0
if [ $allowIPrange -gt 0 ]; then

View File

@ -5,9 +5,6 @@ echo "get raspiblitz config"
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
# get the local network IP to be displayed on the LCD
source <(/home/admin/config.scripts/internet.sh status local)
source <(/home/admin/config.scripts/network.aliases.sh getvars lnd $1)
# make sure lnd wallet is unlocked
@ -25,6 +22,7 @@ OPTIONS+=(PEERING "Connect to a Peer")
OPTIONS+=(CHANNEL "Open a Channel with Peer")
OPTIONS+=(SEND "Pay an Invoice/PaymentRequest")
OPTIONS+=(RECEIVE "Create Invoice/PaymentRequest")
OPTIONS+=(XPUB "Show OnChain xPubs")
if [ "${chain}" = "main" ]; then
OPTIONS+=(lnbalance "Detailed Wallet Balances")
@ -120,7 +118,7 @@ case $CHOICE in
/home/admin/config.scripts/bonus.suez.sh on
fi
cd /home/bitcoin/suez || exit 1
sudo -u bitcoin /home/bitcoin/.local/bin/poetry run ./suez \
sudo -u bitcoin poetry run /home/bitcoin/suez/suez \
--client-args=-n=${CHAIN} \
--client-args=--rpcserver=localhost:1${L2rpcportmod}009
echo
@ -136,10 +134,23 @@ case $CHOICE in
clear
echo
# setting value in raspi blitz config
sudo sed -i "s/^lightning=.*/lightning=lnd/g" /mnt/hdd/raspiblitz.conf
/home/admin/config.scripts/blitz.conf.sh set lightning "lnd"
sudo systemctl restart blitzapi 2>/dev/null
echo "# OK - lightning=lnd is set in /mnt/hdd/raspiblitz.conf"
echo
echo "Press ENTER to return to main menu."
read key
;;
XPUB)
clear
echo "LND wallet xPubs => $lncli_alias wallet accounts list --name default"
echo
$lncli_alias wallet accounts list --name default | grep --color=never .*,
echo
echo "EXPERIMENTAL - DONT USE FOR SERIOUS FUND RECEIVING YET"
echo "Report your experience to: https://github.com/rootzoll/raspiblitz/issues/2192"
echo
echo "Press ENTER to return to main menu."
read key
esac

View File

@ -0,0 +1,522 @@
#!/bin/bash
# get raspiblitz config
echo "# get raspiblitz config"
source /home/admin/raspiblitz.info
source /mnt/hdd/raspiblitz.conf
source <(/home/admin/config.scripts/network.aliases.sh getvars lnd $1)
sudo mkdir /var/cache/raspiblitz/temp 2>/dev/null
askLNDbackupCopy()
{
whiptail --title "LND Data Backup" --yes-button "Backup" --no-button "Skip" --yesno "
Before deleting your data, do you want
to make a backup of all your LND Data
and download the file(s) to your laptop?
Download LND Data Backup now?
" 12 44
if [ $? -eq 0 ]; then
clear
echo "***********************************"
echo "* PREPARING THE LND BACKUP DOWNLOAD"
echo "***********************************"
echo "please wait .."
/home/admin/config.scripts/lnd.compact.sh interactive
/home/admin/config.scripts/lnd.backup.sh lnd-export-gui
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
else
clear
echo "*************************************"
echo "* JUST MAKING A BACKUP TO THE SD CARD"
echo "*************************************"
echo "please wait .."
sleep 2
/home/admin/config.scripts/lnd.backup.sh lnd-export
sleep 3
fi
}
getpasswordC() # from dialogPasswords.sh
{
# temp file for password results
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
sudo /home/admin/config.scripts/blitz.passwords.sh set x "PASSWORD C - Lightning Wallet Password" $_temp
passwordC=$(sudo cat $_temp)
sudo rm $_temp
dialog --backtitle "RaspiBlitz - Setup" --msgbox "\nThanks - Password C accepted.\n\nAlways use this password to \nunlock your Lightning Wallet." 10 34
}
lndHealthCheck()
{
# check that lnd started
lndRunning=0
loopcount=0
while [ ${lndRunning} -eq 0 ]
do
lndRunning=$(systemctl status ${netprefix}lnd.service | grep -c running)
if [ ${lndRunning} -eq 0 ]; then
date +%s
echo "LND not ready yet ... waiting another 60 seconds."
sleep 10
fi
loopcount=$(($loopcount +1))
if [ ${loopcount} -gt 100 ]; then
echo "lnd-start-fail" "lnd service not getting to running status" "sudo systemctl status ${netprefix}lnd.service | grep -c running --> ${lndRunning}"
exit 8
fi
done
echo "OK - LND is running"
sleep 10
# Check LND health/fails (to be extended)
tlsExists=$(ls /mnt/hdd/lnd/tls.cert 2>/dev/null | grep -c "tls.cert")
if [ ${tlsExists} -eq 0 ]; then
echo "lnd-no-tls" "lnd not created TLS cert" "no /mnt/hdd/lnd/tls.cert"
exit 9
fi
}
syncAndCheckLND() # from _provision.setup.sh
{
# make sure all directories are linked
sudo /home/admin/config.scripts/blitz.datadrive.sh link
# check if now a config exists
configLinkedCorrectly=$(ls /home/bitcoin/.lnd/${netprefix}lnd.conf | grep -c "${netprefix}lnd.conf")
if [ "${configLinkedCorrectly}" != "1" ]; then
echo "lnd-link-broken" "link /home/bitcoin/.lnd/${netprefix}lnd.conf broken" ""
exit 7
fi
# Init LND service & start
echo "*** Init LND Service & Start ***"
/home/admin/_cache.sh set message "LND Testrun"
# just in case
sudo systemctl stop ${netprefix}lnd 2>/dev/null
sudo systemctl disable ${netprefix}lnd 2>/dev/null
# copy lnd service - note the same service is created with 'lnd.install.sh on mainnet'
sudo cp /home/admin/assets/lnd.service /etc/systemd/system/lnd.service
# start lnd up
echo "Starting LND Service ..."
sudo systemctl enable ${netprefix}lnd
sudo systemctl start ${netprefix}lnd
echo "Starting LND Service ... executed"
if [ $(sudo -u bitcoin ls /mnt/hdd/lnd/data/chain/bitcoin/${chain}net/wallet.db 2>/dev/null | grep -c wallet.db) -gt 0 ]; then
echo "# OK, there is an LND wallet present"
else
echo "lnd-no-wallet" "there is no LND wallet present" "/mnt/hdd/lnd/data/chain/bitcoin/${chain}net/wallet.db --> missing"
exit 13
fi
# sync macaroons & TLS to other users
echo "*** Copy LND Macaroons to user admin ***"
/home/admin/_cache.sh set message "LND Credentials"
# check if macaroon exists now - if not fail
attempt=0
while [ $(sudo -u bitcoin ls -la /home/bitcoin/.lnd/data/chain/${network}/${chain}net/admin.macaroon 2>/dev/null | grep -c admin.macaroon) -eq 0 ]; do
echo "Waiting 2 mins for LND to create macaroons ... (${attempt}0s)"
sleep 10
attempt=$((attempt+1))
if [ $attempt -eq 12 ];then
/home/admin/config.scripts/blitz.error.sh _provision.setup.sh "lnd-no-macaroons" "lnd did not create macaroons" "/home/bitcoin/.lnd/data/chain/${network}/${chain}net/admin.macaroon --> missing"
exit 14
fi
done
# now sync macaroons & TLS to other users
sudo /home/admin/config.scripts/lnd.credentials.sh sync ${chain}net
# make a final lnd check
source <(/home/admin/config.scripts/lnd.check.sh basic-setup "${chain}net")
if [ "${err}" != "" ]; then
echo
echo "lnd-check-error" "lnd.check.sh basic-setup ${chain}net with error" "/home/admin/config.scripts/lnd.check.sh basic-setup ${chain}net --> ${err}"
echo
# exit 15
fi
}
function restoreFromSeed()
{
askLNDbackupCopy
## from dialogLightningWallet.sh
# let people know about the difference between SEED & SEED+SCB
whiptail --title "IMPORTANT INFO" --yes-button "ENTER SEED" --no-button "Go Back" --yesno "
Using JUST SEED WORDS will only recover your on-chain funds.
To also try to recover the open channel funds you need the
channel.backup file (since RaspiBlitz v1.2 / LND 0.6-beta)
or having a complete LND rescue-backup from your old node.
" 11 65
# start seed input and get results
_temp="/var/cache/raspiblitz/.temp.tmp"
/home/admin/config.scripts/lnd.backup.sh seed-import-gui $_temp
source $_temp 2>/dev/null
sudo rm $_temp 2>/dev/null
# if user canceled the seed input
if [ "${seedWords}" == "" ]; then
# signal cancel to the calling script by exit code (4 = exit on seedwords)
exit 4
fi
getpasswordC
removeLNDwallet
# creates fresh lnd.conf without an alias
/home/admin/config.scripts/lnd.install.sh on $CHAIN
sudo systemctl start ${netprefix}lnd
lndHealthCheck
# from _provison.setup.sh
# create wallet
# WALLET --> SEED
if [ "${seedWords}" != "" ]; then
echo "WALLET --> SEED"
/home/admin/_cache.sh set message "LND Wallet (SEED)"
source <(/home/admin/config.scripts/lnd.initwallet.py seed "${chain}net" "${passwordC}" "${seedWords}" "${seedPassword}")
if [ "${err}" != "" ]; then
echo "lnd-wallet-seed" "lnd.initwallet.py seed returned error" "/home/admin/config.scripts/lnd.initwallet.py seed ${chain}net ... --> ${err} + ${errMore}"
exit 12
fi
fi
syncAndCheckLND
}
function restoreSCB()
{
# import SCB and get results
_temp="/var/cache/raspiblitz/.temp.tmp"
# 'production' to use passwordA
/home/admin/config.scripts/lnd.backup.sh scb-import-gui production $_temp
source $_temp 2>/dev/null
sudo rm $_temp 2>/dev/null
# if user canceled the upload
if ! ls -la /home/admin/channel.backup; then
echo "# signal cancel to the calling script by exit code (5 = exit on scb)"
exit 5
fi
echo
echo "The next step will attempt to trigger all online peers to force close the channels."
echo "Restoring the channel.backup can be repeated until all the channels are force closed."
echo
echo "Make sure to enter the Raspiblitz menu to trigger the next step."
echo "If menu does not open automatically - use command: raspiblitz"
echo "Press ENTER to continue or CTRL+C to abort"
read key
### --> DEACTIVATED BECAUSE when a file is placed at /home/admin/channel.backup
### it will now automatically trigger a Static-Channel-Backup procedure after lnd recoverymode is done
#
# # WALLET --> SEED + SCB
# if ls -la /home/admin/channel.backup; then
#
# # LND was restarted so need to unlock
# echo "WALLET --> UNLOCK WALLET - SCAN 0"
# /home/admin/_cache.sh set message "LND Wallet Unlock - scan 0"
# source <(/home/admin/config.scripts/lnd.initwallet.py unlock "${chain}net" "${passwordC}" 0)
# if [ "${err}" != "" ]; then
# echo "lnd-wallet-unlock" "lnd.initwallet.py unlock returned error" "/home/admin/config.scripts/lnd.initwallet.py unlock ${chain}net ... --> ${err} + ${errMore}"
# if [ "${errMore}" = "wallet already unlocked, WalletUnlocker service is no longer available" ]; then
# echo "The wallet is already unlocked, continue."
# else
# exit 11
# fi
# fi
#
# echo "WALLET --> SEED + SCB "
# /home/admin/_cache.sh set message "LND Wallet (SEED & SCB)"
# macaroonPath="/home/admin/.lnd/data/chain/${network}/${chain}net/admin.macaroon"
# source <(/home/admin/config.scripts/lnd.initwallet.py scb ${chain}net "/home/admin/channel.backup" "${macaroonPath}")
# if [ "${err}" != "" ]; then
# echo "lnd-wallet-seed+scb" "lnd.initwallet.py scb returned error" "/home/admin/config.scripts/lnd.initwallet.py scb ${chain}net ... --> ${err} + ${errMore}"
# while [ $(echo "${errMore}" | grep -c "RPC server is in the process of starting up") -gt 0 ]; do
# echo "# ${errMore}"
# echo "# waiting 10 seconds (${counter})"
# counter=$((counter+1))
# if [ ${counter} -eq 60 ]; then
# echo "# Giving up after 10 minutes"
# echo
# echo "lnd-wallet-seed+scb" "lnd.initwallet.py scb returned error" "/home/admin/config.scripts/lnd.initwallet.py scb ${chain}net ... --> ${err} + ${errMore}"
# echo
# echo "The SCB recovery is not possible now - use the RETRYSCB option the REPAIR-LND menu after LND is synced."
# echo "Can repeat the SCB recovery until all peers have force closed the channels to this node."
# echo
# echo "# ${netprefix}lnd error logs:"
# sudo journalctl -u ${netprefix}lnd
# echo
# echo "# ${netprefix}lnd logs:"
# sudo tail /home/bitcoin/.lnd/logs/bitcoin/${CHAIN}/lnd.log
# exit 12
# fi
# sleep 10
# source <(/home/admin/config.scripts/lnd.initwallet.py scb ${chain}net "/home/admin/channel.backup" "${macaroonPath}")
# done
#
# fi
# fi
#
# syncAndCheckLND
}
function removeLNDwallet
{
clear
echo
echo "The next step WILL REMOVE the old LND wallet on ${CHAIN}"
echo "Press ENTER to continue or CTRL+C to abort"
read key
echo "# Stopping lnd on ${CHAIN} ..."
sudo systemctl stop ${netprefix}lnd
sudo systemctl disable ${netprefix}lnd
echo "Reset wallet on ${CHAIN}"
sudo rm -f /home/bitcoin/.lnd/${netprefix}lnd.conf
sudo rm -f /home/bitcoin/.lnd/${netprefix}v3_onion_private_key
sudo rm -f /mnt/hdd/lnd/data/chain/${network}/${CHAIN}/wallet.db
sudo rm -f /home/bitcoin/.lnd/data/graph/${CHAIN}/channel.db
sudo rm -f /home/bitcoin/.lnd/data/graph/${CHAIN}/sphinxreplay.db
sudo rm -rf /mnt/hdd/lnd/data/chain/${network}/${CHAIN}
sudo rm -rf /home/bitcoin/.lnd/logs/${network}/${CHAIN}
sudo rm -rf /home/bitcoin/.lnd/data/graph/${CHAIN}
sudo rm -rf home/bitcoin/.lnd/data/watchtower/${CHAIN}
}
# BASIC MENU INFO
WIDTH=64
BACKTITLE="RaspiBlitz"
TITLE="LND repair options for $CHAIN"
MENU=""
OPTIONS=()
if [ "${chain}" = "main" ]; then
OPTIONS+=(COMPACT "Compact the LND channel.db")
OPTIONS+=(GETSCB "Download channel.backup (StaticChannelBackup)")
fi
OPTIONS+=(BACKUP-LND "Backup your LND data (Rescue-File)")
OPTIONS+=(RESET-LND "Delete LND & start new node/wallet")
OPTIONS+=(LNDRESCUE "Restore from a rescue file")
OPTIONS+=(SEED+SCB "Restore from a seed and channel.backup")
OPTIONS+=(RETRYSCB "Retry closing channels with the channel.backup")
OPTIONS+=(ONLYSEED "Restore from a seed (onchain funds only)")
OPTIONS+=(RESCAN "Rescan the blockchain to recover onchain funds")
CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1"))
HEIGHT=$((CHOICE_HEIGHT+6))
CHOICE=$(dialog --clear \
--backtitle "$BACKTITLE" \
--title "$TITLE" \
--ok-label "Select" \
--cancel-label "Main menu" \
--menu "$MENU" \
$HEIGHT $WIDTH $CHOICE_HEIGHT \
"${OPTIONS[@]}" \
2>&1 >/dev/tty)
case $CHOICE in
COMPACT)
/home/admin/config.scripts/lnd.compact.sh interactive
echo "# Starting ${netprefix}lnd.service ..."
sudo systemctl start lnd
echo
echo "Press ENTER to return to main menu."
read key
;;
GETSCB)
/home/admin/config.scripts/lnd.backup.sh scb-export-gui
;;
BACKUP-LND)
/home/admin/config.scripts/lnd.compact.sh interactive
sudo /home/admin/config.scripts/lnd.backup.sh ${netprefix}lnd-export-gui
echo
echo "Press ENTER when your backup download is done to shutdown."
read key
sudo /home/admin/config.scripts/blitz.shutdown.sh
;;
RESET-LND)
askLNDbackupCopy
# ask for a new name so that network analysis has harder time to connect new node id with old
result=""
while [ ${#result} -eq 0 ]
do
trap 'rm -f "$_temp"' EXIT
_temp=$(mktemp -p /dev/shm/)
l1="Please enter the name of your new LND node:\n"
l2="different name is better for a fresh identity\n"
l3="one word, use up to 32 basic characters"
dialog --backtitle "RaspiBlitz - Setup (${network}/${chain})" --inputbox "$l1$l2$l3" 13 52 2>$_temp
result=$( cat $_temp | tr -dc '[:alnum:]-.' | tr -d ' ' )
echo "processing ..."
sleep 3
done
removeLNDwallet
# create wallet
/home/admin/config.scripts/lnd.install.sh on ${chain}net initwallet
# display and delete the seed for ${chain}net
sudo /home/admin/config.scripts/lnd.install.sh display-seed ${chain}net delete
#TODO the new hostname is not taken into account on init (user can change set the lnd name in menu later)
# make sure host is named like in the raspiblitz config
# echo "Setting the Name/Alias/Hostname .."
sudo /home/admin/config.scripts/lnd.setname.sh ${chain}net "${result}"
# /home/admin/config.scripts/blitz.conf.sh set hostname "${result}"
syncAndCheckLND
echo "Press ENTER to return to main menu."
read key
# go back to main menu (and show)
/home/admin/00raspiblitz.sh
exit 0
;;
LNDRESCUE)
askLNDbackupCopy
#removeAllLNDwallets
clear
echo
echo "The next step WILL REMOVE the old LND wallets on ALL CHAINS"
echo "Press ENTER to continue or CTRL+C to abort"
read key
echo "# Stopping lnd on mainnet ..."
sudo systemctl stop lnd
# don' t want to set CL as default if running parallel
#/home/admin/config.scripts/lnd.install.sh off mainnet
if [ "${tlnd}" == "on" ];then
/home/admin/config.scripts/lnd.install.sh off testnet
fi
if [ "${slnd}" == "on" ];then
/home/admin/config.scripts/lnd.install.sh off signet
fi
echo "Reset wallet"
sudo rm -r /mnt/hdd/lnd
## from dialogLightningWallet.sh
# import file
# run upload dialog and get result
_temp="/var/cache/raspiblitz/temp/.temp.tmp"
/home/admin/config.scripts/lnd.backup.sh lnd-import-gui production $_temp
source $_temp 2>/dev/null
sudo rm $_temp 2>/dev/null
/home/admin/config.scripts/lnd.install.sh on ${CHAIN}
sudo systemctl start ${netprefix}lnd
syncAndCheckLND
echo "Press ENTER to return to main menu."
read key
# go back to main menu (and show)
/home/admin/00raspiblitz.sh
exit 0
;;
ONLYSEED)
restoreFromSeed
echo "Set lnd recovery mode & restart ..."
sudo /home/admin/config.scripts/lnd.backup.sh "${chain}net" recoverymode on
sudo systemctl restart ${netprefix}lnd
sleep 3
echo "# Unlock wallet ..."
/home/admin/config.scripts/lnd.unlock.sh "${CHAIN}"
echo
echo "System will now go thru rescan for on-chain funds"
echo "Press ENTER to return to main menu."
read key
# go back to main menu (and show)
/home/admin/00raspiblitz.sh
exit 0
;;
SEED+SCB)
restoreFromSeed
restoreSCB
echo "Set lnd recovery mode & restart ..."
sudo /home/admin/config.scripts/lnd.backup.sh "${chain}net" recoverymode on
sudo systemctl restart ${netprefix}lnd
sleep 3
echo "# Unlock wallet ..."
/home/admin/config.scripts/lnd.unlock.sh "${CHAIN}"
echo
echo "System will now go thru rescan for on-chain funds and when done"
echo "the Static-Channel-Backup will trigger to recover off-chain funds."
echo "Press ENTER to return to main menu."
read key
# go back to main menu (and show)
/home/admin/00raspiblitz.sh
exit 0
;;
RETRYSCB)
restoreSCB
# go back to main menu (and show)
/home/admin/00raspiblitz.sh
exit 0
;;
RESCAN)
clear
source <(sudo /home/admin/config.scripts/lnd.backup.sh "${CHAIN}" recoverymode status)
if [ "${recoverymode}" == "0" ]; then
echo "Putting lnd back in recoverymode."
sudo /home/admin/config.scripts/lnd.backup.sh "${CHAIN}" recoverymode on
echo "Restarting lnd ..."
sudo systemctl restart ${netprefix}lnd
sleep 3
else
echo "lnd already in recoverymode."
fi
echo "# Unlock wallet ..."
/home/admin/config.scripts/lnd.unlock.sh "${CHAIN}"
echo
echo "To show the scanning progress in the background will follow the lnd.log with:"
echo "'sudo tail -n 30 -f /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log'"
echo
echo "Press ENTER to continue"
echo "use CTRL+C any time to exit .. then use the command 'raspiblitz' to return to the menu"
echo "(the rescan will continue in the background)"
echo "#######################################################################################"
read key
sudo tail -n 30 -f /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log
;;
esac
exit 0

View File

@ -15,6 +15,9 @@ TITLE=" ${CHAIN} System Options "
MENU="" # adds lines to HEIGHT
OPTIONS=() # adds lines to HEIGHt + CHOICE_HEIGHT
OPTIONS+=(BTOP "Monitor system resources with btop")
OPTIONS+=(TIME "Set Timezone")
OPTIONS+=(${network}LOG "Monitor the debug.log for ${CHAIN}")
OPTIONS+=(${network}CONF "Edit the bitcoin.conf")
@ -49,6 +52,16 @@ CHOICE=$(dialog --clear \
2>&1 >/dev/tty)
case $CHOICE in
BTOP)
if ! btop -v; then
sudo apt install -y btop
fi
# run as root to allow signal sending to any process
sudo btop
;;
TIME)
sudo /home/admin/config.scripts/blitz.time.sh choose-timezone
;;
${network}LOG)
if [ ${CHAIN} = signet ]; then
bitcoinlogpath="/mnt/hdd/bitcoin/signet/debug.log"
@ -63,8 +76,8 @@ case $CHOICE in
echo "running: 'sudo tail -n 30 -f ${bitcoinlogpath}'"
echo
echo "Press ENTER to continue"
echo "use CTRL+C any time to abort .. then use command 'raspiblitz' to return to menu"
echo "###############################################################################"
echo "use CTRL+C any time to abort .. then use the command 'raspiblitz' to return to the menu"
echo "#######################################################################################"
read key
sudo tail -n 30 -f ${bitcoinlogpath};;
${network}CONF)
@ -90,8 +103,8 @@ case $CHOICE in
echo "running 'sudo tail -n 30 -f /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log'"
echo
echo "Press ENTER to continue"
echo "use CTRL+C any time to abort .. then use command 'raspiblitz' to return to menu"
echo "###############################################################################"
echo "use CTRL+C any time to abort .. then use the command 'raspiblitz' to return to the menu"
echo "#######################################################################################"
read key
sudo tail -n 30 -f /mnt/hdd/lnd/logs/${network}/${chain}net/lnd.log;;
LNDCONF)
@ -117,8 +130,8 @@ case $CHOICE in
echo "running 'sudo tail -n 30 -f /home/bitcoin/.lightning/${CLNETWORK}/cl.log'"
echo
echo "Press ENTER to continue"
echo "use CTRL+C any time to abort .. then use command 'raspiblitz' to return to menu"
echo "###############################################################################"
echo "use CTRL+C any time to abort .. then use the command 'raspiblitz' to return to the menu"
echo "#######################################################################################"
read key
sudo tail -n 30 -f /home/bitcoin/.lightning/${CLNETWORK}/cl.log;;
CLCONF)
@ -126,10 +139,10 @@ case $CHOICE in
then
whiptail \
--title "Restart" --yes-button "Restart" --no-button "Not now" \
--yesno "To apply the new settings C-lightning needs to restart.
Do you want to restart C-lightning now?" 0 0
--yesno "To apply the new settings Core Lightning needs to restart.
Do you want to restart Core Lightning now?" 0 0
if [ $? -eq 0 ]; then
echo "# Restarting C-lightning"
echo "# Restarting Core Lightning"
sudo systemctl restart ${netprefix}lightningd
else
echo "# Continue without restarting."
@ -170,8 +183,8 @@ thunderhub, tor@default, tor
echo "Will show the logs with:"
echo "'sudo journalctl -n 10 -fu $SERVICE'"
echo
echo "use CTRL+C any time to abort .. then use command 'raspiblitz' to return to menu"
echo "###############################################################################"
echo "use CTRL+C any time to abort .. then use the command 'raspiblitz' to return to the menu"
echo "#######################################################################################"
sudo journalctl -n 10 -fu $SERVICE;;
CUSTOMRESTART)
clear
@ -195,7 +208,7 @@ thunderhub, tor@default, tor
echo "Will show the logs with:"
echo "'sudo journalctl -n 10 -fu $SERVICE'"
echo
echo "use CTRL+C any time to abort .. then use command 'raspiblitz' to return to menu"
echo "###############################################################################"
echo "use CTRL+C any time to abort .. then use the command 'raspiblitz' to return to the menu"
echo "#######################################################################################"
sudo journalctl -n 10 -fu $SERVICE;;
esac

View File

@ -1,5 +1,5 @@
#!/bin/bash
# load raspiblitz config data
source /home/admin/_version.info
source /home/admin/raspiblitz.info
@ -14,7 +14,7 @@ release()
- Download the new SD card image to your laptop:
https://github.com/rootzoll/raspiblitz
- Flash that SD card image to a new SD card (best)
or override old SD card after shutdown (fallback)
or override old SD card after shutdown (fallback)
- Choose 'Start Update' below.
No need to close channels or download blockchain again.
@ -32,39 +32,45 @@ its recommended to make a backup of all your Lightning
Channel Data and download that file to your laptop.
Do you want to download Lightning Data Backup now?
" 12 58
" 12 62
if [ $? -eq 0 ]; then
clear
echo "*************************************"
echo "* PREPARING LIGHTNING BACKUP DOWNLOAD"
echo "*************************************"
echo "please wait .."
sleep 2
if [ "${lightning}" == "lnd" ]; then
if [ "${lightning}" == "lnd" ] || [ "${lnd}" = "on" ]; then
clear
echo "***********************************"
echo "* PREPARING THE LND BACKUP DOWNLOAD"
echo "***********************************"
echo "please wait .."
/home/admin/config.scripts/lnd.compact.sh interactive
/home/admin/config.scripts/lnd.backup.sh lnd-export-gui
elif [ "${lightning}" == "cl" ]; then
/home/admin/config.scripts/cl.backup.sh cl-export-gui
else
echo "TODO: Implement Data Backup for '${lightning}'"
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" = "on" ]; then
clear
echo "*******************************************"
echo "* PREPARING THE CORE LIGHTNING BACKUP DOWNLOAD"
echo "*******************************************"
echo "please wait .."
/home/admin/config.scripts/cl.backup.sh cl-export-gui
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
fi
echo
echo "PRESS ENTER to continue once you're done downloading."
read key
else
clear
echo "*************************************"
echo "* JUST MAKING BACKUP TO OLD SD CARD"
echo "*************************************"
echo "*****************************************"
echo "* JUST MAKING A BACKUP TO THE OLD SD CARD"
echo "*****************************************"
echo "please wait .."
sleep 2
if [ "${lightning}" == "lnd" ]; then
if [ "${lightning}" == "lnd" ] || [ "${lnd}" = "on" ]; then
/home/admin/config.scripts/lnd.backup.sh lnd-export
elif [ "${lightning}" == "cl" ]; then
/home/admin/config.scripts/cl.backup.sh cl-export
else
echo "TODO: Implement Data Backup for '${lightning}'"
sleep 3
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" = "on" ]; then
/home/admin/config.scripts/cl.backup.sh cl-export
fi
sleep 3
fi
fi
@ -74,7 +80,7 @@ Once the LCD is white and no LEDs are blinking anymore:
- Remove the Power from RaspiBlitz
- Exchange the old with the new SD card
- Connect Power back to the RaspiBlitz
- Follow the instructions on the LCD
- Login again per SSH or WebUI
Do you have the SD card with the new version image ready
and do you WANT TO START UPDATE NOW?
@ -99,9 +105,9 @@ patchNotice()
It means it will sync the program code with the
GitHub repo for your version branch v${codeVersion}.
This can be useful if there are important updates
This can be useful if there are important updates
in between releases to fix severe bugs. It can also
be used to sync your own code with your RaspiBlitz
be used to sync your own code with your RaspiBlitz
if you are developing on your own GitHub Repo.
BUT BEWARE: This means RaspiBlitz will contact GitHub,
@ -127,13 +133,24 @@ patch()
PR "Checkout a PullRequest to test"
)
CHOICE=$(whiptail --clear --title "GitHub-User: ${activeGitHubUser} Branch: ${activeBranch}" --menu "" 11 55 4 "${OPTIONS[@]}" 2>&1 >/dev/tty)
CHOICE=$(whiptail --clear --title " GitHub user:${activeGitHubUser} branch:${activeBranch} (${commitHashShort})" --menu "" 11 60 4 "${OPTIONS[@]}" 2>&1 >/dev/tty)
clear
case $CHOICE in
PATCH)
sudo -u admin /home/admin/config.scripts/blitz.github.sh -run
sleep 4
echo
echo "#######################################################"
echo "### UPDATE BLITZ --> SCRIPTS (code)"
/home/admin/config.scripts/blitz.github.sh -run
echo
echo "#######################################################"
echo "### UPDATE BLITZ --> API"
sudo /home/admin/config.scripts/blitz.web.api.sh update-code
echo
echo "#######################################################"
echo "### UPDATE BLITZ --> WEBUI"
sudo /home/admin/config.scripts/blitz.web.ui.sh update
sleep 5
whiptail --title " Patching/Syncing " --yes-button "Reboot" --no-button "Skip Reboot" --yesno " OK patching/syncing done.
By default a reboot is advised.
@ -143,7 +160,7 @@ patch()
if [ $? -eq 0 ]; then
clear
echo "REBOOT .."
/home/admin/config.scripts/blitz.shutdown.sh reboot
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
exit 1
else
@ -160,12 +177,12 @@ patch()
newGitHubUser=$(echo "${newGitHubUser}" | cut -d " " -f1)
echo "--> " ${newGitHubUser}
error=""
source <(sudo -u admin /home/admin/config.scripts/blitz.github.sh -clean ${activeBranch} ${newGitHubUser})
source <(sudo -u admin /home/admin/config.scripts/blitz.github.sh ${activeBranch} ${newGitHubUser})
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
fi
fi
patch
patch all
exit 0
;;
BRANCH)
@ -182,7 +199,7 @@ patch()
whiptail --title "ERROR" --msgbox "${error}" 8 30
fi
fi
patch
patch all
exit 0
;;
PR)
@ -252,11 +269,28 @@ Do you really want to update LND now?
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
else
# if loop was installed before reinstall
if [ "${loop}" == "on" ]; then
sudo -u admin /home/admin/config.scripts/bonus.loop.sh on
whiptail \
--title " LND update " \
--yes-button "Reboot" \
--no-button "Skip Reboot" \
--yesno \
"OK LND update is done.
By default a reboot is advised to sync macaroons and the TLS certificate.
Consider rebooting later manually if encountering any problems.
" 12 50
if [ $? -eq 0 ]; then
clear
echo "# REBOOT .."
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
exit 1
else
echo "# SKIP REBOOT"
echo "# starting the lnd.service .."
sudo systemctl start lnd
exit 0
fi
/home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
fi
;;
@ -267,7 +301,7 @@ grab the latest LND release published on the LND GitHub page (also release candi
There will be no security checks on signature, etc.
This update mode is only recommended for testing and
development nodes with no serious funding.
development nodes with no serious funding.
Do you really want to update LND now?
" 16 58
@ -280,7 +314,28 @@ Do you really want to update LND now?
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
else
/home/admin/config.scripts/blitz.shutdown.sh reboot
whiptail \
--title " LND update " \
--yes-button "Reboot" \
--no-button "Skip Reboot" \
--yesno \
"OK LND update is done.
By default a reboot is advised to sync macaroons and the TLS certificate.
Consider rebooting later manually if encountering any problems.
" 12 50
if [ $? -eq 0 ]; then
clear
echo "# REBOOT .."
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
exit 1
else
echo "# SKIP REBOOT"
echo "# starting the lnd.service .."
sudo systemctl start lnd
exit 0
fi
sleep 8
fi
;;
@ -293,27 +348,27 @@ cl()
# get cl info
source <(sudo -u admin /home/admin/config.scripts/cl.update.sh info)
# C-lightning Update Options
# Core Lightning Update Options
OPTIONS=()
if [ ${clUpdateInstalled} -eq 0 ]; then
OPTIONS+=(VERIFIED "Optional C-lightning update to ${clUpdateVersion}")
OPTIONS+=(VERIFIED "Optional Core Lightning update to ${clUpdateVersion}")
fi
OPTIONS+=(RECKLESS "Experimental C-lightning update to ${clLatestVersion}")
OPTIONS+=(RECKLESS "Experimental Core Lightning update to ${clLatestVersion}")
CHOICE=$(whiptail --clear --title "Update C-lightning Options" --menu "" 9 60 2 "${OPTIONS[@]}" 2>&1 >/dev/tty)
CHOICE=$(whiptail --clear --title "Update Core Lightning Options" --menu "" 9 60 2 "${OPTIONS[@]}" 2>&1 >/dev/tty)
clear
case $CHOICE in
VERIFIED)
if [ ${clUpdateInstalled} -eq 1 ]; then
whiptail --title "ALREADY INSTALLED" --msgbox "The C-lightning version ${clUpdateVersion} is already installed." 8 30
whiptail --title "ALREADY INSTALLED" --msgbox "The Core Lightning version ${clUpdateVersion} is already installed." 8 30
exit 0
fi
whiptail --title "OPTIONAL C-lightning UPDATE" --yes-button "Cancel" --no-button "Update" --yesno "BEWARE on updating to C-lightning v${clUpdateVersion}:
whiptail --title "OPTIONAL Core Lightning UPDATE" --yes-button "Cancel" --no-button "Update" --yesno "BEWARE on updating to Core Lightning v${clUpdateVersion}:
${clUpdateComment}
Do you really want to update C-lightning now?
Do you really want to update Core Lightning now?
" 16 58
if [ $? -eq 0 ]; then
echo "# cancel update"
@ -325,20 +380,20 @@ Do you really want to update C-lightning now?
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
else
echo "# C-lightning was updated successfully"
echo "# Core Lightning was updated successfully"
exit 0
fi
;;
RECKLESS)
whiptail --title "RECKLESS C-lightning UPDATE to ${clLatestVersion}" --yes-button "Cancel" --no-button "Update" --yesno "Using the 'RECKLESS' C-lightning update will simply
grab the latest C-lightning release published on the C-lightning GitHub page (also release candidates).
whiptail --title "RECKLESS Core Lightning UPDATE to ${clLatestVersion}" --yes-button "Cancel" --no-button "Update" \
--yesno "Using the 'RECKLESS' Core Lightning update will download the latest Core Lightning release published on the Core Lightning GitHub page.
There will be no security checks on signature, etc.
The update was not tested as a part of the release.
This update mode is only recommended for testing and
development nodes with no serious funding.
development nodes with no serious funding.
Do you really want to update C-lightning now?
Do you really want to update Core Lightning now?
" 16 58
if [ $? -eq 0 ]; then
echo "# cancel update"
@ -349,7 +404,11 @@ Do you really want to update C-lightning now?
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
else
echo "# C-lightning was updated successfully"
echo "# Core Lightning was updated successfully"
# unlock or fix issues from the logs
/home/admin/config.scripts/cl.hsmtool.sh unlock ${chain}net
exit 0
fi
;;
@ -400,12 +459,29 @@ Do you really want to update Bitcoin Core now?
error=""
warn=""
source <(sudo -u admin /home/admin/config.scripts/bitcoin.update.sh tested)
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
else
sudo -u admin /home/admin/config.scripts/bitcoin.update.sh tested
whiptail \
--title " Bitcoin Core update " \
--yes-button "Reboot" \
--no-button "Skip Reboot" \
--yesno \
"OK Bitcoin Core update is done.
By default a reboot is advised.
" 9 40
if [ $? -eq 0 ]; then
clear
echo "# REBOOT .."
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
exit 1
else
echo "# SKIP REBOOT"
echo "# starting the bitcoind.service .."
sudo systemctl start bitcoind
exit 0
fi
sleep 8
;;
RECKLESS)
whiptail --title "UNTESTED Bitcoin Core update to ${bitcoinLatestVersion}" --yes-button "Cancel" \
@ -425,19 +501,61 @@ Do you really want to update Bitcoin Core now?
source <(sudo -u admin /home/admin/config.scripts/bitcoin.update.sh reckless)
if [ ${#error} -gt 0 ]; then
whiptail --title "ERROR" --msgbox "${error}" 8 30
else
sleep 8
fi
whiptail \
--title " Bitcoin Core update " \
--yes-button "Reboot" \
--no-button "Skip Reboot" \
--yesno \
"OK Bitcoin Core update is done.
By default a reboot is advised.
" 9 40
if [ $? -eq 0 ]; then
clear
echo "REBOOT .."
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
exit 1
else
echo "# SKIP REBOOT"
echo "# starting the bitcoind.service .."
sudo systemctl start bitcoind
exit 0
fi
sleep 8
;;
CUSTOM)
sudo -u admin /home/admin/config.scripts/bitcoin.update.sh custom
whiptail \
--title " Bitcoin Core update " \
--yes-button "Reboot" \
--no-button "Skip Reboot" \
--yesno \
"OK Bitcoin Core update is done.
By default a reboot is advised.
" 9 40
if [ $? -eq 0 ]; then
clear
echo "# REBOOT .."
sudo /home/admin/config.scripts/blitz.shutdown.sh reboot
sleep 8
exit 1
else
echo "# SKIP REBOOT"
echo "# starting the bitcoind.service .."
sudo systemctl start bitcoind
exit 0
fi
sleep 8
;;
esac
}
# quick call by parameter
if [ "$1" == "github" ]; then
patch
patch all
exit 0
fi
@ -453,39 +571,56 @@ if [ "${lightning}" == "lnd" ] || [ "${lnd}" == "on" ]; then
fi
if [ "${lightning}" == "cl" ] || [ "${cl}" == "on" ]; then
OPTIONS+=(CL "Interim C-lightning Update Options")
OPTIONS+=(CL "Interim Core Lightning Update Options")
fi
if [ "${bos}" == "on" ]; then
OPTIONS+=(BOS "Update Balance of Satoshis")
fi
if [ "${ElectRS}" == "on" ]; then
OPTIONS+=(ELECTRS "Update Electrs")
fi
if [ "${RTL}" == "on" ]||[ "${cRTL}" == "on" ]; then
OPTIONS+=(RTL "Update RTL")
fi
if [ "${thunderhub}" == "on" ]; then
OPTIONS+=(THUB "Update ThunderHub")
fi
if [ "${lndg}" == "on" ]; then
OPTIONS+=(LNDG "Update LNDg")
fi
## Disabled for now until the base image has Python 3.10
if [ "${specter}" == "on" ]; then
OPTIONS+=(SPECTER "Update Specter Desktop")
fi
if [ "${BTCPayServer}" == "on" ]; then
OPTIONS+=(BTCPAY "Update BTCPayServer")
fi
if [ "${sphinxrelay}" == "on" ]; then
OPTIONS+=(SPHINX "Update Sphinx Server Relay")
fi
if [ "${pyblock}" == "on" ]; then
OPTIONS+=(PYBLOCK "Update PyBLOCK")
fi
if [ "${mempoolExplorer}" == "on" ]; then
OPTIONS+=(MEMPOOL "Update Mempool Explorer")
fi
if [ "${jam}" == "on" ]; then
OPTIONS+=(JAM "Update Jam (JoinMarket WebUI)")
fi
if [ "${runBehindTor}" == "on" ]; then
OPTIONS+=(TOR "Update Tor from the source code")
OPTIONS+=(TOR "Update Tor from the Torproject repo")
fi
CHOICE_HEIGHT=$(("${#OPTIONS[@]}/2+1"))
HEIGHT=$((CHOICE_HEIGHT+6))
HEIGHT=$((CHOICE_HEIGHT+6))
CHOICE=$(dialog --clear \
--backtitle "" \
--title " Update Options " \
@ -501,7 +636,7 @@ case $CHOICE in
;;
PATCH)
patchNotice
patch
patch all
;;
LND)
lnd
@ -515,22 +650,34 @@ case $CHOICE in
BOS)
/home/admin/config.scripts/bonus.bos.sh update
;;
ELECTRS)
/home/admin/config.scripts/bonus.electrs.sh update
;;
RTL)
/home/admin/config.scripts/bonus.rtl.sh update
;;
THUB)
/home/admin/config.scripts/bonus.thunderhub.sh update
;;
LNDG)
/home/admin/config.scripts/bonus.lndg.sh update
;;
SPECTER)
/home/admin/config.scripts/bonus.specter.sh update
;;
BTCPAY)
/home/admin/config.scripts/bonus.btcpayserver.sh update
;;
SPHINX)
/home/admin/config.scripts/bonus.sphinxrelay.sh update
;;
PYBLOCK)
/home/admin/config.scripts/bonus.pyblock.sh update
;;
TOR)
sudo /home/admin/config.scripts/internet.tor.sh update
sudo /home/admin/config.scripts/tor.network.sh update
;;
MEMPOOL)
/home/admin/config.scripts/bonus.mempool.sh update
/home/admin/config.scripts/bonus.mempool.sh update
;;
JAM)
/home/admin/config.scripts/bonus.jam.sh update
;;
esac

View File

@ -90,10 +90,14 @@ echo "******************************"
echo "Sweep all possible Funds"
echo "******************************"
# raise high focus on onchain wallet balance & pending for the next 15min
/home/admin/_cache.sh focus ln_${LNTYPE}_${chain}net_wallet_onchain_pending 0 900
/home/admin/_cache.sh focus ln_${LNTYPE}_${chain}net_wallet_onchain_balance 0 900
# execute command
if [ ${LNTYPE} = "cl" ];then
# withdraw destination satoshi [feerate] [minconf] [utxos]
command="$lightningcli_alias withdraw ${address} all slow"
command="$lightningcli_alias withdraw ${address} all"
elif [ ${LNTYPE} = "lnd" ];then
command="$lncli_alias sendcoins --sweepall --addr=${address} --conf_target=36"
fi
@ -104,9 +108,9 @@ echo
if [ ${#error} -gt 0 ]; then
echo "FAIL: $error"
echo
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "#################################"
echo "FAIL --> Was not able to send transaction (see error above)"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "#################################"
else
echo "Result: $result"
echo

View File

@ -67,6 +67,11 @@ else
echo "# OK - the chain is synced"
fi
# raise high focus on lightning channels next 1 hour
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_active 0 3600
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_inactive 0 3600
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_total 0 3600
echo "#####################################"
echo "# Closing All Channels (EXPERIMENTAL)"
echo "#####################################"

View File

@ -16,6 +16,9 @@ fi
source <(/home/admin/config.scripts/network.aliases.sh getvars $1 $2)
# raise high focus on lightning peers next 5min
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_peers 0 300
# let user enter a <pubkey>@host
l1="Enter the node pubkey address with host information:"
l2="example -----> 024ddf33[...]1f5f9f3@91.65.1.38:9735"
@ -134,9 +137,9 @@ if [ ${win} -eq 1 ]; then
echo
echo "What's next? --> Open a channel with that node."
else
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "FAIL"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "${info}"
fi

View File

@ -17,7 +17,6 @@ if [ ${#chain} -eq 0 ]; then
fi
source <(/home/admin/config.scripts/network.aliases.sh getvars $1 $2)
source <(/home/admin/config.scripts/network.aliases.sh getvars $LNTYPE ${chain}net)
# check if chain is in sync
@ -56,9 +55,9 @@ elif [ $LNTYPE = lnd ];then
fi
if [ ${openChannels} -eq 0 ]; then
echo
echo "!!!!!!!!!!!!!!!!!!!"
echo "#########"
echo "FAIL - You have NO ESTABLISHED CHANNELS .. open a channel first."
echo "!!!!!!!!!!!!!!!!!!!"
echo "#########"
sleep 3
exit 0
fi
@ -110,9 +109,9 @@ error=$(cat ${_error} 2>/dev/null)
#echo "error(${error})"
if [ ${#error} -gt 0 ]; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "FAIL"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "${error}"
else
if [ $LNTYPE = cl ];then
@ -121,12 +120,15 @@ else
rhash=$(echo "$result" | grep r_hash | cut -d '"' -f4)
payReq=$(echo "$result" | grep payment_request | cut -d '"' -f4)
fi
/home/admin/config.scripts/blitz.display.sh qr "${payReq}"
sudo /home/admin/config.scripts/blitz.display.sh qr "${payReq}"
if [ $(sudo dpkg-query -l | grep "ii qrencode" | wc -l) = 0 ]; then
sudo apt-get install qrencode -y > /dev/null
fi
# raise high focus on lightning channel balance next 5min
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_balance 0 300
echo
echo "********************"
echo "Here is your invoice"
@ -160,8 +162,8 @@ else
echo $result
echo
echo "OK the Invoice was paid - returning to menu."
/home/admin/config.scripts/blitz.display.sh hide
/home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/ok.png
sudo /home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh image /home/admin/raspiblitz/pictures/ok.png
sleep 2
break
fi
@ -180,7 +182,7 @@ else
done
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
fi
echo "Press ENTER to return to main menu."

View File

@ -27,9 +27,9 @@ elif [ $LNTYPE = lnd ];then
fi
if [ ${chainOutSync} -eq 1 ]; then
if [ $LNTYPE = cl ];then
echo "# FAIL PRECHECK - lncli getinfo shows 'synced_to_chain': false - wait until chain is sync "
echo "# FAIL PRECHECK - '$lightningcli_alias getinfo' blockheight is different from 'bitcoind getblockchaininfo' - wait until chain is sync "
else
echo "# FAIL PRECHECK - 'lightning-cli getinfo' blockheight is different from 'bitcoind getblockchaininfo' - wait until chain is sync "
echo "# FAIL PRECHECK - '$lncli_alias getinfo' shows 'synced_to_chain': false - wait until chain is sync "
fi
echo
echo "# PRESS ENTER to return to menu"
@ -69,9 +69,6 @@ fi
# prepare coin info
coininfo="Bitcoin"
if [ "$network" = "litecoin" ]; then
coininfo="Litecoin"
fi
if [ "$chain" = "test" ]; then
coininfo="TESTNET Bitcoin"
fi
@ -82,7 +79,11 @@ if [ "$chain" = "test" ]; then
fi
echo "generating QR code ... please wait"
/home/admin/config.scripts/blitz.display.sh qr "$network:${address}"
sudo /home/admin/config.scripts/blitz.display.sh qr "$network:${address}"
# raise high focus on onchain wallet balance & pending for the next 15min
/home/admin/_cache.sh focus ln_${LNTYPE}_${chain}net_wallet_onchain_pending 0 900
/home/admin/_cache.sh focus ln_${LNTYPE}_${chain}net_wallet_onchain_balance 0 900
# dialog with instructions while QR code is shown on LCD
whiptail --backtitle "Fund your onchain wallet" \
@ -97,7 +98,7 @@ if [ $? -eq 1 ]; then
fi
# clean up
/home/admin/config.scripts/blitz.display.sh hide
sudo /home/admin/config.scripts/blitz.display.sh hide
# follow up info
if [ $LNTYPE = cl ];then

View File

@ -33,9 +33,9 @@ if [ ${chainOutSync} -eq 1 ]; then
if [ $LNTYPE = cl ];then
echo "# FAIL PRECHECK - 'lightning-cli getinfo' blockheight is different from 'bitcoind getblockchaininfo' - wait until chain is sync "
elif [ $LNTYPE = lnd ];then
echo "# FAIL PRECHECK - lncli getinfo shows 'synced_to_chain': false - wait until chain is sync "
echo "# FAIL PRECHECK - lncli getinfo shows 'synced_to_chain': false - wait until chain is sync "
fi
echo
echo
echo "# PRESS ENTER to return to menu"
read key
exit 0
@ -50,7 +50,7 @@ if [ $LNTYPE = cl ];then
confirmedBalance=$((confirmedBalance+i))
done
elif [ $LNTYPE = lnd ];then
confirmedBalance=$($lncli_alias walletbalance | grep '"confirmed_balance"' | cut -d '"' -f4)
confirmedBalance=$($lncli_alias walletbalance | jq -r .confirmed_balance)
fi
if [ ${confirmedBalance} -eq 0 ]; then
@ -79,6 +79,11 @@ if [ ${numConnectedPeers} -eq 0 ]; then
exit 0
fi
# raise high focus on lightning channels next 1 hour
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_pending 0 3600
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_total 0 3600
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_active 0 3600
# let user pick a peer to open a channels with
OPTIONS=()
if [ $LNTYPE = cl ];then
@ -108,13 +113,13 @@ pubKey=$(dialog --clear \
clear
if [ ${#pubKey} -eq 0 ]; then
clear
echo
echo
echo "no channel selected - returning to menu ..."
sleep 4
exit 0
fi
# find out what is the minimum amount
# find out what is the minimum amount
# TODO find a better way - also consider dust and channel reserve
# details see here: https://github.com/btcontract/lnwallet/issues/52
minSat=20000
@ -186,9 +191,9 @@ error=$(cat ${_error})
#echo "error(${error})"
if [ ${#error} -gt 0 ]; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "FAIL"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "${error}"
else
echo "******************************"
@ -218,9 +223,6 @@ else
echo "http://mempoolhqx4isw62xs7abwphsq7ldayuidyx2v2oethdhhj6mlo2r6ad.onion/${chain}net/tx/${fundingTX}"
fi
fi
if [ "${network}" = "litecoin" ]; then
echo "https://live.blockcypher.com/ltc/tx/${fundingTX}/"
fi
fi
echo
echo "Press ENTER to return to main menu."

View File

@ -18,8 +18,6 @@ fi
source <(/home/admin/config.scripts/network.aliases.sh getvars $1 $2)
source <(/home/admin/config.scripts/network.aliases.sh getvars $LNTYPE ${chain}net)
# check if chain is in sync
if [ $LNTYPE = cl ];then
lncommand="${netprefix}lightning-cli"
@ -56,34 +54,26 @@ elif [ $LNTYPE = lnd ];then
fi
if [ ${openChannels} -eq 0 ]; then
echo
echo "!!!!!!!!!!!!!!!!!!!"
echo "#########"
echo "FAIL - You have NO ESTABLISHED CHANNELS .. open a channel first."
echo "!!!!!!!!!!!!!!!!!!!"
echo "#########"
sleep 3
echo
exit 0
fi
paymentRequestStart="???"
if [ "${network}" = "bitcoin" ]; then
if [ "${chain}" = "main" ]; then
paymentRequestStart="lnbc"
else
paymentRequestStart="lntb"
fi
elif [ "${network}" = "litecoin" ]; then
paymentRequestStart="lnltc"
if [ "${chain}" = "main" ]; then
paymentRequestStart="lnbc"
else
paymentRequestStart="lntb"
fi
testSite="???"
if [ "${network}" = "bitcoin" ]; then
if [ "${chain}" = "main" ]; then
testSite="https://satoshis.place"
else
testSite="https://starblocks.acinq.co/"
fi
elif [ "${network}" = "litecoin" ]; then
testSite="https://millionlitecoinhomepage.net"
if [ "${chain}" = "main" ]; then
testSite="https://satoshis.place"
else
testSite="https://starblocks.acinq.co/"
fi
# let user enter the invoice
@ -112,6 +102,9 @@ elif [ $LNTYPE = lnd ];then
command="$lncli_alias sendpayment --force --pay_req=${invoice}"
fi
# raise high focus on lightning channel balance next 5min
/home/admin/_cache.sh focus ln_${LNTYPE}_${CHAIN}_channels_balance 0 300
# info output
clear
echo "************************************************************"
@ -142,10 +135,10 @@ if [ ${resultIsError} -gt 0 ]; then
fi
if [ ${#error} -gt 0 ]; then
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "FAIL"
echo "try with a wallet app or the RTL WebGUI (see services)"
echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
echo "###############"
echo "${error}"
else
echo "${result}"

View File

@ -22,16 +22,16 @@ if IS_WIN32_ENV:
else:
sys.path.insert(1, '/home/admin/config.scripts')
from lndlibs import rpc_pb2 as ln
from lndlibs import lightning_pb2 as ln
try:
from lndlibs import rpc_pb2_grpc as lnrpc
from lndlibs import lightning_pb2_grpc as lnrpc
except ModuleNotFoundError as err:
log.error("ModuleNotFoundError - most likely an issue with incompatible Python3 import.\n"
"Please run the following two lines to fix this: \n"
"\n"
"sed -i -E '1 a from __future__ import absolute_import' "
"/home/admin/config.scripts/lndlibs/rpc_pb2_grpc.py\n"
"sed -i -E 's/^(import.*_pb2)/from . \\1/' /home/admin/config.scripts/lndlibs/rpc_pb2_grpc.py")
"/home/admin/config.scripts/lndlibs/lightning_pb2_grpc.py\n"
"sed -i -E 's/^(import.*_pb2)/from . \\1/' /home/admin/config.scripts/lndlibs/lightning_pb2_grpc.py")
sys.exit(1)
if not IS_WIN32_ENV:

View File

@ -154,6 +154,8 @@ class AppWindow(QMainWindow):
process.readyReadStandardOutput.connect(
lambda: log.info(str(process.readAllStandardOutput().data().decode('utf-8'))))
# test by connecting to the raspiblitz 'ssh -X admin@LAN_IP' and run:
# uxterm -fa Terminus -fs 9 -fn fixed +sb -hold -e 'bash -c "sudo -u pi /home/admin/00infoLCD.sh --pause 0"'
process.start('uxterm', ['-fa', 'Terminus', '-fs', '9', '-fn', 'fixed', '-into', str(int(self.ui.widget.winId())),
'+sb', '-hold', '-e', 'bash -c \"/home/admin/00infoLCD.sh --pause {}\"'.format(pause)])

View File

@ -682,7 +682,7 @@ adjectives = [
"picky",
"pied",
"piggy",
"pilar",
"pillar",
"pink",
"plain",
"plane",

View File

@ -648,7 +648,7 @@ piano
picky
pied
piggy
pilar
pillar
pink
plain
plane

View File

@ -39,7 +39,7 @@ Have a look at the [Mini-Tutorial](tutorial.md)
## Release workflow
* `make build-ui` - in case there were any changes to the *.ui or *.qrc files
* make sure you have all changes added and commited (consider re-basing)
* make sure you have all changes added and committed (consider re-basing)
* update the version in `blitztui/version.py`
* update the `CHANGELOG.md` file (reflect the new version!)
* `git add CHANGELOG.md blitztui/version.py`

View File

@ -25,7 +25,7 @@ Your screen should look similar to this:
* (3) this should be reflected in the preview Window
* (4) save your changes
The next step is to transfer (use scp or WinSCP) the updated `home.ui` to the RaspiBlitz.
The next step is to transfer (use sftp or WinSCP) the updated `home.ui` to the RaspiBlitz.
Login to your RaspiBlitz as **admin** (Password A) and change the directory to `~/raspiblitz/home.admin/BlitzTUI`.

View File

@ -4,7 +4,7 @@ extraParameter="$1"
forceParameter="$2"
if [ "${extraParameter}" = "-all" ]; then
echo "# !!!! This will DELETE ALL DATA & POSSIBLE FUNDS from the HDD !!!!"
echo "## This will DELETE ALL DATA & POSSIBLE FUNDS from the HDD ##"
echo "# Press ENTER to really continue - CTRL+c to CANCEL (last chance)"
read key
@ -17,7 +17,6 @@ if [ "${extraParameter}" = "-all" ]; then
sudo systemctl stop lnd.service 2>/dev/null
echo "# - blockchain"
sudo systemctl stop bitcoind.service 2>/dev/null
sudo systemctl stop litecoind.service 2>/dev/null
# delete plain all on HDD
echo "# cleaning HDD ... (please wait)"
@ -38,7 +37,6 @@ elif [ "${extraParameter}" = "-blockchain" ]; then
sudo systemctl stop lnd.service 2>/dev/null
echo "# - blockchain"
sudo systemctl stop bitcoind.service 2>/dev/null
sudo systemctl stop litecoind.service 2>/dev/null
echo ""
echo "# DELETING ..."
@ -50,19 +48,11 @@ elif [ "${extraParameter}" = "-blockchain" ]; then
sudo mv /mnt/hdd/wallet.dat /mnt/hdd/bitcoin/wallet.dat 2>/dev/null
sudo chown -R bitcoin:bitcoin /mnt/hdd/bitcoin
# delete litecoin blockchain (but keep config & wallet)
sudo mv /mnt/hdd/litecoin/litecoin.conf /mnt/hdd/litecoin.conf 2>/dev/null
sudo mv /mnt/hdd/litecoin/wallet.dat /mnt/hdd/wallet.dat 2>/dev/null
sudo rm -f -r /mnt/hdd/litecoin/*
sudo mv /mnt/hdd/litecoin.conf /mnt/hdd/litecoin/litecoin.conf 2>/dev/null
sudo mv /mnt/hdd/wallet.dat /mnt/hdd/litecoin/wallet.dat 2>/dev/null
sudo chown -R bitcoin:bitcoin /mnt/hdd/litecoin
echo "OK Blockchain data deleted - you may want now run: /home/admin/98repairBlockchain.sh"
else
echo "!!!! This will DELETE your personal data & POSSIBLE FUNDS from the HDD !!!!"
echo "## This will DELETE your personal data & POSSIBLE FUNDS from the HDD ##"
echo "--> It will keep Blockchain data - so you dont have to download/copy again."
echo "Press ENTER to really continue - CTRL+c to CANCEL (last chance)"
read key
@ -80,7 +70,6 @@ else
echo "- blockchain"
sudo systemctl stop bitcoind.service 2>/dev/null
sudo systemctl stop litecoind.service 2>/dev/null
# just delete selective
echo "selective delete ... (please wait)"
@ -95,7 +84,7 @@ else
sudo rm -f /mnt/hdd/bitcoin/testnet3/.* 2>/dev/null
sudo rm -f -r /mnt/hdd/bitcoin/testnet/database
# litecoin mainnet (clean working files)
# litecoin mainnet (clean working files) -- keep for legacy clean up reasons
sudo rm -f /mnt/hdd/litecoin/* 2>/dev/null
sudo rm -f /mnt/hdd/litecoin/.* 2>/dev/null
sudo rm -f -r /mnt/hdd/litecoin/database

View File

@ -1,319 +0,0 @@
#!/bin/bash
# command info
if [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
echo "# Turns the RaspiBlitz into HDD CopyStation Mode"
echo "# lightning is deactivated during CopyStationMode"
echo "# reboot RaspiBlitz to set back to normal mode"
exit 1
fi
####### CONFIG #############
# where to find the BITCOIN data directory (no trailing /)
pathBitcoinBlockchain="/mnt/hdd/bitcoin"
# where to find the LITECOIN data directory (no trailing /)
pathLitecoinBlockchain="/mnt/hdd/litecoin"
# where to find the RaspiBlitz HDD template directory (no trailing /)
pathTemplateHDD="/mnt/hdd/app-storage/templateHDD"
# 0 = ask before formatting/init new HDD
# 1 = auto-formatting every new HDD that needs init
nointeraction=1
# override values if XXcopyStation.conf files exists
# use when you run this outside RaspiBlitz
# - clean Ubuntu install
# - install bitcoind as systemd service
# - disable automount: https://askubuntu.com/questions/89244/how-to-disable-automount-in-nautiluss-preferences#102601
# - clone the github to get script (or download)
# - set your pathes bitcoin/template in conf file
source ./XXcopyStation.conf 2>/dev/null
# -- start script with parameter "-foreground"
####### SCRIPT #############
# check sudo
if [ "$EUID" -ne 0 ]; then
echo "Please run as root (with sudo)"
exit 1
fi
# get HDD info
source <(sudo /home/admin/config.scripts/blitz.datadrive.sh status)
# check if HDD is mounted
if [ ${isMounted} -eq 0 ]; then
echo "error='HDD is not mounted'"
exit 1
fi
# check if HDD is big enough
if [ ${hddGigaBytes} -lt 800 ]; then
echo "# To run copy station (+/- 1TB needed)"
echo "error='HDD is too small'"
exit 1
fi
# check that path information is valid
if [ -d "$pathBitcoinBlockchain" ]; then
echo "# OK found $pathBitcoinBlockchain"
else
echo "# FAIL path of 'pathBitcoinBlockchain' does not exists: ${pathBitcoinBlockchain}"
echo "error='pathBitcoinBlockchain nit found'"
exit 1
fi
# make sure that its running in screen
# call with '-foreground' to prevent running in screen
if [ "$1" != "-foreground" ]; then
screenPID=$(screen -ls | grep "copystation" | cut -d "." -f1 | xargs)
if [ ${#screenPID} -eq 0 ]; then
# start copystation in screen
echo "# starting copystation screen session"
screen -S copystation -dm /home/admin/XXcopyStation.sh -foreground
screen -d -r
exit 0
else
echo "# changing into running copystation screen session"
screen -d -r
exit 0
fi
fi
clear
echo "# ******************************"
echo "# RASPIBLITZ COPYSTATION SCRIPT"
echo "# ******************************"
echo
echo "*** CHECKING CONFIG"
# check that path information is valid
if [ -d "$pathTemplateHDD" ]; then
echo "# OK found $pathTemplateHDD"
else
echo "# Creating: ${pathTemplateHDD}"
mkdir ${pathTemplateHDD}
chmod 777 ${pathTemplateHDD}
fi
# make sure that lnd is stopped (if running)
systemctl stop lnd 2>/dev/null
systemctl stop background 2>/dev/null
#if [ "${nointeraction}" == "1" ]; then
# echo "setting RaspiBlitz LCD info"
# sudo sed -i "s/^state=.*/state=copystation/g" /home/admin/raspiblitz.info 2>/dev/null
# sudo sed -i "s/^message=.*/message='Disconnect target HDDs!'/g" /home/admin/raspiblitz.info 2>/dev/null
# echo "Disconnect target HDDs! .. 30sec until continue."
# sleep 30
#else
# echo
# echo "*** INIT HDD SCAN"
# echo "Please make sure that no HDDs that you want to sync later to are not connected now."
# echo "PRESS ENTER when ready."
# read key
#fi
# finding system drives (the drives that should not be synced to)
echo "# OK - the following drives detected as the system drive: $datadisk"
echo
if [ "${nointeraction}" == "1" ]; then
sudo sed -i "s/^message=.*/message='Connect target HDDs ..'/g" /home/admin/raspiblitz.info 2>/dev/null
sleep 5
fi
# BASIC IDEA:
# 1. get fresh data from bitcoind --> template data
# 2. detect HDDs
# 3. sync HDDs with template data
# repeat
echo
echo "*** RUNNING ***"
lastBlockchainUpdateTimestamp=1
while :
do
################################################
# 1. get fresh data from bitcoind for template data
# only execute every 30min
nowTimestamp=$(date +%s)
secondsDiff=$(echo "${nowTimestamp}-${lastBlockchainUpdateTimestamp}" | bc)
echo "# seconds since last update from bitcoind: ${secondsDiff}"
echo
if [ ${secondsDiff} -gt 3000 ]; then
echo "******************************"
echo "Bitcoin Blockchain Update"
echo "******************************"
# stop blockchains
echo "# Stopping Blockchain ..."
systemctl stop bitcoind 2>/dev/null
systemctl stop litecoind 2>/dev/null
sleep 10
# sync bitcoin
echo "# Syncing Bitcoin to template folder ..."
sudo sed -i "s/^message=.*/message='Updating Template: Bitcoin'/g" /home/admin/raspiblitz.info 2>/dev/null
# make sure the bitcoin directory in template folder exists
if [ ! -d "$pathTemplateHDD/bitcoin" ]; then
echo "# creating the bitcoin subfolder in the template folder"
mkdir ${pathTemplateHDD}/bitcoin
chmod 777 ${pathTemplateHDD}/bitcoin
fi
# do the sync to the template folder for BITCOIN
rsync -a --info=progress2 --delete ${pathBitcoinBlockchain}/chainstate ${pathBitcoinBlockchain}/blocks ${pathTemplateHDD}/bitcoin
litecoindirsize=$(sudo du -s -b /mnt/hdd/litecoin | awk '$1=$1' | cut -d " " -f1)
if [ -d "${pathLitecoinBlockchain}" ] && [ ${litecoindirsize} -gt 1000000000 ]; then
# sync litecoin
echo "# Syncing Litecoin ..."
echo "# creating the litecoin subfolder in the template folder"
mkdir ${pathTemplateHDD}/litecoin 2>/dev/null
chmod 777 ${pathTemplateHDD}/litecoin 2>/dev/null
sudo sed -i "s/^message=.*/message='Updating Template: Litecoin'/g" /home/admin/raspiblitz.info 2>/dev/null
# do the sync to the template folder for LITECOIN
rsync -a --info=progress2 --delete ${pathLitecoinBlockchain}/chainstate ${pathLitecoinBlockchain}/blocks ${pathTemplateHDD}/litecoin
fi
# restart bitcoind (to let further setup while syncing HDDs)
echo "# Restarting Blockchain ..."
systemctl start bitcoind 2>/dev/null
systemctl start litecoind 2>/dev/null
# update timer
lastBlockchainUpdateTimestamp=$(date +%s)
fi
################################################
# 2. detect connected HDDs and loop thru them
echo
echo "**************************************"
echo "SYNCING TEMPLATE -> CONNECTED HDD/SSDs"
echo "**************************************"
echo "NOTE: Only use to prepare fresh HDDs"
sleep 4
echo "" > ./.syncinfo.tmp
lsblk -o NAME | grep "^[s|v]d" | while read -r detectedDrive ; do
isSystemDrive=$(echo "${datadisk}" | grep -c "${detectedDrive}")
if [ ${isSystemDrive} -eq 0 ]; then
# check if drives 1st partition is named BLOCKCHAIN & in EXT4 format
isNamedBlockchain=$(lsblk -o NAME,FSTYPE,LABEL | grep "${detectedDrive}" | grep -c "BLOCKCHAIN")
isFormatExt4=$(lsblk -o NAME,FSTYPE,LABEL | grep "${detectedDrive}" | grep -c "ext4")
# init a fresh device
if [ ${isNamedBlockchain} -eq 0 ] || [ ${isFormatExt4} -eq 0 ]; then
echo "*** NEW EMPTY HDD FOUND ***"
echo "Device: ${detectedDrive}"
echo "isNamedBlockchain: ${isNamedBlockchain}"
echo "isFormatExt4:" ${isFormatExt4}
# check if size is OK
size=$(lsblk -o NAME,SIZE -b | grep "^${detectedDrive}" | awk '$1=$1' | cut -d " " -f 2)
echo "size: ${size}"
if [ ${size} -lt 250000000000 ]; then
whiptail --title "FAIL" --msgbox "
THE DEVICE IS TOO SMALL <250GB
Please remove device and PRESS ENTER
" 9 46
else
# if config value "nointeraction=1" default to format
if [ "${nointeraction}" != "1" ]; then
whiptail --title "Format HDD" --yes-button "Format" --no-button "Cancel" --yesno "
Found new HDD. Do you want to FORMAT now?
Label of device with: ${detectedDrive}
" 10 54
choice=$?
else
choice=0
sudo sed -i "s/^message=.*/message='Formatting new HDD: ${formatPartition}'/g" /home/admin/raspiblitz.info 2>/dev/null
fi
# on cancel
if [ "${choice}" != "0" ]; then
whiptail --title "Format HDD" --msgbox "
OK NO FORMAT - Please remove device now.
" 8 46
exit 1
fi
# format the HDD
echo "Starting Formatting of device ${detectedDrive} ..."
sudo /home/admin/config.scripts/blitz.datadrive.sh format ext4 ${detectedDrive}
fi
fi # end init new HDD
################################################
# 3. sync HDD with template data
partition=$(lsblk -o NAME,FSTYPE,LABEL | grep "${detectedDrive}" | grep "BLOCKCHAIN" | cut -d ' ' -f 1 | tr -cd "[:alnum:]")
if [ ${#partition} -gt 0 ]; then
# temp mount device
echo "mounting: ${partition}"
mkdir /mnt/hdd2 2>/dev/null
sudo mount -t ext4 /dev/${partition} /mnt/hdd2
# rsync device
mountOK=$(lsblk -o NAME,MOUNTPOINT | grep "${detectedDrive}" | grep -c "/mnt/hdd2")
if [ ${mountOK} -eq 1 ]; then
sudo sed -i "s/^message=.*/message='Syncing Template -> ${partition}'/g" /home/admin/raspiblitz.info 2>/dev/null
rsync -a --info=progress2 --delete ${pathTemplateHDD}/* /mnt/hdd2
sudo chmod -R 777 /mnt/hdd2
rm -r /mnt/hdd2/lost+found 2>/dev/null
echo "${partition} " >> ./.syncinfo.tmp
else
echo "# FAIL: was not able to mount --> ${partition}"
fi
# unmount device
sudo umount -l /mnt/hdd2
fi
fi
done
clear
echo "**** SYNC LOOP DONE ****"
synced=$(cat ./.syncinfo.tmp | tr '\r\n' ' ')
echo "HDDs ready synced: ${synced}"
echo "*************************"
echo "Its safe to disconnect/remove HDDs now."
echo "Or connect a new HDD/SSD for syncing."
echo "To stop copystation script: CTRL+c"
echo ""
sudo sed -i "s/^message=.*/message='Ready HDDs: ${synced}'/g" /home/admin/raspiblitz.info 2>/dev/null
sleep 25
clear
echo "starting new sync loop"
sleep 5
done

Some files were not shown because too many files have changed in this diff Show More