diff --git a/plugins/snapshot/package-lock.json b/plugins/snapshot/package-lock.json index ed080d8c9..b32c77bba 100644 --- a/plugins/snapshot/package-lock.json +++ b/plugins/snapshot/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/snapshot", - "version": "0.2.66", + "version": "0.2.67", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/snapshot", - "version": "0.2.66", + "version": "0.2.67", "dependencies": { "@types/node": "^22.10.2", "sharp": "^0.33.5", diff --git a/plugins/snapshot/package.json b/plugins/snapshot/package.json index 97bc683e4..bdff5474a 100644 --- a/plugins/snapshot/package.json +++ b/plugins/snapshot/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/snapshot", - "version": "0.2.66", + "version": "0.2.67", "description": "Snapshot Plugin for Scrypted", "scripts": { "scrypted-setup-project": "scrypted-setup-project", diff --git a/plugins/snapshot/src/main.ts b/plugins/snapshot/src/main.ts index 3c89bb653..2c96299c0 100644 --- a/plugins/snapshot/src/main.ts +++ b/plugins/snapshot/src/main.ts @@ -740,7 +740,7 @@ export class SnapshotPlugin extends AutoenableMixinProvider implements MixinProv async getLocalSnapshot(id: string, iface: string, search: string) { const endpoint = await this.authenticatedPath; - const ret = url.resolve(path.join(endpoint, id, iface, `${Date.now()}.jpg`) + `${search}`, ''); + const ret = url.resolve(path.join(endpoint, 'hotlink-ok', id, iface, `${Date.now()}.jpg`) + `${search}`, ''); return Buffer.from(ret); } @@ -768,7 +768,10 @@ export class SnapshotPlugin extends AutoenableMixinProvider implements MixinProv return; } - const pathname = request.url.substring(request.rootPath.length); + let pathname = request.url.substring(request.rootPath.length); + if (pathname.startsWith('/hotlink-ok')) + pathname = pathname.substring('/hotlink-ok'.length); + const [_, id, iface] = pathname.split('/'); try { if (iface !== ScryptedInterface.Camera && iface !== ScryptedInterface.VideoCamera)