diff --git a/.idea/markdown.xml b/.idea/markdown.xml new file mode 100644 index 0000000..c61ea33 --- /dev/null +++ b/.idea/markdown.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/README.md b/README.md index 4203041..44c1403 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,43 @@ # Private Facebook Wrapper (Android) -A high-security, open-source WebView wrapper for Facebook, engineered to provide a "Digital Faraday Cage" for your social media usage. This app is designed to break Facebook's cross-app tracking and hardware fingerprinting. +A high-security, open-source WebView wrapper for Facebook, engineered as a **Digital Faraday Cage** for your social media usage. This app is architected to break Facebook's cross-app tracking, hardware fingerprinting, and persistent background telemetry. ## 🛡️ Advanced Privacy Features -This wrapper goes beyond standard "privacy browsers" by implementing deep-level request interception: +This wrapper goes beyond standard "privacy browsers" by implementing deep-level request interception and execution isolation: -* **Controlled Fetch Engine**: Unlike standard wrappers, this app intercepts Main Frame GET requests and performs a manual fetch. This allows for: - * **Total X-Requested-With Stripping**: Completely removes the header that identifies the Android app to Facebook's servers. - * **Strict Content Security Policy (CSP)**: Enforces a custom CSP that prevents Facebook from loading scripts or tracking pixels from third-party domains. -* **Fingerprint Mitigation**: Injects a hardened JavaScript layer to: - * **Disable WebRTC**: Prevents your local/VPN IP address from being leaked via STUN servers. - * **Canvas/WebGL Muffling**: Returns empty data for canvas read-back attempts used in hardware sketching. - * **Hardware Masking**: Reports generic values for CPU cores and device plugins. -* **Zero Permissions**: Requires **no access** to your contacts, location, microphone, camera, or files. +* **Controlled Fetch Engine**: The app intercepts all Main Frame GET requests and performs a manual fetch via `HttpURLConnection`. This allows for total control over the request lifecycle. +* **Total X-Requested-With Stripping**: Completely removes the header that identifies the Android app to Facebook's servers, making the traffic appear as a generic mobile browser. +* **External Link Isolation (The "Double-Lock")**: Implements a strict two-stage gatekeeper. Any navigation attempt to a non-Facebook domain is immediately "snatched" by the OS and forced into your default system browser. This ensures third-party sites are never rendered inside the app's persistent container, preventing cross-site leakage. +* **Strict Content Security Policy (CSP)**: Enforces a custom, injected CSP that physically blocks the browser from loading scripts, tracking pixels, or frames from third-party domains. +* **Fingerprint Mitigation**: Injects a hardened JavaScript layer (on `onPageFinished`) to: + * **Disable WebRTC**: Nullifies `RTCPeerConnection` to prevent local/VPN IP leaks via STUN/TURN queries. + * **Canvas/WebGL Muffling**: Disables 2D and 3D canvas read-back attempts used for hardware sketching. + * **Privacy-Hardened User-Agent**: Spoofs a generic, non-identifiable Chrome-on-Android string to prevent device-specific tracking. +* **Sponsored Content Removal**: Includes an integrated mutation observer that identifies and removes "Sponsored" and "Suggested" posts in real-time from the DOM. +* **Zero Permissions Architecture**: Requires no access to contacts, location, microphone, camera, or files. The app is a self-contained silo. * **Network Hardening**: Uses `network_security_config` to force HTTPS and block all cleartext traffic at the OS level. ## 🚀 Technical Stack * **Language**: Kotlin -* **Architecture**: Intercept-and-Modify (using `shouldInterceptRequest` and `HttpURLConnection`). -* **UI**: Edge-to-edge layout with dynamic Window Inset handling for modern Android status bars. -* **Persistence**: Session cookies are flushed to disk on page finish to ensure login persistence without background syncing. +* **Security Layer**: Intercept-and-Modify architecture using `shouldInterceptRequest` and `shouldOverrideUrlLoading`. +* **Hardware Acceleration**: Uses hardware-layer rendering for high-performance video and media playback without sacrificing privacy. +* **Persistence**: Session cookies are manually flushed to disk on navigation, ensuring login stability without the need for background sync services. +* **Zero-Background Footprint**: Optimized for use with app-freezing tools (like Shelter or Hail). The app maintains no background services, receivers, or workers. ## 🛠️ How to Build -1. Clone the repository. -2. Open in **Android Studio**. -3. Ensure `filters.txt` is present in `app/src/main/assets/`. -4. Build APK: `Build > Build Bundle(s) / APK(s) > Build APK(s)`. +1. **Clone the repository**. +2. **Open in Android Studio**. +3. **Assets**: Ensure your `filters.txt` (AdBlock rules) is present in `app/src/main/assets/`. +4. **Network Config**: Verify `network_security_config.xml` is defined to enforce TLS. +5. **Build APK**: Go to `Build > Build Bundle(s) / APK(s) > Build APK(s)`. ## 📜 License -Licensed under the **GNU GPLv3**. This ensures the code remains open, transparent, and free from corporate enclosure. +Licensed under the **GNU GPLv3**. This ensures the code remains open, transparent, and protected from proprietary enclosure. --- -*Disclaimer: This is an independent open-source project and is not affiliated with, authorized, maintained, sponsored, or endorsed by Meta Platforms, Inc.* + +**Disclaimer**: This is an independent open-source project and is not affiliated with, authorized, maintained, sponsored, or endorsed by Meta Platforms, Inc. \ No newline at end of file