[开源] Neloa:自己做了个跨平台文件 / 剪贴板互传工具

東雪蓮 2026-09-18 10:07 1

最近一直有个比较烦的问题:


我自己经常在 iPhone、Mac 和 Windows 之间传文件、复制文本。


AirDrop 只在苹果生态里比较舒服,Windows 和手机之间又得换别的工具;一些跨平台方案要么需要账号,要么依赖第三方服务器。


所以干脆自己做了一个:


Neloa


GitHub:


https://github.com/kure29/Neloa


文档:


https://kure29.github.io/Neloa/


目前版本是 0.1.13,还属于比较早期的阶段,不过基本的文件传输已经可以正常使用了。




它现在能做什么


目前支持:



  • macOS

  • Windows

  • Android

  • iOS


设备之间配对一次之后,就可以互传文件和纯文本剪贴板。


在同一个局域网时,设备之间会通过 QUIC 直接传输,文件不会先上传到服务器。


如果设备不在同一个局域网,也可以自己部署一个 Neloa Relay,通过自己的中继服务器跨网络传输。


两种情况下传输内容都会使用 Noise XX 进行端到端加密。


简单来说就是:


同一局域网:

设备 A <------ QUIC ------> 设备 B

或者:


不同网络:

设备 A <----> 自建 Relay <----> 设备 B

我比较在意的一点是:


Neloa 不需要注册账号,也没有官方中心服务器。


局域网能直连就直接传,需要跨网络的话,中继也可以完全由自己部署。




设备配对


第一次连接两台设备时,会显示一个 六位验证码


确认两边数字一致之后分别确认,之后设备就会记住彼此。


即使通过 Relay 配对,也仍然需要双方确认验证码,不会因为经过中继就跳过设备验证。




文件传输


目前支持发送单个文件以及批量文件。


Mac 和 Windows 可以直接把文件拖进窗口发送。


接收方确认之后才会正式开始传输。


传输完成之后还会检查:



  • 文件大小

  • SHA-256




剪贴板


现在也做了纯文本剪贴板同步。


桌面端使用起来比较自然。


不过 iOS / Android 对后台读取剪贴板限制比较多,所以移动端暂时没有强行做成后台自动同步,而是以前台操作为主。


这部分后面还会继续优化。




关于 Relay


Relay 可以自己部署。


比如:


家里的 Windows

自己的 VPS

外面的 iPhone

这样就可以跨网络传文件。


Relay 本身主要负责转发数据,加密是在设备之间完成的。


我自己平时也比较喜欢折腾 VPS,所以这部分从一开始就决定做成 自托管,而不是提供一个强依赖官方服务器的方案。




目前的一些不足


项目还比较新,所以先把目前的问题说在前面。


macOS / Windows


目前安装包没有商业代码签名,所以系统第一次安装时可能会出现安全提示。


iOS


现在提供的是 unsigned IPA,需要自己签名安装。


移动端


还有不少体验需要继续优化,尤其是:



  • 系统后台限制

  • 文件分享入口

  • 剪贴板同步

  • 不同 Android 厂商系统的兼容性


目前主要还是我自己的设备在测试,所以肯定还有不少奇怪的兼容性问题没有发现。




技术栈


客户端目前主要使用:



  • Rust

  • Tauri 2

  • TypeScript

  • QUIC

  • Noise Protocol


Relay 也是自己实现的,相关协议和部署方式都放在仓库里面了。


项目使用 Apache-2.0 License




最开始其实只是想解决自己几个设备之间传文件的问题。


后来越写越多,就干脆整理成一个完整项目开源出来了。


现在 UI、局域网发现、设备配对、文件传输、剪贴板、Relay、跨平台打包这些基本都已经跑起来了,不过离真正成熟肯定还有距离。


如果坛友手上正好有:


Mac / Windows / Android / iPhone


欢迎帮忙测试一下。


尤其想知道不同网络环境、路由器、Windows 防火墙、Android 厂商系统下面有没有比较奇怪的问题。


有 Bug、建议,或者觉得哪里设计得不合理,都可以直接在 GitHub 提 Issue。


GitHub:


https://github.com/kure29/Neloa


文档:


https://kure29.github.io/Neloa/


如果觉得项目有点意思,也欢迎顺手点个 Star

最新回复 (10)
  • ypc 09-18 10:08
    1

    bd

  • 哈哈哈 09-18 10:13
    2

    bd

  • artiga033 09-18 10:21
    3

    提个建议,除了公网中继外还可以考虑蓝牙或者Wi-Fi Direct,毕竟这种场景设备应该物理上都是在身边的,只是有可能没连同一个网。

  • 如果声音不记得 09-18 10:23
    4

    ^-^ 微信输入法不是有这个功能吗

  • ppop 09-18 10:32
    5

    bd

  • funeego 09-18 10:39
    6

    跟localsend的区别是?

  • 東雪蓮 楼主 09-18 10:49
    7

    @funeego #6 区别其实蛮大的,这个算是个人设备互联,localsend是附近设备

  • ZherKing 09-18 11:06
    8

    老早就想要这玩意了!

    bd ^-^

  • Hiro12138 09-18 11:06
    9

    顶一个

  • sakura-s 09-18 11:09
    10

    绑定

* 帖子来源NodeSeek
返回