Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Серверное программное обеспечение
Server software
ejabberd — это сервер приложений для протокола расширяемого обмена сообщениями и присутствия (XMPP) и брокер MQ Telemetry Transport (MQTT), написанный преимущественно на языке программирования Erlang. Он может работать в различных Unix-подобных операционных системах, таких как macOS, Linux, FreeBSD, NetBSD, OpenBSD и OpenSolaris. Кроме того, ejabberd может работать под управлением Microsoft Windows. Название ejabberd происходит от Erlang Jabber Daemon (Jabber — прежнее название XMPP) и пишется только строчными буквами, что характерно для программного обеспечения-демона. ejabberd — это свободное программное обеспечение, распространяемое на условиях лицензии GNU GPL 2.0 или более поздней версии, и одно из самых популярных приложений с открытым исходным кодом, написанных на Erlang. В книге «XMPP: The Definitive Guide» (O'Reilly Media, 2009) ejabberd был отмечен за масштабируемость и возможности кластеризации, при этом указывалось, что использование Erlang может стать препятствием для принятия программного обеспечения пользователями и разработчиками. Создатель программного обеспечения, Алексей Щепин, был удостоен награды Erlang User of the Year на конференции пользователей Erlang в 2006 году. ejabberd используется в ряде известных проектов, таких как IETF Groupchat Service, BBC Radio LiveText, Nokia Ovi, KDE Talk, а также разрабатывается для Facebook. По состоянию на 2009 год ejabberd был самым популярным сервером среди небольших сайтов, использующих XMPP и зарегистрированных на xmpp.org. С выходом следующей крупной версии после 2.0 (ранее известной как ejabberd 3) схема версионирования была изменена, чтобы отражать дату выпуска в формате «Год.Месяц.Ревизия» (начиная с 13.04 beta1). Также было объявлено о разделении дальнейшей разработки на «ejabberd Community Server» и «ejabberd Commercial Edition», ориентированную на операторов связи, веб-сайты, поставщиков услуг, крупные корпорации, университеты, игровые компании, которым требуется высокий уровень поддержки от ProcessOne, стабильность, производительность и уникальный набор функций для успешного ведения бизнеса.
ejabberd is an Extensible Messaging and Presence Protocol (XMPP) application server and an MQ Telemetry Transport (MQTT) broker, written mainly in the Erlang programming language. It can run under several Unix like operating systems such as macOS, Linux, FreeBSD, NetBSD, OpenBSD and OpenSolaris. Additionally, ejabberd can run under Microsoft Windows. The name ejabberd stands for Erlang Jabber Daemon (Jabber being a former name for XMPP) and is written in lowercase only, as is common for daemon software. ejabberd is free software, distributed under the terms of the GNU GPL 2.0 or later. , it is one of the most popular open source applications written in Erlang. XMPP: The Definitive Guide (O'Reilly Media, 2009) praised ejabberd for its scalability and clustering feature, at the same time pointing out that being written in Erlang is a potential acceptance issue for users and contributors. The software's creator, Alexey Shchepin was awarded the Erlang User of the Year award at the 2006 Erlang user conference. ejabberd has a number of notable deployments, IETF Groupchat Service, BBC Radio LiveText, Nokia's Ovi, KDE Talk and one in development at Facebook. as of 2009 ejabberd is the most popular server among smaller XMPP powered sites that register on xmpp. org. With the next major release after version 2 (previously called ejabberd 3), the versioning scheme was changed to reflect release dates as "Year. Month Revision" (starting with 13.04 beta1). It was also announced that further development will be split into an "ejabberd Community Server" and an "ejabberd Commercial Edition [which] targets carriers, websites, service providers, large corporations, universities, game companies, that need high level of commitment from ProcessOne, stability and performance and a unique set of features to run their business successfully."
История проекта
Алексей Щепин начал разработку ejabberd в ноябре 2002 года по трем основным причинам: успех проекта Tkabber (его предыдущий проект, XMPP-клиент), довольно нестабильный первый альфа-релиз jabberd2 и его желание поэкспериментировать с возможностями Erlang. Щепин заявлял, что не стал бы разрабатывать ejabberd без Erlang. Ejabberd достиг версии 1.0 в декабре 2005 года.
Alexey Shchepin started ejabberd in November 2002 for three main reasons: success with Tkabber (his previous project, an XMPP client), a rather unstable first alpha release of jabberd2, and his wish to play with Erlang features. Shchepin has stated that he would have not started ejabberd without Erlang. Ejabberd hit version 1.0 in December 2005.
Особенности
ejabberd обладает высокой степенью соответствия протоколу XMPP. Он предоставляет веб-интерфейс, который можно перевести на другие языки. ejabberd поддерживает распределенные вычисления посредством кластеризации, обновления в режиме реального времени, общие группы контактов и обеспечивает поддержку виртуальных хостов. Поддерживаемые системы управления базами данных включают PostgreSQL и MySQL, а также ODBC для подключения к другим системам. Поддерживается аутентификация через LDAP, а также вход с использованием SSL/TLS, SASL и STARTTLS. ejabberd расширяем с помощью модулей, которые могут предоставлять поддержку дополнительных функций, таких как сохранение офлайн-сообщений, подключение к каналам IRC или пользовательской базе данных, использующей vCard пользователей (сохранение vCard в LDAP или базе данных, совместимой с ODBC, возможно с использованием других модулей). Кроме того, модули могут обеспечивать поддержку расширений протокола XMPP, таких как MUC, HTTP-опрос, Publish-Subscribe и сбор статистики через XMPP. Начиная с версии 2.0.0, ejabberd также включает поддержку прокси-сервера передачи файлов Proxy65, позволяющего пользователям Jabber/XMPP, находящимся за брандмауэрами, обмениваться файлами через SOCKS 5 прокси. ejabberd может взаимодействовать с другими серверами XMPP, а также с сетями обмена мгновенными сообщениями, не использующими XMPP, посредством специального типа компонента XMPP, называемого транспортом или шлюзом.
ejabberd has a high level of compliance with XMPP. It provides a web interface which can be translated into other languages. ejabberd supports distributed computing by clustering, supports live upgrades, shared roster groups and provides support for virtual hosts. Database management systems supported include PostgreSQL and MySQL, and ODBC is supported for connectivity to other systems. LDAP authentication is supported, as is login via SSL/TLS, SASL and STARTTLS. ejabberd is extensible via modules, which can provide support for additional capabilities such as saving offline messages, connecting with IRC channels, or a user database which makes use of user's vCards (saving vCards in LDAP or an ODBC compatible database is possible with other modules). In addition, modules can provide support for extensions of the XMPP protocol, such as MUC, HTTP polling, Publish Subscribe, and gathering statistics via XMPP. Starting with version 2.0.0 ejabberd also includes support for the Proxy65 file transfer proxy which enabled Jabber/XMPP users behind firewalls to share files through a SOCKS 5 proxy. ejabberd can communicate with other XMPP servers and with non XMPP instant messaging networks as well, using a special type of XMPP component called transport or gateway.
Методы распределения
В дополнение к пакету исходного кода и двоичным установщикам для Linux, macOS и Windows, ejabberd также доступен в нескольких дистрибутивах операционных систем, что типично для проектов FOSS, включая Debian, Fedora, Gentoo, Ubuntu, Arch Linux, OpenSolaris, FreeBSD Ports, порты OpenBSD, порт NetBSD и Fink для Mac OS X. Другие способы получения ejabberd – библиотека виртуальных образов TurnKey Linux и Comprehensive Erlang Archive Network (CEAN). Устаревшая версия ejabberd включена в состав программного обеспечения для унифицированных коммуникаций Unison.
In addition to the source code package and binary installers for Linux, macOS, and Windows, ejabberd is also available in several operating system distributions as is typical in FOSS, including Debian, Fedora, Gentoo, Ubuntu, Arch Linux, OpenSolaris, FreeBSD Ports, OpenBSD ports, NetBSD port and Mac OS X's Fink. Other methods in which ejabberd is available are the TurnKey Linux Virtual Appliance Library and Comprehensive Erlang Archive Network (CEAN). An old version of ejabberd is included in the Unison unified communications software.