NetDoc is a desktop application for Windows and Linux that simplifies the creation of technical documentation for network devices (routers, switches, firewalls).
Network technicians waste hours manually documenting device after device in Word or Excel. NetDoc centralises everything in a single interface and generates professional documents in one click — ready for the archive and for the installer on site.
Enter hostname, model, firmware, VLAN interfaces, VLANs and interfaces for each device, then export everything in one click in the formats you prefer.
- Manage multiple devices in the same session
- Sections for VLAN Interfaces (number, description, IP, subnet, prefix, gateway, installer flag), VLANs and Interfaces (optic type, multiple VLANs, neighbor)
- Export to archive PDF (full document), installer PDF (compact version with only field-needed data), Word (DOCX), TXT, CSV
- Real-time validation of IP addresses, subnets and gateways
- Incremental search in dropdowns (models, subnets, optic type)
- Automatic session persistence: data is saved and restored on reopen
- Protection against CSV formula injection (OWASP)
Download the latest version from the Releases page.
- Windows: run
NetDoc.exe— no installation required - Linux: run
NetDoc— you may need to make it executable withchmod +x NetDoc
On first launch, Windows may show a security warning. This is normal for applications not signed with a digital certificate.
To run the program:
- Click More info
- Click Run anyway
Requirements: Python 3.12+
With uv:
uv venv
uv pip install -r requirements.txt
.venv/Scripts/python netdoc.py # Windows
.venv/bin/python netdoc.py # LinuxWith standard pip:
python -m venv .venv
.venv/Scripts/pip install -r requirements.txt # Windows
.venv/bin/pip install -r requirements.txt # Linux
python netdoc.pyuv pip install pyinstaller
pyinstaller NetDoc.specThe resulting dist/NetDoc.exe is standalone and does not require Python to be installed.
netdoc.py — PyQt6 entry point
requirements.txt
app/
├── constants.py — shared constants (PREFISSO_NETMASK, TIPI_OTTICA)
├── validation.py — IP, subnet and gateway validation
├── version.py — application version
├── model/
│ ├── dispositivo.py — Dispositivo, VlanInterface, VLAN, Interfaccia dataclasses
│ └── session.py — JSON session persistence (with SCHEMA_VERSION migrations)
├── export/
│ ├── _helpers.py — shared PDF styles and utilities
│ ├── pdf.py — archive and installer PDF export
│ ├── docx.py — Word export
│ ├── txt.py — plain text export
│ └── csv_writer.py — CSV export (formula injection protection)
└── ui/
├── main_window.py — main window, splitter, device navigation
├── widgets.py — reusable SearchableComboBox
└── sections/
├── generali.py — hostname, model, firmware
├── vlan_interface.py — VLAN Interface rows with color validation
├── vlan.py — VLAN rows
├── interfacce.py — interface rows with multiple VLAN list
├── note.py — free text area
└── export.py — export dialog
GPL v3 — see LICENSE
NetDoc è un'applicazione desktop per Windows e Linux che semplifica la creazione della documentazione tecnica di dispositivi di rete (router, switch, firewall).
I tecnici di rete perdono ore a documentare manualmente dispositivo per dispositivo su Word o Excel. NetDoc centralizza tutto in un'unica interfaccia e genera documenti professionali in un clic — pronti per l'archivio e per l'installatore sul campo.
Inserisci hostname, modello, firmware, VLAN interface, VLAN e interfacce per ogni dispositivo, poi esporta tutto in un clic nei formati che preferisci.
- Gestione di più dispositivi nella stessa sessione
- Sezioni per VLAN Interface (numero, descrizione, IP, subnet, prefisso, gateway, flag installatore), VLAN e Interfacce (tipo ottica, VLAN multiple, neighbor)
- Esportazione in PDF archivio (documento completo), PDF installatore (versione sintetica con solo i dati necessari sul campo), Word (DOCX), TXT, CSV
- Validazione indirizzi IP, subnet e gateway in tempo reale
- Ricerca incrementale nelle tendine (modelli, subnet, tipo ottica)
- Persistenza sessione automatica: i dati vengono salvati e ripristinati alla riapertura
- Protezione da CSV formula injection (OWASP)
Scarica l'ultima versione dalla pagina Releases.
- Windows: esegui
NetDoc.exe— non è richiesta nessuna installazione - Linux: esegui
NetDoc— potrebbe essere necessario rendere il file eseguibile conchmod +x NetDoc
Al primo avvio Windows potrebbe mostrare un avviso di sicurezza. È normale per applicazioni non firmate con certificato digitale.
Per avviare il programma:
- Clicca su Ulteriori informazioni
- Clicca su Esegui comunque
Requisiti: Python 3.12+
Con uv:
uv venv
uv pip install -r requirements.txt
.venv/Scripts/python netdoc.py # Windows
.venv/bin/python netdoc.py # LinuxCon pip standard:
python -m venv .venv
.venv/Scripts/pip install -r requirements.txt # Windows
.venv/bin/pip install -r requirements.txt # Linux
python netdoc.pyuv pip install pyinstaller
pyinstaller NetDoc.specIl file dist/NetDoc.exe è autonomo e non richiede Python installato.
netdoc.py — entry point PyQt6
requirements.txt
app/
├── constants.py — costanti condivise (PREFISSO_NETMASK, TIPI_OTTICA)
├── validation.py — validazione IP, subnet e gateway
├── version.py — versione applicazione
├── model/
│ ├── dispositivo.py — dataclass Dispositivo, VlanInterface, VLAN, Interfaccia
│ └── session.py — persistenza sessione JSON (con migrazioni SCHEMA_VERSION)
├── export/
│ ├── _helpers.py — stili PDF e utilità condivise tra i formati
│ ├── pdf.py — esportazione PDF archivio e installatore
│ ├── docx.py — esportazione Word
│ ├── txt.py — esportazione testo
│ └── csv_writer.py — esportazione CSV (protezione formula injection)
└── ui/
├── main_window.py — finestra principale, splitter, navigazione dispositivi
├── widgets.py — SearchableComboBox riutilizzabile
└── sections/
├── generali.py — hostname, modello, firmware
├── vlan_interface.py — righe VLAN Interface con validazione colore
├── vlan.py — righe VLAN
├── interfacce.py — righe interfacce con lista VLAN multipla
├── note.py — area testo libero
└── export.py — dialogo di esportazione
GPL v3 — vedi LICENSE


