IRC
Jump to navigation
Jump to search
General
- https://en.wikipedia.org/wiki/Client-to-client_protocol - a special type of communication between Internet Relay Chat (IRC) clients. CTCP is a common protocol implemented by most major IRC clients in use today.[citation needed] CTCP extends the original IRC protocol by allowing users to query other clients or channels, this causes all the clients in the channel to reply the CTCP, for specific information. Additionally, CTCP can be used to encode messages that the raw IRC protocol would not allow to be sent over the link, such as messages containing newlines or the byte value 0 (NULL). CTCP does not establish a direct connection between clients; however, it is commonly used to negotiate DCC connections. CTCP allows users to query a remote client about the version of the client they are using (via CTCP VERSION), or the time (via CTCP TIME), among other things. It is also used to implement the /me command (via CTCP ACTION).
Culture
GUI clients
Hexchat
- Hexchat - an IRC client based on XChat, but unlike XChat it’s completely free for both Windows and Unix-like systems. Since XChat is open source, it’s perfectly legal. For more info, please read the Shareware background. HexChat was originally called XChat-WDK which in turn was a successor of freakschat. For more info, please read the announcement.
Xchat
- XChat - an IRC chat program for both Linux and Windows. It allows you to join multiple IRC channels (chat rooms) at the same time, talk publicly, private one-on-one conversations etc. Even file transfers are possible.
Dead enough, use HexChat instead.
ChatZilla
- ChatZilla - a clean, easy to use and highly extensible Internet Relay Chat (IRC) client, built on the Mozilla platform, which provides all the usual features: multiple servers, a built-in list of standard networks, easy searching and sorting of available channels, logging, and DCC chat and file transfers, plus easy customization with JavaScript plug-ins and CSS styling.
KVIrc
- KVIrc - a free portable IRC client based on the excellent Qt GUI toolkit. KVirc is being written by Szymon Stefanek and the KVIrc Development Team with the contribution of many IRC addicted developers around the world.
Loqui
- Loqui - IRC Client for Gtk2
Konversation
- Konversation - a user-friendly Internet Relay Chat (IRC) client built on the KDE Platform.
Smuxi
- Smuxi - an open-source, powerful, flexible, and user-friendly chat client created by Mirco Bauer and developed by other contributors. Inspired by the combination of screen and irssi, Smuxi has a detachable server (or like a "normal" client) that stays connected when you aren't, and can allow multiple Smuxi frontends (like the GNOME frontend, or STFL text-based frontend) to be connected and in sync. This is similar to screen+irssi or IRC bouncers, but more elegant and powerful.
Quassel
- Quassel IRC - a modern, cross-platform, distributed IRC client, meaning that one (or multiple) client(s) can attach to and detach from a central core -- much like the popular combination of screen and a text-based IRC client such as WeeChat, but graphical. In addition to this unique feature, we aim to bring a pleasurable, comfortable chatting experience to all major platforms (including Linux®, Windows®, and MacOS X® as well as Android smartphones), making communication with your peers not only convenient, but also ubiquitous available. [2]
- https://wiki.archlinux.org/index.php/Quassel
- https://disconnected.systems/blog/quasselcore-on-archlinux
.config/quassel-irc.org/settings.qss
Palette { /* Link colors */ link: #ff79c6; link-visited: #bd93f9; }
- https://github.com/magne4000/quassel-webserver - A web server/client for Quassel
- https://github.com/justjanne/quassel-rest-search - a websearch frontend for a quassel database. It offers both a simple HTTP API for search, and a normal website for the same purpose.
Microsoft Comic Chat
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
- https://github.com/ailin-nemui/teddy/wiki - a WebSocket Proxy for Irssi
Guides
- http://laurimakinen.net/2009/04/13/ultimate-irssi-guide-for-beginners/
- http://www.distancex.net/2011/06/my-perfect-irssi-setup.html
Weechat
- http://www.weechat.org - a free and open-source Internet Relay Chat client that is designed to be light and fast. It is released under the terms of the GNU GPL-3.0-or-later and has been developed since 2003.WeeChat comes with a default ncurses interface, and it is possible to use other interfaces (e.g. Glowing Bear, a web frontend) through the use of the relay plugin. [ [4]
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
- https://github.com/poljar/weechat-matrix - Weechat Matrix protocol script written in python
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!")
Tools
- https://github.com/qguv/w3 - a weechat wrapper to write sparse config files
Android
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
f-irc
- https://github.com/folkertvanheusden/f-irc - An IRC-client for in a terminal.
Other
- https://github.com/dylanaraps/birch - A WIP IRC client written in pure bash
Browser extension clients
Web clients
- About · Convos - the simplest way to use IRC. It is always online, and accessible to your web browser, both on desktop and mobile. Run it on your home server, cloud service or in Docker. [8]
- The Lounge - The self-hosted web IRC client. Always connected. It is run by a dedicated community as a fork of Shout.
- https://github.com/saulpw/tpchat - a kind of textpunk webchat with history and irc gateway. Has a kindof shared diary chat feeling.
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.
Chanserv:
set #channel secure on # restrict ops set #channel keeptopic on # topic is persistent set #channel guard on # chanserv will reside in channel
set #channel mlock on # restrict mode changes. also -c to allow colours.
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
- soju IRC bouncer - a user-friendly IRC bouncer. soju connects to upstream IRC servers on behalf of the user to provide extra functionality. soju supports many features such as multiple users, numerous IRCv3 extensions, chat history playback and detached channels. It is well-suited for both small and large deployments.
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
RobustIRC
ngIRCd
- ngIRCd: Free, portable and lightweight Internet Relay Chat server - a free, portable and lightweight Internet Relay Chat server for small or private networks, developed under the GNU General Public License (GPL).The server is quite easy to configure, can handle dynamic IP addresses, and optionally supports IDENT, IPv6 connections, SSL-protected links, and PAM for user authentication as well as character set conversion for legacy clients. The server has been written from scratch and is not based on the "forefather", the daemon of the IRCNet.The name ngIRCd means next-generation IRC daemon, which is a little bit exaggerated: lightweight Internet Relay Chat server most probably would have been a better name :-)
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
- https://github.com/jaraco/irc - python bot
- https://github.com/nitmir/irc-url-bot - Irc bot sending to channels url pages title
- 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]
- https://github.com/jhuckaby/simplebot - A simple IRC bot that is easy to install and use.
- https://github.com/PyAr/lalita - Yet another IRC bot, one where new functionality is simple to create by just adding easy-to-write plugins.
- https://github.com/nitmir/irc-url-bot - Irc bot sending to channels url pages title
- https://github.com/mutantmonkey/phenny - This is phenny, a Python IRC bot.
- https://github.com/andreimarcu/aamnews - IRC feed parser with multiple channel/user capabilities.Based on a very stripped down version of a fork of the IRC bot phenny by mutantmonkey
- https://github.com/meigrafd/feedie - IRC Bot to announce RSS FEEDS
- https://github.com/impredicative/irc-rss-feed-bot - IRC bot to post RSS/Atom and scraped HTML/JSON feeds to channels
- https://github.com/ProgVal/Limnoria - A robust, full-featured, and user/programmer-friendly Python IRC bot, with many existing plugins. Successor of the well-known Supybot.
- https://github.com/bthate/obirc - OBIRC is a IRC bot you can use to display RSS feeds and more
- https://github.com/bthate/rssbot - IRC bot you can use to display rss feeds in your channel
Logger
- irc logs at whitequark.org - Simple and good-looking IRC log viewer. Logger is included. No strings are attached
Other
- Libircclient - a small but extremely powerful library which implements the client IRC protocol. It is designed to be small, fast, portable and compatible with the RFC standards as well as non-standard but popular features. It is perfect for building the IRC clients and bots.