2025-01-02 03:21:04 +00:00
|
|
|
|
# p2p-explorer-web - P2P 文件传输工具
|
|
|
|
|
|
|
|
|
|
p2p-explorer-web 是一个基于浏览器的 webtrc P2P 远程文件传输工具,远程文件 web 资源管理器,让用户能够安全、快速地在设备间传输文件,理想情况下无需通过服务器中转。
|
|
|
|
|
|
|
|
|
|
在线体验: https://explorer.kuraa.cc
|
|
|
|
|
|
|
|
|
|
## ✨ 特性
|
|
|
|
|
|
|
|
|
|
- 🔒 本地权限管控 P2P 流式文件传输
|
|
|
|
|
- 📁 支持文件夹传输
|
|
|
|
|
- 📋 集成剪贴板共享功能
|
|
|
|
|
- 🔗 简单的 ID 连接机制
|
|
|
|
|
- 🌐 无需安装,基于浏览器即可使用
|
|
|
|
|
- 💨 快速分享链接功能
|
|
|
|
|
|
2025-01-03 02:53:26 +00:00
|
|
|
|
## 需要注意使用的服务
|
|
|
|
|
|
|
|
|
|
文件交互全部走 webrtc,使用 peerjs 的信令服务器(wss://0.peerjs.com/peerjs)交换 ice 候选(可信,没有本地数据上传),使用 peerjs 的打洞 0.peerjs.com:(可信,没有数据上传),当 udp 直连失败,会使用 peerjs 的中转服务(不可信,所有数据上传),后续会 docker 化,使用自己的 stun 与 turn 自定义部署。
|
|
|
|
|
|
2025-01-02 03:21:04 +00:00
|
|
|
|
## 🚀 快速开始
|
|
|
|
|
|
|
|
|
|
### 安装
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# 克隆项目
|
|
|
|
|
git clone [项目地址]
|
|
|
|
|
|
|
|
|
|
# 安装依赖
|
|
|
|
|
yarn install
|
|
|
|
|
|
|
|
|
|
# 启动开发服务器
|
|
|
|
|
yarn dev
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 构建
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# 构建生产版本
|
|
|
|
|
yarn build
|
|
|
|
|
# 将 static 目录完整的拷贝到 dist 目录下
|
|
|
|
|
cp -r static dist/
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 🎯 使用方法
|
|
|
|
|
|
|
|
|
|
1. 打开应用后,系统会自动生成你的 ID
|
|
|
|
|
2. 将你的 ID 分享给对方,或使用分享链接功能
|
|
|
|
|
3. 对方输入你的 ID 后即可建立连接
|
|
|
|
|
4. 选择要传输的文件或文件夹
|
|
|
|
|
|
|
|
|
|
## 🛠 技术栈
|
|
|
|
|
|
|
|
|
|
- WebRTC
|
|
|
|
|
- Vue 3
|
|
|
|
|
- TypeScript
|
|
|
|
|
- PeerJS
|
|
|
|
|
- Ant Design Vue
|
|
|
|
|
- Vite
|
|
|
|
|
|
|
|
|
|
## 待完成
|
|
|
|
|
|
|
|
|
|
- 本地发送到远程的 ui 展示
|
2025-01-03 02:53:26 +00:00
|
|
|
|
- 屏幕预览 语音沟通 引用文件文字交流
|
2025-01-02 03:21:04 +00:00
|
|
|
|
- docker 化,使用自己的 stun 与 turn 自定义部署
|
|
|
|
|
- 各种异常处理需要闭环
|
|
|
|
|
- 英文版本
|
|
|
|
|
- 打包下载
|
2025-01-03 02:53:26 +00:00
|
|
|
|
|
|
|
|
|
## 感谢
|
|
|
|
|
|
|
|
|
|
[PeerJS](https://peerjs.com/) 提供的 WebRTC 支持
|
|
|
|
|
[Ant Design Vue](https://2x.antdv.com/docs/vue/introduce-cn/) 提供的 UI 支持
|