2个版本

0.4.6 2024年8月11日
0.4.5 2024年8月8日

231密码学

Download history 96/week @ 2024-08-03 145/week @ 2024-08-10

每月241 次下载

AGPL-3.0或更新版

47KB
1K SLoC

jrn

关于

jrn 是一个安全的命令行日志应用程序,用于存储尴尬的秘密、邪恶的计划和恶毒的计划。

安全

jrn 将所有运行所需的数据存储在 jrn.json 文件中。 jrn 使用 bcrpyt 进行密码哈希,使用 pbkdf2 进行密钥派生,并使用 AES-256 对每个条目进行加密

用法

交互式使用

要获得完整的交互式命令行体验,只需输入

$ jrn

然后你将进入一个交互式提示符。如果你的存储文件以前没有由 jrn 编写,它将提示你输入新密码。否则,它将要求你输入密码。一旦认证完成,jrn 将开始解密数据,因此会有一短暂的延迟。这个延迟主要是由于密钥生成步骤需要100,000次迭代。

然后,jrn 将提示你执行操作。任何编辑操作(编辑或编辑今天)都将调用你的 $EDITOR。任何操作之后,默认情况下,jrn 都会再次提示你,使UI无限循环(直到你选择 退出)。如果你不希望这种行为,你可以设置 --dont-loop-D 标志。这将强制UI永不循环。

非交互式(可脚本化)使用

要获取完整的命令行选项,请输入 jrn --help。为了启动,如果使用子命令,程序开始的菜单选择可以自动化或跳过。除了当然的退出之外,每个单独的操作都有一个子命令等效。当使用子命令指定UI启动时,默认行为是不循环UI。如果您希望UI始终循环,可以指定 --do-loop-L 标志。然而,指定子命令仍然涉及交互性。这可以通过完全展开子命令(指定所有选项)来避免。即使如此,仍会显示密码提示。如果必须避免这种情况,可以将密码作为明文作为文件(--password-file-P)或字符串(--password-p)传递。

配置

命令行选项

  • --config-file | -c := 使用toml文件作为配置。默认是 $JRN_CONFIG_FILE$XDG_CONFIG_DIR/jrn/config.toml~/.config/jrn/config.toml
  • --password | -p := 使用给定的密码而不是交互式身份验证
  • --password-file | -P := 从给定的密码文件读取而不是交互式身份验证
  • --dont-loop | -D := 强制UI不循环,即使在未指定子命令的情况下
  • --do-loop | -L := 强制UI循环,即使在指定了子命令的情况下
  • --file-type | -F := 使用不同的文件类型来编辑日志条目(例如 ".org"

    [!NOTE] 此选项仅用于编辑器目的。它不会更改数据存储方式

  • --file-path | -f := 使用不同的文件进行读取和写入(默认为 "./jrn.json",可能不希望这样)

Toml配置文件

[!NOTE] 当配置文件与命令行参数冲突时,命令行参数优先

在toml配置文件中,可以指定上述所有选项,除了 --config-file

字符串选项的格式为

hello_world="string"

布尔选项的格式为

boolean_option=true

[!NOTE] 将布尔选项设置为false与未设置相同

如何获取默认的toml文件

运行

$ jrn --dump-default-config > $JRN_CONFIG_FILE

依赖关系

~10–21MB
~315K SLoC