renamed restter app and updated script

This commit is contained in:
naturallaw77 2024-01-15 22:34:56 -08:00
parent d25c572694
commit b7778af035
11 changed files with 573 additions and 48 deletions

View File

@ -1,20 +1,20 @@
# Sovran_SystemsOS Software # Sovran_SystemsOS Software
![Sovran_SystemsOS Updater](https://git.sovransystems.com/Sovran_Systems/Packages/raw/branch/main/Sovran_SystemsOS_Updater/To%20Install%20on%20Local%20Sovarn%20Pros/.Sovran_Systems/Icon/Sovran_SystemsOS_Updater_Iconv3.svg) ![Sovran_SystemsOS_Updater](https://git.sovransystems.com/Sovran_Systems/Packages/raw/branch/main/Sovran_SystemsOS_Updater/To%20Install%20on%20Local%20Sovarn%20Pros/.Sovran_Systems/Icon/Sovran_SystemsOS_Updater_Iconv3.svg)
**Sovran_SystemsOS Updater is the one click update app to keep your Sovran Pro's software up to date.** **Sovran_SystemsOS_Updater is the one click update app to keep your Sovran Pro's software up to date.**
### ###
![Sovran_SystemsOS Reseter](https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Reseter/To%20Install%20on%20local%20Sovran%20Pro/Icon_Reseter/Sovran_SystemsOS_Reseter_Icon2.svg) ![Sovran_SystemsOS_Resetter](https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Reseter/To%20Install%20on%20local%20Sovran%20Pro/Icon_Reseter/Sovran_SystemsOS_Reseter_Icon2.svg)
**The Sovran_SystemsOS_Reseter app allows the user to reset all passwords to fresh new passwords as to clear the temporary setup passwords from the factory.** **The Sovran_SystemsOS_Resetter app allows the user to reset all passwords to fresh new passwords as to clear the temporary setup passwords from the factory.**
### ###
![Sovran_SystemsOS_Light Updater](https://git.sovransystems.com/Sovran_Systems/Packages/raw/branch/main/Sovran_SystemsOS_Updater/To%20Install%20on%20Local%20Sovarn%20Pros/.Sovran_Systems/Icon/Sovran_SystemsOS_Updater_Iconv3.svg) ![Sovran_SystemsOS_Light_Updater](https://git.sovransystems.com/Sovran_Systems/Packages/raw/branch/main/Sovran_SystemsOS_Updater/To%20Install%20on%20Local%20Sovarn%20Pros/.Sovran_Systems/Icon/Sovran_SystemsOS_Updater_Iconv3.svg)
**Sovran_SystemsOS_Light Updater is the one click update app to keep your Sovran Book Pro's software up to date.** **Sovran_SystemsOS_Light_Updater is the one click update app to keep your Sovran Book Pro's software up to date.**
### ###

View File

@ -1,5 +0,0 @@
#!/usr/bin/env bash
bash -c "$(curl https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Reseter/Reseter%20Source%20Files/Master_Passwords_Reset.sh)"
exit

View File

@ -1,31 +0,0 @@
#!/usr/bin/env bash
pushd /home/free/Downloads
wget https://git.sovransystems.com/Sovran_Systems/Software/archive/main.zip
unzip main.zip
popd
mkdir -p /home/free/.Sovran_Systems
mkdir -p /home/free/.local/share/applications/
mv "/home/free/Downloads/software/Sovran_SystemsOS_Reseter/To Install on local Sovran Pro/localscript_to_remote_reseter.sh" /home/free/.Sovran_Systems/
mv "/home/free/Downloads/software/Sovran_SystemsOS_Reseter/To Install on local Sovran Pro/Icon_Reseter/" /home/free/.Sovran_Systems/
mv "/home/free/Downloads/software/Sovran_SystemsOS_Reseter/To Install on local Sovran Pro/Sovran_SystemsOS_Reseter.desktop" /home/free/.local/share/applications/
chown free:users /home/free -R
chmod 770 /home/free -R
rm -rf /home/free/Downloads/software
rm -rf /home/free/Downloads/main.zip
rm -rf /home/free/Downloads/sovran_systemsOS_reseter_install.sh
exit

View File

@ -0,0 +1,525 @@
#!/usr/bin/env bash
YUP () {
set -o nounset
#### CREATE NEW MASTER LOGIN ####
#### Check to See If It Has Been Run Before ####
FILE=/var/lib/beacons/resetter/completed
if [ -e $FILE ]; then
zenity --info \
--ellipsize \
--no-wrap \
--width=250 \
--title="Sovran_SystemsOS_Resetter" \
--text="Already Completed"
exit 1
else
#### Initial Reseter Tag ####
ssh root@localhost 'mkdir -p /var/lib/beacons/resetter ; touch /var/lib/beacons/resetter/started'
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Create Resetter Tag"
exit 1
fi
#### Create New Log In SSH Key For the Local Sovran Pro ####
PASS=$(zenity --password --title="Please Type In A New Sovran Pro Updater Password")
if [[ $? -eq 1 ]]; then
exit 1
else
ssh-keygen -q -N "${PASS}" -t ed25519 -f /home/free/.ssh/sovranpro_login
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Create New Login Key"
exit 1
fi
ssh root@localhost 'sed -i -e "0,/ssh-ed25519.*/{ s::$(cat /home/free/.ssh/sovranpro_login.pub): }" /root/.ssh/authorized_keys'
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Move Key to Root"
exit 1
fi
fi
rm -rf /home/free/.ssh/factory_login /home/free/.ssh/factory_login.pub
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Remove Factory Keys"
exit 1
fi
#### RESET KEYS FOR AGENIX ####
### Make Backup Directory ####
NOW=$(date '+%Y%m%d.%H%M%S') # default NOW string
BAKDIR=bak_${NOW}
ssh root@localhost "cd /root/.ssh/agenix/; mkdir ${BAKDIR}"
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Make Backup Directory"
exit 1
fi
#### Move existing keys to Backup Directory ####
ssh root@localhost "cd /root/.ssh/agenix/; mv agenix-secret-keys* ${BAKDIR}"
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Move Keys to Backup Directory"
exit 1
fi
##### Generate New Keys ####
ssh root@localhost 'ssh-keygen -q -N "" -t ed25519 -f /root/.ssh/agenix/agenix-secret-keys'
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset Main Agenix Keys"
exit 1
fi
#### Send .pub into agenix/secrets.nix ####
ssh root@localhost 'sed -i -e "0,/root.*/{s::root = $(cat /root/.ssh/agenix/agenix-secret-keys.pub):};s:root@nixos::" /var/lib/agenix-secrets/secrets.nix'
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Send Agenix Keys to Main"
exit 1
fi
ssh root@localhost << 'EOF'
sed -i 's:\(root =[[:blank:]]*\)\(.*\):\1"\2";:' /var/lib/agenix-secrets/secrets.nix
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Put Quotes On Agenix Keys in Main"
exit 1
fi
#### DATABASES ####
ssh root@localhost "echo -n $(pwgen -s 33 -1) > /var/lib/secrets/wordpressdb"
ssh root@localhost "echo -n $(pwgen -s 33 -1) > /var/lib/secrets/matrixdb"
ssh root@localhost "echo -n $(pwgen -s 33 -1) > /var/lib/secrets/nextclouddb"
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset Database Passwords"
exit 1
fi
#### Mysql Passwords ####
ssh root@localhost << 'EOF'
wp=$(cat /var/lib/secrets/wordpressdb)
sudo mysql -u root -e "SET PASSWORD FOR wpusr@localhost = PASSWORD('${wp}')";
sed -i "s:define( 'DB_PASSWORD'.*:define( 'DB_PASSWORD', '${wp}' );:" /var/lib/www/wordpress/wp-config.php
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Update Wordpress Config File and/or Update Wordpress Password to Database"
exit 1
fi
#### PostgresQL Passwords ####
ssh root@localhost << 'EOF'
nc=$(cat /var/lib/secrets/nextclouddb)
sed -i "s:'dbpassword.*:'dbpassword' => '${nc}',:" /var/lib/www/nextcloud/config/config.php
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Update Nextcloud Config File"
exit 1
fi
ssh root@localhost << 'EOF'
nc=$(cat /var/lib/secrets/nextclouddb)
PGPASSWORD=${nc} psql -U ncusr nextclouddb
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset Nextcloud Database Password"
exit 1
fi
ssh root@localhost << 'EOF'
ms=$(cat /var/lib/secrets/matrixdb)
PGPASSWORD=${ms} psql -U matrix-synapse matrix-synapse
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset Matrix-Synapse Database Passwords"
exit 1
fi
#### Matrix-Synapse Keys ####
ssh root@localhost "echo -n $(pwgen -s 33 -1) > /var/lib/secrets/turn"
ssh root@localhost "echo -n $(pwgen -s 33 -1) > /var/lib/secrets/matrix_reg_secret"
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset Matrix-Synapse Keys"
exit 1
fi
#### UPDATE AGENIX SECRETS ####
ssh root@localhost "
rm -rf /var/lib/agenix-secrets/nextclouddb.age ;
rm -rf /var/lib/agenix-secrets/wordpressdb.age ;
rm -rf /var/lib/agenix-secrets/turn.age ;
rm -rf /var/lib/agenix-secrets/matrixdb.age ;
rm -rf /var/lib/agenix-secrets/matrix_reg_secret.age "
ssh root@localhost << 'EOF'
pushd /var/lib/agenix-secrets/
echo -n $(cat /var/lib/secrets/wordpressdb) | EDITOR='cp /dev/stdin' nix run github:ryantm/agenix -- -e wordpressdb.age -i /root/.ssh/agenix/agenix-secret-keys
echo -n $(cat /var/lib/secrets/nextclouddb) | EDITOR='cp /dev/stdin' nix run github:ryantm/agenix -- -e nextclouddb.age -i /root/.ssh/agenix/agenix-secret-keys
echo -n $(cat /var/lib/secrets/matrixdb) | EDITOR='cp /dev/stdin' nix run github:ryantm/agenix -- -e matrixdb.age -i /root/.ssh/agenix/agenix-secret-keys
echo -n $(cat /var/lib/secrets/turn) | EDITOR='cp /dev/stdin' nix run github:ryantm/agenix -- -e turn.age -i /root/.ssh/agenix/agenix-secret-keys
echo -n $(cat /var/lib/secrets/matrix_reg_secret) | EDITOR='cp /dev/stdin' nix run github:ryantm/agenix -- -e matrix_reg_secret.age -i /root/.ssh/agenix/agenix-secret-keys
popd
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Update Agenix Secrets"
exit 1
fi
#### VAULTWARDEN ####
ssh root@localhost << 'EOF'
echo -n $(pwgen -s 77 -1) > /var/lib/secrets/vaultwarden/vaultwarden
ENCRYPTPASS=$(cat "/var/lib/secrets/vaultwarden/vaultwarden" | argon2 "$(openssl rand -base64 32)" -e -id -k 65540 -t 3 -p 4)
sed -i "0,/ADMIN_.*/{s::ADMIN_TOKEN=${ENCRYPTPASS}:}" /var/lib/secrets/vaultwarden/vaultwarden.env
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Update Vaultwarden Password"
exit 1
fi
#### MAIN ####
ssh root@localhost << 'EOF'
echo -n $(pwgen -s 77 -1) > /var/lib/secrets/main
sudo echo "root:$(cat /var/lib/secrets/main)" | chpasswd -c SHA512
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Update Main Password"
exit 1
fi
#### RESET SYSTEMD SERVICES ####
ssh root@localhost "systemctl restart postgresql matrix-synapse caddy mysql coturn vaultwarden"
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset Services"
exit 1
fi
#### RESET LND AND RTL ####
ssh root@localhost << 'EOF'
systemctl stop bitcoind lnd lightning-loop lightning-pool rtl
rm -rf /var/lib/lightning-loop /var/lib/lightning-pool /var/lib/lnd
echo -n $(pwgen -s 33 -1) > /etc/nix-bitcoin-secrets/rtl-password
EOF
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Reset LND or RTL Passwords"
exit 1
fi
#### NIXOS REBUILD SWITCH ####
ssh root@localhost 'nixos-rebuild switch --impure'
#### FINAL RESETER TAG ####
ssh root@localhost 'touch /var/lib/beacons/resetter/completed'
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Create Final Resetter Tag"
exit 1
fi
#### FINAL DIALOG POPUP ####
zenity --info \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="All Done! All Passwords Are Reset."
#### REMOVE RESETER APP ####
rm -rf /home/free/.Sovran_Systems/localscript_to_remote_reseter.sh
rm -rf /home/free/.Sovran_Systems/Icon_Reseter
rm -rf /home/free/.local/share/applications/Sovran_SystemsOS_Reseter.desktop
if [[ $? != 0 ]]; then
zenity --error \
--ellipsize \
--no-wrap \
--title="Sovran_SystemsOS_Resetter" \
--text="Could Not Remove Resetter App"
exit 1
fi
fi
exit 0
}
#########
curl "https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Resetter/Resetter_Intro.md" |
zenity --text-info \
--width=1000 \
--height=750 \
--title="Sovran_SystemsOS_Resetter"
if [[ $? -eq 1 ]]; then
exit 1
else
YUP | zenity --progress --no-cancel --auto-close --width=660 --pulsate --text="Resetting now. Please be patient..." --title="Sovran_SystemsOS_Resetter"
fi
exit 0

View File

@ -1,8 +1,8 @@
Welcome to the Sovran_SystemsOS_Reseter! Welcome to the Sovran_SystemsOS_Resetter App!
This rester will run through a few stages to reset all your internal passwords from the factory. This resetter will run through a few stages to reset all your internal passwords from the factory.
It will first ask for the factory password which is "gosovransystems" It will first ask for the factory password which is "gosovransystems"
@ -25,7 +25,7 @@ Now just wait for all the internal passwords to be reset.
When it is finished, a final pop up will state "All Done! All Passwords Are Reset." When it is finished, a final pop up will state "All Done! All Passwords Are Reset."
All updates come from here: https://https://git.sovransystems.com/Sovran_Systems/Software/src/branch/main/Sovran_SystemsOS_Reseter All updates come from here: https://https://git.sovransystems.com/Sovran_Systems/Software/src/branch/main/Sovran_SystemsOS_Resetter
Don't Trust, Verify! Don't Trust, Verify!

View File

@ -2,6 +2,6 @@
Version=1.0 Version=1.0
Terminal=false Terminal=false
Type=Application Type=Application
Name=Sovran_SystemsOS Reseter Name=Sovran_SystemsOS_Resetter
Exec=/home/free/.Sovran_Systems/localscript_to_remote_reseter.sh Exec=/home/free/.Sovran_Systems/localscript_to_remote_resetter.sh
Icon=/home/free/.Sovran_Systems/Icon_Reseter/Sovran_SystemsOS_Reseter_Icon2.svg Icon=/home/free/.Sovran_Systems/Icon_Reseter/Sovran_SystemsOS_Resetter_Icon2.svg

View File

@ -0,0 +1,5 @@
#!/usr/bin/env bash
bash -c "$(curl https://git.sovransystems.com/Sovran_Systems/Software/raw/branch/main/Sovran_SystemsOS_Resetter/Resetter%20Source%20Files/Master_Passwords_Reset.sh)"
exit

View File

@ -0,0 +1,31 @@
#!/usr/bin/env bash
pushd /home/free/Downloads
wget https://git.sovransystems.com/Sovran_Systems/Software/archive/main.zip
unzip main.zip
popd
mkdir -p /home/free/.Sovran_Systems
mkdir -p /home/free/.local/share/applications/
mv "/home/free/Downloads/software/Sovran_SystemsOS_Resetter/To Install on local Sovran Pro/localscript_to_remote_resetter.sh" /home/free/.Sovran_Systems/
mv "/home/free/Downloads/software/Sovran_SystemsOS_Resetter/To Install on local Sovran Pro/Icon_Resetter/" /home/free/.Sovran_Systems/
mv "/home/free/Downloads/software/Sovran_SystemsOS_Resetter/To Install on local Sovran Pro/Sovran_SystemsOS_Resetter.desktop" /home/free/.local/share/applications/
chown free:users /home/free -R
chmod 770 /home/free -R
rm -rf /home/free/Downloads/software
rm -rf /home/free/Downloads/main.zip
rm -rf /home/free/Downloads/sovran_systemsOS_resetter_install.sh
exit