Note: As you may have heard, the Geocities web service will be shutting down in the next few months. With this in mind I relocated the contents of this guide to WikiBooks (a sister project of Wikipedia), well known as a place where anyone can vandalize edit the pages. Please make sure you (and those from who you may have found out about this site from) use the new address. The new home for the guides is here:
Downloading Files from IRC

Drago

Part of - Drago's IRC guides




IRC Leeching Tutorial



note, the meaning of some terms used in this guide:
IRC client: Program to access an IRC network ( X-Chat , mIRC , irssi , HydraIRC , IceChat , etc )
fServ or file server: An add-on for your IRC client, lets other people browse and download files off of your hard drive.
PM (Private Message): A message that only the sender and receiver can see.
Packlist: List with all the files an XDCC bot is serving and their send numbers


Newbie Notice:
Getting files over IRC is a waiting game that requires patience, a stable connection, and a descent IRC client. It may also involve the use of some basic DOS / Bash like commands to search through different servers to find the file you want. For the most part, using IRC to get your files isn't nearly as easy as something like Limewire or Morpheus (lol spyware). If you have little patience or are not willing to learn the right commands, I strongly suggest you stop reading here.
Still interested?
If you are completly new to IRC, I suggest having a look at the IRC For Beginners and the mIRC Set-Up pages before going through the rest of this guide. Reading them first may save you some trouble in the long run.



File Server (fserve) Guide (top)



How do I access file servers? (top)
To access a file server you need to have your IRC client set up properly to receive files and you need the CTCP trigger for the file server you are trying to access.


What is a CTCP trigger? (top)
A CTCP (Client-To-Client-Protocol) trigger is special type of message that is sent between IRC clients usually in request for specific information. A CTCP trigger usually looks something like " /ctcp [nickname] [trigger]". Basically a trigger is a message you send to another IRC user's client for information about it. For example, if I wanted to know what IRC client Danno123 was using, I would type "/ctcp Danno123 version" and his client would send me something like "mIRC v6.21 Khaled Mardam-Bey" as an automated response.


How do CTCP triggers work in relation to file servers? (top)
A file server CTCP trigger is a request sent to someone running a file server for permission to access the list of available files they have for you to download. When you type a file server's CTCP trigger, if it is online and not being used by someone else, it will respond by trying to start a DCC chat session with you to share the list of files it is serving.


How do I get the CTCP trigger for a file server? (top)
To obtain a CTCP trigger you would type "!list" in the channel window the file server is in. After typing "!list", all active file servers in the channel responding to "!list" will send you a private message with their status and CTCP trigger(s) to access them.

Here is an example of three file server ads that might be displayed after typing "!list".

-Danno- <File Server Online> Trigger:[/ctcp Danno Dannos awesome stuff!] Next send:[in 1hrs 36mins] Accessed:[4763 times] O:[0/5] S:[1/1] Q:[10/10] .<UPP>.
-Vega|serv- [Fserve Active] - Triggers:[/ctcp Vega|serv music etc & /ctcp Vega|serv is the best] - Users:[2/5] - Sends:[0/1] - Queues:[0/30] - Message:[/dccserver +sc on 59 || voiced users only] - SysReset 2.53
-TracerFX- [Fserve Active] - Triggers:[/ctcp TracerFX collection 1 & /ctcp TracerFX collection 2 & /ctcp TracerFX collection 3] - Users:[0/4] - Sends:[2/2] - Queues:[3/10] - Record CPS:[44.1kB/s by Borego] - Bytes Sent:[19.6GB] - Files Sent:[122] - Accesses:[763] - Upload Speed:[53.4kB/s] - Download Speed:[67.5kB/s]


Ok, I see the ads, but which ones the CTCP trigger?
(top)
The trigger is usually the text after "Trigger" or "Triggers" contained between the "[" and "]" brackets.
For example, the file server ad below:

-TracerFX- [Fserve Active] - Triggers:[/ctcp TracerFX collection 1 & /ctcp TracerFX collection 2 & /ctcp TracerFX collection 3] - Users:[0/4] - Sends:[2/2] - Queues:[3/10] - Record CPS:[44.1kB/s by Borego] - Bytes Sent:[19.6GB] - Files Sent:[122] - Accesses:[763] - Upload Speed:[53.4kB/s] - Download Speed:[67.5kB/s]

