myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 

> PtokaX 0.5.0.1 Mod, Модификация PtokaX от alex82

alex82
сообщение 4.3.2013, 17:39
Сообщение #61


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Поскольку исходники PtokaX нынче доступны в полном
объеме (включая проекты Visual Studio), у многих анонимусов
руки так и чешутся запилить форк сего замечательного хабсофта.
Я оказался в их числе big_smile.gif

PtokaX 0.5.0.1 Mod


Версия: 0.5.0.1
Модификация: mod 11
Операционная система: Windows, Linux

Описание: Решил выложить на всеобщее обозрение свою модификацию PtokaX под кодовым названием PtokaX Mod. Список изменений относительно оригинальной версии выглядит так:
mod 11
Добавлено: Расширение протокола CTM2HUB.
Добавлено: Задержка перед отправкой $Lock (которая якобы помогает при DDoS-атаках).
mod 10
Исправлено: Неверные названия некоторых стран, возвращаемые функцией IP2Country.GetCountryName.
Добавлено: Возможность получения названия страны по коду с помощью функции IP2Country.GetCountryName.
Исправлено: Предупреждения при компиляции версии, хранящей пароли в зашифрованном виде.
Исправлено: Компиляция библиотеки SHA-2 под новыми версиями gcc.
mod 9
Исправлено: Профиль юзера устанавливался до успешной проверки пароля, что представляло собой потенциальную уязвимость (перенесено из тестовой версии).
Исправлено: Неполный IP-адрес отображался как некорректный в тех случаях, когда юзер, использующий IPv6, отправлял адрес IPv4 в команде (перенесено из тестовой версии несмотря на то, что суть бага мне не совсем ясна).
Исправлено: Права доступа для файлов и папок в *nix (перенесено из тестовой версии).
Исправлено: Возможные падения GUI-версии хаба при закрытии окон (перенесено из тестовой версии).
Исправлено: Неверные размеры массивов в коде редактора скриптов (перенесено из тестовой версии).
Исправлено: Невозможность использования в командах адресов IPv6, чья длина превышает 15 символов (перенесено из тестовой версии).
Исправлено: Ошибки в командах !rangeban и !rangeunban.
Добавлено: Автозапуск скрипта locale.lua.
mod 8
Изменено: Отныне юзеры с одинаковыми профилями не смогут банить друг друга. Данное изменение не относится к юзерам с профилем 0 (Master): эти засранцы по-прежнему могут банить кого угодно.
Добавлено: Ограничение продолжительности временных банов. В GUI данная опция находится на вкладке "Настройки банов". ID для SetMan.(G/S)etNumber - 114.
Добавлено: Опция, позволяющая менять интервал между служебными циклами. Уменьшение интервала снижает скорость отклика хаба на действия юзеров, однако это также приводит к некоторому повышению нагрузки на процессор. В GUI данная опция находится на вкладке "Больше настроек". ID для SetMan.(G/S)etNumber - 115.
Исправлено: Ошибка в linux-версии хаба, приводившая к некорректной работе таймеров с интервалом, не кратным одной секунде.
Исправлено: Окончательное решение вопроса локалей. Теперь локаль устанавливается изнутри Ptokax. В связи с этим былы добавлены 2 параметра настроек. ID для SetMan.(G/S)etString - 37 (Windows) и 38 (NIX). В GUI доступна только локаль Windows. Поскольку в Windows локаль устанавливается только для текущего модуля (т.е. выполняем setlocale() в PtokaX.exe - локаль меняется только для PtokaX.exe, выполняем setlocale() в lua.dll - локаль меняется только для lua.dll), необходимость в скрипте locale.lua никуда не делась.
Добавлено: Установка автозапуска хаба при выполнении make install.
Добавлено: Цели uninstall, on и off в makefile. Цели make on и make off позволяют включить и отключить автозагрузку хаба соответственно. Цель make uninstall используется для удаления файлов хаба (при этом удаляются только исполняемые файлы и ссылки автозапуска, рабочую директорию необходимо удалить вручную).
mod 7
Исправлено: Проверка прав доступа при создании банов с помощью команды $Kick.
mod 6
Добавлено: Команда !reloadcountry, позволяющая перезагрузить базы IP-To-Country. Команда доступна юзерам с профилем 0.
Добавлено: Функция Core.BotMyINFO(sBotNick, sBotMyINFO), позволяющая изменить $MyINFO бота, зарегистрированного из скрипта. Полная проверка синтаксиса $MyINFO не производится.
Исправлено: Максимальное значение параметра "Ограничение входа юзеров" в GUI.
Удалено: Бессмысленная опция "Отключать клиенты, отправляющие $Supports с ошибками". При ближайшем рассмотрении выяснилось, что "ошибками" считается лишний пробел в конце команды. Код, отвечающий за определение этой "ошибки" сохранен, поскольку он влияет на обработку магического байта, и в этом, возможно, есть некий смысл.
Добавлено: Опция, позволяющая отключить обработку магического байта. При включении заработает отображение пола в GreylinkDC, но могут появиться ошибки коммуникации между разными клиентами, поскольку при использование старшей половины байта каждый разработчик DC-клиента извращался как мог.
Исправлено: Функция os.clock под Linux. Теперь она работает так же, как под Windows - возвращает время с момента запуска хаба с точностью до миллисекунды. По умолчанию данный костыль включен, отключается в stdinc.h.
Изменено: При корректной остановке хаба всем юзерам рассылается сообщение о перезапуске. Раньше это сообщение отправлялось лишь при выполнении команды !restart.
Изменено: Время последнего входа зарегистрированного юзера обновляется не только при его входе на хаб, но и при выходе.
Добавлено: Переменная iOnlineTime, отображающее время, проведенное зарегистрированным юзером на хабе (в секундах). Переменная обновляется при выходе юзера, а также при вызове RegMan.UpdateTimes() (см. ниже).
Добавлено: Функция RegMan.UpdateTimes(), обновляющая значения iLastEnter и iOnlineTime в профилях зарегистрированных юзеров, находящихся на хабе. iOnlineTime вычисляется с учетом текущего времени и значения iLastEnter, а iLastEnter устанавливается равным текущему времени.
Добавлено: Функция RegMan.SetTimes(sNick, iRegDate, iLastEnter, iOnlineTime), позволяющая вручную установить время регистрации, время последнего входа и время онлайн для указанного зарегистрированного юзера.
Перенесены некоторые изменения из PtokaX 0.5.0.2
mod 5
Исправлено: Падение хаба при загрузке банов. (перенесено из тестовой версии)
Исправлено: Корректное завершение работы при помощи os.exit(). (перенесено из тестовой версии)
Добавлено: В makefile добавлена рекурсия для компиляции tinyxml. Теперь его не нужно собирать отдельно перед сборкой PtokaX (перенесено из тестовой версии)
Исправлено: Ошибка в скрипте init.d
Исправлено: Ошибки в русском языковом файле. Его можно пилить вечно, и все равно будет кривой :(
mod 4
Исправлено: Ошибки в функции Core.HideUserKey
Исправлено: Несколько ошибок в настройках прав доступа для незарегистрированных.
Испорчено: Опция "Не проверять IP в командах DC" в профиле незарегистрированного юзера. Теперь она игнорируется, и, как следствие, IP всегда проверяется. Это не баг, это фича.
Добавлено: Костыль, исправляющий регистрочувствительность кириллических ников в некоторых версиях Linux. По умолчанию отключен, включается в stdinc.h
Исправлено: Команда restart скрипта init.d
mod 3
Добавлено: Обработка ошибок при загрузке XML-файлов. Если в одном из файлов есть синтаксическая ошибка, программа сообщает об этом и аварийно завершает работу вместо того, чтобы втихую загрузить значения по умолчанию.
Исправлено: Кодировка, указанная в заголовках XML-файлов.
Исправлено: Если хаб не смог запуститься (например, по причине занятости всех указанных портов), настройки будут сохранены, что даст возможность исправить их.
Добавлено: Функция Core.HideUserKey(tUser, bHide), позволяющая скрыть ключ юзера.
Исправлено: Добавление/удаление ключей при изменении зарегистрированных юзеров.
Исправлено: Несколько ошибок в настройках прав доступа для незарегистрированных.
Добавлено: Функция Core.IsolateUser(tUser, bState), позволяющая изолировать юзера от главного чата. Изолированный юзер не видит сообщений других юзеров, а они, соответственно, не видят сообщения изолированного юзера.
Добавлено: Функция Core.SendToNonisolated(sData), отправляющая данные всем неизолированным юзерам (см. предыдущий пункт). Используется аналогично Core.SendToAll(sData).
Исправлено: В сборке x64 отключено использование больших адресов. Теперь хаб не падает при запуске скриптов. Как результат - в сборке нельзя использовать библиотеки, предназначенные для оригинальной PtokaX 0.5.0.1.
Исправлено: Компиляция под Debian и Ubuntu различных архитектур. Надеюсь, в этот раз исправил правильно.
Исправлено: В скрипте для init.d исключена возможность повторного запуска демона, а также исправлена передача ему переменных окружения.
mod 2
Изменено: В сборках x86 отключено использование инструкций SSE для совместимости с некоторыми не очень свежими процессорами от AMD.
Исправлено: Установка размеров окон при различных размерах системных шрифтов.
Исправлено: Компиляция под Debian.
Исправлено: Небольшая ошибка в makefile при выполнении цели install.
Исправлено: Скрипт locale.lua
Исправлено: Пропущенные функции и параметры в scripting-interface.txt
mod
Исправлено: При нажатии кнопки "Принять" настройки не сохранялись в файл (подозреваю, что кое-кто считает это фичей, а не багом).
Изменено: К черту бинарный бред. Список зарегистрированных юзеров снова хранится в файле XML.
Изменено: Для 32-разрядной версии метод вызова функций изменен на cdecl, что позволило испльзовать библиотеки, предназначенные для Lua-AIO и RusHub.
Изменено: Положение и размеры кнопок на вкладке "Статистика".
Изменено: Отключено открытие скрипта по двойному клику в списке. Глубокого смысла в этом нет, просто мне так удобнее big_smile.gif.
Исправлено: Доведен до ума файл русской локализации.
Добавлено: В профиль зарегистрированного юзера добавлены дата регистрации, дата последнего входа и один текстовый параметр для хранения произвольных данных. В связи с этим в таблицу зарегистрированного юзера были добавлены поля iRegDate, iLastEnter и sCustom. Для установки поля sCustom используется функция RegMan.SetCustom(sNick, sString). Поле sCustom может отсутствовать.
Изменено: При сохранении настроек в файл записываются все параметры, а не только те, значения которых отличаются от значений по умолчанию.
Добавлено: Проверка прав доступа для команды !stats.
Добавлено: Блокировка неизвестных команд. Отключается на вкладке "Дополнительно".
Добавлено: Возможность отключения приветствия (Этот хаб работает под управлением...). Включается на вкладке "Дополнительно" Имя параметра в настройках - ShowWelcome, ID для SetMan.(S/G)etBool - 57.
Изменено: Отключение проверки ключа вынесено в настройки. В связи с этим был удален ключ командной строки /nokeycheck.
Добавлено: Возможность отключения сжатия zlib. Отключается на вкладке "Больше настроек".
Изменено: Профиль по умолчанию для юзеров, регистрируемых с помощью GUI.
Добавлено: Функция print. В GUI-версии функция выводит текст в окно ошибок скриптов, в консольной - в главный чат юзерам с профилем Master.
Исправлено: Самодеятельность TinyXML, касающаяся обработки пустых символов. Несколько пустых символов подряд заменялись одним пробелом. По непонятной причине неразрывный пробел также считался пустым символом.
Исправлено: При запуске принудительно устанавливается локаль "C" для чисел. Это поможет избежать проблем с сохранением дробных чисел если сервер, на котором работает хаб, настраивали жопой.
Добавлено: Версия PtokaX, хранящая пароли в зашифрованном (SHA-256) виде.
Изменено: Настройки по умолчанию. Строковые параметры переведены на русский.
Изменено: Список стран IP-To-Country: Добавлены коды стран, названия стран переведены на русский.
Добавлено: Сообщения об ошибках скриптов отправляются операторам.
Добавлено: Возможность отключения отображения трассировки стека Lua в ошибках скриптов.
Добавлено: Параметр bZPipe, отображающий поддержку юзером сжатия. Код для Core.GetUserData - 64
Исправлено: Устранено мелькание окна консоли при вызове функций os.execute и io.popen.
Добавлено: Настройка прав доступа для незарегистрированных юзеров.
Добавлено: Альтернативный синтаксис для функции регистрации бота: Core.RegBot(sNick, sMyINFOString, bHaveKey). Полная проверка синтаксиса $MyINFO не производится.
Добавлено: Функция Core.HideUser(tUser, bHide), позволяющая скрыть юзера из списка.
Добавлено: Функции Core.GetDCStats, Core.GetNetStats.
Добавлено: События BadPassArrival и ValidateDenideArrival.
Исправлено: При загрузке настроек из файла строковые настройки заменялись настройками по умолчанию в тех случаях, когда длина сохраненной строки равна нулю, а длина строки по умолчанию больше нуля. По этой причине в предыдущих версиях мода было невозможно переключить язык на английский, а в оригинальной версии - удалить адрес перенаравления.
Исправлено: Изменение паролей зарегистрированных юзеров.
Исправлено: Если длинные MyINFO отправляются только разрешенным профилям, а профиль юзера позволяет ему получать полные MyINFO, то боты, зарегистрированные скриптами, становились видны ему только после переподключения к хабу.
Добавлено: Функция Core.UserNoQuit(tUser, bState), позволяющая подавить команду $Quit при выходе юзера. Кому-то функция может показаться бессмысленной, однако я знаю наверняка, для чего я ее добавил. Возможно, и вы когда-нибудь узнаете big_smile.gif.
Были собраны версии для Windows x86 и x64, однако 64-разрядная версия мной практически не тестировалась. В сборке x86 присутствуют библиотеки Lua на все случаи жизни.
Прикрепленный файл  0.5.0.1_mod11_x86.rar ( 7.36 мегабайт ) Кол-во скачиваний: 65
Прикрепленный файл  0.5.0.1_mod11_x64.rar ( 6.3 мегабайт ) Кол-во скачиваний: 71
Прикрепленный файл  0.5.0.1_mod11_src.zip ( 1.05 мегабайт ) Кол-во скачиваний: 66

Старые версии
Прикрепленный файл  0.5.0.1_mod10_x86.rar ( 7.38 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл  0.5.0.1_mod10_x64.rar ( 6.3 мегабайт ) Кол-во скачиваний: 2
Прикрепленный файл  0.5.0.1_mod10_src.zip ( 1.05 мегабайт ) Кол-во скачиваний: 4
Прикрепленный файл  0.5.0.1_mod10_hashpass.rar ( 3.85 мегабайт ) Кол-во скачиваний: 2
Остальные версии можно найти в моей шаре на хабе MyDC

Как правильно обновляться...
...с оригинальной версии на mod:
Первым делом конвертируем базу из бинарного формата в xml. Делать это нужно на оригинальной версии, поскольку скрипт использует для конвертирования API хаба. Затем останавливаем хаб, открываем файл cfg/Profiles.xml, и добавляем профиль для незарегистрированных юзеров:
Длиннокод
Код
    <Profile>
        <Name>Unreg</Name>
        <Permissions>00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0
0000000000000000000</Permissions>
    </Profile>
После этого можно обновлять бинарники и запускать хаб. Новые настройки добавятся в конфиг автоматически при первом же сохранении настроек. Поскольку оригинальная PtokaX имеет весьма подлый алгоритм сохранения настроек, в котором, к тому же, имеется один нехороший баг, рекомендуется после первого же запуска пробежаться по настройкам, и исправить все, что не понравится. И да, не следует забывать, что имена виндовых библиотек в оригинальной версии могут отличаться от таковых в mod.

Если Вы обновляетесь с версии 0.4.x.x, работавшей под Windows, у Вас может возникнуть еще одна проблема: в списке зарегистрированных юзеров обнаружится большое число юзеров с одним и тем же ником, но в разных регистрах. При удалении каждого повторяющегося юзера, GUI-версия PtokaX будет выдавать сообщение. Если Вам лень клацать кнопку "OK" 10500 раз, можете убить птоку диспетчером задач, и использовать для первого запуска консольную версию - она удалит дублирующихся юзеров тихо, а сообщения об удалении сохранит в файл system.log

...с PtokaX 0.5.0.0 mod3 на PtokaX 0.5.0.1 mod:
Останавливаем хаб, добавляем в настройки профиль незарегистрированных юзеров (см. предыдущий пункт), запускаем хаб. Всё big_smile.gif

...с mod на оригинальную версию:
Останавливаем хаб, удаляем из конфига профиль незарегистрированных юзеров. После этого можно обновлять бинарники и запускать хаб - PtokaX сама сконвертирует базу регистраций в бинарный формат, а также удалит все ненужные (и даже некоторые нужные bad_smile.gif ) настройки.

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

...с версии, хеширующей пароли, на обычную версию:
Останавливаем хаб, заменяем бинарники, удаляем базу регистраций, запускаем хаб, и просим всех юзеров зарегистрироваться по-новой. Ну да, а Вы что думали? Расшифровать хешированные пароли невозможно. Именно по этой причине включение хеширования паролей производится таким извращенным способом.


Версия, хранящая пароли в зашифрованном виде:Прикрепленный файл  0.5.0.1_mod11_hashpass.rar ( 3.84 мегабайт ) Кол-во скачиваний: 12

Как это работает
Пароли хранятся в виде
Код
|<Хэш пароля в hexadecimal-формате>
Символ | в начале пароля нужен для того, чтобы PtokaX могла отличить шифрованные пароли от нешифрованных. Если при загрузке базы какие-либо пароли не соответствуют данному формату, они автоматически хешируются. Это позволяет не париться при переходе на шифрованную базу и при добавлении аккаунтов прямо в XML-файл.

Следует помнить, что хешированные пароли расшифровать нельзя. Т.е вы не сможете сконвертировать базу обратно. Никак не сможете. СОВСЕМ никак.

Также следует помнить, что зарегистрированных юзеров теперь нельзя редактировать с помощью PXControl, PRA, и им подобных. И да, если Ваш скрипт регистрации запрашивает старый пароль при его изменении, Вам придется прикрутить к нему библиотеку sha2.

В архиве только exe'шник, все остальное берем из основного дистрибутива.


Скрипт для конвертирования бинарной базы обратно в XML:
Прикрепленный файл  GetBaseBack.lua ( 1.22 килобайт ) Кол-во скачиваний: 102


Если Вы переходите на данную версию с более новой, хранящей настройки и список скриптов в файлах .pxt, то Вам будет полезен конвертер:
Прикрепленный файл  settings_back.lua ( 7.42 килобайт ) Кол-во скачиваний: 27


TODO
По-человечески исправить отрисовку GUI. Думаю, многие заметили, что внешний вид окна оригинальной птоки сильно портится если по нему провести окном другого приложения. Сильнее всего эффект заметен в Windows 7 на упрощенных темах оформления. Связано это с тем, что PPK не до конца осилил создание GUI с помощью чистого WinAPI. Проблема в том, что я знаю WinAPI еще хуже, поэтому я даже не представляю, как это исправить. Поэтому я поступил следующим образом - убрал свойство WS_CLIPCHILDREN главного окна. После этого глюки с перерисовкой дочерних элементов исчезли, но они стали сильно мигать при изменении размеров окна.

Перенести из PtokaX 0.5.0.0 mod 4 (этот мод никогда не выкладывался, поскольку я не закончил его) событие IsRegistered(). Оно используется для хранения аккаунтов во внешних БД, и в вышеназванной модификации вполне себе работало. Но в версии 0.5.0.1 PPK так отрефакторил ту часть кода, что добавить его стало некуда. Возможно, когда-нибудь я таки решусь на переделку.

Исправить странные глюки в работе функции SendToNonisolated. Иногда при изменении прав профилей сообщения, отправленные с помощью этой функции начинают получать все юзеры, включая изолированных. Причину пока не выяснил.

P.S. Не забывайте сообщать о найденных ошибках

Версии, основанные на PtokaX 0.5.0.0
mod 3
Исправлено: При изменении настроек главного бота или ОпЧата из GUI, бот со старым ником оставался в списке юзеров до перезапуска хаба.
Изменено: Профиль по умолчанию для юзеров, регистрируемых с помощью GUI.
Добавлено: Альтернативный синтаксис для функции регистрации бота: Core.RegBot(sNick, sMyINFOString, bHaveKey). Полная проверка синтаксиса $MyINFO не производится.
Добавлено: Возможность отключения сжатия zlib. Отключается на вкладке "Больше настроек".
Изменено: Отключение проверки ключа вынесено в настройки. В связи с этим был удален ключ командной строки /nokeycheck.
Исправлено: Незначительные исправления в языковом файле.

Изменения в библиотеках:
Устранено мелькание окна консоли при вызове функций os.execute и io.popen.
mod 2
Исправлено: Самодеятельность TinyXML, касающаяся обработки пустых символов. Несколько пустых символов подряд заменялись одним пробелом. По непонятной причине неразрывный пробел также считался пустым символом.
Добавлено: Функции Core.GetDCStats, Core.GetNetStats и Core.GetMemStats.
Добавлено: Консольная версия PtokaX, хранящая пароли в зашифрованном (SHA-256) виде.
Добавлено: Функция print. В GUI-версии функция выводит текст в окно ошибок скриптов, в консольной - в главный чат юзерам с профилем Master.
Добавлено: Сообщения об ошибках скриптов отправляются юзерам с профилем Master.
Исправлено: Пропущенные строки в языковом файле.

Изменения в библиотеках:
В библиотеке Lua параметры LUA_PATH_DEFAULT и LUA_CPATH_DEFAULT изменены на более каноничные, что позволит избежать проблем при подключении некоторых библиотек.
Из Lua удалены костыли, добавленные для совместимости с библиотеками Lua-AIO. В связи с этим были удалены библиотеки iup, tcps и udps.
Заменена библиотека iconv.
Добавлены библиотеки sha1 и sha2.
mod 1
Изменено: Для 32-разрядной версии метод вызова функций изменен на cdecl, что позволило испльзовать библиотеки, предназначенные для Lua-AIO и RusHub
Изменено: Положение и размеры кнопок на вкладке "Статистика"
Изменено: Отключено открытие скрипта по двойному клику в списке. Глубокого смысла в этом нет, просто мне так удобнее big_smile.gif
Исправлено: Доведен до ума файл русской локализации
Изменено: Настройки по умолчанию. Строковые параметры переведены на русский
Изменено: Список стран IP-To-Country: Добавлены коды стран, названия стран переведены на русский
Добавлено: В никах запрещены символы от \0 до \31
Добавлено: Блокировка неизвестных команд. Отключается на вкладке "Дополнительно"
Добавлено: Проверка прав доступа для команд !stats и !memstats
Добавлено: События BadPassArrival и ValidateDenideArrival
Добавлено: Параметр bZPipe, отображающий поддержку юзером сжатия. Код для Core.GetUserData - 64
Изменено: При сохранении настроек в файл записываются все параметры, а не только те, значения которых отличаются от значений по умолчанию
Добавлено: Возможность отключения приветствия (Этот хаб работает под управлением...). Включается на вкладке "Дополнительно" Имя параметра в настройках - ShowWelcome, ID для SetMan.(S/G)etBool - 57
Изменено: К черту бинарный бред. Список зарегистрированных юзеров снова хранится в файле XML
Исправлено: Ошибка IPToCountry - первый и последний адрес диапазона не считались его частью
Исправлено: При нажатии кнопки "Принять" настройки не сохранялись в файл (подозреваю, что кое-кто считает это фичей, а не багом big_smile.gif)

Прикрепленный файл  ptokax_0.5.0.0_mod3_x86.rar ( 8.69 мегабайт ) Кол-во скачиваний: 284
Прикрепленный файл  ptokax_0.5.0.0_mod3_x64.rar ( 4.79 мегабайт ) Кол-во скачиваний: 92
Прикрепленный файл  ptokax_0.5.0.0_mod3_src.zip ( 1.06 мегабайт ) Кол-во скачиваний: 52


Консольная версия, хранящая пароли в зашифрованном виде:Прикрепленный файл  ptokax_0.5.0.0_mod3_hashpass_sha2.rar ( 1.79 мегабайт ) Кол-во скачиваний: 7

Предыдущая версия, шифрующая пароли алгоритмом MD5:Прикрепленный файл  PtokaX_console_hashpass.rar ( 278.28 килобайт ) Кол-во скачиваний: 11


Дополнительную информацию можно найти во втором сообщении данной темы
Go to the top of the page
+Quote Post
6 страниц V  « < 2 3 4 5 6 >  
Начать новую тему
Ответов
Nickel89
сообщение 29.7.2014, 7:56
Сообщение #62


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 24.3.2014
Из: Чебоксары
Пользователь №: 12 364
Спасибо сказали: 0 раз




Всем доброго времени суток, вообщем вопрос таков:

Зделал скрипт чтоб автоматический качал базу IP-To-Country. Скрипт запускается раз в месяц через CRON
Но есть неудобства что команду для перезагрузки баз надо запускать через клиент вручную ( Добавлено: Команда !reloadcountry, позволяющая перезагрузить базы IP-To-Country. Команда доступна юзерам с профилем 0.)

Может кто создаст скрипт на LUA чтобы автоматически перегружалась база?
Go to the top of the page
+Quote Post
Ksan
сообщение 29.7.2014, 10:31
Сообщение #63


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 723
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 657 раз




Строка для перезагрузки базы:
Код
IP2Country.Reload()

Что вам мешает изучить файл "scripting-interface_mod6.txt" в корне папки Птоки мод 6 ?


Спасибо сказали:
Go to the top of the page
+Quote Post
Nickel89
сообщение 29.7.2014, 12:20
Сообщение #64


Абсолютный новичок


Группа: Пользователи
Сообщений: 8
Регистрация: 24.3.2014
Из: Чебоксары
Пользователь №: 12 364
Спасибо сказали: 0 раз




Цитата(Ksan @ 29.7.2014, 11:31) *
Строка для перезагрузки базы:
Код
IP2Country.Reload()

Что вам мешает изучить файл "scripting-interface_mod6.txt" в корне папки Птоки мод 6 ?



Ksan Большое Спасибо! все работает как часики )
Go to the top of the page
+Quote Post
alex82
сообщение 24.11.2014, 13:52
Сообщение #65


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Выложил mod 8. Подробности в первом посте.


Спасибо сказали:
Go to the top of the page
+Quote Post
PPA
сообщение 25.11.2014, 10:10
Сообщение #66


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 6.2.2009
Из: Липецк
Пользователь №: 2 131
Спасибо сказали: 8 раз




Цитата(alex82 @ 24.11.2014, 14:52) *
Выложил mod 8. Подробности в первом посте.


А можно исходники предыдущих mod не тереть? big_smile.gif - диф не посмотреть
с оригиналом сравнить сложно - много косметических исправлений в версии svn от PPK
которые ты к себе пока не забираешь...
Go to the top of the page
+Quote Post
alex82
сообщение 25.11.2014, 15:08
Сообщение #67


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




PPA, старые версии удаляю по той причине, что вложения в данном движке реализованы омерзительно и при большом кол-ве прикрепленных файлов в них невозможно ориентироваться. Но они есть у меня в шаре на хабе MyDC.

Значимые изменения из svn уже перенес, как потестирую, выложу. А косметические перенести нереально - чуть ли не половина кода изменена/переименована. Как выйдет финальная версия, попробую перенести в нее мои изменения.
Go to the top of the page
+Quote Post
PPA
сообщение 25.11.2014, 19:36
Сообщение #68


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 6.2.2009
Из: Липецк
Пользователь №: 2 131
Спасибо сказали: 8 раз




Цитата(alex82 @ 25.11.2014, 15:08) *
А косметические перенести нереально - чуть ли не половина кода изменена/переименована. Как выйдет финальная версия, попробую перенести в нее мои изменения.


У меня с помощью гита почти все изменения на автомате влились
https://github.com/pavel-pimenov/PtokaX/com...1f3f6517b85cf84
странно что ты не хранишь код в нормальном месте а выкладываешь тут в виде аттачей

Go to the top of the page
+Quote Post
alex82
сообщение 26.11.2014, 3:41
Сообщение #69


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




PPA, влились куда? В оригинальную птоку? Ну так это не проблема.

Вы видели, сколько изменений в моде? И Вы видели какие они? Как думаете, справится ли тут хоть какая-нибудь автоматическая "вливалка"?
Go to the top of the page
+Quote Post
Karumo
сообщение 27.11.2014, 12:07
Сообщение #70


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




Цитата(alex82 @ 24.11.2014, 13:52) *
Выложил mod 8. Подробности в первом посте.

На дебиане 7 x64 компилится нормально, работает уже суток 3-е, ошибок не заметил...

P.S. Автозагрузка хаба работает))) как раз ночью (26 ноября в 1.30 по МСК) перезагрузился VPS на OVH, и хаб тоже...

