LINUX.ORG.RU

Downloader for X - лучшая качалка под Линукс!?!


0

0

Вот и я запостил скриншот любимой программы - качалки под Линукс. На мой взгляд это самая быстрая качалка под Линукс рекомендую её всем. На скриншоте вы видите Kde 3.0.3/ Mandrake Linux 9.0, Aqua, Crystal and etc...

>>> Просмотр (1280x1024, 214 Kb)

Согласен: хорошая качалка. А какая верия на скриншоте, и много-ли в ней замечено глюков?

asaw ★★★★★
()

странно, но почему-то ядо сих пор wget юзаю, интересно, почему??? :-)

yumi ★★
()

Качалка классная, только проц ОЧЕНЬ сильно грузит, за буфером обмена херово следит (версия для гтк2) и иногда вылетает при открытом окне планировщика. А так все классно :)

P.S. wget конечно хорошая вещь, но эта намного удобнее :)

vs240
()

не знаю глюк не глюк но некоторое поведение шедулера мне не нравится. скажем, стоит у нее автоматический выход в 9 утра (ну дармовой инет на модеме кончается), это работает; но если закрыть ее саму штатно раньше этого времени, а потом открыть позже 9 (днем н-р), то она зачем-то выполняет действия, зашедуленные на 9 (то есть бессловесно дохнет). просто атас. кроме того, если пускать ремотно, то X-овый трафик она генерит просто немеряный, даже по сравнению с обычной прожорливостью X-протокола...ну и до кучи навигатор на сайте домашней уродлив и с десятого клика можно попасть в нужный раздел :)

че хорошего по сравнению с wget - позволяет ограничивать скорость скачивания. только за это и пользуем :)

зы. речь идет про версию 2.03

anonymous
()

По сравнению с wget она, к тому же, поддерживает многопоточную закачку, иногда это очень полезно

anonymous
()

2anonymous (*) (2003-01-15 13:19:23.983)

Делаем man wget и читаем про опцию --limit-rate.

slyder
()

2 slyder
А один и тот же файл да с разных серваков?

MakcuM
()

2MakcuM

>А один и тот же файл да с разных серваков? - Нет

2Cailean

>А threaded download оно умеет? - Нет

slyder
()

какая же это тогда лучшая качалка? :)

Cailean
()

2MakcuM
2Cailean
а оно тебе часто надо?
(
А threaded download оно умеет?
А один и тот же файл да с разных серваков?
)
В добавок, как было сказано: не грузит проц, не создает лишний траф (если удаленно), и самое главное - НЕ ТРЕБУЕТ Х11!!!
P.S. это про wget (для сурков)

anonymous
()

2slyder:

$> man wget|grep limit-rate
$>

это у меня wget 1.8.1 из rh7.3... не такой старый как видишь..
в какой версии это есть?

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за разъяснения про wget. А про threaded download - оно мне всегда нужно!

Cailean
()

>> а оно тебе часто надо? (c разных серваков)

Если честно, то не часто.
*НО*
Есть в d4x такая фишка как поиск файла на ftp-серверах (через стандартные поисковики).
И мне в 10 раз удобнее найти мирроры этого файла да тянуть с разных мест :)
И ограничитель скорости -- без него вообще плохо :(

P.S. wget у меня основная качалка.
Но, извини, когда я тяну какой-нить исошник, порезанный на файлы по 15 мег, с сервака под паролем...
Да надо рекурсивно пару каталогов скачать...
Да не вставить весь канал.... :)))
Вот тут-то d4x решает.

MakcuM
()

wget -V GNU Wget 1.8.2 --limit-rate=amount Limit the download speed to amount bytes per second.

anonymous
()


2anonymous (*) (2003-01-15 16:58:50.686)
wget 1.8.2 из slackware-current имеет опцию --limit-rate.
Скорость держит очень точно.

2MakcuM (*) (2003-01-15 18:30:25.035)
wget тоже может выкачивать рекурсивно.

Я долго сам пользовался этой игрушкой (d4x) пока дома не появилась сеть и выделенный сервер. И все, игрушку сразу
выкинул. Не приспособлена она ни под что, кроме одинокостоящего
десктопа ;)

