Skip to content

A simple and easy-to-use LAN file transfer tool that allows quick file transfers within a local network, supporting multiple file uploads simultaneously

License

Notifications You must be signed in to change notification settings

MagicCD/Transfer

Repository files navigation

内网文件传输工具

文件快传

Build Status Flask Version License Downloads
Stars

🚀 项目简介

一个轻量级的局域网文件传输工具,提供直观的Web界面和强大的文件管理功能。支持大文件分块上传、实时同步、跨平台运行,适用于家庭/办公室内设备间快速文件共享。


🌟 核心功能

功能分类 功能描述
基础功能 ✅ 多文件上传(最大5GB)
✅ 拖放上传
✅ 实时文件列表同步
高级功能 ✅ 大文件分块上传(>50MB)
暂停/恢复上传(支持单文件/全部文件)
✅ 批量删除文件
系统特性 ✅ 跨平台支持(Windows/macOS/Linux)
自动清理过期临时文件(默认保留2小时)
智能文件图标识别(支持20+文件类型)
✅ 安全的WebSocket通信

🛠️ 安装指南

环境要求

依赖库 版本要求 作用
Python 3.8-3.13 运行环境
Flask 2.3.3 Web框架
Flask-SocketIO 5.3.4 实时通信
PyWebView 4.3 桌面窗口封装
Werkzeug 2.3.7 请求处理

快速安装

# 克隆仓库
git clone https://github.com/MagicCD/Transfer.git
cd Transfer

# 安装依赖(推荐使用虚拟环境)
python -m venv venv
source venv/bin/activate  # Windows用 `venv\Scripts\activate`
pip install -r requirements.txt

# 启动应用
python app.py

📱 使用示例

alt text

  1. 运行后自动打开桌面窗口,显示本地IP地址(如 http://192.168.1.100:5000
  2. 上传文件:拖拽文件到上传区域或点击"选择文件"
  3. 管理文件
    • 点击文件旁的"下载"按钮下载
    • 点击"删除"按钮移除单个文件
    • 点击顶部"清空全部"删除所有文件
  4. 大文件上传
    • 自动分块上传(>50MB)
    • 点击文件旁的"暂停/恢复"按钮控制单个文件进度
    • 点击顶部按钮控制全部文件上传状态

📦 构建可执行文件

# 安装打包工具
pip install pyinstaller

# 打包命令(Windows/Linux)
pyinstaller --onefile --windowed \
--add-data "templates;templates" \
--add-data "static;static" \
--icon=static/app_icon.ico \
main.py

# macOS特殊参数(需指定路径分隔符)
pyinstaller --onefile --windowed \
--add-data "templates:templates" \
--add-data "static:static" \
--icon=static/app_icon.icns \
main.py

🛠️ 开发贡献

  1. Fork仓库并创建功能分支
    git checkout -b feature/your-feature
  2. 代码规范
    • 遵循PEP8规范
    • 单元测试覆盖率需≥80%
  3. 提交PR前
    • 确保通过所有CI检查
    • 添加测试用例(修改核心逻辑时)
    • 更新文档说明

🆘 常见问题

Q: 服务器启动失败?
A: 检查:

  • 端口5000未被占用
  • 依赖库版本是否匹配
  • 防火墙设置

Q: 文件上传后无法下载?
A: 确认:

  • 文件存储路径权限(默认uploads/
  • 浏览器缓存清除
  • 服务端日志排查

📚 文档

详细的文档可在 docs/ 目录中找到,包括中文和英文版本。

中文文档

English Documentation

📄 许可证

MIT License - 详情见LICENSE文件

允许:  
✓ 商业使用  
✓ 修改和分发  
✓ 私有部署  

禁止:  
✗ 移除版权声明  
✗ 追究代码问题责任  

📢 联系我

About

A simple and easy-to-use LAN file transfer tool that allows quick file transfers within a local network, supporting multiple file uploads simultaneously

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published