Team Ai
Datasetpublic

Offlin33er/nova-browser

OFFDIGITZ ๐ŸฆŽโšก This project has been renamed OFFDIGITZ. The active repo is Offlin33er/offdigitz-browser (v1.0.0). This repo holds the v0.8.0 rename point and earlier history. Not a conventional browser. OFFDIGITZ is a chrome-less, unrestricted GeckoView browser whose entire interface is a command palette โ€” with a built-in AI assistant. What makes it different 1. Chrome-less by design No URL bar. No toolbar row. No tab strip. Content is edge-to-edgeโ€ฆ See the full description on the dataset page: https://huggingface.co/datasets/Offlin33er/nova-browser.

sourceHugging Facempl-2.0updated 12d agoView on Hugging Face
1likes928downloads
Dataset Card

OFFDIGITZ ๐ŸฆŽโšก

This project has been renamed OFFDIGITZ. The active repo is Offlin33er/offdigitz-browser (v1.0.0). This repo holds the v0.8.0 rename point and earlier history.

Not a conventional browser. OFFDIGITZ is a chrome-less, unrestricted GeckoView browser whose entire interface is a command palette โ€” with a built-in AI assistant.

What makes it different

1. Chrome-less by design

No URL bar. No toolbar row. No tab strip. Content is edge-to-edge, full screen. One floating โŒ˜ button summons the command palette โ€” everything routes through it:

  • โ€”Type anything โ†’ Go to โ€ฆ / ๐Ÿ” Search DuckDuckGo / ๐Ÿค– Ask AI
  • โ€”New tab ยท Close current tab ยท Reload page ยท Open tab tray ยท Add-ons manager ยท Dev console ยท Clear console ยท Ask AI ยท AI settings
  • โ€”A thin loading bar hugs the top edge โ€” that's the only persistent indicator.

2. Unrestricted defaults (deliberately unlike mainstream browsers)

RestrictionConventional browsersOFFDIGITZ
Tracking protection / content blockingON by defaultOFF โ€” no ContentBlocking policy configured
Extension permission promptsDialog per installAuto-granted (AUTO_GRANT_PERMISSIONS = true in BrowserActivity; flip to false to restore prompts)
about:configHidden/blockedEnabled โ€” full engine configuration surface
Remote debuggingOffAlways on โ€” desktop Firefox DevTools via about:debugging
DevTools (Eruda)NoneInjected into every page

Engine-level limit (not embedder-fixable): Gecko validates add-on signatures at install time โ€” unsigned .xpi installs are refused by the engine regardless of app settings. Privileged extensions ship inside the APK (OFFDIGITZ's dev console does exactly that).

3. Real WebExtensions

  • โ€”Bundled devconsole@offdigitz (privileged, ensureBuiltIn) โ€” Eruda in every page, console logs bridged to the native screen
  • โ€”AMO installs: .xpi URL or add-on page URL โ†’ WebExtensionController.install() โ†’ Gecko validates Mozilla signature โ†’ permissions auto-granted in unrestricted mode
  • โ€”Add-ons manager: list, enable/disable, uninstall

4. Built-in AI (โŒ˜ โ†’ Ask AI)

  • โ€”Full chat screen; anything typed in the palette can be sent straight to the AI via the ๐Ÿค– Ask AI row
  • โ€”Two backends, chosen in AI settings:
  • โ€”Hugging Face โ€” models like Llama via router.huggingface.co/v1 + your HF token
  • โ€”Any OpenAI-compatible API โ€” OpenAI, Groq, or Ollama on your own PC (base URL + key)
  • โ€”Keys are stored only on your device (SharedPreferences) and sent only to the endpoint you choose

5. Developer console, three layers

  1. 1.Eruda in-page inspector (console / DOM / network)
  2. 2.Native console screen via native messaging (โŒ˜ โ†’ Dev console)
  3. 3.Remote debugging: desktop Firefox DevTools (about:config also enabled)

Versions

VersionMilestone
0.1.0GeckoView shell, tabs, bundled dev-console extension, remote debugging
0.2.0Tab tray, session restore, VIEW-intent handling
0.3.0Loading bar, live URL sync, back/fwd states, history autocomplete
0.4.0Add-ons manager + native console screen
0.5.0AMO installs + permission flow (superseded pre-release)
0.6.0The pivot: chrome-less โŒ˜ palette + unrestricted defaults
0.7.0Built-in AI (Ask AI chat, HF + OpenAI-compatible backends)
0.8.0Renamed to OFFDIGITZ (launcher label, palette/AI headers, extension id, applicationId com.offdigitz.browser)

Which APK to install

In `apk/`:

FileUse
offdigitz-0.8.0-arm64-release.apkMost modern phones โ€” small, optimized
offdigitz-0.8.0-universal-release.apkAny device
offdigitz-0.8.0-debug.apkDebug build with all ABIs

Release builds are debug-signed (installable for testing). The renamed app installs as a new app (com.offdigitz.browser) alongside any earlier Nova install.

Build it

  1. 1.Android Studio (2024.2+) โ†’ clone this repo โ†’ sync.
  2. 2.curl -L -o app/src/main/assets/devconsole/eruda.min.js https://cdn.jsdelivr.net/npm/eruda/eruda.min.js
  3. 3.Run โ–ถ (minSdk 26).

Dependency pins (cloud-build verified)

DependencyVersion
org.mozilla.geckoview:geckoview147.0.20260212191108
AGP / Gradle8.9.1 / 8.11.1
Kotlin2.2.21 + built-in Compose compiler plugin
Compose BOM2024.09.03
minSdk / compileSdk26 / 36

Layout

app/src/main/java/dev/nova/browser/   (internal package path; app identity is com.offdigitz.browser)
  BrowserActivity.kt          โ€” chrome-less shell, โŒ˜ FAB, unrestricted runtime config
  CommandPalette.kt           โ€” the primary UI: commands, navigate, search, Ask AI
  AiChat.kt                   โ€” AI settings store, OpenAI-format client (HF router + compatible), chat + settings screens
  TabManager.kt               โ€” sessions, persistence/restore, history, extension registry
  TabTray.kt                  โ€” tab management (via palette)
  ExtensionManagerScreen.kt   โ€” add-ons: list, toggle, uninstall, AMO install
  ConsoleScreen.kt            โ€” full dev console
app/src/main/assets/devconsole/
  manifest.json               โ€” privileged built-in extension (devconsole@offdigitz)
  eruda-loader.js             โ€” Eruda injection + console bridge
  background.js               โ€” extension background script

Honest notes

  • โ€”Auto-granted permissions are a real security trade-off โ€” that's the point of the product, but it means installed add-ons get what they ask for without a gate. One constant (AUTO_GRANT_PERMISSIONS) flips prompts back on.
  • โ€”Session restore is URL-level (no scroll/state capture yet).
  • โ€”Release builds are debug-signed and not R8-minified.
  • โ€”Eruda exposes page internals โ€” you chose unrestricted; mainstream browsers deliberately don't.
  • โ€”The internal Kotlin package path is still dev.nova.browser (invisible); a cosmetic package-directory rename is a future pass.

License

MPL-2.0.