anonymous
()

А wget умеет php сайты рекурсивно обрабатывать?

anonymous
()

Ещё как умеет ещё и линки в локальные сконвертирует и расширение html подставит чтоб разглядывать удобнее было

ezhikov
()

Пояснения: что такое threaded-download? один файл с разных серваков умеет, как в один поток так и в несколько. Тыкаем правой кнопкой на ссылке в очереди, выбираем "Альтернативы". В следущей версии rc3 или final проца жрать будет гораздо меньше, и иксовый трафик генерить будет меньше, это происходит изза слишком частого обновления информации в очереди (десять раз в секунду).

chuchelo
()

а вот за about ябы коечто оторвал койкому...

chuchelo
()
Ответ на: комментарий от chuchelo


> один файл с разных серваков умеет,

Я еще понимаю, когда юзерам вешают лапшу про скорость
скачивания коммерческие фирмы, которые заинтересованы в продаже
своих горе-продуктов. Но в мире открытых исходников так поступать глупо.
Давай спокойно разберемся, какой выигрыш от этого получает пользователь.

1) на модеме
Выигрыш - ноль. Потери в скорости закачки - да.
wget сработает быстрее.

2) на скоростной выделенной линии.
Выигрыш сомнителен. Зависит от ftp-серваков.
a) все серваки быстрые и не ограничивают скорость.
Вигрыш - ноль. Возможны потери в скорости закачки.
wget сработает быстрее.
б) Один сервак ограничивает скорость до 4кб/с, второй быстрый.
Тут фифти-фифти. Если мы сразу качнем wget'ом с быстрого сервака, то wget опять в выигрыше. Даунлоадер только потеряет
время на более медленном серваке.
в) Оба сервака ограничивают скорость до 4кб/с.
Вот только здесь (!) мы выиграем на d4x. Причем разница в
сравнении с модемом будет более чем скромная...

Вывод: много шуму и красивых словей (а ля threaded-download) из ничего...

anonymous
()

"wget сработает быстрее" не быстрее, а также, потомучто d4x умеет и в один поток качать. А во вторых есть такая байда, как временные затыки, вот как раз закачка в несколько потоков позволяет минимизировать эти временные затыки.

У d4x есть еще много преимуществ, которые не все знают, к примеру при рекрусивной закачке он старется не открывать новых соединений, а использовать старые. Уж не говорите мне что это тоже "нафиг не нужная функция".

chuchelo
()


А вот как wget'ом можно сэмулировать энтот threaded-download:

К примеру нужно вытянуть 600-меговый file.iso, который лежит на
двух серваках - serve-1 и server-2. Делаем два каталога: d1 и d2.
cd d1
wget ftp://server-1/file.iso &
cd ../d2
dd if=/dev/zero of=file.iso bs=1k count=$((300*1024))
wget -c ftp://server-2/file.iso

киляем первый wget, когда размер файла превысит 300Мб.
mv d1/file.iso d1/file.tmp; dd if=file.tmp off=file.iso bs=1k count=((300*1024))

Дожидаемся завершения второго wget'a и вычленяем вторую половину файла. И наконец объединяем две половины.

Типа много ручной работы, но ведь можно один раз написать
скриптец с параметрами ;)

anonymous
()
Ответ на: комментарий от chuchelo


> не быстрее, а также, потомучто d4x умеет и в один поток качать.

Один поток с двух серверов? Я что-то не понял. Ну ладно.
А ты забыл про управляющее соединение, которое тоже создает трафик. В случае с двумя серверами их в два раза больше.
Даже если пассивное соединение, то не забывай, что ACK'и
и запросы на ретрансмит увеличиваются в два раза. Плюс на
медленном линке (модеме) при достижении предела пропуска канала
начинается просто кошмар с ретрансмитами пакетов. Ситуация
примерно как в часы пик на автомагистрали. Два коннекта будут
нееизбежно мешать друг другу и забивать друг друга.

> У d4x есть еще много преимуществ, которые не все знают

