Lines 1-31
Link Here
|
1 |
#!/bin/sh |
1 |
#!/bin/sh |
2 |
|
2 |
|
|
|
3 |
set -eu |
3 |
echo Fetching GeoIP.dat and GeoIPv6.dat... |
4 |
echo Fetching GeoIP.dat and GeoIPv6.dat... |
4 |
|
5 |
|
5 |
TEMPFILE=`mktemp %%DATADIR%%/GeoIP.dat-XXXXXX` |
6 |
# arguments: |
6 |
if fetch -o - http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz | gunzip >> $TEMPFILE ; then |
7 |
# $1 URL |
7 |
chmod 644 $TEMPFILE |
8 |
# $2 output file name |
8 |
if ! mv $TEMPFILE %%DATADIR%%/GeoIP.dat ; then |
9 |
_fetch() { |
9 |
rm $TEMPFILE |
10 |
url="$1" |
10 |
echo Unable to overwrite %%DATADIR%%/GeoIP.dat |
11 |
out="$2" |
11 |
exit 2 |
12 |
TEMPFILE="$(mktemp "%%DATADIR%%"/GeoIP.dat-XXXXXX)" |
|
|
13 |
trap 'rc=$? ; set +e ; rm -f "'"$TEMPFILE"'" ; exit $rc' 0 |
14 |
if fetch -o - "$url" | gunzip >> "$TEMPFILE" ; then |
15 |
chmod 444 "$TEMPFILE" |
16 |
if ! mv -f "$TEMPFILE" "%%DATADIR%%"/"$2" ; then |
17 |
echo "Unable to replace %%DATADIR%%/$2" |
18 |
return 2 |
19 |
fi |
20 |
else |
21 |
echo "$2 download failed" |
22 |
return 1 |
12 |
fi |
23 |
fi |
13 |
else |
24 |
rm -f "$TEMPFILE" |
14 |
rm $TEMPFILE |
25 |
trap - 0 |
15 |
echo GeoIP.dat download failed |
26 |
return 0 |
16 |
exit 1 |
27 |
} |
17 |
fi |
|
|
18 |
|
28 |
|
19 |
TEMPFILE=`mktemp %%DATADIR%%/GeoIPv6.dat-XXXXXX` |
29 |
_fetch "http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz" GeoIP.dat |
20 |
if fetch -o - http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz | gunzip >> $TEMPFILE ; then |
30 |
|
21 |
chmod 644 $TEMPFILE |
31 |
_fetch "http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz" GeoIPv6.dat |
22 |
if ! mv $TEMPFILE %%DATADIR%%/GeoIPv6.dat ; then |
|
|
23 |
rm $TEMPFILE |
24 |
echo Unable to overwrite %%DATADIR%%/GeoIPv6.dat |
25 |
exit 2 |
26 |
fi |
27 |
else |
28 |
rm $TEMPFILE |
29 |
echo GeoIPv6.dat download failed |
30 |
exit 1 |
31 |
fi |