It is a security-focused experimental wrapper around QtWebEngine.
GitHub: https://github.com/Dev-Devon/Eleuther
Eleuther is a prototype browser security monitor built on top of QtWebEngine.
Instead of trusting all web content by default, it introduces a policy-based interception layer that evaluates network requests before they are executed.
The goal is to explore stricter control over web execution behavior, especially around third-party scripts and telemetry endpoints.
Every outgoing request is processed through a PolicyEngine that returns a structured decision:
ALLOWBLOCK
Each decision includes:
- Action
- Confidence score
- Reason for decision
This allows inspection and debugging of why specific requests are blocked.
The system maintains two primary domain categories:
- Blocked domains: commonly used ad and tracking networks
- Telemetry-scoped domains: domains where additional path-level filtering is applied
Requests are evaluated using both hostname and path-level matching.
Certain request patterns are blocked when detected on sensitive domains:
- tracking endpoints
- analytics beacons
- pixel-based telemetry routes
This is applied only to specific resource types (e.g., XHR, Script, Fetch).
A lightweight JavaScript injection runs after page load to remove known advertisement-related elements.
It uses:
- attribute-based selectors (
[is-promoted]) - class-based selectors (YouTube UI ad containers)
- iframe filtering for known ad sources
It is triggered on mutation events rather than polling intervals to reduce CPU overhead.
- Request interception with policy-based evaluation
- Domain and path-level blocking
- Lightweight DOM cleanup injection
- Basic tabbed browsing via QtWebEngine
- Persistent profile storage (non-incognito mode)
- Performance overhead due to Python + QtWebEngine integration layer
- Aggressive filtering may break authentication flows or third-party widgets
- DOM sanitization depends on stability of external platform markup (e.g., YouTube structure)
- No adaptive learning or heuristic model currently implemented
Porting the network filtering logic to a native extension (Rust or C++) would reduce latency and improve scalability under heavy request loads.
Current filtering is rule-based. A future version could incorporate:
- anomaly detection for request patterns
- adaptive classification of telemetry endpoints
The DOM cleaning system is brittle by design and depends on static selectors. A more robust approach would require:
- structure-aware heuristics
- mutation diff classification
- or integration with browser-level APIs
Help is needed in the following areas:
- Rust/C++ developers for native network filtering module
- Web security researchers for improving heuristic accuracy
- Frontend engineers for improving DOM sanitization resilience
- Performance optimization of QtWebEngine integration layer
This project is experimental.
It is not a replacement for a production browser and may break websites due to its restrictive filtering behavior.