Как многолетний пользователь всего, что качает, скажу от себя,
что единственная полезная фича в d4x - это список закачек,
которые иногда интересно просмотреть. Кстати этот список неустойчив к сбою ситстемы. Пару раз он у меня попортился
при отключении света. Видимо как раз запись происходила.

anonymous
()

Чем больше файл - тем меньше количество управляющих данных. Тебя же никто не заставляет файло размером два килобайта качать однвоременно в десять потоков с десяти разных серверов. Ты бы посидел на очень загруженных каналах, покачал, тогда бы понял зачем нужна закачка в несколько потоков одновременно.

А закачка в один поток с нескольких серверов это просто: дисконект с одинм сервером - пробуем другой. При автоматическом вычислении адресов-альтернатив они еще и сортируются по скорости доступа к ним.

Как многолетний писатель всего что качает, скажу, что нафиг бы никто не релизовывал ненужные функции в качалках...

И как вы представляете реализацию сохранения списка во время выключения компьютера?

chuchelo
()
Ответ на: комментарий от chuchelo


> Чем больше файл - тем меньше количество управляющих данных.

Не согласен, но обсуждать не буду. Факт в том, что
дополнительный трафик присутствует.

> Ты бы посидел на очень загруженных каналах

Загруженые со стороны сервера или со стороны клиента?
В любом случае, я знаю положение дел с обоих сторон ;)
Я сам администрирую ftp-сервер и часто офигиваю, когда вижу
в логах сервера такую картинку: ломится на сервак качатель с явно модемного соединения (типа dial-123.best-provider.ru) и
пытается открыть с десяток (!) соединений. Скорость у меня ограничена в 100Кб/с, а вот количество одновременных коннектов
с одного IP разрешено только 4. И значит происходит следующее.
После открытия 4-х коннектов сервер дает дайлапщику отлуп.
Его reget/дискокачалка/best-downloader продолжает ломиться с
требованием новых коннектов каждые 2-3 секунды. Ну это даже не смешно...

> дисконект с одинм сервером - пробуем другой.

Это все называется карманный биллиярд в простонародье ;)
На этой процедуре скорее потеряешь время, чем выиграешь.
Вот еще из жизни: дайлапер делает поиск файла и дает задачу
своему даундлоадеру найти самый быстрый сайт из списка...
Уже смешно ;) Чего делает даунлоадер? Измеряет время ответа
на пинг с каждого сайта! Это при том, что эта величина ничего
не говорит о реальной скорости, а канал самого юзера едва
держит 2,5Кб/с. Ну умора.

> И как вы представляете реализацию сохранения списка во время выключения компьютера?

Ты не понял. Список после выключения был _покорежен_. Он должен был сохраняться атомической операцией, типа mv new old, и сразу делать fsync. То есть, если записать новую копию
не успели, то по крайней мере старая копия должна была быть в
полной сохранности!


anonymous
()

>Не согласен, но обсуждать не буду.
Ессесно не будешь, потомучто обсуждать нечего, чем больше файл тем меньше размер управляющих данных по отношению к файлу. И вообще посыл по управляющему соединению больше 100-200 байт редкость. В d4x кстати и это минимизировано. Итого три потока, 15ти мегабайтный файл, 600 байт на управляющее данные для всех потоков, итого отношение управляющих данных к данным файла....

> требованием новых коннектов каждые 2-3 секунды. Ну это даже не смешно...
Люди по разному с ума сходят. Если съесть много витаминов будет гипервитаминоз, а если норму - только польза.

>Чего делает даунлоадер? Измеряет время ответа
на пинг с каждого сайта!
Не зная броду... d4x измеряет время необходимое на соединение и скорость ответа сервера.

атомическая операция под обычным пользователем, смешно.

Вобщем еще раз говорю: ненужные функции никто реализовывать не будет.
P.S. Гром не грянет - мужик не перекрестится...

chuchelo
()

2chuchelo:
Спасибо за четкую программу!
У меня есть несколько пожеланий:
1) Неплохо было бы сделать возможность ограничения скорости
не только на весь трафик, но и отдельно по очередям-
предположим на "книги" поставить 1024кб/с а на "Main" все, что
останется.
2) Я не нашел, как можно поставить кол-во потоков дял закачки по умолчанию (чтоб не вручную каждый раз) и автоматический поиск альтернатив.
--
WBR C-Pro

