Меню сайта
Друзья сайта
Интеграция менеджеров закачки в Opera

Сначала, видимо, следует пояснить зачем это вообще может быть нужно, ведь в Opera есть своя, встроенная качалка. Хотя она и есть, но возможности её к сожалению не слишком велики, например, она не может ограничивать число одновременных закачек, автоматически возобновлять закачку при скачивании с медленного сервера, длительно вести историю или сортировать файлы в зависимоcти от их типа. Да и в списке пожеланий к Opera 10, улучшение встроенной качалки идёт на первом месте, что также говорит о многом. Так что приступим к описанию известных методов интеграции.

Встроенная интеграция


Включается она в самом менеджере закачек, например, в Download Master это Инструменты→Настройки→Общие→Интеграция. В результате в папку Opera\program\plugins будет скопирован плагин перехватывающий ссылки, а в файл меню прописаны пункты вызывающие менеджер закачки и передающие ему в командной строке адрес ссылки и реферррер.
Следует заметить, что обычно информация пишется в Opera\defaults\standard_menu.ini и при обновлении браузера она будет затёрта. Также, эти пункты не будут видны если вы используете своё меню. Решение см. ниже.

oGet


Программа предназначена для использования различных менеджеров закачки вместе с Opera в Windows.
Поддерживается 27+ штук (FlashGet, ReGet, Download Master, USD...).

Возможности:


  • Перехват ссылок.
  • Перехват ссылок по Ctrl+Click, в том числе с rapidshare и т.п.
  • Закачать файл из меню. Выделенный текст (если он есть) добавляется в описание.
  • Закачать всё. Все ссылки на данной странице, передаются в качалку.
  • Закачать выделенное. Все ссылки (включая текстовые) в выделенном тексте передаются в качалку.

Во всех случаях передаётся referrer. При закачке с использованием Ctrl+Click, передаются cookie и post-данные.

Установка:
Перед установкой желательно сделать копию меню в Ctrl+F12→Дополнительно→Панели и меню. Потом закрыть Opera, запустить oGet_setup.exe и указать папку Opera.
Требуемый менеджер закачки выбирается в меню Инструменты→Менеджеры закачки.

Удаление:
Поставьте "Не перехватывать ссылки". Удалите Opera\oget. Переименуйте menu.ini_1.bak в menu.ini (в папке Opera\defaults или \profile\menu).

Скачать (260 KB)


Ручная настройка


Настраиваем перехват ссылок

Нажмите Ctrl+F12, затем выберите Дополнительно→Загрузки. Снимите галочку “Скрыть типы, открываемые Opera” и найдите нужный тип. Пропишите путь к менеджеру закачки в пункте “Открыть в другой программе” и поставьте галочку “Передавать веб-адрес непосредственно приложению”, например, FlashGet-у или kget-у. Если вашему менеджеру закачки нужны дополнительные параметры в командной строке, потребуется промежуточный скрипт.

Основные типы:

 
application/x-arj
application/x-rar-compressed
application/x-zip-compressed
application/zip
application/x-msdownload
application/x-msdos-program
application/octet-stream
application/x-compress
application/x-gtar
application/x-gzip
application/bzip2
application/x-tar

audio/mpeg
video/mpeg
video/x-msvideo
video/quicktime


Предварительно рекомендуется создать (и выбрать) копию меню в Ctrl+F12→Дополнительно→Панели и меню. После этого закройте браузер и добавьте нужные строчки в соответствующие разделы вашего файла меню. Не забудьте, что оно в кодировке UTF-8.
Для Windows:

 
[Link Popup Menu]
[Image Link Popup Menu]
Item, "Закачать при помощи FlashGet"=Execute program,"C:\Program Files\Flashget\flashget.exe","o|%l|%u"

[Document Popup Menu]
Item, "Закачать всё при помощи FlashGet"=Execute program,"C:\Program Files\Flashget\flashget.exe","a|%s|%u"

[Hotclick Popup Menu]
Item, "Закачать при помощи FlashGet"=Execute program,"C:\Program Files\Flashget\flashget.exe","o|%t|%u"

[Link Popup Menu]
[Image Link Popup Menu]
Item, "Закачать с DM"=Execute program,"C:\Program Files\Download Master\dmaster.exe","%l %u description=%T"

[Document Popup Menu]
Item, "Закачать всё с DM"=Execute program,"C:\Program Files\Download Master\dmaster.exe","ALL %u %s"

[Hotclick Popup Menu]
Item, "Закачать с DM"=Execute program,"C:\Program Files\Download Master\dmaster.exe","%T %u description=%T"

