{ "info": { "author": "Brian Hartvigsen", "author_email": "bhartvigsen@opendns.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7" ], "description": "##################\ndnspython-dnscrypt\n##################\n\nThis library is designed to make using DNSCrypt in Python easy and compatible\nwith dnspython_. It provides a ``dns.resolver.Resolver``-style interface which\nmixes-in the ``dns.query.udp`` and ``dns.query.tcp`` functions.\n\n>>> import dnscrypt\n>>> r = dnscrypt.Resolver('208.67.222.222', '2.dnscrypt-cert.opendns.com',\n... 'B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79',\n... port=53, timeout=5)\n>>> print r.query('www.google.com')\n\n>>> import dns.message\n>>> r.udp(dns.message.make_query('google.com', 'A'))\n\n\nClass Methods\n=============\n\n``__init__(self, address, provider_name, provider_pk, private_key=None, port=53, timeout=5)``\n---------------------------------------------------------------------------------------------\n\naddress\n The IP address of the DNSCrypt resolver\nport\n The port to use for communication with the DNSCrypt resolver\nprovider_name\n The provider name for the DNSCrypt resolver. Takes the format ``.dnscrypt-cert.``.\nprovider_pk\n The provider's hex-encoded public key or DNS hostname where to retreive the public key\nprivate_key\n A hex-encoded private key if you want to reuse a key you already have. Otherwise,\n a new key will be generated for each Resolver instance.\ntimeout\n Timeout in seconds for DNS lookups\n\n\n``address``, ``provider_name``, and ``provider_pk`` are required. All other\narguments are optional.\n\n``query(qname, rdtype=1, rdclass=1, tcp=False, source=None, raise_on_no_answer=True, source_port=0)``\n-----------------------------------------------------------------------------------------------------\n\nAnalogous to dns.resolver.Resolver.query_ for dnspython_.\n\n``tcp(self, query, timeout=None, af=None, source=None, source_port=0, one_rr_per_rrset=False)``\n-----------------------------------------------------------------------------------------------\n\nAnalogous to dns.query.tcp_ for dnspython_. There is no ``where`` argument,\nbut is otherwise identical in function/form.\n\n``udp(self, query, timeout=None, af=None, source=None, source_port=0, ignore_unexpected=False, one_rr_per_rrset=False)``\n------------------------------------------------------------------------------------------------------------------------\n\nAnalogous to dns.query.udp_ for dnspython_. There is no ``where`` argument,\nbut is otherwise identical in function/form.\n\nDifferences from dnspython\n==========================\n\nThe biggest thing is that this is a very basic implementation of\n``dns.resolver.Resolver``. While it's designed to look/feel the same, it is not a\ndrop in replacement. (e.g. I did not implement the\n``use_tsig``/``use_edns``/``set_flags`` functions, instead use\n``dns.message.Message`` and ``dnscrypt.resolver.tcp`` or\n``dnscrypt.resolver.udp``.)\n\n.. _dnspython: http://www.dnspython.org\n.. _dns.resolver.Resolver.query: http://www.dnspython.org/docs/1.15.0/dns.resolver.Resolver-class.html#query\n.. _dns.query.tcp: http://www.dnspython.org/docs/1.15.0/dns.query-module.html#tcp\n.. _dns.query.udp: http://www.dnspython.org/docs/1.15.0/dns.query-module.html#udp", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tresni/dnspython-dnscrypt", "keywords": "", "license": "ISC", "maintainer": "", "maintainer_email": "", "name": "dnscrypt", "package_url": "https://pypi.org/project/dnscrypt/", "platform": "", "project_url": "https://pypi.org/project/dnscrypt/", "project_urls": { "Homepage": "https://github.com/tresni/dnspython-dnscrypt" }, "release_url": "https://pypi.org/project/dnscrypt/1.0.1/", "requires_dist": null, "requires_python": "", "summary": "dnspython compatible DNSCrypt Resolver", "version": "1.0.1" }, "last_serial": 3777800, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "2d10449663315136567126b719ca2da7", "sha256": "694b77e64ed7cb186677baa368dd5bc102b3312b169952c29c52a17c6d2f6803" }, "downloads": -1, "filename": "dnscrypt-1.0.0-1.tar.gz", "has_sig": false, "md5_digest": "2d10449663315136567126b719ca2da7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5128, "upload_time": "2017-12-23T11:27:52", "url": "https://files.pythonhosted.org/packages/eb/3b/a15ce0a6c1a09e7182ff3c68f971f101ccd3e0f0a2f40c9bdae71ddacfc5/dnscrypt-1.0.0-1.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "0522bf596b0c6aafbd7c123ebd98fd26", "sha256": "8ba0e824bf0515e962ffffcff9650b1d7f739e52114cf62b930e299450023720" }, "downloads": -1, "filename": "dnscrypt-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0522bf596b0c6aafbd7c123ebd98fd26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5192, "upload_time": "2018-04-18T16:29:28", "url": "https://files.pythonhosted.org/packages/f1/39/9d9cea927a94410fef1a58e91e02203ab686ffb9e88e270c1d5b7b936c47/dnscrypt-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0522bf596b0c6aafbd7c123ebd98fd26", "sha256": "8ba0e824bf0515e962ffffcff9650b1d7f739e52114cf62b930e299450023720" }, "downloads": -1, "filename": "dnscrypt-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0522bf596b0c6aafbd7c123ebd98fd26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5192, "upload_time": "2018-04-18T16:29:28", "url": "https://files.pythonhosted.org/packages/f1/39/9d9cea927a94410fef1a58e91e02203ab686ffb9e88e270c1d5b7b936c47/dnscrypt-1.0.1.tar.gz" } ] }