Прокси сервер с учётом исходящего трафика

Дмитрий18 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.11.2007

--------

Задача:

--------

Разработать прокси сервер с учётом исходящего трафика

--------

Режим работы прокси сервера:

--------

Прокси серверу передаётся адрес proxy-server.ua/xxxxxx/path,

где

xxxxxx - уникальный цифровой индификатор сайта (site1.ua, site2.ua, poddomen.site1.ua, ...)

path - путь к файлу на указанном сайте

Прокси сервер должен отдать запрошенный файл, точно подсчитать исходящий трафик (учитывать вариант с неполной загрузкой файла), вести статистику обработанных данных.

В случае если задан не существующий индификатор, или запрашиваемый сервер выдал ошибку (403, 404) нужно вывести страницу с указанной ошибкой.

Также должна быть реализована поддержка использования правил для определённых диапазонов ip, c которых идёт запрос.

То есть возможность дифференцировать трафик.

Желательно, чтобы прокси сервер мог кэшировать результаты.

Обязательно должна быть реализована поддержка Post-запросов, сookies, html-форм.

Не должно наблюдаться проблем с обработкой больших файлов (до 50 мб).

--------

Дополнительно к прокси серверу нужно разработать небольшой биллинг с двумя уровнями.

* Уровень пользователя

- возможность добавлять и редактировать индификаторы (сайты), выводить статистику исходящего трафика в сумме и по отдельным индификаторам за определённый период (день, месяц, год, от даты X до даты Y)

(новый индификатор должен случайно генерироваться и быть уникальным)

* Уровень администратора

- управление пользователями (добавить, редактировать, удалить)

- статистика исходящего трафика по всему прокси-серверу, по отдельным пользователям, по отдельным индификаторам за определённый период (день, месяц, год, от даты X до даты Y)

- управление диапазонами ip (добавить, редактировать, удалить), настройка правил для них (проксировать запрос или перенаправить пользователя на исходный адрес)

Подробная статистика должна содержать следующие значения:

дата/время

индификатор

запрашиваемый файл (адрес)

исходный размер файла

сколько байт было передано

ip

диапазон, к которому принадлежит ip

Browser(User Agent)

Подробная статистика должна храниться 1 месяц. И дальше автоматически сжиматься.

Сжатая статистика может быть представлена в следующем виде

дата

индификатор

диапазон ip

суммарный исходящий трафик за этот день, в данном диапазоне ip

Система должна быть разработана под Apache (mode rewrite) + PHP + MySQL

Код должен быть структурированным (функции, классы), html-разметка вынесена с программной части.

Разрабатывать дизайн для биллинга не нужно.

--------

Наличие опыта разработки прокси серверов - обязательно.

Наличие готовых решений или наработок, которые сократят время выполнения проекта - приветствуется.

Предложения "шаблоны" не рассматриваются. Вы должны внимательно прочитать условия проекта и оставить предложение, в котором укажите примерную цену, сроки разработки и небольшой комментарий по предлагаемому вами решению.