From 41f5d4d3b42d9bf1dfae8227ed301cf31c8458cb Mon Sep 17 00:00:00 2001 From: openoms Date: Tue, 29 Jun 2021 17:49:57 +0100 Subject: [PATCH] use symlink to cln-plugins-enabled for all plugins --- .../config.scripts/cln-plugin.backup.sh | 9 ++- .../config.scripts/cln-plugin.sparko.sh | 80 ++++++++----------- 2 files changed, 38 insertions(+), 51 deletions(-) diff --git a/home.admin/config.scripts/cln-plugin.backup.sh b/home.admin/config.scripts/cln-plugin.backup.sh index 92fa50361..de237399b 100644 --- a/home.admin/config.scripts/cln-plugin.backup.sh +++ b/home.admin/config.scripts/cln-plugin.backup.sh @@ -33,8 +33,9 @@ function install() { sudo -u bitcoin pip install --user -r ${plugindir}/${plugin}/requirements.txt sudo chmod +x ${plugindir}/${plugin}/${plugin}.py # symlink to the default plugin dir - if [ ! -L /home/bitcoin/cln-plugins-enabled/backup ];then - sudo ln -s /home/bitcoin/cln-plugins-available/plugins/backup /home/bitcoin/cln-plugins-enabled/ + if [ ! -L /home/bitcoin/${netprefix}cln-plugins-enabled/backup ];then + sudo ln -s /home/bitcoin/cln-plugins-available/plugins/backup \ + /home/bitcoin/${netprefix}cln-plugins-enabled/ fi fi } @@ -46,7 +47,7 @@ if [ $1 = on ];then # initialize if [ ! -f /home/bitcoin/.lightning/${CLNETWORK}/backup.lock ];then # https://github.com/lightningd/plugins/tree/master/backup#setup - /home/bitcoin/cln-plugins-enabled/backup/backup-cli init\ + /home/bitcoin/${netprefix}cln-plugins-enabled/backup/backup-cli init\ --lightning-dir /home/bitcoin/.lightning/${CLNETWORK} \ file:///home/bitcoin/${netprefix}lightningd.sqlite3.backup fi @@ -74,7 +75,7 @@ elif [ $1 = restore ];then fi # restore - /home/bitcoin/cln-plugins-enabled/backup/backup-cli restore \ + /home/bitcoin/${netprefix}cln-plugins-enabled/backup/backup-cli restore \ file:///home/bitcoin/${netprefix}lightningd.sqlite3.backup \ /home/bitcoin/.lightning/${CLNETWORK}/lightningd.sqlite3 diff --git a/home.admin/config.scripts/cln-plugin.sparko.sh b/home.admin/config.scripts/cln-plugin.sparko.sh index 8ef6cef10..b6866ece1 100644 --- a/home.admin/config.scripts/cln-plugin.sparko.sh +++ b/home.admin/config.scripts/cln-plugin.sparko.sh @@ -2,7 +2,7 @@ # explanation on paths https://github.com/ElementsProject/lightning/issues/4223 # built-in path dir: /usr/local/libexec/c-lightning/plugins/ -# added --plugin-dir=/home/bitcoin/cln-plugins-enabled +# added --plugin-dir=/home/bitcoin/${netprefix}cln-plugins-enabled SPARKOVERSION="v2.7" @@ -17,23 +17,8 @@ if [ $# -lt 2 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ];then exit 1 fi -# CHAIN is signet | testnet | mainnet -CHAIN=$2 - -# prefix for parallel services -if [ ${CHAIN} = testnet ];then - netprefix="t" - clnetwork="testnet" - portprefix=1 -elif [ ${CHAIN} = signet ];then - netprefix="s" - clnetwork="signet" - portprefix=3 -elif [ ${CHAIN} = mainnet ];then - netprefix="" - clnetwork="bitcoin" - portprefix="" -fi +# source <(/home/admin/config.scripts/network.aliases.sh getvars cln ) +source <(/home/admin/config.scripts/network.aliases.sh getvars cln $2) # show info menu if [ "$1" = "menu" ]; then @@ -106,12 +91,19 @@ if [ $1 = on ];then DISTRO="linux_amd64" fi - sudo -u bitcoin mkdir /home/bitcoin/cln-plugins-enabled - # download binary - sudo -u bitcoin wget https://github.com/fiatjaf/sparko/releases/download/${SPARKOVERSION}/sparko_${DISTRO}\ - -O /home/bitcoin/cln-plugins-enabled/sparko || exit 1 - # make executable - sudo chmod +x /home/bitcoin/cln-plugins-enabled/sparko + if [ ! -f /home/bitcoin/cln-plugins-available/sparko ];then + sudo -u bitcoin mkdir /home/bitcoin/cln-plugins-available + # download binary + sudo -u bitcoin wget https://github.com/fiatjaf/sparko/releases/download/${SPARKOVERSION}/sparko_${DISTRO}\ + -O /home/bitcoin/${netprefix}cln-plugins-available/sparko || exit 1 + # make executable + sudo chmod +x /home/bitcoin/cln-plugins-available/sparko + fi + + if [ ! -L /home/bitcoin/${netprefix}cln-plugins-enabled/sparko ];then + sudo ln -s /home/bitcoin/cln-plugins-available/sparko \ + /home/bitcoin/${netprefix}cln-plugins-enabled + fi if [ ! -f /home/bitcoin/.lightning/sparko-tls/key.pem ];then # create a self signed cert https://github.com/fiatjaf/sparko#how-to-use @@ -124,6 +116,9 @@ if [ $1 = on ];then /home/bitcoin/.lightning/sparko-tls/cert.pem fi + ########## + # Config # + ########## if ! grep -Eq "^sparko" /home/bitcoin/.lightning/${netprefix}config;then echo "# Editing /home/bitcoin/.lightning/${netprefix}config" echo "# See: https://github.com/fiatjaf/sparko#how-to-use" @@ -144,17 +139,10 @@ sparko-keys=${masterkeythatcandoeverything}; ${secretaccesskeythatcanreadstuff}: echo "# Sparko is already configured in the /home/bitcoin/.lightning/${netprefix}config" fi - echo "# Editing /etc/systemd/system/${netprefix}lightningd.service" - sudo sed -i "s#^ExecStart=.*#ExecStart=/usr/local/bin/lightningd\ - --conf=/home/bitcoin/.lightning/${netprefix}config\ - --plugin=/home/bitcoin/cln-plugins-enabled/sparko#g"\ - /etc/systemd/system/${netprefix}lightningd.service - - sudo systemctl daemon-reload - source /home/admin/raspiblitz.info - if [ "${state}" == "ready" ]; then - sudo systemctl restart ${netprefix}lightningd - fi + ################### + # Systemd service # + ################### + /home/admin/config.scripts/cln.install-service.sh $CHAIN echo "# Allowing port ${portprefix}9000 through the firewall" sudo ufw allow "${portprefix}9000" comment "${netprefix}sparko" @@ -167,38 +155,36 @@ sparko-keys=${masterkeythatcandoeverything}; ${secretaccesskeythatcanreadstuff}: sleep 5 # show some logs - sudo tail -n100 /home/bitcoin/.lightning/${clnetwork}/cl.log | grep sparko + sudo tail -n100 /home/bitcoin/.lightning/${CLNETWORK}/cl.log | grep sparko netstat -tulpn | grep "${portprefix}9000" echo "# Sparko was installed" echo "# Monitor with:" echo "sudo journalctl | grep sparko | tail -n5" - echo "sudo tail -n 100 -f /home/bitcoin/.lightning/${clnetwork}/cl.log | grep sparko" + echo "sudo tail -n 100 -f /home/bitcoin/.lightning/${CLNETWORK}/cl.log | grep sparko" fi if [ $1 = off ];then + # delete symlink + sudo rm -rf /home/bitcoin/${netprefix}cln-plugins-enabled/sparko + echo "# Editing /home/bitcoin/.lightning/${netprefix}config" sudo sed -i "/^sparko/d" /home/bitcoin/.lightning/${netprefix}config - echo "# Editing /etc/systemd/system/${netprefix}lightningd.service" - sudo sed -i "s#^ExecStart=*#ExecStart=/usr/local/bin/lightningd\ - --conf=/home/bitcoin/.lightning/${netprefix}config#"\ - /etc/systemd/system/${netprefix}lightningd.service - sudo systemctl daemon-reload - source /home/admin/raspiblitz.info - if [ "${state}" == "ready" ]; then - sudo systemctl restart ${netprefix}lightningd + if [ -f /etc/systemd/system/multi-user.target.wants/slightningd.service ];then + /home/admin/config.scripts/cln.install-service.sh $CHAIN fi + echo "# Deny port ${portprefix}9000 through the firewall" sudo ufw deny "${portprefix}9000" /home/admin/config.scripts/internet.hiddenservice.sh off ${netprefix}sparko - + # purge if [ "$(echo "$@" | grep -c purge)" -gt 0 ];then echo "# Delete plugin" - sudo rm /home/bitcoin/cln-plugins-enabled/${netprefix}sparko + sudo rm -rf /home/bitcoin/cln-plugins-available/sparko fi # setting value in raspi blitz config sudo sed -i "s/^${netprefix}sparko=.*/${netprefix}sparko=off/g" /mnt/hdd/raspiblitz.conf