Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

WebDrop - 跨平台文件传输

类似AirDrop的跨平台(Windows、iOS、Android)文件传输系统。

功能特点

  • 🔍 自动设备发现 - 同一网络内设备自动发现
  • 📡 P2P直传 - 文件通过WebRTC直接传输,不经过服务器
  • 📦 大文件支持 - 自动分片传输,支持任意大小文件
  • 📱 跨平台 - 支持Windows、macOS、iOS、Android
  • 🎨 AirDrop风格UI - 雷达扫描动画、毛玻璃效果
  • 📲 PWA支持 - 可安装到桌面/主屏幕

快速开始

1. 启动信令服务器

cd server
npm install
npm run dev

服务器将在 http://localhost:3000 启动。

2. 启动前端应用

cd frontend
npm install
npm run dev

前端将在 http://localhost:5173 启动。

3. 开始使用

  1. 在多台设备上打开 http://[你的IP]:5173
  2. 设备会自动在雷达上显示
  3. 点击目标设备 → 拖入文件 → 点击发送
  4. 接收方确认后开始传输

项目结构

WebDrop/
├── frontend/          # 前端应用 (Vue 3 + Vite)
│   ├── src/
│   │   ├── components/    # Vue组件
│   │   ├── composables/   # 组合式函数
│   │   ├── stores/        # Pinia状态管理
│   │   ├── utils/         # 工具函数
│   │   └── styles/        # CSS样式
│   └── public/            # 静态资源
│
└── server/            # 信令服务器 (Node.js + Socket.io)
    └── src/
        └── index.ts       # 服务器入口

技术栈

  • 前端: Vue 3 + Vite + TypeScript + Pinia
  • WebRTC: PeerJS
  • 信令: Socket.io
  • PWA: vite-plugin-pwa

环境变量

前端环境变量(在 frontend/.env 中配置):

VITE_SIGNALING_SERVER=http://localhost:3000

部署

信令服务器

可部署到任何支持Node.js的平台:

  • Railway
  • Render
  • Vercel (Serverless Functions)
  • 自有服务器

前端

cd frontend
npm run build

构建产物在 frontend/dist 目录,可部署到任何静态托管服务。

许可证

MIT

Releases

Packages

Contributors

Languages