English | Русский
Android application that runs a local VPN service to bypass DPI (Deep Packet Inspection) and censorship.
This application runs a SOCKS5 proxy ByeDPI and redirects all traffic through it.
This is a fork of dovecoteescapee/ByeDPIAndroid with these additions:
Settings → Auto-connect: pick an app, and ByeDPI connects as soon as that app is opened.
- Disconnect after leaving the app: never, or after 3 s / 5 s / 15 s / 1 min / 5 min. Coming back within that time keeps the connection. Turning the screen off doesn't count as leaving, only switching to another app does.
- Mobile data only: don't auto-connect while on WiFi.
- Connections you start or stop by hand are left alone: a connection you started yourself is never stopped by auto-connect, and if you disconnect while using the app, it doesn't reconnect until the app is opened again.
- Starts again after a reboot or an app update. Needs the usage access permission to see which app is open; enabling it also asks to exempt ByeDPI from battery optimization, since otherwise the system may stop it in the background (on Samsung, also add ByeDPI to "Never sleeping apps").
-
Long-press the app icon for Connect and Disconnect shortcuts that work without opening the app.
-
Automation apps (Tasker, MacroDroid, Samsung Routines, ...) can send these broadcasts to
io.github.dovecoteescapee.byedpi/.receivers.ActionReceiver:Action Effect io.github.dovecoteescapee.byedpi.ACTION_CONNECTConnect io.github.dovecoteescapee.byedpi.ACTION_DISCONNECTDisconnect io.github.dovecoteescapee.byedpi.ACTION_TOGGLEToggle adb shell am broadcast -a io.github.dovecoteescapee.byedpi.ACTION_CONNECT -n io.github.dovecoteescapee.byedpi/.receivers.ActionReceiver
The VPN permission has to be granted once by connecting from the app.
- Native libraries are aligned to 16 KB pages, as needed by newer Android devices.
- Turkish translation for the strings added in this fork.
There are no releases of this fork. Every push builds a debug APK, which can be downloaded from the latest Actions run. It uses the same package name as the original app, so it replaces it; since each build is signed with a different debug key, the installed app has to be uninstalled first (which resets its settings). Building it yourself needs JDK 17.
- Install Obtainium
- Add the app by URL:
https://github.com/dovecoteescapee/ByeDPIAndroid
To bypass some blocks, you may need to change the settings. More about the various settings can be found in the ByeDPI documentation.
You can ask for help in discussion.
No. All application features work without root.
No. The application uses the VPN mode on Android to redirect traffic, but does not send anything to a remote server. It does not encrypt traffic and does not hide your IP address.
-
Run ByeDPI in proxy mode.
-
Add ByeDPI to AdGuard exceptions on the "App management" tab.
-
In AdGuard settings, specify the proxy:
Proxy type: SOCKS5 Proxy host: 127.0.0.1 Proxy port: 1080 (default)
None. The application does not send any data to a remote server. All traffic is processed on the device.
DPI (Deep Packet Inspection) is a technology for analyzing and filtering traffic. It is used by providers and government agencies to block sites and services.
For building the application, you need:
- JDK 8 or later
- Android SDK
- Android NDK
- CMake 3.22.1 or later
To build the application:
- Clone the repository with submodules:
git clone --recurse-submodules
- Run the build script from the root of the repository:
./gradlew assembleRelease
- The APK will be in
app/build/outputs/apk/release/

