Chat
Live public or private messages.
General
- Ars Technica: The fall… and rise and rise and rise of chat networks
- Google Docs: Digital Communications Protocols - Messenger systems compared by security, privacy, compatibility, and features [1]
Older
Talk
- https://en.wikipedia.org/wiki/Talk_(software) - a Unix text chat program, originally allowing messaging only between the users logged on to one multi-user computer—but later extended to allow chat to users on other systems.
Although largely superseded by IRC and other modern systems, it is still included with most Unix-like systems today, including Linux, BSD systems and OS X
- sshtalk - security-minded update to talkd/ntalk with the same basic idea. Modern day instant messaging applications and services are nice and all, but most if not all lack a few key ingredients that we have covered with sshtalk: Hand-written in x86_64 assembly language, Multiple party text user interface, SSH2's native Perfect-Forward-Secrecy, Ephemeral: No archiving of user's messages, Watch (and laugh at) your remote party's typing skills, Full terminal-based Unicode support, Any modern ssh client can use it
Term-talk
MUD
- https://wiki.mudlet.org/w/Main_Page - A cross-platform, open source, and super fast MUD client with scripting in Lua.
- DecafMUD Client - a MUD client written in JavaScript, using either Flash or WebSockets for connectivity, that harnesses the native browser to display output and accept input, rather then a third party GUI system such as Java, Flash, or Silverlight.
- Evennia - a modern library for creating online multiplayer text games (MUD, MUSH, MUX, MUCK, MOO etc) in pure Python. It allows game creators to design and flesh out their ideas with great freedom. Evennia is made available under the very friendly BSD license.
- https://github.com/Xangis/magma - Magma MUD - An old-school MUD codebase derived from DIKU, Merc, Envy, and UltraEnvy
- https://github.com/Xangis/ModernMUD - A modern multiplatform multi-user dungeon engine written in C# and .NET with a full toolset.
- Mudlet - a quality MUD client, designed to take mudding to a new level.It’s a new breed of a client on the MUD scene – with an intuitive user interface, a specially designed scripting framework, and a very fast text display. Add to that cross-platform capability, an open-source development model, and you have a very likeable MUD client.
- TinTin++ MUD client - aka tt++ is a free Mud client for Android, iOS, Linux, Mac OS X and Windows. TinTin++ features an advanced automapper, scripting language and VT100 interface. The Windows port named WinTin++ (using the PuTTY derived mintty terminal) is available for those who do not use Cygwin (A Linux/Unix emulator for Windows) and runs on Windows Xp, Windows Vista, Windows 7, 8, and 10.
Talker
Zephyr
- http://www.gale.org/ - the Caltech equivalent of the Zephyr protocol
BITNET
- https://en.wikipedia.org/wiki/BITNET_Relay - also known as the Inter Chat Relay Network, was a chat network setup over BITNET nodes. It predated Internet Relay Chat and other online chat systems. The program that made the network possible was called "Relay" and was developed by Jeff Kell of the University of Tennessee at Chattanooga in 1985 using the REXX programming language.
This system drew its name from "relay race" which shares a comparable behavior, where messages travel hop-by-hop along the network of Relay servers until they reached their destination. Messages sent within the United States would take a few seconds to reach their destinations, but communication times varied in other countries or internationally. If one or more network links were down, BITNET would store and forward the messages when the network links recovered, minutes or even hours later.
New old IM
- https://en.wikipedia.org/wiki/OSCAR_protocol - AIM, pre XMPP
Other
- https://en.wikipedia.org/wiki/SIMPLE_(instant_messaging_protocol) - the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions, is an instant messaging (IM) and presence protocol suite based on Session Initiation Protocol (SIP) managed by the Internet Engineering Task Force. Contrary to the vast majority of IM and presence protocols used by software deployed today, SIMPLE is an open standard like XMPP.
IRC
See IRC
Jabber/XMPP
- XMPP - Extensible Messaging and Presence Protocol
Powers Jabber/GChat/GTalk/AIM.
Protocol
- http://xmpp.org/extensions
- http://xmpp.org/extensions/xep-0071.html - formatting
- http://xmpp.org/extensions/xep-0220.html - server dialback
- IM Observatory - Testing the security of the Jabber/XMPP network
General
older;
- http://www.slideshare.net/stpeter/jabber-the-realtime-internet-and-you
- http://blog.process-one.net/introducing_the_xmpp_application_server_the_twitter_example/
- http://el-tramo.be/blog/psi-jaiku/
- http://www.coverfire.com/archives/2006/04/25/jabberxmpp-pubsub/
newer;
- https://blog.thijsalkema.de/blog/2013/08/26/the-state-of-tls-on-xmpp-1/ [9]
- https://blog.thijsalkema.de/blog/2013/08/28/the-state-of-tls-on-xmpp-2/
- https://blog.thijsalkema.de/blog/2013/09/02/the-state-of-tls-on-xmpp-3/
Server
- http://xmpp.org/xmpp-software/servers/
- https://en.wikipedia.org/wiki/Comparison_of_XMPP_server_software
Libraries / Services
- SleekXMPP is an MIT licensed XMPP library
- Poetry is a collection of simple command line tools for working with XMPP services. It aims to provide a set of tools similar to tools like dig, curl, and man, but for interacting, configuring, and querying XMPP services.
- Switchboard is both a toolkit for assembling XMPP clients as well as a set of command-line tools for interacting with XMPP servers. Ruby.
- OneSocialWeb XMPP based social network. development has ended.
GUI clients
- http://xmpp.org/xmpp-software/clients/
- http://en.wikipedia.org/wiki/Comparison_of_instant_messaging_clients#XMPP-related_features
- http://conversations.im/ - android app
- https://movim.eu/ - web
- Conversations - Conversations is a Jabber/XMPP client for Android 4.0+ smartphones that has been optimized to provide a unique mobile experience.
- Pix-Art Messenger - an open source XMPP / Jabber Messenger for Android 4.0
- JabberCat - an instant messenger which uses the long-established Jabber network (based on XMPP). It is written in Python using Qt 5.
- https://github.com/anurodhp/Monal - Free XMPP client for iOS and OS X
- Quicksy - a spin off of the popular Jabber/XMPP client Conversations with automatic contact discovery.You sign up with your phone number and Quicksy will automatically—based on the phone numbers in your address book—suggest possible contacts to you.¹ Quicksy can be downloaded for free from Google Play Store. The source code is licensed under the GPLv3 and available on Github. Under the hood Quicksy is a full-fledged Jabber client that lets you communicate with any user on any publicly federating server. [10]
- https://github.com/dino/dino - Modern XMPP ("Jabber", Chat Client using GTK+/Vala
CLI clients
- mcabber is a small Jabber console client that includes SASL/SSL/TLS support, MUC (Multi-User Chat) support, history logging, command completion, OpenPGP encryption, OTR (Off-the-Record Messaging) support, dynamic modules and external action triggers.
See BitlBee
- https://github.com/horazont/xmpp-echo-bot - Do you know that situation, you really really need an XMPP echo bot, but you don’t have access to high-level tools like Python to write one? All you have is openssl, bash, dig, stdbuf and sed? Then this tool is for you. This is an XMPP echo bot written in (mostly) sed. Bash is used to do the pre-authentication setup (look up DNS records, establish TLS via openssl s_client). sed processes the XML stream and handles all interaction with the server on the XMPP level. Yes, this kinda parses XML in sed. [11]
Web
- Candy — a JavaScript-based multi-user chat client
MUC
Multi user chat, like IRC. Clients suck at implementing this.
Jingle
Other
- https://github.com/julien51/notifix - rss to irc/xmpp
- http://push-bot.appspot.com/ - push to xmpp
OMEMO
- https://prism-break.org/en/protocols/omemo/ - an extension to the Extensible Messaging and Presence Protocol (XMPP/Jabber) 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 (PEP, XEP-0163). OMEMO offers future and forward secrecy and deniability with message synchronization and offline delivery.
Multisystem clients
- http://www.miranda-im.org/ - windows
BitlBee
- BitlBee brings IM (instant messaging) to IRC clients. It's a great solution for people who have an IRC client running all the time and don't want to run an additional MSN/AIM/whatever client. BitlBee currently supports the following IM networks/protocols: XMPP/Jabber (including Google Talk), MSN Messenger, Yahoo! Messenger, AIM and ICQ, and the Twitter microblogging network (plus all other Twitter API compatible services like identi.ca and status.net).
Pidgin
Empathy
Franz
Rambox
Ripcord
- Ripcord - a desktop chat client for group-centric services like Slack and Discord. It provides a traditional compact desktop interface designed for power users. It's not built on top of web browser technology: it responds quickly to input, sips gently from computer resources, and gets out of your way. It does voice chat, too.
Modern chat
HipChat
Service. "HipChat is hosted group chat and IM for companies and teams. Supercharge real-time collaboration with persistent chat rooms, file sharing, and chat history."
Sqwiggle
- Sqwiggle is an always on online workplace for your remote team to work together throughout the day.
Hubot
Like HipChat.
Made at GitHub.
echoplexus
mix of chat, drawing, code scratchpad and video.
other
meatspac.es
- Meatspace chat - Chat with WebRTC, LevelDB and Sockets. Adds short webcam video clips.
Kandan
Let's Chat
- Let's Chat - Way back in 2012, we didn't like any of the existing chat services out there. So we decided to write our own. Let's Chat is a persistent messaging application that runs on Node.js and MongoDB. It's designed to be easily deployable and fits well with small, intimate teams. It's free (MIT licensed) and ships with killer features such as LDAP/Kerberos authentication, a REST-like API and XMPP support. Let's Chat is a side-project of the development team at Security Compass. (A real life 10% time project!)
MogoChat
Miaou
Scrollback
- https://scrollback.io/ - Embeddable cross-platform chat for communities
Heim
Other
Heim
Zulip
- Zulip - combines the immediacy of Slack with an email threading model. With Zulip, you can catch up on important conversations while ignoring irrelevant ones. [20]
Rocket.Chat
- Rocket.Chat - The Ultimate Open Source WebChat Platform
Matrix
- Voyager - a bot that travels through Matrix trying to find new rooms. It does this by sitting in rooms and waiting for someone to mention another room, at which point it tries to join that room. Each new room it discovers is mapped to a public graph.
- https://github.com/matrix-org/matrix-bifrost - General purpose bridging with a variety of backends including libpurple and xmpp.js
- https://gitlab.com/ma1uta/mxtoot - Matrix-Mastodon bot written on java.
- https://github.com/matrix-org/dendrite - a matrix homeserver written in go
- Conduit - Conduit is a simple, fast and reliable chat server powered by matrix
- https://github.com/nordeck/matrix-meetings - A solution to organizing meetings in Matrix chat rooms and video conferences. Users can plan meetings, configure options like widgets for meeting rooms, invite participants, perform breakout sessions, and see their calendar. Meeting metadata is stored in Matrix rooms. It also provides an API to create meetings from third party services, like Open-Xchange.
- https://github.com/nordeck/matrix-neoboard - A collaborative whiteboard widget for Matrix
- Kazarma - a bridge between two decentralized protocols: Matrix and ActivityPub. Kazarma allows the exchange of private messages between Matrix users and users of ActivityPub platforms, such as Mastodon, PeerTube or Funkwhale. Public ActivityPub activities (e.g. "toots") are also bridged in Matrix rooms. The Kazarma bridge is easy to deploy, secure and easy to scale.
Riot
- https://riot.im/ - Electron based
- https://medium.com/@RiotChat/exciting-new-riot-release-get-ready-for-chatting-securely-acc93ecfe0a [26]
Fractal
- https://gitlab.gnome.org/GNOME/fractal - a Matrix messaging app for GNOME written in Rust. Its interface is optimized for collaboration in large groups, such as free software projects.
Matrix Live
- Matrix Live - your favorite Matrix client (such as Riot) to write text and post pictures in this room, your users will see them appear live on the web - either here or right on your blog or website.
Continuum
- https://github.com/koma-im/continuum-desktop - Matrix client in kotlin
Nheko
- Nheko - a native desktop app for Matrix that feels more like a mainstream chat app (Element, Telegram etc) and less like an IRC client using Qt and C++17.
Hummingbird
- Hummingbard - an experiment in building communities on top of Matrix. Hummingbard has social elements like user profiles, posts, communities, sharing and so on. It is intended to be more than just a decentralized link aggregator or a microblogging platform.
FluffyChat
MatterMost
Threema
Other
- https://github.com/josephernest/talktalktalk - an easy-installable small chat room, with chat history, written in Python [29]
- https://github.com/kkuchta/css-only-chat - A truly monstrous async web chat using no JS whatsoever on the frontend. [30]
- https://github.com/zezic/discurse - A lightweight audio & text chat written in Rust
- https://github.com/balzack/databag - A tiny selfhosted federated messenger for the decentralized web.
Revolt
- Revolt - one of the best ways to stay connected with your friends and community without sacrificing any usability. We focus only on the user, and you can be sure that your conversations are confidential and your data is secure. [31]
Cabal
Services
Slack
- Slack - brings all your team's communication together, giving everyone a shared workspace where conversations are organized and accessible.
Discord
- Discord - All-in-one voice and text chat for gamers that's free, secure, and works on both your desktop and phone. Stop paying for TeamSpeak servers and hassling with Skype.
- YouTube: IS DISCORD REALLY THE BEST? - Voice Chat Platform Showdown - Linus Tech Tips
- Discord Me - Public Discord Servers & Discord Channels
- Answer Overflow - Index Your Discord Server Channels Into Google [36]
- https://github.com/victornpb/undiscord - Undiscord - Delete all messages in a Discord server / channel or DM (Easy and fast, Bulk delete
- https://github.com/Tyrrrz/DiscordChatExporter - an application that can be used to export message history from any Discord channel to a file. It works with direct messages, group messages, and server channels, and supports Discord's dialect of markdown as well as most other rich media features.
Gitter
- Gitter - a chat and networking platform that helps to manage, grow and connect communities through messaging, content and discovery. Gitter is available in all modern browsers as well as apps for desktops and mobile phones.
Twitch
- Chatty - a chat software specifically made for Twitch, in the spirit of a classic IRC Client. It runs on Windows and any other OS that supports Java 8 or later.
- Tc - The chat client for Twitch™Free yourself from the browser, Tc runs quietly in the background so you can jump back in when convenient.
Other
Mobile social
Apps
Firechat
Snapchat
Ring
- Ring - a free and universal communication platform which preserves the users' privacy and freedoms. [39]
WebRTC
See VoIP#WebRTC
Terminal
Encrypted
See also Encrypted
- Chatcompare - Compare potential secure chat applications. dead. [41]
- So You Want to Build a P2P Twitter with E2E Encryption? - By - December 20th 2017
- media.ccc.de - What's left for private messaging? - December 2019
IRC
- Encrirc - IRC encryption proxy, because IRC SSL does not save your from the voyeur sysadmin
- Dirt is a multi-platform IRC proxy that adds FiSH-compatible chat encryption (including DH1080 key exchanges) to any IRC client. It can be used as a SOCKS proxy or as a simple bouncer. For security reasons, only localhost connections are allowed.
OTR
Pidgen + OTR
Jabber + OTR
Bitmessage
- Bitmessage is a P2P communications protocol used to send encrypted messages to another person or to many subscribers. It is decentralized and trustless, meaning that you need-not inherently trust any entities like root certificate authorities. It uses strong authentication which means that the sender of a message cannot be spoofed, and it aims to hide "non-content" data, like the sender and receiver of messages, from passive eavesdroppers like those running warrantless wiretapping programs.
Tox
via 4chan
Cspace
Pond
- Pond is forward secure, asynchronous messaging for the discerning. Pond messages are asynchronous, but are not a record; they expire automatically a week after they are received. Pond seeks to prevent leaking traffic information against everyone except a global passive attacker. [44]
Cryptocat
TorChat
- TorChat - Decentralized anonymous instant messenger on top of Tor Hidden Services
BitTorrent Chat
- BitTorrent Chat - Private instant messaging via secure, distributed technology. No cloud required.
BitTorrent Bleep
Telegram
Wire
Peerio
Signal
- https://github.com/signalapp/Signal-Android - a replacement for the standard text messaging application for Android, allowing you to send and receive text messages as normal. Additionally, Local Encryption -- All text messages, regardless of destination, that are sent or received with TextSecure are stored in an encrypted database on your phone. Wire Encryption -- When communicating with a recipient who is also using TextSecure, text messages are encrypted during transmission.
- https://en.wikipedia.org/wiki/Signal_(software) - successor to TextSecure and RedPhone
- Facebook Messenger deploys Signal Protocol for end to end encryption - moxie0 on 08 Jul 2016 [48]
- Signalboost - communicate with mass audiences securely and directly via message broadcasts and hotlines | Signalboost: Secure Textblasts and Hotlines for Activists
- https://github.com/tbvdm/sigtop - a utility to export messages, attachments and other data from Signal Desktop.
Riffle
Vuvuzela
zkc
Secure Internet Live Conferencing
- Secure Internet Live Conferencing, or SILC in short, is a modern conferencing protocol which provides rich conferencing features with high security. One of the main design principles of the protocol was security. Many of the SILC features are found in traditional chat protocols such as IRC but many of the SILC features can also be found in Instant Message (IM) style protocols.
Ricochet
- Ricochet - a different approach to instant messaging that doesn’t trust anyone in protecting your privacy. Eliminate metadata. Nobody knows who you are, who you talk to, or what you say. Stay anonymous. Share what you want, without sharing your identity and location. Nobody in the middle. There are no servers to monitor, censor, or hack. Safe by default. Security isn’t secure until it’s automatic and easy to use.
deadchat tosort ===
- https://github.com/jeztek/deadchat - a cryptographically secure single-room group chat server and client designed to enable a group of trusted friends to communicate with each other over an insecure channel without fear of eavesdropping.
ironpigeon
- https://github.com/aarnott/ironpigeon - a decentralized communication protocol that provides high confidentiality and authenticity for the messages.
GoldBug
- GoldBug - a secure Instant Messenger. You can be sure with using GoldBug (GB), that no third party can look testinto your chat communication. Private user-to-user communication remains private. GoldBug therefore uses strong multi-encryption with different layers of modern encryption technologies of well known and revised crypto libraries (like libgcrypt (GnuPG) and OpenSSL). The app offers as well decentral and encrypted Email and decentral public E*IRC-Chat.
BitWeav
- BitWeav - Unifying the web for open distributed micropublishing
tosort
- https://github.com/crodjer/qotr - a application through which you can quickly spawn a encrypted chat with your friends. The messages are encrypted before they leave your browser. The QOTR servers cannot understand what is being said. For chats 256 bit AES-CBC encryption is used. The key generation happens in the browser. To keep it easy to share a chat room, the password is provided as a location hash. Browsers do not send a location hash to the server.
- https://github.com/agl/pond - Pond is in stasis, and has been for several years. I hope that some of the ideas prove useful in the future, but people should use something better polished and reviewed. I've no plans to shutdown down the default server, but new users should look elsewhere.
Briar
- Briar - a messaging app designed for activists, journalists, and anyone else who needs a safe, easy and robust way to communicate. Unlike traditional messaging apps, Briar doesn’t rely on a central server - messages are synchronized directly between the users’ devices. If the internet’s down, Briar can sync via Bluetooth or Wi-Fi, keeping the information flowing in a crisis. If the internet’s up, Briar can sync via the Tor network, protecting users and their relationships from surveillance.
Cwtch
- Cwtch - Privacy Preserving Infrastructure for Asynchronous, Decentralized, Multi-Party, and Metadata Resistant Applications
LAN Messenger
- LAN Messenger - currently available for Windows, Mac, and Linux is a free and open-source instant messaging application. Through a local network, this application will foster instant communication, eliminating the need for having a server and internet connection. More than just for instant messaging, it also comes with extra features, such as transferring files, archiving of past messages, and being notified of upcoming events.
Bifrost
- PDF: Bifrost : A Novel Anonymous Communication System with DHT - An immense amount of information is processed on the Internet due to its spread, increasing the severity of such problems as the disclosure of personal information; privacy protection is required. Research to protect anonymity has become crucial. Anonymous communication systems must consider a sudden breakaway of nodes. However existing systems isn't considering this enough. This paper proposes separating a node management layer from an anonymous communication layer. A novel anonymous communication system is realized by a node management layer that uses Chord, which is a distributed hash table, and the anonymous communication layer uses multiplex encryptions.
Delta Chat
- Delta Chat - like Telegram or Whatsapp but without the tracking or central control. Delta Chat does not need your phone number. Check out our privacy statement.Delta Chat doesn’t have their own servers but uses the most massive and diverse open messaging system ever: the existing e-mail server network.Chat with anyone if you know their e-mail address, no need for them to install DeltaChat! All you need is a standard e-mail account.
Tinfoil Chat
- https://github.com/maqp/tfc - Onion-routed, endpoint secure messaging system
Virtual
Voice
Clubhouse
- https://github.com/grishka/Houseclub - A barebones unofficial Android app for Clubhouse [54]