Сообщение отредактировал Karumo - 27.11.2014, 12:13
Go to the top of the page
+Quote Post
PPA
сообщение 27.11.2014, 13:40
Сообщение #71


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 6.2.2009
Из: Липецк
Пользователь №: 2 131
Спасибо сказали: 8 раз




Цитата(alex82 @ 26.11.2014, 3:41) *
PPA, влились куда? В оригинальную птоку? Ну так это не проблема.
Вы видели, сколько изменений в моде? И Вы видели какие они? Как думаете, справится ли тут хоть какая-нибудь автоматическая "вливалка"?

Ну конфликты неизменно будут.
просто их рано или поздно делать - чем делать это чаще - тем будет проще в будущем.
или ты надеешься что PPK к релизу обратно все переменные переименует )

Go to the top of the page
+Quote Post
Setuper
сообщение 27.11.2014, 13:56
Сообщение #72


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




А не проще ли завести репозиторий для мода, и делать мерж изменений в него, а не гемороится с файлами и не прикреплять постоянно исходники в архивах? Тогда достаточно будет дать ссылку на репозиторий, и тот, кому надо, сможет выкачать исходники. Кстати, бинарники релизов можно тоже в репозиторий в отдельную ветку кидать.
Go to the top of the page
+Quote Post
PPA
сообщение 27.11.2014, 14:21
Сообщение #73


