|
|
|
@ -0,0 +1,92 @@ |
|
|
|
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. |