Files
custom-containerfile/caddy/update_geodb.sh
T
2026-04-27 08:47:19 +00:00

36 lines
1.0 KiB
Bash

#!/bin/sh
GEODB_DIR="/config/geodb"
GEODB_FILE="$GEODB_DIR/GeoLite2-Country.mmdb"
GEODB_URL="https://github.com/P3TERX/GeoLite.mmdb/releases/latest/download/GeoLite2-Country.mmdb"
INTERVAL_SECONDS=259200 # 3 * 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 "$INTERVAL_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