个人加密文件存储、备份和共享
Billabong的Python项目详细描述
billabong项目旨在提供可靠且加密的 存储和备份大型文件的解决方案 可编辑,如照片、视频和录音。
使用billabong存档文件,并将其配置为存储 在不同的机器上有多个文件副本。文件已加密 它们的内容可以被验证,因此您可以使用不受信任的计算机 额外的存储空间。
安装
使用pip:
安装billabong及其主要依赖项$ pip install billabong
默认情况下没有命令行界面,但是您可以很容易地定义 一个有别名:
$ alias bong="python3 -m billabong"
用法
Usage: bong COMMAND <options> Available commands: add Import one or several files and print resulting records. backup Copy the inventory into a encrypted file on a remote system. blobs List all blob ids from the first storage. check Check the validity of all blobs and metadata. echo Print blob content to standard output for the given record id. info Print record content from one or several record ids. ls List short records ids with filename from the inventory. mount Mount data as a filesystem. pull Pull blobs from sync storage. push Push blobs to sync storage. records List all records ids from the inventory. search Search for the given term and return id of records matching the term. status Print a global status of the inventory and storage. tags List all tags from the inventory. version Print software version. Use 'bong <command> --help' for individual command help.
状态
数据存储的格式非常可靠,应该保持 与未来版本兼容。
关于软件本身,它仍在开发中。核心 它本身正在形成一个稳定的结构,现在大部分的努力都花在 改进接口,更好地处理元数据和扩展 存储选项。
数据存储
billabong区分文件的内容( data)和文件的描述(即meta data)。当你添加 一个文件,生成一个随机密钥,并用于加密 使用AES-CTR的文件内容。然后把钥匙分开存放, 以及其他元数据,如 原始数据、加密数据的哈希、文件名及其 大小。
下面是测试软件时使用的元数据示例:
{"timestamp":"2015-08-24T21:23:18.397957","hash":"sha256-fc7d4f43945d94c874415e3bd9a6e181f8c84f8a36f586389405e391c01e48b2","info":{"filename":"hello.txt","type":"ASCII text","tags":[],"path":"hello.txt","mimetype":"text/plain"},"id":"b6a9fb49bcf54d43850d7b76182c9389","blob":"87686a1e7d089c9cd63f52d90a3ea9745e587c310339b2b54329119e93a4e669","key":"BT9dRpzUL+H39pFnVU2S8O1PyUEy6yq5zrYM2s2EvAE=","size":15}
元数据在inventory中保持安全,同时加密 文件可以自由复制或移动到其他计算机。
Travisci生成状态