Участник
**

Группа: Пользователи
Сообщений: 36
Регистрация: 6.2.2009
Из: Липецк
Пользователь №: 2 131
Спасибо сказали: 8 раз




Цитата(Setuper @ 27.11.2014, 13:56) *
А не проще ли завести репозиторий для мода, и делать мерж изменений в него, а не гемороится с файлами и не прикреплять постоянно исходники в архивах? Тогда достаточно будет дать ссылку на репозиторий, и тот, кому надо, сможет выкачать исходники. Кстати, бинарники релизов можно тоже в репозиторий в отдельную ветку кидать.


+1 В мае в этой теме уже спрашивал Alex82 про это
http://mydc.ru/topic5423s40.html?p=46346#entry46346
он ничего не ответил
Go to the top of the page
+Quote Post
alex82
сообщение 27.11.2014, 15:42
Сообщение #74


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Цитата(PPA @ 27.11.2014, 12:40) *
Ну конфликты неизменно будут.
просто их рано или поздно делать - чем делать это чаще - тем будет проще в будущем.
или ты надеешься что PPK к релизу обратно все переменные переименует )
Нет, я надеюсь дождаться релиза, затем подождать чуток, чтобы вылезли все грубые баги (а они при таком количестве изменений непременно будут), и PPK их пофиксил, а потом перенести в код PPK свои изменения.
Go to the top of the page
+Quote Post
Saymon21
сообщение 27.11.2014, 18:49
Сообщение #75


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Цитата(PPA @ 27.11.2014, 14:21) *
+1 В мае в этой теме уже спрашивал Alex82 про это
http://mydc.ru/topic5423s40.html?p=46346#entry46346
он ничего не ответил

