JasonLovesDoggo/caddy-defender

GitHub: JasonLovesDoggo/caddy-defender

Caddy 中间件插件,通过 IP 过滤拦截或反制 AI 爬虫,支持返回垃圾数据污染训练集及 Tarpit 陷阱。

Stars: 508 | Forks: 20

## **Caddy Defender 插件** **Caddy Defender** 插件是一个 Caddy 中间件,允许您根据客户端的 IP 地址拦截或操作请求。它对于防止恶意流量或通过返回垃圾数据来污染 AI 训练数据特别有用。 ## **功能特性** - **IP 范围过滤**:拦截或操作来自特定 IP 范围的请求。 - **内置 IP 范围**:为热门 AI 服务(例如 OpenAI、DeepSeek、GitHub Copilot)预设的 IP 范围。 - **自定义 IP 范围**:通过 Caddyfile 配置添加您自己的 IP 范围。 - **多种响应器后端**: - **Block**:返回 `403 Forbidden` 响应。 - **Custom**:返回自定义消息。 - **Drop**:断开连接。 - **Garbage**:返回垃圾数据以污染 AI 训练。 - **Redirect**:返回带有自定义 URL 的 `308 Permanent Redirect` 响应。 - **Ratelimit**:对请求进行速率限制,可通过 [caddy-ratelimit](https://github.com/mholt/caddy-ratelimit) 配置。 - **Tarpit**:以较慢且可配置的速率流式传输数据,以拖延机器人并污染 AI 训练。 ## **安装** ### **使用 Docker** 使用 Caddy Defender 插件最简单的方法是使用预构建的 Docker 镜像。 1. **拉取 Docker 镜像**: docker pull ghcr.io/jasonlovesdoggo/caddy-defender:latest 2. **运行容器**: 使用以下命令通过您的 `Caddyfile` 运行容器: docker run -d \ --name caddy \ -v /path/to/Caddyfile:/etc/caddy/Caddyfile \ -p 80:80 -p 443:443 \ ghcr.io/jasonlovesdoggo/caddy-defender:latest 将 `/path/to/Caddyfile` 替换为您的 `Caddyfile` 路径。 有关其他安装方法,请参阅[在线文档](https://JasonLovesDoggo.github.io/caddy-defender/installation/)。 ## **配置** ### **Caddyfile 语法** `defender` 指令用于配置 Caddy Defender 插件。其语法如下: ``` defender { message ranges url } ``` - ``:要使用的响应器后端。支持的值有: - `block`:返回 `403 Forbidden` 响应。 - `custom`:返回自定义消息(需要 `message`)。 - `drop`:断开连接。 - `garbage`:返回垃圾数据以污染 AI 训练。 - `redirect`:返回 `308 Permanent Redirect` 响应(需要 `url`)。 - `ratelimit`:标记请求以进行速率限制(需要同时安装 [Caddy-Ratelimit](https://github.com/mholt/caddy-ratelimit))。 - `tarpit`:以较慢且可配置的速率流式传输数据,以拖延机器人并污染 AI 训练。 - ``:可选的 CIDR 范围列表或用于匹配客户端 IP 的预定义范围键。默认为 [`aws azurepubliccloud deepseek gcloud githubcopilot openai`](./plugin.go)。 - ``:使用 `custom` 响应器时返回的自定义消息。 - ``:`redirect` 响应器重定向到的 URI。 有关配置的更多信息,请参阅网站上的[配置页面](https://JasonLovesDoggo.github.io/caddy-defender/config/)。 ## **快速开始** [文档网站](https://JasonLovesDoggo.github.io/caddy-defender/) 包含有关插件配置、代码示例等的信息。 为了快速上手,请遵循[入门指南](https://JasonLovesDoggo.github.io/caddy-defender/intro/),使用 *Caddy Defender 插件* 保护您的服务器。 ## 示例请查看 [docs/examples.md](docs/examples.md) ## **内置 IP 范围** 该插件包含热门 AI 服务的预定义 IP 范围。这些范围嵌入在二进制文件中,无需额外配置即可使用。 | 服务 | 键 | IP 范围 | | :------------------------------------------------------------------: | :-----------------------------------------: | :------------------------------------------------: | | Alibaba Cloud | aliyun | [aliyun.go](ranges/fetchers/aliyun.go) | | VPNs | vpn | [vpn.go](ranges/fetchers/vpn.go) | | AWS | aws | [aws.go](ranges/fetchers/aws/aws.go) | | AWS 区域 | aws-us-east-1, aws-us-west-1, aws-eu-west-1 | [aws_region.go](ranges/fetchers/aws/aws_region.go) | | DeepSeek | deepseek | [deepseek.go](ranges/fetchers/deepseek.go) | | GitHub Copilot | githubcopilot | [github.go](ranges/fetchers/github.go) | | Google Cloud Platform | gcloud | [gcloud.go](ranges/fetchers/gcloud.go) | | Oracle Cloud Infrastructure | oci | [oracle.go](ranges/fetchers/oracle.go) | | Microsoft Azure | azurepubliccloud | [azure.go](ranges/fetchers/azure.go) | | OpenAI | openai | [openai.go](ranges/fetchers/openai.go) | | Mistral | mistral | [mistral.go](ranges/fetchers/mistral.go) | | Vultr | vultr | [vultr.go](ranges/fetchers/vultr.go) | | Cloudflare | cloudflare | [cloudflare.go](ranges/fetchers/cloudflare.go) | | Digital Ocean | digitalocean | [digitalocean.go](ranges/fetchers/digitalocean.go) | | Linode | linode | [linode.go](ranges/fetchers/linode.go) | | [私有](https://caddyserver.com/docs/caddyfile/matchers#remote-ip) | private | [private.go](ranges/fetchers/private.go) | | 所有 IP 地址 | all | [all.go](ranges/fetchers/all.go) | ## 默认禁用(需要在构建时手动包含) | 服务 | 键 | IP 范围 | | :-----------------------------: | :-: | :------------------------------: | | Tor 出口节点 | tor | [tor.go](ranges/fetchers/tor.go) | | ASN(自治系统号) | asn | [asn.go](ranges/fetchers/asn.go) | 欢迎补充!如需预编译列表,请参阅[嵌入结果](ranges/data/generated.go) ## **许可证** 本项目基于 **MIT 许可证** 授权。详情请参阅 [LICENSE](LICENSE) 文件。 ## **致谢** - [本项目的灵感来源](https://www.reddit.com/r/selfhosted/comments/1i154h7/comment/m73pj9t/)。 - [bart](https://github.com/gaissmai/bart) - [Karl Gaissmaier](https://github.com/gaissmai) 的高效路由表实现(Balanced ART 适配),助力我们实现高性能 IP 匹配 - 使用 [Caddy](https://caddyserver.com) 用 ❤️ 构建。 ## Star 趋势 [![Star History Chart](https://api.star-history.com/svg?repos=JasonLovesDoggo/caddy-defender&type=Date)](https://star-history.com/#JasonLovesDoggo/caddy-defender&Date)
标签:AI训练防御, Caddy, CISA项目, Docker, EVTX分析, GitHub Copilot, Go语言, IP过滤, OpenAI, Streamlit, Tarpit, WAF, Web服务器, 中间件, 内存规避, 反爬虫, 安全防御评估, 数据污染, 日志审计, 流量清洗, 爬虫对抗, 程序破解, 网络安全, 网络安全, 访问控制, 请求拦截, 配置错误, 隐私保护, 隐私保护