Has three different triggers you could use:

/ctcp TracerFX collection 1
/ctcp TracerFX collection 2
/ctcp TracerFX collection 3



How do I use the trigger? (top)
Simply type the trigger into the network server window (tab with the networks name on it) and the file server should initiate a DCC chat session.

Example, I'd type:
/ctcp TracerFX collection 1

After typing the trigger, I would receive a DCC chat offer from TracerFX, after that I would accept the offer and browse TracerFX's file server.

How do I find out what is on a file server and how do I download from it?
(top)
There are two common types of files servers run on IRC, the most popular one uses a command prompt style interface. The command prompt style interface will probably look like gibberish to you at first if your are unfamiliar with the DOS\UNIX command line. The second most common file server type uses a number-letter style interface (and may also accept the command prompt syntax as well). If you have ever used an automated voice messaging service (think of a 1-800 style support line), you should not have too much trouble understanding this type.

1. Command Prompt Style File Servers:

After entering the trigger "/ctcp TracerFX collection 1", as in the example above and accepting the DCC chat offer, you would receive a message similar to this...

<TracerFX> -=SysReset 2.3=- FileServer
<TracerFX> NOTICE: If you leave this channel all sends, gets, and fservs will be stopped.
<TracerFX> Transfer Status: Sends:[0/1] - Queues:[0/30]
<TracerFX> Minimum CPS is: 5000
<TracerFX> Maximum CPS is: 10000
<TracerFX> This server will auto-close after 1min 30secs.
<TracerFX> SysReset v2.3 File Server
<TracerFX> Use: cd, clr_queue, clr_queues, dir, exit, get, help, queues, quit, say, sends, stats, swap, who
<TracerFX> [\]
<TracerFX> SysReset 2.53


Notice the line that says: "Use: cd, clr_queue..."? That is the list of available commands you can use with this particular file server. The only ones you really need to familiarize yourself with in order to download are "dir", "cd", "get", and "exit".

dir: displays a list of all files and sub-directories inside the current directory
cd: change directory, use this to enter (cd "sub-directory-name") and exit (cd ..) sub-directories
get: request a filename from a file server (get filename.extension)
exit: disconnect from a file server

Here is an example of these commands in use with the file server in the example above:

To display the list of files I would type "dir" and the file server would respond with:

<TracerFX> ..
<TracerFX> THESE ARE
<TracerFX> VERY TASTY
<TracerFX> ZEBRAS
<TracerFX> letter to friend.txt 3 kb
<TracerFX> movie file 1.avi 25.3 mb
<TracerFX> movie file 2.avi 42.4 mb
<TracerFX> End of list.


To enter the directory named "VERY TASTY" I would type "cd VERY TASTY" which would give me:

<TracerFX> SysReset 2.53
<TracerFX> [\VERY TASTY]


To find out what's in the directory named "VERY TASTY", I would again type "dir" which would give me:

<TracerFX> ..
<TracerFX> Blueberry Muffin.jpg
<TracerFX> Bob's Cooking Show.mov
<TracerFX> Recipe - Restaurant style zebra.txt
<TracerFX> Recipe - TASTY FISHSTICKS FTW.txt
<TracerFX> End of list.


Since I do not want any of these files, so I would back to the previous directory by typing "cd .." and would get:

<TracerFX SysReset 2.53
<TracerFX [\]


I can list the contents of this directory again by typing "dir", which (yet again) displays:

<TracerFX> ..
<TracerFX> THESE ARE
<TracerFX> VERY TASTY
<TracerFX> ZEBRAS
<TracerFX> letter to friend.txt 3 kb
<TracerFX> movie file 1.avi 25.3 mb
<TracerFX> movie file 2.avi 42.4 mb
<TracerFX> End of list.


When I know which file I want to download, "movie file 1.avi", I would tell the file server to send it to me by typing:

get movie file 1.avi

If the file server could send me the file immediately, I would see something like:

<TracerFX> DCC Send movie file 1.avi (12.23.4.567)
* TracerFX has offered movie file 1.avi (25309024 bytes)
* DCC RECV connection established to TracerFX [12.23.4.567:9001]


