Бесплатный прокси-сервер для Windows (ES Proxy)


В этой статье будет рассказано о ES Proxy — бесплатном консольном прокси-сервере для ОС Windows. В статье представлен пример установки и настройки прокси-сервера. По шагам будут разобраны основные моменты конфигурирования ES Proxy.

На что способен и где скачать ES Proxy?


Из наиболее значимых достоинств программы:

  • Он бесплатный. Цитата с сайта проекта: Данная программа может использоваться любым лицом или организацией для любых целей, не противоречащих закону, в том числе коммерческих, без какой-либо оплаты авторам. Ни сейчас, ни когда-либо в будущем никто не имеет права требовать какой бы то ни было оплаты за использование данной программы. Допускается лишь получение платы за оказание консультаций, проведение работ по установке, настройке и сопровождению данного сервера.
  • Это консольный прокси-сервер, которому для работы не нужна графическая оболочка. Благодаря этому сервер работает очень быстро, даже на «слабом» компьютере.
  • В ES Proxy реализована система квотирования, которая позволяет организовать выход в Internet нескольким компьютерам одновременно через один внешний канал, при этом его «ширина» распределяется динамически между активными пользователями. Это реализовано посредством присвоения каждой группе пользователей индивидуального значения веса, пропорционально которому будет происходить распределение Internet-канала.
  • Настраиваемый шейпер скорости.
  • Поддержка родительского прокси (актуально для спутникового Internet`а).
  • Хорошая реализация кэширования.
  • Выставление ограничений для групп пользователей:
    • потребление дневного входящего/исходящего трафика, недельного и месячного;
    • указать рабочие дни;
    • указать «черный» список url-адресов;
  • Настраиваемое перенаправление портов.
  • Все действия пользователей вносятся в log-файл. При необходимости можно отключить.

Скачать ES Proxy можно на ITShaman или на официальном сайте.
Рекомендую скачать с сайта ITShaman, так как после установки этой сборки потребуется минимальная настройка «под себя».

Установка ES Proxy.


Ниже описана установка ES Proxy, скаченного с сайта ITShaman. Более подробную информацию о установке и настройке программы можно найти на официальном сайте программы.

Установка ES Proxy по шагам:

  1. Распаковываем скаченные файлы в папку C:/Program Files/ES Proxy
  2. Устанавливаем программу в качестве системной службы, для этого в Windows-консоли набираем: # sc create «es» binpath= «C:/Program Files/ES Proxy/espsrv.exe» start= auto displayname= «es proxy»

    В последнем параметре можно указать любое другое, выбранное Вами, значение, которое будет соответствовать имени процесса в ОС. Более подробнее об установке программ в качестве системных служб можно прочитать в статье «Работа с системными службами из консоли в Windows: создание, удаление, запуск, остановка и изменение параметров».

  3. Запускаем системную службу: # net start es

Настройка ES Proxy.


ES Proxy состоит из:

  • esps40.ini — основного конфигурационного файла, в котором содержатся основные сведения работы прокси-сервера: родительский прокси, HTTP-порт, параметры использования кэш и т. д.
  • users.ini — конфигурационный файл, в котором содержится вся информация о группах пользователей: группы, логины, IP-адреса и права пользователей, а так же назначается вес группы (квотирование).
  • esps4_cache_rules.ini — конфигурационный файл, в котором содержатся правила кэширования различных объектов: *.gif, *.png, *.html и т.д.
  • esps4_routers_list.ini — конфигурационный файл, в котором содержится информация о перенаправлении портов.

Все конфигурационные файлы для удобства разбиты на секции. Все пробелы и переносы в файлах игнорируются и нужны только для визуального удобства системного администратора. После каждой команды и между параметрами ставится знак «:«.

Читать также  Обзор Microsoft Office 2010

Ниже приведено содержимое конфигурационных файлов с комментариями ключевых моментов прокси-сервера.

$(function(){

$(«#1»).click(function(event) {

event.preventDefault();

$(«#panel»).slideToggle();

});

$(«#panel a»).click(function(event) {

event.preventDefault();

$(«#panel»).slideUp();

});

});

Спойлер: содержимое esps40.ini (нажать для развертывания)

[Server]Master= # IP-адрес родительского прокси-сервера. Если он отсутствует, то поле остается пустым.Port=80# Порт для подключения пользователей по протоколу HTTP.Idle Thread Time=100# Время в милисекундах холостого хода рабочих потоков.Threads=100# Целое положительное число количества рабочих потоков.Threads Type=1[FTP]Enable=1# (0 или 1) разрешение на работу фтп-прокси.Port=21# Порт для подключения пользователей по протоколу FTP.Scan for server name from the begin=

Log Enable=1# (0 или 1) ведение log-файла.Log File Name=C:\Program Files\ES proxy\esps4_ftp.log# Путь к log-файлу.Info Log Enable=# (0 или 1) ведение log-файла с дополнительной информацией. ;Info Log File Name=C:\Program Files\ES proxy\esps4_ftp_info.log ;Путь к log-файлу [Connect]Enable=1# (0 или 1) Глобальное разрешение использование HTTPS-протокола по методу Connect.Use Parent=1# (0 или 1) разрешение работы через родительский прокси.Log Enable=1# (0 или 1) ведение log-файла.Log File Name=C:\Program Files\ES proxy\esps4_https.log# Путь к log-файлу.[Statistics]Show Zero Day Users=1

Show Zero Week Users=1

Show Zero Month Users=1
[Users]Groups File=C:\Program Files\ES proxy\user.ini# Путь к конфигурационному файлу, содержащему настройки групп пользователей.Count=3# Количество пользователей, подключаемых к прокси-серверу.Wait Free Thread=100# Время ожидания (в секундах) освобождения потоков для системы квотирования.Threads Limit=32# Количество входящих потоков, которые распределяются между пользователями системой квотирования.Input Rate Limit=1048576# Скорость входящего потока в байтах (1Мб/сек = 1048576).Output Rate Limit=1048576# Скорость исходящего потока в байтах (1Мб/сек = 1048576).Save Users File Name=C:\Program Files\ES proxy\user.dat# Путь к файлу для хранения временной информации во время остановки системной службы.Show Names=1

Show MAC=

Report Disable URLs=1
[Main Log]Enable=1# (0 или 1) ведение log-файлаFile Name=C:\Program Files\ES proxy\esps4_m.log# Путь к log-файлу запуска и остановки сервера.[Access Log]Enable=1# (0 или 1) ведение log-файлаFile Name=C:\Program Files\ES proxy\esps4_http.log# Путь к log-файлу регистрации доступа клиентов по HTTP.[Error Log]Enable=# (0 или 1) ведение log-файла. ;File Name=C:\Program Files\ES proxy\esps4_errors.log # log-файл регистрации ошибок.[Cache]Enable=1# (1 или 0) разрешение или запрещение работы кэша.Path=C:\Program Files\ES proxy\Cache# Путь к директории содержащей кэш. Rules File=C:\Program Files\ES proxy\esps4_cache_rules.ini# Путь к файлу, в котором содержатся правила хранения для различных типов объектов в кэше.Max Size=50# Максимально допустимый размер кэша в Мб.Test Time=1800# Периодичность проверки (в секундах) сервером своего кэша.Clear Log Enable=# (0 или 1) ведение log-файла очистки кэша. ;Clear Log File Name=C:\Program Files\ES proxy\esps4_clear_cache.log # Путь к log-файлу.[Wait Socket]Retry Connect=1# Количество повторов при неудаче связаться с удаленным сокетом.Retry DNS=1# Количество повторов при неудаче определения IP-адреса по имени запрошенного ресурса.Write Local=1000# Допустимый таймаут на запись для локальных сокетов.Read Local=1000# Допустимый таймаут на чтение для локальных сокетов.Read Remote=1000# Допустимый таймаут на чтение для удаленных сокетов.Write Remote=1000# Допустимый таймаут на запись для удаленных сокетов.[Routers]Enable=1# (0 или 1) разрешение использования перенаправления портов TCP.List File Name=C:\Program Files\ES proxy\esps4_routers_list.ini# Путь к файлу, где находятся настройки перенапрвления портов TCP.Threads=32# Целое положительное число количества рабочих потоков роутинга портов.Log Enable=1# (0 ил
и 1) ведение log-файла.Log File Name=C:\Program Files\ES proxy\esps4_routers_list.log# Путь к log-файлу.[UDP Routers]Enable=# (0 или 1) разрешение использования перенаправления портов UDP. ;List File Name=C:\Program Files\ES proxy\esps4_udp_routers_list.ini # Путь к файлу, где находятся настройки перенапарвления портов UDP. ;Threads=32 # Целое положительное число количества рабочих потоков роутинга портов.Log Enable=# (0 или 1) ведение log-файла. ;Log File Name=C:\Program Files\ES proxy\esps4_udp_routers_list.log # Путь к log-файлу.[Exclude From Limits]Enable=
;List File Name=

Читать также  VirtualBox 3.2.10

$(function(){

$(«#2»).click(function(event) {

event.preventDefault();

$(«#panel1»).slideToggle();

});

$(«#panel1 a»).click(function(event) {

event.preventDefault();

$(«#panel1»).slideUp();

});

});

Спойлер: содержимое users.ini (нажать для развертывания)

GROUP : admin :# Имя первой группы (групп может быть несколько).USER : 192.168.1.1 : 255.255.255.255 : # В группе один пользователь с IP-адресом 192.168.1.1Enable HTTPS Port : 443 : # Разрешены HTTPS соединения для группы на 443 порту.Weight : 3 : # Вес группы, учитывающийся при распределении входящего канала.Show Statistics : 1 : # (0 или 1) запрещает или разрешает просмотр статистики.GROUP : users :# Имя второй группы.USER : 192.168.0.2 : 255.255.255.0 : # В группе несколько пользователей имеющие IP-адреса из диапазона 192.168.0.2-192.168.0.255.Enable HTTPS Port : 443 : # Разрешены HTTPS соединения для группы на 443 порту.Weight : 2 : # Вес группы, учитывающийся при распределении входящего канала.Show Statistics : : # (0 или 1) запрещает или разрешает просмотр статистики.Day Input Limit : 500 : M : # Дневной лимит входящего трафика 500 Мб (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты). ;Day Output Limit : : # Дневной лимит исходящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты). ;Week Input Limit : : # Недельный лимит входящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты). ;Week Output Limit : : # Недельный лимит исходящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты). ;Month Input Limit : : # Месячный лимит входящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты). ;Month Output Limit : : # Месячный лимит исходящего трафика (вторым параметром может быть: B-байты; K-килобайты; M-мегабайты; G-гигабайты). ;Day Off: 0 : # Понедельник;Day Off: 1 : # Вторник ;Day Off: 2 : # Среда;Day Off: 3 : # Четверг ;Day Off: 4 : # Пятница;Day Off: 5 : # Суббота ;Day Off: 6 : # Воскресенье# Запрещает работу в указанный день (может повторятся несколько раз). ;Max Input Rate: : # Максимально входящая скорость в байтах — шейпер (автором ПО не рекоменуется к использованию без особой нужды). ;Max Output Rate: : # Максимально исходящая скорость в байтах — шейпер (автором ПО не рекоменуется к использованию без особой нужды).Disable URL : *porno*.* : # Запрещены все URL с встречающимся сочетанием *porno*.*Enable URL : *sporno*# Но разрешается URL содержащий в имени *sporno* (в примере адрес porno.com не будет отображаться, а sporno.ru будет)

Читать также  Winamp 5.57

$(function(){

$(«#3»).click(function(event) {

event.preventDefault();

$(«#panel2»).slideToggle();

});

$(«#panel2 a»).click(function(event) {

event.preventDefault();

$(«#panel2»).slideUp();

});

});

Спойлер: содержимое esps4_cache_rules.ini (нажать для развертывания)

URL : *images/* :Min save time : 20 : H : # Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).Max save time : 10 : D : # Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).URL : *.gif :Min save time : 3 : H : # Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).Max save time : 7 : D : # Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).URL : *.png :Min save time : 3 : H : # Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).Max save time : 7 : D : # Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).URL : *.jpg :Min save time : 3 : H : # Минимальное время сохранения в кэше объекта *.gif 3 часа (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).Max save time : 7 : D : # Максимальное время сохранения в кэше объекта *.gif 7 дней (второй параметр может быть: M-минуты; H-часы; D-дни; W-недели).

$(function(){

$(«#4»).click(function(event) {

event.preventDefault();

$(«#panel3»).slideToggle();

});

$(«#panel3 a»).click(function(event) {

event.preventDefault();

$(«#panel3»).slideUp();

});

});

Спойлер: содержимое esps4_routers_list.ini (нажать для развертывания)

Router: pop.mail.ru :# Название правила перенаправления портов.remote server : pop.mail.ru : # Удаленный сервер POPremote port : 110 : # Удаленный порт подключения к указанному серверу.local port : 110 : # Локальный порт, на который будут приходить сообщения от пользователей.Router: smtp.mail.ru :remote server : smtp.mail.ru : # Удаленный сервер SMTPremote port : 25 : # Удаленный порт подключения к указанному серверу.local port : 25 : # Локальный порт, на который будут приходить сообщения от пользователей.

Хотелось бы заострить внимание на системе квотирования, реализованной в ES Proxy. Эта система предназначена для распределения внешнего канала между группами пользователей в заданном соотношении. В конфигурационном файле users.ini каждой группе можно задать определенный вес (Weigh). Само по себе значение веса большой роли не играет, играет отношение этого значения между разными группами. Для наглядности работы квотирования приведу пример с сайта проекта:

Например, общая полоса сервера составляет 100000 байт в секунду, а общее количество допустимых сессий — 100. Допустим также, что работают два клиента, один из группы директоров, с весом 3, а другой — из группы менеджеров, с весом 1. В этом случае, директор получит 75% всех ресурсов (то есть 75000 байт в секунду и 75 сессий), а менеджер — 25% (то есть 25000 байт в секунду и 25 сессий). При большем количестве активных «директоров» и «менеджеров» каждый из них получит меньше байт в секунду и меньше сессий, чем в этом примере, но любой директор, при указанном распределении весов, всегда получит ровно в три раза больше ресурсов, чем любой менеджер.

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

Источник: itshaman.ru

+ There are no comments

Add yours