cloudillo_core/rate_limit/mod.rs
1// SPDX-FileCopyrightText: Szilárd Hajba
2// SPDX-License-Identifier: LGPL-3.0-or-later
3
4//! Rate Limiting System
5//!
6//! Hierarchical rate limiting with GCRA algorithm for DDOS protection.
7//! Supports multiple address levels (IPv4 /32, /24; IPv6 /128, /64, /48)
8//! and includes proof-of-work counter for CONN action abuse prevention.
9
10mod api;
11mod config;
12mod error;
13mod extractors;
14mod limiter;
15mod middleware;
16mod pow;
17
18pub use api::{
19 BanEntry, PenaltyReason, PowPenaltyReason, RateLimitApi, RateLimitStatus, RateLimiterStats,
20};
21pub use config::{PowConfig, RateLimitConfig, RateLimitTierConfig};
22pub use error::{PowError, RateLimitError};
23pub use extractors::{AddressKey, extract_client_ip};
24pub use limiter::RateLimitManager;
25pub use middleware::RateLimitLayer;
26
27// vim: ts=4