@trillboards/edge-sdk 0.2.24 → 0.2.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- ; installer.nsi — Trillboards Edge on-device (local-sense) CCTV connector (Windows).
1
+ ; installer.nsi - Trillboards Edge on-device (local-sense) CCTV connector (Windows).
2
2
  ; Per-user, no-admin install (RequestExecutionLevel user) that mirrors the
3
3
  ; home-domain macOS .pkg: lays down the self-contained tree under
4
4
  ; %LOCALAPPDATA%\Trillboards\edge, registers a per-user Scheduled Task that
@@ -26,6 +26,16 @@
26
26
  !define LITERT_TASK_NAME "TrillboardsLiteRtLm"
27
27
 
28
28
  Var ModelSource
29
+ ; -- Unattended (MDM/Intune/SCCM) parameters --------------------------------
30
+ ; Before these, the installer parsed exactly ONE switch (/MODEL_SOURCE=) and a
31
+ ; perfect silent install still left the machine UNPAIRED, because deviceToken is
32
+ ; per-camera-feed and the only writers were the interactive pair/setup paths. A
33
+ ; silent install that produces a non-working install is not a deployment story.
34
+ Var EnrollmentToken
35
+ Var SiteLabel
36
+ Var NvrUser
37
+ Var NvrPass
38
+ Var IsUnattended
29
39
 
30
40
  Name "${APP_NAME}"
31
41
  OutFile "${OUT_FILE}"
@@ -47,16 +57,61 @@ BrandingText "Trillboards"
47
57
 
48
58
  ; Finish page: launch the native Windows Forms setup app through wscript. The
49
59
  ; setup engine and its cmd wrapper run with CreateNoWindow, so no console flashes.
50
- !define MUI_FINISHPAGE_RUN "$INSTDIR\bin\trillboards-setup.vbs"
60
+ ; MUI_FINISHPAGE_RUN_FUNCTION rather than a bare RUN: an admin who passes
61
+ ; /ENROLLMENT_TOKEN= without /S still gets the pages, and launching the
62
+ ; interactive camera wizard on a machine that just provisioned itself is exactly
63
+ ; the human step this feature removes. (Under /S the finish page never renders
64
+ ; at all, so this only matters for the visible-but-unattended case.)
65
+ !define MUI_FINISHPAGE_RUN
66
+ !define MUI_FINISHPAGE_RUN_FUNCTION LaunchSetupAppUnlessUnattended
51
67
  !define MUI_FINISHPAGE_RUN_TEXT "Set up my CCTV cameras now"
52
68
  !define MUI_FINISHPAGE_TEXT "The connector and private local AI are installed. Continue in the Trillboards CCTV Setup app to pair your cameras."
53
69
  !insertmacro MUI_PAGE_FINISH
54
70
 
71
+ Function LaunchSetupAppUnlessUnattended
72
+ ${If} $IsUnattended == 1
73
+ Return
74
+ ${EndIf}
75
+ Exec '"$WINDIR\System32\wscript.exe" "$INSTDIR\bin\trillboards-setup.vbs"'
76
+ FunctionEnd
77
+
55
78
  !insertmacro MUI_UNPAGE_CONFIRM
56
79
  !insertmacro MUI_UNPAGE_INSTFILES
57
80
  !insertmacro MUI_LANGUAGE "English"
58
81
 
59
82
  Function .onInit
