Skip to main content

A DNS forwarder using Shadowsocks as the server

Project description

PyPI version Build Status

A DNS forwarder using Shadowsocks as the server.

ShadowDNS creates a DNS server at localhost.

Experimental; use with caution.



brew install swig
git clone
cd M2Crypto
pip install .
pip install shadowdns


Install M2Crypto (Google an M2Crypto Windows installer for your python version and install it. Might be complicated, need someone to write a help here).

easy_install pip
pip install shadowdns

Debian / Ubuntu:

apt-get install python-pip python-m2crypto
pip install shadowdns


yum install m2crypto python-setuptools
easy_install pip
pip install shadowdns


Create a config file /etc/shadowdns.json (or put it in other path). Example:

    "local_address": "",

Explanation of the fields:

Name Explanation
server the address your server listens
server_port server port
local_address the address your local listens
password password used for encryption
method encryption method, “aes-256-cfb” is recommended
dns DNS server to use

Run sudo ssdns -c /etc/shadowdns.json on your local machine.

Set your DNS to



Bugs and Issues

Please visit Issue Tracker

Mailing list:

Project details

Release history Release notifications

History Node


This version
History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
shadowdns-0.1.2.tar.gz (5.2 kB) Copy SHA256 hash SHA256 Source None Jun 12, 2014

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page