# desktop-file-server **Repository Path**: SWDCloud/desktop-file-server ## Basic Information - **Project Name**: desktop-file-server - **Description**: 桌面文件服务器 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-18 - **Last Updated**: 2025-03-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # File Server 基于Vertx的桌面文件服务器,支持文件上传、下载、删除等功能, 本服务器提供FTP和WebDAV两种协议的访问方式,可以与操作系统原生集成。 当然,WebDAV和FTP的协议都是我手写的,并不是基于现有的开源库,所以难免 会有一些不完善的地方。 本项目还在持续的开发中,欢迎提出任何意见。 ## 项目结构 ``` |-- src | |-- main | |-- java | | |-- org.swdc.rmdisk // 项目包,同时包含项目的launcher,通过我自行搭建的框架实现项目的启动类,配置类等 | | |-- client // 客户端协议和数据处理 | | |-- core // 核心模块,ORM的领域对象,日志,FTP和WebDAV的通用类型 | | |-- service // 服务端协议和数据处理,基于Vertx的FTP和WebDAV服务 | | |-- views // 基于JavaFX的UI的View和Controllers | |-- resources // 资源文件 | |-- database // 数据库配置,hibernate框架使用里面的配置文件加载数据库 | |-- icons // 图标,启动后的JavaFX窗口需要它们 | |-- lang // 语言文件,暂时不支持多语言,但是预留了接口 | |-- views // JavaFX的FXML文件 | |-- webcontent // WebDAV的WebUI,基于Vue3和Tailwindcss构建 |-- assets // 应用的资源目录,包含配置文件和主题 |-- data // 应用的运行时数据目录,这里存放的是MySQL的数据库文件,它的内容会在首次启动后自动初始化。 |-- logs // 日志目录 ``` ## 依赖的项目 以下项目是本项目依赖的,它们是我自行开发的,所以如果想要 编译本项目,需要首先clone它们并且install到本地仓库。 它们都可以在我的Github仓库中找到: 基础框架: - org.swdc/application-fx - org.swdc/application-configure - org.swdc/application-component - org.swdc/our-commons 数据库: - org.swdc/swdata - org.swdc/mariadb - org.swdc/mariadb-embedded ## 第三方项目引用 - vertx:服务器的基础框架 - password4j:用户的密码处理 - jcifs:用于NTLM协议的认证 - caffeine:缓存框架 - jjwt:令牌和Token的生成及验证 - apache-tika:Metadata以及MimeType的检测