All Projects → vedhavyas → twothy

vedhavyas / twothy

Licence: Unlicense License
Two factor authenticator for CLI

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to twothy

Wristkey
A free and open-source offline authenticator app for Wear OS.
Stars: ✭ 65 (+66.67%)
Mutual labels:  authenticator, google-authenticator, 2fa
SimpleTOTP
A highly configurable yet simple to use TOTP based two-factor authentication processing module for SimpleSAMLphp.
Stars: ✭ 16 (-58.97%)
Mutual labels:  google-authenticator, mfa, 2fa
BoringAuth
Straightforward password, passphrase, TOTP, and HOTP user authentication
Stars: ✭ 49 (+25.64%)
Mutual labels:  2fa, 2factor
Python Bna
Python implementation of the mobile Blizzard Authenticator (TOTP)
Stars: ✭ 165 (+323.08%)
Mutual labels:  authenticator, 2fa
a12n-server
A ready-to-launch User and Authentication system for those that don't want to build it
Stars: ✭ 324 (+730.77%)
Mutual labels:  mfa, 2fa
Aegis
A free, secure and open source app for Android to manage your 2-step verification tokens.
Stars: ✭ 2,692 (+6802.56%)
Mutual labels:  authenticator, 2fa
Authenticatorpro
📱 Two-Factor Authentication (2FA) client for Android + Wear OS
Stars: ✭ 155 (+297.44%)
Mutual labels:  authenticator, 2fa
Freeotpplus
Enhanced fork of FreeOTP-Android providing a feature-rich 2FA authenticator
Stars: ✭ 223 (+471.79%)
Mutual labels:  authenticator, 2fa
Otplib
🔑 One Time Password (OTP) / 2FA for Node.js and Browser - Supports HOTP, TOTP and Google Authenticator
Stars: ✭ 916 (+2248.72%)
Mutual labels:  authenticator, 2fa
totp
Time-Based One-Time Password Code Generator
Stars: ✭ 76 (+94.87%)
Mutual labels:  authenticator, 2fa
apache 2fa
Apache two-factor (2FA) authentication with Google Authenticator based on Time-based One-Time Password (TOTP) or HMAC-based one-time password (HOTP) Algorithms.
Stars: ✭ 63 (+61.54%)
Mutual labels:  google-authenticator, 2fa
plugin-Authenticator
2FA authentication plugin for sysPass based on TOTP algorithm (RFC 6238)
Stars: ✭ 18 (-53.85%)
Mutual labels:  authenticator, 2fa
Twofa
A TouchID-aware 2-factor authenticator for macOS
Stars: ✭ 105 (+169.23%)
Mutual labels:  authenticator, 2fa
Aspnetcoreid4external
external OpenID Connect Login to IdentityServer4 with AAD
Stars: ✭ 63 (+61.54%)
Mutual labels:  authenticator, 2fa
shibboleth-mfa-u2f-auth
U2F multifactor authentication plugin for Shibboleth IdPv3
Stars: ✭ 25 (-35.9%)
Mutual labels:  mfa, 2fa
Authenticator
Authenticator generates 2-Step Verification codes in your browser.
Stars: ✭ 979 (+2410.26%)
Mutual labels:  authenticator, 2fa
Go Guardian
Go-Guardian is a golang library that provides a simple, clean, and idiomatic way to create powerful modern API and web authentication.
Stars: ✭ 204 (+423.08%)
Mutual labels:  authenticator, 2fa
extract otp secret keys
Extract two-factor authentication (2FA, TFA) secret keys from export QR codes of "Google Authenticator" app
Stars: ✭ 217 (+456.41%)
Mutual labels:  google-authenticator, 2fa
Authenticator
Two-Factor Authentication Client for iOS
Stars: ✭ 648 (+1561.54%)
Mutual labels:  authenticator, 2fa
2FAuth
A Web app to manage your Two-Factor Authentication (2FA) accounts and generate their security codes
Stars: ✭ 664 (+1602.56%)
Mutual labels:  2fa, 2factor

Twothy

Build Status GitHub tag License GitHub issues Contributions welcome GitHub pull requests Website

Twothy is a Two-factor authenticator for CLI. The project is a reference implementation of RFC 6238 and is compatible with Google Authenticator. The project was born out of frustration to get OTP from my Mobile and lack of control over and backup of Secrets. With a simple configuration, twothy can work across multiple devices without the need to regenerate the secrets for each 2FA enabled accounts. More here

Getting Started

Installation assumes that you have Go environment configured.

Installing

Go get the project with following command

go get -u github.com/vedhavyas/twothy/cmd/twothy/...

Running the tests

Once inside project' folder, simply run make test to run the tests.

Usage

Configuring twothy

Twothy requires you to provide a path to store the accounts. Configuration can be triggered by

>> twothy configure
Welcome to twothy!!
Enter the path to store your 2FA accounts.
I will create 'twothy_accounts' folder at the provided path.
If you are restoring accounts, provide path to 'twothy_accounts'.
Path(/Users/vedhavyas):

Once you enter path, which defaults to user's home directory if not given, twothy will store all the accounts there. Configure will be triggered if any other action is called ex: add

Adding an account

Adding account requires Issuer, Label and the secret Key.

>> twothy add google test MZZWCLDCOZSGMYTKONSGM===
Password(to encrypt the account):
test@google: 168339

Generating OTPs

Generating OTP for all accounts

>> twothy otp
Password(to decrypt the account):
test@google: 772912

Generating OTPs for all accounts belonging to an issuer

>> twothy otp google
Password(to decrypt the account):
test@google: 017934

Generating OTP for an account matching issuer and label

>> twothy otp google test
Password(to decrypt the account):
test@google: 917472

Security

Twothy uses AES to encrypt your accounts. It doesn't cache any passwords and requires password to add account and generate OTP.

Backup

I use google drive to backup my 2FA accounts by configuring twothy to save accounts inside Google Drive folder. You are free to use your favourite backup service to achieve something similar

Built With

  • Go
  • Glide - Dependency Management
  • HomeDir - Used to get User's home directory
  • Crypto - Used to get password from terminal securely

Contributing

PRs, Issues, and Feedback are very welcome and appreciated.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the Unlicense - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].