LocalSend 1.18.2 Linux 实测:Rust 重写 + 官方 CLI
LocalSend 是苹果 AirDrop 的开源跨平台替代方案。七年来,当我需要把手机里的一整个文件夹传给笔记本、又不想经过任何云服务器时,我用的始终是它。2026 年 8 月 21 日发布的 1.18.2 是当前稳定版——虽然从版本号看只是个补丁版,但它落在一个项目史上最大的工程改动之上:核心网络与文件 I/O 层从 Dart 完整重写为 Rust,同时项目第一次发布了官方命令行客户端。
这两件事加在一起,才是 LocalSend 在 2026 年的 Linux 上真正有意思的原因。图形界面一直都很好用,但 Rust 内核让它变成了一个可以被脚本、可以被 cron 任务、甚至可以在无头机器的 SSH 会话里驱动的东西。
LocalSend 到底在做什么
原理很简单。同一局域网内的每台设备都跑一个小 HTTP 服务,并通过 53317 端口的 UDP 组播宣告自己的存在。打开应用后,它会列出能看到的其他 LocalSend 设备;你选中一台,再选中若干文件,数据就在两台机器之间直接流动。整个过程没有账号、没有登录,任何环节都不涉及外部服务器。
这在实际使用中意味着:
- 不限速。 传输速度就是你的 Wi-Fi 速度,一个 4 GB 的视频目录按局域网速度走,而不是被免费云服务的额度卡住。
- 端到端加密。 传输层使用 HTTPS,证书由每台设备本地生成,因此飞行中的文件不会被网络上的其他设备读懂。
- 断网也能用。 只要两台设备在同一个子网里,整个过程不需要连通外网。
- 全平台覆盖。 Windows、macOS、Linux、Android 与 iOS 说的是同一套协议,真正补上了 AirDrop 在苹果与安卓之间的那道裂缝。

图:LocalSend 官方桌面端截图,「Receiving files」面板正在显示传输队列、总进度条,以及 Advanced 与 Cancel 两个按钮。
跨平台这件事比听起来更重要。Linux 用户里,相当一部分人至今还在给自己发邮件传文件,或者临时手搓一个 Python HTTP 服务。LocalSend 用两端的零配置把同样的事做掉了。
在 Linux 上安装 LocalSend 1.18.2
安装路径不止一条,但质量并不均等。
AppImage(推荐先用它试)
项目为 x86-64 与 arm64 都提供了自包含的 AppImage:
curl -L -o localsend.AppImage
https://github.com/localsend/localsend/releases/download/v1.18.2/LocalSend-1.18.2-linux-x86-64.AppImage
chmod +x localsend.AppImage
./localsend.AppImage体积不小——大约 66 MB,因为它把整个 Flutter 运行时和所有 GLIBC 依赖都打进去了。大多数发行版还需要 FUSE 才能挂载 AppImage:Debian 与 Ubuntu 上是 apt install libfuse2;较新的 Fedora 构建则可能需要用 --appimage-extract 解包后直接运行。
Debian 与 Ubuntu 软件包
发布里同时提供了两个架构的 .deb 包,每个约 24 MB:
wget https://github.com/localsend/localsend/releases/download/v1.18.2/LocalSend-1.18.2-linux-x86_64.deb
sudo apt install ./LocalSend-1.18.2-linux-x86_64.deb另有 .tar.gz 压缩包,适合想自己控制安装目录的用户。
Arch Linux
Arch 用户可以从 AUR 安装,localsend 目前是 1.18.2-2:
yay -S localsendSnap
Snap 包紧跟稳定版,目前同样是 1.18.2:
sudo snap install localsend关于 Flathub 的一句提醒
LocalSend 目前并不在 Flathub 上——该 Flathub app id 返回 404。这一点值得明说,因为不少旧教程和论坛回答还在推荐 flatpak install flathub org.localsend.localsend,而这条命令今天会直接失败。当前真正可用的路径是 Snap、AppImage 与 Arch 包。
Rust 重写:到底改了什么
2026 年 8 月 10 日发布的 1.18.0 才是承载 Rust 改造的版本,它的更新日志说得相当直白:核心网络与文件 I/O 逻辑的重写已经完成,你应该能在传输速度上察觉到差别。
这不是一次表面重构。过去应用的 HTTP 客户端、上传会话、发现服务和文件流水线全部用 Dart 写在 Flutter 界面之上;新架构把这些统统下沉进一个共享的 Rust 库,图形界面与新 CLI 都消费同一个库。正是这一条事实,让 CLI 成为一等公民,而不是外挂脚本。
性能提升不是空泛的说法。1.18.0 里有两条修复专门针对传输行为:
- 收发大量文件时界面不再卡死或滞后。
- 向接收速度较慢的设备发送时明显更快,因为发送端不再像 Dart 客户端那样成为瓶颈。
同一版本还补齐了一批功能:IPv6 支持、默认开启的校验和验证、允许任意局域网浏览器上传文件的 Receive via link 模式、取色器自定义主题,以及自动接收来自「收藏设备」的文件。
有两个 Linux 专属的小改动值得单独一提,对中日韩用户来说一上手就能察觉:1.18.0 为 Linux 加入了 CJK 字体支持,并把应用切换到原生窗口装饰,不再使用硕大的 GTK3 标题栏。第二点在 GNOME 和 KDE 上是实打实的改进——窗口现在会遵循你的系统主题与标题栏按钮布局,而不是看起来像一个移植过来的安卓应用。

