DCC stands for Direct Client to Client, and is a method of transferring files
and setting up an uninterruptible chat connection between you and someone else.
DCC is subject to some limitations and complications due to the common use of
firewalls, routers and wireless access points like AirPort.
Once the DCC connection is established it is independent of IRC, but the initial
messages to establish the connection are sent via normal IRC messages.
Normally, when you browse the web or send email everything works pretty much
transparently even if you use a firewall, router or wireless access. That's
because everyone agrees on the addresses and ports used by these services, and
because you act as a client to the web server or the email server. However,
DCC lies outside these areas and it's unfortunately up to you to configure your
connection to make it work. There are two sides to DCC; you either act as a
client and make outgoing connections, or as a server where your make your machine
wait for incoming connections.
Being a client usually works without problems. That's when you receive a file
that someone sends to you or accept a DCC chat request from someone else.
Being a server requires some configuration in almost all cases except the most
simple. That's when you want to send a file or initiate a DCC chat connection.
If your connection is simple dialup to the internet it's most likely to just
However, if you have a high speed connection you have a little box called a
DSL modem or router that sits between your computer and the phone line. This
box is almost always set up to block incoming connections and to allocate your
computer a private internet address (an IP address). A private internet address
is not reachable from the outside. This is called NAT or Network Address Translation.
An AirPort or other wireless connection does the same thing. In this case the
router or AirPort base station uses the public IP address.
When you try to send a file, you are taking the role of a server and your IRC
program will tell the other side which internet address and port he should attempt
to connect to. The DCC preference panel allows you to set Snak up to use the
correct public internet address and port range.
If you think this could get complicated, you are right. You might ask "Why
doesn't DCC send just work, just like everything else ? "
The answer is that DCC send is not like everything else. A DCC send makes the
program act like a server, not a client. There is no way the IRC program can
know the details of your particular internet setup or configure your firewall
to accept incoming connections
DCC list inside the profile list
You can monitor your ongoing DCC Connections in the profile list which can
be opened with either Cmd-D or Cmd-K. If you use Cmd-D it will preselect the
DCC item at the top and give you access to the DCC buttons. The list contains
each DCC connection, and provides details of the progress of the transfers.
When you have a DCC item selected the profile list will have buttons to accept
or close a particular incoming DCC connection.
Accepting incoming offers
When someone attempts to open a DCC connection to you, either for chat or filetransfer, Snak will display the offer under the DCC item in the profile list so that you can either accept or reject it.
In addition to choosing the DCC offers under the DCC item in the profile list and pressing Get or
Chat you can also type "/DCC Get" with an optional nickname. If you
do not specify a nickname, the program will accept the first of the currently
waiting DCC offers.
You can use an Action to automatically accept incoming
To automatically accept certain offers, open the Actions list and make a new Action. Select "On DCC filetransfer offer" or "On DCC chat offer" as the event.
response will be preset to "Accept DCC filetransfer" or "Accept DCC chat".
To autoaccept DCC chat or files from a particular nick, fill out the nick field under the event popup.
To autoaccept files of a particular name or extension, fill out the filename field. The field supports wildcards, so use "*.MP3" to autoaccept all files with the MP3 extension.
If you choose the "Accept DCC filetransfer" response you can select
the save location for the transfer. By default the location will be the desktop.
You can provide another save location in each DCC accept Action so that you
may chose to save MP3 files in one location, pictures in another, everything else in the default location etc.
If there is a filename conflict between an existing file and an automatically
received file, the new file will be renamed.