- - * - WhiteUnicorn - * - -




* #WhiteUnicorn/ StartPage/ Tricks/ Opera_Search >


Как научить пятую Оперу пользоваться правильными поисковиками.

(если вы не знаете, что такое Опера, то вам сначала сюда :)

Проблема:

Итак, в Опере версии 5.0 появилось дополнительное поле в адресной строке - поиск. Вы выбираете из выпадающего списка поисковую систему, пишете в строке поиска нужные ключи и Опера сама коннектится к нужному поисковику, сама формирует правильную для него строку запроса, а дальше вы работаете с результатами поиска как обычно. Если нужно поискать тоже самое в другой системе - пожалуйста, выбираете другой поисковик и запрос тут же отправляется туда. При кажущейся простоте идеи работать становится очень удобно, если вы находитесь в постоянном поиске :)

Но есть маленькое неудобство - поисковики (во всяком случае сейчас, в 5.0) заданы жестко - т.е. не настраиваются ни через какие файлы конфигурации и ни через какие окошки. Поскольку Опера все таки буржуинского производства, то и поисковики у нее зашиты самые популярные "у них". А именно Google, HotBot, AltaVista (не путать с AstaLavista ;) и GoTo.

Кому что нравится конечно, но лично я использую в первую очередь Yandex, Aport и Rambler, ну и дальше по обстоятельствам. Искать приходится постоянно и очень много. Ессно, что очень (ну просто _очень_) хочется заюзать такую полезную возможность Оперы, вот только поисковики бы подменить..

Как выяснилось, большой проблемы в этом нет ;)

Солюшен:

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

Итак, проверяем, что Опера у нас не запущена, делаем резервную копию Opera.exe (мало ли чего..) и открываем opera.exe в qview, hiew или чем вы там пользуетесь для редактирования екзешников.

Ищем место, где описаны строки для функции поиска. Проще всего сделать это по названиям, например HotBot и вы попадете в нужный кусочек кода, который выглядит вот так:

cgi  d   Domain Name http://www.goto.com/d/search/p/befree/?Promo=befree0019273
5881894411880&Keywords=%s t   GoTo    http://service.bfast.com/bfast/click?site
id=19273676&bfpage=hotbot2&bfmid=5960107&MT=%s&DC=%i   h   HotBot  http://servi
ce.bfast.com/bfast/click?siteid=30656059&bfpage=wsearch_sm&bfmid=22218516&user=
befree&pg=q&q=%s&nbg=%i  a   AltaVista   http://service.bfast.com/bfast/click?s
iteid=30656053&bfpage=horizontal&bfmid=27253343&q=%s&num=%i   g   Google  ZDOCW

Несложно догадаться, что это именно то, что мы ищем. Массив строчек Оперой читается с хвоста, а формат такой:

НазваниеПоисковика БыстрыйКлюч СтрокаПоиска

Формат строки поиска зависит от поисковика. Вместо %s будет подставлено то, что вы напишете в качестве ключевого слова (если оно будет не по-английски, то Опера сама перекодирует его в набор хекс кодов).

Теперь вспоминаем ;) как выглядит строка поиска тех поисковых машин, которые вы хотите использовать и переписываем нужные строчки.

Для моих любимых это:

Yandex http://www.yandex.ru/yandsearch?text=%s
Aport http://sm.aport.ru/scripts/template.dll?r=%s
Rambler http://search.rambler.ru/cgi-bin/rambler_search?english=0& and=1&words=%s

Менять можно все - название, ключ и строку. Они могут быть длиннее или короче исходных, но если длиннее, то обязательно вписаться до следующего элемента (и нулевой байт один обязательно надо оставить), так что в этом направлении свободы маловато..

Если ваша строка короче исходной, то лишние символы надо забить _нулевыми_байтами_ (это важно, иначе к поисковику все это и уйдет)

Постарайтесь не изменить случайно длину файла (следите, в каком режиме - insert или overwrite вы работаете), иначе при запуске вылетите с ошибкой.

Если где-то промахнетесь, но длину екзешника не собьете - Опера запустится, но в выпадающем списке выбора поисковика будет полный бред (и работать это ессно не будет). В этом случае откройте рядом исходный и исправленный файлы и проверьте смещения начальных символов элементов (и названия, и ключа, и поисковой строки)

В принципе, чуть подальше есть довольно много пустого места. Причем в том же сегменте данных - так что можно перенести туда весь этот кусок и дописать еще поисковиков, т.е. чтобы их было больше, чем четыре (места там до дури, хоть десять еще засунуть можно). Но тогда придется править кучу ссылок в файле, что мне делать определенно лень ;) Мне и четырех систем вполне хватит. Но если у кого-то есть желание - то можно попробовать.


(c) White Unicorn
Любая часть этого документа может быть скопирована любым из существующих способов :)
(Но если вы оставите в форуме свои замечания по поводу успешного / неуспешного применения солюшена, то это будет совсем хорошо :)




* #WhiteUnicorn/ StartPage/ Tricks/ Opera_Search >



- - * - Anastasija aka WhiteUnicorn - * - - LJLiveJournal
PFPhotoFile