В ходе постепенного переселения из Windows в Linux передо мной возникла проблема выбора хорошей качалки файлов. После некоторых поисков, тестирований и исследований я выбрал три продукта, о которых и хочу вам рассказать.
Wget
Скачать эту штуку можно с http://wget.sunsite.dk; Windows-версия лежит на http://www.interlog.com/~tcharron/wgetwin.html. Про Wget много распространяться не буду он слишком известен. Правда, многие начинающие линуксоиды до сих пор не врубаются, как им пользоваться, но это уже задача, решаемая чтением документации. А то, понимаешь, привыкли все на кнопки нажимать :-). Но Wget-то консольный, надо знать параметры его командной строки. Лично мне качать файлы Wget'ом не очень удобно. Дело вкуса. Зато я качаю с его помощью целые сайты, когда нужно отобразить всю иерархию web-страниц на своем винте. Например, так удобно какие-нибудь литературные ресурсы вытягивать сайт Лавкрафта и тому подобное. Wget делает это быстро и гибко например, можно задать, чтобы он качал только html-файлы, без картинок. Для всего этого у Wget есть такая штука как рекурсивное скачивание. Включается оно опцией -r, вот так:
Например:
А допустим, мы хотим скачать только картинки с расширением .jpg и .png. Тогда формат командной строки будет таков:
Опция -A расшифровывается как Accept, то бишь «принимать». А как скачать все HTML-файлы? Смотрите:
А вот как можно дать запрет на скачивание файлов определенного типа, в нашем случае zip-архивов:
R значит Reject, то бишь отвергать, отказывать.
Глубину рекурсии можно регулировать параметром l<число>, где число может быть от 1 до 5. Например, скачаем все JPEG'и только из каталога первого уровня, корневого, без захода во вложенные в него директории:
Вот на какие чудеса способен неказистый с виду Wget, не считая того, что он замечательно умеет скачивать файлы (с возможностью восстановления прерванного сеанса) и умудряется вытягивать их даже при самом дохлом траффике.
Но обратим наш взор на другие файловые качалки, уже с графическим интерфейсом.
ProZilla и ProZillaGUI
Адрес продукта http://prozilla.genesys.ro. Еще один брэнд. Сама по себе ProZilla консольная, с интерфейсом на основе NCurses, а вот ProZillaGUI это FLTK-фронтэнд для нее. Рекомендую использовать последний. Разумеется, сначала надо установить саму ProZillа. С ее сборкой из исходников проблем возникнуть не должно, так что тут и говорить нечего. Может быть, вы обнаружите ее уже в бинарном виде, в своем дистрибутиве Линукса, но в моем Manrdake 9.1 ее не оказалось. Зато Wget есть в каждом :-).
ProZilla запускается лаконичной командой proz, а ProZillaGUI prozgui. Здесь и далее, говоря о ProZilla, я буду подразумевать управление ей из-под ProZillaGUI наиболее удобное для любителей интерфейса сочетание.
ProZilla, в отличие от Wget, скачивает каждый файл не единым потоком байтов, а разбивает его на параллельные потоки, как это делает, например, виндовый Download Accelerator Plus (DAP) (http://www.speedbit.com). Надо сказать, для вытягивания больших файлов такой метод обеспечивает более высокую скорость, нежели обычный. Проверено в полевых условиях :-). Отличие здесь в том, что DAP сохраняет потоки во множестве временных файлов, а потом собирает их в один, после чего стирает временные. А ProZilla сразу пишет потоки в один файл.
Еще радикальнее ускорить этот процесс можно, не ограничивая для ProZilla ширину пропускного канала. С одной стороны, ограничения позволяют во время скачивания делать и другие полезные вещи бродить по Сети, например. Ведь если ProZilla подберет под себя весь канал, то браузер будет заметно тормозить, если вообще куда-нибудь вас приведет.
Разумеется, ProZilla поддерживает докачку и в целом по функциональности подобен DAP'у, только без рекламного движка :-). Впечтатление от ProZilla очень благоприятное. Быстрый, надежный, ничего лишнего, компактный, маленький.
Правда, для работы с ProZillaGUI вам придется еще скачать и установить библиотеку FLTK, которая служит для реализации графического интерфейса. Свежие версии FLTK доступны на том же сайте ProZilla, в разделе Downloads. Сами же продукты советую качать в исходниках, хоть там и лежат бинарные релизы под Mandrake, RedHat и Debian. Лично я ставил себе из исходника у меня Mandrake 9.1. Все пошло на ура, а из Сети я выкачал дополнительно только вот эту FLTK. Кстати, в будущем разработчики планируют переделать интерфейс уже под Qt (как в KDE).
Что до консольного режима, то у ProZilla он более чем удобен и на редкость функционален. Чтобы скачать файл, достаточно дать команду:
Вот некоторые любопытные параметры командной строки ProZilla:
-1 качать файл только одним потоком. Вдруг пригодится?
-r возобновить скачивание файла. Разумеется, в качестве другого параметра вы должны указать URL того файла, скачивание которого было приостановлено.
-k=число сколько потоков использовать для одного сеанса скачивания. По умолчанию 4.
Пожалуй, хватит. Короче говоря, если вы хотите иметь превосходную качалку, то приложите немного усилий по ее скачиванию и компиляции и получите то, что вам нужно.
Ну а любителям готовой халявы самое время открыть глаза на KGet. Пристойная качалка, идет в составе KDE. Язык не поворачивается назвать KGet просто довеском к браузеру Konqueror. Нет, KGet не довесок, а отдельная и очень продвинутая программа, однако с тесной Konqueror-ориентированной интеграцией :-). Кроме того, KGet полностью локализирован на русский. Как с украинским, не знаю, еще не опробовал. Думаю, должно быть и это.
Несколько настораживает то, что последний KGet вышел в 2002 году, а сайт его, kget.sourceforge.net, напоминает джунгли после сброса напалма сплошное запустение голый текст, ни картинок, ни ссылок, только мыло разработчика. Но факт, что KGet продолжают включать в современные дистрибутивы Linux. А значит, продукт живет.
А живет он не просто так, а в трее KDE, где так любят посиживать на завалинке и другие программы, вроде KNotes. Функции, предоставляемый KGet'ом, вполне стандартны. Продукт немного напоминает FileHound (http://www.allabout.com/afs/software/filehound). Каков метод скачивания у KGet'а, одно- или многопоточный, я не знаю. Похоже, что первый. Но файлы скачиваются быстро, хотя KGet при этом имеет дурную привычку забивать под свою работу весь траффик.
Передавать в Kget ссылки для скачивания очень удобно просто нажимаете в нем на кнопку вставки, или жмете клавиши Ctrl+V файл тут же начинает качаться. Хочу обратить ваше внимание еще на одну интересную функцию. KGet умеет раскидывать скачиваемые файлы в разные директории. Допустим, zip'ы в одну, exe в другую. Все это задается в окне настроек.
Есть также возможность импортировать список закачек (обычный текстовый файл со ссылками), и напротив, составить такой список и экспортировать его. Тот же wget с удовольствием его прочитает, если вы запустите его следующим образом:
В целом KGet зарекомендовал себя как удобный и стабильный продукт, который подойдет абсолютно всем категориям пользователей, от чайников до продвинутых. Единственный нюанс лучше не включать опцию Параметры > Режим автовставки. Вообще, это сделано затем, чтобы, как только в буфере обмена появилась ссылка, файл по этой ссылке начинал скачиваться. Но практика показывает, что не всегда нужно сразу скачивать файл, проще занести его в какой-нибудь список и скачать потом, а KGet при таком включенном режиме будет вносить некоторую сумятицу в работу.
И еще можно попасть впросак, если вы не обнаружите скачанные файлы в тех директориях, которые задали в настройках. Значит, файлы следует искать там, куда вы качали последний файл, перед тем как ненароком включили Параметры > Режим использования последнего каталога. Я долго не мог понять, почему файлы сохраняются «мимо кассы» :-).
Но это, как вы понимаете, не глюки, а особенности. Одним они нужны, другим нет. В любом случае, вылетов продукта и вообще неадекватного поведения я не наблюдал. Всем трем описанным сегодня качалкам можно присудить знак качества, и на этой оптимистичной ноте позвольте статью завершить.