Skip to content

kevinriverrrr-sudo/NovaBrowser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NOVA BROWSER

A modern, privacy-focused Android browser with a stunning dark cosmic UI

Built with Kotlin + Jetpack Compose + Chromium WebView

Android Kotlin Jetpack Compose License Version


Features (46 Total)

Browsing Engine

# Feature Description
1 Chromium WebView Fast and reliable web page rendering via Android WebView
2 URL Bar with Auto-Detection Smart URL detection -- auto-search for queries, direct navigation for URLs
3 Loading Progress Bar Visual progress indicator with Nova accent color
4 Desktop Mode Toggle Request desktop site layout per tab
5 Save Page Offline Save full HTML content for offline reading

Tab Management

# Feature Description
6 Multi-Tab System Create, switch, and close multiple browser tabs
7 Incognito Tabs Browse without saving history or cookies
8 Tab Groups Organize tabs into named groups for workflow management
9 Tab Freeze/Unfreeze Freeze inactive tabs to save memory
10 Recently Closed Restore recently closed tabs with one tap

Privacy & Security

# Feature Description
11 Ad Blocker Block intrusive ads with 5 tracker categories and 30+ domains
12 Tracker Category Controls Toggle blocking for Advertising, Analytics, Social, Fingerprinting, Cryptomining
13 DNS-over-HTTPS Encrypted DNS with Cloudflare, Google, NextDNS, Quad9, or AdGuard providers
14 Fingerprint Spoofing Anti-fingerprint protection for Canvas, WebGL, Screen, and User-Agent
15 Block Pop-ups Prevent websites from opening pop-up windows
16 Do Not Track Send DNT header to websites
17 Incognito Mode Browse without saving browsing data
18 Password Encryption AES encryption for stored passwords with secure key management

Content & Reading

# Feature Description
19 Reader Mode Distraction-free reading with customizable display
20 Reader Font Size Adjustable font size from 12sp to 32sp
21 Reader Themes Light, Sepia, Dark, and Black reader backgrounds
22 Reader Font Family Serif, Sans-serif, or Monospace font selection
23 Reader Line Height Adjustable line height from 1.0x to 2.5x
24 Reader Max Width Configurable content width from 400px to 1000px

Translation & Accessibility

# Feature Description
25 Page Translator In-page translation with language pair selection
26 QR Code Scanner Scan QR codes to open URLs directly

Data Management

# Feature Description
27 Bookmarks Save and organize favorite pages with Room Database
28 Browsing History Automatic tracking of visited pages
29 Download Manager Manage active and completed downloads with progress tracking
30 Password Manager Store, view, and auto-fill login credentials
31 Password Generator Generate strong passwords with configurable length (8-32) and symbol inclusion
32 Password Strength Indicator Real-time strength assessment (Weak / Medium / Strong)
33 Sync & Backup Export and import encrypted profile backups

Extensions System

# Feature Description
34 ZIP Extension Installation Load extensions from ZIP files with manifest.json
35 Userscript Support Add custom JavaScript userscripts with inline editor
36 Extension Permissions Security review of requested extension permissions
37 Extension Store Browse and install community extensions

Developer Tools

# Feature Description
38 Page Inspector View console output and inspect page elements
39 Page Notes Annotate web pages with colored sticky notes

Customization

# Feature Description
40 5 Built-in Themes Cosmos, Ocean, Forest, Sunset, and AMOLED black
41 Animated Stars Background Dynamic starfield with nebula effects
42 Custom Gesture Actions Configure swipe gestures for navigation and actions
43 JavaScript Toggle Enable or disable JavaScript per session
44 Cookie Controls Allow or block website cookies

Settings & Configuration

# Feature Description
45 Clear Browsing Data One-click cache, cookie, and history cleanup
46 DataStore Preferences Persistent settings with AndroidX DataStore

Screenshots

Phone (1080x1920)

Home Screen Browsing Tabs
Home Browsing Tabs
Privacy Center Extensions Settings
Privacy Extensions Settings
Themes Passwords Reader Mode
Themes Passwords Reader
Downloads
Downloads

Tablet (1600x2560)

Home Screen Browsing Tabs
Home Browsing Tabs
Privacy Center Extensions Settings
Privacy Extensions Settings
Themes Passwords Reader Mode
Themes Passwords Reader
Downloads
Downloads

