4 个版本 (1 个稳定版)
新 1.0.0 | 2024 年 8 月 7 日 |
---|---|
0.1.2 | 2024 年 6 月 4 日 |
0.1.1 | 2024 年 5 月 27 日 |
0.1.0 | 2024 年 5 月 27 日 |
#2 in #note
每月 124 次下载
2.5MB
2.5K SLoC
blackout
使用 Rust 编写的加密密码/笔记和 TOTP 管理器
✨ 特性
- ⌨ 基于命令行界面(交互式 & 参数)
- 🔒 加密密码/笔记管理器
- 🛡 隐藏敏感信息
- 🔒 加密 TOTP 管理器
- 🔑 生成密码和短语
- 🌱 生成种子短语(bip-39 单词列表)
- 自定义文本编辑器以管理笔记(vim,nano,记事本等)
- 设置中提供自动备份
- 自动将生成的密码/短语复制到剪贴板(默认禁用)
📥 安装
Cargo(推荐)
blackout
可以从 crates.io 安装。
cargoinstall blackout
二进制文件
您可以从 发布页面 下载预构建的二进制文件。
编译源代码
先决条件
构建
git clone https://github.com/jandrus/blackout.git
cargo build --release
这将生成一个二进制可执行文件,位于 target/release/blackout
,您可以将其复制到您的 $PATH
目录中。
⚙ 配置
配置文件
注意:如果启动时配置文件不存在,将提示用户进行引导式生成。
位置
配置文件位于
OS | 配置文件位置 |
---|---|
Linux | $HOME/.config/blackout/config.toml |
Windows | C:\Users\USERNAME\AppData\Roaming\ash\blackout\config\config.toml |
macOS | /Users/USERNAME/Library/Application Support/io.ash.blackout\config.toml |
配置选项
color
:这允许在终端中输出彩色输出。这是推荐的。注意:color
设置为false
,图标将被禁用。editor
:这是用于向用户渲染编辑器以输入笔记的命令。banner
:无参数时默认为交互模式。banner
启用启动时的横幅消息。auto_copy
:启用/禁用生成的密码和密语在生成时自动复制到剪贴板。icons
:启用/禁用图标。注意:这需要 nerdfonts。autobackup
:启用/禁用在添加或编辑笔记/totp URL时自动备份 blackout 数据。
以下是一个示例配置。
color = true
editor = "vim"
banner = true
auto_copy = false
icons = true
autobackup = true
单词表
启动时,将下载文件 https://raw.githubusercontent.com/bitcoin/bips/master/bip-0039/english.txt 到上述配置目录,命名为 wordlist.txt
。这是一个用于钱包种子短语生成的 2048 个单词列表。
当被指示生成一个密语时,blackout
将从这个列表中随机选择给定数量的单词。任何添加到此文件的单词都可以被密语和种子短语生成器选择。条目必须在一行上(不是逗号分隔列表,不是空格分隔列表)。
🛡️ 安全性
加密
blackout
使用 SQLCipher,它是 SQLite 的分支,增加了数据库文件和其它安全特性的 256 位 AES 加密,如
- 即时加密
- 篡改检测
- 内存清理
- 强密钥推导
- 由同行评审的 OpenSSL 加密库提供的算法
用法
一般
blackout - Encrypted password/notes and totp manager
Usage: blackout [OPTIONS] [COMMAND]
Commands:
add, -A Add note or totp url
delete, -D Delete note or totp url
edit, -E Edit note or totp url
export, -X Export note or totp urls
fetch, -F Fetch notes or totp
generate, -G Generate password, passphrase, or seed phrase
list, -L List note or totp labels only
help Print this message or the help of the given subcommand(s)
Options:
-b, --backup Backup blackout data (saves a snapshot)
-c, --changepass Change master blackout password
-r, --restore Restore blackout backup
-h, --help Print help
-V, --version Print version
添加笔记或 totp URL
Add note or totp url
Usage: blackout {add|-A} [COMMAND]
Commands:
note, -N Add note
totp, -T Add TOTP url
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
示例
blackout add
或blackout -A
:交互式添加笔记或 totp URL。blackout add note
或blackout -AN
:通过提示添加笔记。blackout add totp
或blackout -AT
:通过提示添加 totp URL。
删除笔记或 totp URL
Delete note or totp url
Usage: blackout {delete|-D} [COMMAND]
Commands:
note, -N Delete note
totp, -T Delete totp
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
示例
blackout delete
或blackout -D
:交互式删除笔记或 totp URL。blackout delete note
或blackout -DN
:交互式删除笔记。blackout delete totp github
或blackout -DT github
:删除标签为 github 的 totp URL。
编辑笔记或 totp URL
Edit note or totp url
Usage: blackout {edit|-E} [COMMAND]
Commands:
note, -N Edit note
totp, -T Edit totp url
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
示例
blackout edit
或blackout -E
:交互式编辑笔记或 totp URL。blackout edit totp
或blackout -ET
:交互式编辑 totp URL。blackout edit note github
或blackout -DN github
:编辑标签为 github 的笔记。
导出数据以进行迁移或解析
⚠ 注意:对于迁移到新机器,不需要移动明文数据。默认行为是将加密的数据库复制到当前工作目录(CWD),数据保持加密。使用 json 或 toml 标志导出数据以用于其他程序。
Export note or totp urls
Usage: blackout {export|-X} [COMMAND]
Commands:
both, -B Export notes and totp url
notes, -N Export notes
totps, -T Export totp urls
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
示例
blackout export
或blackout -X
:交互式导出数据为 json、toml 或 DB 格式blackout export notes
或blackout -XN
:以交互方式导出json、toml或DB格式的笔记blackout export notes -j
或blackout -XNj
:以json格式导出笔记blackout export totps -t
或blackout -XTt
:以toml格式导出totp网址blackout export both -j
或blackout -XBj
:以json格式导出笔记和totp网址
获取笔记/totp代码(在终端显示笔记或totp代码)
Fetch notes or totp
Usage: blackout {fetch|-F} [COMMAND]
Commands:
note, -N Fetch note
totp, -T Fetch TOTP
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
示例
blackout fetch
或blackout -F
:以交互方式获取笔记或totp代码blackout fetch note
或blackout -FN
:以交互方式获取笔记blackout fetch totp github
或blackout -FT github
:获取标记为 github 的totp代码
生成密码、短语或种子短语
Generate password, passphrase, or seed phrase
Usage: blackout {generate|-G} [COMMAND]
Commands:
pass, -W Generate password
phrase, -P Generate passphrase (BIP-39 word list)
seed, -S Generate 24 word seed phrase (BIP-39 word list)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
生成密码
Generate password
Usage: blackout generate {pass|-W} [OPTIONS]
Options:
-l, --length <LENGTH> length of password. Interactive allows for more options [DEFAULT: 15]
-i, --interactive Interactive mode
-h, --help Print help
示例
blackout generate pass
或blackout -GW
:生成一个15个字符的密码,包含数字、大小写字母和特殊字符。blackout generate pass -i
或blackout -GWi
:以交互方式生成密码。blackout generate pass -l 18
或blackout -GWl 18
:生成一个18个字符的密码。
生成短语
Generate passphrase (BIP-39 word list)
Usage: blackout generate {phrase|-P} [OPTIONS]
Options:
-l, --length <NUM_WORDS> Number of random words to generate [DEFAULT: 5]
-h, --help Print help
示例
blackout generate phrase
或blackout -GP
:生成一个5个单词的短语。blackout generate phrase -l 8
或blackout -GPl 8
:生成一个8个单词的短语。
生成种子短语
Generate 24 word seed phrase (BIP-39 word list)
Usage: blackout generate {seed|-S}
Options:
-h, --help Print help
列出笔记或totp(仅标签)
这将只列出标签。要获取敏感内容(totp网址和笔记)的完整列表,请参阅 [[导出数据以进行迁移或解析]]。
List note or totp labels only
Usage: blackout {list|-L} [COMMAND]
Commands:
notes, -N List note lables
totps, -T List TOTP labels
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
示例
blackout list
或blackout -L
:列出笔记和totp标签blackout list notes
或blackout -LN
:列出笔记标签blackout list totps
或blackout -LT
:列出totp标签
捐赠
- BTC:
bc1qvx8q2xxwesw22yvrftff89e79yh86s56y2p9x9
- XMR:
84t9GUWQVJSGxF8cbMtRBd67YDAHnTsrdWVStcdpiwcAcAnVy21U6RmLdwiQdbfsyu16UqZn6qj1gGheTMkHkYA4HbVN4zS
许可证
本程序是免费软件:您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,无论是许可证的第3版,还是任何后续版本。
本程序是在希望它将是有用的前提下分发的,但没有任何保证;甚至没有关于适销性或针对特定目的的隐含保证。有关详细信息,请参阅GNU通用公共许可证。
您应该已收到一份GNU通用公共许可证副本。如果没有,请参阅 http://www.gnu.org/licenses/。
依赖关系
~31–51MB
~873K SLoC