Python based DNS resolver tool - Flask provides UI
Install Python 3 - Stable version
MAC
brew install python3 To get brew, check out this https://brew.sh
Linux To compile and run "dnsresolver" tool. Create Pythong virtual environment
$ python3 -m venv venv
$ source venv/bin/activate
Install required modules inside the virtual environment
$ pip3 install flask dnspython python-whois
Then start the tool, by default it will use port 5000
$ ./start.sh
Access dnsresolver via browser.
http://PUBLIC_IP:5000
If you would like to access with your subdomain (ssl), use nginx as reverse proxy and configure SSL
To stop the app.
$ ./stop.sh
Troubleshooting In case app is not starting, check the log file to troubleshoot further
$ tail -f /var/log/dnsresolver-error.log
Make sure required python modules are installed in virtualenvironment.
i.e. dns.resolver, whois
IMPORTANT NOTE Tested this tool in Ubuntu 24.04.x LTS server only. It's purely based on Python and Flask should work well with other distros as well.