Этот вопрос и ранее поднимался, даже мной в самом начале темы. big_smile.gif
Go to the top of the page
+Quote Post
Drakula
сообщение 29.11.2014, 15:17
Сообщение #76


PtokaX DC Hub 0.4.1.2
*****

Группа: Пользователи
Сообщений: 203
Регистрация: 20.1.2009
Из: Republic of Belarus, Minsk, Uruchie, Avalon.
Пользователь №: 1 890
Спасибо сказали: 4 раза




А x32 есть?=)
Go to the top of the page
+Quote Post
alex82
сообщение 29.11.2014, 16:52
Сообщение #77


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Drakula, x32 нет, есть x86. Подойдет такая?


Спасибо сказали:
Go to the top of the page
+Quote Post
Drakula
сообщение 29.11.2014, 19:56
Сообщение #78


PtokaX DC Hub 0.4.1.2
*****

Группа: Пользователи
Сообщений: 203
Регистрация: 20.1.2009
Из: Republic of Belarus, Minsk, Uruchie, Avalon.
Пользователь №: 1 890
Спасибо сказали: 4 раза




Цитата(alex82 @ 29.11.2014, 16:52) *
Drakula, x32 нет, есть x86. Подойдет такая?


Вроде бы заработала=)
Поставил, всё улётно, респект тебе, но возникла проблема все скрипты работают кроме релизов, вот что выкидывает:
[21:04:34] Синтаксис ...аб хаб\Новая папка\scripts\freshstuff.lua:59: attempt to index global 'lfs' (a nil value)

