Blame


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