ii

irc it, simple FIFO based irc client
git clone git://git.suckless.org/ii
Log | Files | Refs | README | LICENSE

README (2549B)


      1 Abstract
      2 --------
      3 ii is a minimalistic FIFO and filesystem based IRC client.  It creates an irc
      4 directory tree with server, channel and nick name directories. In every
      5 directory a FIFO file (in) and normal file (out) is placed.
      6 
      7 The in file is used to communicate with the servers and the out files include
      8 the server messages. For every channel and every nick name there will be new in
      9 and out files.
     10 
     11 The basic idea of this is to be able to communicate with an IRC server with
     12 standard command line tools.  For example if you want to join a channel just do
     13 echo "/j #channel" > in and ii creates a new channel directory with in and out
     14 file.
     15 
     16 
     17 Installation
     18 ------------
     19 Edit config.mk to match your local setup. ii is installed into
     20 /usr/local by default.
     21 
     22 Afterwards enter the following command to build and install ii (if
     23 necessary as root):
     24 
     25     $ make clean install
     26 
     27 
     28 Running ii
     29 ------------
     30 Simply invoke the 'ii' command with required arguments
     31 
     32 To make ii a bit more comfortable use it in combination with the multitail
     33 program and for example with vim. Run vim in the server directory and use
     34 key mapping like:
     35 map w1 :.w >> \#ii/in<cr>
     36 map w2 :.w >> \#wmii/in<cr>
     37 to post to channels.
     38 
     39 If you use the next editor line for a new posting you can use ctrl-p for nick
     40 completion if you wrote the nick in the past.
     41 Thanks to Matthias Kopfermann for this hint.
     42 
     43 You can find an example of how this nested environment could look like on:
     44 http://nion.modprobe.de/blog/archives/440-Using-the-ii-irc-client.html
     45 
     46 
     47 SSL/TLS support
     48 ---------------
     49 
     50 Below is an example using OpenBSD relayd which sets up a TCP TLS relay
     51 connection on localhost. A similar setup can be accomplished using
     52 stunnel or netcat with TLS support. This also works for other programs
     53 that don't support TLS natively.
     54 
     55 /etc/relayd.conf:
     56 
     57 	table <freenode> { irc.freenode.net }
     58 	table <oftc> { irc.oftc.net }
     59 
     60 	protocol "irctls" {
     61 		tcp { nodelay, sack }
     62 	}
     63 
     64 	relay "freenode" {
     65 		listen on 127.0.0.1 port 6668
     66 		protocol "irctls"
     67 		forward with tls to <freenode> port 6697
     68 	}
     69 
     70 	relay "oftc" {
     71 		listen on 127.0.0.1 port 6669
     72 		protocol "irctls"
     73 		forward with tls to <oftc> port 6697
     74 	}
     75 
     76 
     77 Then connect:
     78 
     79 	./irc -n nick -u name -s 127.0.0.1 -p 6668
     80 	./irc -n nick -u name -s 127.0.0.1 -p 6669
     81 
     82 
     83 Configuration
     84 -------------
     85 No configuration is needed.
     86 
     87 
     88 Changelog
     89 ---------
     90 Since I missed the chance to add a proper changelog right from the beginning,
     91 please have a look at the commit messages on http://git.suckless.org/ii/
     92 they are fairly descriptive on releases prior to 1.2.