Nova Proxy: Local Shield & DoH Resolver
A modern, cross-platform local proxy server and personal firewall engineered with **Flutter (Dart)**, **Kotlin**, and **Windows APIs**. Built leveraging **modern AI-assisted development workflows** alongside custom systems architecture to accelerate complex multi-threaded performance and OS-level routing.
Nova Proxy acts as a personal firewall, real-time HTTP/HTTPS tunnel (`CONNECT` method), and secure DNS resolver. By combining **AI-assisted pair programming and scaffolding** with deep systems engineering, it seamlessly bridges multi-threaded Dart isolates, high-speed Trie data structures, and OS-level traffic routing.
Core Architecture & Capabilities
Engineered for zero-latency domain matching, robust encryption, and multi-threaded background processing.
⚡ Dart-Native ServerSocket Core
Customized TCP socket server handling concurrent HTTP and HTTPS tunneling (`CONNECT` request method) with connection lifecycle management and automatic fallback port binding (`8080` to ephemeral ports).
Heap Protection: Implements a strict `64 KB` header buffer cap to prevent memory exhaustion and buffer overflow attacks during request interception.
🛡️ Double-Trie O(L) Matching
Stores millions of hosts in memory using a custom Trie (prefix tree) data structure. Checking if a domain is blocked takes time proportional only to the hostname length (`O(L)`), completely independent of blocklist size.
Isolate Compilation: Compiling large filter lists (EasyList, StevenBlack) is offloaded to a background Dart Isolate (`Isolate.run`), keeping the UI locked at 60/120 FPS.
🔒 Secure DoH & DNS Cache
Bypasses ISP DNS hijacking and tracking by routing DNS requests over HTTPS with integrated presets for Cloudflare, Google, NextDNS, and AdGuard.
Local TTL Cache: Highly efficient DNS cache with expiration handling minimizes loading latency and allows custom DNS rewrites (spoofing).
🚥 Global Traffic Shaping
Integrates a global bandwidth speed limiter using a token-bucket rate limiter (`GlobalProxySpeedLimiter`) to precisely shape client traffic.
Network Simulation: Ideal for testing low-bandwidth network states (simulating 3G/2G connections) or throttling heavy background downloads.
🖥️ Windows System Integration
Automatically sets and cleans up Windows System Proxy registry configurations on startup and shutdown without leaving stale system states.
Tray Manager: Seamless System Tray integration (`tray_manager`) with minimize-on-close and a quick actions context menu.
📱 Android Kotlin VpnService
Employs a Kotlin-native `VpnService` to establish a local TUN interface that captures device-wide layer-3 traffic.
Bidirectional Channels: Forwards system-wide device traffic directly into the local proxy engine using `MethodChannel` events for real-time stats and logging.
Granular One-Click Shields & Filtering
🚫 Social Media & Tracking Shield
Instantly block telemetry, trackers, and distracting feeds from platforms like Facebook, X (Twitter), Instagram, TikTok, and Snapchat with a single toggle.
🔞 Adult, NSFW & Gambling Shields
Pre-configured categorical shields that instantly cut off access to adult websites, online gambling domains, and high-risk domains.
🪙 Crypto-Mining & Malicious Script Protection
Stops background browser cryptojacking scripts and known malware distribution servers before the first TCP handshake completes.
✨ Standard Filter Syntax & Inline Actions
Full compatibility with standard AdGuard and `hosts` file syntax, including whitelist exception overrides (`@@||domain^`). Users can block or whitelist domains instantly right from the live query log.
Neon Glassmorphic UI & Engineering Solutions
Neon Glass Dashboard
Curated Themes: Neon Cyber, AMOLED Black, Emerald Cyber, Sunset Amber & Nordic Frost
GPU Render Optimization
Applying heavy glassmorphic blur filters on a rapidly scrolling real-time query log (30+ requests/sec) can cause GPU rendering lag on mobile devices.
- RepaintBoundary Isolation: Wrapped logging components inside `RepaintBoundary` widgets to isolate blur shaders from scrolling lists, eliminating unnecessary GPU repaints.
- AMOLED Black Mode: A dedicated deep-contrast theme that completely disables backdrop filters for 0% GPU blur cost and maximum battery savings on OLED displays.
- Live Analytics Feed: Real-time network throughput graphs (upload/download bytes), active TCP connections counter, and searchable query logs.
Key Engineering Breakthroughs
UI Thread Freeze on Rule Compilation (100,000+ Rules)
The Problem: Loading EasyList and StevenBlack lists requires parsing over 100,000 text rules and building Trie tree nodes. Performing this on Dart's main isolate caused the UI to freeze for up to 3 seconds.
The Solution: Offloaded the entire I/O and parsing pipeline to a background isolate via `Isolate.run()`. The Trie trees are constructed in background memory and passed back to the main thread instantly.
Layer-3 TUN Packet vs. Layer-4 TCP Stream Routing (Android)
The Problem: Android's `VpnService` intercepts IP-layer packets (layer 3) while the proxy operates on TCP streams (layer 4).
The Solution: Routed DNS requests to the local proxy via custom DNS configurations within the VPN setup, and translated Android VPN traffic into HTTP/HTTPS calls forwarded to the Dart isolate proxy server via bidirectional `MethodChannel` events.
Ready to try Nova Proxy?
Download the high-performance local proxy and network shield for Windows Desktop and Android. Secure your DNS, block trackers, and take control of your traffic.