REXLoader

Изображение пользователя RA9OAJ.

Предпосылки

Наконец-то я решился опубликовать "официальную" запись в блоге о своем новом проекте. До этого я мал-мал был фрилансером, потом, когда поступил на государственную службу с этим делом пришлось завязать; имею неплохой опыт (порядка 30 проектов ПО для Linux и Windows, в основном ПО для серверов, участвовал в создании 15 сайтов и порталов, часть из которых и ныне популярны). Но вот в мае месяце сего 2011 года позвонили мне знакомые, попросили написать дипломную работу по демонам в Unix. Сел я за компьютер, включил свой любимый kdevelop и... растерялся. Я забыл, с чего нужно начинать, какие особенности, что вообще нужно делать! Я просидел в шоке минут 5, схватившись за голову - работая с утра до вечера (порой до позднего вечера) в родном Федеральном казначействе, точнее в его Отделении я стал терять свои навыки.
Вот честно, это меня напугало до чертиков. Да, я учился в НГТУ сначала на кафедре ИВТ (информатика и выч. техника), где и защитил диплом бакалавра с отличием, а потом получил диплом инженера на АВТФ (автоматика и вычислит. техника). Всегда я с удовольствием занимался как программированием, так и принимал участие в создании вычислительных комплексов различной сложности. Учеба была в удовольствие.
Ну, как это обычно водится, работать я пошел не по профессии - системным администратором. Так уж повелось у нас в России, что всех кто имеет по роду своей профессии отношение к ЭВМ - программисты. Я вот самый настоящий программист по диплому, а работаю сисадмином, но что делать?! Работа, конечно тоже нравится, но терять навыки - последнее дело. И вот решил я: хватит работать на кого-то, нужно хоть раз в жизни сделать что-нибудь для себя, для души. А тут и идея сама собой напросилась - у моего провайдера есть порталы с кучей фильмов/мультов/программ и т.д. В основном это реализовано по FTP/HTTP/P2P, и если для P2P уже есть достойный клиент, то вот для работы с FTP/HTTP при пакетном скачивании (штук по 20-30 файлов) возникали проблемы, ибо нормального менеджера загрузок я тогда так и не нашел.
Вот так и решил создать свой программный продукт, чтобы вспомнить все свои навыки, а там глядишь и понравиться кому, и не зря труды мои будут.

Менеджер загрузок REXLoader v0.1.191a

  • Страничка проекта на данный момент: http://rexloader.googlecode.com/
  • Версия: 0.1
  • Ревизия: 191
  • Этап разработки: альфа версия (наполнение кодом, реализация функциональности ПО)
  • Поддерживаемые протоколы: HTTP(S)
  • Планируется поддержка протоколов: FTP, DC++
  • Метод внедрения новых протоколов: в виде Qt-плагина
  • Поддержка прокси: SOCKS(в стадии реализации), HTTP(в стадии реализации)
  • Локализация: русская, английская (переключение еще не реализовано :))

Для получения текущей ревизии программы, идем в терминал:
mkdir ~/Develop
sudo aptitude install subversion #если не установлен svn
svn co http://rexloader.googlecode.com/svn/trunk ~/Develop/rexloader

Для сборки проекта:
#Шаг 0. Удовлетворяем зависимости от dev пакетов перед сборкой
sudo aptitude install qt4-qmake g++ libqt4-dev libx11-dev zlib1g-dev --without-recommends

#Шаг 1. Сборка плагина
cd ~/Develop/rexloader/Httploader
qmake HttpLoader.pro
make

#Шаг 2. Сборка GUI
cd ~/Develop/rexloader/REXLoader
qmake REXLoader.pro
make

#Шаг 3. Запуск
~/Develop/rexloader/usr/bin/REXLoader

Увы, но времени в последнее время сильно не хватает - конец года, а в финансовой структуре это вообще ад кромешный. Да и вообще работы в этом году хватает, потому и разработка идёт так медленно.
Просьба ко всем, кто заинтересуется и решит помочь (не материально, ибо материально не имею права по 79-ФЗ "О гос. службе"), отписываться в комментариях.
Этот проект полностью открыт для всех желающих и поэтому выкладывайте свои замечания/предложения/обнаруженные баги и т.д.

Особое спасибо DarkneSS за то что был моим первым тестером. И прошу у него извинений, что так и не реализовал импорт URL из файлов :)

Комментарии (65)

+1
DarkneSS - 12 Декабрь, 2011 - 07:17
Изображение пользователя DarkneSS.

Не за что, программа классная! И прошу у него извинений Ну загнул! Никаких извинений, всё хорошо ;-)
У меня для сборки потребовалась установка этих пакетов: sudo aptitude install subversion qt4-qmake g++ libqt4-dev --without-recommends

