@ -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. |
||||