From 872c8c2273d63dab65fc8b52e599a6892c46a31b Mon Sep 17 00:00:00 2001 From: cclohmar Date: Thu, 6 Aug 2026 13:14:10 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20sanitize=20camera=20names=20=E2=80=94=20?= =?UTF-8?q?spaces=20=E2=86=92=20underscores=20for=20CLI-safe=20paths?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api.go | 2 ++ go2rtc.yaml | 16 ---------------- public/app.js | 2 +- 3 files changed, 3 insertions(+), 17 deletions(-) diff --git a/api.go b/api.go index 36f3de0..4922c03 100644 --- a/api.go +++ b/api.go @@ -108,6 +108,8 @@ func (s *Server) handleConfig(w http.ResponseWriter, r *http.Request) { newCfg.Cameras[i].Password = old.Password } } + // Sanitize name: replace spaces with underscores for CLI-friendly paths. + newCfg.Cameras[i].Name = strings.ReplaceAll(newCfg.Cameras[i].Name, " ", "_") } // Hash new master password if provided (not masked, not empty, not already hashed). diff --git a/go2rtc.yaml b/go2rtc.yaml index d7ca2a8..a3a8623 100644 --- a/go2rtc.yaml +++ b/go2rtc.yaml @@ -3,19 +3,3 @@ api: listen: ":1984" streams: - cam_201_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.201:554/Streaming/Channels/102 - cam_201_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.201:554/Streaming/Channels/101 - cam_202_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.202:554/Streaming/Channels/102 - cam_202_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.202:554/Streaming/Channels/101 - cam_203_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.203:554/Streaming/Channels/102 - cam_203_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.203:554/Streaming/Channels/101 - cam_205_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.205:554/Streaming/Channels/102 - cam_205_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.205:554/Streaming/Channels/101 - cam_206_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.206:554/Streaming/Channels/102 - cam_206_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.206:554/Streaming/Channels/101 - cam_207_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.207:554/Streaming/Channels/102 - cam_207_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.207:554/Streaming/Channels/101 - cam_208_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.208:554/Streaming/Channels/102 - cam_208_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.208:554/Streaming/Channels/101 - cam_209_sub: rtsp://admin:6HtAW3UkkNxC@192.168.1.209:554/Streaming/Channels/102 - cam_209_main: rtsp://admin:6HtAW3UkkNxC@192.168.1.209:554/Streaming/Channels/101 diff --git a/public/app.js b/public/app.js index e1f9fb1..2a29597 100644 --- a/public/app.js +++ b/public/app.js @@ -303,7 +303,7 @@ async function runWizard() { if (found.length > 0) { cameras = found.map(d => ({ id: 'cam_' + d.ip.split('.').pop(), - name: (d.manufacturer || 'Camera') + ' ' + (d.model || ''), + name: ((d.manufacturer || 'Camera') + ' ' + (d.model || '')).replace(/ /g, '_'), ip: d.ip, username: user, password: pass,