Tech Stack

Component Technology Version
Language Kotlin 1.9.20
UI Framework Jetpack Compose BOM 2023.10.01
Design System Material 3 Latest (BOM)
Browsing Engine Chromium (Android WebView) System WebView
Local Database Room 2.6.1
Database Compiler KSP Latest
Navigation Navigation Compose 2.7.5
Async Kotlin Coroutines 1.7.3
Settings Storage DataStore Preferences 1.0.0
WebView Extensions AndroidX WebKit 1.9.0
Build System Gradle 8.5 + AGP 8.1.4
Min SDK Android 8.0 (API 26)
Target SDK Android 14 (API 34)
JVM Target Java 17

Build Instructions

Prerequisites

  • Android SDK with compileSdk 34
  • JDK 17
  • Android Studio Hedgehog (2023.1.1) or later

Build from Source

# Clone the repository
git clone https://github.com/novabrowser/nova-browser.git
cd nova-browser

# Set environment variables
export ANDROID_HOME=/path/to/android-sdk
export JAVA_HOME=/path/to/jdk17

# Build debug APK
./gradlew assembleDebug

# Build release APK
./gradlew assembleRelease

The built APK will be located at:

  • Debug: app/build/outputs/apk/debug/app-debug.apk
  • Release: app/build/outputs/apk/release/app-release.apk

Install

# Install on connected device
adb install app/build/outputs/apk/release/app-release.apk

Download

Download the latest release APK:

NovaBrowser-v2.0.0-release.apk

Requires Android 8.0 (Oreo) or later.


Project Structure

nova-browser/
  app/
    src/main/
      java/com/novabrowser/
        MainActivity.kt              # Entry point
        NovaBrowserApp.kt            # Application class with feature singletons
        navigation/NavGraph.kt       # Compose Navigation graph
        ui/
          theme/                     # Color, typography, theme definitions
          components/                # Reusable UI components (AddressBar, WebView, Stars)
          screens/                   # All Compose screens (20 screens)
        features/
          privacy/                   # AdBlocker, DNS-over-HTTPS, FingerprintSpoofer
          passwords/                 # Password manager with AES encryption
          reader/                    # Reader mode parser and config
          translator/                # Page translation engine
          downloads/                 # Download helper
          sync/                      # Sync & backup manager
          gesture/                   # Gesture action manager
          inspector/                 # Page inspector (console + elements)
          notes/                     # Page notes manager
          pip/                       # Picture-in-Picture manager
          qrcode/                    # QR scanner overlay
        extensions/                  # Extension manager (ZIP + userscripts)
        tabs/                        # Tab manager (groups, freeze, restore)
        data/                        # Room database, DAOs, entities
      res/                           # Android resources
    build.gradle.kts                 # App-level build configuration
  build.gradle.kts                   # Project-level build configuration
  gradle.properties                  # Gradle properties
  settings.gradle.kts               # Module settings

Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the repository and create a feature branch from main
  2. Write clean code -- follow Kotlin coding conventions and Compose best practices
  3. Test your changes -- ensure the app builds and runs on API 26+
  4. Submit a pull request -- include a clear description of changes

Areas of Contribution

  • Bug fixes and crash handling
  • New privacy features or tracker list updates
  • UI/UX improvements and accessibility
  • Translation and localization
  • Performance optimizations
  • Documentation improvements

Code Style

  • Kotlin with Jetpack Compose
  • Material 3 design guidelines
  • Single-activity architecture
  • Unidirectional data flow

Credits

This project is built with the following open source libraries:

Library Description
Kotlin Modern programming language for Android development
Jetpack Compose Declarative UI toolkit for building native Android UI
Material 3 Design system with dynamic color and modern components
Room SQLite abstraction layer for local data persistence
Navigation Compose Framework for navigating between Compose screens
AndroidX WebView Chromium-based web content rendering engine
Kotlin Coroutines Asynchronous programming with structured concurrency
DataStore Preferences storage with Flow-based reactive API
AndroidX WebKit Modern WebView API extensions
KSP Kotlin Symbol Processing for compile-time code generation

License

Copyright 2024 Nova Browser Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

About

🌌 Modern Android Browser built with Kotlin + Compose UI + Chromium WebView. Dark night theme with stars, tabs, extensions system, bookmarks, and more.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages