X-Git-Url: https://iankelling.org/git/?p=buildscripts;a=blobdiff_plain;f=tor-browser;fp=tor-browser;h=b7f7de9902c5d3562eba1d888c51b94c5fb340f2;hp=f9a6e45bbf2c7faac604fc72810ce0e6d6d9a1a5;hb=c426f5dc07b0a086a3163697db3abb516955566c;hpb=850dedd6b7a117c86c4e3e97a4ad1c948e9cd7a0 diff --git a/tor-browser b/tor-browser index f9a6e45..b7f7de9 100755 --- a/tor-browser +++ b/tor-browser @@ -25,29 +25,45 @@ trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR # we exclude verions with letters, as that seems to # be a relatively reliable indication of alpha/beta releases. -ver=$(curl -s https://dist.torproject.org/torbrowser/ \ +vers=($(curl -s https://dist.torproject.org/torbrowser/ \ | sed -rn 's#.*href="([0-9]+\.[0-9]+[.0-9]*)/.*#\1#p' \ - | sort -Vr | head -n 1) + | sort -Vr)) + # by default it has perms for just 1 non-root user, which is ok for now. cd /a/opt -f=tor-browser-linux64-${ver}_en-US.tar.xz -timestamp=$(stat -c %Y $f) ||: -wget -N https://www.torproject.org/dist/torbrowser/$ver/$f -new_timestamp=$(stat -c %Y $f) ||: +ver=${vers[0]} +dl() { + f=tor-browser-linux64-${ver}_en-US.tar.xz + if [[ -e $f ]]; then + timestamp=$(stat -c %Y $f) + else + timestamp=0 + fi + echo wget -N https://www.torproject.org/dist/torbrowser/$ver/$f + wget -N https://www.torproject.org/dist/torbrowser/$ver/$f || ret=$? +} +dl +# 8 is return code for 404. for a new release, they might not have released to linux yet. +if [[ $ret == 8 ]]; then + ver=${vers[1]} + dl +fi + +new_timestamp=$(stat -c %Y $f) if [[ $timestamp != $new_timestamp || ! -e /a/opt/tor-browser_en-US/Browser/start-tor-browser ]]; then - # not already installed - rm -rf tor-browser_en-US - ex $f + # not already installed + rm -rf tor-browser_en-US + ex $f fi for x in tor-*.tar.xz; do - # cleanup old tarballs - [[ -e $x ]] || break - [[ $x != $f ]] || continue - command rm -f $x + # cleanup old tarballs + [[ -e $x ]] || break + [[ $x != $f ]] || continue + command rm -f $x done s lnf /a/opt/tor-browser_en-US/Browser/start-tor-browser /usr/local/bin