1 <h2>ii - IRC it or IRC improved
</h2>
4 ii [-d directory] [-f realname] [-i prefix] [-k password] [-n nickname]
5 [-p port] [-s servername]
8 ii is a minimalistic FIFO and file system based IRC client. Upon
9 connection, it creates an IRC directory prefix which contains the server
10 directory that can be overridden by directory. Beyond the path, inside
11 the server directory, there are channel and nickname directories together
12 with a FIFO file named
"ii" and a regular one called
"out". These two
13 latter files do also occur inside each channel and nickname directory,
14 which themselves are created upon joining a channel or opening of a
17 The FIFO files
"in" are used to communicate with the server, while the
18 regular
"out" files carry the server messages. If the data sent to an
19 "in" file is not an IRC command, in other words not starting with a slash
20 "/", it will be interpreted as a regular message (PRIVMSG) which later
21 pops up in the
"out" file in the same directory level.
23 The idea of this file system structure, is to be able to communicate with
24 an IRC server using basic command line tools. For example, if the
25 desired action is to join a channel, the command echo /j #channel
> in
26 will do the trick no matter which
"in" FIFO file it is addressed to, as
27 long as the file is in use by the current instance of ii. For more
28 information about available commands, see further down in this section.
30 The arguments are as follows, with the default value enclosed within
34 Overrides the servername part within the directory structure that
38 The real name that is to be associated with the nickname.
41 The directory in which ii will create its server directory.
45 A password used to authenticate the nickname with the server. Be
46 aware of the problem that it will be visible in the process list.
47 If this is not a desired side-effect, then simply use a query to
51 The used nickname during the IRC session. This is of course also
52 possible to change in a later stage by querying the server using
53 the /n command. (anonymous)
56 The port that ii will connect to on the specific servername.
60 The server to which ii will connect. (irc.freenode.net)
62 The commands that ii understands are as follows:
65 Used in order to mark oneself as away. The server will send the
66 message automatically in reply to a PRIVMSG directed at the user
67 (you). If message is omitted, the away status is removed.
69 /j #channel/nickname [message]/message
70 Join a channel or open a private conversation with another user
71 having the nick nickname. If the purpose is to join a channel,
72 then the message is meaning the key that is needed in order to
73 join the password protected channel. When opening a private
74 conversation, then the message (compulsory) is sent to the
75 nickname as a PRIVMSG.
78 Causes the user to leave the current channel with an optional
79 comment. This must be sent to the
"in" FIFO file located within
80 the channel directory.
83 Change the nick to nickname.
86 Change the topic of the specified channel, or the current one if
87 omitted, to topic. If topic is skipped, the server will report
88 what the current topic is to the
"out" file which is in the
92 in The FIFO files
"in" are used to communicate with the server.
94 irc Inside this directory is the server directory and within the last
95 one, there are channel and nickname directories together with a
96 FIFO file named
"ii" and a regular one called
"out". These two
97 latter files do also occur inside each channel and nickname
98 directory, which themselves are created upon joining a channel or
99 opening of a private conversation.
101 It is possible to override irc by specifying the prefix argument.
103 out These files carry the server messages.
109 Copyright (C)
2005-
2006 by Anselm R. Garbe
<garbeam (at) gmail (dot) com
>
110 Copyright (C)
2005-
2008 by Nico Golde
<nico (at) ngolde (dot) de
>
113 ii cannot tell whether a specific user exists when the /j command is used
114 to open a private conversation. This means that it always succeeds if
115 the syntax is correct, even if nobody will receive the message. However,
116 the server will, in these cases, report when a specific user is not
117 available, so a check in the
"out" file, in the server directory, works
118 as a solution to this problem.
121 <h2>wrapper - wraps ii(
1) and allows execution on connect
</h2>
124 wrapper [-i ii arg] [-s sh arg] -- host1 port1 [host2 port2 ...]
127 The wrapper utility randomly selects one pair of hosts and ports before
128 it passes the pair as arguments to ii(
1) using system(
3). Additional
129 arguments can be given to ii(
1) by specifying them in ii arg. In case
130 ii(
1) exits, this procedure is done all over again.
132 If sh arg is given, wrapper forks and then initializes ii(
1). The child
133 process sleeps for
60 seconds (default) before passing sh arg to
134 system(
3). This is useful in order to, for example, authenticate with
135 NickServ or rejoin IRC channels after a disconnection.
138 ii(
1), sh(
1), fork(
3), sleep(
3), system(
3)
141 The development of wrapper began in the early
2011's with the first
142 version released on January
9,
2011 via http://repo.or.cz/w/iii.git.
145 Notice that sh(
1) meta-characters must be escaped in both ii arg and sh
146 arg and that the -s and -p flags of ii(
1) have no effect in ii arg.
148 To prevent ii(
1) from choosing different server directories as
149 connections are made to various hosts, pass it the -d flag. The argument
150 of the flag will override this part of the file path.
153 <p><b><i>The manpages are from commit eea70aa4dbdde201cf938937d0fe500b17beb410.
154 For the latest ones, check the Git repository.
</i></b></p>
155 <p><b><i>In order to contact Je, add your message to the file CONTACT in the
156 Git repository on the mob branch which is
<a
157 href=
"http://repo.or.cz/h/mob.html">writable by everyone
</a>.
</i></b></p>