83
+ ; -- Unattended parameters ------------------------------------------------
84
+ ; /S NSIS silent install (no pages, no prompts)
85
+ ; /ENROLLMENT_TOKEN=<tok> the FLEET enrollment credential from the portal
86
+ ; /SITE="Store 0417" free-text install label carried into the rollout
87
+ ; view and prefixed onto camera names
88
+ ;
89
+ ; The token is written to $INSTDIR\trillboards.enrollment and the connector
90
+ ; DELETES that file the moment it has exchanged it for this machine's own
91
+ ; credential - a bootstrap credential must not outlive its bootstrap, or every
92
+ ; store PC keeps something that can enroll more machines.
93
+ ${GetParameters} $R0
94
+ ${GetOptions} $R0 "/ENROLLMENT_TOKEN=" $EnrollmentToken
95
+ ${GetOptions} $R0 "/SITE=" $SiteLabel
96
+ ; Recorder credentials are OPTIONAL and the deployment is useful without them:
97
+ ; with none, the machine still provisions its own identity and simply registers
98
+ ; no feeds. With them the install is genuinely zero-touch, because the channels
99
+ ; on the cheap DVRs this product targets cannot be opened otherwise - and
100
+ ; registering a channel we cannot open would mint a screen that is permanently
101
+ ; dark. Whether the recorder password belongs in an MDM package is the
102
+ ; customer's call, which is why this is a switch and not a requirement.
103
+ ${GetOptions} $R0 "/NVR_USER=" $NvrUser
104
+ ${GetOptions} $R0 "/NVR_PASS=" $NvrPass
105
+
106
+ ; "Unattended" is silent OR token-driven: an admin scripting a visible install
107
+ ; still wants no prompts to block the run.
108
+ StrCpy $IsUnattended 0
109
+ ${If} ${Silent}
110
+ StrCpy $IsUnattended 1
111
+ ${ElseIf} $EnrollmentToken != ""
112
+ StrCpy $IsUnattended 1
113
+ ${EndIf}
114
+
60
115
  ; The SFX launcher passes its absolute extraction path. Keep the environment
61
116
  ; value as an engineering and recovery fallback for the signed inner package.
62
117
  ReadEnvStr $ModelSource "TRILLBOARDS_BUNDLED_MODEL_PATH"
@@ -70,7 +125,12 @@ Function .onInit
70
125
  SetErrorLevel 2
71
126
  Quit
72
127
  ${EndIf}
73
- MessageBox MB_ICONSTOP|MB_OK "This installer is missing its included local AI model. Download the complete Trillboards CCTV installer and try again."
128
+ ; /SD IDOK: under /S a modal has nobody to click it and the install hangs
129
+ ; forever. The default answer dismisses the box; the Abort on the next line
130
+ ; is what actually decides the outcome, so a silent run FAILS here rather
131
+ ; than proceeding without a model.
132
+ MessageBox MB_ICONSTOP|MB_OK "This installer is missing its included local AI model. Download the complete Trillboards CCTV installer and try again." /SD IDOK
133
+ SetErrorLevel 2
74
134
  Abort
75
135
  ${EndIf}
76
136
 
@@ -111,7 +171,8 @@ Section "Install"
111
171
  nsExec::ExecToLog 'powershell -NoProfile -ExecutionPolicy Bypass -File "$PLUGINSDIR\install-update.ps1" -InstallDir "$INSTDIR" -StagingDir "$INSTDIR\.update-staging"'
112
172
  Pop $0
113
173
  ${If} $0 != 0
114
- MessageBox MB_ICONSTOP|MB_OK "Trillboards CCTV setup could not be updated safely. Your previous connector was restored. Please retry the installer."
174
+ MessageBox MB_ICONSTOP|MB_OK "Trillboards CCTV setup could not be updated safely. Your previous connector was restored. Please retry the installer." /SD IDOK
175
+ SetErrorLevel 3
115
176
  Abort
116
177
  ${EndIf}
117
178
  SetOutPath "$INSTDIR"
@@ -120,18 +181,49 @@ Section "Install"
120
181
  ; is synchronous and required: pairing is never offered while AI is absent or
121
182
  ; still downloading in the background.
122
183
  ${IfNot} ${FileExists} "$ModelSource"
123
- MessageBox MB_ICONSTOP|MB_OK "The local AI model included with this installer could not be found. Download a fresh Trillboards CCTV installer."
184
+ MessageBox MB_ICONSTOP|MB_OK "The local AI model included with this installer could not be found. Download a fresh Trillboards CCTV installer." /SD IDOK
185
+ SetErrorLevel 2
124
186
  Abort
125
187
  ${EndIf}
126
188
  DetailPrint "Installing and verifying private local AI..."
127
189
  nsExec::ExecToLog '"$WINDIR\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File "$INSTDIR\bin\setup-litertlm.ps1" -BundledModelPath "$ModelSource" -RequireBundledModel'
