个人和企业文件管理的普遍痛点:公有云盘隐私泄露风险高,敏感文件不敢上传;免费容量有限,扩容会员费逐年上涨,多年累计成本高昂;多设备文件不同步,手机拍的照片电脑上找不到,U 盘拷贝版本混乱;团队协作靠微信传文件,大文件传输慢,历史版本无法追溯;NAS 自建方案配置复杂,移动端体验差,普通用户难以维护。
松果适用于以下场景:个人多设备文件自动同步,手机电脑平板无缝衔接;摄影师设计师等大文件创作者的素材库管理,原文件安全存储;小微企业内部文件共享与协作,替代昂贵的企业网盘;注重隐私的用户,敏感文档端到端加密本地存储;远程办公团队,跨地域文件同步与版本管理。
核心定位:开源加全平台加端到端加密的私有云盘与文件同步工具。用户完全掌控数据,存储在自己的服务器或 NAS 上,不经过任何第三方云服务。一次部署终身使用,无会员费无容量限制,用极低的成本实现媲美商业云盘的同步体验。
松果包含六大核心功能模块。
全平台文件同步:支持 Windows、macOS、Linux 桌面端及 Android、iOS 移动端,同一账号多设备实时同步。文件修改后自动检测变更,增量同步仅传输差异部分,大文件更新节省带宽和时间。支持选择性同步,可指定仅同步特定文件夹,避免占用设备空间。
端到端加密:文件在客户端加密后再上传,服务器仅存储密文,即使服务器被攻破也无法读取文件内容。采用 AES-256 加密算法,密钥由用户密码派生,平台不存储明文密码。支持加密文件夹,可对敏感目录单独加密。
增量同步引擎:基于文件内容哈希和修改时间精准检测变更,支持块级增量传输,大文件仅上传变化的数据块。断点续传,网络中断后自动恢复,无需从头开始。双向同步,任意一端修改都会同步到其他设备。
冲突处理:多设备同时修改同一文件时,自动识别冲突并保留所有版本,用户可选择保留某一版本或合并。冲突文件标注清晰,不会静默覆盖导致数据丢失。
文件版本管理:自动保留文件历史版本,可查看修改时间和版本差异,支持一键回滚到任意历史版本。误删除文件可从回收站恢复,删除操作可配置保留天数。
团队协作与共享:支持创建共享文件夹,邀请成员协作,可设置只读或编辑权限。生成外部分享链接,可设置访问密码和有效期,方便对外发送大文件。操作日志记录团队成员的文件变动,便于追溯。
技术栈:前端与客户端采用 MAUI Blazor,一套代码覆盖 Windows、macOS、Linux、Android、iOS 全平台;后端采用ASP.NET Core Web API;数据库使用 SQLite 本地存储加 PostgreSQL 服务端存储;文件存储支持本地磁盘和对象存储。
架构采用客户端加服务端分离设计。客户端负责文件监听、增量计算、加密解密、UI 交互;服务端负责文件存储、用户管理、权限控制、版本管理。两端通过 HTTPS REST API 通信,大文件传输支持分块上传下载。
核心技术实现包括五个方面。第一,跨平台文件系统抽象:封装各操作系统的文件监听 API,统一处理 Windows、macOS、Linux 的文件系统差异,解决跨平台文件路径分隔符、大小写敏感、权限模型不一致等问题。第二,增量同步算法:使用分块哈希计算文件差异,将大文件切分为固定大小的数据块,仅传输变化的块,同步效率相比整文件传输提升数倍。第三,端到端加密体系:客户端使用用户密码派生密钥,文件分块加密后上传,服务端无法解密;密钥不出客户端,从架构上保障数据隐私。第四,冲突检测与版本控制:基于文件内容哈希和修改时间向量判断冲突,保留多版本不覆盖;版本链存储在服务端,支持任意版本回滚。第五,本地缓存与离线支持:客户端维护本地文件索引数据库,离线时可正常浏览和编辑,联网后自动同步变更。
部署方面支持个人单机部署,一台电脑或树莓派即可作为服务端;支持 NAS 部署,兼容群晖、威联通等主流 NAS 的 Docker 环境;支持 Docker Compose 一键部署,包含服务端、数据库、反向代理。项目采用.NET 技术栈,性能优异,资源占用低,老旧硬件也能流畅运行。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论