Разработка программы для закачки (Downloader)
Требуется написать на Delphi программы закачки по типу FlashGet, Download Master, но несколько меньшей функциональности. Результатом работы должен стать исходный код на Dephi данного приложения. Частично, данная программа уже готова, в частности готов дизайн и частично функциональность. Т.е. фактически надо будет доработать существующий каркас.
По большей части от фрилэнсера будет требоваться уменее работать с многопоточностью и интернетом.
Краткое ТЗ:
I) Интерфейс
Интерфейс программы в стиле Download Master или FlashGet, с примерно такими же пунктами меню и панелью инструментов. Подробнее в исходнике.
2) Функциональность
а) Программа представляет собой менеджер закачек по протоколу HTTP, реализация закачки по протоколу ftp не нужна.
б) Должна быть реализована многопоточная закачка файла (в настройках выбор кол-во частей на которые разбивается файл при закачке, и кол-во одновременно закачиваемых файлов) и разумеется должна быть докачка файлов
в) Обязательна должна быть реализована работа через прокси и socks
г) В меню “?” должен быть пункт меню «Аутентификация», где вводится регистрационный логин и пароль пользователя
д) При закачке каждого файла, на сервер n отправляется запрос GET с именем пользователя, паролем и URL, если возвращается OK то закачка начинается, если не OK, то нет.
е) При закачке каждого файла в запросе отправляется cookies с логином и регистрационным паролем.
ж) Каждую минуту закачки, на страницу regcheck отправляется GET запрос с указанием, кол-ва скаченных байтов, а так же логина и пароля.. в случае OK закачка продолжается, если не ОК, значит останавливается (для каждого задания в отдельности!!)
з) Обязательно ведение статистики всех закаченных файлов ( дата начала закачки, дата окончания.. размер и пр)
и) Во время закачки необходимо выводить кол-во времени прошедшего с начала закачки и кол-во оставшегося до завершения при условия сохранения текущей скорости.
к) У файла должна присутствовать возможность, смены состояний: «не закачивается, в закачке, по расписанию)
л) Необходимо обеспечить возможность закачки по расписанию
м) Перехват содержимого буфера обмена, если там список ссылок возможность добавления всех
н) Встраивание пункта меню «Закачать все» во все основные браузеры (IE, Firefox, Opera).
о) Необходимо встроить возможность перевода программы на любой язык с помощью файлов языков, все языки должны быть в Unicode.
п) Работа с протоколом https