diff --git a/prog/media-server/proxy/Caddyfile b/prog/media-server/proxy/Caddyfile index 7ae2d9f..43bed2e 100644 --- a/prog/media-server/proxy/Caddyfile +++ b/prog/media-server/proxy/Caddyfile @@ -45,6 +45,14 @@ import /etc/caddy/local.d/Caddyfile.global } } +(ban_bots) { + # Adapted from https://darthvi.com/post/forbidden-for-robots/ + @botForbidden header_regexp User-Agent "(?i)AdsBot-Google|Amazonbot|anthropic-ai|Applebot|Applebot-Extended|AwarioRssBot|AwarioSmartBot|Bytespider|CCBot|ChatGPT|ChatGPT-User|Claude-Web|ClaudeBot|cohere-ai|DataForSeoBot|Diffbot|FacebookBot|Google-Extended|GPTBot|ImagesiftBot|magpie-crawler|omgili|Omgilibot|peer39_crawler|PerplexityBot|YouBot" + handle @botForbidden { + import error_pages 403 + } +} + (service_proxy_to) { #(service, TLD, service_host, port) http://{args[0]}.{args[1]} { @@ -54,6 +62,8 @@ import /etc/caddy/local.d/Caddyfile.global https://{args[0]}.{args[1]} { # authorize with guests_policy reverse_proxy {args[2]}:{args[3]} + + import ban_bots handle_errors 5xx { import error_pages {err.status_code} } @@ -69,6 +79,8 @@ import /etc/caddy/local.d/Caddyfile.global https://{args[0]}.{args[1]} { import authelia_forward_auth {args[1]} reverse_proxy {args[2]}:{args[3]} + + import ban_bots handle_errors 5xx { import error_pages {err.status_code} }