-f=tor-browser-linux64-${ver}_en-US.tar.xz
-timestamp=$(stat -c %Y $f)
-wget -N https://www.torproject.org/dist/torbrowser/$ver/$f
-if [[ $timestamp == $(stat -c %Y $f) && -e /a/opt/tor-browser_en-US/Browser/start-tor-browser ]]; then
- # already installed
- exit 0
+dl() {
+ f=tor-browser-linux64-${ver}_ALL.tar.xz
+ if [[ -e $f ]]; then
+ timestamp=$(stat -c %Y $f)
+ else
+ timestamp=0
+ fi
+ ret=0
+ echo wget -nv -N https://www.torproject.org/dist/torbrowser/$ver/$f
+ wget -nv -N https://www.torproject.org/dist/torbrowser/$ver/$f || ret=$?
+}
+
+# some releases are for specific non-gnu oses
+for ((i=0; i<${#vers[@]}; i++)); do
+ ver=${vers[i]}
+ dl
+ # 8 is return code for 404.
+ if [[ $ret != 8 ]]; then
+ break
+ fi
+done
+
+new_timestamp=$(stat -c %Y $f)
+if [[ $timestamp != $new_timestamp || ! -e /a/opt/tor-browser/Browser/start-tor-browser ]]; then
+ # not already installed
+ rm -rf tor-browser
+ tar Jxf $f
+
+
+
+ ## begin handlers customization
+ ## the default file doesn't exist anymore. i customized it to open magnet links,
+ ## it might work with removing the default stuff and keeping the magnet link part,
+ ## but I'd have to test and I don't care that much.
+ # dest=/a/opt/tor-browser/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 &>/dev/null; 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/Browser/TorBrowser/Data/Browser/profile.default/user.js
+