@similie/hyphen-rtsp-tunnel 1.1.1 → 1.1.3
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/README.md +6 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/services/config.d.ts +3 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/config.js +9 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/sqs-notifier.d.ts.map +1 -1
- package/dist/services/sqs-notifier.js +3 -2
- package/dist/services/sqs-notifier.js.map +1 -1
- package/dist/services/storage-s3.d.ts.map +1 -1
- package/dist/services/storage-s3.js +4 -4
- package/dist/services/storage-s3.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -345,10 +345,12 @@ Authentication is currently based on Command Center/Device Certificate Signature
|
|
|
345
345
|
|
|
346
346
|
These are only required if using the SQS notifier.
|
|
347
347
|
|
|
348
|
-
| Variable
|
|
349
|
-
|
|
|
350
|
-
| `AWS_REGION`
|
|
351
|
-
| `SQS_QUEUE_URL`
|
|
348
|
+
| Variable | Description |
|
|
349
|
+
| ---------------- | ------------------------------- |
|
|
350
|
+
| `AWS_REGION` | AWS region |
|
|
351
|
+
| `SQS_QUEUE_URL` | SQS queue URL (FIFO supported) |
|
|
352
|
+
| `AWS_SQS_REGION` | If AWS_REGION is different(SQS) |
|
|
353
|
+
| `AWS_S3_REGION` | If AWS_REGION is different(s3) |
|
|
352
354
|
|
|
353
355
|
If these variables are not present, the notifier is automatically disabled.
|
|
354
356
|
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAmBzE,QAAA,MAAM,UAAU,EAAE,YAqFjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { RtspTunnelGateway, S3StorageAdapter, LocalStorageAdapter, StorageWorker
|
|
|
2
2
|
function buildNotifierFromEnv() {
|
|
3
3
|
// Not implementing SQS yet — just leaving the slot.
|
|
4
4
|
// Example rule later:
|
|
5
|
-
if (process.env.SQS_QUEUE_URL
|
|
5
|
+
if (process.env.SQS_QUEUE_URL)
|
|
6
6
|
return new SqsNotifier();
|
|
7
7
|
return new NoopNotifier();
|
|
8
8
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,YAAY,GAEb,MAAM,qBAAqB,CAAC;AAE7B,SAAS,oBAAoB;IAC3B,oDAAoD;IACpD,sBAAsB;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxD;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,UAEpC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function envTrim(name) {
|
|
2
|
+
const v = process.env[name];
|
|
3
|
+
const t = v?.trim();
|
|
4
|
+
return t ? t : undefined; // converts "" -> undefined
|
|
5
|
+
}
|
|
6
|
+
export function safeSegment(s) {
|
|
7
|
+
return (s || "unknown").replace(/[^a-zA-Z0-9._/-]/g, "_").slice(0, 128);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/services/config.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACpB,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,2BAA2B;AACvD,CAAC;AACD,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC1E,CAAC"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqs-notifier.d.ts","sourceRoot":"","sources":["../../src/services/sqs-notifier.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"sqs-notifier.d.ts","sourceRoot":"","sources":["../../src/services/sqs-notifier.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKhE;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,QAAQ;IAC1C,SAAgB,OAAO,EAAE,OAAO,CAAC;IAEjC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,GAAG,CAA8B;;IAmBzC,IAAI,CAAC,GAAG,EAAE,aAAa;IAajB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,IAAI,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACzC,SAAS,EAAE,CAAC,EACZ,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAC3B,OAAO,CAAC,IAAI,CAAC;IAmChB,OAAO,CAAC,YAAY;CA2CrB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SQSClient, SendMessageCommand, } from "@aws-sdk/client-sqs";
|
|
2
|
+
import { envTrim } from "./config.js";
|
|
2
3
|
/**
|
|
3
4
|
* Env:
|
|
4
5
|
* - SQS_QUEUE_URL (required)
|
|
@@ -15,8 +16,8 @@ export class SqsNotifier {
|
|
|
15
16
|
ctx = null;
|
|
16
17
|
constructor() {
|
|
17
18
|
const queueUrl = process.env.SQS_QUEUE_URL?.trim();
|
|
18
|
-
const region =
|
|
19
|
-
if (!queueUrl
|
|
19
|
+
const region = envTrim("AWS_SQS_REGION") ?? envTrim("AWS_REGION") ?? "ap-southeast-1";
|
|
20
|
+
if (!queueUrl) {
|
|
20
21
|
this.enabled = false;
|
|
21
22
|
return;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqs-notifier.js","sourceRoot":"","sources":["../../src/services/sqs-notifier.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqs-notifier.js","sourceRoot":"","sources":["../../src/services/sqs-notifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-s3.d.ts","sourceRoot":"","sources":["../../src/services/storage-s3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-s3.d.ts","sourceRoot":"","sources":["../../src/services/storage-s3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAoB,MAAM,oBAAoB,CAAC;AAGhE,qBAAa,gBAAiB,YAAW,cAAc;IAKnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAP/B,IAAI,SAAQ;IACZ,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAW;gBAGX,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAsB,EAC/C,QAAQ,CAAC,EAAE,QAAQ,EACF,YAAY,GAAE,OAAc;IAUzC,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;CAiCrD"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
|
|
4
|
-
|
|
5
|
-
return (s || "unknown").replace(/[^a-zA-Z0-9._/-]/g, "_").slice(0, 128);
|
|
6
|
-
}
|
|
4
|
+
import { envTrim, safeSegment } from "./config.js";
|
|
7
5
|
export class S3StorageAdapter {
|
|
8
6
|
bucket;
|
|
9
7
|
prefix;
|
|
@@ -14,7 +12,9 @@ export class S3StorageAdapter {
|
|
|
14
12
|
this.bucket = bucket;
|
|
15
13
|
this.prefix = prefix;
|
|
16
14
|
this.deleteOnMove = deleteOnMove;
|
|
17
|
-
|
|
15
|
+
// Prefer service-specific region, then generic, then default.
|
|
16
|
+
const region = envTrim("AWS_S3_REGION") ?? envTrim("AWS_REGION") ?? "ap-southeast-1";
|
|
17
|
+
this.s3 = s3Client ?? new S3Client({ region });
|
|
18
18
|
if (!bucket)
|
|
19
19
|
throw new Error("S3StorageAdapter requires bucket");
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-s3.js","sourceRoot":"","sources":["../../src/services/storage-s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-s3.js","sourceRoot":"","sources":["../../src/services/storage-s3.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,OAAO,gBAAgB;IAKR;IACA;IAEA;IAPnB,IAAI,GAAG,IAAI,CAAC;IACK,EAAE,CAAW;IAE9B,YACmB,MAAc,EACd,SAAiB,aAAa,EAC/C,QAAmB,EACF,eAAwB,IAAI;QAH5B,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAwB;QAE9B,iBAAY,GAAZ,YAAY,CAAgB;QAE7C,8DAA8D;QAC9D,MAAM,MAAM,GACV,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,gBAAgB,CAAC;QAExE,IAAI,CAAC,EAAE,GAAG,QAAQ,IAAI,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,GAAG,GACP,KAAK,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe;QACrF,MAAM,QAAQ,GAAG;YACf,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;YAC3B,GAAG;YACH,QAAQ;SACT,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAElD,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAChB,IAAI,gBAAgB,CAAC;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,YAAY;SAC1B,CAAC,CACH,CAAC;QAEF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,QAAQ,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;SACxC,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@similie/hyphen-rtsp-tunnel",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3",
|
|
4
4
|
"description": "API plugin module for Hyphen Command Center. Provides TCP and WebSocket interfaces for managing RTSP streams and related services using HyphenOS.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "adam.smith@similie.org",
|