X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=tor-browser;h=9b3212cbc7330e7081bb9319f37894e3a5d38e25;hb=6d5364acaf732814110b7ab98ef1d266276f64ee;hp=07fbe9be9a4f6811d8386736298c4da3475be235;hpb=85ed0e89a01decf6846786bbc1ac13351248e79d;p=buildscripts diff --git a/tor-browser b/tor-browser index 07fbe9b..9b3212c 100755 --- a/tor-browser +++ b/tor-browser @@ -1,4 +1,4 @@ -#!/bin/bash -l +#!/bin/bash # Copyright (C) 2016 Ian Kelling # Licensed under the Apache License, Version 2.0 (the "License"); @@ -13,8 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -set -eE -o pipefail -trap 'echo "$0:$LINENO:error: \"$BASH_COMMAND\" returned $?"' ERR +if [[ -s ~/.bashrc ]]; then . ~/.bashrc; fi # stable version is shown on: @@ -25,11 +24,16 @@ 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. -vers=($(curl -s https://dist.torproject.org/torbrowser/ \ - | sed -rn 's#.*href="([0-9]+\.[0-9]+[.0-9]*)/.*#\1#p' \ - | sort -Vr)) - - +# Their server has failed a few times on me, so do some retrying. +for (( i=0; i <= 6 ; i++ )); do + c=$(curl -s https://dist.torproject.org/torbrowser/) && break + sleep 15 +done +if [[ ! $c ]]; then + echo "$0: error: failed to curl tor directory listing" >&2 + exit 1 +fi +vers=($(printf "%s\n" "$c" | sed -rn 's#.*href="([0-9]+\.[0-9]+[.0-9]*)/.*#\1#p' | sort -Vr)) # by default it has perms for just 1 non-root user, which is ok for now. @@ -57,7 +61,21 @@ 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 + tar Jxf $f + + ## begin handlers customization + dest=/a/opt/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default/handlers.json + orig=/p/c/tor-handlers-orig.json + src=/p/c/tor-handlers.json + if diff -q $src $dest; then + echo "Error: handlers file changed. adjust based on upstream" + exit 1 + fi + cp $src $dest + ## end handlers customization + + cp /p/c/tor-user.js /a/opt/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.default/user.js + fi for x in tor-*.tar.xz; do @@ -66,4 +84,3 @@ for x in tor-*.tar.xz; do [[ $x != $f ]] || continue command rm -f $x done -s lnf /a/opt/tor-browser_en-US/Browser/start-tor-browser /usr/local/bin