{"id":16567375,"url":"https://github.com/tobysmith568/totp-online","last_synced_at":"2025-03-21T11:33:12.636Z","repository":{"id":37027463,"uuid":"381442056","full_name":"tobysmith568/totp-online","owner":"tobysmith568","description":"Generate TOTP secrets and codes to use while making and testing software secured by TOTP MFA/2FA.","archived":false,"fork":false,"pushed_at":"2023-05-10T21:59:48.000Z","size":3514,"stargazers_count":11,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-18T01:02:22.275Z","etag":null,"topics":["2fa","angular","mfa","totp","totp-codes","totp-generator","two-factor-authentication"],"latest_commit_sha":null,"homepage":"https://totp-online.tobythe.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tobysmith568.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2021-06-29T17:14:26.000Z","updated_at":"2025-01-29T12:40:38.000Z","dependencies_parsed_at":"2024-10-28T10:23:36.192Z","dependency_job_id":"2014892b-735d-4076-95ee-dbb7e0e37411","html_url":"https://github.com/tobysmith568/totp-online","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobysmith568%2Ftotp-online","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobysmith568%2Ftotp-online/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobysmith568%2Ftotp-online/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobysmith568%2Ftotp-online/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tobysmith568","download_url":"https://codeload.github.com/tobysmith568/totp-online/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244791856,"owners_count":20511016,"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","angular","mfa","totp","totp-codes","totp-generator","two-factor-authentication"],"created_at":"2024-10-11T21:06:26.547Z","updated_at":"2025-03-21T11:33:12.241Z","avatar_url":"https://github.com/tobysmith568.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TotpOnline\n\nIf you're writing software with 2-Factor Authentication (2FA/MFA) and you're rightfully avoiding using emails or SMS messages, then you're probably implementing one of two well-known algorithms where the user retrieves a code from an app of their phone. If the codes on the user's phone cycle on a regular interval then that's using an algorithm known as Time-based One-Time Password (TOTP).\n\n[Totp-Online](https://totp-online.tobythe.dev) can be used to generate TOTP configurations of all shapes and sizes, as well as generate the codes to use in your software to log in. Use [Totp-Online](https://totp-online.tobythe.dev) to generate TOTP secrets and codes to use while making and testing software secured by TOTP.\n\nNote that it's not cryptographically secure so you shouldn't be using it in production but it does store your configurations in local storage so they're there the next time you visit!\n\n## Support\n\nWhile most of the TOTP apps that your users will be using only support SHA-1 hashing, 30 seconds time intervals, and 6-digit codes, [Totp-Online](https://totp-online.tobythe.dev) allows you to configure all the possibilities that the [TOTP IETF standard](https://datatracker.ietf.org/doc/html/rfc6238) supports.\n\nThe supported hashing algorithms are:\n\n- SHA-1\n- SHA-224\n- SHA-256\n- SHA-384\n- SHA-512\n\nThe supported time intervals (periods) are:\n\n- 15 seconds\n- 30 seconds\n- 1 minute\n- 2 minutes\n- 5 minutes\n- 10 minutes\n\n[Totp-Online](https://totp-online.tobythe.dev) also supports code lengths between 6 and 10.\n\n## Ranges\n\nWhen a user inputs their TOTP code into a website or app, they usually don't need to use the current active code specifically. Usually, software that implements TOTP authentication allows the user to input one of a range of codes to allow for clock-drift and the delay it takes for a user to use the code. This means if your code changes, it's still probably good for using for around a minute or so - depending on the software's implementation.\n\nFor those developing TOTP into their app, [Totp-Online](https://totp-online.tobythe.dev) allows you to see a whole range of codes for a given configuration. By clicking on the context menu of a config and selecting \"View code range\" you can see 5 codes into the past and 5 codes into the future. This allows you to test the ranges that your software supports and ensure that it's to your liking.\n\n## To run the app\n\nThe app can be found at https://totp-online.tobythe.dev but if you want to run it yourself you can use:\n\n```sh\nnpm install\nnpm run dev:ssr\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobysmith568%2Ftotp-online","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftobysmith568%2Ftotp-online","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobysmith568%2Ftotp-online/lists"}