Shadow Wiki

browsers
darknet
email
hosting
im
mobilecomms
software
uspol
xmpp
namac/index
This page uses valid XHTML 1.0! This page uses valid CSS! Use any browser. I2P Tor XMPP Monero/XMR Spyware Watchdog. Digdeeper. Nuegia Novaburst Theundercoverman (archive) EldritchData Kallist Society Kyoko Net ToothyHoneypot Be Paranoid
Comment on the forum thread about this page, I respond to all comments!: [Tor/Onion] [I2P/Eepsite]

           Prologue           

XMPP stands for the "eXtensible Messaging and Presence Protocol". It is currently one of the, if not the best choice for instant messaging currently available. You can read all the specifications, called "XEPs" on their website.
You can even use the fabled IRC through XMPP, by way of Biboumi, of which there are many public instances.
Just starting out with XMPP, the first thing to do is to pick a client, then pick a server.
You may hear the terms "S2S" and "C2S" used sometimes. S2S means "Server-to-Server" (meaning federation between servers) and C2S means "Client-to-Server" (meaning the connection between the XMPP client and the servers it connects to).

       Chapter 1       

           Clients           

Things that are nice to have: You can skirt these various issues by either using PGP or OTR, and leaving your client on. Aside from the GTK3 "issue", Gajim versions before 1.4 had all of these. Other clients to especially consider are Tkabber, Mcabber, Poezio, and PSI+. Digdeeper has an article on this.
Name License GUI Toolkit Platform
Adium GPLv2 macOS
Apple Messages Proprietary macOS
AQQ Proprietary Windows
AstraChat Proprietary Linux, macOS, Windows, Android, iOS
aTalk Apache 2.0 Android
BeagleIM GPLv3 macOS
Beejive N/A N/A
Bitlbee GPLv2 TUI Linux
Beem GPLv3 Android
blabber GPLv3 Android
BlueJab ? Android, Blackberry, Symbian
BombusMod GPLv3 Android
BuddyCloud Apache 2.0 GUI Toolkit Web, Mobile
Candy MIT JavaScript Web
Chat-O-Matix GPLv2 Haiku
ChatSecure GPLv3 iOS
Coccinella GPLv3 Tk Linux, macOS, Windows
Conver6ations GPLv3 Android
Conversations GPLv3 Android
Converse.js MPL-2.0 JavaScript Browser
Conversant SoapBox Communicator Windows
Coyim GPLv2 Linux, macOS, Windows
Crosstalk iOS
Chatty GPLv3 PureOS
eM Client Windows
Empathy GPLv2 GTK Linux
Finch GPLv2 TUI Linux, BSD
GNU Freetalk GPLv3 TUI Linux
GreenJab Proprietary IBM i
Dino GPLv3 GTK3 Linux
EyeCU GPLv3 QT Linux
Fnord GPLv3 Android
Gajim GPLv3 GTK3 Linux, macOS, Windows
Instantbird GPLv2 XUL Linux, macOS, Windows
irssi-xmpp GPLv2 TUI Linux, BSD, Solaris, Haiku, macOS, Windows (Cygwin)
Jackline BSD TUI BSD, macOS
Jabber.el GPLv2 Emacs
Jabberwocky GPLv2 Amiga
JabMe ? iOS
JAJC Proprietary Windows
Jappix AGPLv3 and others Web
Jitsi Apachi 2.0 JavaScript Web
JSXC MIT JavaScript Web
JWChat GPLv2 Web
Kadu GPLv2 QT Linux, BSD, macOS, Windows
Kaidan ??? various open source ones QT Linux
Kaiwa MIT JavaScript Web
Kopete GPLv2 QT Linux
Libervia GPLv3 TUI, Browser Linux, Android
Mcabber GPLv2 TUI Linux, BSD
Miranda NG GPLv2 Windows
Mjabber ? Java Platform Micro Edition
Monal ? iOS
Moxxy GPLv3 Android
OneTeam MPL 2.0 & GPLv2, components under others XULRunner Linux, macOS, Windows, iOS
Opa MIT JavaScript Web
Pade Apache-2.0 JavaScript Web
Pidgin GPLv3 GTK Linux, BSD, Windows
Poezio GPLv3 TUI Linux
Profanity GPLv3 TUI Linux, BSD, macOS, Windows, Android (Termux)
PSI GPLv2 QT5 Linux, macOS, Windows
PSI+ GPLv2 QT5 Linux, BSD, macOS, Windows, Haiku
Quicksy GPLv3 Android
Quiet Internet Pager Proprietary Windows
qutIM GPLv3 Linux, BSD, Solaris, OS/2, macOS, Symbian, Maemo/Meego, Windows
Renga MIT Haiku
Shmoose GPLv3 SailfishOS
Sim-IM GPLv2 QT Linux, BSD, Windows
Siskin GPLv3 iOS
Smuxi GPLv2 GTK Linux, BSD, macOS, Windows
Spark Apache Linux, "Unix", macOS
Stork AGPLv3 Android
Swift GPLv3 QT Linux, macOS, Windows
Thunderbird MPL Linux, macOS, Windows
Tkabber GPL Tk Linux, BSD, Solaris (anything Tk supports)
Trillian Proprietary (?) Linux, Mac, Windows, Android, iOS
UWPX MPL-2.0 UWP Windows
Vacuum GPLv3 QT4 Linux, macOS, Windows
Vayusphere XMPP/Jabber Solution for BlackBerry Proprietary (?) Blackberry
VSTalk Visual Studio Windows
V&V Messenger Proprietary (?) Windows
WeeChat-XMPP MPL-2.0 TUI Linux, BSD, Solaris/Illumos, Haiku, Hurd, macOS, Windows (Cygwin), Android (Termux)
WTW Windows
Xabber GPLv3 w/various components being under others Android, Web
xmpp Public Domain TUI plan9
xmppchat JavaScript Web
xmpp-client BSD TUI Linux
xmppwebchat LGPLv3 Web
Yaxim GPLv3 Android
Name License GUI Toolkit Platform