C-Pro
()

А, и еще вспомнил- Я где-то видел у каждогй очереди отображение скорости- мелочь, а приятно. И еще можно сделать, чтобы лог мог быть не Detached а внутри окошка :)`

C-Pro
()

>1) Неплохо было бы сделать возможность ограничения скорости
>не только на весь трафик, но и отдельно по очередям-
>предположим на "книги" поставить 1024кб/с а на "Main" все, что
>останется.
хорошее предложение, добавляю в TODO


>2) Я не нашел, как можно поставить кол-во потоков дял закачки по
>умолчанию (чтоб не вручную каждый раз) и автоматический поиск
>альтернатив.
скачать весрию 2.4 :-)

chuchelo
()

>А, и еще вспомнил- Я где-то видел у каждогй очереди отображение
>скорости - мелочь, а приятно. И еще можно сделать, чтобы лог мог быть
>не Detached а внутри окошка :)`

все это в следующей после 2.4final, там будет переработан весь интерфейс в сторону юзабилити

chuchelo
()

тому ананимусу который не верит в многопоточность

Ну я ставлю 10 потоков на файлах больше 5мб. Проверенно скачивается быстрее раза в два. Пока 1 поток прочухивается другие в канал плотненько улаживаются. Описанная вами ситуация академична. В нее не входят теряющиеся пакеты, не входят хреновый диалапные линии, не входятизменения пропускной способности канала и загрузки системы. А 10 потоков ломятся так что хоть 1 да пролезет. бо каждый из этих 10 не таой крупный. И что самое интерестное вы не учитываете тот факт что ftp отдает данные все увеличивающимися кусками (или временем забыл уже точно) и наступает такой момент когда канал забит и происходит посылка сообщения об ошибке и сброс буфера пакетов и пересбор его и переатсылка. А в этот момент остальные 9 фурычат.

dem ★★
()

chuchelo прокомментируйте плиз насчет проблемы со шедулером

anonymous
()

наверное надо делать что-то типа установки "не исполнять просроченные команды". Шедулер на то и шедулер чтобы планировать какие-то действия, смысл их планировать если они не исполняются. Если программа падает, то это баг, умеете уронить программу, умейте мне багрепорт послать, я за это спасибо скажу.

chuchelo
()

2chuchelo
Спасибо за отличную программу!

А нельзя ли в ней еще сделать сохранение паролей для доступа к сайту, а то чуть ли не для каждой закачки приходится вручную набирать.

anonymous
()

настройки программы -> главное -> запоминать пароли

chuchelo
()

> наверное надо делать что-то типа установки "не исполнять просроченные команды". Шедулер на то и шедулер чтобы планировать какие-то действия, смысл их планировать если они не исполняются.

Я же объяснял - мне нужно выпадение качалки автоматом в 9 утра но не нужно ее выпадение при старте в любой другой момент времени только из-за того, что в конкретно данный день ей не довелось быть запущено в 9 утра по какой-то причине. На мой взгляд, более интуитивно понятно поведение обычного cron, который не ломится выполнять все просроченные команды после запуска.

> Если программа падает, то это баг, умеете уронить программу, умейте мне багрепорт послать, я за это спасибо скажу.

Ну это не баг, программа все-таки штатно завершается, но я причину искал дня два :) Я бы сказал, это enhancement request у меня такой:)

Кстати слабо плагинчик в мозиллу? :) ReGet умеет :)

anonymous
()

хорошо, это будет дефаултное поведение в 2.4final

плагинчик мучаю уже хз скока , игнорит мозилла мои поползновения

chuchelo
()
Ответ на: комментарий от chuchelo


> чем больше файл тем меньше размер управляющих данных

