mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-17 21:15:32 +09:00
fix(desktop): never queue local proxy requests (#3421)
This commit is contained in:
1 parent
68cb2a4bbb
commit
ab19c0d1ac
8 files changed
+86
-505
No files matched your search
@@ -1,6 +1,6 @@
|
||||
// SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
|
||||
import {STABLE_APP_URL} from '@electron/common/Constants';
|
||||
import {DESKTOP_APP_SCHEME, STABLE_APP_URL} from '@electron/common/Constants';
|
||||
import {isPlainRecord} from '@electron/common/PlainRecord';
|
||||
|
||||
const SUB_FRAME_RESOURCE_TYPE = 'subFrame';
|
||||
@@ -9,6 +9,10 @@ const REFERER_REQUEST_HEADER = 'Referer';
|
||||
const REFERER_HEADER_NAME_LOWERCASE = 'referer';
|
||||
const YOUTUBE_EMBED_FRAME_ORIGIN = 'https://www.youtube.com';
|
||||
const YOUTUBE_EMBED_FRAME_PATH_PREFIX = '/embed/';
|
||||
const DESKTOP_RUNTIME_SECURITY_REQUEST_URL_PATTERNS = [
|
||||
`${DESKTOP_APP_SCHEME}://*/*`,
|
||||
`${YOUTUBE_EMBED_FRAME_ORIGIN}${YOUTUBE_EMBED_FRAME_PATH_PREFIX}*`,
|
||||
];
|
||||
|
||||
interface DesktopRuntimeSecurityLogger {
|
||||
error: (...args: Array<unknown>) => void;
|
||||
@@ -62,9 +66,12 @@ export class DesktopRuntimeSecurity {
|
||||
}
|
||||
this.installedSessions.add(session);
|
||||
try {
|
||||
session.webRequest.onBeforeSendHeaders((details: unknown, callback: unknown) => {
|
||||
this.settleRequestHeaders(details, callback);
|
||||
});
|
||||
session.webRequest.onBeforeSendHeaders(
|
||||
{urls: DESKTOP_RUNTIME_SECURITY_REQUEST_URL_PATTERNS},
|
||||
(details: unknown, callback: unknown) => {
|
||||
this.settleRequestHeaders(details, callback);
|
||||
},
|
||||
);
|
||||
} catch (installationError) {
|
||||
this.uninstall(session);
|
||||
throw installationError;
|
||||
|
||||
Reference in new issue
Block a user