头图

0.基础环境

类别:笔记本
型号:中国长城 NF14C
硬件平台:飞腾处理器(ArmV8 指令集)
系统:银河麒麟操作系统 V10 SP1(2203)

关键词:
信创,麒麟系统,linux,c++,c,飞腾,arm,airdrop,snapdrop

1.背景

AirDrop,即隔空投送。 是苹果公司iOS,iPadOS和macOS系统下特有的功能,用于在多台设备之间分享文件,只要将文件拖动到使用隔空投送功能的好友的头像上,就能进行一对一的文件传输(类似于无线网络传输)。 在2013年WWDC大会上,隔空投送加入到iOS设备中,iPhone 5以下的设备不支持隔空投送应用。

2.snapdrop

类似 AirDrop 快速跨设备传档功能,它不需安装 App 或软件、不需注册登入、不需任何设定,只要在同一个无线网路环境下的手机或电脑打开「Snapdrop」网页,就能侦测到彼此,并且像是 AirDrop 那样开始传送档案。理论上,需要浏览器支持 WebRTC API 才能使用。Chrome、Firefox 在 2012 年的版本已经支持 WebRTC,市面主流浏览器都支持。
而且「Snapdrop」可以在 Android、Windows、Mac 与 iOS 上一起使用!
在同一网络内(无线WIFI或者内网域网),多台可互相通讯的设备输入www.snapdrop.net即可相互传送文件。

2.1传输文件

图片.png

2.2发送消息

右击中间传输带按钮,可以直接发送信息。
图片.png

2.3 项目源码

项目是通过GPL协议开源的,地址:https://github.com/RobinLinus/snapdrop
图片.png

2.4 其他客户端

1.安卓
https://github.com/fm-sys/snapdrop-android
图片.png
apk下载地址:
https://play.google.com/store/apps/details?id=com.fmsys.snapd...
https://m.apkpure.com/snapdrop-for-android/com.fmsys.snapdrop
2.火孤浏览器扩展(可桌面使用)
https://github.com/ueen/SnapdropFirefoxAddon
下载地址:https://addons.mozilla.org/de/firefox/addon/snapdrop-for-fire...
图片.png
chrome/chromium使用方式

    Download the latest release zip and extract
    open chrome://extensions (enable developer mode)
    'Load unpacked extension' and select the extracted folder

从使用便利性来讲,还是直接输入网址更快捷,手机装APK

2.5关于在无外网以及特殊区域的使用

如果大家是在无外网的内网使用,则需要考虑自己内网在服务器上跑一个docker,具体可以参见https://github.com/RobinLinus/snapdrop/blob/master/docs/local-dev.md
此处不再详述。

2.6传输原理

图片.png
Signaling 服务器的作用类似相亲里的媒人。一开始,两个客户端互不认识。他们需要一个中介人去介绍,才知道另一方的存在,而后使用 WebRTC 定义的 API 进行 P2P 连线及数据传输,实际传输是直接通讯。

写在最后

airdrop的便利性,给大家带来的欢乐。本文通过寻找对应的方案,如果大家有更多好的选择,麻烦通过评论区告诉我。我再补充。
特别补充:localsend也很好,但是没有arm版本,我曾花过几天时间编译过,但底层的flutter sdk并不支持arm64,因此此方案放弃了。

麒麟系统专栏:
地址一:https://segmentfault.com/blog/kylinos
邮箱:1179611323@qq.com
群:662512340
github:https://github.com/xiaohelong
twitter:https://twitter.com/xiaohelong
发行日志:
20230414 14:30 首发


码上世界
79 声望290 粉丝

码农极客,2004年接触Linux世界。爱技术的IT的男