Metadata-Version: 2.0
Name: domcheck
Version: 1.1.4
Summary: Domain Ownership Checker
Home-page: https://github.com/rs/domcheck
Author: Olivier Poitrey
Author-email: rs@dailymotion.com
License: MIT
Keywords: domain,validation,verification,check,ownership,dns,txt,cname,meta
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Environment :: No Input/Output (Daemon)
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: Intended Audience :: Telecommunications Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
Classifier: Topic :: Internet :: WWW/HTTP :: Site Management
Classifier: Topic :: Security
Requires-Dist: dnspython (>=1.12.0)

Domcheck: Domain Ownership Validation
=====================================

.. image:: https://img.shields.io/pypi/v/domcheck.svg
    :target: https://pypi.python.org/pypi/domcheck

.. image:: https://travis-ci.org/rs/domcheck.svg?branch=master
    :target: https://travis-ci.org/rs/domcheck

This Python library implements different strategies to validate the ownership of a domain name.

Available strategies
--------------------

All strategies takes 3 arguments: the domain to check, a static DNS safe ``prefix`` like "yourservice-domain-verification" and a randomly generated ``code``.

- **DNS TXT record**: checks for the ``{prefix}-{code}`` string present in one of the ``TXT`` records on the domain name.
- **DNS CNAME record**: checks for the existence of ``CNAME` record composed on the static ``{prefix}-{code}`` on the domain pointing to domain (usually yours) which the host is {prefix} (i.e.: {prefix}.yourdomain.com). NOTE: you may want to make sure that {prefix}.yourdomain.com resolves to something as some zone editors may check that.
- **Meta Tag**: checks for the presence of a ``<meta name="{prefix}" content="{code}">`` tag in the ``<head>`` part of the domain's home page using either HTTP or HTTPs protocols.
- **HTML File**: checks for the presence of a file named ``{code}.html`` at the root of the domain's website containing the string ``{prefix}={code}`` using either HTTP or HTTPs protocols.

Usage Example
-------------

Simple usage will check the domain with all available strategies and return ``True`` if the validation passed:

.. code-block:: python

    import domcheck

    domain = "example.com"
    prefix = "myservice-domain-verification"
    code = "myserviceK2d8a0xdhh"

    if domcheck.check(domain, prefix, code):
        print "This domain is verified"

You may filter strategies by passing a coma separated list of strategies:

.. code-block:: python

    domcheck.check(domain, prefix, code, strategies="dns_txt,meta_tag")

Installation
------------

To install domcheck, simply:

    $ pip install domcheck

Licenses
--------

All source code is licensed under the `MIT License <https://raw.githubusercontent.com/rs/domcheck/master/LICENSE>`_.


