Just pushed a new project to Github, it’s just a small piece of a live project as I’m usually not at liberty to open-source production code.
The project is called Dennis. It’s a nameserver which can serve customised DNS responses on a per user basis. It’s written in the Go programming language and uses Redis as a fast datastore.
On its own Dennis isn’t very useful but by adding a DNS recursor and a HTTP(S) proxy, Dennis can bypass geo-blocking for thousands of users. It works by identifying users by their IP address, and each user can setup an unlimited number of custom DNS responses.
For a more elaborate description see the project on Github, github.com/namsral/dennis.