update_core.sh 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/bash
  2. # Created By [CTCGFW]Project OpenWRT
  3. # https://github.com/project-openwrt
  4. function check_if_enable(){
  5. [ "$(uci get unblockneteasemusic.@unblockneteasemusic[0].enabled)" -eq "0" ] && exit 2
  6. }
  7. function check_if_already_running(){
  8. running_tasks="$(ps |grep "unblockneteasemusic" |grep "update_core" |grep -v "grep" |awk '{print $1}' |wc -l)"
  9. [ "${running_tasks}" -gt "2" ] && echo -e "\nA task is already running." >>/tmp/unblockneteasemusic.log && exit 2
  10. }
  11. function clean_log(){
  12. echo "" > /tmp/unblockneteasemusic.log
  13. }
  14. function check_latest_version(){
  15. latest_ver="$(curl -s https://github.com/nondanee/UnblockNeteaseMusic/commits/master |tr -d '\n' |grep -Eo 'commit\/[0-9a-z]+' |sed -n 1p |sed 's#commit/##g')"
  16. [ -z "${latest_ver}" ] && echo -e "\nFailed to check latest version, please try again later." >>/tmp/unblockneteasemusic.log && exit 1
  17. if [ ! -e "/usr/share/unblockneteasemusic/local_ver" ]; then
  18. clean_log
  19. echo -e "Local version: NOT FOUND, cloud version: ${latest_ver}." >>/tmp/unblockneteasemusic.log
  20. update_core
  21. else
  22. if [ "$(cat /usr/share/unblockneteasemusic/local_ver)" != "${latest_ver}" ]; then
  23. clean_log
  24. echo -e "Local version: $(cat /usr/share/unblockneteasemusic/local_ver 2>/dev/null), cloud version: ${latest_ver}." >>/tmp/unblockneteasemusic.log
  25. update_core
  26. else
  27. echo -e "\nLocal version: $(cat /usr/share/unblockneteasemusic/local_ver 2>/dev/null), cloud version: ${latest_ver}." >>/tmp/unblockneteasemusic.log
  28. echo -e "You're already using the latest version." >>/tmp/unblockneteasemusic.log
  29. exit 3
  30. fi
  31. fi
  32. }
  33. function update_core(){
  34. echo -e "Updating core..." >>/tmp/unblockneteasemusic.log
  35. mkdir -p "/usr/share/unblockneteasemusic/core" >/dev/null 2>&1
  36. rm -rf /usr/share/unblockneteasemusic/core/* >/dev/null 2>&1
  37. curl -L "https://github.com/nondanee/UnblockNeteaseMusic/archive/master.tar.gz" -o "/usr/share/unblockneteasemusic/core/core.tar.gz" >/dev/null 2>&1
  38. tar -zxf "/usr/share/unblockneteasemusic/core/core.tar.gz" -C "/usr/share/unblockneteasemusic/core/" >/dev/null 2>&1
  39. mv /usr/share/unblockneteasemusic/core/UnblockNeteaseMusic-master/* "/usr/share/unblockneteasemusic/core/"
  40. rm -rf "/usr/share/unblockneteasemusic/core/core.tar.gz /usr/share/unblockneteasemusic/core/UnblockNeteaseMusic-master" >/dev/null 2>&1
  41. if [ ! -e "/usr/share/unblockneteasemusic/core/app.js" ]; then
  42. echo -e "Failed to download core." >>/tmp/unblockneteasemusic.log
  43. exit 1
  44. else
  45. echo -e "${latest_ver}" > /usr/share/unblockneteasemusic/local_ver
  46. /etc/init.d/unblockneteasemusic restart
  47. fi
  48. echo -e "Succeeded in updating core." >/tmp/unblockneteasemusic.log
  49. echo -e "Local version: $(cat /usr/share/unblockneteasemusic/local_ver 2>/dev/null), cloud version: ${latest_ver}.\n" >>/tmp/unblockneteasemusic.log
  50. }
  51. function main(){
  52. check_if_enable
  53. check_if_already_running
  54. check_latest_version
  55. }
  56. main