All Projects → saghul → Pycares

saghul / Pycares

Licence: mit
Python interface for c-ares

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Pycares

Kubernetes Pfsense Controller
Integrate Kubernetes and pfSense
Stars: ✭ 100 (-17.36%)
Mutual labels:  dns
Cloudflare Ddns
Script for dynamically updating a CloudFlare DNS record. (Deprecated)
Stars: ✭ 112 (-7.44%)
Mutual labels:  dns
Dnscache
DNS lookup cache for Go
Stars: ✭ 115 (-4.96%)
Mutual labels:  dns
Collection Document
Collection of quality safety articles. Awesome articles.
Stars: ✭ 1,387 (+1046.28%)
Mutual labels:  dns
Overture
A customized DNS relay server
Stars: ✭ 1,542 (+1174.38%)
Mutual labels:  dns
Glider
glider is a forward proxy with multiple protocols support, and also a dns/dhcp server with ipset management features(like dnsmasq).
Stars: ✭ 1,710 (+1313.22%)
Mutual labels:  dns
Rita
Real Intelligence Threat Analytics (RITA) is a framework for detecting command and control communication through network traffic analysis.
Stars: ✭ 1,352 (+1017.36%)
Mutual labels:  dns
Hosts Blocklists
Automatically updated, moderated and optimized lists for blocking ads, trackers, malware and other garbage
Stars: ✭ 1,749 (+1345.45%)
Mutual labels:  dns
Outis
outis is a custom Remote Administration Tool (RAT) or something like that. It was build to support various transport methods (like DNS) and platforms (like Powershell).
Stars: ✭ 111 (-8.26%)
Mutual labels:  dns
Ona
OpenNetAdmin IP Address Management (IPAM) system
Stars: ✭ 116 (-4.13%)
Mutual labels:  dns
Bass
Bass grabs you those "extra resolvers" you are missing out on when performing Active DNS enumeration. Add anywhere from 100-6k resolvers to your "resolver.txt"
Stars: ✭ 104 (-14.05%)
Mutual labels:  dns
Vagrant Hostmanager
📝 A Vagrant plugin that manages hosts files within a multi-machine environment.
Stars: ✭ 1,442 (+1091.74%)
Mutual labels:  dns
Dns Discovery
DNS-Discovery is a multithreaded subdomain bruteforcer.
Stars: ✭ 114 (-5.79%)
Mutual labels:  dns
Gitzone
git-based zone management tool for static and dynamic domains
Stars: ✭ 100 (-17.36%)
Mutual labels:  dns
Freenom Dns Updater
A tool to update freenom's dns records
Stars: ✭ 117 (-3.31%)
Mutual labels:  dns
Devdns
Automagic Docker DNS for local development
Stars: ✭ 99 (-18.18%)
Mutual labels:  dns
Knowledge
文档着重构建一个完整的「前端技术架构图谱」,方便 F2E(Front End Engineering又称FEE、F2E) 学习与进阶。
Stars: ✭ 1,620 (+1238.84%)
Mutual labels:  dns
Bundy
an authoritative DNS server
Stars: ✭ 121 (+0%)
Mutual labels:  dns
Yotter
yotter - bash script that performs recon and then uses dirb to discover directories that might lead to information leakage
Stars: ✭ 118 (-2.48%)
Mutual labels:  dns
Gandi Live Dns
DynDNS Updater for Gandi LiveDNS REST API
Stars: ✭ 116 (-4.13%)
Mutual labels:  dns

Looking for new maintainers

https://github.com/saghul/pycares/issues/139

pycares: Python interface for c-ares

.. image:: https://badge.fury.io/py/pycares.png :target: http://badge.fury.io/py/pycares

.. image:: https://secure.travis-ci.org/saghul/pycares.png?branch=master :target: http://travis-ci.org/saghul/pycares

.. image:: https://ci.appveyor.com/api/projects/status/vx1wbkfq3l7nm1m8?svg=true :target: https://ci.appveyor.com/project/saghul/pycares

.. image:: https://github.com/saghul/pycares/workflows/Test%20macOS/badge.svg :target: https://github.com/saghul/pycares/actions)

pycares is a Python module which provides an interface to c-ares. c-ares <http://c-ares.haxx.se>_ is a C library that performs DNS requests and name resolutions asynchronously.

Documentation

http://readthedocs.org/docs/pycares/

Bundled c-ares

pycares currently bundles c-ares and as of pycares 1.0.0 this is a strong requirement. Upstream c-ares is not willing to apply a patch adding TTL support <http://c-ares.haxx.se/mail/c-ares-archive-2013-07/0005.shtml>_. I did apply the patch to the bundled c-ares, but unfortunately it breaks the ABI, so attempting to use a system provided c-ares is not possible.

Installation

GNU/Linux, macOS, Windows, others:

::

pip install pycares

FreeBSD:

::

cd /usr/ports/dns/py-pycares && make install

IDNA 2008 support ^^^^^^^^^^^^^^^^^

If the idna package is installed, pycares will support IDNA 2008 encodingm otherwise the builtin idna codec will be used, which provides IDNA 2003 support.

You can force this at installation time as follows:

::

pip install pycares[idna]

Running the test suite

There are several ways of running the test suite:

  • Run the test with the current Python interpreter:

    From the toplevel directory, run: python tests/tests.py

  • Use Tox to run the test suite in several virtualenvs with several interpreters

    From the toplevel directory, run: tox -e py35,py36,py37 this will run the test suite on Python 3.5, 3.6 and 3.7 (you'll need to have them installed beforehand)

Using it from the cli, a la dig

This module can be used directly from the command line in a similar fashion to dig (limited, of course):

::

$ python -m pycares google.com ;; QUESTION SECTION: ;google.com IN A

;; ANSWER SECTION: google.com 300 IN A 172.217.17.142

$ python -m pycares mx google.com ;; QUESTION SECTION: ;google.com IN MX

;; ANSWER SECTION: google.com 600 IN MX 50 alt4.aspmx.l.google.com google.com 600 IN MX 10 aspmx.l.google.com google.com 600 IN MX 40 alt3.aspmx.l.google.com google.com 600 IN MX 20 alt1.aspmx.l.google.com google.com 600 IN MX 30 alt2.aspmx.l.google.com

Author

Saúl Ibarra Corretgé [email protected]

License

Unless stated otherwise on-file pycares uses the MIT license, check LICENSE file.

Supported Python versions

Python >= 3.5 are supported. Both CPython and PyPy 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 :-)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].