#!/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