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

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