5 stable releases
1.4.1 | Sep 27, 2023 |
---|---|
1.3.0 | Sep 6, 2023 |
1.2.6 | Jul 27, 2023 |
#405 in Authentication
49KB
928 lines
passrs ~ Terminal Password Manager & Authenticator
A TUI (terminal "GUI") password and 2FA code manager, essentially a direct upgrade from my C terminal authenticator.
Important note: You need to install Xorg libraries (xorg-devel
, libxcb-devel
) for passrs to compile the clipboard module.
More important note: I got rid of the clipboard library, no need for extra dependencies now
Features
- Scriptability with command-line arguments and environment variables
Option<Encryption>
using a 32-byte master password (shorter passwords are padded with\0
s, longer ones are clipped)- Vim-ish keybindings
- Copy password or 2FA token to clipboard, you can also get the next 2FA token if you're a slow alt-tabber
- Unicode auto-password generation (what hacker would even try to guess
𒔽
?)
yeah ok but what website would even try support it? like it doesn't even have a single uppercase letter or special symbol - Passwords show you how to type each non-standard character using ctrl-shift-U (in edit mode, move the cursor along each character)
- 40x more bloated than the C version lesgoooo
Usage
I won't go over every detail, since passrs --help
should tell you all you need. But for a quick rundown:
- Specify a different data file with
--file FILE
to securely store different sets of passwords, 2FA codes, and your colour theme (arguably the most important bit)
Defaults to~/.local/share/passrs
, in protest of cluttered home folders - Switch between 2FA codes and passwords with
Tab
, navigate with arrow/Vim keys - Press
o
to create a new password or 2FA code, ore
on an existing one to edit it
(You can only navigate with arrow keys in edit mode, Vim keys would type into text fieldsIdea: use the main keyboard for typing, have a separate keyboard solely for Vim navigation) - Press
Enter
to save the edited item orEsc
to cancel editing it, thenEsc
orq
to quit the main GUI and save
FAQ
Each question was asked exactly zero (0) times, but with my social life I consider that frequent
- What does this thing run on?
Anything that compiles Rust and that all the libraries support, which should also be anything that compiles Rust. - How secure are the encrypted passwords/2FA codes?
I wouldn't bet much on the security if glowies got their hands on it, but it should be enough to stop the average Kali "hacker". Refer to some "onion" library I use for actual details. - Do Unicode passwords even work in websites? How are weird characters handled by server software?
After usingpassrs
personally, I can say that the vast majority don't support much besides ASCII - Steam seems to be the worst offender.
Some websites partially support Unicode, but give vague errors - usually, there's too many bytes in the password, so trimming it down by half seems to do the trick.
Revolt, being a fellow Rust-based app, supports long Unicode passwords just fine :gigachad: - How about clipboard for Wayland?
In ncAuth, I simply called the user's shell script to copy stuff to any WM's clipboard, and in the previous version of passrs I used a native library to set the clipboard instead. It was a bit dodgy though, singe it needed a couple external dependencies and the text was cleared when you closed passrs (?!)... Now though, it just runs a command from the env variablePASSRS_COPY
, so you don't need to write long shell scripts but don't need external libraries either! Also, I've made sure to include a commandline interface to passrs, so if you like you can write a shell script to select and copy passwords/2FA codes using something likedmenu
. This might be useful for SXMO, if you only want to use native dialogs - seesxmo_passrs.sh
for an example script. - How about Windows?
- No license?
No licence, go ham. If anyone insists that "intellectual property" isn't a completely delusional concept, then I claim1
and0
as my own.
Also don't open theNO-LICENCE
file, that's just to keep Cargo happy.
Release log
1.4.1
- Data file not overwritten with new encryption when nothing changed
- Tweaked password/2FA display functions to prioritize name
Added release log in(does this count as a feature???)README.md
1.3.0
- Replaced dodgy X clipboard library with just running
xclip
1.2.6
- lol i dont remember that far back
Dependencies
~8–16MB
~218K SLoC