###############################################################################
TMP_PATH=$(mktemp -d)
-TMP_FILE=$(mktemp)
+TMP_FILE=$(mktemp -p $TMP_PATH)
-SCRIPT_PATH=/usr/libexec/xtables-addons
+SCRIPT_PATH=/usr/local/bin
DEST_PATH=/usr/share/xt_geoip
-DL_URL=http://geolite.maxmind.com/download/geoip/database
+DL_URL=https://geolite.maxmind.com/download/geoip/database
DL_FILE=GeoIPCountryCSV.zip
CSV_FILE=GeoIPCountryWhois.csv
ARCH=LE
+eval $(/usr/local/bin/readhash /var/ipfire/proxy/settings)
+
function download() {
echo "Downloading latest GeoIP ruleset..."
+ # Create temporary directory.
+ mkdir -pv $TMP_PATH
+
+ # Proxy settings.
+ # Check if a proxy should be used.
+ if [[ $UPSTREAM_PROXY ]]; then
+ PROXYSETTINGS="-e http_proxy=http://"
+
+ # Check if authentication against the proxy is configured.
+ if [[ $UPSTREAM_USER && $UPSTREAM_PASSWORD ]]; then
+ PROXYSETTINGS="$PROXYSETTINGS$UPSTREAM_USER:$UPSTREAM_PASSWORD@"
+ fi
+
+ # Add proxy server.
+ PROXYSETTINGS="$PROXYSETTINGS$UPSTREAM_PROXY"
+ fi
+
# Get the latest GeoIP database from server.
- wget $DL_URL/$DL_FILE -O $TMP_PATH/$TMP_FILE
+ wget $DL_URL/$DL_FILE $PROXYSETTINGS -O $TMP_FILE
# Extract files.
- unzip $TMP_PATH/$TMP_FILE -d $TMP_PATH
+ unzip $TMP_FILE -d $TMP_PATH
return 0
}
# Run script to convert the CSV file into several xtables
# compatible binary files.
- if ! $SCRIPT_PATH/xt_geoip_build $TMP_DIR/$CSV_FILE -D $TMP_DIR; then
+ if ! $SCRIPT_PATH/xt_geoip_build $TMP_PATH/$CSV_FILE -D $TMP_PATH; then
echo "Could not convert ruleset. Aborting." >&2
return 1
fi