shell bypass 403
UnknownSec Shell
:
/
lib
/
python3
/
dist-packages
/
aiodns-3.1.1.egg-info
/ [
drwxr-xr-x
]
upload
mass deface
mass delete
console
info server
name :
PKG-INFO
Metadata-Version: 2.1 Name: aiodns Version: 3.1.1 Summary: Simple DNS resolver for asyncio Home-page: https://github.com/saghul/aiodns Author: Saúl Ibarra Corretgé Author-email: s@saghul.net License: MIT Platform: POSIX Platform: Microsoft Windows Classifier: Development Status :: 5 - Production/Stable Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: POSIX Classifier: Operating System :: Microsoft :: Windows Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Description-Content-Type: text/x-rst License-File: LICENSE =============================== Simple DNS resolver for asyncio =============================== .. image:: https://badge.fury.io/py/aiodns.png :target: https://pypi.org/project/aiodns/ .. image:: https://github.com/saghul/aiodns/workflows/CI/badge.svg :target: https://github.com/saghul/aiodns/actions aiodns provides a simple way for doing asynchronous DNS resolutions using `pycares <https://github.com/saghul/pycares>`_. Example ======= .. code:: python import asyncio import aiodns loop = asyncio.get_event_loop() resolver = aiodns.DNSResolver(loop=loop) async def query(name, query_type): return await resolver.query(name, query_type) coro = query('google.com', 'A') result = loop.run_until_complete(coro) The following query types are supported: A, AAAA, ANY, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT. API === The API is pretty simple, three functions are provided in the ``DNSResolver`` class: * ``query(host, type)``: Do a DNS resolution of the given type for the given hostname. It returns an instance of ``asyncio.Future``. The actual result of the DNS query is taken directly from pycares. As of version 1.0.0 of aiodns (and pycares, for that matter) results are always namedtuple-like objects with different attributes. Please check the `documentation <http://pycares.readthedocs.org/en/latest/channel.html#pycares.Channel.query>`_ for the result fields. * ``gethostbyname(host, socket_family)``: Do a DNS resolution for the given hostname and the desired type of address family (i.e. ``socket.AF_INET``). While ``query()`` always performs a request to a DNS server, ``gethostbyname()`` first looks into ``/etc/hosts`` and thus can resolve local hostnames (such as ``localhost``). Please check `the documentation <http://pycares.readthedocs.io/en/latest/channel.html#pycares.Channel.gethostbyname>`_ for the result fields. The actual result of the call is a ``asyncio.Future``. * ``gethostbyaddr(name)``: Make a reverse lookup for an address. * ``cancel()``: Cancel all pending DNS queries. All futures will get ``DNSError`` exception set, with ``ARES_ECANCELLED`` errno. Note for Windows users ====================== This library requires the asyncio loop to be a `SelectorEventLoop`, which is not the default on Windows since Python 3.8. The default can be changed as follows (do this very early in your application): .. code:: python asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) This may have other implications for the rest of your codebase, so make sure to test thoroughly. Running the test suite ====================== To run the test suite: ``python tests.py`` Author ====== Saúl Ibarra Corretgé <s@saghul.net> License ======= aiodns uses the MIT license, check LICENSE file. Python versions =============== Python >= 3.6 are supported. Contributing ============ If you'd like to contribute, fork the project, make a patch and send a pull request. Have a look at the surrounding code and please, make yours look alike :-)
© 2026 UnknownSec