Прокси сервер (http/https) на c# с исходным кодом

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

Нужно консольное приложение многопоточного прокси сервера с такой функциональностью (с исходным кодом):

  • Код не должен содержать посторонних dll типа Titanium.Web.Proxy, кроме dll для сжатия/распаковки трафика.
  • Прокси должен подменять ssl сертификат посещаемых сайтов на свой, то есть в папке с программой будет один сертификат, который будет установлен на другие машины в качестве корневого доверенного и на его основе прокси сервером должны генерироваться сертификаты для посещаемых страниц. (Mitm proxy)
  • Прокси должен уметь проверять ответ сервера на содержание в html страницы запрещенных слов, которые указываются в файле настройки и при нахождении хоть одного - выдавать страницу с сообщением о запрете. Таким образом получив ответ от сервера прокси должен проверить сжаты ли данные (gzip или другим каким методом), распаковать данные, проверить содержимое html страницы на наличие запрещенных слов и, если таких не обнаружено то сжать данные и отправить клиенту, если хоть одно слово обнаружено - отправить сообщение о запрете. Блокируемые слова будут содержать и русские символы, а значит сервер должен корректно определять кодировку полученного ответа.
Все настройки хранятся в файле xml, json или любой другой формат, редактируется обычным блокнотомВ настройках указывается:
  • адрес/порт сервера
  • список слов для блокировки
В консоль при работе сервера должна выводиться такая информация:дата, ip клиента, протокол (http/https), размер запрошенных данных, запрошенный адрес, был ли данный адрес заблокирован.Сервер должен не "падать" при загрузке через него больших файлов или просмотра видео, а так же не портить загружаемые файлы

Способ оплаты - практически любой, договоримся.