A lightweight yet useful proxy DNS server
Project description
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
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
File details
Details for the file simpledns-0.1.4.tar.gz
.
File metadata
- Download URL: simpledns-0.1.4.tar.gz
- Upload date:
- Size: 64.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83a661afccb531c9d98f8a76a21ee42a9d80ffd2159b1709633551b0942b356c |
|
MD5 | c82c5c019b0c9693c0c373e6e2d33fec |
|
BLAKE2b-256 | c921151f92631dd9d454fa74fe380508369bf654016a17c3e6c179554edf65a4 |