+1
RA9OAJ - 12 Декабрь, 2011 - 07:22
Изображение пользователя RA9OAJ.

Спасиб, допишу в блог про зависимости от dev пакетов.

+1
DarkneSS - 15 Апрель, 2012 - 20:11
Изображение пользователя DarkneSS.

Установка:
*buntu/Debian;
openSUSE;
Fedora/RedHat/CentOS;
Mandriva.
Дебы буду собирать по заказу, рпм собираются почти после каждой ревизии.

PS Добавил в топик дополнительные зависимости.

+1
rosenrot - 20 Декабрь, 2012 - 22:18
Изображение пользователя rosenrot.

За deb:amd64 спасибо!

0
DarkneSS - 21 Декабрь, 2012 - 00:04
Изображение пользователя DarkneSS.

Конкретно за 64 не за что :)

0
Abbattar - 20 Декабрь, 2012 - 00:56
Изображение пользователя Abbattar.

Оно конечно хорошо сделать один универсальный загрузчик для всех видов протоколов, но прикиньте сами как часто вы пользуйтесь загрузкой с тех или иных источников в бытовых целях (кино, музыка, игры, документация (справки, налоговые документы, медицинские анализы) и прочее), и как часто вы пользуйтесь загрузкой программ, библиотек, вообще дистрибутива в целом и обновлений, и сделайте вывод стоит ли городьбу городить. Или вы хотите слепить качественный загрузщик HTTP(S), или же вы хотите сделать его многофункциональным работающим при нестабильной связи и при возможном динамическом IP приемника (реципиента, личера или как он называется, короче тот кто скачивает, и если это имеет какое то значение). Да, и что в вашем понимании нормальный загрузщик < ... > для работы с FTP/HTTP при пакетном скачивании (штук по 20-30 файлов) возникали проблемы, ибо нормального менеджера загрузок я тогда так и не нашел. < ... >?

+1
RA9OAJ - 20 Декабрь, 2012 - 04:25
Изображение пользователя RA9OAJ.

Да, и что в вашем понимании нормальный загрузЧик
В моем понимании это программа с единым GUI независимо от протокола доступа к файлу, в которую без особых проблем/плясок с бубном/скриптописательсва можно "один кликом мыши" добавить пакет заданий, об исполнении которых позаботится та самая программа. А пользователю останется только с удовольствием наблюдать системные уведомления данной программы об исполнении заданий и пользоваться полученной в результате информацией.
Да, REXLoader далек пока от вышеописанного мной же идеала, но и Москва не сразу строилась.

0
Abbattar - 20 Декабрь, 2012 - 01:16
Изображение пользователя Abbattar.
вот что мне ваш проект напоминает.
0
RA9OAJ - 20 Декабрь, 2012 - 04:17
Изображение пользователя RA9OAJ.

Справедливо, ибо брал за основу, но в планах сделать еще больше возможностей чем у DM для MS Windows. Именно отсутствие такой программы в Linux меня тогда и подтолкнуло на создание REXLoader. Можно было прикрутить через WINE, но оно все же чужое для Linux...

0
rlepish - 21 Декабрь, 2012 - 00:50

DM через Wine работает

0
RA9OAJ - 21 Декабрь, 2012 - 03:00
Изображение пользователя RA9OAJ.

Ну я и пишу, что оно работает, но оно "не своё" ПО. Неужеди ничего подобного не будет и под Linux? Я с этим категорически не согласен.

+1
DarkneSS - 21 Декабрь, 2012 - 08:19
Изображение пользователя DarkneSS.

С феерическим лагами, нет, спасибо.

0
rosenrot - 20 Декабрь, 2012 - 22:19
Изображение пользователя rosenrot.

Спасибо, попробуем сие творение.
И удачи в разработке.

-2
gregory5 - 4 Январь, 2013 - 18:48

мне кажеться, что нужно делать демон + веб + ремоут клиента, т.к. в свете планшетов, ультрабуков, мобил, флешь памяти и прочего, мало кто в здравом уме тащит весь хлам на рабочий пк / гаджет
для этх вещей есть nas'ы всякие, а вот для них как раз таки и была бы полезна вышеописанная реализация
т.к. на мой взгляд с подобными программами есть проблемы в этой области

а так извините, но очередной велосипед, стоит ли распылять на это ресурсы? решать конечно Вам

+1
DarkneSS - 4 Январь, 2013 - 19:45
Изображение пользователя DarkneSS.

Не нравится? — Проходите мимо.
Для вас уже давно есть aria2 c многочисленной братией морд.

