Add --url option to download/extract adguard archive
This commit is contained in:
parent
42356201ca
commit
15589b0a0c
|
@ -49,6 +49,9 @@ EXAMPLE :
|
||||||
- Specify the path to AdGuardHome binary
|
- Specify the path to AdGuardHome binary
|
||||||
check.adguard.update --bin /home/adguard/AdGuardHome/AdGuardHome
|
check.adguard.update --bin /home/adguard/AdGuardHome/AdGuardHome
|
||||||
|
|
||||||
|
- Download ARMv7 version if it's a newer version
|
||||||
|
check.adguard.update --url "https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv7.tar.gz"
|
||||||
|
|
||||||
OPTIONS :
|
OPTIONS :
|
||||||
-b,--bin
|
-b,--bin
|
||||||
Specify the path of AdGuard Home's binary
|
Specify the path of AdGuard Home's binary
|
||||||
|
@ -58,6 +61,11 @@ OPTIONS :
|
||||||
Set the path to the temp file that will be create and
|
Set the path to the temp file that will be create and
|
||||||
that should be monitored (default: ${ADGUARD_NEW_VERSION_FILE_DEFAULT}).
|
that should be monitored (default: ${ADGUARD_NEW_VERSION_FILE_DEFAULT}).
|
||||||
|
|
||||||
|
-u,--url
|
||||||
|
Set the URL to use to download the last version of AdGuard Home (default: empty).
|
||||||
|
See the list of possible URLs on :
|
||||||
|
https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started
|
||||||
|
|
||||||
-d,--debug
|
-d,--debug
|
||||||
Enable debug messages.
|
Enable debug messages.
|
||||||
|
|
||||||
|
@ -116,6 +124,23 @@ Test var: ${1}."
|
||||||
|
|
||||||
}
|
}
|
||||||
# }}}
|
# }}}
|
||||||
|
is_var_nonempty() { # {{{
|
||||||
|
|
||||||
|
local_var_nonempty="${1}"
|
||||||
|
|
||||||
|
## Return False by default
|
||||||
|
return_var_nonempty="1"
|
||||||
|
|
||||||
|
debug_message "is_var_nonempty − \
|
||||||
|
Test var: ${1}."
|
||||||
|
### Test if var lenght is nonzero and set return value to True
|
||||||
|
[ -n "${local_var_nonempty}" ] && return_var_nonempty="0"
|
||||||
|
|
||||||
|
unset local_var_nonempty
|
||||||
|
|
||||||
|
return "${return_var_nonempty}"
|
||||||
|
}
|
||||||
|
# }}}
|
||||||
define_vars() { # {{{
|
define_vars() { # {{{
|
||||||
|
|
||||||
## If adguard_bin wasn't defined (argument,...) {{{
|
## If adguard_bin wasn't defined (argument,...) {{{
|
||||||
|
@ -146,26 +171,41 @@ main() { # {{{
|
||||||
## Define all vars according to selected options
|
## Define all vars according to selected options
|
||||||
define_vars
|
define_vars
|
||||||
|
|
||||||
## Test adguard_current_version
|
## Test adguard_current_version {{{
|
||||||
## AND exit with error 2
|
## AND exit with error 2
|
||||||
is_var_empty "${adguard_current_version}" \
|
is_var_empty "${adguard_current_version}" \
|
||||||
&& error_message "adguard_current_version seems empty (${adguard_current_version})." 2
|
&& error_message "adguard_current_version seems empty (${adguard_current_version})." 2
|
||||||
|
## }}}
|
||||||
|
|
||||||
## Test adguard_new_version
|
## Test adguard_new_version {{{
|
||||||
## AND exit with error 3
|
## AND exit with error 3
|
||||||
is_var_empty "${adguard_new_version}" \
|
is_var_empty "${adguard_new_version}" \
|
||||||
&& error_message "adguard_new_version seems empty (${adguard_new_version}), exit without error." 3
|
&& error_message "adguard_new_version seems empty (${adguard_new_version}), exit without error." 3
|
||||||
|
## }}}
|
||||||
|
|
||||||
## Check if the current version is the last one {{{
|
## Check if the current version is the last one {{{
|
||||||
if [ "${adguard_current_version}" != "${adguard_new_version}" ]; then
|
if [ "${adguard_current_version}" != "${adguard_new_version}" ]; then
|
||||||
debug_message "Test AdGuard Home version − \
|
debug_message "Test AdGuard Home version − \
|
||||||
Current version (${adguard_current_version}) and new one (${adguard_new_version}) seems to be different."
|
Current version (${adguard_current_version}) and new one (${adguard_new_version}) seems to be different."
|
||||||
|
|
||||||
## Create a temp file to monitor
|
## Create a temp file to monitor {{{
|
||||||
debug_message "Test AdGuard Home version − \
|
debug_message "Test AdGuard Home version − \
|
||||||
Create ${adguard_new_version_file} temp file to monitore."
|
Create ${adguard_new_version_file} temp file to monitore."
|
||||||
touch -- "${adguard_new_version_file}"
|
touch -- "${adguard_new_version_file}"
|
||||||
printf '\e[1;35m%-6s\e[m\n' "An upgrade is available for AdGuard Home (current : ${adguard_current_version}) : ${adguard_new_version}." >> "${adguard_new_version_file}"
|
printf '\e[1;35m%-6s\e[m\n' "An upgrade is available for AdGuard Home (current : ${adguard_current_version}) : ${adguard_new_version}." >> "${adguard_new_version_file}"
|
||||||
|
## }}}
|
||||||
|
|
||||||
|
## If an URL was set {{{
|
||||||
|
if is_var_nonempty "${adguard_new_version_url}"; then
|
||||||
|
debug_message "Download AdGuard Home new version − \
|
||||||
|
Download new archive from ${adguard_new_version_url} and extract to /tmp/ ."
|
||||||
|
#wget --quiet "${adguard_new_version_url}" -O - | tar xz --transform="s/AdGuardHome/AdGuardHome.to.upgrade/g" --strip-components 2
|
||||||
|
wget --quiet "${adguard_new_version_url}" -O - | tar --extract --gzip --directory=/tmp --strip-components 2 ./AdGuardHome
|
||||||
|
#mv AdGuardHome.to.upgrade "${adguard_bin}.to.upgrade"
|
||||||
|
mv --force /tmp/AdGuardHome "${adguard_bin}.to.upgrade" \
|
||||||
|
|| error_message "Can't move /tmp/AdGuardHome to ${adguard_bin}.to.upgrade ." 4
|
||||||
|
fi
|
||||||
|
## }}}
|
||||||
|
|
||||||
else
|
else
|
||||||
debug_message "Test AdGuard Home version − \
|
debug_message "Test AdGuard Home version − \
|
||||||
|
@ -215,6 +255,12 @@ if [ ! "${NBARGS}" -eq "0" ]; then
|
||||||
## Define adguard_new_version_file
|
## Define adguard_new_version_file
|
||||||
adguard_new_version_file="${1}"
|
adguard_new_version_file="${1}"
|
||||||
;;
|
;;
|
||||||
|
-u|--url ) ## Set new version URL
|
||||||
|
## Move to the next argument
|
||||||
|
shift
|
||||||
|
## Define adguard_new_version_url
|
||||||
|
adguard_new_version_url="${1}"
|
||||||
|
;;
|
||||||
-- ) ## End of options list
|
-- ) ## End of options list
|
||||||
## End the while loop
|
## End the while loop
|
||||||
break
|
break
|
||||||
|
|
Loading…
Reference in New Issue