{ "info": { "author": "Ian Denhardt", "author_email": "ian@zenhack.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 6 - Mature", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: System :: Installation/Setup", "Topic :: System :: Networking", "Topic :: System :: Systems Administration", "Topic :: Utilities" ], "description": "simp\\_le\n========\n\n|Build Status|\n\nSimple `Let\u2019s Encrypt`_ client.\n\n.. code:: shell\n\n simp_le --email you@example.com -f account_key.json \\\n -f account_reg.json \\\n -f fullchain.pem -f key.pem \\\n -d example.com -d www.example.com --default_root /var/www/html \\\n -d example.net:/var/www/other_html\n\nFor more info see ``simp_le --help``.\n\nN.B. this was originally a fork of https://github.com/kuba/simp\\_le,\nwhich is unmaintained and has some breakage due to bitrot. Thanks to\n@kuba for the original implementation.\n\nManifest\n--------\n\n1. `UNIX philosophy`_: Do one thing and do it well!\n\n2. ``simp_le --valid_min ${seconds?} -f cert.pem`` implies that\n ``cert.pem`` is valid for at at least ``valid_min`` (defaults to 2592000\n seconds / 30 days). Register new ACME CA account if necessary. Issue\n new certificate if no previous key/certificate/chain found. Renew only\n if necessary.\n\n3. (Sophisticated) \u201cmanager\u201d for\n ``${webroot?}/.well-known/acme-challenge`` only. No challenges other\n than ``http-01``. Existing web-server must be running already.\n\n4. No magical webserver auto-configuration.\n\n5. Owner of ``${webroot?}/.well-known/acme-challenge`` must be able to\n run the script, without privilege escalation (``sudo``, ``root``,\n etc.).\n\n6. ``crontab`` friendly: fully automatable - no prompts, etc.\n\n7. No configuration files. CLI flags as the sole interface! Users\n should write their own wrapper scripts or use shell aliases if\n necessary.\n\n8. Support multiple domains with multiple roots. Always create single\n SAN certificate per ``simp_le`` run.\n\n9. Flexible storage capabilities. Built-in\n ``simp_le -f fullchain.pem -f key.pem``,\n ``simp_le -f chain.pem -f cert.pem -f key.pem``, etc.\n\n10. Do not allow specifying output file paths. Users should symlink if\n necessary!\n\n11. No need to allow specifying an arbitrary command when renewal has\n happened, just check the exit code:\n\n - ``0`` if certificate data was created or updated;\n - ``1`` if renewal not necessary;\n - ``2`` in case of errors.\n\n12. ``--server`` (support multiple ACME v2 CAs).\n\n13. Support for revocation.\n\n14. Implicit agreement to the selected ACME CA's terms of service.\n\nInstallation\n------------\n\n.. code:: shell\n\n sudo ./bootstrap.sh\n ./venv.sh\n export PATH=$PWD/venv/bin:$PATH\n\nUsage with Docker\n-----------------\n\nIf you want to use simp_le with Docker, have a look at `simp\\_le for Docker`_.\n\nHelp\n----\n\nHave a look into ``./examples/`` and\nhttps://github.com/zenhack/simp\\_le/wiki/Examples.\n\nIf you\u2019re having problems you can chat with us on `IRC (#simp\\_le at\nFreenode)`_\n\n.. _Let\u2019s Encrypt: https://letsencrypt.org\n.. _UNIX philosophy: https://en.wikipedia.org/wiki/Unix_philosophy\n.. _IRC (#simp\\_le at Freenode): http://webchat.freenode.net?randomnick=1&channels=%23simp_le&prompt=1\n.. _simp\\_le for Docker: docker\n\n.. |Build Status| image:: https://travis-ci.org/zenhack/simp_le.svg?branch=master\n :target: https://travis-ci.org/zenhack/simp_le\n\n\nChange Log\n----------\n\nBelow is a summary of changes introduced in each release. Any user-visible\nchanges *must* be recorded here. Note that the topmost entry sometimes\nrepresents the *next* (i.e. not yet released) version.\n\nReleases occur approximately every two months, unless there is a pressing need\nto do otherwise (e.g. security & serious bug fixes).\n\n0.16.0\n++++++\n\n* Fix an ACME v2 protocol non-conformity\n* Upgrade acme to 0.39.x\n\n0.15.0\n++++++\n\n**Please read these carefully, as this release includes a couple changes\nthat may require changes when upgrading**\n\n* Switch from ACME v1 to ACME v2 endpoints support.\n Support for ACME v1 endpoints has been dropped entirely.\n If you were previously passing the server endpoint via the\n ``--server`` flag, you will need to update it to point to\n a v2 endpoint (or simply remove it, to use Let's Encrypt's\n default v2 endpoint).\n* Persist account_reg.json in addition to account_key.json, and\n recover missing registration info if needed. *You will now\n need to pass a ``-f account_reg.json`` option to simp_le*\n* Remove the ``-f external.sh`` feature.\n* Drop official support for Python 2 and 3.4.\n* Add official support for Python 3.7 (in theory it should have\n worked before, but we are now testing with it).\n* Upgrade acme to 0.35.x\n\n0.14.0\n++++++\n\n* Upgrade acme to 0.33.x\n\n0.13.0\n++++++\n\n* Upgrade acme to 0.31.x\n\n0.12.0\n++++++\n\n* Upgrade acme to 0.29.x\n\n0.11.0\n++++++\n\n* Upgrade acme to 0.27.x\n\n0.10.0\n++++++\n\n* Upgrade acme to 0.25.x\n\n0.9.0\n+++++\n\n* Upgrade acme to 0.24.x\n\n0.8.1\n+++++\n\n* Add a workaround for some installation problems caused by a bug in pip.\n\n0.8.0\n+++++\n\n* Drop official support for Python 2.6\n* Upgrade acme to 0.22.x\n\n0.7.0\n+++++\n\n* Remove the ToS hash comparison, implicitly agree to CA's ToS if present\n* Add check for empty or corrupt cert/key files\n* Add some sanity checks for email syntax\n* Upgrade acme to 0.20.x\n\n0.6.2\n+++++\n\n* Implement the future-proofing mentioned in the 0.6.1 release notes. Future\n TOS changes should not break simp_le >= 0.6.2\n\n0.6.1\n+++++\n\n* Update the hash for the letsencrypt TOS. The TOS changed on November 15th,\n which broke previous releases. Future releases will not hard-code the hash,\n which should avoid this sort of problem in the future.\n\n0.6.0\n+++++\n\n* Drop official support for Python 3.3.\n* Disable self-verification; this was highly unreliable and resulted in\n spurrious warnings.\n* Improve argument sanity-checks and error messages.\n* Save account_key.json, even on failures\n* Clean temporary challenge files.\n* Upgrade acme to 0.19.x\n\n0.5.1\n+++++\n\n* Add a workaround for some installation problems caused by a bug in pip\n\n0.5.0\n+++++\n\n* Upgrade acme to 0.17.x\n\n0.4.0\n+++++\n\n* Upgrade acme to 0.16.x\n\n0.3.0\n+++++\n\n* Fix a bug where the version number was incorrectly reported\n* Upgrade acme to 0.15.x\n\n0.2.0\n+++++\n\n* Upgrade to acme 0.11.x\n\n0.1.1\n+++++\n\n* Change the package name; the original maintainer owns the simp_le PyPI\n package, and hasn't responded to requests to transfer it, so the package name\n is now 'simp_le-client'.\n\n0.1.0\n+++++\n\n* First release", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/zenhack/simp_le", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "simp-le-client", "package_url": "https://pypi.org/project/simp-le-client/", "platform": "", "project_url": "https://pypi.org/project/simp-le-client/", "project_urls": { "Homepage": "https://github.com/zenhack/simp_le" }, "release_url": "https://pypi.org/project/simp-le-client/0.16.0/", "requires_dist": null, "requires_python": "", "summary": "Simple Let's Encrypt Client", "version": "0.16.0" }, "last_serial": 5980624, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "3eef0e9f1e486534a8cfc152005c0c20", "sha256": "4a71b7284e6fd6b6d8cddb47c876acb5642a1f9fab9a784fd14b44a0c1abc8a3" }, "downloads": -1, "filename": "simp_le-client-0.1.1.tar.gz", "has_sig": true, "md5_digest": "3eef0e9f1e486534a8cfc152005c0c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36702, "upload_time": "2017-02-10T22:15:25", "url": "https://files.pythonhosted.org/packages/c4/8d/a100bf65a0406d99ca31ad42c1100705bf85ace9471a07f050aa26297a02/simp_le-client-0.1.1.tar.gz" } ], "0.10.0": [ { "comment_text": "", "digests": { "md5": "753dc2813eb46a5a56941b3ad010bda0", "sha256": "e8d529256c67a6aea52ff3340f55d27d2c0274d6dbbee3014889ad4a165de36c" }, "downloads": -1, "filename": "simp_le-client-0.10.0.tar.gz", "has_sig": true, "md5_digest": "753dc2813eb46a5a56941b3ad010bda0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41917, "upload_time": "2018-08-10T20:20:15", "url": "https://files.pythonhosted.org/packages/51/81/36f9f817ecfcd4091182b0e8bce69f9e3ca02966fb1ae9766a2c9eb2a01c/simp_le-client-0.10.0.tar.gz" } ], "0.11.0": [ { "comment_text": "", "digests": { "md5": "5c585b5e28586273dbfd96e5c464681b", "sha256": "504954be6b4f4b6fb811693b67edf1b8e09f03bcf203dadb25379feadc149bdd" }, "downloads": -1, "filename": "simp_le-client-0.11.0.tar.gz", "has_sig": true, "md5_digest": "5c585b5e28586273dbfd96e5c464681b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41940, "upload_time": "2018-10-17T22:17:19", "url": "https://files.pythonhosted.org/packages/d2/ce/9763afffe92291999d5d5e85c42665953d4bb0ee3ee685bf095fdb16c7e8/simp_le-client-0.11.0.tar.gz" } ], "0.12.0": [ { "comment_text": "", "digests": { "md5": "3d2a3d563ba7abbad09f37471d5c8ddd", "sha256": "ecf00b68874b018666ca46cbb3f944c6dbe1717b9b5b0108f5710fa8bb9acd17" }, "downloads": -1, "filename": "simp_le-client-0.12.0.tar.gz", "has_sig": true, "md5_digest": "3d2a3d563ba7abbad09f37471d5c8ddd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41979, "upload_time": "2018-12-16T21:40:43", "url": "https://files.pythonhosted.org/packages/94/5f/8fd24ec1eac32702016df7fdd560795978c65dda15761d5796561844fd95/simp_le-client-0.12.0.tar.gz" } ], "0.13.0": [ { "comment_text": "", "digests": { "md5": "afefe474a4f632d3d7a07e2ae5e356e9", "sha256": "fa24ff0750c7bb869ce0df42d5f8bc80339f92fcf72be0788dbc00edab59c437" }, "downloads": -1, "filename": "simp_le-client-0.13.0.tar.gz", "has_sig": true, "md5_digest": "afefe474a4f632d3d7a07e2ae5e356e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42011, "upload_time": "2019-02-17T21:02:04", "url": "https://files.pythonhosted.org/packages/68/9c/13c1f7f1eeca54a8615cb055cb4181cdd5fc17fe8efc677c32bd8c95b3fc/simp_le-client-0.13.0.tar.gz" } ], "0.14.0": [ { "comment_text": "", "digests": { "md5": "d3882f2c99eaf0f2175f6be8914eaa56", "sha256": "23af9813f1841f09071eeecc22e3017fedc7b715361d8f2839ab0cb4da7a0d4f" }, "downloads": -1, "filename": "simp_le-client-0.14.0.tar.gz", "has_sig": true, "md5_digest": "d3882f2c99eaf0f2175f6be8914eaa56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42029, "upload_time": "2019-04-17T17:04:27", "url": "https://files.pythonhosted.org/packages/e0/1e/90fe6ae7e4e463fb79781fddad484582c82c0199e453be19aa518f22269e/simp_le-client-0.14.0.tar.gz" } ], "0.15.0": [ { "comment_text": "", "digests": { "md5": "fff1e33f430340dc9421ab6ce2c46fad", "sha256": "f0a2c1e9d34e1694e33bd0f10c573c55e4df5c2b210aad47b49d22a0f43e6c5a" }, "downloads": -1, "filename": "simp_le-client-0.15.0.tar.gz", "has_sig": true, "md5_digest": "fff1e33f430340dc9421ab6ce2c46fad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41272, "upload_time": "2019-06-26T05:05:53", "url": "https://files.pythonhosted.org/packages/33/4f/1de14b0ceda3513014e8e6cd3b77ddabfdfaf9f2c72e53f08568104035d4/simp_le-client-0.15.0.tar.gz" } ], "0.16.0": [ { "comment_text": "", "digests": { "md5": "03ee26128a0b0640a139a065525edd41", "sha256": "f742d0c1c75ffccf9d99c53100e4ab2adf235358579553c14dd0ea1e16c55f9d" }, "downloads": -1, "filename": "simp_le-client-0.16.0.tar.gz", "has_sig": true, "md5_digest": "03ee26128a0b0640a139a065525edd41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41934, "upload_time": "2019-10-16T01:13:54", "url": "https://files.pythonhosted.org/packages/d9/6d/f5fb3d4de51212803a0365133352974b514c4f54132f4376e5d73e1087be/simp_le-client-0.16.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cd143690ca40bfb87ed967c003b41ecf", "sha256": "506bd3a00c69c991ea1a94dafa13534750ed782d4e343f629ebb269f9d44e1fd" }, "downloads": -1, "filename": "simp_le-client-0.2.0.tar.gz", "has_sig": true, "md5_digest": "cd143690ca40bfb87ed967c003b41ecf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36591, "upload_time": "2017-04-05T23:02:50", "url": "https://files.pythonhosted.org/packages/4e/b2/1f2f2d363dc787ea46f49b46da35ccef911adf26ef9af414f8a9a257ac98/simp_le-client-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6d9ac4f5931c06cd6af2cda33bc585a3", "sha256": "b519baaca0611a9d987d6e8a9f6756790f128faee5b3816ec9c8277e6977d88e" }, "downloads": -1, "filename": "simp_le-client-0.3.0.tar.gz", "has_sig": true, "md5_digest": "6d9ac4f5931c06cd6af2cda33bc585a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37284, "upload_time": "2017-06-29T19:26:05", "url": "https://files.pythonhosted.org/packages/42/a3/4adc7bc51acaa211ac2e5107789b577a954b277b30de1f9ee6b10187dd2b/simp_le-client-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "998efe86989929de3b5099ad1f8a186a", "sha256": "48429d1cd0f5f472f5785da66e44e6b018ca5510d4bd3d061fe761c2cc1251d7" }, "downloads": -1, "filename": "simp_le-client-0.4.0.tar.gz", "has_sig": true, "md5_digest": "998efe86989929de3b5099ad1f8a186a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37354, "upload_time": "2017-07-11T15:17:33", "url": "https://files.pythonhosted.org/packages/5b/41/ab93ff4e61ba4a201a3f4790db1e28fb731537c6c7782d95fba1b467335b/simp_le-client-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "20089669f67dba9cc0957f5e55ada263", "sha256": "6fe349a34266f2e05463381e95ddfe56b08f954a03280adbe4d195c261da2d2c" }, "downloads": -1, "filename": "simp_le-client-0.5.0.tar.gz", "has_sig": true, "md5_digest": "20089669f67dba9cc0957f5e55ada263", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36828, "upload_time": "2017-08-09T01:42:53", "url": "https://files.pythonhosted.org/packages/02/b3/d8b7f6a05aa95b45c9b4991e5b7ee22c889696e3ecf337b23cb044ec9d8b/simp_le-client-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "aeff1f6f3915ec81c382b88f21965bb4", "sha256": "956e8119a1ee2f2a97b7a25a37b12e7f5614889bda3d2ce9ec453fdb13df59f3" }, "downloads": -1, "filename": "simp_le-client-0.5.1.tar.gz", "has_sig": true, "md5_digest": "aeff1f6f3915ec81c382b88f21965bb4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37051, "upload_time": "2017-08-09T20:38:07", "url": "https://files.pythonhosted.org/packages/a0/29/511b7bf2e469e52e382398cbc48e1265ff411c2c4df149299ebf2234efe5/simp_le-client-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "d0c04794e8f0f05c27a7d3ddf62873aa", "sha256": "078f2ba4e846b19b3d93e38d3591417541b98faa45c38ddeebce5744e96e808f" }, "downloads": -1, "filename": "simp_le-client-0.6.0.tar.gz", "has_sig": true, "md5_digest": "d0c04794e8f0f05c27a7d3ddf62873aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40787, "upload_time": "2017-11-09T22:31:46", "url": "https://files.pythonhosted.org/packages/3d/b8/4e27a8577bc910de6ac9b25805f2026b1bcff61f72e26125ec7c8048fe9e/simp_le-client-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "993f38d3cd7f5152079aabe190394dea", "sha256": "d348d7e664ea80158e55da2f15e1bb338ebad909c237564aec43ff28939f8e74" }, "downloads": -1, "filename": "simp_le-client-0.6.1.tar.gz", "has_sig": true, "md5_digest": "993f38d3cd7f5152079aabe190394dea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40971, "upload_time": "2017-11-15T18:33:48", "url": "https://files.pythonhosted.org/packages/11/02/23e3289e2c95cd3077fda30aa12959f25e1bacefd7b028b7af069d45727b/simp_le-client-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "4945936b2b16f93c1f71a302d83e93d1", "sha256": "42a83ff4e54485b9b65efb0d49a0448e899ec9d97d98626d5828b0ce9e9869ce" }, "downloads": -1, "filename": "simp_le-client-0.6.2.tar.gz", "has_sig": true, "md5_digest": "4945936b2b16f93c1f71a302d83e93d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41229, "upload_time": "2017-11-16T19:57:11", "url": "https://files.pythonhosted.org/packages/3a/f5/f5b9c94884d7c664f75001f628465f3a8d743cb24ea792e03e51b052a70a/simp_le-client-0.6.2.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "acb5d51ffddbe54208119adea6ef3714", "sha256": "60d6aeb959826b6eefea59fa53230f895631490856a4f83f97fbb5a52345c071" }, "downloads": -1, "filename": "simp_le-client-0.7.0.tar.gz", "has_sig": true, "md5_digest": "acb5d51ffddbe54208119adea6ef3714", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43081, "upload_time": "2018-01-16T01:36:25", "url": "https://files.pythonhosted.org/packages/56/70/f263ff84f0d972807bb415f9ed05c78afc5c95c3a53c8ea39bd5fca4a8de/simp_le-client-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "a0a9e3561e7c15061a20db3cfcfefae7", "sha256": "317893fd5acb98c907a6dd596142cd6575bda4aa9b3ff7a84b11d59c52ad695b" }, "downloads": -1, "filename": "simp_le-client-0.8.0.tar.gz", "has_sig": true, "md5_digest": "a0a9e3561e7c15061a20db3cfcfefae7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43111, "upload_time": "2018-03-12T19:27:48", "url": "https://files.pythonhosted.org/packages/ee/51/68aa6c4d132031c7eacac360b45e30d101993dc7c9a82d7f7393d3b144fb/simp_le-client-0.8.0.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "4f9ee786ae7647abec159c82c64d295b", "sha256": "5549389415aff2f9baa414f4ca3b69f85392ecbb2eda54b157b94bfd090eae4f" }, "downloads": -1, "filename": "simp_le-client-0.8.1.tar.gz", "has_sig": false, "md5_digest": "4f9ee786ae7647abec159c82c64d295b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43306, "upload_time": "2018-06-11T17:05:13", "url": "https://files.pythonhosted.org/packages/46/57/fe6db5d91748eb3745e66d4751903ea9c4bfb3fe773481d6da2007263492/simp_le-client-0.8.1.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "c5ce516ffe53ed155c798ad2ca2c0bce", "sha256": "9b7df2aeed48654aea9da091546cc1bb115ee407a2ec538c136f7e749afdaefb" }, "downloads": -1, "filename": "simp_le-client-0.9.0.tar.gz", "has_sig": true, "md5_digest": "c5ce516ffe53ed155c798ad2ca2c0bce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43343, "upload_time": "2018-06-11T17:09:31", "url": "https://files.pythonhosted.org/packages/bc/88/21bcc48207ee08e019643809814578a87d049532feb031a3471ae5d34816/simp_le-client-0.9.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03ee26128a0b0640a139a065525edd41", "sha256": "f742d0c1c75ffccf9d99c53100e4ab2adf235358579553c14dd0ea1e16c55f9d" }, "downloads": -1, "filename": "simp_le-client-0.16.0.tar.gz", "has_sig": true, "md5_digest": "03ee26128a0b0640a139a065525edd41", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41934, "upload_time": "2019-10-16T01:13:54", "url": "https://files.pythonhosted.org/packages/d9/6d/f5fb3d4de51212803a0365133352974b514c4f54132f4376e5d73e1087be/simp_le-client-0.16.0.tar.gz" } ] }