Skip to content

Algorithm-LLC/local_drop

Repository files navigation

LocalDrop

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.

What LocalDrop Does

  • 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

Features

  • 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 / Decline approval 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

Product Highlights

  • 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 Support

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

How It Works

  1. Open LocalDrop on the devices you want to use.
  2. Choose content on the sender.
  3. Select a nearby device.
  4. Accept the request on the receiver.
  5. LocalDrop transfers the content directly across the local network.

Current App Sections

  • 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

Privacy And Security

  • 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

Permissions And Capabilities

Android

  • INTERNET
  • ACCESS_NETWORK_STATE
  • ACCESS_WIFI_STATE
  • CHANGE_WIFI_MULTICAST_STATE
  • System file and media pickers for user-selected content

iOS / iPadOS

  • Local Network access
  • Bonjour service advertisement / browsing
  • Photo Library access for user-selected media
  • Multicast entitlement for physical-device LAN discovery

Windows

  • Local network access
  • Optional Windows firewall setup for inbound nearby discovery

macOS / Linux

  • Local network access
  • User-selected file and folder access

Project Structure

lib/
  app/
  core/
  features/
    history/
    home/
    nearby/
    settings/
    transfers/
  l10n/
  models/
  services/
  state/

Protocol Surface

LocalDrop currently uses these transfer routes:

  • GET /v1/transfer/health
  • POST /v1/transfer/offer
  • GET /v1/transfer/{id}/decision
  • PUT /v1/transfer/{id}/data?itemId={itemId}
  • POST /v1/transfer/{id}/complete

Development

Prerequisites

  • 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

Common Commands

flutter pub get
flutter analyze
flutter test
flutter run -d windows

Build Commands

Android

flutter build apk --debug
flutter build appbundle --release

iOS

flutter build ios --release

Archive and upload with Xcode / Transporter.

Windows

flutter build windows --release

macOS

flutter build macos --release

Linux

flutter build linux --release

License

This project is licensed under GPL-3.0. See LICENSE.

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors