Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Network Commissioning Tool

A desktop GUI tool (Python / Tkinter) for automating the commissioning of network devices over SSH. It lets you run a batch of configuration commands against one or many device IPs at once, track progress per host, capture command output, and includes extras like a card inventory view, per-IP session windows, a live monitor window, and SSH-based screenshot capture.

Features

  • Run a sequence of commissioning commands against multiple device IPs in one batch
  • Live per-host progress tracking (queued / connecting / running / done / failed)
  • Preset command sets (initial setup, software download config, clear database, OAMP interface deletion)
  • Per-IP session window for working with a single device
  • Monitor window for watching multiple hosts at once
  • Card inventory window
  • SSH screenshot capture (renders captured terminal output to a PNG)
  • Auto-ping status check per IP
  • No external services required — works over standard SSH (OpenSSH client or PuTTY's plink)

Requirements

  • Python 3.8+
  • An SSH client available on your system:
    • Windows: OpenSSH Client (Settings → Apps → Optional Features → OpenSSH Client), or PuTTY with plink.exe on your PATH
    • macOS/Linux: ssh is normally already installed
  • Optional, for the screenshot feature: Pillow
    pip install Pillow

Setup

  1. Clone or download this repository.

  2. Open tool.py and fill in your own values where you see bracketed placeholders:

    config software server port [SFTP_PORT] yes
    config software server ip [SFTP_SERVER_IP]
    config software server userid [SFTP_USERNAME] [SFTP_PASSWORD]
    config software server root [SFTP_REMOTE_PATH]
    config software upgrade auto commit [FIRMWARE_VERSION] nobackupforce yes

    Replace each [...] with your actual server port, server IP, SFTP username/password, remote path, and firmware version string. Do not commit real values back to a public repo — see the Security notes below.

  3. Run it:

    python tool.py

Usage

  1. Add the device IP(s) you want to commission.
  2. Choose or edit the command set to run (presets are provided, or write your own).
  3. Enter the SSH login type/username/password for the devices.
  4. Click Run to execute the commands across all listed IPs.
  5. Watch per-host progress in the main window, or open the Monitor window for a live multi-host view.

Security notes

  • This tool disables SSH host-key verification (StrictHostKeyChecking=no) so it can connect to freshly-commissioned devices that don't yet have a known host key. This is intentional for this use case, but it does mean the tool won't warn you if a device's identity changes — only use it on networks/devices you trust.
  • The admin/admin default login is a common factory-default credential, provided as a convenience for freshly-reset devices — not a real leaked credential.
  • Never commit real server IPs, ports, usernames, passwords, or firmware version strings into this repository. Keep them local, or load them from a config file/environment variable that's excluded via .gitignore.

License

MIT — see LICENSE. You're free to use, modify, and distribute this software, including for commercial purposes, as long as the original copyright notice is included.

About

Desktop tool for automated SSH-based commissioning and management of network devices.

Topics

Resources

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages