{ "info": { "author": "Daniel Holth", "author_email": "dholth@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "\nSnipercorn\n==========\n\nHypercorn + SNI (multiple SSL certificates per server) + easy letsencrypt integration\n\nSnipercorn is a layer on top of the Hypercorn web server designed to make it as easy \nas possible to use https:// with your Python project. It extends Hypercorn's Config\nclass to look for a tree of certificates in a layout compatible with the dehydrated \nACME / letsencrypt client (https://dehydrated.io), making it easier for any project\non the public web to run with a real https certificate.\n\nUsage\n=====\n\nDownload dehydrated.io client.\n\nMake config directory ~/etc/dehydrated/config::\n\n CA=\"https://acme-v02.api.letsencrypt.org/directory\"\n CHALLENGETYPE=\"tls-alpn-01\"\n\nSnipercorn can serve the tls-alpn-01 challenge type.\n\n~/etc/dehydrated/domains.txt should contain the fqdn of your server and desired alternate names::\n \n example.com www.example.com\n\nStart snipercorn::\n\n authbind python -m snipercorn fileserver.py -b :::443 --sni ~/etc/dehydrated\n\nRun dehydrated to get certificates::\n\n dehydrated -f ~/etc/dehydrated/config --register --accept-terms # once\n dehydrated -f ~/etc/dehydrated/config -c # auto-renews when necessary\n\nAlternate names may not work. If it doesn't work, try just one domain in domains.txt. \nRemember your domain has to be reachable from the CA (letsencrypt) server on port 443.\n\nVisit your new site.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/dholth/snipercorn/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "snipercorn", "package_url": "https://pypi.org/project/snipercorn/", "platform": "", "project_url": "https://pypi.org/project/snipercorn/", "project_urls": { "Homepage": "https://gitlab.com/dholth/snipercorn/" }, "release_url": "https://pypi.org/project/snipercorn/0.0.1/", "requires_dist": [ "hypercorn", "appdirs", "click" ], "requires_python": "", "summary": "Hypercorn + Easy https:// with SNI", "version": "0.0.1" }, "last_serial": 5407429, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "85d849cc5921a659df146fdebfe71970", "sha256": "8a45b068216ab11b95c1b0c3a6227811e5d13ef900cfa71544e5a1537f3eb26a" }, "downloads": -1, "filename": "snipercorn-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85d849cc5921a659df146fdebfe71970", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6654, "upload_time": "2019-06-16T20:07:46", "url": "https://files.pythonhosted.org/packages/88/a0/e298c8b88d49634cec46445a78662a9f73fc6911e888e9680a2be4b68f07/snipercorn-0.0.1-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "85d849cc5921a659df146fdebfe71970", "sha256": "8a45b068216ab11b95c1b0c3a6227811e5d13ef900cfa71544e5a1537f3eb26a" }, "downloads": -1, "filename": "snipercorn-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "85d849cc5921a659df146fdebfe71970", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6654, "upload_time": "2019-06-16T20:07:46", "url": "https://files.pythonhosted.org/packages/88/a0/e298c8b88d49634cec46445a78662a9f73fc6911e888e9680a2be4b68f07/snipercorn-0.0.1-py2.py3-none-any.whl" } ] }