Skip to content

itsbrunodev/nwiz

Repository files navigation

Warning

This is an early beta version of the project. It is not fully featured and may contain bugs. Please submit any issues and/or suggestions to the Issues page.

nwiz

A tool for generating Cisco IOS scripts from a network topology you build or import.

About

nwiz creates Cisco IOS command scripts from a network topology. You can import existing networks from Packet Tracer or build your own.

The tool is accessible from nwiz.itsbruno.dev or by downloading the standalone application from the Releases page.

Core Features

  • Build network topologies with routers, switches, and end devices.
  • Generate complete Cisco IOS configurations from your topology.
  • Import your existing Packet Tracer networks.
  • Export your network as a shareable code.
  • Visualize your network as an interactive graph or a text-based tree.
  • Validate your configuration in real-time to find issues.
  • Save and manage multiple network designs locally in your browser.

Tech Stack

Roadmap to 1.0.0

Here's a look at what I'm working on to get nwiz ready for a stable 1.0.0 release.

  • Command Highlighting: Highlight parameters of commands in the UI.
  • Custom Interfaces: Ability to add custom interfaces to devices.
  • Dynamic Routing: Support for OSPF to enable more complex network designs.
  • More Devices: Layer 3 switches to allow for inter-VLAN routing.
  • Advanced Switching: Configurations for VTP (VLAN Trunking Protocol) and EtherChannel.
  • Expanded Security: Add options for DHCP Snooping and Port Security.
  • NAT (Network Address Translation): Support configuration for NAT, including defining inside/outside interfaces, address pools, and rules for translating private IPs to public ones.
  • ACL Configuration: Interface for creating Access Control Lists (standard and extended) and applying them to router interfaces to filter traffic.
  • IPv6 Addressing: Support for adding IPv6 addresses to device interfaces.

How to Use

Check out the Wiki to learn how to use nwiz.

Examples

Import from Packet Tracer

You can import a network you already built in Packet Tracer.

  1. Download the Packet Tracer script module. You can get it here.
  2. Open Packet Tracer. Go to Extensions > Scripting > Configure PT Script Modules. Click Add to import the nwiz.pts file.
  3. Select the nwiz script module from the list. Click Debug.
  4. A new window will open. If the console has text, click Clear. Click Start.
  5. The script will print a JSON object. Select all the text in the console and copy it.

Note

The script only generates a list of devices and their interface connections.

  1. Go to the nwiz website at nwiz.itsbruno.dev.
  2. Click the Import button. Paste your copied text into the "Packet Tracer response" input.
  3. Click Import to load your network.

Run Locally

You can run the application on your own machine.

Prerequisites

  • Node.js
  • Rust and Cargo

Setup

Clone the project repository.

git clone https://github.com/itsbrunodev/nwiz.git

Navigate into the project directory.

cd nwiz

Install the required dependencies.

pnpm install

Run the Development Server

Start the Vite development server.

pnpm dev

Alternatively, you can use the pnpm tauri dev command to build and run the application using Tauri.

Build the Desktop App

You can build the application for your operating system.

Run the build command.

pnpm tauri build

The installer will be in the src-tauri/target/release/bundle/ directory.

License

nwiz is under the GPL-3.0 license.

About

A tool for generating Cisco IOS scripts from a network topology you build or import.

Topics

Resources

License

Stars

Watchers

Forks