Essentials geoip что это

xtables-addons: фильтруем пакеты по странам

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Задача блокировки трафика из определенных стран кажется простой, но первое впечатление обманчиво. Сегодня расскажем, как это можно реализовать.

Предыстория

Рекомендуем прочитать статью полностью, прежде чем выполнять указанные команды.

Подготовка операционной системы

Фильтрация будет настраиваться с помощью утилиты iptables, которой требуется расширение для работы с GeoIP-данными. Такое расширение можно найти в xtables-addons. xtables-addons устанавливает расширения для iptables в виде самостоятельных модулей ядра, благодаря чему не нужно перекомпилировать ядро ОС.

На момент написания статьи актуальная версия xtables-addons — 3.9. Тем не менее, в стандартных репозиториях Ubuntu 20.04 LTS можно найти только 3.8, а в репозиториях Ubuntu 18.04 — 3.0. Установить расширение из пакетного менеджера можно следующей командой:

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

xtables-addons содержит множество расширений, но нас интересует только xt_geoip. Если не хочется тащить в систему ненужные расширения, их можно исключить из сборки. Для этого нужно отредактировать файл mconfig. Для всех желаемых модулей поставить m, а все ненужные отметить n. Собираем:

И устанавливаем с правами суперпользователя:

Во время установки модулей ядра может возникнуть ошибка примерно такого содержания:

Такая ситуация возникает из-за невозможности подписать модули ядра, т.к. нечем подписывать. Решить эту проблему можно парой команд:

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

Убедимся, что xt_geoip загружен в систему:

Дополнительно убедимся, что расширение загрузилось в iptables:

Нас все устраивает и остается только добавить название модуля в /etc/modules, чтобы модуль заработал после перезагрузки ОС. С этого момента iptables понимает команды geoip, но ему не хватает данных для работы. Приступаем к загрузке базы данных geoip.

Получение базы данных GeoIP

Создаем каталог, в котором будет хранится информация, понятная расширению iptables:

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

Версия из пакетного менеджера

Скрипт лежит по пути /usr/lib/xtables-addons, однако при попытке запуска можно увидеть не самую информативную ошибку:

Ранее в качестве базы данных использовался продукт GeoLite, ныне известный как GeoLite Legacy, распространяемый по лицензии Creative Commons ASA 4.0 компанией MaxMind. С этим продуктом произошло сразу два события, которые «сломали» совместимость с расширением для iptables.

Во-первых, в январе 2018 года объявили о прекращении поддержки продукта, и второго января 2019 года с официального сайта убрали все ссылки на скачивание старой версии базы. Новым пользователям рекомендуется использовать продукт GeoLite2 или его платную версию GeoIP2.

Во-вторых, c декабря 2019 года MaxMind заявила о значительном изменении в доступе к их базам. Чтобы соответствовать Калифорнийскому закону о защите прав потребителей, компания MaxMind приняла решение «прикрыть» распространение GeoLite2 регистрацией.

Так как мы хотим воспользоваться их продуктом, зарегистрируемся на этой странице.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

После на почту придет сообщение с просьбой установить пароль. Теперь, когда мы завели аккаунт, нужно создать лицензионный ключ. В личном кабинете находим пункт My License Keys, а затем нажимаем на кнопку Generate new License Key.

При создании ключа нам зададут только один вопрос: будем ли мы использовать этот ключ в программе GeoIP Update? Отвечаем отрицательно и нажимаем на кнопку Confirm. Во всплывающем окне будет отображен ключ. Сохраните этот ключ в надежное место, так как после закрытия всплывающего окна вы больше не сможете посмотреть ключ полностью.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

У нас есть возможность скачивать базы GeoLite2 в ручном режиме, но их формат не совместим с форматом, который ожидает скрипт xt_geoip_build. Здесь на помощь приходят скрипты GeoLite2xtables. Для работы скриптов устанавливаем perl-модуль NetAddr::IP:

Далее клонируем репозиторий со скриптами и записываем в файл полученный ранее лицензионный ключ:

