1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
//! Derusted - Production-Ready Rust Forward Proxy
//!
//! Derusted is a high-performance forward proxy with MITM (Man-In-The-Middle) capabilities,
//! built in Rust for safety, speed, and reliability.
//!
//! ## Features
//!
//! - **HTTP/1.1 & HTTP/2**: Full support for both protocols with ALPN negotiation
//! - **MITM/SSL Interception**: Dynamic certificate generation for HTTPS content inspection
//! - **JWT Authentication**: HS256/384/512 token-based authentication
//! - **Rate Limiting**: Token bucket algorithm with configurable limits
//! - **Smart Bypass**: Intelligent bypass for certificate-pinned domains
//! - **SSRF Protection**: DNS-based SSRF prevention
//! - **Metrics**: Prometheus-compatible metrics
//!
//! ## Usage
//!
//! ```rust,no_run
//! use derusted::{CertificateAuthority, MitmConfig};
//!
//! #[tokio::main]
//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
//! // Create MITM Certificate Authority
//! let mitm_config = MitmConfig::default();
//! let ca = CertificateAuthority::new(mitm_config.into()).await?;
//!
//! // Generate certificate for domain
//! let cert = ca.get_or_generate("example.com").await?;
//!
//! Ok(())
//! }
//! ```
//!
//! ## Architecture
//!
//! Derusted is designed as a library that can be embedded in larger applications:
//!
//! - `mitm` - MITM/SSL interception core
//! - `auth` - JWT authentication
//! - `rate_limiter` - Rate limiting
//! - `destination_filter` - URL/domain filtering
//! - `http_client` - Upstream HTTP client
//! - `server` - Core proxy server logic
//!
//! ## Open Source
//!
//! Derusted is open source under Apache-2.0 license and welcomes contributions.
//! Visit: https://github.com/your-org/derusted
// Core proxy modules
// Security & filtering
// MITM (Phase 1: Weeks 1-4)
// Mixed content policy (v0.2.0)
// Metrics
// TLS utilities
// Connection pooling for performance
// Re-export commonly used types
/// Configuration types
pub use Config;
/// Authentication
pub use ;
/// Rate limiting
pub use ;
/// Destination filtering
pub use ;
/// IP tracking and SSRF protection
pub use ;
/// Body size limiting
pub use ;
/// MITM types and functionality
pub use ;
/// HTTP metrics
pub use HttpMetrics;
/// Mixed content policy (v0.2.0)
pub use ;
/// Version information
pub const VERSION: &str = env!;
pub const NAME: &str = env!;