Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
11.12.2013, 0:11 |
Instahub Instant PtokaX-based Hub with scripts (API2) |
Так-с, отвечаю на некоторые вопросы... 1) Автор жив (как в том анекдоте - не дождетесь (с) ) 2) Проект действительно был несколько заброшен в связи с разными причинами, в том числе в связи с физической недоступностью сервера, на котором все это крутилось. 3) В очень недалеком будущем все это оживет, я надеюсь успеть до начала 2014 года. Есть некоторые изменения - мой хаб будет работать на linux, соответственно тестирование скриптов под виндой ложится на конечных потребителей продукта. Но в случае чего - будем разбираться вместе. Стабильная доступность сорцов будет обеспечена нахождением всего этого барахла на внешнем сервере в инете, а не у меня под столом, как это было все эти годы Сейчас я активно тестирую PtokaX 0.5.0.0, уже нашел там два серьезных бага, один из которых для меня, увы, пока блокирует использование этой версии :( Автор не заморачивается юнит-тестированием своего кода, поэтому... ладно, не будем о грустном. В целом, его поделие достаточно качественное, чтобы его направо и налево ругать, хотя заглянув в кишки сорцов, я увидел много удивительного. Пока что это всё означает, что будем юзать 0.4.х, а вот какую именно - покажет время. Да, спасибо за спасение последней версии скриптов для всеобщего пользования Ссылки в верхнем посте поправлю. |
Nickolya | ||
18.3.2011, 2:59 |
Instahub Instant PtokaX-based Hub with scripts (API2) |
Скачал, поставил, запустил. Так и не понял, где находится быстрая регистрация Из файла hubconf.lua Если ставить "оба false", то Код 21:01:06] <[PtokaX]> Вам доступны следующие способы регистрации: [21:01:06] <[PtokaX]> Более подробно о регистрации можно прочесть на странице http://biglocal.vip-zone.su/doc/bigvipzone/ Выключая скрипт users.lua выключается не только регистрация, то ещё и заглушки. Не совсем понимаю идею разделения по файлам. Как по мне, если потом отключать некоторые скрипты, так лучше антимат и заглушку вместе в 1 файле держать, а регистрация каждому на вкус и цвет: мне другая нравится. В общем пока не юзаю по этой причине. Попрежнему ищу альтернативу антимата и заглушки Хуббабота, но пока не нашёл. да, похоже это просто баг по идее он должен был написать что доступна только быстрая рега. это я починю, спасибо! мы просто ее как-то практически не юзали, поэтому и не заметили... а логика тут такая. глушить незареганных юзеров - в каком-то смысле бесперспективно. они меняют ники, и т.п. банить по IP - жестоко, особенно если нужно запретить только чат. поэтому мы обычно разрешаем чат только зареганным, и именно поэтому система рег и заглушек тесно связана. если есть заглушки на нике, то его уже нельзя поменять, и т.п. (это может сделать только Админ, Опы не могут). и собсно говоря, если я не ошибаюсь, там проблема только в приветственном сообщении, а сама быстрая рега работать будет. я проверю это всё в ближайшее время, если там действительно баги - поправлю и выложу апдейт. вообще говоря, апдейт я и так бы скоро выложил, поскольку допиливал систему автобанов. |
thehawk | ||
5.12.2009, 14:49 |
Сборка PtokaX в Fedora Linux, openSUSE Краткий HOW-TO |
Я смотрю, редхатовские изделия не особо популярны среди хабостроителей. Вашему вниманию предлагается HOW-TO по сборке PtokaX в Fedora Linux. Инструкция практически так же сработает (должна!) на openSUSE. Для CentOS или RHEL инструкция тоже работает, но с изменениями (см. ниже в этой теме). Проверялось всё это на Fedora 12 (Constantine). Здесь приводится пошаговая инструкция, в конце - итоговые diff-ы файлов, которые нужно подогнуть. Шаг 1. Скачиваем, распаковываем: Код tar -xvf 0.4.1.1-posix-src.tgz Шаг 2. Образовалась папка PtokaX. Заходим и пытаемся собрать: Код cd PtokaX make Шаг 3 gcc нам говорит что-то про tinyxml. ага, берем в руки yum и ставим два пакета (о чудо, они называются именно так, мы угадали!) и снова запускаем make (пакеты ставим либо через sudo, либо под root-ом, либо через гуйню) Код sudo yum install tinyxml tinyxml-devel make Шаг 4 На этот раз оно ругается на строчку в файле src/stdinc.h. говорит что нету такого файла - tinystr.h. Убираем эту строчку нах (строка 84 в оригинальном файле), и снова говорим make. После этого оно ругнется на makefile, скажет что нету файла tinyxml/tinyxml.a. Смело правим makefile и убираем из строки 47 упоминание tinyxml в самом конце строки (см. diff ниже) Шаг 5. Снова make, теперь оно ругается про что-то связанное с lua. Берем yum и говорим Код sudo yum install lua-devel make Шаг 6 Ура, оно скомпилировалось, но сломалось на линковке, будет ругаться на lua5.1. Открываем makefile на строке 42, и заменяем Код -llua5.1 на Код -llua-5.1 -ltinyxml И снова make. Ураа!! Всё собралось, перед нами свеженький ещё не остывший бинарник PtokaX. Итого: diff -ub makefile.original makefile: Код --- makefile.original 2009-12-05 14:14:15.953003363 +0300 +++ makefile 2009-12-05 14:14:38.150502577 +0300 @@ -39,13 +39,12 @@ $(CURDIR)/obj/LuaRegManLib.o $(CURDIR)/obj/LuaScript.o $(CURDIR)/obj/LuaScriptManager.o $(CURDIR)/obj/LuaScriptManLib.o $(CURDIR)/obj/LuaSetManLib.o $(CURDIR)/obj/LuaTmrManLib.o $(CURDIR)/obj/LuaUDPDbgLib.o $(CURDIR)/obj/ProfileManager.o \ $(CURDIR)/obj/PtokaX.o $(CURDIR)/obj/pxstring.o $(CURDIR)/obj/RegThread.o $(CURDIR)/obj/ResNickManager.o $(CURDIR)/obj/ServerManager.o $(CURDIR)/obj/ServerThread.o $(CURDIR)/obj/serviceLoop.o $(CURDIR)/obj/SettingManager.o \ $(CURDIR)/obj/TextFileManager.o $(CURDIR)/obj/UdpDebug.o $(CURDIR)/obj/UDPThread.o $(CURDIR)/obj/User.o $(CURDIR)/obj/utility.o $(CURDIR)/obj/ZlibUtility.o - $(CXX) -lpthread -lz -llua5.1 -lrt -o PtokaX \ + $(CXX) -lpthread -lz -llua-5.1 -ltinyxml -lrt -o PtokaX \ $(CURDIR)/obj/ClientTagManager.o $(CURDIR)/obj/colUsers.o $(CURDIR)/obj/DcCommands.o $(CURDIR)/obj/DeFlood.o $(CURDIR)/obj/eventqueue.o $(CURDIR)/obj/globalQueue.o $(CURDIR)/obj/hashBanManager.o $(CURDIR)/obj/hashUsrManager.o \ $(CURDIR)/obj/hashRegManager.o $(CURDIR)/obj/HubCommands.o $(CURDIR)/obj/IP2Country.o $(CURDIR)/obj/LanguageManager.o $(CURDIR)/obj/LuaBanManLib.o $(CURDIR)/obj/LuaCoreLib.o $(CURDIR)/obj/LuaIP2CountryLib.o \ $(CURDIR)/obj/LuaProfManLib.o $(CURDIR)/obj/LuaRegManLib.o $(CURDIR)/obj/LuaScript.o $(CURDIR)/obj/LuaScriptManager.o $(CURDIR)/obj/LuaScriptManLib.o $(CURDIR)/obj/LuaSetManLib.o $(CURDIR)/obj/LuaTmrManLib.o \ $(CURDIR)/obj/LuaUDPDbgLib.o $(CURDIR)/obj/ProfileManager.o $(CURDIR)/obj/PtokaX.o $(CURDIR)/obj/pxstring.o $(CURDIR)/obj/RegThread.o $(CURDIR)/obj/ResNickManager.o $(CURDIR)/obj/ServerManager.o $(CURDIR)/obj/ServerThread.o \ - $(CURDIR)/obj/serviceLoop.o $(CURDIR)/obj/SettingManager.o $(CURDIR)/obj/TextFileManager.o $(CURDIR)/obj/UdpDebug.o $(CURDIR)/obj/UDPThread.o $(CURDIR)/obj/User.o $(CURDIR)/obj/utility.o $(CURDIR)/obj/ZlibUtility.o \ - $(CURDIR)/tinyxml/tinyxml.a + $(CURDIR)/obj/serviceLoop.o $(CURDIR)/obj/SettingManager.o $(CURDIR)/obj/TextFileManager.o $(CURDIR)/obj/UdpDebug.o $(CURDIR)/obj/UDPThread.o $(CURDIR)/obj/User.o $(CURDIR)/obj/utility.o $(CURDIR)/obj/ZlibUtility.o #******************************************************************************* # Files to compile Итого: diff -ub src/stdinc.h.original src/stdinc.h: Код --- src/stdinc.h.original 2009-12-05 14:17:56.804386438 +0300 +++ src/stdinc.h 2009-12-05 14:18:28.409772369 +0300 @@ -81,7 +81,6 @@ #include <syslog.h> #endif #include <tinyxml.h> -#include <tinystr.h> #ifdef _WIN32 #include <psapi.h> #include <io.h> Последние два патча в приложении. [attachment=3566:ptokax_src_patches.zip] |
TiGRpp | ||
5.12.2009, 13:35 |
Instahub Instant PtokaX-based Hub with scripts (API2) |
А планируется версия instahub для Линукса? Особенно протестированная со скриптами, подключающимися к инет-серверам? Поскольку у меня возникла такая проблема, что при запуске таких скритов Птоха через некоторое время останавливается, а в логах ошибок нет. 1. начну с истории. некоторое время InstaHub работал в корбиновской сетке под Gentoo. За полгода работы никаких сбоев замечено не было. Тогда это был один из первых релизов, но обошлось практически без граблей. единственное что было не очень удобным - так это править файлы в cp1251 на системе с юникодной консолью. Второй момент - это файл dmvn-lib/sendmail.lua, в котором для Linux надо закомментировать ровно одну строчку dofile. при этом на машине должен, разумеется, стоять пакет lua-socket (или просто соответствующие библиотеки). 2. Сейчас я ещё раз проверил текущую версию на совместимость с linux. в данный момент под рукой оказалась Fedora11 (x86 32bit). инструкция получается такая.
всё. вот у меня после этих действий хаб завелся без проблем. ЗЫ: дистрибутив был сегодня перезалит, так что лучше скачайте заново. 3. что касается вышеупомянутых инет-скриптов... надо бы это всё проверить. это правда всё слабо относится к данному проекту, но я готов поисследовать проблему у себя на системе. наверное, стоит смотреть не только логи ptokax, но и вывод tcpdump - там запросы-то вообще идут или нет? еще могут быть баги из-за (например) криво собранного luasocket или ещё каких=нибудь граблей, которых с ходу не видно. В любом случае, надо врубать отладку в этих скриптах и смотреть, на чем они валятся. ЗЗЫ. спасибо ещё раз за проявленный интерес к проекту. если что-то не будет получаться - пишите, будем разбираться! но в новом релизе, обещаю, количество действий для установки под linux будет гораздо меньше. вот только сборку бинарника, скорее всего, придётся оставить на откуп владельцу хаба - уж больно разные линуксы, .so-файлы, разные версии gcc, и тд... |
TiGRpp | ||
7.11.2009, 13:02 |
Instahub Instant PtokaX-based Hub with scripts (API2) |
А с какого рожна тогда список изменений на забугорном? Не нашлось исторических причин для использования родного языка? Ваша правда. ну привык я логи коммитов писать на забугорном, они же потом перекочевали в changеlog (ой, простите, список изменений ). Сегодня вечером сяду и переведу, не поленюсь UPD: вот первая половина... тяжкое всё-таки это дело - перевод. особенно тех вещей, которые делались больше года назад... Код v0.10: * Первая общедоступная версия v0.11: * усовершенствования антимата, исправлена куча багов * Добавлены комадны +grp/+srp для мастера (GetRegProfile/SetRegProfile) v0.12: * улучшен антимат: отслеживается разделение матерных слов пробелами + опции проверки допустимых ников вынесены в HubConf.lua + антиспам: добавлен черный список доменных имен (BlackDNS.dat), аналогично черному списку IP-адресов v0.13: - антиспам: исправлен баг в обработке черного списка доменных имен (BlackDNS) + проверка ников унифицирована в модулях регистрации и IPcontrol, добавлены отдельные настройки по проверкам каждого типа * множество исправлений в антимате (база данных) + IPControl: IP юзера пишется в сообщении о недопустимом IP-адресе (не попадающем в разрешенный диапазон) + рега: добавлена возможность разрешать регистрацию с почтовых ящиков в разных доменах (до этого был только один) -- в HubConf.lua v0.14 - антимат: пофиксен баг в алгоритме проверки; дополение БД мата и исключений + рега: добавлена опция, разрешающая регу с любого мыла (HubConf) v0.15 (r955-r971) рега: - пофиксен баг с проверкой почтового ящика + добавлена команла gagbytime для операторов и выше (мягкая заглушка на произвольное время) + добавлена проверка на заглушенность юзера при повторной заглушке в ProcessGag() - критический баг в функции удаления префикса (использовался старый API PtokaX < 0.4) + новинки: улучшение доступа: 1. можно назначать релизерами юзеров по профилю (разрешить/запретить всем юзерам данного профиля) 2. список релизеров вынесен в отдельный файл (DataBase/releasers.dat) * исправления в бБД антимата v0.16 (r971-r992) - исправлен баг предыдущего релиза с проверкой прав релизеров + добавлено: hubtop.lua - статистика лучших юзеров хаба (топ): считает аптайм и рейтинг юзеров, выводит список первых N юзеров. Статистика хранится в файле 'DataBase/top.dat'. Старые записи удаляются из базы по таймауту. + service.lua: добавлена сервисная функция PrintTimeShort(unixtime) для читаемой печати времени * удален старый скрипт 'TopTen' (для PX036) * исправления в антимате v0.17 (r992-r1038) * рега: настройки времен заглушек перенесены в hubconf (переменные *_GAG_TIME) - исправлен баг в реге в функции сравнения баз и добавлена команда +diffbase * переписан модуль IPControl: база ip-адресов объединена с базой префиксов. Файл DataBase/regions.dat больше не используется. Формат базы изменен, она НЕ совместима со старым форматом. * в антимат добавлена фильтрация магнет-ссылок и исправлено несколько мелких багов в базе. * некоторые константы перенесены в dmvn-lib/const.lua * жестко забитое имя бота убрано из скрипта menu.lua v0.18 (r1039-r1060) - исправлен баг в чтении базы антилича (спсб Yokel-ю за репорт) * антилич улучшен: добавлена обработка изменения размера шары 'на лету' (а не только при входе) + новинки: добавлен разбор TTH в команде +nadd command (теперь можно постить магнет полностью, не только ТТХ). v0.20 (r1061-r1315) * рега полностью переписана с нуля. основные изменения: 1. [+] трех-вариантная рега (через операторов, почту, и быстрая); 2. [*] полностью отделен антимат в отдельный скрипт 3. [*] отделена команда 'say' 4. [*] фича для "перевода" слов не в той раскладке отделена в скрипт translate.lua 5. [*] неподтвержденные реги теперь имеют отдельный профиль (4) 6. [+] более информативные сообщения при регистрации 7. [+] отдельные ссылки на документацию для инетных и локальных юзеров (локальных в смысле ип-ов 10.*) 8. [+] автоматическое удаление старых регистраций. 9. [+] оффлайн-оповещения о некоторых событиях при регистрации, удалении реги, смены ника и тд A. [+] лог сообщений, которые пишут в чат незареганные B. [+] опция, запрещающая юзать ПМ незареганным инет-юзерам (за исключением сообщений операторам) C. [+] сохранение базы по таймеру D. [-] правильное заполнение заголовка письма (поле 'from:') в почтовых оповещениях E. [+] все пользовательские настройки перенесены в hubconf.lua G. [+] опциональное оповещение о новом зареганном юзере H. [+] альфа-версия веб-регистрации + добавлен скрипт amsg.lua: юзер может отправить сообщение администрации хаба, которое отобразится в опчате. Сообщения проверяются на цензурность. + изменения в ipcontrol: в базу префиксов добавлен флаг 'special', запрещающий использование данного префикса в качестве составляющей ника. - множество исправлений в словаре антимата + new anti-search script (asearch.lua) forbidding search if share is too small. + новый скрипт translate.lua - встроенный punto-switcher, заменяющий раскладку букв при ошибочном ее выборе. * модуль inform.lua: добавлена поддержка различных MOTD для локальных и инет-юзеров. * скрипт новинок: полностью переписан.: 1. [+] новинки делятся на категории произвольной глубины вложенности. 2. [*] поля 'название', 'ориг. название' и 'год' объединены. 3. [+] разрешается несколько магнетов в одном релизе. 4. [+] добавление/удаление релизеров через интерфейс (или командами). 5. [+] меню сущственно улучшено. 6. [+] магнеты теперь хранятся 'как есть' (раньше хранились только TTH). 7. [+] команды nls (nlist) и ntail выводят новинки в отсортированном виде (сначала по категории, потом по времени). 8. [+] добавлена проверка целостности базы при чтении (ошибки выводятся в лог). 9. [+] последняя категория, к которой применялаь команда nls, запоминается для каждого пользователя и добавляется для него в меню. + добавлен скрипт stat.lua: собирает статистику по шаре/юзерам - максимальные и средние значения и пишет их в лог. * antiadv.lua улучшен: 1. белый список адресов и доменов теперь фильтруется в сообщениях перед проверкой на спам (ранее такие сообщения игнорировались) 2. исправлена детекция IP-адресов (меньше ложных срабатываний) 3. Добавлена проверка сообщений в чат для незареганных юзеров v0.21 (r1311-r1340) Модуль ipcontrol: + Добавлены команды для веб-регистрации (+checkmyprefix, +getprefix). * пофиксен небольшой баг при проверке префикса (в том случае, если его нет в базе). моудль anti-adv (антиспам): - исправлен баг: неверное действие в том случае, если 'spam limit' (переменная maxcount, кол-во нарушений) была равна 1 (забанивание случалось только со 2 раза). * более правильный порядок сообщений в логе + улучшение: сообщение теперь не передаётся другим скриптам если юзер забанивается. рега (users.lua): * веб-регистрация (бета-версия) антимат: * исправления БД мата v0.22 (r1341-r1373) + новый скрипт amassmsg.lua: контроль массовых рассылок в приват + новый скрипт antiop.lua: запрещает входить на хаб с никами, похожими на ники операторов. * пофиксен баг в users.lua: опечатки в опциях проверки ников (в конфиге и скрипте были разные переменные) * небольшие исправления антмата (БД) * веб-регистрация (бета 2) v0.23 (r1374-r1417) * скрипт amassmsg.lua улучшен: 1. сообщение блокируется, если скрипт принимает решение о забанивании юзера. 2. очень короткие сообщения (настройка AMSett.MinMsgLen, по умолчанию 10 символов) не обрабатываются фильтром. * HubTop: 1. Убраны повторяющиеся timestamp-ы в таблице топ-юзеров (реквест Wariner'а) 2. Унифицирована система команд: единая +top [N] вместо of +top и +ntop <N>. 3. Шара выводится в удобочитаемом формате (Mb/Gb/Tb/Pb) с 2 знаками после запятой. (реквест [antipod]-а) + Новый скрипт kickunreg.lua, кикающий незареганных юзеров после некоторого времени, проведенного на хабе. Удобен для хабов с обязательной регистрацией - юзер зашел, посмотрел, может посидеть незареганным минут 5-10, потом его выкинет, если он не зарегается. + добавлена команда +faq (в menu.lua) * Адрес хаба (локальный/инетный) теперь хранится в единых глобальных настройках GIntHubAddr, GExtHubAddr. * рега: + Имя хаба и адрес хаба добавлены в почтовые сообщения о регистрации (для удобства). (за замечание спсб [antipod]-у) - Исправлен баг в DBRegRemove(): теперь правильно работает удаление неподтвержденного юзера по мылу. * Более правильная обработка команд веб-регистрации. * часть общих функций вынесена в скрипт dmvn-lib/common.lua * антимат (amfilter.lua) улучшен: * независимая проверка ника и текста сообщения (раньше проверялась единая строка "<ник> текст") + опция, показывающая юзеру "неприличное" слово или сочетание слов в ПМ от бота. (реквест vicious1987) * some pattern extensions (letter repeating, other fixes). * более корректная проверка сочетаний вида "}{", похожих на буквы. * более правильный порядок сообщений в логе. * новинки (Newfiles.lua): исправлен баг в удалении релизеров (спсб vicious1987 за багрепорт) v0.24 (r1418-r1471) * users.lua: - исправлен критический баг: поиск юзера по нику с заглавными русскими буквами в нике не работал. + добавлена обработка аналогов команд +regsendpass и regsendcode для веб-регистрации. + добавлены переменные SMTPuser, SMTPpass, SMTPhost в настройки. + функция отправки почты отделена от регистрации в файл dmvn-lib/sendmail.lua * антимат: 1. фильтрация ников юзеров в сообщениях, некоторые исправления БД 2. добавлено распознавание "JI" как буквы "Л". 3. упрощение и улучшение паттернов. * anti-op: проверка на похожесть ников улучшена: похожие русские/английские буквы теперь тоже учитываются скриптом. + добавлен скрипт acmd.lua, блокирующий необработанные хабом команды (в случае несуществующей команды или ошибки в скрипте) v0.25 (r1471-r1506) * рега (users.lua): массовая переработка кода, унификация сообщений. * исправления антимата. + защита от DDoS при mail-регистрации: опция, запрещающая слишком частую отправку сообщений с хаба (запросы на регу, восстановление пароля, и тд). + добавлена статистика распределения шары - сколько юзеров попадает в тот или иной диапазон размера шары. * исправления для совместимости с Linux (регистр букв в именах файлов и тд). перевод чендж-логов на русский обновлен до версии 0.25. |
Delion | ||
27.2.2009, 2:03 |
Instahub Instant PtokaX-based Hub with scripts (API2) |
InstaHub 0.40 Текущая версия: Ссылка на страничку проекта: Итак, вашему вниманию предлагается отечественная разработка в области тяжелого хабостроения. Это хаб на базе PtokaX 0.501, с уже готовыми скриптами и всем прочими нужными файлами, настроенный и готовый к немедленному запуску (отсюда и название проекта). Хаб оснащен следующим скриптовым функционалом:
уф... ну кажется всё. есть ещё некоторые мелкие скрипты, не столь достойные описания. В папке scripts также имеется каталог dmvn-lib. Самый важный файл там -- hubconf.lua -- это настройки перечисленных выше скриптов. Остальные файлы в нем являются компонентами библиотеки и не являются скриптами для хаба в истинном смысле этого слова -- это просто набор функций, констант и прочих определений. Все скрипты написаны более-менее с нуля, разве что регистрация -- по мотивам модифицированного HubbaBot-а. Единственное, что тут уцелело из хуббы -- так это функция StringLower для русского текста. Никакого готового (чужого) кода тут само собой нет, это не "сборник" скриптов, а независимая разработка. Разумеется, каждую из перечисленных фичей в отдельности можно отключить, просто сняв галочку с соответствующего скрипта. Вот только порядок скриптов не меняйте сильно, пока не поймете как оно там работает. Можете использовать "как есть", можете дорабатывать скрипты для себя, но, пожалуйста, не уничтожайте оригинальных копирайтов и ссылок на домашнюю страницу проекта. Насчёт SMTP-сервера: годится любой, например халявный OfficeMailServer или чё-нить юниксовое (скрипты, кстати, будут работать и на *nix). Данная система скриптов успешно работает на моем хабе dchub://dc.dmvn.net:1441 Если есть вопросы -- заходите, спрашивайте... но лучше сначала читайте исходники копирайты и копилефты: © dmvn, 2007-2014; Благодарности: NRJ, Rivia за идеи и базу некоторых скриптов, Yokel за советы, идеи и самое главное -- качественное тестирование бета-верий, а также всем пользователям КорбиныТелеком за тестирование ранних реализаций этих и других скриптиков (в особенности антимата ) |
Alexey, nafig, MIKHAIL, мамин_парень, chev | ||
|
Сейчас: 23.12.2024, 8:38 |