библиотеки заменил на вот эти: http://mydc.ru/index.html?showtopic=1970&a...ost&p=46357

Наверное это не сюда надо было писать, я в релизах так же написал, но посчитал что возможно уместно будет и сюда написать.
Go to the top of the page
+Quote Post
Karumo
сообщение 1.12.2014, 8:46
Сообщение #79


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




Цитата(Drakula @ 29.11.2014, 19:56) *
Вроде бы заработала=)
Поставил, всё улётно, респект тебе, но возникла проблема все скрипты работают кроме релизов, вот что выкидывает:
[21:04:34] Синтаксис ...аб хаб\Новая папка\scripts\freshstuff.lua:59: attempt to index global 'lfs' (a nil value)

библиотеки заменил на вот эти: http://mydc.ru/index.html?showtopic=1970&a...ost&p=46357

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


Если компилишь под юниксы, то поставь этот пакет:
aptitude liblua5.1-filesystem0

А вообще у меня давно есть FAQ для тех кто первый раз ставит на хостинги юниксовые (VPS и т.п.).

Установка хаба с "нуля"
-- Протестировано на версии 0.5.0.1 mod6 http://mydc.ru/topic5423.html
-- программа доступа к консоле SSH
PuTTy http://www.putty.org
-- для работы с файловой системой (закачка-скачивание) понадобится программа
WinSCP http://winscp.net
-- начало
необязательно: sudo bash
apt-get update

