Flash case study
Download · Android 7.0+ · Windows (beta)
Flash
A Kotlin library and app for offline file transfer, chat and calls between nearby devices. No server, no internet, no account.
Download Flash 2.0.0-beta
Pre-releaseReleased 18 September 2026 ·Release page
Other downloads
- Windows installer (.exe)Recommended for Windows. Bundles its own runtime, so no Java is needed.106 MB
- Windows installer (.msi)For managed or enterprise installs. Also bundles its own runtime.105 MB
- Portable JARRuns without installing if you already have Java 11 or later (java -jar followed by the file name).80 MB
Install
- On Android, open the downloaded APK and tap Install. If asked, allow your browser or file manager to install unknown apps.
- On Windows, run the .exe installer and follow the setup wizard. If SmartScreen warns about an unrecognised app, click More info, then Run anyway.
- Connect both devices to the same Wi-Fi network or phone hotspot and open Flash on each. Nearby devices appear on their own.
- Pick a device to send files, chat or call. You can compare safety numbers to check you are talking to the right device.
- This is a beta. Features and settings can change before the stable release; please report problems on GitHub.
- Building an app? Flash is also a set of Kotlin libraries on JitPack. See the library docs.
What's new in 2.0.0-beta
Flash v2.0.0-beta — Cross-Platform LAN & Wi-Fi Direct Peer-to-Peer Transfer & Messaging
We are thrilled to announce the v2.0.0-beta release of Flash! This milestone delivers full cross-platform parity between Android and Windows Desktop, introducing end-to-end encryption, an adaptive dual-pane UI, deep Android system integration, native Windows desktop integration, and resilient offline networking.
🌟 Key Highlights
🔒 Dual-Layer Security & True End-to-End Encryption
- Wire-Level TLS 1.3 Transport (WSS): Authenticated communication over local Wi-Fi / Hotspot with Trust-On-First-Use (TOFU) certificate fingerprint pinning.
- Pairwise AES-256-GCM E2E Messaging: ECDH P-256 key agreement with HKDF-SHA256 session keys. Chat messages, replies, reactions, and typing signals are encrypted on the wire.
- Binary Chunk AES-256-GCM Encryption: Large file streams and chunks are cryptographically authenticated with 128-bit authentication tags.
- Interactive Verification & Device Fingerprints: Compare safety numbers and view SHA-256 device fingerprint hashes directly in the app.
- AndroidKeyStore TLS Resilience (ERROR-070): Hardware-backed P-256 private keys on Android now support
DIGEST_NONEfor Conscrypt TLS signatures, with self-healing key migration.
📱 Android System Integration
- System Share Target (
ACTION_SEND&ACTION_SEND_MULTIPLE): Select photos, videos, or documents in Google Photos, Files, or WhatsApp and share directly with Flash. - Android 14+ DataSync Foreground Service: Persistent, uninterrupted background transfers with real-time transfer speed, ETA, and progress notifications. Includes Android 15
onTimeouthandling. - Quick Settings Tile: Toggle discoverability or jump straight to Nearby sharing with one tap from the Android notification shade.
- App Shortcuts: Long-press the app icon to quickly jump to "Send Files", "Nearby Devices", or "Chats".
- Adaptive Dual-Pane Layout: Automatically transforms on tablets (Pixel Tablet, Galaxy Tab), foldables, and landscape mode into a responsive Navigation Rail and List-Detail view.
💻 Windows Desktop Native Experience
- No Java Required: Ships with native
.exeand.msiinstallers bundling an embedded private runtime. - Adaptive Two-Pane Layout: Modern 68dp Navigation Rail, clamped list pane (320–480dp), and comfortable reading measure (up to 580dp message bubble width) inspired by WhatsApp & Telegram desktop.
- System Tray & "Close to Tray": Keeps transfers running in the background when clicking the close button (
X), with an active tray menu to manage Flash. - Dynamic Taskbar Icon Badging: Windows taskbar badge counter alerts you to unread messages in the background, accompanied by native Windows OS notifications.
- Drag-and-Drop File & Folder Transfers: Drop single files or entire directory trees directly onto a chat window to send them instantly.
- Relative Path Preservation: Preserves folder structures on transfer while enforcing strict path-traversal safeguards.
- Upright Mobile Photos & Video Thumbnails: Integrated JPEG EXIF parser automatically rotates smartphone camera photos; JCodec extracts high-fidelity video thumbnails without external codecs.
- Native Windows Explorer Reveal: One-click "Reveal in folder" directly selects and highlights completed files in Windows Explorer.
- Windows Startup: Optional auto-start on boot via Windows Registry integration.
📚 Android Library / SDK Modules
Developers can now consume Flash's core engine and UI modules via JitPack:
// settings.gradle.kts
dependencyResolutionManagement {
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
// app/build.gradle.kts
dependencies {
implementation("com.github.Kali452345.Flash:core-engine:v2.0.0-beta")
}📦 Installation Guide
Android
- Download
app-release-signed-beta.apk. - Open the file on your device and tap Install (allow "Install unknown apps" if prompted).
- Requires Android 7.0 (Nougat, API 24) or higher.
Windows (No Java Needed)
- Option 1 (Recommended): Download and run
Flash-2.0.0.exe. Follow the setup wizard to install Flash. - Option 2 (Enterprise / MSI): Download and run
Flash-2.0.0.msi. - Option 3 (Portable JAR): If you already have Java 11+ installed, you can run
java -jar Flash-windows-x64-2.0.0.jar.