Это web-интерфейс для wget - программы загрузки файлов по сети. Построен по принципу клиент/сервер, где клиент построен с использованием Ajax и CSS3, и PHP с серверной.
Описание | |
---|---|
unix | Написано и протестировано именно для ОС данного семейства. Для запуска на других ОС потребуются рабочие порты wget , ps и rm . Протестирована работа на версиях Debian Linux 2.6.32.11 и FreeBSD 8.3 |
bash | Используется создание подпроцессов и проверка условий, написано именно под эту командную оболочку. Для запуска под другой потребуется изменить все запуски системных команд. Протестирована работа на версиях 4.1.11(2) и 4.2.24(1) |
php | Необходим выключенный safe_mode, разрешение на выполнение exec(), posix_kill(), unlink() и ряда других функций. Протестирована работа на версиях 5.2.6 и 5.3.13 |
Серверная часть выполняет следующие задачи:
- Получение информации о запущенных задачах (через запуск
ps
и парсинг лог-файловwget
); - Отмена запущенных задач (через выполнение posix_kill());
- Добавление новых задач (производя запуск
wget
в подпроцессе через exec()); - Получение списка истории (парсинг файла истории);
- Ведение логов;
- Тестирование серверной части;
- Возвращение результатов в формате JSON.
Основные настройки вынесены в файл settings.php
, и устанавливаются в формате:
define('параметр', 'значение');
Описание параметров приведено в таблице ниже:
Параметр | Описание |
---|---|
download_path |
Путь до директории, в которую будет происходить сохранение всех загружаемых файлов. Обязательный параметр. По умолчанию BASEPATH.'/downloads' |
tmp_path |
Путь для временных лог-файлов wget . Автоматически удаляются при завершении или прерывании задачи.Обязательный параметр. По умолчанию '/tmp' |
log_path |
Директория для лог-файлов серверной части. Возможен режим записи разных типов сообщений в разные файлы (устанавливаются в константах класса log ). По умолчанию запись всех сообщений происходит в файл wgetgui.log .По умолчанию '/log' |
history |
Вести запись истории задач. Так же отображается в GUI. По умолчанию /log/history.log |
WgetOnetimeLimit |
Лимит на количество одновременно запущенных задач. По умолчанию 10 |
wget_download_limit |
Ограничение скорости закачки wget в Кб/сек.По умолчанию 2048 |
wget_secret_flag |
Параметр wget , дописываемый ко всем запускаемым задачам, для определения источника запуска. Без необходимости не надо его изменять.Обязательный параметр. По умолчанию --max-redirect=4321 |
DebugMode |
Включается режим отладки (добавляет подробный вывод в лог-файл). По умолчанию выключен |
wget , ps и rm |
Возможно указать свои пути до исполняемых фалов wget , ps и rm в случае, если в этом есть необходимость.По умолчанию параметры выключены |
Скрипт отвечает на POST и GET запросы, запросы из командной строки. Например:
php ./rpc.php get_list
php ./rpc.php add_task http://goo.gl/5Qi0Xs
Поддерживается работа (автоматическое получение прямых ссылок) со следующими ресурсами:
- YouTube, примеры ссылок:
http://www.youtube.com/watch?v=o1k8hJ1d8G4
http://youtu.be/o1k8hJ1d8G4
www.youtube.com/embed/o1k8hJ1d8G4
- vk.com, примеры ссылок:
<iframe src="http://vk.com/video_ext.php?oid=25654706&id=167596549&hash=22e03c697e10f723&hd=1" width="607" height="360" frameborder="0"></iframe>
http://vk.com/video_ext.php?oid=25654706&id=167596549&hash=22e03c697e10f723
Для браузера обязательна поддержка JavaScript и крайне желательна свойств CSS3. Интерфейс выполнен в минималистичном стиле:
Все запросы выполняются без перезагрузки страницы. Дизайн — адаптивный. Изменение состояния отображается как на самой странице, так и в заголовке вкладки (окна).
Возможно одновременное добавление нескольких задач, добавляя новые строки нажатием клавиш Ctrl (⌘) и Enter (одна строка - одна задача).
Для того, чтобы задать имя сохраняемого файла необходимо добавить к строке задачи с URL строку вида " -> filename.ext
" (с пробелом в начале), полный вид запроса при этом будет:
htttp://somehost.io/oldfilename.zip -> newfilename.zip
Если указанное указанный файл имеется - он будет перезаписан.
При нажатии клавиши F5 происходит обновление списка задач, страница перезагружается только по нажатию на кнопку "Обновить страницу" в браузере.
Основной JavaScript код расположен в файле js/core.js
, но его основные настройки (как и настройки rpc.php
) располагаются в файле settings.php
:
Параметр | Описание |
---|---|
addTasksLimitCount |
Лимит на количество одновременно добавляемых задач. Обязательный параметр. По умолчанию 5 |
updateStatusInterval |
Интервал обновления данных в открытой вкладке или окне (будьте аккуратны с этим параметром на слабых серверах). По умолчанию 5000 |
DebugMode |
Режим отладки, при активации которого выводится отладочная информация в console.log(). По умолчанию false |
CheckForUpdates |
Функция автоматической проверки обновлений. При наличии обновления выводит информационную ссылку рядом с указателем текущей версии в выдвижном меню. По умолчанию true |
CheckExtensionInstalled |
Функция проверки установленного расширения для браузера. В случае его отсутствия или деактивированности - выводит ссылку на него в выдвижном меню. По умолчанию true |
prc |
Путь до скрипта серверной части. По умолчанию rpc.php |
Подробная инструкция находится на странице "Установка и обновление"
Подробная история изменений и нововведений находится на странице "История изменений"
Расширения пишутся по мере возможности, в данный момент доступны версии для:
- Google Chrome Extension
- Firefox (в планах)
- Opera (в планах)
Если у вас есть желание и возможность - вы можете внести свой вклад разработав его самостоятельно, и прислав его исходный код. Ваше имя будет внесено в список разработчиков. Связаться с разработчиками можете воспользовавшись страницей "Задать вопрос"
- Новость на ресурсе Хабрахабр
- Запись в блоге blog.kplus.pro
Для обсуждения найденных недоработок, ошибок, или не хватающего функционала воспользуйтесь страницей "Сообщить об ошибке".
- Библиотека "JQuery"
- Парсер ссылок "url.js"
- JQuery-плагин уведомлений "jquery.owl"
- CSS код из статьи "CSS3 progress bar"
- JQuery-плагин для работы с cookies "jquery.cookie.js"
- JQuery-плагин "выплывающих окон" "bPopup"
Copyright © 2014 Samoylov Nikolay
Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.