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