This blocks a bunch of AI scrapers from Forgejo, which seems to be particularly attractive. Especially meta-externalagent has been scraping very excessively. The list comes from https://github.com/ai-robots-txt/ai.robots.txt, let's see how often this needs updating. Change-Id: I55ae7c42c6a3eeff6f0457411a8b05d55cb24f65 Reviewed-on: https://cl.snix.dev/c/snix/+/30370 Autosubmit: Florian Klink <flokli@flokli.de> Tested-by: besadii Reviewed-by: edef <edef@edef.eu>
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			735 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			735 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ depot, ... }:
 | 
						|
 | 
						|
{
 | 
						|
  imports = [
 | 
						|
    ./base.nix
 | 
						|
  ];
 | 
						|
 | 
						|
  config = {
 | 
						|
    services.nginx.virtualHosts.forgejo = {
 | 
						|
      serverName = "git.snix.dev";
 | 
						|
      enableACME = true;
 | 
						|
      forceSSL = true;
 | 
						|
      locations."=/robots.txt".alias = "${depot.third_party.sources.ai-robots-txt}/robots.txt";
 | 
						|
      locations."/" = {
 | 
						|
        proxyPass = "http://127.0.0.1:3000";
 | 
						|
        extraConfig = ''
 | 
						|
          include ${depot.third_party.sources.ai-robots-txt + "/nginx-block-ai-bots.conf"};
 | 
						|
 | 
						|
          proxy_ssl_server_name on;
 | 
						|
          proxy_pass_header Authorization;
 | 
						|
 | 
						|
          # This has to be sufficiently large for uploading layers of
 | 
						|
          # non-broken docker images.
 | 
						|
          client_max_body_size 1G;
 | 
						|
        '';
 | 
						|
      };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |