Toxy – универсальный программный HTTP-прокси с широкими возможностями для конфигурации и разнообразного применения. Неспроста разработчик называет его «хакабельным». С помощью Toxy удобно тестировать сервер, эмулируя разные сценарии сбоев, в том числе неожиданные отказы сети. Программа основана на node.js/io.js, эти библиотеки следует установить для ее работоспособности.

003Этот «враждебный» HTTP-прокси идеально подходит для тестирования и поиска слабых мест, особенно если на сервере работают микросервисы (сервис-ориентированная архитектура), для которых Toxy способен выступать промежуточный прокси среди других сервисов.

Логика работы программы основана на правилах (rules), которые фильтруют применение ядов (poisons). Конфигурация позволяет перехватывать и видоизменять поток HTTP любым способом, осуществляя в процессе этого другие вредоносные действия. Например, ограничивая пропускную способность канала, задерживая TCP-пакеты, случайным образом внедряя дополнительную задержку для доставки пакетов или возвращая какой-нибудь код ошибки в ответ на запрос. Toxy работает только на уровне L7 в модели OSI (прикладной уровень).

Функционал HTTPS-прокси базируется на соответствующем коде rocky и http-proxy.

Другие функции Toxy

  • Есть админские интерфейсы HTTP API для дистанционного управления и динамического изменения конфигурации
  • Встроенный сконфигурированный маршрутизатор
  • Иерархический слой middleware
  • Простая установка дополнений через middleware
  • Встроенные яды (полоса пропускания, ошибки, отказ, задержки, медленное чтение и др.)
  • Использование ядов по разным шаблонам (вероятностный, метод HTTP, заголовки, тело)
  • Поддержка сторонних ядов и правил
  • Встроенный балансировщик и перехват трафика через middleware
  • Программные интерфейсы и функции rocky
  • Совместимость с connect/express и почти всем соответствующим middleware
  • Возможность работать как отдельный HTTP-прокси
  • /ul>

Оставить мнение