Запускаем в работу скрипты:

MaxMind накладывает ограничение в 2000 скачиваний в сутки и при большом количестве серверов предлагает кэшировать обновление на прокси-сервере.

Обратите внимание, что выходной файл обязательно должен называться dbip-country-lite.csv. К сожалению, 20_convert_geolite2 выдает не идеальный файл. Скрипт xt_geoip_build ожидает три колонки:

Отметим, что автор GeoLite2xtables не считает свои скрипты готовыми для продакшена и предлагает следить за разработкой оригинальных скриптов xt_geoip_*. Поэтому перейдем к сборке из исходных кодов, в которой эти скрипты уже обновлены.

Версия из исходных кодов

При установке из исходных кодов скрипты xt_geoip_* располагаются в каталоге /usr/local/libexec/xtables-addons. В этой версии скрипта используется база данных IP to Country Lite. Лицензия — Creative Commons Attribution License, а из доступных данных те самые необходимые три столбца. Скачиваем и собираем базу:

После этих действий iptables готов к работе.

Используем geoip в iptables

Модуль xt_geoip добавляет всего два ключа:

Файлы, созданные xt_geoip_build, используются только при создании правил, но не учитываются при фильтрации. Таким образом, для корректного обновления базы geoip необходимо сначала обновить iv*-файлы, а затем пересоздать все правила, которые используют geoip в iptables.

Заключение

Фильтрация пакетов в зависимости от принадлежности к странам — несколько забытая временем стратегия. Несмотря на это, программные средства для такой фильтрации развиваются и, возможно, в скором времени в пакетных менеджерах появится новая версия xt_geoip с новым поставщиком geoip-данных, что значительно упростит жизнь системным администраторам.

Источник

База GeoIP для геолокации по IP-адресу превратила в кошмар жизнь женщины в Канзасе

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это
Геолокация IP-адресов в мире

Компания MaxMind начала свою работу в 2002 году. Она поставила цель собрать базу IP-адресов и попытаться совершить географическую привязку этих адресов. Обычно такое делают с помощью «вардрайвинга» — автомобили курсируют по дорогам в поисках открытых хотспотов Wi-Fi, регистрируя их IP-адреса и GPS-координаты. Сбор идёт также с приложений на мобильных телефонов, которые сохраняют IP-адреса и свои координаты — так определяется принадлежность диапазона адресов какой-то компании.

В результате была создана база данных GeoIP, которая сейчас используется очень широко, в самых разных интернет-сервисах.

Разумеется, это не точная наука (пример). Иногда сервис может определить только страну по IP-адресу, иногда — город. Чтобы отображать такие «нечёткие» данные на карте, MaxMind определяет координаты для условного центра каждой страны, штата и города. Например, если неизвестно местоположение американского IP-адреса, тогда просто отображается метка в центре страны.

Тут начинается самое интересное. Точный географический центр США находится в северном Канзасе, около границы с Небраской. Технически, его географические координаты 39°50′N 98°35′W. На цифровых картах это соответствует 39.8333333,-98.585522. По какой-то причине компания MaxMind в 2002 году решила «упростить» указатель на географический центр и установила его в более простом виде 38°N 97°W или 38.0000,-97.0000.

В итоге, за последние 14 лет для каждого неизвестного адреса в США компания указывала эти координаты. Такое случалось часто: около 5000 компаний запрашивают эти данные из базы MaxMind, а вообще сейчас более 600 миллионов IP-адресов связаны с этими координатами. Если хотя бы один из этих адресов используется мошенниками, преступниками, ворами мобильных телефонов — база данных MaxMind выдаёт одинаковые координаты: 38.0000,-97.0000.

Координаты прямо перед домом Джойс Тейлор.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Первый звонок она получила в 2011 году из Коннектикута. Разъярённый мужчина ругался, что его фирма не может пользоваться электронной почтой: все ящики завалены спамом. «Он сказал, спам идёт с адреса фермы. — говорит Тейлор. — Тогда я начала подозревать, что-то происходит».

