Skip to content
Projects

kdwils/envoy-proxy-crowdsec-bouncer

View on GitHub

kdwils/envoy-proxy-crowdsec-bouncer has 52 GitHub stars and 8 forks. Star changes are not measured yet. Last checked 2026-11-13 22:52 UTC. Last push 2026-11-09.

How these counts are measured

What you can do

  • Block malicious IPs streamed via CrowdSec decisions
  • Bouncer metrics reporting
  • Request inspection via CrowdSec AppSec
  • Google reCAPTCHA v2

Measured star growth

in 24h
Collecting history
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

A lightweight Crowdsec remediation component for envoy proxy and envoy gateway

Security

README.md

Original

Go Build License

CrowdSec Envoy Proxy Bouncer

CrowdSec bouncer for Envoy Proxy using the ext_authz filter.

[!WARNING] This project is in active development and has not been tested in production environments. Use at your own risk. Breaking changes may occur between releases. For the most stable experience, use a tagged release rather than the main branch.

Features

  • Block malicious IPs streamed via CrowdSec decisions
  • Bouncer metrics reporting
  • Request inspection via CrowdSec AppSec
  • CAPTCHA challenges for suspicious IPs with support for:
    • Google reCAPTCHA v2
    • Cloudflare Turnstile
  • Crowdsec AppSec bot challenges

Supported CrowdSec Versions

The following CrowdSec versions have been tested. Other versions may work but have not been validated.

CrowdSec Version Status
v1.7.0 ✅
v1.7.2 ✅
v1.7.3 ✅
v1.7.4 ✅
v1.7.6 ✅
v1.7.7 ✅
v1.7.8 ✅
v1.8.0 ✅
v1.8.1 ✅
v1.8.2 ✅

How It Works

Integrates with Envoy as an external authorization service. Each request is evaluated by:

  1. Extracting client IP from forwarded headers
  2. Checking CrowdSec decision cache for IP-based ban or captcha decisions
  3. Inspecting request with CrowdSec AppSec WAF (if enabled)
  4. Enforcing decisions:
    • Allow: request proceeds
    • Ban: return 403 with ban page
    • Captcha: redirect to challenge page
    • Challenge: pass AppSec's bot challenge page through to the client

Ban Page

Documentation

Examples

Acknowledgments

Explore related projects