Ядовитый фонтан дискурса

:information_source: Краткое описание Добавляет скрытые ссылки на контент, который может отравить веб-скрейперы, не соблюдающие правила.
:hammer_and_wrench: Ссылка на репозиторий https://github.com/elmuerte/discourse-poison-fountain
:open_book: Руководство по установке Как установить плагины в Discourse

Возможности

На каждой сгенерированной странице добавляются ссылки на страницы с отравленным контентом. Если недобросовестный веб-скрейпер использует этот контент для обучения LLM, это негативно повлияет на итоговую модель.

Эти ссылки скрыты от пользователей: они помечены атрибутом rel="nofollow", а по умолчанию файл robots.txt указывает веб-паукам не индексировать такой контент. Скрытые ссылки добавляются только для неаутентифицированных запросов.

По умолчанию плагин использует отравленный контент с сайта RNSAFFN. Дополнительную информацию можно найти на этой странице. Источник отравления можно изменить в настройках.

Отравленный контент предоставляется через страницы с URL-адресами вида /dpf/<случайный-слэг>/<id>. При использовании настроек по умолчанию можно создать правило fail2ban для этого пути, блокируя IP-адреса, которые запрашивают страницы из /dpf/ несколько раз, чтобы отпугнуть вредоносных скрейперов.

Настройка

Для работы плагина достаточно просто установить и включить его — он начнёт работать в фоновом режиме. Также можно настроить дополнительные параметры.

Параметры

Таблица параметров и их описаний:

Имя Описание
poison_fountain_source Веб-сайт, генерирующий контент, который будет предоставляться через отравленные страницы.
poison_fountain_textual_only Принимать только текстовый контент от источника отравления. Это предотвратит передачу бинарного контента.
poison_fountain_force_plain_text Всегда предоставлять контент в формате text/plain, даже если источник указал другой формат, например HTML.
poison_fountain_update_robots_txt Включено по умолчанию: добавляет отравленный контент в список исключений. Веб-пауки, соблюдающие robots.txt, полностью игнорируют такой контент.
poison_fountain_cache_hours Время кэширования контента (в часах) перед получением нового. Максимум — 24 часа.
poison_fountain_entries Количество сохраняемых отравленных записей.
poison_fountain_link_count Количество ссылок, добавляемых на сгенерированные HTML-страницы.

Этот проект не аффилирован с RNSAFFN. Он обеспечивает интеграцию с их сервисом. Эту интеграцию можно настроить для использования другого аналогичного сервиса.

Пользуясь этим плагином, вы доверяете контент, генерируемый выбранным источником отравления, и передаёте его дальше. По умолчанию плагин старается сделать этот контент «в основном безвредным», предоставляя только текстовый контент в формате plain text.

8 лайков

Мне нравится эта идея. Спасибо, что поделились.

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

На случай, если кому-то интересно такое :slight_smile:

# В качестве условия доступа к этому веб-сайту вы соглашаетесь соблюдать следующие
# сигналы контента:

# (a) Если Content-Signal = yes, вы можете собирать контент для соответствующего
#      использования.
# (b) Если Content-Signal = no, вы не можете собирать контент для
#      соответствующего использования.
# (c) Если оператор веб-сайта не включает Content-Signal для
#      соответствующего использования, оператор веб-сайта ни предоставляет, ни ограничивает
#      разрешение через Content-Signal в отношении соответствующего использования.

# Сигналы контента и их значения:

# search:   создание поискового индекса и предоставление результатов поиска (например, возврат
#           гиперссылок и коротких выдержек из содержимого вашего веб-сайта). Поиск не включает
#           предоставление поисковых сводок, сгенерированных ИИ.
# ai-input: ввод контента в одну или несколько моделей ИИ (например, извлечение
#           с дополненной генерацией, привязка или другое реальное использование контента для
#           поисковых ответов генеративного ИИ).
# ai-train: обучение или дообучение моделей ИИ.

# ЛЮБЫЕ ОГРАНИЧЕНИЯ, ВЫРАЖЕННЫЕ ЧЕРЕЗ СИГНАЛЫ КОНТЕНТА, ЯВЛЯЮТСЯ ЯВНЫМИ ЗАПРЕТАМИ ПРАВ
# ПО СТАТЬЕ 4 ДИРЕКТИВЫ ЕВРОПЕЙСКОГО СОЮЗА 2019/790 ОБ АВТОРСКОМ ПРАВЕ И СМЕЖНЫХ ПРАВАХ
# НА ЕДИНОМ ЦИФРОВОМ РЫНКЕ.

# НАЧАЛО управляемого Cloudflare контента

User-agent: *
Content-Signal: search=yes,ai-train=no
Allow: /

User-agent: Amazonbot
Disallow: /

User-agent: Applebot-Extended
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: GPTBot
Disallow: /

User-agent: meta-externalagent
Disallow: /

# КОНЕЦ управляемого Cloudflare контента

User-agent: *
Disallow: /lp
Disallow: /feedback
Disallow: /langtest


Sitemap: https://www.crawlstop.com/sitemap.xml