Skip to content

Commit e92d3c4

Browse files
committed
Enhance WebSocket connection handling and configuration retrieval
- Update config retrieval to use JF_EXTERNAL_HOST if available. - Modify WebSocketClient to include rejectUnauthorized option for self-signed certificates.
1 parent 28f9bba commit e92d3c4

3 files changed

Lines changed: 16 additions & 9 deletions

File tree

backend/classes/config.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@ class Config {
1515
return { state: 0, error: "Config Details Not Found" };
1616
}
1717

18+
const _config = config[0];
19+
1820
return {
19-
JF_HOST: process.env.JF_HOST ?? config[0].JF_HOST,
20-
JF_API_KEY: process.env.JF_API_KEY ?? config[0].JF_API_KEY,
21-
APP_USER: config[0].APP_USER,
22-
APP_PASSWORD: config[0].APP_PASSWORD,
23-
REQUIRE_LOGIN: config[0].REQUIRE_LOGIN,
24-
settings: config[0].settings,
25-
api_keys: config[0].api_keys,
21+
JF_HOST: process.env.JF_HOST ?? _config.JF_HOST,
22+
JF_EXTERNAL_HOST: _config.settings?.EXTERNAL_URL,
23+
JF_API_KEY: process.env.JF_API_KEY ?? _config.JF_API_KEY,
24+
APP_USER: _config.APP_USER,
25+
APP_PASSWORD: _config.APP_PASSWORD,
26+
REQUIRE_LOGIN: _config.REQUIRE_LOGIN,
27+
settings: _config.settings,
28+
api_keys: _config.api_keys,
2629
state: state,
2730
IS_JELLYFIN: (process.env.IS_EMBY_API || "false").toLowerCase() === "false",
2831
};

backend/classes/jellyfin-api.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,9 @@ class JellyfinAPI {
438438
try {
439439
if (compareVersions(this.version, "10.11.0") >= 0) {
440440
const socketUrl =
441-
this.config.JF_HOST.replace(/^http/, "ws").replace(/^https/, "wss") + "/socket?api_key=" + this.config.JF_API_KEY;
441+
(this.config.JF_EXTERNAL_HOST ?? this.config.JF_HOST).replace(/^http/, "ws").replace(/^https/, "wss") +
442+
"/socket?api_key=" +
443+
this.config.JF_API_KEY;
442444
const sessionData = await getSessionData(socketUrl);
443445
if (sessionData != null) {
444446
return sessionData;

backend/classes/websocket-client.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ class WebSocketClient {
77
}
88

99
connect() {
10-
this.socket = new WebSocket(this.url);
10+
this.socket = new WebSocket(this.url, {
11+
rejectUnauthorized: (process.env.REJECT_SELF_SIGNED_CERTIFICATES || "true").toLowerCase() === "true",
12+
});
1113

1214
this.socket.on("open", () => {
1315
// console.log("Connected to WebSocket server");

0 commit comments

Comments
 (0)