mirror of https://github.com/tiyn/ii
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.5 KiB
93 lines
2.5 KiB
1 year ago
|
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.
|