@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 +78 -9
- package/dist/{DiagnosticsTools-EC7DADEQ.js → DiagnosticsTools-YEML4E5V.js} +2 -2
- package/dist/{chunk-YUBYINJF.js → chunk-L5U63S5K.js} +4 -4
- package/dist/{chunk-TZFZ5WJX.js → chunk-QEA2V52E.js} +1 -1
- package/dist/chunk-QEA2V52E.js.map +1 -0
- package/dist/cli/rtsp-server.cjs.map +1 -1
- package/dist/cli/rtsp-server.js +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-TZFZ5WJX.js.map +0 -1
- /package/dist/{DiagnosticsTools-EC7DADEQ.js.map → DiagnosticsTools-YEML4E5V.js.map} +0 -0
- /package/dist/{chunk-YUBYINJF.js.map → chunk-L5U63S5K.js.map} +0 -0
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
<
|
|
2
|
-
<
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
<h1
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
</
|
|
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-
|
|
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-
|
|
25
|
+
//# sourceMappingURL=DiagnosticsTools-YEML4E5V.js.map
|
|
@@ -134,7 +134,7 @@ import {
|
|
|
134
134
|
talkTraceLog,
|
|
135
135
|
traceLog,
|
|
136
136
|
xmlEscape
|
|
137
|
-
} from "./chunk-
|
|
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-
|
|
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-
|
|
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-
|
|
18679
|
+
//# sourceMappingURL=chunk-L5U63S5K.js.map
|