download_ROS7a_release.sh 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/bin/bash
  2. #wget path & opts
  3. wget_opts="-q -nc"
  4. WGET="/bin/wget"
  5. #path for you repo
  6. TARGET_DIR="/mnt/md0/mirror/routeros"
  7. # ROS 7
  8. versions7=("stable")
  9. #needed architecture's
  10. firmware_arch=("arm" "arm64" "mipsbe" "mmips" "ppc" "smips" "tile" "x86")
  11. ##################################### Main ###################################################
  12. new_version=$1
  13. [ -z "${new_version}" ] && exit
  14. echo "Get release: ${new_version}"
  15. for firmware_version in "${versions7[@]}"; do
  16. echo "Try download packages..."
  17. if [ ! -e "${TARGET_DIR}/${new_version}" ]; then
  18. mkdir -p "${TARGET_DIR}/${new_version}"
  19. fi
  20. cd "${TARGET_DIR}/${new_version}"
  21. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/CHANGELOG"
  22. ret=$?
  23. if [ ${ret} -ne 0 ]; then
  24. echo "Error get changelog for ${new_version}. Skip release."
  25. continue
  26. fi
  27. download_error=
  28. for file_arch in "${firmware_arch[@]}"; do
  29. #packages
  30. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/all_packages-${file_arch}-${new_version}.zip"
  31. ret=$?
  32. if [ ${ret} -ne 0 ]; then
  33. echo "Error get all_packages-${file_arch}-${new_version}.zip"
  34. download_err=1
  35. break
  36. fi
  37. #routeros
  38. if [ "${file_arch}" == "x86" ]; then
  39. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/routeros-${new_version}.npk"
  40. if [ ${ret} -ne 0 ]; then
  41. echo "Error get routeros-${new_version}-${file_arch}.npk"
  42. download_err=1
  43. break
  44. fi
  45. else
  46. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/routeros-${new_version}-${file_arch}.npk"
  47. ret=$?
  48. if [ ${ret} -ne 0 ]; then
  49. echo "Error get routeros-${new_version}-${file_arch}.npk"
  50. download_err=1
  51. break
  52. fi
  53. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/routeros-${file_arch}-${new_version}.npk" 2>/dev/null
  54. #wireless
  55. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/wireless-${new_version}-${file_arch}.npk"
  56. ret=$?
  57. if [ ${ret} -ne 0 ]; then
  58. echo "Error get wireless-${new_version}-${file_arch}.zip"
  59. download_err=1
  60. break
  61. fi
  62. fi
  63. done
  64. if [ -n "${download_err}" ]; then
  65. echo "Found errors by download packages for ${new_version} ${firmware_version}. Skip release"
  66. download_err=
  67. [ -e "${TARGET_DIR}/NEWESTa7.${firmware_version}.new" ] && rm -f "${TARGET_DIR}/NEWESTa7.${firmware_version}.new"
  68. continue
  69. fi
  70. #other files
  71. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/btest.exe"
  72. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/dude-install-${new_version}.exe"
  73. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/flashfig.exe"
  74. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/install-image-${new_version}.zip"
  75. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/mikrotik-${new_version}.iso"
  76. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/mikrotik.mib"
  77. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/netinstall64-${new_version}.zip"
  78. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/netinstall-${new_version}.tar.gz"
  79. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "http://upgrade.mikrotik.com/routeros/${new_version}/netinstall-${new_version}.zip"
  80. #winbox
  81. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "https://mt.lv/winbox" -O "${TARGET_DIR}/${new_version}/winbox.exe"
  82. ${WGET} ${wget_opts} -U "RouterOS 7.12.1" "https://mt.lv/winbox64" -O "${TARGET_DIR}/${new_version}/winbox64.exe"
  83. echo "ROS 7 version ${new_version} downloaded successfully."
  84. done
  85. exit