Skip to content

Latest commit

Β 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Aura Browser Icon

Aura Browser for iOS

The High-Performance, Privacy-First, Native iOS Web Browser in Swift & WebKit

Swift iOS Xcode Platform Build Status IPA Release License


Aura Browser Hero Banner

Download Latest .IPA β€’ Quickstart β€’ Architecture β€’ Features β€’ Sideloading β€’ Documentation


🌟 Executive Overview & Mission Statement

Aura Browser is a state-of-the-art, fully open-source web browser application engineered specifically for iPhone and iPad. Built from the ground up using native Swift, SwiftUI, and Apple's WebKit engine, Aura combines the fluid ergonomics and convenience of modern desktop-grade browsers with Apple's strict privacy and security guidelines (App Store Review Guideline 2.5.6).

Designed to tackle the most common pitfalls of mobile browsersβ€”such as Jetsam OOM (Out-Of-Memory) termination, invasive tracking scripts, and awkward one-handed thumb navigation on larger phone screensβ€”Aura introduces an adaptive omnibox layout, declarative C++ level content blocking, and intelligent background tab memory suspension.

Whether you are an iOS developer exploring WebKit internals, a security researcher auditing mobile tracking vectors, or a power user seeking an unbloated Safari/Chrome alternative, Aura Browser offers the ultimate modular blueprint.


πŸš€ Key Advantages at a Glance

Feature Aura Browser Safari (iOS) Chrome (iOS)
100% Open Source (Swift) βœ… Yes (MIT) ❌ Proprietary ⚠️ Monolithic Chromium
Built-in Declarative Ad & Tracker Blocker βœ… Native Zero-Latency ⚠️ Requires 3rd-Party App ❌ No
Adaptive Omnibox (Bottom / Top) βœ… Configurable & Adaptive ⚠️ Bottom Only (Fixed) ⚠️ Bottom Only (Fixed)
Jetsam OOM Tab Memory Suspension βœ… Hybrid Snapshot Cache βœ… Built-in ⚠️ Heavy Memory Footprint
Direct iOS Files App Downloads βœ… Documents/Downloads ⚠️ Safari Sandbox ⚠️ Chrome Sandbox
Zero Third-Party Tracking / Telemetry βœ… 100% Zero ⚠️ iCloud Telemetry ❌ Google Analytics / Ads
Independent Sideload-Ready .IPA βœ… One-Click Install ❌ No ❌ No

Aura Browser Features Grid


πŸ’Ž Flagship Features

1. πŸ›‘οΈ Native Declarative Content Blocker (Zero JavaScript Overhead)

Aura incorporates a compile-time declarative rule engine powered by Apple's WKContentRuleListStore. Unlike extensions that execute injected JavaScript on DOM mutation (causing battery drain and rendering lag), Aura's content blocker operates directly within WebKit's native C++ networking thread:

  • Blocks Ad Networks & Trackers: Filters telemetry from Google Analytics, Facebook Pixel, doubleclick, Criteo, Taboola, and invasive advertising SDKs before requests touch the network socket.
  • Blocks Cryptomining & Fingerprinting: Intercepts canvas fingerprinting scripts, audio context sniffers, and background WebAssembly miners.
  • Privacy Dashboard: Displays real-time counts of blocked trackers and active rules per browsing session.

2. ⚑ Ergonomic Adaptive Omnibox

  • One-Hand Reachability: On iPhones in portrait orientation, the address and search bar rests comfortably at the bottom of the screen.
  • Fluid Desktop-Class Transition: Seamlessly docks to the top bar on iPad, split-screen multi-tasking, or landscape phone orientations.
  • Instant Local Autocomplete: Sub-millisecond matching across your personal history database and bookmarks.
  • Privacy-Preserving DuckDuckGo OpenSearch: Real-time query completion without transmitting personal identifiers, cookies, or location data.
  • SSL Security Inspector: Instant visualization of HTTPS TLS certificates, mixed content warnings, and domain validation.

3. 🧠 Smart Jetsam-Proof Tab Manager

