real_network/
real_network.rs

1//! Real network demo - Making actual HTTP requests through 7 layers
2//!
3//! This example demonstrates the avx Browser making REAL network requests
4//! through all 7 protection layers.
5
6use avx_browser::core::{Browser, BrowserConfig};
7
8fn main() {
9    println!("╔══════════════════════════════════════════════════════════════════╗");
10    println!("║        avx BROWSER - REAL NETWORK MODE                         ║");
11    println!("║        Making actual HTTP requests through 7 layers              ║");
12    println!("╚══════════════════════════════════════════════════════════════════╝");
13    println!();
14
15    // Create browser with maximum security
16    let config = BrowserConfig::default();
17    let mut browser = Browser::new(config);
18
19    println!("✓ Browser initialized with 7-layer protection");
20    println!();
21
22    // List of test URLs
23    let test_urls = vec![
24        "http://example.com",
25        "http://info.cern.ch",
26        "http://neverssl.com",
27    ];
28
29    println!("📡 Testing real network requests...");
30    println!();
31
32    for url in test_urls {
33        println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
34        println!("🔗 URL: {}", url);
35        println!();
36
37        match browser.navigate(url) {
38            Ok(response) => {
39                println!("✅ SUCCESS!");
40                println!("   Status: {}", response.status_code);
41                println!("   Body size: {} bytes", response.body.len());
42                
43                let body_str = response.body_as_string();
44                let preview_len = body_str.len().min(200);
45                println!("   Preview:");
46                println!("   ┌─────────────────────────────────────────────");
47                for line in body_str[..preview_len].lines().take(5) {
48                    println!("   │ {}", line);
49                }
50                if body_str.len() > preview_len {
51                    println!("   │ ... ({} more bytes)", body_str.len() - preview_len);
52                }
53                println!("   └─────────────────────────────────────────────");
54            }
55            Err(e) => {
56                println!("❌ FAILED: {:?}", e);
57                println!("   Note: Some URLs may require HTTPS or be unreachable");
58            }
59        }
60
61        println!();
62    }
63
64    // Show statistics
65    let stats = browser.security_metrics();
66    println!("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
67    println!("📊 Session Statistics:");
68    println!("   Requests made: {}", browser.history.len());
69    println!("   Cache size: {}", browser.cache.len());
70    println!("   Active layers: {}", stats.layers_active);
71    println!("   Anonymity level: {:.2}%", stats.anonymity_level * 100.0);
72    println!("   Total latency: {} ms", stats.latency_overhead_ms);
73    println!("   Bandwidth overhead: {:.2}x", stats.bandwidth_overhead);
74    println!();
75
76    // Clear data
77    println!("🧹 Clearing browsing data...");
78    browser.clear_data();
79    println!("✓ All traces removed");
80    println!();
81
82    println!("╔══════════════════════════════════════════════════════════════════╗");
83    println!("║                    REAL NETWORK TEST COMPLETE                    ║");
84    println!("║            All requests routed through 7 layers                  ║");
85    println!("╚══════════════════════════════════════════════════════════════════╝");
86}
87
88
89
90
91