github GVCoder09/NoDPI4Android v2.0
NoDPI4Android v2.0

4 hours ago

🚀 NoDPI for Android 2.0

The first stable release of the 2.x line — and a complete rewrite once again. The app is now native: Kotlin, Jetpack Compose and Material 3 Expressive instead of Python and Kivy. The APK went from 46.7 MB down to 1.8 MB, and the traffic engine now works exactly like the desktop NoDPI.


⚠️ Version 2.0 is signed with a new key, so it cannot be installed over v1.0 or v2.0-beta.
Before installing, write down or take a screenshot of your blacklist, then uninstall the old version. Otherwise Android will show "App not installed: package conflicts with an existing package".
After this one-time reinstall, future versions will update normally.


✨ What's New

Native App

  • Rewritten from scratch in Kotlin with Jetpack Compose and Material 3 Expressive
  • 25× smaller APK, faster start, lower battery usage
  • Proper foreground service: the proxy keeps running when the app is closed
  • Notification with live traffic stats and a Stop button
  • Quick Settings tile to toggle the proxy from the notification shade
  • Start on boot (was missing in 2.0-beta)

Traffic Engine — same as desktop NoDPI

  • SNI fragmentation — ClientHello is split into TLS records around the SNI field, the SNI itself character by character
  • Disorder (on by default) — the first fragment is sent with TTL=1, so DPI sees the stream out of order and lets the connection through. Can be turned off in Settings
  • Random fragmentation has been removed, as in the desktop version
  • Cloudflare-aware — sites hosted on Cloudflare are sent without fragmentation: it cannot unblock them there and only breaks access. The All mode no longer breaks Cloudflare sites
  • Blacklist modes Standard / All / Auto and matching modes Strict / Loose are kept

Statistics & Log

  • Home screen shows connections (total / unblocked / direct / errors), traffic and current/average speed
  • New Log tab: every connection with traffic, filters, sharing, and one-tap "Add to blacklist"

Blacklist

  • Search, add several domains at once, undo deletion
  • Import from and export to a text file, reset to default

Settings

  • Local network access (0.0.0.0) to share the proxy with other devices, e.g. via hotspot
  • Optional proxy authentication (Basic)
  • Light / Dark / System theme, new light blue palette, optional dynamic color
  • English and Russian, following the system language or chosen manually
  • Battery optimization and notification status right in Settings
  • First launch offers to disable battery optimization and enable start on boot

Other

  • Built-in update check in About
  • New adaptive icon

⚠️ Known Issues & Limitations

  • Blocked sites hosted on Cloudflare cannot be unblocked by fragmentation
  • Telegram, WhatsApp, and voice/video in Discord are not unblocked; sites blocked by IP address are unavailable too
  • Android applies a manual proxy only to Wi-Fi networks; on mobile data use an app or browser that supports HTTP proxies
  • The blacklist from previous versions cannot be transferred automatically because of the new signing key

📦 Installation

  1. Uninstall the previous version of NoDPI if you have it (save your blacklist first)
  2. Download NoDPI-2.0.apk from the Assets section below
  3. Enable "Install from unknown sources" in your device settings
  4. Install, launch and accept the disclaimer
  5. Tap the power button on the main screen
  6. In Wi-Fi settings set the proxy to Manual: host 127.0.0.1, port 8881

Requires Android 7.0 or newer.

Verify the APK

  • File SHA-256: DBE6CBBD1616561F1B7EDEFABD99062DFACC671DA5F7A955A31613CA6AF76481
  • Signing certificate SHA-256: 88624eed3ffc1318a6ae5cb28e614c20b4a5069d81ba693fb71868d678d2efbb

If you encounter issues, please open an Issue with your device model, Android version, unblocking mode and provider name.

Don't miss a new NoDPI4Android release

NewReleases is sending notifications on new releases.