Skip to main content

A lightweight yet useful proxy DNS server

Project description

SimpleDNS
=========

.. image:: https://badge.fury.io/py/simpledns.png
:target: http://badge.fury.io/py/simpledns

A lightweight yet useful proxy DNS server, inspired by `ChinaDNS <https://github.com/clowwindy/ChinaDNS>`__ , `dnsmasq-chinadns <https://github.com/styx-hy/dnsmasq-chinadns>`__ and `fqdns <https://github.com/fqrouter/fqdns>`__.

Install
-------
::

$ pip install simpledns

Usage
-----

Run ``sudo simpledns`` on your local machine. Then set your DNS server to 127.0.0.1.

::

$ dig www.twitter.com +short
twitter.com.
199.59.149.230
199.59.148.10
199.59.150.7
199.59.150.39

Advanced
--------

::

$ simpledns -h
usage: simpledns [-h] [-b BIND_ADDR] [-p BIND_PORT]
[--upstream-ip UPSTREAM_IP] [--upstream-port UPSTREAM_PORT]
[--query-timeout QUERY_TIMEOUT] [--min-ttl MIN_TTL]
[--max-ttl MAX_TTL] [--cache-size CACHE_SIZE] [-t]
[--hosts-file HOSTS_FILE] [--dispatch-conf DISPATCH_CONF]
[-v {0,1,2}] [-q] [-V]

A lightweight yet useful proxy DNS server

optional arguments:
-h, --help show this help message and exit
-b BIND_ADDR, --bind-addr BIND_ADDR
local address to listen
-p BIND_PORT, --bind-port BIND_PORT
local port to listen
--upstream-ip UPSTREAM_IP
upstream DNS server ip address
--upstream-port UPSTREAM_PORT
upstream DNS server port
--query-timeout QUERY_TIMEOUT
time before close port used for querying
--min-ttl MIN_TTL the minimum time a record is held in cache
--max-ttl MAX_TTL the maximum time a record is held in cache
--cache-size CACHE_SIZE
record cache size
-t, --tcp-server enables TCP serving
--hosts-file HOSTS_FILE
hosts file
--dispatch-conf DISPATCH_CONF
URL dispatch conf file
-v {0,1,2}, --verbosity {0,1,2}
output verbosity
-q, --quiet disable output
-V, --version print version number and exit

Configuration
-------------

Dispatch conf file uses the same rule as in `Dnsmasq <http://www.thekelleys.org.uk/dnsmasq/doc.html>`__. 'Address' and 'Server' rules are supported.

::

address=/example1.com/1.1.1.1
server=/example2.com/1.1.1.2


Default dispatch conf file is from `dnsmasq-china-list <https://github.com/felixonmars/dnsmasq-china-list>`__.


License
-------

The MIT License

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

simpledns-0.1.1.tar.gz (10.5 kB view details)

Uploaded Source

File details

Details for the file simpledns-0.1.1.tar.gz.

File metadata

  • Download URL: simpledns-0.1.1.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for simpledns-0.1.1.tar.gz
Algorithm Hash digest
SHA256 cd62ddb3608ac7b5e692ad68111d35ac8614bc3de6fc166151197a8258d43bfe
MD5 0ae961babb2fa75be1c6f1eef2beebc5
BLAKE2b-256 1ff6d84df0f177fb88a67bbcdf9b03c23bfbd9494c50aa75239b728dee46af60

See more details on using hashes here.

Supported by

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