Skip to main content

A Python-based DNS-over-X proxy based on aiocoap

Project description

Test aiodnsprox

aiodnsprox is a DNS proxy based on Python’s asyncio. It supports a variety of different DNS transports on both the serving side and the proxied side. On the proxied side, classic DNS protocols are supported, such as

On the serving side, DNS over UDP is supported as well but in addition the following are supported:

Since aiodnsprox currently is using an experimental feature branch of aiocoap that provides CoAP over DTLS server support, aiodnsprox is to be considered in an early beta state.

Installation

Releases can be installed from PyPI

pip install aiodnsprox

You can install the latest development version directly from GitHub

pip install git+https://github.com/anr-bmbf-pivot/aiodnsprox/

Dependencies

aiodnsprox works on Python 3.7 or newer.

The following packages are required (see requirements.txt): To parse configuration files PyYAML 5.4 or newer is used. For proxying upstream DNS services and message parsing, dnspython 2.1 or newer is used. For serving DTLS messages, the tinydtls-based DTLSSocket 0.1 or newer is used. For serving CoAP, an experimental branch of aiocoap with linkheader, tinydtls, and oscore support is used. The branch is based on aiocoap 0.4.1.

Usage

To start e.g. a DNS over UDP proxy towards a public DNS over UDP server of OpenNIC, use

aiodns-proxy -u -U 185.120.22.15

For more information on the provided arguments, see

aiodns-proxy -h

Development

Code contributions to aiodnsprox can be made in our Github repository. Development there follows the PEP8 recommendations and general best practices as best as possible.

Bugs and feature requests can be made in the issue tracker over at Github.

Our documentation is built with sphinx.

For testing we try to achieve as much coverage as possible with our tests found in the tests directory and utilize pytest. The easiest way to run the whole test suite is via the tox tool. Just run

tox

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiodnsprox-0.0.7b0.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiodnsprox-0.0.7b0-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file aiodnsprox-0.0.7b0.tar.gz.

File metadata

  • Download URL: aiodnsprox-0.0.7b0.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aiodnsprox-0.0.7b0.tar.gz
Algorithm Hash digest
SHA256 76e4292327fb7fc00358c5c7727d1b1c1da08495d8fb8b2fbcce1fefb2ffd9dc
MD5 33d3adc61e357ad7acd9798efb9aca4e
BLAKE2b-256 34d25d0efe6cbe1a2e39048e1efe9e33655fb7b0bce0039f853c73853de91b4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiodnsprox-0.0.7b0.tar.gz:

Publisher: python-publish.yml on netd-tud/aiodnsprox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiodnsprox-0.0.7b0-py3-none-any.whl.

File metadata

  • Download URL: aiodnsprox-0.0.7b0-py3-none-any.whl
  • Upload date:
  • Size: 29.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for aiodnsprox-0.0.7b0-py3-none-any.whl
Algorithm Hash digest
SHA256 714f1db86f5e9325a4b745f12f2024682d10727840838a3f5516eaf2882d4de2
MD5 345171baa3dd7e5f205903d2e824a9ae
BLAKE2b-256 0a08bfd08bee37c5ed795679c8a914c6c61b9cf52c205fff732c663e0932c88b

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiodnsprox-0.0.7b0-py3-none-any.whl:

Publisher: python-publish.yml on netd-tud/aiodnsprox

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page