Mellium

mellium.im

This site is a collection links to Go libraries and support tools implementing the Extensible Messaging and Presence Protocol (XMPP), sometimes known as Jabber for historical reasons.

All of our software is built cooperatively in accordance with the ICA’s Statement on the Cooperative Identity. If you’d like to join us in promoting the XMPP protocol in a friendly and welcoming co-op, you can contribute code, documentation, donate, help us write bylaws, or use just about any other skill you might have! The best way to get started is by joining our chat room and saying hi; we hope to see you there!

Modules

Module Synopsis

Core

mellium.im/sasl Package sasl implements the Simple Authentication and Security Layer (SASL) as defined by RFC 4422.
mellium.im/xmlstream Package xmlstream provides an API for streaming, transforming, and otherwise manipulating XML data.
mellium.im/xmpp Package xmpp provides functionality from the Extensible Messaging and Presence Protocol.

Other

mellium.im/omemo Package omemo is an attempt to implement the OMEMO end-to-end encryption protocol for mellium.im/xmpp.
mellium.im/legacy The legacy module contains outdated XMPP functionality.
mellium.im/xml Package xml implements an experimental XML parser.
mellium.im/clarkns Package clarkns implements Clark Notation for XML.
mellium.im/cli A library for writing command line interfaces in the style of git or apt.
mellium.im/reader Package reader contains small, reusable APIs that build on the io.Reader interface.
mellium.im/sysexit Package sysexit contains exit codes from sysexits(3).

Tools

mellium.im/checkdoc The checkdoc command scans Go packages for comment and documentation related issues.
mellium.im/checkmd The checkmd command checks Markdown files for common problems.
mellium.im/communique A version of the Communiqué instant messaging client with a terminal-based user interface.

Unmaintained

mellium.im/bosh The bosh package implements an HTTP based transport for TCP.
mellium.im/blogsync The blogsync command is a tool for importing and exporting blog posts between Markdown files and write.as.
mellium.im/issues The issues tool migrates issues from Bitbucket to GitHub.
mellium.im/verbmux Package verbmux is an HTTP multiplexer that handles by method.