Expand description
WiseGate - A wise guardian for your network gates
An efficient, secure reverse proxy with built-in rate limiting and IP filtering.
§Overview
WiseGate is a high-performance reverse proxy written in Rust that provides:
- Rate limiting with sliding window algorithm
- IP filtering and blocking
- HTTP method and URL pattern filtering
- Trusted proxy validation (RFC 7239 compliant)
- Structured logging with JSON support
§Example
use wisegate::{config, types::RateLimiter};
// Get configuration from environment
let rate_config = config::get_rate_limit_config();
let proxy_config = config::get_proxy_config();
// Create a rate limiter
let limiter = RateLimiter::new();§Modules
config- Configuration management from environment variablestypes- Common types and type aliasesip_filter- IP validation, extraction, and filteringrate_limiter- Rate limiting implementationrequest_handler- HTTP request processing and forwardingenv_vars- Environment variable constantsserver- Server utilities and startup infoargs- Command line argument parsing
Re-exports§
pub use config::EnvVarConfig;pub use config::get_allowed_proxy_ips;pub use config::get_blocked_ips;pub use config::get_blocked_methods;pub use config::get_blocked_patterns;pub use config::get_max_connections;pub use config::get_proxy_config;pub use config::get_rate_limit_cleanup_config;pub use config::get_rate_limit_config;pub use types::ConfigProvider;pub use types::ProxyConfig;pub use types::RateLimitCleanupConfig;pub use types::RateLimitConfig;pub use types::RateLimitEntry;pub use types::RateLimiter;
Modules§
- args
- Command line argument parsing for WiseGate.
- config
- Configuration management for WiseGate.
- env_
vars - Environment variable constants for WiseGate configuration.
- ip_
filter - IP filtering and validation for WiseGate.
- rate_
limiter - Rate limiting implementation for WiseGate.
- request_
handler - HTTP request handling and proxying.
- server
- Server startup and information display.
- types
- Type definitions for WiseGate configuration and state management.