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, 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 variablesenv_vars- Environment variable constantsserver- Server utilities and startup infoargs- Command line argument parsing
§Re-exports from wisegate-core
Core functionality is provided by the wisegate-core crate:
ip_filter- IP validation, extraction, and filteringrate_limiter- Rate limiting implementationrequest_handler- HTTP request processing and forwarding
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;
Modules§
- args
- Command line argument parsing for WiseGate.
- config
- Configuration management for WiseGate.
- connection
- Connection management utilities 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.
Structs§
- Proxy
Config - Configuration for proxy behavior and upstream communication.
- Rate
Limit Cleanup Config - Configuration for automatic cleanup of expired rate limit entries.
- Rate
Limit Config - Configuration for rate limiting per IP address.
- Rate
Limit Entry - Entry for tracking rate limit state per IP address.
- Rate
Limiter - Thread-safe rate limiter state shared across all connections.
Traits§
- Config
Provider - Trait for complete configuration injection.
- Connection
Provider - Configuration for connection limits.
- Filtering
Provider - Configuration for request filtering.
- Proxy
Provider - Configuration for proxy behavior.
- Rate
Limiting Provider - Configuration for rate limiting behavior.