You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.5 KiB
2.5 KiB
Flash Send 项目文档
欢迎阅读 Flash Send 项目文档!本文档将帮助你快速了解和熟悉这个项目。
项目简介
Flash Send 是一款基于 Tauri 2 + Vue 3 + Rust 构建的跨平台局域网文件传输与聊天应用。它允许同一局域网内的设备进行:
- 🔍 设备发现 - 自动发现局域网内的其他 Flash Send 设备
- 💬 即时聊天 - 与其他设备进行实时文字聊天
- 📁 文件传输 - 安全快速地传输文件
- 🔒 端到端加密 - 使用 TLS 加密保护数据传输安全
技术栈
| 层级 | 技术 |
|---|---|
| 前端框架 | Vue 3 + TypeScript |
| 状态管理 | Pinia |
| UI 框架 | TailwindCSS |
| 图标库 | Lucide Vue |
| 路由 | Vue Router |
| 桌面框架 | Tauri 2 |
| 后端语言 | Rust |
| 异步运行时 | Tokio |
| HTTP 服务 | Axum |
| WebSocket | tokio-tungstenite |
| 数据库 | SQLite (rusqlite) |
| TLS 加密 | rustls + rcgen |
文档目录
| 文档 | 说明 |
|---|---|
| 02-架构设计 | 整体架构、模块划分、数据流 |
| 03-后端结构 | Rust 后端代码结构和模块说明 |
| 04-前端结构 | Vue 前端代码结构和组件说明 |
| 05-API文档 | Tauri 命令接口详细说明 |
| 06-通信协议 | 设备发现、WebSocket、HTTP 协议 |
| 07-数据库设计 | 数据表结构和操作 |
| 08-开发指南 | 环境搭建、开发流程、构建部署 |
快速开始
环境要求
- Node.js >= 18
- Rust >= 1.70
- pnpm / npm / yarn
安装依赖
# 安装前端依赖
npm install
# Rust 依赖会在构建时自动安装
开发模式
npm run tauri dev
构建生产版本
npm run tauri build
核心功能
1. 设备发现
通过 UDP 广播(端口 53317)自动发现局域网内的设备,无需手动配置。
2. 即时聊天
使用 WebSocket(端口 53318)进行实时双向通信,支持文本消息。
3. 文件传输
通过 HTTPS(端口 53319)进行加密文件传输,支持:
- 大文件分块传输
- 实时进度显示
- 取消传输
- 传输历史记录
4. 安全特性
- 自签名 TLS 证书
- 端到端加密传输
- 本地数据持久化
端口说明
| 端口 | 协议 | 用途 |
|---|---|---|
| 53317 | UDP | 设备发现广播 |
| 53318 | WebSocket | 即时聊天 |
| 53319 | HTTPS | 文件传输 |
许可证
MIT License