Snippet content copied to clipboard.
Are you sure to delete this snippet? No, don't delete
  1. #!/usr/bin/bash
  2. # Get latest brave browser Linux 64-bit glibc build from GitHub
  3. # Tools needed: gpg, 7z, jq/jaq, curl, wget, sha256sum
  4. set -e
  5. cd /tmp
  6. _urlfile="brave-browser-latest.urls"
  7. _bravespot="/opt/brave" # put wherever you want it
  8. [ ! -d "${_bravespot}" ] && mkdir -p "${_bravespot}"
  9. _curversfile="${_bravespot}/current-version.urls"
  10. curl --silent https://api.github.com/repos/brave/brave-browser/releases/latest | jq --raw-output '.assets[] | select(.name | contains ("linux-amd64.zip")) | .browser_download_url' > "${_urlfile}"
  11. echo "Latest version URLs:"
  12. cat "${_urlfile}"
  13. if [ -f "${_curversfile}" ]; then
  14. echo "Current version URLs:"
  15. cat "${_curversfile}"
  16. cmp --silent "${_urlfile}" "${_curversfile}" && rm -f "${_urlfile}" && echo "No update needed." && exit 0
  17. fi
  18. wget --input-file="${_urlfile}" --continue --retry-connrefused
  19. echo "Sig check:"
  20. # See https://brave.com/signing-keys/ for all available, we use github release channel
  21. wget https://brave-browser-downloads.s3.brave.com/keys/github-checksums-release.asc
  22. gpg --import github-checksums-release.asc
  23. gpg --verify-files brave-browser-*-linux-amd64.zip.sha256.asc
  24. echo "Hash check:"
  25. sha256sum --ignore-missing --check brave-browser-*-linux-amd64.zip.sha256
  26. rm -rf /apps/brave/* ; sync
  27. 7z x -o/apps/brave/ brave-browser-*-linux-amd64.zip ; sync
  28. # record just updated version for next time
  29. cp -a "${_urlfile}" "${_curversfile}"
  30. rm -f "${_urlfile}"
  31. unset _urlfile _bravespot _curversfile

Edit this Snippet