steemDNS - 'Zero trust' DNS server for Steem - Get your .STEEM

in steemit •  8 years ago  (edited)

Hi!
Ever since @Someguy123 released his DNS server for Steem I've been thinking about how it would be possible to remove the need of trusting a DNS server. It didn't take a lot of time to realize that it is possible to just proxy all the DNS requests sent and intercept only domains that end with "*.username.steem", but due to Uni taking up more time than expected I didn't have time to begin working on a solution until now. So without further ado, I present to you my steemDNS proxy.

Image of steemDNS in action

Description

Basically it's a simple DNS proxy that intercepts .steem domains and finds out the IP they lead to, any other DNS request is just redirected to Google's DNS servers (This can be set to any other DNS server at your discretion in the code). Currently it uses @Someguy123's implementation of the DNS field on profiles, but due to it being somewhat limited (I plan to update this in a future patch to allow for more fine-grained control over TTS settings etc.).
So currently the proxy ONLY ALLOWS username.steem records (@-records with an IP).

Installation

  • Step 1: Install NodeJS

  • Step 2: Git-clone the repo (or download it from GitHub directly) - https://github.com/novium/steemDNS

  • Step 3: Open a terminal window, cd to the right directory and run "npm install"

  • Step 4: Run "node app.js", this might require sudo/admin privileges on some systems (Linux etc.)

  • Step 5: Add "127.0.0.1" as your primary DNS server, google how to do it ;)

  • Step 5a. Go to https://dns.steem.network/ (By @Someguy123) to add a DNS record on your profile, I plan to add this functionality later.

  • Step 6: Try it somewhere like on http://someguy123.steem

Current issues

  • All .steem queries need a timeout, will fix soon :)
  • Only username.steem "topdomains" work.
  • Tool to add DNS records to your profile.
  • Revise the DNS format on the profile (aka. DNS v2)
  • It booped when I tried to git push from bash on windows, I shall look into why later!

GitHub repository

https://github.com/novium/steemDNS (MIT Licensed)

I will try to answer questions continuously during the evening, feel free to contribute to the repo!

~novium.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Congratulations @novium! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 3 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!