Skip to main content

async-dnsbl-client

Asynchronous dnsbl client

Install

pip3 install async-dnsbl-client

or

pip3 install git+https://github.com/yaroslaff/async-dnsbl-client

CLI usage:

$ adnsbl.py 117.207.230.178 
dnsbl.sorbs.net
dul.dnsbl.sorbs.net
spam.dnsbl.sorbs.net
zen.spamhaus.org
noptr.spamrats.com
b.barracudacentral.org
web.dnsbl.sorbs.net
pbl.spamhaus.org

# or with hostname
$ bin/adnsbl.py gmail-smtp-in.l.google.com

you may remove some DNSBL from checklist with -r/--remove: -r dnsbl.sorbs.net dul.dnsbl.sorbs.net, or add new DNSBL zones same way with -a/--append.

adnsbl.py exit code is 0 if host isn't blacklisted anywhere, and 1 otherwise.

Usage in your python code

See adnsbl.py sources, it's simple.

import asyncio
import async_dnsbl_client

result = asyncio.run(async_dnsbl_client.dnsbl('gmail-smtp-in.l.google.com'))

Why not adns?

There is already python3 adns support in python3-adns package. But it crashes on ARM machines (such as Raspberri Pi (arch: armv7l) and Oracle Ampere A1 (arch: aarch64)). (maybe you know why?)

>>> import adns
>>> adns.init()
Segmentation fault (core dumped)

on 'normal' amd64 it works fine,

async-dnsbl-client works fine on ARM machines (), checking host in 53 blacklists in 0.127s (fastest).

See also

This project uses aiodns package

pydnsbl - more mature package, looks more powerful, same fast. (But I need my project because sometimes simpler is better)

Metadata

Release files for async-dnsbl-client 0.0.5

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

Source distribution (sdist)

Source distribution for async-dnsbl-client 0.0.5
File Size Uploaded Provenance
async_dnsbl_client-0.0.5.tar.gz 4.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for async-dnsbl-client 0.0.5
File Interpreter ABI Platform
async_dnsbl_client-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 10.0 kB

Release files / async_dnsbl_client-0.0.5.tar.gz

Download URL async_dnsbl_client-0.0.5.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
59f8124c31f690f1eb158420e150226271daca1dee0bae77f63294d4d48ad5a2
BLAKE2b-256 checksum
How to use checksums
ca1532716a4914707929828ccb2db983b140b9bc52c07f6baa4b03d738b6e13a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Release files / async_dnsbl_client-0.0.5-py3-none-any.whl

Download URL async_dnsbl_client-0.0.5-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdb2f452ee3aafde749b5adeba7e8d776ab65013b77ea2a0879d1ee270936202
BLAKE2b-256 checksum
How to use checksums
4456be58472921fb1ac9ad30fd613f5bc71e36948df48fcc4dce2756338696d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-httpx/0.28.1

Security for async-dnsbl-client 0.0.5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

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