0
RA9OAJ - 9 Январь, 2013 - 09:15
Изображение пользователя RA9OAJ.

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

0
a_l_e_x_e_i - 7 Январь, 2013 - 20:06
Изображение пользователя a_l_e_x_e_i.

после последнего обновления неверно показывает время до окончания скачивания, при среднем времени скачивания 17мин, остаток пишет 54мин :)

0
RA9OAJ - 9 Январь, 2013 - 09:14
Изображение пользователя RA9OAJ.

Я там алгоритм расчета менял, мож чего напутал. А время до завершении не шибко скачет при скачках скорости?

0
a_l_e_x_e_i - 9 Январь, 2013 - 09:20
Изображение пользователя a_l_e_x_e_i.

нет, плавно меняется 54м-1ч

+1
RA9OAJ - 9 Январь, 2013 - 09:23
Изображение пользователя RA9OAJ.

Вот падла Ищу решение проблемы ))

0
Master_Yoda - 9 Январь, 2013 - 22:42

А у меня время показывает годное, а вот со скоростью обманывает :)

См. в трее показания KNemo.

0
RA9OAJ - 10 Январь, 2013 - 04:27
Изображение пользователя RA9OAJ.

Э, а разве KNemo не в килобайтах/с? А REXLoader кажет в килобитах/с, тогда 107 кБайт/с * 8 = 856 кбит/с ~ 804 кбит/с в REXLoader (остальные 52кбит/с еще что-то качает).
Я не прав?

0
Master_Yoda - 10 Январь, 2013 - 08:27

Да, насчёт килобитов, это я не углядел. Просто не ожидал такой арифметики вообще. Зачем же оно так сделано? (и остального нет, в смысле ничего больше не качается, даже жаба отключена).

0
RA9OAJ - 10 Январь, 2013 - 09:09
Изображение пользователя RA9OAJ.

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

0
Master_Yoda - 10 Январь, 2013 - 10:09

А можно добавить в настройки выбор, в каких единицах показывать скорость? Возможно и скорость "уровняется" с арифметикой KNemo, если делать (килобайт)/(количество времени, затраченное на его скачивание). Вообще не похоже, чтобы KNemo занимался усреднением.

0
RA9OAJ - 10 Январь, 2013 - 12:08
Изображение пользователя RA9OAJ.

Можно запилить настройку, добавил на доработку ;)

0
RA9OAJ - 10 Январь, 2013 - 13:37
Изображение пользователя RA9OAJ.

Запилино в rev285, обновление в ppa вечером. Остальные дистры хз когда, вопросы ---> DarkneSS

+1
DarkneSS - 10 Январь, 2013 - 14:08
Изображение пользователя DarkneSS.

Проверим собираемость ;)
А, не, вечером :)
Дебы в процессе, остальное вечером.

+2
Master_Yoda - 8 Январь, 2013 - 19:20

Прога слишком упорствует в размещении закачек :). Прописываю в настройках свой каталог, удаляю "Загрузки", но при запуске проги опля! Каталог "Загрузки" опять возрождается, как птица феникс.

И ещё, можно добавить настройку "Не уведомлять о запуске программы"? Считаю лишним радостное сообщение "Я запустилсо!" :)

0
RA9OAJ - 9 Январь, 2013 - 09:13
Изображение пользователя RA9OAJ.

Понято, буду разбираться.

0
RA9OAJ - 10 Январь, 2013 - 08:20
Изображение пользователя RA9OAJ.

Исправление войдет в rev282, обновы в ppa будут сегодня вечером.

0
a_l_e_x_e_i - 11 Январь, 2013 - 21:06
Изображение пользователя a_l_e_x_e_i.

значит докладаю: скачан файл 5,6мб на 2G за 8мин 10сек, скорость по knemo скакала до 202 килобит/сек(в настройках стоит обновлять каждые 0,5сек), в программе до 646 килобит/сек.(среднюю скорость трудно определить, так как очень большой разброс вплоть до нуля, мтс же) Оставшееся время показывало 18мин, затем через примерно минуту пропало и перестало показывать совсем и в нижней строке скорость не показывает.
Сейчас тот же файл на 3G, скорость одинакова и время до завершения показывает корректно :)

0
Master_Yoda - 11 Январь, 2013 - 23:58

Я качал полтора гига. В какой-то момент кач остановился. Но с толкача опять завёлся. И с этого момента "оставшееся время = 0". Но скачалось всё норм. Скорость в Кб/сек. сравнима с тем, что говорит KNemo. А вообще это всё фигня, вот бы редактирование свойств закачки наладить ... да ещё с зеркалами ...

