LocalDrop is a cross-platform nearby sharing app built with Flutter for fast, direct transfers over the local network.
It is designed for people who want a clean, modern way to send files, folders, photos, videos, text, and clipboard content between devices without using a cloud relay.
- Discovers nearby devices on the same local network
- Sends content directly device-to-device
- Requires receiver approval for every incoming transfer
- Keeps transfer history on the device
- Stores received files in the folder you choose
- Opens the received folder from the app where the platform supports it
- Cross-platform support:
- Android
- iPhone / iPad
- Windows
- macOS
- Linux
- Nearby discovery with:
- UDP LAN discovery as the universal baseline
- Android NSD as an additive native source
- Apple Bonjour as an additive native source
- Transfer types:
- Files
- Photos
- Videos
- Folders
- Text notes
- Clipboard text
- Explicit
Accept/Declineapproval flow - Transfer progress, diagnostics, and history
- In-app folder view plus native folder open where supported
- System gallery and file pickers on mobile
- Desktop drag-and-drop where supported by the current platform build
- Light and dark themes
- English localization
- Foreground-only nearby model on mobile
- No cloud relay
- No account required
- Direct local-network transfer flow
- Receiver-controlled approvals
- Current builds use encrypted transfer transport on the main transfer port
- Transfer history and transport logs are kept locally on the device
| Platform | Status | Notes |
|---|---|---|
| Android | Supported | Nearby discovery, sending, receiving, media pickers |
| iOS / iPadOS | Supported | Local Network access required, Files/share integration depends on iOS behavior |
| Windows | Supported | Nearby discovery, diagnostics, firewall integration |
| macOS | Supported | Nearby discovery, native Apple Bonjour support, user-selected file access |
| Linux | Supported | Nearby discovery and transfers on desktop environments |
- Open LocalDrop on the devices you want to use.
- Choose content on the sender.
- Select a nearby device.
- Accept the request on the receiver.
- LocalDrop transfers the content directly across the local network.
Nearby- pick content
- discover devices
- start transfers
- troubleshoot connection issues
History- view completed and failed transfers
- reopen received folders
Settings- nickname
- save directory
- theme preference
- identity / diagnostics details
- LocalDrop is designed for direct local-network sharing
- Transfers are not routed through a LocalDrop cloud service
- Receiver approval is required before incoming transfer data is accepted
- Preferences, transfer history, and transport logs are stored locally on the device
- See PRIVACY_POLICY.md for details about LocalDrop's privacy practices, data handling, and contact information
INTERNETACCESS_NETWORK_STATEACCESS_WIFI_STATECHANGE_WIFI_MULTICAST_STATE- System file and media pickers for user-selected content
- Local Network access
- Bonjour service advertisement / browsing
- Photo Library access for user-selected media
- Multicast entitlement for physical-device LAN discovery
- Local network access
- Optional Windows firewall setup for inbound nearby discovery
- Local network access
- User-selected file and folder access
lib/
app/
core/
features/
history/
home/
nearby/
settings/
transfers/
l10n/
models/
services/
state/
LocalDrop currently uses these transfer routes:
GET /v1/transfer/healthPOST /v1/transfer/offerGET /v1/transfer/{id}/decisionPUT /v1/transfer/{id}/data?itemId={itemId}POST /v1/transfer/{id}/complete
- Flutter
3.41.x - Dart
3.11.x - Android Studio for Android builds
- Xcode for iOS / macOS builds
- Visual Studio Build Tools for Windows builds
- GTK / CMake toolchain for Linux builds
flutter pub get
flutter analyze
flutter test
flutter run -d windowsflutter build apk --debug
flutter build appbundle --releaseflutter build ios --releaseArchive and upload with Xcode / Transporter.
flutter build windows --releaseflutter build macos --releaseflutter build linux --releaseThis project is licensed under GPL-3.0. See LICENSE.