{ "info": { "author": "Christian Fetzer", "author_email": "fetzer.ch@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: POSIX", "Programming Language :: Python", "Topic :: System :: Systems Administration" ], "description": ".. image:: https://travis-ci.org/fetzerch/kasserver.svg?branch=master\n :target: https://travis-ci.org/fetzerch/kasserver\n :alt: Travis CI Status\n\n.. image:: https://coveralls.io/repos/github/fetzerch/kasserver/badge.svg?branch=master\n :target: https://coveralls.io/github/fetzerch/kasserver?branch=master\n :alt: Coveralls Status\n\n.. image:: https://img.shields.io/pypi/v/kasserver.svg\n :target: https://pypi.org/project/kasserver\n :alt: PyPI Version\n\nkasserver - Manage domains hosted on All-Inkl.com through the KAS server API\n============================================================================\n\nThis project consists of the Python library *kasserver* and a few\ncommand line utilities to manage domains of the German webhoster\n`All-Inkl.com`_ through their `KAS server API`_.\n\nAt the moment the main focus is managing DNS record as this allows to\nautomate the creation of `Let\u2019s Encrypt`_ (wildcard) certificates with\nthe `ACME DNS-01 challenge`_.\n\nInstallation\n------------\n\n*kasserver* (and its dependencies) can be installed from PyPI with:\n``pip3 install kasserver``\n\nAuthentication\n--------------\n\nBoth library and command line utilities require access to the KAS\ncredentials. Username and password are read from the ``KASSERVER_USER``\nand ``KASSERVER_PASSWORD`` environment variables or from the\n``~/.netrc`` file:\n\n.. code:: console\n\n machine kasapi.kasserver.com\n login USERNAME\n password PASSWORD\n\nThe file must be accessible only by your user account:\n``chmod 600 ~/.netrc``.\n\nScripts\n-------\n\n``kasserver-dns``\n~~~~~~~~~~~~~~~~~\n\nA generic program to manage DNS records.\n\nDNS records can be listed with:\n\n.. code:: console\n\n $ kasserver-dns list example.com\n ID C Zone Name Type Data Aux\n 1 Y example.com A X.X.X.X 0\n 0 N example.com NS ns5.kasserver.com. 0\n 0 N example.com NS ns6.kasserver.com. 0\n 0 N example.com www CNAME example.com 0\n\nA new DNS record is added with:\n\n.. code:: console\n\n kasserver-dns add test.example.com CNAME example.com\n\nAn existing DNS record is removed with:\n\n.. code:: console\n\n kasserver-dns remove test.example.com CNAME\n\n``kasserver-dns-*``\n~~~~~~~~~~~~~~~~~~~\n\nThe following programs are designed to be used together with ACME\nclients to automate DNS record creation/removal as it is required by a\nLet\u2019s Encryt `ACME DNS-01 challenge`_ for automatic certificate renewal.\n\n``kasserver-dns-certbot``\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\nThis program is designed to be used with `Certbot`_:\n\n.. code:: console\n\n certbot certonly -d foo.exmaple.com --preferred-challenges dns \\\n --manual --manual-auth-hook kasserver-dns-certbot \\\n --manual-cleanup-hook kasserver-dns-certbot \\\n -m invalid@example.com\n\n``kasserver-dns-lego``\n^^^^^^^^^^^^^^^^^^^^^^\n\nThis program is designed to be used with `lego`_:\n\n.. code:: console\n\n EXEC_PATH=kasserver-dns-lego lego --dns exec \\\n --domains foo.example.com --email invalid@example.com run\n\nLicense\n-------\n\nThis projected is licensed under the terms of the MIT license.\n\n.. _All-Inkl.com: https://all-inkl.com/\n.. _KAS server API: https://kasapi.kasserver.com/\n.. _Let\u2019s Encrypt: https://letsencrypt.org\n.. _ACME DNS-01 challenge: https://www.eff.org/de/deeplinks/2018/02/technical-deep-dive-securing-automation-acme-dns-challenge-validation\n.. _Certbot: https://certbot.eff.org\n.. _lego: https://github.com/xenolf/lego", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/fetzerch/kasserver", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "kasserver", "package_url": "https://pypi.org/project/kasserver/", "platform": "", "project_url": "https://pypi.org/project/kasserver/", "project_urls": { "Homepage": "https://github.com/fetzerch/kasserver" }, "release_url": "https://pypi.org/project/kasserver/0.2.0/", "requires_dist": null, "requires_python": "", "summary": "", "version": "0.2.0" }, "last_serial": 4797392, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "3596e27628cebfd6d42de2988b9c1744", "sha256": "89215b6c1eb4e42575953afd50052cd8ed51d14208b53b99eeeafbf492b30207" }, "downloads": -1, "filename": "kasserver-0.1.1.tar.gz", "has_sig": false, "md5_digest": "3596e27628cebfd6d42de2988b9c1744", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12728, "upload_time": "2018-09-02T19:55:19", "url": "https://files.pythonhosted.org/packages/77/8a/1b499a1a1c7386f46fd1b30b34763fce40de6cce4e9a706b748807df9b37/kasserver-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "908a473da1d2712e0dca4a5044bd0f3f", "sha256": "2d669cd7d050502de27a75cada4618d65026c295de12c86aba0a1ca0b83c1d44" }, "downloads": -1, "filename": "kasserver-0.2.0.tar.gz", "has_sig": false, "md5_digest": "908a473da1d2712e0dca4a5044bd0f3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12618, "upload_time": "2019-02-08T20:44:42", "url": "https://files.pythonhosted.org/packages/83/22/5bd088a3caa04f45c0de0dcb945806c9c138591b49a99f357ca284a1a30b/kasserver-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "908a473da1d2712e0dca4a5044bd0f3f", "sha256": "2d669cd7d050502de27a75cada4618d65026c295de12c86aba0a1ca0b83c1d44" }, "downloads": -1, "filename": "kasserver-0.2.0.tar.gz", "has_sig": false, "md5_digest": "908a473da1d2712e0dca4a5044bd0f3f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12618, "upload_time": "2019-02-08T20:44:42", "url": "https://files.pythonhosted.org/packages/83/22/5bd088a3caa04f45c0de0dcb945806c9c138591b49a99f357ca284a1a30b/kasserver-0.2.0.tar.gz" } ] }