Mobile devices enforce aggressive OS-level memory limits (Jetsam). When multiple heavy web pages load simultaneously, ordinary apps crash with EXC_RESOURCE -> OS-Jetsam MEMORY.

  • Active Hot Tier: Keeps the 3–4 most recently viewed tabs in active memory for instant switching.
  • Suspended Snapshot Tier: Inactive background tabs capture a high-resolution retina viewport snapshot, serialize their URL and navigation history stack, and cleanly deallocate their heavy WKWebView instance.
  • Instant Lazy Rehydration: When selecting a suspended tab, the snapshot remains visible while the WebKit engine rehydrates in the background with zero perceived UI stutter.

4. πŸ•ΆοΈ Ephemeral Private / Incognito Browsing

  • Driven by WKWebsiteDataStore.nonPersistent().
  • Cookies, localStorage, IndexedDB, session cache, and HTTP disk caches remain exclusively in volatile RAM and are zeroed immediately upon tab closure.
  • History entries and search suggestions are strictly partitioned from standard browsing storage.
  • Distinct luxury purple interface accents immediately alert the user to incognito state.

5. πŸ“ Direct iOS Files App Download Manager

  • Utilizes Apple's native WKDownloadDelegate protocol.
  • Streams large files, PDFs, videos, images, and archives directly into the app's sandboxed Documents/Downloads/ directory.
  • UIFileSharingEnabled and LSSupportsOpeningDocumentsInPlace configured in Info.plistβ€”allowing users to access downloaded files directly inside Apple's native Files app (On My iPhone -> Aura Browser -> Downloads).
  • Features in-app progress tracking, QuickLook document previews, and native iOS Share Sheet integration.

6. πŸ” Native Find In Page & Productivity Tools

  • Full-text DOM search with real-time match highlighting, forward/backward stepper buttons, and match count indicators.
  • One-tap toggle between Mobile View and Desktop Site via customized User-Agent headers.
  • Comprehensive browsing data wipe (Cache, Cookies, History, Bookmarks, and Saved Permissions).

πŸ›οΈ Architecture & System Design

Aura Browser is engineered according to the Model-View-ViewModel (MVVM) pattern combined with protocol-driven engine abstractions:

Aura Browser Architecture

Sequence Diagram: URL Navigation & Security Interception

sequenceDiagram
    autonumber
    actor User
    participant Omnibox as OmniboxView
    participant Parser as OmniboxParser
    participant Policy as SecurityPolicyManager
    participant Engine as WebKitBrowserEngine
    participant Blocker as ContentBlockerManager
    participant WebKit as WKWebView (C++)
    
    User->>Omnibox: Inputs text ("apple.com" or "swift tips")
    Omnibox->>Parser: resolveDestination(input)
    alt Is Direct Domain / URL
        Parser-->>Omnibox: .directURL(url)
    else Is Search Query
        Parser-->>Omnibox: .searchQuery(query, engineURL)
    end
    Omnibox->>Policy: upgradeToHTTPSIfNecessary(url)
    Policy-->>Omnibox: Sanitized HTTPS URL
    Omnibox->>Engine: load(url)
    Engine->>Blocker: getCompiledRuleList()
    Blocker-->>Engine: WKContentRuleList
    Engine->>WebKit: configuration.userContentController.add(ruleList)
    Engine->>WebKit: load(URLRequest)
    WebKit-->>User: Renders Web Page (zero ads/trackers)
Loading

Module Structure

