@apocaliss92/nodelink-js 0.1.9 → 0.1.14

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 CHANGED
@@ -1,12 +1,12 @@
1
- <p align="center">
2
- <img src="assets/icon.png" alt="nodelink.js" width="128" height="128">
3
- </p>
4
-
5
- <h1 align="center">nodelink.js</h1>
6
-
7
- <p align="center">
8
- A TypeScript library for interacting with Reolink IP cameras and NVRs using the proprietary Baichuan protocol and CGI API.
9
- </p>
1
+ <table>
2
+ <tr>
3
+ <td><img src="app/client/public/icon-512x512.png" alt="nodelink.js" width="256" height="256"></td>
4
+ <td>
5
+ <h1>nodelink.js</h1>
6
+ <p>A TypeScript library for interacting with Reolink IP cameras and NVRs using the proprietary Baichuan protocol and CGI API.</p>
7
+ </td>
8
+ </tr>
9
+ </table>
10
10
 
11
11
  ## Credits
12
12
 
@@ -30,6 +30,75 @@ This library is inspired by and based on the reverse engineering work done by:
30
30
 
31
31
  ---
32
32
 
33
+ ## 🖥️ Manager UI (Web Dashboard)
34
+
35
+ The library includes a **complete web-based management interface** for easy camera configuration and streaming control without writing code.
36
+
37
+ <p align="center">
38
+ <b>Features:</b>
39
+ </p>
40
+
41
+ - 🎛️ **Camera Management** - Add, configure, and monitor multiple cameras
42
+ - 📹 **Live Streaming** - Preview streams via MJPEG, WebRTC, or RTSP
43
+ - 📊 **Real-time Logs** - Monitor camera events and system logs
44
+ - ⚙️ **Settings** - Configure RTSP proxy, ports, and auto-start options
45
+ - 📱 **PWA Support** - Install as a Progressive Web App on mobile devices
46
+ - 🌐 **Responsive Design** - Works on desktop, tablet, and mobile
47
+
48
+ ### Quick Start (Development)
49
+
50
+ ```bash
51
+ cd app
52
+ npm install
53
+ npm run dev
54
+ ```
55
+
56
+ - Web UI: http://localhost:5173
57
+ - API Server: http://localhost:3000
58
+
59
+ ### Production Build
60
+
61
+ ```bash
62
+ cd app
63
+ npm run build
64
+ npm start
65
+ ```
66
+
67
+ Open http://localhost:3000 in your browser.
68
+
69
+ ### Docker Deployment (Recommended)
70
+
71
+ The easiest way to run the Manager UI is with Docker:
72
+
73
+ ```bash
74
+ # Using pre-built image
75
+ docker pull ghcr.io/apocaliss92/nodelink-manager:latest
76
+
77
+ docker run -d \
78
+ --name nodelink-manager \
79
+ --network host \
80
+ -v nodelink-data:/data \
81
+ ghcr.io/apocaliss92/nodelink-manager:latest
82
+ ```
83
+
84
+ Or with Docker Compose:
85
+
86
+ ```bash
87
+ docker-compose up -d
88
+ ```
89
+
90
+ **Environment Variables:**
91
+
92
+ | Variable | Default | Description |
93
+ | ----------- | ------- | ------------------------------------ |
94
+ | `PORT` | `3000` | HTTP server port |
95
+ | `RTSP_PORT` | `8554` | RTSP proxy port |
96
+ | `DATA_PATH` | `/data` | Directory for settings.json and logs |
97
+
98
+ 📖 **[Full Docker documentation →](./DOCKER.md)**
99
+
100
+ ---
101
+
33
102
  ## 📚 Full API Documentation
34
103
 
35
104
  For detailed method-by-method documentation, see the [documentation](./documentation/) folder:
@@ -9,7 +9,7 @@ import {
9
9
  runMultifocalDiagnosticsConsecutively,
10
10
  sampleStreams,
11
11
  testChannelStreams
12
- } from "./chunk-TZFZ5WJX.js";
12
+ } from "./chunk-QEA2V52E.js";
13
13
  export {
14
14
  collectCgiDiagnostics,
15
15
  collectMultifocalDiagnostics,
@@ -22,4 +22,4 @@ export {
22
22
  sampleStreams,
23
23
  testChannelStreams
24
24
  };
25
- //# sourceMappingURL=DiagnosticsTools-EC7DADEQ.js.map
25
+ //# sourceMappingURL=DiagnosticsTools-YEML4E5V.js.map
@@ -134,7 +134,7 @@ import {
134
134
  talkTraceLog,
135
135
  traceLog,
136
136
  xmlEscape
137
- } from "./chunk-TZFZ5WJX.js";
137
+ } from "./chunk-QEA2V52E.js";
138
138
 
139
139
  // src/protocol/framing.ts
140
140
  function encodeHeader(h) {
@@ -15811,7 +15811,7 @@ ${xml}`
15811
15811
  * @returns Test results for all stream types and profiles
15812
15812
  */
15813
15813
  async testChannelStreams(channel, logger) {
15814
- const { testChannelStreams } = await import("./DiagnosticsTools-EC7DADEQ.js");
15814
+ const { testChannelStreams } = await import("./DiagnosticsTools-YEML4E5V.js");
15815
15815
  return await testChannelStreams({
15816
15816
  api: this,
15817
15817
  channel: this.normalizeChannel(channel),
@@ -15827,7 +15827,7 @@ ${xml}`
15827
15827
  * @returns Complete diagnostics for all channels and streams
15828
15828
  */
15829
15829
  async collectMultifocalDiagnostics(logger) {
15830
- const { collectMultifocalDiagnostics } = await import("./DiagnosticsTools-EC7DADEQ.js");
15830
+ const { collectMultifocalDiagnostics } = await import("./DiagnosticsTools-YEML4E5V.js");
15831
15831
  return await collectMultifocalDiagnostics({
15832
15832
  api: this,
15833
15833
  logger
@@ -18676,4 +18676,4 @@ export {
18676
18676
  isTcpFailureThatShouldFallbackToUdp,
18677
18677
  autoDetectDeviceType
18678
18678
  };
18679
- //# sourceMappingURL=chunk-YUBYINJF.js.map
18679
+ //# sourceMappingURL=chunk-L5U63S5K.js.map
@@ -7297,4 +7297,4 @@ export {
7297
7297
  parseRecordingFileName,
7298
7298
  ReolinkCgiApi
7299
7299
  };
7300
- //# sourceMappingURL=chunk-TZFZ5WJX.js.map
7300
+ //# sourceMappingURL=chunk-QEA2V52E.js.map