localsend/localsend
An open-source cross-platform alternative to AirDrop
go to github for downloadLocalSend
Homepage • Discord • GitHub • Codeberg
LocalSend is a free, open-source app that allows you to securely share files and messages with nearby devices over your local network without needing an internet connection.
About
LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn’t require an internet connection or third-party servers, making it a fast and reliable solution for local communication.
Screenshots
Download
It is recommended to download the app either from an app store or from a package manager because the app does not have an auto-update.
Windows | macOS | Linux | Android | iOS | Fire OS |
---|---|---|---|---|---|
Winget | App Store | Flathub | Play Store | App Store | Amazon |
Scoop | Homebrew | AUR | F-Droid | ||
Chocolatey | DMG Installer | NixOS | APK | ||
MSIX Installer | TAR | ||||
EXE Installer | DEB | ||||
Portable ZIP | AppImage |
Read more about distribution channels.
Setup
In most cases, LocalSend should work out of the box. However, if you are having trouble sending or receiving files, you may need to configure your firewall to allow LocalSend to communicate over your local network.
Traffic Type | Protocol | Port | Action |
---|---|---|---|
Incoming | TCP, UDP | 53317 | Allow |
Outgoing | TCP, UDP | Any | Allow |
Also make sure to disable AP isolation on your router. It should be usually disabled by default but some routers may have it enabled (especially guest networks).
Portable Mode
(Introduced in v1.13.0)
Create a file named settings.json
located in the same directory as the executable.
This file can be empty.
The app will use this file to store settings instead of the default location.
How It Works
LocalSend uses a secure communication protocol that allows devices to communicate with each other using a REST API. All data is sent securely over HTTPS, and the TLS/SSL certificate is generated on the fly on each device, ensuring maximum security.
For more information on the LocalSend Protocol, see the documentation.
Getting Started
To compile LocalSend from the source code, follow these steps:
- Install Flutter directly or using fvm (see version required)
- Clone the
LocalSend
repository - Run
cd app
to enter the app directory - Run
flutter pub get
to download dependencies - Run
flutter run
to start the app
[!NOTE]
LocalSend currently requires an older Flutter version (specified in .fvm/fvm_config.json)
and thus build issues may be caused by a mismatch between the required and the (system-wide) installed Flutter version.
To make development more consistent, LocalSend uses fvm to manage the project Flutter version.
After installingfvm
, runfvm flutter
instead offlutter
.
Contributing
We welcome contributions from anyone interested in helping improve LocalSend. If you’d like to contribute, there are a few ways to get involved:
Translation
You can help translate this app to other languages!
- Fork this repository
- Choose one
- Add missing translations in existing languages: Only update
_missing_translations_<locale>.json
in app/assets/i18n - Fix existing translations: Update
strings_<locale>.i18n.json
in app/assets/i18n - Add new languages: Create a new file; see also: locale codes.
- Add missing translations in existing languages: Only update
- Optional: Re-run this app
- Run
cd app
to enter the app directory. - Make sure you have run this app once.
- Update translations via
flutter pub run slang
- Run the app via
flutter run
- Open a pull request
- Run
Take note: Fields decorated with @
are not meant to be translated; they are not used in the app in any way, being merely informative text about the file or to give context to the translator.
Bug Fixes and Improvements
- Bug Fixes: If you find a bug, please create a pull request with a clear description of the issue and how to fix it.
- Improvements: Have an idea for how to improve LocalSend? Please create an issue first to discuss why the improvement is needed.
For more information, see the contributing guide.
Building
These commands are intended for maintainers only.
Android
Traditional APK
flutter build apk
AppBundle for Google Play
flutter build appbundle
iOS
flutter build ipa
macOS
flutter build macos
Windows
Traditional
flutter build windows
Local MSIX App
flutter pub run msix:create
Store ready
flutter pub run msix:create --store
Linux
Traditional
flutter build linux
AppImage
appimage-builder --recipe AppImageBuilder.yml
Snap
Feel free to open a pull request. There is a snap
branch to play with.
Contributors
![](/images/banner-woo.jpg)
related excellent projects recommendation download
AppFlowy
47859
AppFlowy is an open-source alternative to Notion. You are in charge of your data and customizations. Built with Flutter and Rust.
localsend
33797
An open-source cross-platform alternative to AirDrop
spotube
23772
🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
revanced-manager
15035
💊 Application to use ReVanced on Android
gsy_github_app_flutter
14559
Flutter 超完整的开源项目,功能丰富,适合学习和日常使用。GSYGithubApp系列的优势:我们目前已经拥有Flutter、Weex、ReactNative、kotlin 四个版本。 功能齐全,项目框架内技术涉及面广,完成度高,持续维护,配套文章,适合全面学习,对比参考。跨平台的开源Github客户端App,更好的体验,更丰富的功能,旨在更好的日常管理和维护个人Github,提供更好更方便的驾车体验Σ( ̄。 ̄ノ)ノ。同款Weex版本 : https://github.com/CarGuo/GSYGithubAppWeex 、同款React Native版本 : https://github.com/CarGuo/GSYGithubApp 、原生 kotlin 版本 https://github.com/CarGuo/GSYGithubAppKotlin
dio
12249
A powerful HTTP client for Dart and Flutter, which supports global settings, Interceptors, FormData, aborting and canceling a request, files uploading and downloading, requests timeout, custom adapters, etc.
gopeed
11832
A modern download manager that supports all platforms. Built with Golang and Flutter.
bloc
11441
A predictable state management library that helps implement the BLoC design pattern
getx
9899
Open screens/snackbars/dialogs/bottomSheets without context, manage states and inject dependencies easily with Get.
flame
8846
A Flutter based game engine.
flutter_deer
7595
🦌 Flutter 练习项目(包括集成测试、可访问性测试)。内含完整UI设计图,更贴近真实项目的练习。Flutter practice project (including integration testing and accessibility testing). Contains complete UI design drawings for a more realistic practice project.
fish-redux
7343
An assembled flutter application framework.
fl_chart
6451
FL Chart is a highly customizable Flutter chart library that supports Line Chart, Bar Chart, Pie Chart, Scatter Chart, and Radar Chart.
pixez-flutter
6360
一个支持免代理直连及查看动图的第三方Pixiv flutter客户端
Flutter-Responsive-Admin-Panel-or-Dashboard
6355
Responsive Admin Panel or Dashboard using Flutter
aidea
6021
AIdea 是一款支持 GPT 以及国产大语言模型通义千问、文心一言等,支持 Stable Diffusion 文生图、图生图、 SDXL1.0、超分辨率、图片上色的全能型 APP。
riverpod
5828
A reactive caching and data-binding framework. Riverpod makes working with asynchronous code a breeze.
pikapika
5463
美观易用且无广告的漫画和游戏客户端,同时支持MacOS,Windows,Android,iOS。
provider
5029
InheritedWidgets, but simple
getwidget
4416
Most popular and easy to use open source UI library with 1000+ Widgets to build flutter app.