Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Безопасность [PtokaX] _ XenoPhobia

Автор: Ksan 25.1.2012, 3:50

Скрипт для защиты от потенциальных прокси-спамеров (да и не только прокси) из других стран
Название: XenoPhobia (Ксенофобия)
Платформа: PtokaX
API: 2
Автор: Ksan (aka Trans)
Местоположение: г.Томск
Дата: 25-01-2012

Дополнительно: Для работы скрипта необходима база стран и диапазонов, и она должна лежать в папке CFG в корневой папке Птоки. Скорее всего, она у вас уже есть, хотя, может, и устарела слегка. Последнюю версию можно http://mydc.ru/r/?http://inethub.olvi.net.ua/ftp/db/maxmind.com/ip-to-country.zip Распаковать из архива и положить в папку CFG. Птоки.

Описание:
-- если включен флажок бана, то банит (просто не пускает на хаб) юзеров из стран из отдельной таблицы (флажок ставится/снимается через меню)
-- если включен флажок заглушки, то заглушает те страны, которых нет в списке исключений (флажок ставится/снимается через меню)
-- но из этих стран не глушит те диапазоны, которые в исключениях (к диапазонам можно добавлять комментарии)
-- также не глушатся ники, которые есть в исключениях (к никам можно добавить комментарии)
-- отдельные IP тоже можно вносить в исключения (как диапазон, у которого начало и конец совпадают с данным IP)
-- при показе страны заходящего на хаб или пишущего сообщение юзера показывается полное название страны + аббревиатура кода, например, так: "Россия (RU)". Так же и при просмотре списка.
-- можно посмотреть списки исключений - страны, диапазоны, ники и список забаненных стран.
-- все вышеуказанные операции производятся через меню, не останавливая скрипт и не открывая файлы блокнотом
-- в коде присутствует примитивное предупреждение о рекламе (если в приватном сообщении у юзера из заглушенной страны имеется точное совпадение хотя бы одного слова из таблицы меток (tMarkers), то это сообщение скрипт покажет операторам/админам в приват). Поэтому вносите туда выражения только однозначные, например, "http://" и/или "dchub://", скрипт не антиреклама и не антимат, поэтому слова-исключения не предусмотрены
-- сообщения юзеров заглушенных стран (не исключенных тем или иным способом) в чате видит только сам юзер и операторы/админы

Примечания:
-- скрипт написан практически без проверки корректности ввода (дабы не усложнять и не загромождать код), так что следите за своими руками, при неправильном вводе просто отмолчится, хотя ничего в таблицы не добавит и не убавит.
-- в таблицы страны вносятся ТОЛЬКО в виде двухбуквенных кодов стран латинскими буквами, например: RU , но по ходу работы скрипт сам определяет полное название страны и при необходимости сообщает его (при выводе таблицы или в текущих сообщениях)
-- текстовку скрипта можете изменять по своему усмотрению, но для этого вы должны хорошо понимать суть этого участка кода
-- можно удалить из исключений все страны, даже свою, и добавить только диапазоны нужные, это ограничит любое общение всем, кроме своего окружения, например, локалки
-- при запуске скрипта должны быть в наличии папка "XenoPhobia" и в ней 2 файла - один для динамических таблиц и второй - с полными названиями стран.
Если файлы при запуске скрипта не обнаружатся, скрипт сообщит об этом, но сам останется в режиме ожидания, периодически проверяя их наличие, и при появлении файлов сразу же входит в нормальный режим.

PS: -- чуть не забыл сказать - таблицу с полными названиями стран взял из скрипта http://mydc.ru/topic3167.html (автор - alex82).
PPS: -- вдогонку - при первом запуске не забудьте заранее внести свой ник в список исключений (соблюдая структуру таблицы, как в представленных примерах), руками, а не через меню, иначе случайно можете оказаться без управления хабом, особенно это важно для тех, у кого хаб управляется удалённо.

Картинки из жизни скрипта (списки в реале слегка форматированные, но тут это не будет видно):

Список стран в исключениях
Код
[07:32:41] <Ксенофоб> *** Список разрешённых стран:

    1:  Армения   (AM)
    2:  Азербайджан   (AZ)
    3:  Болгария   (BG)
    4:  Беларусь   (BY)
    5:  Эстония   (EE)
    6:  Европейский Союз   (EU)
    7:  Грузия   (GE)
    8:  Израиль   (IL)
    9:  Киргизия   (KG)
    10:  Казахстан   (KZ)
    11:  Литва   (LT)
    12:  Латвия   (LV)
    13:  Польша   (PL)
    14:  Россия   (RU)
    15:  СССР   (SU)
    16:  Таджикистан   (TJ)
    17:  Туркмения   (tm)
    18:  Украина   (UA)
    19:  Узбекистан   (UZ)
Список невъездных стран
Код
[01:33:03] <Ксенофоб> *** Список забаненных стран:

    1:  Бразилия   (BR)
    2:  Китай   (CN)
    3:  Дания   (DK)
    4:  Испания   (ES)
    5:  Индия   (IN)
    6:  Италия   (IT)
    7:  США   (US)
    8:  Вьетнам   (VN)
Список разрешённых диапазонов
Код
[07:34:46] <Ксенофоб> *** Список разрешённых диапазонов:

    1:   176.65.48.0 -- 176.65.55.255        [ INTERNET-NET, Томск ]
    2:   78.139.249.42 -- 78.139.249.42        [ TOMTEL-NET, Томск ]
    3:   172.16.0.0 -- 172.31.255.255        [ Локалка ]
    4:   90.188.95.153 -- 90.188.95.153        [ It's me! ]
    5:   10.0.0.0 -- 10.255.255.255        [ Локалка ]
    6:   46.161.144.0 -- 46.161.159.255        [ NTS-ETTH, Томск ]
    7:   127.0.0.0 -- 127.255.255.255        [ Компьютер с хабом ]
    8:   192.168.0.0 -- 192.168.255.255        [ Локалка ]
Список ников-исключений
Код
[07:05:56] <Ксенофоб> *** Список ников-исключений:

    1:  Тест            [ Просто так ]
    2:  Indy[wrk]        [ Админ ]
    3:  Indy            [ It's me! ]
    4:  Спорт            [  ]
    5:  Ksan            [ Админ ]
    6:  TestNick        [ Тестер ]

Граница на замке! big_smile.gif

UPD 1:
-- добавил "бан" отдельных стран (юзеры оттуда не будут допускаться на хаб) с возможностью добавления/удаления стран в этот список через меню (2-буквенный код страны) и просмотр этого списка
-- также добавил флажок включения этого бана (флажок можно ставить/снимать через меню)
-- и добавлен флажок такой же относительно заглушек стран, включая и меню
-- незначительно оптимизировал код
-- таблицы/файлы совместимы с предыдущей версией скрипта, достаточно просто ещё добавить через меню страны в таблицу банов
-- после перезапуска скрипта перезайти необходимо (добавлены новые пункты в меню)

UPD 2: (версия 1.1)
-- добавил в меню "Показывать/нет непускание"
(иногда достают тупые многочасовые попытки зайти из невъездной страны, как, например, сегодня из Китая (CN))
-- скрипт перезалит.
-- удалил первую версию (которая без бана). Если через меню отключить баны, то версия скрипта 1.1 работает как первая.

UPD 3: (версия 1.2)
-- по просьбе Артёма добавил блокирование поиска/скачивания для определённых стран ("спамоопасных"). Добавление/удаление/просмотр этих стран - через меню, как и в предыдущих случаях.
-- разная косметическая мелочь.

Дата последнего апдейта: 2013-04-26 19:10 (МСК)


 Xenophobia_1.1.rar ( 7.62 килобайт ) : 85
 Xenophobia_1.2.rar ( 8.25 килобайт ) : 63
 

Автор: Ksan 30.1.2012, 14:52

UPD-1:
-- теперь можно добавлять через меню отдельный список стран, юзеров с которых можно не пускать на хаб (по простому - банить).
-- добавил ещё флажки бана и заглушки, регулируемые через меню (бан - отдельных стран из списка, заглушка - юзеров всех остальных стран, если его ник или диапазон не внесены в исключения).
-- список забаненных (невъездных) стран можно посмотреть через меню, как и другие списки.
-- теперь скрипт работает так - юзер коннектится, если его страна в бане, то скидывается, а если нет, - то дальше если страна заглушена и диапазон/ник не в исключениях, то юзер в заглушке...если что-то пишет, будет видно админам.
-- если собираетесь только банить, снимаете флаг заглушки, если только глушить - снимаете флаг бана (они оба по умолчанию включены), если не хотите ни глушить, ни банить - снимаете оба флага, скрипт не обязательно отключать, он останется боеготовен.
-- скрипт обновлен и перезалит.

Время перезаливки: 2012-01-30 00:00 МСК

Автор: Ksan 1.2.2012, 16:24

Внимание!
Во вторую версию скрипта вкралась ошибка (при просмотре списка список может быть сдвоенного размера), пока эту версию удалил, работаю над исправлением.

UPD:
-- Исправлено и перезалито. Заодно подправил организацию и вывод меню, и кое-что в коде незначительно подправил.

Дата последнего апдейта: 2012-02-01 20:27 МСК

Автор: Ksan 11.2.2012, 12:58

UPD 2:
-- добавил в меню "Показывать/нет непускание"
(иногда достают тупые многочасовые попытки зайти из невъездной страны, как, например, сегодня из Китая (CN))
-- скрипт перезалит.
-- удалил первую версию (которая без бана). Если через меню отключить баны, то версия скрипта 1.1 работает как первая.

Время перезаливки: 2012-02-11 13:53 (МСК)

Автор: Wan 2.3.2012, 16:14

Поставил на 0.4.2.0 выдало ошибку

Раскрывающийся текст
[23:13:15] Синтаксис ...нистратор\Desktop\0.4.2.0\scripts\Xenophobia_1.1.lua:90: bad argument #1 to 'RemoveTimer' (number expected, got userdata)

Автор: Ksan 2.3.2012, 16:25

Wan, скачай самую последнюю версию Птоки 0.4.2.0 (подверсию)
У тебя версия с ошибкой относительно таймера.

Автор: KCAHDEP 1.6.2012, 13:09

Почему то не работают команды, просто дублируются в чате, скрипт ставил и в самый верх и самый низ списка. и пишет страна не опознана, хотя файл в папке cfg имеется.

Автор: Ksan 1.6.2012, 13:52

KCAHDEP, ничего не могу сказать, мало информации.
У меня работает.
Прочти ещё раз весь текст первого сообщения темы, возможно, там окажется подсказка, особенно - Примечания.
Или, может, у тебя база (которая в папке CFG) видоизменённая (вроде на новых версиях Птоки эта база имеет чуток иной вид, хотя это не должно мешать отдавать нужные данные скрипту), или файла allcountry.tbl не хватает.

Автор: KCAHDEP 1.6.2012, 13:55

Цитата(Ksan @ 1.6.2012, 14:52) *
KCAHDEP, ничего не могу сказать, мало информации.
У меня работает.
Прочти ещё раз весь текст первого сообщения темы, возможно, там окажется подсказка, особенно - Примечания.
Или, может, у тебя база (которая в папке CFG) видоизменённая, или файла allcountry.tbl не хватает.

может хаб перезагрузить надо, чтобы он понял что у него в cfg лежит? allcountry.tbl в наличии, базу скопировал распаковал по ссылке из топика. запускается то без ошибок, и сообщения мне пишет что зашел такой то, с заглушеной страны не опознано)

Автор: Ksan 1.6.2012, 14:22

Цитата
может хаб перезагрузить надо, чтобы он понял что у него в cfg лежит?

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

Автор: KCAHDEP 1.6.2012, 14:38

Цитата(Ksan @ 1.6.2012, 15:22) *
Если до этого там не лежала база, и ты положил базу и не перезапустил хаб, то база не будет обнаруживаться Птокой. Она подгружается только при запуске хаба.

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

скрипты
Код
- [ 1 ] Ekzekutor.lua (18982 kB)
- [ 1 ] ajaxchatsync-ru.lua (105 kB)
- [ 1 ] StatPX.lua (2372 kB)
- [ 1 ] Settings_saver.lua (57 kB)
- [ 1 ] Temperature.lua (238 kB)
- [ 1 ] Whois_1.1.lua (227 kB)
- [ 1 ] goroskop.lua (72 kB)
- [ 1 ] AnekBot.lua (197 kB)
- [ 1 ] BotForOp_api2.lua (68 kB)
- [ 1 ] Birthday_man_4.1.lua (2312 kB)
- [ 1 ] banner.lua (74 kB)
- [ 1 ] BUKTOPUHA_newapi.lua (409 kB)
- [ 1 ] PXControl_Server.lua (172 kB)
- [ 1 ] Snowball_5.1_newapi.lua (169 kB)
- [ 1 ] Snowball_mordoboy_5.1_newapi.lua (154 kB)
- [ 1 ] Snowball_matogen_newapi.lua (123 kB)
- [ 1 ] Snowball_lovegen_newapi.lua (120 kB)
- [ 1 ] cs.lua (245 kB)
- [ 1 ] noDapku_oT_DeD_mopo3a.lua (70 kB)
- [ 1 ] gonki.lua (112 kB)
- [ 1 ] Bottle.lua (64 kB)
- [ 1 ] rotacia.lua (105 kB)
- [ 1 ] Anagram.lua (229 kB)
- [ 1 ] bandit.lua (158 kB)
- [ 1 ] say_script_newapi.lua (73 kB)
- [ 1 ] NarMud.lua (94 kB)
- [ 1 ] Action.lua (224 kB)
- [ 1 ] stop_trep.lua (59 kB)
- [ 1 ] Kompliment.lua (82 kB)
- [ 1 ] samoban.lua (65 kB)
- [ 1 ] cleer.lua (63 kB)
- [ 1 ] Lonely.lua (109 kB)
- [ 1 ] facts_mysql_api2.lua (64 kB)
- [ 1 ] antiproxy_by_KauH_api2.lua (61 kB)
- [ 1 ] Xenophobia_1.1.lua (124 kB)
- [ 1 ] UnknownCommandBlock_PtokaX.lua (56 kB)

Автор: Ksan 1.6.2012, 15:13

KCAHDEP, а фиг знает....попробуй отключить Экзекутор, что ли..

Автор: Yamakasi 29.1.2013, 12:35

подскажите как заставить его работать?
я сделал например входить могут только UZ, но я пробовал менял на только RU или любой другой, всё равно заходит и норма, и нет не флагов и не меню, где это меню?
у меня стоит PtokaX 0.5.0.0 с Lua 5.2.1 Win64 GUI

Автор: Ksan 29.1.2013, 12:58

Yamakasi, а у вас лежит в нужном месте база стран и диапазонов? В первом сообщении в самом начале в абзаце Дополнительно написано про это.
А вот эта фраза вообще непонятна:

Цитата
и норма, и нет не флагов и не меню

Если вы про упоминаемые мной в первом сообщении флажки, то это всё просто указания через меню - банить кого-то или нет, глушить или нет..а слово флажок это просто термин для таких меток в скрипте, исходя из которых кто-то банится или глушится...или нет. Зависит от того, что вы выбрали в меню.
А меню находится по умолчанию настроек скрипта в • Сервис / << АДМИНКА >> / Ксенофобия..
Если вы сменили этот путь на свой, ищите по своему пути.

Автор: Yamakasi 29.1.2013, 13:10

Цитата(Ksan @ 29.1.2013, 14:58) *
Yamakasi, а у вас лежит в нужном месте база стран и диапазонов? В первом сообщении в самом начале в абзаце Дополнительно написано про это.
А вот эта фраза вообще непонятна:
Если вы про упоминаемые мной в первом сообщении флажки, то это всё просто указания через меню - банить кого-то или нет, глушить или нет..а слово флажок это просто термин для таких меток в скрипте, исходя из которых кто-то банится или глушится...или нет. Зависит от того, что вы выбрали в меню.
А меню находится по умолчанию настроек скрипта в • Сервис / << АДМИНКА >> / Ксенофобия..
Если вы сменили этот путь на свой, ищите по своему пути.


да в папке cfg лежит файл ip-to-country.csv который был дан выше!

насчёт админки не знаю, у меня PtokaX-x64.exe эксзешник, вообще я новичок просто, строго не судите, но в настройках я не вижу подобных настройки ))

