Page 1 of 2 12 LastLast
Results 1 to 15 of 560

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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  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 16: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 05: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

    С Rapidshare

    Поскольку конфигурационный файл не работает с куками, а мне нужна только закачка с Rapidshare, я руками вписал в скрипт, там где формируется командная строка для wget:
    -c --load-cookies /usr/local/rapidshare
    В принципе, процесс запускается, вот образец лога:
    Connecting to rapidshare.com|195.122.131.15|:80... connected.
    HTTP request sent, awaiting response... 302 Moved Temporarily
    Location: http://rs107cg2.rapidshare.com/files...art1.rar%20%0D [following]
    --2008-12-15 00:54:43-- http://rs107cg2.rapidshare.com/files...art1.rar%20%0D
    Resolving rs107cg2.rapidshare.com... 82.129.35.108
    Connecting to rs107cg2.rapidshare.com|82.129.35.108|:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 60000000 (57M) [application/octet-stream]
    Saving to: `/tmp/harddisk/downloads/partial/BerSymFanOp14.part1.rar %0D'
    Но почему-то после того, как файл докачивается до 99 процентов, wget начинает все грузить заново, и в результате файл так и лежит в директории partial.
    Этому могут быть какие-то объяснения?

  8. #8
    Join Date
    Mar 2007
    Location
    Russia
    Posts
    170
    Quote Originally Posted by nnikif View Post
    Этому могут быть какие-то объяснения?
    Угу. Знаки процентов в ссылке на файл. Мой скрипт на это откровенно не рассчитан. Юникод тоже работать не должен.
    А тем, у кого thttpd как настраивать?
    Не знаю. Смотри доки по thttpd как запускать из под него cgi скрипты.
    RT-N56U / Padavan FW

  9. #9

    Rapidshare

    Угу. Знаки процентов в ссылке на файл. Мой скрипт на это откровенно не рассчитан. Юникод тоже работать не должен.
    Спасибо, уже почитал внимательно тред и разобрался. Проблема была с CR знаком из файла, созданного в Windows.
    А вы не хотели бы сделать модификацию скрипта, чтобы он мог подгружать куки? Если нет, то я могу попробовать сделать, хотя опыт писания скриптов нулевой.

    сначала сохраняешь куки:
    Code:
    curl \
        --cookie-jar /usr/local/rapidshare \
        --data "login=UNAME&password=PWORD" \
        https://ssl.rapidshare.com/cgi-bin/premiumzone.cgi \
        > /dev/null
    (curl, потому что у меня wget почему-то этого делать не хочет)
    потом их используешь их при загрузке:
    Code:
    wget --load-cookies /usr/local/rapidshare

  10. #10
    Join Date
    Mar 2007
    Location
    Russia
    Posts
    170
    Quote Originally Posted by nnikif View Post
    А вы не хотели бы сделать модификацию скрипта, чтобы он мог подгружать куки? Если нет, то я могу попробовать сделать, хотя опыт писания скриптов нулевой.
    Честно говоря нет. Меня скрипт устраивает в своем текущем состоянии, но если есть желание его доработать - буду рад оказать посильную помощь. Нужно добавить в конфиг логин с пароль на рапидшару ну и пару дополнительных условий в коде.
    Я обновил шапку - там самая последняя версия скрипта, которая живет у меня на рутере. Не помню правда, что именно я изменял. Помню добавил опции с таймаутами в запуск вгета.
    RT-N56U / Padavan FW

  11. #11

    Ещё пакет

    Megarem, спасибо за скрипт!
    По нажатию кнопочки "ScanFTP" происходит перечитывание списка заданий. Концы строк обрабатываются утилиткой dos2unix.
    • Либо укажи в шапке, что необходимо доустанавливать пакет hd2u,
    • Либо поправь скрипт так, чтобы он обходился без dos2unix, например так:

    Code:
    cat inputfile | tr -d "\r" > outputfile

  12. #12
    Если у вас все настроено, то скрипт будет стартовать автоматически при перезагрузке рутера
    А как сделать, что бы он не стартовал? Мне нужно, что бы скрипт работал строго по времени - 23 до 8.

    И ещё, при запуске скрипт выдаёт такое:
    grep: can't load library 'libuClibc++.so.0'
    Last edited by Dayran; 03-01-2009 at 17:52.

  13. #13
    Кто нибудь может для юзера более подробно разложить по полочкам пункт:

    Установка
    ..............
    Затем скачайте и установите пакет с Download Engine отсюда:
    http://code.google.com/p/dlengine/downloads/list


    Файлы скачал,а как их инсталировать ???
    Заранее благодарен.

  14. #14
    скачать: $ wget http://dlengine.googlecode.com/files...2-1_mipsel.ipk
    поставить: $ ipkg install ./dlengine_1.2-1_mipsel.ipk
    Last edited by al37919; 17-04-2009 at 15:04. Reason: typo

  15. #15
    Странно, при открытии /cgi-bin/dlengine.sh - браузер предлагает скачивание файла, что не так?

Page 1 of 2 12 LastLast

Similar Threads

  1. Download Master
    By nszb in forum WL-500gP Firmware Discussion
    Replies: 124
    Last Post: 03-10-2009, 13:56
  2. Asus WL-500G Premium for torrent download
    By alexdagre8 in forum WL-500gP Q&A
    Replies: 4
    Last Post: 21-08-2008, 21: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
  •