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.
A tool for generating Cisco IOS scripts from a network topology you build or import.
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.
- 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.
- UI Library: React (via Vite)
- Styling: Tailwind CSS and shadcn/ui
- State Management: Jotai
- Data Visualization: D3.js
- Desktop App: Tauri
- Local Storage: Dexie.js
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.
Check out the Wiki to learn how to use nwiz.
You can import a network you already built in Packet Tracer.
- Download the Packet Tracer script module. You can get it here.
- Open Packet Tracer. Go to Extensions > Scripting > Configure PT Script Modules. Click
Addto import thenwiz.ptsfile. - Select the
nwizscript module from the list. ClickDebug. - A new window will open. If the console has text, click
Clear. ClickStart. - 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.
- Go to the nwiz website at nwiz.itsbruno.dev.
- Click the
Importbutton. Paste your copied text into the "Packet Tracer response" input. - Click
Importto load your network.
You can run the application on your own machine.
- Node.js
- Rust and Cargo
Clone the project repository.
git clone https://github.com/itsbrunodev/nwiz.gitNavigate into the project directory.
cd nwizInstall the required dependencies.
pnpm installStart the Vite development server.
pnpm devAlternatively, you can use the pnpm tauri dev command to build and run the application using Tauri.
You can build the application for your operating system.
Run the build command.
pnpm tauri buildThe installer will be in the src-tauri/target/release/bundle/ directory.
nwiz is under the GPL-3.0 license.