47 个版本 (26 个稳定版)
| 1.12.1 | 2024年7月29日 |
|---|---|
| 1.11.1 | 2024年6月26日 |
| 1.9.0 | 2024年1月1日 |
| 1.8.3 | 2023年7月21日 |
| 0.4.6 | 2020年7月12日 |
#208 在 密码学 中
每月下载量 2,566
425KB
17K SLoC
rbw
这是 Bitwarden 的非官方命令行客户端。尽管 Bitwarden 本身也提供自己的 命令行客户端,但该客户端由于是无状态的,使用时需要手动锁定和解锁客户端,并通过环境变量传递临时密钥,这使得使用变得非常困难。该客户端通过维护一个后台进程来解决这个问题,该进程能够在内存中持有密钥,类似于 ssh-agent 或 gpg-agent 的工作方式。这使得客户端可以以更简单的方式使用,后台代理负责维护必要的状态。
维护
我认为 rbw 在这个阶段对我来说基本上已经功能完备。虽然我仍然每天都在使用它,并且会修复出现的任何回归问题,但我不太可能花时间自己实现新功能。如果您想在 rbw 中看到新功能,我很乐意审查和合并实现这些功能的拉取请求。
安装
Arch Linux
rbw 可在 extra 存储库 中找到。或者,您可以从 AUR 安装 rbw-git,这将始终从最新的 master 提交构建。
Debian/Ubuntu
您可以从 https://git.tozt.net/rbw/releases/deb/ 下载 Debian 软件包。这些软件包由 minisign 签署,可以使用公钥 RWTM0AZ5RpROOfAIWx1HvYQ6pw1+FKwN6526UFTKNImP/Hz3ynCFst3r 验证。
Homebrew
rbw 在 Homebrew 仓库 中可用。您可以通过以下命令安装它:brew install rbw。
Nix
rbw 可在 NixOS 仓库 中找到。您可以通过以下命令尝试使用它:nix-shell -p rbw。
Alpine
rbw 可在 测试仓库 中找到。如果您不是使用 alpine 的 edge 版本,您必须 手动启用仓库。
其他
在安装好 Rust 之后,您可以通过以下命令安装 rbw:cargo install --locked rbw。这需要安装 pinentry 程序(用于显示密码提示)。
配置
使用 rbw config 命令设置配置选项。可用的配置选项
email:用于登录 Bitwarden 服务器时作为账户名称使用的电子邮件地址。必填。sso_id:SSO 组织 ID。如果未设置,则默认为常规登录过程。base_url:要使用的 Bitwarden 服务器 URL。如果未设置,则默认为官方服务器https://api.bitwarden.com/。identity_url:要使用的 Bitwarden 身份服务器 URL。如果未设置,则使用配置的base_url上的/identity路径,或者如果没有设置base_url,则使用https://identity.bitwarden.com/。ui_url:要使用的 Bitwarden UI 的 URL。如果未设置,则默认为https://vault.bitwarden.com/。notifications_url:要使用的 Bitwarden 通知服务器 URL。如果未设置,则使用配置的base_url上的/notifications路径,或者如果没有设置base_url,则使用https://notifications.bitwarden.com/。lock_timeout:在再次输入密码之前,在内存中保持主密钥的秒数。默认为3600(一小时)。sync_interval:rbw将在运行代理时以每秒此间隔自动从服务器同步数据库。将此值设置为0禁用此行为。默认为3600(一小时)。pinentry:要使用的 pinentry 可执行文件。默认为pinentry。
配置文件
rbw 支持不同的配置配置文件,可以通过使用 RBW_PROFILE 环境变量在它们之间切换。将其设置为名称(例如,RBW_PROFILE=work 或 RBW_PROFILE=personal)可以在多个不同的保险库之间切换 - 每个保险库将使用其自己的单独配置、本地保险库和代理。
使用方法
命令通常可以直接使用,并将根据需要处理登录或解锁。例如,运行 rbw ls 将运行 rbw unlock 以在生成条目列表之前解锁密码数据库(但不会尝试登录到服务器),rbw sync 将在下载密码数据库之前自动运行 rbw login 登录到服务器(但不会解锁数据库),而 rbw add 将执行两者。
只有在必要时才会执行登录服务器和解锁数据库,因此当您已登录时运行 rbw login 不会做任何事情,同样对于 rbw unlock 也是如此。如果需要,您可以通过运行 rbw purge 明确退出,也可以通过运行 rbw lock 或 rbw stop-agent 明确锁定数据库。
rbw help 可用于获取有关可用功能的更多信息。
运行 rbw get <name> 以获取您的密码。如果您还想获取用户名或相关的备注,可以使用标志 --full。您还可以使用标志 --field={field} 来获取所需的任何默认或自定义字段。使用 --raw 标志将输出显示为 JSON。除了匹配名称之外,您还可以传递一个 UUID 作为名称以搜索具有该 ID 的条目,或者传递一个 URL 以搜索具有匹配网站条目的条目。
注意:官方 Bitwarden 服务器(bitwarden.com)的用户:官方服务器有将命令行流量检测为机器人流量的倾向(有关详细信息,请参阅 此问题)。为了使用 rbw 与官方 Bitwarden 服务器,您需要首先运行 rbw register 以使用 rbw 向 Bitwarden 服务器注册每个设备。这将会提示您输入个人 API 密钥,您可以使用以下说明找到它:这里。
相关项目
依赖关系
~19–36MB
~597K SLoC