Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Tags: morfredus/GatewayLab

Tags

v1.9.3

Toggle v1.9.3's commit message
feat: Mise à jour de la version à 1.9.3 et refactorisation de la docu…

…mentation

v1.9.2

Toggle v1.9.2's commit message
feat: Mise à jour de la version à 1.9.2, ajout de nouveaux OUI et cor…

…rection de l'affichage des appareils en ligne

v1.7.0

Toggle v1.7.0's commit message
Ajout de nouveaux modèles de demande de fonctionnalité, de question e…

…t de rapport de bug pour améliorer la documentation des contributions.

v1.4.3

Toggle v1.4.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Enhance boot logging, topology management, and DHCP features (#83)

* Mise à jour de la version à 1.0.5, correction du filtre « Favoris uniquement » sur la page Historique pour inclure les adresses IP et mise à jour des fichiers associés.

* Mise à jour de la version à 1.0.6, correction du filtre « Favoris uniquement » sur la page Historique pour traiter correctement la réponse de l'API et inclure les adresses MAC et IP.

* Ajout: journal de redémarrage temporaire pour le débogage (Patch 7 / v1.0.7)

Cette mise à jour introduit un nouveau module de journalisation des redémarrages, permettant de capturer la raison du dernier reset (panic, watchdog, brownout, reset logiciel/externe) ainsi que les derniers logs émis avant le reboot, sans nécessiter de moniteur série.

Nouveau module `src/modules/boot_log.h/.cpp` : implémentation d'un buffer circulaire en RAM RTC_NOINIT_ATTR, persistant au reboot suivant dans `/bootlog.json` sur LittleFS (10 derniers démarrages, FIFO). Ajout d'une page `/debug` et d'une API GET/DELETE `/api/bootlog`.

Conçu pour un retrait facile après débogage : toutes les modifications sont marquées "DEBOGAGE TEMPORAIRE" dans le code, avec une procédure de retrait documentée dans `docs/DEVELOPMENT.md`.

* Refactor code structure for improved readability and maintainability

* feat: Update to version 1.0.8 with enhanced boot logging features

- Updated version badge in README.md to 1.0.8.
- Added detailed logging of boot statistics including boot and crash counts, internal temperature, last known state before reset, and periodic runtime statistics in ROADMAP.md.
- Expanded boot log functionality in DEVELOPMENT.md, detailing new features and usage.
- Configured new logging parameters in app_config.h for log buffer size and line length.
- Enhanced web interface for boot log display, including additional metadata in debug.js.
- Updated platformio.ini to reflect new version.
- Modified main.cpp to set last task in boot log during network scan and save operations.
- Improved boot_log module to capture and persist additional runtime statistics and device counts.
- Refactored web_server module to utilize a new route registration method that tracks API calls and page serves for better logging.

* Update site tags for consistency across web pages

- Changed site tag from "Passerelle réseau locale" to "Topologie du réseau" in topology.html
- Updated site tag to "Accueil" in index.html
- Modified site tag to "Historique" in history.html
- Changed site tag to "Logs de Debug" in debug.html

* Ajout d'un en-tête Cache-Control pour éviter le cache du navigateur sur la page de débogage

* Fix boot log loading error handling and response parsing

- Added error handling for non-OK HTTP responses in loadBootLog.
- Changed response handling to first read as text and then parse JSON.
- Improved error logging for JSON parsing failures.
- Updated footer timestamp display on successful load and error conditions.

* Mise à jour de la constante kMagic et ajout d'un message d'erreur pour le montage de LittleFS

* feat: ajout du sondage de broker MQTT avec récupération des informations de version et de clients connectés

* .

* feat: Update project version to 1.1.0 and integrate DHCP passive fingerprinting

- Updated project version in platformio.ini from 1.0.9 to 1.1.0.
- Added DHCP sniffer module for passive fingerprinting of devices on the network.
- Integrated DHCP sniffer into main application flow, allowing for continuous monitoring of DHCP packets.
- Enhanced network scanner to utilize DHCP fingerprints for device enrichment.
- Updated web interface to display new DHCP source information with appropriate styling.
- Added new styles for DHCP and MQTT sources in styles.css.

* Ajoute une trace de déconnexion brève pour les mobiles et regroupe les reconnexions en chaîne

* feat: add manual topology parent declaration for network devices

- Implemented `setTopologyParent` function in NetworkScanner to allow users to manually declare the parent device (AP/repeater/switch) for a network device.
- Updated NetworkDevice structure to include `topologyParent` attribute.
- Enhanced device enrichment with `applyMeshDetection` to identify mesh WiFi devices based on hostname.
- Added API endpoint `/api/topology/parent` to handle topology parent declarations.
- Introduced a new topology visualization page with SVG rendering for network devices and their relationships.
- Updated web interface to allow users to assign parent devices manually and display the network topology.
- Enhanced CSS styles for the topology page for better visual representation.

* feat: add topology root management to network scanner

- Implemented setTopologyRoot and getTopologyRoot methods in NetworkScanner to manage the root of the network topology.
- Added corresponding API endpoints in WebServerModule for setting and getting the topology root.
- Enhanced the web interface to allow users to select and display the current topology root.
- Updated styles and scripts to support the new topology root selection feature.
- Improved tree rendering logic to accommodate user-defined topology roots.

* Refactor code structure for improved readability and maintainability

* feat: Introduce automatic periodic re-identification for generic devices

- Added a periodic rescan feature for devices categorized as "IoT" or "Identification en cours" every 60 minutes.
- Implemented a "Rescan non identifiés" button on the Equipment page to manually trigger a deep scan for all currently generic devices.
- Centralized the identification of generic categories into a shared helper function `isGenericCategory()`.
- Updated the network scanning logic to utilize the new helper for better handling of device categories.
- Enhanced the user interface to reflect the new scanning capabilities and provide feedback during rescans.

* feat: Ajoute la découverte automatique de la topologie réseau par SNMP (v1.4.0)

* feat: Ajoute le taux de confiance pour la découverte automatique de topologie et améliore l'affichage des rattachements dans l'interface

* Ajout de la fonctionnalité de scan croisé multi-sous-réseaux pour améliorer la découverte des appareils dans des configurations NAT complexes dasn la ROADMAP

* feat: Ajoute la date et l'heure des événements dans le journal de redémarrage et met à jour la version à 1.4.2

* feat: Corrige une fuite de socket potentielle dans le scan de ports et met à jour la version à 1.4.3

v1.0.6

Toggle v1.0.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix 'Favorites Only' filter on History page and update version (#81)

* Mise à jour de la version à 1.0.5, correction du filtre « Favoris uniquement » sur la page Historique pour inclure les adresses IP et mise à jour des fichiers associés.

* Mise à jour de la version à 1.0.6, correction du filtre « Favoris uniquement » sur la page Historique pour traiter correctement la réponse de l'API et inclure les adresses MAC et IP.

v1.0.4

Toggle v1.0.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Mise à jour de la version à 1.0.4, correction du filtrage sur la page…

… Historique et ajout de nouveaux types d'événements dans le système de suivi. (#68)

v1.0.3

Toggle v1.0.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
v1.0.0 → v1.0.3 : surveillance continue, score de stabilité et correc…

…tion des boucles de scan (#67)

* up log level (pio.ini -D LOG_LEVEL=4)

* Update project version to 0.8.10 and enhance device naming in network scanner

- Updated PROJECT_VERSION in platformio.ini to 0.8.10.
- Added functions to generate human-readable device names based on model, manufacturer, and category in network_scanner.cpp.
- Enhanced JSON and CSV export functionality to include enriched hostname information.
- Implemented corresponding changes in scan.js to display human-readable names in the UI.
- Updated styles in styles.css for better visibility of device names.

* Scan précis intelligent orienté profil d'équipement (v0.9.0)

Le rescan ciblé devient adaptatif et se décline en deux niveaux :

- Scan rapide : confirmation de l'identité et enrichissement léger
- Scan approfondi : interrogation avancée des services et APIs disponibles

Les modules utilisés (ports, NetBIOS, SSDP, DNS-SD, WS-Discovery,
API multimédia, SNMP...) sont désormais sélectionnés selon le profil
estimé de l'équipement (ordinateur, NAS, imprimante, streaming,
domotique, mobile, etc.) afin de réduire les interrogations inutiles
et améliorer la qualité des informations collectées.

Ajout d'un journal d'enrichissement indiquant les informations
nouvellement découvertes et l'évolution du niveau de confiance.

* fix(rescan): passe précise réellement ciblée sur l'IP visée (v0.9.1)

La passe approfondie introduite en v0.9.0 relançait encore SSDP/UPnP,
DNS-SD et WS-Discovery — des protocoles multicast qui sondent tout le
sous-réseau et ne peuvent pas être restreints à une IP — ce qui faisait
remonter des informations sur d'autres équipements et prenait 20-30s.

_runRescan() est réécrit autour du principe « poser les bonnes questions
à l'équipement ciblé » plutôt que « relancer tous les moteurs de
découverte réseau » :

- Scan rapide (1-3s) : ARP/ICMP, PTR DNS, hostname, présence — rien
  d'autre.
- Scan approfondi (<3s si rien d'exploitable, sinon quelques secondes
  au lieu de 20-30s) : scan TCP unicast des ports de la cible
  uniquement (nouvelle liste kRescanTargetPorts dans port_scanner.*).
  Arrêt immédiat si aucun port/service exploitable. Sinon, le profil
  d'équipement est réévalué à partir des ports découverts et seuls les
  modules pertinents sont lancés en unicast direct : NetBIOS, API
  multimédia (Cast/Sonos/Roku/Samsung), SNMP. Plus aucun module SSDP,
  DNS-SD ou WS-Discovery n'est jamais lancé depuis une passe précise.
- port_scanner.cpp : fingerprint HTTP enrichi (capture du <title> en
  plus de l'en-tête Server:), ajout des sondes API Synology DSM et
  Philips Hue.
- network_scanner.cpp : suppression de l'include ws_discovery_scanner.h
  devenu inutile ; _profileFor() enrichi avec des indices issus des
  ports ouverts (IPP/LPD -> Printer, port 5000/Synology/QNAP -> NAS,
  RPC/NetBIOS/RDP -> Computer).

Version bumpée à 0.9.1 (platformio.ini, README.md) ; CHANGELOG.md et
ROADMAP.md mis à jour ; docs/ARCHITECTURE.md et docs/PROTOCOLS.md
révisés pour refléter la nouvelle architecture de la passe précise et
le statut désormais inutilisé de WsDiscoveryScanner.

* fix(export): corrige l'export CSV pour garantir qu'un équipement occupe une seule ligne physique

* v1.0.0 → v1.0.3 : surveillance continue, score de stabilité et correction des boucles de scan

v1.0.0 :
- Surveillance continue du réseau : sweep ARP léger périodique
  (serviceMonitor(), 1-60 min, persisté NVS), sans tâche FreeRTOS dédiée.
- Identification automatique différée des nouveaux équipements via une
  file rapide/approfondie.
- Compteurs de présence/absence/reconnexion et score de stabilité 0-100%
  pour les équipements fixes (mobiles exclus).
- Classification mobile/fixe automatique avec override manuel
  (POST /api/mobility).
- Nouveaux évènements d'historique : reconnected, disappeared,
  identification_improved, mobile_left, mobile_returned.
- Tableau de bord réseau (GET /api/network/health).

Patch 1 (v1.0.1) :
- Activation/désactivation de la surveillance automatique du réseau
  depuis la page Système, avec intervalle configurable de 5 min à 1 h
  (NVS, namespace "monitor").
- Déplacement de la carte Sauvegarde/Restauration des paramètres de
  fonctionnement de la page Équipements vers la page Système.
- Page Équipements recentrée sur Export CSV / Export JSON uniquement.

Patch 2 (v1.0.2) :
- Suppression des scans rapides/approfondis automatiquement mis en file
  par le tick de surveillance continue (_monitorTick()) — cette file
  était vidée à chaque itération de loop(), indépendamment de
  l'intervalle choisi par l'utilisateur. La surveillance continue se
  limite désormais strictement à la détection de présence par sweep
  ARP ; tout scan approfondi reste à l'initiative explicite de
  l'utilisateur.

Patch 3 (v1.0.3) :
- serviceMonitor() horodate désormais _lastMonitorTickMs même quand le
  tick est sauté (scan complet en cours), évitant qu'un sweep ARP de
  surveillance se déclenche immédiatement à la fin du scan complet de
  démarrage (visible en journal comme un scan qui se relance en boucle).
- _updateHistory() n'autorise plus la remise en file d'un équipement
  (paramètre allowRequeue) lorsqu'elle est appelée depuis une passe
  précise (rescanDevice) : un scan rapide ne peut jamais faire remonter
  la confiance au-dessus du seuil de 35 %, ce qui provoquait une boucle
  infinie de re-scans sur le même petit groupe d'équipements.

v0.8.8

Toggle v0.8.8's commit message
Clean old files

0.7.4

Toggle 0.7.4's commit message
Merge dev into main : v0.6.0 → v0.7.4 (#62)

* feat: add 'type' field to NetworkDevice and related components

- Updated device storage format to include a new 'type' field for devices, allowing for more specific categorization (e.g., "Smart Speaker", "Smart Display").
- Modified JSON loading and saving logic in DeviceStore to handle the new 'type' field.
- Enhanced NetworkScanner to populate and check the 'type' field during device scanning and history updates.
- Updated OUI table generation to include 'type' information.
- Adjusted frontend components (history.js, scan.js) to display the new 'type' field alongside existing device information.
- Added CSS styling for the new subtype display in the device list.

* Ajoute les protocoles de passe précise, le champ type et refonte du score de confiance (v0.6.0)

- Nouveau champ `type` (sous-catégorie) sur NetworkDevice, persisté et affiché
- Score de confiance unique et plus prudent (minimum des signaux marque/
  catégorie, marques OUI ambiguës plafonnées à 35 %), avec détail par champ
  au survol
- Réinterrogation ciblée asynchrone (tâche FreeRTOS + statut interrogeable),
  barre de progression désormais affichée sous la ligne de l'équipement scanné
- Nouvelles sondes en passe précise : SNMP sysDescr, WS-Discovery/ONVIF,
  API multimédia Cast/Sonos/Roku/Samsung, service DNS-SD Matter
- Les Amazon Fire TV/Fire Stick sont désormais catégorisés en Streaming
  via le protocole DIAL (SSDP)
- Contraste des textes/badges éclairci sur le thème sombre (conservé en navy)
- Version (PROJECT_VERSION) passée à 0.6.0 ; CHANGELOG, README, ROADMAP,
  docs/ARCHITECTURE.md et docs/PROTOCOLS.md mis à jour en conséquence

* Simplifie la NeoPixel et le bouton BOOT, ajoute le reglage de
luminosite dans Parametres, version 0.6.2

- NeoPixel reduite a 6 etats utiles (Boot, Ready, Scanning, NewDevice,
  WifiPortal, Saving) - retrait des etats Warning/Error et des effets
  de flash en surimpression.
- Bouton BOOT reduit a 2 gestes (appui court = scan, maintien 3 s =
  sauvegarde) - retrait du double appui et du rescan automatique des
  inconnus.
- Ajout d'un curseur de luminosite (0-100 %) dans la page Parametres,
  branche sur l'API existante /api/led/brightness.
- Mise a jour de CHANGELOG.md et README.md, version bumpee a 0.6.2.

* Filtres, exports enrichis, sauvegarde des paramètres et mise en cohérence des largeurs de page (v0.7.0 → v0.7.4)

- Filtres sur la page Équipements (type, fabricant, favoris, en ligne) et export CSV de l'inventaire
- Cartouche diagnostics déplacée de la page Équipements vers la page Accueil
- Page Topologie (vue simplifiée passerelle/équipements), fondation de la future cartographie réseaux
- Menu "Données" unifié sur la page Équipements : Export CSV/JSON puis, après séparateur, Sauvegarde/Restauration
- Export CSV avec dates lisibles, colonnes Yes/No, ajout des notes et du niveau de confiance (CSV et JSON)
- Nouvelle sauvegarde/restauration des paramètres de fonctionnement (réseaux WiFi, luminosité NeoPixel), distincte de la sauvegarde de l'inventaire
- Gestion des accents : BOM UTF-8 sur l'export CSV, charset=utf-8 explicite sur les réponses JSON
- Filtre "Favoris uniquement" sur la page Historique, étoile favoris non active éclaircie
- Largeur de page uniformisée (960px) entre Accueil, OTA, Paramètres, Historique et Topologie ; seule la page Équipements conserve une largeur adaptable au contenu du tableau

Documentation utilisateur (README, ROADMAP, CHANGELOG, docs/*.md) mise à jour en conséquence.

* Revise README structure and add section headers

Updated the README to improve structure and clarity, adding section headers and images.

* Remove detailed sections from README.md

Removed sections related to home, equipment, history, topology, OTA, and WiFi network settings from the README.

v0.6.0

Toggle v0.6.0's commit message
Merge : v0.6.0 — détection avancée et passe précise enrichie (#61)

* feat: add 'type' field to NetworkDevice and related components

- Updated device storage format to include a new 'type' field for devices, allowing for more specific categorization (e.g., "Smart Speaker", "Smart Display").
- Modified JSON loading and saving logic in DeviceStore to handle the new 'type' field.
- Enhanced NetworkScanner to populate and check the 'type' field during device scanning and history updates.
- Updated OUI table generation to include 'type' information.
- Adjusted frontend components (history.js, scan.js) to display the new 'type' field alongside existing device information.
- Added CSS styling for the new subtype display in the device list.

* Ajoute les protocoles de passe précise, le champ type et refonte du score de confiance (v0.6.0)

- Nouveau champ `type` (sous-catégorie) sur NetworkDevice, persisté et affiché
- Score de confiance unique et plus prudent (minimum des signaux marque/
  catégorie, marques OUI ambiguës plafonnées à 35 %), avec détail par champ
  au survol
- Réinterrogation ciblée asynchrone (tâche FreeRTOS + statut interrogeable),
  barre de progression désormais affichée sous la ligne de l'équipement scanné
- Nouvelles sondes en passe précise : SNMP sysDescr, WS-Discovery/ONVIF,
  API multimédia Cast/Sonos/Roku/Samsung, service DNS-SD Matter
- Les Amazon Fire TV/Fire Stick sont désormais catégorisés en Streaming
  via le protocole DIAL (SSDP)
- Contraste des textes/badges éclairci sur le thème sombre (conservé en navy)
- Version (PROJECT_VERSION) passée à 0.6.0 ; CHANGELOG, README, ROADMAP,
  docs/ARCHITECTURE.md et docs/PROTOCOLS.md mis à jour en conséquence
Morty Proxy This is a proxified and sanitized view of the page, visit original site.