SimpleDNS
A lightweight yet useful proxy DNS server designed to cope with complicated Internet environment in China, inspired by ChinaDNS , dnsmasq-chinadns and fqdns, powered by Python Twisted.
Requirement
Python 2.7
Twisted
Tornado for using Tornado IOLoop(optional)
Install
Linux/Mac OS X:
$ pip install simpledns
Windows
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
Note that the default cache lifetime depends on the ttl of DNS answer. You may want to set a larger ttl using –min-ttl to extend the cache lifetime.
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
Configuration file is at /usr/local/etc/simpledns/dispatch.conf.
Dispatch conf file uses the same rule as in Dnsmasq. ‘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.
Fake ip list file is at /usr/local/ect/simpledns/iplist/txt. The source is ChinaDNS.
TODO
Config file support
EDNS support
Negative caching
License
The MIT License
Metadata
Release files for simpledns 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| simpledns-0.1.4.tar.gz | 64.2 kB | Without provenance | Details for simpledns-0.1.4.tar.gz |
Release files / simpledns-0.1.4.tar.gz
| Download URL | simpledns-0.1.4.tar.gz |
|---|---|
| Size | 64.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83a661afccb531c9d98f8a76a21ee42a9d80ffd2159b1709633551b0942b356c
|
|
BLAKE2b-256 checksum How to use checksums |
c921151f92631dd9d454fa74fe380508369bf654016a17c3e6c179554edf65a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for simpledns 0.1.4
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.