|
|
|
@ -457,7 +457,7 @@ parseList() {
|
|
|
|
|
# Download specified URL and perform checks on HTTP status and file content
|
|
|
|
|
gravity_DownloadBlocklistFromUrl() {
|
|
|
|
|
local url="${1}" cmd_ext="${2}" agent="${3}" adlistID="${4}" saveLocation="${5}" target="${6}"
|
|
|
|
|
local heisenbergCompensator="" patternBuffer str httpCode success=""
|
|
|
|
|
local heisenbergCompensator="" patternBuffer str httpCode success="" compression
|
|
|
|
|
|
|
|
|
|
# Create temp file to store content on disk instead of RAM
|
|
|
|
|
patternBuffer=$(mktemp -p "/tmp" --suffix=".phgpb")
|
|
|
|
@ -505,8 +505,18 @@ gravity_DownloadBlocklistFromUrl() {
|
|
|
|
|
echo -ne " ${INFO} ${str} Pending..."
|
|
|
|
|
cmd_ext="--resolve $domain:$port:$ip $cmd_ext"
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Use compression to reduce the amount of data that is transfered
|
|
|
|
|
# between the Pi-hole and the ad list provider. Use this feature
|
|
|
|
|
# only if it is supported by the locally available version of curl
|
|
|
|
|
if curl -V | grep -q "Features:.* libz"; then
|
|
|
|
|
compression="--compressed"
|
|
|
|
|
else
|
|
|
|
|
compression=""
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# shellcheck disable=SC2086
|
|
|
|
|
httpCode=$(curl -s -L ${cmd_ext} ${heisenbergCompensator} -w "%{http_code}" -A "${agent}" "${url}" -o "${patternBuffer}" 2> /dev/null)
|
|
|
|
|
httpCode=$(curl -s -L ${compression} ${cmd_ext} ${heisenbergCompensator} -w "%{http_code}" -A "${agent}" "${url}" -o "${patternBuffer}" 2> /dev/null)
|
|
|
|
|
|
|
|
|
|
case $url in
|
|
|
|
|
# Did we "download" a local file?
|
|
|
|
|