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