Шпаргалка по xdcc
Искал я как-то одну штуку в торрентах, искал, да так и не нашёл. :( Но обнаружил, что есть искомое на одном irc-канале, раздаваемое ботом. С irc раньше дела иметь не приходилось (необходимости не возникало), но тут уж решил пройти этот квест – уж очень хотелось файликов заветных, которые так долго искал.
Итак, в качестве клиента был взят найденный в пакетах и бывший на слуху irssi. Пакет был вмиг поставлен; процедура запуска и соединения с сервером проста:
irssi -c irc.rizon.net
После запуска клиента и установки соединения можно ознакомиться со списком команд клиента, набрав в строке ввода /help
. Так была выяснена команда для задания ника: /nick nickname
, а также нужная команда для соединения с каналом: /join #channelname
. Итак, я оказался на заветном канале (hint: в irssi различные окна переключаются по Alt-N, где N – соответствующая цифра; после соединения с каналом надо переключиться в его окно).
Передача файлов в irc реализована с использованием расширения xdcc, при этом устанавливаются прямые соединения между двумя клиентами, по аналогии с p2p сетями. Поддержка xdcc в irssi имеется.
Запрос нужного файла у бота выполняется следующей командой:
/msg BotName xdcc get NUM
Где NUM – это номер файла. В моём случае список файлов с указанием соответствующих им номеров был опубликован на форуме, поэтому мне оставалось только указывать правильные номера. После подачи вышеуказанной команды, в irssi откроется новое окно диалога с этим ботом (переключаемся на него по Alt-NUM), где надо согласиться с приёмом файла, введя команду /dcc get
. Если всё в порядке, закачивание файла должно начаться (по умолчанию – в домашний каталог). Проследить за статусом скачивания можно используя команду /dcc
list
на первом экране (Alt-1).
Так я скачал первый файл. И мне предстояло скачать ещё пару десятков, что показалось не самым приятным занятием, с учётом не очень быстрого канала и необходимости ввода всех команд вручную в нужное время.
Первый же запрос в google привёл к успеху: был найден скрипт multiget, предназначенный для автоматизации скачивания файлов через xdcc.
Скрипт нужно сохранить в каталог ~/.irssi/scripts
, после чего загрузить его в irssi: /script load mg.pl
. Для более правильной работы скрипта установим также соответствующие переменные:
/set dcc_download_path ~/downloads
/set dcc_autoget on
/set dcc_autoresume on
За что отвечают эти параметры понятно из их имён. Сейчас всё полностью готово для автоматизированного закачивания всех нужных мне файлов, осталось только дать соответствующую команду:
/mg BotName 309-332
Указанные в команде числа – диапазон тех файлов, которые мне были необходимы. После запуска этой команды на выполнение, осталось только ждать окончания закачивания файлов, периодически мониторя на первом экране прогресс: по окончании закачивания каждого файла выводится статистика о затраченном времени, средней скорости и т.п.
Итог: оказывается, irc не так уж и страшен, а я теперь знаю ещё один механизм передачи файлов.