Автор: Артём 29.1.2013, 13:27

Yamakasi, в новой PtokaX ip-to-country теперь не так выглядит, тебе надо скачать http://mydc.ru/r/?http://software77.net/geo-ip/ или попробуй переименовать тот что уже стоит ip-to-country в IpToCountry

Автор: Ksan 29.1.2013, 13:42

Yamakasi, ну, ребятки, если вы взялись держать хаб и ставить туда скрипты, должны уж как минимум знать, где это ваше меню.. или найти его. Неужели надо учить админа хаба азбуке?
И насчёт версии хаба 0.5.0.0 ничего не скажу, я делал на версии 0.4.1.2..

Автор: Alexey 29.1.2013, 14:08

Артём, Yamakasi, не забываем про http://mydc.ru/topic5402.html.

Автор: Артём 29.1.2013, 14:20

Скрипт работает на PtokaX 0.5.0.0 только что проверили

Автор: Yamakasi 29.1.2013, 15:02

да блин я столкнулся с проблемой, чтобы комне зашли в хаб ((( не смог, спать хочу патом буду ещё пробовать, у меня роутер модем на 4 порта и несколько компов просто, я делаю виртуал с статика айпи на локал айпи, сам конетюсь по локал айпи, а также пингует и с мира видно айпишник статы и привязал к субдомену, и кароч для пробы через таймвивер пробовал в свой хаю зайти несмог ((( я понимаю, то что админ должен знать, но я как писал выше я новенький среди Вас ))) вот и пробую настроить, коль кому не трудно может попозже помогут настроить меня хаб на моём компе? через таймвивер например, ну с нуля, просто может я не там что то натыкал ((( или у кого есть готовая полная стабильная сборка ну с нужными плагинами? и также чтобы она была не от базы работала, а ну как приложение ну софт, то есть не консольная, просто я на своём компе сервер поднимаю, он будет служить чисто мостом ну среди клиентов.

Автор: Aлзим 29.1.2013, 21:25

Yamakasi, А можно ещё раз, но чтобы попонятнее? big_smile.gif

Автор: Yamakasi 29.1.2013, 23:31

Цитата(Aлзим @ 29.1.2013, 23:25) *
Yamakasi, А можно ещё раз, но чтобы попонятнее? big_smile.gif

не всё, настроил уже хаб, были косяки в виртуале на роутере, там кроме виртуала переброса порта, ещё пару настроек надо было натыкать, нынче мопед блатной с куча настройками )))

интересует теперь вот этот вопрос http://mydc.ru/topic5403.html

а по поводу плагина в этой ветке ну про айпи и флаги и прочее, то отображает и фильтрует айпи неправильно ((( у меня должно отображать меня UZ, а он отображает как PL - польщу, вообще жесть, я как понял там ip неправильный диапазон, но хотя в таблице IpToCountry.csv я тоже посмотрел и не понял как там вписывать или менять диапазон, там как то не понятно, по крайне мере мне )))

Автор: Alexey 30.1.2013, 21:05

Цитата(Yamakasi @ 29.1.2013, 23:31) *
отображает и фильтрует айпи неправильно ((( у меня должно отображать меня UZ, а он отображает как PL - польщу, вообще жесть, я как понял там ip неправильный диапазон

Хорошо, что есть альтернативные базы:
Цитата
[21:59:01] <PtokaX> IP 89.236.***.*** принадлежит сети: UZ

Автор: Ksan 30.1.2013, 22:12

Yamakasi

Цитата
у меня должно отображать меня UZ, а он отображает как PL

Нужно всего лишь обновить базу. Последнее время происходит много перебросов диапазонов, в результате, если база чуть несвежая, может произойти такой косяк.
Скрипт тут ни при чём абсолютно.

Автор: Yamakasi 31.1.2013, 0:08

ну базу я ставил, ту что дали тут, ну и та что по ссылки, скачал получается свежак )

Alexey, можно по подробнее где Вы взяли базу с точными ip адресами, также в сообщение если можно убрать мой айпи, заранее спасибо!

Автор: Артём 31.1.2013, 2:14

Yamakasi, http://mydc.ru/r/?http://inethub.olvi.net.ua/db/

Автор: Yamakasi 1.2.2013, 7:29

Артём, подскажите ещё раз правильно, куда в хаб и какие таблицы ну базу надо кинуть и как она должна называться, для правильного отображения, а то у меня также, что то (((

Автор: Артём 1.2.2013, 14:11

Yamakasi, IpToCountry.csv в папке cfg

Автор: Ksan 26.4.2013, 18:19

UPD 3:
-- по просьбе Артёма добавил блокирование поиска/скачивания для юзеров из определённых стран ("спамоопасных"). Добавление/удаление/просмотр этих стран - через меню, как и в предыдущих случаях.
-- разная косметическая мелочь.

Новый файл добавлен в первом сообщении.
Дата последнего апдейта: 2013-04-26 19:10 (МСК)