Ограничение скорости загрузки по сети

Мне для тестирования бывает нужно ограничить скорость HTTP-трафика для проверки того, как ресурс работает в тех или иных условиях.

Для этих целей я написал на Node.js прокси-сервер, который выполняет одну простую задачу: пропускает через себя HTTP-трафик, лимитируя скорость до указанного значения.

Устанавливается он в систему с помощью npm:

npm install -g throttle-proxy

И запускается командой:

throttle-proxy

По-умолчанию, сервер будет слушать подключения на порту 3128 и ограничивать скорость до 100 тысяч байт в секунду. Эти значения можно поменять с помощью соответствующих параметров при запуске сервера.

throttle-proxy --speed 50000 --port 9999

Остановить прокси-сервер можно комбинацией клавиш Ctrl+C в консоли, где он запущен.

Не забудьте только указать адрес 127.0.0.1 и порт 3128 (или выбранный вами порт) в настройках системы в качестве HTTP-прокси сервера.

Исходный код доступен на GitHub — throttle-proxy

Update: С подачи пользователей добавил фильтр ресурсов, для которых нужно применять ограничение скорости, и фильтр, который пропускает ресурсы без ограничений.