Check downloaded file for binary or text.

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
This commit is contained in:
Dan Schaper 2017-02-20 10:25:17 -08:00
parent 70e876ee13
commit 875a5d309d
No known key found for this signature in database
GPG key ID: 572E999E385B7BFC

View file

@ -1155,17 +1155,18 @@ if [[ "${reconfigure}" == true ]]; then
FTLinstall() { FTLinstall() {
# Download and Install FTL binary # Download and Install FTL binary
local binary="${1}" local binary="${1}"
local latestURL local latesttag
echo ":::" echo ":::"
echo -n "::: Installing FTL ... " echo -n "::: Installing FTL ... "
latestURL=$(curl -sI https://github.com/pi-hole/FTL/releases/latest | grep "Location" | awk '{print $2}') latesttag=$(curl -sI https://github.com/pi-hole/FTL/releases/latest | grep "Location" | awk -F '/' '{print $NF}')
if [ ! "${latestURL}" ]; then if [ ! "${latesttag}" ]; then
echo "::: failed (error in getting latest release location from GitHub)" echo "::: failed (error in getting latest release location from GitHub)"
return 1 return 1
fi fi
if curl -sSL --fail "${latestURL%$'\r'}/${binary}" -o "/tmp/pihole-FTL"; then if curl -sSL --fail "https://github.com/pi-hole/FTL/releases/download/${latesttag}/${binary}" -o "/tmp/pihole-FTL"; then
if [[ -f /tmp/pihole-FTL ]]; then # Check if we just downloaded text, or a binary file.
if ! grep -qI '.' /tmp/pihole-FTL; then
echo "::: done" echo "::: done"
install -m 0755 /tmp/pihole-FTL /usr/bin install -m 0755 /tmp/pihole-FTL /usr/bin
touch /var/log/pihole-FTL.log /var/run/pihole-FTL.pid /var/run/pihole-FTL.port touch /var/log/pihole-FTL.log /var/run/pihole-FTL.pid /var/run/pihole-FTL.port