Skip to Content
Support Palestine ๐Ÿ‰ย ย โฌฉย ย Know what's happening โ†’
ProjectsRedroute

thumbnail

RedRoute is a conceptual network simulation tool designed to visualize and compute the shortest path between two hosts in a complex network topology. Built using Python, NetworkX, Tkinter, and Matplotlib, RedRoute helps users better understand network routing by visualizing paths, nodes, and their interconnections.

Actions

  1. ๐Ÿ—ƒ๏ธ Download Windows EXE File ~v1.0.0

  2. Open GitHub Repository source for this project.

๐Ÿ“Œ Features

  • Interactive GUI built with Tkinter, allowing users to select source and destination hosts.
  • Shortest Path Calculation using NetworkXโ€™s graph algorithms to find the optimal route between any two hosts.
  • Dynamic Visualization of the network topology with Matplotlib, displaying nodes (hosts and switches) and edges (connections) clearly.
  • Red-themed Design for an intuitive and aesthetically pleasing user interface.

๐Ÿ“Œ Installation

1. Clone the repository

git clone https://github.com/s-m-quadri/redroute.git cd redroute

2. Install dependencies

Make sure Python 3.12.9 is installed. Then, install the necessary packages:

pip install -r requirements.txt

requirements.txt should include:

networkx matplotlib tkinter

๐Ÿ“Œ Usage

  1. Launch the application by running main.py:

    python main.py
  2. Select Source and Destination:

    • Use the dropdown menus to choose the source and destination hosts.
  3. Find the Shortest Path:

    • Click the โ€๐Ÿ” Find Shortest Pathโ€ button to calculate the path.
    • The shortest path will be visualized on the network graph, with red edges highlighting the selected path.
  4. View Status:

    • The status bar will update to show the progress of the calculation (e.g., โ€œFinding shortest pathโ€ฆโ€ or โ€œPath found: H0 โžœ S0 โžœ S4 โžœ H7โ€).

๐Ÿ“Œ PyInstaller Executable

You can also download the RedRoute executable built with PyInstaller. The .exe file, packaged using setup.spec, is available in the Releasesโ€‰ section of this repository.

๐Ÿ“Œ Network Topology

The network topology is based on a series of interconnected switches with hosts distributed in a circular pattern. Switches are placed in a structured grid layout to ensure a variety of routing possibilities, which allows the app to find meaningful routing paths between any selected hosts.

๐Ÿ“Œ License

This project is licensed under the GNU General Public License (GPL) - see the LICENSE file for details.

๐Ÿ“Œ Contact Support

For any issues or support, please contact: Email: dev.smq@gmail.com



๐Ÿ’ก

Some of my latest posts on LinkedIn

Last updated on