#file-hashing #file-integrity #folder-hashing #filesystem-integirty #filesystem-hashing

app sys-compare

通过包含指定目录中文件的HashMap及其对应的哈希签名的“快照”来跟踪文件系统完整性

13个版本

0.2.5 2024年4月21日
0.2.4 2024年4月16日
0.1.9 2024年4月15日
0.1.3 2024年3月30日

文件系统类别中排名126

Download history 33/week @ 2024-04-23 5/week @ 2024-04-30 32/week @ 2024-07-02

每月下载808

MIT许可证

13KB
257 代码行

sys-compare

通过包含指定目录内所有文件哈希的“快照”来检查文件系统完整性。

安装

cargo install --path ./

模式

Usage: sys-compare <COMMAND>

Commands:
  create   Create a snapshot
  compare  Compare two snapshots
  help     Print this message or the help of the given subcommand(s)

Options:
  -h, --help  Print help

创建快照

Usage: sys-compare create --root-dir <ROOT_DIR> --output-path <OUTPUT_PATH>

Options:
  -r, --root-dir <ROOT_DIR>        Directory to create snapshot from
  -o, --output-path <OUTPUT_PATH>  Snapshot output/save location
  -h, --help                       Print help

比较快照

Usage: sys-compare compare [OPTIONS] --left <LEFT> --right <RIGHT>

Options:
  -l, --left <LEFT>            left side of diff
  -r, --right <RIGHT>          right side of diff
  -s, --selection <SELECTION>  OPTIONAL: specify which change type specifically to return
  -c <COUNT_ONLY>              OPTIONAL: when using selection specify to return count only or not [possible values: true, false]
  -h, --help                   Print help

示例输出

$ sys-compare create -r /etc -o ~/test.snapshot
Creating snapshot..
Total FileHash Entries 1891

$ sudo touch /etc/2

$ sys-compare create -r /etc -o ~/test2.snapshot
Creating snapshot..
Total FileHash Entries 1892

$ sys-compare compare -l ~/test.snapshot -r ~/test2.snapshot
Created: 1
Deleted: 0
Changed: 0

$ sys-compare compare -l ~/test.snapshot -r ~/test2.snapshot -s created
/etc/2
Created: 1

$ sys-compare compare -l ~/test.snapshot -r ~/test2.snapshot -s created -c
1

开发和协作

欢迎提出pull request,请在提交前运行以下命令!

echo "Run clippy"; cargo clippy -- -D clippy::all
echo "Format source code"; cargo fmt -- --check

依赖项

~7–15MB
~187K SLoC