Getting started
DIRECT is an Android app distributed as an APK file. It needs Android 8.0 or newer and the download is about 0.8 MB.
- Download DIRECT_X.apk on your phone.
- Open the file. If Android asks, allow Install unknown apps for your browser or file manager.
- Open DIRECT and allow the permissions it asks for (see below). Bluetooth access is required to find and connect to nearby phones.
Permissions the app requests
| Permission | Used for |
|---|---|
| Nearby devices (Bluetooth scan, connect, advertise) | Finding, pairing and syncing with nearby DIRECT phones. Scanning is declared as not used for location. |
| Location (Android 11 and older only) | Older Android versions require it for Bluetooth scanning. |
| Microphone | Voice notes and calls. Requested when you use them. |
| Notifications, full-screen alerts, vibration | New messages and incoming calls, including on a locked phone. |
| Foreground service (connected device), wake lock | Keeping the Bluetooth link and feed sync running in the background. |
| Display over other apps | Showing an incoming call screen. |
| Install packages, network access | The built-in updater (see Updates). |
Connecting over Bluetooth
- On the first phone, open the Bluetooth view and tap WAIT. The phone becomes visible and shows its device code.
- On the second phone, tap FIND DEVICES, select the phone and enter that device code.
- Both phones show the same verify code. Compare it once to be sure you connected to the right phone.
Smart Connect and saved devices
Phones you have connected to are kept under Saved devices. Smart Connect reconnects to them without entering the code again.
No Wi-Fi network, SIM or internet connection is needed. Everything runs over Bluetooth between the two phones.
Feed & multi-hop sync
Posts are signed on your phone and stored locally. When two DIRECT phones connect, they compare which posts each one holds and exchange what the other is missing, including posts written by other people.
Because every phone carries the posts it has received, a post can travel through several phones and reach people its author never met. This is store-and-forward sync: a post moves as fast as people meet, not in real time.
Phones learned through sync can be dialled automatically (auto-mesh).
Chat, photos & voice notes
Send direct messages with text, images and voice notes (recorded as WAV) to a connected phone.
Calls
Call a connected phone over Bluetooth. You can accept, decline and mute. Incoming calls open full-screen, even when the phone is locked.
Security
- Key exchange: every connection starts with an ECDH P-256 key exchange.
- Encryption: traffic between phones is encrypted with AES-GCM 256.
- Verify code & fingerprint: both phones show the same code and security fingerprint, so you can confirm who you are connected to.
- Signed posts: posts are signed (ECDSA P-256) and checked when they arrive.
- No servers: posts, messages and keys stay on the phones. There is no account.
Updates
DIRECT has a built-in updater. It reads version.json from direct-x-app.vercel.app, downloads the new APK only from that address over HTTPS and installs it only if its SHA-256 checksum matches. A file with a missing or wrong checksum is rejected.
Current version: v0.93.
Troubleshooting & FAQ
The other phone does not show up
Make sure Bluetooth is on and that one phone has tapped WAIT before the other taps FIND DEVICES. Check that DIRECT has the Nearby devices permission (and Location on Android 11 or older).
The device code is rejected
Enter the code exactly as the waiting phone shows it. If it still fails, tap WAIT again on that phone to get a fresh code.
Android blocks the installation
Allow Install unknown apps for the app you used to open the APK, then open the file again.
Do I need internet or an account?
No. Only the optional update check uses the internet.
Is there an iOS version?
Not yet. DIRECT is Android only.