Skip to content

Huu-Yuu/IntraSend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IntraSend - 局域网文件传输工具

项目简介

IntraSend是一款基于QT C++开发的局域网文件传输工具,专注于提供安全、高效、便捷的文件传输体验。通过直观的界面设计和强大的技术实现,让用户在局域网内轻松分享文件,无需依赖外部网络服务。

主要功能与特点

1. 权限与安全

  • 实现基于好友/联系人机制的访问控制
  • 支持文件类型过滤,防止恶意文件传输
  • 提供单日接收次数限制,有效防止骚扰
  • 可屏蔽特定联系人,确保传输环境安全

2. 联系人管理

  • 类似IM软件的联系人列表界面
  • 支持添加、删除、分组管理联系人
  • 实时显示联系人在线状态
  • 支持内网设备自动发现功能

3. 文件传输

  • 支持拖拽文件到联系人直接发送
  • 实时显示传输进度和速度
  • 支持断点续传功能
  • 支持文件夹传输
  • 可设置传输速度限制

4. 日志与管理

  • 详细的文件传输日志记录
  • 传输历史记录查询
  • 可设置接收目录白名单
  • 文件自动分类存储功能

技术实现

核心架构

  • 网络层:基于QTcpSocket/TcpServer实现可靠的TCP连接
  • 协议层:自定义协议封装,包含头部信息和文件数据
  • 传输层:多线程传输管理,提高传输效率
  • 应用层:QT界面框架,提供友好的用户交互体验

技术要点

  1. 自定义协议:设计包含文件信息、传输控制等头部信息的协议格式
  2. 多线程管理:使用QT的线程池管理并发传输任务
  3. 断点续传:实现文件传输断点检测和续传机制
  4. 内网发现:利用UDP广播实现内网设备自动发现
  5. 安全机制:实现基于联系人的权限控制和防骚扰功能

界面设计

主要界面

  1. 联系人列表:类似IM软件的联系人界面,显示在线状态
  2. 传输窗口:显示实时传输进度、速度和历史记录
  3. 设置面板:配置接收目录、安全选项、传输参数等

交互流程

  1. 用户添加联系人或等待内网设备发现
  2. 拖拽文件到目标联系人
  3. 系统自动建立连接并开始传输
  4. 实时显示传输进度和状态
  5. 传输完成后记录到历史日志

高级功能

文件夹传输

  • 支持完整文件夹结构的传输
  • 自动创建目标目录结构
  • 保持文件权限和时间戳

传输速度限制

  • 可设置全局或单任务传输速度限制
  • 智能调整带宽分配,确保系统流畅运行

文件自动分类存储

  • 根据文件类型自动分类存储到不同目录
  • 支持自定义分类规则

内网设备自动发现

  • 无需手动添加,自动发现局域网内的其他IntraSend用户
  • 显示设备名称、IP地址和在线状态

防骚扰功能

联系人屏蔽

  • 可将特定联系人加入黑名单
  • 阻止黑名单用户的所有传输请求

文件类型过滤

  • 可设置允许接收的文件类型白名单
  • 自动拒绝不符合条件的文件传输

接收次数限制

  • 可设置单日接收文件的最大次数
  • 超过限制后自动拒绝新的传输请求

系统要求

  • 操作系统:Windows 7+ / Linux / macOS
  • Qt版本:Qt 5.12+
  • 编译器:支持C++11及以上标准的编译器
  • 网络环境:局域网环境

安装与配置

编译安装

  1. 克隆项目代码
  2. 使用Qt Creator打开项目文件
  3. 配置编译环境
  4. 编译并运行

首次配置

  1. 启动应用程序
  2. 设置用户名和设备名称
  3. 配置接收目录
  4. 调整安全选项

使用指南

添加联系人

  1. 在联系人列表界面点击"添加联系人"
  2. 输入对方IP地址和用户名
  3. 等待对方确认

发送文件

  1. 从文件管理器拖拽文件到目标联系人
  2. 确认传输参数
  3. 点击"发送"按钮

接收文件

  1. 当收到传输请求时,系统会自动处理(基于安全设置)
  2. 文件会保存到配置的接收目录
  3. 传输完成后会有通知提示

开发计划

第一阶段:基础功能

  • 实现基本的文件传输功能
  • 开发联系人管理系统
  • 构建基础界面框架

第二阶段:高级功能

  • 实现断点续传
  • 添加文件夹传输支持
  • 开发内网设备自动发现

第三阶段:安全与优化

  • 完善权限与安全机制
  • 优化传输速度和稳定性
  • 添加防骚扰功能

贡献指南

欢迎对本项目提出建议和贡献代码!如有问题或建议,请通过以下方式联系:

  • 提交Issue
  • 发起Pull Request
  • 联系项目维护者

许可证

本项目采用GPL-3.0许可证,详见LICENSE文件。


IntraSend - 让局域网文件传输更简单、更安全!

About

内网文件直传

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages