IRC Comand Help

1 Introduction
1.1 Why this guide?
The average IRC-guides around tend to teach only the basics or they’r hopelessly outdated and mix IRC-commands with the IRCII 1) client commands. New features (last 10 years!) are downrigh hard to find documentation for, scattered as they are in releasenotes, newsletters or plainly undocumented.

If you are new to IRC, I suggest you go for the other guides first, (http://www.irchelp.org/ or http://www.undernet.org/) but if you’re fairly familiar with IRC and want to fetch some interesting and often usefull commands, (2.6 and 3.7 beeing highlights) you’ve come to the right guide! :-)

1) IRCII: The first client for IRC networks. mIRC is the most common client today.

1.2 What does The IRC Command Cosmos contain?
An explanation for every command on the IRC network Undernet or other nets using the latest ircu software 1), except service-commands 2) and those commands restricted to IRC-Operators only.

What you can do on IRC depends on what software the irc-network is running. Over the years, this software has been split up into several different programs, maintained separately by different irc-networks. Beeing an Undernet user by chance, finding their software-development interesting and knowing several other nets to be using their software, I aim to completely document their version. I can’t keep up with development on the other nets like EFnet and IRCnet, but even if you use these nets, you may find this guide helpfull, the nets still got a lot of in common. 3)

The guide should make sense for any client, even if my examples might be a bit skewed towards mIRC. You may need to replace /raw with /quote in my examples. This edition of the guide should be complete and up to date, as of version 2.10.11.rc.1 of ircu. (August 2002) The guide is updated once or twice a year, depending on the upcoming changes.

1) ircu: The server-software developed by Undernet and also used by several other networks. See http://coder-com.undernet.org/ for the most recent version. Some networks have developed their software starting from earlier versions of ircu. A former developer started his own branch of ircu, (http://ircu.sourceforge.net/) claiming this to be the “real” ircu. This guide however, choose not to deal with specifics for this or other branches of ircu. Still, much in this guide will apply to them as well.

2) For example X, nickserv, channelservice e.t.c

3) While the nets have drifted apart, people are using the same clients on all nets and the specifications for a client havn’t changed over the years, so they need to display a minimum of uniformity for your dear mIRC, Pirch, amIRC e.t.c to work at all. The client protocol is more or less defined in RFC1459, a document that defined the “original” IRC. There exist other documents, like RFC2812, but 1459 is the only one who can claim authority among all the various nets, even though it itself is outdated. See ISUPPORT messages (7) for another way to bridge the divide.


1.3 Is my net using ircu?

Many of the smaller IRC networks are using various versions of ircu. To test if your net does, log into IRC and type /version. if the reply starts with u2...e.t.c, it’s using a version of ircu, e.g 2.10.10. If it dosn’t, you could also type /info and see if it mentions Undernet or ircu. Some nets run software based on an ircu version, but with their own tweaks and additions which /info ought to tell you about.


1.4 Hiding the Undernet
Early in 2001, Undernet was struck with a massive Denial Of Service-attack, bringing down the channelservice and prompting several servers to leave the net. This sped up the development of a replacement for the old X and W and led to proposal CFV-165 (nicknamed HEAD_IN_SAND in the ircu code) being passed by the owners of the servers. It were decided to hide all non-essential information from users, disabling non-essential commands and generally hide all information that could be misused, as g-lines and networkstructure. The proposal took effect from ircu2.10.10.pl14

These commands are disabled:

Every /STATS (5) except P, u and W
/map (4.1.2)
/links (4.1.3)
/trace (4.1.5)
+s, +w and +g nickmode (2.5)

the names of irc-servers are hidden in /who (2.14), /whois (2.4), /whowas (2.10) and in netsplits and forced modechanges. Remote /whois dosn't depend on knowing the server and is still allowed. All other remote queries are or will be disabled.

Each act of hiding is a configuration choice in the software, so other nets using ircu will be able to choose which of these, if any, they will adopt. This guide will keep the undernet-disabled features, as other nets still use them and may still choose to do so.

CFV-165 is an internet-sociologists dream. Even though the most common complaint about CFV-165 is that it makes it harder to choose the right server so as to minimize lag between yourself and your friends, perhaps the underlying issue is how this somehow degrades irc into a confined webchat experience. It has been pointed to the well-known tendency to sacrifice freedom for security when times are tough, though you may claim someones freedom were sacrificed for the security of others (the owners of the servers)
Does less information lead to less choice which leads to less freedom? Whether this makes IRC an anarchic, feudal or technocratic society (The idea of Internet as an anarchy has passed its best-before date, has it not?) is an interesting question or the bloated whineing of script-kiddies, depending on your viewpoint. :-)
(Hey kids! A project on this may give you the grades to get YOU into the college of your choice! Visit your local library today!)

Help to selfhelp
With /map gone, http://www.undernet.org/servers.php keep a list of servers on undernet, minus the dedicated routing servers. In addition, there’s still a few commands left for the eager scripter-soul to exploit:

* before 2.10.10.pl15: Remote /admin (4.2.3) tests if a known server is connected to the net and support wildcards which return first matching. Maybe something about the network structure can be deduced from who’s first?