--Потом:
apt-get install make gcc build-essential chkconfig aptitude

--Устанавливаем библиотеки и модули Lua:
aptitude -y install g++ zlib1g zlib1g-dev lua5.1 liblua5.1-0 liblua5.1-0-dev liblua5.1-filesystem0 liblua5.1-posix1 liblua5.1-socket2
-- альтернативный вариант (более полный):
aptitude -y install psutils liblua5.1-0 liblua5.1-0-dev liblua5.1-0-dbg liblua5.1-filesystem0 liblua5.1-filesystem-dev liblua5.1-posix1 liblua5.1-posix-dev liblua5.1-socket2 liblua5.1-socket-dev liblua5.1-sql-sqlite3-2 liblua5.1-sql-sqlite3-dev liblua5.1-xmlrpc0 liblua5.1-xmlrpc-dev zlib1g zlib1g-dbg zlib1g-dev g++

--Время на хабе:
dpkg-reconfigure tzdata
apt-get install ntp ntpdate

--далее создаем папку для компиляции ptokax, пример:
mkdir /root/ptokax
-- задаем ей права:
chmod 755 /root/ptokax

--закачиваем туда сорцы птохи из архива
сначала распаковываем сорцы из архива в винде в отдельную папку, и из неё копируем через ftp в папку /root/ptokax

