KISS for IRC, a tiny IRC client written in POSIX C99.
"Do one thing and do it well" — Emphasis was placed on building simple, short, clear, modular, and extensible code that can be easily maintained and repurposed (per the Unix philosophy).
Portability — POSIX compliance ensures seamless compatibility and interoperability between variants of Unix and other operating systems.
Usability — Commands and shortcuts should feel "natural" when using a standard 104-key US keyboard layout. Where possible, the number of keystrokes have been minimized.
usage: kirc [-s hostname] [-p port] [-c channel] [-n nick] [-r real name] [-u username] [-k password] [-x init command] [-w columns] [-W columns] [-o path] [-h|v|V]
-s server address (default: 'irc.freenode.org')
-p server port (default: '6667')
-c channel name (default: '#kisslinux')
-n nickname (required)
-u server username (optional)
-k server password (optional)
-r real name (optional)
-v version information
-V verbose output (e.g. raw stream)
-o output path to log irc stream
-x send command to irc server after inital connection
-w maximum width of the printed left column (default: '10')
-W maximum width of the entire printed stream (default '80')
-h basic usage information
- No dependencies other than a C99 compiler.
- Complies with RFC 2812 standard.
- Ability to log the entire chat history (see Usage section for more information).
- Simple command structure:
<message> Send a message to the current channel.
/m <nick|channel> <message> Send a message to a specified channel or nick.
/M <message> Send a message to NickServ.
/Q <message> Send a message and close the host connection.
/x <message> Send a message directly to the server.
/j <channel> Join a specified channel.
/p <channel> Leave (part) a specified channel.
/n List all users on the current channel.
/q Close the host connection.
- Color scheme definition via ANSI 8-bit colors. Therefore, one could theoretically achieve uniform color definition across all shell applications and tools.
Building and installing on KISS Linux using the Community repository:
kiss b kirc
kiss i kirc
Building and installing on Arch and Arch-based distros using the AUR:
git clone https://aur.archlinux.org/kirc-git.git
cd kirc
makepkg -si
Building and installing from source (works on Rasbian, Debian, Ubuntu and many other Unix distributions):
git clone https://github.com/mcpcpc/kirc.git
cd kirc
make
make install