-
Notifications
You must be signed in to change notification settings - Fork 16
/
using_the_network.shtml
372 lines (320 loc) · 21.7 KB
/
using_the_network.shtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
<!--#set var="page_title" value="freenode: using the network" -->
<!--#set var="content_title" value="Using the Network" -->
<!--#include file="include/header-mainlogos.shtml" -->
<p>To access the <span class="freenode">freenode</span> IRC servers,
you'll first need an IRC client. Text clients include
irssi, WeeChat, and ERC. Graphical clients include XChat, Smuxi, and Quassel
for Unix and GNU/Linux, and mIRC for Windows. There is also the
<a href="http://webchat.freenode.net/">freenode webchat</a>.
Packages for various IRC clients may be included on your operating
system install CDs and links to web sites for the client software can be
found
<a href="http://www.irc.org/links.html">here</a>.</p>
<p>Once you have a client, you'll need a server.
You can simply use <b>chat.freenode.net</b> to reach our main rotation of
servers; or, you can find a more geographically-local server
<a href="irc_servers.shtml">here</a>.</p>
<p>After you've obtained your client and the name of
a server, you may still need a bit of help in getting connected. Take a
look at this
<a href="http://www.irchelp.org/irchelp/irctutorial.html">tutorial</a>
or this
<a href="http://www.irchelp.org/irchelp/ircprimer.html">IRC primer</a>
on
<a href="http://www.irchelp.org/">irchelp.org</a>,
which contains a variety of other useful information as well.</p>
<h2 id="reg">Channel and nick registration</h2>
<p><span class="freenode">freenode</span> provides
nickname and channel registration services. These should be used to avoid
disagreements about nickname use and to maintain clear operational control
of channels. You must register your nickname to register a channel or to
be added to its access list. If you'd like to register a channel here,
remember that we are a special purpose network devoted to peer-directed
projects. Please remember to take a look at our
<a href="policy.shtml#ontopic">on-topic policy</a>
before registering your channel.</p>
<p>For general information on nickname or channel registration services, use <span class="verbatim-i">/msg NickServ HELP</span> or <span class="verbatim-i">/msg ChanServ HELP</span>. For specific information on registering a nick, see the <a href="/faq.shtml#nicksetup">FAQ</a>. Specifics on registering a channel are discussed on the <a href="http://blog.freenode.net/?p=78">blog</a>.</p>
<h2 id="flags">Channel access management (flags)</h2>
<p>We strongly suggest that you avoid configuring
your channel to "auto-op". Use the chanserv "op" command to obtain
channel operator status only when needed. This will help to keep your
channel temperature low and reduce conflicts.</p>
<p>Help us support your channel in emergencies by adding channel staff to your channel access list via <span class="verbatim-i">/msg ChanServ FLAGS <span class="subst">#channelname</span> <span class="subst">nick</span> <span class="subst">flags</span></span>. The <span class="verbatim-i subst">nick</span> must either be a registered nick or a valid hostmask, and <span class="verbatim-i subst">flags</span> should be a series of flags, as defined in <span class="verbatim-i">/msg ChanServ HELP FLAGS</span>. Flags of <span class="verbatim-i">+voAti</span> are customary, and sufficient to allow opping and deopping, as well as some
other maintenance tasks. Staff can be given access by providing <span class="verbatim-i subst">nick</span> as <span class="verbatim-i">*!*@freenode/staff/*</span>.</p>
<p>The use of a system called "templates" can help to simplify the system of flags. See <span class="verbatim-i">/msg ChanServ HELP TEMPLATE</span> for more information.</p>
<h2 id="modes">User and channel modes</h2>
<p>The user and channel modes listed below are to be treated differently to the flags described above. The modes below are set using the <span class="verbatim-i">/mode</span> command: either <span class="verbatim-i">/mode <span class="subst">nickname</span> +w</span> or <span class="verbatim-i">/umode +w</span> for user modes, and <span class="verbatim-i">/mode <span class="subst">#channel</span> +i</span> for channels. Modes are unset using - instead of +, e.g. <span class="verbatim-i">/mode <span class="subst">#channel</span> -i</span>.</p>
<p>Channel modes can also be set with the help of ChanServ's MLOCK feature. Consult <span class="verbatim-i">/msg ChanServ HELP SET MLOCK</span> for more details.</p>
<p>The following is a list of ircd-seven user modes. Some additional information about them is available by sending <span class="verbatim-i">/help umode</span> to the server. If your client implements its own help command, you may need to <span class="verbatim-i">/quote help umode</span> or <span class="verbatim-i">/raw help umode</span>.</p>
<table class="modelist">
<tr>
<td><span class="verbatim-i">D</span><br />(deaf)</td>
<td>
This prevents you from receiving channel messages. You will probably
not want to set this in most cases. (It is used by services.)
</td>
</tr>
<tr>
<td><span class="verbatim-i">g</span><br />(caller-id)</td>
<td>
You can set this umode to prevent you from receiving private messages from anyone not on a session-defined whitelist. We would suggest only using this user mode if you have problems with volumes of spam via private message. The content of the whitelist can be controlled using the <span class="verbatim-i">/accept</span> command. When a user not on the whitelist attempts to contact you, you will receive a notice informing you of the fact and you can then use <span class="verbatim-i">/accept <span class="subst">user</span></span> to speak to them. Users can be removed from the whitelist using <span class="verbatim-i">/accept -<span class="subst">user</span></span>. Finally, <span class="verbatim-i">/accept *</span> will print the whitelist.
</td>
</tr>
<tr>
<td><span class="verbatim-i">i</span><br />(invisible)</td>
<td>This prevents you from appearing in global WHO/WHOIS by normal users, and hides which channels you are on. It is enabled by default.</td>
</tr>
<!-- <tr>
<td>+l<br />(see locops)</td>
<td>
This umode lets you see the locops announcement system. Important
network messages will be sent out via global notices; this is only for
server-specific (unlike wallops, see below) non-critical announcements
and comments which may be of interest. freenode staff are unlikely to
send locops.
</td>
</tr> -->
<tr>
<td><span class="verbatim-i">Q</span><br />(no forwarding)</td>
<td>
This user mode prevents you from being forwarded to another channel because
of channel mode +f (see below) or by a ban (see +b below). Instead of
being forwarded to another channel, you'll be given a message as to why
you could not join.
</td>
</tr>
<tr>
<td><span class="verbatim-i">R</span><br />(block unidentified)</td>
<td>
This user mode prevents users who are not identified to NickServ
from sending you private messages. It is suggested that you
might want to temporarily set this user mode if you suffer problems
with unidentified users sending you unwanted messages.
</td>
</tr>
<tr>
<td><span class="verbatim-i">w</span><br />(see wallops)</td>
<td>
This user mode lets you see the wallops announcement system. Important
network messages will be sent out via global notices; this is only for
non-critical announcements and comments which may be of interest.
</td>
</tr>
<tr>
<td><span class="verbatim-i">Z</span><br />(connected via SSL)</td>
<td>
You will have this user mode if you connect to <span
class="freenode">freenode</span> using SSL.
</td>
</tr>
</table>
<p>The following is a list of ircd-seven channel modes. Some additional information about them is available by sending <span class="verbatim-i">/help cmode</span> to the server. If your client implements its own help command, you may need to <span class="verbatim-i">/quote help cmode</span> or <span class="verbatim-i">/raw help cmode</span>.</p>
<table class="modelist">
<tr>
<td><span class="verbatim-i">b</span><br />(channel ban)</td>
<td>
<p>Bans are used to prevent users from joining a channel.</p>
<p>Sending <span class="verbatim-i">/mode <span class="subst">#channel</span> +b</span> alone will return a list of bans and can be used by any user. Actually setting bans is restricted to channel operators. Users matching bans are unable to join the channel or knock on it (see below). If the banned user is already in the channel, they will be prevented from speaking and from changing nicks in there, unless voiced (+v).</p>
<p>On <span class="freenode">freenode</span>, bans can take one of two main forms. The most common form is <span class="verbatim-i">+b nick!user@host</span>. The wildcards * and ? are allowed, matching zero-or-more and exactly-one characters, respectively. The masks will be trimmed to fit the maximum allowable length for the relevant element.</p>
<p>Bans set on IP addresses will apply even if the affected user joins with a resolved or cloaked hostname. CIDR is supported in bans, like <span class="verbatim-i">*!*@10.0.0.0/8</span>. This is most useful with IPv6.</p>
<h4> Extbans </h4>
<p>The second form (called extban) is <span class="verbatim-i">+b $<span class="subst">type</span></span> or <span class="verbatim-i">+b $<span class="subst">type</span>:<span class="subst">data</span></span>. The <span class="verbatim-i subst">type</span> is a single character (case insensitive) indicating the type of match. It is optionally preceded by a tilde (~) to negate the comparison. The <span class="verbatim-i subst">data</span> depends on extban type. Potential types are below:
<table class="modelist">
<tr>
<td><span class="verbatim-i">$a</span><br />(account name)</td>
<td> This type will match on, and ban, all users identified to the account specified in the data parameter. This parameter accepts wildcards, and a lack of data is interpreted as an implicit wildcard. Many channels use:
<span class="verbatim-b">/mode <span class="subst">#channel</span> +q $~a</span>
This extban (using +q to quiet, see below), prevents all users not identified to services from changing nicks or speaking in the channel. Note the "~", which negates the match.</td>
</tr>
<tr>
<td><span class="verbatim-i">$j</span><br />(can join other channel)</td>
<td> This entry takes an exact channel name (no wildcards or globbing) as its data and matches any user who can not join that channel. For example:
<span class="verbatim-b">/mode <span class="subst">#channel</span> +b $j:#Foo</span>
will ban from <span class="subst">#channel</span> any user who cannot join #Foo. Due to caching by the server, a change to the ban list of #Foo may not immediately alter a user's ability to speak in #channel.</td>
</tr>
<tr>
<td><span class="verbatim-i">$r</span><br />(realname)</td>
<td> This type matches on a client's realname, or gecos. For example:
<span class="verbatim-b">/mode <span class="subst">#channel</span> +b $r:Foo*</span>
will ban any user whose gecos begins with Foo.</td>
</tr>
<tr>
<td><span class="verbatim-i">$x</span><br />(full match)</td>
<td> This type takes a string parameter that is matched against a client's full nick!username@host#gecos. If a match is found, the user is banned. For example:
<span class="verbatim-b">/mode <span class="subst">#channel</span> +b $x:*#Foo*</span>
will ban any user whose gecos begins with Foo, or whose gecos contains "#Foo".</td>
</tr>
<tr>
<td><span class="verbatim-i">$z</span><br />(using SSL)</td>
<td> This type does not accept a data parameter. It simply matches users who are connected via SSL. For example:
<span class="verbatim-b">/mode <span class="subst">#channel</span> +b $~z$<span class="subst">#channel-nossl</span></span>
will forward non-SSL users to <span class="verbatim-i subst">#channel-nossl</span>. (More on ban-forwards below.)</td>
</tr>
</table>
<h4>Channel forwards in bans</h4>
<p>The suffix <span class="verbatim-i">$<span class="subst">#channel</span></span> can be appended to any of the above ban masks to cause a user to be forwarded to <span class="verbatim-i subst">#channel</span>. The ban setter will only be able to set this ban if they are an op in <span class="verbatim-i subst">#channel</span>, or if <span class="verbatim-i subst">#channel</span> has channel mode +F set. In this case, in all situations where the user would previously have been told they could not join, they will instead join the channel named in the ban mask and be sent a 470 numeric describing the forward.</p>
</td>
</tr>
<tr>
<td><span class="verbatim-i">c</span><br />(color filter)</td>
<td>
This mode activates the colour filter for the channel. This filters
out bold, underline, reverse video, beeps, mIRC colour codes, and ANSI
escapes. Note that escape sequences will sometimes leave cruft sent to
the channel, just without the escape characters themselves.
</td>
</tr>
<tr>
<td><span class="verbatim-i">C</span><br />(block CTCPS)</td>
<td>
This mode blocks the sending of CTCP commands (other than <span class="verbatim-i">/me</span> actions) to whole channels.
</td>
</tr>
<tr>
<td><span class="verbatim-i">e</span><br />(ban exemption)</td>
<td>
This mode takes one parameter, just like ban (above). Wildcards and extbans can be used, like ban. Ban exemption matches override +b and +q bans for all clients it matches, allowing the exempted user to join/speak as if they were not banned. This can be useful if it is necessary to ban an entire ISP due to persistent abuse, but some users from that ISP should still be allowed in. For example:
<span class="verbatim-b">/mode #channel +bee *!*@*.example.com *!*[email protected] $a:JohnDoe</span>
would block all users from example.com, while still allowing someuser from host3 and JohnDoe to join.
</td>
</tr>
<tr>
<td><span class="verbatim-i">f</span><br />(forward on uninvited)</td>
<td>
<p>This mode takes one parameter, a channel name. Users who cannot join the channel (because of +i, +j, +r, etc.) are instead sent to the channel given in +f. For example,
<span class="verbatim-b">/mode <span class="subst">#channel1</span> +if <span class="subst">#channel2</span></span>
would cause any users trying to join the channel and who are not in the invite-only exemption list (+I) to be sent to <span class="verbatim-i subst">#channel2</span> instead. Clients receive a 470 numeric message which lists the original and the target channels.</p>
<p>An operator can only set mode +f #channel2 if they are an op in #channel2
or if #channel2 has mode +F set (see below).</p>
<p>An operator can only use ChanServ's MLOCK feature with +f if they
have access flag +s in both channels, or if the channel to be
forwarded to is +F and they have +s in the original channel.</p>
</td>
</tr>
<tr>
<td><span class="verbatim-i">F</span><br />(enable forwarding)</td>
<td>
This mode can be set by any channel operator to allow operators
in other channels to set bans to forward clients to their channel,
without requiring ops in it (see +b, above).
</td>
</tr>
<tr>
<td><span class="verbatim-i">g</span><br />(allow anybody to invite)</td>
<td>
With this mode set, anybody in the channel is allowed to invite others (using the <span class="verbatim-i">/invite</span> command) to the channel. If this mode is not set, invitations may only be sent by channel operators. With this mode set, any client in the channel can affect who can join around modes such as +i, +j, +l or +r.
</td>
</tr>
<tr>
<td><span class="verbatim-i">i</span><br />(invite-only)</td>
<td>
No client can join this channel unless they are listed in the invite exemption list (+I) or are invited by someone through the <span class="verbatim-i">/invite</span> or <span class="verbatim-i">/msg ChanServ INVITE <span class="subst">#channel</span></span> command.
</td>
</tr>
<tr>
<td><span class="verbatim-i">I</span><br />(invite-only exemption)</td>
<td>
This mode takes one parameter of the same form as bans. Matching clients do not need to be invited to join the channel when it is invite-only (+i). Unlike the <span class="verbatim-i">/invite</span> command, this does not override +j, +l and +r. Only channel operators can see +I changes or request the list (with <span class="verbatim-i">/mode <span class="subst">#channel</span> +I</span>).
</td>
</tr>
<tr>
<td><span class="verbatim-i">j</span><br />(join throttling)</td>
<td>
<p>This mode takes one parameter of the form <span class="verbatim-i"><span class="subst">n</span>:<span class="subst">t</span></span>, where <span class="verbatim-i subst">n</span> and <span class="verbatim-i subst">t</span> are positive integers. Only <span class="verbatim-i subst">n</span> users may join in each period of <span class="verbatim-i subst">t</span> seconds. Invited users can join regardless of +j, but are counted as normal.</p>
<p>You can use this mode to prevent bot attacks. Observe the average join rate of your channel and pick a good value for +j. If you also use +f (see above), you can forward users who are throttled to another channel (e.g. ##overflow).</p>
</td>
</tr>
<tr>
<td><span class="verbatim-i">k</span><br />(channel password)</td>
<td>
This mode sets up a channel password. To enter the channel, you must specify the password on your <span class="verbatim-i">/join</span> command. Keep in mind, modes locked with ChanServ's <span class="verbatim-i">MLOCK</span> command can be seen by anyone recreating the channel; this includes keys.
</td>
</tr>
<tr>
<td><span class="verbatim-i">l</span><br />(join limit)</td>
<td>
Specified with a numeric value, this mode limits the number of users
who can join your channel.
</td>
</tr>
<tr>
<td><span class="verbatim-i">L</span><br />(large ban/exempt/invex lists)</td>
<td>
This mode, which can only be set by <span class="freenode">freenode</span> staff, allows a channel to have longer than normal ban, exempt, and invite exemption lists.
</td>
</tr>
<tr>
<td><span class="verbatim-i">m</span><br />(moderated)</td>
<td>
When a channel is set +m, only users who are opped or voiced on the channel can send to it. This mode does not prevent users without voice or op from changing nicks.
</td>
</tr>
<tr>
<td><span class="verbatim-i">n</span><br />(prevent external send)</td>
<td>
Users outside the channel may not send messages to it.
</td>
</tr>
<tr>
<td><span class="verbatim-i">p</span><br />(paranoid)</td>
<td>
When set, the <span class="verbatim-i">KNOCK</span> command cannot be used on the channel to request an invite, and users will not be shown the channel in whois replies unless they are on it. Unlike on some ircds, +p and +s can be set together.
</td>
</tr>
<tr>
<td><span class="verbatim-i">P</span><br />(permanent channel)</td>
<td>
This mode may only be set by <span class="freenode">freenode</span> staff. Once set, the channel will not be deleted when it becomes empty. NOTE: Permanent channels can still be erased by catastrophic network failures.
</td>
</tr>
<tr>
<td><span class="verbatim-i">q</span><br />(quiet user)</td>
<td>
This mode works like +b (ban user), but instead simply quiets the user. The user can join, but cannot speak in the channel or change nicks whilst in the channel. We encourage channels to use quiets in place of bans wherever possible. The list of quiets is separate from the list of bans and can be viewed using <span class="verbatim-i">/mode <span class="subst">#channel</span> +q</span>.
</td>
</tr>
<tr>
<td><span class="verbatim-i">Q</span><br />(block forwarded users)</td>
<td>
Users will not be able to be forwarded (see +f above) to a channel with +Q.
</td>
</tr>
<tr>
<td><span class="verbatim-i">r</span><br />(block unidentified)</td>
<td>
This mode prevents users who are not identified to NickServ from joining the channel. Users will receive a server notice explaining this if they try to join. <span class="verbatim-i">/mode <span class="subst">#channel</span> +q $~a</span> can be used to prevent unregistered users from speaking in channel while allowing them to join.
</td>
</tr>
<tr>
<td><span class="verbatim-i">s</span><br />(secret channel)</td>
<td>
This channel will not appear on channel lists or WHO or WHOIS output unless you
are on it.
</td>
</tr>
<tr>
<td><span class="verbatim-i">S</span><br />(SSL-only)</td>
<td>
Only users connected via SSL may join the channel while this mode is set. Users already in the channel are not affected.
</td>
</tr>
<tr>
<td><span class="verbatim-i">t</span><br />(only ops can change topic)</td>
<td>
When +t is set, only channel operators may modify the topic of the channel.
This mode is recommended in larger, more public channels to protect the
integrity of the topic.
</td>
</tr>
<tr>
<td><span class="verbatim-i">z</span><br />(reduced moderation)</td>
<td>
When +z is set, the effects of +b, +q, and +m are relaxed. For each message, if that message would normally be blocked by one of these modes, it is instead sent to all the users who are currently set +o (channel operator). This is intended for use in moderated debates.
</td>
</tr>
</table>
<br />
<!--#set var="SPONSOR_LINKS" value="<small>
</small>
"-->
<!--#include file="include/trailer.shtml" -->