5 min read

Open Rec: Local, Secure File Transfer — Hi, LocalSend!

This article contains AI generated content verified by a human.

localsend
Free and open-source local file & message transfer app combining the immediacy of peer‑to‑peer tools and the simplicity of a one‑click interface.

LocalSend?

Feature Value
Open-source? ✅ (Apache 2.0)
Cost 🆓
Author Tien Do Nam & contributors
Use Case Cross‑platform ad‑hoc file & text sharing on LAN
Dependency Local network (Wi‑Fi / Ethernet)

Advantages

  • Works purely peer‑to‑peer (no central server)
  • Cross‑platform (Windows, macOS, Linux, Android, iOS, Web beta)
  • Free & permissively licensed
  • End‑to‑end encrypted (HTTPS local, ephemeral certs)
  • Very low friction (open → pick target → send)
  • Supports files & plain text snippets
  • Portable mode + CLI

Platforms Supported (Indicative)

Platform Windows macOS Linux Android iOS
Availability
Open-source
Price 🆓 🆓 🆓 🆓 🆓

Mobile builds distributed via stores / F-Droid; Web is beta (browser sandbox limits direct FS access). Always verify current packaging status: https://repology.org/project/localsend/versions

Case for LocalSend

If you have more than one device in the same physical space, you will sooner or later move files between them.

The simplest “wireless” method many people use is self‑emailing or messaging themselves. It works for tiny, infrequent transfers, but it silently creates duplicates (original, sent copy, received copy, saved copy) and scales poorly for large media folders.

Cloud drives mitigate duplication by centralising storage, but they inherently require a client→server→client round trip. For LAN devices, this is roughly twice the data movement compared to direct peer‑to‑peer, and speed becomes bounded by upstream bandwidth or service throttles. They also often lack seamless mobile directory integration (manual uploads instead of true synchronisation).

Continuous synchronisation tools like Syncthing shine when you need real‑time mirroring and cross‑LAN operation. Yet they are arguably “too much” when the task is a quick, one‑time push: e.g., sending today’s screenshots from phone to laptop.

LocalSend focuses precisely on that ad‑hoc moment: rapid, secure, ephemeral transfer inside your local network, without user accounts, without configuration rituals.

So, LocalSend is fast, lightweight, and universally convenient in a LAN context. Are there any disadvantages?

  • No automatic background synchronisation (it is not a sync engine)
  • Limited to your local network scope unless you layer a VPN (e.g., Tailscale)
  • No versioning or collaborative locking
  • Throughput tied to Wi‑Fi quality (recommend 5 GHz or Ethernet)

In short: LocalSend is THE solution for one‑off, frictionless local sharing; it does not replace multi‑user cloud collaboration nor persistent backups. If that matches your usage pattern, read on for setup and usage.

Setup

Always prefer package managers / official stores for updates & integrity. Examples below (names may vary; check official docs):

Windows Installation

Using Winget (if available):

winget search localsend
winget install LocalSend   # confirm exact ID via `winget show`

Alternative channels: Scoop, Chocolatey, MSIX preview, Portable ZIP, traditional EXE.

macOS Installation

