Metronome IM

Last updated
Metronome
Developer(s) Marco Cirillo
Initial releaseMay 12, 2013 (2013-05-12)
Stable release
4.0.3 [1]   OOjs UI icon edit-ltr-progressive.svg / 11 August 2023
Repository
Written in Lua
Operating system Unix-like
Type XMPP server
License ISC License, MIT License
Website Official Website

Metronome is a light-weight XMPP server written in Lua based on Prosody. It's aimed to provide advanced features while maintaining a modest resource usage. Extensive PubSub [2] [3] and Microblogging over XMPP support [4] along other extensions including: Stream Management, [5] CSI, [6] full support of Bidirectional S2S Streams (BIDI), [7] MAM, [8] Push Notifications, [9] Security Labels, [10] Direct TLS support for C2S/S2S. [11]

Contents

History

Coding of Metronome started in August 2012 due to the increasing needs to customize the Prosody codebase to suit the LW.Org IM [12] xmpp service requirements. Initially the codebase was not meant to be released, but after the adoption by the Jappix main service, [13] the code was opensourced and released under a dual ISC/MIT License. [14]

Deployments and Mentions

It is the default XMPP daemon for the YunoHost [15] Debian based distribution.

It was the server of the Jappix (Official Service) a web-based IM Social Platform/XMPP Client.

And also was the server below Movim (Official Pod) a distributed web-based social platform.

See also

Related Research Articles

ICQ New is a cross-platform instant messaging (IM) and VoIP client. The name ICQ derives from the English phrase "I Seek You". Originally developed by the Israeli company Mirabilis in 1996, the client was bought by AOL in 1998, and then by Mail.Ru Group in 2010.

<span class="mw-page-title-main">Pidgin (software)</span> Open-source multi-platform instant messaging client

Pidgin is a free and open-source multi-platform instant messaging client, based on a library named libpurple that has support for many instant messaging protocols, allowing the user to simultaneously log in to various services from a single application, with a single interface for both popular and obsolete protocols, thus avoiding the hassle of having to deal with new software for each device and protocol.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.

<span class="mw-page-title-main">Psi (instant messaging client)</span> Instant messaging client

Psi is a free instant messaging client for the XMPP protocol which uses the Qt toolkit. It runs on Linux, Windows, macOS and OS/2.

ejabberd Server software

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 and is written in lowercase only, as is common for daemon software.

<span class="mw-page-title-main">Google Talk</span> Instant messaging service

Google Talk was an instant messaging service that provided both text and voice communication. The instant messaging service was variously referred to colloquially as Gchat, Gtalk, or Gmessage among its users.

The following is a comparison of instant messaging protocols. It contains basic general information about the protocols.

<span class="mw-page-title-main">Skype for Business Server</span> Real-time communications server software

Skype for Business Server is real-time communications server software that provides the infrastructure for enterprise instant messaging, presence, VoIP, ad hoc and structured conferences and PSTN connectivity through a third-party gateway or SIP trunk. These features are available within an organization, between organizations and with external users on the public internet or standard phones.

Push technology, also known as server push, refers to a communication method, where the communication is initiated by a server rather than a client. This approach is different from the "pull" method where the communication is initiated by a client.

<span class="mw-page-title-main">Jingle (protocol)</span> Peer-to-peer communications protocol

Jingle is an extension to XMPP which adds peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over IP (VoIP) or videoconferencing communications. It was designed by Google and the XMPP Standards Foundation. The multimedia streams are delivered using the Real-time Transport Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE).

Opportunistic TLS refers to extensions in plain text communication protocols, which offer a way to upgrade a plain text connection to an encrypted connection instead of using a separate port for encrypted communication. Several protocols use a command named "STARTTLS" for this purpose. It is a form of opportunistic encryption and is primarily intended as a countermeasure to passive monitoring.

Tigase is an open source project started by Artur Hefczyc in October 2004 to develop an XMPP server implementation in Java.

<span class="mw-page-title-main">XMPP Standards Foundation</span> Organization overseeing the XMPP network protocol

