{
"info": {
"author": "Hugo Osvaldo Barrera",
"author_email": "hugo@barrera.io",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Environment :: Console :: Curses",
"License :: OSI Approved :: MIT License",
"Operating System :: POSIX",
"Topic :: Utilities"
],
"description": "totp-cli\n========\n\n.. image:: https://img.shields.io/pypi/v/totp.svg\n :target: https://pypi.python.org/pypi/totp\n :alt: version on pypi\n\n.. image:: https://img.shields.io/pypi/l/totp.svg\n :target: https://github.com/hobarrera/totp-cli/blob/master/LICENCE\n :alt: licence\n\ntotp-cli is a simple command line application to generate OTP tokens for two\nfactor authentication using RFC6238_.\n\n.. _RFC6238: http://tools.ietf.org/html/rfc6238\n\nThese are compatible with many popular services such as Facebook, GitHub,\nGoogle, eve-online, battle.net, etc.\n\ntotp-cli fetches your shared key (aka: code) from pass_, generates the\ntoken, outputs it to stdout and copies it to your CLIPBOARD X selection.\nDefault X selection can be overridden with the PASSWORD_STORE_X_SELECTION\nenvironment variable.\n\nShared keys should be stored in your pass storage under ``2fa/SERVICE/code``,\nfor example ``2fa/github/code``. The ``-a`` flag (or alternatively the ``add``\nsubcommand) can be used to add this less painfully.\n\n.. _pass: http://www.passwordstore.org/\n\nUsage\n-----\n\nUsage::\n\n totp SERVICE\n\nFor example::\n\n $ totp github\n 621787\n\nYou don't need to run ``totp`` from the command line if you just want to paste\nthe code; you can run it from ``dmenu``, or whatever your application launcher\nis.\n\nTo offset the clock by a number of seconds::\n\n totp -s SECONDS SERVICE\n\nFor example::\n\n $ totp -s +60 github\n 735092\n $ totp -s -90 github\n 909651\n\nTo add a service::\n\n totp -a SERVICE\n # OR\n totp add SERVICE\n\nFor example::\n\n $ totp -a github\n Token length [6]: 6\n Shared key: KEY\n\nNote that if the service already exists, it will be overwritten without\nwarning.\n\n\nAbout pass entries\n------------------\n\nPass entries are expected to have the TOTP secret in their first line (as\nprovided by the third party).\nThe amount of digits token must have (for example, battle.net uses 8), must be\nprovided in a separate line, with a format like:\n\n Digits: 8\n\nFor the moment, only customizing the token length is possible.\n\nRequirements\n------------\n\n* `pass `_\n* `python >= 3.3 `_\n\nThere are also some platform-specific requirements for copying code into the\nclipboard:\n\n* `xclip `_ for Xorg (Linux/BSD).\n\nInstallation\n------------\n\nInstallation is quite simple:\n\n $ pip install totp\n\nThere is also an `AUR package`_ available for ArchLinux users.\n\n.. _AUR package: https://aur.archlinux.org/packages/totp-cli/\n\nYou can also configure shell completion for totp-cli:\n\n* Bash: Download `totp-cli-completion.bash `_\n and source it from your bash configuration file (e.g. ``.bash_profile``)\n\n* Zsh: Download `totp-cli-completion.zsh `_ as\n ``_totp`` to site-functions directory (e.g.\n ``/usr/local/share/zsh/site-functions``)\n\nLicense\n-------\n\ntotp-cli is distrbuted under the terms of the ISC licence. See LICENCE for\ndetails.\n\nCopyright (c) 2014-2017 Hugo Osvaldo Barrera \n\n\n",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/hobarrera/totp",
"keywords": "",
"license": "ISC",
"maintainer": "",
"maintainer_email": "",
"name": "totp",
"package_url": "https://pypi.org/project/totp/",
"platform": "",
"project_url": "https://pypi.org/project/totp/",
"project_urls": {
"Homepage": "https://github.com/hobarrera/totp"
},
"release_url": "https://pypi.org/project/totp/1.2.0/",
"requires_dist": [
"onetimepass (==1.0.1)"
],
"requires_python": "",
"summary": "A cli based TOTP app.",
"version": "1.2.0"
},
"last_serial": 4758463,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "4162e26339a7c141863834e920346b76",
"sha256": "3cbc1939ac20e779150c9d352f3643b1ca763d9574dec46e050965d982059a7d"
},
"downloads": -1,
"filename": "totp-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "4162e26339a7c141863834e920346b76",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3462,
"upload_time": "2017-01-10T21:38:10",
"url": "https://files.pythonhosted.org/packages/4d/37/d303160bd8d43ea9d9d84866bf9a3f6ce813fd6856a09865f927b54da2ca/totp-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "fff95255f66d66bacbfb3af96e52f2f2",
"sha256": "ae8db4fffeb8d57651848ad487dae90b0d9d571b2ac04f44111d7b6e81edbb99"
},
"downloads": -1,
"filename": "totp-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "fff95255f66d66bacbfb3af96e52f2f2",
"packagetype": "bdist_wheel",
"python_version": "3.6",
"requires_python": null,
"size": 3177,
"upload_time": "2017-01-10T21:41:25",
"url": "https://files.pythonhosted.org/packages/53/44/6939915f7deab65a5d87dd2c79fcd37abcf1aa011fabcae76786a9ac3b06/totp-0.1.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "9d3543d4315e3377a246d77e381fe8b5",
"sha256": "b2fb7668b69dbf268380431cb00aa0f399f20ebc3921af75a5ad31a08b0a02dd"
},
"downloads": -1,
"filename": "totp-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9d3543d4315e3377a246d77e381fe8b5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3458,
"upload_time": "2017-01-10T21:41:23",
"url": "https://files.pythonhosted.org/packages/dd/c4/144cb2f741a5bb2b441a6a1585e745aa7e5080a48933f3986c4101bd0bb0/totp-0.1.1.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "ffa0017cc7d3ede9cc6e68b499a329df",
"sha256": "906c5b3ad3609ba0ffa953b5aee77fa7a730cab4c5f7dd04434a1f441ca8baa2"
},
"downloads": -1,
"filename": "totp-0.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ffa0017cc7d3ede9cc6e68b499a329df",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 3191,
"upload_time": "2017-01-23T06:36:39",
"url": "https://files.pythonhosted.org/packages/ee/f1/a1a49039683ab9caf6dd47c654f0c474f6ec3adcc7b1cc594222516b1b42/totp-0.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "5135d4f518b203dbb3c6d693c2acafdd",
"sha256": "ea5ee05d4a400ff509754bb5df52bd57c63b8c6d67e333f7bd072eb4d38cb28a"
},
"downloads": -1,
"filename": "totp-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "5135d4f518b203dbb3c6d693c2acafdd",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3675,
"upload_time": "2017-01-23T06:36:39",
"url": "https://files.pythonhosted.org/packages/6b/98/247b56b2bb871a1ecf25bb27a58924414efa7610a356fdafcba1d08437c7/totp-0.2.0.tar.gz"
}
],
"0.2.1": [
{
"comment_text": "",
"digests": {
"md5": "c743ace1806f1fc1672b19d8cb2092ad",
"sha256": "f09067e6d7e485e0cde000bf0d9c92947eead0f591bc90b65c4124706e34e49b"
},
"downloads": -1,
"filename": "totp-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c743ace1806f1fc1672b19d8cb2092ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5286,
"upload_time": "2017-01-23T06:50:59",
"url": "https://files.pythonhosted.org/packages/db/e1/a5b3e8f517a1ecdd74ec9501e70611c929c59cb66216745c179c5ce0dfa9/totp-0.2.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "031b0598efa88803e831332af347b0d7",
"sha256": "7770260586ce0582f38a90c991c4e9d2d9899e1c7f037799931d760f2fa88741"
},
"downloads": -1,
"filename": "totp-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "031b0598efa88803e831332af347b0d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3973,
"upload_time": "2017-01-23T06:51:00",
"url": "https://files.pythonhosted.org/packages/00/2c/83ad2d655fd86ded40f1e0c36cb5bb2d461bf0c603be25e95506848ad7b6/totp-0.2.1.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "20f41cb7326cccfac622ba25f8377e79",
"sha256": "0cc1e3a20aed0ef47c8c869a065384938ccca08cf0380a8a5ef8b5694769170a"
},
"downloads": -1,
"filename": "totp-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "20f41cb7326cccfac622ba25f8377e79",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 5815,
"upload_time": "2017-02-28T04:01:43",
"url": "https://files.pythonhosted.org/packages/14/5c/ccf77ba6a43d42126c0ee6cbe019fb39755ee15b6c0ff61f6da70450e0e3/totp-1.1.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e8ee5375a130c1341788cb54127c78ae",
"sha256": "365370e142ac514737580bf0823be2072bc36dddb4ff0066a8a3acba5fb21025"
},
"downloads": -1,
"filename": "totp-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "e8ee5375a130c1341788cb54127c78ae",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4857,
"upload_time": "2017-02-28T04:01:45",
"url": "https://files.pythonhosted.org/packages/e5/be/985bd28148198b030126a31009f749f911019867854c8000b3af65c3056e/totp-1.1.0.tar.gz"
}
],
"1.1.1": [
{
"comment_text": "",
"digests": {
"md5": "7a272a8563a7c2e23dc5f00c1cce40ee",
"sha256": "867f316b3681ed8e4a376649766a11bbe11773285226b0b515e823ea620c24be"
},
"downloads": -1,
"filename": "totp-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "7a272a8563a7c2e23dc5f00c1cce40ee",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6236,
"upload_time": "2017-05-26T19:27:49",
"url": "https://files.pythonhosted.org/packages/a4/bc/abc4f785bf0979c2b2b83511ac3f2e420ea8ef8a54d036118bbf9d786aae/totp-1.1.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "80eb432406835f4a0a71a29ebf99bc22",
"sha256": "1b8c689104c67fe1fffdd6e44d90fd925a3599ca874c26344466589753204b1c"
},
"downloads": -1,
"filename": "totp-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "80eb432406835f4a0a71a29ebf99bc22",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5354,
"upload_time": "2017-05-26T19:27:51",
"url": "https://files.pythonhosted.org/packages/fb/65/7bbd4a89d501007c6c35c863ec959a57a4088ca6ea668aadccf2626f5669/totp-1.1.1.tar.gz"
}
],
"1.1.2": [
{
"comment_text": "",
"digests": {
"md5": "2acce1338563dc0d6f62673455696717",
"sha256": "aded5c6edc76ffc26c0dacea29354c40afd3896b35c4bd408f482f7166e45f69"
},
"downloads": -1,
"filename": "totp-1.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2acce1338563dc0d6f62673455696717",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 6791,
"upload_time": "2018-10-26T02:51:29",
"url": "https://files.pythonhosted.org/packages/98/fa/d9a89a56e89ccfd9004da550d1e1e94f5415cc71763b47b364a018a36a34/totp-1.1.2-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "e17b24d51e766a5f4903fcd339729f29",
"sha256": "c2aa7d98a0ed3955b6bcc0a0f8181a37972fb946bbf8e46a274224615e300cf1"
},
"downloads": -1,
"filename": "totp-1.1.2.tar.gz",
"has_sig": false,
"md5_digest": "e17b24d51e766a5f4903fcd339729f29",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5867,
"upload_time": "2018-10-26T02:51:30",
"url": "https://files.pythonhosted.org/packages/b8/db/769a8a4dfac045f9c5e749a382fe91416502e41d167f8f692ba4b6226507/totp-1.1.2.tar.gz"
}
],
"1.2.0": [
{
"comment_text": "",
"digests": {
"md5": "ccac38cd135ca7bd55f916d333a71559",
"sha256": "40b7b744406d8ce48532f5690ca4b86c934b082c462bcaf76e282c69ad727722"
},
"downloads": -1,
"filename": "totp-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ccac38cd135ca7bd55f916d333a71559",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8479,
"upload_time": "2019-01-30T07:34:28",
"url": "https://files.pythonhosted.org/packages/a6/81/29891e01637e6bd5a607e9344a75bdc7a5aa98bae3e6a0652e914093375b/totp-1.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ec2ae39d309a9997016d0ce011ab91e2",
"sha256": "cf4c2316473adb0545ddee4450156a6d3fc81b3dd556093056faa7f2f23f2d13"
},
"downloads": -1,
"filename": "totp-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "ec2ae39d309a9997016d0ce011ab91e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7379,
"upload_time": "2019-01-30T07:34:29",
"url": "https://files.pythonhosted.org/packages/23/9b/e47e34cd11fc4131ab5359da72e160620cb81dd2e658245d693f4d96fc1c/totp-1.2.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "ccac38cd135ca7bd55f916d333a71559",
"sha256": "40b7b744406d8ce48532f5690ca4b86c934b082c462bcaf76e282c69ad727722"
},
"downloads": -1,
"filename": "totp-1.2.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ccac38cd135ca7bd55f916d333a71559",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8479,
"upload_time": "2019-01-30T07:34:28",
"url": "https://files.pythonhosted.org/packages/a6/81/29891e01637e6bd5a607e9344a75bdc7a5aa98bae3e6a0652e914093375b/totp-1.2.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "ec2ae39d309a9997016d0ce011ab91e2",
"sha256": "cf4c2316473adb0545ddee4450156a6d3fc81b3dd556093056faa7f2f23f2d13"
},
"downloads": -1,
"filename": "totp-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "ec2ae39d309a9997016d0ce011ab91e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7379,
"upload_time": "2019-01-30T07:34:29",
"url": "https://files.pythonhosted.org/packages/23/9b/e47e34cd11fc4131ab5359da72e160620cb81dd2e658245d693f4d96fc1c/totp-1.2.0.tar.gz"
}
]
}