surgiie / bitvault-cli
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.4
- illuminate/encryption: ^9.42
- illuminate/http: ^9.0
- laravel-zero/framework: ^9.2
- surgiie/console: ^0.16.0
Requires (Dev)
- laravel/pint: ^1.2
- mockery/mockery: ^1.4.4
README
A small wrapper proxy cli around the @bitwarden/cli
for adding encrypted password/note content to a BitWarden vault using a separate password from your vault password.
介绍
Bitwarden 已经加密了您的保险库,这只是一个额外的中间加密层,用于使用与保险库密码不同的密码从您的保险库中读取/写入加密内容。
安装
composer global require surgiie/bitvault-cli
确保 composer global vendor 路径在 $PATH
上可用
export PATH=~/.config/composer/vendor/bin:$PATH
使用的加密
此 cli 使用 AES-256-CBC
密文进行加密,并使用 php 的 PBKDF2 从给定密码生成加密密钥。
从文件读取密码
如果您不想通过终端传递您的 cli 密码,您可以从文件加载您的短语
bitvault new:login ... --password-file=<path>
这将读取、去除所有前导/尾随空白,并从指定的文件路径读取秘密。
创建新的登录
bitvault new:login GITHUB_LOGIN --username=<login-username> --login-password=<secret> --password=<encryption-our-password> --url=github.com
您还可以指定将登录放置在哪个文件夹中,使用: --folder
并传递在您的保险库中命名的确切文件夹名称。
注意 当省略时, password
和 password
将提示您输入,您也可以像本说明书中记录的那样从文件中读取。
从文件读取密码
如果您在创建新登录时不希望传递密码,您可以从文件加载您的密码
bitvault new:login ... --password-file=<path>
这将读取、去除所有前导/尾随空白,并从指定的文件路径读取密码。
创建新的安全笔记
bitvault new:note EXAMPLE --content=foo --password="<encryption-password>"
或从文件读取
bitvault new:note EXAMPLE --content-file=/some/file --password="<encryption-password>"
您还可以指定将登录放置在哪个文件夹中,使用: --folder
并传递在您的保险库中命名的确切文件夹名称。
获取项
为了获取解密后的登录或安全笔记项
bitvault get:<note|login> EXAMPLE --password="<encryption-password>"
这将打印出项的完整 json 对象到终端。
重新加密所有项
bitvault reencrypt --old-password="<old-encryption-password>" --new-password="<encryption-password>"
注意 这仅适用于您的保险库中所有项都使用相同的密码。
复制到剪贴板
在 windows wsl2/ubuntu for windows 上,将使用 copy.exe
,而在 linux 上,应安装 xclip
。
复制笔记: bitvault get:note EXAMPLE --password="<加密密码>" --copy --silent
复制登录: bitvault get:note EXAMPLE --password="<加密密码>" --copy-field=<用户名|密码> --silent
注意 --silent
选项会阻止将项目 json 输出到终端。
导出项目到 .env 文件
您可以轻松地将您的保险库项目导出到 .env
文件
bitvault export:env-file --name=some-vault-item-name --name=some-other-item-name --password="<您的密码>"
这将把名为 some-vault-item-name
和 some-other-item-name
的保险库项目添加到当前目录下的 .env
文件中,作为 SOME_VAULT_ITEM_NAME
和 SOME_OTHER_ITEM_NAME
,并带有它们各自的解密密码/笔记。
注意:名称选项将转换为蛇形命名法,这是 env 变量的标准约定。
要自定义文件路径,请使用 --path=/some/custom/env/file
选项。
记得登出
此 CLI 不管理您的会话或进行身份验证,记得在完成后始终锁定和登出(bw lock
和 bw logout
)并取消设置 BW_SESSION
环境变量。