Go to file
2025-01-15 12:00:36 +08:00
src 新增一个led shader 2025-01-15 12:00:36 +08:00
static 增加一个LED shader 2025-01-09 16:18:47 +08:00
.eslintrc.js init 2025-01-02 11:21:04 +08:00
.gitignore init 2025-01-02 11:21:04 +08:00
index.html init 2025-01-02 11:21:04 +08:00
LICENSE init 2025-01-02 11:21:04 +08:00
package.json 增加一个LED shader 2025-01-09 16:18:47 +08:00
README.md 新增voice页面 2025-01-03 10:53:26 +08:00
shims-uni.d.ts init 2025-01-02 11:21:04 +08:00
tsconfig.json init 2025-01-02 11:21:04 +08:00
vite.config.ts init 2025-01-02 11:21:04 +08:00
yarn.lock 增加一个LED shader 2025-01-09 16:18:47 +08:00

p2p-explorer-web - P2P 文件传输工具

p2p-explorer-web 是一个基于浏览器的 webtrc P2P 远程文件传输工具,远程文件 web 资源管理器,让用户能够安全、快速地在设备间传输文件,理想情况下无需通过服务器中转。

在线体验: https://explorer.kuraa.cc

特性

  • 🔒 本地权限管控 P2P 流式文件传输
  • 📁 支持文件夹传输
  • 📋 集成剪贴板共享功能
  • 🔗 简单的 ID 连接机制
  • 🌐 无需安装,基于浏览器即可使用
  • 💨 快速分享链接功能

需要注意使用的服务

文件交互全部走 webrtc使用 peerjs 的信令服务器wss://0.peerjs.com/peerjs交换 ice 候选(可信,没有本地数据上传),使用 peerjs 的打洞 0.peerjs.com:(可信,没有数据上传),当 udp 直连失败,会使用 peerjs 的中转服务(不可信,所有数据上传),后续会 docker 化,使用自己的 stun 与 turn 自定义部署。

🚀 快速开始

安装

# 克隆项目
git clone [项目地址]

# 安装依赖
yarn install

# 启动开发服务器
yarn dev

构建

# 构建生产版本
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 展示
  • 屏幕预览 语音沟通 引用文件文字交流
  • docker 化,使用自己的 stun 与 turn 自定义部署
  • 各种异常处理需要闭环
  • 英文版本
  • 打包下载

感谢

PeerJS 提供的 WebRTC 支持 Ant Design Vue 提供的 UI 支持