Автоматическое обнаружение прокси-сервера

В последнее время стала сильно доставать, что при пробуждении лэптопа, Google Chrome не готов сразу к активному серфингу. Открываем новую вкладку, вбиваем адрес и вместо моментально открывшейся страницы, в строке состояния отображается непонятная надпись: «…». Я долго забивал на эту мелочь, но иногда очень бесит, что на загрузку какого-то прокси скрипта, моей любимой бродилке требуется от 3 до 5 минут времени.

Решить проблему просто

Бороться с этой проблемой я не пытался до сегодняшнего дня. Обходился простым хаком. Я обратил внимание, если сразу запустить IE этот неизвестный прокси скрипт загружается в разы быстрей.

В итоге мне надоело каждый раз запускать IE, и я решил поискать решение проблемы в сети. Оказалось, что все банально. Чтобы избавится от надоедливой загрузки прокси скрипта, требуется выполнить несколько простых шагов:

  • Открываем Google Chrome. Переходим в настройки.
  • Находим раздел «Показать дополнительные настройки»
  • В этом разделе ищем подраздел «Сеть» и нажимаем на кнопку «Изменить настройки прокси-сервера».
  • В появившемся окне настроек интернет-обозревателя нажимаем на кнопку «Настройки сети»;
  • Появится еще одно окно, в котором требуется убрать флажок «Автоматическое определение параметров».
  • Кликаем «OK» и забываем про загрузку прокси скрипта раз и навсегда.

  • Автоматическое обнаружение прокси это процесс, с помощью которого прокси-сервер интернет определяется системой и общий отправлять запросы от имени клиента. Эта функциональная возможность также известна как автоматическое обнаружение веб-прокси (WPAD). При автоматическом обнаружении прокси-сервера включено, система пытается найти скрипт конфигурации, который отвечает за возвращение набора учетных записей-посредников, которые можно использовать в запросе. Если скрипт конфигурации найти скрипт, компилированный загрузить и выполнить на локальном компьютере, когда данные учетной записи-посредника, поток запроса или ответа, принимаются для запроса, который использует экземпляр .

    Автоматического обнаружения прокси-сервера выполняется классом и может использовать параметры запрос- уровня параметры в файлах конфигурации и параметры, задаваемые с помощью диалогового окна Локальная сеть (LAN) Internet Explorer.

    При включении автоматического обнаружения прокси-сервера класс пытается найти скрипт конфигурации следующим образом:

      Функция InternetQueryOption WinInet используется для поиска скрипт конфигурации последним, выявленный Internet Explorer.

      Если скрипт не найден, то класс использует протокол DHCP (DHCP), чтобы найти скрипт. DHCP-сервер может ответить или с расположением скрипта именем узла или полным url-адресом для скрипта.

      Если DHCP не определяет узел WPAD, то DNS запрашивать узла с WPAD как его имя или псевдоним.

      Если основное приложение не указан и местоположение скрипта конфигурации определяется параметрами локальной сети Internet Explorer или в файле конфигурации, то это расположение используется.

    Учетные записи-посредники настроитьы на а в connectoid - main. Connectoid элемент в диалоговом окне сетевого подключения и может быть физическим устройством сети (модем или карта Ethernet) или виртуальный интерфейсом (как соединение сети VPN, работающий через устройство). При изменении connectoid (например, беспроводная ссылку изменяет точку доступа или VPN) включен алгоритм обнаружения прокси-сервера выполнить попытку.

    По умолчанию параметры прокси-сервера Internet Explorer используется для обнаружения прокси-сервера. Если приложение выполняется под учетной записью неинтерактивной (не имеет удобного способа настройки параметров прокси-сервера IE) или если необходимо использовать различные параметры прокси-сервера, чем параметры IE, можно настроить пользовательский прокси-объект, создав файл конфигурации с указанными элементами и .

    Для запросов, которые создаются, можно отключить автоматическое обнаружение прокси-сервера по запросу уровень, с помощью пустого с запросом, как показано в следующем примере кода.

    Запросы, которые не имеют учетной записи-посредника домена приложений прокси-сервера использование вашего по умолчанию, который доступен в свойстве .

    Чтобы организовать личный web-proxy, вам нужны 2 инструмента: "левый" хостинг и сам скрипт прокси. Но, прежде чем перейти к решению, немного теории для понятия того, что мы делаем.

    Википедия гласит:

    Веб-прокси (англ. «web-based proxy») - это прокси-сервер и анонимайзер, представляющий собой веб-приложение установленное на веб-сервере, выступающее в роли посредника для загрузки контента различных веб-сайтов.

    Веб-прокси могут быть использованы для:

    • ускорения загрузки веб-сайтов;

    • тестирования онлайн сервисов;

    • обхода ограничений Администратора локальной сети на доступ к определенным адресам веб-сайтов;

    • сокрытия реального IP-адреса и анонимного доступа к веб-сайтам;

    • получения доступа к веб-сайтам закрытым для просмотра пользователей определенных стран;

    • и многих других целей.

    Итак, покончим с теорией и перейдём к практике.

    1. Скрипт веб-прокси
    Простой скрипт веб-прокси, с минимальным, нужным функционалом.
    Скачать скрипт(28.4 Кб)

    2. Бесплатный хостинг
    Нужен чтобы разместить скрипт самой прокси, а также для левого Ip-адреса.
    Я, выбрал up100mb.com. Бесплатный хостинг с php, ftp и доменом второго уровня. Всё что нужно.

    3. Установка
    Регистрируйтесь на хостинге по этой ссылке . Получаете доступ на ftp своего сайта. Качаете архив веб прокси, распаковываете на фтп своего сайта, в нужную папку. Заходите на свой новоиспечённый сайт и пользуйтесь веб-прокси. Теперь владельцы сайтов будут видеть вместо вашего адреса - ip хостинга.

    P.S. Ну вот и всё! Пользуйтесь и оставайтесь незаметными =)

    В общем, я таки решился его выкатить. Инструмент очень мощный как я считаю, разрабатывался и шлифовался около года.

    Что он умеет?

    Он умеет полностью заменять очень опытного и квалифицированного в вопросах настройки проксей системного администратора, услуги которого по этой теме стоят 2000 рублей за настройку одного сервера 🙂

    • Он умеет поднимать прокси на centos (6,7), debian и ubuntu (любых версий). То есть на любой из популярных ОС на хостингах он может поднять прокси. Но при наличии выбора рекомендуется Centos 7.
    • Он читает на вход только лишь список IP-адресов. Рядом с ним должен быть файл ip.list со списком адресов. Скрипт разбирает этот список, определяет настроены ли адреса на сетевом интерфейсе и предлагает настроить те адреса, что есть в списке, но недоступны (не «подняты», т.е. не сконфигурированы в самой OS). Если вы соглашаетесь на эти настройки, то всё поднимается и прописывается в автозагрузку.
    • Скрипт разбирает IPv6 и IPv4 в списке. И конфигурит все соответствующим образом.
    • Он умеет поднимать SOCKS и HTTP прокси. По-умолчанию только http, о соксах он спрашивает, и можно согласиться на их поднятие.
    • Скрипт генерирует для каждого прокси отдельную пару — логин-пароль. Логины вида user1, user2, .., userN. Пароли рандомные, из 8 символов.
    • Все прокси он поднимает на разных портах, которые берутся из заранее определенного диапазона портов. Для socks можно указать диапазон.
    • Скрипт загружает и компилирует из исходников актуальную версию 3proxy. Вся настройка именно на нём. Это очень хороший легкий прокси-сервер, созданный специально для подобных нужд. Может выдерживать очень большие нагрузки при относительно небольших ресурсах. (1000 прокси на каждый 1 GB RAM). Обкатано на десятках клиентов. У топовых клиентов поднимали до 16к прокси на одном сервере с 8 гб RAM.
    • В случае если прокси сервер уже был ранее установлен — скрипт это определит, и спросит нужно ли переустанавливать. Удобно при повторных запусках, если нужно переделать. В таких случаях скрипт перемещает старые конфиги и списки прокси, помечая их текущей датой-временем. Так что, в случае чего всегда можно вручную откатить с бэкапов, даже если что-то пойдёт не так.
    • Позволяет включить логгирование (интерактивно спрашивает об этом при настройке)
    • Создаёт удобный скрипт для запуска-перезапуска.
    • Прописывает старт прокси в автозагрузку
    • Прописывает задание в планировщик (cron) для рестарта проксей каждый час, во избежание зависаний.

    Бонусом к скрипту идёт ещё один скрипт, который позволяет сгенерить список уникальных IP-адресов для сети IPv6 /48 — из каждой /64 сети получается один прокси. Поскольку IPv6 тоже набирает популярность, прокси на них получаются очень дешёвыми, поэтому продукт умеет работать и с этим.

    Чего не умеет

    • Добавлять прокси на уже настроенный сервер(в планах).
    • Изменять настройки существующего сервера. Только полная перенастройка.
    • Настраивать авторизацию не по логину-паролю, а по ip, например.
    • Задавать единый логин-пароль на всю пачку адресов.
    • Задавать единый порт для всех прокси.

    Вот эти фичи возможно в скрипте появятся когда-нибудь, возможно даже в недалёком будущем.

    И очень важная вещь. Я думаю это очевидно, но скорей всего не всем. Поэтому всё же считаю необходимым чётко оговорить:

    • Скрипт НЕ УМЕЕТ создавать и настраивать прокси без IP-адресов 🙂

    Скрипт этого не умеет, и не будет уметь никогда. Ибо для каждого прокси нужен отдельный IP. Даже если где-то вам выдавали много прокси на одном IP — скорей всего вам выдавали только входной интерфейс, с разными портами. А на выходе должны быть разные IP. Если вы хотите поднять прокси на своём VPS где у вас сайты работают — вы сможете это сделать, конечно. Но покупать его для сего нецелесообразно. Ибо на таком сервере вы поднимете 1 прокси, ну или сколько там у вас есть адресов. ()

    Планы на развитие

    Скрипт постоянно развивается, покуда у меня есть клиенты на настройку прокси-серверов. Более того, я планирую развить этот скрипт в полноценную панель управления проксями. Чтобы можно было все настраивать, мониторить и управлять через веб-интерфейс. Совсем уж в далёких планах — прикрутить даже биллинг, для продажи прокси. Но это не точно 🙂

    Недавно уже была попытка создать веб-интерфейс. Человек по моему заказу написал панельку, но она получилась неюзабельной. Планировалось собрать в кучу и выкатить скрипт на продажу вместе с ней, уже как панель управления проксями. Но по этой части всё слишком сыро ещё.

    Поэтому пока запускаю как есть — без веб-интерфейса, но полностью работающим, позволяющим настроить любое количество любых прокси на любых серверах. Продажи запускаю не в последнюю очередь чтобы дать толчок развитию продукта.

    Ибо инструмент довольно востребованный, судя по рынку, но сейчас у меня нет времени на то чтобы его развивать, потому что занимаюсь другими задачами. Если же я буду получать фидбек от людей, пользующихся инструментом — мне будет гораздо проще его дорабатывать и поддерживать. Тут даже как — я не смогу этого не делать 🙂

    Оплата и ценовая политика

    Покупать скрипт лучше всего в . Его, кстати, планируется постепенно пополнять новыми ништяками, коих скопилось уже пару десятков в закромах. Пока там доступна оплата только с помощью Webmoney, но в ближайшее время буду подключать и другие способы. Сейчас если есть необходимость оплатить другим способом — можно стучаться по контактам ко мне — там уже решим, это без проблем — яндекс, киви или даже paypal.

    Именно по такой цене я продавал его людям по запросу, которых можно считать альфа-тестерами 🙂 От некоторых из них поступали заказы на разработку дополнительных фич, которые вошли в текущую версию скрипта. А какие-то возможно ещё войдут. Когда (и если) скрипт вырастет в полноценную панель управления — цена поднимется, скорей всего.

    Презентация и инструкция — поднимаем свой сервер с любым количеством прокси за 10 минут!