Skip to main content

Crate wisegate

Crate wisegate 

Source
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 variables
  • types - Common types and type aliases
  • ip_filter - IP validation, extraction, and filtering
  • rate_limiter - Rate limiting implementation
  • request_handler - HTTP request processing and forwarding
  • env_vars - Environment variable constants
  • server - Server utilities and startup info
  • args - 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.