ECCM ist ein webbasiertes Tool zur Dokumentation und Verwaltung physischer Netzwerkverkabelungen. Es bildet Switches, Patchfelder und andere NetzwerkgerΓ€te mit ihren Ports visuell ab und ermΓΆglicht die Verwaltung von Verbindungen, VLANs, Port-Konfigurationen und mehr.
- GerΓ€te (Switches, Patchfelder etc.) mit frei wΓ€hlbarer Portanzahl anlegen
- Individuelle GerΓ€tefarben zur visuellen Unterscheidung
- Flexible Port-Layouts: Einreihig, zweireihig, Dual-Link-Modus
- Konfigurierbare Port-Nummerierung (LinksβRechts, ObenβUnten, UntenβOben)
- Port-Aliase und benutzerdefinierte Port-Namen
- Zwei freie Ports anklicken um eine Verbindung zu erstellen
- Verbindungstabelle mit Suchfunktion
- Klick auf eine Verbindung hebt beide Enden visuell hervor
- Automatische Peer-Erkennung und -Anzeige
- VLANs pro Profil definieren (ID 1β4094, Name, Farbe)
- Mehrere VLANs gleichzeitig einem Port zuweisen (Multi-Select)
- Farbige VLAN-Indikatoren direkt auf den Ports
- VLAN-Synchronisation: Zuweisung auf einer Seite wird automatisch auf die Gegenseite ΓΌbertragen
- VLANs werden in der Verbindungstabelle angezeigt
- Linkgeschwindigkeit (100 Mbit β 100 Gbit)
- Individuelle Port-Farben mit Sync zur Gegenseite
- Notizen (bis 150 Zeichen)
- VLAN-Zuweisung per Checkbox
- βVerbunden mit"-Feld (manuell ΓΌberschreibbar)
- Reservierte Ports (z. B. WAN, Management)
- VollstΓ€ndige Port-Informationen beim Γberfahren jedes Ports
- Zeigt: Port, Alias, Peer, Status, Speed, VLANs, Notiz
- Login-System mit bcrypt-Passwort-Hashung
- Rollen: Admin und Benutzer
- Granulare Berechtigungen pro Profil und Benutzer:
- Ansehen, Patchen, Patch hinzufΓΌgen, GerΓ€t bearbeiten, GerΓ€t hinzufΓΌgen, LΓΆschen, Verwalten, Export, Backup
- Profil-Sharing zwischen Benutzern
- Passwort-ZurΓΌcksetzung per E-Mail
- Unbegrenzte Profile pro Benutzer
- Erstellen, Umbenennen, Duplizieren, LΓΆschen
- Export einzelner Profile als JSON
- Profil-EigentΓΌmer mit vollstΓ€ndigen Rechten
- Benutzerverwaltung (CRUD)
- SMTP / E-Mail-Konfiguration
- E-Mail-Vorlagen-Editor mit Platzhaltern
- Datenbank-Konfiguration und -Test
- Backup aller Profile und Wiederherstellung
- Profil-Import aus JSON-Dateien
- Allgemeine Einstellungen (App-Name, Standard-Sprache)
- VollstΓ€ndig ΓΌbersetzt: Deutsch und Englisch
- Globale Standard-Sprache konfigurierbar
- Pro-Benutzer Spracheinstellung
- Alle UI-Elemente, Tooltips, Fehlermeldungen und Admin-Bereiche ΓΌbersetzt
- Benachrichtigungen bei Profil-Γnderungen (GerΓ€te, Verbindungen)
- Abonnierbare Benachrichtigungen pro Profil
- Anpassbare E-Mail-Vorlagen
- Dark Theme (Standard)
- Light Theme
- Per-Benutzer Einstellung
- PHP 7.4+ (empfohlen: PHP 8.x)
- MySQL 5.7+ oder MariaDB 10.3+
- Apache mit
mod_rewrite(oder nginx) - PHP-Erweiterungen:
pdo,pdo_mysql,mbstring
- Dateien auf den Webserver kopieren (z. B. nach
/var/www/html/eccm/) install.phpim Browser aufrufen:http://dein-server/eccm/install.php- Datenbank-Verbindung und Admin-Konto konfigurieren β βInstallieren" klicken
install.phplΓΆschen (Sicherheitsempfehlung!)- Einloggen:
http://dein-server/eccm/
π‘ Bei der Installation wird das Admin-Konto direkt konfiguriert β es gibt keinen festen Standard-Login.
| Aktion | Beschreibung |
|---|---|
| Klick auf freien Port | Port auswΓ€hlen (zweiten Port klicken zum Verbinden) |
| Rechtsklick auf Port | Port-Einstellungen ΓΆffnen (Speed, VLANs, Farbe, Notiz) |
| Alt+Klick auf Port | Alias vergeben |
| Strg+Klick auf Port | Als reserviert markieren |
| Hover ΓΌber Port | Tooltip mit allen Port-Informationen |
| Klick auf Verbindungszeile | Beide Enden hervorheben |
eccm/
βββ index.php # Hauptanwendung
βββ login.php # Login-Seite
βββ logout.php # Logout
βββ forgot_password.php # Passwort vergessen
βββ reset_password.php # Passwort zurΓΌcksetzen (Token)
βββ admin.php # Admin-Panel
βββ install.php # Installer (nach Setup lΓΆschen!)
βββ .htaccess # Apache-Sicherheitsregeln
βββ database.sql # SQL-Schema (Referenz)
βββ api/
β βββ profiles.php # AJAX: Profile, VLANs, Berechtigungen
β βββ admin.php # AJAX: Benutzer, SMTP, Templates
β βββ notifications.php # AJAX: E-Mail-Benachrichtigungen
βββ includes/
β βββ config.php # Standard-Konfiguration
β βββ config.local.php # Lokale Konfiguration (auto-generiert)
β βββ db.php # PDO-Datenbankverbindung
β βββ auth.php # Authentifizierung & Session
β βββ i18n.php # Γbersetzungen (DE/EN)
β βββ mailer.php # SMTP-Mailer
β βββ notifications.php # Benachrichtigungs-Logik
βββ assets/
βββ eccm-core.js # ECCM Rendering-Engine
Im Admin-Panel unter E-Mail / SMTP konfigurierbar. UnterstΓΌtzt:
- PHP
mail()(Standard, kein SMTP nΓΆtig) - SMTP mit TLS/SSL (z. B. Gmail, Office 365, eigener Mailserver)
Im Admin-Panel unter Datenbank konfigurierbar. Γnderungen werden in includes/config.local.php gespeichert.
- PasswΓΆrter werden mit bcrypt gehasht
- CSRF-Schutz auf allen Formularen
- Session-basierte Authentifizierung (7 Tage Lifetime)
- Automatischer Redirect zum Login bei abgelaufener Session
.htaccessschΓΌtzt sensible Dateien und Verzeichnisse- Prepared Statements gegen SQL-Injection
Kommt bald
MIT License β siehe LICENSE
ECCM is a web-based tool for documenting and managing physical network cabling. It visually represents switches, patch panels, and other network devices with their ports, enabling management of connections, VLANs, port configurations, and more.
- Create devices (switches, patch panels, etc.) with any number of ports
- Individual device colors for visual distinction
- Flexible port layouts: single-row, dual-row, dual-link mode
- Configurable port numbering (LeftβRight, TopβBottom, BottomβTop)
- Port aliases and custom port names
- Click two free ports to create a connection
- Connection table with search functionality
- Click a connection to visually highlight both ends
- Automatic peer detection and display
- Define VLANs per profile (ID 1β4094, name, color)
- Assign multiple VLANs to a port simultaneously (multi-select)
- Colored VLAN indicators directly on ports
- VLAN sync: assignment on one side is automatically mirrored to the peer
- VLANs displayed in the connection table
- Link speed (100 Mbit β 100 Gbit)
- Individual port colors with peer-side sync
- Notes (up to 150 characters)
- VLAN assignment via checkboxes
- "Linked to" field (manually overridable)
- Reserved ports (e.g. WAN, Management)
- Full port information on hover over any port
- Shows: Port, Alias, Peer, Status, Speed, VLANs, Note
- Login system with bcrypt password hashing
- Roles: Admin and User
- Granular per-profile, per-user permissions:
- View, Patch, Add Patch, Edit Device, Add Device, Delete, Manage, Export, Backup
- Profile sharing between users
- Password reset via email
- Unlimited profiles per user
- Create, rename, duplicate, delete
- Export individual profiles as JSON
- Profile owner with full permissions
- User management (CRUD)
- SMTP / email configuration
- Email template editor with placeholders
- Database configuration and testing
- Backup all profiles and restore
- Profile import from JSON files
- General settings (app name, default language)
- Fully translated: German and English
- Global default language configurable
- Per-user language preference
- All UI elements, tooltips, error messages, and admin areas translated
- Notifications on profile changes (devices, connections)
- Subscribable notifications per profile
- Customizable email templates
- Dark theme (default)
- Light theme
- Per-user preference
- PHP 7.4+ (recommended: PHP 8.x)
- MySQL 5.7+ or MariaDB 10.3+
- Apache with
mod_rewrite(or nginx) - PHP extensions:
pdo,pdo_mysql,mbstring
- Copy files to your web server (e.g.
/var/www/html/eccm/) - Open
install.phpin your browser:http://your-server/eccm/install.php - Configure database connection and admin account β click "Install"
- Delete
install.php(security recommendation!) - Log in:
http://your-server/eccm/
π‘ The admin account is configured during installation β there is no fixed default login.
| Action | Description |
|---|---|
| Click on free port | Select port (click second port to connect) |
| Right-click on port | Open port settings (speed, VLANs, color, note) |
| Alt+Click on port | Set alias |
| Ctrl+Click on port | Mark as reserved |
| Hover over port | Tooltip with full port information |
| Click on connection row | Highlight both ends |
eccm/
βββ index.php # Main application
βββ login.php # Login page
βββ logout.php # Logout
βββ forgot_password.php # Forgot password
βββ reset_password.php # Reset password (token-based)
βββ admin.php # Admin panel
βββ install.php # Installer (delete after setup!)
βββ .htaccess # Apache security rules
βββ database.sql # SQL schema (reference)
βββ api/
β βββ profiles.php # AJAX: Profiles, VLANs, permissions
β βββ admin.php # AJAX: Users, SMTP, templates
β βββ notifications.php # AJAX: Email notifications
βββ includes/
β βββ config.php # Default configuration
β βββ config.local.php # Local config (auto-generated)
β βββ db.php # PDO database connection
β βββ auth.php # Authentication & sessions
β βββ i18n.php # Translations (DE/EN)
β βββ mailer.php # SMTP mailer
β βββ notifications.php # Notification logic
βββ assets/
βββ eccm-core.js # ECCM rendering engine
Configurable in the admin panel under Email / SMTP. Supports:
- PHP
mail()(default, no SMTP required) - SMTP with TLS/SSL (e.g. Gmail, Office 365, self-hosted)
Configurable in the admin panel under Database. Changes are saved to includes/config.local.php.
- Passwords hashed with bcrypt
- CSRF protection on all forms
- Session-based authentication (7-day lifetime)
- Automatic redirect to login on expired sessions
.htaccessprotects sensitive files and directories- Prepared statements against SQL injection
Coming soon
MIT License β see LICENSE
P.S.: Edited with claude