homebridge-config-ui-x 5.12.0 → 5.12.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 +13 -0
- package/dist/core/auth/auth.controller.d.ts +4 -0
- package/dist/core/config/config.interfaces.d.ts +14 -0
- package/dist/core/config/config.service.d.ts +6 -0
- package/dist/core/config/config.service.js +8 -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/homebridge-ipc/homebridge-ipc.service.js +1 -0
- package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
- package/dist/core/spa/spa-html.service.d.ts +5 -0
- package/dist/core/spa/spa-html.service.js +32 -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 +22 -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 +125 -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/accessories/accessories.controller.d.ts +1 -1
- package/dist/modules/accessories/accessories.interfaces.d.ts +94 -0
- package/dist/modules/accessories/accessories.interfaces.js +2 -0
- package/dist/modules/accessories/accessories.interfaces.js.map +1 -0
- package/dist/modules/accessories/accessories.module.js +2 -0
- package/dist/modules/accessories/accessories.module.js.map +1 -1
- package/dist/modules/accessories/accessories.service.d.ts +21 -3
- package/dist/modules/accessories/accessories.service.js +281 -17
- package/dist/modules/accessories/accessories.service.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 +4 -0
- package/dist/modules/config-editor/config-editor.controller.js +64 -0
- package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
- package/dist/modules/config-editor/config-editor.service.d.ts +6 -1
- package/dist/modules/config-editor/config-editor.service.js +45 -1
- 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 +50 -0
- package/dist/modules/server/server.controller.js +201 -2
- package/dist/modules/server/server.controller.js.map +1 -1
- package/dist/modules/server/server.service.d.ts +48 -0
- package/dist/modules/server/server.service.js +502 -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 +9 -0
- package/dist/modules/status/status.service.js.map +1 -1
- package/docs/matter-todo.md +15 -0
- package/docs/ssl-upload-pr.md +103 -0
- package/package.json +3 -1
- package/public/3rdpartylicenses.txt +631 -657
- 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-23V3ZHHN.js +4 -0
- package/public/chunk-2IZ5GLDL.js +1 -0
- package/public/chunk-2ZETN4H4.js +1 -0
- package/public/{chunk-NXNTFMYU.js → chunk-376NJ4JA.js} +52 -2
- package/public/chunk-4JPNEFLH.js +1 -0
- package/public/chunk-4RTFV66E.js +1 -0
- package/public/chunk-5GBDFFOQ.js +1 -0
- package/public/chunk-5J6FDLB7.js +1 -0
- package/public/chunk-5OAGPV2D.js +1 -0
- package/public/chunk-65SHUKA4.js +1 -0
- package/public/chunk-6BJX5CLA.js +2 -0
- package/public/chunk-6C4IUINW.js +12 -0
- package/public/chunk-6OVZOJUT.js +1 -0
- package/public/chunk-6SBZOHFM.js +1 -0
- package/public/chunk-74YM4OSM.js +1 -0
- package/public/chunk-7CY762OC.js +1 -0
- package/public/chunk-7LNXXBIE.js +1 -0
- package/public/chunk-7NOPBNIZ.js +1 -0
- package/public/chunk-7TW4U5ET.js +1 -0
- package/public/chunk-AKBDMFNY.js +1 -0
- package/public/chunk-ALWBPP22.js +1 -0
- package/public/chunk-B4AJQJMI.js +1 -0
- package/public/chunk-B6RKSEW3.js +1 -0
- package/public/chunk-BLF5IIQI.js +1 -0
- package/public/{chunk-SIVN6M76.js → chunk-BMOLDRJ3.js} +1 -1
- package/public/{chunk-FANHX5JR.js → chunk-BOC4GPPW.js} +1 -1
- package/public/chunk-BYRP6GXK.js +1 -0
- package/public/chunk-C5FPXJOQ.js +1 -0
- package/public/chunk-C72MXF33.js +1 -0
- package/public/chunk-CLQGWMDP.js +1 -0
- package/public/chunk-CXRLFGOD.js +1 -0
- package/public/chunk-CZI3UVMH.js +1 -0
- package/public/chunk-DFVNQJY7.js +1 -0
- package/public/chunk-DPOOINVO.js +1 -0
- package/public/chunk-DSCDW5PD.js +1 -0
- package/public/chunk-DVLX24N2.js +1 -0
- package/public/chunk-DYMBIGE6.js +2 -0
- package/public/chunk-ELSY3N4O.js +1 -0
- package/public/chunk-ELTBAOHD.js +19 -0
- package/public/chunk-ENNQMSYQ.js +1 -0
- package/public/chunk-F7JEYIYP.js +1 -0
- package/public/chunk-FBMNEU62.js +1 -0
- package/public/chunk-FLCYAQH5.js +1 -0
- package/public/chunk-G53OXLP6.js +1 -0
- package/public/chunk-GAYKGX4P.js +1 -0
- package/public/chunk-GNKBS4UO.js +1 -0
- package/public/chunk-GTDQP2AN.js +1 -0
- package/public/chunk-GXT4SPB4.js +4 -0
- package/public/chunk-H2UEBCT6.js +1 -0
- package/public/chunk-H3VX2BIO.js +1 -0
- package/public/chunk-H6UNJZBF.js +1 -0
- package/public/{chunk-V4JCOKHQ.js → chunk-H7F7H5MW.js} +1 -1
- package/public/chunk-IE2OD64R.js +2 -0
- package/public/chunk-JB4LNFON.js +1 -0
- package/public/chunk-JPGTD7MD.js +1 -0
- package/public/{chunk-N2EK3VS7.js → chunk-JRJZJIV2.js} +1 -1
- package/public/chunk-K45E54BZ.js +1 -0
- package/public/chunk-KIZPS7DE.js +1 -0
- package/public/chunk-KQ3Z53BI.js +1 -0
- package/public/chunk-L4VGJUWK.js +1 -0
- package/public/chunk-L6Q2JELL.js +1 -0
- package/public/chunk-LOHNS7FV.js +2 -0
- package/public/chunk-M3KQANPV.js +3 -0
- package/public/chunk-M6TAMCUV.js +1 -0
- package/public/chunk-MHFV5QSL.js +1 -0
- package/public/chunk-ML4BDJRC.js +1 -0
- package/public/chunk-MOJIJ4KI.js +1 -0
- package/public/chunk-NHVLW3LX.js +1 -0
- package/public/chunk-NJGEMRNN.js +1 -0
- package/public/chunk-NJRKOKSU.js +1 -0
- package/public/chunk-NXZQXLGL.js +2 -0
- package/public/chunk-O4N7TQYF.js +1 -0
- package/public/chunk-OB3PTX3Z.js +1 -0
- package/public/chunk-P5MQL2T7.js +1 -0
- package/public/chunk-PAWAMEPH.js +1 -0
- package/public/chunk-PMDJKRLE.js +1 -0
- package/public/chunk-PTFXXQF2.js +1 -0
- package/public/chunk-PYOONJ25.js +1 -0
- package/public/chunk-Q65KD35M.js +1 -0
- package/public/chunk-QCZZKIYO.js +1 -0
- package/public/chunk-QD637MO5.js +1 -0
- package/public/chunk-QDCSNDML.js +68 -0
- package/public/chunk-QKXN6IC6.js +1 -0
- package/public/chunk-QMJOVI3M.js +1 -0
- package/public/chunk-QZ3OEC3U.js +1 -0
- package/public/chunk-RMCMUFT7.js +1 -0
- package/public/chunk-RYV47HXJ.js +1 -0
- package/public/chunk-SJOWHT2B.js +1 -0
- package/public/chunk-SLRAVUKI.js +1 -0
- package/public/chunk-TFTTSOLT.js +1 -0
- package/public/chunk-U5D4L5DP.js +1 -0
- package/public/chunk-UFIZB5XW.js +1 -0
- package/public/chunk-UX5CFJ7O.js +4 -0
- package/public/chunk-V4ZGSQKL.js +1 -0
- package/public/chunk-VNT2T75N.js +1 -0
- package/public/chunk-VQZXH6H7.js +1 -0
- package/public/chunk-VSPME4PA.js +2 -0
- package/public/chunk-W76BGWDJ.js +16 -0
- package/public/chunk-WBNNLXVW.js +4 -0
- package/public/chunk-WG5DYV7E.js +1 -0
- package/public/chunk-WLUIIX75.js +1 -0
- package/public/chunk-WRZTVTB6.js +1 -0
- package/public/chunk-XBMS7SCE.js +5 -0
- package/public/chunk-XHXRISSG.js +35 -0
- package/public/chunk-XIHWQFTE.js +1 -0
- package/public/chunk-XLLRYJGK.js +1 -0
- package/public/chunk-XUGDJIIQ.js +1 -0
- package/public/chunk-YCP75D2G.js +8 -0
- package/public/chunk-YNWFNSNN.js +19 -0
- package/public/chunk-YTCGCDXK.js +1 -0
- package/public/chunk-YTH23ATC.js +1 -0
- package/public/chunk-YUNDMK7D.js +1 -0
- package/public/chunk-ZCGZM7LU.js +1 -0
- package/public/chunk-ZFKD5Q4T.js +1 -0
- package/public/chunk-ZJFRXDDO.js +1 -0
- package/public/index.html +2 -2
- package/public/main-YL4WUDRU.js +1 -0
- package/public/media/matter-P563JGDL.svg +8 -0
- package/public/polyfills-34U4WL3Z.js +1 -0
- package/public/styles-WJHG5ONB.css +1 -0
- package/scripts/extract-plugin-alias.js +53 -2
- package/public/chunk-3MO7ICHF.js +0 -1
- package/public/chunk-3PGUQRQW.js +0 -1
- package/public/chunk-3SKLXSFI.js +0 -1
- package/public/chunk-54X33YUH.js +0 -5
- package/public/chunk-56HOZZW6.js +0 -1
- package/public/chunk-5ZHDYUXA.js +0 -1
- package/public/chunk-6SUIFFAZ.js +0 -1
- package/public/chunk-7DOT7I4R.js +0 -1
- package/public/chunk-7O4JAXGA.js +0 -50
- package/public/chunk-A5EOSR6S.js +0 -1
- package/public/chunk-AIGU7Y6G.js +0 -1
- package/public/chunk-AK4UTJX2.js +0 -1
- package/public/chunk-BAHYSQO5.js +0 -1
- package/public/chunk-BJKMZCEQ.js +0 -1
- package/public/chunk-BNHW6YHK.js +0 -1
- package/public/chunk-BNQ6BOCY.js +0 -1
- package/public/chunk-BPQAV2XG.js +0 -1
- package/public/chunk-CCKAIEVL.js +0 -1
- package/public/chunk-CJJAQM22.js +0 -19
- package/public/chunk-D5Z6KR3J.js +0 -1
- package/public/chunk-DRKO4DTB.js +0 -1
- package/public/chunk-EBANXPKG.js +0 -1
- package/public/chunk-EQHGBDO3.js +0 -1
- package/public/chunk-GOLMQCNJ.js +0 -1
- package/public/chunk-GPTVUF5H.js +0 -1
- package/public/chunk-HRAMBCZG.js +0 -1
- package/public/chunk-IQUWZEQX.js +0 -1
- package/public/chunk-JE6FI7IW.js +0 -16
- package/public/chunk-JHD5MRCG.js +0 -2
- package/public/chunk-JI6C4NXH.js +0 -1
- package/public/chunk-JJZ232C2.js +0 -12
- package/public/chunk-JYAM3PTI.js +0 -1
- package/public/chunk-KCF7ILFR.js +0 -1
- package/public/chunk-KEKO5EFZ.js +0 -1
- package/public/chunk-KK7LTOA5.js +0 -1
- package/public/chunk-L2Y7HWNA.js +0 -1
- package/public/chunk-LVPMGB27.js +0 -1
- package/public/chunk-MA4NUDLX.js +0 -1
- package/public/chunk-ML7UNHWF.js +0 -1
- package/public/chunk-MY5KM2NY.js +0 -1
- package/public/chunk-NBTW66C4.js +0 -3
- package/public/chunk-NLWU3URB.js +0 -1
- package/public/chunk-NVN7DYND.js +0 -1
- package/public/chunk-OL7NNVJO.js +0 -1
- package/public/chunk-PHO7WRKK.js +0 -1
- package/public/chunk-PHWW4YF2.js +0 -1
- package/public/chunk-QPGFU6MO.js +0 -1
- package/public/chunk-QTIB6YCV.js +0 -1
- package/public/chunk-RZVF77KW.js +0 -4
- package/public/chunk-SNO4VAGT.js +0 -1
- package/public/chunk-STRTFJ4I.js +0 -1
- package/public/chunk-TGQIPKOK.js +0 -51
- package/public/chunk-TMGK6CPZ.js +0 -8
- package/public/chunk-UIZYHRTQ.js +0 -4
- package/public/chunk-UO2L3YPH.js +0 -1
- package/public/chunk-XCOJYJKE.js +0 -4
- package/public/chunk-XKFVEK25.js +0 -2
- package/public/chunk-XPGD2BHY.js +0 -40
- package/public/chunk-YBNR45V5.js +0 -5
- package/public/chunk-YK5NYQW5.js +0 -1
- package/public/chunk-ZDEL6332.js +0 -1
- package/public/chunk-ZRDN4L2J.js +0 -5
- package/public/chunk-ZYETXD5U.js +0 -1
- package/public/main-YYHATWMC.js +0 -1
- package/public/polyfills-5KWHJ7II.js +0 -2
- package/public/styles-G2ZRD7VU.css +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
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.12.1 (Unreleased)
|
|
6
|
+
|
|
7
|
+
### ⚠️ Browser Support
|
|
8
|
+
|
|
9
|
+
- Updated minimum browser requirements to align with Angular 21:
|
|
10
|
+
- now targeting the last 2 versions of Chrome, Edge, Firefox and Safari
|
|
11
|
+
|
|
12
|
+
### Homebridge Dependencies
|
|
13
|
+
|
|
14
|
+
- `@homebridge/hap-client` @ `v3.1.2`
|
|
15
|
+
- `@homebridge/node-pty-prebuilt-multiarch` @ `v0.13.1`
|
|
16
|
+
- `@homebridge/plugin-ui-utils` @ `v2.1.3-beta.0`
|
|
17
|
+
|
|
5
18
|
## v5.12.0 (2025-12-15)
|
|
6
19
|
|
|
7
20
|
### UI Changes
|
|
@@ -55,6 +55,8 @@ export declare class AuthController {
|
|
|
55
55
|
cert: string;
|
|
56
56
|
pfx: string;
|
|
57
57
|
passphrase: string;
|
|
58
|
+
selfSigned: boolean;
|
|
59
|
+
selfSignedHostnames: string[];
|
|
58
60
|
};
|
|
59
61
|
accessoryControl: {
|
|
60
62
|
debug: boolean;
|
|
@@ -94,6 +96,8 @@ export declare class AuthController {
|
|
|
94
96
|
menuMode: "default" | "freeze";
|
|
95
97
|
wallpaper: string;
|
|
96
98
|
host: string;
|
|
99
|
+
webroot: string;
|
|
100
|
+
originalWebroot: string;
|
|
97
101
|
proxyHost: string;
|
|
98
102
|
homebridgePackagePath: string;
|
|
99
103
|
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,15 +67,20 @@ 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 HomebridgeUiBridgeConfig {
|
|
64
74
|
username: string;
|
|
65
75
|
hideHapAlert?: boolean;
|
|
76
|
+
hideMatterAlert?: boolean;
|
|
66
77
|
scheduledRestartCron?: string;
|
|
67
78
|
}
|
|
68
79
|
export interface HomebridgeUiConfig {
|
|
69
80
|
name: string;
|
|
70
81
|
port: number;
|
|
71
82
|
host?: '::' | '0.0.0.0' | string;
|
|
83
|
+
webroot?: string;
|
|
72
84
|
proxyHost?: string;
|
|
73
85
|
auth: 'form' | 'none';
|
|
74
86
|
theme: string;
|
|
@@ -90,6 +102,8 @@ export interface HomebridgeUiConfig {
|
|
|
90
102
|
cert?: string;
|
|
91
103
|
pfx?: string;
|
|
92
104
|
passphrase?: string;
|
|
105
|
+
selfSigned?: boolean;
|
|
106
|
+
selfSignedHostnames?: string[];
|
|
93
107
|
};
|
|
94
108
|
accessoryControl?: {
|
|
95
109
|
debug?: boolean;
|
|
@@ -20,6 +20,7 @@ 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;
|
|
@@ -91,6 +92,8 @@ export declare class ConfigService {
|
|
|
91
92
|
cert: string;
|
|
92
93
|
pfx: string;
|
|
93
94
|
passphrase: string;
|
|
95
|
+
selfSigned: boolean;
|
|
96
|
+
selfSignedHostnames: string[];
|
|
94
97
|
};
|
|
95
98
|
accessoryControl: {
|
|
96
99
|
debug: boolean;
|
|
@@ -130,6 +133,8 @@ export declare class ConfigService {
|
|
|
130
133
|
menuMode: "default" | "freeze";
|
|
131
134
|
wallpaper: string;
|
|
132
135
|
host: string;
|
|
136
|
+
webroot: string;
|
|
137
|
+
originalWebroot: string;
|
|
133
138
|
proxyHost: string;
|
|
134
139
|
homebridgePackagePath: string;
|
|
135
140
|
disableServerMetricsMonitoring: boolean;
|
|
@@ -141,6 +146,7 @@ export declare class ConfigService {
|
|
|
141
146
|
serverTimestamp: string;
|
|
142
147
|
theme: string;
|
|
143
148
|
};
|
|
149
|
+
setOriginalWebroot(webroot: string): void;
|
|
144
150
|
uiRestartRequired(): Promise<boolean>;
|
|
145
151
|
private freezeUiSettings;
|
|
146
152
|
private setConfigForDocker;
|
|
@@ -39,6 +39,7 @@ let ConfigService = class ConfigService {
|
|
|
39
39
|
runningInLinux = (!this.runningInDocker && !this.runningInSynologyPackage && !this.runningInPackageMode && platform() === 'linux');
|
|
40
40
|
runningInFreeBSD = (platform() === 'freebsd');
|
|
41
41
|
canShutdownRestartHost = (this.runningInLinux || process.env.UIX_CAN_SHUTDOWN_RESTART_HOST === '1');
|
|
42
|
+
originalWebroot;
|
|
42
43
|
enableTerminalAccess = (this.runningInDocker && process.env.HOMEBRIDGE_CONFIG_UI_TERMINAL !== '0')
|
|
43
44
|
|| (this.runningInPackageMode && process.env.HOMEBRIDGE_CONFIG_UI_TERMINAL !== '0')
|
|
44
45
|
|| this.runningInSynologyPackage
|
|
@@ -157,6 +158,8 @@ let ConfigService = class ConfigService {
|
|
|
157
158
|
cert: this.ui.ssl?.cert,
|
|
158
159
|
pfx: this.ui.ssl?.pfx,
|
|
159
160
|
passphrase: this.ui.ssl?.passphrase,
|
|
161
|
+
selfSigned: this.ui.ssl?.selfSigned,
|
|
162
|
+
selfSignedHostnames: this.ui.ssl?.selfSignedHostnames,
|
|
160
163
|
},
|
|
161
164
|
accessoryControl: {
|
|
162
165
|
debug: this.ui.accessoryControl?.debug,
|
|
@@ -181,12 +184,17 @@ let ConfigService = class ConfigService {
|
|
|
181
184
|
menuMode: this.ui.menuMode || 'default',
|
|
182
185
|
wallpaper: this.ui.wallpaper,
|
|
183
186
|
host: this.ui.host || '',
|
|
187
|
+
webroot: this.ui.webroot || '',
|
|
188
|
+
originalWebroot: this.originalWebroot || '',
|
|
184
189
|
proxyHost: this.ui.proxyHost || '',
|
|
185
190
|
homebridgePackagePath: this.ui.homebridgePackagePath,
|
|
186
191
|
disableServerMetricsMonitoring: this.ui.disableServerMetricsMonitoring,
|
|
187
192
|
keepOrphans: this.hbStartupSettings?.keepOrphans || false,
|
|
188
193
|
};
|
|
189
194
|
}
|
|
195
|
+
setOriginalWebroot(webroot) {
|
|
196
|
+
this.originalWebroot = webroot;
|
|
197
|
+
}
|
|
190
198
|
async uiRestartRequired() {
|
|
191
199
|
if (this.hbServiceUiRestartRequired) {
|
|
192
200
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":";;;;;;;;;AAIA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9G,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAE1E,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAA;AAGd,IAAM,aAAa,GAAnB,MAAM,aAAa;IACjB,IAAI,GAAG,wBAAwB,CAAA;IAG/B,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,yBAAyB,CAAC,CAAA;IACzF,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAA;IAC/E,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAA;IACrD,sBAAsB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,GAAG,CAAC,CAAA;IAC3E,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IACtD,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACjD,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAA;IAC1F,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAA;IACtE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAA;IAC1E,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,CAAA;IACvE,iBAAiB,CAAQ;IAGzB,kBAAkB,GAAG,SAAS,CAAA;IAC9B,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,CAAC,CAAA;IACnE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,GAAG,CAAC,CAAA;IACnF,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAA;IAC1E,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,QAAQ,EAAE,KAAK,OAAO,CAAC,CAAA;IAClI,gBAAgB,GAAG,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,CAAA;IAC7C,sBAAsB,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC,CAAA;IACnG,oBAAoB,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC;WACpG,CAAC,IAAI,CAAC,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC;WAChF,IAAI,CAAC,wBAAwB;WAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,KAAK,GAAG,CAAC,CAAA;IAGxD,gBAAgB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,GAAG,CAAC,CAAA;IAG/D,qBAAqB,GAAG,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAA;IAG3C,oBAAoB,GAAG,KAAK,CAAA;IAC5B,sBAAsB,GAAG,KAAK,CAAA;IAG9B,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACvD,mBAAmB,GAAG,IAAI,CAAC,eAAe,IAAI,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAA;IAGvI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;IAG1E,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;QAC7G,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,yCAAyC,CAAC,CAAC;QACpF,CAAC,CAAC,EAAE,CAAA;IAGC,mBAAmB,GAAG,IAAI,CAAA;IAG1B,mBAAmB,CAAQ;IAG3B,0BAA0B,GAAG,KAAK,CAAA;IAElC,gBAAgB,CAAkB;IAElC,EAAE,CAAoB;IAErB,YAAY,CAAoC;IAChD,QAAQ,CAAY;IAErB,OAAO,CAEb;IAEM,UAAU,CAAQ;IAEzB;QACE,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACtD,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAA;QAClC,IAAI,CAAC,2BAA2B,EAAE,CAAA;QAClC,IAAI,CAAC,6BAA6B,EAAE,CAAA;IACtC,CAAC;IAKM,WAAW,CAAC,gBAAkC;QACnD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QAExC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,EAAwC,CAAA;QACzE,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAgB,CAAA;QAEhJ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,CAAC,EAAE,GAAG;gBACR,IAAI,EAAE,QAAQ;aACR,CAAA;QACV,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,wBAAwB,CAAA;QAEtE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAC3B,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAA;QAEhB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAA;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC;YAChC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAA;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAA;QACjF,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAEtC,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,sBAAsB,EAAE,CAAA;IAC/B,CAAC;IAMM,UAAU,CAAC,aAAsB,KAAK;QAC3C,MAAM,QAAQ,GAAG;YACf,GAAG,EAAE;gBACH,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;gBACpC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,IAAI;gBACjD,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI;gBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI;gBACnD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBAC9B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;gBACpC,QAAQ,EAAE,QAAQ,EAAE;gBACpB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;gBAClB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;gBAC7C,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC;gBAC/D,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,mBAAmB,IAAI,IAAI,CAAC,kBAAkB;aAC5E;YACD,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;YAC1C,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,IAAI,KAAK;YAC/C,6BAA6B,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,6BAA6B,CAAC;YAC7E,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,YAAY,IAAI,MAAM;YAC5C,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACzC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,aAAa;YACrC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,SAAS;SACxC,CAAA;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,EAAE;gBACH,GAAG,QAAQ,CAAC,GAAG;gBACf,iBAAiB,EAAE,IAAI,CAAC,sBAAsB;gBAC9C,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,WAAW,EAAE,OAAO,CAAC,OAAO;gBAC5B,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;gBACvD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;gBACnD,gBAAgB,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,GAAG;gBAC1C,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;gBAClB,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO;oBAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY;iBACxC;gBACD,GAAG,EAAE;oBACH,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG;oBACrB,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI;oBACvB,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG;oBACrB,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU;iBACpC;gBACD,gBAAgB,EAAE;oBAChB,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK;oBACtC,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,iBAAiB,IAAI,EAAE;iBACrE;gBACD,OAAO,EAAE;oBACP,cAAc,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE;oBACrD,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,CAAC;iBAC3D;gBACD,oBAAoB,EAAE,IAAI,CAAC,EAAE,CAAC,oBAAoB,IAAI,IAAI;gBAC1D,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,EAAE;gBAC9B,KAAK,EAAE;oBACL,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ;oBACjC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO;iBAChC;gBACD,QAAQ,EAAE;oBACR,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW;oBAC1C,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW;oBAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU;iBAC3E;aACF;YACD,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,SAAS;YACvC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS;YAC5B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE;YACxB,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE;YAClC,qBAAqB,EAAE,IAAI,CAAC,EAAE,CAAC,qBAAqB;YACpD,8BAA8B,EAAE,IAAI,CAAC,EAAE,CAAC,8BAA8B;YACtE,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,IAAI,KAAK;SAC1D,CAAA;IACH,CAAC;IAKM,KAAK,CAAC,iBAAiB;QAE5B,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,OAAO,IAAI,CAAA;QACb,CAAC;QAGD,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,CAAA;QACzF,IAAI,cAAc,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACpD,OAAO,IAAI,CAAA;QACb,CAAC;QAGD,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;IACvG,CAAC;IAKO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEnB,IAAI,CAAC,QAAQ,GAAG,EAAgB,CAAA;YAChC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAEvB,IAAI,CAAC,YAAY,GAAG,EAAwC,CAAA;YAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IAKO,kBAAkB;QAExB,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,oGAAoG,CAAA;QACtH,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,GAAG,CAAC,CAAA;QAC9E,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG;YACZ,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,iCAAiC;YACvC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO;YAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY;SACxC,CAAA;QAGD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,CAAC;YAC3D,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,aAAa,CAAA;QACxF,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,yBAA4C,IAAI,MAAM,CAAA;QACjG,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,SAAS,CAAA;IACxG,CAAC;IAKO,SAAS;QACf,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC,CAAA;QAC5E,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,SAAS,CAAA;QAC3B,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,QAAQ,EAAE,KAAK,SAAS,CAAA;QAC5J,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG;YACZ,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO;YAC7B,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY;SACxC,CAAA;IACH,CAAC;IAKO,UAAU;QAChB,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBACvB,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;gBACnC,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAA;gBAChB,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAA;QACnC,CAAC;IACH,CAAC;IAKO,mBAAmB;QACzB,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SAC3C,CAAA;QAED,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEvC,OAAO,OAAO,CAAA;IAChB,CAAC;IAKO,aAAa;QACnB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC1E,CAAC;IAKO,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;gBAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACrC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;gBACvF,IAAI,CAAC,mBAAmB,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;YACxD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;QAEb,CAAC;IACH,CAAC;IAEM,oBAAoB;QACzB,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAA;IACtC,CAAC;IAKM,qBAAqB;QAC1B,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IACvE,CAAC;IAKO,KAAK,CAAC,2BAA2B;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,MAAM,UAAU,CAAC,uBAAuB,CAAC,CAAA;QAChH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAA;QACnC,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,6BAA6B;QACzC,IAAI,CAAC;YAEH,IAAI,CAAC,sBAAsB,GAAG,QAAQ,EAAE,KAAK,OAAO,IAAI,MAAM,UAAU,CAAC,iBAAiB,CAAC,CAAA;QAC7F,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAA;QACrC,CAAC;IACH,CAAC;IAMO,eAAe;QACrB,MAAM,YAAY,GAA4B,EAAE,CAAA;QAEhD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE5B,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YAChC,CAAC,CAAC,CAAA;YACF,OAAO,YAAY,CAAA;QACrB,CAAC;QAGD,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC;gBAEH,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;YACxE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;YAChC,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,OAAO,YAAY,CAAA;IACrB,CAAC;CACF,CAAA;AA/ZY,aAAa;IADzB,UAAU,EAAE;;GACA,aAAa,CA+ZzB"}
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/core/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { resolve } from 'node:path';
|
|
|
4
4
|
import process from 'node:process';
|
|
5
5
|
import { readJson } from 'fs-extra/esm';
|
|
6
6
|
import { Logger } from '../logger/logger.service.js';
|
|
7
|
+
import { SslCertGeneratorService } from '../ssl/ssl-cert-generator.service.js';
|
|
7
8
|
export async function getStartupConfig() {
|
|
8
9
|
const logger = new Logger();
|
|
9
10
|
const configPath = process.env.UIX_CONFIG_PATH || resolve(homedir(), '.homebridge/config.json');
|
|
@@ -14,31 +15,50 @@ export async function getStartupConfig() {
|
|
|
14
15
|
return addresses.find(x => x.family === 'IPv6');
|
|
15
16
|
}).length;
|
|
16
17
|
config.host = ipv6 ? '::' : '0.0.0.0';
|
|
18
|
+
config.webroot = '';
|
|
17
19
|
if (!ui) {
|
|
18
20
|
return config;
|
|
19
21
|
}
|
|
20
22
|
if (ui.host && process.env.UIX_DEVELOPMENT !== '1') {
|
|
21
23
|
config.host = ui.host;
|
|
22
24
|
}
|
|
23
|
-
if (ui.ssl &&
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
25
|
+
if (ui.ssl && process.env.UIX_DEVELOPMENT !== '1') {
|
|
26
|
+
if (ui.ssl.selfSigned) {
|
|
27
|
+
try {
|
|
28
|
+
const sslCertGenerator = new SslCertGeneratorService();
|
|
29
|
+
const hostnames = ui.ssl.selfSignedHostnames || ['localhost', '127.0.0.1'];
|
|
30
|
+
const { privateKey, certificate } = await sslCertGenerator.generateOrLoadCertificate(hostnames);
|
|
31
|
+
config.httpsOptions = {
|
|
32
|
+
key: privateKey,
|
|
33
|
+
cert: certificate,
|
|
34
|
+
};
|
|
35
|
+
logger.log('Self-signed certificate loaded successfully');
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
logger.error(`Could not generate self-signed certificate: ${e.message}`);
|
|
39
|
+
logger.error(e);
|
|
29
40
|
}
|
|
30
41
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
else if ((ui.ssl.key && ui.ssl.cert) || ui.ssl.pfx) {
|
|
43
|
+
for (const attribute of ['key', 'cert', 'pfx']) {
|
|
44
|
+
if (ui.ssl[attribute]) {
|
|
45
|
+
if (!(await (stat(ui.ssl[attribute]))).isFile()) {
|
|
46
|
+
logger.error(`SSL config error: ui.ssl.${attribute}: ${ui.ssl[attribute]} is not a valid file.`);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
try {
|
|
51
|
+
config.httpsOptions = {
|
|
52
|
+
key: ui.ssl.key ? await readFile(ui.ssl.key) : undefined,
|
|
53
|
+
cert: ui.ssl.cert ? await readFile(ui.ssl.cert) : undefined,
|
|
54
|
+
pfx: ui.ssl.pfx ? await readFile(ui.ssl.pfx) : undefined,
|
|
55
|
+
passphrase: ui.ssl.passphrase,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (e) {
|
|
59
|
+
logger.error(`Could not start server with SSL enabled as ${e.message}.`);
|
|
60
|
+
logger.error(e);
|
|
61
|
+
}
|
|
42
62
|
}
|
|
43
63
|
}
|
|
44
64
|
if (ui.proxyHost && process.env.UIX_DEVELOPMENT !== '1') {
|
|
@@ -52,6 +72,17 @@ export async function getStartupConfig() {
|
|
|
52
72
|
config.debug = false;
|
|
53
73
|
process.env.UIX_DEBUG_LOGGING = '0';
|
|
54
74
|
}
|
|
75
|
+
if (ui.webroot && process.env.UIX_DEVELOPMENT !== '1') {
|
|
76
|
+
let webroot = `/${ui.webroot.toString().trim()}`.replace(/\/+/g, '/').replace(/\/$/, '');
|
|
77
|
+
if (webroot === '/') {
|
|
78
|
+
webroot = '';
|
|
79
|
+
}
|
|
80
|
+
config.webroot = webroot;
|
|
81
|
+
logger.log(`Setting up the UI on webroot: ${webroot}`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
config.webroot = '';
|
|
85
|
+
}
|
|
55
86
|
return config;
|
|
56
87
|
}
|
|
57
88
|
//# sourceMappingURL=config.startup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.startup.js","sourceRoot":"","sources":["../../../src/core/config/config.startup.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"config.startup.js","sourceRoot":"","sources":["../../../src/core/config/config.startup.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,10 @@ export const FEATURE_FLAGS = [
|
|
|
4
4
|
description: 'Enables debug mode configuration for child bridges',
|
|
5
5
|
range: '>=2.0.0-alpha.0',
|
|
6
6
|
},
|
|
7
|
+
{
|
|
8
|
+
key: 'matterSupport',
|
|
9
|
+
description: 'Enables support for Matter bridges',
|
|
10
|
+
range: '>=2.0.0-beta.48',
|
|
11
|
+
},
|
|
7
12
|
];
|
|
8
13
|
//# 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,MAAM,CAAC,MAAM,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,MAAM,CAAC,MAAM,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"homebridge-ipc.service.js","sourceRoot":"","sources":["../../../src/core/homebridge-ipc/homebridge-ipc.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAA;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAG7C,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"homebridge-ipc.service.js","sourceRoot":"","sources":["../../../src/core/homebridge-ipc/homebridge-ipc.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { resolve } from 'node:path';
|
|
3
|
+
import process from 'node:process';
|
|
4
|
+
import { pathExists as exists } from 'fs-extra/esm';
|
|
5
|
+
export class SpaHtmlService {
|
|
6
|
+
static async updateIndexHtml(webroot) {
|
|
7
|
+
const indexPath = resolve(process.env.UIX_BASE_PATH, 'public/index.html');
|
|
8
|
+
if (!(await exists(indexPath))) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const originalHtml = await readFile(indexPath, 'utf-8');
|
|
12
|
+
const normalizedWebroot = this.normalizeWebroot(webroot);
|
|
13
|
+
const modifiedHtml = this.transformHtmlForWebroot(originalHtml, normalizedWebroot);
|
|
14
|
+
await writeFile(indexPath, modifiedHtml);
|
|
15
|
+
}
|
|
16
|
+
static normalizeWebroot(webroot) {
|
|
17
|
+
if (!webroot || webroot === '/') {
|
|
18
|
+
return '';
|
|
19
|
+
}
|
|
20
|
+
return webroot.replace(/\/+/g, '/').replace(/^\/+|\/+$/g, '');
|
|
21
|
+
}
|
|
22
|
+
static transformHtmlForWebroot(html, webroot) {
|
|
23
|
+
const baseHref = webroot ? `/${webroot}/` : '/';
|
|
24
|
+
return html
|
|
25
|
+
.replace(/<base href="[^"]*"(\s*)\/?>/g, `<base href="${baseHref}"$1/>`)
|
|
26
|
+
.replace(/href="\/(?:.*?\/)?assets\//g, 'href="assets/')
|
|
27
|
+
.replace(/href="\/(?:.*?\/)?favicon\.ico"/g, 'href="favicon.ico"')
|
|
28
|
+
.replace(/href="\/(?:.*?\/)?([^"/]+\.(png|svg|webmanifest))"/g, 'href="$1"')
|
|
29
|
+
.replace(/src="\/(?:.*?\/)?assets\//g, 'src="assets/');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# 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,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAEnD,MAAM,OAAO,cAAc;IAKzB,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAe;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;QACzE,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,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,SAAS,CAAC,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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { ArgumentsHost, ExceptionFilter, HttpException } from '@nestjs/common';
|
|
2
|
+
import '../../globalDefaults.js';
|
|
2
3
|
export declare class SpaFilter implements ExceptionFilter {
|
|
4
|
+
private readonly webroot;
|
|
5
|
+
constructor();
|
|
3
6
|
catch(_exception: HttpException, host: ArgumentsHost): any;
|
|
4
7
|
}
|
|
@@ -4,16 +4,35 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
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;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
7
10
|
import { readFileSync } from 'node:fs';
|
|
8
11
|
import { resolve } from 'node:path';
|
|
9
12
|
import process from 'node:process';
|
|
10
13
|
import { Catch, NotFoundException } from '@nestjs/common';
|
|
14
|
+
import '../../globalDefaults.js';
|
|
11
15
|
let SpaFilter = class SpaFilter {
|
|
16
|
+
webroot;
|
|
17
|
+
constructor() {
|
|
18
|
+
const envWebroot = process.env.UIX_ORIGINAL_WEBROOT;
|
|
19
|
+
this.webroot = (envWebroot && envWebroot !== globalThis.webroot.errorCode)
|
|
20
|
+
? envWebroot
|
|
21
|
+
: '';
|
|
22
|
+
}
|
|
12
23
|
catch(_exception, host) {
|
|
13
24
|
const ctx = host.switchToHttp();
|
|
14
25
|
const req = ctx.getRequest();
|
|
15
26
|
const res = ctx.getResponse();
|
|
16
|
-
|
|
27
|
+
const urlWithoutWebroot = this.webroot ? req.url.replace(new RegExp(`^${this.webroot}`), '') : req.url;
|
|
28
|
+
if (urlWithoutWebroot.startsWith('/api/')
|
|
29
|
+
|| urlWithoutWebroot.startsWith('/socket.io')
|
|
30
|
+
|| urlWithoutWebroot.startsWith('/assets')
|
|
31
|
+
|| urlWithoutWebroot.startsWith('/swagger')
|
|
32
|
+
|| urlWithoutWebroot.match(/\.(js|css|png|jpg|jpeg|gif|svg|ico|woff|woff2|ttf|eot|webmanifest)$/)) {
|
|
33
|
+
return res.code(404).send('Not Found');
|
|
34
|
+
}
|
|
35
|
+
if (this.webroot && !req.url.startsWith(this.webroot)) {
|
|
17
36
|
return res.code(404).send('Not Found');
|
|
18
37
|
}
|
|
19
38
|
const file = readFileSync(resolve(process.env.UIX_BASE_PATH, 'public/index.html'), 'utf-8');
|
|
@@ -25,7 +44,8 @@ let SpaFilter = class SpaFilter {
|
|
|
25
44
|
}
|
|
26
45
|
};
|
|
27
46
|
SpaFilter = __decorate([
|
|
28
|
-
Catch(NotFoundException)
|
|
47
|
+
Catch(NotFoundException),
|
|
48
|
+
__metadata("design:paramtypes", [])
|
|
29
49
|
], SpaFilter);
|
|
30
50
|
export { SpaFilter };
|
|
31
51
|
//# 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,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAEzD,OAAO,yBAAyB,CAAA;AAGzB,IAAM,SAAS,GAAf,MAAM,SAAS;IACH,OAAO,CAAQ;IAEhC;QACE,MAAM,UAAU,GAAG,OAAO,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,YAAY,CAAC,OAAO,CAAC,OAAO,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,SAAS;IADrB,KAAK,CAAC,iBAAiB,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
|
+
generateCertificate(hostnames: string[]): Promise<SslCertificateData>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var SslCertGeneratorService_1;
|
|
11
|
+
import { Buffer } from 'node:buffer';
|
|
12
|
+
import { existsSync } from 'node:fs';
|
|
13
|
+
import { readFile, writeFile } from 'node:fs/promises';
|
|
14
|
+
import { homedir } from 'node:os';
|
|
15
|
+
import { join, resolve } from 'node:path';
|
|
16
|
+
import process from 'node:process';
|
|
17
|
+
import { Injectable } from '@nestjs/common';
|
|
18
|
+
import { ensureDir } from 'fs-extra/esm';
|
|
19
|
+
import forge from 'node-forge';
|
|
20
|
+
import { Logger } from '../logger/logger.service.js';
|
|
21
|
+
let SslCertGeneratorService = SslCertGeneratorService_1 = class SslCertGeneratorService {
|
|
22
|
+
logger = new Logger(SslCertGeneratorService_1.name);
|
|
23
|
+
certDir;
|
|
24
|
+
privateKeyPath;
|
|
25
|
+
certificatePath;
|
|
26
|
+
constructor() {
|
|
27
|
+
const storagePath = process.env.UIX_STORAGE_PATH || resolve(homedir(), '.homebridge');
|
|
28
|
+
this.certDir = join(storagePath, 'ssl-certs');
|
|
29
|
+
this.privateKeyPath = join(this.certDir, 'private-key.pem');
|
|
30
|
+
this.certificatePath = join(this.certDir, 'certificate.pem');
|
|
31
|
+
}
|
|
32
|
+
async generateOrLoadCertificate(hostnames = ['localhost']) {
|
|
33
|
+
if (existsSync(this.privateKeyPath) && existsSync(this.certificatePath)) {
|
|
34
|
+
try {
|
|
35
|
+
const privateKey = await readFile(this.privateKeyPath);
|
|
36
|
+
const certificate = await readFile(this.certificatePath);
|
|
37
|
+
this.logger.log('Loaded existing self-signed certificate');
|
|
38
|
+
return { privateKey, certificate };
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
this.logger.warn('Failed to load existing certificate, generating new one:', error.message);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return this.generateCertificate(hostnames);
|
|
45
|
+
}
|
|
46
|
+
async generateCertificate(hostnames) {
|
|
47
|
+
this.logger.log('Generating self-signed certificate...');
|
|
48
|
+
try {
|
|
49
|
+
await ensureDir(this.certDir);
|
|
50
|
+
const keys = forge.pki.rsa.generateKeyPair(2048);
|
|
51
|
+
const cert = forge.pki.createCertificate();
|
|
52
|
+
cert.publicKey = keys.publicKey;
|
|
53
|
+
cert.serialNumber = '01';
|
|
54
|
+
cert.validity.notBefore = new Date();
|
|
55
|
+
cert.validity.notAfter = new Date('2050-01-01T00:00:00Z');
|
|
56
|
+
const attrs = [
|
|
57
|
+
{ name: 'commonName', value: hostnames[0] || 'localhost' },
|
|
58
|
+
{ name: 'countryName', value: 'US' },
|
|
59
|
+
{ shortName: 'ST', value: 'State' },
|
|
60
|
+
{ name: 'localityName', value: 'City' },
|
|
61
|
+
{ name: 'organizationName', value: 'Homebridge' },
|
|
62
|
+
{ shortName: 'OU', value: 'Homebridge UI' },
|
|
63
|
+
];
|
|
64
|
+
cert.setSubject(attrs);
|
|
65
|
+
cert.setIssuer(attrs);
|
|
66
|
+
const extensions = [
|
|
67
|
+
{
|
|
68
|
+
name: 'basicConstraints',
|
|
69
|
+
cA: true,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: 'keyUsage',
|
|
73
|
+
keyCertSign: true,
|
|
74
|
+
digitalSignature: true,
|
|
75
|
+
nonRepudiation: true,
|
|
76
|
+
keyEncipherment: true,
|
|
77
|
+
dataEncipherment: true,
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
name: 'extKeyUsage',
|
|
81
|
+
serverAuth: true,
|
|
82
|
+
clientAuth: true,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'subjectAltName',
|
|
86
|
+
altNames: hostnames.map((hostname) => {
|
|
87
|
+
if (/^(?:\d{1,3}\.){3}\d{1,3}$/.test(hostname) || /^(?:[0-9a-f]{0,4}:){2,7}[0-9a-f]{0,4}$/i.test(hostname)) {
|
|
88
|
+
return {
|
|
89
|
+
type: 7,
|
|
90
|
+
ip: hostname,
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return {
|
|
95
|
+
type: 2,
|
|
96
|
+
value: hostname,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
}),
|
|
100
|
+
},
|
|
101
|
+
];
|
|
102
|
+
cert.setExtensions(extensions);
|
|
103
|
+
cert.sign(keys.privateKey, forge.md.sha256.create());
|
|
104
|
+
const privateKeyPem = forge.pki.privateKeyToPem(keys.privateKey);
|
|
105
|
+
const certificatePem = forge.pki.certificateToPem(cert);
|
|
106
|
+
await writeFile(this.privateKeyPath, privateKeyPem, 'utf8');
|
|
107
|
+
await writeFile(this.certificatePath, certificatePem, 'utf8');
|
|
108
|
+
this.logger.log(`Self-signed certificate generated successfully for: ${hostnames.join(', ')}`);
|
|
109
|
+
return {
|
|
110
|
+
privateKey: Buffer.from(privateKeyPem),
|
|
111
|
+
certificate: Buffer.from(certificatePem),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
this.logger.error('Failed to generate self-signed certificate:', error);
|
|
116
|
+
throw error;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
SslCertGeneratorService = SslCertGeneratorService_1 = __decorate([
|
|
121
|
+
Injectable(),
|
|
122
|
+
__metadata("design:paramtypes", [])
|
|
123
|
+
], SslCertGeneratorService);
|
|
124
|
+
export { SslCertGeneratorService };
|
|
125
|
+
//# sourceMappingURL=ssl-cert-generator.service.js.map
|