39 lines
1.2 KiB
Bash
39 lines
1.2 KiB
Bash
#!/bin/sh
|
|
|
|
GEODB_DIR="/config/geodb"
|
|
GEODB_FILE="$GEODB_DIR/GeoLite2-Country.mmdb"
|
|
GEODB_URL="https://git.io/GeoLite2-Country.mmdb"
|
|
TWO_WEEKS_SECONDS=1209600 # 14 * 24 * 60 * 60
|
|
|
|
mkdir -p "$GEODB_DIR"
|
|
|
|
if [ ! -f "$GEODB_FILE" ]; then
|
|
echo "GeoLite2-Country.mmdb 不存在,正在下载..."
|
|
curl -sSL "$GEODB_URL" -o "$GEODB_FILE"
|
|
if [ $? -eq 0 ]; then
|
|
echo "GeoLite2-Country.mmdb 下载成功."
|
|
else
|
|
echo "GeoLite2-Country.mmdb 下载失败."
|
|
fi
|
|
else
|
|
# 检查文件修改时间
|
|
FILE_MOD_TIME=$(stat -c %Y "$GEODB_FILE")
|
|
CURRENT_TIME=$(date +%s)
|
|
AGE=$((CURRENT_TIME - FILE_MOD_TIME))
|
|
|
|
if [ "$AGE" -ge "$TWO_WEEKS_SECONDS" ]; then
|
|
echo "GeoLite2-Country.mmdb 已超过两周未更新,正在下载新版本..."
|
|
curl -sSL "$GEODB_URL" -o "$GEODB_FILE"
|
|
if [ $? -eq 0 ]; then
|
|
echo "GeoLite2-Country.mmdb 下载成功."
|
|
else
|
|
echo "GeoLite2-Country.mmdb 下载失败."
|
|
fi
|
|
else
|
|
echo "GeoLite2-Country.mmdb 在两周内已更新,跳过下载."
|
|
fi
|
|
fi
|
|
|
|
# 执行原始的 Caddy ENTRYPOINT
|
|
exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
|