XMPP Standards Foundation (XSF) is the foundation in charge of the standardization of the protocol extensions of XMPP, the open standard of instant messaging and presence of the IETF.

Bidirectional-streams Over Synchronous HTTP (BOSH) is a transport protocol that emulates a bidirectional stream between two entities by using multiple synchronous HTTP request/response pairs without requiring the use of polling or asynchronous chunking.

<span class="mw-page-title-main">Prosody (software)</span> Cross-platform XMPP server written in Lua

Prosody is a cross-platform XMPP server written in Lua. Its development goals include low resource usage, ease of use, and extensibility. Prosody uses the default XMPP ports, 5222 and 5269, for client-to-server and server-to-server communications respectively.

OMA Lightweight M2M (LwM2M) is a protocol from the Open Mobile Alliance for machine to machine (M2M) or Internet of things (IoT) device management and service enablement. The LwM2M standard defines the application layer communication protocol between an LwM2M Server and an LwM2M Client which is located in an IoT device. It offers an approach for managing IoT devices and allows devices and systems from different vendors to co-exist in an IoT ecosystem. LwM2M was originally built on Constrained Application Protocol (CoAP) but later LwM2M versions also support additional transfer protocols.

<span class="mw-page-title-main">Spark (XMPP client)</span>

Spark is an open-source instant messaging program that allows users to communicate in real time.

<span class="mw-page-title-main">OMEMO</span> Extension to XMPP for multi-client end-to-end encryption

OMEMO is an extension to the Extensible Messaging and Presence Protocol (XMPP) for multi-client end-to-end encryption developed by Andreas Straub. According to Straub, OMEMO uses the Double Ratchet Algorithm "to provide multi-end to multi-end encryption, allowing messages to be synchronized securely across multiple clients, even if some of them are offline". The name "OMEMO" is a recursive acronym for "OMEMO Multi-End Message and Object Encryption". It is an open standard based on the Double Ratchet Algorithm and the Personal Eventing Protocol . OMEMO offers future and forward secrecy and deniability with message synchronization and offline delivery.

<span class="mw-page-title-main">Xabber</span> Open source instant messaging software

Xabber is a XMPP client for the Android Operating System. It is developed as an open source Project on GitHub and is licensed under the GNU GPL v.3 license. The original developers are from a software company called Redsolution, Inc. Xabber is available on the Android Play Store and on F-Droid.

<span class="mw-page-title-main">Conversations (software)</span> Free software instant messaging client for the XMPP protocol

Conversations is a free software, instant messaging client application software for Android. It is largely based on recognized open standards such as the Extensible Messaging and Presence Protocol (XMPP) and Transport Layer Security (TLS).

References

  1. "Release 4.0.3". 11 August 2023. Retrieved 18 September 2023.
  2. "XEP-0060: Publish-Subscribe". XMPP Standards Foundation. 22 March 2023.
  3. "XEP-0163: Personal Eventing Protocol". XMPP Standards Foundation. 16 February 2022.
  4. "XEP-0277: Microblogging over XMPP". XMPP Standards Foundation. 15 February 2022.
  5. "XEP-0198: Stream Management". XMPP Standards Foundation. 25 July 2018.
  6. "XEP-0352: Client State Indication". XMPP Standards Foundation. 14 October 2020.
  7. "XEP-0288: Bidirectional Server-to-Server Connections". XMPP Standards Foundation. 17 October 2016.
  8. "XEP-0313: Message Archive Management". XMPP Standards Foundation. 9 March 2023.
  9. "XEP-0357: Push Notifications". XMPP Standards Foundation. 11 February 2020.
  10. "XEP-0258: Security Labels in XMPP". XMPP Standards Foundation. 3 November 2018.
  11. "XEP-0368: SRV records for XMPP over TLS". XMPP Standards Foundation. 20 August 2019.
  12. "LW.Org IM XMPP Public Service". LW.Org.
  13. "Jappix Official Service, Metronome adoption (Tweet)". Jappix.
  14. "Official FOSS Re-release (Tweet)". Jappix.
  15. "YunoHost Documentation". YunoHost.