# FileFly
**Repository Path**: Youreln/FileFly
## Basic Information
- **Project Name**: FileFly
- **Description**: 无需安装、打开即用,支持二维码/配对码/局域网自动发现三种连接方式,WebRTC高速直传,支持大文件、量传输,适配手机/电脑/平板全平台,打造安全、便捷的文件传输体验。
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-04
- **Last Updated**: 2026-03-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🚀 飞传 FileFly
**局域网高速文件传输工具**
[](LICENSE)
[](https://nodejs.org)
[](https://github.com/Youreln)
[](https://youreln.github.io/FileFly)
**作者**: Youreln
**版权**: © 2026 Youreln 版权所有
**开源地址**: [https://github.com/Youreln/FileFly](https://github.com/Youreln/FileFly)
**🌐 [在线演示](https://youreln.github.io/FileFly) | 📥 [下载客户端](https://github.com/Youreln/FileFly/releases)**
---
## 📖 项目简介
**飞传 FileFly** 是一款现代化的局域网文件传输工具,支持多设备间快速、安全地传输文件。无需安装客户端,只需浏览器即可使用。
### ✨ 核心特性
- 🌐 **多方式连接** - 自动获取局域网IP、二维码扫码连接、热点直连
- 📤 **超强传输** - 多选上传、文件夹上传、拖拽上传、截图粘贴
- 📊 **实时进度** - 字节级进度条、实时速度显示、大文件支持(4GB+)
- 📁 **文件管理** - 单文件下载、批量ZIP打包、删除、清空
- 🔒 **安全权限** - 访问密码、权限开关、自动清理、访问日志
- 🎨 **炫酷界面** - 现代科技风、渐变动画、深浅主题切换
---
## � 客户端下载
### 桌面端
| 平台 | 下载 | 说明 |
|------|------|------|
| Windows | [FileFly-Setup.exe](https://github.com/Youreln/FileFly/releases) | 安装包,支持开机自启 |
| Windows | [FileFly-Portable.exe](https://github.com/Youreln/FileFly/releases) | 便携版,免安装 |
| macOS | [FileFly.dmg](https://github.com/Youreln/FileFly/releases) | DMG 安装包 |
| Linux | [FileFly.AppImage](https://github.com/Youreln/FileFly/releases) | AppImage 便携版 |
**桌面端优势:**
- ✅ 后台运行,系统托盘常驻
- ✅ 开机自启动
- ✅ 原生通知提醒
- ✅ 更稳定的文件传输
### 移动端 (PWA)
| 平台 | 安装方式 |
|------|---------|
| Android | 浏览器打开 → 菜单 → 添加到主屏幕 |
| iOS | Safari 打开 → 分享 → 添加到主屏幕 |
**移动端优势:**
- ✅ 离线访问支持
- ✅ 类原生应用体验
- ✅ 推送通知
- ✅ 全屏运行
---
## ⚠️ 网页版局限性说明
当前 GitHub Pages 演示版本存在以下限制:
| 功能 | 网页版 | 客户端 |
|------|--------|--------|
| 文件传输 | ❌ 需要自建服务端 | ✅ 内置服务端 |
| 后台运行 | ❌ 关闭页面即停止 | ✅ 最小化到托盘 |
| 离线使用 | ❌ 需要网络 | ✅ 完全离线 |
| 开机自启 | ❌ 不支持 | ✅ 支持 |
| 系统通知 | ⚠️ 部分支持 | ✅ 完整支持 |
**建议:** 如需完整功能,请下载对应平台的客户端!
---
## �🛠️ 技术栈
| 技术 | 说明 |
|------|------|
| Node.js | 后端运行环境 |
| Express | Web服务框架 |
| Electron | 桌面应用框架 |
| Multer | 文件上传处理 |
| Archiver | ZIP打包下载 |
| QRCode | 二维码生成 |
| PWA | 移动端渐进式应用 |
| Font Awesome | 图标库 |
---
## 📦 安装与启动
### 方式一:下载客户端(推荐)
1. 前往 [Releases](https://github.com/Youreln/FileFly/releases) 页面
2. 下载对应平台的安装包
3. 安装并运行
### 方式二:源码运行
```bash
# 克隆项目
git clone https://github.com/Youreln/FileFly.git
# 进入目录
cd FileFly
# 安装依赖
npm install
# 启动服务
npm start
```
### 方式三:开发模式
```bash
# 安装依赖
npm install
# 启动 Electron 开发模式
npm run electron:dev
```
启动成功后,控制台会显示访问地址:
```
=================================
飞传 FileFly 已启动!
作者: Youreln
=================================
访问地址:
本地: http://localhost:3000
局域网: http://192.168.x.x:3000
```
---
## 🔨 构建客户端
### 构建桌面应用
```bash
# 安装依赖
npm install
# 构建 Windows 版
npm run build:win
# 构建 macOS 版
npm run build:mac
# 构建 Linux 版
npm run build:linux
# 构建所有平台
npm run build:all
```
构建产物位于 `release/` 目录。
### 构建要求
- Node.js >= 14.0.0
- Windows: 无额外要求
- macOS: Xcode Command Line Tools
- Linux: fakeroot, dpkg
---
## 🔗 连接方式
### 方式一:局域网连接(推荐)
1. 确保设备连接同一WiFi/路由器
2. 启动服务后查看局域网地址
3. 在手机/其他设备浏览器输入地址
### 方式二:二维码扫码
1. 启动服务后打开主页
2. 使用手机扫描二维码
3. 自动跳转到传输页面
### 方式三:热点直连
1. 电脑开启移动热点
2. 手机连接该热点
3. 使用热点IP地址访问
### 方式四:USB共享
1. 手机通过USB连接电脑
2. 开启USB网络共享
3. 使用共享网络IP访问
---
## 📋 功能清单
### 文件上传
| 功能 | 说明 |
|------|------|
| 多选上传 | 一次选择多个文件上传 |
| 文件夹上传 | 整个文件夹批量上传 |
| 拖拽上传 | 拖拽文件到上传区域 |
| 截图粘贴 | Ctrl+V 直接粘贴截图 |
| 进度显示 | 实时字节级进度条 |
| 速度显示 | 实时传输速度 MB/s |
### 文件下载
| 功能 | 说明 |
|------|------|
| 单文件下载 | 点击下载单个文件 |
| 批量下载 | 勾选多个文件打包ZIP |
| 断点续传 | 支持Range请求 |
### 文件管理
| 功能 | 说明 |
|------|------|
| 文件列表 | 实时显示所有文件 |
| 类型图标 | 自动识别文件类型 |
| 文件信息 | 名称、大小、时间 |
| 单文件删除 | 删除指定文件 |
| 一键清空 | 清除所有文件 |
### 安全权限
| 功能 | 说明 |
|------|------|
| 访问密码 | 设置密码保护 |
| 上传权限 | 开关上传功能 |
| 下载权限 | 开关下载功能 |
| 删除权限 | 开关删除功能 |
| 自动清理 | 定时清理过期文件 |
| 访问日志 | 记录IP和操作 |
---
## 📁 项目结构
```
FileFly/
├── index.js # 主服务入口
├── electron.js # Electron 主进程
├── package.json # 依赖配置
├── public/ # 前端文件
│ ├── index.html # 主页面
│ ├── settings.html # 设置页面
│ ├── style.css # 样式文件
│ ├── app.js # 前端逻辑
│ ├── manifest.json # PWA 配置
│ └── sw.js # Service Worker
├── utils/ # 后端工具
│ ├── ip.js # IP获取工具
│ ├── auth.js # 认证工具
│ └── fileManager.js # 文件管理工具
├── assets/ # 应用图标
├── scripts/ # 构建脚本
├── uploads/ # 文件存储目录
├── docs/ # GitHub Pages
└── README.md # 使用文档
```
---
## 🚀 部署到 GitHub Pages
本项目支持自动部署到 GitHub Pages,提供在线演示页面。
### 自动部署
1. Fork 本项目到你的 GitHub
2. 进入仓库 Settings → Pages
3. Source 选择 "GitHub Actions"
4. 推送代码后自动部署
部署完成后访问:`https://你的用户名.github.io/FileFly`
---
## ❓ 常见问题
### Q: 局域网其他设备无法访问?
**A:** 检查以下几点:
1. 确认设备在同一局域网
2. 检查防火墙是否放行端口
3. Windows防火墙设置:
```bash
netsh advfirewall firewall add rule name="FileFly" dir=in action=allow protocol=tcp localport=3000
```
### Q: 上传大文件失败?
**A:**
1. 默认支持最大10GB文件
2. 如需更大,修改 index.js 中的 `limits.fileSize`
### Q: 如何修改端口?
**A:**
```bash
# 临时修改
PORT=8080 npm start
# 永久修改
# 编辑 config.json 或在设置页面修改
```
### Q: 忘记密码怎么办?
**A:**
删除 `config.json` 文件或手动编辑移除 password 字段。
### Q: 手机无法扫描二维码?
**A:**
直接在手机浏览器输入显示的局域网地址即可。
### Q: 如何安装 PWA 到手机?
**A:**
- **Android**: 浏览器菜单 → 添加到主屏幕
- **iOS**: Safari 分享 → 添加到主屏幕
---
## 🔄 更新日志
### v1.0.0 (2026-01-01)
- ✨ 首次发布
- 🎉 完整文件传输功能
- 🔒 安全权限控制
- 🎨 炫酷界面设计
- 📱 全平台兼容
- 🌐 GitHub Pages 在线演示
- 💻 Electron 桌面客户端
- 📲 PWA 移动端支持
---
## 📄 开源协议
本项目基于 [MIT](LICENSE) 协议开源。
---
## 🤝 贡献
欢迎提交 Issue 和 Pull Request!
---
**⭐ 如果觉得有用,请给个 Star ⭐**
Made with ❤️ by [Youreln](https://github.com/Youreln)
© 2026 Youreln · 飞传 FileFly