update.sh
1 #!/bin/bash 2 3 # shellcheck source=./Scripts/defaults.sh 4 . "$HOME"/RoninDojo/Scripts/defaults.sh 5 6 _load_user_conf 7 8 # Fix hosts file 9 _update_24() { 10 hostsfile="/etc/hosts" 11 12 #test if there's a hostsfile, create if there isn't 13 if test ! -f "${hostsfile}"; then 14 if test -e "${hostsfile}"; then 15 >&2 echo "${hostsfile} is present but not a regular file" 16 exit 1 17 fi 18 sudo touch "${hostsfile}" 19 fi 20 21 #test if there's a 127.0.0.1 entry, edit when necessary 22 if grep -q -E "^\s*127\.0\.0\.1(\s+\w+)+$" "${hostsfile}"; then 23 if ! grep -q -E "^\s*127\.0\.0\.1(\s+\w+)*(\s+localhost)(\s+\w+)*$" "${hostsfile}"; then 24 #edit existing entry, appending the "localhost" alias 25 sudo sed -i -E 's/(\s*127\.0\.0\.1\s.*$)/\1 localhost/g' "${hostsfile}" 26 fi 27 else 28 #append the missing entry 29 echo $'\n127.0.0.1 localhost' | sudo tee -a "${hostsfile}" > /dev/null 30 fi 31 } 32 33 # The last 1.x update ever 34 _update_40() { 35 36 sed -i 's/^samourai_commitish/#samourai_commitish/' "${HOME}/.config/RoninDojo/user.conf" # let the samoura_commitish be decided by the RD branch 37 sed -i 's/#ronin_dojo_branch/ronin_dojo_branch/' "${HOME}/.config/RoninDojo/user.conf" # uncomment the line 38 39 sed -i 's#ronin_dojo_branch=.*#ronin_dojo_branch="origin/utility/E-1"#' "${HOME}/.config/RoninDojo/user.conf" 40 41 _ronindojo_update 42 43 #update .bashrc with the warning 44 sed -i '/^\/home\/ronindojo\/RoninDojo\/Scripts\/.logo$/a echo -e "\\nNOTICE\\n\\nYOUR CURRENT VERSION IS 1.15.1\\nRONINDOJO WILL NO LONGER UPDATE\\nTO MIGRATE TO RONINDOJO V2\\nPLEASE FLASH THE SYSTEM WITH THE LATEST IMAGE\\nAND RE-PAIR YOUR WALLET WITH DOJO\\n\\nEND OF NOTICE"\necho Press any key to continue\nread -n 1 -r -s' /home/ronindojo/.bashrc 45 46 # Finalize 47 touch "$HOME"/.config/RoninDojo/data/updates/40-"$(date +%m-%d-%Y)" 48 49 _print_message "YOUR CURRENT VERSION IS 1.15.1 AND RONINDOJO WILL NO LONGER UPDATE." 50 _print_message "TO MIGRATE TO RONINDOJO V2 PLEASE FLASH THE SYSTEM WITH THE LATEST IMAGE." 51 _print_message "RE-PAIR YOUR WALLET WITH DOJO, OTHERWISE YOU WILL NOT SEE TRANSACTIONS." 52 _pause "return" 53 } 54 55 # Fulcrum SSL expose migration 56 _update_41(){ 57 58 if _is_fulcrum; then 59 sudo sed -i 's/INDEXER_EXTERNAL=.*$/INDEXER_EXTERNAL=on/' "${dojo_path_my_dojo}"/conf/docker-indexer.conf 60 sudo sed -i 's/INDEXER_EXTERNAL_IP=.*$/INDEXER_EXTERNAL_IP=0.0.0.0/' "${dojo_path_my_dojo}"/conf/docker-indexer.conf 61 fi; 62 63 sudo ufw allow from "${network_current}" to any port "50002" >/dev/null 64 sudo ufw reload 65 66 # Finalize 67 touch "$HOME"/.config/RoninDojo/data/updates/41-"$(date +%m-%d-%Y)" 68 } 69 70 71 # Fulcrum Batch support migration 72 _update_42(){ 73 if _is_fulcrum; then 74 sudo sed -i 's/INDEXER_BATCH_SUPPORT=.*$/INDEXER_BATCH_SUPPORT=active/' "${dojo_path_my_dojo}"/conf/docker-indexer.conf 75 else 76 sudo sed -i 's/INDEXER_BATCH_SUPPORT=.*$/INDEXER_BATCH_SUPPORT=inactive/' "${dojo_path_my_dojo}"/conf/docker-indexer.conf 77 fi; 78 79 # Finalize 80 touch "$HOME"/.config/RoninDojo/data/updates/42-"$(date +%m-%d-%Y)" 81 } 82 83 # v2.1.0: tor upgrade 84 _update_43(){ 85 86 sudo apt-get update 87 sudo apt-get install -y tor/bullseye-backports 88 89 _setup_tor 90 91 # Finalize 92 touch "$HOME"/.config/RoninDojo/data/updates/43-"$(date +%m-%d-%Y)" 93 } 94 95 # Ronin UI fix for 2.1.0 96 _update_44(){ 97 98 _ronin_ui_uninstall 99 _ronin_ui_install 100 101 # Finalize 102 touch "$HOME"/.config/RoninDojo/data/updates/44-"$(date +%m-%d-%Y)" 103 } 104 105 # Docker daemon.json update for logs 106 _update_45(){ 107 cd "${dojo_path_my_dojo}" || exit 108 ./dojo.sh stop 109 110 sudo rm -rf /etc/docker/daemon.json 111 sudo tee "/etc/docker/daemon.json" << EOF > /dev/null 112 { 113 "log-driver": "json-file", 114 "log-opts": { 115 "max-size": "10m", 116 "max-file": "3" 117 }, 118 "data-root": "${install_dir_docker}" 119 } 120 EOF 121 sudo systemctl daemon-reload 122 sudo systemctl restart docker 123 124 cd - || exit 125 # Finalize 126 touch "$HOME"/.config/RoninDojo/data/updates/45-"$(date +%m-%d-%Y)" 127 } 128 129 # Remove autologin 130 _update_46(){ 131 132 #remove the autologin by replacing the whole line 133 _disable_autologin 134 135 # Finalize 136 touch "$HOME"/.config/RoninDojo/data/updates/46-"$(date +%m-%d-%Y)" 137 } 138 139 # Fix NOPASSWD 140 _update_47(){ 141 142 #replace the NOPASSWD line with what it should be 143 sudo sed -i '/ronindojo/s/ALL) NOPASSWD:ALL/ALL) ALL/' /etc/sudoers 144 145 #set sudo timoeut to 1 hour 146 sudo sed -i '/env_reset/a Defaults\ttimestamp_timeout=60' /etc/sudoers 147 148 # Finalize 149 touch "$HOME"/.config/RoninDojo/data/updates/47-"$(date +%m-%d-%Y)" 150 }