图:LocalSend 官方移动端截图,主界面显示本机名称与 Quick Save 选择器(Favourites 一档被选中),以及 Receive、Send、Settings 三个按钮。
新的官方 CLI
对于常待终端的人,最大的看点是 LocalSend 终于有了官方命令行客户端。1.18.0 里它以 localsend-cli 的形式出现,基于同一套 Rust 内核,发布页同时提供独立的 Linux 二进制压缩包——x86-64 约 4.7 MB,比完整桌面版 AppImage 小一个数量级。
在 macOS 和 Linux 上,可以通过项目官方 Homebrew tap 安装:
brew update
brew install localsend-cli
图:LocalSend v1.18.2 官方 CLI 的 –help 输出,依据发布版源码复刻。这是真实参数与热键列表的渲染图,不是运行中终端的截图。
正式发布的 1.18.2 CLI 提供四个选项,以及一套交互式热键模型:
--alias设置其他设备看到的本机名称。默认取config.toml,再回退到主机名。--port设置 HTTP 服务端口,默认 53317。--destination设置接收文件的存放目录,默认为你的 Downloads 目录。--file/-f指定一个或多个要发送的路径,启动时打开设备选择器。
热键才是有意思的部分,因为这是一个交互式 TUI,而不是一次性命令:
| 按键 | 作用 |
|---|---|
1–9 |
把选中的文件发给对应序号的设备 |
D |
显示已配对与已发现的设备 |
W+S |
切换「通过链接分享」——用普通 HTTP 把文件提供给浏览器 |
W+R |
切换「通过链接接收」——允许浏览器上传文件 |
Y / N / P |
接受 / 拒绝 / 接受并配对收到的请求 |
Ctrl+C |
取消当前传输或请求,空闲时退出 |
另外还有三个环境变量:LOCALSEND_ALIAS、LOCALSEND_PORT 与 LOCALSEND_DESTINATION,分别对应上面三个长选项,写包装脚本时很方便。
关于 send 子命令的一个重要提醒
你会在不少博客和 GitHub issue 里看到 localsend-cli send --to "设备名" file.pdf 这种可脚本化写法,以及用 --text 发文本。这些命令不在 1.18.2 发布版里。通用的 send 子命令是在 2026 年 8 月 27 日合入开发分支的,--text 则是 10 月 4 日——两者都晚于 8 月 21 日的 tag。截至写作时,它们存在于 main 分支上,等待进入后续版本。
这正是本文强调版本号的原因:如果你照着博客文章用 send 语法写脚本,对着当下真正能下载到的 1.18.2 二进制执行,一定会失败。
1.18.2 的安全与稳定性
1.18.2 是个修复版,但其中一条修复属于安全改动,值得点名:LocalSend 不再跟随对端发来的 HTTP 重定向。此前,同一网络中的恶意或已被攻陷的设备可以尝试把一次传输重定向到无关主机;现在这条路径被堵上了。
其余内容多是兼容性与健壮性修复,主要在混用版本的环境里才显出价值:
- 运行 1.17.0 及更早版本的设备,在组播不可靠的网络上,又能把 1.18.0+ 设备加入收藏了。
- LocalSend 现在会忽略系统代理,修掉了启用 Shadowrocket 这类代理时出现的 “TLS info not found” 报错。
- HTTP 与组播服务在意外退出或应用从睡眠恢复后会自动重启。
- 拖放现在能正确处理文件与文件夹混合的场景。
- AppImage 现在会显示真实版本号,而不是占位值。
结语
LocalSend 已经悄悄变成了基础设施。它是极少数真正跨平台、又免费、还坚持离线优先的工具之一,只把一件事做好——而 1.18.2 正是它从「一个不错的应用」变成「一个你也能脚本化的工具」的转折点。
给 Linux 用户的实际建议很直接:桌面体验装 AppImage 或 .deb;如果你想从终端把文件推给手机,再单独拉一份 localsend-cli;Arch 用户直接用 AUR,那边已经是最新版。至于那些让你从 Flathub 安装的教程,那已经过时了——那个包并不存在。
项目官网是 localsend.org,源码在 github.com/localsend/localsend,采用 Apache 2.0 许可证。
评论