Искал я как-то одну штуку в торрентах, искал, да так и не нашёл. :( Но обнаружил, что есть искомое на одном 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 не так уж и страшен, а я теперь знаю ещё один механизм передачи файлов.