From 3111a2c7fc5e3e9e227962119b5527e435f2954b Mon Sep 17 00:00:00 2001 From: sapireli <114778791+sapireli@users.noreply.github.com> Date: Sun, 14 Jan 2024 04:49:42 -0500 Subject: [PATCH 1/3] feat: added support for setting the "origin" http header. Setting it to the same as referer without the trailing '/'. This is to support certain popular IPTV providers. --- electron/api.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/electron/api.ts b/electron/api.ts index 564e08c4a..a87e5af3e 100644 --- a/electron/api.ts +++ b/electron/api.ts @@ -113,12 +113,6 @@ export class Api { event.sender.send(PLAYLIST_PARSE_RESPONSE, { payload: playlistObject, }); - }) - .catch((err) => { - event.sender.send(ERROR, { - message: err.response.statusText, - status: err.response.status, - }); }); } catch (err) { event.sender.send(ERROR, { @@ -406,12 +400,20 @@ export class Api { userAgent = this.defaultUserAgent; } + // Remove trailing slash from referer if it exists + let originURL: string; + if (referer?.endsWith('/')) { + originURL= referer.slice(0, -1); + } + session.defaultSession.webRequest.onBeforeSendHeaders( (details, callback) => { details.requestHeaders['User-Agent'] = userAgent; // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion details.requestHeaders['Referer'] = referer as string; + details.requestHeaders['Origin'] = originURL as string; callback({ requestHeaders: details.requestHeaders }); + } ); console.log(`Success: Set "${userAgent}" as user agent header`); From 7d5dd42c9dba078962bdfb5beecf52c1d9872a05 Mon Sep 17 00:00:00 2001 From: sapireli <114778791+sapireli@users.noreply.github.com> Date: Sun, 14 Jan 2024 04:58:02 -0500 Subject: [PATCH 2/3] Revert "feat: added support for setting the "origin" http header." This reverts commit 3111a2c7fc5e3e9e227962119b5527e435f2954b. --- electron/api.ts | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/electron/api.ts b/electron/api.ts index a87e5af3e..564e08c4a 100644 --- a/electron/api.ts +++ b/electron/api.ts @@ -113,6 +113,12 @@ export class Api { event.sender.send(PLAYLIST_PARSE_RESPONSE, { payload: playlistObject, }); + }) + .catch((err) => { + event.sender.send(ERROR, { + message: err.response.statusText, + status: err.response.status, + }); }); } catch (err) { event.sender.send(ERROR, { @@ -400,20 +406,12 @@ export class Api { userAgent = this.defaultUserAgent; } - // Remove trailing slash from referer if it exists - let originURL: string; - if (referer?.endsWith('/')) { - originURL= referer.slice(0, -1); - } - session.defaultSession.webRequest.onBeforeSendHeaders( (details, callback) => { details.requestHeaders['User-Agent'] = userAgent; // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion details.requestHeaders['Referer'] = referer as string; - details.requestHeaders['Origin'] = originURL as string; callback({ requestHeaders: details.requestHeaders }); - } ); console.log(`Success: Set "${userAgent}" as user agent header`); From 6dc3f28c9835d9a37bd95e5a37a8b0f5544482cc Mon Sep 17 00:00:00 2001 From: sapireli <114778791+sapireli@users.noreply.github.com> Date: Sun, 14 Jan 2024 05:01:17 -0500 Subject: [PATCH 3/3] Update api.ts --- electron/api.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/electron/api.ts b/electron/api.ts index 564e08c4a..c523b348c 100644 --- a/electron/api.ts +++ b/electron/api.ts @@ -406,11 +406,18 @@ export class Api { userAgent = this.defaultUserAgent; } + // Remove trailing slash from referer if it exists + let originURL: string; + if (referer?.endsWith('/')) { + originURL= referer.slice(0, -1); + } + session.defaultSession.webRequest.onBeforeSendHeaders( (details, callback) => { details.requestHeaders['User-Agent'] = userAgent; // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion details.requestHeaders['Referer'] = referer as string; + details.requestHeaders['Origin'] = originURL as string; callback({ requestHeaders: details.requestHeaders }); } );