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密码学

Download history 690/week @ 2024-04-26 835/week @ 2024-05-03 920/week @ 2024-05-10 607/week @ 2024-05-17 552/week @ 2024-05-24 518/week @ 2024-05-31 451/week @ 2024-06-07 722/week @ 2024-06-14 754/week @ 2024-06-21 432/week @ 2024-06-28 564/week @ 2024-07-05 619/week @ 2024-07-12 454/week @ 2024-07-19 935/week @ 2024-07-26 613/week @ 2024-08-02 462/week @ 2024-08-09

每月下载量 2,566

MIT 许可证

425KB
17K SLoC

rbw

这是 Bitwarden 的非官方命令行客户端。尽管 Bitwarden 本身也提供自己的 命令行客户端,但该客户端由于是无状态的,使用时需要手动锁定和解锁客户端,并通过环境变量传递临时密钥,这使得使用变得非常困难。该客户端通过维护一个后台进程来解决这个问题,该进程能够在内存中持有密钥,类似于 ssh-agentgpg-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

rbwHomebrew 仓库 中可用。您可以通过以下命令安装它:brew install rbw

Nix

rbw 可在 NixOS 仓库 中找到。您可以通过以下命令尝试使用它:nix-shell -p rbw

Alpine

rbw 可在 测试仓库 中找到。如果您不是使用 alpine 的 edge 版本,您必须 手动启用仓库

其他

在安装好 Rust 之后,您可以通过以下命令安装 rbwcargo 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_intervalrbw 将在运行代理时以每秒此间隔自动从服务器同步数据库。将此值设置为 0 禁用此行为。默认为 3600(一小时)。
  • pinentry:要使用的 pinentry 可执行文件。默认为 pinentry

配置文件

rbw 支持不同的配置配置文件,可以通过使用 RBW_PROFILE 环境变量在它们之间切换。将其设置为名称(例如,RBW_PROFILE=workRBW_PROFILE=personal)可以在多个不同的保险库之间切换 - 每个保险库将使用其自己的单独配置、本地保险库和代理。

使用方法

命令通常可以直接使用,并将根据需要处理登录或解锁。例如,运行 rbw ls 将运行 rbw unlock 以在生成条目列表之前解锁密码数据库(但不会尝试登录到服务器),rbw sync 将在下载密码数据库之前自动运行 rbw login 登录到服务器(但不会解锁数据库),而 rbw add 将执行两者。

只有在必要时才会执行登录服务器和解锁数据库,因此当您已登录时运行 rbw login 不会做任何事情,同样对于 rbw unlock 也是如此。如果需要,您可以通过运行 rbw purge 明确退出,也可以通过运行 rbw lockrbw 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 密钥,您可以使用以下说明找到它:这里

  • rofi-rbw:Bitwarden 的 rofi 前端
  • bw-ssh:在 Bitwarden 中管理 SSH 密钥密码
  • rbw-menu:rbw 的小型菜单选择器

依赖关系

~19–36MB
~597K SLoC