xdcc for the uninitiated or lazy
November 2, 2006 2 Comments
How do/did the P2P networks like Limewire, KaZaa, etc. get populated? Someone, somewhere had to get that leak of the album onto the Internet somehow.
The most common way? IRC content distribution. xDCC.
My first glimpse of how this was done was in 1995 on AOL. You could log into Warez chat rooms, send bots commands, and they’d send you files. This is essentially still what happens today on IRC, you’ve just got to/home/andy/Desktop/packet-news.png find the rooms first. The rooms became virus ridden and a spam haven (hey, it WAS AOL!)—today IRC is fairly self regulated. A good glimpse into how the distribution groups on IRC get a hold of their early albums/movies is in a miniseries called Welcome to the Scene which is a fact based fictional series about the underground.
- IRC – Internet Relay Chat. Think of IRC as another protocol—like HTTP, SSH, FTP. IRC typical uses port 6667
- Net or Network – Networks contain several channels—this is the server that you’re connecting to that is bringing you the chat rooms/channels.
- Channel – like a chat room.
- Bot – the nick of the bot that will be sending you the file
- Slots – available/Total. This is like a line you stand in—if you see 0/2 it means 0 slots of 2 total slots are available, you can usually wait in a queue until slots become available
- Que – How many people are in line for the transfer/Total available slots in line
- /j – The Join command, to join a channel you use /j #[channel] (no encapsulating s)
- /msg [bot] or /ctcp [bot] these are the commands that can be sent to bots, depending on their xdcc version. Most bots support /msg, but if it does not the bot will usually tell you to use /ctcp.
- kps – speed of the transfer(s)
- Pack – Packs are important—the number you’re going to see here is what you will send to the bot
- Description – this will have the filename, usually indicative of the album/episode you’re wanting to pursue
The basic hierarchy: Networks > Channels > Bots > (Slots | Que ) / Pack > Description. In non breadcrumb plain English: Networks contain channels, channels contain bots, bots contain packs (although you may have to wait in line to receive the pack) and packs have descriptions. Whew.
The Real Fun:
Okay, now what? I’ve found plenty of listings and I want to get my files! If it were only that easy… you’ve got to get some software.
An IRC client is required to use IRC. Hm, that’s reasonable. Windows users: mIRC is the only way to go. Linux users, I’m a pretty big fan of Konversation. It’s available out of the box with Ubuntu. Since I don’t have a Windows machine available to me, the rest of my screenshots will be coming from Konversation.
The client software requires you to use a nickname. Since you’re probably going to be using IRC to commit crimes instead of collaborating on open-source projects (the only other practical use of IRC), I would choose something non-identifying.
For the other details, let’s go back to our results:
Inside of the PacketNews Website, you’ll see something like “Network: 1-BOB-DOLE-NETWORK”—click that link and you’ll be taken to a channel listing like this:
The channel listing is unimportant because you know what channel to use on your search engine result. The important part of this page is the network. Mouseover the network’s name in centered white capped text, and you’ll see something like “irc://irc.bob-dole.net/”—this link contains the server your IRC client will use.
Without the irc:// (because the IRC client obviously uses the IRC protocol) we’ll enter that server into our IRC client, and then go back to our search results:
Once we’ve connected to the server we’re left with a blank input box like the bottom of this window:
Now we’re on the server. We need to join a channel and then request packs from the bot.
Type /j #[Channel]—remember, we’re pulling #[channel] from the PacketNews search result.
Now we’re in the channel. You’ll see a large list of names on the right and maybe some trivia or actual discussion going on in the main chat window. Ignore it. You will want to read any notices from the channel. Also, the first line of the chat will be the channel’s topic, which usually contains information about etiquitte and standards that the channel upholds.
Now we’re ready to request a pack from a bot. Type the following:
/msg [botname] xdcc send [pack]
Remember, [botname] and [pack] come from the Packet News results. Some bots allow you to issue them this command:
/msg [botname] xdcc list
This lists the packs that the bot is currently serving.
Now you just receive the packs, scan the files you get for viruses, and let the good times roll.