Инструменты пользователя

Инструменты сайта


wpad:wpad

Протокол автоматической настройки прокси (WPAD)

WPAD (Web Proxy Auto-Discovery Protocol)

Протокол автоматической настройки прокси — метод, используемый клиентами для определения места (URL) расположения конфигурационного файла с использованием технологий DHCP и/или DNS.

После того, как определено местоположение файла конфигурации и сам файл получен, клиент использует его для определения, каким прокси воспользоваться для каждого конкретного URL.

WPAD протокол только определяет механизм поиска файла конфигурации, а вместе с ним чаще всего используется формат конфигурационного файла разработанный фирмой Netscape в 1996 для Netscape Navigator 2.0.

Настройка

FIXME

Нужно создать файл wpad.dat, который будет доступен для чтения всем пользователям в локальной сети.

1. Настроить сервер HTTP, например Mini-HTTPd

2. В корень сервера HTTP нужно положить файл wpad.dat

Пример:

wpad.dat
function FindProxyForURL(url, host) {
// Если URL не содержит точек в адресе, то работаем напрямую.
if (
   isPlainHostName(host)
   )
return "DIRECT";
 
// Локальные адреса с которыми нужно работать напрямую.
if (
   shExpMatch(url,"http://*.domain.ru") ||
   shExpMatch(url,"https://*.domain.ru") ||
   shExpMatch(url,"ftp://*.domain.ru")
   )
return "DIRECT";
 
// Специально для СБиС онлайн
if (shExpMatch(url,"*.sbis.ru*"))return "PROXY proxy:3128";
 
// Локальные IP адреса с которыми нужно работать напрямую.
var resolved_ip = dnsResolve(host);
if (
    isInNet(resolved_ip, "127.0.0.0", "255.255.255.0") ||
    isInNet(resolved_ip, "10.0.0.0", "255.0.0.0") ||
    isInNet(resolved_ip, "192.168.0.0", "255.255.0.0")
    )
return "DIRECT";
 
// Разные варианты прокси серверов по проторолам
if (shExpMatch(url, "http:*"))  return "PROXY proxy:3128";
if (shExpMatch(url, "https:*")) return "PROXY proxy:3128";
if (shExpMatch(url, "ftp:*")) return "PROXY proxy:3128";
if (shExpMatch(url, "ws:*")) return "SOCKS proxy:1080";
if (shExpMatch(url, "wss:*")) return "SOCKS proxy:1080";
}

3. Настроить сервер DNS задав для сервера имя wpad в локальном домене

4. Настроить сервер DHCP

URL должен быть таким: http://wpad/wpad.dat

Протестировано с следующими прокси серверами:

Для старых браузеров рекомендуется создать ссылки на основной файл:

wpad_links.sh
#!/bin/bash
 
www_root=/var/www/html
 
cd $www_root
ln -s wpad.dat wpad.da
ln -s wpad.dat proxy.pac

Тестирование

Утилита для тестирования PACtester: http://code.google.com/p/pactester/

Ссылки

wpad/wpad.txt · Последние изменения: 2020-06-02 10:21 — GreyWolf