homebridge-config-ui-x 5.9.0 → 5.9.1-beta.0
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 +19 -0
- package/dist/core/auth/auth.controller.d.ts +5 -0
- package/dist/core/config/config.interfaces.d.ts +13 -0
- package/dist/core/config/config.service.d.ts +9 -0
- package/dist/core/config/config.service.js +18 -0
- package/dist/core/config/config.service.js.map +1 -1
- package/dist/core/config/config.startup.js +48 -17
- package/dist/core/config/config.startup.js.map +1 -1
- package/dist/core/feature-flags/feature-flags.registry.js +5 -0
- package/dist/core/feature-flags/feature-flags.registry.js.map +1 -1
- package/dist/core/spa/spa-html.service.d.ts +5 -0
- package/dist/core/spa/spa-html.service.js +38 -0
- package/dist/core/spa/spa-html.service.js.map +1 -0
- package/dist/core/spa/spa.filter.d.ts +3 -0
- package/dist/core/spa/spa.filter.js +21 -2
- package/dist/core/spa/spa.filter.js.map +1 -1
- package/dist/core/ssl/ssl-cert-generator.service.d.ts +15 -0
- package/dist/core/ssl/ssl-cert-generator.service.js +127 -0
- package/dist/core/ssl/ssl-cert-generator.service.js.map +1 -0
- package/dist/globalDefaults.js +3 -0
- package/dist/globalDefaults.js.map +1 -1
- package/dist/main.js +18 -4
- package/dist/main.js.map +1 -1
- package/dist/modules/child-bridges/child-bridges.interfaces.d.ts +9 -0
- package/dist/modules/config-editor/config-editor.controller.d.ts +3 -0
- package/dist/modules/config-editor/config-editor.controller.js +45 -1
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.module.js +2 -0
- package/dist/modules/config-editor/config-editor.module.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +8 -2
- package/dist/modules/config-editor/config-editor.service.js +46 -3
- package/dist/modules/config-editor/config-editor.service.js.map +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +1 -1
- package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
- package/dist/modules/plugins/plugins.service.js +15 -0
- package/dist/modules/plugins/plugins.service.js.map +1 -1
- package/dist/modules/server/server.controller.d.ts +20 -0
- package/dist/modules/server/server.controller.js +86 -1
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +18 -0
- package/dist/modules/server/server.service.js +257 -14
- package/dist/modules/server/server.service.js.map +1 -1
- package/dist/modules/status/status.gateway.d.ts +2 -0
- package/dist/modules/status/status.interfaces.d.ts +11 -0
- package/dist/modules/status/status.service.d.ts +4 -1
- package/dist/modules/status/status.service.js +21 -2
- package/dist/modules/status/status.service.js.map +1 -1
- package/package.json +3 -1
- package/public/assets/matter.svg +8 -0
- package/public/assets/plugin-ui-utils/ui.js +3 -0
- package/public/assets/plugin-ui-utils/ui.js.map +1 -1
- package/public/chunk-2ADAW5AD.js +1 -0
- package/public/{chunk-KW266TAV.js → chunk-2MFBHUTD.js} +1 -1
- package/public/{chunk-PK7EWRSF.js → chunk-2UQL2OTF.js} +1 -1
- package/public/chunk-2Y63WBU6.js +1 -0
- package/public/chunk-4AWJ2PWG.js +1 -0
- package/public/{chunk-FW6YLROT.js → chunk-4DVF333O.js} +1 -1
- package/public/{chunk-5R3NYRBJ.js → chunk-4E4YMHG4.js} +1 -1
- package/public/{chunk-EUGVBS4N.js → chunk-4H7ODI34.js} +1 -1
- package/public/{chunk-UHOVCHON.js → chunk-5G7T74GR.js} +1 -1
- package/public/{chunk-ICEM4QHU.js → chunk-5T6O4JCR.js} +1 -1
- package/public/{chunk-IDDSROZF.js → chunk-5W7EKO7F.js} +1 -1
- package/public/{chunk-UGSDROFZ.js → chunk-5WTTTYNS.js} +1 -1
- package/public/{chunk-VB3KKHCI.js → chunk-7F6JT34E.js} +1 -1
- package/public/{chunk-LTQGLD2K.js → chunk-AO7VT6PL.js} +1 -1
- package/public/{chunk-M4T2RO3I.js → chunk-AOALMLGY.js} +1 -1
- package/public/{chunk-LWOAR6BY.js → chunk-B5Z4M7ZJ.js} +1 -1
- package/public/chunk-BI2TS6NN.js +4 -0
- package/public/{chunk-X3DENUZZ.js → chunk-BQTGMLQB.js} +1 -1
- package/public/{chunk-3PJWBNGU.js → chunk-BVTPAZF3.js} +1 -1
- package/public/{chunk-AYMJQ6UO.js → chunk-CWTDHTPI.js} +1 -1
- package/public/{chunk-PYFU3YSX.js → chunk-D4LRW76J.js} +1 -1
- package/public/{chunk-X2HK2VP5.js → chunk-DIWD6B4C.js} +1 -1
- package/public/{chunk-6W43YCZG.js → chunk-DL2QDFLD.js} +1 -1
- package/public/{chunk-IESBL4DA.js → chunk-E4ZKIFZH.js} +1 -1
- package/public/{chunk-75E7S6CO.js → chunk-E7S36RMO.js} +1 -1
- package/public/chunk-EHHNHG6Q.js +1 -0
- package/public/{chunk-5WH5JZQ5.js → chunk-EYO3XCE2.js} +1 -1
- package/public/{chunk-TCYDYM5A.js → chunk-FGS4HIPD.js} +1 -1
- package/public/{chunk-CUP4YO7L.js → chunk-FOSFENMV.js} +1 -1
- package/public/chunk-HERKNFLL.js +16 -0
- package/public/chunk-HVGUNGBB.js +1 -0
- package/public/chunk-I3QQTGGZ.js +1 -0
- package/public/chunk-IBO6BDNZ.js +1 -0
- package/public/{chunk-2JSU6A57.js → chunk-IEO2AG2N.js} +1 -1
- package/public/{chunk-5PCQVX7H.js → chunk-IKY3F7MM.js} +1 -1
- package/public/{chunk-WHIRPY75.js → chunk-ISV4M72Q.js} +1 -1
- package/public/{chunk-U3JDCGCU.js → chunk-IXIZVUXX.js} +1 -1
- package/public/{chunk-MMLBIEDP.js → chunk-JWCVCB6V.js} +2 -2
- package/public/{chunk-7PXKC75G.js → chunk-JWHZQ7YI.js} +1 -1
- package/public/{chunk-WZ6CFZR4.js → chunk-JWY7RFE6.js} +1 -1
- package/public/chunk-LGE6SGDN.js +1 -0
- package/public/{chunk-MFEME63Q.js → chunk-LI4BZAUI.js} +1 -1
- package/public/{chunk-EV5RCPGM.js → chunk-NIERW5KT.js} +1 -1
- package/public/{chunk-57P3RXT7.js → chunk-NUCXRR5D.js} +1 -1
- package/public/{chunk-DWKQU3C2.js → chunk-OTOQR5Z2.js} +1 -1
- package/public/{chunk-FJCVFWLW.js → chunk-PPA66JI2.js} +1 -1
- package/public/chunk-PZD3OMMY.js +1 -0
- package/public/{chunk-KX4SDDFZ.js → chunk-QJLKBB62.js} +1 -1
- package/public/chunk-QOSAHW73.js +50 -0
- package/public/{chunk-LRD25TWX.js → chunk-QU4I4QSX.js} +1 -1
- package/public/{chunk-7F2HVPC5.js → chunk-R2PMDKTD.js} +1 -1
- package/public/{chunk-CDA3O4BZ.js → chunk-RLWY3GD4.js} +1 -1
- package/public/{chunk-4FV7QIK7.js → chunk-RON3LUMX.js} +1 -1
- package/public/{chunk-MYSGML5C.js → chunk-SOA3BB36.js} +1 -1
- package/public/chunk-SXOLKD36.js +19 -0
- package/public/{chunk-CFEDPWK5.js → chunk-TGX55EFG.js} +1 -1
- package/public/{chunk-DT6ICOAZ.js → chunk-TJEQFEML.js} +1 -1
- package/public/{chunk-AOCOR5BO.js → chunk-UKEKNQEJ.js} +1 -1
- package/public/{chunk-YZT252N4.js → chunk-USXMCNIE.js} +1 -1
- package/public/{chunk-XYVHCMEV.js → chunk-VB4UAZWJ.js} +1 -1
- package/public/{chunk-3HKQMTY5.js → chunk-VFIOPF3O.js} +1 -1
- package/public/{chunk-OQ5J7Z5A.js → chunk-W26VKO62.js} +1 -1
- package/public/{chunk-N5GOQDTB.js → chunk-WMGV3KS6.js} +1 -1
- package/public/{chunk-WGFPD4J2.js → chunk-XS5JK2LY.js} +1 -1
- package/public/{chunk-QTJ3CQHI.js → chunk-Y2N6WV2O.js} +1 -1
- package/public/{chunk-F2E7FMEJ.js → chunk-Z6VQEXUS.js} +1 -1
- package/public/{chunk-BJ7NEXKS.js → chunk-ZC3JEQZ5.js} +1 -1
- package/public/{chunk-DRO3CNQN.js → chunk-ZF6W5Z5R.js} +1 -1
- package/public/index.html +2 -2
- package/public/{main-OQMKHLDX.js → main-QP5R7HI3.js} +1 -1
- package/public/media/matter-P563JGDL.svg +8 -0
- package/public/{styles-7EFV5QBG.css → styles-CSF457UW.css} +1 -1
- package/scripts/extract-plugin-alias.js +53 -2
- package/public/chunk-3DANXKYW.js +0 -1
- package/public/chunk-4E3QJA2Q.js +0 -1
- package/public/chunk-BJ4JCAZT.js +0 -1
- package/public/chunk-BQ2T2C4E.js +0 -1
- package/public/chunk-CLRVHL2M.js +0 -1
- package/public/chunk-F72JFLBX.js +0 -1
- package/public/chunk-J7EVJFYY.js +0 -16
- package/public/chunk-MY3FPHNS.js +0 -1
- package/public/chunk-RSNBQILW.js +0 -4
- package/public/chunk-UBFASDE7.js +0 -1
- package/public/chunk-VLG3LTSC.js +0 -50
- package/public/chunk-X7FSVUGO.js +0 -19
- package/public/chunk-XYUTAICH.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `homebridge-config-ui-x` will be documented in this file. This project tries to adhere to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## v5.9.1 (Unreleased)
|
|
6
|
+
|
|
7
|
+
### UI Changes
|
|
8
|
+
|
|
9
|
+
- added config option to configure a webroot for the ui
|
|
10
|
+
- improve widget state around first data load
|
|
11
|
+
- add self-signed certificate generation feature
|
|
12
|
+
- integration with updated homebridge version
|
|
13
|
+
|
|
14
|
+
### Other Changes
|
|
15
|
+
|
|
16
|
+
- recommend update to node 24 when available
|
|
17
|
+
|
|
18
|
+
### Homebridge Dependencies
|
|
19
|
+
|
|
20
|
+
- `@homebridge/hap-client` @ `v3.1.2`
|
|
21
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.13.1`
|
|
22
|
+
- `@homebridge/plugin-ui-utils` @ `v2.1.1-beta.0`
|
|
23
|
+
|
|
5
24
|
## v5.9.0 (2025-11-01)
|
|
6
25
|
|
|
7
26
|
### UI Changes
|
|
@@ -43,6 +43,7 @@ export declare class AuthController {
|
|
|
43
43
|
runningInLinux: boolean;
|
|
44
44
|
runningInFreeBSD: boolean;
|
|
45
45
|
runningOnRaspberryPi: boolean;
|
|
46
|
+
runningOnRaspbianImage: boolean;
|
|
46
47
|
temperatureUnits: string;
|
|
47
48
|
temp: string;
|
|
48
49
|
log: {
|
|
@@ -54,6 +55,8 @@ export declare class AuthController {
|
|
|
54
55
|
cert: string;
|
|
55
56
|
pfx: string;
|
|
56
57
|
passphrase: string;
|
|
58
|
+
selfSigned: boolean;
|
|
59
|
+
selfSignedHostnames: string[];
|
|
57
60
|
};
|
|
58
61
|
accessoryControl: {
|
|
59
62
|
debug: boolean;
|
|
@@ -92,6 +95,8 @@ export declare class AuthController {
|
|
|
92
95
|
menuMode: "default" | "freeze";
|
|
93
96
|
wallpaper: string;
|
|
94
97
|
host: string;
|
|
98
|
+
webroot: string;
|
|
99
|
+
originalWebroot: string;
|
|
95
100
|
proxyHost: string;
|
|
96
101
|
homebridgePackagePath: string;
|
|
97
102
|
disableServerMetricsMonitoring: boolean;
|
|
@@ -9,6 +9,7 @@ export interface StartupConfig {
|
|
|
9
9
|
};
|
|
10
10
|
cspWsOverride?: string;
|
|
11
11
|
debug?: boolean;
|
|
12
|
+
webroot?: string;
|
|
12
13
|
}
|
|
13
14
|
interface PluginChildBridge {
|
|
14
15
|
username: string;
|
|
@@ -22,6 +23,9 @@ interface PluginChildBridge {
|
|
|
22
23
|
DEBUG?: string;
|
|
23
24
|
NODE_OPTIONS?: string;
|
|
24
25
|
};
|
|
26
|
+
matter?: {
|
|
27
|
+
port?: number;
|
|
28
|
+
};
|
|
25
29
|
}
|
|
26
30
|
export interface PlatformConfig {
|
|
27
31
|
platform: string;
|
|
@@ -46,6 +50,9 @@ export interface HomebridgeConfig {
|
|
|
46
50
|
manufacturer?: string;
|
|
47
51
|
model?: string;
|
|
48
52
|
firmwareRevision?: string;
|
|
53
|
+
matter?: {
|
|
54
|
+
port?: number;
|
|
55
|
+
};
|
|
49
56
|
};
|
|
50
57
|
mdns?: {
|
|
51
58
|
interface?: string | string[];
|
|
@@ -60,10 +67,14 @@ export interface HomebridgeConfig {
|
|
|
60
67
|
plugins?: string[];
|
|
61
68
|
disabledPlugins?: string[];
|
|
62
69
|
}
|
|
70
|
+
export interface MatterConfig {
|
|
71
|
+
port?: number;
|
|
72
|
+
}
|
|
63
73
|
export interface HomebridgeUiConfig {
|
|
64
74
|
name: string;
|
|
65
75
|
port: number;
|
|
66
76
|
host?: '::' | '0.0.0.0' | string;
|
|
77
|
+
webroot?: string;
|
|
67
78
|
proxyHost?: string;
|
|
68
79
|
auth: 'form' | 'none';
|
|
69
80
|
theme: string;
|
|
@@ -85,6 +96,8 @@ export interface HomebridgeUiConfig {
|
|
|
85
96
|
cert?: string;
|
|
86
97
|
pfx?: string;
|
|
87
98
|
passphrase?: string;
|
|
99
|
+
selfSigned?: boolean;
|
|
100
|
+
selfSignedHostnames?: string[];
|
|
88
101
|
};
|
|
89
102
|
accessoryControl?: {
|
|
90
103
|
debug?: boolean;
|
|
@@ -20,10 +20,12 @@ export declare class ConfigService {
|
|
|
20
20
|
runningInLinux: boolean;
|
|
21
21
|
runningInFreeBSD: boolean;
|
|
22
22
|
canShutdownRestartHost: boolean;
|
|
23
|
+
originalWebroot: string;
|
|
23
24
|
enableTerminalAccess: boolean;
|
|
24
25
|
usePluginBundles: boolean;
|
|
25
26
|
recommendChildBridges: boolean;
|
|
26
27
|
runningOnRaspberryPi: boolean;
|
|
28
|
+
runningOnRaspbianImage: boolean;
|
|
27
29
|
startupScript: string;
|
|
28
30
|
dockerOfflineUpdate: boolean;
|
|
29
31
|
package: any;
|
|
@@ -78,6 +80,7 @@ export declare class ConfigService {
|
|
|
78
80
|
runningInLinux: boolean;
|
|
79
81
|
runningInFreeBSD: boolean;
|
|
80
82
|
runningOnRaspberryPi: boolean;
|
|
83
|
+
runningOnRaspbianImage: boolean;
|
|
81
84
|
temperatureUnits: string;
|
|
82
85
|
temp: string;
|
|
83
86
|
log: {
|
|
@@ -89,6 +92,8 @@ export declare class ConfigService {
|
|
|
89
92
|
cert: string;
|
|
90
93
|
pfx: string;
|
|
91
94
|
passphrase: string;
|
|
95
|
+
selfSigned: boolean;
|
|
96
|
+
selfSignedHostnames: string[];
|
|
92
97
|
};
|
|
93
98
|
accessoryControl: {
|
|
94
99
|
debug: boolean;
|
|
@@ -127,6 +132,8 @@ export declare class ConfigService {
|
|
|
127
132
|
menuMode: "default" | "freeze";
|
|
128
133
|
wallpaper: string;
|
|
129
134
|
host: string;
|
|
135
|
+
webroot: string;
|
|
136
|
+
originalWebroot: string;
|
|
130
137
|
proxyHost: string;
|
|
131
138
|
homebridgePackagePath: string;
|
|
132
139
|
disableServerMetricsMonitoring: boolean;
|
|
@@ -138,6 +145,7 @@ export declare class ConfigService {
|
|
|
138
145
|
serverTimestamp: string;
|
|
139
146
|
theme: string;
|
|
140
147
|
};
|
|
148
|
+
setOriginalWebroot(webroot: string): void;
|
|
141
149
|
uiRestartRequired(): Promise<boolean>;
|
|
142
150
|
private freezeUiSettings;
|
|
143
151
|
private setConfigForDocker;
|
|
@@ -149,5 +157,6 @@ export declare class ConfigService {
|
|
|
149
157
|
removeWallpaperCache(): void;
|
|
150
158
|
streamCustomWallpaper(): ReadStream;
|
|
151
159
|
private checkIfRunningOnRaspberryPi;
|
|
160
|
+
private checkIfRunningOnRaspbianImage;
|
|
152
161
|
private getFeatureFlags;
|
|
153
162
|
}
|
|
@@ -49,6 +49,7 @@ let ConfigService = class ConfigService {
|
|
|
49
49
|
this.usePluginBundles = (node_process_1.default.env.UIX_USE_PLUGIN_BUNDLES === '1');
|
|
50
50
|
this.recommendChildBridges = ((0, node_os_1.totalmem)() > 2e+9);
|
|
51
51
|
this.runningOnRaspberryPi = false;
|
|
52
|
+
this.runningOnRaspbianImage = false;
|
|
52
53
|
this.startupScript = (0, node_path_1.resolve)(this.storagePath, 'startup.sh');
|
|
53
54
|
this.dockerOfflineUpdate = this.runningInDocker && (0, semver_1.satisfies)(node_process_1.default.env.CONFIG_UI_VERSION, '>=4.6.2 <=4.44.1', { includePrerelease: true });
|
|
54
55
|
this.package = (0, fs_extra_1.readJsonSync)((0, node_path_1.resolve)(node_process_1.default.env.UIX_BASE_PATH, 'package.json'));
|
|
@@ -60,6 +61,7 @@ let ConfigService = class ConfigService {
|
|
|
60
61
|
const homebridgeConfig = (0, fs_extra_1.readJSONSync)(this.configPath);
|
|
61
62
|
this.parseConfig(homebridgeConfig);
|
|
62
63
|
this.checkIfRunningOnRaspberryPi();
|
|
64
|
+
this.checkIfRunningOnRaspbianImage();
|
|
63
65
|
}
|
|
64
66
|
parseConfig(homebridgeConfig) {
|
|
65
67
|
this.homebridgeConfig = homebridgeConfig;
|
|
@@ -138,6 +140,7 @@ let ConfigService = class ConfigService {
|
|
|
138
140
|
runningInLinux: this.runningInLinux,
|
|
139
141
|
runningInFreeBSD: this.runningInFreeBSD,
|
|
140
142
|
runningOnRaspberryPi: this.runningOnRaspberryPi,
|
|
143
|
+
runningOnRaspbianImage: this.runningOnRaspbianImage,
|
|
141
144
|
temperatureUnits: this.ui.tempUnits || 'c',
|
|
142
145
|
temp: this.ui.temp,
|
|
143
146
|
log: {
|
|
@@ -149,6 +152,8 @@ let ConfigService = class ConfigService {
|
|
|
149
152
|
cert: this.ui.ssl?.cert,
|
|
150
153
|
pfx: this.ui.ssl?.pfx,
|
|
151
154
|
passphrase: this.ui.ssl?.passphrase,
|
|
155
|
+
selfSigned: this.ui.ssl?.selfSigned,
|
|
156
|
+
selfSignedHostnames: this.ui.ssl?.selfSignedHostnames,
|
|
152
157
|
},
|
|
153
158
|
accessoryControl: {
|
|
154
159
|
debug: this.ui.accessoryControl?.debug,
|
|
@@ -172,12 +177,17 @@ let ConfigService = class ConfigService {
|
|
|
172
177
|
menuMode: this.ui.menuMode || 'default',
|
|
173
178
|
wallpaper: this.ui.wallpaper,
|
|
174
179
|
host: this.ui.host || '',
|
|
180
|
+
webroot: this.ui.webroot || '',
|
|
181
|
+
originalWebroot: this.originalWebroot || '',
|
|
175
182
|
proxyHost: this.ui.proxyHost || '',
|
|
176
183
|
homebridgePackagePath: this.ui.homebridgePackagePath,
|
|
177
184
|
disableServerMetricsMonitoring: this.ui.disableServerMetricsMonitoring,
|
|
178
185
|
keepOrphans: this.hbStartupSettings?.keepOrphans || false,
|
|
179
186
|
};
|
|
180
187
|
}
|
|
188
|
+
setOriginalWebroot(webroot) {
|
|
189
|
+
this.originalWebroot = webroot;
|
|
190
|
+
}
|
|
181
191
|
async uiRestartRequired() {
|
|
182
192
|
if (this.hbServiceUiRestartRequired) {
|
|
183
193
|
return true;
|
|
@@ -282,6 +292,14 @@ let ConfigService = class ConfigService {
|
|
|
282
292
|
this.runningOnRaspberryPi = false;
|
|
283
293
|
}
|
|
284
294
|
}
|
|
295
|
+
async checkIfRunningOnRaspbianImage() {
|
|
296
|
+
try {
|
|
297
|
+
this.runningOnRaspbianImage = (0, node_os_1.platform)() === 'linux' && await (0, fs_extra_1.pathExists)('/etc/hb-ui-port');
|
|
298
|
+
}
|
|
299
|
+
catch (e) {
|
|
300
|
+
this.runningOnRaspbianImage = false;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
285
303
|
getFeatureFlags() {
|
|
286
304
|
const featureFlags = {};
|
|
287
305
|
if (!this.homebridgeVersion) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ const node_path_1 = require("node:path");
|
|
|
9
9
|
const node_process_1 = __importDefault(require("node:process"));
|
|
10
10
|
const fs_extra_1 = require("fs-extra");
|
|
11
11
|
const logger_service_1 = require("../logger/logger.service");
|
|
12
|
+
const ssl_cert_generator_service_1 = require("../ssl/ssl-cert-generator.service");
|
|
12
13
|
async function getStartupConfig() {
|
|
13
14
|
const logger = new logger_service_1.Logger();
|
|
14
15
|
const configPath = node_process_1.default.env.UIX_CONFIG_PATH || (0, node_path_1.resolve)((0, node_os_1.homedir)(), '.homebridge/config.json');
|
|
@@ -19,31 +20,50 @@ async function getStartupConfig() {
|
|
|
19
20
|
return addresses.find(x => x.family === 'IPv6');
|
|
20
21
|
}).length;
|
|
21
22
|
config.host = ipv6 ? '::' : '0.0.0.0';
|
|
23
|
+
config.webroot = '';
|
|
22
24
|
if (!ui) {
|
|
23
25
|
return config;
|
|
24
26
|
}
|
|
25
27
|
if (ui.host && node_process_1.default.env.UIX_DEVELOPMENT !== '1') {
|
|
26
28
|
config.host = ui.host;
|
|
27
29
|
}
|
|
28
|
-
if (ui.ssl &&
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
30
|
+
if (ui.ssl && node_process_1.default.env.UIX_DEVELOPMENT !== '1') {
|
|
31
|
+
if (ui.ssl.selfSigned) {
|
|
32
|
+
try {
|
|
33
|
+
const sslCertGenerator = new ssl_cert_generator_service_1.SslCertGeneratorService();
|
|
34
|
+
const hostnames = ui.ssl.selfSignedHostnames || ['localhost', '127.0.0.1'];
|
|
35
|
+
const { privateKey, certificate } = await sslCertGenerator.generateOrLoadCertificate(hostnames);
|
|
36
|
+
config.httpsOptions = {
|
|
37
|
+
key: privateKey,
|
|
38
|
+
cert: certificate,
|
|
39
|
+
};
|
|
40
|
+
logger.log('Self-signed certificate loaded successfully');
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
logger.error(`Could not generate self-signed certificate: ${e.message}`);
|
|
44
|
+
logger.error(e);
|
|
34
45
|
}
|
|
35
46
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
+
else if ((ui.ssl.key && ui.ssl.cert) || ui.ssl.pfx) {
|
|
48
|
+
for (const attribute of ['key', 'cert', 'pfx']) {
|
|
49
|
+
if (ui.ssl[attribute]) {
|
|
50
|
+
if (!(await ((0, fs_extra_1.stat)(ui.ssl[attribute]))).isFile()) {
|
|
51
|
+
logger.error(`SSL config error: ui.ssl.${attribute}: ${ui.ssl[attribute]} is not a valid file.`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
config.httpsOptions = {
|
|
57
|
+
key: ui.ssl.key ? await (0, fs_extra_1.readFile)(ui.ssl.key) : undefined,
|
|
58
|
+
cert: ui.ssl.cert ? await (0, fs_extra_1.readFile)(ui.ssl.cert) : undefined,
|
|
59
|
+
pfx: ui.ssl.pfx ? await (0, fs_extra_1.readFile)(ui.ssl.pfx) : undefined,
|
|
60
|
+
passphrase: ui.ssl.passphrase,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
logger.error(`Could not start server with SSL enabled as ${e.message}.`);
|
|
65
|
+
logger.error(e);
|
|
66
|
+
}
|
|
47
67
|
}
|
|
48
68
|
}
|
|
49
69
|
if (ui.proxyHost && node_process_1.default.env.UIX_DEVELOPMENT !== '1') {
|
|
@@ -57,6 +77,17 @@ async function getStartupConfig() {
|
|
|
57
77
|
config.debug = false;
|
|
58
78
|
node_process_1.default.env.UIX_DEBUG_LOGGING = '0';
|
|
59
79
|
}
|
|
80
|
+
if (ui.webroot && node_process_1.default.env.UIX_DEVELOPMENT !== '1') {
|
|
81
|
+
let webroot = `/${ui.webroot.toString().trim()}`.replace(/\/+/g, '/').replace(/\/$/, '');
|
|
82
|
+
if (webroot === '/') {
|
|
83
|
+
webroot = '';
|
|
84
|
+
}
|
|
85
|
+
config.webroot = webroot;
|
|
86
|
+
logger.log(`Setting up the UI on webroot: ${webroot}`);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
config.webroot = '';
|
|
90
|
+
}
|
|
60
91
|
return config;
|
|
61
92
|
}
|
|
62
93
|
//# sourceMappingURL=config.startup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.startup.js","sourceRoot":"","sources":["../../../src/core/config/config.startup.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"config.startup.js","sourceRoot":"","sources":["../../../src/core/config/config.startup.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,10 @@ exports.FEATURE_FLAGS = [
|
|
|
7
7
|
description: 'Enables debug mode configuration for child bridges',
|
|
8
8
|
range: '>=2.0.0-alpha.0',
|
|
9
9
|
},
|
|
10
|
+
{
|
|
11
|
+
key: 'matterSupport',
|
|
12
|
+
description: 'Enables support for Matter bridges',
|
|
13
|
+
range: '>=2.0.0-beta.39',
|
|
14
|
+
},
|
|
10
15
|
];
|
|
11
16
|
//# sourceMappingURL=feature-flags.registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-flags.registry.js","sourceRoot":"","sources":["../../../src/core/feature-flags/feature-flags.registry.ts"],"names":[],"mappings":";;;AAyBa,QAAA,aAAa,GAA4B;IACpD;QACE,GAAG,EAAE,sBAAsB;QAC3B,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,iBAAiB;KACzB;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"feature-flags.registry.js","sourceRoot":"","sources":["../../../src/core/feature-flags/feature-flags.registry.ts"],"names":[],"mappings":";;;AAyBa,QAAA,aAAa,GAA4B;IACpD;QACE,GAAG,EAAE,sBAAsB;QAC3B,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,GAAG,EAAE,eAAe;QACpB,WAAW,EAAE,oCAAoC;QACjD,KAAK,EAAE,iBAAiB;KACzB;CACF,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SpaHtmlService = void 0;
|
|
7
|
+
const node_path_1 = require("node:path");
|
|
8
|
+
const node_process_1 = __importDefault(require("node:process"));
|
|
9
|
+
const fs_extra_1 = require("fs-extra");
|
|
10
|
+
class SpaHtmlService {
|
|
11
|
+
static async updateIndexHtml(webroot) {
|
|
12
|
+
const indexPath = (0, node_path_1.resolve)(node_process_1.default.env.UIX_BASE_PATH, 'public/index.html');
|
|
13
|
+
if (!(await (0, fs_extra_1.exists)(indexPath))) {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const originalHtml = await (0, fs_extra_1.readFile)(indexPath, 'utf-8');
|
|
17
|
+
const normalizedWebroot = this.normalizeWebroot(webroot);
|
|
18
|
+
const modifiedHtml = this.transformHtmlForWebroot(originalHtml, normalizedWebroot);
|
|
19
|
+
await (0, fs_extra_1.writeFile)(indexPath, modifiedHtml);
|
|
20
|
+
}
|
|
21
|
+
static normalizeWebroot(webroot) {
|
|
22
|
+
if (!webroot || webroot === '/') {
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
return webroot.replace(/\/+/g, '/').replace(/^\/+|\/+$/g, '');
|
|
26
|
+
}
|
|
27
|
+
static transformHtmlForWebroot(html, webroot) {
|
|
28
|
+
const baseHref = webroot ? `/${webroot}/` : '/';
|
|
29
|
+
return html
|
|
30
|
+
.replace(/<base href="[^"]*"(\s*)\/?>/g, `<base href="${baseHref}"$1/>`)
|
|
31
|
+
.replace(/href="\/(?:.*?\/)?assets\//g, 'href="assets/')
|
|
32
|
+
.replace(/href="\/(?:.*?\/)?favicon\.ico"/g, 'href="favicon.ico"')
|
|
33
|
+
.replace(/href="\/(?:.*?\/)?([^"/]+\.(png|svg|webmanifest))"/g, 'href="$1"')
|
|
34
|
+
.replace(/src="\/(?:.*?\/)?assets\//g, 'src="assets/');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.SpaHtmlService = SpaHtmlService;
|
|
38
|
+
//# sourceMappingURL=spa-html.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spa-html.service.js","sourceRoot":"","sources":["../../../src/core/spa/spa-html.service.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAmC;AACnC,gEAAkC;AAElC,uCAAsD;AAEtD,MAAa,cAAc;IAKzB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAe;QAC1C,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;QACzE,IAAI,CAAC,CAAC,MAAM,IAAA,iBAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QACvD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAA;QAClF,MAAM,IAAA,oBAAS,EAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAC1C,CAAC;IAOO,MAAM,CAAC,gBAAgB,CAAC,OAAe;QAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAChC,OAAO,EAAE,CAAA;QACX,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IAQO,MAAM,CAAC,uBAAuB,CAAC,IAAY,EAAE,OAAe;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QAE/C,OAAO,IAAI;aACR,OAAO,CAAC,8BAA8B,EAAE,eAAe,QAAQ,OAAO,CAAC;aACvE,OAAO,CAAC,6BAA6B,EAAE,eAAe,CAAC;aACvD,OAAO,CAAC,kCAAkC,EAAE,oBAAoB,CAAC;aACjE,OAAO,CAAC,qDAAqD,EAAE,WAAW,CAAC;aAC3E,OAAO,CAAC,4BAA4B,EAAE,cAAc,CAAC,CAAA;IAC1D,CAAC;CACF;AA7CD,wCA6CC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common';
|
|
2
|
+
import '../../globalDefaults';
|
|
2
3
|
export declare class SpaFilter implements ExceptionFilter {
|
|
4
|
+
private readonly webroot;
|
|
5
|
+
constructor();
|
|
3
6
|
catch(_exception: HttpException, host: ArgumentsHost): any;
|
|
4
7
|
}
|
|
@@ -5,6 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
8
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
13
|
};
|
|
@@ -14,12 +17,27 @@ const node_path_1 = require("node:path");
|
|
|
14
17
|
const node_process_1 = __importDefault(require("node:process"));
|
|
15
18
|
const common_1 = require("@nestjs/common");
|
|
16
19
|
const fs_extra_1 = require("fs-extra");
|
|
20
|
+
require("../../globalDefaults");
|
|
17
21
|
let SpaFilter = class SpaFilter {
|
|
22
|
+
constructor() {
|
|
23
|
+
const envWebroot = node_process_1.default.env.UIX_ORIGINAL_WEBROOT;
|
|
24
|
+
this.webroot = (envWebroot && envWebroot !== globalThis.webroot.errorCode)
|
|
25
|
+
? envWebroot
|
|
26
|
+
: '';
|
|
27
|
+
}
|
|
18
28
|
catch(_exception, host) {
|
|
19
29
|
const ctx = host.switchToHttp();
|
|
20
30
|
const req = ctx.getRequest();
|
|
21
31
|
const res = ctx.getResponse();
|
|
22
|
-
|
|
32
|
+
const urlWithoutWebroot = this.webroot ? req.url.replace(new RegExp(`^${this.webroot}`), '') : req.url;
|
|
33
|
+
if (urlWithoutWebroot.startsWith('/api/')
|
|
34
|
+
|| urlWithoutWebroot.startsWith('/socket.io')
|
|
35
|
+
|| urlWithoutWebroot.startsWith('/assets')
|
|
36
|
+
|| urlWithoutWebroot.startsWith('/swagger')
|
|
37
|
+
|| urlWithoutWebroot.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|webmanifest)$/)) {
|
|
38
|
+
return res.code(404).send('Not Found');
|
|
39
|
+
}
|
|
40
|
+
if (this.webroot && !req.url.startsWith(this.webroot)) {
|
|
23
41
|
return res.code(404).send('Not Found');
|
|
24
42
|
}
|
|
25
43
|
const file = (0, fs_extra_1.readFileSync)((0, node_path_1.resolve)(node_process_1.default.env.UIX_BASE_PATH, 'public/index.html'), 'utf-8');
|
|
@@ -32,6 +50,7 @@ let SpaFilter = class SpaFilter {
|
|
|
32
50
|
};
|
|
33
51
|
exports.SpaFilter = SpaFilter;
|
|
34
52
|
exports.SpaFilter = SpaFilter = __decorate([
|
|
35
|
-
(0, common_1.Catch)(common_1.NotFoundException)
|
|
53
|
+
(0, common_1.Catch)(common_1.NotFoundException),
|
|
54
|
+
__metadata("design:paramtypes", [])
|
|
36
55
|
], SpaFilter);
|
|
37
56
|
//# sourceMappingURL=spa.filter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spa.filter.js","sourceRoot":"","sources":["../../../src/core/spa/spa.filter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spa.filter.js","sourceRoot":"","sources":["../../../src/core/spa/spa.filter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,yCAAmC;AACnC,gEAAkC;AAElC,2CAAyD;AACzD,uCAAuC;AAEvC,gCAA6B;AAGtB,IAAM,SAAS,GAAf,MAAM,SAAS;IAGpB;QACE,MAAM,UAAU,GAAG,sBAAO,CAAC,GAAG,CAAC,oBAAoB,CAAA;QACnD,IAAI,CAAC,OAAO,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC;YACxE,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,EAAE,CAAA;IACR,CAAC;IAED,KAAK,CAAC,UAAyB,EAAE,IAAmB;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QAC/B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAA;QAG7B,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAA;QAEtG,IAAI,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC;eACpC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC;eAC1C,iBAAiB,CAAC,UAAU,CAAC,SAAS,CAAC;eACvC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC;eACxC,iBAAiB,CAAC,KAAK,CAAC,qEAAqE,CAAC,EAAE,CAAC;YACpG,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAGD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,IAAA,mBAAO,EAAC,sBAAO,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAA;QAC3F,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACrB,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAA;QAClE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAChC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;QAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChB,CAAC;CACF,CAAA;AAtCY,8BAAS;oBAAT,SAAS;IADrB,IAAA,cAAK,EAAC,0BAAiB,CAAC;;GACZ,SAAS,CAsCrB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
2
|
+
interface SslCertificateData {
|
|
3
|
+
privateKey: Buffer;
|
|
4
|
+
certificate: Buffer;
|
|
5
|
+
}
|
|
6
|
+
export declare class SslCertGeneratorService {
|
|
7
|
+
private readonly logger;
|
|
8
|
+
private readonly certDir;
|
|
9
|
+
private readonly privateKeyPath;
|
|
10
|
+
private readonly certificatePath;
|
|
11
|
+
constructor();
|
|
12
|
+
generateOrLoadCertificate(hostnames?: string[]): Promise<SslCertificateData>;
|
|
13
|
+
private generateCertificate;
|
|
14
|
+
}
|
|
15
|
+
export {};
|