1 个不稳定版本
使用旧的 Rust 2015
0.0.0 | 2017年6月3日 |
---|
#395 in #password
307 stars & 14 watchers
33KB
621 行
freepass-cli
专为高级用户提供的免费密码管理器:UNIX 版本(命令行...但不仅限于命令行)。
安装
您首先需要在您的系统上安装 libsodium。
您的系统包管理器可能已经提供了它
$ sudo pkg install libsodium
使用 cargo 从源代码构建非常容易
$ cargo build --release
$ strip target/release/freepass
$ mv target/release/freepass ~/.local/bin
(或类似...当然 ~/.local/bin
必须在您的路径中)
二进制构建可能将来会提供。
用法
freepass
二进制文件使用您的全名作为 -n
/ --name
选项或 $FREEPASS_NAME
环境变量。
以及您想要使用的文件作为 -
/ --file
选项或 $FREEPASS_FILE
环境变量。如果文件不存在,它将被创建!
freepass
二进制文件有几个子命令,您可以通过运行来查看它们。
$ freepass help
但最重要的一个(也是默认的)是 interact
。
它启动 交互模式:您将通过菜单、密码提示和文本提示与 freepass
交互。
它包含了所有三种交互的内置命令行实现,但这并不有趣。你可以用外部程序替换每一个!
这就是“不仅仅命令行”的部分来源。在命令行中,你可以使用内置的密码提示(非常好用,在你输入足够多的字符后,它会显示你的密码的 colorhash)以及像 peco 或 fzf 这样的模糊查找工具来处理菜单。(有关这些程序的列表,请参阅 interactor 的 README。)但在 X11 中,你可以使用 rofi 或 dmenu 来处理菜单和文本提示,以及像 x11-ssh-askpass
这样的密码提示!
以下是一个示例 shell 脚本,用于在 rofi、x11-ssh-askpass
、xclip
和 notify-send
的完全 X11 体验。
#!/bin/sh
NAME="Chloe Price"
FILES_DIR="$HOME/Personal"
ROFI_SETTINGS="-dmenu -fuzzy"
if [ "$FREEPASS_MODE" = "MENU" ]; then
exec rofi $ROFI_SETTINGS -p 'freepass> '
elif [ "$FREEPASS_MODE" = "TEXT" ]; then
exec rofi $ROFI_SETTINGS -p "$FREEPASS_PROMPT: "
else
FREEPASS_NAME="$NAME" \
FREEPASS_MENU="freepass-x11" \ # Path to THIS SCRIPT!!!
FREEPASS_ASKTEXT="freepass-x11" \ # Same
FREEPASS_ASKPASS="x11-ssh-askpass" \
FREEPASS_FILE="$FILES_DIR/`ls $FILES_DIR | grep .fpass | rofi $ROFI_SETTINGS -p 'freepass file: '`" \ # Select .fpass files from $FILES_DIR
freepass | (while read -r line; do
echo -n "$line" | xclip
notify-send -u low "Copied to clipboard!"
done)
fi
将其放入 ~/.local/bin
作为 freepass-x11
,确保 ~/.local/bin
在你的 $PATH
中,使用 sxhkd 绑定到一个热键...真的,你可以做任何你想做的事情 :-)
项目相关内容
请参阅 ../README.md
。
依赖项
~21MB
~115K SLoC