Supported AI Services
Caddy Defender includes IP ranges for major AI services and their web crawlers. These are commonly used to block or allow AI bots that index content for training data.OpenAI
IP ranges for OpenAI services including ChatGPT, GPTBot, and SearchBot.Sources:Fetcher:
fetchers.OpenAIFetcher in ranges/fetchers/openai.go:19-71Documentation: OpenAI Crawler OverviewOpenAI Data Structure
The fetcher aggregates ranges from three separate endpoints:Example Usage
DeepSeek
Hardcoded IP ranges for DeepSeek AI services.Source: DeepSource IP DocumentationFetcher:
fetchers.DeepSeekFetcher in ranges/fetchers/deepseek.go:12-20Default Ranges:35.225.112.198/3234.42.70.44/32104.154.172.152/32
DeepSeek ranges are hardcoded as the service provides a static list rather than a dynamic API endpoint.
Example Usage
GitHub Copilot
IP ranges for GitHub Copilot services.Source: GitHub Meta APIFetcher:
fetchers.GithubCopilotFetcher in ranges/fetchers/github.go:22-68Documentation: GitHub IP AddressesFetcher Implementation
The GitHub Copilot fetcher extracts thecopilot key from the GitHub Meta API:
Example Usage
Mistral AI
IP ranges for Mistral AI services.Source: Mistral AI IPs JSONFetcher:
fetchers.MistralFetcher in ranges/fetchers/mistral.go:21-53Mistral Data Structure
Example Usage
Common Use Cases
Block All AI Crawlers
Block All AI Crawlers
Prevent AI services from indexing your content:
Allow Only Specific AI Services
Allow Only Specific AI Services
Block all AI services except GitHub Copilot:
Rate Limit AI Crawlers
Rate Limit AI Crawlers
Instead of blocking, apply rate limiting:
Serve robots.txt to AI Bots
Serve robots.txt to AI Bots
Return a robots.txt file that disallows crawling:This will serve a robots.txt that disallows all paths when AI bots request it.
Combining with Custom Ranges
You can mix AI service ranges with custom CIDR blocks:Legal Considerations
Before blocking AI crawlers, consider:
- Your robots.txt policy
- Terms of service for AI companies
- Potential impact on discoverability
- Legal jurisdictions regarding data scraping
Monitoring AI Traffic
To monitor AI bot traffic before blocking:-
Use the
customresponder to log requests: - Analyze your logs for AI bot patterns
- Adjust your blocking strategy based on findings
Keeping Ranges Updated
AI services may update their IP ranges periodically:- Rebuild regularly: Run
go run ranges/main.goto fetch latest ranges - Monitor announcements: Follow AI service blogs for IP range updates
- Automate updates: Include range updates in your deployment pipeline