summaryrefslogtreecommitdiff
path: root/caddy/entrypoint.sh
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-07-03 00:45:51 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-07-03 00:45:51 +0900
commite14f9edcb95875e2519461690915ab3e25740e96 (patch)
tree12ca3858cbb40c71893599e13b54df9b34afe2f5 /caddy/entrypoint.sh
parentc39ec05968656aaa893ed7e4b20b7d5f5ccbe5b5 (diff)
Restrict proxy to Japan IPs using ipdeny.com CIDR list
Downloads jp-aggregated.zone from ipdeny.com at container startup (no account required). Falls back to open access if download fails. Removed caddy-maxmind-geoip module (no longer needed). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'caddy/entrypoint.sh')
-rw-r--r--caddy/entrypoint.sh20
1 files changed, 10 insertions, 10 deletions
diff --git a/caddy/entrypoint.sh b/caddy/entrypoint.sh
index 3e1ab8a..bba0fab 100644
--- a/caddy/entrypoint.sh
+++ b/caddy/entrypoint.sh
@@ -14,21 +14,21 @@ if [ "${PROXY_NO_AUTH:-0}" != "1" ] && [ -f /etc/proxy/users.conf ]; then
fi
AUTH_BLOCK=$(printf '%b' "$AUTH_LINES")
-# GeoIP Japan-only filter (active only if DB file is present)
-GEOIP_BLOCK=""
-if [ -f "/etc/caddy/GeoLite2-Country.mmdb" ]; then
- GEOIP_BLOCK=' geoip /etc/caddy/GeoLite2-Country.mmdb
- @not_japan {
- not remote_ip 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 127.0.0.1/32
- not expression `{http.vars.geoip_country_code} == "JP"`
+# JP-only filter: download CIDR list from ipdeny.com (no account required)
+JP_FILTER=""
+JP_ZONE=/tmp/jp.zone
+if wget -q -O "$JP_ZONE" --timeout=15 "https://www.ipdeny.com/ipblocks/data/aggregated/jp-aggregated.zone" 2>/dev/null && [ -s "$JP_ZONE" ]; then
+ JP_IPS=$(tr '\n' ' ' < "$JP_ZONE")
+ JP_FILTER=" @not_japan {
+ not remote_ip 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 127.0.0.1/32 ${JP_IPS}
}
- respond @not_japan 403'
+ respond @not_japan 403"
fi
cat > "$PROXY_CONF" <<EOF
http:// {
route {
-${GEOIP_BLOCK}
+${JP_FILTER}
forward_proxy {
${AUTH_BLOCK} }
redir https://{host}{uri} 308
@@ -39,7 +39,7 @@ https://proxy.yyamashita.com {
key_type rsa4096
}
route {
-${GEOIP_BLOCK}
+${JP_FILTER}
forward_proxy {
${AUTH_BLOCK} }
}