If the file server could not send me the file immediately (if someone else was downloading something off of it) it would place me in it's queue:

<TracerFX> Adding your file to queue slot 14. The file will send when the next send slot is open.


And since the file server in this example only has one send slot (Sends:[0/1]) I would have to wait until the thirteen people in front of me finished downloading before it would send me the file.

After I finished telling the file server what file I would like to download, I would type "exit" or simply close the window.

2. Number-Letter Style File Servers:

Just like with the other file server, to gain access you enter the CTCP trigger "/ctcp Danno Dannos awesome stuff!", but the DCC chat message will look a little different from before:

<Danno> Ultra Protection Project v2.00 final - by KyD
<Danno> Welcome [12.34.567.89], you are the [75th person] to access my fserve
<Danno> Dccwatch:(off) Instasend max.size:(5.00MB) Idletime:(60 secs) Timeout:(600 secs) Min.cps:(off) Max.cps:(off)
<Danno> O:[1/6] S:[1/1] Q:[6/10] [Your Sends]: 0/1 [Your Queues]: 0/1 [Your Priority]: 0
<Danno> Commands: cd, clr_fqueues, clr_queue, clr_queues, dir, failq, find
<Danno> get, help, my_queues, pwd, queues, quit, sends, stats, time, who


And as with the command prompt file server type, I type "dir" to bring up the list of directories:

<Danno>
1d : mega-collection
<Danno>
2d : more stuff
<Danno>
3d : much more stuff

This is where the likeness ends with the other file server type. Notice the numbers-letter combinations in front of the directories? Instead of typing "cd more stuff" to see what the directory has in it, all I would need to do is type the number letter combo in front of it, 2d.

After typing the combo, I the server will list the contents of that particular directory:

<Danno> [more stuff]
<Danno> 0D: ..
<Danno> 1F: cooking with fire.mpg 96MB
<Danno> 2F: fun with frisbees.txt 175MB
<Danno> 3F: some neat clip 01.avi 180MB
<Danno> 4F: trains schedule to the zebras.txt 17KB


Again, instead of having to type "get some neat clip 01.avi" to let the file server know what I wanted to download, all I would have to do is type the letter-number combination in front of it, "3F". After typing the files combo, the server would send me a message confirming my choice:

<Danno> queuing [some neat clip 01.avi 180MB]. it has been placed in queue slot [7], it will send when sends are available


To go back to the previous directory, I type the letter-number combination in front of the line labeled".." instead of "cd ..". In the above example it would be "0D".

And again, I exit the the file-server by typing "exit" or closing the fservs DCC chat window.

Note: You do not have to to leave the chat session open for your file to download but many file servers do require that you stay in the same channel that the file server is in until the download is finished.


How does the "@find" trigger work? (top)
The syntax for this trigger is "@find search-query-here" where "search-query-here" would be the keyword(s) you are looking for. The "@find" trigger works almost the same as "!list", except only fserv's serving files names with the terms you are searching for will respond.

Example:

If I were looking for someone serving a file that contained either "potato" or "floss" I would type:

@find potato floss

And an fserv that had a file with one of these two terms would in its name would send me a PM with something like:

<Danno> [@Find Results] -=SysReset 2.53=-
<Danno> Found [2] files on Trigger:[/ctcp Danno Dannos awesome stuff!] - Sends:[0/2] - Queues:[0/50]
<Danno> File: [Teeth\Proper flossing technique.mkv] - Size [840.2MB]
<Danno> File: [War\Potato Gun ATTACK.avi] - Size [30.7MB]
<Danno> End of @Find.


In the example above, I'm not only given the trigger to use to access the file server "/ctcp Danno Dannos awesome stuff!" but the file location and name as well, [Directory\Filename.some-extension].

Keep in mind that "@find" is not always reliable as many file servers are not set up to respond to the trigger and will not PM you even if they have a file with one of your search terms in its name.


What is with the "Closing Idle connection in [time interval here]" messages? (top)
Most file servers owners have a limit to how many people can browse their files via DCC chat at one time. This means that if the limit is reached, no one else will be able to access their fserv. This is also why it is a good reason to close\exit a DCC chat session when you have finished using it. Also, keep in mind that some file servers owners may even ban you from their fserv if you idle on it too long and never disconnect the DCC chat connection. To help keep their file server open, many fserve runners will set a time limit as to how long you can idle (not type any commands) on their file server before the DCC chat connection is closed (you are disconnected fro the file server).

