#加密 #遗传 #crypt4gh #c4gh

bin+lib crypt4ghfs

暴露Crypt4GH加密文件的Fuse层,仿佛它们已被解密

2个不稳定版本

0.3.0 2022年3月14日
0.2.0 2021年6月10日

#945 in 文件系统

Apache-2.0

51KB
1.5K SLoC

Crypt4GH 文件系统(用Rust编写)

Crates.io Docs.rs GitHub

Crypt4GH FUSE 文件系统用Rust实现。它允许在目录中自动加密和解密crypt4gh文件。

安装

要求:Rust

支持的平台

  • Linux(在Ubuntu 20.04上测试过)
  • macOS(最高到Big Sur,Monterey尚未支持FUSE)
cargo install crypt4ghfs

用法

命令的使用方法如下

USAGE:
    crypt4ghfs [FLAGS] <MOUNTPOINT> --conf <conf_path>

ARGS:
    <MOUNTPOINT>

FLAGS:
    -h, --help       Prints help information
    -v, --verbose    Sets the level of verbosity
    -V, --version    Prints version information

OPTIONS:
        --conf <conf_path>

配置

[DEFAULT]
# Extensions to be detected as encrypted
extensions = ["c4gh"]

[LOGGER]
# Whether to use syslog or to output to stderr
use_syslog = false
# Level of the logger. Should be one of ["TRACE", "DEBUG", "INFO", "WARN", "CRITICAL"]
log_level = "DEBUG"
# Syslog facility
log_facility = "local2"

[FUSE]
# The options that will be sent to fuse. The following are available:
# "allow_other", "allow_root", "allow_unmount", "default_permissions", "dev", "no_dev", "suid", "no_suid", "ro", "rw", "exec", "no_exec", "atime", "no_atime", "dir_sync", "sync", "async"
options= ["ro", "default_permissions", "allow_other", "auto_unmount"]
# Path to the root directory of the filesystem
rootdir="tests/rootdir"

[CRYPT4GH]
# Path to the public keys of the recipients to encrypt to
recipients = ["tests/testfiles/bob.pub"]
# Include log of the crypt4gh encryption / decryption
include_crypt4gh_log = true
# Include my public key to the recipients (so I can decrypt the file too)
include_myself_as_recipient = true
# Path to my private key
seckey = "tests/configs/bob"

依赖关系

~30–41MB
~366K SLoC