Adium

A macOS-only client that says it works with Jabber, IRC and more.

Apple Messages

Dropped support probably in Mojave. Don't use Crapple.

AQQ

?

AstraChat

...

aTalk

...

BeagleIM

...

Beejive

A post on Beejive's Facebook.  An apparently discontented customer commenting below.
A post on Beejive's Facebook. An apparently discontented customer commenting below.
Site is down. [Archive.org]
















Blabber

Conversations fork.

Beem

Last updated 9 years ago. Not maintained. Repository 404s.
There is a fork. Supposedly does not even have MUC support.

Bitlbee

Bitlbee accessed from WeeChat, with an XMPP MUC open
Bitlbee accessed from WeeChat, with an XMPP MUC open
More of a server than a client, it can also connect to other chat systems. It accessed by a way of an IRC client, like WeeChat for example (not to be confused with WeChat).















BlueJab

The team was unable to connect to the website. It reportedly cost $9 dollars.[1]

BombusMod

...

BuddyCloud

Vague on what "mobile" means. It seems to be more of a builder for web apps and "mobile" apps than anything else?

Candy

...

Chat-O-Matic

Based on another client called "Caya".

ChatSecure

...

Conver6ations

Conversations fork with IPv6 and other improvements, including themeing.

Conversations

One of the most common clients. Can be gotten for free on F-Droid. Its forks are better.

Coccinella

Says it's a "communication tool" with a "built-in whiteboard".

Converse.js

A JavaScript web client. Obviously not recommended, except as a way to onboard cattle. If setup correctly, you get a little "join in browser" button on the Jabber list, where it can connect to anonymous.yourxmppdomain.whatever.

Conversant SoapBox Communicator

Apparently dead, linked is the archive. It was reportedly approved by the DoD for military use.[2]

Crosstalk

Archive linked due to expired domain.

Chatty

Purism.

Coyim

...

EM Client

An email client that also supports XMPP.

Empathy

...

Finch

Pidgin but terminal.

