|
|
72e936d3f1
|
fix: viewer port starts/stops dynamically on config save, auth bypass removed
|
2026-08-06 18:52:02 +01:00 |
|
|
|
2032402597
|
fix: auth bypass removed, sanitize names, json errors, viewer port toggle
|
2026-08-06 18:43:14 +01:00 |
|
|
|
fbb40f4e26
|
chore: v0.4.0 — cleanup, changelog, version bump
|
2026-08-06 18:30:49 +01:00 |
|
|
|
cc972835b0
|
docs: update README — auth is optional, remove.sh, config.json, roadmap
|
2026-08-06 18:28:32 +01:00 |
|
|
|
f280de445f
|
fix: store real camera password in data attribute, not masked value
|
2026-08-06 18:04:56 +01:00 |
|
|
|
83ed6516f1
|
fix: exclude auth card from camera save — selector scoped to [data-id]
|
2026-08-06 18:02:09 +01:00 |
|
|
|
7ebeb73f62
|
fix: missing function declaration for addCamera
|
2026-08-06 17:54:05 +01:00 |
|
|
|
1942c2bb35
|
feat: clean settings cards — name + desc, advanced collapsed, add/remove
|
2026-08-06 17:50:16 +01:00 |
|
|
|
ebc05762b0
|
feat: add/remove cameras in Settings, empty fallback fix
|
2026-08-06 17:40:19 +01:00 |
|
|
|
86ce14bc5b
|
refactor: no interactive prompts — config.json.sample has defaults, update preserves config
|
2026-08-06 17:28:46 +01:00 |
|
|
|
30547fc354
|
fix: remove auth from first-run wizard, skip empty-name cameras in grid
|
2026-08-06 17:26:55 +01:00 |
|
|
|
ef41c29981
|
fix: move auth collection after config fetch — lexical scope bug
|
2026-08-06 17:20:15 +01:00 |
|
|
|
4a9266e249
|
feat: auth management card in Settings — edit master/viewer, enable/disable
|
2026-08-06 15:32:10 +01:00 |
|
|
|
a1f05012b4
|
fix: graceful stop via systemctl + targeted kill, no pkill -9
|
2026-08-06 15:23:09 +01:00 |
|
|
|
7b9902f788
|
fix: pkill patterns — target binary paths, not script itself
|
2026-08-06 15:04:03 +01:00 |
|
|
|
31ea59ceea
|
feat: remove.sh — clean removal for greenfield redeployment
|
2026-08-06 14:58:47 +01:00 |
|
|
|
b2e4dface2
|
refactor: pivot to JSON config — no yaml dependency, jq in bash, greenfield detection
|
2026-08-06 14:54:43 +01:00 |
|
|
|
386d3b3858
|
fix: deploy_nvr.sh downloads go2rtc binary, sets correct config path
|
2026-08-06 14:40:31 +01:00 |
|
|
|
02ee23281c
|
feat: config hot-reload — save restarts services automatically
|
2026-08-06 14:37:02 +01:00 |
|
|
|
e790855f69
|
feat: deploy prompts for storage path on first install, preserves on update
|
2026-08-06 14:30:19 +01:00 |
|
|
|
49b1b8a5ff
|
fix: config comes from repo clone, fix step numbering
|
2026-08-06 14:27:58 +01:00 |
|
|
|
d867e3b976
|
refactor: storage path in config.yaml only — deploy script no longer prompts
|
2026-08-06 14:23:56 +01:00 |
|
|
|
aba58cf1a0
|
feat: deploy_nvr.sh — stops service before rebuild, update instructions
|
2026-08-06 14:22:49 +01:00 |
|
|
|
7c7c920f5e
|
fix: one-liner reads from /dev/tty for interactive prompt, README explains both methods
|
2026-08-06 14:18:16 +01:00 |
|
|
|
6f0576d534
|
fix: inject storage path into existing config, explain interactive vs piped
|
2026-08-06 14:15:13 +01:00 |
|
|
|
e61aab2df5
|
fix: handle non-interactive piped install — default $HOME/nvr_data
|
2026-08-06 14:09:33 +01:00 |
|
|
|
1cbf03d384
|
fix: default storage to $HOME/nvr_data, empty in repo config
|
2026-08-06 13:55:29 +01:00 |
|
|
|
b5dcbe9c56
|
feat: setup.sh asks for storage path, creates directory, injects into config
|
2026-08-06 13:53:58 +01:00 |
|
|
|
7a4c97e760
|
fix: fallback camera name from IP when ONVIF returns no model
|
2026-08-06 13:20:27 +01:00 |
|
|
|
c4c9049e24
|
fix: go2rtc config path absolute, gitignore generated file
|
2026-08-06 13:16:02 +01:00 |
|
|
|
872c8c2273
|
fix: sanitize camera names — spaces → underscores for CLI-safe paths
|
2026-08-06 13:14:10 +01:00 |
|
|
|
1e53ffe151
|
docs: two-port auth, first-run wizard with admin setup
|
2026-08-06 13:06:33 +01:00 |
|
|
|
7064829921
|
feat: first-run auth setup in wizard, auto-hash passwords on save
|
2026-08-06 13:03:56 +01:00 |
|
|
|
eaa612278d
|
feat: two-port auth — 8080 with login, 8090 viewer-only (live wall)
|
2026-08-06 12:56:48 +01:00 |
|
|
|
d4eada42d8
|
docs: MIT license, license headers, README with project story and roadmap
|
2026-08-06 10:48:35 +01:00 |
|
|
|
cda6ca4785
|
fix: code review — XSS, credentials 0600, interval leak, path bugs, title, unused imports
|
2026-08-05 16:13:25 +01:00 |
|
|
|
09592b90d2
|
fix: timezone-aware playback presets — ParseInLocation for BST
|
2026-08-05 14:50:28 +01:00 |
|
|
|
faf954a59d
|
fix: go2rtc proxied through NextNVR — no port 1984 forwarding needed
|
2026-08-05 14:42:09 +01:00 |
|
|
|
66dd4c54b4
|
fix: clean focus popup — close button bar + fullscreen iframe
|
2026-08-05 14:38:21 +01:00 |
|
|
|
c2fb05a9ef
|
fix: iframe focus (PWA-friendly), mobile grid overlap fix
|
2026-08-05 14:28:46 +01:00 |
|
|
|
c509ba7eb1
|
style: responsive mobile UI — 2-col grid, full-width cards, stacked controls
|
2026-08-05 14:13:58 +01:00 |
|
|
|
3ded3cc1e8
|
fix: recorder drop audio (-an) — cameras use pcm_mulaw which MP4 doesn't support
|
2026-08-05 14:10:08 +01:00 |
|
|
|
752941f991
|
docs: add remote access guide with Dynamic DNS + port forwarding
|
2026-08-05 14:09:52 +01:00 |
|
|
|
741983ae82
|
fix: no-cache headers to prevent stale JS, correct go2rtc stream.html URL
|
2026-08-05 14:02:44 +01:00 |
|
|
|
03448361da
|
fix: correct go2rtc player URL — stream.html not root
|
2026-08-05 14:02:00 +01:00 |
|
|
|
0b5dc7d88e
|
fix: grid tiles open go2rtc WebRTC player directly — real live stream
|
2026-08-05 13:59:03 +01:00 |
|
|
|
10666f52d0
|
fix: focus mode embeds go2rtc WebRTC player iframe — real live video
|
2026-08-05 13:54:40 +01:00 |
|
|
|
5d327e61af
|
fix: snapshots via go2rtc frame.jpeg — instant, no RTSP renegotiation
|
2026-08-05 13:12:02 +01:00 |
|
|
|
901edcf594
|
fix: focus mode uses fast JPEG refresh (200ms) — no codec, works everywhere
|
2026-08-05 13:06:36 +01:00 |
|
|
|
b68171f370
|
fix: proxy MJPEG stream through NextNVR to avoid cross-origin blocking
|
2026-08-05 13:04:44 +01:00 |
|