В следующие месяцы звонки и визиты неизвестных участились. «Сыщики»-любители проводили свои расследования и «пробивали человека по IP», что приводило их к дому пожилой женщины в Канзасе. До сих пор в сети можно найти многочисленные жалобы в Facebook, YouTube, Reddit, Ripoff Report и Google+, если ввести её домашний адрес в поиске.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это
Тот самый унитаз

Нападки на Джойс Тейлор продолжались, так что пришлось вмешаться даже местному шерифу. Он разместил дорожный знак в конце дороги с просьбой не проезжать к дому и по всем вопросам звонить ему.

«Эта бедная женщина годами подвергалась притеснениям», — говорит он. Местная полиция взяла на себя общение с представителями различных силовых ведомств, которые приезжали сюда.

Джойс Тейлор — не единственная жертва «бага» в сервисах определения координат по IP-адресу. В прошлом году журналистка Кашмир Хилл рассказывала, как к молодой паре в одном доме в Атланте постоянно приезжают люди, требуя вернуть свои телефоны, по наводке приложений типа Find-My-Phone.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Хилл предположила, что есть и другие с аналогичными проблемами — и попросила знакомого программиста обработать открытую базу данных MaxMind, чтобы составить список адресов, которым соответствует максимальное количество IP. Таких оказались тысячи. Адрес Тейлор был на первом месте с 600 млн IP-адресов, многократно опережая других (дом в Атланте оказался на 865 месте).

Кашмир Хилл написала в MaxMind — они ни о каких проблемах не слышали.

Она также связалась с другими людьми из списка. У некоторых действительно случались странные похожие истории. Например, Тони Пав живёт в Эшбёрне (шт. Виргиния). Рядом располагаются несколько крупных дата-центров. В общей сложности на данные координаты приходится более 17 миллионов IP-адресов. Из-за выбора координат по умолчанию в городе картографические сервисы указывают именно на жилище Тони. У него проблемы начались в 2012 году, когда он обнаружил наряд полиции возле дома. Они искали украденный ноутбук одной из государственных служб.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это
Поисковый ордер, предъявленный Тони Паву в 2012 году

Затем были звонки от разозлённых людей и т.д. Тони планирует продать дом через три года, когда уйдёт на пенсию, и он опасается, что никто не захочет его покупать, если узнает об этой ситуации.

Один из основателей компании MaxMind пообещал журналистке в переписке, что они предпримут меры для решения проблемы. Будут выбраны новые точки по умолчанию для географических объектов — посреди водоёмов.

Обновление базы данных MaxMind намечено на вторник (12.04.2016 г), а большинство фирм-клиентов выпустят свои обновления через несколько недель или месяцев.

Источник

Защита от DoS/DDoS атак с помощью фильтрации по номеру автономной системы (ASN)

Введение

Но чем же данный технический экскурс поможет защититься от злоумышленников? Дело в том, что есть довольно широкий список провайдеров (как ISP, так и Дата Центров), которые мягко говоря не лучшим образом заботятся о безопасности своих сетей (не блокируют исходящие DDoS атаки, не реагируют на жалобы и проч.) и, как следствие, довольно часто являются источниками DDoS атак. Блокировка таких автономных систем (временная, разумеется) может сильно помочь при защите от атак. С подробной статистикой автономных систем, которые чаще всего являются источниками атак Вы можете ознакомиться на сайте: stopddos.ru/current (статистика почти в реальном времени)
Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Определение номера автономной системы, к которой принадлежит IP адрес

Как определить автономную систему, к которой принадлежит IP адрес/сеть? Это довольно просто. В случае, если IP адрес находится в Европе (а следовательно — в юрисдикции RIPE), то можно использовать команду: whois ip_адрес/сеть. Попробуем на Яндексе:

Обращаем внимание на поле ORIGIN, в нем как раз и указан номер автономной системы.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Если же IP адреса принадлежат другому RIR (AFRINIC, LACNIC и проч.), то для них нет понятия route объекта и тут самый универсальный совет, который я могу дать — это воспользоваться специальным сервисом, который позволяет преобразовать IP адрес в номер ASN: www.team-cymru.org/Services/ip-to-asn.html

