diff --git a/README.md b/README.md index 1e042de..b50f759 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,17 @@ # ai.robots.txt - +No AI entry logo This list contains AI-related crawlers of all types, regardless of purpose. We encourage you to contribute to and implement this list on your own site. See [information about the listed crawlers](./table-of-bot-metrics.md) and the [FAQ](https://github.com/ai-robots-txt/ai.robots.txt/blob/main/FAQ.md). A number of these crawlers have been sourced from [Known Agents](https://knownagents.com) and we appreciate the ongoing effort they put in to track these crawlers. -If you'd like to add information about a crawler to the list, please make a pull request with the bot name added to `robots.txt`, `ai.txt`, and any relevant details in `table-of-bot-metrics.md` to help people understand what's crawling. +If you'd like to add an AI-related crawler to the list, please see "Contributing" below. ## Usage This repository provides the following files: + - `robots.txt` - `.htaccess` - `nginx-block-ai-bots.conf` @@ -27,13 +28,16 @@ Note that, as stated in the [httpd documentation](https://httpd.apache.org/docs/ `Caddyfile` includes a Header Regex matcher group you can copy or import into your Caddyfile, the rejection can then be handled as followed `abort @aibots` -`haproxy-block-ai-bots.txt` may be used to configure HAProxy to block AI bots. To implement it; +`haproxy-block-ai-bots.txt` may be used to configure HAProxy to block AI bots. To implement it: + 1. Add the file to the config directory of HAProxy -2. Add the following lines in the `frontend` section; +2. Add the following lines in the `frontend` section: + ``` acl ai_robot hdr_sub(user-agent) -i -f /etc/haproxy/haproxy-block-ai-bots.txt http-request deny if ai_robot ``` + (Note that the path of the `haproxy-block-ai-bots.txt` may be different in your environment.) `lighttpd-block-ai-bots.conf` can be included with `include "fragments/lighttpd-block-ai-bots.conf"` in your lighttpd configuration either globally or in any conditional section. @@ -57,10 +61,13 @@ file on-the-fly. A note about contributing: updates should be added/made to `robots.json`. A GitHub action will then generate the updated `robots.txt`, `table-of-bot-metrics.md`, `.htaccess` and `nginx-block-ai-bots.conf`. You can run the tests by [installing](https://www.python.org/about/gettingstarted/) Python 3, installing the dependencies: + ```console pip install -r requirements.txt ``` + and then issuing: + ```console code/tests.py ``` @@ -71,21 +78,18 @@ The `.editorconfig` file provides standard editor options for this project. See Admins may ship a new release `v1.n` (where `n` increments the minor version of the current release) as follows: -* Navigate to the [new release page](https://github.com/ai-robots-txt/ai.robots.txt/releases/new) on GitHub. -* Click `Select tag`, choose `Create new tag`, enter `v1.n` in the pop-up, and click `Create`. -* Enter a suitable release title (e.g. `v1.n: adds user-agent1, user-agent2`). -* Click `Generate release notes`. -* Click `Publish release`. +- Navigate to the [new release page](https://github.com/ai-robots-txt/ai.robots.txt/releases/new) on GitHub. +- Click `Select tag`, choose `Create new tag`, enter `v1.n` in the pop-up, and click `Create`. +- Enter a suitable release title (e.g. `v1.n: adds user-agent1, user-agent2`). +- Click `Generate release notes`. +- Click `Publish release`. A GitHub action will then add the asset `robots.txt` to the release. That's it. ## Subscribe to updates You can subscribe to list updates via RSS/Atom with the releases feed: - -``` -https://github.com/ai-robots-txt/ai.robots.txt/releases.atom -``` +`https://github.com/ai-robots-txt/ai.robots.txt/releases.atom`. You can subscribe with [Feedly](https://feedly.com/i/subscription/feed/https://github.com/ai-robots-txt/ai.robots.txt/releases.atom), [Inoreader](https://www.inoreader.com/?add_feed=https://github.com/ai-robots-txt/ai.robots.txt/releases.atom), [The Old Reader](https://theoldreader.com/feeds/subscribe?url=https://github.com/ai-robots-txt/ai.robots.txt/releases.atom), [Feedbin](https://feedbin.me/?subscribe=https://github.com/ai-robots-txt/ai.robots.txt/releases.atom), or any other reader app. @@ -102,6 +106,7 @@ implements RSL as well as payment processing for WordPress sites. If you use [Cloudflare's hard block](https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click) alongside this list, you can report abusive crawlers that don't respect `robots.txt` [here](https://docs.google.com/forms/d/e/1FAIpQLScbUZ2vlNSdcsb8LyTeSF7uLzQI96s0BKGoJ6wQ6ocUFNOKEg/viewform). But even if you don't use Cloudflare's hard block, their list of [verified bots](https://radar.cloudflare.com/traffic/verified-bots) may come in handy. + ## Additional resources - [Blocking Bots with Nginx](https://rknight.me/blog/blocking-bots-with-nginx/) by Robb Knight