{"id":15882791,"url":"https://github.com/zhangyuan/google-authenticator-extractor","last_synced_at":"2026-04-15T18:04:05.604Z","repository":{"id":38374157,"uuid":"341586067","full_name":"zhangyuan/google-authenticator-extractor","owner":"zhangyuan","description":"A command line tool to extract secrets from Google Authenticator's QR code. 从 Google Authenticator 中导出二次验证密钥的命令行工具","archived":false,"fork":false,"pushed_at":"2026-01-10T06:39:48.000Z","size":238,"stargazers_count":10,"open_issues_count":6,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-11T01:34:45.204Z","etag":null,"topics":["google-authenticator"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/zhangyuan.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-02-23T14:43:26.000Z","updated_at":"2026-01-10T06:39:51.000Z","dependencies_parsed_at":"2024-03-18T14:55:47.153Z","dependency_job_id":"e7461e06-32fd-465f-960c-184ac40c7317","html_url":"https://github.com/zhangyuan/google-authenticator-extractor","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/zhangyuan/google-authenticator-extractor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangyuan%2Fgoogle-authenticator-extractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangyuan%2Fgoogle-authenticator-extractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangyuan%2Fgoogle-authenticator-extractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangyuan%2Fgoogle-authenticator-extractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhangyuan","download_url":"https://codeload.github.com/zhangyuan/google-authenticator-extractor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhangyuan%2Fgoogle-authenticator-extractor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31853280,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["google-authenticator"],"created_at":"2024-10-06T04:07:10.318Z","updated_at":"2026-04-15T18:04:05.599Z","avatar_url":"https://github.com/zhangyuan.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Google Authenticator Extractor\n\n[![Build](https://github.com/zhangyuan/google-authenticator-extractor/workflows/Build/badge.svg)](https://github.com/zhangyuan/google-authenticator-extractor/actions/workflows/build.yml)\n## What and Why\n\nThis project aims at providing a single executable program to extract the OTP accounts from the QR code image exported from Google Authenticator, inspired by [extract_otp_secret_keys](https://github.com/scito/extract_otp_secret_keys) written in Python.\n\n## How to use it\n\n### Get an image of the QR code\n\n1. You can open Google Authenticator, tap on the three dots on the top right of the screen and select “Transfer accounts”, and follow the instructions to get the QR code image.\n2. Move the QR code to your laptop. An easy and secure way on Mac OSX is using Photo Booth to take a photo of the QR code and save it to your laptop.\n\n### Run the program to extract the accounts\n\nDownload the execuable binary from [Releases](https://github.com/zhangyuan/google-authenticator-extractor/releases), and run the executable binary with `-i` option.\n\nFor example, download the executable binary `google_authenticator_extractor-x86_64-apple-darwin` for Mac OSX, and run the following command in terminal:\n\n```bash\nchmod a+x google_authenticator_extractor-x86_64-apple-darwin\n./google_authenticator_extractor-x86_64-apple-darwin -i /path/to/qrcode-image\n```\n\n\u003e Note: OSX may prevent it from running with the message `“google_authenticator_extractor-x86_64-apple-darwin” cannot be opened because the developer cannot be verified.`. You need to go to `System Preferences` - `Security \u0026 Privacy` - `General` to allow it.\n\nThe output looks like as below:\n\n```json\n[{\"name\":\"******\",\"secret\":\"**********\",\"issuer\":\"******\"},{\"name\":\"*****\",\"secret\":\"************\",\"issuer\":\"\"}]\n```\n\n## How to build from source\n\n\u003e Rust is the programming language of the project, Install Rust by following the instructions in the [official doument](https://www.rust-lang.org/tools/install).\n\n```bash\ncargo bulid\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhangyuan%2Fgoogle-authenticator-extractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhangyuan%2Fgoogle-authenticator-extractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhangyuan%2Fgoogle-authenticator-extractor/lists"}