Skip to content

nicholasbergesen/dns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DNS

Golang Implementation of a dns server based on the RFC doc https://www.ietf.org/rfc/rfc1035.txt

This implementation attempts to create the simplest architecture shown below:

                                           Local Host          |  Foreign
                                                               |
+---------+               +----------+           +----------+  |  +--------+
|         | user queries  |          |queries    |  filter  |  |  |        |
|  User   |-------------->|          |---------->|  blocked |--|->|Foreign |
| Program |               | Resolver |           +----------+  |  |  Name  |
|         |<--------------|          |<------------------------|--| Server |
|         | user responses|          |responses                |  |        |
+---------+               +----------+                         |  +--------+
                            |     A                            |
            cache additions |     | references                 |
                            V     |                            |
                          +----------+                         |
                          |  cache   |                         |
                          +----------+                         |
  • Uses Google's 8.8.8.8 name server as the foreign server.
  • Use block.txt to add a list of urls to block, add each entry on a new line, only exact match supported.
  • Logs written to dns-{date}.log file