ejabberd es un servidor de código abierto, multiplataforma, escalable, distribuido, amigable con el administrador, fácil de instalar y tolerante a fallas, Jabber y XMPP (Protocolo Extensible de Mensajería y Protocolo de Presencia) que soporta IPv6 y hosts virtuales. Está escrito en Erlang / OTP.
Características de un vistazo
Las funciones clave incluyen chat multiusuario, servicios de publicación y suscripción, transporte IRC, directorio de usuarios Jabber, soporte SSL / TLS, una interfaz de administración basada en la web, un servicio de sondeo HTTP, soporte para cargar solo módulos específicos, así como Soporte de autenticación LDAP o externo.
Los usuarios podrán ampliar fácilmente el software con sus propios módulos personalizados. ejabberd incluye soporte nativo para bases de datos PostgreSQL y MySQL, soporte para Dialback s2s y conexiones STARTTLS, y soporte para la base de datos Microsoft SQL Server y el almacenamiento de datos ODBC.
Además, ejabberd viene con una base de datos interna llamada Mnesia, que se puede usar para una implementación rápida, ofrece soporte completo para ODBC (Conectividad de base de datos abierta), LDAP (Protocolo ligero de acceso a directorios) y PAM (Módulo de autenticación conectable).
Admite una amplia gama de protocolos
El software admite la autenticación XMPP IM 1.0, XMPP Core 1.0, SASL (Autenticación simple y Capa de seguridad), encriptación STARTTLS, STARTTLS + SASL y STARTTLS + protocolos de marcación de retorno.
También es compatible con autenticación interna, proporciona un script de autenticación externo, estadísticas mediante recopilación de estadísticas, transporte IRC (Internet Relay Chat), compatibilidad con el protocolo IPv6 para conexiones s2s y c2s, soporte para hosting virtual, un módulo de chat que admite múltiples usuarios y una interfaz de administración a la que se puede acceder a través del protocolo HTTPS.
Se ejecuta en Linux, BSD, Solaris, Mac OS X y Windows
ejabberd es una verdadera aplicación multiplataforma que ha sido diseñada para ejecutarse en múltiples sistemas operativos, incluidos GNU / Linux, BSD (FreeBSD y NetBSD), Solaris, Microsoft Windows (NT / 2000 / XP / 7), así como también como los sistemas operativos Mac OS X. Ambas plataformas de 32 y 64 bits son compatibles en este momento.
Qué hay de nuevo en esta versión:
- Soporte para recuperación flexible fuera de línea, también conocida como XEP-0013. Esta es una gran victoria para los desarrolladores móviles.
- Mejoras en el archivo, con Message Archive Management (MAM) ahora compatible con la versión 0.4.1 de las especificaciones.
- Empaquetado completo compatible con Elixir con la capacidad de implementar ejabberd como una dependencia Hex.pm desde su propia aplicación. Ver ejabberd en hex.pm.
- Mejora del rendimiento con un análisis XML más rápido y más eficiente de la memoria y cifrado TLS. También puede consultar nuestra publicación de blog anterior: ejabberd Massive Scalability: 1 Node: más de 2 millones de usuarios concurrentes
- Mejor compresión de flujo con la capacidad de habilitar la compresión de flujo después de SASL.
- Adopción más fácil de ejabberd con un nuevo script de migración de los servidores Prosody XMPP.
Qué hay de nuevo en la versión 16.02:
- Soporte para recuperación flexible fuera de línea, también conocida como XEP-0013. Esta es una gran victoria para los desarrolladores móviles.
- Mejoras en el archivo, con Message Archive Management (MAM) ahora compatible con la versión 0.4.1 de las especificaciones.
- Empaquetado completo compatible con Elixir con la capacidad de implementar ejabberd como una dependencia Hex.pm desde su propia aplicación. Ver ejabberd en hex.pm.
- Mejora del rendimiento con un análisis XML más rápido y más eficiente de la memoria y cifrado TLS. También puede consultar nuestra publicación de blog anterior: ejabberd Massive Scalability: 1 Node: más de 2 millones de usuarios concurrentes
- Mejor compresión de flujo con la capacidad de habilitar la compresión de flujo después de SASL.
- Adopción más fácil de ejabberd con un nuevo script de migración de los servidores Prosody XMPP.
Qué hay de nuevo en la versión 15.07:
- Gestión de archivos de mensajes (XEP-0313):
- Añadir & quot; completar & quot; atribuir a la respuesta final de MAM
- Corrige la compatibilidad de mod_mam con RSM
- Cambió mam iq a establecer como se especifica en XEP-0313 v0.3
- Gestión de módulos:
- Asegúrese de que el fragmento de configuración esté cargado en la instalación del módulo
- Permitir contribución para incluir archivos de configuración .yml o .yaml
- Permitir inclusión de dependencias simples
- Chat de usuario múltiple:
- Nuevo gancho API: muc_filter_packet
- Enviar notificaciones sobre los cambios de configuración de MUC
- Omita el mensaje de advertencia sobre la habitación no anónima
- Durante detener solo las salas MUC de cierre en el nodo local
- Pubsub:
- Permitir la migración de elementos del pubsub antiguo con una estructura de xmlelement antigua en el cuerpo
- Activar notificaciones PEP en actualizaciones de CAPS
- Comprobar la suscripción de nodo de JID desnuda
- Flat ahora es el complemento predeterminado
- Stream Management (XEP-0198):
- Aumenta el tiempo de espera durante la reanudación
- Incrementa el valor predeterminado & quot; max_ack_queue & quot; valor
- Conexión de cliente de ejabberd:
- Cambio de API: user_send_packet ahora es un gancho run_fold y pasa el estado c2s como parámetro. Ya era el
- caso en ejabberd 15.06, pero no fue mencionado en el registro de cambios, por error. Entonces, ahora, ya sabes:)
- Administrador:
- No confíe en la información de comportamiento al realizar la validación de la configuración, para que pueda funcionar con los instaladores binarios de ejabberd
- Cuando se descifran las contraseñas, el informe check_password_hash no puede funcionar
- Soluciona el problema con la fusión de valores de varios archivos de configuración
- Si el archivo local guide.html no se encuentra, redirija a la guía en línea
- Admite la dirección de la página RTL en WebAdmin para hebreo
- configure.ac: agregue AC_CONFIG_MACRO_DIR y static AC_INIT
- WebAdmin:
- No bloquee el administrador web cuando muestre información sobre websocket utilizando usuarios
- Instaladores:
- Tanto RPM como DEB ahora están usando el script mejorado posterior a la instalación que crea el usuario de ejabberd cuando se instala como
- root Esto permite que ejabberd se ejecute como usuario sin ninguna configuración manual.
- El instalador de Windows ahora usa% USERPROFILE% para obtener la ruta del directorio de escritura del usuario. Hicimos muchas otras correcciones
- a esa versión, gracias a sus comentarios.
Qué hay de nuevo en la versión 15.04:
- Agregue soporte Elixir, permite escribir complementos en Elixir
- Nuevo comando para volver a cargar la configuración sin reiniciar
- Admite expresiones erlang de estilo antiguo en configuración YAML
- Análisis de escucha de captcha mejorado cuando el protocolo no se ha especificado
- Se arregló la actualización de la antigua tabla pubsub sin billar de 2.1
- Actualizaciones menores en la documentación
- Otras correcciones de errores
Qué hay de nuevo en la versión 15.03:
- Agregue soporte Elixir, permite escribir complementos en Elixir
- Nuevo comando para volver a cargar la configuración sin reiniciar
- Admite expresiones erlang de estilo antiguo en configuración YAML
- Análisis de escucha de captcha mejorado cuando el protocolo no se ha especificado
- Se arregló la actualización de la antigua tabla pubsub sin billar de 2.1
- Actualizaciones menores en la documentación
- Otras correcciones de errores
Qué hay de nuevo en la versión 14.12:
- Tiene algunos cambios, varias mejoras y muchas correcciones de errores sobre el anterior (no anunciado oficialmente) 13.06. También es el primer lanzamiento estable oficial de la Comunidad ejabberd después de ejabberd 2.1.13. Ahora se complace en utilizar la comunidad ejabberd como referencia para versiones estables de ejabberd, desde la rama principal. El soporte de ejabberd 2.1.x se descontinúa.
Novedades en la versión 2.1.11:
- Compatibilidad con Erlang / OTP R15B y otras correcciones de errores .
Qué hay de nuevo en la versión 2.1.9:
- Core ejabberd:
- Disminuir el uso de CPU causado por tls: enviar con datos de gran tamaño
- Escape de iolist correctamente cuando las NIF están desactivadas (EJAB-1462)
- Repara el código para cumplir las advertencias de Dialyzer
- Corregir la compilación en Windows
- Reemplazar llamadas del Binario de OTP, ya que requerirían R14
- LDAP:
- Documento ldap_tls_cacertfile y ldap_tls_depth opciones (EJAB-1299)
- Registra un error cuando un filtro LDAP es incorrecto (EJAB-1395)
- Nuevas opciones: ldap_tls_cacertfile y ldap_tls_depth (EJAB-1299)
- Nueva opción: ldap_deref_aliases (EJAB-639)
- Haga coincidir ldap_uidattr_format con mayúsculas y minúsculas (EJAB-1449)
- MUC:
- Soporte para entradas múltiples con el mismo nick para habitaciones MUC (EJAB-305)
- Soporte de solicitud de voz y aprobación
- Nueva opción de habitación: allow_private_messages_from_visitors
- Nuevas opciones de habitación: allow_voice_requests y voice_request_min_interval
- Incluya el estado 110 en presencia del nuevo ocupante (EJAB-740)
- Soluciona el bloqueo de mod_muc_log cuando la primera entrada de registro es destrucción de sala (EJAB-1499)
- Muchas correcciones y mejoras en mod_muc
- Pubsub:
- Habilita pubsub # deliver_notification checking (EJAB-1453)
- Solución de denegación de servicio cuando el usuario envía una stanza de publicación mal formada (EJAB-1498)
- ODBC:
- Repara el recuento de cuentas ODBC (EJAB-1491)
- Optimizado mod_roster_odbc: get_roster
- Miscelánea:
- Nuevo mecanismo de autenticación SASL SCRAM-SHA-1 (EJAB-1196)
- Nueva opción: resource_conflict (EJAB-650)
¿Qué hay de nuevo en la versión 2.1.8:
- Esta versión corrige PubSub, que se rompió en 2.1 .7.
Qué hay de nuevo en la versión 2.1.7:
- BOSH y Web
- Clarifique el mensaje de error cuando la consulta BOSH se envía a un módulo que no se ejecuta li>
- Mantiene el orden de las estrofas cuando BOSH envía varias (EJAB-1374)
- Mostrar configuración para HTTPS http_bind
- Soporte como método HTTP de solo lectura GET, también HEAD
- Las respuestas a HEAD deben tener el cuerpo vacío
- CAPTCHA:
- Si el número de puerto no es oyente, especifique el protocolo (EJAB-1418)
- Nuevo límite de CAPTCHA
- Nuevo soporte de la lista blanca de CAPTCHA
- Solo verifique el sistema al inicio si la opción está habilitada
- Proporcione la URL HTTPS en el formulario CAPTCHA cuando el oyente tiene la opción 'tls' (EJAB-1406)
- Muestra la opción captcha_limit en la configuración de ejemplo
- Admite más formatos de valor captcha_host (EJAB-1418)
- Lanzar error cuando captcha falla al inicio del servidor, no más tarde en el tiempo de ejecución
- captcha_host debe tener el número de puerto para obtener el protocolo (EJAB-1418)
- Core ejabberd:
- Deshabilitar todas las expansiones de entidad (EJAB-1451)
- No acepte XML con prefijos indefinidos (EJAB-680)
- Hacer que jlib: ip_to_list sea seguro de usar
- Asegúrese de que el evento 'cerrado' se procese correctamente en todos los estados
- Nuevo route_iq / 5 que acepta tiempo de espera (EJAB-1398)
- Tenga en cuenta la longitud de la cola interna al ordenar colas de procesos
- Usa la ruta en lugar de send_element para pasar por el flujo de trabajo estándar
- Compatibilidad Erlang / OTP:
- Elimine el tipo y la especificación, la lista de respaldo de las comprensiones, para que R12B-5 pueda compilar
- Ajusta pg2_backport.erl para que funcione con Erlang anterior a R13A (EJAB-1349)
- ODBC:
- No permita que la regla de privacidad de presencia bloquee una suscripción de presencia (EJAB-255)
- Entrada de usuario de escape en mod_privacy_odbc (EJAB-1442)
- Intenta mejorar la compatibilidad con roster_version en MSSQL (EJAB-1437)
- Pubsub / PEP / Caps:
- Aplicar notificación filtrada a los últimos elementos de PEP (EJAB-1456)
- Repara el cheque de la carga útil del pubsub vacío
- El propietario puede eliminar cualquier elemento de su propio nodo (EJAB-1445)
- Nodo pubsub maxitem forzado a 0 si nodo no persistente (EJAB-1434)
- Reorganizar la función push_item y manejar la versión not_found (EJAB-1420)
- Scripts:
- ejabberd.init: varias correcciones y mejoras
- ejabberdctl: Salida de escape de ctlexec () a la secuencia de comandos erl (EJAB-1399)
- ejabberdctl: arregla el bashism y la rama principal de imitación (EJAB-1404)
- ejabberdctl: arregla espacio entre INET_DIST_INTERFACE (EJAB-1416)
- ejabberdctl: Nuevo DIST_USE_INTERFACE restringe la IP de la escucha de erlang (EJAB-1404)
- ejabberdctl: Nueva ERL_EPMD_ADDRESS que funciona desde Erlang / OTP R14B03
- extauth: reparación de la respuesta diferida del tiempo de espera se reutilizó para el próximo inicio de sesión (EJAB-1385)
- extauth: reenviar los mensajes antiguos al proceso de nueva creación extauth (EJAB-1385)
- extauth: si el script se bloquea, ejabberd debería reiniciarlo (EJAB-1428)
- Compatibilidad con XEP:
- mod_blocking: Nuevo XEP-0191 Bloqueo simple de comunicaciones (EJAB-695)
- No es necesario informar que XEP-0237 es opcional; aclarado en XEP versión 1.2
- Miscelánea:
- Si el inicio de un módulo falla durante el inicio del servidor, detenga erlang (EJAB-1446)
- Nueva traducción indonesia (EJAB-1407)
- LDAP: tenga en cuenta que ejabberd funciona con el servidor CGP LDAP
- S2S: maneja la versión inesperada de Tigase = 1.0 (EJAB-1379)
- mod_irc: Enviar presencia no disponible al ocupante que se va (EJAB-1417)
- mod_last: permite al usuario consultar su propia actividad Última
- mod_muc: no disminuya la función / afiliación del administrador de MUC
- mod_muc: se envía el atributo jid cuando el ocupante está prohibido (EJAB-1432)
- mod_offline: cambie el estado de c2s antes de volver a enviar los mensajes sin conexión
- mod_ping: use iqdisc no_queue de forma predeterminada (EJAB-1435)
- mod_pres_counter: evitar inundaciones de suscripción (EJAB-1388)
- mod_register El acceso ahora también controla la anulación del registro de la cuenta li>
- mod_register: aclare más el contenido esperado de la opción welcome_message
- mod_shared_roster: corrige el soporte para cuentas anónimas en @ all @ (EJAB-1264)
- mod_shared_roster: Nueva directiva @ online @ (EJAB-1391)
¿Qué hay de nuevo en la versión 2.1.6:
- BOSH: arregle el bucle raro, apoye a los fantasmas, permita reinicio del módulo
- Config: la configuración predeterminada permite registros solo desde localhost
- Config: soporte para cambiar el nivel de registro por módulo en tiempo de ejecución
- Erlang / OTP: corrección de compatibilidad de R10B-9 a R14B01
- ODBC: compatibilidad con PostgreSQL 9.0
- Listas de privacidad: solución para permitir bloque por grupo y suscripción nuevamente
Qué hay de nuevo en la versión 2.1.5:
- Soporte Erlang / OTP R12 fijo
- Se agregó compatibilidad con Erlang / OTP R14A
- Se requiere OpenSSL 0.9.8 o superior
- BOSH: Nuevo atributo de conexión opcional proceso-demora
- C2S: no solicite el certificado del cliente cuando use tls
- C2S: informa al cliente que el almacenamiento en caché de la sesión SSL está deshabilitado
Novedades en la versión 2.1.4:
- Mensajes de rebote al cerrar la sesión de c2
- Corrección de errores al gestionar la detección de servicios en contactos
- No envíe la estrofa de error como respuesta a la estrofa de error
- No almacenar mensajes bloqueados en cola fuera de línea
- Extauth: opcionalmente almacenar en caché los usuarios de extauth en mnesia
- Soporte completo para las capacidades de la entidad XEP-0115 v1.5
- HTTP-Bind (BOSH): elimine la demora innecesaria de 100 ms y exporte las funciones para facilitar los métodos de preenlace
Qué hay de nuevo en la versión 2.1.3:
- Nueva opción de ejabberd_c2s: max_fsm_queue
- ejabberdctl: admite conexiones concurrentes con nombres de conexión enlazados
- Soporte HTTP-Bind entre dominios (EJAB-1168)
- Hibernate el proceso de vinculación http después de gestionar una solicitud
Comentarios que no se encuentran