--делаем компиляцию птохи:
cd /root/ptokax && make && make install && make clean

-- прописываем как сервис (если не прописалось):
-- не забыть про /etc/init.d/ptokax

update-rc.d ptokax defaults

Иногда может потребоваться параметр -f

update-rc.d -f ptokax defaults

После этого нужно запустить и выключить хаб, для окончательной притёрки.
запуск хаба:
service ptokax start
Стоп хаба:
service ptokax stop

Все ваши настройки будут в папке /etc/ptokax
папки cfg scripts texts

запуск хаба:
service ptokax start

Управление: service ptokax start|stop|restart|status

P.S. Папку /root/ptokax после компиляции можно удалить, она не нужна
---------------------------------------
Run PtokaX.

Автозагрузка: добавить хаб в Init.d и забыть о проблемах.
Хаб будет стартовать как служба.
Чтобы это сделать, необходимо:
отредактировать пути в control_script

cp control_script /etc/init.d/ptokax


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

поставить локаль ru_RU.CP1251 по умолчанию в
dpkg-reconfigure locales


Спасибо сказали:
Go to the top of the page
+Quote Post
alex82
сообщение 1.12.2014, 14:11
Сообщение #80


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Выложил mod 9. Подробности в первом посте.


Спасибо сказали:
Go to the top of the page
+Quote Post
Karumo
сообщение 2.12.2014, 8:53
Сообщение #81


Участник
**

Группа: Пользователи
Сообщений: 38
Регистрация: 24.11.2008
Из: Москва
Пользователь №: 1 186
Спасибо сказали: 5 раз




Цитата(alex82 @ 1.12.2014, 14:11) *
Выложил mod 9. Подробности в первом посте.

Скомпилировал на дебиане 7 x64, внешне все нормально.
Но если запускаешь скрипт locale.lua то пишет:
Код
/etc/ptokax/scripts/locale.lua:55: Некорректно работает функция strcasecmp

Это нормально или я чего-то не понимаю?