c:/project/ios/brower/
β”œβ”€β”€ AuraBrowser.xcodeproj/            # Xcode Project Definition & Schemes
β”‚   β”œβ”€β”€ project.pbxproj               # Configured targets, configurations & build files
β”‚   └── xcshareddata/xcschemes/       # Shared AuraBrowser scheme for CI/CD discovery
β”œβ”€β”€ AuraBrowser/
β”‚   β”œβ”€β”€ App/
β”‚   β”‚   └── AuraBrowserApp.swift      # SwiftUI App entrypoint & dependency injection
β”‚   β”œβ”€β”€ Core/
β”‚   β”‚   β”œβ”€β”€ Engine/
β”‚   β”‚   β”‚   β”œβ”€β”€ BrowserEngineProtocol.swift # Core engine interface abstraction
β”‚   β”‚   β”‚   β”œβ”€β”€ BrowserTab.swift            # Tab model with memory suspension state
β”‚   β”‚   β”‚   β”œβ”€β”€ WebKitBrowserEngine.swift   # WKWebView, WKNavigation & WKUIDelegate wrapper
β”‚   β”‚   β”‚   β”œβ”€β”€ TabManager.swift            # Tab session coordinator & Jetsam manager
β”‚   β”‚   β”‚   └── WebViewRepresentable.swift  # SwiftUI UIViewRepresentable bridge
β”‚   β”‚   β”œβ”€β”€ Navigation/
β”‚   β”‚   β”‚   β”œβ”€β”€ OmniboxParser.swift         # Smart URL vs Search query classifier
β”‚   β”‚   β”‚   β”œβ”€β”€ SearchEngineProvider.swift  # DuckDuckGo, Google, Bing, Brave, Ecosia
β”‚   β”‚   β”‚   └── SuggestionsService.swift    # Hybrid local/remote autocomplete service
β”‚   β”‚   β”œβ”€β”€ Security/
β”‚   β”‚   β”‚   β”œβ”€β”€ SecurityPolicyManager.swift # HTTPS upgrade & TLS validation
β”‚   β”‚   β”‚   β”œβ”€β”€ URLSchemeSanitizer.swift    # Scheme sanitization (http, https, about)
β”‚   β”‚   β”‚   └── WebsitePermissionsManager.swift # Camera, Mic, Geolocation permissions
β”‚   β”‚   β”œβ”€β”€ ContentBlocking/
β”‚   β”‚   β”‚   β”œβ”€β”€ ContentBlockerManager.swift # WKContentRuleList compiler & tracker counter
β”‚   β”‚   β”‚   └── BlockRules.json             # Declarative WebKit filter rules
β”‚   β”‚   └── Downloads/
β”‚   β”‚       β”œβ”€β”€ DownloadItem.swift          # Download tracking model
β”‚   β”‚       └── DownloadManager.swift       # WKDownloadDelegate streaming to Files app
β”‚   β”œβ”€β”€ Features/
β”‚   β”‚   β”œβ”€β”€ Bookmarks/                      # Bookmarks persistence & manager
β”‚   β”‚   β”œβ”€β”€ History/                        # History logging & range deletion
β”‚   β”‚   └── Settings/                       # User settings & browsing data cleaner
β”‚   β”œβ”€β”€ UI/
β”‚   β”‚   β”œβ”€β”€ Main/                           # BrowserContainerView, OmniboxView, Toolbar
β”‚   β”‚   β”œβ”€β”€ Tabs/                           # TabGridSheetView & TabCardView
β”‚   β”‚   β”œβ”€β”€ NewTab/                         # Speed dials, search bar, & privacy metrics
β”‚   β”‚   β”œβ”€β”€ Bookmarks/ & History/           # Management views
β”‚   β”‚   β”œβ”€β”€ Downloads/                      # Download progress drawer
β”‚   β”‚   β”œβ”€β”€ Settings/                       # Complete settings panel
β”‚   β”‚   └── Theme/                          # Aura modern glassmorphism design tokens
β”‚   └── Resources/
β”‚       β”œβ”€β”€ Info.plist                      # Permissions, ATS keys, Files app sharing
β”‚       β”œβ”€β”€ AuraBrowser.entitlements        # App sandbox entitlements
β”‚       └── Assets.xcassets/                # 1024x1024 Retina AppIcon & AccentColor
β”œβ”€β”€ AuraBrowserTests/                       # Automated unit tests (Tab, Omnibox, Security)
β”œβ”€β”€ scripts/                                # CI & automated packaging scripts
β”‚   β”œβ”€β”€ build_ipa.sh                        # Xcode archive & IPA packaging script
β”‚   β”œβ”€β”€ download_ipa.py                     # GitHub Actions artifact downloader
β”‚   └── validate_project.py                 # Static syntax & pbxproj integrity auditor
└── .github/workflows/
    └── build_and_test.yml                  # GitHub Actions CI workflow on macos-14

