Documentation

Using DIRECT

Everything you need to install the app, connect phones over Bluetooth and use it day to day. Android only, no internet required.

Contents
  1. Getting started
  2. Connecting over Bluetooth
  3. Feed & multi-hop sync
  4. Chat, photos & voice notes
  5. Calls
  6. Security
  7. Updates
  8. Share the app over Bluetooth
  9. Troubleshooting & FAQ

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.

  1. Download DIRECT_X.apk on your phone.
  2. Open the file. If Android asks, allow Install unknown apps for your browser or file manager.
  3. 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

PermissionUsed 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.
MicrophoneVoice notes and calls. Requested when you use them.
Notifications, full-screen alerts, vibrationNew messages and incoming calls, including on a locked phone.
Foreground service (connected device), wake lockKeeping the Bluetooth link and feed sync running in the background.
Display over other appsShowing an incoming call screen.
Install packages, network accessThe built-in updater (see Updates).

Connecting over Bluetooth

  1. On the first phone, open the Bluetooth view and tap WAIT. The phone becomes visible and shows its device code.
  2. On the second phone, tap FIND DEVICES, select the phone and enter that device code.
  3. 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.

Share the app over Bluetooth

No internet at all? DIRECT can send its own APK to a friend's phone using Android's Bluetooth sharing. The friend opens the received file and installs it as in Getting started.

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.