• Главная

Простой скрипт прокси сервера. Хром скрипт прокси сервера скачивается


Немного о прокси (ищем лучший скрипт)

Немного прокси скриптов с небольшим описанием, вдруг кому пригодится. Скрипты в основном бесплатные. Разумеется, есть множество бесплатных прокси, но из-за нагрузки в большенстве случаев скорость оставляет желать лучшего, а значит наличие собственного - уже хорошо. Так же никто не отменял возможность заработать на рекламе, показываемой пользователям прокси.

Прокси скрипты, которые мне удалось найти:

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

Простой скрипт прокси сервера | Серверные утилиты

  • Сайтостроение
  • Скрипты
  • Perl скрипты
  • Серверные утилиты
  • Программа состоит из сервера и своего браузера. Сервер постоянно находится в ожидании запроса от Вашего браузера, получив его, без изменений передает через свой (серверный) браузер на запрашиваемую страницу сайта. Серверный браузер получает страницу сайта, тут мы ее при необходимости сжимаем, и сервер передает сжатую страницу (и признак сжатия) Вашему браузеру, который ее распаковывает. Если Вы скачиваете текстовый файл, файл 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, в котором определена только одна функция:

    function FindProxyForURL(url, host) {  ... } где,url – полный URL запрашиваемого документаhost – имя поста извлекаемое из URL. Этот параметр необходим только для удобства. Он содержит всё от :// и до первого / или :. Номер порта не включается в этот параметр.

    Функция возвращает строку содержащую один или несколько способов доступа к запрашиваемому документу. Формат строки следующий:

    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"])
    Браузеры Firefox и Internet Explorer поддерживает только системную кодировку в PAC файле и не поддерживают Unicode кодировки, такие как UTF-8.

    Приведу небольшой пример:

    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 скрипта и просто качает его по ссылке. Для этого необходимо:
      1. Добавим в /etc/dhcp/dhcpd.conf следующие строчки. option local-pac-server code 252 = text; option local-pac-server "wpad.example.com:80/wpad.dat\000";
      2. Перезапустите DHCP сервер.
      Небольшой нюанс — у DHCP приоритет выше, чем у DNS, как следствие — гораздо быстрее. И можно вместо имени сайта указать его IP, в этом случае отсутствуют расходы времени на преобразование адреса в имя, что добавляет скорости.
    Настройка браузеров. В параметрах программы нужно указать определение прокси-сервера:
    1. В браузере Explorer Сервис -> Свойства обозревателя -> Подключения -> Настройка сети поставить галочку напротив опции «Автоматическое определение параметров» или поставить галочку напротив опции «Использовать сценарий автоматической настройки» и в поле «Адрес» написать путь до PAC файла. Например: wpad.example.com:80/wpad.dat
    2. В браузере Opera Настройки -> Дополнительно -> Сеть -> Прокси-серверы поставить галочку напротив опции «Автоматическая конфигурация прокси-сервера» и в поле «Адрес» написать путь до PAC файла.
    3. В браузере Firefox Инструменты->Настройки->Дополнительно->Сеть->Соединение(Настроить) выберать опции «Автоматически определять настройки прокси для этой сети» или выберать опцию «URL автоматической настройки сервиса прокси» и в поле «Адрес» написать путь до PAC файла.
    Ещё несколько полезной информации можно почерпнуть по адресу en.wikipedia.org/wiki/Proxy_auto-config

    habr.com