ShareDrop:一个基于 WebRTC 的开源文件传输工具
ShareDrop:一款基于 WebRTC 的文件传输工具
https://github.com/szimek/sharedrop
分享文件一直是互联世界中重要的需求。今天,我们将介绍一款名为 ShareDrop 的开源 web 应用,它旨在提供一个类似于 Apple AirDrop 的快速、安全的文件传输解决方案。
什么是 ShareDrop?
ShareDrop 利用 WebRTC 技术实现端对端加密的文件传输,并通过 Firebase 来管理在线状态和 WebRTC 信号传导。这使得文件无需上传至任何服务器即可直接在设备之间传输。
使用 ShareDrop 的简单步骤:
- 同网络传输: 打开
https://www.sharedrop.io
在所有设备浏览器中,系统会自动识别处于同一局域网(公共 IP 地址相同)的设备,便于快速文件共享。 - 跨网络传输: 点击页面右上角的 “+“按钮,创建一个房间并生成一个唯一的 URL。将这个 URL 分享给想要接收文件的其他人,他们在打开该链接后会在浏览器中看到彼此的头像。
ShareDrop 与 AirDrop 的区别:
虽然 ShareDrop 实现了类似 AirDrop 的文件共享功能,但它需要网络连接来发现其他设备,而 AirDrop 可以通过建立临时无线网络实现直接连接。然而,ShareDrop 支持跨平台、跨网络的文件传输,涵盖 Android、iOS 和桌面设备。
本地开发指南:
- 首先,你需要创建一个 Firebase 账号并建立一个数据库。在“安全规则”选项卡中,点击 “加载规则”按钮,选择
firebase_rules.json
文件。记录下你的数据库 URL 和密钥(可在“秘密”选项卡中找到)。 - 使用
npm install -g ember-cli
安装 Ember CLI。运行yarn
安装应用程序依赖项。 - 复制
.env.sample
到.env
文件,并设置环境变量。其中,SECRET 密钥用于加密 cookie 和生成基于公共 IP 地址的房间名称(/ 路由)。 - 运行
yarn develop
启动应用程序。
部署指南:
- 使用
heroku create <app-name>
创建一个 Heroku 应用,然后使用git push heroku master
将应用程序推送到 Heroku 仓库。
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2024/ShareDrop_%E4%B8%80%E4%B8%AA%E5%9F%BA%E4%BA%8E_WebRTC_%E7%9A%84%E5%BC%80%E6%BA%90%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93%E5%B7%A5%E5%85%B7___/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。