128
190
  Pop $0
129
191
  ${If} $0 != 0
130
- MessageBox MB_ICONSTOP|MB_OK "Private local AI could not be installed. Camera pairing has not started. Download a fresh installer or contact Trillboards support."
192
+ MessageBox MB_ICONSTOP|MB_OK "Private local AI could not be installed. Camera pairing has not started. Download a fresh installer or contact Trillboards support." /SD IDOK
193
+ SetErrorLevel 4
131
194
  Abort
132
195
  ${EndIf}
133
196
  DetailPrint "Private local AI is installed and healthy."
134
197
 
198
+ ; -- Unattended provisioning ----------------------------------------------
199
+ ; With /ENROLLMENT_TOKEN=, the machine provisions ITSELF here - no code typed
200
+ ; at the machine, no browser, no human. enroll-connector.ps1 writes the
201
+ ; credential owner-only, exchanges it for this machine's own credential, and
202
+ ; deletes it.
203
+ ;
204
+ ; A failed enrollment does NOT abort the install. The connector is correctly
205
+ ; installed either way; what is missing is provisioning, which is retryable
206
+ ; (re-run the package, or use the ordinary interactive setup). Aborting would
207
+ ; leave the store with nothing and no path forward - strictly worse than an
208
+ ; installed-but-unprovisioned connector that a support call can finish.
209
+ ${If} $EnrollmentToken != ""
210
+ DetailPrint "Provisioning this connector..."
211
+ nsExec::ExecToLog '"$WINDIR\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -ExecutionPolicy Bypass -File "$INSTDIR\bin\enroll-connector.ps1" -InstallDir "$INSTDIR" -EnrollmentToken "$EnrollmentToken" -SiteLabel "$SiteLabel" -NvrUser "$NvrUser" -NvrPass "$NvrPass"'
212
+ Pop $0
213
+ ${If} $0 == 0
214
+ DetailPrint "Connector provisioned and cameras registered."
215
+ ${ElseIf} $0 == 5
216
+ DetailPrint "Connector provisioned, but no camera feeds were registered. Supply /NVR_USER= and /NVR_PASS=, or finish in the portal."
217
+ SetErrorLevel 5
218
+ ${ElseIf} $0 == 1
219
+ DetailPrint "Enrollment credential was rejected (expired, revoked, or fully used). Issue a new one in the portal."
220
+ SetErrorLevel 5
221
+ ${Else}
222
+ DetailPrint "Enrollment could not reach Trillboards; it will be retried. The credential was not used."
223
+ SetErrorLevel 6
224
+ ${EndIf}
225
+ ${EndIf}
226
+
135
227
  ; Start Menu shortcuts.
136
228
  CreateDirectory "$SMPROGRAMS\Trillboards"
137
229
  CreateShortcut "$SMPROGRAMS\Trillboards\Trillboards CCTV Setup.lnk" "$WINDIR\System32\wscript.exe" '$\"$INSTDIR\bin\trillboards-setup.vbs$\"'
@@ -154,6 +246,10 @@ Section "Uninstall"
154
246
  nsExec::ExecToLog 'schtasks /Delete /F /TN "${TASK_NAME}"'
155
247
  nsExec::ExecToLog 'schtasks /End /TN "${LITERT_TASK_NAME}"'
156
248
  nsExec::ExecToLog 'schtasks /Delete /F /TN "${LITERT_TASK_NAME}"'
249
+ ; Explicit, ahead of RMDir /r: a fleet enrollment credential must never
250
+ ; survive an uninstall, and relying on the recursive delete makes that a
251
+ ; property of statement ORDER rather than of intent.
252
+ Delete "$INSTDIR\trillboards.enrollment"
157
253
  Delete "$SMPROGRAMS\Trillboards\Pair a camera.lnk"
158
254
  Delete "$SMPROGRAMS\Trillboards\Trillboards CCTV Setup.lnk"
159
255
  Delete "$SMPROGRAMS\Trillboards\Uninstall Trillboards Edge.lnk"
@@ -30,6 +30,36 @@ if ((Test-Path $logPath) -and (Get-Item $logPath).Length -ge $maxLogBytes) {
30
30
  Move-ConnectorLogs
31
31
  }
