Skip to content

ConanoutlooklvTBS/dnstwister

 
 

Repository files navigation

dnstwister

A Heroku-hosted version of the very excellent dnstwist.

production development
Production Branch Build Status Development Branch Build Status
Production Branch Coverage Status Development Branch Coverage Status

Deploy

dnstwist vs. dnstwister

In the author's words, dnstwist helps you "...find similar-looking domains that adversaries can use to attack you..."

This project, dnstwister, gives you access to the power of dnstwist via a convenient web interface and offers csv/json reports and a fully featured RESTful API.

And it's 100% free.

dnstwister is hosted at https://dnstwister.report.

dnstwist module

This project currently uses a modified version of dnstwist, in dnstwister/dnstwist.

I have kept the original dnstwist README and LICENCE but I have applied an "Unlicense" to dnstwister.

Though the licences are different (dnstwist uses an Apache licence), this is an acceptable use of dnstwist in my project.

Contributors

A note on running dnstwister yourself

Some of the more advanced functionality of dnstwister.report (email subscriptions, asynchronous web UI, "noisy" domain filtering etc) is built off infrastructure beyond the core Python Flask stack behind dnstwister - for instance PostgreSQL & REDIS databases and CloudFlare Workers. Some of the code that supports this functionality is not available in this repository as it forms the core of the dnstwister.report service.

The fundamental functionality supporting the generation of a web-based report on a domain via the web interface will always remain available in this repository.

Developing dnstwister

Once-off setup:

pip install pipenv
pipenv install --dev

Running:

pipenv run python local_server.py

And browse via http://localhost:5000

Running dnstwister using Docker

If you don't have Docker installed, you can click here for Docker CE, and follow the installation steps.

Building and Running locally

# Cloning latest source code
git clone https://github.com/thisismyrobot/dnstwister

# Changing directory
cd dnstwister

# Checkout to the stable branch i.e. heroku-deploy
git checkout heroku-deploy

# Building dnstwister image using Dockerfile
docker build -t dnstwister .

# Running the application inside a container
docker run -td -p 5000:5000 --name myapp dnstwister

Now, go to http://localhost:5000 using any browser to use dnstwister.

Fetching pre-built image

Alternatively, you can pull the pre-built image from DockerHub, and run locally. This way, you wouldn't have to wait for the build time. The image present in docker hub is from the stable branch heroku-deploy.

docker pull dnstwister/dnstwister:2.9.3
docker run -td -p 5000:5000 --name myapp dnstwister/dnstwister:2.9.3

Now, go to http://localhost:5000 using any browser to use dnstwister.

Tests

Running:

pipenv run py.test

Say hello

I'd love to hear your feedback so email me, fire off a tweet in my general direction or you can just say thanks!... :)

About

Domain name permutation as a service

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 72.5%
  • JavaScript 13.6%
  • HTML 10.6%
  • CSS 3.2%
  • Dockerfile 0.1%