Skip to content

akamizi/tlock

 
 

Repository files navigation

Disclaimer: This is a personal fork used as an experiment with Claude Code (Anthropic's AI coding assistant). The features added in this fork (Aegis import, token search) were developed with AI assistance. Use at your own risk — it is the user's responsibility to review and verify the quality, correctness, and security of the code before using it, especially since this application handles sensitive 2FA secrets.

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.
  • 📥 Import tokens from Aegis Authenticator plain-text JSON backups.
  • 🔍 Search tokens by issuer or account name.
  • 🎨 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)

    yay -S tlock
  • NixOS (with Flakes)

    Try out before installing ✨

    nix run "git+https://github.com/eklairs/tlock?submodules=1"

    Minimal configuration:

    # 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)

    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

  • Docker

    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

About

Two-Factor Authentication Tokens Manager in Terminal

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Go 98.5%
  • Other 1.5%