Skip to main content

Asynchronous dnsbl client module and CLI utility

Project description

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)

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

async_dnsbl_client-0.0.5.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

async_dnsbl_client-0.0.5-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file async_dnsbl_client-0.0.5.tar.gz.

File metadata

  • Download URL: async_dnsbl_client-0.0.5.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for async_dnsbl_client-0.0.5.tar.gz
Algorithm Hash digest
SHA256 59f8124c31f690f1eb158420e150226271daca1dee0bae77f63294d4d48ad5a2
MD5 d4f5d7a446438cfb4df9fd23746a2307
BLAKE2b-256 ca1532716a4914707929828ccb2db983b140b9bc52c07f6baa4b03d738b6e13a

See more details on using hashes here.

File details

Details for the file async_dnsbl_client-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for async_dnsbl_client-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fdb2f452ee3aafde749b5adeba7e8d776ab65013b77ea2a0879d1ee270936202
MD5 b67eb70314109551834da021079d7564
BLAKE2b-256 4456be58472921fb1ac9ad30fd613f5bc71e36948df48fcc4dce2756338696d5

See more details on using hashes here.

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