{"id":13646494,"url":"https://github.com/vedhavyas/twothy","last_synced_at":"2025-06-25T06:04:07.729Z","repository":{"id":57608458,"uuid":"116377544","full_name":"vedhavyas/twothy","owner":"vedhavyas","description":"Two factor authenticator for CLI","archived":false,"fork":false,"pushed_at":"2023-02-25T01:41:41.000Z","size":59,"stargazers_count":39,"open_issues_count":4,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-07T07:07:26.102Z","etag":null,"topics":["2fa","2factor","authenticator","google-authenticator","mfa"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vedhavyas.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security.go","support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-01-05T11:21:50.000Z","updated_at":"2024-01-03T14:15:26.000Z","dependencies_parsed_at":"2024-01-14T09:59:26.374Z","dependency_job_id":"fd551cba-4d46-417b-ac9f-6e3a0fef7c59","html_url":"https://github.com/vedhavyas/twothy","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/vedhavyas/twothy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedhavyas%2Ftwothy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedhavyas%2Ftwothy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedhavyas%2Ftwothy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedhavyas%2Ftwothy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vedhavyas","download_url":"https://codeload.github.com/vedhavyas/twothy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vedhavyas%2Ftwothy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261816306,"owners_count":23213862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["2fa","2factor","authenticator","google-authenticator","mfa"],"created_at":"2024-08-02T01:02:57.337Z","updated_at":"2025-06-25T06:04:07.709Z","avatar_url":"https://github.com/vedhavyas.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Twothy\n[![Build Status](https://travis-ci.org/vedhavyas/twothy.svg?branch=master)](https://travis-ci.org/vedhavyas/twothy)\n[![GitHub tag](https://img.shields.io/github/tag/vedhavyas/twothy.svg)](https://github.com/vedhavyas/twothy/tags)\n[![License](https://img.shields.io/badge/license-Unlicense-blue.svg)](http://unlicense.org/)\n[![GitHub issues](https://img.shields.io/github/issues/vedhavyas/twothy.svg)](https://github.com/vedhavyas/twothy/issues)\n![Contributions welcome](https://img.shields.io/badge/contributions-welcome-orange.svg)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/vedhavyas/twothy.svg)](https://github.com/vedhavyas/twothy/pulls)\n[![Website](https://img.shields.io/website-up-down-green-red/http/vedhavyas.com.svg?label=my-website)](https://vedhavyas.com)\n\nTwothy is a Two-factor authenticator for CLI. The project is a reference implementation of [RFC 6238](https://tools.ietf.org/html/rfc6238) and is compatible with Google Authenticator.\nThe project was born out of frustration to get OTP from my Mobile and lack of control over and backup of Secrets.\nWith a simple configuration, twothy can work across multiple devices without the need to regenerate the secrets for each 2FA enabled accounts. More [here](#backup)\n\n## Getting Started\n\nInstallation assumes that you have Go environment configured.\n \n### Installing\n\nGo get the project with following command\n\n```\ngo get -u github.com/vedhavyas/twothy/cmd/twothy/...\n```\n\n## Running the tests\n\nOnce inside project' folder, simply run `make test` to run the tests.\n\n### Usage\n\n### Configuring twothy\n\nTwothy requires you to provide a path to store the accounts. Configuration can be triggered by\n```\n\u003e\u003e twothy configure\nWelcome to twothy!!\nEnter the path to store your 2FA accounts.\nI will create 'twothy_accounts' folder at the provided path.\nIf you are restoring accounts, provide path to 'twothy_accounts'.\nPath(/Users/vedhavyas):\n```\nOnce you enter path, which defaults to user's home directory if not given, twothy will store all the accounts there.\nConfigure will be triggered if any other action is called ex: add\n\n#### Adding an account\n\nAdding account requires Issuer, Label and the secret Key.\n```\n\u003e\u003e twothy add google test MZZWCLDCOZSGMYTKONSGM===\nPassword(to encrypt the account):\ntest@google: 168339\n```\n\n#### Generating OTPs\n\nGenerating OTP for all accounts\n```\n\u003e\u003e twothy otp\nPassword(to decrypt the account):\ntest@google: 772912\n```\n\nGenerating OTPs for all accounts belonging to an issuer\n```\n\u003e\u003e twothy otp google\nPassword(to decrypt the account):\ntest@google: 017934\n```\n\nGenerating OTP for an account matching issuer and label\n```\n\u003e\u003e twothy otp google test\nPassword(to decrypt the account):\ntest@google: 917472\n```\n\n## Security\nTwothy uses AES to encrypt your accounts. It doesn't cache any passwords and requires password to add account and generate OTP.\n\n## Backup\n\nI use google drive to backup my 2FA accounts by configuring twothy to save accounts inside Google Drive folder.\nYou are free to use your favourite backup service to achieve something similar\n\n## Built With\n\n* [Go](https://golang.org/)\n* [Glide](https://glide.sh/) - Dependency Management\n* [HomeDir](https://github.com/mitchellh/go-homedir) - Used to get User's home directory\n* [Crypto](https://golang.org/x/crypto) - Used to get password from terminal securely\n\n## Contributing\n\nPRs, Issues, and Feedback are very welcome and appreciated.\n\n## Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/vedhavyas/twothy/tags). \n\n## Authors\n\n* **Vedhavyas Singareddi** - [Vedhavyas](https://github.com/vedhavyas)\n\n## License\n\nThis project is licensed under the Unlicense - see the [LICENSE](LICENSE) file for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvedhavyas%2Ftwothy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvedhavyas%2Ftwothy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvedhavyas%2Ftwothy/lists"}