#password #client #api-client #library #api-server #lesspass #rockpass

bin+lib lesspass-client

LessPass API服务器客户端库和CLI,使用Rust编写

4个版本 (破坏性)

0.5.0 2023年2月12日
0.4.0 2023年1月8日
0.3.0 2023年1月7日
0.1.0 2021年12月10日

#219 in HTTP客户端

GPL-3.0-only

60KB
910

lesspass-client

Made with Rust Gluten Free It works

Rust编写的LessPass API服务器客户端库和CLI,包括库和命令行界面。

如果您只想要从服务器获取值的最小实现,请参阅rlpcli

库文档

该库发布在crates.io上,其文档详细说明在docs.rs上。

CLI安装

从二进制文件

只需从发布页面下载最新版本。

从源代码

安装Rust

lesspass-client构建已测试与当前Rust稳定版兼容。您可以从您的发行版软件包中安装Rust或使用rustup

rustup default stable

如果您愿意,您可以选择仅使用稳定版安装lesspass-client。

rustup override set stable

构建lesspass-client

要构建lesspass-client,只需执行以下命令。

git clone https://gitlab.com/ogarcia/lesspass-client.git
cd lesspass-client
cargo build --release

Arch Linux软件包

lesspass-client已打包在Arch Linux中,可以从AUR下载。

用法

主要命令帮助。

LessPass server API client library and CLI written in Rust

Usage: lesspass-client [OPTIONS] <COMMAND>

Commands:
  user      User related commands
  password  Password related commands
  help      Print this message or the help of the given subcommand(s)

Options:
  -s, --server <host>                 URL of LessPass server [env: LESSPASS_HOST=] [default: https://api.lesspass.com]
  -u, --user <username>               Username for auth on the LessPass server [env: LESSPASS_USER=]
  -p, --password <password>           Password for auth on the LessPass server [env: LESSPASS_PASS=]
  -m, --master-password <masterpass>  Master password (only needed to print site passwords) [env: LESSPASS_MASTERPASS=]
  -v, --verbose...                    Sets the level of verbosity
  -h, --help                          Print help information
  -V, --version                       Print version information

EXAMPLES:
  Get the password list specifying the server and without token cached:
    lesspass-client -s http://localhost:8000 -u [email protected] -p passwd password list

  Show a password:
    lesspass-client password show sample.site.com

  Add a new password:
    lesspass-client password add sample.site.com user@site.com

  Update a existing password (you need the ID from password show command):
    lesspass-client password update eed5950b-97f2-4ba9-bf09-7784b6c7e5a2 new.url.com new@email.com

在首次使用时,您需要传入用户名和密码以执行登录(请参阅以下部分了解如何获取密码)。首次运行后,lesspass-client会将登录令牌存储在您的XDG_CACHE_HOME目录中,您可以在不再次传入用户名和密码的情况下运行命令。

要传递配置值,您可以使用CLI选项或以下环境变量。

变量 用途
LESSPASS_HOST API服务器URL(默认 https://api.lesspass.com
LESSPASS_USER 用户名(例如 [email protected]
LESSPASS_PASS 密码
LESSPASS_MASTERPASS 主密码(仅用于打印站点密码)

每个命令和子命令都有自己的帮助信息,只需简单地传递 -h--help 即可查看。您可以在 Rockpass 文档 中查看一些使用示例。

如何获取 API 密码

默认情况下,API 密码不是明文,而是使用 LessPass 本身加密的另一个访问密码。这可以防止密码未加密发送。

以下参数用于计算要发送的密码。

  • 网站:lesspass.com
  • 登录:您用于验证的电子邮件地址。
  • 主密码:您用于验证的密码。
  • 选项:默认。这意味着所有选项都被选中,大小为 16,计数器为 1。

例如,如果我们使用用户 test@example.com 和密码 123456 来验证 API 服务器,这将生成密码 Kd*k5i63iN$^z)?V,这是我们必须作为 LESSPASS_PASS 使用的密码。

您可以使用 lesspass-client 本身执行此操作。

$ lesspass-client -m 123456 password build lesspass.com [email protected]
Kd*k5i63iN$^z)?V

依赖项

~13–27MB
~426K SLoC