LocalSend:局域网传文件,iPhone 传安卓不再掉画质

admin 开源软件 2026-10-14 4 0

用 iPhone 的你,想给用安卓的同事传一段会议录屏,这件事的复杂度堪比跨部门协作。微信传吧,视频被压得人脸都糊了;用数据线吧,那根线永远在抽屉某个角落;走网盘呢,先传上去再下下来,两遍流量,等得心焦。

跨平台互传的缺口一直没人补好。这个工具补的就是这一块:同一局域网里任何设备之间都能互传,不压缩原图原视频,不经过任何服务器,装上就能用,不需要注册。思路很朴素——两端在同一个网络里互相发现,然后直接建立点对点连接传数据。

它怎么工作

程序启动后做两件事:用局域网广播宣告「我在这里、我叫什么、我的端口是多少」,同时监听其他设备的同类宣告。发现彼此后,发送方直接连到接收方暴露的本地端口,加密传输文件内容。全程没有数据离开你的局域网。

由此推出三个结论:

  • 两端必须在同一个能互通广播的网络里。这是前提,也是九成故障的根源。
  • 不压缩不转码。它就是文件搬运,传原图就是原图,和在本机复制粘贴一样。
  • 速度取决于你的局域网。千兆有线能跑到几十 MB/s,和网盘比是数量级的差别。

还有个好处:它不依赖互联网,断网的内网环境里也能用。

支持哪些平台

平台安装方式备注
Windows安装包或绿色版首次运行防火墙会弹窗,必须允许
macOS安装包需允许「本地网络」访问,否则搜不到
Linux安装包、命令行包或容器桌面环境完整时体验最好
Android应用商店或安装包需要授予存储权限
iOS应用商店首次接收会请求本地网络权限
无头服务器Docker 常驻当收件中转节点,用网页上传下载

装起来

普通设备

手机去应用商店搜名字装,电脑从官网拿对应系统的安装包,Windows 还有免安装绿色版。装完不用注册、不用配置,从下载到传完第一个文件可能不到一分钟。

用 Docker 跑常驻节点

如果你有台常开的机器(NAS、小主机),跑个常驻节点很实用:别的设备随时能往里丢文件或取文件,不用专门开一台电脑。它监听 53317 端口,TCP 和 UDP 都要:

docker run -d \
  --name localsend \
  --restart unless-stopped \
  --network host \
  -e TZ=Asia/Shanghai \
  -v /opt/localsend/downloads:/app/data \
  localsend/localsend

几个要点:必须用 host 网络,因为局域网发现依赖 UDP 广播,bridge 模式下广播出不去,别的设备根本看不到这个容器;数据目录要挂出来,否则重启后收到的文件全丢。

services:
  localsend:
    image: localsend/localsend
    container_name: localsend
    restart: unless-stopped
    network_mode: "host"
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - ./downloads:/app/data

起来后用 docker logs localsend --tail 50 看日志,通常会打印网页访问地址。浏览器打开就能上传下载——任何一台电脑不用装客户端就能往这台机器传文件,这是它当中转站最实用的形态。想让外部访问的话,把 53317 放行,同时意识到这等于公开了收件箱,最好只在内网用。

传一个文件的完整流程

  1. 两端都打开。手机和电脑各自启动程序,保持在同一无线下,几秒内双方列表里就会出现对方的设备名。
  2. 选中对方。在发送方点一下目标设备,进入待发送状态。
  3. 选文件。可选多个文件,桌面端还能直接选文件夹。
  4. 对方确认。接收方会看到发送方设备名和文件清单,点接受才开始传。这一步保证没人能偷偷往你设备里塞东西。
  5. 传输并落盘。桌面端可以指定保存位置,手机端默认进系统下载目录或相册。

对方不确认就不会传。第一次用可能觉得多一步,习惯后会感激它。

速度能到什么程度