GNU Freetalk

...

GreenJab

The website is inanely JavaScripted. Site looks like it's from the 90s, which is cool, but further deeply calls into question its need for JavaScript. Says the client costs $1.15 PER DAY to use.
Seems to be mostly geared towards communicating to the IBM i system rather than as a general purpose XMPP client (though they do mention you can do human to human messaging).

Dino

Very "GNOMEified".

EyeCU

Last updated 2 years ago. Fork of Vacuum-IM.

Fnord

Conversations fork by the Kallist people.

Gajim

Gajim 1.4.7
Gajim 1.4.7
Gajim 0.16.9
Gajim 0.16.9
Started looking more like Discord with version 1.4, where they also got rid of multi-line copying, and the history manager. Some people either use 1.3 or 0.16 still due to not liking the changes in interface design (ie GTK2 vs GTK3 among other things), or the disabling of OMEMO in public chats.





























Instantbird

Development supposedly ceased in 2017.

irssee-xmpp

A plugin for irssi, a famous IRC client.

Jackline

...

Jabber.el

An XMPP plugin for the Emacs text editor/operating system.

Jabberwocky

XMPP client for the Amiga OSs (3, 4, MorphOS, maybe AROS).

JabMe

...

JAJC

"Just Another XMPP Client".

Jappix

Less of a client, more of a social network.

Jitsi

More of a Zoom replacement than an XMPP client. While better than the spyware known as Zoom, it's still a bloated web app. I would suggest looking into SIP (covered in mobilecomms), Mumble, and Jingle rather than becoming further dependent on WHATWG-dependent/JavaScript nonsense (covered in browsers).

JSXC

"JavaScript XMPP Client", "Make XMPP Great Again".....lol

JWChat

Web client designed to support Netscape 6 & 7, Mozilla version since 1.0.2.

Kadu

...

Kaidan

...

Kaiwa

...

Kopete

There is also a TDE version.

Libervia

Used to be called Salut a Toi.

Mcabber

Terminal client that supports most things.

Miranda NG

Continuation of Miranda IM.

Mjabber

A client designed to run on PDAs, really old phones and the like.

Monal

No license or source is obvious on their Tor-blocking website.

Moxxy

...

OneTeam

...

Opa

...

Pade

A browser extension for Chrome and Edge for Converse.js and Jitsi meet.

Pidgin

Limited.

Poezio

Poezio
Poezio
Poezio
Poezio
Terminal client written in Python and has OMEMO support.




























Profanity

...

PSI

PSI+ but less developed, with less platform support.

PSI+

PSI+ chat window.
PSI+ chat window.
Has pretty much everything, except MAM. Even runs on Haiku. Can be set to single window mode.














Quicksy

Conversations fork.

Quiet Internet Pager

Archive linked due to site not working. Russian.

qutIM

Seems to support a lot of platforms.

Renga

...

Shmoose

...

Sim-IM

...

Siskin

...

Smuxi

...

Spark

Related to the OpenFire project.

Stork

...

Swift

...

Thunderbird

The spyware email client can also do XMPP.

Tkabber

Tkabber, with MaXX desktop
Tkabber, with MaXX desktop
...











Trillian

...

UWPX

For all your Shattered 10 devices!

Vacuum

...

Vayusphere XMPP/Jabber Solution for BlackBerry

...

VSTalk

Just a plugin for Visual Studio.

V&V Messenger

...

WeeChat-XMPP

Potentially very interesting.

WTW

Polish.

Xabber

...

xmpp

XMPP client for the plan9 family.

xmppchat

Last commit 2012.

xmpp-client

Written in Go.

xmppwebchat

...

Yaxim

...

       Chapter 2       

           Server Software           

