From 9ccc74bde37ceb30017d434907b12f0e0f19c9d1 Mon Sep 17 00:00:00 2001 From: Vendicated Date: Fri, 20 Dec 2024 15:06:19 +0100 Subject: [PATCH 1/2] use correct prodversion in chrome extension installer --- src/main/utils/extensions.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/utils/extensions.ts b/src/main/utils/extensions.ts index d8f843774..8a211baf7 100644 --- a/src/main/utils/extensions.ts +++ b/src/main/utils/extensions.ts @@ -71,13 +71,16 @@ export async function installExt(id: string) { // React Devtools v4.25 // v4.27 is broken in Electron, see https://github.com/facebook/react/issues/25843 // Unfortunately, Google does not serve old versions, so this is the only way + // This zip file is pinned to long commit hash so it cannot be changed remotely ? "https://raw.githubusercontent.com/Vendicated/random-files/f6f550e4c58ac5f2012095a130406c2ab25b984d/fmkadmapgofadopljbjfkapdkoienihi.zip" - : `https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3D${id}%26uc&prodversion=32`; + : `https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&x=id%3D${id}%26uc&prodversion=${process.versions.chrome}`; + const buf = await get(url, { headers: { - "User-Agent": "Vencord (https://github.com/Vendicated/Vencord)" + "User-Agent": `Electron ${process.versions.electron} ~ Vencord (https://github.com/Vendicated/Vencord)` } }); + await extract(crxToZip(buf), extDir).catch(console.error); } From cca5d7dc0991c5f229cbab5efaddf89cfaae7b4d Mon Sep 17 00:00:00 2001 From: Nuckyz <61953774+Nuckyz@users.noreply.github.com> Date: Sat, 21 Dec 2024 20:55:24 -0300 Subject: [PATCH 2/2] ShowHiddenThings: Discovery filter bypass is patched Filtering is now done server-side in Discord --- src/plugins/showHiddenThings/index.ts | 45 +++------------------------ 1 file changed, 4 insertions(+), 41 deletions(-) diff --git a/src/plugins/showHiddenThings/index.ts b/src/plugins/showHiddenThings/index.ts index a5cf81294..6ee131a8d 100644 --- a/src/plugins/showHiddenThings/index.ts +++ b/src/plugins/showHiddenThings/index.ts @@ -30,9 +30,7 @@ const opt = (description: string) => ({ const settings = definePluginSettings({ showTimeouts: opt("Show member timeout icons in chat."), showInvitesPaused: opt("Show the invites paused tooltip in the server list."), - showModView: opt("Show the member mod view context menu item in all servers."), - disableDiscoveryFilters: opt("Disable filters in Server Discovery search that hide servers that don't meet discovery criteria."), - disableDisallowedDiscoveryFilters: opt("Disable filters in Server Discovery search that hide NSFW & disallowed servers."), + showModView: opt("Show the member mod view context menu item in all servers.") }); export default definePlugin({ @@ -40,6 +38,8 @@ export default definePlugin({ tags: ["ShowTimeouts", "ShowInvitesPaused", "ShowModView", "DisableDiscoveryFilters"], description: "Displays various hidden & moderator-only things regardless of permissions.", authors: [Devs.Dolfies], + settings, + patches: [ { find: "showCommunicationDisabledStyles", @@ -82,43 +82,6 @@ export default definePlugin({ match: /\i(?=\?null)/, replace: "false" } - }, - { - find: "prod_discoverable_guilds", - predicate: () => settings.store.disableDiscoveryFilters, - replacement: { - match: /\{"auto_removed:.*?\}/, - replace: "{}" - } - }, - // remove the 200 server minimum - { - find: '">200"', - predicate: () => settings.store.disableDiscoveryFilters, - replacement: { - match: '">200"', - replace: '">0"' - } - }, - // empty word filter - { - find: '"pepe","nude"', - predicate: () => settings.store.disableDisallowedDiscoveryFilters, - replacement: { - match: /(?<=[?=])\["pepe",.+?\]/, - replace: "[]", - }, - }, - // patch request that queries if term is allowed - { - find: ".GUILD_DISCOVERY_VALID_TERM,query:", - predicate: () => settings.store.disableDisallowedDiscoveryFilters, - all: true, - replacement: { - match: /\i\.\i\.get\(\{url:\i\.\i\.GUILD_DISCOVERY_VALID_TERM,query:\{term:\i\},oldFormErrors:!0,rejectWithError:!1\}\)/g, - replace: "Promise.resolve({ body: { valid: true } })" - } } - ], - settings, + ] });