+3
RA9OAJ - 12 Январь, 2013 - 07:45
Изображение пользователя RA9OAJ.

Уже делаю! Ждем вечера завтра, а может и сегодня.

0
Лерыч - 10 Январь, 2013 - 13:09
Изображение пользователя Лерыч.

Сегодня уже опробовал эту прогу на закачке образа lubuntu-12.10-desktop-i386.iso. Для проги в стадии пре-пре-альфы очень даже круто! Спасибо автору и всем, кто приложил к ней руку (жаль — я простой совеццкий автослесарь, и ничем дельным помочь не могу :( )! Ожидаем "продолжения банкета" © :)

P.S. Когда образ закачался, полез сразу же проверять его md5, и тут грешным делом подумалось — эх, а вот здорово было бы еще эту прогу приучить самой проверять хэш-суммы только что скачанных образов, ваще был бы комбайн! :))) Но это уже так, из области мыслей вслух, не обращайте внимания... В конце концов, у нас же есть теперь kcheckhash! :)

0
Гость - 14 Январь, 2013 - 13:19

Т.к. изначально была идея качать с портала провайдер, то позвольте добавить "feature request". Мой провайдер тоже дает внутренню файлопомойку, правда количество одновременных закачек не больше одной. Попытка запустить вторую - отлупливает её а иногда и обе. Тоже самое и при делении файла на секции при закачке в несколько потоков. Если не трудно, добавьте возможность настройки у отдельных категорий (или своих) возможность ограничивать количетсво закачек в пределах категории, количество потоков/секций внутри одной закачки, ну и там по мелочи - скорость, и пр. настройки не помешают. Я много бился с нынешними качалки, удалось как то на D4x но он как то помер и сгинул. Даже сайта проекта не нашел. Под оффтопиком еще сносно умеет FreeDownloadManager (там можно подсмотреть настройки категорий, если лень придумывать).
И что бы ни говорили - качалки нужны. И Ваша тем более. Не прекращайте работу. Начиная с некоторого момента - подтянутся люди. Я бы включился, т.к. Qt мне всё больше и больше нравится, правдя я щас пишу свой проект на Эрланге и фреймворком некогда заниматься.
Успехов!

+3
Чистый - 2 Февраль, 2013 - 22:00
Изображение пользователя Чистый.

Если проекту нужны разработчики C++/Qt то буду рад поучаствовать, ведь это хороший способ убить c пользой время и обменяться опытом, хоть у меня его и не много. Сам пилю проект https://launchpad.net/~devcode/+archive/kdeneur . Если интересно то отпишись.

0
rosenrot - 2 Февраль, 2013 - 22:31
Изображение пользователя rosenrot.
+2
Чистый - 2 Февраль, 2013 - 23:24
Изображение пользователя Чистый.

а вот это поподробнее, у меня все отображает :) проверьте куда поставились флаги языков, должны быть тут: /usr/share/kdeneur/pixmaps/ если нет то скопируйте их туда, либо просто в настройках укажите свой каталог где лежат png иконки вида ru en и т.д.

0
rosenrot - 3 Февраль, 2013 - 07:47
Изображение пользователя rosenrot.

Интересненько, сейчас поставил на ноут, все прекрасно заработало, все отображается.
Наверное на комп криво встал.
Спасибо еще раз=)

0
Чистый - 3 Февраль, 2013 - 13:37
Изображение пользователя Чистый.

на ноуте случаем gxneur не стоял ?

0
rosenrot - 3 Февраль, 2013 - 18:03
Изображение пользователя rosenrot.

Не стоял, но он автоматом подтянулся и на ноуте, и на компе.

0
Чистый - 3 Февраль, 2013 - 18:13
Изображение пользователя Чистый.

автоматом подтянулось что ? Gxneur? А когда это ? Что ты ставил? При установке kdeneur не должно было ничего тянуть тем более от gnome

0
rosenrot - 3 Февраль, 2013 - 18:39
Изображение пользователя rosenrot.

Во время установки kdeneur ругнулся, что ему нужен libxneur>=0.16
Пришлось найти реп, где есть эта либа. Потом подтянулся этот пакет, gxneur и еще несколько (какие не помню).

Хотя сейчас удалил gxneur, все пучком. Ничего обратно за собой не потянул.

0
DarkneSS - 3 Февраль, 2013 - 18:56
Изображение пользователя DarkneSS.

libxneur рекомендует gxneur, наверно.

0
rosenrot - 3 Февраль, 2013 - 18:58
Изображение пользователя rosenrot.

Возможно. Ну главное что все работает, да и gxneur удалился, не потянув за собой либу.=)

