一、LocalSend 是什么

入门

AirDrop(苹果的"隔空投送")好用,但只限苹果设备。LocalSend 干的就是同一件事,只是不挑系统:Windows、macOS、Linux、Android、iOS 都能装,两台设备在同一个局域网(同一个路由器下)就能互传文件和文字。

它有两个关键特点。第一,不需要互联网——路由器断网了照样能传,因为数据根本不经过外网。第二,没有中央服务器——你的文件是设备之间直接握手传输的,不像微信、网盘那样要先上传到别人的机器上。

技术上它用 REST API(可以理解为设备之间互相喊话的固定"暗号格式")和 HTTPS 加密(给数据套上一层只有对得上的两台设备能拆开的信封)来通信。你不需要懂这些,只需要知道:安全、私密、离线可用。

二、先装上:五分钟完成两台设备的准备

入门

LocalSend 是免费的,安装方式随平台不同。两台要互相传文件的设备都必须装上,只装一边是收不到的。

各平台的推荐安装途径:

  • Windows:微软商店搜 LocalSend,或从官网下载安装包
  • macOS:Mac App Store 搜 LocalSend,或用 brew install --cask localsend
  • Linux:Flathub(flatpak install flathub org.localsend.localsend_app)、Snap,或发行版自带的软件中心
  • Android:Google Play、F-Droid 或官网 APK
  • iOS / iPadOS:App Store 搜 LocalSend

建议从官方商店下载。网上有些"本地传文件"工具会捆绑推广软件,LocalSend 官方渠道是完全免费且无广告的。

装好后打开应用,两台设备要连同一个 Wi-Fi 或同一个路由器。手机热点通常也行,但要确认手机没有开启"客户端隔离"这类 AP 隔离选项。

三、第一次传输:三步走

入门

打开两台设备上的 LocalSend,它们会在几秒内自动发现彼此——原理是往局域网里"喊话"(广播),同一网络里的设备听到就报上自己的名字。主界面上你会看到对方设备的图标和名字。

接下来是三步:

  1. 发送方点"文件"或"消息",选好内容,点击对方设备的名字
  2. 接收方屏幕上会弹出请求,点"接受"
  3. 传输开始,进度条走完即完成,文件默认存进系统的"下载"文件夹

传输过程走的是 HTTPS 加密通道,中途不会被同一网络里的人截获内容。如果希望每次都要手动确认,可以在接收设置里把"自动接受"关掉——默认是需要点一下接受的,这个设计是有意为之,避免别人往你手机里塞东西。

四、收不到设备?八成是防火墙在拦

进阶 · 推荐细读

这是新手最常遇到的问题:明明都装好了、连的同一个 Wi-Fi,界面里就是看不到对方。多数情况下是防火墙(系统自带的"门卫",负责决定放不放行陌生程序的网络请求)把 LocalSend 拦了。

官方给出的放行规则是这样的:

流量方向 协议 端口 动作
收到的请求 TCP、UDP 53317 允许
发出的请求 TCP、UDP 任意 允许

53317 就是 LocalSend 的"门牌号",两台设备靠它找到彼此。Linux 下如果用 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

Windows 和 macOS 通常在第一次联网时会弹窗询问,选"允许"即可。如果没弹过,去系统的防火墙设置里找到 LocalSend 手动放行。

除防火墙外,还有几个排查方向:

  • 路由器开了 AP 隔离或访客网络:访客网络默认禁止设备互相访问,把两台设备连到主网络
  • 一台在 Wi-Fi、一台插网线且分属不同网段:确认两台设备 IP 前三段相同,比如都是 192.168.1.x
  • 公司或校园网:这类网络普遍禁用设备间直连,只能换到自己的热点或家用网络
  • VPN 正在运行:VPN 会改写网络路径,传输时建议先关掉

建议排查时先用手机开热点、两台设备都连这个热点做一次测试。如果热点下能互相发现,说明原网络有隔离策略,问题就不在 LocalSend。

五、进阶用法:便携模式与后台静默启动

进阶 · 推荐细读

LocalSend 的 Windows 版本支持便携模式(Portable Mode):在 localsend_app.exe 所在的同一个文件夹里放一个 settings.json,文件内容可以是空的。有了它,设置就写在这个文件夹里而不是系统默认位置——把整个文件夹拷进 U 盘,换台电脑插上就能用,不留痕迹。

另一个实用开关是静默启动。启动时加 --hidden 参数,程序就只待在系统托盘里,不弹主窗口:

localsend_app.exe --hidden

配合系统自带的开机启动项,可以让它常驻后台:平时看不见它,需要传文件时另一台设备照样能发现你。适合把台式机当常驻接收端的场景。

六、还有个命令行版:localsend_cli

深入 · 老手可选

图形界面适合随手传,命令行版 localsend_cli 适合写脚本、批量传或者在没有桌面环境的机器上用。它的基本玩法是先在一台机器上进入接收模式,再在另一台上指定目标发送:

## 接收端:开始监听,等待别人发东西过来
localsend_cli receive

## 发送端:列出当前网络里在线的设备
localsend_cli discover

## 发送端:把文件发给指定设备
localsend_cli send --to <设备名> ./文件名

设备名来自 discover 的输出结果。参数在不同版本里可能有调整,跑之前可以用 localsend_cli --help 看一眼当前版本的用法。

七、想自己编译?先备好 Flutter 环境

深入 · 老手可选

LocalSend 是用 Dart 写的,界面框架是 Flutter(Google 的跨平台 UI 框架,写一份代码能同时出手机和桌面端)。想参与开发或给它打包,需要先准备:

  • Flutter SDK(版本以仓库 pubspec.yaml 的约束为准)
  • 对应平台的构建工具:Android 要 Android SDK,Windows 要 Visual Studio,Linux 要对应构建依赖

基础流程就是标准的 Flutter 项目三步:

git clone https://github.com/localsend/localsend.git
cd localsend
flutter pub get

然后用 flutter run 直接跑,或 flutter build apk / flutter build windows 出安装包。各平台的具体依赖列表在仓库的 Building 章节有逐条说明。

想帮忙改进项目,路径有两条:发现 bug 就提 Pull Request(代码合并请求),把问题和修法讲清楚;有新想法则先开 Issue(讨论帖),说明为什么需要这个改动,讨论定了再动手。翻译也可以参与——它用 Weblate 管理多语言,界面上缺中文的地方都能补。

八、写在最后

入门

把 LocalSend 理解成局域网里的快递驿站:不需要网络平台、不需要账号,同一片网络里的设备互相报上名号,文件直接从 A 家送到 B 家。日常在手机和电脑之间倒照片、在办公室里互传大文件,它比"先传网盘再下载"快得多,也比数据线省事。

装好、连同一个 Wi-Fi、放行 53317 端口——做到这三点,基本就畅通了。剩下的场景,等你遇到再回来翻对应的章节。

项目信息

项目 值
仓库 localsend/localsend
语言 Dart
Star 94,713
Fork 5,300
主页 https://localsend.org

参考链接

延伸阅读

想继续探索?这些同领域的教程可能也适合你: