@homebridge-plugins/homebridge-eufy-security 5.0.0-beta.35 → 5.0.0-beta.36
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.
- package/CONTRIBUTING.md +9 -17
- package/config.schema.json +6 -0
- package/dist/account/ownership.js +16 -16
- package/dist/account/ownership.js.map +1 -1
- package/dist/account/persistence.js +24 -74
- package/dist/account/persistence.js.map +1 -1
- package/dist/account/temporary-authentication.js +2 -2
- package/dist/account/temporary-authentication.js.map +1 -1
- package/dist/configuration.js +18 -25
- package/dist/configuration.js.map +1 -1
- package/dist/device/member-evidence.js +1 -1
- package/dist/device/member-evidence.js.map +1 -1
- package/dist/device/member-trust.js +14 -32
- package/dist/device/member-trust.js.map +1 -1
- package/dist/device/snapshot.js +5 -17
- package/dist/device/snapshot.js.map +1 -1
- package/dist/diagnostics.js +246 -300
- package/dist/diagnostics.js.map +1 -1
- package/dist/homekit/adapter.js +4 -1
- package/dist/homekit/adapter.js.map +1 -1
- package/dist/homekit/adapters/battery.js +3 -3
- package/dist/homekit/adapters/battery.js.map +1 -1
- package/dist/homekit/adapters/camera-controls.js +15 -37
- package/dist/homekit/adapters/camera-controls.js.map +1 -1
- package/dist/homekit/adapters/camera-streaming.js +9 -19
- package/dist/homekit/adapters/camera-streaming.js.map +1 -1
- package/dist/homekit/adapters/contact.js +5 -5
- package/dist/homekit/adapters/contact.js.map +1 -1
- package/dist/homekit/adapters/doorbell.js +3 -15
- package/dist/homekit/adapters/doorbell.js.map +1 -1
- package/dist/homekit/adapters/lock.js +15 -214
- package/dist/homekit/adapters/lock.js.map +1 -1
- package/dist/homekit/adapters/motion.js +2 -2
- package/dist/homekit/adapters/motion.js.map +1 -1
- package/dist/homekit/adapters/package-sensor.js +2 -2
- package/dist/homekit/adapters/package-sensor.js.map +1 -1
- package/dist/homekit/adapters/security-system.js +11 -211
- package/dist/homekit/adapters/security-system.js.map +1 -1
- package/dist/homekit/adapters/siren.js +5 -33
- package/dist/homekit/adapters/siren.js.map +1 -1
- package/dist/homekit/adapters/smart-light.js +19 -217
- package/dist/homekit/adapters/smart-light.js.map +1 -1
- package/dist/homekit/coverage-matrix.js +8 -65
- package/dist/homekit/coverage-matrix.js.map +1 -1
- package/dist/homekit/device-control.js +249 -13
- package/dist/homekit/device-control.js.map +1 -1
- package/dist/homekit/reconciler.js +5 -5
- package/dist/homekit/reconciler.js.map +1 -1
- package/dist/media/last-successful-image.js +3 -20
- package/dist/media/last-successful-image.js.map +1 -1
- package/dist/media/live-preview.js +163 -42
- package/dist/media/live-preview.js.map +1 -1
- package/dist/media/live-stream.js +108 -67
- package/dist/media/live-stream.js.map +1 -1
- package/dist/media/recording.js +37 -120
- package/dist/media/recording.js.map +1 -1
- package/dist/media/snapshot.js +1 -9
- package/dist/media/snapshot.js.map +1 -1
- package/dist/media/station-live-sessions.js +0 -15
- package/dist/media/station-live-sessions.js.map +1 -1
- package/dist/platform.js +10 -10
- package/dist/platform.js.map +1 -1
- package/dist/runtime/channel.js +91 -69
- package/dist/runtime/channel.js.map +1 -1
- package/dist/runtime/owner.js +6 -6
- package/dist/runtime/owner.js.map +1 -1
- package/dist/runtime/sdk-client.js +3 -14
- package/dist/runtime/sdk-client.js.map +1 -1
- package/dist/runtime/tracker.js +8 -38
- package/dist/runtime/tracker.js.map +1 -1
- package/dist/storage.js +1 -1
- package/dist/storage.js.map +1 -1
- package/dist/ui/runtime-channel-client.js +145 -282
- package/dist/ui/runtime-channel-client.js.map +1 -1
- package/dist/ui/server.js +39 -53
- package/dist/ui/server.js.map +1 -1
- package/homebridge-ui/public/app.css +150 -78
- package/homebridge-ui/public/i18n/en.json +14 -2
- package/homebridge-ui/public/i18n/fr.json +14 -2
- package/homebridge-ui/public/index.html +59 -10
- package/homebridge-ui/public/js/app.js +206 -42
- package/homebridge-ui/public/js/dashboard.js +4 -19
- package/package.json +3 -7
- package/homebridge-ui/public/js/legacy-settings.js +0 -37
- package/homebridge-ui/public/js/profile-wizard.js +0 -31
- package/homebridge-ui/public/js/setup-wizard.js +0 -52
package/dist/ui/server.js
CHANGED
|
@@ -4,15 +4,15 @@ import { EufyMega } from '@mega-yfue/eufy-sdk';
|
|
|
4
4
|
import { AccountOwnership } from '../account/ownership.js';
|
|
5
5
|
import { AccountSessionPersistence } from '../account/persistence.js';
|
|
6
6
|
import { observationOnlyAuthenticationClient, TemporaryAuthentication, } from '../account/temporary-authentication.js';
|
|
7
|
-
import { parseConfig } from '../configuration.js';
|
|
7
|
+
import { isRecord, parseConfig } from '../configuration.js';
|
|
8
8
|
import { GuidedDiagnostics, isDiagnosticsProfile, isDiagnosticsReproductionMode, isDiagnosticsUiEvent, } from '../diagnostics.js';
|
|
9
9
|
import { PersistedLastSuccessfulImages } from '../media/last-successful-image.js';
|
|
10
10
|
import { readDeviceImage } from './device-image.js';
|
|
11
|
-
import { noticedDeviceSettingWrite, runtimeChannelEndpointForHost, } from '../runtime/channel.js';
|
|
11
|
+
import { noticedDeviceSettingWrite, noticedLivePreviewQuery, runtimeChannelEndpointForHost, } from '../runtime/channel.js';
|
|
12
12
|
import { RuntimeTracker } from '../runtime/tracker.js';
|
|
13
13
|
import { resolveStorageRoot } from '../storage.js';
|
|
14
14
|
import { readDashboard } from './dashboard.js';
|
|
15
|
-
import { RuntimeChannelClient
|
|
15
|
+
import { RuntimeChannelClient } from './runtime-channel-client.js';
|
|
16
16
|
const AUTHENTICATION_FLOW_TIMEOUT_MS = 5 * 60_000;
|
|
17
17
|
const AUTHENTICATION_CLEANUP_TIMEOUT_MS = 10_000;
|
|
18
18
|
/** Binds every custom-UI child-process exit path to one bounded authentication cleanup. */
|
|
@@ -36,13 +36,11 @@ function requiredString(value, maximumLength) {
|
|
|
36
36
|
* browser or into an error path that a diagnostic could record.
|
|
37
37
|
*/
|
|
38
38
|
export function parseAuthenticationStart(value) {
|
|
39
|
-
if (
|
|
39
|
+
if (!isRecord(value)) {
|
|
40
40
|
throw new RequestError('Invalid authentication request', { status: 400 });
|
|
41
41
|
}
|
|
42
42
|
const payload = value;
|
|
43
|
-
if (
|
|
44
|
-
payload.configuration === null ||
|
|
45
|
-
Array.isArray(payload.configuration)) {
|
|
43
|
+
if (!isRecord(payload.configuration)) {
|
|
46
44
|
throw new RequestError('Invalid authentication request', { status: 400 });
|
|
47
45
|
}
|
|
48
46
|
const candidate = payload.configuration;
|
|
@@ -74,7 +72,7 @@ export function parseAuthenticationStart(value) {
|
|
|
74
72
|
* Every rejection raises the same generic message so no submitted challenge answer is echoed back.
|
|
75
73
|
*/
|
|
76
74
|
export function parseAuthenticationAnswer(value, key) {
|
|
77
|
-
if (
|
|
75
|
+
if (!isRecord(value)) {
|
|
78
76
|
throw new RequestError('Invalid authentication continuation', { status: 400 });
|
|
79
77
|
}
|
|
80
78
|
const answer = requiredString(value[key], 128)?.trim();
|
|
@@ -87,16 +85,14 @@ function parseRepresentationPreferences(value) {
|
|
|
87
85
|
if (value === undefined) {
|
|
88
86
|
return {};
|
|
89
87
|
}
|
|
90
|
-
if (
|
|
88
|
+
if (!isRecord(value)) {
|
|
91
89
|
throw new RequestError('Invalid dashboard request', { status: 400 });
|
|
92
90
|
}
|
|
93
91
|
const preferences = value.representationPreferences;
|
|
94
92
|
if (preferences === undefined) {
|
|
95
93
|
return {};
|
|
96
94
|
}
|
|
97
|
-
if (
|
|
98
|
-
preferences === null ||
|
|
99
|
-
Array.isArray(preferences) ||
|
|
95
|
+
if (!isRecord(preferences) ||
|
|
100
96
|
Object.entries(preferences).some(([serial, represented]) => serial.length === 0 || serial.length > 128 || typeof represented !== 'boolean')) {
|
|
101
97
|
throw new RequestError('Invalid dashboard request', { status: 400 });
|
|
102
98
|
}
|
|
@@ -119,7 +115,7 @@ function isAffectedDevices(value) {
|
|
|
119
115
|
value.every((serial) => typeof serial === 'string' && serial.length > 0 && serial.length <= LONGEST_SERIAL));
|
|
120
116
|
}
|
|
121
117
|
export function parseDiagnosticsAuthorization(value) {
|
|
122
|
-
if (
|
|
118
|
+
if (!isRecord(value)) {
|
|
123
119
|
throw new RequestError('Invalid diagnostics request', { status: 400 });
|
|
124
120
|
}
|
|
125
121
|
const payload = value;
|
|
@@ -139,34 +135,25 @@ export function parseDiagnosticsAuthorization(value) {
|
|
|
139
135
|
};
|
|
140
136
|
}
|
|
141
137
|
/**
|
|
142
|
-
* Validates a browser-submitted request
|
|
138
|
+
* Validates a browser-submitted request that names one device serial and nothing else.
|
|
143
139
|
*
|
|
144
|
-
* The serial
|
|
145
|
-
*
|
|
146
|
-
* what was submitted.
|
|
140
|
+
* The serial arrives from the browser, so it is bounded and constrained to the shape a serial has before it reaches
|
|
141
|
+
* storage or the runtime. Rejection carries one generic `message` that never repeats what was submitted.
|
|
147
142
|
*/
|
|
148
|
-
export function
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const payload = value;
|
|
153
|
-
const serial = requiredString(payload.serial, 128);
|
|
154
|
-
if (Object.keys(payload).join(',') !== 'serial' || !serial?.match(/^[A-Za-z0-9]{1,128}$/)) {
|
|
155
|
-
throw new RequestError('Invalid device image request', { status: 400 });
|
|
143
|
+
export function parseSerialRequest(value, message, bound) {
|
|
144
|
+
const serial = isRecord(value) ? requiredString(value.serial, bound) : undefined;
|
|
145
|
+
if (!serial?.match(/^[A-Za-z0-9]+$/) || Object.keys(value).join(',') !== 'serial') {
|
|
146
|
+
throw new RequestError(message, { status: 400 });
|
|
156
147
|
}
|
|
157
148
|
return serial;
|
|
158
149
|
}
|
|
159
|
-
/**
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
150
|
+
/** A live preview request: one device serial and the settings its HomeKit side is coded with. */
|
|
151
|
+
function parseLivePreviewRequest(value) {
|
|
152
|
+
const query = noticedLivePreviewQuery(value);
|
|
153
|
+
if (!query?.serial.match(/^[A-Za-z0-9]{1,64}$/)) {
|
|
154
|
+
throw new RequestError('Invalid live preview request', { status: 400 });
|
|
163
155
|
}
|
|
164
|
-
|
|
165
|
-
const serial = requiredString(payload.serial, 64);
|
|
166
|
-
if (Object.keys(payload).join(',') !== 'serial' || !serial?.match(/^[A-Za-z0-9]{1,64}$/)) {
|
|
167
|
-
throw new RequestError('Invalid device settings request', { status: 400 });
|
|
168
|
-
}
|
|
169
|
-
return serial;
|
|
156
|
+
return query;
|
|
170
157
|
}
|
|
171
158
|
/**
|
|
172
159
|
* Validates a browser-submitted write of one eufy setting.
|
|
@@ -186,7 +173,7 @@ export function parseDeviceSettingWriteRequest(value) {
|
|
|
186
173
|
return write;
|
|
187
174
|
}
|
|
188
175
|
function parseArchiveReview(value) {
|
|
189
|
-
if (
|
|
176
|
+
if (!isRecord(value)) {
|
|
190
177
|
throw new RequestError('Invalid support archive request', { status: 400 });
|
|
191
178
|
}
|
|
192
179
|
const reviewId = requiredString(value.reviewId, 36);
|
|
@@ -196,7 +183,7 @@ function parseArchiveReview(value) {
|
|
|
196
183
|
return reviewId;
|
|
197
184
|
}
|
|
198
185
|
export function parseDiagnosticsUiEvent(value) {
|
|
199
|
-
if (
|
|
186
|
+
if (!isRecord(value)) {
|
|
200
187
|
throw new RequestError('Invalid diagnostics UI event', { status: 400 });
|
|
201
188
|
}
|
|
202
189
|
const payload = value;
|
|
@@ -206,7 +193,7 @@ export function parseDiagnosticsUiEvent(value) {
|
|
|
206
193
|
return payload.event;
|
|
207
194
|
}
|
|
208
195
|
/** Creates the production SDK client without enabling realtime ownership. */
|
|
209
|
-
|
|
196
|
+
const createTemporaryAuthenticationClient = (options) => observationOnlyAuthenticationClient(new EufyMega({
|
|
210
197
|
email: options.account,
|
|
211
198
|
password: options.password,
|
|
212
199
|
countryCode: options.country,
|
|
@@ -218,7 +205,6 @@ export const createTemporaryAuthenticationClient = (options) => observationOnlyA
|
|
|
218
205
|
}));
|
|
219
206
|
/** Homebridge custom-UI child process that exclusively owns interactive authentication. */
|
|
220
207
|
export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
|
|
221
|
-
clientFactory;
|
|
222
208
|
authentication;
|
|
223
209
|
ownership;
|
|
224
210
|
persistence;
|
|
@@ -230,16 +216,15 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
|
|
|
230
216
|
diagnostics;
|
|
231
217
|
startPending = false;
|
|
232
218
|
flowGeneration = 0;
|
|
233
|
-
constructor(
|
|
219
|
+
constructor() {
|
|
234
220
|
super();
|
|
235
|
-
this.clientFactory = clientFactory;
|
|
236
221
|
if (!this.homebridgeStoragePath) {
|
|
237
222
|
throw new Error('Homebridge storage path is unavailable');
|
|
238
223
|
}
|
|
239
224
|
const root = resolveStorageRoot(this.homebridgeStoragePath);
|
|
240
225
|
this.ownership = new AccountOwnership(join(root, 'ownership'));
|
|
241
226
|
this.images = new PersistedLastSuccessfulImages(root);
|
|
242
|
-
this.persistence = new AccountSessionPersistence(join(root, 'accounts'), undefined,
|
|
227
|
+
this.persistence = new AccountSessionPersistence(join(root, 'accounts'), undefined, () => this.images.discardAll());
|
|
243
228
|
this.runtimeTracker = new RuntimeTracker(join(root, 'tracker.json'));
|
|
244
229
|
this.runtimeChannel = new RuntimeChannelClient(runtimeChannelEndpointForHost(root));
|
|
245
230
|
this.diagnostics = new GuidedDiagnostics(root);
|
|
@@ -249,27 +234,31 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
|
|
|
249
234
|
this.onRequest('/auth/close', () => this.closeAuthentication());
|
|
250
235
|
this.onRequest('/dashboard', (payload) => readDashboard(this.runtimeTracker, Date.now, parseRepresentationPreferences(payload), this.runtimeChannel, this.persistence));
|
|
251
236
|
this.onRequest('/update/restart', () => this.runtimeChannel.requestRestart());
|
|
252
|
-
this.onRequest('/device/image', (payload) => readDeviceImage(this.images, this.runtimeChannel,
|
|
237
|
+
this.onRequest('/device/image', (payload) => readDeviceImage(this.images, this.runtimeChannel, parseSerialRequest(payload, 'Invalid device image request', 128)));
|
|
253
238
|
this.onRequest('/device/settings', async (payload) => {
|
|
254
|
-
const settings = await this.runtimeChannel.readDeviceSettings(
|
|
239
|
+
const settings = await this.runtimeChannel.readDeviceSettings(parseSerialRequest(payload, 'Invalid device settings request', 64));
|
|
255
240
|
return settings ? { available: true, settings } : { available: false };
|
|
256
241
|
});
|
|
257
242
|
this.onRequest('/device/settings/write', async (payload) => ({
|
|
258
243
|
ok: await this.runtimeChannel.writeDeviceSetting(parseDeviceSettingWriteRequest(payload)),
|
|
259
244
|
}));
|
|
260
245
|
this.onRequest('/device/live/start', (payload) => {
|
|
261
|
-
const
|
|
246
|
+
const query = parseLivePreviewRequest(payload);
|
|
247
|
+
const { serial } = query;
|
|
262
248
|
this.live?.abort();
|
|
263
249
|
const live = new AbortController();
|
|
264
250
|
this.live = live;
|
|
265
251
|
void this.runtimeChannel
|
|
266
|
-
.liveDevice(
|
|
267
|
-
.
|
|
252
|
+
.liveDevice(query, (image, coding) => this.pushEvent('device-live', { serial, image, ...coding }), live.signal)
|
|
253
|
+
.then((unplayable) => {
|
|
268
254
|
if (!live.signal.aborted)
|
|
269
|
-
this.pushEvent('device-live-end', { serial });
|
|
255
|
+
this.pushEvent('device-live-end', { serial, unplayable });
|
|
270
256
|
});
|
|
271
257
|
return { started: true };
|
|
272
258
|
});
|
|
259
|
+
this.onRequest('/device/live/adapt', async (payload) => ({
|
|
260
|
+
ok: await this.runtimeChannel.adaptLive(parseLivePreviewRequest(payload)),
|
|
261
|
+
}));
|
|
273
262
|
this.onRequest('/device/live/stop', () => {
|
|
274
263
|
this.live?.abort();
|
|
275
264
|
this.live = undefined;
|
|
@@ -293,7 +282,7 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
|
|
|
293
282
|
const exported = await this.diagnostics.exportSupportArchive(parseArchiveReview(payload));
|
|
294
283
|
return { ...exported, archive: exported.archive.toString('base64') };
|
|
295
284
|
});
|
|
296
|
-
this.
|
|
285
|
+
bindTemporaryAuthenticationProcessCleanup(process, () => this.closeAuthentication());
|
|
297
286
|
this.ready();
|
|
298
287
|
}
|
|
299
288
|
async startAuthentication(payload) {
|
|
@@ -307,7 +296,7 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
|
|
|
307
296
|
if (generation !== this.flowGeneration) {
|
|
308
297
|
return { status: 'closed' };
|
|
309
298
|
}
|
|
310
|
-
this.authentication = new TemporaryAuthentication(this.ownership, this.persistence,
|
|
299
|
+
this.authentication = new TemporaryAuthentication(this.ownership, this.persistence, createTemporaryAuthenticationClient, {
|
|
311
300
|
flowTimeoutMs: AUTHENTICATION_FLOW_TIMEOUT_MS,
|
|
312
301
|
cleanupTimeoutMs: AUTHENTICATION_CLEANUP_TIMEOUT_MS,
|
|
313
302
|
}, this.runtimeTracker, this.runtimeChannel);
|
|
@@ -331,8 +320,5 @@ export class EufyAuthenticationUiServer extends HomebridgePluginUiServer {
|
|
|
331
320
|
this.authentication = undefined;
|
|
332
321
|
return authentication?.close() ?? { status: 'closed' };
|
|
333
322
|
}
|
|
334
|
-
installCleanupHandlers() {
|
|
335
|
-
bindTemporaryAuthenticationProcessCleanup(process, () => this.closeAuthentication());
|
|
336
|
-
}
|
|
337
323
|
}
|
|
338
324
|
//# sourceMappingURL=server.js.map
|
package/dist/ui/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
|