* before 2.10.11: Another way to check if a server is in the net without connecting to it is doing a remote serverping by its full name: /raw ping servername will return PONG from yourserver yournick if the server is connected, and PONG from yourserver servername if it’s not. Apparently the ping never goes remote but is checked against the list of servers nontheless.
* The extended /msg syntax (2.2) allow for a quick brute-force search determining which server a nick is on. In ircu2.10.11.rc1 it will not send any message but amazingly still triggers a “no such nick” if you write in a non-existing servername. I have, for the lack of netsplits, been unable to check if the name is looked up in the list of connected servers or merely the static list of Undernet-servers that every server keeps locally. (anyone more versed in C out there?)



The tricks above suppose that the full servername (e.g oslo.no.eu.undernet.org) as seen by a user connected to it is the same name as the one propagated on the network. We shouldn't be surprised if, after the latest removals, beeing able to refer to a remote servers' name turns out as a non-essential feature in itself.
The servers already refer to themselves by shorter nicks (4.1.2) when communicating between themselves, only translating for the users using a local list of names. As remote servernames don't get displayed anymore, renaming the servers in this list would stop the above exploits with no changes in the code. This however is impractical, so these tricks ought to be around up to some given ircu-version.

* The simplest and best tool is still ping (6.3). With users in a channel running some script, a usefull lag-map could still be constructed among those in a channel, giving suggestions of lesser lagged servers, regardless of the underlying network structure. There must be a script for this around already?
If we suppose that servers with lagged connections are seldomly hubs in the network, (4.1.2) it follows that changing to any other server will get you past its lagged connection, and so there's little need to consult the tree-structure. In June 2001, 17 out of 25 servers visible in /map were leafs, and some of the hubs were dedicated ones not allowing client-connections. (today, all hubs on Undernet are, far as I gather, unavailable to users)
* The difference between clients and users in /lusers (4.1.1) will tell you how many connections your server has to other servers and from that if it is a hub or purely a leaf.
* The propagation of the /silence settings (2.12) leave a trail across the net from the sending server via every intermediary to the receiving one. As we are allowed to see the propagated parts of other users’ silence-settings, one could traverse the servers winding up the thread like some cyber-Ariadne. Together with the information from /lusers and imposing the necessary tree-structure, (4.1.2) it shouldn’t be too hard to get the overview again. Almost as good as /map and twice the fun. :-)


In addition there’s littered with smaller glimpses of servernames in /kill, /who, /quit, /whowas netsplits, the use of local channels e.t.c in serverversions between ircu2.10.10 and 10.11. Should any of you implement the tricks above or find other loopholes yourself in 2.10.11, why not drop me a mail? (Well, to keep it to yourself and stop the ircu-coders from fixing it, but how does such secrecy fit with a hacker-mentality?)

1.5 Changes in this edition of The IRC Command Cosmos
Since edition 2.1, the following sections have changed, mostly due to changes in ircu between 2.10.10.pl14 and 2.10.11.rc.1

1.4: Updating the self-to-selfhelp to reflect ircu development
2.5.1: +w, along with +g and +s are not allowed on Undernet. (and has been disallowed for a while)
2.5.1 and 3.5.1: Nickmodes +r, +x and channelmode +r introduced for upcoming channelservice upgrades and added security through host-hiding (we’ve been waiting for this one! :-D)
2.6: Individual servers may choose to hide the idletime in a remote /whois
2.9: An elaboration on the difference between /userip and /dns
2.12: beeing able to see other users’ /silence list is not a bug, it’s a feature!
2.14: extended /who didn’t display both @ and + if a user were both op and voiced in the same channel
3.2: bugfix for /invite to local channels
3.5.1: Changing into a banned nick while in channel now properly ban you and the modes +b and +m now stops you from sending to the channel from outside, even if it is -n.
3.5.2: the propagation of topics is now less noisy
3.11: Daniel Corkill solved the /wallchops vs /notice inconsistency
4.1.4: A new /list stop feature added (Why didn’t anyone think of it before? A Coloumbi-egg)
4.2.7: A new but uninteresting serveroption in /version
6.9: A problem with characters and banning. Luckily only of academic interest.
7: Updating information about the ISUPPORT messages and adding rumours about a novel use of the passworded login
8: Addes some more weblinks and channels

The STATS section does not reflect recent changes in the ircu code after Undernet barred access to them, but I may get back to these if I find an ircu-network where they are actually viewable by users or I get around to compile ircu on my computer. Until then I must refer to the coder-com website.


1.6 Getting the latest version and contacting the author
The latest edition is always available at http://www.student.uib.no/~st01369/ccosmos/ A mirror is available at http://www.irchelp.org/irchelp/misc/ccosmos.html. The last URL is probably the most permanent.
If you wish to be notified of new editions, please visit http://www.topica.com/lists/ccosmos to register. (No, I won’t use your e-mail address for anything else and I won’t give it out to anyone. :-)
Feel free to contact me with your corrections, suggestions or comments. As for quoting and noncommercial distribution: Go ahead, as long as the guides’ name and a link to its original location is kept and the text isn't altered substantially without stating so. If you'r mirroring the guide, drop me a note and I'll include a link to it.

Categories



0 comments: "IRC Comand Help"

 
Copyright 2009 - Belajar Seo 2010 Blogspot Template » Wordpress Themes