704ab925e9
Special thanks to: - Wolfgang Corcoran-Mathe for sending patches and testing. - Nico Golde for maintaining ii for so long.
93 lines
2.5 KiB
Plaintext
93 lines
2.5 KiB
Plaintext
Abstract
|
|
--------
|
|
ii is a minimalistic FIFO and filesystem based IRC client. It creates an irc
|
|
directory tree with server, channel and nick name directories. In every
|
|
directory a FIFO file (in) and normal file (out) is placed.
|
|
|
|
The in file is used to communicate with the servers and the out files include
|
|
the server messages. For every channel and every nick name there will be new in
|
|
and out files.
|
|
|
|
The basic idea of this is to be able to communicate with an IRC server with
|
|
standard command line tools. For example if you want to join a channel just do
|
|
echo "/j #channel" > in and ii creates a new channel directory with in and out
|
|
file.
|
|
|
|
|
|
Installation
|
|
------------
|
|
Edit config.mk to match your local setup. ii is installed into
|
|
/usr/local by default.
|
|
|
|
Afterwards enter the following command to build and install ii (if
|
|
necessary as root):
|
|
|
|
$ make clean install
|
|
|
|
|
|
Running ii
|
|
------------
|
|
Simply invoke the 'ii' command with required arguments
|
|
|
|
To make ii a bit more comfortable use it in combination with the multitail
|
|
program and for example with vim. Run vim in the server directory and use
|
|
key mapping like:
|
|
map w1 :.w >> \#ii/in<cr>
|
|
map w2 :.w >> \#wmii/in<cr>
|
|
to post to channels.
|
|
|
|
If you use the next editor line for a new posting you can use ctrl-p for nick
|
|
completion if you wrote the nick in the past.
|
|
Thanks to Matthias Kopfermann for this hint.
|
|
|
|
You can find an example of how this nested environment could look like on:
|
|
http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html
|
|
|
|
|
|
SSL/TLS support
|
|
---------------
|
|
|
|
Below is an example using OpenBSD relayd which sets up a TCP TLS relay
|
|
connection on localhost. A similar setup can be accomplished using
|
|
stunnel or netcat with TLS support. This also works for other programs
|
|
that don't support TLS natively.
|
|
|
|
/etc/relayd.conf:
|
|
|
|
table <freenode> { irc.freenode.net }
|
|
table <oftc> { irc.oftc.net }
|
|
|
|
protocol "irctls" {
|
|
tcp { nodelay, sack }
|
|
}
|
|
|
|
relay "freenode" {
|
|
listen on 127.0.0.1 port 6668
|
|
protocol "irctls"
|
|
forward with tls to <freenode> port 6697
|
|
}
|
|
|
|
relay "oftc" {
|
|
listen on 127.0.0.1 port 6669
|
|
protocol "irctls"
|
|
forward with tls to <oftc> port 6697
|
|
}
|
|
|
|
|
|
Then connect:
|
|
|
|
./irc -n nick -u name -s 127.0.0.1 -p 6668
|
|
./irc -n nick -u name -s 127.0.0.1 -p 6669
|
|
|
|
|
|
Configuration
|
|
-------------
|
|
No configuration is needed.
|
|
|
|
|
|
Changelog
|
|
---------
|
|
Since I missed the chance to add a proper changelog right from the beginning,
|
|
please have a look at the commit messages on http://git.suckless.org/ii/
|
|
they are fairly descriptive on releases prior to 1.2.
|