/route_tracer

Get the information of the node that our packet gone through when reaching to a domain.

Primary LanguageJavaScriptMIT LicenseMIT

Route Tracer

Get the information of the node that our packet gone through when reaching to a domain. The website used computer's command tracert (this is in window, if it's in linux the application would use traceroute).

Tech used

Setup

Before downloading the application, make sure your system have Microsoft Visual C++ 14 or above before you can correctly install required python libraries. Easiest solution would be to download Visual Studio and installing the C++ tools from it.

To setup the project you'll just need to make sure python and pip3 is installed on your machine. Then, clone this repository to a folder that you want on your machine. After that create a virtual environment using virtualenv. Although it's not required, it's recommended to use it.

After you've created a virtual environment for the cloned project, open a terminal in the directory that you've cloned this project to, activate the virtual environment using . ./venv/Scripts/activate. Then execute pip3 install -r requirements.txt to install all the libraries that the project needs.

Then after that, you'll need to create a .env file in the application folder to store your IPINFO access token.

Running the project

Well, setting up the project might be hard, but to run the application, just run python app.py. Which you can then open up the web application on http://127.0.0.1:5000 or http://localhost:5000

Though, if you need to access the application on another device, you could run the following command on your terminal. flask run --host=0.0.0.0

Demo

You can see the application in action here

Features

  • Logging
  • Old route is saved (more than 10 minute, that route's previous history would be deleted)
  • responsive design
  • Interactive interface (edges and vertices can be clicked to view their details)

Screenshots

Main Page (desktop)

main page (desktop)

Tracing Google

Tracing Google

Selecting a Vertice

Selecting a vertice on the map

Selecting a Edge

Selecting a edge on the map

Mobile View

Viewing page in mobile mode

Tablet View

Viewing page in tablet mode

If you found any bugs or suggestion for improvement, feel free to open an issue for the repo.