本项目为突发奇想开发,可能存在某些Bug,欢迎反馈。
请保存好密钥和索引文件,请谨慎进行文件操作,数据无价。
网盘加密工具,在网盘面前捍卫你的隐私。
目前的开源网盘加密工具,都是直接逐个加密文件,然后用户手动上传到网盘。
如果直接创建一个整个压缩包加密上传,则使用、检索、更新都不方便。
1. 本地文件产生更新怎么办?
在传统的加密方案中,你需要再次加密,并且找到产生变化的文件,手动上传,而后才能实现本地和云端加密数据的同步。
2. 加密不彻底,加密后的内容仍保留了文件目录、文件名等信息。
因为如果没有这些内容,用户是无法快速找到所需文件的。
本地构建文件索引,上传内容彻底加密。
-
安装依赖(Python环境)
pip install cryptography
-
运行环境,进入一个Python实现的假Shell
python shell.py
程序中切换状态时也会显示使用说明。
-
出现以下提示符,表明程序处在等待加载状态。
>>>
此时可用的命令有:
-
load -i 索引文件位置 [-d 实际文件目录] [-k 索引加密密钥]
如果不设置-d,则后续无法执行sync命令,但仍然可以进行其他操作。
如果索引文件存在,则必须-k指定密钥,程序会根据密钥读取索引。
如果索引文件不存在,则程序将会产生密钥,请牢记该密钥,请牢记该密钥,请牢记该密钥,但索引文件直到第一次sync才会生成。
-
exit
退出程序。
-
-
如果正确载入了索引,则程序进入索引操作状态。
[索引文件名@索引目录位置]>>>
此时可用的命令有:
-
ls,cd,pwd,exit
(功能略) -
cat 当前目录下的文件名
查看实际文件对应的加密文件名。注意,文件一定要在当前目录下。 该功能的目标是,用户可以直接查找到目标文件对应的加密文件名,从网盘下载该加密文件解密,就可以得到原文件。
-
sync 加密文件存储目录
完成文件加密,并更新索引文件。 该功能的目标是,将加密后的文件都放入到加密文件存储目录,用户直接将该目录上传到网盘即可。 目录前会含有时间字符串,只需要上传本次sync操作产生的新加密文件即可。
-
recover 加密文件目录 恢复目标目录
恢复加密文件。 该功能的执行流程是,将加密文件目录下的加密文件,根据原文件结构,恢复到恢复目标目录。
-
clear [文件列表txt位置]
检测已失效的加密文件,以txt格式保存到指定位置,默认为
invalid_时间字符串.txt
用户对目录中的文件修改后进行sync,会产生很多失效的加密文件(理论上文件内容可以恢复,起到历史记录的作用,但暂未实现)。 失效的加密文件仍会占用网盘空间,用户可以删除这些文件,不会影响文件完整性。
-
请保存好密钥和索引文件,请谨慎进行文件操作,数据无价。