Name License Platform
Apache Vysper Apache 2.0 Linux, Windows
Cisco Meeting Server Proprietary ESXi
Citadel GPLv3 Linux
Communigate Pro Proprietary Linux, macOS, Windows
Conversant SoapBox Server Proprietary Windows
DJabberd GPLv3 Linux
Ejabberd GPLv2 Linux, Solaris, macOS, Windows
IceWarp Proprietary Linux, Windows
iChat Proprietary macOS
in.jabberd GPLv2 Linux
Jabberd14 GPLv2 Linux
Jabberd2 GPLv2 Linux, BSD, Solaris, Windows
Jabber XCP Proprietary Linux, Solaris, Windows
Jerry Messenger Proprietary Linux, Windows
Kwickserver GPL Windows
Metronome ISC/MIT Linux, macOS
MongooseIM GPLv2 Linux, macOS
Isode M-Link Proprietary Linux, Solaris, Windows
OpenFire Apache 2.0 Linux, Solaris, macOS, Windows
Oracle Communications Instant Messaging Server Proprietary Linux, Solaris, Windows
Prosody MIT/X11 Linux, macOS, Windows
Psycd GPLv2 Linux, macOS, Windows
Tigase AGPL Linux, Solaris, macOS, Windows
Vines MIT Linux, macOS
Wokkel MIT Linux, Solaris, macOS
Xabber AGPLv3 Linux, Solaris, macOS, Windows

Apache Vysper

...

AstraChat

Seems proprietary.

Cisco Meeting Server

Claims to have "ability to execute" and "completeness of vision", has been recognized as a "Leader". Maybe it can synergize well with a dynamic, high-focus work environment.
AKA corporate buzzwords and fluff text marketing speak that means nothing.

Citadel

Does a lot more than just XMPP.

Communigate Pro

...

Conversant SoapBox Server

...

DJabberd

...

Ejabberd

One of the most common implementations. Written in Erlang.

IceWarp

...

iChat

Deprecated.

in.jabberd

Seems abandoned and targeted at embedded systems.

Jabberd14

Website seems to have been replaced by a JavaScript dependent GitLab instance.

Jabberd2

Says it's the "next generation" and is not to be confused with Jabberd14. No commits since 2018.

Jabber XCP

Page blocks Tor. There is a "Retirement Notice" PDF on the page too.

Jerry Messenger

Dead. Archive is linked.

Kwickserver

Dead. Archive is linked. Supposedly it could only be gotten via CD.

Metronome

Fork of Prosody.

MongooseIM

Apparently used by WhatsApp.
Definitely one of the most interesting servers in this list, it is designed for military applications. There's lot of interesting stuff on their site, including STANAG 5066 (XMPP over HF radio).

OpenFire

Written in Java.

Oracle Communications Instant Messaging Server

Big and corporate.

Prosody

The other most common implementation. The only implementation with known working darknet support, and therefore the only recommended one. Darknet addons include mod_onions, which only supports Tor, and its fork, mod_deepweb which supports Tor and I2P (the name mod_darknet which only supports I2P was already taken and appears to be a dead project, and is only mentioned in the I2Pd docs).
When setting up mod_deepweb, be sure to enable it on your MUC modules as well as globally, otherwise those also using it will not be able to connect:

 Component "example.b32.i2p" "muc"
    name = "Shadowy chat room server"
    restrict_room_creation = true
--- Store MUC messages in an archive and allow users to access it
modules_enabled = {
                        "vcard_muc",
                        "muc_mam",
                        "deepweb",
                        "s2s_bidi"
                  }
            
Set your maps (this is also a list of all known servers that support S2S Tor or I2P):

onion_map = {
        ["nuegia.net"] = "ovbikg4xvmpceljba3tj2i3qyzhdfic76rvkuzpzquayiaecvydd7oid.onion";
        ["conference.nuegia.net"] = "ovbikg4xvmpceljba3tj2i3qyzhdfic76rvkuzpzquayiaecvydd7oid.onion";
        ["proxy.nuegia.net"] = "ovbikg4xvmpceljba3tj2i3qyzhdfic76rvkuzpzquayiaecvydd7oid.onion";
        ["pubsub.nuegia.net"] = "ovbikg4xvmpceljba3tj2i3qyzhdfic76rvkuzpzquayiaecvydd7oid.onion";
        ["biboumi.nuegia.net"] = "ovbikg4xvmpceljba3tj2i3qyzhdfic76rvkuzpzquayiaecvydd7oid.onion";
        ["kalli.st"] = "kallist4mcluuxbjnr5p2asdlmdhaos3pcrvhk3fbzmiiiftwg6zncid.onion";
        ["muc.kalli.st"] = "kallist4mcluuxbjnr5p2asdlmdhaos3pcrvhk3fbzmiiiftwg6zncid.onion";
        ["biboumi.kalli.st"] = "kallist4mcluuxbjnr5p2asdlmdhaos3pcrvhk3fbzmiiiftwg6zncid.onion";
        ["patchysicp.xyz"] = "sicp22p3jmr4yvlkqw3daf45uh6h7yyej3x5jxtolwjlygxf75xgiqad.onion";
        ["chat.patchysicp.xyz"] = "sicp22p3jmr4yvlkqw3daf45uh6h7yyej3x5jxtolwjlygxf75xgiqad.onion";
        --["13f0.net"] = "cniqtqmoqo4rmruewilw5kf5nnsx3bef5ddjjygtqtnc7d2swangload.onion";
        --["muc.13f0.net"] = "cniqtqmoqo4rmruewilw5kf5nnsx3bef5ddjjygtqtnc7d2swangload.onion";
        ["digdeeper.club"] = "sefm6o6zuv6ebscvxasbjkr5gozns4hdayqrjbpo2ebjf6aebfbsw4id.onion";
        ["muc.digdeeper.club"] = "sefm6o6zuv6ebscvxasbjkr5gozns4hdayqrjbpo2ebjf6aebfbsw4id.onion";
        ["kyoko-project.wer.ee"] = "inf256higpgthvgzwd3je2fcqwuwjtodbvjx66cyolt67uskyh25wdqd.onion";
        ["chat.kyoko-project.wer.ee"] = "inf256higpgthvgzwd3je2fcqwuwjtodbvjx66cyolt67uskyh25wdqd.onion";
        --["kyoko-project.wer.ee"] = "kyoko2r2dnumkuatsax5ddzojc6ei7lw4qeyrs6irb6f6kicrn2qtjyd.onion";
        --["conference.kyoko-project.wer.ee"] = "kyoko2r2dnumkuatsax5ddzojc6ei7lw4qeyrs6irb6f6kicrn2qtjyd.onion";
        --["proxy65.kyoko-project.wer.ee"] = "kyoko2r2dnumkuatsax5ddzojc6ei7lw4qeyrs6irb6f6kicrn2qtjyd.onion";
        --["share.kyoko-project.wer.ee"] = "kyoko2r2dnumkuatsax5ddzojc6ei7lw4qeyrs6irb6f6kicrn2qtjyd.onion";
        --["anon.kyoko-project.wer.ee"] = "kyoko2r2dnumkuatsax5ddzojc6ei7lw4qeyrs6irb6f6kicrn2qtjyd.onion";
}
i2p_map = {
        ["13f0.net"] = "p5wpch3po6hqol5msq3p4wotjyhympopgtix7rp4bo6yq6bpjbdq.b32.i2p";
        ["muc.13f0.net"] = "p5wpch3po6hqol5msq3p4wotjyhympopgtix7rp4bo6yq6bpjbdq.b32.i2p";
        ["retroimages.net"] = "frix7bctof2n7hdxx5jwzzpsfc6yawucmjdzbiogdkklzr57yntq.b32.i2p";
        ["muc.retroimages.net"] = "frix7bctof2n7hdxx5jwzzpsfc6yawucmjdzbiogdkklzr57yntq.b32.i2p";
        --["digdeeper.club"] = "eayfsyxga3xoutjupgpb3sqvddv6smqtdfade6kigw6esgsnbjaq.b32.i2p";
        --["muc.digdeeper.club"] = "eayfsyxga3xoutjupgpb3sqvddv6smqtdfade6kigw6esgsnbjaq.b32.i2p";
        ["kyoko-project.wer.ee"] = "wq6nioyfocsug7md3o5cedcihbdlgzel65bb53wlzj4xt6vcpk4a.b32.i2p";
        ["conference.kyoko-project.wer.ee"] = "wq6nioyfocsug7md3o5cedcihbdlgzel65bb53wlzj4xt6vcpk4a.b32.i2p";
        ["proxy65.kyoko-project.wer.ee"] = "wq6nioyfocsug7md3o5cedcihbdlgzel65bb53wlzj4xt6vcpk4a.b32.i2p";
        ["share.kyoko-project.wer.ee"] = "wq6nioyfocsug7md3o5cedcihbdlgzel65bb53wlzj4xt6vcpk4a.b32.i2p";
        ["anon.kyoko-project.wer.ee"] = "wq6nioyfocsug7md3o5cedcihbdlgzel65bb53wlzj4xt6vcpk4a.b32.i2p";
}
            
If you want an I2P and Tor only setup, aside from setting:

deepweb_only = true;
deepweb_tor_all = true;
            
You may also wish to setup a non-darknet blocking firewall.
Be sure to generate certs, or you will not be able to connect to some servers:
openssl genrsa -out /etc/prosody/certs/xxx.b32.i2p.key 4096
openssl req -new -x509 -key /etc/prosody/certs/xxx.b32.i2p.key -out /etc/prosody/certs/xxx.b32.i2p.crt -days 3650
            

Be sure to set file permissions and ownership accordingly.
You can also setup Biboumi for accessing I2P-IRC (ie Postman). Make sure your tunnels are correct (this is for i2pd):

[prosody-biboumi]
type=server
host=127.0.0.1
port=5269
inport=5269
keys=biboumi.dat
address = 0.0.0.0
destination = 0.0.0.0

[IRC-IRC2P] type = client address = 127.0.0.2 port = 6667 destination = irc.postman.i2p destinationport = 6667 keys = irc-keys.dat
Set your /etc/biboumi/biboumi.conf correctly:

hostname=example.b32.i2p
password=inserttokenhere
xmpp_server_ip=127.0.0.1
port=5347
admin=user@example.b32.i2p
realname_customization=true
realname_from_jid=false
log_file=
ca_file=
outgoing_bind=
db_name=/etc/biboumi/biboumi.sqlite
persistent_by_default=true
            
Note: you may have to create the DB and set the directory and DB permissions correctly.
Now add the component to the Prosody config (note: as of this writing it is unconfirmed if this works with federating or not). It is also highly recommended you install mod_e2e_policy as Biboumi by default offers no security (unless you want it to be totally public):

Component "example.b32.i2p"
        component_secret = "inserttokenhere"
        modules_enabled = {
                                "e2e_policy",
                                "deepweb",
                                "s2s_bidi"
                          }
e2e_policy_whitelist = { "user@example.b32.i2p" }
            
Edit your /etc/hosts file too:

# Static table lookup for hostnames.
# See hosts(5) for details.
127.0.0.2 irc.postman.i2p
            
Now with all this setup you should be able to join, for example #saltr%irc.postman.i2p@example.b32.i2p

Psyched

Says there is work being done to make it federate over Tor.

Tigase

Some Java thing.

Vines

Last commit 2014.

Wokkel

...

Xabber

Claims to have "improvements" to the protocol, and a web interface.
Is actually a bundle, including ejabberd, a script and some other things.

       Chapter 3       

           Providers           


It should be noted that the vast majority of providers do not have darknet S2S. Some will have darknet (usually Tor/onion only) C2S. You can check servers for compliance (unrelated to darknet support) using this tool.
KyokoNet supports Tor and I2P federation, Kallist supports Tor (and has a free Biboumi instance which can be accessed with or without an account), and both have application forms you can fill out. RetroImages also supports both, but does not have an application form. Do not attempt to get an account from Nuegia. Digdeeper does not give out accounts except to friends. Patchysicp also has sign up open according to the owner.

           Epilogue           

Powered by NAMAC! Licensed CC0. Disclaimer.