view README @ 1905:e0bfdd379e8d

jp (blog/edit): a draft file can be directly specified
author Goffi <>
date Thu, 10 Mar 2016 18:05:37 +0100
parents d17772b0fe22
children 1128feb54180
line wrap: on
line source

SàT v0.6.0
(c) Jérôme Poisson aka Goffi 2008-2016
(c) Adrien Cossa aka Souliane 2013-2016

SàT is a XMPP (Jabber) client.


SàT is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

SàT is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with SàT.  If not, see <>.

** ABOUT **

SàT is a XMPP (Jabber) client, made on a daemon/frontends architecture. Its aim is not only to be an instant messaging client: SàT manage microblogging, file transfer, rich text edition, piping over XMPP, XMPP remote, etc.
In addition, SàT has been built with ethic in mind, a social contract show the main lines (see CONTRAT_SOCIAL or CONTRAT_SOCIAL_en). We have a lot of debates about the right way to do things, more on a social way than on a technical way (but consider technique too).

For the moment, the frontends are:

* primitivus: a console interface client, for screen lovers
* jp: the powerful command line toolkit.
* libervia: the web frontend. It's in a different package, check libervia on the wiki:
* bellaciao: a Qt frontend at an early development stage

other frontends planed in the near future:

* mobile frontends, fuse frontend, etc.

** HOW TO USE IT ? **

For installation instructions, please read the file "INSTALL". Note that SàT is available in several GNU/Linux distributions

A wiki is available online (, in French and English so far (we would appreciate any help for other languages). You can also have a look at the bottom of this files (in contact section) for other available websites.

** MISC **

To use SàT, you need to have D-Bus daemon launched ( If you use X Window, it should already be launched. If your are on a terminal environment without X11 (e.g. on a server) you may have to launch it. You can launch a daemon using the following command:
$ eval `dbus-launch --sh-syntax`

Be careful to use the same environment variables if you start a new session.

I personally use the following script to do that automatically:

--- /usr/local/bin/ ---


if [ ! -e $DBUS_PATH ]; then
        dbus-launch --sh-syntax > $DBUS_PATH
        chmod 400 $DBUS_PATH

--- end of /usr/local/bin/ ---

You can launch this script by putting at the end of your .zshrc (or whatever you're using):
eval `/usr/local/bin/`


You can find Primitivus shortcuts on the wiki:


SàT is the acronym (yes another one :( ) in tribute to the song Salut à Toi from the Bérurier Noir band. I recommend also the excellent cover from Les Ogres de Barback.
jp stands for "Jabber coPy" or "JumP".
Primitivus is based on Urwid, and, according to their FAQ, "ur" is a German prefix for "ancestral or primal" (primitivus is a latin word).

** CREDIT **

A big big thank to the authors/contributors of...

SàT (plugin_xep_0065) use nearly all the code from proxy65 ( which was coded by Dave Smith (2002-2004) and maintained by Fabio Forno (2007-2008).
As the original MIT licence allows, the code is reused and sub-licenced until GPL v3 to follow the rest of the code.

SàT (jp) use ProgressBar (, a class coded by Nilton Volpato which allow the textual representation of progression.

SàT is heavily based on the twisted framework (, a very great tool which offer a lot of protocols management. There are too many contributors to name them here, so take a look on the website :).

SàT use a library with high level enhancements on top of twisted, which is called wokkel ( Lot of thanks to Ralph Meijer and all other contributors.

Primitivus is based on Urwid ( which saved me a lot of time. It's really a great library to easily make a sophisticated interface.

Libervia is built with a Pyjamas (, a Google Web Toolkit port for python, including Python to Javascript compiler, and Pyjamas Desktop which allow to execute the same application on the desktop or through a browser. It's really an amazing tool.

Pyfeed and Xe:
SàT core and Libervia use pyfeed and xe (, 2 libraries made Steve R. Hastings really useful to parse/generate xml stuff as atom feeds.

this powerful and efficient XML parsing module is used sometimes to replace Twisted internal tools: its API is handy, and it have some features like evil content cleaning.

This image manipulation module is used for avatars

Libervia use txJSON-RPC (, a twisted library to communicate with the browser's javascript throught JSON-RPC

Mutagen ( is an audio metadata handling library, it's used by the radiocol plugin.

Python OTR (, PyCrypto ( and pyOpenSSL(
Used for cryptography

otr.js and its dependencies Big Integer Library, CryptoJS, EventEmitter:
Libervia frontend uses otr.js and its dependencies:
    - otr.js was coded by Arlo Breault (2014) and is released under the Mozilla Public License Version 2.0
    - Big Integer Library was coded by Leemon Baird (2000-2013) and is in the public domain
    - CryptoJS was coded by Jeff Mott (2009-2013) and is released under the MIT licence
    - EventEmitter was coded by Oliver Caldwell (2011-2013) and is released under the MIT licence
As the original licences allow, the code is reused and sub-licenced until GPL v3 to follow the rest of the code.

mardown ( and html2text (
both are used for syntaxes conversions

Jinja2 (
a poweful template engine for Python that we use for designing Libervia's static blog pages

miniupnp (
this UPnP-IGD implementation is used to facilitate P2P sessions

netifaces (
when available, this module is used to detect local IPs

pictures found in the sat_media repository and used by SàT and Libervia:
Please read the credits and licence information that are given in the README and COPYING files for each work:

the powerfull ImageMagick ( is used by the script written to split the previously named picture.

Used to follow FreeDesktop XDG standards

A special thank to people working on XMPP standards, libre standards are the way to go !

and the others:
and of course, nothing would be possible without Python (, GNU and the Free Software Foundation (,, the Linux Kernel (, and the coder of the tools I use like Vim (, Mercurial (, or all the KDE stuff ( and of course, and also XFCE (, etc. Thanks thanks thanks, thanks to everybody in the Free (Libre) chain for making a part of the dream.

If I forgot any credit (and I probably have), please contact me (mail below) to fix it.


Salut à Toi has received contributions from:

- Adrien Vigneron <>: huge work on Libervia's CSS, SàT Logo (the mascot is his work), and Quiz game graphics. He's friendly and talented, his work is really appreciated.

- Xavier Maillard <>: bugs fixes. He's following the project for a while, maybe a future frontend contributor?

- Emmanuel Gil Peyrot <>: bugs fixes, Libervia's notification, Libervia as a twisted application plugin. A guy always around XMPP projects, he plan to work on a non D-Bus bridge.

- Matthieu Rakotojaona <>: English translation of the social contract. A great quality translation!

- Thomas Preud'homme <>: bugs fixes. He's also one of the co-maintainer of the Debian package.

- Dal <>: profiles management, argparse refactoring in jp.

- Matteo Cypriani <>: jp's mainloop update + doc improvements + various fixes. He's also the other co-maintainer of the Debian package.

- Olly Betts <>: icon fix in Wix [N.B: Wix has been removed]

Many thanks to them.

A big thanks also to all the maintainers of SàT packages.


You can join us on the XMPP MUC room (, or individually:

	- (e-mail)
	- (jid)
	- (blog, with fresh news about SàT)

	- (e-mail)
	- (jid)

You'll find the latest version and other stuffs on * websites:

- wiki (, in French & English so far
- ftp ( for the latest version, or previous ones (and other projects)
- bugtracker ( to report any problem or give suggestions
- mailing lists (

and the official SàT website is at

This software is dedicated to Roger Poisson.