Morph: Proxy Auto Config для mozilla\opera\ie

6 сообщений / 0 new
Последнее сообщение
Гость
Morph: Proxy Auto Config для mozilla\opera\ie

Хочу сделать сабж, но нифига не выходит.
Есть прокси(один) и есть сайты, к которым ходится на прямую(их можно перечислить).

т.е. мне надо сделать таким образом:
если назначение не domain1.com
не domain2.com
не domain3.com, то идти через проксю myipproxy:3128

кстати домены в этом случае надо полностью писать? или если указан 2-го уровня, он и на третий пройдет без прокси? Т.е. указан в PAC domain1.com, а я иду на site.domain1.com, то не через проксю пойдет? или 3-й уровень тоже указывать?

Почему я написал в программирование - потому что вроде как это ява-скрипт ;)

[code]
function FindProxyForURL(url, host)
{
if (isPlainHostName(host) ||
dnsDomainIs(host, ".domain1.com"))
return "DIRECT";
else
if (isPlainHostName(host) ||
dnsDomainIs(host, ".domain2.com"))
return "DIRECT";
else
if (isPlainHostName(host) ||
dnsDomainIs(host, ".domain3.com"))
return "DIRECT";
else
return "PROXY myipproxy:3128";
}
[/code]
[ Редактирование ]
[ Редактирование ]

AA (не проверено)

А зачем это делать? Настроить проксю можно как нужно.

Zmey (не проверено)

[quote=Morph]Почему я написал в программирование - потому что вроде как это ява-скрипт ;)[/quote]
Что-то я не догнал краями... [(с) Шматрица]
Не пойму, при чём тут яваскрипт? Как оно вообще работать будет?
Насколько я понимаю, из яваскрипта проксю в браузере не установишь. Разве что показать на экране юзеру можно. А смысл? %-6

cin
Не в сети
Зарегистрирован: 21/09/2010

очень даже будет. из этого самого ява скрипта браузер узнает каковы настройки проксика. делают это обычно для того что бы не бегать и на куче клиентских машин не перенастраивать конфигурацию прокси. работает это следующим образом:
браузер ищет хост с именем wpad поэтому в DNS должен быть прописан хост с этим именем, а на клиенте должны быть указаны домены, которые необходимо добавлять к имени хоста. обычно wpad является CNAME на www.
далее браузер делает запрос к http://wpad/wpad.dat именно там и должен располагаться написанный выше скрипт. в связи с этим web-сервер должен уметь отдавать dat файлы не как бинарь, а как ява скрипт.
Эта схема для MS IE и "Астоматическое определение настроек прокси". для остальных браузеров необходимо полностью указывать расположение данного скрипта например http://10.0.0.1/autosquid.js так как они сами не пытаются искать его в стандартных местах.

Nick
Не в сети
Зарегистрирован: 20/09/2010

Zmey:
Если ты не понял, это твоя проблема. В гугле есть описание стандарта на сценарии автоностройки прокси на JavaScript. Стандарт разработан Netscape в одна тысяча девятьсот лохматом года и поддерживается всеми браузерами.

AA:
Настрой мне прокси "как нужно", чтобы браузер на определенные домены и IP-адреса ходил мимо прокси вообще, а на определенные -- через другой прокси. И чтобы не требовалась регулярная перенастройка на 50 машинах. Group Policy не предлагать -- сервер на Linux, часть клиентов тоже.

Zmey (не проверено)

[quote=Nick]Если ты не понял, это твоя проблема. В гугле есть описание стандарта на сценарии автоностройки прокси на JavaScript. Стандарт разработан Netscape в одна тысяча девятьсот лохматом года и поддерживается всеми браузерами.[/quote]
Обхамил старика, молодца... Возьми с полки пирожок.
Вот если бы ты кроме имитации праведного гнева и криков "тугугл" ещё и ссылку конкретную дал на описание стандарта - вот тогда от твоего высказывания действительно была бы какая-то польза. А так - извини, сотрясение клавиатуры.

2Morph:
Я бы написал это так:
[code] function FindProxyForURL(url, host)
{
if(dnsDomainIs(host, ".domain1.com"))
return "DIRECT";
if(dnsDomainIs(host, ".domain2.com"))
return "DIRECT";
if(dnsDomainIs(host, ".domain3.com"))
return "DIRECT";
return "PROXY myipproxy:3128";
} [/code]

RSS-материал