Тёмные посетители

:information_source: Краткое описание Интегрирует сервис Known Agents с Discourse для отслеживания нежелательных краулеров и скраперов, посещающих ваш форум.
:hammer_and_wrench: Ссылка на репозиторий https://github.com/magicball-network/discourse-darkvisitors
:open_book: Руководство по установке Как установить плагины в Discourse

:information_source: Начиная с 3 февраля 2026 года сервис Dark Visitors переименован в Known Agents. Название плагина для Discourse осталось прежним.

Возможности

Known Agents — это сервис, который отслеживает агентов (краулеры, скраперы и другие виды ботов), посещающих ваши веб-сайты. Основное внимание уделяется анализу ИИ-агентов.

Он предлагает два сервиса:

  • генерация и мониторинг robots.txt
  • аналитика агентов

Сервис robots.txt предоставляется бесплатно. Аналитический сервис имеет бесплатный тарифный план. Для получения дополнительной информации рекомендую посетить их сайт.

Этот плагин для Discourse подключается ко всем этим сервисам; все они являются необязательными и настраиваемыми в определенной степени.

Генерация robots.txt

Discourse уже предоставляет возможность настроить robots.txt. Этот плагин расширяет эти функции. При включении плагин получает список агентов в различных категориях (в настоящее время поддерживаются только категории ИИ) и добавляет те из них, которых нет в уже настроенном списке. Список обновляется ежедневно. Таким образом, когда новый ИИ-скрапер будет распознан, он будет добавлен в ваш robots.txt.

Эта функция работает только если Discourse управляет robots.txt и вы не переопределили его вручную. Плагин не изменяет настройку Заблокированные user agent краулеров, а дополняет robots.txt отсутствующими агентами. Поэтому вы по-прежнему полностью контролируете управление этим списком.

Когда вы посетите robots.txt вашего сайта, вы увидите комментарий в начале с датой последнего обновления и количеством агентов, возвращенных Known Agents. Агенты, которые еще не были настроены, добавляются в конец списка. Они должны находиться между Googlebot и директивой sitemap (если она настроена).

Аналитика агентов

Ее можно включить для всех посетителей или только для неавторизованных пользователей.

Серверная аналитика отправляет данные о отслеживаемых визитах в Known Agents. Она передает путь запроса, удаленный адрес посетителя, заголовок User-Agent и несколько дополнительных браузерных заголовков.

Существуют дополнительные настройки, определяющие, какие запросы передаются, см. настройки ниже. По умолчанию отслеживаются только те запросы, которые Discourse помечает как просмотры. Следующие запросы к Discourse никогда не будут передаваться:

  • Запросы к разделу Администрирования
  • Фоновые и API-запросы

Все отслеживаемые запросы учитываются в событиях, влияющих на ваш платный план.

Настройки

Для использования этого плагина необходимо зарегистрироваться в Known Agents. Бесплатный тарифный план предоставляет 100 000 событий в месяц. Когда этот лимит будет достигнут, новые события не будут отображаться в их аналитике, но вы сможете продолжать отправлять новую информацию и использовать сервис robots.txt.

После регистрации вам необходимо создать проект (то есть сайт для отслеживания). Это предоставит вам токен доступа, необходимый для функций robots.txt и серверной аналитики.

При включении функции robots.txt потребуется немного времени, прежде чем он будет обновлен. Посетите https://yoursite/robots.txt, чтобы проверить, работает ли он. Вверху должен быть комментарий:

# Augmented by Dark Visitors on 2025-05-07T12:46:00+00:00 with 28 agents

При включении серверной аналитики вы можете проверить ее работоспособность, запросив тестовый визит из настроек проекта в Known Agents. Это может занять несколько секунд. Результат должен отобразиться на странице Realtime в Known Agents.

Параметры

Название Описание
darkvisitors enabled Глобальный флаг для включения всего плагина
darkvisitors access token Секретный токен доступа, необходимый для robots.txt и серверной аналитики для взаимодействия с Known Agents. Вы найдете его в настройках вашего проекта в Known Agents.
darkvisitors robots txt enabled При включении robots.txt Discourse будет дополнен дополнительными агентами
darkvisitors robots txt agents Тип агентов, которые следует добавить в robots.txt.
darkvisitors robots txt path Путь, доступ к которому запрещается для агентов. Вероятно, лучше оставить это значение /, чтобы отклонить доступ ко всему сайту.
darkvisitors server analytics Включает серверную аналитику. Рекомендую включать ее только для анонимных пользователей.
darkvisitors server analytics include Дополнительные отслеживаемые запросы. Вы также можете отслеживать запросы к загруженным файлам или даже запросы с ошибкой 404 Not Found.
darkvisitors server analytics ignore Подстроки в user agent, которые следует игнорировать (с учетом регистра). Если вы используете мониторинг доступности, настоятельно рекомендую включить их идентифицирующий user agent в этот список.
5 лайков

Спасибо, elmuerte! Я всё настроил, и это отлично работает.

Я заметил, что в настройках плагина типы агентов, которые можно исключить через robots.txt, следующие:

  • AI Data Scraper [выбрано по умолчанию]
  • Undocumented AI Agent [выбрано по умолчанию]
  • AI Agent
  • AI Assistant
  • AI Search Crawler

Однако полный список типов агентов Dark Visitors, согласно darkvisitors.com, выглядит так:
(жирным = добавлено)

Crawlers & Scrapers…

  • AI Assistant
  • AI Data Scraper
  • AI Search Crawler
  • Archiver
  • Developer Helper
  • Fetcher
  • Intelligence Gatherer
  • Scraper
  • Search Engine Crawler
  • Security Scanner
  • SEO Crawler
  • Uncategorized Agent
  • Undocumented AI Agent

AI Agents…

  • AI Agent
  • Headless Agent

Не все эти типы агентов стоит блокировать, но я хотел бы добавить несколько из них, например: Scraper, AI Data Scraper, SEO Crawler…

Эти дополнительные типы агентов просто новее, чем ваш плагин? Можно ли добавить их в текущий список вариантов в settings.yml?

Но robots.txt — это всего лишь просьба. Робот может её выполнить или проигнорировать. Единственный способ остановить их — это фаервол.

Да, я понимаю это — но так как Dark Visitors работает только с robots.txt, я хочу, чтобы он функционировал как можно эффективнее.

(Сейчас я как раз читаю несколько постов, где вы предлагаете реальную блокировку через обратный прокси Nginx, но пока не уверен, нужно ли мне идти так далеко.)

Это немного чрезмерно. Однако Dark Visitor должен работать со списком запрещенных адресов Discourse, чтобы быть полезным на каком-то уровне. Конечно, в этом случае вам не нужно вручную добавлять, например, OpenAI или другие сервисы, которые следуют robots.txt.

Я обращался в Dark Visitors по этому поводу 3 мая этого года, и их ответ был: «На данный момент — нет». Однако я вижу, что в текущей документации перечислено ещё больше типов.

На данный момент следующие типы поддерживаются API Dark Visitors:

Я убедился, что настройку в Discourse можно расширить, добавив дополнительные типы агентов, просто указав их.

После добавления нового типа и сохранения настройки файл robots.txt должен обновиться сразу же со всеми новыми агентами.

1 лайк

Ого, я совсем пропустил поле «Поиск или создание». В моей теме там очень низкий контраст, и я его не заметил. Спасибо за разъяснение!