Наконец-то я решился опубликовать "официальную" запись в блоге о своем новом проекте. До этого я мал-мал был фрилансером, потом, когда поступил на государственную службу с этим делом пришлось завязать; имею неплохой опыт (порядка 30 проектов ПО для Linux и Windows, в основном ПО для серверов, участвовал в создании 15 сайтов и порталов, часть из которых и ныне популярны). Но вот в мае месяце сего 2011 года позвонили мне знакомые, попросили написать дипломную работу по демонам в Unix. Сел я за компьютер, включил свой любимый kdevelop и... растерялся. Я забыл, с чего нужно начинать, какие особенности, что вообще нужно делать! Я просидел в шоке минут 5, схватившись за голову - работая с утра до вечера (порой до позднего вечера) в родном Федеральном казначействе, точнее в его Отделении я стал терять свои навыки.
Вот честно, это меня напугало до чертиков. Да, я учился в НГТУ сначала на кафедре ИВТ (информатика и выч. техника), где и защитил диплом бакалавра с отличием, а потом получил диплом инженера на АВТФ (автоматика и вычислит. техника). Всегда я с удовольствием занимался как программированием, так и принимал участие в создании вычислительных комплексов различной сложности. Учеба была в удовольствие.
Ну, как это обычно водится, работать я пошел не по профессии - системным администратором. Так уж повелось у нас в России, что всех кто имеет по роду своей профессии отношение к ЭВМ - программисты. Я вот самый настоящий программист по диплому, а работаю сисадмином, но что делать?! Работа, конечно тоже нравится, но терять навыки - последнее дело. И вот решил я: хватит работать на кого-то, нужно хоть раз в жизни сделать что-нибудь для себя, для души. А тут и идея сама собой напросилась - у моего провайдера есть порталы с кучей фильмов/мультов/программ и т.д. В основном это реализовано по FTP/HTTP/P2P, и если для P2P уже есть достойный клиент, то вот для работы с FTP/HTTP при пакетном скачивании (штук по 20-30 файлов) возникали проблемы, ибо нормального менеджера загрузок я тогда так и не нашел.
Вот так и решил создать свой программный продукт, чтобы вспомнить все свои навыки, а там глядишь и понравиться кому, и не зря труды мои будут.
Для получения текущей ревизии программы, идем в терминал:
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)
Не за что, программа классная!
Ну загнул! Никаких извинений, всё хорошо ;-)У меня для сборки потребовалась установка этих пакетов:
sudo aptitude install subversion qt4-qmake g++ libqt4-dev --without-recommends
Спасиб, допишу в блог про зависимости от dev пакетов.
Установка:
*buntu/Debian;
openSUSE;
Fedora/RedHat/CentOS;
Mandriva.
Дебы буду собирать по заказу, рпм собираются почти после каждой ревизии.
PS Добавил в топик дополнительные зависимости.
За deb:amd64 спасибо!
Конкретно за 64 не за что :)
Оно конечно хорошо сделать один универсальный загрузчик для всех видов протоколов, но прикиньте сами как часто вы пользуйтесь загрузкой с тех или иных источников в бытовых целях (кино, музыка, игры, документация (справки, налоговые документы, медицинские анализы) и прочее), и как часто вы пользуйтесь загрузкой программ, библиотек, вообще дистрибутива в целом и обновлений, и сделайте вывод стоит ли городьбу городить. Или вы хотите слепить качественный загрузщик HTTP(S), или же вы хотите сделать его многофункциональным работающим при нестабильной связи и при возможном динамическом IP приемника (реципиента, личера или как он называется, короче тот кто скачивает, и если это имеет какое то значение). Да, и что в вашем понимании нормальный загрузщик < ... > для работы с FTP/HTTP при пакетном скачивании (штук по 20-30 файлов) возникали проблемы, ибо нормального менеджера загрузок я тогда так и не нашел. < ... >?
В моем понимании это программа с единым GUI независимо от протокола доступа к файлу, в которую без особых проблем/плясок с бубном/скриптописательсва можно "один кликом мыши" добавить пакет заданий, об исполнении которых позаботится та самая программа. А пользователю останется только с удовольствием наблюдать системные уведомления данной программы об исполнении заданий и пользоваться полученной в результате информацией.
Да, REXLoader далек пока от вышеописанного мной же идеала, но и Москва не сразу строилась.
Справедливо, ибо брал за основу, но в планах сделать еще больше возможностей чем у DM для MS Windows. Именно отсутствие такой программы в Linux меня тогда и подтолкнуло на создание REXLoader. Можно было прикрутить через WINE, но оно все же чужое для Linux...
DM через Wine работает
Ну я и пишу, что оно работает, но оно "не своё" ПО. Неужеди ничего подобного не будет и под Linux? Я с этим категорически не согласен.
С феерическим лагами, нет, спасибо.
Спасибо, попробуем сие творение.
И удачи в разработке.
мне кажеться, что нужно делать демон + веб + ремоут клиента, т.к. в свете планшетов, ультрабуков, мобил, флешь памяти и прочего, мало кто в здравом уме тащит весь хлам на рабочий пк / гаджет
для этх вещей есть nas'ы всякие, а вот для них как раз таки и была бы полезна вышеописанная реализация
т.к. на мой взгляд с подобными программами есть проблемы в этой области
а так извините, но очередной велосипед, стоит ли распылять на это ресурсы? решать конечно Вам
Не нравится? — Проходите мимо.
Для вас уже давно есть aria2 c многочисленной братией морд.
Тык интерфейс открытый для плагинов, а они отвечают за функционал скачивания. Если есть жедание - реализуем демон, прикручиваем все что хотим и все счастливы ))
после последнего обновления неверно показывает время до окончания скачивания, при среднем времени скачивания 17мин, остаток пишет 54мин :)
Я там алгоритм расчета менял, мож чего напутал. А время до завершении не шибко скачет при скачках скорости?
нет, плавно меняется 54м-1ч
Вот падлаИщу решение проблемы ))А у меня время показывает годное, а вот со скоростью обманывает :)
См. в трее показания KNemo.
Э, а разве KNemo не в килобайтах/с? А REXLoader кажет в килобитах/с, тогда 107 кБайт/с * 8 = 856 кбит/с ~ 804 кбит/с в REXLoader (остальные 52кбит/с еще что-то качает).
Я не прав?
Да, насчёт килобитов, это я не углядел. Просто не ожидал такой арифметики вообще. Зачем же оно так сделано? (и остального нет, в смысле ничего больше не качается, даже жаба отключена).
Я хз, но у меня в программе каждый байт скачанный в единицу времени учитывается, возможно есть какие-либо погрешности или в KNemo или у меня. Возможно KNemo использует усреднение скорости за определенный промежуток времени, я от такого отказался и REX показывает реальное количество скачанных бит в секунду. Думаю это не критично.
А можно добавить в настройки выбор, в каких единицах показывать скорость? Возможно и скорость "уровняется" с арифметикой KNemo, если делать (килобайт)/(количество времени, затраченное на его скачивание). Вообще не похоже, чтобы KNemo занимался усреднением.
Можно запилить настройку, добавил на доработку ;)
Запилино в rev285, обновление в ppa вечером. Остальные дистры хз когда, вопросы ---> DarkneSS
Проверим собираемость ;)А, не, вечером :)Дебы в процессе, остальное вечером.
Прога слишком упорствует в размещении закачек :). Прописываю в настройках свой каталог, удаляю "Загрузки", но при запуске проги опля! Каталог "Загрузки" опять возрождается, как птица феникс.
И ещё, можно добавить настройку "Не уведомлять о запуске программы"? Считаю лишним радостное сообщение "Я запустилсо!" :)
Понято, буду разбираться.
Исправление войдет в rev282, обновы в ppa будут сегодня вечером.
значит докладаю: скачан файл 5,6мб на 2G за 8мин 10сек, скорость по knemo скакала до 202 килобит/сек(в настройках стоит обновлять каждые 0,5сек), в программе до 646 килобит/сек.(среднюю скорость трудно определить, так как очень большой разброс вплоть до нуля, мтс же) Оставшееся время показывало 18мин, затем через примерно минуту пропало и перестало показывать совсем и в нижней строке скорость не показывает.
Сейчас тот же файл на 3G, скорость одинакова и время до завершения показывает корректно :)
Я качал полтора гига. В какой-то момент кач остановился. Но с толкача опять завёлся. И с этого момента "оставшееся время = 0". Но скачалось всё норм. Скорость в Кб/сек. сравнима с тем, что говорит KNemo. А вообще это всё фигня, вот бы редактирование свойств закачки наладить ... да ещё с зеркалами ...
Уже делаю! Ждем вечера завтра, а может и сегодня.
Сегодня уже опробовал эту прогу на закачке образа lubuntu-12.10-desktop-i386.iso. Для проги в стадии пре-пре-альфы очень даже круто! Спасибо автору и всем, кто приложил к ней руку (жаль — я простой совеццкий автослесарь, и ничем дельным помочь не могу :( )! Ожидаем "продолжения банкета" © :)
P.S. Когда образ закачался, полез сразу же проверять его md5, и тут грешным делом подумалось — эх, а вот здорово было бы еще эту прогу приучить самой проверять хэш-суммы только что скачанных образов, ваще был бы комбайн! :))) Но это уже так, из области мыслей вслух, не обращайте внимания... В конце концов, у нас же есть теперь kcheckhash! :)
Т.к. изначально была идея качать с портала провайдер, то позвольте добавить "feature request". Мой провайдер тоже дает внутренню файлопомойку, правда количество одновременных закачек не больше одной. Попытка запустить вторую - отлупливает её а иногда и обе. Тоже самое и при делении файла на секции при закачке в несколько потоков. Если не трудно, добавьте возможность настройки у отдельных категорий (или своих) возможность ограничивать количетсво закачек в пределах категории, количество потоков/секций внутри одной закачки, ну и там по мелочи - скорость, и пр. настройки не помешают. Я много бился с нынешними качалки, удалось как то на D4x но он как то помер и сгинул. Даже сайта проекта не нашел. Под оффтопиком еще сносно умеет FreeDownloadManager (там можно подсмотреть настройки категорий, если лень придумывать).
И что бы ни говорили - качалки нужны. И Ваша тем более. Не прекращайте работу. Начиная с некоторого момента - подтянутся люди. Я бы включился, т.к. Qt мне всё больше и больше нравится, правдя я щас пишу свой проект на Эрланге и фреймворком некогда заниматься.
Успехов!
Если проекту нужны разработчики C++/Qt то буду рад поучаствовать, ведь это хороший способ убить c пользой время и обменяться опытом, хоть у меня его и не много. Сам пилю проект https://launchpad.net/~devcode/+archive/kdeneur . Если интересно то отпишись.
а вот это поподробнее, у меня все отображает :) проверьте куда поставились флаги языков, должны быть тут: /usr/share/kdeneur/pixmaps/ если нет то скопируйте их туда, либо просто в настройках укажите свой каталог где лежат png иконки вида ru en и т.д.
Интересненько, сейчас поставил на ноут, все прекрасно заработало, все отображается.
Наверное на комп криво встал.
Спасибо еще раз=)
на ноуте случаем gxneur не стоял ?
Не стоял, но он автоматом подтянулся и на ноуте, и на компе.
автоматом подтянулось что ? Gxneur? А когда это ? Что ты ставил? При установке kdeneur не должно было ничего тянуть тем более от gnome
Во время установки kdeneur ругнулся, что ему нужен libxneur>=0.16
Пришлось найти реп, где есть эта либа. Потом подтянулся этот пакет, gxneur и еще несколько (какие не помню).
Хотя сейчас удалил gxneur, все пучком. Ничего обратно за собой не потянул.
libxneur рекомендует gxneur, наверно.
Возможно. Ну главное что все работает, да и gxneur удалился, не потянув за собой либу.=)
libxneur в любом случае нужен, это либа для работы c xneur, просто gxneur стоит как рекомендованный пакет у xneur вот и потянули gxneur
Ну да, об этом и речь :)
Чистый, подтверджаю — при установке kdeneur из ppa:devcode/kdeneur он по зависимостям тянет за собой и gxneur, и еще кучу каких-то гномовских либ, нужных для gxneur (штук 5-6, к сожалению, не записал сколько точно и каких именно). И каждый раз приходится сперва устанавливать kdeneur, который тянет за собой нужные xneur и libxneur, а так же ненужный gxneur со всеми его зависимостями, и тут же вычищать их. Давно мучил этот вопрос, но все забывал спросить. А тут оно само какбэ напросилось... :)
И кстати, не кажется ли Вам, что надо бы для kdeneur-а тут отдельную тему запостить, чтобы не оффтопить в этой? ;) Тем более, что сей продукт достоин этого... :)
Устанавливайте без рекомендаций ;)
У меня при установке на 14.04 чистую тоже ничего не отображает в трее - ни флаги, ни текст (если сменить в настройках).
В /usr/share/kdeneur/pixmaps/ полный набор флагов есть...
Милости просим ко мне в [email protected] и на сайт spolab.ru.
+1 человек в команде.
Итак, нас уже 3:
RA9OAJ
mks
Чистый (кстати, взялся за плагин FTP)
такими темпами через годик-другой создадите свой Микрософт с программистками и пасьянсом-косынкой! %)
Ам... сапёр - наше всё!
Его даже в aptitude запилили.
Круть!
С днём варенья, маэстро!
kdevelop классная вещь, но глюковатый. На работе его поставил, вылетает иногда например при автодополнении кода, это сильно бесит.
После обновления,значки стали отображатся нормально.Спасибо!!! :)
Прилитело обновление,значки стали отображатся нормально.Спасибо!!! :)
Допилил перед самым концом отпуска :)
Дальнейший допил к Unity и Gnome иконкам через пару недель.
Удали спам с форума ;)
угу, удалил и блокирнул спамеров :)
Отправить комментарий