Commit Graph

19 Commits

Author SHA1 Message Date
olivier b7c2e86673 fix: remove default DNS server value — user must enter their own
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:16:07 +02:00
olivier 06577fd245 fix: replace hardcoded personal DNS with neutral default (8.8.8.8)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 12:15:32 +02:00
olivier 4d1e49671b feat: add Apple brand icon (iPhone, iPad, MacBook, iMac, macOS, iOS…)
Uses siApple with hex override #555555 (visible on both light and dark
themes — Apple's brand color #000000 is invisible on dark backgrounds).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:48:49 +02:00
olivier a4538b7fe0 fix: correct tcp_check hint — RST on closed port means host is detected
The previous wording wrongly implied smartphones and firewalled PCs could
be missed. Only devices that silently DROP (not REJECT) all probed ports
are undetected; a RST reply on a closed port correctly identifies the host.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:21:20 +02:00
olivier cc716783ea feat: add optional TCP check to scan to filter proxy-ARP false positives
Some gateways (e.g. UniFi) respond to ICMP for every IP in a subnet via
proxy-ARP, spoofing the source IP so the existing ICMP guard cannot help.
A secondary TCP probe (ports 22, 80, 443, 8080, 8443) distinguishes real
hosts (RST/connect on closed ports) from ghost IPs (gateway drops SYN →
timeout). The check is opt-in (disabled by default) to avoid missing
devices whose firewall DROPs all probed ports.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 11:17:55 +02:00
olivier 14de657deb feat: cascade-delete hosts when removing a network
When a VLAN/LAN is deleted, all non-gateway, non-livebox devices
with an interface in that network are deleted automatically.
Gateway and livebox devices are preserved; their interface is
unlinked (vlan_id set to NULL).

The confirmation dialog now shows the exact count of devices
that will be deleted (all three locales: fr/en/es).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 10:48:36 +02:00
olivier 0a91d840be fix: keep layout always in DOM via v-show to avoid Firefox click dispatch bug
Replace v-if/v-else-if/v-else auth guard with v-if on LoginPage and
v-show on the layout div. Firefox fails to dispatch clicks to children
after a DOM node is inserted into a display:flex container; using v-show
means the layout is always present (just display:none), so no node
replacement ever occurs in .app-root. Move the forced AccountModal
(mustChangePassword) inside the layout as a first child with v-if.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 08:09:06 +02:00
olivier 6ae7fac766 feat: add Free, Bouygues Telecom and SFR brand icons
None of the three are in simple-icons — custom wifi icons with
official brand colors (Free #CD1126, Bouygues #0099CC, SFR #E2001A).
Keywords avoid the bare word "free" to prevent false positives on
freenas/freebsd/etc.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:43:55 +02:00
olivier c729cec54d feat: add smart TV and TV box brand icons (13 brands)
TV manufacturers: Samsung, LG, Sony (hex overridden #1A1A1A — white
would be invisible), Panasonic, Sharp, Toshiba, Vestel.
Hisense is absent from simple-icons.

TV boxes: Chromecast/Google TV, Android TV, Apple TV, Amazon Fire TV,
Roku, Kodi.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 13:33:29 +02:00
olivier a4f276a5eb feat: add French ISP logos, Guacamole and generic bastion icon
French ISPs: Orange (#FF7900, keywords: orange/sosh/livebox),
OVH (#123F6D, keywords: ovh/ovhcloud/kimsufi/soyoustart).
Free, SFR and Bouygues are absent from simple-icons.

Bastion: Apache Guacamole (#578B34, keyword: guacamole) + generic
shield-lock icon (#1E3A8A) for bastion/jumphost/teleport/bastillion.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:51:10 +02:00
olivier dc04567c48 feat: expand VLAN color palette to 50 presets in a 5×10 grid
Replace the 10-color row with a 5-row × 10-column palette covering
red, rose, orange, amber, yellow, green, teal, cyan, blue, indigo,
violet, purple, fuchsia and gray families. Selected swatch is
highlighted with a border ring.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:47:47 +02:00
olivier fb6bcdb968 feat: add generic archive server icon
Custom archive-box icon (stone #78716C) triggered by: archive, archiver
(FR/EN), archivage (FR), archivar (ES), archivebox.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:44:17 +02:00
olivier 379f258ffb feat: add generic mail server icon
Custom envelope icon (slate #64748B) triggered by: mail, smtp, imap,
postfix, dovecot, mailcow, mailu, roundcube. Uses the same {title, hex,
path} format as simple-icons so no consumer changes are needed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:33:54 +02:00
olivier ea1d96f99e feat: add brand icons for CMS/blog engines and analytics
CMS/Blog: WordPress, Ghost, Grav, Jekyll, Hugo, Hexo, Drupal, Joomla,
TYPO3, OctoberCMS, Textpattern
Analytics: Matomo, Plausible

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:29:35 +02:00
olivier 5eb3860201 feat: add brand icons for IDP, password vaults and media apps
Auth/SSO: Keycloak, Authentik, Okta, Auth0 (Authelia already present)
Password vaults: Vaultwarden, Bitwarden, 1Password, KeePassXC, HashiCorp Vault
Media/torrent: Radarr, Sonarr, Transmission

Jackett, Zitadel and Prowlarr are absent from simple-icons.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:26:35 +02:00
olivier 3e2d9e6a77 feat: add Authelia brand logo detection
Trigger keyword: authelia. Icon colour: #113155.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 12:22:53 +02:00
olivier 7b32e9b4fd feat: add smart_tv, printer and smartphone device types
Add three new device types (21 total) with Lucide icons (Tv2, Printer,
Smartphone), colour-coded badges, and translations in fr/en/es.
No backend migration needed — type is a free string field.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 11:48:23 +02:00
olivier 44c502dc50 feat(i18n): pluralize sidebar network/device counters
Show singular form when count is 1 (Network, Device, Réseau, Équip., Red, Equipo)
across all three supported languages (fr, en, es).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 10:40:11 +02:00
olivier 88cf6458d0 Initial commit — Stupid Simple Network Inventory
Application web d'inventaire réseau manuel avec FastAPI, Vue 3 et Docker.
Inclut l'authentification JWT, la découverte ICMP, et la topologie en cards CSS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-17 09:19:19 +02:00