32
32
 
33
+ # ---------------------------------------------------------------------------
34
+ # Unattended-provisioning retry, at every logon.
35
+ #
36
+ # THE FAILURE THIS EXISTS FOR: enrollment runs once, inside the installer. If the
37
+ # store's link is down at that moment - a DSL blip, a captive portal, a firewall
38
+ # rule not yet pushed - the credential is unspent and the machine is installed
39
+ # but unprovisioned, with nothing scheduled to try again. Across a 200-store push
40
+ # that is a handful of stores permanently dark for a reason nobody can see.
41
+ #
42
+ # The scheduled task already runs this supervisor at every logon, so the retry
43
+ # belongs here rather than in a second task nobody would remember to register.
44
+ #
45
+ # It fires ONLY when the enrollment file still exists, and enroll-connector.ps1
46
+ # leaves it there only for retryable outcomes - a spent or rejected credential is
47
+ # deleted, so this cannot become a loop hammering a dead token.
48
+ $enrollmentFile = Join-Path $InstallDir "trillboards.enrollment"
49
+ $enrollScript = Join-Path $InstallDir "bin\enroll-connector.ps1"
50
+ if ((Test-Path $enrollmentFile) -and (Test-Path $enrollScript)) {
51
+ try {
52
+ $pendingToken = (Get-Content -Raw -Path $enrollmentFile).Trim()
53
+ if ($pendingToken) {
54
+ & $enrollScript -InstallDir $InstallDir -EnrollmentToken $pendingToken | Out-Null
55
+ }
56
+ } catch {
57
+ # Never let a provisioning retry stop the connector from starting: a machine
58
+ # that is already provisioned and simply has a stale file must still sense.
59
+ # The detail lands in enroll.log, which is where a support call looks.
60
+ }
61
+ }
62
+
33
63
  $writer = $null
34
64
  $process = $null
