Go to file
Stefano Scafiti d4a9db23f9 Add Makefile 2023-04-17 15:01:59 +02:00
cmd Add Makefile 2023-04-17 15:01:59 +02:00
pb Module refactoring (#2) 2022-10-22 14:22:20 +02:00
search Module refactoring (#2) 2022-10-22 14:22:20 +02:00
table Module refactoring (#2) 2022-10-22 14:22:20 +02:00
util Module refactoring (#2) 2022-10-22 14:22:20 +02:00
xdcc Implement connection retry by downscaling ssl options 2023-04-17 13:34:34 +02:00
LICENSE Create LICENSE 2021-11-26 17:46:54 +01:00
Makefile Add Makefile 2023-04-17 15:01:59 +02:00
README.md Add Makefile 2023-04-17 15:01:59 +02:00
go.mod Remove unused dependencies 2022-03-16 15:16:59 +01:00
go.sum Remove unused dependencies 2022-03-16 15:16:59 +01:00

README.md

XDCC Command Line Tools

This project provides a simple command line tool which allow you to perform search and retrieval of files on the IRC network through the XDCC protocol. It is based on the popular goirc library.

Features

  • File search from multiple search engines.
  • It allows to download multiple files at the same time.

Installation

Assuming you have the latest version of Go installed on your system, you can use the make command to build an executable:

git clone https://github.com/ostafen/xdcc-cli.git
cd xdcc-cli
make # this will ouput a bin/xdcc executable

Usage

To initialize a file search, simply pass a list of keywords to the search subcommand like so:

foo@bar:~$ xdcc-cli search keyword1 keyword2 ...

For example, to search for the latest iso of ubuntu, you could simply write:

foo@bar:~$ xdcc-cli search ubuntu iso

If the command succedeeds, a table, similar to the following, will be displayed:

File Name File Size URL
ubuntu-20.04-desktop-amd64.iso 2.50GB ...
... ... ...

A part from file details, each row will contain an url of the form irc://network/channel/bot/slot, which identifies the file on the IRC network. To download one or more file, simply pass a list of url to the get subcommand like so:

foo@bar:~$ xdcc-cli get url1 url2 ... [-o /path/to/an/output/directory]

Alternatively, you could also specify a .txt input file, containing a list of urls (one for each line), using the -i switch.

Notes

This software has been written as a development exercise and comes with no warranty. Use it at your own risk. Moreover, the developer is not responsible for any illecit use of it.