1) ACK-пакеты составляют 5-10 процентов трафика
2) При полной загрузке канала модема и при отсутствии QoS
количество ретрансмитов растет как снежный ком.
В итоге то, что при одном соединении качалось бы со скоростью
3.5Кб/с, при нескольких качается со скоростью 2-2.5Кб/с.
3) При попытке подключиться к нескольким серверам сразу
пропорционально возрастает трафик, использованный на
подключение. Далеко не всегда клиент может получить доступ
сразу. Возникает цикл коннект-server busy-ждемс. Все это
трафик, отбираемый от основного дела, ради которого все и было
затеяно - от скачки нужного файла...

> атомическая операция под обычным пользователем, смешно.

Ох-ох. Вот с такими знаниями люди пишут программы для интернета...

anonymous
()

1) а с чего количество ACK пакетов растет? все 10 потоков качают, никаких дисконектов нет, файло огромное, ACK пакетов не больше чем при закачке в один поток (пропорционально)

chuchelo
()

человек, вы бы сначала поинтересовались, про атомичность записи вообще в линуксе в ядре, а потом бы рассуждали.

Запись в отдельный файл а потом переименование проблемы не решает, а добавляет новую: при 100% использовании диска очередь всегда будет покоцаная.

chuchelo
()


2chuchelo (*) (2003-01-16 19:28:57.708)

No comments. RTFM.

2chuchelo (*) (2003-01-16 19:31:55.923)

Смотри в качестве примеров код, отвечающий за работу почтовой
очереди в любом smtp-сервере. Даже если взять почтовый клиент
mutt. Он никогда ни при каких обстоятельствах не корежит mbox. Даже если ты в день по пять раз будешь жать на reset. Прога,
которая допускает покореженные данные - позор.

anonymous
()
Ответ на: комментарий от chuchelo


Нет, врешь, батенька. Покореженный список закачек d4x я видел своими глазами.

Hint: grep -R fsync mutt-1.4
Может это поможет? ;)

anonymous
()

man fsync
FSYNC(2) Руководство программиста Linux FSYNC(2)

НАЗВАНИЕ
fsync - синхронизировать состояние файла в памяти с
состоянием на диске

где вы тут видите "100% я запись на диск даже когда во время операции fsync выключают компьютер"?

chuchelo
()

Давно юзаю сию приблуду, но вот вопрос возник, раньше график был таким,
что закачка подсвеченная в очереди, выделялась цвет на графике, а теперь
нет. Причем настройка все еще предлагает выбор цветов для общей скорости
и скорости выбранной, но видимо это сломалось...

anonymous
()
Ответ на: комментарий от chuchelo


2chuchelo (*) (2003-01-17 14:46:50.747)

Чучело и есть чучело. Больше на тебя время тратить не буду.
Горбатого могила... Подумай тем местом, которым ешь: если fsync
ничего не гарантирует и типа вообще нафиг не нужен, то зачем
его использует mutt? Зачем в 13-ти местах его использует qmail?
Типа людям делать нечего? Или у системы ресурсы лишние?
Есть старый файл. Ты пишешь новый. Делаешь fsync. Проводишь
атомическую операцию mv new old. При любом раскладе, если
пропадает питание или рушится ОС, ты всегда имеешь как минимум
оригинальную (непокореженную) старую копию. Если и сейчас
непонятно, то я пас.

anonymous
()

алло гараж, учите матчасть, какой fsync когда оно уже записано и файловый дескриптор закрыт? С вами разговаривать абсолютно бессмысленно, ибо вы не вкурсе что даже sync (man 1 sync) под линухом не гарантирует запись на диск. Досвидания, больше я на ваши посты тут отвечать не буду, достало. Смеялись мы тут долго, надоело.

fsync нужен только для тех случаев, когда файл открыт очень долгое время, файл очереди записывается очень быстро.

chuchelo
()
Ответ на: комментарий от chuchelo


> fsync нужен только для тех случаев, когда файл открыт очень долгое время

Чучело, ты кроме даунлоадеров еще и маны пишешь собственноручно?
Если нет, и мы говорим об одном и том же "man fsync(2)",
то во первых его строках написано:

fsync copies all in-core parts of a file to disk,
and waits until the device reports that all parts
are on stable storage.

Где написано про очень долго И что такое "очень долго"
история умалчивает ;)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.