diff --git a/src/main/services/algolia.ts b/src/main/services/algolia.ts index 5ce7f99b..126c7f3f 100644 --- a/src/main/services/algolia.ts +++ b/src/main/services/algolia.ts @@ -14,21 +14,28 @@ export interface AlgoliaSearchParams { } export const getSteamDBAlgoliaCredentials = async () => { + const searchParams = new URLSearchParams({ + t: new Date().getTime().toString(), + }); + const js = await requestWebPage( - "https://steamdb.info/static/js/instantsearch.js" + `https://steamdb.info/static/js/instantsearch.js?${searchParams.toString()}`, ); const algoliaCredentialsRegExp = new RegExp( - /algoliasearch\("(.*?)","(.*?)"\);/ + /algoliasearch\("(.*?)",atob\("(.*?)"\)\);/, ); - const [, applicationId, apiKey] = algoliaCredentialsRegExp.exec(js); + const [, applicationId, encodedApiKey] = algoliaCredentialsRegExp.exec(js); - return { applicationId, apiKey }; + return { + applicationId, + apiKey: Buffer.from(encodedApiKey, "base64").toString("utf-8"), + }; }; export const searchAlgolia = async ( - params: AlgoliaSearchParams + params: AlgoliaSearchParams, ): Promise> => { const algoliaCredentials = stateManager.getValue("steamDBAlgoliaCredentials"); @@ -48,7 +55,7 @@ export const searchAlgolia = async ( }?${searchParams.toString()}`, { headers: params.headers, - } + }, ) .then((response) => response.data); };