A privacy-focused Android browser with a powerful download manager, built for control, performance, and a better browsing experience.
Nexora Browser is an Android web browser built around the system WebView / AndroidX WebKit, with a modern Compose-based interface and a dedicated download engine designed to continue downloads even when the app is backgrounded or a connection is interrupted.
Unlike a traditional WebView wrapper, Nexora combines browsing, privacy controls, download management, media handling, reading tools, and browser utilities into a single Android application.
🚧 Status: Active development 📱 Platform: Android 🔐 License: Apache License 2.0
- 🌐 Full WebView-based browsing
- 🕵️ Private browsing with isolated WebView profiles where supported
- 🛡️ Built-in ad and tracker blocking
- 🔗 Automatic removal of common tracking parameters
- 🔒 Optional HTTPS-only browsing
- 🌍 Global Privacy Control support
- 🍪 Configurable third-party cookie controls
- 📥 Dedicated download manager
- ⏸️ Pause and resume downloads
- 🔄 Automatic recovery of interrupted downloads
- 📶 Wi-Fi / unmetered-only download options
- 🚀 Multi-connection downloads
- 🧮 Optional checksum verification
- 🎬 Media and downloadable-link detection
- 📺 Optional HLS support for unencrypted streams
- 📖 Reader mode
- 🔖 Bookmarks and reading list
- 🕘 Browsing history
- 📱 QR scanner
- 📸 Long screenshots
- 🌙 Page night mode
- 🔍 Page zoom
- 🔐 PIN and biometric app lock
- 🧩 User scripts
- 💾 Encrypted bookmark backup and restore
- 📊 Privacy statistics dashboard
- ⚙️ Per-origin site permissions
Nexora provides a full browser experience while keeping the interface focused and customizable.
- Multiple browser tabs
- Private tabs
- Duplicate tabs
- Close other tabs
- Reopen the most recently closed tab
- Tab grouping
- Tab/session management
- Separate private browsing sessions where supported by the Android WebView implementation
- Back / forward navigation
- Edge-swipe navigation
- Configurable toolbar position
- Top or bottom toolbar
- Page zoom
- Page-specific night mode
The start page provides quick access to:
- Search
- Shortcuts
- Weather
- Headlines
- Additional browser utilities
Search engines can be configured, with DuckDuckGo used by default.
Private browsing can also use a separate search engine configuration.
Private tabs are designed to keep browsing activity separate from normal browser sessions.
Where supported by the Android WebView implementation, Nexora uses a separate WebView profile for private browsing.
Private browsing is intended to reduce local persistence of browsing activity. However, private browsing does not make you anonymous on the internet.
Websites, network providers, employers, schools, and other parties may still be able to observe network activity depending on the connection and services being used.
Privacy is one of Nexora's core features.
Nexora includes a built-in hosts-based blocking system.
You can use:
- The built-in blocklist
- Imported custom blocklists
- One-host-per-line custom lists
Blocking can be used for:
- Advertisements
- Known trackers
- Unwanted domains
Blocking statistics are available through the privacy dashboard.
Nexora can remove common tracking parameters from URLs.
For example, URLs containing unnecessary marketing or campaign parameters can be cleaned before navigation.
This helps reduce unnecessary tracking information being carried between pages.
Nexora provides an optional HTTPS-only browsing mode.
When enabled, the browser attempts to prefer secure HTTPS connections instead of using unencrypted HTTP where possible.
Nexora supports Global Privacy Control (GPC) as an optional privacy feature.
When enabled, supported websites can receive the user's privacy preference through the appropriate browser signal.
Third-party cookies are disabled by default.
Users can enable them when required for websites that depend on third-party authentication or embedded services.
Permissions and browser behavior can be controlled on a per-origin basis.
This allows users to manage site-specific behavior rather than applying every setting globally.
Nexora provides privacy statistics showing blocking activity over time.
The dashboard can provide information such as:
- Blocked requests
- Blocked trackers
- Blocked advertisements
- Daily activity
- Weekly activity
The goal is to make privacy protection visible rather than hiding it behind settings.
One of Nexora's main features is its dedicated download system.
Downloads are handled by the application instead of relying entirely on the WebView's built-in download handling.
This allows Nexora to provide more control over downloads.
- Pause downloads
- Resume downloads
- Download queue
- Background downloads
- Automatic recovery
- Wi-Fi-only downloads
- Unmetered-network-only downloads
- Download speed limiting
- Multi-connection downloads
- Optional checksum verification
- Scheduled downloads
- Download progress notifications
- Captured downloadable links
Nexora is designed to recover interrupted downloads.
If a download is interrupted because of:
- Network failure
- App backgrounding
- Temporary connectivity loss
- Process interruption
the download can be picked up again when the application is restarted, where the server and resource support resuming.
The downloader can use:
- Cronet as the preferred transport
- OkHttp as a fallback
The transport layer is separated from the rest of the download system so that download handling can evolve independently from the browser UI.
For supported servers, Nexora can split a download into multiple connections.
This can improve download performance on suitable networks and servers.
Actual performance depends on:
- Server support
- Network conditions
- File size
- Connection quality
- Server throttling
- Device resources
Downloads can be configured to run only when:
- Connected to Wi-Fi
- Connected to an unmetered network
This helps prevent large downloads from unexpectedly consuming mobile data.
Optional checksum verification can be used to verify downloaded files when a compatible checksum is available.
This provides an additional integrity check after downloading.
Nexora includes optional support for unencrypted HLS streams.
HLS support is intentionally configurable and does not imply support for DRM-protected or encrypted streaming content.
While browsing, Nexora can detect downloadable resources exposed by webpages.
Detected resources can appear under captured links, allowing the user to choose what should be downloaded.
Supported resources depend on:
- Website implementation
- WebView behavior
- HTTP headers
- Media format
- Server configuration
- Authentication requirements
Nexora does not guarantee that every website or media platform will expose downloadable resources.
Nexora uses the Android Storage Access Framework (SAF) for selecting download locations.
The application does not require unrestricted "all files" storage access simply to choose a download folder.
Users can select the folder where downloads should be stored through the Android system interface.
Scheduled downloads are handled using WorkManager.
This allows downloads to be scheduled without requiring the browser UI to remain open continuously.
Actual execution can still be affected by Android background restrictions, device battery policies, network availability, and other operating-system constraints.
Active downloads can run through an Android foreground service to provide persistent progress handling and notifications.
This is particularly useful for larger downloads that should continue while the browser is not visible.
Reader mode attempts to extract the primary article content from a webpage and present it in a cleaner reading format.
Processing is performed on-device.
Reader mode is intended primarily for article-style pages and may not work correctly with every website.
Nexora supports:
- Saving bookmarks
- Managing bookmarks
- Opening saved pages
- Bookmark persistence
- Encrypted bookmark backup and restore
Pages can be saved to a reading list for later access.
Browsing history is stored locally on the device.
There is no requirement to create a Nexora account.
Nexora includes several additional browser tools.
Scan QR codes and use the resulting content directly within the browser.
Capture long webpage screenshots rather than only the currently visible viewport.
Downloaded media can be played through the application's built-in player.
Users can configure scripts that are matched against website origins.
This allows advanced users to customize webpage behavior.
Nexora supports additional application protection through:
- PIN protection
- Biometric authentication
This can help protect locally stored browser information from casual access to the application.
Bookmarks can be backed up and restored using an encrypted backup mechanism.
The goal is to make browser data portable without requiring a Nexora account or cloud synchronization service.
Nexora uses a modular package structure designed to separate browser functionality, downloading, privacy features, UI, and persistence.
High-level organization:
app/
└── src/
└── main/
└── java/
└── ...
├── browser/
│ ├── WebView
│ ├── sessions
│ ├── tabs
│ ├── blocking
│ └── download capture
│
├── downloader/
│ ├── transport
│ ├── queue
│ ├── storage
│ └── scheduler
│
├── privacy/
│ ├── blocklists
│ ├── URL cleaning
│ ├── reader mode
│ └── privacy statistics
│
├── feature/
│ ├── browser screens
│ ├── download screens
│ ├── settings
│ └── other UI
│
└── data/
├── Room
└── settings
The project intentionally uses separate activities, rather than relying on a single-activity architecture.
Nexora is built using modern Android technologies.
| Technology | Purpose |
|---|---|
| Kotlin | Primary programming language |
| Jetpack Compose | Application UI |
| AndroidX WebKit | WebView/browser functionality |
| Hilt | Dependency injection |
| Room | Local structured data |
| DataStore | Application preferences/settings |
| WorkManager | Scheduled/background work |
| Cronet | Primary download transport |
| OkHttp | Download transport fallback |
| Android Foreground Service | Persistent download progress |
| Storage Access Framework | User-selected storage locations |
Nexora does not require a user account.
Browser information such as:
- History
- Bookmarks
- Reading list
- Download information
- Browser settings
is designed to remain on the user's device.
Nexora does not require an account simply to browse the web.
However, websites that the user visits can still collect information according to their own privacy policies and technologies.
Nexora is designed with privacy features, but it should not be interpreted as an anonymity tool.
Using a private tab, tracker blocking, HTTPS-only mode, or GPC does not guarantee anonymity.
For example:
- Websites can still identify users through their own mechanisms.
- Network providers can still observe network connections.
- Search engines can process searches.
- Websites can use fingerprinting techniques.
- DNS providers and other network infrastructure may still observe traffic.
- Third-party services may have their own privacy policies.
Nexora aims to give users more control over browser-level privacy and local data.
The exact Android SDK and build-tool versions are defined by the Gradle configuration included in the repository.
Recommended:
- Android Studio
- Android SDK configured for the project
- JDK version required by the project's Gradle/Android Gradle Plugin configuration
- Git
git clone https://github.com/Sami-dev07/Nexora-Browser.gitEnter the project:
cd Nexora-BrowserOpen the project in Android Studio and allow Gradle to synchronize.
.\gradlew.bat assembleDebug./gradlew assembleDebugThe generated debug APK will be placed under the project's Gradle build output directory.
You can also build and run the application directly from Android Studio.
Run unit tests with:
.\gradlew.bat test./gradlew testInstrumentation tests, where available, can be run using the appropriate Android Gradle task or directly through Android Studio.
Nexora-Browser/
│
├── app/
│ └── src/
│ └── main/
│
├── gradle/
│
├── .gitignore
├── LICENSE
├── README.md
├── build.gradle.kts
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle.kts
Nexora is continuously evolving.
Potential future improvements include:
- Improved tab management
- Better find-in-page experience
- More browser customization
- Improved reader mode
- Additional search engine options
- Improved site permission management
- More advanced filter-list management
- Improved blocking statistics
- Additional privacy controls
- More granular per-site controls
- Improved download recovery
- More advanced connection management
- Better media detection
- Additional download scheduling options
- Improved download notifications
- More customization options
- Improved tablet support
- Improved large-screen layouts
- Accessibility improvements
- Additional themes
Roadmap items may change as development progresses.
Contributions are welcome.
If you want to contribute:
- Fork the repository.
- Create a new branch.
git checkout -b feature/my-feature- Make your changes.
- Test your changes.
- Commit your work.
git commit -m "Add my feature"- Push your branch.
git push origin feature/my-feature- Open a Pull Request.
Before submitting a large change, opening an issue to discuss the proposed design can help avoid duplicated work.
If you find a bug, please include:
- Android version
- Device model
- Nexora version/commit
- Steps to reproduce
- Expected behavior
- Actual behavior
- Relevant logs or screenshots
For security-sensitive issues, please avoid publicly posting details that could expose users to exploitation.
Security issues should be handled responsibly.
If you discover a vulnerability that could affect users, avoid publicly disclosing exploit details before the issue can be investigated and addressed.
A dedicated security reporting process will be provided as the project matures.
Nexora Browser is licensed under the Apache License 2.0.
See the LICENSE file for the complete license text.
Copyright © 2026 Sami Ullah
Nexora Browser is built using the Android ecosystem and open-source technologies including:
- AndroidX
- Jetpack Compose
- AndroidX WebKit
- Hilt
- Room
- DataStore
- WorkManager
- Cronet
- OkHttp
Nexora also relies on the Android platform and system WebView for web rendering and browser functionality.
If you find Nexora useful:
- ⭐ Star the repository
- 🐛 Report bugs
- 💡 Suggest features
- 🔧 Submit improvements
- 📢 Share the project
Every contribution helps Nexora improve.
GitHub: https://github.com/Sami-dev07/Nexora-Browser
Nexora Browser is an independently developed Android browser project focused on combining privacy controls, customizable browsing, and a capable download manager in a single application.
The project is under active development, and features, APIs, and internal architecture may change between versions.






