diff options
author | mini-bomba <[email protected]> | 2022-10-29 13:18:41 +0200 |
---|---|---|
committer | mini-bomba <[email protected]> | 2022-10-29 13:20:51 +0200 |
commit | ea73a92fb72973be0a6d4101f229fd75ba6dca34 (patch) | |
tree | cc0320357fc796d801efbde813d226246ac50788 | |
parent | d68c3659be89e40ed116c868317d05eee819828b (diff) | |
download | SponsorBlock-ea73a92fb72973be0a6d4101f229fd75ba6dca34.tar.gz SponsorBlock-ea73a92fb72973be0a6d4101f229fd75ba6dca34.zip |
Use publicID instead of privateID for /userInfo calls
This should reduce the load on the server a bit, as it will no longer have to compute the publicID for each sponsorblock user.
This also reduces the list of actions that leak the privateID to the server.
-rw-r--r-- | src/options.ts | 4 | ||||
-rw-r--r-- | src/popup.ts | 4 | ||||
-rw-r--r-- | src/utils/licenseKey.ts | 10 | ||||
-rw-r--r-- | src/utils/warnings.ts | 4 |
4 files changed, 11 insertions, 11 deletions
diff --git a/src/options.ts b/src/options.ts index 888e7aaf..e963a683 100644 --- a/src/options.ts +++ b/src/options.ts @@ -532,7 +532,7 @@ function activatePrivateTextChange(element: HTMLElement) { case "userID": if (Config.config[option]) { utils.asyncRequestToServer("GET", "/api/userInfo", { - userID: Config.config[option], + publicUserID: utils.getHash(Config.config[option]), values: ["warnings", "banned"] }).then((result) => { const userInfo = JSON.parse(result.responseText); @@ -672,4 +672,4 @@ function copyDebugOutputToClipboard() { function isIncognitoAllowed(): Promise<boolean> { return new Promise((resolve) => chrome.extension.isAllowedIncognitoAccess(resolve)); -}
\ No newline at end of file +} diff --git a/src/popup.ts b/src/popup.ts index d2e763f4..d24721b0 100644 --- a/src/popup.ts +++ b/src/popup.ts @@ -281,7 +281,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> { if (!Config.config.payments.freeAccess && !noRefreshFetchingChaptersAllowed()) values.push("freeChaptersAccess"); utils.asyncRequestToServer("GET", "/api/userInfo", { - userID: Config.config.userID, + publicUserID: await utils.getHash(Config.config.userID), values }).then((res) => { if (res.status === 200) { @@ -461,7 +461,7 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> { } else { PageElements.videoFound.innerHTML = chrome.i18n.getMessage("segmentsStillLoading"); } - + PageElements.issueReporterImportExport.classList.remove("hidden"); } } diff --git a/src/utils/licenseKey.ts b/src/utils/licenseKey.ts index 7ce41a8a..77eca21d 100644 --- a/src/utils/licenseKey.ts +++ b/src/utils/licenseKey.ts @@ -15,7 +15,7 @@ export async function checkLicenseKey(licenseKey: string): Promise<boolean> { Config.config.showChapterInfoMessage = false; Config.config.payments.lastCheck = Date.now(); Config.forceSyncUpdate("payments"); - + return true; } } catch (e) { } //eslint-disable-line no-empty @@ -43,7 +43,7 @@ export async function fetchingChaptersAllowed(): Promise<boolean> { return licensePromise; } } - + if (Config.config.payments.chaptersAllowed) return true; if (Config.config.payments.lastCheck === 0 && Date.now() - Config.config.payments.lastFreeCheck > 2 * 24 * 60 * 60 * 1000) { @@ -53,7 +53,7 @@ export async function fetchingChaptersAllowed(): Promise<boolean> { // Check for free access if no license key, and it is the first time const result = await utils.asyncRequestToServer("GET", "/api/userInfo", { value: "freeChaptersAccess", - userID: Config.config.userID + publicUserID: await utils.getHash(Config.config.userID) }); try { @@ -66,7 +66,7 @@ export async function fetchingChaptersAllowed(): Promise<boolean> { Config.config.payments.chaptersAllowed = true; Config.config.showChapterInfoMessage = false; Config.forceSyncUpdate("payments"); - + return true; } } @@ -74,4 +74,4 @@ export async function fetchingChaptersAllowed(): Promise<boolean> { } return false; -}
\ No newline at end of file +} diff --git a/src/utils/warnings.ts b/src/utils/warnings.ts index f2f2657e..17e919ba 100644 --- a/src/utils/warnings.ts +++ b/src/utils/warnings.ts @@ -13,7 +13,7 @@ export interface ChatConfig { export async function openWarningDialog(contentContainer: ContentContainer): Promise<void> { const userInfo = await utils.asyncRequestToServer("GET", "/api/userInfo", { - userID: Config.config.userID, + publicUserID: await utils.getHash(Config.config.userID), values: ["warningReason"] }); @@ -63,4 +63,4 @@ export async function openWarningDialog(contentContainer: ContentContainer): Pro export function openChat(config: ChatConfig): void { window.open("https://chat.sponsor.ajay.app/#" + GenericUtils.objectToURI("", config, false)); -}
\ No newline at end of file +} |