# 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 自定义部署。 ## 🚀 快速开始 ### 安装 ```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 展示 - 屏幕预览 语音沟通 引用文件文字交流 - docker 化,使用自己的 stun 与 turn 自定义部署 - 各种异常处理需要闭环 - 英文版本 - 打包下载 ## 感谢 [PeerJS](https://peerjs.com/) 提供的 WebRTC 支持 [Ant Design Vue](https://2x.antdv.com/docs/vue/introduce-cn/) 提供的 UI 支持