Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

aiodnsprox—A DNS proxy based on Python’s asyncio

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/netd-tud/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

Metadata

Release files for aiodnsprox 0.0.7b2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aiodnsprox 0.0.7b2
File Size Uploaded Provenance Actions
aiodnsprox-0.0.7b2.tar.gz 22.8 kB With provenance Details for aiodnsprox-0.0.7b2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aiodnsprox 0.0.7b2
File Interpreter ABI Platform Actions
aiodnsprox-0.0.7b2-py3-none-any.whl Python 3 none any Details for aiodnsprox-0.0.7b2-py3-none-any.whl

Total release size: 52.3 kB

Release files / aiodnsprox-0.0.7b2.tar.gz

Download URL aiodnsprox-0.0.7b2.tar.gz
Size 22.8 kB
Tags Source
SHA-256 checksum
How to use checksums
325b8d63acd4c163ca87028c269be04656087a365029a315d9c8dd6f39830a3a
BLAKE2b-256 checksum
How to use checksums
96c11421cbdbeb60e8ad86bcb14dc3c4d8d118cb1be479ff9fe1202cd5180661
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2025.

Transparency log

Release files / aiodnsprox-0.0.7b2-py3-none-any.whl

Download URL aiodnsprox-0.0.7b2-py3-none-any.whl
Size 29.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
576813fcd6b62e2524c442fc6fbab84bd8ff1651ad995799e7b380e1577b69bc
BLAKE2b-256 checksum
How to use checksums
50310bfadd992005dd50626f7027786dcb1c82883167476bc7adc69b84d8f97e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2025.

Transparency log

Security for aiodnsprox 0.0.7b2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for aiodnsprox-0.0.7b2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 20, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page