{"id":18067583,"url":"https://github.com/paracycle/authentic","last_synced_at":"2025-04-11T21:20:46.255Z","repository":{"id":48125291,"uuid":"26170453","full_name":"paracycle/authentic","owner":"paracycle","description":"A Google Authenticator replacement for OS X CLI","archived":false,"fork":false,"pushed_at":"2017-10-05T22:00:16.000Z","size":13,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T17:16:24.427Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paracycle.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-04T13:44:32.000Z","updated_at":"2023-04-01T00:45:28.000Z","dependencies_parsed_at":"2022-08-12T19:10:19.418Z","dependency_job_id":null,"html_url":"https://github.com/paracycle/authentic","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paracycle%2Fauthentic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paracycle%2Fauthentic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paracycle%2Fauthentic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paracycle%2Fauthentic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paracycle","download_url":"https://codeload.github.com/paracycle/authentic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480421,"owners_count":21110939,"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":[],"created_at":"2024-10-31T07:09:48.646Z","updated_at":"2025-04-11T21:20:46.234Z","avatar_url":"https://github.com/paracycle.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Authentic\n\nI was increasingly annoyed with having to unlock my phone, launch Google Authenticator and type\nin the code to the web page every time I was prompted with a Two Factor Authentication screen.\nI wanted a CLI tool to do the same thing on my Mac. For a long time, I've used\n[oathtool](http://www.nongnu.org/oath-toolkit/) combined with a shell script that I'd keep adding\nmy TFA keys to. That obviously was very insecure and I was wondering if I could use Keychain\nsince it can be used to store various secure credentials.\n\nSo long story short, one evening in Nov 2014, I sat down to code a Ruby based tool to offload key storage\nto Keychain and `authentic` was born.\n\n## Installation\n\nInstall the tool by running:\n\n```shell\n$ gem install authentic\n```\n\n(you might need to put a `sudo` in front of that command if your Ruby installation requires it)\n\n## Usage\n\nOnce installed, the command should be available on the `PATH` so you can type:\n\n```shell\n$ authentic help\n```\n\nwhich should print out something like this:\n\n```shell\n$ authentic help\nAuthentic commands:\n  authentic add NAME SECRET_KEY [LABEL]  # Add a new TOTP key\n  authentic delete NAME                  # Delete a TOTP key\n  authentic generate                     # Generate TOTP codes\n  authentic help [COMMAND]               # Describe available commands or one specific command\n```\n\nIn order to start using the tool, you first need to find your TFA key for the service that you are trying\nto add. This could be tricky for some services, but this code is actually what is encoded by the QR code\ndisplayed in most services. So click around (or view source) to try to find your TFA key, remember it will\nonly be displayed the first time you setup TFA for the service.\n\nOnce you have your TFA key in hand, adding it to `authentic` is as simple as:\n\n```shell\n$ authentic add MyService qwdrft6789jkh\n✓ Service MyService added to keychain\n```\n\nNow you can simply type:\n\n```shell\n$ authentic\n```\n\nto generate your codes. If you have a single service registered, the generated code will be automatically\ncopied to the clipboard (if you don't want that run the command with the `-s` flag, as in `authentic -s`).\nIf you have more than one service registered, the tool will prompt you to select a key number to copy. At\nthis point you can enter the key number you want to copy or just press `Enter` to exit the tool without copying\nanything.\n\n## Disclaimer\n\nI am not a security expert and haven't had any security experts vet this tool. Use it at your own risk, I won't\ntake any responsibility for anything that happens to you as a result of using this tool.\n\nIf you feel (or even better *know*) that I am doing something wrong, please create an Issue or submit a Pull Request.\n\n## Contributing\n\n1. Fork it ( https://github.com/paracycle/authentic/fork )\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create a new Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparacycle%2Fauthentic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparacycle%2Fauthentic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparacycle%2Fauthentic/lists"}