Metronome IM, lightweight xmpp server with advanced microblogging features.
maranda mod_c2s: fire c2s-destroyed event after clearing the session table.
To prevent possible leaks caused by exceptions originating from callbacks
Latest commit fad1566 Oct 22, 2018
Failed to load latest commit information.
certs certs/Makefile: raise validity for self-signed certs to 1825 days. May 20, 2014
core moduleapi: fix possible leak. Oct 20, 2018
fallbacks Make copyright referencing evident in the headers. May 21, 2013
net net.http.server: export sessions object. Oct 20, 2018
plugins mod_c2s: fire c2s-destroyed event after clearing the session table. Oct 21, 2018
scripts scripts.logrotate: add delaycompress, (Fixes #228, thanks mbugeia) May 29, 2015
templates mod_register_api: remove <a /> from templates. Apr 30, 2018
util-src {...}: add missing hashing algorithms in util.hmac. (Fixes #436) Sep 25, 2018
util {...}: lint up code syntax. Oct 8, 2018
.gitignore privacy.lib: replace missed datamanager reference. Oct 3, 2018
COPYING Add some licensing/copyright info, you never know. Also stick in the … Sep 20, 2012
DOCUMENTATION DOCUMENTATION, LICENSE, README{.md}: update dates and descriptions. Jan 19, 2018
LICENSE DOCUMENTATION, LICENSE, README{.md}: update dates and descriptions. Jan 19, 2018
Makefile Makefile: just add read and write permissions to metronome.version. May 7, 2018
README README{.md}: minor corrections. Aug 5, 2018 README{.md}: minor corrections. Aug 5, 2018
configure First commit. Aug 7, 2012
metronome metronome, metronomectl: reflect changes, set incoming_s2s into the m… Jul 8, 2014
metronome.cfg.lua.dist {...}: backport mod_http_upload_external and refactor config defaults. Oct 17, 2018
metronome.release metronome.release: set version to 3.11.2. Oct 17, 2018
metronomectl {...}: handle some Lua5.2 changes. (Fixes #351) May 11, 2018

alt text

This software codebase began as a fork of prosody trunk (to be 0.9) merged with LW.Org's custom patches, initiating from August 7th 2012 (see first commit).

Being mainly based on Prosody a lot of Metronome's code is backport compatible, but as development progressed a good portion of it completely diverged from mainstream's to better suit LW.Org IM's needs.

Differences from Prosody are, but not limited to:

  • The Pubsub API and wrapped modules, mod_pubsub and mod_pep
  • The MUC API and wrapper plugins
  • Pluggable MUC configuration
  • Pluggable Routing API
  • Core stack: Modulemanager, Usermanager, Hostmanager, Module API, etc...
  • More aggressive memory usage optimisations
  • Bidirectional S2S Streams
  • Direct TLS S2S Streams and XEP-0368 resolution
  • Dialback errors handling and "DB without DB" (XEP-344)
  • The anonymous auth backend (mod_auth_anonymous & sasl.lua ineherent part)
  • Included plugins, utils
  • SPIM prevention system
  • Hits/blacklist/whitelist based host filtering (mod_gate_guard)
  • In-Band Registration verification and account locking mechanism
  • The HTTP API
  • XEP-0252 support for BOSH's JSON Padding
  • Extensive Microblogging over XMPP support
  • Daemon Control Utility
  • It does have only one server backend being libevent and has a hard dep. on lua-event