Скрипт для защиты от потенциальных прокси-спамеров (да и не только прокси) из других стран
Название: XenoPhobia (Ксенофобия)
Платформа: PtokaX
API: 2
Автор: Ksan (aka Trans)
Местоположение: г.Томск
Дата: 25-01-2012
Дополнительно: Для работы скрипта необходима база стран и диапазонов, и она должна лежать в папке CFG в корневой папке Птоки. Скорее всего, она у вас уже есть, хотя, может, и устарела слегка. Последнюю версию можно
Описание:
-- если включен флажок бана, то банит (просто не пускает на хаб) юзеров из стран из отдельной таблицы (флажок ставится/снимается через меню)
-- если включен флажок заглушки, то заглушает те страны, которых нет в списке исключений (флажок ставится/снимается через меню)
-- но из этих стран не глушит те диапазоны, которые в исключениях (к диапазонам можно добавлять комментарии)
-- также не глушатся ники, которые есть в исключениях (к никам можно добавить комментарии)
-- отдельные IP тоже можно вносить в исключения (как диапазон, у которого начало и конец совпадают с данным IP)
-- при показе страны заходящего на хаб или пишущего сообщение юзера показывается полное название страны + аббревиатура кода, например, так: "Россия (RU)". Так же и при просмотре списка.
-- можно посмотреть списки исключений - страны, диапазоны, ники и список забаненных стран.
-- все вышеуказанные операции производятся через меню, не останавливая скрипт и не открывая файлы блокнотом
-- в коде присутствует примитивное предупреждение о рекламе (если в приватном сообщении у юзера из заглушенной страны имеется точное совпадение хотя бы одного слова из таблицы меток (tMarkers), то это сообщение скрипт покажет операторам/админам в приват). Поэтому вносите туда выражения только однозначные, например, "http://" и/или "dchub://", скрипт не антиреклама и не антимат, поэтому слова-исключения не предусмотрены
-- сообщения юзеров заглушенных стран (не исключенных тем или иным способом) в чате видит только сам юзер и операторы/админы
Примечания:
-- скрипт написан практически без проверки корректности ввода (дабы не усложнять и не загромождать код), так что следите за своими руками, при неправильном вводе просто отмолчится, хотя ничего в таблицы не добавит и не убавит.
-- в таблицы страны вносятся ТОЛЬКО в виде двухбуквенных кодов стран латинскими буквами, например: RU , но по ходу работы скрипт сам определяет полное название страны и при необходимости сообщает его (при выводе таблицы или в текущих сообщениях)
-- текстовку скрипта можете изменять по своему усмотрению, но для этого вы должны хорошо понимать суть этого участка кода
-- можно удалить из исключений все страны, даже свою, и добавить только диапазоны нужные, это ограничит любое общение всем, кроме своего окружения, например, локалки
-- при запуске скрипта должны быть в наличии папка "XenoPhobia" и в ней 2 файла - один для динамических таблиц и второй - с полными названиями стран.
Если файлы при запуске скрипта не обнаружатся, скрипт сообщит об этом, но сам останется в режиме ожидания, периодически проверяя их наличие, и при появлении файлов сразу же входит в нормальный режим.
PS: -- чуть не забыл сказать - таблицу с полными названиями стран взял из скрипта http://mydc.ru/topic3167.html (автор - alex82).
PPS: -- вдогонку - при первом запуске не забудьте заранее внести свой ник в список исключений (соблюдая структуру таблицы, как в представленных примерах), руками, а не через меню, иначе случайно можете оказаться без управления хабом, особенно это важно для тех, у кого хаб управляется удалённо.
Картинки из жизни скрипта (списки в реале слегка форматированные, но тут это не будет видно):
UPD-1:
-- теперь можно добавлять через меню отдельный список стран, юзеров с которых можно не пускать на хаб (по простому - банить).
-- добавил ещё флажки бана и заглушки, регулируемые через меню (бан - отдельных стран из списка, заглушка - юзеров всех остальных стран, если его ник или диапазон не внесены в исключения).
-- список забаненных (невъездных) стран можно посмотреть через меню, как и другие списки.
-- теперь скрипт работает так - юзер коннектится, если его страна в бане, то скидывается, а если нет, - то дальше если страна заглушена и диапазон/ник не в исключениях, то юзер в заглушке...если что-то пишет, будет видно админам.
-- если собираетесь только банить, снимаете флаг заглушки, если только глушить - снимаете флаг бана (они оба по умолчанию включены), если не хотите ни глушить, ни банить - снимаете оба флага, скрипт не обязательно отключать, он останется боеготовен.
-- скрипт обновлен и перезалит.
Время перезаливки: 2012-01-30 00:00 МСК
Внимание! Во вторую версию скрипта вкралась ошибка (при просмотре списка список может быть сдвоенного размера), пока эту версию удалил, работаю над исправлением.
UPD:
-- Исправлено и перезалито. Заодно подправил организацию и вывод меню, и кое-что в коде незначительно подправил.
Дата последнего апдейта: 2012-02-01 20:27 МСК
UPD 2:
-- добавил в меню "Показывать/нет непускание"
(иногда достают тупые многочасовые попытки зайти из невъездной страны, как, например, сегодня из Китая (CN))
-- скрипт перезалит.
-- удалил первую версию (которая без бана). Если через меню отключить баны, то версия скрипта 1.1 работает как первая.
Время перезаливки: 2012-02-11 13:53 (МСК)
Поставил на 0.4.2.0 выдало ошибку
Wan, скачай самую последнюю версию Птоки 0.4.2.0 (подверсию)
У тебя версия с ошибкой относительно таймера.
Почему то не работают команды, просто дублируются в чате, скрипт ставил и в самый верх и самый низ списка. и пишет страна не опознана, хотя файл в папке cfg имеется.
KCAHDEP, ничего не могу сказать, мало информации.
У меня работает.
Прочти ещё раз весь текст первого сообщения темы, возможно, там окажется подсказка, особенно - Примечания.
Или, может, у тебя база (которая в папке CFG) видоизменённая (вроде на новых версиях Птоки эта база имеет чуток иной вид, хотя это не должно мешать отдавать нужные данные скрипту), или файла allcountry.tbl не хватает.
KCAHDEP, а фиг знает....попробуй отключить Экзекутор, что ли..
подскажите как заставить его работать?
я сделал например входить могут только UZ, но я пробовал менял на только RU или любой другой, всё равно заходит и норма, и нет не флагов и не меню, где это меню?
у меня стоит PtokaX 0.5.0.0 с Lua 5.2.1 Win64 GUI
Yamakasi, а у вас лежит в нужном месте база стран и диапазонов? В первом сообщении в самом начале в абзаце Дополнительно написано про это.
А вот эта фраза вообще непонятна:
Yamakasi, в новой PtokaX ip-to-country теперь не так выглядит, тебе надо скачать
Yamakasi, ну, ребятки, если вы взялись держать хаб и ставить туда скрипты, должны уж как минимум знать, где это ваше меню.. или найти его. Неужели надо учить админа хаба азбуке?
И насчёт версии хаба 0.5.0.0 ничего не скажу, я делал на версии 0.4.1.2..
Артём, Yamakasi, не забываем про http://mydc.ru/topic5402.html.
Скрипт работает на PtokaX 0.5.0.0 только что проверили
да блин я столкнулся с проблемой, чтобы комне зашли в хаб ((( не смог, спать хочу патом буду ещё пробовать, у меня роутер модем на 4 порта и несколько компов просто, я делаю виртуал с статика айпи на локал айпи, сам конетюсь по локал айпи, а также пингует и с мира видно айпишник статы и привязал к субдомену, и кароч для пробы через таймвивер пробовал в свой хаю зайти несмог ((( я понимаю, то что админ должен знать, но я как писал выше я новенький среди Вас ))) вот и пробую настроить, коль кому не трудно может попозже помогут настроить меня хаб на моём компе? через таймвивер например, ну с нуля, просто может я не там что то натыкал ((( или у кого есть готовая полная стабильная сборка ну с нужными плагинами? и также чтобы она была не от базы работала, а ну как приложение ну софт, то есть не консольная, просто я на своём компе сервер поднимаю, он будет служить чисто мостом ну среди клиентов.
Yamakasi, А можно ещё раз, но чтобы попонятнее?
Yamakasi
ну базу я ставил, ту что дали тут, ну и та что по ссылки, скачал получается свежак )
Alexey, можно по подробнее где Вы взяли базу с точными ip адресами, также в сообщение если можно убрать мой айпи, заранее спасибо!
Yamakasi,
Артём, подскажите ещё раз правильно, куда в хаб и какие таблицы ну базу надо кинуть и как она должна называться, для правильного отображения, а то у меня также, что то (((
Yamakasi, IpToCountry.csv в папке cfg
UPD 3:
-- по просьбе Артёма добавил блокирование поиска/скачивания для юзеров из определённых стран ("спамоопасных"). Добавление/удаление/просмотр этих стран - через меню, как и в предыдущих случаях.
-- разная косметическая мелочь.
Новый файл добавлен в первом сообщении.
Дата последнего апдейта: 2013-04-26 19:10 (МСК)