LINUX.ORG.RU

[js]перенаправление на прокси

 


0

0

Доброй ночи. Пытаюсь написать небольшой js скрипт для midori. Задача - при попадании на определенные ресурсы ( библиотеки ) использовать для доступа к ним proxy .
То есть, приблизительно : получить от браузера линк -> заменить начало линка на cgi прокси -> вернуть браузеру измененную ссылку.
К сожалению .js вижу первый раз, но на примерах с userscripts.org соорудил вот что

//
// ==UserScript==
// @name          journal_proxy
// @description   rewrite url to include cgi proxy
// @include       http://*sciencedirect.com/*
// @include       http://*springerlink.com/*
// ==/UserScript==

var proxy = "some_proxy/http/"

//replace http:// with proxy url

window.location.href=window.location.href.replace(/^.{7}/, proxy); 


Результат получается не очень хороший : сначала страничка открывается напрямую, минуя прокси, затем, через 2-3с, она обновляется уже через прокси, но после прогрузки процесс начинает повторяется, то есть получается уже вида proxy/proxy/link и так далее, в итоге браузер виснет. Есть подозрение, что это из-за автообновления, но его отключения в мидори не нашел.

Возможно ли как-то получить линк от браузера до открытия странички ?
В чем может быть причина цикличного обращения к прокси?

★★★★★

Все, разобрался.

 
//
// ==UserScript==
// @name          journal_proxy
// @description   rewrite url to include journal proxy
// @include       http://*sciencedirect.com/*
// @include       http://*springerlink.com/*
// @exclude       http://caliban.su/cgi-bin/*
// ==/UserScript==

var px = "http://proxy_url/" ;
var prot = window.location.protocol.replace(/.$/,"");
var pr_url  =  px + prot + "/" + window.location.host + window.location.pathname ; 
window.location.replace (pr_url) ;

Но неожиданная проблема, при открытие через прокси на базе nph-proxy.cgi sciencedirect.com страничка подвисает. остальные ресурсы открываются нормально через прокси.

silw ★★★★★
() автор топика

Надо было форкнуть midori и запилить функционал в исходники.

Zhid
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.