14 个版本 (6 个破坏性版本)

1.0.0-rc.12020年11月30日
0.7.1 2020年11月29日
0.6.0 2020年11月28日
0.2.1 2020年7月2日

#37 in #age

每月下载量 32

MIT 许可证

24KB
403

passage

具有 age 加密 的密码管理器

Build status Crates.io

小心使用

此项目处于开发阶段,尚未准备好用于严重使用。事情可能会出错。话虽如此,请使用它并报告任何问题。

安装

二进制文件和包(首选)

发布页面包括 Linux、mac OS 和 Windows 的二进制文件(Windows 的最后一个版本是 0.5.1)以及 Debian / Ubuntu 的 deb 文件。

从源代码构建(用于开发)

如果存在 rust 工具链,则可以进行此操作(如果您想做出贡献,这是有意义的)

$ git clone https://github.com/stchris/passage.git

# Dependencies for Debian / Ubuntu
$ apt install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libdbus-1-dev

$ cargo install --path .

概述

passage 为特定用户名 user 创建一个 age 加密存储文件,其当前默认位置取决于操作系统系列

Linux: `/home/user/.local/share/passage/entries.toml.age`
mac OS: `/Users/user/Library/Application Support/entries.toml.age`
Windows: `C:\Users\user\AppData\Roaming\passage\data\entries.toml.age`

您可以通过运行 passage init 一次来创建此文件。您可以通过运行 passage info 在任何时候检查存储文件夹的路径

$ passage info
Storage folder: /home/chris/.local/share/passage/entries.toml.age

现在让我们使用 $ passage new 创建一个新的条目

Passphrase:
New Entry: email
Password for email:

所以这里我们被提示三件事

  • 密码短语 是我们想要用来加密密码的秘密
  • 新条目 是我们想要创建的条目名称
  • 密码 for <条目> 是我们想要存储的密码

现在 passage list 应该显示一个条目(email)并且我们可以使用以下任一方式解密

$ passage show email # the password gets copied to the clipboard

$ passage show --on-screen email # the password is printed to the console

钩子

passage 能够在影响密码数据库的某些事件之前或之后调用 git 风格的钩子。钩子的典型用例是如果您的密码文件存储在版本控制中,并且您希望在交互 passage 时自动推送/拉取更改。

要使用钩子,你需要相应的文件夹,其路径可以通过运行 passage info 来查看。按照惯例,您可以将可执行脚本放入其中,并以您想响应的钩子命名。这些脚本将调用并传递触发钩子的事件作为第一个参数。

现有钩子

  • pre_load(在密码数据库加载之前调用)
  • post_save(在密码数据库更新后调用)

这些命令会触发钩子

  • passage newpre_loadpost_save,事件名为 new_entry
  • passage listpre_load,事件名为 list_entries
  • passage showpre_load,事件名为 show_entry
  • passage editpost_save,事件名为 edit_entry
  • passage removepost_save,事件名为 remove_entry

示例钩子脚本可以在这里找到。

密钥环集成

如果可能的话,passage 将尝试将数据库密码的密钥存储到操作系统密钥环中。您可以通过运行 passage keyring check 来查看是否有效。如果您不再希望密码存储在密钥环中,请运行 passage keyring forget

要跳过密钥环集成,passage 使用全局标志 --no-keyring

用法

$ passage
Password manager with age encryption

USAGE:
    passage [FLAGS] <SUBCOMMAND>

FLAGS:
    -h, --help          Prints help information
    -n, --no-keyring    Disable the keyring integration
    -V, --version       Prints version information

SUBCOMMANDS:
    edit       Edit an entry
    help       Prints this message or the help of the given subcommand(s)
    info       Display status information
    init       Initialize the password store
    keyring    Keyring related commands
    list       List all known entries
    new        Add a new entry
    remove     Remove an entry
    show       Decrypt and show an entry

依赖关系

~12–27MB
~315K SLoC