Чем еще замечателен сервис от CymRu, так это возможностями по автоматизации и вызову из консоли данной операции, что будет очень к месту в случае использования (при защите от реальных атак без него не обойтись) автоматизированных анализаторов трафика, log файлов для поиска закономерностей и аномалий в контексте определенных ASN.

Хорошо, допустим, на данном этапе мы обнаружили ASN (обычно, конечно же, их от нескольких штук до нескольких десятков), из которой идет атака, следующим шагом требуется проверить, кому она принадлежит и для каких целей служит, чтобы случайно не отсечь своих же клиентов, это можно сделать через сервис от Hurricane Electric, bgp.he.net/ASXXXX, где вместо XXXX нужно поставить обнаруженный номер автономной системы.

Блокировка трафика из/в определенной ASN

Но как нам блокировать трафик, который идет к нам из определенной ASN? Данная функция есть у любого магистрального провайдера, дата центра либо оператора связи (и реализуется она посредством протокола BGP), но получить эту функцию для конечного пользователя почти невозможно. Поэтому мы будем использовать Debian Wheezy и пакетный фильтр iptables для отсечения трафика с паразитных ASN.

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Разумеется, стандартного решения, которое позволит сделать что-то в стиле:

Пока не существует, поэтому нам придется импровизировать!

В голову сразу приходит два различных подхода — ipset и geoip (да, у Вас возникнет вопрос — какое отношение он имеет к вопросу, но об этом чуточку позже). ipset позволяет блокировать трафик принадлежащий набору IP адресов либо набору IP сетей, что в принципе нам подходит. Но это не особенно гибко и я не уверен, что ядро Linux будет довольно, если мы создадим, допустим, 120 хешей под нужные нам автономные системы да и управление таким набором хэшей будет очень и очень проблематично.

Совершенно случайно в процессе изучения модуля xtables GeoIP мне пришла в голову мысли, что там используется примерно такой же алгоритм определения принадлежности сети к определенной стране, который нам и нужен для определения принадлежности к определенной автономной системе. Кроме этого, есть ряд веских замечаний от автора xtables GeoIP, судя по которым подход используемый им является более оптимальным: xtables-addons.sourceforge.net/geoip.php

Итак, давайте сначала соберем и установим модуль xtables geoip и после этого займемся его унификацией для решения начальной задачи — блокировки по ASN.

Установка модуля xtables GeoIP

Таких инструкций было множество, они довольно краткие поэтому позволю себе привести здесь полную инструкцию.
Устанавливаем требуемые пакеты:

В Debian Wheezy была проделана очень большая работа с Xtables и теперь не нужно проводить никаких дополнительных телодвижений, чтобы получить рабочие модули из пакета Xtables. Также за счет использования фреймворка DKMS не потребуется пересобирать модули вручную при обновлении/замене ядра — система все это решит автоматически.

Теперь пару слов о том, как работает GeoIP. Там используется довольно умный (на мой взгляд) подход, когда списки IP сетей, принадлежащих определенной стране приводятся в бинарный формат, сохраняются в файловой системе сервера и при вызове команды iptables затрагивающей данную страну, загружаются в память. Это позволяет обеспечить высокую скорость работы и сэкономить память, так как полный набор IP адресов всех сетей в мире занимает почти 500 мегабайт в несжатом виде.

Для xtables GeoIP используются базы сопоставления сеть-страна взятые с сайта компании MaxMind, но загружать и конвертировать в формат, который примет модуль ядра xtables, geoip требуется вручную.
Поехали:

После данной операции в текущей папке будут найдены два файла с расширением CSV, в которых соответственно находятся списки IP сетей для протоколов IPv6 и IPv4 с указанием, к каким странам они принадлежат.
Теперь нам нужно конвертировать эти файлы в бинарный формат:

