2个版本
| 0.4.6 | 2024年8月11日 |
|---|---|
| 0.4.5 | 2024年8月8日 |
231 在 密码学
每月241 次下载
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