返回目录
开源项目其他开源工具类新手

LocalSend:跨平台局域网文件与消息传输工具(AirDrop 开源替代方案)

LocalSend 是一款免费开源的跨平台应用,通过本地网络在附近设备之间安全地传输文件和消息,无需互联网连接,也不依赖第三方服务器。它基于 REST API 与 HTTPS 加密通信,TLS/SSL 证书在每台设备上即时生成,支持 Windows、macOS、Linux、Android、iOS 与 Fire OS。

0 次阅读2026/09/11 发布
LocalSend:跨平台局域网文件与消息传输工具(AirDrop 开源替代方案) 来源图片

社区作者 · zZz

它解决什么问题

LocalSend 是一个跨平台应用,目标是作为 AirDrop 的开源替代方案,让同一局域网内的设备之间安全地收发文件与消息。

核心特点:

  1. 使用 REST API 与 HTTPS 加密在设备之间通信;TLS/SSL 证书在每台设备上即时(on the fly)生成,以保证安全性。
  1. 不依赖外部服务器,不需要互联网连接,也不依赖第三方服务器,因此速度快、可靠性高。
  1. 跨平台:覆盖 Windows、macOS、Linux、Android、iOS、Fire OS。
  1. 官方建议从应用商店或包管理器下载安装,因为应用本身不带自动更新。

配图说明:配图 2(iPhone screenshot)和配图 3(PC screenshot)展示了移动端与桌面端的界面形态;配图 4 是项目的依赖层级(Dependency Hierarchy)图;配图 5 是 Weblate 多语言翻译状态图;配图 6 是贡献者列表图;配图 1 为赞助商图标(浏览器测试支持方)。

协议与端口:客户端之间通过 LocalSend Protocol 通信,默认端口为 53317,入站需放通 TCP 与 UDP。项目另提供基于 LocalSend Protocol v2 的终端客户端 LocalSend CLI。

社区与贡献:项目提供 Weblate 平台用于翻译管理,也可 fork 仓库后手动修改 app/assets/i18n 目录下的 _missing_translations_<locale>.json 或 strings_<locale>.i18n.json;以 @ 装饰的字段不属于翻译范围,仅用于提供上下文信息。Bug 修复可直接提交带清晰说明的 Pull Request,功能改进建议先创建 issue 讨论。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

一、下载与安装(官方建议优先使用应用商店或包管理器,因为 LocalSend 不带自动更新) Windows:Winget、Scoop、Chocolatey、EXE Installer、Portable ZIP。Windows 二进制文件已签名,详见代码签名策略。 注意:来源提到存在非官方 MSIX 预览版,可从 localsend.ob-buff.dev 试用最新提交构建,稳定性不作保证,所有自定义改动均列在该站点上。

macOS:App Store、Homebrew、DMG Installer。 Linux:Flathub、Nixpkgs、Snap、AUR、TAR、DEB、AppImage。 Android:Play Store、F-Droid、APK。 iOS:App Store。 Fire OS:Amazon。

二、兼容性(最低版本)

  • Android:5.0
  • iOS:12.0
  • macOS:11 Big Sur;如需在更旧设备上运行,来源提示可使用 OpenCore Legacy Patcher 2.0.2(见 issue #1005)
  • Windows:10;最后一个支持 Windows 7 的版本是 v1.15.4,未来可能为新版本提供 Windows 7 向后移植
  • Linux:无固定版本(N.A.);依赖:Gnome 需要 xdg-desktop-portal 与 xdg-desktop-portal-gtk,KDE 需要 xdg-desktop-portal 与 xdg-desktop-portal-kde

三、防火墙与网络设置 多数情况下 LocalSend 开箱即用。若发送或接收异常,需要配置防火墙允许其在局域网内通信:

Linux 示例:

同时确认路由器已关闭 AP 隔离(AP isolation);该选项通常默认关闭,但部分路由器(尤其是访客网络)可能已启用。

  • 入站:TCP、UDP,端口 53317,动作=允许
  • 出站:TCP、UDP,任意端口,动作=允许
  • ufw:sudo ufw allow 53317
  • firewalld:sudo firewall-cmd --permanent --add-port=53317/tcp,然后 sudo firewall-cmd --permanent --add-port=53317/udp,最后 sudo firewall-cmd --reload

四、便携模式(Portable Mode,自 v1.13.0 引入) 在可执行文件所在目录中创建一个名为 settings.json 的文件,该文件可以为空;应用将改用该文件存储设置,而不再使用默认位置。

五、启动时隐藏(自 v1.15.0 更新) 使用 --hidden 参数可以让应用仅以托盘方式启动,例如:localsend_app.exe --hidden。 在 v1.14.0 及更早版本中,如果设置了自启动标志且启用了隐藏设置,应用会以隐藏方式启动。

六、从源码编译运行(开发环境准备与首次运行)

注意:LocalSend 当前要求较旧的 Flutter 版本(在 .fvmrc 中指定),所需版本与系统全局安装版本不一致可能导致构建问题。为保持开发环境一致,项目使用 fvm 管理 Flutter 版本;安装 fvm 后,请把 flutter 命令替换为 fvm flutter。

  1. 安装 Flutter(直接安装或通过 fvm 安装,所需版本见 .fvmrc)
  2. 安装 Rust
  3. 克隆 LocalSend 仓库
  4. 运行 cd app 进入 app 目录
  5. 运行 flutter pub get 下载依赖
  6. 运行 flutter run 启动应用

七、命令行界面(LocalSend CLI,基于 LocalSend Protocol v2) 运行 localsend-cli --help 查看所有可用选项和快捷键。 发送命令可接一个或多个文件、目录,或两者的混合: localsend-cli send report.pdf photo.jpg ./project-backup 该命令会打开已发现设备列表,交互式选择目标设备后按 Enter 开始传输。

如不想使用交互式设备列表,可通过别名或 IP 地址直接指定目标: localsend-cli send --to " Cute Tomato " report.pdf localsend-cli send --to 192.168.27.26 report.pdf 别名必须能唯一标识已发现的设备;IP 地址会通过 HTTPS 直接在 LocalSend 默认端口 53317 上探测。

目录会被递归收集,所选根目录名称与嵌套路径在接收端会被保留;空目录不会被发送,因为 LocalSend 传输的是文件条目而非目录条目。

八、构建命令(仅供维护者使用,需在 app 目录下执行)

  • Android 传统 APK:flutter build apk
  • Android Google Play AppBundle:flutter build appbundle
  • iOS:flutter build ipa
  • macOS:flutter build macos
  • Windows 传统构建:flutter build windows
  • Windows 本地 MSIX 应用:flutter pub run msix:create
  • Windows 商店可用包:flutter pub run msix:create --store
  • Linux 传统构建:flutter build linux
  • Linux AppImage:appimage-builder --recipe AppImageBuilder.yml
  • Linux Snap:见 localsend/snap/README.md 中的说明

九、常见问题(Troubleshooting)

  1. 设备不可见(任意平台/任意平台):确认关闭路由器 AP 隔离;若开启,设备之间连接会被禁止。
  1. 设备不可见(接收端为 Windows):把网络配置为“专用/私有”网络,Windows 在公共网络下限制更严格。
  1. 设备不可见(发送端为 macOS、iOS):可在系统设置“隐私”中尝试切换“本地网络”权限。
  1. 设备不可见(任意平台):若启用了 VPN,请允许本地/LAN 流量或临时关闭 VPN,部分 VPN 默认阻断局域网连接。
  1. 设备不可见(任意平台):使用手动发送直接输入接收方 IP 地址;若可行,将该设备加入收藏以便直接探测。
  1. 传输速度过慢(任意平台):使用 5 GHz 频段;在两端设备上关闭加密。
  1. 传输速度过慢(接收端为 Android):已知问题,参见 flutter-cavalry/saf_stream#4。

来源教程配图

教程配图
配图 1 · 教程配图查看原图
iPhone screenshot
配图 2 · iPhone screenshot查看原图
PC screenshot
配图 3 · PC screenshot查看原图
Dependency hierarchy
配图 4 · Dependency hierarchy查看原图
Translation status
配图 5 · Translation status查看原图
Localsend Contributors
配图 6 · Localsend Contributors查看原图

适用场景

在同一局域网内的手机
电脑
平板之间互传照片
视频与文档
无需数据线或第三方云盘
在没有互联网或外网的隔离环境(如内网
离线机房)中收发文件
在 Windows
macOS
Linux
Android
iOS