Skip to content
/ tessen Public
forked from ayushnix/tessen

an interactive menu to autotype and copy password-store data

License

Notifications You must be signed in to change notification settings

t0fik/tessen

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tessen

tessen is a bash script that can use any wayland native dmenu-like backend as an interface for auto-typing and copying password-store data. The list of backends known to work with tessen are

tessen is written to work only on wayland compositors such as sway. If you'd rather use fzf to copy your password-store data on both xorg/x11 and wayland, check out pass-tessen.

Why use tessen?

  • tessen can autotype or copy (or do both at the same time!) your password store data including all of your key-value pair data

    From what I've observed as of this commit, most scripts out there do not autotype and copy all of your key-value pair data. They also do not offer choices about autotyping or copying data with the same flexibility as tessen does.

    Although rofi-pass is a good alternative, it only works on xorg/x11. tessen is made to work on wayland.

  • tessen does not use any external programs unless they are needed. This means that tessen doesn't need programs like sed, awk, tr, cut, find, sort, head, tail. This ensures that tessen isn't dependent on the subtle differences between GNU, BSD, and busybox coreutils.

  • the code is linted using shellcheck and formatted using shfmt. I've also tried to ensure that tessen doesn't leak any sensitive data. Please raise an issue or a pull request if you can make tessen more minimalistic or secure.

Installation

Dependencies

Arch Linux

tessen is available in the Arch User Repository.

Git Release

git clone https://github.com/ayushnix/tessen.git
cd tessen
sudo make install

You can also do doas make install if you're using doas, which you probably should.

Stable Release

wget https://github.com/ayushnix/tessen/releases/download/v1.3.1/tessen-1.3.1.tar.gz
tar xvzf tessen-1.3.1.tar.gz
cd tessen-1.3.1
sudo make install

or, you know, doas make install.

Features

  • autotype or copy (or both at the same time!) data, including all valid key-value pairs, in pass
  • generate OTPs using pass-otp
  • open URLs
  • use custom values for user, password, url, autotype keys
  • use custom autotype operations
  • use custom delay time for autotype

Please read the man page for more information.

Caveats ⚠️

The reason why tessen offers flexibility between autotyping and copying data is because autotyping may not always work accurately. There can be several reasons for this.

One of the reasons when autotype doesn't work is when a web page doesn't follow the standard expectation of having a username and password text field one after the other and links are inserted between them. A good example is Discourse forums. In such cases, autotyping can make a real mess. This is why tessen also provides an option to define custom autotype operations.

tessen uses wtype for autotyping and it seems to work fine on Firefox. You'll need at least version v0.4, or later, of wtype for autotyping to work on Chromium. I haven't tested any other web browsers.

What does tessen mean?

Here you go.

Why did you choose this weird name?

Because obvious names like pass-fzf and pass-clip are already taken by other projects? Also, for some reason, the way how bemenu and fuzzel's UI instantly opens up and displays relevant information reminded me of Japanese hand fans. I guess I was thinking of some anime while coming up with this name.

Contributions

Please see this file.

Features that WON'T be implemented

  • xorg/x11 support, use rofi-pass or fork this repo and implement it yourself
  • using ydotool, because it needs root access
  • adding, editing, or removing existing password store data
  • cache for storing frequently used password store selection data
  • importing passwords or exporting them

About

an interactive menu to autotype and copy password-store data

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 92.7%
  • Makefile 7.3%