From 986ee9a0deb04cee45c632b432b18cb862ac2dd5 Mon Sep 17 00:00:00 2001 From: nicedevil007 <17103076+nicedevil007@users.noreply.github.com> Date: Sun, 9 Apr 2023 18:58:39 +0200 Subject: [PATCH 1/6] now with just 2 files and no old stuff from month ago --- ct/alpine-vaultwarden.sh | 20 ++++++++++++++++++-- install/alpine-vaultwarden-install.sh | 15 ++++++++++++++- 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 45ea5390d0..84e27a8cfc 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -59,7 +59,7 @@ function update_script() { CHOICE=$( whiptail --title "SUPPORT" --menu "Select option" 11 58 2 \ "1" "Update Vaultwarden" \ - "2" "Show Admin Token" 3>&2 2>&1 1>&3 + "2" "Reset ADMIN_TOKEN" 3>&2 2>&1 1>&3 ) exit_status=$? if [ $exit_status == 1 ]; then @@ -73,7 +73,22 @@ function update_script() { exit ;; 2) - whiptail --title "ADMIN TOKEN" --msgbox "$(cat /etc/conf.d/vaultwarden | grep ADMIN_TOKEN | awk '{print substr($2, 13) }')" 7 68 + if NEWTOKEN=$(whiptail --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then + if [[ -z "$NEWTOKEN" ]]; then exit-script; fi + ADMINTOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) + if [[ -f /var/lib/vaultwarden/config.json ]]; then + sed -i '/admin_token/d' /var/lib/vaultwarden/config.json + sed -i "2i\\ \"admin_token\": \"$ADMINTOKEN\"" /var/lib/vaultwarden/config.json + fi + fi + cat </etc/conf.d/vaultwarden +export DATA_FOLDER=/var/lib/vaultwarden +export WEB_VAULT_FOLDER=/var/lib/vaultwarden/web-vault +export WEB_VAULT_ENABLED=true +export ADMIN_TOKEN='$ADMINTOKEN' +export ROCKET_ADDRESS=0.0.0.0 +EOF + rc-service vaultwarden restart clear exit ;; @@ -88,3 +103,4 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. ${BL}http://${IP}:8000${CL} \n" +03713361530 diff --git a/install/alpine-vaultwarden-install.sh b/install/alpine-vaultwarden-install.sh index 6c6f90a555..31aef24ece 100644 --- a/install/alpine-vaultwarden-install.sh +++ b/install/alpine-vaultwarden-install.sh @@ -20,15 +20,28 @@ $STD apk add openssl $STD apk add openssh $STD apk add nano $STD apk add mc +$STD apk add argon2 msg_ok "Installed Dependencies" msg_info "Installing Alpine-Vaultwarden" $STD apk add vaultwarden +ADMINTOKEN='' +if NEWTOKEN=$(whiptail --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then + if [[ ! -z "$NEWTOKEN" ]]; then + ADMINTOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) + else + clear + echo -e "⚠ User didn't setup ADMIN_TOKEN, admin panel is disabled! \n" + fi +else + clear + echo -e "⚠ User didn't setup ADMIN_TOKEN, admin panel is disabled! \n" +fi cat </etc/conf.d/vaultwarden export DATA_FOLDER=/var/lib/vaultwarden export WEB_VAULT_FOLDER=/var/lib/vaultwarden/web-vault export WEB_VAULT_ENABLED=true -export ADMIN_TOKEN=$(openssl rand -base64 48) +export ADMIN_TOKEN='$ADMINTOKEN' export ROCKET_ADDRESS=0.0.0.0 EOF $STD rc-service vaultwarden start From 9a05da074ff88931acd6b004070a6849076c5c62 Mon Sep 17 00:00:00 2001 From: nicedevil007 <17103076+nicedevil007@users.noreply.github.com> Date: Sun, 9 Apr 2023 19:17:06 +0200 Subject: [PATCH 2/6] where did that number come from o_O got rid of it --- ct/alpine-vaultwarden.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 84e27a8cfc..07430e5afc 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -103,4 +103,3 @@ description msg_ok "Completed Successfully!\n" echo -e "${APP} should be reachable by going to the following URL. ${BL}http://${IP}:8000${CL} \n" -03713361530 From da22fd4115650478e8c0ef7fbdabba05e1b1a238 Mon Sep 17 00:00:00 2001 From: nicedevil007 <17103076+nicedevil007@users.noreply.github.com> Date: Sun, 9 Apr 2023 21:49:22 +0200 Subject: [PATCH 3/6] removed Admintoken on INSTALL also fixed the missing "," after the ADMINTOKEN line added a check if argon2 is installed or not during update --- ct/alpine-vaultwarden.sh | 7 +++++-- install/alpine-vaultwarden-install.sh | 15 +-------------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 07430e5afc..1ccb87b25a 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -55,6 +55,9 @@ function update_script() { if ! apk -e info newt >/dev/null 2>&1; then apk add -q newt fi + if ! apk -e info argon2 >/dev/null 2>&1; then + apk add -q argon2 + fi while true; do CHOICE=$( whiptail --title "SUPPORT" --menu "Select option" 11 58 2 \ @@ -74,11 +77,11 @@ function update_script() { ;; 2) if NEWTOKEN=$(whiptail --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then - if [[ -z "$NEWTOKEN" ]]; then exit-script; fi + if [[ -z "$NEWTOKEN" ]]; then exit-script; fi ADMINTOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) if [[ -f /var/lib/vaultwarden/config.json ]]; then sed -i '/admin_token/d' /var/lib/vaultwarden/config.json - sed -i "2i\\ \"admin_token\": \"$ADMINTOKEN\"" /var/lib/vaultwarden/config.json + sed -i "2i\\ \"admin_token\": \"$ADMINTOKEN\"," /var/lib/vaultwarden/config.json fi fi cat </etc/conf.d/vaultwarden diff --git a/install/alpine-vaultwarden-install.sh b/install/alpine-vaultwarden-install.sh index 31aef24ece..e7fc39d769 100644 --- a/install/alpine-vaultwarden-install.sh +++ b/install/alpine-vaultwarden-install.sh @@ -25,23 +25,10 @@ msg_ok "Installed Dependencies" msg_info "Installing Alpine-Vaultwarden" $STD apk add vaultwarden -ADMINTOKEN='' -if NEWTOKEN=$(whiptail --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then - if [[ ! -z "$NEWTOKEN" ]]; then - ADMINTOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) - else - clear - echo -e "⚠ User didn't setup ADMIN_TOKEN, admin panel is disabled! \n" - fi -else - clear - echo -e "⚠ User didn't setup ADMIN_TOKEN, admin panel is disabled! \n" -fi -cat </etc/conf.d/vaultwarden export DATA_FOLDER=/var/lib/vaultwarden export WEB_VAULT_FOLDER=/var/lib/vaultwarden/web-vault export WEB_VAULT_ENABLED=true -export ADMIN_TOKEN='$ADMINTOKEN' +export ADMIN_TOKEN='' export ROCKET_ADDRESS=0.0.0.0 EOF $STD rc-service vaultwarden start From 1803ef91795699a1543d33ffefff8c2bdfe7ff58 Mon Sep 17 00:00:00 2001 From: nicedevil007 <17103076+nicedevil007@users.noreply.github.com> Date: Sun, 9 Apr 2023 22:02:39 +0200 Subject: [PATCH 4/6] 1 line too much :D --- install/alpine-vaultwarden-install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/install/alpine-vaultwarden-install.sh b/install/alpine-vaultwarden-install.sh index e7fc39d769..f048745bdd 100644 --- a/install/alpine-vaultwarden-install.sh +++ b/install/alpine-vaultwarden-install.sh @@ -25,6 +25,7 @@ msg_ok "Installed Dependencies" msg_info "Installing Alpine-Vaultwarden" $STD apk add vaultwarden +cat </etc/conf.d/vaultwarden export DATA_FOLDER=/var/lib/vaultwarden export WEB_VAULT_FOLDER=/var/lib/vaultwarden/web-vault export WEB_VAULT_ENABLED=true From 8df374d80d894f0c1e2814811d31f016f93e4052 Mon Sep 17 00:00:00 2001 From: nicedevil007 <17103076+nicedevil007@users.noreply.github.com> Date: Sun, 9 Apr 2023 22:20:16 +0200 Subject: [PATCH 5/6] much cleaner we don't need to overwrite the other config variables inside the vaultwarden file --- ct/alpine-vaultwarden.sh | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 1ccb87b25a..2f3e9198a1 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -82,15 +82,11 @@ function update_script() { if [[ -f /var/lib/vaultwarden/config.json ]]; then sed -i '/admin_token/d' /var/lib/vaultwarden/config.json sed -i "2i\\ \"admin_token\": \"$ADMINTOKEN\"," /var/lib/vaultwarden/config.json + else + sed -i '/ADMIN_TOKEN/d' /etc/conf.d/vaultwarden + sed -i "4i\export ADMIN_TOKEN=\'$ADMINTOKEN\'" /etc/conf.d/vaultwarden fi fi - cat </etc/conf.d/vaultwarden -export DATA_FOLDER=/var/lib/vaultwarden -export WEB_VAULT_FOLDER=/var/lib/vaultwarden/web-vault -export WEB_VAULT_ENABLED=true -export ADMIN_TOKEN='$ADMINTOKEN' -export ROCKET_ADDRESS=0.0.0.0 -EOF rc-service vaultwarden restart clear exit From af7b8e66e72884b7d1e0878d9198d72f1f495047 Mon Sep 17 00:00:00 2001 From: nicedevil007 <17103076+nicedevil007@users.noreply.github.com> Date: Mon, 10 Apr 2023 09:32:55 +0200 Subject: [PATCH 6/6] sed syntax --- ct/alpine-vaultwarden.sh | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/ct/alpine-vaultwarden.sh b/ct/alpine-vaultwarden.sh index 2f3e9198a1..3783d63341 100644 --- a/ct/alpine-vaultwarden.sh +++ b/ct/alpine-vaultwarden.sh @@ -55,9 +55,6 @@ function update_script() { if ! apk -e info newt >/dev/null 2>&1; then apk add -q newt fi - if ! apk -e info argon2 >/dev/null 2>&1; then - apk add -q argon2 - fi while true; do CHOICE=$( whiptail --title "SUPPORT" --menu "Select option" 11 58 2 \ @@ -78,16 +75,15 @@ function update_script() { 2) if NEWTOKEN=$(whiptail --passwordbox "Setup your ADMIN_TOKEN (make it strong)" 10 58 3>&1 1>&2 2>&3); then if [[ -z "$NEWTOKEN" ]]; then exit-script; fi - ADMINTOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) - if [[ -f /var/lib/vaultwarden/config.json ]]; then - sed -i '/admin_token/d' /var/lib/vaultwarden/config.json - sed -i "2i\\ \"admin_token\": \"$ADMINTOKEN\"," /var/lib/vaultwarden/config.json + if ! command -v argon2 >/dev/null 2>&1; then apk add argon2 &>/dev/null; fi + TOKEN=$(echo -n ${NEWTOKEN} | argon2 "$(openssl rand -base64 32)" -e -id -k 19456 -t 2 -p 1) + if [[ ! -f /var/lib/vaultwarden/config.json ]]; then + sed -i "s|export ADMIN_TOKEN=.*|export ADMIN_TOKEN='${TOKEN}'|" /etc/conf.d/vaultwarden else - sed -i '/ADMIN_TOKEN/d' /etc/conf.d/vaultwarden - sed -i "4i\export ADMIN_TOKEN=\'$ADMINTOKEN\'" /etc/conf.d/vaultwarden + sed -i "s|\"admin_token\": .*|\"admin_token\": \"${TOKEN}\",|" /var/lib/vaultwarden/config.json fi - fi - rc-service vaultwarden restart + rc-service vaultwarden restart -q + fi clear exit ;;