四大主要功能:
1. 文件备份
2. 定期查错(确保文件完整性)
3. 标签管理
4. 文件历史版本
## 网盘备份的缺点
现在很多人备份文件,都会选择网盘。网盘备份当然有很多优点,但也有一些缺点:
- 有泄漏个人隐私的风险
- 有触犯平台规定而被删文件的风险
- 可能产生较高费用(或未来可能涨价,转移难度大)
- 一些免费或低价的网盘不提供冗余备份(即,你的文件在他们的服务器里只有一个拷贝,万一文件损坏就无法修复)
- 由于没有冗余备份,当上传压缩文件或加密文件时,会有较大风险因文件局部损坏而无法打开。
- 同步逻辑是一个非常复杂的问题,网盘同步会偶尔出现问题,已经看到有少数人发帖说曾丢失文件。
## 本地备份的优点
因此,我想另辟蹊径,看能不能做一个本地备份工具,优点和目标如下:
- 个人隐私风险控制在本地(与网盘相比,少了网上泄漏因素)
- 敏感信息、隐私照片、可能因违规而被扫描或删除的文件等,都可以安心备份,不怕被网盘平台扫描。
- 费用可控(实现了冗余备份与定期查错功能,因此购买普通质量的硬盘即可,比高规格硬盘便宜很多。当然,资金充裕的用户可以购买优质硬盘,费用弹性很大。)
- 采用单向同步的备份逻辑,因此备份逻辑非常简单,不容易出错(而网盘是双向或多用户端同步,逻辑非常复杂,较容易出错)
- 采用正确设计的标签管理系统,没有文件夹,对文件进行纯标签管理。
- 开源,代码尽可能简单,用户可轻松魔改。
### 文件版本管理
除了上述优点,本软件还有一个简单的文件历史版本功能:
- 当上传文件时,会检查待上传文件的内容,如果在数据库中有内容完全一样的文件,会禁止上传,确保数据库中没有重复文件。
- 如果待上传文件与数据中的文件重名,但内容不同,上传后文件名旁有数字显示同名文件的数量,点击数字可展示全部同名文件,按入库日期排列。
传统的文件管理,在同一文件夹下不允许同名文件,对于日常办公编辑 work, excel, ppt 的人来说,需要手动更改文件名才能保存不同版本,很不方便。使用本软件可满足这种情况下的文件历史版本需求。
## 技术栈
- 后端:Go + Echo + go-sqlite3
- 前端:jquery + bootstrap
## 项目源码
https://github.com/ahui2016/localtags
## 一些截图
- 文件列表 https://sm.ms/image/yZLTJFasB8ERXw5
- 图片列表 https://sm.ms/image/rFA7agXE4bnx8BK
- 标签页面概要 https://sm.ms/image/3gXuFkPD2eVibnf
- 标签页面按钮 https://sm.ms/image/LydBSOxrelsMqba
- 备份界面 https://sm.ms/image/F9URkV8pcIuwCLo
有疑问加站长微信联系(非本文作者)