▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/AsnBlacklist
AsnBlacklist

AsnBlacklist

Plugin for Velocity and BungeeCord proxies to block IP addresses by ASN.

98
2

Plugin for Velocity and BungeeCord proxies that blocks user IPs based on their AutonomousSystemNumber (ASN). Protect your server against Layer 7 bot attacks with ASN-level filtering.

WARNING! This solution is quick fix does not guarantee complete protection against all bots, however, it correctly performs the intended functionality.

Localization

The localization files are located in the translations directory of the plugin and support the MiniMessage format. Localization files are generated automatically on the first plugin startup. The message shown when a user is blocked by ASN can be configured using the asnblacklist.message.kick key.

Example:

asnblacklist.message.kick=<lang:asnblacklist.prefix>Your ASN is blacklisted on this server.

Disconnect reason

If you need to display a message with line breaks, use the <newline> tag.

Example:

asnblacklist.message.kick=<lang:asnblacklist.prefix><newline>\
  Your ASN is blacklisted on this server.

Configuration

All duration formats must be specified using the standard ISO 8601 format, for example:

  • PT6H → 6 hours
  • P3D → 3 days
  • P2DT3H4M → 2 days, 3 hours, 4 minutes

asn-blacklist

Blacklisted ASN. You can look up information or obtain the ASN number on website bgp.tools

Example:

asn-blacklist:
  - "AS35048" # Value with the AS prefix
  - "53667" # Value without the AS prefix

maxmind-database

MaxMind database settings.

  • api-key — MaxMind API key. The default configuration already includes a valid one. If necessary, you can use your own key generated on the MaxMind website.
  • file — Path to the local database file
  • ttl — Local database retention period (ISO 8601). After the retention period expires, the database will be downloaded again.

Example:

maxmind-database:
  api-key: "apiKey"
  file: "GeoLite2-ASN.mmdb"
  ttl: "P3D"

cache-ttl

Cache duration for verified ASNs (ISO 8601).

Example:

cache-ttl: "PT12H"

Commands

  • /asnblacklist - Main command. Aliases - /asnbl
  • /asnblacklist add <asn> - Add ASN to the blacklist.
  • /asnblacklist remove <asn> - Remove ASN from the blacklist.
  • /asnblacklist list - Get blacklist of the ASN.
  • /asnblacklist reload - Reload configuration and localization.

Commands

Support and Feedback

Please use the GitHub issue tracker to report bugs and submit suggestions.

License

The project is licensed under GNU GPL v3.0 license.


Описание на русском

Плагин для прокси Velocity и BungeeCord, предназначенный для блокировки IP адресов пользователей по AutonomousSystemNumber (ASN). Блокировка по ASN позволяет серверам защититься от ботов на уровне L7.

ВНИМАНИЕ! Данное решение является костылём не гарантирует полноценную защиту от всех ботов, однако, оно корректно выполняет задуманный функционал.

Локализация

Локализация находится в директории 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-blacklist

Список заблокированных ASN. Узнать информацию или получить номер ASN можно на сайте bgp.tools

Пример:

asn-blacklist:
  - "AS35048" # Значение с префиксом AS
  - "53667" # Значение без префикса AS

maxmind-database

Настройки базы MaxMind.

  • api-key — Ключ API MaxMind. Конфигурация по умолчанию уже содержит действующий. При необходимости можно использовать собственный ключ, сгенерированный на сайте MaxMind.
  • file — Путь к локальному файлу базы данных.
  • ttl — Срок хранения локальной базы данных (в ISO 8601). После истечения срока база данных будет загружена повторно.

Пример:

maxmind-database:
  api-key: "apiKey"
  file: "GeoLite2-ASN.mmdb"
  ttl: "P3D"

cache-ttl

Продолжительность кэша для проверенных ASN (в ISO 8601).

Пример:

cache-ttl: "PT12H"

Команды

  • /asnblacklist - Основная команда. Алиасы - /asnbl
  • /asnblacklist add <asn> - Добавить ASN в список заблокированных.
  • /asnblacklist remove <asn> - Удалить ASN из списка заблокированных.
  • /asnblacklist list - Получить список ASN, находящихся в блокировке.
  • /asnblacklist reload - Перезагрузить конфигурацию и локализацию.

Причина отключения

Поддержка и обратная связь

Используйте трекер проблем GitHub для сообщений об ошибках и предложений.

Лицензия

Проект распространяется под лицензией GNU GPL v3.0.

Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x1.18.x1.17.x1.16.x1.15.x1.14.x1.13.x1.12.x1.11.x1.10.x1.9.x1.8.x1.7.x

Платформы

Поддерживаемые окружения

Сервер

Создатели

Детали

Лицензия:GPL-3.0-only
Опубликован:7 месяцев назад
Обновлён:6 месяцев назад
Главная