Minecraft плагин для прокси Velocity и BungeeCord, предназначенный для блокировки IP адресов пользователей по AutonomousSystemNumber (ASN). Блокировка по ASN позволяет серверам защититься от ботов на уровне L7. Заблокированные ASN указываются списком в конфигурации.
Warning
Данное решение является костылём не гарантирует полноценную защиту от всех ботов,
однако, оно корректно выполняет задуманный функционал.
Официальные сборки доступны на GitHub Releases.
Локализация находится в директории translations плагина, поддерживает формат MiniMessage.
Файлы локализации создаются автоматически при первом запуске.
Сообщение о блокировке пользователя по ASN настраивается с помощью ключа asnblacklist.message.kick.
Пример:
asnblacklist.message.kick=<lang:asnblacklist.prefix>Ваш ASN заблокирован на данном сервере.
Если необходимо вывести сообщение с переносами строк, то необходимо использовать тег <newline>.
Пример:
asnblacklist.message.kick=<lang:asnblacklist.prefix><newline>\ Ваш ASN заблокирован на данном сервере.
Все форматы времени указываются в стандарте ISO 8601, например:
PT6H→ 6 часовP3D→ 3 дняP2DT3H4M→ 2 дня, 3 часа, 4 минуты
Список заблокированных ASN. Узнать информацию или получить номер ASN можно на сайте bgp.tools
Пример:
asn-blacklist: - "AS35048" # Значение с префиксом AS - "53667" # Значение без префикса AS
Настройки базы MaxMind.
api-key— Ключ API MaxMind. Конфигурация по умолчанию уже содержит действующий. При необходимости можно использовать собственный ключ, сгенерированный на сайте MaxMind.file— Путь к локальному файлу базы данных.ttl— Срок хранения локальной базы данных (в ISO 8601). После истечения срока база данных будет загружена повторно.Пример:
maxmind-database: api-key: "apiKey" file: "GeoLite2-ASN.mmdb" ttl: "P3D"
Продолжительность кэша для проверенных ASN (в ISO 8601).
Пример:
cache-ttl: "PT12H"
/asnblacklist- Основная команда. Алиасы -/asnbl/asnblacklist add <asn>- Добавить ASN в список заблокированных./asnblacklist remove <asn>- Удалить ASN из списка заблокированных./asnblacklist list- Получить список ASN, находящихся в блокировке./asnblacklist reload- Перезагрузить конфигурацию и локализацию.
Для сборки данного проекта вам потребуется JDK 17 или выше.
Сборка осуществляется набором следующих команд:
git clone https://github.com/novitpw/asn-blacklist.git
cd asn-blacklist
./gradlew buildПосле успешной сборки бинарные фалы JAR можно найти в директории ./output.
Используйте трекер проблем GitHub для сообщений об ошибках и предложений.
Проект распространяется под лицензией GNU GPL v3.0.

