Page 1 of 38 12311 ... LastLast
Results 1 to 15 of 560

Thread: Download Engine 2.0 - скрипт для загрузки файлов (с поддержкой файлообменников)

  1. #1
    Join Date
    Mar 2007
    Location
    Russia
    Posts
    170

    Post Download Engine 2.0 - скрипт для загрузки файлов (с поддержкой файлообменников)

    Назначение скрипта
    Данный скрипт предназначен для автоматической загрузки файлов по протоколам http и ftp (c поддержкой файлообменников).

    Благодарности
    al37919 за идею и первоначальную версию скрипта
    KGy за пару строчек, позаимствованных из его cgi-скриптов
    angel_il за дальнейшее усовершенствование скрипта
    Serg0 за разработку плагинов для файлообменников

    Установка
    Скачайте архив, прикрепленный к сообщению, распакуйте из него ipk пакет и установите на рутере:
    Code:
    ipkg install имя_пакета.ipk
    При установке автоматически скачаются и установятся еще несколько необходимых для работы скрипта пакетов.

    Настройка
    Все настройки сосредоточены в одном файле /opt/etc/dlengine.conf
    Code:
    REFRESHTIME=30           # in seconds
    EXITEMPTYQUEUE=NO        # YES or NO
    WGETBIN=/opt/bin/wget
    CGIENGINENAME=dlengine.sh
    USERAGENT="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
    
    BASEDIR=/tmp/harddisk/downloads/
    PARTIALDIR=$BASEDIR"partial/"
    COMPLETEDIR=$BASEDIR"completed/"
    QUEUEFILE=$BASEDIR"files.queue"
    DONEFILE=$BASEDIR"files.done"
    ERRFILE=$BASEDIR"files.error"
    LOGFILE=$BASEDIR"log"
    TEMPDIR=/tmp/
    
    AUTHEXP[0]="http://.*site\.net.*"
    AUTHUSR[0]="admin"
    AUTHPAS[0]="passw"
    AUTHEXP[1]="ftp://ftp.site2\.net.*"
    AUTHUSR[1]="root"
    AUTHPAS[1]="123456"
    AUTHEXP[2]="vip-file.com"
    AUTHUSR[2]=""
    AUTHPAS[2]="PLIM1B052A4"
    
    PVTFTP="ftp.mysite.net"
    PVTUSER="download"
    PVTPASS="warezzz"
    QUEUEFILE: список URL-ов предназначеных к закачке. Если надо изменить последовательность закачиваний - меняйте местами строки в этом файле. Закачка идет построчно сверху вниз. При замене первой строчки загрузка предыдущего файла будет продолжаться до конца, потом пойдет новый первый. Если надо запустить загрузку нового первого файла не дожидаясь окончания предыдущего, надо выполнить S50dlengine reload При этом неоконченый предыдущий сохранится и когда до него дойдет очередь будет загружаться с того места на котором остановился.
    LOGFILE: процесс закачки текущего файла.
    DONEFILE: список закачаных URL-ов
    ERRFILE: список URL-ов, при закачке которых произошла ошибка
    COMPLETEDIR: директория, содержащая закачаные файлы
    PARTIALDIR: директория, содержащая частично-закачаные файлы
    Скрипт позволяет выполнять автоматическую подстановку логина/пароля для заданных сайтов. В AUTHEXP[i] пишите регулярное выражения для идентификации вашего сайта, в AUTHUSR[i] AUTHPAS[i] - логин и пароль соответственно. Индексы должны начинаться от нуля и быть последовательными.

    Использование скрипта
    После установки в /opt/etc/init.d копируются два скрипта. Первый S50dlengine отвечает за работу с самим скриптом. Синтаксис /opt/etc/init.d/S50dlengine command . Поддерживаются следующие значения параметра command:
    start --- запуск демона
    stop --- остановка демона и загрузки
    reload --- повторно считать список файлов и запустить первую строку на закачку без остановки демона
    restart --- перезапуск демона и загрузки
    Второй скрипт S90busybox_httpd запускает встроенный в прошивку busybox_httpd и обеспечивает веб-интерфейс скрипта (если у вас установлен свой http сервер, этот скрипт вам не нужен). Можно обойтись и без веб-интерфейса - через фтп или самбу добавлять новые закачки в QUEUEFILE (файл должен быть в формате UNIX!) и запускать/останавливать скрипт через телнет или ssh. Веб-интерфейс позволяет немного облегчить жизнь. Он доступен по адресу http://router:8080/cgi-bin/dlengine.sh

    Замечания по использованию плагинов
    depositfiles.com
    Замечаний нет.
    rapidshare.com
    Чтобы скачивалось с использованием пароля, нужно записать логин/пароль в файле /opt/etc/dlengine.conf примерно так:
    Code:
    AUTHEXP[3]="^rapidshare.com"
    AUTHUSR[3]="ЛОГИН"
    AUTHPAS[3]="ПАРОЛЬ"
    Кроме того, в настройках Premium аккаунта на сайте rapidshare.com нужно установить птичку:
    [v] Direct downloads
    vip-file.com
    Чтобы скачивалось с использованием пароля, нужно записать этот пароль в файл /opt/etc/dlengine.conf Логин не используется, поэтому его можно и не заполнять. Пример см. выше. Если для vip-file.com пароль не задан, то скрипт будет пытаться скачивать файл без пароля если есть ссылка "Или качайте очень медленно и бесплатно". Если этой ссылки нет (т.е. сервер не предложил скачать бесплатно), то скрипт пытается самостоятельно составить такую ссылку и скачает файл как будто эта ссылка есть. Но в режиме без пароля сервер отдаёт файл очень медленно.
    hotfile.com
    hotfile.com для некоторых файлов показывает картинки(captcha), поэтому скачиваются только те файлы, для которых картинки не показываются.
    letitbit.net
    Плагин самостоятельно пытается распознать капчу. Чтобы скачивалось с использованием пароля, нужно записать пароль в файле /opt/etc/dlengine.conf примерно так:
    Code:
    AUTHEXP[3]="^letitbit.net"
    AUTHUSR[3]=""
    AUTHPAS[3]="ПАРОЛЬ"
    История
    04.08.2010 - 2.0-19 Обновление плагинов
    17.06.2010 - 2.0-18 Обновление плагинов
    07.06.2010 - 2.0-17 Обновление плагинов
    18.05.2010 - 2.0-16 Обновление плагинов
    15.04.2010 - 2.0-15 Обновление плагинов
    21.12.2009 - 2.0-14 Поддержка премиум аккаунтов на рапидшаре
    21.12.2009 - 2.0-13 Обновление плагина, фикс от SSN
    13.11.2009 - 2.0-12 Обновление плагинов
    10.11.2009 - 2.0-11 Обновление плагинов
    03.11.2009 - 2.0-10 Обновление плагинов
    28.10.2009 - 2.0-9 Обновлен плагин для vipfile
    20.10.2009 - 2.0-8 Фикс для ssl закачек
    10.10.2009 - 2.0-7 Добавил в конфиг опцию ограничения скорости
    30.09.2009 - 2.0-6 Исправил пакет, теперь зависимости должны работать нормально
    28.09.2009 - 2.0-5 Новый плагин letitbit.net
    23.09.2009 - 2.0-4 Добавил опцию выходить из скрипта при пустой очереди
    19.09.2009 - 2.0-3 Тестирование скрипта прошло успешно, выложил релиз
    Attached Files Attached Files
    Last edited by Megarem; 04-08-2010 at 17:29.
    RT-N56U / Padavan FW

  2. Можешь постучать мне в асю 919т405 есть предложение кое как развить скрипт жду!
    ASUS wl500g Premium / Seagate 400 GB Sata (3.5")

  3. #3
    Вроде бы все сделал строго по инструкции. Скрипт автозагружается, появились папки - partial and completed, пустой лог-файл и files.queue.
    Добавляю ссылку в files.queue. Жду - ничего не происходит.

    Тогда делаю так:
    [admin@Asus root]$ /opt/etc/init.d/S50dlengine reload

    Ответ:

    "Reloading Download Engine... nothing to do."

    В конфиге пробовал менять axel на wget - не помогло. Где причину поискать?

  4. #4
    Join Date
    Mar 2007
    Location
    Russia
    Posts
    170
    Quote Originally Posted by als View Post
    Вроде бы все сделал строго по инструкции. Скрипт автозагружается, появились папки - partial and completed, пустой лог-файл и files.queue.
    Добавляю ссылку в files.queue. Жду - ничего не происходит.
    Странно, похоже скрипт и не начинает качать. Попробуй остановить скрипт, переключить его на wget, добавить ссылку в files.queue а потом запустить его вручную в консоли. Может какая ошибка вывалится.
    RT-N56U / Padavan FW

  5. #5
    Хм. Ну как-то все не очень хорошо.

    1. В первый раз я для пробы пытался закачать html-файл.
    Уже после того, как написал сообщение, увидел в логе, что в конце ссылки появляется "%0D", и ошибка 404". Причем, что совсем неприятно - после этой ошибки следующие файлы в списке скрипт не качает.

    То же самое воспроизвел и на файле с расширением "stm" - с сайта BBC.
    Когда же поставил на закачку один mp-3 файл, он начал качаться нормально. Попробовал еще несколько раз - закономерности не уловил. Html-файлы то нормально качаются, то в конце добавляется - 0D.
    Этот символ "0D" вроде как-то связан с переводом формата в юникс?

    Что посоветуете? Если пользоваться веб-интерфейсом, то таких проблем не должно быть?

    2. После того, как установил веб-сервер thttpd скрипт перестал автозапускаться. Все проверил - все нужные файлы на своих местах, исполнимые. Но автозагрузки нет.

    3. После того, как запускаешь скрипт вручную, не запускается http://192.168.1.1:81/cgi-bin/dlengine. Причем веб-сервер работает - тестовая страница открывается, transmission.cgi, которая лежит в той же папке, что и dlengine - запускается, а интерфейс для скрипта - нет.
    Last edited by als; 15-07-2007 at 06:18.

  6. #6
    Join Date
    Mar 2007
    Location
    Russia
    Posts
    170
    Quote Originally Posted by als View Post
    Html-файлы то нормально качаются, то в конце добавляется - 0D. Этот символ "0D" вроде как-то связан с переводом формата в юникс?
    Файл с очередью на закачку должен быть в юникс формате, т.е. перевод строки - один только символ 0А.
    Quote Originally Posted by als View Post
    3. После того, как запускаешь скрипт вручную, не запускается http://192.168.1.1:81/cgi-bin/dlengine. Причем веб-сервер работает - тестовая страница открывается, transmission.cgi, которая лежит в той же папке, что и dlengine - запускается, а интерфейс для скрипта - нет.
    Был у меня похожий глюк. Если скрипт веб-интерфейса запускать из консоли - все работает, а если из браузера - нет. То ли глюк в баше, то ли в моем скрипте что-то не так... Вообщем это вылечилось даунгрейдом баша до версии 3.2-2. Попробуй.
    RT-N56U / Padavan FW

  7. #7
    Установил, штука неплохая, но есть несколько вопросов:

    1.
    Переместите файл /opt/www/cgi-bin/dlengine в папку cgi-bin вашего веб-сервера и также сделайте его исполняемым.
    Я не понял, куда этот файл надо вставить.

    2.
    AUTHEXP[0]="http://.*mysite\.net.*"
    Я пользуюсь премиумом рапидшары, но не могу понять в каком формате это нужно записать.
    Last edited by Dayran; 12-12-2008 at 15:32.

  8. #8
    1. ну например в /opt/share/www/lighttpd или тому подобное...

  9. #9
    Quote Originally Posted by SergKM View Post
    1. ну например в /opt/share/www/lighttpd или тому подобное...
    Не получается, всё равно вместо страницы вот такой набор символов:
    " # Read the queue declare -a queue readqueue # Processing the command cat >/tmp/post post="`cat /tmp/post`" if [ "$post" = "daemon=Start" ] && ! daemonrunning; then $DAEMON & sleep 3 elif [ "$post" = "daemon=Stop" ] && daemonrunning; then kill "`cat $MAINPID`" 2>/dev/null kill "`cat $TASKPID`" 2>/dev/null sleep 3 elif [ -n "`grep /tmp/post -e \"addurl=.*\"`" ]; then url=${post##addurl=} url=`echo $url | sed -e 's/ /_/g' -e 's/%3A/:/g' -e 's/%2F/\//g' -e 's/%7E/~/g' -e 's/+/ /'` echo "$url" >>$QUEUEFILE readqueue elif [ -n "`grep /tmp/post -e \"qpos=.*&qact=.*\"`" ]; then qpos=${post%%&*} qpos=${qpos##*=} act=${post##*act=} let qsize=${#queue[*]}-1 if [ "$act" = "Up" ] && [ $qpos != 0 ]; then swapurls $qpos $qpos-1 savequeue elif [ "$act" = "Down" ] && [ $qpos != $qsize ]; then swapurls $qpos $qpos+1 savequeue elif [ "$act" = "Bottom" ] && [ $qpos != $qsize ]; then url=${queue[$qpos]} deleteurl $qpos savequeue echo "$url" >>$QUEUEFILE readqueue elif [ "$act" = "Top" ] && [ $qpos != 0 ]; then echo "${queue[$qpos]}" >/tmp/post deleteurl $qpos savequeue cat $QUEUEFILE >>/tmp/post mv /tmp/post $QUEUEFILE readqueue elif [ "$act" = "Delete" ]; then deleteurl $qpos savequeue fi fi # Status and start/stop buttons echo "

  10. #10
    Quote Originally Posted by Dayran View Post
    Не получается, всё равно вместо страницы вот такой набор символов:
    у меня тоже самое

  11. #11
    веб-интерфейс конечно хотелось бы, но можно и без него обойтись. Меня вот больше интересует как сделать авторизацию на сайтах. Пробовал разные варианты:
    AUTHEXP[0]="http://.*rapidshare\.com.*"
    AUTHEXP[0]="http://.*rapidshare.com*"
    AUTHEXP[0]="*rapidshare*"
    пробовал даже конкретно писать ссылку:
    AUTHEXP[0]="http://rapidshare.com/files/123456789/xxxxx.part01.rar"
    ничего не помогает.

    До этого использовал ADOS, но у него бьются архивы при скачке, вот и решил найти альтернативу.

  12. #12
    Join Date
    Mar 2007
    Location
    Russia
    Posts
    170
    1. К вопросу о вебинтерфейсе. Если у вас lighthttpd, то файлик dlengine надо переименовать в dlengine.sh и исправить конфиг lighthttpd:
    PHP Code:
    #### CGI module
    cgi.assign                 = ( ".pl"  => "/opt/bin/microperl",
                                   
    ".cgi" => "/opt/bin/microperl",
                                   
    ".sh"  => "/opt/bin/bash" 
    После этого все заработает. Ну и конечно не забываем ipkg install bash.

    2. Авторизация. Авторизация поддерживается двух типов. Первый - это авторизация на фтп. Второй - это так называемая basic http. Это когда при попытке захода на сайт выскакивает браузерное окошко с просьбой ввести логин и пароль. Если для авторизации нужно вводить что-то в формы на страничке, то мой скрипт увы бессилен.
    RT-N56U / Padavan FW

  13. #13
    Quote Originally Posted by Megarem View Post
    1. К вопросу о вебинтерфейсе. Если у вас lighthttpd, то файлик dlengine надо переименовать в dlengine.sh и исправить конфиг lighthttpd:
    PHP Code:
    #### CGI module
    cgi.assign                 = ( ".pl"  => "/opt/bin/microperl",
                                   
    ".cgi" => "/opt/bin/microperl",
                                   
    ".sh"  => "/opt/bin/bash" 
    После этого все заработает. Ну и конечно не забываем ipkg install bash.
    морда после этого работает...но вот все кнопки работать перестали, т.к. ссылаются на dlengine, а не dlengine.sh

  14. #14
    Quote Originally Posted by NRG_r View Post
    морда после этого работает...но вот все кнопки работать перестали, т.к. ссылаются на dlengine, а не dlengine.sh
    выкладываю исправленный dlengine.

    Хотя лично мне без авторизации всё это неинтересно, так как в основном все файлы сейчас на файлообменниках, прямых ссылок почти нет. Но идея была неплохая, самое главное, что используя cron можно было делать закачки по расписанию.
    Attached Files Attached Files
    Last edited by Dayran; 14-12-2008 at 15:35.

  15. #15
    А ftp-ссылки в Юникоде (на нелатинице и с пробелами) Download Engine качать должен? У меня что-то не хочет...

Page 1 of 38 12311 ... LastLast

Similar Threads

  1. Download Master
    By nszb in forum WL-500gP Firmware Discussion
    Replies: 124
    Last Post: 03-10-2009, 14:56
  2. Asus WL-500G Premium for torrent download
    By alexdagre8 in forum WL-500gP Q&A
    Replies: 4
    Last Post: 21-08-2008, 22:39

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •