mirror of
https://github.com/hensm/fx_cast.git
synced 2026-06-09 17:19:59 +00:00
Add custom user agent option
This commit is contained in:
@@ -33,6 +33,8 @@ let platform: string;
|
||||
let chromeUserAgent: string | undefined;
|
||||
let chromeUserAgentHybrid: string | undefined;
|
||||
|
||||
let customUserAgent: string | undefined;
|
||||
|
||||
export async function initWhitelist() {
|
||||
logger.info("init (whitelist)");
|
||||
|
||||
@@ -42,6 +44,8 @@ export async function initWhitelist() {
|
||||
chromeUserAgent = getChromeUserAgent(platform);
|
||||
chromeUserAgentHybrid = getChromeUserAgent(platform, true);
|
||||
|
||||
customUserAgent = await options.get("siteWhitelistCustomUserAgent");
|
||||
|
||||
/**
|
||||
* If a UA string can't be obtained, don't bother continuing
|
||||
* extension initialization
|
||||
@@ -55,9 +59,13 @@ export async function initWhitelist() {
|
||||
await registerSiteWhitelist();
|
||||
|
||||
// Re-register when options change
|
||||
options.addEventListener("changed", ev => {
|
||||
options.addEventListener("changed", async ev => {
|
||||
const alteredOpts = ev.detail;
|
||||
|
||||
if (alteredOpts.includes("siteWhitelistCustomUserAgent")) {
|
||||
customUserAgent = await options.get("siteWhitelistCustomUserAgent");
|
||||
}
|
||||
|
||||
if (
|
||||
alteredOpts.includes("siteWhitelist") ||
|
||||
alteredOpts.includes("siteWhitelistEnabled")
|
||||
@@ -92,9 +100,10 @@ async function onWhitelistedBeforeSendHeaders(
|
||||
for (const header of details.requestHeaders) {
|
||||
if (header.name === "User-Agent") {
|
||||
header.value =
|
||||
host?.value === "www.youtube.com"
|
||||
customUserAgent ||
|
||||
(host?.value === "www.youtube.com"
|
||||
? chromeUserAgentHybrid
|
||||
: chromeUserAgent;
|
||||
: chromeUserAgent);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -126,9 +135,10 @@ function onWhitelistedChildBeforeSendHeaders(
|
||||
for (const header of details.requestHeaders) {
|
||||
if (header.name === "User-Agent") {
|
||||
header.value =
|
||||
host?.value === "www.youtube.com"
|
||||
customUserAgent ||
|
||||
(host?.value === "www.youtube.com"
|
||||
? chromeUserAgentHybrid
|
||||
: chromeUserAgent;
|
||||
: chromeUserAgent);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user