You need to be logged in to post in the forums. If you do not have an account, please sign up first.
Расширение настроек интеграции программ-качалок
Недостатки ОперыНедостатки плагинов
Предложение
Для устранения описанных недостатков, предлагаю:
- В глобальные настройки (например, сюда: Инструменты -> Настройки -> Дополнительно -> Программы) добавить 2 опции:
а) "Внешний менеджер закачек" - текстовое поле, в котором пользователь мог бы указать путь к внешней качалке;
б) "Формат параметров командной строки" (для внешнего менеджера закачек) - текстовое поле, в котором пользователь мог бы указать параметры командной строки для указанной внешней качалки, с возможностью использования переменных:
%l - ссылка на файл;
%u - адрес страницы, с которой была открыта ссылка на файл (это не сложно, т.к. аналогично заполняется заголовок "Referer" при закачке встроенной качалкой). - Во все диалоги, которые появляются при перехвате ссылки на файл, когда для типа файла настроено "Показать диалог загрузки" (т.е. в этот, в этот и т.п.) добавить выбор действия "Передать во внешний менеджер закачек" (с помощью кнопки, либо переключателя и т.п.).
Выбор этого действия должен быть не видим, если в глобальных настройках не заполнена опция "Внешний менеджер закачек".
При выборе этого действия Опера должна запускать внешний менеджер закачек указанный в глобальной опции "Внешний менеджер закачек" с параметрами командной строки соответствующими глобальной опции "Формат параметров командной строки". Т.е. путь к внешней качалке в кавычках, далее пробел, а далее то, что написано в глобальной опции "Формат параметров командной строки", но вместо переменных должны подставляться их значения.
Тогда, если ссылка на файл = http://example.com/primer.zip , адрес страницы = http://example.com/ , и FlashGet установлен в папку по-умолчанию, то он должен запуститься так:
"C:\Program Files\FlashGet\flashget.exe" o|http://example.com/primer.zip|http://example.com/
З.Ы.
Голосование
| Option | Results | Votes | |
|---|---|---|---|
| Мне всё равно | 29% | 6 | |
| За | 48% | 10 | |
| Против (просьба отписывать причины) | 24% | 5 | |
| Total number of votes: | 21 | ||
1. April 2010, 12:07:10 (edited)
Как известно, если программа-качалка (менеджер закачек) может принимать ссылку на новую закачку через параметр командной строки (а нормальная качалка должна принимать), то интеграцию программы-качалки в Оперу для перехвата закачек, каждый может с лёгкостью произвести самостоятельно, путем указания такой настройки для каждого необходимого типа файла (rar, exe, zip, и т.д.). Тогда ссылки на файлы, для которых таким образом настроена обработка типа, будут автоматически перехватываться при попытке загрузить файл и добавляться в список закачек программы-качалки.
Вроде бы функция полезная и удобная, но у неё есть серьёзный недостаток.
Программе-качалке нужна не только ссылка на файл, но и адрес страницы, на которой находится ссылка на файл. Кроме того, некоторые программы-качалки могут принимать через параметр командной строки ещё какую-то информацию. При этом возможно, что адрес страницы и прочую информацию качалка принимает только в строго определенном формате.
Но в Опере нет возможности настроить, ни формат передачи параметров в качалку, ни то, какую информацию нужно передавать (при указанной выше настройке, Опера просто передает ссылку на файл в качестве первого параметра командной строки).
Например, FlashGet 1.73 может принимать, как просто ссылку на файл (без ключей), так и адрес страницы, на которой находится ссылка на файл, в таком формате: "o|ссылка на файл|адрес страницы", где "o" - это ключ. Адрес страницы FlashGet прописывает в соответствующее поле закачки, которое в русской версии называется "Ссылка".
Недостаток Оперы 2
При использовании внешних программ-качалок, если в Опере настроена передача закачки во внешнюю качалку (с помощью плагина, либо с помощью такой настройки), то после перехвата ссылки нет возможности отказаться от передачи во внешнюю качалку для того, чтобы открыть файл закачав его предварительно встроенным менеджером закачек.
Думаю всем, кто пользуется внешними качалками понятно, что это неудобно, т.к. часто хочется просто открыть и посмотреть мелкий файл (а бывает что и крупный), не сохраняя его в каком-то конкретном месте с помощью качалки.
1. April 2010, 11:35:40 (edited)
Конечно, есть всякие плагины для интеграции качалок в Оперу, но у них тоже могут быть серьезные недостатки:
1. Плагины могут поддерживать не все типы файлов, которые хотелось бы качать качалкой, например, плагин для FlashGet не поддерживает pdf, djvu и ещё много чего...
2. Новые версии плагинов могут не всегда появляться вовремя, чтобы быть совместимыми с новой версией Оперы, а возможно и с новой версией самой качалки. Например, плагин для FlashGet уже 4 года не обновлялся, и в результате: не перехватывает некоторые exe-файлы (кстати, в т.ч. инсталяшку Оперы) и не подхватывает адрес страницы (который нам и нужен) - это только то, что я заметил при беглой проверке.
1. April 2010, 11:35:49 (edited)
Как известно, некоторые сайты применяют защиту от прямых ссылок, размещенных вне сайта. Такая защита может применяться по разным причинам. Например, применяется для того, чтобы пользователи заходили на сайт, читали рекламу на его страницах, и только потом скачивали файл. Ещё один пример - это защита от DDoS-атак (не углублялся, но, например, тут так пишут).
Один из методов защиты от прямых ссылок (а может и единственный - не углублялся) - это проверка заголовка "Referer" в HTTP-запросе на соответствие некоторому значению.
Поэтому в качалке FlashGet (а скорее всего и в других есть) для обхода такой защиты имеется возможность указать адрес страницы, на которой находится ссылка на файл, в поле "Ссылка" закачки. А при выполнении закачки FlashGet помещает значение из поля "Ссылка" в заголовок "Referer".
Конечно, в качалке FlashGet (а скорее всего и в других есть) применяется и автоматическое заполнение заголовка "Referer" начальной частью ссылки на файл, если поле "Ссылка" не заполнено. Но далеко не всегда сайт проверяет именно такое соответствие. Тем более, если файл и страница расположены на разных сайтах.
datatp.com.ua/nak/Nak937.zip - вот пример файла, который не удастся скачать, ни качалкой, ни браузером, если заголовок "Referer" не будет содержать "testportal.gov.ua".
Т.е. для того, чтобы скачать этот файл качалкой FlashGet, достаточно в поле "Ссылка" закачки прописать адрес страницы, на которой находится ссылка на файл: www.testportal.gov.ua/index.php/text/doc
Поэтому автоматическое заполнение заголовка "Referer" - это менее универсальный метод, чем принудительное заполнение заголовка "Referer" адресом страницы (в данном случае через поле "Ссылка" закачки).
Вот поэтому качалке и нужен адрес страницы, на которой находится ссылка на файл. Кроме того, удобно, когда адрес страницы присутствует в лог-файле закачки.
1. April 2010, 13:16:33 (edited)
1. Насчет того, что можно добавить пункты "Закачать с помощью ..." в различные меню. Это понятно, и этим я пользуюсь, но не всегда на странице есть ссылка, которую поймет качалка (если вообще есть ссылка), т.е. иногда нужно только перехватывать, чтобы закачать качалкой.
2. Если кому-то нужна дополнительная переменная, то создавайте отдельное предложение, как дополнение к этому.
3. Те, кто используют несколько качалок и хотят для разных типов файлов настроить разные качалки так, чтобы отсутствовали описанные недостатки, могут создать отдельное предложение, как дополнение к этому. Т.е., например, предложить в нем, чтобы в диалог "Изменение свойств типа файлов" тоже добавили опции "Внешний менеджер закачек" и "Формат параметров командной строки" (для внешнего менеджера закачек), но так, чтобы эти опции имели приоритет над глобальными.
4. Те, кому нужно, чтобы отсутствовал описанный недостаток Оперы 1, при передаче ссылки в качалку без запроса (т.е. при такой настройке), могут создать отдельное предложение, в котором предложить, чтобы под флажком "Передавать веб-адрес непосредственно приложению" диалога "Изменение свойств типа файлов" добавили опцию "Формат передачи адреса", аналогичную описанной тут опции "Формат параметров командной строки".
1. April 2010, 13:19:47 (edited)
И немного перефразировал З.Ы.4.
Никаких недостатков приведенных выше, да и Opera несильно распухнет, ведь основа для этих функций уже есть.Originally posted by rupunk:
Если разрабы будут писать свой браузер под каждую качалку на свете - .. (ну вообщем вы поняли).
Речь идет не о том, чтобы подкручивать браузер под каждую качалку, а, наоборот о том чтобы сделать простую универсальную настройку, которая позволяла бы вручную интегрировать любую нормальную качалку для перехвата любого типа файлов без использования плагинов, учитывая, что с плагинами могут быть проблемы.
Originally posted by rupunk:
Орбит допустим нормально интегрируется.
Эта информация не верна.
Глянул я этот Орбит (на Опере 10.51): ВСЕ указанные проблемы имеются и с ним!
З.Ы. Что такое "АМ2"?
Этого недостаточно, на той же рапиде нужна поддержка post-запросов. В других местах требуются кукисы. А FlashGet воспринимает их только через COM.
Впрочем, кажется последнее уже реализовано при работе с FlashGet 3
1. April 2010, 21:36:17 (edited)
Originally posted by Lex1:
Этого недостаточно, на той же рапиде нужна поддержка post-запросов.
Не знаю, какую рапиду Вы имеете ввиду, но только что скачал флэшгетом 1.73 файл с rapidshare.com с помощью такой настройки, т.е. даже без "Referer". А с "Referer" (т.е. с адресом страницы) тем более качается. Кроме того для сервисов типа рапиды есть специальная эффективная качалка.
Originally posted by Lex1:
В других местах требуются кукисы.
Можно пример?
Уже года 2 качаю флэшгетом (качаю, правда, сравнительно мало) без плагина (через параметры командной строки), т.е. никакие кукисы Опера ему не передает (если конечно он сам их не берет из файлов Оперы, что вряд ли). И ни разу не было из-за кукисов проблем с закачкой.
Во-первых, функционал загрузки уже есть. Если оперный загрузчик что-то не понимает в ссылках для скачивания - велкам ту баг-репорт визард.
Во-вторых, если вы хотите использовать другой загрузчик, но Opera некорректно передаёт ссылки на скачку - велкам ту баг-репорт визард.
В-третьих, внедрение подобных улучшений поможет только гикам, которые и так смогут решить аналогичные проблемы. Обычный пользователь (типа меня) только запутается в этих подстановках всяких переменных.
Originally posted by IlyaShpankov:
Во-вторых, если вы хотите использовать другой загрузчик, но Opera некорректно передаёт ссылки на скачку - велкам ту баг-репорт визард.
А кто говорит, что Opera некорректно передаёт ссылки на скачку? Я такого не говорил. Она корректно передает ссылки, согласно задуманной авторами логике, но внешней качалке нужна не только ссылка на файл, но и адрес страницы, на которой находится ссылка. И нужно это не в таком варианте, как Опера передает внешней программе, а в таком варианте, как я описал, чтобы устранить одним махом сразу все описанные недостатки. Поэтому и предлагаю расширить функционал. Баги тут не причем.
Originally posted by IlyaShpankov:
В-третьих, внедрение подобных улучшений поможет только гикам, которые и так смогут решить аналогичные проблемы. Обычный пользователь (типа меня) только запутается в этих подстановках всяких переменных.
Обе проблемы гик может решить, написав патч к Опере, который добавит соответствующий функционал. Только проблему с адресом страницы можно решить, написав нормальный плагин (если Опера предоставляет плагинам такую возможность, в чем я сомневаюсь, т.к. из 3-х известных мне популярных качалок, ни у одной плагин не подхватывает адрес страницы).
Т.е. вы хотите сказать, что разобраться с двумя переменными Оперы и параметрами командной строки качалки может только человек умеющий писать плагины и сложные патчи? Вы явно недооцениваете пользователей и в т.ч. себя.
З.Ы. Кстати, при интеграции качалок в IE, недостатка описанного во второй части этого сообщения нет, и качалки успешно этим пользуются. Так почему Опера должна отставать от IE в этом вопросе? Кроме того при интеграции в IE качалки, как правило позволяют пользователю настроить перехват любого типа файла, чего не скажешь о плагинах для Оперы. И винить в этом плагины не очень логично, т.к., насколько я понял, в плагинах нужно учитывать индивидуально каждый типа файла, а все типы предусмотреть невозможно, поэтому и делают плагины только для самых-самых популярных типов.
И не понятно, зачем вообще пользователь должен зависеть от каких-то плагинов, если достаточно добавить в Оперу простые универсальные опции для интеграции любой качалки?
Хотя я согласен с Lex1, что этих опций может быть не достаточно, но я не нашел подтверждения тому, что могут быть проблемы с куками или post-запросами, о которых говорил Lex1. И не факт, что хотя бы один плагин спасает от этих проблем (если они есть).
Originally posted by Tverskoy:
Вашу идею нельзя рассматривать, как альтернативу моей идее, т.к. по функциональности Оперному загрузчику далеко до нормальных внешних качалок. А если встроенный загрузчик начнет значительно приближаться к внешним, то думаю, значительная часть пользователей вообще свалит с Оперы. Т.к. тем, у кого браузер и качалка работают в основном в разное время, не нужен такой комбайн из двух монстров.
Originally posted by Tverskoy:
Никаких недостатков приведенных выше, да и Opera несильно распухнет, ведь основа для этих функций уже есть.
В моей идее тоже нет этих недостатков. Моя идея, наоборот, устраняет их. Да и распухнет Опера от Вашей идеи уж точно не менее, чем от моей: 2 текстовых поля в настройках, кнопка, и простая доработка алгоритма запуска внешней программы.
Не знаю, какую рапиду Вы имеете ввиду
Любой файлообменник с каптчей.
но внешней качалке нужна не только ссылка на файл, но и
И с этим должно значительно лучше справляться существующее решение:

Ставим FlashGet 3, включаем opera:config#UserPrefs|UseExternalDownloadManager и убеждаемся сами.
Хотя поддержки трёх китайских качалок очевидно недостаточно.
"Внешний менеджер закачек"
Кстати, поле opera:config#UserPrefs|DownloadManager - документировано?
Originally posted by Lex1:
Любой файлообменник с каптчей.
Попробовал ifolder.ru и openfile.ru (и там, и там есть капча) - качает.
Originally posted by Lex1:
И с этим должно значительно лучше справляться существующее решение:
Ставим FlashGet 3, включаем opera:config#UserPrefs|UseExternalDownloadManager и убеждаемся сами.
Хотя поддержки трёх китайских качалок очевидно недостаточно.
О... а я и не знал, что такое появилось. Спасибо, за подсказку. Это через COM получается?
Так это почти то, что мне нужно, только Referer не передается. Но раз ведутся работы в этом направлении, то наверно доделают, чтобы передавался. И надеюсь, новые версии FlashGet будут более вменяемые (от 2-й линейки многие плевались, в т.ч. и я, а с 3-й пока некогда разбираться).
Насчет лучше - может и лучше, а может и одинаково, т.к. в обоих случаях нужна поддержка со стороны качалки (кукисы ведь можно и через параметры передавать, и есть качалки, которые принимают).
Originally posted by Lex1:
Кстати, поле opera:config#UserPrefs|DownloadManager - документировано?
Тут пока нет, ни этого, ни UseExternalDownloadManager, ни ShowDownloadManagerSelectionDialog.
Originally posted by iFort:
Вашу идею нельзя рассматривать, как альтернативу моей идее, т.к. по функциональности Оперному загрузчику далеко до нормальных внешних качалок. А если встроенный загрузчик начнет значительно приближаться к внешним, то думаю, значительная часть пользователей вообще свалит с Оперы. Т.к. тем, у кого браузер и качалка работают в основном в разное время, не нужен такой комбайн из двух монстров.
Так почему вы еще пользуетесь Оперой ведь в ней есть unite, irc, почта и rss
Качалка уже есть, и она лучшая из стандартных среди браузеров, только не хватает нескольких функций. И обычно менеджер закачек почти всегда стартует при загрузке, так что эти программы используются одновременно.Originally posted by Tverskoy:
Так почему вы еще пользуетесь Оперой ведь в ней есть unite, irc, почта и rss
Потому, что теми компонентами, которые мне не нужны я не пользуюсь, и они мне не мешают вроде.
З.Ы. Хотя, если не используемые компоненты все же влияют на скорость загрузки Оперы, то я за то, чтобы их можно было вообще не устанавливать.
Originally posted by Tverskoy:
Качалка уже есть, и она лучшая из стандартных среди браузеров, только не хватает нескольких функций.
Мне хватает, т.к. для серьезных закачек я использую внешнюю. А внутренняя нужна для того, чтобы закачать, сразу посмотреть и "забыть", ну или если вдруг передумал "забывать" (что бывает редко), то открываю встроенную качалку и копирую файл туда, куда мне нужно.
Originally posted by Tverskoy:
И обычно менеджер закачек почти всегда стартует при загрузке, так что эти программы используются одновременно.
Ни кто не мешает убрать его из автозагрузки. Что и делают те, кому это нужно.
Forums » Объявления и обсуждения » Предложения по браузерам Opera (wishlist)