Skip to content

L7 envoy filter to capture and publish web socket related metadata through envoy async gRPC client

Notifications You must be signed in to change notification settings

NomadXD/envoy-websocket-ratelimit

Repository files navigation


Logo

envoy-websocket-ratelimit

Ratelimiting web socket connections using a custom http filter with envoyproxy

Table of Contents

About The Project

Ratelimiting web socket connections using a custom http filter with envoyproxy. Ratelimiting can be performed upto websocket frame level Product Name Screen Shot

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

  • docker
  • docker-compose
  • maven

Installing Docker on Ubuntu 20.04 LTS

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce
sudo systemctl status docker

Installing Docker-compose on Ubuntu 20.04 LTS

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

Installation

  1. Clone the repo
git clone https://github.com/NomadXD/envoy-websocket-ratelimit.git
cd envoy-websocket-ratelimit
  1. Build the project with maven
mvn clean package
  1. Start the services with docker-compose
docker-compose up

License

Distributed under the MIT License. See LICENSE for more information.

About

L7 envoy filter to capture and publish web socket related metadata through envoy async gRPC client

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published