An open API service indexing awesome lists of open source software.

https://github.com/eklairs/tlock

Two-Factor Authentication Tokens Manager in Terminal
https://github.com/eklairs/tlock

charmbracelet golang terminal unixporn

Last synced: 7 months ago
JSON representation

Two-Factor Authentication Tokens Manager in Terminal

Awesome Lists containing this project

README

          

# TLock

TLock is an open-source tool to store and manage your authentication tokens securely. It gives users a centralized solution to generate and maintain time-based one-time passwords (TOTP) and other token types for secure authentication processes. By consolidating multiple authentication tokens into a single application, this 2FA manager streamlines the process of accessing accounts while ensuring high security.

## ⭐ Features

- 🚀 Cross-platform - Works perfectly on Windows, Linux, and MacOS.
- ⚡️ Blazingly Fast app written in Golang.
- 👥 Supports multiple users, each protected optionally with a password.
- ⌨️ Traverse through the UI with customizable key keybindings (can have different keybindings per user).
- 📁 Supports organizing tokens inside of folders.
- 🌟 Supports industry-standard TOTP and HOTP-based tokens.
- 📷 Easily add tokens from the screen or the advanced token editor.
- 🎨 Supports multiple themes to sync the TLock theme with your favorite color scheme.
- 😀 Show icon of the issuer if it is supported.

>[!NOTE]
>For showing the provider's icon, you must have Nerd Fonts installed

>[!NOTE]
>To make screenshot feature work on wayland, you need to install grim

## ⬇️ Installation

- **Arch Linux** (with AUR helper, like yay)

```fish
yay -S tlock
```

- **NixOS** (with Flakes)

Try out before installing ✨
```fish
nix run "git+https://github.com/eklairs/tlock?submodules=1"
```

Minimal configuration:
```nix
# flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
tlock.url = "git+https://github.com/eklairs/tlock?submodules=1";
tlock.inputs.nixpkgs.follows = "nixpkgs";
};

outputs = inputs @ { self, nixpkgs, tlock, ... }:
{
# Change hostname etc. as needed
nixosConfigurations.hostname = let
system = "x86_64-linux";
lib = nixpkgs.lib;
in lib.nixosSystem {
inherit system;
modules = [
{
environment.systemPackages = [
tlock.packages.${system}.default
];
}
./configuration.nix
];
};
};
}
```

- **Windows** (with scoop)

```fish
scoop bucket add tlock https://github.com/eklairs/tlock
scoop install tlock
```

- **Manually**

You can also download the binary based on your operating system to use TLock from [releases](https://github.com/eklairs/tlock/releases)

- **Docker**

```fish
docker run -it --rm ghcr.io/eklairs/tlock:latest
```

## 🖼️ Screenshots




## 🏎️ Running

Open your terminal and type `tlock` to start using tlock!

## ❤️ Contributing

Did you come across a bug or want to introduce a new feature? Don't hesitate to open up an issue or pull request!

## License

[MIT](https://github.com/eklairs/tlock/raw/main/LICENSE)