Skip to main content

Simple python3 DNS server

Project description

Python application Pypi version

Description

Simple python3 DNS server

Installation

python3 -m pip install dns_local

Or directly from sources:

git clone git@github.com:doronz88/dns_local.git
cd dns_local
python3 -m pip install -e .

Usage

Usage: python -m dns_local [OPTIONS]

  Start a DNS implemented in Python

Options:
  --bind TEXT      bind address
  --tcp            enable TCP server
  --udp            enable UDP server
  --domain TEXT    domain reply (e.g. example\\.com:127.0.0.1)
  --fallback TEXT  fallback dns server (e.g. 8.8.8.8)
  --help           Show this message and exit.

For example, consider the following usage:

python3 -m dns_local --bind 192.168.2.1:53 --udp --fallback 8.8.8.8 --domain kaki:192.168.2.1 --domain kaki2:192.168.2.1

This will start a udp DNS server listening at 192.168.2.1:53 with the two entries:

  • kaki1 -> 192.168.2.1
  • kaki2 -> 192.168.2.1

And use Google's DNS server (8.8.8.8) as a fallback for any entry not in given domain list.

Domains also support regex patterns. For example, the following will forward all domains to 127.0.0.1, except for google.com which will be forwarded to 8.8.8.8:

python3 -m dns_local --bind 192.168.2.1:53 --udp --domain "google\\.com:8.8.8.8" --domain ".*:127.0.0.1"

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

dns_local-2.1.2.tar.gz (20.3 kB view details)

Uploaded Source

Built Distribution

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

dns_local-2.1.2-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file dns_local-2.1.2.tar.gz.

File metadata

  • Download URL: dns_local-2.1.2.tar.gz
  • Upload date:
  • Size: 20.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for dns_local-2.1.2.tar.gz
Algorithm Hash digest
SHA256 9c0197cd4170a560ede719f34d21ff76f7249de90eeef283be841b58d195c76e
MD5 36442e099e08ea1913cbb7d283d3bb49
BLAKE2b-256 deb3dc88d6798bce92162c630850103ee1d64645cd8c9c0fe0b61959757ab238

See more details on using hashes here.

File details

Details for the file dns_local-2.1.2-py3-none-any.whl.

File metadata

  • Download URL: dns_local-2.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for dns_local-2.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b00fa9a1672fbd3339e5e1fddd45372a68d44af8b196f1854e9848df91824df4
MD5 0bfd157aae533e8b14f75b58b2291f0d
BLAKE2b-256 6f09f20ce333e63648f0959ad12c1bfb11ddf1337ba1de2adddcdac6932af56a

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