Homepage • Discord • GitHub • Codeberg
English • 中文 • 日本語 • ภาษาไทย • Filipino • Polski • Español • Tiếng Việt • Portugês Brasil • Italiano • Indonesia
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.
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.
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 | Nixpkgs | F-Droid | ||
Chocolatey | DMG Installer | Snap | APK | ||
EXE Installer | AUR | ||||
Portable ZIP | TAR | ||||
DEB | |||||
AppImage |
Read more about distribution channels.
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.
Start hidden
(Updated in v1.15.0)
To start the app hidden (only in tray), use the --hidden
flag (example: localsend_app.exe --hidden
).
On v1.14.0 and earlier, the app starts hidden if autostart
flag is set, and the hidden setting is enabled.
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.
To compile LocalSend from the source code, follow these steps:
LocalSend
repositorycd app
to enter the app directoryflutter pub get
to download dependenciesflutter run
to start the app[!NOTE] LocalSend currently requires an older Flutter version (specified in .fvmrc) 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 installing
fvm
, runfvm flutter
instead offlutter
.
We welcome contributions from anyone interested in helping improve LocalSend. If you'd like to contribute, there are a few ways to get involved:
You can help translate this app to other languages!
_missing_translations_<locale>.json
in app/assets/i18n
strings_<locale>.i18n.json
in app/assets/i18n
cd app
to enter the app directory.flutter pub run slang
flutter 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.
For more information, see the contributing guide.
These commands are intended for maintainers only.
Traditional APK
flutter build apk
AppBundle for Google Play
flutter build appbundle
flutter build ipa
flutter build macos
Traditional
flutter build windows
Local MSIX App
flutter pub run msix:create
Store ready
flutter pub run msix:create --store
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.