rack/rack-attack

Rack middleware for blocking & throttling

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 11th, 2026
Created on July 29th, 2012
Open Issues & Pull Requests: 20 (+0)
GitHub issues: Enabled
Number of forks: 345
Total Stargazers: 5,760 (+0)
Total Subscribers: 156 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 38.1 hours
Mean response time: 10.1 days
90th percentile: 7.2 days
Tracked items: 14

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,178 days
Stale 30+ days: 6
Stale 90+ days: 4

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • area: middleware (2)
  • type: feature request (2)
  • type: question (2)
  • area: instrumentation (1)
  • area: throttle (1)
  • type: docs (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

Rack::Attack is a Rack middleware for blocking and throttling abusive requests.

The tool addresses the problem of protecting web applications from malicious or misbehaving clients by providing a declarative way to define rules that allow, block, or throttle requests based on their properties. It works by intercepting requests at the middleware level and evaluating them against configured rules before they reach the application. Safelists take precedence and permit requests that match their criteria regardless of other rules, while blocklists and throttles can restrict access based on IP addresses, subnets, or custom conditions.

Developers should choose this tool when they need straightforward request filtering without building custom protection logic. It suits Rails and Rack applications of any size that face abuse from specific clients or need rate limiting. The tool provides built-in methods for IP-based safelisting and blocklisting, custom safelisting via blocks, throttling with configurable limits, and Fail2Ban-style progressive blocking. It also supports RateLimit headers for compliant clients and integrates with Rails applications by default while remaining optional for other Rack-based projects.

The project's issue tracker shows that community engagement centers on questions, feature requests, and middleware-related discussions, indicating active user interest in extending and understanding the tool's capabilities.