А что там насчет лицензии? Она позволяет делать такие фокусы?
To alex82
Возможно ли добавить в настройках, что бы был выбор между бинарным и XML файлами сохранения/чтения зарегистрированных пользователей?
Например: если стоит галочка на "Бинарный формат" - запись/чтение происходит как на оригинальной версии PtokaX 0500, если нет - запись/чтение происходит в формате XML.
Многие уже перешли на 0500 и как такового XML файла уже не существует, поэтому есть определённые трудности переноса из бинарного формата в XML списка зарегистрированных. Или может есть какое-либо решение по этой проблеме?
Tsd
Добавил конвертер в первый пост
-------------------------------------------------
Выложил версию, хранящую пароли в зашифрованном виде. Подробности в первом посте.
md5 deprecated imho.
выложил mod 2
Кстати. Включать хеширование паролей надо хорошо обдумав. Если в дальнейшем будет всётаки переход на ADC, базу сохранить не выйдет. В адц хранение паролей в захешированном виде не возможно.
Перезалил версию, использующую шифрование паролей.
Исходники заменю чуть позже - когда закончу с запиливанием их под линукс.
Перезалил исходники. Изменения:
Исправлены ошибки в linux'овой части кода.
Добавлен makefile для PtokaX.
Добавлены makefile для библиотек SHA-1 и SHA-2.
Выложил mod 3. Всем, кто использует предыдущие версии x64, настоятельно рекомендуется обновиться.
Что заметил, если консольную версию добавлять в службы с помощью anyserv, хаб запускается, но если выйдешь, потом обратно он не пускал и в логах не чего, а если сделать, как описано тут http://mydc.ru/topic248.html полёт нормальный. Это на win 7. А так юзаю с выходных эту версия mod 2, вроде всё норм. Вот на mod 3 обновлюсь.
Booth
anyserv - приблуда используемая для тех приложений, которые не поддерживают установку в качестве системной службы. А PtokaX это поддерживает. Мало того, она умеет устанавливать сама себя системной службой. И да, в дистрибутиве есть скрипты, с помощью которых это можно сделать в два клика.
Вопрос: зачем использовать левые приблуды для того, что можно сделать встроенными средствами?
Где то тут читал что при использовании PtokaX 0.5.0.0 greylink отображает значки всех юзеров в женском роде, в этой сборке есть такое? И вообще это как то исправляется?
Есть. Исправляется отключением показа пола в грейлинке.
В старых версиях Ptokax Такого не было.... Скорее всего это баг какой то
Доброго времени суток.
Вышло несколько тестовых и стабильных версий Ptokax с момента публикации шапки. С вниманием слежу за Вашими модами на их основе. Пожалуйста, обновите моды на актуальные версии.
Благодарю.
To Alex82: Пора выкладывать Mod 4, он же уже готов!
Ты мне давал дистр, я потестил - норм, единственное, нужно обязательно предупредить что создается новый профиль "UnReg", а то будет как у меня первый раз))
Выложил PtokaX 0.5.0.1 mod. Список изменений выглядит внушительно, однако большинство из них было перенесено из предыдущих модов.
Обновление заняло чуть больше времени, чем планировалось. Связано это с тем, что PPK - большой любитель рефакторинга. Код версии 0.5.0.1 внешне настолько сильно отличается от предыдущей, что при попытке сравнить код двух версий WinMerge кричал, что это совершенно другая программа, после чего сразу же пытался застрелиться . Будем надеяться, что в этой версии PPK таки довел ООПность кода до совершенства, и следующие обновления будут проходить легче.
Тестирую новый мод. (Win7- 86-GUI). Всё работает, но. При попытке изменения масштаба окна GUI ловлю крэш PtokaX.
Уже наметил один глюк в GUI x86: в некоторых окнах настроек не умещаются нижние строки параметров, а размер окошка увеличить нельзя.
Например:
"Основные настройки-Больше настроек"
"Дополнительно" - самый нижний параметр "Приветствие"
Проверю на версии x64, если там все нормально то отпишу.
UPDATE Нашел еще одну проблему при компиляции на дебиане 7.0 x32... в результате не компилиться.
Karumo,
По поводу первого. Настройки совсем не влазят? Скриншот можно?
А насчет второго - линупс не перестает меня удивлять. Компилятор нового дебиана настолько отличается умом и сообразительностью, что не знает, что long int это int32_t (для которого есть соответствующая функция в pxstring.cpp), и пытается преобразовывать его в char . Даже не знаю, что тут посоветовать.
Кстати, mod4 собирался под этой же осью? Если да, то я тем более ничего не понимаю - код, на который ругается компилятор, переехал из mod4 без каких-либо изменений.
To alex82
Вопросы по scripting-interface:
1. Не нашел функцию RegMan.SetCustom(sNick, sString) (забыл дописать?)
2. Не нашел как использовать iRegDate, iLastEnter (согласно добавлению в этом моде)
В GUI при регистрации/изменения параметров зарегистрированного пользователя неплохо бы прикрутить кнопку редактирования доп. информации о пользователе (согласно RegMan.SetCustom(sNick, sString)). Например: если поле пустое (не заполнено), то в RegisteredUsers.xml оно будет отсутствовать.
Tsd,
1. Ага. Исправлю когда буду пересобирать архивы.
2. Вызвать RegMan.GetReg, и в таблице, которую вернет функция, будут эти два поля. Их значения устанавливаются хабом, и менять их из Lua нельзя.
Так?
RegMan.SetCustom(sNick, sString)
Ну а как же еще? 2 аргумента всего, трудно ошибиться. Если вызвать так:
на debian 6 тоже самое, может на ubuntu 10.10 попробовать?))
Выоложил mod2. Список изменений в первом посте.
Снова вылезли глюки с локалями. Если на сервере по умолчанию стоит локаль UTF-8, а затем с помощью скрипта переключить ее на однобайтовую (например ru_RU.CP1251), hashRegManager перестанет видеть зарегистрированных юзеров с кириллическими никами. Чтобы этого избежать, нужно переключать локаль не скриптом lua, а тем скриптом, что отвечает за запуск хаба (control_script в дистрибутиве или файл /etc/init.d/ptokax, когда хаб уже установлен на сервер). Для этого нужно добавить в скрипт следующее:
Вылез еще один косяк. Теперь, когда исходники нормально компилятся под Debian, они перестали компилиться под Ubuntu .
Компилятор ругается на функцию string::string(const long int & i32Number), которая была добавлена по той причине, что Debian не знает, что long int это int32_t и пытается преобразовать его в char *. Ubuntu же знает как правильно преобразовать типы, и ему не нравится, что в коде присутствует как string::string(const int64_t & i64Number) так и string::string(const long int & i32Number):
debian 7 64 bits
Выложил mod 3. Список изменений в первом посте.
debian 7 x64 полет нормальный
Karumo,
Попробовал под Debian и Ubuntu x86 - ни там ни там не наблюдал такого.
Выложил mod 4. Список изменений в первом посте.
Будем ждать нового релиза.
alex82, правильно ли я понимаю, что все вышеуказанные исправления для каждого мода (в данном случае для 4-го, последнего на текущий момент) отсутствуют в оригинальной версии PtokaX 0.5.0.1?
Если это так, то, быть может, стоит сообщить авторам PtokaX о наличии таких проблем и возможных/оптимальных вариантов их решения?
Выложил mod5. Список изменений в первом посте.
alex82, Алекс выкладывай мод 6, os.clock() работает норм в линухе.
Тест сутки = полёт нормальный)
Выложил mod 6. Список изменений в первом посте.
А почему исходники мода не находятся под открытым контроллером версий (гит-хаб или аналоги)
где видно все фиксы и мержи в реальном времени?
А что нового в моде 7?
Вижу он уже, судя по дате еще 29 апреля появился.
Karumo, на данный момент там всего одно изменение, не вижу смысла это выкладывать.
hi Alex82
Форкнул репку с птохой
влил несколько фиксов после проверки в PVS Studio
Всем доброго времени суток, вообщем вопрос таков:
Зделал скрипт чтоб автоматический качал базу IP-To-Country. Скрипт запускается раз в месяц через CRON
Но есть неудобства что команду для перезагрузки баз надо запускать через клиент вручную ( Добавлено: Команда !reloadcountry, позволяющая перезагрузить базы IP-To-Country. Команда доступна юзерам с профилем 0.)
Может кто создаст скрипт на LUA чтобы автоматически перегружалась база?
Строка для перезагрузки базы:
Выложил mod 8. Подробности в первом посте.
PPA, старые версии удаляю по той причине, что вложения в данном движке реализованы омерзительно и при большом кол-ве прикрепленных файлов в них невозможно ориентироваться. Но они есть у меня в шаре на хабе MyDC.
Значимые изменения из svn уже перенес, как потестирую, выложу. А косметические перенести нереально - чуть ли не половина кода изменена/переименована. Как выйдет финальная версия, попробую перенести в нее мои изменения.
PPA, влились куда? В оригинальную птоку? Ну так это не проблема.
Вы видели, сколько изменений в моде? И Вы видели какие они? Как думаете, справится ли тут хоть какая-нибудь автоматическая "вливалка"?
А не проще ли завести репозиторий для мода, и делать мерж изменений в него, а не гемороится с файлами и не прикреплять постоянно исходники в архивах? Тогда достаточно будет дать ссылку на репозиторий, и тот, кому надо, сможет выкачать исходники. Кстати, бинарники релизов можно тоже в репозиторий в отдельную ветку кидать.
А x32 есть?=)
Drakula, x32 нет, есть x86. Подойдет такая?
Выложил mod 9. Подробности в первом посте.
alex82 привет!
Ты ведь хорошо в коде птохи разбираешься
подскажи как правильнее на уровне С++ встроить вот такой скрипт
:~/src/PtokaX/scripts$ cat ctm2hub.lua
function UnknownArrival(tUser, sData)
if sData:sub(1,7) == "$MyNick" then
Core.SendToUser(tUser, "$Error CTM2HUB|")
end
end
хочется нативно поддержкать команду блокировки ddos
в verli он ужен добавлен.
может и ты добавишь к себ в мод поддержку этого расширения?
Данную фишку придумал RoLex и она поддерживается в клиентах FlylinkDC++ 5xx и 4xx
алгоритм такой
Добавлена поддержка команды CTM2HUB (RoLex) (Часть 1)
HUB1 = атакующий хаб который не проверяет запрос CTM
HUB2 = атакуемый хаб
HUB2.ADDR = адрес атакуемого хаба
DC1 = атакующий бот который отсылает левые CTM на HUB1
DC2 = обычный юзер на HUB1
DC1 -> HUB1 $ConnectToMe DC2 HUB2.ADDR|
HUB1 -> DC2 $ConnectToMe DC2 HUB2.ADDR|
DC2 не находит HUB2.ADDR в черном списке и продолжает работу с запросом CTM
DC2 -> HUB2 socket_connect(HUB2.ADDR) + $MyNick DC2|$Lock ABC|
HUB2 -> DC2 $Error CTM2HU
DC2 добавляет HUB2.ADDR в черный список и закрывает соединение
DC1 -> HUB1 $ConnectToMe DC2 HUB2.ADDR|
HUB1 -> DC2 $ConnectToMe DC2 HUB2.ADDR|
DC2 находит HUB2.ADDR в черном списке и игнорит запрос CTM
PPA
В файле DcCommands.cpp есть довольно странный кусок кода, отвечающий за обработку команды $MyNick:
По поводу расширения $Error я и так понял . Вопрос был про определение поддержки IPv4 при помощи команды $MyNick.
Привет.
alex82 подскажи зачем в птохе в методе bool clsDcCommands::MyINFODeflood 2 куска DeFloodCheckForFlood на MyINFO
+ заведены пары переменных типа
ui16MyINFOs и ui16MyINFOs2
ui64MyINFOsTick и ui64MyINFOsTick2
SETSHORT_MYINFO_ACTION и SETSHORT_MYINFO_ACTION2
...
?
Есть вопрос? Ubuntu 12.04_х64 ptokax mod 9, прочитал все коменты,поправил и пересобрал ptokax...Все работает пока нормально но,профилю Master птока весь чат загадила за сутки непонятными цифрами примерно с 10 минутным интервалом,как то это можно исправить или есть какая то команда чтоб убрать этот флуд?
Отключил все скрипты кроме locale.lua флуд исчез!Дело не в птоке а в каком то скрипте,буду включать по очереди и смотреть какой флудит.Всем спасибо!
P.S. Флудил в чат скрипт HubBanner 2.01 by alex82 API2 (PtokaX 0.4.x.x)!!!!!!!!!!!!!!!!!
PPA, потому что в птоке две настройки антифлуда MyINFO, которые можно настроить по-разному:
PPA, уговорить это маловероятно. У PPK много подобных странностей - и бесконечные #ifdef _WIN32 при выделении памяти, и явные указания размеров массивов и строк вместо использования sizeof (потому что это якобы ускоряет компиляцию), и функция CheckSprintf (возможно, это просто рудимент, оставшийся с тех времен, когда птока собиралась в придурковатом компиляторе от Borland, и там функция sprintf действительно могла косячить).
В версии 5.0.3 птоха стала рубить клиентов которые используют NAT Traversal
у себя на хабе пофиксил так
клиенты дописывают к номеру порту N, NS, R, RS
[Outgoing][94.242.221.159:411] $ConnectToMe Gramm 80.92.105.240:51179NS MikeKMV|
<MikeKMV> [21:33:43] <FlyBot> Your client sent incorrect port in connection request!
так-же отослал ошибку PPK - может он тоже поправит
PPA, ты ошибся темами, здесь моды от alex82
Мда... Судя по-всему не интересно и не планирует.
Жаль.
fabelum,
Чего вам не хватает? Чем не устраивает последний мод? Там что-то не работает?
Или вы ждёте, что мод на основе 0503 вам кофе сварит и в магазин за сигаретами будет бегать?
А можете рассказать про уязвимости?
@ fabelum
В связи со все еще нестабильной работой модификации, основанной на новой версии PtokaX, решил слегка продолжить разработку этой ветки. PtokaX 0.5.0.1 mod 11 выложена в первом посте данной темы.
Если новую версию так и не удастся довести до ума, перенесу все сколько-нибудь значимые фичи в эту.
При переходе с "0.5.2.1 mod" на мод 11 столкнулся с проблемой:
настройки скриптов в файле Scripts.pxt
настройки хаба в файле Settings.pxt
а 0.5.0.1 mod 11 они в формате xml
я уже молчу про файлы банов Bans.pxb и RangeBans.pxb, а также профилей Profiles.pxb из обычной 0.5.2.1, но это не критично
Нужен обратный конвертор как со списком юзеров...
Вручную все снова настраивать это жесть! Хорошо если остались настройки со предыдущего бекапа от мода 9-10.
И еще вопрос: Обязательно ли присутствие профиля Unreg? На работе хаба вроде как не сказывается его отсутствие или я что-то не заметил?
Хоть я уже почти ушёл из dc, но есть пару личных репозиториев с
Посему предложение к alex82, использовать github, bitbucket или аналоги. Смогу собирать пакеты вам автоматом и выкладывать в репозиторий deb, а может быть и rpm пакеты.
Ребят, подскажите пожалуйста, ставлю птоку 0.5.2.1_mod2 на 16 и 18 убунте, при компиляции выдает такое: