Chat
Live public or private messages.
General
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
Term-talk
MUD
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/ICQ
- https://en.wikipedia.org/wiki/Yahoo!_Messenger_Protocol
- https://en.wikipedia.org/wiki/OSCAR_protocol - AOL, pre XMPP
- https://en.wikipedia.org/wiki/Microsoft_Notification_Protocol
Other
IRC
- http://en.wikipedia.org/wiki/List_of_Internet_Relay_Chat_commands
- http://www.technerd.net/irc-commands.html
Culture
GUI clients
Xchat
Hexchat
Smuxi
Quassel IRC
Other
CLI clients
Irssi
set timestamp_format %H:%M:%S /server ADD -auto -network freenode irc.freenode.net 6667 /channel ADD -auto #channel NetworkName password
Stuff
Guides
- http://laurimakinen.net/2009/04/13/ultimate-irssi-guide-for-beginners/
- http://www.distancex.net/2011/06/my-perfect-irssi-setup.html
Weechat
Installation
Usage
Alt+←/→ or F5/F6 # switch to previous/next buffer F7/F8 # switch to previous/next window (when screen is split) F9/F10 # scroll title bar F11/F12 # scroll nicklist Tab # complete text in input bar, like in your shell PgUp/PgDn # scroll text in current buffer Alt+a # jump to buffer with activity (in hotlist) Ctrl-r # Search buffer (enter to esc.) alt-k [key] #display key and binding
/save # save settings madeee=
/server add oftc irc.oftc.net/6667 /connect oftc
/set irc.server.serverprofile.ssl_verify off #disable ssl verify for serverprofile
/set irc.look.server_buffer independent # server as separate buffer from main weechat buffer
/input jump_smart # jump to next buffer with activity /input hotlist_clear # clear activity
/set irc.look.color_nicks_in_nicklist on /script install colorize_nicks.py /set weechat.color.chat_nick_colors "22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201" # add more colours
/key bind meta2-18~ /bar scroll buffers * -30% # bind F7 to buffers.pl up /key bind meta2-19~ /bar scroll buffers * +30% # bind F8 to buffers.pl down
/set irc.look.smart_filter on /filter add irc_smart * irc_smart_filter * # http://dev.weechat.org/post/2008/10/25/Smart-IRC-join-part-quit-message-filter
Scripts
/script install colorize_nicks.py /script install buffers.pl # lists buffers (status, channel, etc.) in a sidebar /set weechat.bar.buffers.position right # put buffer list to right /script install autoconnect.py # remembers servers+channels joined
/script install urlbuf.py # buffer that logs all web addresses mentioned /script install whois_on_query.py # automatic whois on starting/receiving a private msg /script install go.py # jump to buffer /script install sort_buffers.pl # /set buffers.look.sort name # /set buffers.look.sort name (window number order doesn't follow!)
/script install listsort.pl
- to check; https://github.com/FiXato/listbuffer
Scripting
http://www.weechat.org/files/doc/stable/weechat_plugin_api.en.html#_weechat_config_color_default weechat.color.chat_buffer [5]
python: you have to import weechat functions print* are called prnt* in python (because print is reserved keyword) functions are called with weechat.xxx(arg1, arg2, ...)
weechat.register(name, author, version, license, description, shutdown_function, charset) [6]
import weechat weechat.register("test_python", "FlashCode", "1.0", "GPL3", "Test script", "", "") weechat.prnt("", "Hello, from python script!")
BitchX
EPIC
ii
- https://github.com/c00kiemon5ter/iim - a complete rewrite of the original ii from suckless.org it started as a cleanup for ii's source code, then added some fixes. it ended up smaller, easier to understand and supporting more commands
- https://github.com/c00kiemon5ter/iii - a frontend to ii/iim so that one can easily view and send messages. it outputs text, formatted, and colored, and allows for some configuration. options are passed as enviromental variables.
- https://github.com/c00kiemon5ter/niii - ncurses frontend to ii similar to iii
Other
Browser extension clients
Web clients
Services
Some channels require a nickserv registered nick before joining. Thus, changing to an unregistered nick can give a "Cannot change nickname while banned on channel" message.
Bouncer
ZNC
In most cases you should NOT edit znc.conf directly. Use webadmin instead. If you really need to edit znc.conf by hand, do the following:
pkill -SIGUSR1 znc # to save current runtime configuration to znc.conf pkill znc # to shutdown running ZNC instance # Edit znc.conf znc # to start it again with new configuration
- http://wiki.znc.in/Cert - client-side .pem cert
Other
- http://tapchatapp.com/ - for mobile devices
- https://www.ircrelay.com/ - SaaS
Servers
hub and leaf servers, mesh network. sordid history of de facto and flavours of amended protocol use.
- https://code.google.com/p/tircd/ - twitter tags as channels
ircd
- http://en.wikipedia.org/wiki/IRCd
- https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_daemons
- http://www.dal.net/?page=bahamut
- http://www.atheme.org/project/charybdis
- http://www.ircd-hybrid.org/
- http://inspircd.github.com/
- http://evilnet.sourceforge.net/
- http://www.ratbox.org/
- http://www.unrealircd.com/
RobustIRC
Bots
- https://en.wikipedia.org/wiki/Internet_Relay_Chat_bot
- https://en.wikipedia.org/wiki/Comparison_of_Internet_Relay_Chat_bots
- https://github.com/flocks/TwircBot - twitter2irc
- Pierc - A python bot that logs IRC channels, and a PHP/JS interface for browsing said logs.
- https://github.com/jsocol/logbot
- http://wiki.alpinelinux.org/wiki/Sircbot
- http://guppy.uk.to/
- http://willie.dftba.net/
- https://github.com/Ueland/VikingBot
- https://github.com/cinchrb/cinch/
- https://code.google.com/p/madcow/
- Tenyks is a computer program designed to relay messages between connections to IRC networks and custom built services written in any number of languages. More detailed, Tenyks is a service oriented IRC bot rewritten in Go. Service/core communication is handled by Redis Pub/Sub via json payloads. [13]
- DBot - an IRC bot which aims to be the fanciest IRC bot around - On the general standard of software fanciness, dbot is statistically rated as being '82% the same as bathing in fine, fine grape juice.'
- http://errbot.net/ - GPL3-licensed chat-bot designed to be easily deployable, extensible and maintainable [14]
Other
Articles
Jabber/XMPP
- XMPP - Extensible Messaging and Presence Protocol
Powers Jabber/GChat/GTalk/AIM.
Protocol
- http://xmpp.org/extensions
- 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/ [17]
- 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
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
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
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
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
MogoChat
Miaou
Scrollback
- https://scrollback.io/ - Embeddable cross-platform chat for communities
Heim
Other
Heim
Zulip
Rocket.Chat
- Rocket.Chat - The Ultimate Open Source WebChat Platform
Matrix.org
Services
- https://discordapp.com - chat plus voip, with desktop and mobile apps
Mobile social
Apps
- http://breizh-entropy.org/~nameless/random/posts/firechat_and_nearby_communication/
- http://www.88-bar.com/2015/01/fact-checking-the-hype-around-mesh-networks-and-firechat/
WebRTC
See WebDev#WebRTC
Terminal
Encrypted
- Chatcompare - Compare potential secure chat applications
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
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. [33]
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
Signal
- TextSecure - 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
- Facebook Messenger deploys Signal Protocol for end to end encryption - moxie0 on 08 Jul 2016 [36]
Riffle
Other
- 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.
- deadchat is 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 is a decentralized communication protocol that provides high confidentiality and authenticity for the messages.
- GoldBug is 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 - Unifying the web for open distributed micropublishing
- QOTR is 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.