В процессе конвертации мы увидим много интересных информационных сообщений, например, число IP v4/v6 диапазонов для каждой из стран:

Все, мы готовы к работе, попробуем отсечь трафик, который идет, например, из Зимбабве:

В тот момент, когда мы дадим эту команду, из файловой системы будет взят и загружен в ядро файл /usr/share/xt_geoip/LE/ZW.iv4, в котором находится список IP стран.

Обращаю внимание, друзья! Ни в коем случае не используйте подобное в продакшене НИ-КОГД-ДА. Это лучшая практика, как нельзя делать в сети интернет. Такое допускается делать лишь временно, например, в случае активного противодействия DDoS/DoS атакам либо просто для подсчета — сколько трафика идет с каждой страны. Всегда держите в памяти, что актуальность баз GeoIP оставляет желать лучшего и в забаненой Вами Зимбабве могут оказаться Ваши ключевые клиенты из Нью-Йорка (разумеется, лишенные доступа к Вашему ресурсу).

Создание базы по сетям принадлежащим ASN в формате MaxMind.

Чтобы максимально упростит себе жизнь давайте попробуем создать базы сопоставления сеть-ASN в том же формате, что MaxMind хранит данные сопоставления сеть-страна. При таком подходе мы сможем использовать скрипт xt_geoip_build без каких-либо изменений.

Как же создать подобную базу? Во-первых, нам понадобится текущий отпечаток роутинг-таблицы Интернета, так как информация о принадлежности сетей определенной ASN меняется ежеминутной и поэтому нет возможности всегда иметь актуальную базу. Где же взять этот отпечаток? Он всегда имеется в актуальном виде в формате MRT TABLE DUMP V2 на сайте Routevievs.org: archive.routeviews.org/bgpdata.

Но есть небольшая проблема с данным форматом — он очень сложен для анализа и поэтому нам потребуется конвертер, который разрабатывается RIPE и называется BgpDump: bitbucket.org/ripencc/bgpdump/wiki/Home
К сожалению, в репозитории Debian данного конвертера нету и нам придется собрать его из исходного кода, это довольно тривиально, привожу инструкцию ниже:

Но и формат данных, которые генерирует BgpDump не совпадает с форматом MaxMind и нам потребуется еще один конвертер (к счастью, много более простой), который мы реализовали на Perl, взять его можно по адресу: raw.github.com/FastVPSEestiOu/xt_asn/master/bgp_table_to_text.pl, после этого положите его по адресу /opt/bgp_table_to_text.pl и поставьте exec флаг (chmod +x).

Теперь у нас имеется полный комплект ПО, для генерации базы ASN-сеть в формате MaxMind. Для реализации всей задачи требуется выполнить ряд bash команд:

После этого конвертируем по той же схеме как и данные Max Mind GeoIP:

В результате работы команды в папке /usr/share/xt_geoip/LE/ будет создано почти 100 тысяч файлов (по 2 для каждой ASN) и они будут использоваться для загрузки в модуль фильтрации ядра.

Модификация xtables geoip для использования его для определения принадлежности IP к определенной ASN

Если мы попробуем заменить название страны ZW в команде iptables на номер ASN, например, 11222, то мы получим ошибку:

Что же делать? Посмотреть во внутренности xt_geoip. Тут пару слов о том, как устроен GeoIP — он состоит из плагина для iptables (userspace), который загружает правила в ядро и модуля ядра (kernel space, соответственно). После беглого поиска по коду, мы обнаруживаем, что Country Code в формате ISO3166 хранится в формате беззнакового 16 битного числа, которое может хранить в себе числа вплоть до 65535.

Как мы уже упомянули ранее, формат ASN в данный момент принят 32х битный, поэтому чтобы отфильтровать трафик из/в 32 битную ASN (например, 190111) потребуется немного импровизации — потребуется найти свободный номер ASN в первых 65 тысячах (например, в данный момент свободна ASN 170) и перенести список сетей в бинарном формате в нее (mv /usr/share/xt_geoip/LE/190111.iv4 /usr/share/xt_geoip/LE/170.iv4), но при этом не забыв, что номер ASN используется «замененный».

