Blob


1 ICBIRC(8) - System Manager's Manual
3 # NAME
5 **icbirc** - proxy IRC client and ICB server
7 # SYNOPSIS
9 **icbirc**
10 *host*\[:*port*]\[/*room*]
12 # DESCRIPTION
14 **icbirc**
15 is a proxy that allows to connect an IRC client to an ICB server.
16 The proxy talks IRC via standard input and standard output,
17 so it's suitable to be run with
18 inetd(8),
19 and connects to the ICB server specified in the command line, optionally
20 joining automatically a room.
22 Commands from the IRC client are translated to ICB commands and forwarded
23 to the ICB server.
24 Messages from the ICB server are translated to IRC messages and forwarded
25 to the IRC client.
27 IRC (Internet Relay Chat) and ICB (Internet Citizen's Band) are two separate
28 chat protocols.
29 ICB is an older and simpler protocol, basically a subset of IRC.
30 The two most significant differences (from the client's perspective) are:
32 * an ICB client can only join a single channel (called group).
33 Joining a second channel automatically parts the first channel.
35 * an ICB channel can only have a single operator (called moderator).
36 Giving operator status to a second client automatically removes
37 operator status from the first client.
39 # SUPPORTED COMMANDS
41 **icbirc**
42 supports the following IRC commands:
44 CAP LS, CAP REQ, CAP END
46 > Basic IRCv3 capability handling is present for compliance with a wider
47 > range of IRC clients.
49 PASS
51 > Set the default group, used during login.
53 NICK
55 > Set or change nickname.
57 USER
59 > Supply additional user information (like ident), used during login.
61 LIST
63 > List all groups.
65 WHOIS
67 > Shows information about a user.
69 WHO
71 > Lists matching users.
72 > Arguments starting with '#' are interpreted as channel names
73 > (listing all users in the specified channel), anything else
74 > is used for a simple string search within users' 'nick!ident@host'.
76 JOIN
78 > Join a group.
80 PRIVMSG
82 > Send an open or personal message.
84 NOTICE
86 > Same as PRIVMSG.
88 TOPIC
90 > Set group topic.
92 KICK nick
94 > Boot nick from group.
96 MODE +o nick
98 > Pass moderation to nick.
100 QUIT
102 > Close client and server connection, wait for next client connection.
104 Additionally, the command RAWICB can be used to send custom ICB
105 commands.
106 The proxy automatically prefixes the correct command length and
107 replaces commas with ICB argument separators.
108 For example:
110 RAWICB hm,nick,msg
112 > Send msg to nick.
114 # EXAMPLES
116 Connect to the ICB server
117 'default.icb.net'
118 on the default port 7326, accepting IRC commands on standard input and
119 faking IRC server messages on standard output:
121 $ icbirc default.icb.net
123 Like the previous, but join automatically the group (channel)
124 'slackers':
126 $ icbirc default.icb.net/slackers
128 Run
129 **icbirc**
130 with
131 inetd(8),
132 suitable for connecting with IRC clients that don't support talking
133 IRC on a pipe:
135 6667 stream tcp nowait user /usr/local/bin/icbirc icbirc example.com
137 'user'
138 needs to be changed with a valid, local user name.
140 # SEE ALSO
142 *Internet Relay Chat Protocol*,
143 RFC 1459.
145 *Internet Relay Chat: Client Protocol*,
146 RFC 2812.
148 *Internet Relay Chat: Channel Management*,
149 RFC 2811.
151 *ICB Protocol*,
152 ftp://ftp.icb.net/pub/icb/src/icbd/Protocol.html.
154 *The History of ICB*,
155 http://www.icb.net/history.html.
157 *General guide to Netiquette on ICB*,
158 http://www.icb.net/\_jrudd/icb/netiquette.html.
160 # HISTORY
162 The first version of
163 **icbirc**
164 was written in 2003.
166 # AUTHORS
168 **icbirc**
169 was written by
170 Daniel Hartmeier <daniel@benzedrine.cx>
171 and is maintained by
172 Omar Polo <op@openbsd.org>.
174 # CAVEATS
176 ICB is not IRC.
177 Depending on the ICB community on a particular server, netiquette rules
178 vary greatly from common IRC rules (or lack thereof).
180 Client scripts or other forms of automated client actions might generate
181 noise or violate ICB community policies, and lacking support for some
182 commands might confuse the script.
183 Clients should be properly configured and tested on a dedicated server
184 before connecting to a public server.
186 In particular, WHOIS and WHO filtering is done on the proxy.
187 Each such request causes the proxy to fetch the entire user list from the
188 ICB server (there are no ICB commands that take filters), hence
189 automatic WHOIS requests from the IRC client can cause unwanted load on
190 the ICB server
191 (turn off 'WHOIS on JOIN' in the IRC client, if enabled).
193 # BUGS
195 On ICB, a moderator (channel operator) can leave the group (channel) and
196 rejoin later, preserving his status, as compared to IRC, where the channel
197 would be left operator-less in this case.
198 The proxy does not currently detect the operator status on rejoin in this
199 case, and the IRC client will (temporarily) show the channel op-less.
201 OpenBSD 7.4 - August 20, 2023