Skip to content

About

Kinetic is an Android browser that bridges the standard internet and the Kinetic decentralized network

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Kinetic Browser

A privacy-first Android browser for the decentralized web
Built on GeckoView · Powered by a native Rust P2P node · Resolves .kin domains


What is Kinetic?

Kinetic is an Android browser that bridges the standard internet and the Kinetic decentralized network — a peer-to-peer system with its own domain namespace (.kin). It gives users a single browser that works seamlessly across both worlds, with no compromise on speed, privacy, or control.

Unlike conventional browsers, Kinetic runs a native Rust P2P daemon directly on-device. There are no centralized DNS servers, no third-party resolvers, and no telemetry.


Features

🌐 Dual-Web Browsing

  • Resolves standard internet URLs via GeckoView (full Gecko web engine, same as Firefox)
  • Natively resolves .kin domains through the on-device P2P node — no external DNS
  • Supports kin:// custom URI scheme for direct deep linking into the network

🦀 On-Device Rust P2P Node

  • A full Kinetic network node runs in-process using Rust via JNI
  • Connects directly to the Kinetic peer-to-peer network on app start
  • Handles .kin name resolution, network sync, and DHT participation locally
  • No centralized servers, no cloud dependency, no telemetry

🔒 Privacy by Default

  • No tracking, no analytics, no crash reporting sent to any server
  • DuckDuckGo set as default search engine
  • Google available as an opt-in toggle on the home screen
  • Built with minSdk = 33 (Android 13+) — modern security model only

🏠 Smart Home Page (home.kin)

  • Served locally by an embedded HTTP server — loads instantly with zero network requests
  • One-tap search engine switching (DuckDuckGo ↔ Google) directly on the home screen
  • Quick shortcuts: Bookmarks, History, Downloads, Kinetic Network Explorer
  • .kin network discovery cards: atlas.kin, blog.kin, chat.kin, forum.kin

📑 Tab Management

  • Full multi-tab switcher with live rendered tab screenshots
  • Swipe-to-close and one-tap tab switching
  • Active tab highlighted with accent border

🔍 Smart Omnibox

  • Unified search + URL bar with intelligent suggestion engine
  • Suggestions sourced from: search engine, bookmarks, history, clipboard, and .kin domain hints
  • Clipboard URL auto-detection with one-tap open banner

📥 Downloads

  • Integrated download manager using Android DownloadManager
  • Downloads saved to standard Downloads folder
  • Download progress tracked natively

🔖 Bookmarks & History

  • Full bookmark management: add, view, delete
  • Persistent browsing history with search
  • Both stored in SharedPreferences — no external database dependency

🎨 Adaptive Launcher Icon

  • Material You dynamic theming (Android 13+) via adaptive icon monochrome layer
  • Custom 2D dual-tone vector mark: Kinetic Purple #7C3AED + Electric Violet #8B5CF6 + Cyan #06B6D4
  • Ships as arm64-v8a, armeabi-v7a, and x86_64 separate APKs — no bloated universal bundle

Architecture

kinetic-android/
├── app/          # Main application (Kotlin)
│   ├── MainActivity.kt          # Browser UI, tab management, omnibox, downloads
│   ├── KineticApplication.kt    # GeckoRuntime + KineticNode initialisation
│   ├── KineticLocalServer.kt    # Embedded HTTP server for home.kin
│   ├── SuggestionProvider.kt    # Omnibox suggestions (search, history, bookmarks, .kin)
│   ├── BrowserStorage.kt        # Bookmark and history persistence
│   └── NetworkRegistryService.kt # .kin registry sync from P2P node
│
├── ui/           # Android library — GeckoView dependency bridge
│
├── p2p/          # Android library — Rust JNI bridge
│   └── src/main/rust/           # Kinetic P2P daemon (Rust)
│       └── Cargo.toml           # kinetic-core, kinetic-network, kinetic-storage, libp2p
│
└── vendor/kinetic/              # Kinetic protocol crates (git submodule)
    ├── kinetic-core/
    ├── kinetic-network/
    ├── kinetic-storage/
    ├── kinetic-kid/
    ├── kinetic-types/
    ├── kinetic-verify/
    └── kinetic-vdfrs/

Tech Stack

Layer Technology
Web Engine GeckoView 153 (same engine as Firefox)
Language Kotlin (app) + Rust (P2P daemon)
P2P Networking libp2p 0.53, QUIC, TLS 1.3
JNI Bridge Rust jni crate via cargo-ndk
UI Native Android Views — no Compose, no React Native
Storage SharedPreferences (bookmarks, history, settings)
Build Gradle 9.6 + Kotlin DSL + cargo-ndk

Building from Source

Prerequisites

  • Android Studio Hedgehog or later
  • Android NDK 26.1.10909125
  • Rust toolchain with cargo-ndk:
    rustup target add aarch64-linux-android
    cargo install cargo-ndk

Clone

git clone --recurse-submodules https://github.com/your-org/kinetic-android.git
cd kinetic-android

Debug Build

./gradlew assembleDebug

Release Build (Per-Architecture APKs)

./gradlew assembleRelease

Output APKs:

  • app/build/outputs/apk/release/app-arm64-v8a-release.apk — Modern phones (recommended)
  • app/build/outputs/apk/release/app-armeabi-v7a-release.apk — Legacy 32-bit devices
  • app/build/outputs/apk/release/app-x86_64-release.apk — Emulators / ChromeOS

Installing

Recommended: Download app-arm64-v8a-release.apk from Releases.

Works on any Android 13+ phone (Samsung, Pixel, Nothing, OnePlus, etc.)

Enable Install from Unknown Sources in your Android settings, then open the APK.


Release Size

APK Architecture Size
app-arm64-v8a-release.apk 64-bit ARM (modern phones) ~195 MB
app-armeabi-v7a-release.apk 32-bit ARM (older phones) ~150 MB
app-x86_64-release.apk x86_64 (emulators) ~206 MB

The APK is large because it bundles GeckoView — the full Firefox web engine — to ensure complete web compatibility. No network download occurs at install time.


Permissions

Permission Reason
INTERNET Web browsing and P2P network connectivity
CAMERA Web camera access for sites that request it
RECORD_AUDIO Web microphone access for sites that request it
ACCESS_FINE_LOCATION Web geolocation for sites that request it
POST_NOTIFICATIONS Download completion notifications

License

MIT License — see LICENSE for details.


Built with 🦀 Rust and ❤️ for the decentralized web

About

Kinetic is an Android browser that bridges the standard internet and the Kinetic decentralized network

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages