XDCC (Xabi DCC o eXtended DCC) era inizialmente uno script scritto nel 1994 per il client ircII da Xabi. Questo script incrementava le funzionalità del sistema DCC su ircII.
XDCC è un'estensione del protocollo DCC che permette l'invio e il download di file tramite le reti IRC.
Ora XDCC si riferisce generalmente a bot IRC su cui girano programmi per il file sharing. I bot XDCC mettono a disposizione uno o più file per il download usando il protocollo DCC. XDCC è impiegato per la distribuzione veloce all'interno di un gruppo ridotto di utenti, sebbene in ciò non vi è nulla di illegale, come tutti i mezzi di comunicazione è talvolta usato per la distribuzione di materiale protetto da diritto di autore o illegale per altri motivi.
XDCC sta rapidamente guadagnando popolarità rispetto ai vecchi metodi di trasferimento dati come i newsgroup e fserve. Rispetto ai trasferimenti peer-to-peer, i server XDCC sono spesso ospitati su connessioni con un'elevata banda di upstream, talvolta superiore anche ai 100 Mbit. Spesso su alcuni server FTP girano anche server XDCC per facilitare l'uploading di file su di essi. Altri invece girano su computer su cui si è ottenuto un accesso illegale tramite exploit.
Per usare XDCC, bisogna inviare un messaggio privato (query, in inglese) od inviare un comando CTCP ad un bot IRC, usando un client IRC. L'utente può chiedere al bot quali file abbia inviando come messaggio privato "xdcc list" al bot. Comunque, questa caratteristica è spesso disabilitata per non sovraccaricare il bot (sovente la lista è composta da decine se non centinaia di file). Quando un utente desidera scaricare un file (detto pacchetto) da un bot, basta scrivere "xdcc send #<numero pacchetto>" in privato al bot. Il bot si occuperà di soddisfare la sua richiesta ed inizierà ad inviare il file all'utente o a metterlo in coda, facendogli aspettare il suo turno.
Alcune volte questi comandi devono essere preceduti da /ctcp <nomebot> al posto di /msg <nomebot>, in quanto alcuni server disabilitano il comando /msg
/msg <nomebot> xdcc send #<numero pacchetto>
- Richiede un pacchetto specifico al bot (tramite il suo numero)./msg <nomebot> xdcc list
- Richiede la lista dei pacchi disponibili sul bot. Talvolta questo comando è disabilitato./msg <nomebot> xdcc remove
- Rimuove tutti i file accodati in attesa di essere spediti. (Solo tramite comando msg.)/msg <nomebot> xdcc remove #<numero pacchetto in coda>
- Rimuove un pacchetto in coda ad una specifica posizione. (Solo tramite comando msg.)/msg <nomebot> xdcc info #<numero pacchetto>
- Richiede informazioni (Nome, dimensione, Hash MD5, ...) di un determinato pacchetto.