资讯动态

局域网文件传输工具 LocalSend:点对点直传、免公网、跨平台

发布时间:2026/8/31 8:13:11 来源:尧图企业网站定制
在局域网内互传文件大家最开始想起来的往往是微信、钉钉、网盘或者 QQ 文件传输。这些方案都有一个共同问题文件要先经过公网服务器传输速度受带宽影响还容易在聊天软件里被压缩、改变格式。如果两台设备就在同一个网段其实有一种更直接、更私密的传输方式LocalSend。LocalSend 是一个开源、跨平台的局域网文件传输工具使用设备之间的点对点通信不需要登录账号不依赖公网服务器支持 Windows、macOS、Linux、Android 和 iOS 等主流平台。这篇文章会从 LocalSend 的工作方式讲起按安装、首次传输、协议分析、故障排查、最佳实践的顺序带你把 LocalSend 用明白也把以后可能遇到的网络问题讲清楚。1. LocalSend 是什么解决的痛点和核心原理1.1 传统局域网文件传输的痛点局域网文件传输看起来简单实际用起来却有不少门槛。第一种常见方式是用聊天软件传文件文件先上传到服务器接收方再从服务器下载。这种做法有两个明显问题一是占用公网带宽大文件传输很慢二是聊天软件会对图片、视频做压缩或格式转换拿到手的文件不是原始文件。第二种方式是搭建 FTP 或 SMB 共享这种方案适合固定设备之间的长期共享但需要配置账号、权限、目录对普通用户来说操作成本太高。手机和电脑之间传文件还要额外安装客户端或开启复杂配置体验并不好。第三种方式是使用网盘生成分享链接这种方式适合跨公网传输但在同一个局域网内属于绕远路。文件上传到公网再下载回来不仅慢还有数据隐私风险。LocalSend 针对的是这样一个具体场景多台设备在同一局域网内用户希望像即时通讯工具一样快速传文件但又不希望文件经过第三方服务器也不希望做复杂的共享配置。它通过本地网络直接发现设备、建立连接、传输文件把整个流程简化到几秒钟。1.2 LocalSend 的工作机制LocalSend 的核心工作方式可以分为三个环节设备发现、连接建立、文件传输。设备发现环节LocalSend 在局域网内使用 mDNS多播 DNS协议广播自己的服务信息。每台运行 LocalSend 的设备会周期性宣告自己的设备名、IP 地址、端口号和服务类型。其他设备通过接收这些广播信息就能在界面上看到同一网络里的可用设备。如果 mDNS 在部分网络环境中被禁用LocalSend 也支持手动输入接收方的 IP 地址来发起连接。连接建立环节设备发现后发送方和接收方之间会建立一条 HTTP/HTTPS 连接。LocalSend 默认使用 HTTPS 进行通信并携带自签名证书加密传输内容。这样即使在同一局域网内文件内容也不是明文在网络里裸奔。文件传输环节发送方将文件分块发送给接收方接收方同意后开始接收。整个过程不经过任何中继服务器数据只在两台设备之间流动。如果局域网带宽充足传输速率往往能跑满网卡上限。1.3 为什么选择 LocalSend对比表如果你正在多个方案之间犹豫可以参考这个对比表。它主要比较个人设备之间临时传输的场景不涉及企业级集中存储。对比维度LocalSend聊天软件传文件FTP/SMB 共享网盘分享是否需要登录账号不需要需要通常需要账号或系统账户需要数据是否经过公网不经过经过不经过经过是否压缩文件不压缩会压缩图片视频或改变格式不压缩通常不压缩配置复杂度低安装即可用低高中适合人群个人多设备、局域网团队跨地域熟人互传固定设备长期共享跨地域文件分发主要局限要求设备在同一局域网依赖公网带宽权限和网络隔离配置复杂上传下载耗时从表格可以看出LocalSend 最擅长的场景是同一局域网内的即时文件交换。如果你的需求是跨公网传文件那还是要选择网盘或文件传输服务。2. 环境准备与安装方式2.1 支持平台与环境要求LocalSend 的客户端覆盖了常见的桌面和移动平台。普通用户的安装门槛很低只需要设备支持对应操作系统即可。平台常见安装包类型安装建议Windows 10/11exe、MSI建议从官方 Releases 页面下载或使用 WinGet 安装macOSdmg建议从官方 Releases 或 App Store 获取LinuxAppImage、deb、rpm、Flatpak根据发行版选择对应格式AndroidAPK可以从 F-Droid、Google Play 或官方 Releases 获取iOS / iPadOSApp Store 应用在 App Store 搜索 LocalSend 安装环境要求上最重要的是网络环境。两台设备需要在同一个局域网并且允许局域网内的设备互相访问。这里的“同一个局域网”可以是一个家庭 WiFi、一个办公室网段也可以是通过路由器或交换机组成的同一二层网络。如果公司网络开启了 AP 隔离设备之间即使连接同一个 WiFi也可能互相不可见。2.2 桌面端安装细节在 Windows 上推荐从官方发布页面下载安装包。如果机器上已经配置了 WinGet也可以尝试执行winget install --id LocalSend.LocalSend如果所在环境没有 WinGet或者仓库 ID 有变化建议直接下载 exe 安装包双击安装即可。安装完成后首次启动可能会弹出防火墙授权窗口需要选择“允许访问”否则后续无法接收其他设备的连接。macOS 用户下载 dmg 文件后将 LocalSend 拖入 Applications 文件夹即可。首次打开时如果系统提示“无法验证开发者”需要在“系统设置 - 隐私与安全性”中允许打开因为部分未签名版本会触发 Gatekeeper 提示。Linux 用户根据发行版选择 AppImage、deb 或 rpm。AppImage 需要先赋予执行权限chmod x LocalSend-*.AppImage ./LocalSend-*.AppImage安装完成后建议先打开一次应用确认设备名能正常显示。默认设备名一般取自系统主机名也可以在设置中修改。2.3 移动端安装细节Android 端可以从应用商店或官方 GitHub Releases 页面下载安装。如果你使用 F-Droid可以直接在搜索框里输入 LocalSend。安装后需要授予 LocalSend 通知权限这样接收文件时才能弹出确认窗口。如果系统版本较新还需要在后台权限设置中允许 LocalSend 在后台运行否则手机锁屏后可能无法收到文件。iOS 和 iPadOS 端通过 App Store 搜索 LocalSend 安装。首次使用时系统会请求本地网络权限必须允许否则无法发现局域网内的其他设备。如果需要接收文件到相册或文件 App还需要在系统设置中给予对应权限。2.4 版本确认与升级建议LocalSend 的版本迭代比较频繁不同版本的界面和参数可能存在细微差异。启动应用后可以在设置或关于页面查看版本号。如果你从命令行启动也可以尝试# Windows 下如果命令在 PATH 中 localsend --version # Linux / macOS 下如果可执行文件在 PATH 中 localsend --version如果直接执行命令提示找不到可以使用安装目录下的可执行文件路径运行。升级时建议先查看官方 Releases 页面了解当前版本变更内容尤其是端口、协议或配置文件路径是否发生改变。跨大版本升级时最好先备份接收目录和配置文件避免因配置格式变化导致原有设置丢失。3. 第一次传输最小可复现操作3.1 发送方操作流程第一次使用 LocalSend最好在电脑和手机之间传一个简单文件这样可以同时验证设备发现、连接建立和文件保存三个环节。操作步骤如下确保发送方和接收方连接同一个局域网 WiFi。在发送方打开 LocalSend等待几秒观察设备列表。如果设备列表里显示了接收方设备名说明 mDNS 发现成功。选择要发送的文件可以是一个图片、PDF 或任意小文件。在设备列表中选择接收设备。等待接收方确认然后开始传输。在界面设计上不同版本的入口可能不同但核心逻辑一致。只要看到接收方出现在列表中就可以进入发送流程。如果设备列表里始终看不到接收方可以在发送方手动输入接收方 IP 地址。IPv4 地址可以在接收方机器的网络设置中查到也可以在接收方 LocalSend 的主界面中看到。3.2 接收方操作流程接收方需要保持应用在前台运行或者在后台运行但未被系统杀死。当接收到传输请求时系统会弹出一个请求确认窗口显示发送方设备名和文件相关信息。此时需要选择“接收”或“拒绝”。如果 LocalSend 开启了接收验证码功能还需要在弹出的窗口中输入发送方显示的验证码再执行接收。确认接收后文件会保存到设置中指定的接收目录。移动端默认可能保存到“下载”或“文件”目录桌面端默认可能是“下载”目录。可以在设置中修改保存路径。3.3 传输完成后的验证传输完成后不要只看到“完成”提示就结束还需要验证三个点文件大小是否和发送源一致。文件能否正常打开。文件内容是否符合预期比如图片的分辨率是否未变化。如果传的是文档直接打开确认页码和内容。如果传的是视频确认文件后缀和时长。LocalSend 不做压缩正常情况下源文件和接收文件应该完全一致。你可以使用校验和工具做进一步确认在后续章节会介绍具体命令。3.4 常见传输参数说明LocalSend 的传输相关设置通常集中在“设置”页面。在实际使用中你需要关注下面几个参数。参数含义常见取值影响设备名显示给其他设备的名称默认为主机名便于识别建议改成有辨识度的名字接收目录收到文件后的保存位置系统下载目录或自定义目录影响文件管理和磁盘空间监听端口LocalSend 服务使用的端口默认 53317修改后需要同步调整防火墙接收验证码是否要求验证码确认开启或关闭提高误传门槛降低自动化便利性这些参数不是每次传输都要调整但出现问题时它们往往是最先需要检查的配置项。4. 深入理解 LocalSend 的协议、端口与安全模型4.1 基于 HTTPS 的点对点通信LocalSend 的设备发现基于 mDNS但实际文件传输走的是 HTTP 协议。为了安全常见版本默认使用 HTTPS并携带自签名证书。这意味着传输内容在局域网内是加密的但自签名证书不能被系统直接信任所以客户端需要自己完成证书校验。这种设计有一个好处它不依赖公网证书颁发机构任何设备都可以在局域网内快速建立起加密通道。如果你在排查时使用抓包工具会观察到 TLS 握手过程证书链的根证书是 LocalSend 自己的自签名根证书。从工程角度看使用自签名证书需要在客户端实现证书信任逻辑稍微复杂一些但避免了向公网申请证书的步骤适合局域网工具的应用场景。4.2 端口与防火墙要求LocalSend 的服务通常默认监听在 53317 端口。mDNS 使用系统组播地址通常依赖 5353 端口。要保证设备之间正常发现和传输需要放行以下网络流量端口协议用途53317TCPLocalSend 文件传输和 API 服务5353UDPmDNS 设备发现在 Windows 上首次启动时防火墙会弹出授权请求。如果不小心点了“取消”可以在“Windows 安全中心”中找到 LocalSend手动允许专用网络上的通信。这里要特别注意只允许专用网络即可不要随意允许公用网络避免在公共 WiFi 环境下暴露文件接收端口。在 Linux 上如果启用了 firewalld需要执行sudo firewall-cmd --permanent --add-port53317/tcp sudo firewall-cmd --permanent --add-servicemdns sudo firewall-cmd --reload如果使用的是 ufw可以执行sudo ufw allow 53317/tcp sudo ufw allow 5353/udp端口修改后发送方和接收方都要保持一致。如果只改了一个设备连接会失败这是非常常见的配置问题。4.3 安全模型验证码与设备别名LocalSend 的安全模型不像网盘那样依赖账号体系它默认信任局域网环境但通过人工确认来防止误传。接收方会看到一个确认弹窗显示发送方设备名、文件名、文件大小用户决定是否接收。在需要更高安全性的场景下可以开启接收验证码功能。开启后发送方界面会显示一段验证码接收方必须在弹窗中输入这段验证码才能继续传输。这个机制能阻止局域网内其他攻击者向接收方偷传文件。设备名在 LocalSend 中相当于一个“别名”。恶意设备可以伪装成其他设备名但验证码机制能有效防止没有人类介入的伪造请求。也就是说LocalSend 的安全重点在于“人确认”而不是像 PKI 体系那样做强身份认证。4.4 网络发现机制mDNS 与手动 IPmDNS 是 LocalSend 自动发现设备的主要手段。服务名通常为_localsend._tcp设备在局域网内广播自己的 IP 和端口。如果你需要排查 mDNS 是否正常可以在 macOS 上运行dns-sd -B _localsend._tcp在 Linux 上可以运行avahi-browse -r _localsend._tcp如果命令输出中能看到设备信息说明 mDNS 广播和接收正常。如果看不到可能是系统防火墙拦截了组播流量或者路由器开启了 AP 隔离。当 mDNS 不可用时手动 IP 是最直接的兜底方案。在接收方查看 IP 地址然后在发送方输入该 IPLocalSend 会尝试直接连接。这个过程不依赖服务发现只要端口和网络连通就能工作。5. 配置文件、命令行与高级用法5.1 配置文件位置与常用字段LocalSend 的设置会持久化到本地配置文件。不同操作系统的存储路径不同通常会在应用数据目录下。为了定位准确可以先用命令行工具查看# Linux / macOS 下查找 localsend 相关配置文件 find ~/.config ~/Library/Application\ Support -iname *localsend* 2/dev/nullWindows 上可以在资源管理器地址栏输入%APPDATA%然后在目录中搜索 LocalSend 相关文件夹。配置文件常见格式为 JSON里面可能包含设备名、监听端口、接收目录、是否开启验证码等字段。下面是一个结构示例用于帮助理解字段含义{ deviceName: Office-PC, listenPort: 53317, receiveDirectory: /home/user/Downloads/LocalSend, requireConfirmation: true, history: [] }需要注意实际字段名和默认值可能随版本变化。修改配置文件前建议先复制一份备份。如果修改后应用无法启动大概率是 JSON 格式错误或字段名不匹配。5.2 命令行参数桌面客户端可以从命令行启动方便脚本管理和排查问题。常见支持的特性和参数可以通过下面的方式查看# 查看帮助 localsend --help # 查看版本 localsend --version如果应用没有加入系统 PATH也可以使用完整路径调用。例如在 Linux 上/path/to/localsend --help命令行参数的具体能力依赖版本实现不一定每个版本都支持完整参数。在使用时不要把命令行能力当作稳定 API 依赖尤其是自动化场景要提前验证。5.3 接收文件存储策略接收目录的规划看起来是小问题实际影响很大。如果长期使用默认下载目录移动端可能因为存储空间不足导致接收失败。建议在设置中指定一个专门的 LocalSend 目录例如WindowsD:\LocalSendmacOS~/Downloads/LocalSendLinux/home/user/LocalSendAndroid/storage/emulated/0/LocalSend在移动端还需要关注系统相册权限。如果接收的是图片或视频部分平台会询问是否保存到相册。保持清晰的目录结构能够避免后续找文件时到处翻目录。5.4 通过端口探测验证服务是否正常LocalSend 的 HTTP/HTTPS 服务默认监听在本地端口 53317。可以用 curl 快速检查服务是否启动curl -k https://127.0.0.1:53317/返回 404 或者连接错误均代表服务可能有问题或端口不对。如果服务正常即使接口返回错误码也说明端口被应用占用。在远程设备上可以使用 nc 或 PowerShell 测试端口连通性# Linux / macOS nc -vz 设备IP 53317 # Windows PowerShell Test-NetConnection -ComputerName 设备IP -Port 53317这种检查方式速度很快适合在排障第一步使用。6. 常见故障排查6.1 设备互相看不到这是最常遇到的问题。现象是发送方打开 LocalSend设备列表空白看不到接收方。可能原因和排查顺序如下两台设备是否连接同一个局域网检查两台设备的 IP 网段是否一致。路由器是否开启了 AP 隔离或访客网络隔离。系统防火墙是否拦截了 mDNS 或 LocalSend 端口。LocalSend 服务是否处于最小化或后台被挂起状态。mDNS 功能是否被系统网络策略禁用。先检查 IP 网段。在 Windows 上执行ipconfig在 Linux / macOS 上执行ip addr show如果两台设备的 IP 前缀不同说明不在同一网段需要调整网络配置。如果网段相同再检查防火墙。临时关闭防火墙测试是最快的排除方法但不要长期关闭确认问题后要重新开启防火墙并添加白名单。6.2 配对失败或验证码不弹现象是发送方点击发送后接收方没有弹窗或者一直等待确认。这种现象通常有三种原因接收方应用不在前台且被系统关闭接收方权限不足或者网络端口不通。检查顺序在接收方打开 LocalSend保持界面在前台。确认接收方系统通知权限已开启。在发送方使用 nc 或 Test-NetConnection 测试接收方 53317 端口是否可达。如果端口不通检查接收方防火墙。如果端口通但没有弹窗重启接收方应用后重试。还有一个容易忽略的点如果发送方和接收方都开启了验证码功能需要确认双方版本一致旧版本可能不兼容新版验证码流程。6.3 传输中断或速度慢LocalSend 传输速度在普通家庭 WiFi 下通常可以跑到几十 MB/s如果速度极慢或者经常中断需要检查网络质量和文件数量。可能的因素接收方磁盘空间不足。无线信号弱丢包率高。发送大量小文件时每个文件都要建立连接速度会明显下降。接收目录权限不足写入失败导致中断。可以先传一个大文件测试基础速度再传多个小文件观察差异。如果确认是大量小文件导致建议先打成压缩包再发送zip -r 项目归档.zip 项目目录/然后发送压缩包接收方解压后即可。这种做法可以减少连接建立次数显著提升总传输效率。6.4 公司网络或防火墙拦截在公司网络中即使两台电脑连着同一个交换机也可能因为安全策略而无法互访。管理员通常会关闭设备之间的组播发现甚至限制 53317 等非常用端口。处理方式先手动输入 IP判断是发现问题还是传输端口问题。如果手动 IP 也无法连接说明端口被网络策略阻断。咨询网络管理员是否可以在办公网段放行局域网内部文件传输端口。如果公司有统一传输工具遵循公司规定使用。不要在未经授权的情况下使用端口复用或隧道手段绕过防火墙。那样做既不符合安全规定也可能导致网络异常。6.5 手机后台被系统杀死移动端最常见的故障是锁屏或切后台后文件接收失败。这是因为系统为了省电会回收后台应用进程。建议在系统设置中允许 LocalSend 后台运行并在省电策略中设置为“不限制”。部分 Android 系统需要关闭“电池优化”iOS 需要允许后台 App 刷新。现象常见原因检查方式处理建议设备互相看不到AP 隔离或防火墙拦截检查 IP 网段、防火墙状态、mDNS 输出关闭 AP 隔离或配置防火墙白名单弹窗不出现应用被后台杀死查看系统进程管理、通知权限设置后台运行并开启通知权限接收速度慢WiFi 信号弱或大量小文件检查信号、测试大文件靠路由器近一些或先压缩再传文件接收失败磁盘空间不足或目录权限错误检查接收目录剩余空间清理空间或修改接收目录7. 典型使用场景与最佳实践7.1 团队内网传输小团队在没有部署文件服务器时可以用 LocalSend 解决日常文件分发问题。比如设计团队需要给开发人员发送切图资源运维需要把自己电脑上的日志发给同事都可以通过 LocalSend 快速传输。为了减少误传团队使用时要约定设备命名规范。建议命名格式为“姓名设备”例如zhangsan-PC、lisi-MacBook。这样接收方在看到弹窗时能第一时间判断是否来自自己同事。7.2 个人多设备互传个人用户通常有手机、笔记本、台式机多个设备。LocalSend 可以作为日常主力传输工具传递截图、文档、安装包。在这些场景下建议固定接收目录并定期清理。移动端如果频繁接收图片和视频可以考虑关闭“保存到相册”选项避免相册被大量文件塞满。7.3 安全性与隐私建议虽然 LocalSend 不依赖公网服务器但在公共网络环境下仍要谨慎使用。公共 WiFi 中的其他设备可能也在同一个局域网如果开启自动接收功能会带来隐私风险。这里给出几条可落地的安全建议关闭“自动接收文件”选项每次都手动确认。开启接收验证码功能防止其他设备恶意发送文件。不要在公共 WiFi 下开放文件共享目录。接收目录不要设置为系统盘根目录或网络共享目录。定期更新 LocalSend 版本修复已知安全问题。7.4 发布前检查清单如果你要在新的电脑上部署 LocalSend可以按这个清单检查一遍确认发送方和接收方在同一 IP 网段。确认 LocalSend 端口未被防火墙阻断。确认设备名有可辨识度。确认接收目录存在且有写入权限。确认系统通知权限已开启。确认后台运行策略不会杀死 LocalSend。传输一个小文件验证端到端流程。这个清单也可以作为排障时的参考。网络问题先从网段和防火墙查起应用问题先从版本和权限查起不要一上来就怀疑软件有 bug。8. 扩展方向自动化集成与企业使用思路8.1 基于 LocalSend 做自动化传输LocalSend 提供了本机 HTTP/HTTPS 接口这给自动化脚本留下了空间。在团队内部如果想用命令行把构建产物发送到测试手机可以使用 curl 模拟文件上传。下面是一个通用示例实际参数需要根据你所使用的版本和官方接口定义调整curl -k -X POST https://设备IP:53317/api/upload \ -F file./build/output.apk \ -F deviceNameTestClient使用这种方案前需要先在开发环境验证接口是否可用。不要在生产流程里直接依赖未确认的内部接口否则版本升级后接口变了会导致自动化任务失效。8.2 与企业文件服务结合的思路LocalSend 适合小规模临时传输但它不是集中式文件存储系统。如果团队需要统一管理文件版本、做审计、控制访问权限仍然需要部署企业网盘或文件服务器。LocalSend 可以作为这些系统之外的补充工具用于传输不适合上传到公网的内部文件。在企业环境使用 LocalSend需要明确边界它解决“点对点直传”问题不解决“多人共享、版本管理、权限审批”问题。把它用在合适的场景里比强行扩展功能更可靠。8.3 学习与贡献路径如果你想深入学习 LocalSend 的实现可以从它使用的技术栈入手。LocalSend 使用 Flutter 开发核心代码是 Dart 和主要后端逻辑。你可以先阅读它的网络发现部分看它如何封装 mDNS 服务再看文件传输部分理解 HTTPS 请求如何组织文件和元数据。从实践角度看推荐先跑通一个小实验修改设备名和接收目录观察配置文件变化然后调整监听端口验证防火墙规则最后尝试用命令行探测端口形成完整的排查思路。这样比只看概念更能理解工具的边界。LocalSend 的价值不在于功能多复杂而在于它把一个高频痛点做得很直接局域网内传文件不绕路、不压缩、不依赖账号。把它装好、配好、排好错就可以在日常工作中省下大量等待上传下载的时间。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价