SeCloud - 安全与便捷的网盘应用

项目简介

SeCloud 是一款集 安全认证加密传输加密存储 于一体的高级网盘应用。通过创新的密码学设计和自主开发的通信协议,SeCloud 致力于保护用户隐私,确保服务器无法窃取任何用户数据。SeCloud 提供了与传统网盘类似的便捷使用体验,同时构建了顶级的安全保障体系。

主要功能

  • 文件管理:支持文件上传、下载、删除、文件夹创建等基本操作。
  • 高级加密:基于 U 盾硬件,采用层级密钥管理,实现“一次一密”策略。
  • 端到端安全传输:采用 DH 密钥交换协议和数字证书,确保通信数据全程加密。
  • 共享网盘:安全设计的文件共享功能,保证密钥安全传输与存储。
  • 多重认证:结合口令和硬件(U 盾)双重保护。

技术亮点

  • 用户中心的加密架构:服务器无法解密用户数据。
  • 一次一密加密策略:文件加密密钥独立,泄露风险最小化。
  • 跨平台支持:基于 Electron 打造,兼容 Windows、macOS 和 Linux。
  • 易扩展性:系统设计模块化,支持后续功能扩展。

安装与运行

SeCloud 由三部分组成:服务器 (server)客户端后端 (client)客户端前端 (frontend)。每个部分均需独立配置运行环境。

运行准备

  1. 确保已安装以下工具:

    • Python 3.9 及以上
    • Node.js 和 npm (前端运行需要)
    • U 盾设备(推荐使用安全机构颁发的硬件)
  2. 克隆项目代码:

    git clone https://github.com/DeMoYao100/byrFileShare.git

部署步骤

服务端 (Server)

  1. 进入

    server
    

    目录:

    cd server
  2. 安装依赖:

    pip install -r requirements.txt
  3. 初始化数据库及目录:

    python db.py
    mkdir storage tmp
  4. 启动服务:

    python server.py

客户端后端 (Client)

  1. 进入

    client
    

    目录:

    cd client
  2. 安装依赖:

    pip install -r requirements.txt
  3. 修改 ip.txt,填入服务器 IP 地址。

  4. 启动客户端后端:

    python client.py

客户端前端 (Frontend)

  1. 进入

    frontend
    

    目录:

    cd frontend
  2. 安装依赖:

    npm install
  3. 启动前端:

    npm run serve

系统说明文档

项目中的 系统说明文档 包含以下内容,用于详细说明系统的设计和实现:

  • 作品技术原理介绍:介绍系统的核心技术原理和关键实现。
  • 概要设计报告:系统的高层次设计和架构概述。
  • 详细设计报告:深入描述系统模块的实现细节。
  • 测试分析报告:测试案例及系统性能分析结果。
  • 程序编译和安装使用文档:运行环境准备、程序编译及启动指导。
  • 接口规范文档:系统模块和外部交互的 API 规范。

您可以在系统说明文档目录下找到上述文件,获取更详细的技术细节。

联系我们

如有任何疑问或建议,请通过 huangkaibo@bupt.edu.cn 联系我们。

感谢支持 SeCloud! 如果您喜欢该项目,请为我们点亮一颗 Star ⭐。