ii
TLDR
Connect to IRC server
$ ii -s [irc.libera.chat] -n [nickname]
Connect with port$ ii -s [irc.libera.chat] -p [6697] -n [nickname]
Specify IRC directory$ ii -s [server] -i [~/.irc] -n [nickname]
Join channel$ echo "/j #channel" > ~/irc/server/in
Send message$ echo "Hello world" > ~/irc/server/#channel/in
SYNOPSIS
ii [options]
DESCRIPTION
ii (IRC It) is a minimalist filesystem-based IRC client. It creates a directory structure where each server and channel is a directory with in (write to send) and out (read for messages) files.
This design follows the Unix philosophy, allowing IRC interaction through standard file operations and shell scripts. It can be combined with tools like tail, cat, and custom scripts.
PARAMETERS
-s server
IRC server address.-p port
Server port (default 6667).-n nickname
IRC nickname.-k envvar_
Environment variable for password.-f fullname
Full name (GECOS).-i prefix
IRC directory prefix.
DIRECTORY STRUCTURE
$ ~/irc/
└── irc.libera.chat/
├── in # Send commands
├── out # Server messages
└── #channel/
├── in # Send to channel
└── out # Channel messages
└── irc.libera.chat/
├── in # Send commands
├── out # Server messages
└── #channel/
├── in # Send to channel
└── out # Channel messages
USAGE
$ # Monitor channel
tail -f ~/irc/server/#channel/out
# Join channel
echo "/j #linux" > ~/irc/server/in
# Send message
echo "Hello!" > ~/irc/server/#channel/in
tail -f ~/irc/server/#channel/out
# Join channel
echo "/j #linux" > ~/irc/server/in
# Send message
echo "Hello!" > ~/irc/server/#channel/in
CAVEATS
No built-in interface; requires scripts or tools. No SSL support without wrapper. Limited feature set. Manual channel/nick management.
HISTORY
ii was created as part of the suckless project, following their philosophy of minimal, filesystem-based tools. It demonstrates IRC can work with standard Unix file operations.


