Giter VIP home page Giter VIP logo

nameinator's Introduction

NAMEinator Build Status Code Climate

Are you a power-user with 5 minutes to spare? Do you want a faster internet experience?

Try out NAMEinator. It hunts down the fastest DNS servers available for your computer to use. NAMEinator runs a fair and thorough benchmark using standardized datasets in order to provide an individualized recommendation. NAMEinator is completely free and does not modify your system in any way. This project began as a 20% project at Google.

NAMEinator runs on Windows (10), Linux (tested on Ubuntu 16.04) and is available with a a command-line interface and in the near future with a graphical user interface.

This project has been forked from google/namebench. While it seems that the initial Author wanted to move the application towards GO with another application use - I just wanted to continue and maintain the python variant as it did what it should. After investigation the python code showed up some very frustrating complications, which were leading to my decision to reimplement the initial application idea - also in GO.

edit: This project is a fork of mwiora/NAMEinator - there was an issue preventing use of it with go 1.16 and this temporary fork was created to add a quick fix until the original project is updated

requirements and getting started

prerequisite: the system running this software must have the tool "nslookup" installed. windows users are fine :)

  • download and run the corresponding compiled files from releases. execute them on the desired platform

or

go get github.com/ChristianWilkie/NAMEinator
cd $GOPATH/src/github.com/ChristianWilkie/NAMEinator/
go build
./NAMEinator

help & start parameters

$ ./NAMEinator.exe -h
Usage of C:\Users\Administrator\go\src\NAMEinator\NAMEinator.exe:
  -contest=false
        enable or disable a contest against your locally configured DNS server (default true)
  -debug=true
        enable or disable debugging (default false)
  -domains int
        number of domains to be tested (default 100)
  -nameserver string
        specify a nameserver instead of using defaults

sample output of current version (debug off)

$ ./NAMEinator.exe
starting NAMEinator - version 0.2 alpha
understood the following configuration: {numberOfDomains:100 debug:false contest:true nameserver:}
-------------
NOTE: as this is an alpha - we rely on feedback - please report bugs and featurerequests to https://github.com/ChristianWilkie/NAMEinator/issues and provide this output
OS: windows ARCH: amd64
-------------
trying to load nameservers from datasrc/nameserver-globals.csv
trying to load domains from datasrc/alexa-top-2000-domains.txt
LETS GO - each dot is a completed domain request against all nameservers
....................................................................................................
finished - presenting results:

172.31.0.2:
Avg. [60.109104ms], Min. [313.4µs], Max. [899.4558ms]

8.8.8.8:
Avg. [46.839882ms], Min. [266.8µs], Max. [1.3698924s]

8.8.4.4:
Avg. [38.543425ms], Min. [409.2µs], Max. [555.3005ms]

208.67.222.222:
Avg. [48.621088ms], Min. [217.6µs], Max. [614.7506ms]

2001:470:20::2:
Avg. [82.29074ms], Min. [280.1µs], Max. [1.7591384s]

156.154.71.1:
Avg. [56.059446ms], Min. [269.4µs], Max. [1.2002193s]

216.146.35.35:
Avg. [93.600686ms], Min. [441.6µs], Max. [664.3157ms]

Au revoir!

checklist

basics

  • perform DNS Requests
  • iterate through given nameservers (basic set) and measure time
  • randomly select domain names from alexa top 2000 list
  • produce cli report
  • test on windows and linux
  • release cli version

nice2have

  • implement test driven development

to subsitute namebench 1.3.1

  • support localization of execution
  • select the best suitable DNS server
  • provide basic GUI which has the CLI version as its base
  • produce html/pdf report
  • test on windows and linux
  • release gui version

reimplement functions that were planned, but did not work with namebench 1.3.1

  • detect censorship and manipulated dns entries
  • optional upload of results

new features

  • perform identification of best usable dns server not only based on location, but based also on network path traces
  • test caching - disable cache if this option is selected and ask for the domains a second time (increasing number of domains)

nameinator's People

Contributors

christianwilkie avatar morgankevinj avatar mrwiora avatar smoak avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.