P.S. Заметил что при компиляции выводит такое:
Код
g++ -Wall -Wno-unknown-pragmas -Wno-format -O2 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -pipe -fstack-protector -Itinyxml -I/usr/include -I/usr/include/lua5.1 -c /root/ptokax/core/LuaCoreLib.cpp -o /root/ptokax/obj/LuaCoreLib.o
/root/ptokax/core/LuaCoreLib.cpp: In function 'int RegBot(lua_State*)':
/root/ptokax/core/LuaCoreLib.cpp:206:52: warning: NULL used in arithmetic [-Wpointer-arith]
/root/ptokax/core/LuaCoreLib.cpp: In function 'int BotMyINFO(lua_State*)':
/root/ptokax/core/LuaCoreLib.cpp:314:51: warning: NULL used in arithmetic [-Wpointer-arith]


UPDATE
почитал про костыль в сообщении http://mydc.ru/topic5423.html?view=findpost&p=44997
раскоментировал
Цитата
Некорректно работает функция strcasecmp
Несмотря на то, что Вы все сделали правильно, функция strcasecmp, используемая при проверке хабом ников работает неправильно, считая разными одни и те же кириллические ники, написанные в разных регистрах. Данный глюк встречается в некоторых сборках Linux, и причины его возникновения до сих пор не выяснены. Чтобы исправить его, вы можете включить специально предназначенный для этого костыль. Чтобы сделать это, раскомментируйте следующую строку в файле core/stdinc.h:
Код
//#define FIX_STRCASECMP
После этого вам, естественно, потребуется пересобрать PtokaX.


при компиляции всё равно выдает:
Код
g++ -Wall -Wno-unknown-pragmas -Wno-format -O2 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -pipe -fstack-protector -Itinyxml -I/usr/include -I/usr/include/lua5.1 -c /root/ptokax/core/LuaCoreLib.cpp -o /root/ptokax/obj/LuaCoreLib.o
/root/ptokax/core/LuaCoreLib.cpp: In function 'int RegBot(lua_State*)':
/root/ptokax/core/LuaCoreLib.cpp:206:52: warning: NULL used in arithmetic [-Wpointer-arith]
/root/ptokax/core/LuaCoreLib.cpp: In function 'int BotMyINFO(lua_State*)':
/root/ptokax/core/LuaCoreLib.cpp:314:51: warning: NULL used in arithmetic [-Wpointer-arith]

Но теперь скрипт локале не ругается ))
Go to the top of the page
+Quote Post

6 страниц V  « < 2 3 4 5 6 >
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Перехват выполнения бана(ов) PtokaX
Возможно ли?
0 MIKHAIL 1 247 1.8.2022, 10:31 Посл. сообщение: MIKHAIL
No new Topic has attachmentsУстановка хаба PtokaX 0.5.2.2 на роутер под прошивкой LEDE 2017
DC++ сервер в роутере
15 мамин_парень 18 363 29.1.2021, 8:02 Посл. сообщение: мамин_парень
No new Topic has attachmentsPtokaX 0.5.2.1 Mod
Модификация PtokaX от alex82
17 alex82 22 441 22.8.2019, 12:27 Посл. сообщение: SergSat
No New Posts Ptokax 0.5.0.2
Crash-14.11.2014-01.11.48.log
8 Drakula 13 469 6.6.2019, 15:09 Посл. сообщение: avalon
No New Posts Topic has attachmentsПрошивка LEDE 17.01.4 для 740n v4,v5 c PtokaX 0.5.0.1
Готовая прошивка с поддержкой сервера DC++, все влезло в 4мб ))
1 мамин_парень 6 426 10.3.2018, 15:29 Посл. сообщение: мамин_парень
No New Posts Ptokax, opendchub (DC++) - Сборка пакета для OpenWRT, LEDE 2017
Пакеты хабов для прошивки роутера
0 мамин_парень 5 599 29.8.2017, 7:00 Посл. сообщение: мамин_парень
No new Topic has attachmentsАнтиреклама для PtokaX
API1, API2 | Скрипт антирекламы для чата и лички
39 Damaks 57 116 9.8.2017, 14:26 Посл. сообщение: Ksan
No new ВАЖНО: Topic has attachmentsPtokaX
Описание. Публикация новых версий
94 Svyat 187 315 11.4.2017, 23:08 Посл. сообщение: Alexey
No new Topic has attachmentsPtokaX в OpenWrt (Linux)
Ребята как собрать под эту систему?
21 мамин_парень 29 729 10.4.2017, 15:19 Посл. сообщение: мамин_парень
No New Posts Автозапуск PtokaX на Rassberry Pi?
Не могу запустить
13 Sezam 15 757 7.11.2016, 9:14 Посл. сообщение: Saymon21
No New Posts Доска обьявлений для Ptokax 0.5.0.x
3 NightmareUA 8 513 11.8.2016, 16:22 Посл. сообщение: Ksan
No New Posts FreeBSD 11.0 & PtokaX
Проблема подключения в клиенте PtokaX по имени
5 nsd7 9 035 22.4.2016, 3:47 Посл. сообщение: Saymon21
No New Posts От: PtokaX 0.5.2.1 Mod
От темы с ID: 5784
0 Alexey 4 560 21.4.2016, 18:16 Посл. сообщение: Alexey
No New Posts Перенос базы пользователей с RusHub на PtokaX
3 Angel_D 8 943 5.12.2015, 2:11 Посл. сообщение: Saymon21
No new ВАЖНО: Topic has attachmentsСборка Ptokax 0.4.1.1 В Debian & Ubuntu
Руководство по установке
248 mariner 244 145 16.5.2015, 18:39 Посл. сообщение: KT315

 



RSS Сейчас: 23.12.2024, 9:10