Чт, 2015-12-17
Данный сервер реализует ICAP (Internet Content Adaptation Protocol RFC3507) протокол
Втр, 2015-12-01
Аппаратно-программная система, позволяющая 3rd party устройствам, программам, контролировать и модифицировать инкапсулированный (туннельный) трафик TCP/IP
Ср, 2015-05-20
LKM модуль для постановки и считывания меток для CIDR в kernel-space прикладными программами

ICAP сервер

    Данный сервер реализует ICAP (Internet Content Adaptation Protocol RFC3507) протокол. Суть этого протокола – модификация HTTP трафика, передаваемого серверу. На настоящий момент сервер реализует все требования протокола, а именно:

  • Ответ на запрос о конфигурации (options response).
  • Модификация HTTP запросов (заголовок + данные).
  • Модификация HTTP ответов (заголовок + данные).
  • 204 ответ, как в preview, так и в основном потоке данных
  • 206 ответ.

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

    На настоящий момент реализованы следующие модули:

  • 403 ответ на основе анализа запроса регулярными выражениями (regexp).
  • Поточная замена данных на основе регулярных выражений (regexp), за счет использования библиотеки pire сложность данной задачи сведена к линейной.

    Неблокируемый сервер, разработан для ОС Linux на основе паттерна worker thread, что позволяет эффективно работать даже при больших нагрузках, в отличие от open-source решения с-icap.

   Средства разработки, протоколы, технологии, использованные для реализации проекта:

  • С++;
  • Libev;
  • Pire;
  • HTTP;
  • ICAP;
  • Regexp.