35
65
  try {
@@ -8,7 +8,9 @@ import type { HttpPoster } from './AudienceAnalyzeClient';
8
8
  * AUTH CIRCUIT-BREAKER: ONVIF and RTSP can use different auth realms. An
9
9
  * ONVIF rejection therefore falls back to exactly ONE bounded RTSP proof;
10
10
  * an RTSP 401 then stops the host. This avoids false "wrong password" errors
11
- * without fanning bad credentials across channels (≤2 auth touches/host).
11
+ * without fanning bad credentials across channels (≤2 auth touches/host; an
12
+ * operator-supplied pathHint buys exactly one more, since a 401 on a path the
13
+ * owner typed is far more likely a wrong path than a wrong password).
12
14
  *
13
15
  * SESSION-SLOT SAFETY: consumer NVRs cap concurrent RTSP pulls (main stream
14
16
  * often 1-2) and a 16-way fan-out can evict the recorder's own live view.
@@ -60,6 +62,15 @@ export interface ProbeTarget {
60
62
  password: string;
61
63
  brandHint?: string;
62
64
  channelHint?: number;
65
+ /**
66
+ * An operator-typed RTSP stream path (`/live/ch1`, or the whole URL pasted out
67
+ * of the recorder's own UI). Tried FIRST in the brand-candidate walk — the
68
+ * no-ONVIF long-tail where a `bad_path` verdict otherwise offers nothing but
69
+ * another brand guess. Scope is deliberate: when ONVIF enumeration works we
70
+ * have REAL URIs and a serial-backed stable channelKey, so there is nothing
71
+ * for a hand-typed path to improve.
72
+ */
73
+ pathHint?: string;
63
74
  }
64
75
  export interface ProbeOptions {
65
76
  ffmpegPath?: string;
@@ -105,6 +116,31 @@ export declare function materializeCredentialPathTemplate(pathTemplate: string,
105
116
  export declare function buildRtspUrl(host: string, port: number, path: string, username: string, password: string): string;
106
117
  /** Inject creds into an ONVIF-returned rtsp URI (they usually come credless). */
107
118
  export declare function injectCreds(uri: string, username: string, password: string): string;
119
+ /**
120
+ * Normalize an operator-typed stream path into one probe candidate.
121
+ *
122
+ * Owners paste whatever their recorder's UI shows them, which is usually the
123
+ * WHOLE url and frequently carries the login in it
124
+ * (`rtsp://admin:hunter2@10.0.0.5:554/live/ch1`). Keeping only path+query means
125
+ * a pasted credential can never reach `pathTemplate`, which is the field the
126
+ * server stores and the portal renders back.
127
+ *
128
+ * Returns undefined for anything that is not usable as a channel path, so the
129
+ * caller can treat "no hint" and "junk hint" identically:
130
+ * - empty / whitespace
131
+ * - bare `/` (the recorder ROOT — already probed as the auth proof, and on a
132
+ * DVR it is a grid view, not a channel)
133
+ * - control characters, which could smuggle extra lines into the RTSP request
134
+ * - absurd length
135
+ */
136
+ export declare function normalizeOperatorPathHint(raw: string | undefined | null): string | undefined;
137
+ /**
138
+ * Replace the VALUES of credential-bearing path/query parameters with the
139
+ * `{username}` / `{password}` placeholders materializeCredentialPathTemplate fills.
140
+ * Keyed on the parameter NAME, not on a brand, and a path without them is returned
141
+ * byte-identical. Twin of cameraSetupSessionService.templateEmbeddedCredentials.
142
+ */
143
+ export declare function templateEmbeddedCredentials(value: string): string;
108
144
  /** Strip credentials+host → the storable path template. */
109
145
  export declare function pathTemplateOf(uri: string): string;
110
146
  export declare function directStreamChannelKey(streamUrl: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelProber.d.ts","sourceRoot":"","sources":["../src/ChannelProber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelProber.d.ts","sourceRoot":"","sources":["../src/ChannelProber.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,8 @@ exports.credentialFreePathTemplate = credentialFreePathTemplate;
40
40
  exports.materializeCredentialPathTemplate = materializeCredentialPathTemplate;
41
41
  exports.buildRtspUrl = buildRtspUrl;
42
42
  exports.injectCreds = injectCreds;
43
+ exports.normalizeOperatorPathHint = normalizeOperatorPathHint;
44
+ exports.templateEmbeddedCredentials = templateEmbeddedCredentials;
43
45
  exports.pathTemplateOf = pathTemplateOf;
44
46
  exports.directStreamChannelKey = directStreamChannelKey;
45
47
  exports.sanitizeRtspUrlForLog = sanitizeRtspUrlForLog;
@@ -294,6 +296,67 @@ function injectCreds(uri, username, password) {
294
296
  return uri;
295
297
  }
296
298
  }
299
+ /**
300
+ * Normalize an operator-typed stream path into one probe candidate.
301
+ *
302
+ * Owners paste whatever their recorder's UI shows them, which is usually the
303
+ * WHOLE url and frequently carries the login in it
304
+ * (`rtsp://admin:hunter2@10.0.0.5:554/live/ch1`). Keeping only path+query means
305
+ * a pasted credential can never reach `pathTemplate`, which is the field the
306
+ * server stores and the portal renders back.
307
+ *
308
+ * Returns undefined for anything that is not usable as a channel path, so the
309
+ * caller can treat "no hint" and "junk hint" identically:
310
+ * - empty / whitespace
311
+ * - bare `/` (the recorder ROOT — already probed as the auth proof, and on a
312
+ * DVR it is a grid view, not a channel)
313
+ * - control characters, which could smuggle extra lines into the RTSP request
314
+ * - absurd length
315
+ */
316
+ function normalizeOperatorPathHint(raw) {
317
+ let value = String(raw ?? '').trim();
318
+ if (!value)
319
+ return undefined;
320
+ if (/^rtsps?:\/\//i.test(value))
321
+ value = pathTemplateOf(value);
322
+ else if (value.startsWith('//')) {
323
+ // Scheme-relative paste (`//10.0.0.5:554/live`): everything up to the first
324
+ // slash after the authority is a host, not a path.
325
+ const slash = value.indexOf('/', 2);
326
+ value = slash === -1 ? '' : value.slice(slash);
327
+ }
328
+ value = value.trim();
329
+ if (!value)
330
+ return undefined;
331
+ if (!value.startsWith('/'))
332
+ value = `/${value}`;
333
+ if (value === '/')
334
+ return undefined;
335
+ if (value.length > 256)
336
+ return undefined;
337
+ // Control chars AND whitespace: both are RTSP request-LINE separators, so
338
+ // either one lets a hint append a second request instead of naming a path.
339
+ // eslint-disable-next-line no-control-regex
340
+ if (/[\u0000-\u001f\u007f\s]/.test(value))
341
+ return undefined;
342
+ // The XMEye family carries the login IN THE PATH, so a pasted working URL can
343
+ // hold a password even after the userinfo is gone. Template it here too: the
344
+ // server templates before queueing, and this keeps an older server (or a direct
345
+ // SDK caller) from putting a plaintext password into the stored pathTemplate.
346
+ // Materialized again from the real credentials just before the probe.
347
+ return templateEmbeddedCredentials(value);
348
+ }
349
+ /**
350
+ * Replace the VALUES of credential-bearing path/query parameters with the
351
+ * `{username}` / `{password}` placeholders materializeCredentialPathTemplate fills.
352
+ * Keyed on the parameter NAME, not on a brand, and a path without them is returned
353
+ * byte-identical. Twin of cameraSetupSessionService.templateEmbeddedCredentials.
354
+ */
355
+ function templateEmbeddedCredentials(value) {
356
+ return String(value)
357
+ .replace(/(^|[?&/])(user|username|usr)=([^&#]*)/gi, (_m, sep, key) => `${sep}${key}={username}`)
358
+ .replace(/(^|[?&/])(password|passwd|pwd|pass)=([^&#]*)/gi, (_m, sep, key) => `${sep}${key}={password}`);
359
+ }
297
360
  /** Strip credentials+host → the storable path template. */
298
361
  function pathTemplateOf(uri) {
299
362
  try {
@@ -868,7 +931,17 @@ async function probeHost(target, opts = {}) {
868
931
  const maxChannels = Math.min(opts.maxChannels ?? 32, 64);
869
932
  const hinted = Number.isFinite(Number(target.channelHint)) ? Math.trunc(Number(target.channelHint)) : null;
870
933
  const walkTo = hinted ? Math.min(hinted, maxChannels) : maxChannels;
871
- const firstCandidates = brandPathCandidates(brand, 1, target);
934
+ // The operator's own path goes FIRST, ahead of every brand guess, and only on
935
+ // channel 1: a hand-typed path names ONE stream, so walking it across channels
936
+ // would just re-probe the same URL. If it fails the walk continues into the
937
+ // normal brand candidates unchanged — the hint is a head start, never a fence.
938
+ const operatorPath = normalizeOperatorPathHint(target.pathHint);
939
+ const firstCandidates = [...new Set([
940
+ ...(operatorPath ? [operatorPath] : []),
941
+ ...brandPathCandidates(brand, 1, target),
942
+ ])];
943
+ // One forgiven 401 for the operator path — see the rtsp_auth branch below.
944
+ let operatorPathAuthForgiven = false;
872
945
  if (firstCandidates.length === 0) {
873
946
  await emit({
874
947
  channelKey: channelKeyFor({ serial, host, port: rtspPort, channel: 0 }),
@@ -884,6 +957,16 @@ async function probeHost(target, opts = {}) {
884
957
  return results;
885
958
  }
886
959
  let consecutiveDead = 0;
960
+ // A custom path is its OWN camera. The non-ONVIF channelKey is a hash of
961
+ // host:port:channel, and every operator path is forced onto channel 1 — so two
962
+ // different custom paths on one recorder (`/stream/camera2`, `/stream/camera3`)
963
+ // would mint the SAME key and finalize would reuse the first camera's screen for
964
+ // the second. Fold the path into the seed, exactly as directStreamChannelKey
965
+ // already does for a pasted stream link. Brand candidates are unaffected: their
966
+ // identity legitimately IS host:port:channel.
967
+ const keyForPath = (path, ch) => (operatorPath && path === operatorPath
968
+ ? `nvr:${(0, crypto_1.createHash)('sha1').update(`${host}:${rtspPort}:${path}`).digest('hex').slice(0, 16)}`
969
+ : channelKeyFor({ serial, host, port: rtspPort, channel: ch }));
887
970
  for (let ch = 1; ch <= walkTo; ch++) {
888
971
  if (budgetLeft() <= 0)
889
972
  break;
@@ -897,7 +980,11 @@ async function probeHost(target, opts = {}) {
897
980
  for (const path of candidates) {
898
981
  if (budgetLeft() <= 0)
899
982
  break;
900
- const grab = await grabOneFrameAnyTransport(buildRtspUrl(host, rtspPort, path, target.username, target.password), {
983
+ // Fill {username}/{password} back in for the WIRE only. A no-op on every
984
+ // brand candidate (they carry no placeholders) and on any hint without
985
+ // embedded credentials, so `path` stays the credential-free thing we store.
986
+ const wirePath = materializeCredentialPathTemplate(path, target.username, target.password);
987
+ const grab = await grabOneFrameAnyTransport(buildRtspUrl(host, rtspPort, wirePath, target.username, target.password), {
901
988
  ffmpegPath: opts.ffmpegPath,
902
989
  timeoutMs: Math.min(grabTimeoutMs, Math.max(2000, budgetLeft())),
903
990
  spawner: opts.spawner,
@@ -912,7 +999,7 @@ async function probeHost(target, opts = {}) {
912
999
  }
913
1000
  if (grab.ok) {
914
1001
  channelResult = {
915
- channelKey: key,
1002
+ channelKey: keyForPath(path, ch),
916
1003
  status: 'validated',
917
1004
  brand,
918
1005
  host,
@@ -931,7 +1018,7 @@ async function probeHost(target, opts = {}) {
931
1018
  // DVRs answer 401 for unsupported vendor paths, so keep walking
932
1019
  // candidates instead of falsely blaming the password.
933
1020
  const failedCandidate = {
934
- channelKey: key,
1021
+ channelKey: keyForPath(path, ch),
935
1022
  status: 'failed',
936
1023
  failureClass: 'bad_path',
937
1024
  message: 'Recorder login worked, but this stream path was rejected.',
@@ -948,10 +1035,31 @@ async function probeHost(target, opts = {}) {
948
1035
  }
949
1036
  continue;
950
1037
  }
1038
+ if (path === operatorPath && !operatorPathAuthForgiven) {
1039
+ // The operator TYPED this path. A 401 on it is far more likely to be
1040
+ // the wrong path than the wrong password — plenty of DVRs answer 401
1041
+ // for any path they do not recognise. Spend exactly ONE extra auth
1042
+ // touch here and keep walking; the breaker stays armed for every
1043
+ // brand candidate after it, so the host budget is ≤2 RTSP auth
1044
+ // touches beyond ONVIF, not an unbounded fan-out.
1045
+ operatorPathAuthForgiven = true;
1046
+ channelResult = {
1047
+ channelKey: keyForPath(path, ch),
1048
+ status: 'failed',
1049
+ failureClass: 'bad_path',
1050
+ message: 'The recorder rejected the stream path you entered. Check it against the recorder’s own stream URL.',
1051
+ brand,
1052
+ host,
1053
+ port: rtspPort,
1054
+ channel: ch,
1055
+ pathTemplate: credentialFreePathTemplate(path, brand),
1056
+ };
1057
+ continue;
1058
+ }
951
1059
  // Without ONVIF proof this IS (probably) a bad password → breaker.
952
1060
  // With ONVIF-proven creds it's a permission problem instead.
953
1061
  await emit({
954
- channelKey: key,
1062
+ channelKey: keyForPath(path, ch),
955
1063
  status: 'failed',
956
1064
  failureClass: onvifAvailable ? 'rtsp_forbidden' : 'rtsp_auth',
957
1065
  message: onvifAvailable
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelProber.js","sourceRoot":"","sources":["../src/ChannelProber.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelProber.js","sourceRoot":"","sources":["../src/ChannelProber.ts"],"names":[],"mappings":"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"}