matterbridge 3.0.5-dev-20250604-ec65531 → 3.0.5-dev-20250606-1299c57

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/CHANGELOG.md CHANGED
@@ -13,7 +13,8 @@ If you like this project and find it useful, please consider giving it a star on
13
13
  ### Added
14
14
 
15
15
  - [cli]: Added takeHeapSnapshot() and triggerGarbageCollection().
16
- - [LaundryWasher]: Add LaundryWasher class and Jest test.
16
+ - [LaundryWasher]: Added LaundryWasher class and Jest test.
17
+ - [nginx]: Added new example configuration for [nginx](README-NGINX.md).
17
18
 
18
19
  ### Changed
19
20
 
package/README-NGINX.md CHANGED
@@ -16,7 +16,43 @@
16
16
 
17
17
  ## Run matterbridge with nginx
18
18
 
19
- ### Create a basic nginx configuration file
19
+ ### Create a basic nginx configuration file that redirect to http://yourhost:8283
20
+
21
+ ```
22
+ sudo nano /etc/nginx/sites-available/matterbridge
23
+ ```
24
+
25
+ paste this configuration and if desired change the port to listen (here is 80) and the server_name using yours:
26
+
27
+ ```
28
+ server {
29
+ listen 80 default_server;
30
+ listen [::]:80 default_server;
31
+ server_name _;
32
+
33
+ location / {
34
+ # Redirect to Matterbridge frontend
35
+ proxy_pass http://localhost:8283/;
36
+ proxy_set_header Host $host;
37
+ proxy_set_header X-Real-IP $remote_addr;
38
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
39
+ proxy_set_header X-Forwarded-Proto $scheme;
40
+
41
+ # WebSocket support
42
+ proxy_http_version 1.1;
43
+ proxy_set_header Upgrade $http_upgrade;
44
+ proxy_set_header Connection $http_connection;
45
+ }
46
+ }
47
+ ```
48
+
49
+ Add matterbridge to enabled sites
50
+
51
+ ```
52
+ sudo ln -s /etc/nginx/sites-available/matterbridge /etc/nginx/sites-enabled/
53
+ ```
54
+
55
+ ### Create a basic nginx configuration file that redirect to http://yourhost:8283/matterbridge
20
56
 
21
57
  ```
22
58
  sudo nano /etc/nginx/sites-available/matterbridge
@@ -33,15 +69,73 @@ server {
33
69
  location /matterbridge/ {
34
70
  # Redirect to Matterbridge frontend
35
71
  proxy_pass http://localhost:8283/;
36
- proxy_set_header Host $host;
37
- proxy_set_header X-Real-IP $remote_addr;
38
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
39
- proxy_set_header X-Forwarded-Proto $scheme;
72
+ proxy_set_header Host $host;
73
+ proxy_set_header X-Real-IP $remote_addr;
74
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
75
+ proxy_set_header X-Forwarded-Proto $scheme;
40
76
 
41
77
  # WebSocket support
42
78
  proxy_http_version 1.1;
43
- proxy_set_header Upgrade $http_upgrade;
44
- proxy_set_header Connection "upgrade";
79
+ proxy_set_header Upgrade $http_upgrade;
80
+ proxy_set_header Connection $http_connection;
81
+ }
82
+ }
83
+ ```
84
+
85
+ Add matterbridge to enabled sites
86
+
87
+ ```
88
+ sudo ln -s /etc/nginx/sites-available/matterbridge /etc/nginx/sites-enabled/
89
+ ```
90
+
91
+ ### Create an advanced nginx configuration file that redirect to http://yourhost:8283 with ssl
92
+
93
+ ```
94
+ sudo nano /etc/nginx/sites-available/matterbridge
95
+ ```
96
+
97
+ paste this configuration adding your certificates:
98
+
99
+ ```
100
+ # Default server configuration
101
+
102
+ # Redirect all HTTP requests to HTTPS
103
+ server {
104
+ listen 80 default_server;
105
+ listen [::]:80 default_server;
106
+ server_name _;
107
+
108
+ return 301 https://$host$request_uri;
109
+ }
110
+
111
+ # HTTPS server configuration
112
+ server {
113
+ listen 443 ssl default_server;
114
+ listen [::]:443 ssl default_server;
115
+ http2 on;
116
+ server_name _;
117
+
118
+ # SSL certificate paths
119
+ ssl_certificate /etc/nginx/certs/cert.pem;
120
+ ssl_certificate_key /etc/nginx/certs/key.pem;
121
+
122
+ # SSL security settings
123
+ ssl_protocols TLSv1.2 TLSv1.3;
124
+ ssl_ciphers HIGH:!aNULL:!MD5;
125
+ ssl_prefer_server_ciphers on;
126
+
127
+ location / {
128
+ # Redirect to Matterbridge frontend
129
+ proxy_pass http://localhost:8283/;
130
+ proxy_set_header Host $host;
131
+ proxy_set_header X-Real-IP $remote_addr;
132
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
133
+ proxy_set_header X-Forwarded-Proto $scheme;
134
+
135
+ # WebSocket support
136
+ proxy_http_version 1.1;
137
+ proxy_set_header Upgrade $http_upgrade;
138
+ proxy_set_header Connection $http_connection;
45
139
  }
46
140
  }
47
141
  ```
@@ -52,7 +146,7 @@ Add matterbridge to enabled sites
52
146
  sudo ln -s /etc/nginx/sites-available/matterbridge /etc/nginx/sites-enabled/
53
147
  ```
54
148
 
55
- ### Create an advanced nginx configuration file that redirect to ssl
149
+ ### Create an advanced nginx configuration file that redirect to http://yourhost/matterbridge with ssl
56
150
 
57
151
  ```
58
152
  sudo nano /etc/nginx/sites-available/matterbridge
@@ -98,15 +192,15 @@ server {
98
192
  location /matterbridge/ {
99
193
  # Redirect to Matterbridge frontend
100
194
  proxy_pass http://localhost:8283/;
101
- proxy_set_header Host $host;
102
- proxy_set_header X-Real-IP $remote_addr;
103
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
104
- proxy_set_header X-Forwarded-Proto $scheme;
195
+ proxy_set_header Host $host;
196
+ proxy_set_header X-Real-IP $remote_addr;
197
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
198
+ proxy_set_header X-Forwarded-Proto $scheme;
105
199
 
106
200
  # WebSocket support
107
201
  proxy_http_version 1.1;
108
- proxy_set_header Upgrade $http_upgrade;
109
- proxy_set_header Connection "upgrade";
202
+ proxy_set_header Upgrade $http_upgrade;
203
+ proxy_set_header Connection $http_connection;
110
204
  }
111
205
  }
112
206
  ```
package/dist/frontend.js CHANGED
@@ -441,7 +441,7 @@ export class Frontend {
441
441
  }
442
442
  });
443
443
  this.expressApp.use((req, res) => {
444
- this.log.debug('The frontend sent:', req.url);
444
+ this.log.debug(`The frontend sent ${req.url} method ${req.method}: sending index.html as fallback`);
445
445
  res.sendFile(path.join(this.matterbridge.rootDirectory, 'frontend/build/index.html'));
446
446
  });
447
447
  this.log.debug(`Frontend initialized on port ${YELLOW}${this.port}${db} static ${UNDERLINE}${path.join(this.matterbridge.rootDirectory, 'frontend/build')}${UNDERLINEOFF}${rs}`);
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.5-dev-20250604-ec65531",
3
+ "version": "3.0.5-dev-20250606-1299c57",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "matterbridge",
9
- "version": "3.0.5-dev-20250604-ec65531",
9
+ "version": "3.0.5-dev-20250606-1299c57",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@matter/main": "0.14.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "matterbridge",
3
- "version": "3.0.5-dev-20250604-ec65531",
3
+ "version": "3.0.5-dev-20250606-1299c57",
4
4
  "description": "Matterbridge plugin manager for Matter",
5
5
  "author": "https://github.com/Luligu",
6
6
  "license": "Apache-2.0",