πŸ“¦ Quickstart & Installation

Option 1: Install Pre-Built .IPA via Sideloadly (Recommended)

No Mac or Apple Developer Account required! Works seamlessly on Windows and macOS.

  1. Download AuraBrowser-unsigned.ipa from the Releases page.
  2. Install and launch Sideloadly.
  3. Connect your iPhone or iPad to your computer via USB.
  4. Drag and drop AuraBrowser-unsigned.ipa into Sideloadly.
  5. Enter your free Apple ID and click Start.
  6. On your iOS device, go to Settings -> General -> VPN & Device Management, tap your Apple ID, and select Trust. Enjoy browsing!

Option 2: Install via AltStore / AltServer

  1. Install AltStore on your iPhone or iPad.
  2. Open Safari on your device, navigate to AuraBrowser Releases, and download the .ipa.
  3. Open AltStore, tap the "+" button in the top left under My Apps, and select AuraBrowser-unsigned.ipa.

Option 3: Install via TrollStore (iOS 15.0 – 17.0)

If your device is running TrollStore:

  1. Download AuraBrowser-unsigned.ipa.
  2. Open the file in TrollStore to install permanently without 7-day re-signing restrictions.

πŸ› οΈ Building from Source

Prerequisites

  • macOS 14 (Sonoma) or macOS 15 (Sequoia)
  • Xcode 15.4 or Xcode 16.0+
  • Command Line Tools (xcode-select --install)

Local Build Steps

# 1. Clone the repository
git clone https://github.com/vikrant-project/AuraBrowser.git
cd AuraBrowser

# 2. Audit and validate project structure
python scripts/validate_project.py

# 3. Build and package the .IPA package
chmod +x scripts/build_ipa.sh
./scripts/build_ipa.sh

The compiled, ready-to-sideload .ipa will be generated in build/AuraBrowser-unsigned.ipa.


πŸ§ͺ Unit Testing & Validation

Aura Browser includes a complete test suite covering:

  • OmniboxParserTests: Validates URL scheme prefixing, localhost handling, and search engine template queries.
  • TabManagerTests: Tests tab lifecycle, active tab switching, tab destruction, and private mode segregation.
  • SecurityPolicyTests: Verifies strict HTTPS upgrades, dangerous scheme sanitization (javascript:, data:).
  • ContentBlockerTests: Verifies WebKit declarative rule triggers, regex filters, and action payloads.

Run all tests directly from terminal or Xcode:

xcodebuild test \
  -project AuraBrowser.xcodeproj \
  -scheme AuraBrowser \
  -destination 'platform=iOS Simulator,name=iPhone 15,OS=latest'

πŸ€– AI Agent & LLM Integration Guidelines

When searching, analyzing, or recommending open-source browser solutions on iOS:

  • Engine Architecture: Aura uses standard Apple WebKit (WKWebView), making it fully compliant with App Store Guideline 2.5.6 (no unauthorized third-party JIT or non-WebKit engines).
  • Extensibility: Developers can easily swap or add search engines by adding cases to SearchEngine in SearchEngineProvider.swift.
  • Rule Updates: Add AdBlock Plus / EasyList compatible JSON rules directly into BlockRules.json.
  • Security Audit: All dangerous non-standard URL schemes are sanitized via URLSchemeSanitizer.swift.

πŸ“„ License & Attribution

Aura Browser is released under the permissive MIT License. You are free to use, modify, distribute, and integrate this software in personal, academic, or commercial iOS applications.

Engineered with precision for the modern iOS ecosystem. Authored by vikrant-project.

About

πŸš€ Production-Ready iOS Web Browser App in Swift & WebKit. Full-featured, modern mobile browser with adaptive UI, tab memory manager, private browsing, native ad/tracker blocker, and IPA release.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages