SpChat.Ru Chat Daemon - альтернативный демон для чата chat.php.spb.ru

Альтернативный чат-сервер

Данный демон был создан для чата chat.php.spb.ru, как альтернатива оригинальному, разработанному Дмитрием Бородиным. К сожалению, автор прекратил дальнейшую поддержку и развитие проекта. Последняя версия чата была выпущена более 5 лет назад. Исходного кода оригинального демона, написанного на языке TCL, нет в свободном доступе, не считая попыток декомпиляции. Однако, любые попытки обратного инженеринга или взлома противоречат лицензии, под которой распространяется (распространялась) исходная версия демона. В результате, было принято решение разработать альтернативную версию программы. При разработке нового чат-сервера основной целью было обеспечение полной совместимости с оригиналом, более высокое быстродействие, и, что наиболее важно, бесплатное распространение.

Описание

Для написания демона используется язык программирования C++, а так же набор библиотек BOOST. Программа все еще находится в стадии разработки и текущая версия является бета версией. Она может содержать ошибки, но несмотря на это должна быть довольно стабильной. Также, демон должен работать быстрее оригинального, что немаловажно для проектов с высокой посещаемостью или ограниченными аппаратными ресурсами. Чат-сервер представляет из себя исполняемый файл (ELF в Unix/Linux или PE в Windows), поэтому на целевом сервере должен быть разрешен запуск таких файлов. То есть, в основном данный демон предназначен для владельцев выделенных серверов.

В настоящее время последняя версия демона успешно работает в чате СПБ ЧАТ. Также можно посмотреть демон в работе в демо-чате.

Конфигурация

Так как оригинальный демон написан на языке программирования TCL и его конфигурационный файл представляет собой по сути программный код на этом языке, то использовать его в программе, написанной на любом другом языке программирования не представляется возможным. В альтернативном демоне в качестве файла конфигурации используется формат, подобный формату конфигурационных файлов web-сервера nginx. Для обеспечения совместимости и упрощения перехода на новый демон, при первом запуске параметры из оригинального конфигурационного файла dima_chat.conf будут преобразованы в новый формат. Альтернативный демон использует конфигурационный файл с именем spdaemon.conf, поэтому возможно сосуществование обеих версий демона.

Условия распространения

Программа распространяется в виде исходного кода под лицензией GNU General Public License version 3. Копия данной лицензии находится в файле COPYING в корневом каталоге проекта. Также существуют прекомпилированные исполняемые файлы под различные платформы. В настоящее время доступны версии под Windows, Linux и FreeBSD.

Скачать

Компиляция проекта

Компиляция проекта в Windows

Для компиляции проекта в операционной системе Windows вам понадобится Microsoft Visual Studio 2005. Чтобы запустить процесс компиляции откройте solution-файл, который находится в корневом каталоге проекта. Затем укажите необходимую конфигурацию для компиляции - Release или Debug. После чего в меню Build выберите пункт Build Solution. В случае успешной компиляции созданный исполняемый файл будет находиться в каталоге bin/release/ - для релизной версии, или в каталоге bin/debug/ - для отладочной версии.

Компиляция проекта в Linux

Для компиляции в Linux системе у вас должен быть установлен набор компиляторов GCC версии 3.4 или более новый. Также, необходима утилита make. Чтобы запустить процесс компиляции выполните файл скрипта в каталоге build/linux/. Скрипт build_release предназначен для создания релизной версии, build_debug - для отладочной. В случае успешной компиляции созданный исполняемый файл будет находится в каталоге bin/release/ - для релизной версии, или в каталоге bin/debug/ - для отладочной версии.

Компиляция проекта в Unix системах

Для компиляции в Unix системе у вас должен быть установлен установлен набор компиляторов GCC версии 3.4 или более новый. Также необходима утилита GNU make (BSD make не поддерживается). Чтобы запустить процесс компиляции выполните файл скрипта в каталоге build/unix/. Скрипт build_release предназначен для создания релизной версии, build_debug - для отладочной. В случае успешной компиляции созданный исполняемый файл будет находится в каталоге bin/release/ - для релизной версии, или в каталоге bin/debug/ - для отладочной версии.

Библиотеки, необходимые для компиляции проекта

ASIO версии 1.4.1 или выше.
Текущую версию библиотеки ASIO можно найти на официальном сайте: https://think-async.com/Asio. Необходима не-BOOST версия ASIO (non-BOOST version of ASIO).

BOOST версии 1.39 или выше.
Текущую версию BOOST можно найти на официальном сайте: https://www.boost.org.

Демо-чат

В демонстрационном чате используется возможность работы демона с X-Real-IP заголовком, т.е. демон работает на 80-м порту, но в качестве PHP-части используется стандартный чат без каких-либо модулей и доработок JavaScript - в связи с этим в некоторых браузерах корректная работа не гарантируется. Войти в Демо-чат.

Предложения и замечания

Предложения, пожелания, замечания и сообщения об ошибках можно отправлять непосредственно разработчикам.
Также для связи можно использовать ICQ: 172567493 172567493.
© 2008, 2009 Проект СПБ ЧАТа