#!/usr/bin/bash # Get latest brave browser Linux 64-bit glibc build from GitHub # Tools needed: gpg, 7z, jq/jaq, curl, wget, sha256sum set -e cd /tmp _urlfile="brave-browser-latest.urls" _bravespot="/opt/brave" # put wherever you want it [ ! -d "${_bravespot}" ] && mkdir -p "${_bravespot}" _curversfile="${_bravespot}/current-version.urls" 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}" echo "Latest version URLs:" cat "${_urlfile}" if [ -f "${_curversfile}" ]; then echo "Current version URLs:" cat "${_curversfile}" cmp --silent "${_urlfile}" "${_curversfile}" && rm -f "${_urlfile}" && echo "No update needed." && exit 0 fi wget --input-file="${_urlfile}" --continue --retry-connrefused echo "Sig check:" # See https://brave.com/signing-keys/ for all available, we use github release channel wget https://brave-browser-downloads.s3.brave.com/keys/github-checksums-release.asc gpg --import github-checksums-release.asc gpg --verify-files brave-browser-*-linux-amd64.zip.sha256.asc echo "Hash check:" sha256sum --ignore-missing --check brave-browser-*-linux-amd64.zip.sha256 rm -rf /apps/brave/* ; sync 7z x -o/apps/brave/ brave-browser-*-linux-amd64.zip ; sync # record just updated version for next time cp -a "${_urlfile}" "${_curversfile}" rm -f "${_urlfile}" unset _urlfile _bravespot _curversfile