{"id":16793511,"url":"https://github.com/mdp/go-dotp","last_synced_at":"2025-08-23T04:06:11.897Z","repository":{"id":57586960,"uuid":"50013810","full_name":"mdp/go-dotp","owner":"mdp","description":"Go CLI for dotp","archived":false,"fork":false,"pushed_at":"2016-02-13T01:09:42.000Z","size":20,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T14:58:31.845Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/mdp.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":null,"support":null}},"created_at":"2016-01-20T07:49:18.000Z","updated_at":"2016-01-20T07:49:27.000Z","dependencies_parsed_at":"2022-09-26T19:33:10.645Z","dependency_job_id":null,"html_url":"https://github.com/mdp/go-dotp","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mdp/go-dotp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2Fgo-dotp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2Fgo-dotp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2Fgo-dotp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2Fgo-dotp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mdp","download_url":"https://codeload.github.com/mdp/go-dotp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mdp%2Fgo-dotp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271740714,"owners_count":24812642,"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","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-13T08:49:31.074Z","updated_at":"2025-08-23T04:06:11.854Z","avatar_url":"https://github.com/mdp.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go dOTP\n\n[![Build Status](https://secure.travis-ci.org/mdp/go-dotp.png)](https://travis-ci.org/mdp/go-dotp)\n\nLibary and CLI for working with dOTP\n\n## Install from compiled binary\n\nFind the binaries at [github.com/mdp/go-dotp/releases](https://github.com/mdp/go-dotp/releases)\n\n## Install from source\n\n#### Just the library\n\n`go get github.com/mdp/go-dotp`\n\n#### The library and CLI\n\n`go get github.com/mdp/go-dotp/...`\n\n## Usage\n\n#### Two Factor SSH\n\nInside of sshd_config (usually at /etc/ssh/sshd_config)\n\n```\nMatch Group twofactorusers\n  ForceCommand /location/of/bin/dotp sshauth --id='myserver.com'\n```\n\nUsers in the 'twofactorusers' group will now need to have their dOTP PublicID stored\ninside of $HOME/.dotp_id\n\nWhen they login to SSH they will be presented with a QRCode Challenge which must be scanned with\na dOTP mobile application to decrypt the One Time Password\n\n#### Generate a challenge for a given Public ID\n\n`dotp challenge --pubid \"E7jY95KejKzcXmhZct2Kvcz2QSap4vVTb89S6eKkBXuhK\" --id=\"myserver.com\" myotp123`\n\n#### Generate a KeyPair from a seed\n\nSeed should always come from a random source.\n\n```\ndotp generate `cat /dev/random | env LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1`\n```\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdp%2Fgo-dotp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmdp%2Fgo-dotp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmdp%2Fgo-dotp/lists"}