Skip to content

A completely configurable rate limiter that can apply rate limiting on individual APIs with individual rules.

Notifications You must be signed in to change notification settings

figuerom16/Rate-Shield

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 RateShield

A fully customizable rate limiter designed to apply rate limiting on individual APIs with specific rules.

📊 Dashboard Overview

RateShield Dashboard

RateShield Edit Rule


🎯 Why RateShield?

Why not? With some free time on hand, RateShield was created to explore the potential of building a versatile rate-limiting solution. What started as a side project is evolving into a powerful tool for developers.


🌟 Key Features

  • Customizable Limiting:
    Tailor rate limiting rules to each API endpoint according to your needs.

  • Intuitive Dashboard:
    A user-friendly interface to monitor and manage all your rate limits effectively.

  • Easy Integration:
    Plug-and-play middleware that seamlessly integrates into your existing infrastructure.


⚙️ Use Cases

  • Preventing Abuse:
    Control the number of requests your APIs can handle to prevent misuse and malicious activities.

  • Cost Management:
    Manage third-party API calls efficiently to avoid unexpected overages.


🚀 Supported Rate Limiting Algorithms

  • Token Bucket
  • Fixed Window Counter
  • More algorithms are on the way!

🪧 Usage Guide

Check out this document.


How it works?


⚠️ Important Information

  • Current Limitation:
    At present, RateShield only supports the Token Bucket & Fixed Window Counter algorithm, which may not fit all use cases.

🤝 Contributing

Interested in contributing? We'd love your help! Check out our Contribution Guidelines to get started.


About

A completely configurable rate limiter that can apply rate limiting on individual APIs with individual rules.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 48.3%
  • TypeScript 47.0%
  • JavaScript 1.8%
  • CSS 1.1%
  • Python 0.9%
  • HTML 0.8%
  • Makefile 0.1%