Для Linux:

 
[Link Popup Menu]
[Image Link Popup Menu]
Item, "Закачать с Aria"="Execute program, "aria", "-r %u -g %l"
Item, "Закачать с cUrl"="Execute program, "curl", "-L -e %u -O %l"
Item, "Закачать с Downloader 4 X"="Execute program, "d4x","--referer %u -a %l"
Item, "Закачать с KGet"=Execute program, "kget", "%l"
Item, "Закачать с wxDownload Fast"="Execute program, "wxdfast","-reference=%u %l"

Item, "Закачать с Wget"="Execute program, "wget","--referer=%u %l"

[Document Popup Menu]
Item, "Закачать всё"="Execute program,"wget","--referer=%u --input-file=%s --force-html --base=%u"

Тут же, видимо, стоит привести и список значений оперных переменных:

 
%l - Адрес ссылки. (Не работает в разделе [Image Popup Menu])
%u - Адрес текущей страницы. Он же referrer.
%t - Выделенный текст.
%T - Выделенный текст обрамлённый кавычками.
%s - Путь к файлу текущей страницы, находящемуся в кэше.
%c - Содержимое буфера обмена.

Таким образом, вместо «%l» в запущенный менеджер закачки будет передан адрес ссылки, а вместо «%u» - реферрер.

Расширенная интеграция

К сожалению, число оперных переменных ограничено и передать в качалку дополнительную информацию, в частности кукисы и post-инфо, таким способом невозможно. Соответственно, для сайтов проверяющих эту информацию, не получится использовать внешний менеджер закачек. Стандартным способом также не удастся передать в качалку и набор выделенных ссылок.

Но тут на помощь приходит способность Opera, сохранять текст сгенерированный javascript-ом в файл. Конечно предварительно следует создать нужный MIME-тип.

В качестве примера, рассмотрим добавление функции "Закачать выделенное с wxDownload Fast" в Opera под Linux (если вас интересует Windows, посмотрите oGet или его исходники).

Во-первых создайте MIME-тип (Ctrl+F12→Загрузки→Добавить) «text/wxd» и укажите "Открыть в другой программе" startwxdfast. Галочка "Передавать веб-адрес приложению" не нужна, т.к. мы собираемся передать в wxDownload Fast текстовый файл со списком закачек, сгенерированный javascript-ом. Теперь закрываем Opera и добавляем в раздел [Hotclick Popup Menu] вашего файла меню эту строчку:


Item, "Закачать выделенное с wxDownload Fast"="Go to Page,"javascript:void(inivar='%t')",,,"Save" & Go to Page, "javascript:(function(){var rn=navigator.platform=='Win32' ? '\r\n' : '\n'; var lnks, text, re, rearray; var links=''; var lh=location.hostname; var html_selection=document.createElement('div'); html_selection.appendChild(window.getSelection().getRangeAt(0).cloneContents()); lnks=html_selection.getElementsByTagName('a'); for(var i=0, li; li=lnks[i]; i++){if(li.protocol!='javascript:'&&li.protocol!='mailto:'){links+=li.href+rn}}; text=document.getSelection(); if(!text && inivar){text=inivar;inivar=null};text=text.replace(/h.{2,5}p:\/\//gi,'http://').replace(/f.{1,3}p:\/\//gi,'ftp://'); re=/((?:https|http|ftp|mms|rtsp):\/\/[^\s<>\x22\x27]+)/gi; while(rearray=re.exec(text)){links+=rearray[1]+rn}; var fr=document.createElement('iframe'); fr.setAttribute('id', 'tr_dummy');fr.setAttribute('frameborder','0'); fr.setAttribute('style','width:0px;height:0px;visibility:hidden;position:absolute;left:-999em;'); fr.setAttribute('src','data:text/wxd;charset=UTF-8,'+encodeURIComponent(links)); document.documentElement.appendChild(fr); var tr=document.getElementById('tr_dummy'); tr.parentNode.removeChild(tr);})()" "

Замечу, что предполагается, хотя это и не обязательно, использование пользовательского скрипта allow-ini-variables.js.

А теперь последний штрих. Создадим скрипт startwxdfast. Всё что от него требуется, это добавить «wxdfast /list» (или «--list=») в начало командной строки, поэтому можно использовать bash:

 
#!/bin/bash
wxdfast /list "$1"


© А. Рузанов, 24.03.2008 (обновлено 30.03.2008)
Сайт управляется системой uCoz
Календарь новостей
«  Март 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031
Статистика
Реклама