For example, if I was connected to Danno's file server and received a message like:

<Danno> Closing Idle connection in 30 seconds

And did not use any commands for 30 seconds I would be disconnected and see something like:

DCC CHAT to Danno lost. Remote host closed socket.



XDCC Bot Guide (top)

How do I download off of XDCC bots? (top)
XDCC bots work using PMs (private messages) sent to the the bot with a request for a particular pack number. The syntax is usually something like:

"/msg [bot-name] xdcc send pack-number"

To request that the bot send you a pack, or:

"/msg [bot-name] xdcc info pack-number"

To request info from the bot about a particular pack

The pack number representing a file you would want to download from the bot. To find out what files a bot is carrying and what there pack numbers are, you have to obtain their packlists. Sometimes the packlist is stored on the bot itself as a text file (.txt), other times it may be on a website, sometimes both, it depends on the bot.


Where do I find a bot's packlist? (top)
XDCC bot packlists can usually be retrieved in one of four ways described below:
1. From the XDCC bot in the form of a PM
2. From a website about the XDCC bot
3. From the XDCC bot itself in the form of a text file
4. Timed message displayed in the main channel


1. From the XDCC bot in the form of a PM
In file distribution channels where typing !list is acceptable, the bots may reply to it with an ad displaying a trigger
Example, after typing !list, I might receive a PM like:

-[CAT]Food- (XDCC) Packs:(12) Trigger:(/msg [CAT]Food xdcc list) Sends:(1/1) Queues:(33/100) Record:(76.3KB/s) Note:(Brought To You By ScienceDiet) =iroffer=

After Typing the trigger (/msg [CAT]Food xdcc list) the bot would simply PM me its' XDCC list

2. From a website
In a distro channel's topic a website with the XDCC list somewhere on it will usually be listed (usually in the forums) or when typing the bots trigger from it's XDCC ad, /msg [CAT]Food xdcc list, you would receive a reply back like:

-[CAT]Food- XDCC LIST Denied. For a Listing visit: "http://tasty.food.land/CatFood.html"

Where "http://tasty.food.land/CatFood.html" would be the location of the packlist.

3. From the XDCC bot itself in the form of a text file
Again, after typing !list in the channel window, and getting the XDCC bot's trigger (/msg [CAT]Food xdcc list, for example) and typing it in the network window, you would get a response back like:

-[CAT]Food- XDCC LIST Denied. For a Listing type: "/msg [CAT]Food !blist"

or

-[CAT]Food- XDCC LIST Denied. For a Listinng type: "/msg [CAT]Food xdcc send #1"


Upon typing the trigger the bot messages you in reply, you would be sent a text file containing the packlist for the bot.

4. Timed message displayed in the main channel
The lastl but most popular method for displaying a bot's trigger to get it's packlist, or displaying the whole list itself is timed messages displayed in the channel window every 10, 15, or 20 (or whatever) minute time interval. All you to do is just idle in the channel, and the bot will display it's ad (or whole packlist in some cases) as a text message.


All right, I can see the packlist, now what? (top)
The packlist itself should have all the information necessary for downloading from the XDCC bot contained in the first few lines.

For Example, below is part of the [CAT]Food's packlist:

** #Cats-R-Us ~ For XDCC packlisting Type /msg [CAT]Food xdcc send #1 **
** 457 packs ** 0 of 13 slots open, Queue: 75/999, Record: 1792.7KB/s **
** Bandwidth Usage ** Current: 1276.4KB/s, Cap: 1500.0KB/s, Record: 3244.1KB/s **
** To request a file, type "/msg [CAT]Food xdcc send #x" **
** To request details, type "/msg [CAT]Food xdcc info #x" **
#1 97x [ 42K] [CAT]_Releases.txt
#2 22x [233M] [CAT]_Making_tasty_fish_video.avi
#3 14x [233M] [CAT]_Meow_Mix_advertisement.avi
#4 29x [2.3M] [CAT]_Tasty_Trests.jpeg


Packet number 2, for example:

#2 22x [233M] [CAT]_Making_tasty_fish_video.avi

Starts from the left side with the packet number (#2), followed by the number of times the pack has been sent so far (22x), followed by the file size ([233M]), and finally the file name for the pack ([CAT]_Making_tasty_fish_video.avi ).

If I wanted to download "[CAT]_Making_tasty_fish_video.avi", I would send request via private message to [CAT]Food for pack #2:

/msg [CAT]Food xdcc send #2

If the request successfully went through, it would send a private message back to me:

-[CAT]Food- ** All Slots Full, Added you tto the main queue for pack 2 ("[CAT]_Making_tasty_fish_video.avi") in position 118. To Remove yourself at a later time type "/msg [CAT]Food xdcc remove".

In this case, all of the thirteen send slots (457 packs ** 0 of 13 slots open) are full, and there are 117 people with pack requests in front of me. What that means is that I'll have to wait for 104 (117 in queue minus 13 send slots) packs to finish sending before the bot will send me the pack I requested.


How do I find out what my "slot" number is and how long do I have to wait before the bot sends me the file? (top)
Unfortunately, there isn't a way to manually access an XDCC bots to find out your position in the queue, however most XDCC bots will PM you your position after a certain amount of time automatically, depending on the bot's set-up.

For example, [CAT]Food has a time interval of 10 minutes, so after waiting in queue for 10 minutes the bot sends me a private message letting me know what my current position is:

-[CAT]Food- Queued 0h3m for "[CAT]_Making__tasty_fish_video.avi", in position 118 of 119. 5h44m or more remaining.

Keep in mind the time remaining is only a ROUGH ESTIMATE, there is no guarantee the bot will start sending the file in 5 hours and 44 minutes, it depends the connection speed of the people in front of me.


Why is the file I requested not the one being sent to me?
(top)
Occasionally, older files may be removed from a bot to make room for newer ones to be added and the bot's packlist is updated. When requesting a file off of a bot, make sure you are using an updated packlist. Also, delete any older copies of packlists you may have in your download folder before requesting a new one, sometimes newer packlists will not send properly if an older copy is in your download directory.



Other Questions (top)

Where do the files download to? (top)
By default, mIRC sends new incoming files to the:
"C:\Program Files\mIRC\download" directory.


What is the number letters string (CRC) at the end of the filename for? (top)
The random, 8 character, number letter string at the end of some filenames is their CRC32 value. It is used to ensure that the file was transfered from one person to another without being corrupted in the process.

For example, the file:
[CAT]_Making_tasty_fish_video_[CA732D8B].avi

Is suppose to have a CRC32 hash of "CA732D8B". To ensure the copy I downloaded hadn't been corrupted in the process, I would run a hash check on the file and make sure its CRC32 value matches the one found in the file name. Some good hash checkers you could use are:
RapidCRC (Windows)
HashTab (Windows)
CheckSum (Mac OS X)



Other People's Leeching Guides (top)

This leeching guide is far from all inclusive. If you still can't figure IRC leeching out from reading this guide, or are looking for more information, one of the links below may be of use.



ToDo....
o Have commands your suppose to enter in a different color like green
o Clean up the XDCC packlist section
o How-To for setting up a client to receive files
o Example for a "number list type" fserve
o "Why is the fserve timed?" info
o Add more about retrieving XDCC packlists (sending the 001 text file, list via PM, etc)
o Add more info about the other commands (queues, help, etc.)?
o Add clause about the removing "" & [ ] before typing commands, triggers, etc
o Add something about @find?
o Add clause about not repeatedly hammering triggers
o Add something about !list [nickname] rather then list
o Add something about why use the server window and not the # window (trigger spam)
o Add clause about how not all #'s like !list and XDCC...
o Add more info about what a PM is
o Add something about the tricksy "dccserver on port ?" fserve's
o Add something about the v+ only fservs
o Picture examples?
o Have a "!help" trigger or timed notice in the main channel that has a link to this post?I leave this upto the channel...
o Add more purdy colors?



Originally Posted in forums: Mar 3 2007, 3:22 PM
Copied to website: Mar 25 2007, 3:22 PM
Last edited: Oct 30 2007, 10:06 PM