-
-
Save rubo77/b999c1bc6d10ab802536 to your computer and use it in GitHub Desktop.
| #!/bin/sh | |
| # Configure the following default variables according to your requirements | |
| language="en-US" # e.g. "de" or "en-US" | |
| if [ ! "$1" ]; then | |
| # default if no argument is set: | |
| version="95.0" # chose from http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/ | |
| application="firefox" # "thunderbird" or "firefox" but file extension, archive extraction, and binary | |
| fi | |
| if [ "$1" = "--help" ] || [ "$1" = "-h" ] ; then | |
| echo 'Usage: $0 [application] [version]' | |
| echo | |
| echo Usage: | |
| echo " for example" | |
| echo " $0 mozilla 68.5.0esr" | |
| echo ' -h --help display this help' | |
| exit 0 | |
| fi | |
| if [ "$1" ] ; then | |
| application="$1" | |
| fi | |
| if [ "$2" ] ; then | |
| version="$2" | |
| fi | |
| echo result $0 $application $version | |
| echo "This script downloads | |
| -- | |
| $application Version $version | |
| -- | |
| If you want to install another version press Ctrl+C and call this program with other options, for | |
| example: $0 $application 68.5.0esr" | |
| echo | |
| dir="$application-portable-$version" | |
| if [ -d "$dir" ]; then | |
| echo "the folder $dir already exists, exiting" | |
| exit 0 | |
| fi | |
| read -n1 -r -p "Press space to continue..." key | |
| file="$application-$version.tar.bz2" | |
| #for 32bit use the first line instead: | |
| #url="http://download-origin.cdn.mozilla.net/pub/$application/releases/$version/linux-i686/$language/$file" | |
| url="http://download-origin.cdn.mozilla.net/pub/$application/releases/$version/linux-x86_64/$language/$file" | |
| # or example for firefox nightly: | |
| #file=firefox-32.0a2.en-US.linux-i686.tar.bz2 | |
| #url=http://download.cdn.mozilla.net/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora/$file | |
| mkdir "$dir" | |
| cd "$dir" | |
| wget $url -O $file | |
| echo "Extracting archive, please wait..." | |
| tar xfj $file | |
| rm $file | |
| mv $application app | |
| mkdir data | |
| echo '#!/bin/sh' > "${application}-portable" | |
| echo 'dir=${0%/*}' >> "${application}-portable" | |
| echo 'if [ "$dir" = "$0" ]; then' >> "${application}-portable" | |
| echo ' dir="."' >> "${application}-portable" | |
| echo 'fi' >> "${application}-portable" | |
| echo 'cd "$dir/app"' >> "${application}-portable" | |
| echo './firefox --no-remote -profile ../data' >> "${application}-portable" | |
| chmod +x "$application-portable" | |
| echo ... finished | |
| cat <<EOM | |
| ... finished | |
| "#close all running instances of another $application version:" | |
| killall $application | |
| "#change into the directory" | |
| "# and start the application there" | |
| cd "$dir" | |
| ./"$application-portable" | |
| EOM |
Thanks! very useful!!
One suggestion is to add --no-remote in the firefox command, so that you can run a separate instance if you are already running another version of firefox. so line 63 would be like this:
echo './firefox --no-remote -profile ../data' >> "${application}-portable"
The list of releases
Firefox - http://download.cdn.mozilla.net/pub/firefox/releases/
Thunderbird - http://download.cdn.mozilla.net/pub/thunderbird/releases/
I added --no-remote and also updated the script to use 64 bit and the latest firefox version by default.
Hi @rubo77. Thanks for the script. I'm trying to download FF version around 3. Tried with 3.0, 3.5.1, 3.6; always get downloading errors like this:
Connecting to download.cdn.mozilla.net (download.cdn.mozilla.net)|23.209.86.45|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2020-03-21 12:07:27 ERROR 404: Not Found.
Extracting archive, please wait...
tar (child): 3.6-.tar.bz2: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
rm: cannot remove '3.6-.tar.bz2': No such file or directory
mv: cannot stat '3.6': No such file or directory
UPD: Answering myself. Have to fix URL to this for older versions:
url="http://download.cdn.mozilla.net/pub/$application/releases/$version/linux-x86_64/$language/$file"
This is awesome!
One quick suggestion:
add echo 'user_pref("app.update.auto", false);' >> data/user.js; on line 58 to disable auto updates.
Thanks!
@sxiii I updated the gist with the new url
Looks like the download URL once again changed as described here:
http://ftp.mozilla.org/pub/thunderbird/releases/latest/README.txt
`
Please use download.mozilla.org to retrieve the latest Thunderbird release.
For example, if you wish to download the US English installer for Windows (32bit)
the url is
https://download.mozilla.org/?product=thunderbird-latest&os=win&lang=en-US
This could be pasted into the location bar of a browser, or used with curl or wget, e.g.
wget -O ThunderbirdSetup.exe "https://download.mozilla.org/?product=thunderbird-latest&os=win&lang=en-US"
For other operating systems replace 'os=win' with:
OS X os=osx
Linux x86_64 os=linux64
Linux i686 os=linux
For other languages replace 'lang=en-US' with:
Albanian lang=sq
Arabic lang=ar
Armenian lang=hy-AM
Asturian lang=ast
Basque lang=eu
Belarusian lang=be
Bengali (Bangladesh) lang=bn-BD
Breton lang=br
Bulgarian lang=bg
Catalan lang=ca
Chinese (Simplified) lang=zh-CN
Chinese (Traditional) lang=zh-TW
Croatian lang=hr
Czech lang=cs
Danish lang=da
Dutch lang=nl
English (British) lang=en-GB
Estonian lang=et
Finnish lang=fi
French lang=fr
Frisian lang=fy-NL
Gaelic (Scotland) lang=gd
Galician lang=gl
German lang=de
Greek lang=el
Hebrew lang=he
Hungarian lang=hu
Icelandic lang=is
Indonesian lang=id
Irish lang=ga-IE
Italian lang=it
Korean lang=ko
Lithuanian lang=lt
Lower Sorbian lang=dsb
Norwegian (Bokmål) lang=nb-NO
Norwegian (Nynorsk) lang=nn-NO
Polish lang=pl
Portuguese (Brazilian) lang=pt-BR
Portuguese (Portugal) lang=pt-PT
Punjabi (India) lang=pa-IN
Romanian lang=ro
Romansh lang=rm
Russian lang=ru
Serbian lang=sr
Sinhala lang=si
Slovak lang=sk
Slovenian lang=sl
Spanish (Argentina) lang=es-AR
Spanish (Spain) lang=es-ES
Swedish lang=sv-SE
Tamil (Sri Lanka) lang=ta-LK
Turkish lang=tr
Ukrainian lang=uk
Upper Sorbian lang=hsb
Vietnamese lang=vi
Welsh lang=cy
Mozilla Release Engineering
Email: [email protected]
Web: https://groups.google.com/forum/#!forum/mozilla.release.engineering
`