topgen


Nametopgen JSON
Version 0.1.0 PyPI version JSON
download
home_pagehttps://github.com/byildiz/topgen
SummaryTime-based one-time password generator
upload_time2023-09-09 23:34:49
maintainer
docs_urlNone
authorBurak Yildiz
requires_python>=3.10
licenseMIT
keywords totp totp-generator totp-cli google-authenticator
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Time-based One-time Password Generator (topgen)

This is a simple time-based one-time password generator. It is compatible with [Google Autheticator](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2) and keys can imported from `otpauth-migration://offline?data=...` urls generated by Google Autheticator.

## Installation

topgen is tested with python 3.10 but it should work all python 3 versions. Requirement packages can be installed in two ways:

```
pip install topgen
```

## Usage

It is needed to first add or import some keys.

New keys can be added with `--add` parameter:

```
python -m topgen --add
```

To import keys from Google Authenticator app `--url` parameter can be used. It is done by the URLs that Google Authenticator creates. The URLs can be easily be created by exporting keys from the settings menu of Google Authenticator. Google Autheticator creates QR codes which contain the URLs. The URLs start with `otpauth-migration://offline?data=...`. These URLs can then be imported using the following command:

```
python -m topgen --url <URL>
```

top-g saves all keys in a binary file using Google's [protobuf](https://developers.google.com/protocol-buffers). The default file is `./payload.db`. It can be changed by providing `--db` parameter.

To print all of the keys with their information `--print` parameter can be used.

```
python -m topgen --list
```

NOTE: The database file is not encrypted. Take your own risk.

## Thanks

I want to thank you to [Dimitri Sokolyuk](https://github.com/dim13) for his [Google Authenticator migration decoder](https://github.com/dim13/otpauth) and [Patrice Ferlet](https://github.com/metal3d) and [Tom Jaskowski](https://github.com/tadeck) for their answers under [this](https://stackoverflow.com/questions/8529265/google-authenticator-implementation-in-python) stackoverflow page.

## References

1. TOTP: Time-Based One-Time Password Algorithm: https://www.rfc-editor.org/rfc/rfc6238
1. HOTP: An HMAC-Based One-Time Password Algorithm: https://www.rfc-editor.org/rfc/rfc4226

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/byildiz/topgen",
    "name": "topgen",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "totp,totp-generator,totp-cli,google-authenticator",
    "author": "Burak Yildiz",
    "author_email": "0byldz@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/b0/72/1d921374441e59db8792a51da9cc51916f9d0a5261466003d067efadfc73/topgen-0.1.0.tar.gz",
    "platform": null,
    "description": "# Time-based One-time Password Generator (topgen)\n\nThis is a simple time-based one-time password generator. It is compatible with [Google Autheticator](https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2) and keys can imported from `otpauth-migration://offline?data=...` urls generated by Google Autheticator.\n\n## Installation\n\ntopgen is tested with python 3.10 but it should work all python 3 versions. Requirement packages can be installed in two ways:\n\n```\npip install topgen\n```\n\n## Usage\n\nIt is needed to first add or import some keys.\n\nNew keys can be added with `--add` parameter:\n\n```\npython -m topgen --add\n```\n\nTo import keys from Google Authenticator app `--url` parameter can be used. It is done by the URLs that Google Authenticator creates. The URLs can be easily be created by exporting keys from the settings menu of Google Authenticator. Google Autheticator creates QR codes which contain the URLs. The URLs start with `otpauth-migration://offline?data=...`. These URLs can then be imported using the following command:\n\n```\npython -m topgen --url <URL>\n```\n\ntop-g saves all keys in a binary file using Google's [protobuf](https://developers.google.com/protocol-buffers). The default file is `./payload.db`. It can be changed by providing `--db` parameter.\n\nTo print all of the keys with their information `--print` parameter can be used.\n\n```\npython -m topgen --list\n```\n\nNOTE: The database file is not encrypted. Take your own risk.\n\n## Thanks\n\nI want to thank you to [Dimitri Sokolyuk](https://github.com/dim13) for his [Google Authenticator migration decoder](https://github.com/dim13/otpauth) and [Patrice Ferlet](https://github.com/metal3d) and [Tom Jaskowski](https://github.com/tadeck) for their answers under [this](https://stackoverflow.com/questions/8529265/google-authenticator-implementation-in-python) stackoverflow page.\n\n## References\n\n1. TOTP: Time-Based One-Time Password Algorithm: https://www.rfc-editor.org/rfc/rfc6238\n1. HOTP: An HMAC-Based One-Time Password Algorithm: https://www.rfc-editor.org/rfc/rfc4226\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Time-based one-time password generator",
    "version": "0.1.0",
    "project_urls": {
        "Homepage": "https://github.com/byildiz/topgen"
    },
    "split_keywords": [
        "totp",
        "totp-generator",
        "totp-cli",
        "google-authenticator"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "deece843d4e1a20ecfcf9ca16dbdc4a315a5ab6912678b5693cead54d3fb2a03",
                "md5": "1693b77542e63e2de4cc1ad0ece52ed1",
                "sha256": "42dcf72f5726d3d0b923b44f94c3ec3fc163d48141ff704f374b62f01378dabc"
            },
            "downloads": -1,
            "filename": "topgen-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1693b77542e63e2de4cc1ad0ece52ed1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 6364,
            "upload_time": "2023-09-09T23:34:48",
            "upload_time_iso_8601": "2023-09-09T23:34:48.148794Z",
            "url": "https://files.pythonhosted.org/packages/de/ec/e843d4e1a20ecfcf9ca16dbdc4a315a5ab6912678b5693cead54d3fb2a03/topgen-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b0721d921374441e59db8792a51da9cc51916f9d0a5261466003d067efadfc73",
                "md5": "476e0da9488f53c54b98219f9d2384fc",
                "sha256": "5ccf6427eca667c32f0b9a6e993f1712bbbbc56d26fed0157f7ca8a2097f2845"
            },
            "downloads": -1,
            "filename": "topgen-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "476e0da9488f53c54b98219f9d2384fc",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 5757,
            "upload_time": "2023-09-09T23:34:49",
            "upload_time_iso_8601": "2023-09-09T23:34:49.574821Z",
            "url": "https://files.pythonhosted.org/packages/b0/72/1d921374441e59db8792a51da9cc51916f9d0a5261466003d067efadfc73/topgen-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-09 23:34:49",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "byildiz",
    "github_project": "topgen",
    "github_not_found": true,
    "lcname": "topgen"
}
        
Elapsed time: 0.12165s