0
Чистый - 3 Февраль, 2013 - 19:03
Изображение пользователя Чистый.

libxneur в любом случае нужен, это либа для работы c xneur, просто gxneur стоит как рекомендованный пакет у xneur вот и потянули gxneur

0
rosenrot - 3 Февраль, 2013 - 20:27
Изображение пользователя rosenrot.

Ну да, об этом и речь :)

0
Лерыч - 4 Февраль, 2013 - 01:14
Изображение пользователя Лерыч.

автоматом подтянулось что ? Gxneur? А когда это ? Что ты ставил? При установке kdeneur не должно было ничего тянуть тем более от gnome

Чистый, подтверджаю — при установке kdeneur из ppa:devcode/kdeneur он по зависимостям тянет за собой и gxneur, и еще кучу каких-то гномовских либ, нужных для gxneur (штук 5-6, к сожалению, не записал сколько точно и каких именно). И каждый раз приходится сперва устанавливать kdeneur, который тянет за собой нужные xneur и libxneur, а так же ненужный gxneur со всеми его зависимостями, и тут же вычищать их. Давно мучил этот вопрос, но все забывал спросить. А тут оно само какбэ напросилось... :)

И кстати, не кажется ли Вам, что надо бы для kdeneur-а тут отдельную тему запостить, чтобы не оффтопить в этой? ;) Тем более, что сей продукт достоин этого... :)

0
DarkneSS - 4 Февраль, 2013 - 07:58
Изображение пользователя DarkneSS.

Устанавливайте без рекомендаций ;)

0
a.ozol - 22 Июль, 2014 - 09:31

У меня при установке на 14.04 чистую тоже ничего не отображает в трее - ни флаги, ни текст (если сменить в настройках).
В /usr/share/kdeneur/pixmaps/ полный набор флагов есть...

0
RA9OAJ - 4 Февраль, 2013 - 04:28
Изображение пользователя RA9OAJ.

Милости просим ко мне в ra9oaj@jabber.ru и на сайт spolab.ru.

+1
RA9OAJ - 4 Февраль, 2013 - 10:53
Изображение пользователя RA9OAJ.

+1 человек в команде.
Итак, нас уже 3:
RA9OAJ
mks
Чистый (кстати, взялся за плагин FTP)

+1
Mike - 4 Февраль, 2013 - 11:13
Изображение пользователя Mike.

такими темпами через годик-другой создадите свой Микрософт с программистками и пасьянсом-косынкой! %)

0
Chibiko - 4 Февраль, 2013 - 11:28
Изображение пользователя Chibiko.

Ам... сапёр - наше всё!
Его даже в aptitude запилили.

0
DarkneSS - 4 Февраль, 2013 - 12:19
Изображение пользователя DarkneSS.

Круть!

0
Master_Yoda - 3 Март, 2013 - 09:54

С днём варенья, маэстро!

0
mft - 3 Март, 2013 - 11:09

включил свой любимый kdevelop
kdevelop классная вещь, но глюковатый. На работе его поставил, вылетает иногда например при автодополнении кода, это сильно бесит.

+1
Master_Yoda - 11 Май, 2013 - 14:26
0
Fierta - 19 Сентябрь, 2013 - 07:20
Изображение пользователя Fierta.

После обновления,появилась вот такая трабла со значками:

И еще,при закачке файла через моб.интернет,в отсутствии 3g,только edge.Файл иногда может скачиватся до бесконечности,к примеру скачиваю песню размером 3 мб,в окне прогресс бар заполнен и показывает что 3 мб закачено но в статусе он всё еще закачивает и не сообщает о том что закачка завершена.И так может длится до бесконечности.Еще не отображается сколько времени осталось до завершения загрузки.Исправте пож-ста.
0
Fierta - 21 Сентябрь, 2013 - 22:38
Изображение пользователя Fierta.

После обновления,значки стали отображатся нормально.Спасибо!!! :)

0
Fierta - 21 Сентябрь, 2013 - 22:40
Изображение пользователя Fierta.

Прилитело обновление,значки стали отображатся нормально.Спасибо!!! :)

0
RA9OAJ - 23 Сентябрь, 2013 - 15:29
Изображение пользователя RA9OAJ.

Допилил перед самым концом отпуска :)
Дальнейший допил к Unity и Gnome иконкам через пару недель.

0
DarkneSS - 23 Сентябрь, 2013 - 17:22
Изображение пользователя DarkneSS.

Удали спам с форума ;)

+1
RA9OAJ - 29 Сентябрь, 2013 - 10:18
Изображение пользователя RA9OAJ.

угу, удалил и блокирнул спамеров :)

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры