Blob


1 .\" $Id: icbirc.8,v 1.1.1.1 2007/01/11 15:55:54 dhartmei Exp $
2 .\"
3 .\" Copyright (c) 2003-2004 Daniel Hartmeier. All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
13 .\"
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 .\"
25 .Dd Aug 6, 2003
26 .Dt ICBIRC 8
27 .Os
28 .Sh NAME
29 .Nm icbirc
30 .Nd proxy IRC client and ICB server
31 .Sh SYNOPSIS
32 .Nm icbirc
33 .Op Fl d
34 .Op Fl l Ar listen-address
35 .Op Fl p Ar listen-port
36 .Op Fl s Ar server-name
37 .Op Fl P Ar server-port
38 .Sh DESCRIPTION
39 .Nm
40 is a proxy that allows to connect an IRC client to an ICB server.
41 The proxy accepts client connections, connects to the server, and forwards
42 data between those two connections.
43 .Pp
44 Commands from the IRC client are translated to ICB commands and forwarded
45 to the ICB server.
46 Messages from the ICB server are translated to IRC messages and forwarded
47 to the IRC client.
48 .Pp
49 The options are as follows:
50 .Pp
51 .Bl -tag -width xlxlistenxaddress
52 .It Fl d
53 Do not daemonize (detach from controlling terminal) and produce debugging
54 output on stdout/stderr.
55 .It Fl l Ar listen-address
56 Bind to the specified address when listening for client connections.
57 If not specified, connections to any address are accepted.
58 .It Fl p Ar listen-port
59 Bind to the specified port when listening for client connections.
60 Defaults to 6667 when not specified.
61 .It Fl s Ar server-name
62 Hostname or numerical address of the ICB server to connect to.
63 .It Fl P Ar server-port
64 Port of the ICB server to connect to.
65 Defaults to 7326 when not specified.
66 .El
67 .Pp
68 Example:
69 .Bd -literal -offset indent
70 $ icbirc -s default.icb.net
71 .Ed
72 .Pp
73 IRC (Internet Relay Chat) and ICB (Internet Citizen's Band) are two separate
74 chat protocols.
75 ICB is an older and simpler protocol, basically a subset of IRC.
76 The two most significant differences (from the client's perspective) are:
77 .Pp
78 An ICB client can only join a single channel (called group).
79 Joining a second channel automatically parts the first channel.
80 .Pp
81 An ICB channel can only have a single operator (called moderator).
82 Giving operator status to a second client automatically removes
83 operator status from the first client.
84 .Pp
85 .Sh SUPPORTED COMMANDS
86 .Nm
87 supports the following IRC commands:
88 .Pp
89 .Bl -tag -width MODExoxnickx
90 .It PASS
91 Set the default group, used during login.
92 .It NICK
93 Set or change nickname.
94 .It USER
95 Supply additional user information (like ident), used during login.
96 .It LIST
97 List all groups.
98 .It WHOIS
99 Shows information about a user.
100 .It WHO
101 Lists matching users.
102 Arguments starting with '#' are interpreted as channel names
103 (listing all users in the specified channel), anything else
104 is used for a simple string search within users' 'nick!ident@host'.
105 .It JOIN
106 Join a group.
107 .It PRIVMSG
108 Send an open or personal message.
109 .It NOTICE
110 Same as PRIVMSG.
111 .It TOPIC
112 Set group topic.
113 .It KICK nick
114 Boot nick from group.
115 .It MODE +o nick
116 Pass moderation to nick.
117 .It QUIT
118 Close client and server connection, wait for next client connection.
119 .El
120 .Pp
121 Additionally, the command RAWICB can be used to send custom ICB
122 commands.
123 The proxy automatically prefixes the correct command length and
124 replaces commas with ICB argument separators.
125 For example:
126 .Bl -tag -width RAWICBxhmxnickxmsg
127 .It RAWICB hm,nick,msg
128 Send msg to nick.
129 .El
130 .Pp
131 .Sh SEE ALSO
132 .Rs
133 .%T Internet Relay Chat Protocol
134 .%O RFC 1459
135 .Re
136 .Rs
137 .%T Internet Relay Chat: Client Protocol
138 .%O RFC 2812
139 .Re
140 .Rs
141 .%T Internet Relay Chat: Channel Management
142 .%O RFC 2811
143 .Re
144 .Rs
145 .%T ICB Protocol
146 .%O ftp://ftp.icb.net/pub/icb/src/icbd/Protocol.html
147 .Re
148 .Rs
149 .%T The History of ICB
150 .%O http://www.icb.net/history.html
151 .Re
152 .Rs
153 .%T General guide to Netiquette on ICB
154 .%O http://www.icb.net/_jrudd/icb/netiquette.html
155 .Re
156 .Sh HISTORY
157 The first version of
158 .Nm
159 was written in 2003.
160 .Sh AUTHORS
161 Daniel Hartmeier
162 .Aq daniel@benzedrine.cx
163 .Sh CAVEATS
164 ICB is not IRC.
165 Depending on the ICB community on a particular server, netiquette rules
166 vary greatly from common IRC rules (or lack thereof).
167 .Pp
168 Client scripts or other forms of automated client actions might generate
169 noise or violate ICB community policies, and lacking support for some
170 commands might confuse the script.
171 Clients should be properly configured and tested on a dedicated server
172 before connecting to a public server.
173 .Pp
174 In particular, WHOIS and WHO filtering is done on the proxy. Each such
175 request causes the proxy to fetch the entire user list from the ICB
176 server (there are no ICB commands that take filters), hence automatic
177 WHOIS requests from the IRC client can cause unwanted load on the ICB
178 server (turn off 'WHOIS on JOIN' in the IRC client, if enabled).
179 .Sh BUGS
180 On ICB, a moderator (channel operator) can leave the group (channel) and
181 rejoin later, preserving his status, as compared to IRC, where the channel
182 would be left operator-less in this case.
183 The proxy does not currently detect the operator status on rejoin in this
184 case, and the IRC client will (temporarily) show the channel op-less.
185 .Pp
186 IPv6 is not supported yet.