Requires Homebrew (https://brew.sh/):

brew install --cask localsend

Or download the DMG from the official site.

Linux Installation

Examples (choose the distribution channel your distro supports):

# Flathub
flatpak install flathub org.localsend.localsend_app
flatpak run org.localsend.localsend_app

# Debian/Ubuntu (if packaged)
sudo apt install localsend    # verify actual package name

# AppImage (manual)
chmod +x LocalSend-*.AppImage
./LocalSend-*.AppImage

Other: Snap, AUR, Nixpkgs, TAR, DEB, RPM, etc. See packaging status.

Android Installation

Google Play Store or F-Droid (open-source build). APK direct for advanced users; enable install from trusted sources only.

iOS Installation

Apple App Store (search “LocalSend”). Ensure Local Network permission is granted on first run.

Web (Beta)

Accessible at https://web.localsend.org — limited by browser capabilities (restricted file system access; may require manual file selection each time).

After Installation

LocalSend generally works out-of-the-box:

  1. Open the app on device A and device B (same LAN / Wi‑Fi segment; disable AP isolation on “guest” networks).
  2. Ensure both appear in the auto-discovery list (names are editable).
  3. On A, pick B, select files or paste text, confirm send.
  4. On B, accept incoming transfer; progress bar displays status; files stored in default download directory (configurable in settings).
  5. Verify integrity by opening a transferred file.

Try a quick experiment: send a small text file, then a batch of images; measure elapsed time vs emailing them.

Starting LocalSend automatically on device startup (optional)

Goal: keep LocalSend quickly accessible in tray / background for frequent micro‑transfers.

Windows: Add a shortcut to the Startup folder or use Task Scheduler (optionally with --hidden flag to start minimized).
macOS: Use “Login Items” or a launch agent (e.g., launchctl) if you need advanced control.
Linux (desktop): Use your DE’s “Startup Applications” tool or create a .desktop file in ~/.config/autostart/.
Android/iOS: Open the app when needed; background persistence is OS‑managed (power saving may suspend network discovery—avoid aggressive battery saver modes for continuous availability).

Flag reference:

Purpose Flag Notes
Start hidden --hidden v1.15.0+ launches directly to tray/system bar
Portable mode settings.json Empty file alongside executable triggers local settings storage

Networking & Firewall

Default port: 53317 (TCP + UDP) for discovery & transfer.

Firewall rules (minimum):

Direction Protocols Port(s) Action
Incoming TCP, UDP 53317 Allow
Outgoing TCP, UDP Any Allow

How It Works (High-Level)

LocalSend spins up a lightweight local HTTPS endpoint on each device. Discovery uses broadcast/UDP so peers list themselves. When sending, a REST-style request negotiates transfer; the receiving side validates and writes data to disk. TLS certificates are generated on the fly, securing content from passive LAN sniffing (trust model assumes LAN authenticity; no external CA). Disabling encryption (optional) can marginally increase throughput but removes confidentiality.

For protocol specifics: https://github.com/localsend/protocol

Troubleshooting

Most common problem : Devices invisible:

  • Same IP subnet? (e.g., both 192.168.1.x)
  • Is the Wi‑Fi network marked “Private/Trusted” on Windows?
  • AP isolation disabled on router?
  • Local Network permission granted (iOS/macOS System Settings > Privacy)?
  • Firewall settings ?
    • localsend uses port 53317 for its UDP/TCP protocols. Ensure you are allowing them
    • On linux :
# LocalSend
sudo ufw allow 53317/tcp
sudo ufw allow 53317/udp

Other potential issues

Issue Affects Typical Cause Remedy
Slow speed Any 2.4 GHz congestion / encryption overhead Use 5 GHz; optionally disable encryption (risk trade‑off)
Slow speed (Android) Android Known SAF stream limitation Segment large transfers
Permission error Mobile Storage permission restricted Grant file system / media access in OS settings

Copyleft Statement

Renoncé du droit d'auteur

Much of our content is freely available under the Creative Commons BY-NC-ND 4.0 licence, which allows free distribution and republishing of our content for non-commercial purposes, as long as Ronzz.org is appropriately credited and the content is not being modified materially to express a different meaning than it is originally intended for. It must be noted that some images on Ronzz.org are the intellectual property of third parties. Our permission to use those images may not cover your reproduction. This does not affect your statutory rights.

Nous mettons la plupart de nos contenus disponibles gratuitement sous la licence Creative Commons By-NC-ND 4.0, qui permet une distribution et une republication gratuites de notre contenu à des fins non commerciales, tant que Ronzz.org est correctement crédité et que le contenu n'est pas modifié matériellement pour exprimer un sens différent que prévu à l'origine.Il faut noter que certaines images sur Ronzz.org sont des propriétés intellectuelles de tiers. Notre autorisation d'utiliser ces images peut ne pas couvrir votre reproduction. Cela n'affecte pas vos droits statutaires.