upgrade-run.sh 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #!/bin/sh
  2. if [ -L /dev/fd ]; then
  3. echo fd exists
  4. else
  5. echo fd does not exist, link
  6. ln -s /proc/self/fd /dev/fd
  7. fi
  8. LOG_FILE=/opt/wz_upgrade.log
  9. exec > >(busybox tee -a ${LOG_FILE}) 2>&1
  10. setup() {
  11. echo "Create Upgrade directory"
  12. mkdir /opt/Upgrade
  13. echo "Create backup files directory"
  14. mkdir /opt/Upgrade/preserve
  15. echo "Download latest master"
  16. wget --no-check-certificate https://github.com/gtxaspec/wz_mini_hacks/archive/refs/heads/master.zip -O /opt/Upgrade/wz_mini.zip; sync
  17. echo "Extract archive"
  18. unzip /opt/Upgrade/wz_mini.zip -d /opt/Upgrade/
  19. cp /opt/wz_mini/wz_mini.conf /opt/Upgrade/preserve/
  20. cp -r /opt/wz_mini/etc/ssh /opt/Upgrade/preserve/
  21. cp -r /opt/wz_mini/etc/wireguard /opt/Upgrade/preserve/
  22. sync
  23. reboot
  24. }
  25. upgrade_mode_start() {
  26. set -x
  27. echo UPGRADE MODE
  28. umount /opt/wz_mini/tmp
  29. rm -rf /opt/wz_mini/*
  30. mv /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/wz_mini/* /opt/wz_mini/
  31. rm -f /opt/factory_t31_ZMC6tiIDQN
  32. mv /opt/Upgrade/wz_mini_hacks-master/SD_ROOT/factory_t31_ZMC6tiIDQN /opt/factory_t31_ZMC6tiIDQN
  33. diff /opt/wz_mini/wz_mini.conf /opt/Upgrade/preserve/wz_mini.conf
  34. cp /opt/Upgrade/preserve/wz_mini.conf /opt/wz_mini/
  35. cp /opt/Upgrade/preserve/ssh/* /opt/wz_mini/etc/ssh/
  36. cp -r /opt/Upgrade/preserve/wireguard /opt/wz_mini/etc/
  37. rm -rf /opt/Upgrade
  38. sync
  39. reboot
  40. }
  41. if [[ -e /tmp/dbgflag ]]; then
  42. upgrade_mode_start
  43. else
  44. read -r -p "${1:-wz_mini, this will download the latest version from github and upgrade your system. Are you sure? [y/N]} " response
  45. case "$response" in
  46. [yY][eE][sS]|[yY])
  47. if [[ -d /opt/Upgrade ]]; then
  48. echo "WARNING: Old Upgrade directory exists"
  49. read -r -p "${1:-Unable to proceed, must DELETE old Upgrade directory, are you sure? [y/N]} " response
  50. case "$response" in
  51. [yY][eE][sS]|[yY])
  52. rm -rf /opt/Upgrade
  53. sync
  54. setup
  55. ;;
  56. *)
  57. echo "User denied directory removal, exit"
  58. ;;
  59. esac
  60. else
  61. setup
  62. fi
  63. ;;
  64. *)
  65. echo "User declined system update, exit"
  66. ;;
  67. esac
  68. fi