网络环境实际速度传 1 GB 大约耗时
千兆有线 / Wi-Fi 680 到 110 MB/s10 到 15 秒
Wi-Fi 5(5GHz)30 到 50 MB/s20 到 35 秒
2.4GHz 无线5 到 12 MB/s1.5 到 3 分钟
手机热点直连10 到 25 MB/s1 分钟左右

这些不是理论峰值,是实际用起来的常见区间。影响因素是无线信号强度、中间路由器性能、两端存储读写速度。

和聊天工具传文件比,感受最明显的是画质。同一段 4K 视频,聊天工具传过去会明显掉清晰度甚至被压成 720p,这里是一比一原样搬过去。发素材给朋友、把相机卡里的原片导到电脑上,这个差别直接决定能不能用。

大文件和文件夹

  • 接收端要有足够空间。空间不足会在中途失败,前面传的部分白费,它不做断点续传。
  • 手机传大文件要保持唤醒。系统把应用挂起后连接就断了。
  • 文件夹保持目录结构。桌面端选整个文件夹,对方收到一棵完整目录树,不会拍平成散文件。
  • 传输中别切网络。从无线切到移动数据、或者漫游到另一个热点,都可能让连接中断。

传大量小文件时先打包成压缩包再传,比一个个传快得多——每个文件都要走一次请求和确认。

安全机制

  • 接收必须确认。默认任何发送请求都要手动点接受,不会静默落盘。
  • 可以设 PIN 或白名单。能要求发送方输 PIN,也能把常用设备加入可信列表自动接受。
  • 传输加密。别人抓包也看不到明文内容。
  • 云端不留痕。文件不经过外部服务器。

但它防不住设备伪装,公共 Wi-Fi 下建议保持「需要确认」并开 PIN。

常见坑

两端都开着却搜不到

最可能是路由器开了 AP 隔离(也叫客户端隔离),它禁止同一无线下的设备互相通信,常见于公共网络和访客网络。把两端连到主网络、关掉隔离再试。公司或宿舍网络基本无解,改用热点直连。

公司网络隔离了广播

有些企业网络允许设备互访但屏蔽了广播,自动发现失效。但直连仍然可以:看对方屏幕上显示的 IP 和端口,手动输入 IP 添加设备。这也是跨网段的唯一解法。

防火墙拦了 53317

Windows 首次运行会弹「是否允许此应用通过防火墙」,很多人手快点取消,之后就一直搜不到。去防火墙设置里找到它,把专用和公用网络都勾上。

热点场景的特殊问题

手机开热点给笔记本用时,手机自己可能还连着另一个网络,两端不在同一子网就搜不到。把手机其他网络断开,只用热点。部分安卓机型在热点模式下还会限制客户端互访,要在设置里关掉。

iOS 后台被杀导致中断

传大文件传到一半失败,多半是系统把应用挂起了。传输期间让屏幕常亮、应用留在前台,别切走也别锁屏。安卓上也建议关掉对这个应用的电池优化。

跨网段要手动填 IP

电脑连有线网段、手机连另一个路由器的网段,不在同一广播域,自动发现不管用,但路由通了手动输 IP 和端口就能连。填了还连不上就是防火墙或路由隔离的问题。

容器搜不到别的设备

用了 bridge 网络,广播包出不去。解决办法只有一个:改成 host 网络。这个问题很绕,因为网页访问端口是通的,看起来服务正常,就是不参与发现。

什么时候用它,什么时候别指望它

适合:同一间屋子、同一个无线下的设备互传;给不同系统的设备之间搬照片、视频、安装包;断网或者不想让文件经过任何服务器的场景;临时给朋友传个大文件,不想先加好友。它解决的是近场传输,定位清晰。

不适合:跨地域跨网络传文件(它不做穿透,两端必须能直接互通);需要版本管理和历史记录;多人协作共享一个文件夹。它也没有传完自动归档这类能力。

最后一句:这套东西的价值在于无感。把安装包在每台常用设备上都装一份,以后遇到「这个文件怎么给你」的问题就不用想了。