Простой скрипт прокси сервера. Хром скрипт прокси сервера скачивается
Немного о прокси (ищем лучший скрипт)
Немного прокси скриптов с небольшим описанием, вдруг кому пригодится. Скрипты в основном бесплатные. Разумеется, есть множество бесплатных прокси, но из-за нагрузки в большенстве случаев скорость оставляет желать лучшего, а значит наличие собственного - уже хорошо. Так же никто не отменял возможность заработать на рекламе, показываемой пользователям прокси.
Прокси скрипты, которые мне удалось найти:
Glype
Первым, на который я наткнулся, оказался Glype - веб-прокси-скрипт, написанный на PHP. Скачал с оф. сайта, закинул на хост (нелюблю локально тестировать, все в живую. Изначально попадаем в админку, где вводим логин и пароль (его не надо нигде искать, логин и пароль - свои). Затем попадаем в админку, где видим достаточно большое количество настроек. Уже на этом шаге можно просматривать сайты через только что установленный прокси. Возможно бесплатное использование в личных (некоммерческих) целях, для коммерческого использования и удаления ссылки на сайт разработчика необходимо покупать лицензию.
Glype Proxy обладает улучшенной поддержкой JavaScript, фильтром для блокировки как определенных веб-сайтов, так и адресов с заданными ключевыми словами, еще одной полезной функцией Glype Proxy является встроенная система кэширования.
сайт
Оцените Glype
Следующим найденым оказался PHProxy
Скачал архив, закинул на хостинг. В архиве оказалось всего несколько файлов, без видимого присутствия админки как таковой
По скорости, как мне показалось, будет пошустрее предыдущего, к тому же бесплатный. PHProxy - это веб-прокси сервер, предоставляющий возможность обхода различных ограничений, установленных локальным прокси-сервером.
сайт
Оцените PHProxy
Surrogafier
Немного поискав, обнаружил пару мало интересных для себя вариантов и один вполне подходящий (хотя предыдущий мне понравился больше) - Surrogafier
Скрипт так же бесплатный. В скачанном архиве обнаружился всего один файл (.php).
Surrogafier дает возможность удалять куки, поле HTTP Referer, HTTP User-Agent поле, скрипты на странице, так же есть возможность создания туннеля через другой сервер.
Минус - очень тормозит!
сайт (там же работающий вариант)
Оцените Surrogafier
Zelune
Еще один небольшой бесплатный скрипт прокси.
сайт
Оцените Zelune
Ищем еще! (обновляется)
httpmaster.ru
Простой скрипт прокси сервера | Серверные утилиты
Программа состоит из сервера и своего браузера. Сервер постоянно находится в ожидании запроса от Вашего браузера, получив его, без изменений передает через свой (серверный) браузер на запрашиваемую страницу сайта. Серверный браузер получает страницу сайта, тут мы ее при необходимости сжимаем, и сервер передает сжатую страницу (и признак сжатия) Вашему браузеру, который ее распаковывает. Если Вы скачиваете текстовый файл, файл Word, Excel и вообще то, что можно сжать, то происходит все то же самое – Вы получаете сжатый файл, который Ваш браузер распаковывает при получении.Таким образом и запрос Вашего браузера и ответ на него находятся в наших руках. Что можно с ними сделать?С запросом:Не пропускать запросы к рекламным баннерам или к сайтам с ненужным содержанием.Изменить значение поля Accept, указав, что наш браузер не поддерживает флэш (flash) рисунки, хотя есть некоторые сайты, целиком сделанные на флэш (и попадаются красивые). Но в основном, конечно, флэш технологии используются для создания увесистых рекламных баннеров.Вообще можно изменить любое поле запроса, например, «заменив» Ваш браузер на SuperPuper/v.9.14 Platinum. Можно заменить поле «Referer», «Cookie» и т.д., сделав полностью анонимный прокси сервер. Но лично я против подобной «анонимности». При хороших намерениях скрываться нет необходимости. Это все равно, что придти в учреждение в маске.С ответом:Все тоже самое – заменить значение любого поля. Но поскольку теперь к нам попадает некоторое содержание (страница сайта, рисунок), то мы для начала решим, есть ли смысл его сжимать. Не будем сжимать, если:Поле Content-Encoding: непустое, например, gzip.Это все уже запакованные файлы, а также файлы рисунков, которые уже также сжаты. Т.е. судим по расширению (типу) полученного файла. Список приведен в программе, наверняка Вы дополните его.Размер полученного файла мал. Например файл таблицы стилей или Java-Script. На мой взгляд, файлы размером меньшим, чем несколько килобайт сжимать не стоит.Все остальное сожмем. И добавим признак сжатых данных, т.е. Content-Encoding: gzip. Интересно, кстати, выглядят сжатые данные! Когда работал в одной организации, там была девушка по имени Зубарзят, у нее такая внешность, что теперь все непонятные символы называю зубарзятами.По наблюдениям степень сжатия колеблется в зависимости от содержания и типа данных от 2 до 10 раз. Текстовые файлы и файлы html в пределах от 4 до 10, обычно 5 – 7 раз. Учитывая, что на страницах сайтов имеются еще и рисунки, которые мы не сжимаем, то общее сжатие обычно в пределах от 2 до 5 раз. Соответственно время передачи данных меньшего размера уменьшается во столько же раз. А время обработки данных в десятки и сотни раз меньше времени передачи, так что оно не замечается.Содержание перед сжатием можно проанализировать и:Не пропускать рисунки большего размера, чем нами заданный.Оставить только текстовое содержимое.Не пропускать Java-Script и Java.Но все это можно сделать и в настройках своего браузера.Добавлять что-либо к содержимому страницы, например, кнопки управления Прокси Сервером или текущий курс акций, валюты, и т.д. и т.п.Попутно замечу, что IP у Вас будет такой же, как у Вашего хостинга.Практически кажая строка программы прокомментирована на странице http://blankinew.narod.ru/szhimaem_internet_trafik_proxy_server.html
www.internet-technologies.ru
Proxy Auto Configuration (PAC) / Песочница / Хабр
В рунете мало информации об такой замечательной вещи как «Автоматическая настройка прокси сервера». В этой статье я постараюсь подробно остановиться на данном вопросе. Суть технологии заключается в том, что браузер читает специальный файл написаный на языке JavaScript, в котором определена только одна функция:Функция возвращает строку содержащую один или несколько способов доступа к запрашиваемому документу. Формат строки следующий:
null — если строка null, то использовать прокси сервер не нужно; DIRECT — прямое соединение без использования прокси; PROXY host:port — определяет какой прокси сервер необходимо использовать; SOCKS host:port — определяет SOCKS сервер который необходимо использовать.
Строка может содержать несколько приведенных выше параметров разделенных точкой с запятой. Тогда браузер будет перебирать их по очереди пока не найдёт доступный прокси сервер. В главной функции могут быть вызваны следующие функции:
- isPlainHostName(host) возвращает true если строка host не содержит точек (".").
- dnsDomainIs(host, domain) вернет true если domain принадлежит host
- localHostOrDomainIs(host, hostdomain) возвращает true если строка host (имя хоста или домена) содержится в строке hostdomain
- isResolvable(host) возвращает true если возможно определить IP адрес для заданной строки host
- isInNet(host, pattern, mask) возвращает true если IP адрес или имя хоста в строке host соответствует шаблону pattern и маске mask
- dnsResolve(host) возвращает IP адрес для заданного host
- myIpAddress() возвращает IP адрес компьютера
- dnsDomainLevels(host) возвращает количество точек в строке host. Другими словами уровень домена
- shExpMatch(str, shellexp) вернет true если строка str соответствует регулярному выражению в строке shellexp (формат регулярных выражений shellexp, а не regexp). Например shExpMatch("a/b/c","*/b/*") вернет true
- weekdayRange(wd1 [, wd2 ][, "GMT"]) вернет true если текущая дата или дата заданная в параметре GTM, соответствует заданному дню недели или диапазону дней. Дни недели записываются в закавыченной строке из следующих вариантов (SUN|MON|TUE|WED|THU|FRI|SAT)
- dateRange([day1] [,month2] [,year1] [,day2] [,month3] [,year2] [,"GMT"]) вернет true если текущая дата или дата заданная в параметре GTM попадает в указанный диапазон. Название месяца задается закавыченной строкой из следующих вариантов (JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)
- timeRange(hour1, minute1, second1, hour2, minute2, second2 [, "GMT"])
- timeRange(hour1, minute1, hour2, minute2 [, "GMT"])
- timeRange(hour1, hour2 [, "GMT"])
- timeRange(hour [, "GMT"])
Приведу небольшой пример:
function FindProxyForURL(url, host) { if (isPlainHostName(host) || dnsDomainIs(host, ".mydomain.com")) return "DIRECT"; else if (shExpMatch(host, "*.com")) return "PROXY proxy1.mydomain.com:8080; " + "PROXY proxy4.mydomain.com:8080"; else if (shExpMatch(host, "*.edu")) return "PROXY proxy2.mydomain.com:8080; " + "PROXY proxy4.mydomain.com:8080"; else return "PROXY proxy3.mydomain.com:8080; " + "PROXY proxy4.mydomain.com:8080"; }
Данный скрип говорить устанавливать браузеру прямое соединение для локальных хостов или под доменов домена .mydomain.com. Для доменов из зоны .com используются прокси серверы 1 и 4, для доменов из зоны .edu прокси 2 и 4 ну и для всех оставшихся вариантов прокси 3 и 4.
Теперь остановлюсь на вопросе как указать браузеру использовать автоматическую конфигурацию прокси серверов. Для этого есть несколько вариантов:
- Задать адрес скрипта вручную. Скрипт выкладывается на сервер доступный для пользователя. Обычно имя скрипта proxy.dat, однако если следовать спецификации WPAD скрипт следует назвать wpad.dat. Так же сервер должен отдавать файл с MIME типом application/x-ns-proxy-autoconfig
- Второй способ WPAD метод основанный на DNS. Подробнее можно прочесть по ссылке ru.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol
- И третий способ WPAD, основанный на DHCP. WPAD просто выдает PAC скрипт с выбранный номером 252 в «аренду» запросившему IP. Браузер получает URL скрипта и просто качает его по ссылке. Для этого необходимо:
- Добавим в /etc/dhcp/dhcpd.conf следующие строчки. option local-pac-server code 252 = text; option local-pac-server "wpad.example.com:80/wpad.dat\000";
- Перезапустите DHCP сервер.
- В браузере Explorer Сервис -> Свойства обозревателя -> Подключения -> Настройка сети поставить галочку напротив опции «Автоматическое определение параметров» или поставить галочку напротив опции «Использовать сценарий автоматической настройки» и в поле «Адрес» написать путь до PAC файла. Например: wpad.example.com:80/wpad.dat
- В браузере Opera Настройки -> Дополнительно -> Сеть -> Прокси-серверы поставить галочку напротив опции «Автоматическая конфигурация прокси-сервера» и в поле «Адрес» написать путь до PAC файла.
- В браузере Firefox Инструменты->Настройки->Дополнительно->Сеть->Соединение(Настроить) выберать опции «Автоматически определять настройки прокси для этой сети» или выберать опцию «URL автоматической настройки сервиса прокси» и в поле «Адрес» написать путь до PAC файла.
habr.com