-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgetthunderbird.cmd
More file actions
144 lines (137 loc) · 5.02 KB
/
getthunderbird.cmd
File metadata and controls
144 lines (137 loc) · 5.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
@echo off
:getchannel
echo Select channel:
echo [1] ESR (default) [3] Beta
echo [2] Release [4] Nightly
echo:
echo [0] Check latest versions
echo Note: ESR is the stable channel for Thunderbird.
echo 'Release' despite the name is intended for testing only.
set /P _channelvalue="> "
if not defined _channelvalue set _channelvalue=1
echo:
if "%_channelvalue%"=="0" (
for /f "usebackq" %%i in (
`busybox wget -q https://product-details.mozilla.org/1.0/thunderbird_versions.json -O - ^| busybox grep -hEo "THUNDERBIRD_ESR\": \"[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?" ^| busybox grep -hEo "[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?"`
) do (
echo Thunderbird ESR: %%i
)
for /f "usebackq" %%i in (
`busybox wget -q https://product-details.mozilla.org/1.0/thunderbird_versions.json -O - ^| busybox grep -hEo "LATEST_THUNDERBIRD_VERSION\": \"[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?" ^| busybox grep -hEo "[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?"`
) do (
echo Thunderbird Release: %%i
)
for /f "usebackq" %%i in (
`busybox wget -q https://product-details.mozilla.org/1.0/thunderbird_versions.json -O - ^| busybox grep -hEo "LATEST_THUNDERBIRD_DEVEL_VERSION\": \"[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?" ^| busybox grep -hEo "[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?"`
) do (
echo Thunderbird Beta: %%i
)
for /f "usebackq" %%i in (
`busybox wget -q https://product-details.mozilla.org/1.0/thunderbird_versions.json -O - ^| busybox grep -hEo "LATEST_THUNDERBIRD_NIGHTLY_VERSION\": \"[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?" ^| busybox grep -hEo "[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?"`
) do (
echo Thunderbird Testing: %%i
)
pause
exit
)
if "%_channelvalue%"=="1" set _channel=THUNDERBIRD_ESR
if "%_channelvalue%"=="2" set _channel=LATEST_THUNDERBIRD_VERSION
if "%_channelvalue%"=="3" set _channel=LATEST_THUNDERBIRD_DEVEL_VERSION
if "%_channelvalue%"=="4" set _channel=LATEST_THUNDERBIRD_NIGHTLY_VERSION
goto :getversion
echo:
echo I couldn't understand you, pick one of the options
goto :getchannel
:getversion
echo Choose version and press Enter (leave blank for latest):
set /P _versionvalue="> "
if defined _versionvalue (
set _version=%_versionvalue%
) else (
for /f "usebackq" %%i in (
`busybox wget -q https://product-details.mozilla.org/1.0/thunderbird_versions.json -O - ^| busybox grep -hEo "%_channel%\": \"[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?" ^| busybox grep -hEo "[0-9]+\.[0-9]+((\.|[ab])[0-9]+)?(esr)?"`
) do (
set _version=%%i
)
)
for /f "tokens=1 delims=." %%i in ("%_version%") do (
set _versionmajor=%%i
)
:getlang
echo Choose language and press Enter (leave blank for English):
set /P _langvalue="> "
if defined _langvalue (
set _lang=%_langvalue%
) else (
set _lang=en-US
)
:getarchname
echo Select OS:
echo [1] Windows 64bit (default) [4] Linux 32bit
echo [2] Windows 32bit [5] Mac
echo [3] Linux 64bit
set /P _archvalue="> "
if not defined _archvalue set _archvalue=1
if "%_archvalue%"=="1" (
set _arch=win64
set _name=Thunderbird%%20Setup%%20%_version%.exe
set _namedisk=Thunderbird Setup %_version%.exe
set _namenightly=thunderbird-%_version%.%_lang%.win64.installer.exe
)
if "%_archvalue%"=="2" (
set _arch=win32
set _name=Thunderbird%%20Setup%%20%_version%.exe
set _namedisk=Thunderbird Setup %_version%.exe
set _namenightly=thunderbird-%_version%.%_lang%.win32.installer.exe
)
if "%_archvalue%"=="3" (
set _arch=linux-x86_64
if %_versionmajor% geq 135 (
set _name=thunderbird-%_version%.tar.xz
) else (
set _name=thunderbird-%_version%.tar.bz2
)
set _namenightly=thunderbird-%_version%.%_lang%.linux-x86_64.tar.xz
)
if "%_archvalue%"=="4" (
set _arch=linux-i686
if %_versionmajor% geq 135 (
set _name=thunderbird-%_version%.tar.xz
) else (
set _name=thunderbird-%_version%.tar.bz2
)
set _namenightly=thunderbird-%_version%.%_lang%.linux-i686.tar.xz
)
if "%_archvalue%"=="5" (
set _arch=mac
set _name=Thunderbird%%20%_version%.dmg
set _namedisk=Thunderbird %_version%.dmg
set _namenightly=thunderbird-%_version%.%_lang%.mac.dmg
)
if "%_archvalue%"=="6" (
set _arch=win64-aarch64
set _name=Thunderbird%%20Setup%%20%_version%.exe
set _namedisk=Thunderbird Setup %_version%.exe
set _namenightly=thunderbird-%_version%.%_lang%.win64-aarch64.installer.exe
)
goto :download
echo I couldn't understand you, pick one of the options
goto :getarchname
:download
if "%_channelvalue%"=="4" (
echo Downloading Thunderbird: https://ftp.mozilla.org/pub/thunderbird/nightly/latest-comm-central-l10n//%_namenightly%
pause
busybox wget https://ftp.mozilla.org/pub/thunderbird/nightly/latest-comm-central-l10n/%_namenightly%
) else (
echo Downloading Thunderbird: https://ftp.mozilla.org/pub/thunderbird/releases/%_version%/%_arch%/%_lang%/%_name%
pause
busybox wget https://ftp.mozilla.org/pub/thunderbird/releases/%_version%/%_arch%/%_lang%/%_name%
)
:rename
:: only for non-linux
if "%_archvalue%" neq "3" (
if "%_archvalue%" neq "4" (
rename "%_name%" "%_namedisk%"
)
)
pause