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
//! Bluebox - A fast DNS interceptor and cache.
//!
//! Bluebox is a DNS server that intercepts DNS queries on the local network,
//! caches responses, and blocks configured domains. It's designed to be faster
//! than your router's DNS resolver.
//!
//! # Architecture
//!
//! The crate is organized into several modules:
//!
//! - [`config`]: Configuration loading and validation
//! - [`dns`]: DNS protocol handling, blocking, and resolution
//! - [`cache`]: Response caching with TTL support
//! - [`network`]: Packet capture and construction
//! - [`server`]: Server orchestration
//! - [`error`]: Error types
//!
//! # Testing
//!
//! All components are designed with trait-based abstractions to enable
//! comprehensive testing without network access:
//!
//! ```rust
//! use bluebox::dns::{Blocker, DnsResolver};
//! use bluebox::cache::DnsCache;
//!
//! // Components can be tested with mock implementations
//! let blocker = Blocker::new(["*.ads.com"]);
//! assert!(blocker.is_blocked(&"tracking.ads.com".parse().unwrap()));
//! ```
pub use Config;
pub use ;