Такой хак отлично сработает даже если Вам нужно оперировать со всеми ASN мира! Их суммарное число на сегодняшний день составляет

46000 и легко помешается с учетом перестановок в 16 битовое беззнаковое число. Если же на момент прочтения статьи ASN станет более 65 тысяч, то придется накладывать патч на ядерную составляющую модуля GeoIP, но он будет достаточно прост — потребуется заменить short int на полноценный int или даже long (а вдруг появятся 64 битные ASN?).

Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Чтобы добиться возможности использования номеров ASN вместо двухбуквенных кодов стран мы немного пропатчим код. А именно, закомментируем блок, в котором идет проверка, чтобы указанный аргумент iptables «страна» был именно двухбуквенным ISO кодом страны:

И после этого заменим код упаковки двух 8 битных символов в 16 битное число на код, который просто читает 16 битное число из строки и сохраняет его:

Также потребуется изменить код, который отображает код страны используя внутренне числовое представление страны (16 битовое число), теперь мы просто отображаем число без преобразований:

В данном случае я позволил себе заменить asn на xas, так как в ряде случаев (32 битные ASN) это не реальный номер ASN (а подстановочный) и это мне хотелось подчеркнуть.

Теперь дело за малым, нам нужно скомпилировать пакет xtables-addons-common (как раз в нем размещается модуль-расширение для iptables, работающий в пространстве пользователя) наложив на него данный патч:

Теперь устанавливаем пропатченный пакет:

И после этого можно использовать 16 битные номера ASN в правилах ipables:

Теперь Вы готовы отразить еще один тип атак! Кроме этого, аналогичные методы могут быть использованы для анализа легитимного трафика, который идет на Ваш сервер 🙂

Друзья! Успехов Вам в будущем году и поменьше DDoS атак, Ваш FastVPS!
Essentials geoip что это. Смотреть фото Essentials geoip что это. Смотреть картинку Essentials geoip что это. Картинка про Essentials geoip что это. Фото Essentials geoip что это

Источник

EssentialsX GeoIP source database issue #2919

Comments

OverlordFreddo commented Jan 1, 2020

When I start a 1.15.1 server, GeoIP gives me an error that there’s no database at the URL specified.

[01:40:58] [Server thread/INFO]: [EssentialsGeoIP] Enabling EssentialsGeoIP v2.17.1.47 [01:40:58] [Server thread/INFO]: [EssentialsGeoIP] Downloading GeoIP database. this might take a while (country: 1.7 MB, city: 30MB) [01:40:58] [Server thread/ERROR]: [EssentialsGeoIP] Failed to open connection. java.net.UnknownHostException: geolite.maxmind.com

I would have tried to find another source but without knowing if the plugin can read/use that source I don’t feel I’m qualified to do that.

The text was updated successfully, but these errors were encountered:

Bobcat00 commented Jan 3, 2020 •

I registered an account and got a license key. I was able to modify the URL to include the license key as follows:

And the database was downloaded successfully.

I suppose this could be made more user-friendly by having a separate configuration parameter with the key, and have the plugin construct the URL automatically.

You should probably also check the MaxMind EULA to make sure we’re not doing anything wrong:
https://www.maxmind.com/en/end-user-license-agreement
IANAL, but it’s the server owner who is getting the license key and agreeing to abide by the terms. I don’t think this is imposing any restrictions on the EssentialsX project.

pop4959 commented Jan 3, 2020

I don’t think anyone has had time to thoroughly investigate this issue yet, but it’s very possible that server owners will be required to generate their own license key to continue using GeoIP. It’s a bit of an inconvenience, but I think first time setup messages and license key fields could easily be incorporated into the plugin to make the entire process more user friendly.

pop4959 commented Jan 3, 2020

I was just testing the method @Bobcat00 mentioned but wasn’t able to get it to work. Maybe I did something wrong, but I don’t think I did because it still downloaded, just another error appeared in its stead.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *