aboutsummaryrefslogtreecommitdiffstats
path: root/vencord-patches
diff options
context:
space:
mode:
Diffstat (limited to 'vencord-patches')
-rw-r--r--vencord-patches/0001-Remove-donator-badges.patch150
-rw-r--r--vencord-patches/0002-Small-rebrand.patch152
-rw-r--r--vencord-patches/0003-Experiments-Re-add-staging-banner.patch58
-rw-r--r--vencord-patches/0004-Updater-don-t-prompt-for-updates-when-on-a-local-bra.patch30
-rw-r--r--vencord-patches/0005-Enable-CSP-bypass-on-stock-discord-desktop-client.patch29
-rw-r--r--vencord-patches/0006-Updater-Disable-auto-update-by-default.patch25
-rw-r--r--vencord-patches/0007-SupportHelper-Disable-running-arbitrary-code-snippet.patch46
-rw-r--r--vencord-patches/0008-ReplaceGoogleSearch.patch29
8 files changed, 519 insertions, 0 deletions
diff --git a/vencord-patches/0001-Remove-donator-badges.patch b/vencord-patches/0001-Remove-donator-badges.patch
new file mode 100644
index 0000000..0498ead
--- /dev/null
+++ b/vencord-patches/0001-Remove-donator-badges.patch
@@ -0,0 +1,150 @@
+From 5513b5fe92a7de00979a21e78741b1dc24241a5c Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Wed, 24 Apr 2024 23:30:05 +0100
+Subject: [PATCH 1/8] Remove donator badges
+
+It makes a request to an API hosted by the Vencord developer, without
+any option to turn it off. This raises privacy concerns.
+It's easiest to just get rid of the feature entirely.
+---
+ src/api/Badges.ts | 3 +-
+ src/plugins/_api/badges/index.tsx | 95 -------------------------------
+ 2 files changed, 1 insertion(+), 97 deletions(-)
+
+diff --git a/src/api/Badges.ts b/src/api/Badges.ts
+index 7a041f1e..fefbd439 100644
+--- a/src/api/Badges.ts
++++ b/src/api/Badges.ts
+@@ -90,8 +90,7 @@ export function _getBadges(args: BadgeUserArgs) {
+ : badges.push(...b);
+ }
+ }
+- const donorBadges = (Plugins.BadgeAPI as unknown as typeof import("../plugins/_api/badges").default).getDonorBadges(args.userId);
+- if (donorBadges) badges.unshift(...donorBadges);
++ void Plugins.BadgeAPI; // If I don't reference this everything breaks???
+
+ return badges;
+ }
+diff --git a/src/plugins/_api/badges/index.tsx b/src/plugins/_api/badges/index.tsx
+index 89a992ac..642769c8 100644
+--- a/src/plugins/_api/badges/index.tsx
++++ b/src/plugins/_api/badges/index.tsx
+@@ -43,19 +43,6 @@ const ContributorBadge: ProfileBadge = {
+ onClick: (_, { userId }) => openContributorModal(UserStore.getUser(userId))
+ };
+
+-let DonorBadges = {} as Record<string, Array<Record<"tooltip" | "badge", string>>>;
+-
+-async function loadBadges(noCache = false) {
+- DonorBadges = {};
+-
+- const init = {} as RequestInit;
+- if (noCache)
+- init.cache = "no-cache";
+-
+- DonorBadges = await fetch("https://badges.vencord.dev/badges.json", init)
+- .then(r => r.json());
+-}
+-
+ export default definePlugin({
+ name: "BadgeAPI",
+ description: "API to add badges to users.",
+@@ -119,20 +106,8 @@ export default definePlugin({
+ }
+ ],
+
+- toolboxActions: {
+- async "Refetch Badges"() {
+- await loadBadges(true);
+- Toasts.show({
+- id: Toasts.genId(),
+- message: "Successfully refetched badges!",
+- type: Toasts.Type.SUCCESS
+- });
+- }
+- },
+-
+ async start() {
+ Vencord.Api.Badges.addBadge(ContributorBadge);
+- await loadBadges();
+ },
+
+ getBadges(props: { userId: string; user?: User; guildId: string; }) {
+@@ -152,74 +127,4 @@ export default definePlugin({
+ const Component = badge.component!;
+ return <Component {...badge} />;
+ }, { noop: true }),
+-
+-
+- getDonorBadges(userId: string) {
+- return DonorBadges[userId]?.map(badge => ({
+- image: badge.badge,
+- description: badge.tooltip,
+- position: BadgePosition.START,
+- props: {
+- style: {
+- borderRadius: "50%",
+- transform: "scale(0.9)" // The image is a bit too big compared to default badges
+- }
+- },
+- onClick() {
+- const modalKey = openModal(props => (
+- <ErrorBoundary noop onError={() => {
+- closeModal(modalKey);
+- VencordNative.native.openExternal("https://github.com/sponsors/Vendicated");
+- }}>
+- <Modals.ModalRoot {...props}>
+- <Modals.ModalHeader>
+- <Flex style={{ width: "100%", justifyContent: "center" }}>
+- <Forms.FormTitle
+- tag="h2"
+- style={{
+- width: "100%",
+- textAlign: "center",
+- margin: 0
+- }}
+- >
+- <Heart />
+- Vencord Donor
+- </Forms.FormTitle>
+- </Flex>
+- </Modals.ModalHeader>
+- <Modals.ModalContent>
+- <Flex>
+- <img
+- role="presentation"
+- src="https://cdn.discordapp.com/emojis/1026533070955872337.png"
+- alt=""
+- style={{ margin: "auto" }}
+- />
+- <img
+- role="presentation"
+- src="https://cdn.discordapp.com/emojis/1026533090627174460.png"
+- alt=""
+- style={{ margin: "auto" }}
+- />
+- </Flex>
+- <div style={{ padding: "1em" }}>
+- <Forms.FormText>
+- This Badge is a special perk for Vencord Donors
+- </Forms.FormText>
+- <Forms.FormText className={Margins.top20}>
+- Please consider supporting the development of Vencord by becoming a donor. It would mean a lot!!
+- </Forms.FormText>
+- </div>
+- </Modals.ModalContent>
+- <Modals.ModalFooter>
+- <Flex style={{ width: "100%", justifyContent: "center" }}>
+- <DonateButton />
+- </Flex>
+- </Modals.ModalFooter>
+- </Modals.ModalRoot>
+- </ErrorBoundary>
+- ));
+- },
+- }));
+- }
+ });
+--
+2.45.2
+
diff --git a/vencord-patches/0002-Small-rebrand.patch b/vencord-patches/0002-Small-rebrand.patch
new file mode 100644
index 0000000..0c72f5c
--- /dev/null
+++ b/vencord-patches/0002-Small-rebrand.patch
@@ -0,0 +1,152 @@
+From e5d50191a03a95601dae62aed9f192f242706009 Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Sat, 8 Jun 2024 22:58:09 +0100
+Subject: [PATCH 2/8] Small rebrand
+
+There's a litevex in here! It's got my gun!!! AHHHHHHHH
+---
+ README.md | 48 ++++++++-----------
+ src/components/VencordSettings/VencordTab.tsx | 4 +-
+ src/plugins/vencordToolbox/index.tsx | 10 ++--
+ 3 files changed, 28 insertions(+), 34 deletions(-)
+
+diff --git a/README.md b/README.md
+index 61575d4b..995af92d 100644
+--- a/README.md
++++ b/README.md
+@@ -1,20 +1,21 @@
+-# Vencord
++# Vexcord
+
+ [![Codeberg Mirror](https://img.shields.io/static/v1?style=for-the-badge&label=Codeberg%20Mirror&message=codeberg.org/Vee/cord&color=2185D0&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAKbUlEQVR4nNVae3AV5RX/nW/3Pva+b24e5HHzIICQKGoiYiW8NFBFgohaa6ctglpbFSujSGurzUinohWsOij/gGX6R2fqOK0d1FYTEZXaTrWCBbEikJCEyCvkeXNvkrunf+zdkJDkPnex/c3cmd29+53v/M6e73znnF2Cydj4Tntldzi6qrN/qKqzf2jy6b7BnL4B1dI7oMp9AyoRAIdVsNMqhlxWMZjtspzyK/Jhr036OMsm//bh2vzPzNSPzBD6xFutd7R0Dq758ky4orkjYuc05RCAkixbeEq2/UCJ1/LczxcX/c5IPfU5DMHmxpbCpu7o1k/b+xc1n43YjJI7EqV+W2RmvuPt0oDjB2vn5bQbITNjAzzdeKK8qTO0bU9T77zucNQUjzofHrvENWWu3aUBZfW6+ZOOZiIrbYXrmUXo9daX3v6i667O/iGRiRLpwqtIvKDc+0efJ3hb/UIaSkdGWgZ4sqGt9r2m3lc/P9HvSWe80ZiRp3TPL/UsX1+bvyvVsSkb4NE3WjbuPNj5SM8Fcvdk4bAKrqvwv7DxhuCPUxmXNIn6XSy3nWr6R8OhrqrU1btwqJ3m/bgwu/SqZJdEUgbYsuuka09b9/4Pm3tLMlPvwuAbpe6m+RcplfdcURBKdG9CA2zZddLV2Nx1+JO2vlxj1LswqCpynlxc6SxLZIS40bueWfy9vXvv/xt5APhXa1/u7v+EPqvfxXK8++IaoO2Vpn9+cLS33FjVLhw+bOotOX7q6N/i3TOhAX7y+rHN/+sBLxm8fah71k93tjw/0f/jGuDJxtZrdh7setA8tS4sdn7eef+v3mmfP95/Ywxw6x9Yev9I35/6Iubv83WVfl5a6Uu3VkoavZEo7TnS/Vo98xi+Yy6UKC3bDp7sd5ut1OWFDjyzNMib6oq5Oug0ezp8dqLfG3r92Nbzr48ywNONJ8obDnV/z2xlAk4ZW1aUqhaJIAvCb5YVqwFn3GBtCBoO9dz5TOPxUbnMKAM0dYa2d5lc2AgCNi8r5klui3aBgWynjE11QZbI3FV3NjQkjnYNbB+lj36wubGlcE9T71xTNQDw0Px8nlvmHl73GmfCrKCL19Tkmh4P9jT1LHz2vVP5+vmwAZq71a1m1/PXTPXwD68eS5KIEVUZd1yZwwumeEw1Qld/lJrPhF7Sz4cNsO+rUK2ZExd6rfj10iCPZ2GJCCoAZuCJxQUc9FvNVAX72kPX6ccC0Hp4zR0Ru1kT2mTCSzeXqn5l/EAniMAqoDLDYZWwqa5EVSzmhaKmsxHbLxvbbgdiBmjpHFxj2mwANlxXxBdPUib8nwgQgqAyEFUZxT4L1i/MN3UpHDsTWQvEDHDoTLjCrIluuyzAt8zMSkhGFhp5hrYUFk3z8IqZftOMcKRj4GIAEM80tFccM8n9Z+Qq+MXigqRIWCQCMzQvYIbKwH1X53FFnjkr88iZsLKpoXWa6BiIrjbDzF67hK23lKp2Obm1LAstPEZVjTwDkAio/2ZQ9dolw/VjAB0DfKfoCg9WGy2cADy1NMhBX2rR3CIRGICq8rAhAg4Jj9UWsDBhg+4MR6vF2VC0zGjB99fk8eJp3pQdyyrRMHF9KURVxswCB6+alWO4o3b2RyeLU32D2UYKnVPm5gfm5qWlrF0Wo4hzbCmoDNw0089XlboNNcLpvsFc0RtRDXuNle+x4Lkbi9PO6WWJIBFGEY+qjGjswtq5eVzosRilLnoiUavoH1INiTCyIDy/vETNcmRW1dl0L4gRVxmx3YFhlwnrry1QrZIxASE0yJIIDaiGSHt8UQFXF2Ve1zusYgzxkXGhyGvFvePUE+mgfyAqhGqAqKWVPv5udbYhSjmtkpYWq6OJqzFjqCpjTpmbl1Rk3klSGRBWmTISNC3Hjo1LgoYFJ0GA1aIVR+cTVxlQoS2Pb18a4PLszMKXzSJYuCySmq4Al03CiytKVYfBhYvLKk1IXE+XLRLhwZp81WlNf26HTFHhd0jhdAYTgKduCPLkgPHfQjitYkLiAIEZBDBlu2R6aF7euCV2Mgg45bDw2qWOdAavnp3D109PPdlJBvpTnYg4kVY3MDMuylVw62WJi63x4LHLZ0TAIR9OdWBVodPUclUQwWmT4hLXfgCIUDfDi6oiR8rzBJzyl8LnkD9KZVCOU8aLN5eoshnJ+Qh4bFJC4gztmEjgrtk5anaKnWWfXfpIuBTLjmSpSILw/E0laq7LuGxsIngVCYmIa96hLRG3TaZ1C/KTfjAEQLFIO8TPFk7aH/RZI8kMWrdgEs8udqXLKSUoMkEW4ETEQTRsoHyPlVZfmVw+Uuy3hR9bVHBQAMD0XPu/Ew24dqqH777K/La1DiKCxyYlRRzQymgG4+oyDxZOTdxZnp5r3wvEWmJ5btuL8W4uzbJh87LitLebdOFVpKSJx4IlwIzbL81CcYLO8iSX/IImGQCYae6Wg/2tXQNjNnW7LPDKyilqZd7ETU2zEBlifNTSS4i9PNFIx44x4jh2nZlBsUr0dN8QP/6XVhEaHJvnlfhtkXd/NF0BUextKRFXFznfGk+JDdcX8tdBHtDa6YpFsB4I9ac88omf8wbEgqa2XAIOme6bM35foqrQ+QZIKwGG80ifVbrXZZNGDfhOVYBvviS9JMMoaP3AEcQpPnHdOxiMGXkKbrx4dGfZY5c4T8H9+vmwAeqXFLXOKXW9r59fWuDA44sKv1byAOBzyCkTH+kdS2f4MLPgXJI0p9T17vrFxcf181GVxEUB+0qfIqt+RcKWFSWGNR4ygd4RTpW4HiCJgFWzstmnSPA7ZLU827pypPwxDB/687GXl1X6Vs6bbGz/LRN80hZCT+yLFZ0cgHED4egACeiXm89GsP9EePuzy4rvGil7jAGYmQDsBjDHUBYZ4GhHBMfORigd4rpnyIS9u6d4rqgnGrUtjCmmSYuOqwB0GcwjbWh9xviurpNnxnDA1IspMPe6bOL755MHJvhKjIgOA7jbJD4pw22Thj+kSIW47h2KRaydVezeP57sCdspRPQqgGeNJJIuBAE+ReJUiOv32mXaXjPZs21C2QnmXgdghyEsMoRfkVMiDgCywF/by9z3xJMb1wCxeHAPgDczZpAh/Iq+HSYmDjCsstgThmf5t4ii8eQm7CgS0SCA5QBezoRApnBaBSyCEhIHCLJEb4ZUd+2SqZSwzE+qpUpEQ9CC4qb01M8cRIQsh8zxiKsMtsn08nvlnrpkyAPj5AGJwMw3AtgGwJ/q2ExxvHsQB74KxfKBMblAyGmTHq4pc4/5GjQeUm6qE9FrAK4E8H6ie41GlkN/jTk6F5Ak2ueUpNmpkgfSMAAAENERAAsB3AHgZDoy0oFdFnBYpXPEBfU4beLRD6Z4qmumug+kIzPjaoeZfQDWAHgAQFam8hLh4MkwWjsHemyS2OF08IYrCjynzZ4zKTCzi5nXMvOnzBw16bevIxR95JOj7DNKb1PqXWa+HMDtAGoBXII0lxq0N2OfAmgA8Hsi2muMhudgesHPzNkA5gKoADADwFRoS8UHQO+x9wLoBNAB4AsAnwM4AOADIjLVxf8L9kdXUOE0IskAAAAASUVORK5CYII=)](https://codeberg.org/Vee/cord)
+
+-The cutest Discord client mod
++The porniest Discord client mod
+
+-| ![image](https://github.com/Vendicated/Vencord/assets/45497981/706722b1-32de-4d99-bee9-93993b504334) |
++| ![image](https://media.tenor.com/BxmwtK6R-10AAAAC/litevex-litevx.gif) |
+ | :--------------------------------------------------------------------------------------------------: |
+-| A screenshot of vencord showcasing the [vencord-theme](https://github.com/synqat/vencord-theme) |
++| A screenshot of vexcord showcasing the [pornliker](https://litevex.staropa.net/) |
+
+ ## Features
+
+-- Super easy to install (Download Installer, open, click install button, done)
++- ![No anime](https://i.kym-cdn.com/photos/images/original/001/408/771/8e3.jpg)
++- Despite the questionable branding, no porn.
+ - 100+ plugins built in: [See a list](https://vencord.dev/plugins)
+ - Some highlights: SpotifyControls, MessageLogger, Experiments, GameActivityToggle, Translate, NoTrack, QuickReply, Free Emotes/Stickers, PermissionsViewer, CustomCommands, ShowHiddenChannels, PronounDB
+ - Fairly lightweight despite the many inbuilt plugins
+-- Excellent Browser Support: Run Vencord in your Browser via extension or UserScript
++- Excellent Browser Support: Run Vexcord in your Browser via extension or UserScript
+ - Works on any Discord branch: Stable, Canary or PTB all work (though for the best experience I recommend stable!)
+ - Custom CSS and Themes: Inbuilt css editor with support to import any css files (including BetterDiscord themes)
+ - Privacy friendly, blocks Discord analytics & crash reporting out of the box and has no telemetry
+@@ -22,46 +23,39 @@ The cutest Discord client mod
+ - Settings sync: Keep your plugins and their settings synchronised between devices / apps (optional)
+
+
+-## Installing / Uninstalling
++## Installing
+
+-Visit https://vencord.dev/download
++Don't
++
++## Uninstalling
++
++Why did you install this
+
+ ## Join our Support/Community Server
+
+-https://discord.gg/D9uwnFnqmd
++https://discord.gg/QKv6vwGBpk
+
+ ## Sponsors
+
+-| **Thanks a lot to all Vencord [sponsors](https://github.com/sponsors/Vendicated)!!** |
+-| :------------------------------------------------------------------------------------------: |
+-| [![](https://meow.vendicated.dev/sponsors.png)](https://github.com/sponsors/Vendicated) |
+-| *generated using [github-sponsor-graph](https://github.com/Vendicated/github-sponsor-graph)* |
+-
++WHY WOULD YOU PAY MONEY FOR THIS??
+
+ ## Star History
+
+-<a href="https://star-history.com/#Vendicated/Vencord&Timeline">
+- <picture>
+- <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=Vendicated/Vencord&type=Timeline&theme=dark" />
+- <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=Vendicated/Vencord&type=Timeline" />
+- <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Vendicated/Vencord&type=Timeline" />
+- </picture>
+-</a>
++![Star History Chart](https://media.tenor.com/t4_mbIafxxIAAAAC/litevex-litevx.gif)
+
+ ## Disclaimer
+
+ Discord is trademark of Discord Inc. and solely mentioned for the sake of descriptivity.
+ Mention of it does not imply any affiliation with or endorsement by Discord Inc.
++This is a fork of Vencord, which calls itself the "cutest" client mod.
+
+ <details>
+-<summary>Using Vencord violates Discord's terms of service</summary>
++<summary>Using Vexcord violates Discord's terms of service</summary>
+
+ Client modifications are against Discord’s Terms of Service.
+
+-However, Discord is pretty indifferent about them and there are no known cases of users getting banned for using client mods! So you should generally be fine as long as you don’t use any plugins that implement abusive behaviour. But no worries, all inbuilt plugins are safe to use!
+-
+-Regardless, if your account is very important to you and it getting disabled would be a disaster for you, you should probably not use any client mods (not exclusive to Vencord), just to be safe
+-
+-Additionally, make sure not to post screenshots with Vencord in a server where you might get banned for it
++However, I do not care.
+
+ </details>
++
++big big chungus big chungus big chungus
+diff --git a/src/components/VencordSettings/VencordTab.tsx b/src/components/VencordSettings/VencordTab.tsx
+index 97f82e77..675682e8 100644
+--- a/src/components/VencordSettings/VencordTab.tsx
++++ b/src/components/VencordSettings/VencordTab.tsx
+@@ -35,8 +35,8 @@ import { SettingsTab, wrapTab } from "./shared";
+
+ const cl = classNameFactory("vc-settings-");
+
+-const DEFAULT_DONATE_IMAGE = "https://cdn.discordapp.com/emojis/1026533090627174460.png";
+-const SHIGGY_DONATE_IMAGE = "https://media.discordapp.net/stickers/1039992459209490513.png";
++const DEFAULT_DONATE_IMAGE = "https://i.kym-cdn.com/photos/images/original/001/442/330/d6a.jpg";
++const SHIGGY_DONATE_IMAGE = "https://media.tenor.com/BxmwtK6R-10AAAAC/litevex-litevx.gif";
+
+ type KeysOfType<Object, Type> = {
+ [K in keyof Object]: Object[K] extends Type ? K : never;
+diff --git a/src/plugins/vencordToolbox/index.tsx b/src/plugins/vencordToolbox/index.tsx
+index 00805fbd..7d935f4a 100644
+--- a/src/plugins/vencordToolbox/index.tsx
++++ b/src/plugins/vencordToolbox/index.tsx
+@@ -86,10 +86,10 @@ function VencordPopout(onClose: () => void) {
+ );
+ }
+
+-function VencordPopoutIcon(isShown: boolean) {
++function VexcordPopoutIcon() {
+ return (
+- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 27" width={24} height={24}>
+- <path fill="currentColor" d={isShown ? "M9 0h1v1h1v2h1v2h3V3h1V1h1V0h1v2h1v2h1v7h-1v-1h-3V9h1V6h-1v4h-3v1h1v-1h2v1h3v1h-1v1h-3v2h1v1h1v1h1v3h-1v4h-2v-1h-1v-4h-1v4h-1v1h-2v-4H9v-3h1v-1h1v-1h1v-2H9v-1H8v-1h3V6h-1v3h1v1H8v1H7V4h1V2h1M5 19h2v1h1v1h1v3H4v-1h2v-1H4v-2h1m15-1h2v1h1v2h-2v1h2v1h-5v-3h1v-1h1m4 3h4v1h-4" : "M0 0h7v1H6v1H5v1H4v1H3v1H2v1h5v1H0V6h1V5h1V4h1V3h1V2h1V1H0m13 2h5v1h-1v1h-1v1h-1v1h3v1h-5V7h1V6h1V5h1V4h-3m8 5h1v5h1v-1h1v1h-1v1h1v-1h1v1h-1v3h-1v1h-2v1h-1v1h1v-1h2v-1h1v2h-1v1h-2v1h-1v-1h-1v1h-6v-1h-1v-1h-1v-2h1v1h2v1h3v1h1v-1h-1v-1h-3v-1h-4v-4h1v-2h1v-1h1v-1h1v2h1v1h1v-1h1v1h-1v1h2v-2h1v-2h1v-1h1M8 14h2v1H9v4h1v2h1v1h1v1h1v1h4v1h-6v-1H5v-1H4v-5h1v-1h1v-2h2m17 3h1v3h-1v1h-1v1h-1v2h-2v-2h2v-1h1v-1h1m1 0h1v3h-1v1h-2v-1h1v-1h1"} />
++ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" width={24} height={24}>
++ <path fill="currentColor" fill-rule="evenodd" clip-rule="evenodd" d="M 66.233716,0.2375645 C 57.574455,0.6558119 46.898342,3.8444516 41.106336,7.7420504 30.67685,14.759616 24.907073,21.571535 22.264216,29.987273 c -1.283056,4.083749 -1.968668,5.102172 -4.663433,6.922814 -2.368662,1.600716 -3.072529,3.115621 -2.219766,4.776316 0.829168,1.613755 2.328674,2.027904 8.599777,2.373256 8.924143,0.491143 9.534997,1.021403 7.430473,6.445332 -1.111063,2.864398 -2.591197,7.638975 -4.100638,13.231668 -0.510266,1.889937 -1.461879,5.205864 -2.115701,7.368258 -4.929929,16.317236 -4.061892,26.679042 3.016026,35.998953 3.01317,3.9664 3.112019,4.86548 1.048226,9.53351 -2.401197,5.43051 -3.423345,9.23547 -3.87003,14.40147 -0.14132,1.62928 -0.513247,4.50783 -0.826933,6.39789 -1.776682,10.70455 -1.404754,24.74465 0.969868,36.5892 1.583702,7.9005 1.669015,8.4407 2.090988,13.295 0.215954,2.4762 0.639665,5.72979 0.942174,7.22868 0.30251,1.49888 0.624391,3.33803 0.716286,4.08685 L 29.447441,200 h 3.656933 3.656436 l -0.142437,-2.66621 c -0.07824,-1.46659 -0.403098,-3.99868 -0.722123,-5.62796 -0.31828,-1.62927 -0.700887,-4.13528 -0.849782,-5.56959 -0.148895,-1.43307 -0.421973,-3.40633 -0.607875,-4.38365 -0.612717,-3.22999 -0.39962,-4.45816 0.859221,-4.93875 1.006873,-0.38372 13.101897,-0.56503 49.36263,-0.73764 l 35.480486,-0.16889 3.76646,-0.74386 c 10.51703,-2.07633 14.02395,-2.45012 15.27199,-1.62803 2.21045,1.45666 2.00928,8.30037 -0.54764,18.50819 -0.49177,1.96457 -0.96615,4.26443 -1.05432,5.1126 -0.0869,0.84693 -0.21483,1.83294 -0.28313,2.19183 L 137.1701,200 h 3.54915 c 1.95339,0 3.55038,-0.0385 3.55038,-0.0869 0,-0.37255 1.28529,-6.25881 1.84411,-8.44443 1.71373,-6.7071 1.92484,-24.58072 0.38124,-32.34835 -3.73293,-18.78015 -6.03528,-27.7536 -8.50154,-33.13319 -1.97078,-4.29797 -1.90497,-4.73012 1.34614,-8.84678 5.6677,-7.18149 11.6918,-20.84407 13.68493,-31.043196 2.05771,-10.533178 0.70288,-18.63697 -5.04554,-30.158891 -4.86548,-9.754056 -5.95705,-9.035411 14.09598,-9.277691 15.45702,-0.186647 18.07976,-0.294437 19.98348,-0.824698 3.29829,-0.91771 3.95025,-4.533911 1.13503,-6.295939 -1.0866,-0.680149 -2.85496,-0.699025 -33.65724,-0.366091 -19.47185,0.210862 -19.37002,0.214464 -19.97976,-0.769063 -0.14405,-0.23334 -0.23843,-3.493012 -0.2434,-8.437595 -0.01,-8.987352 -0.23222,-10.774217 -1.74104,-14.02085 C 124.62517,9.6059088 115.55362,3.6015502 104.8441,0.9023146 101.77058,0.12791116 77.239906,-0.29443426 66.233716,0.2375645 Z m 39.900644,8.4891307 c 8.11658,2.8995418 13.72716,7.3090218 15.26702,11.9982858 0.95869,2.919039 1.71,16.2734 0.99222,17.623515 -0.67307,1.266043 -2.29614,1.437912 -8.13769,0.862573 -1.94222,-0.190745 -4.97228,-0.34945 -6.73443,-0.352431 -4.09555,-0.006 -8.489121,-0.360254 -12.215845,-0.984023 -3.75156,-0.627992 -5.421817,-0.608496 -11.063687,0.127908 -2.524634,0.329953 -6.708971,0.712188 -9.298305,0.849037 -2.589458,0.137346 -5.82032,0.354293 -7.179748,0.481581 C 60.89895,39.976035 46.11388,39.196912 38.338552,37.782098 36.59068,37.463942 34.366195,37.083074 33.395086,36.936166 29.14903,36.291533 28.352274,34.700877 29.945911,30.048868 32.387095,22.920035 41.896635,14.399983 51.285718,10.929448 59.48128,7.9002592 59.896175,7.8617625 83.653447,7.8972788 l 20.244383,0.030797 z M 85.7992,12.570523 c -1.671996,0.683129 -3.251476,1.817041 -5.912091,4.244317 -4.868211,4.441519 -5.263609,4.44512 -10.475433,0.101954 -5.615543,-4.680447 -9.128299,-2.849745 -10.802655,5.62883 -0.267117,1.350735 -0.703744,3.093143 -0.970364,3.872141 -2.521157,7.35882 3.406208,10.107232 6.731324,3.121705 1.643062,-3.451037 2.585857,-3.574227 5.786791,-0.756645 3.836377,3.377522 5.80666,3.077248 10.066375,-1.534402 3.822841,-4.137644 5.158799,-4.054069 5.922026,0.370313 0.947514,5.490739 3.753547,8.447033 6.335305,6.673331 1.779539,-1.222206 1.862741,-1.894035 1.290259,-10.38627 C 93.060412,13.377462 91.00022,10.446626 85.7992,12.570523 Z m 13.272897,33.14325 c 4.702793,0.599057 12.335063,0.941429 21.657453,0.971109 14.10716,0.04495 15.005,0.203163 16.31016,2.868 2.7432,5.60747 7.10574,14.911364 7.76142,16.555916 3.98254,9.98044 2.10738,22.182634 -5.87384,38.249392 -4.67796,9.41678 -10.48351,13.91592 -20.53113,15.90657 -2.94313,0.58241 -7.06103,1.50261 -11.78121,2.63019 -4.23588,1.01333 -17.31653,1.36725 -30.258977,0.81836 l -4.237238,-0.17882 -6.238071,-1.83542 c -13.694001,-4.02725 -21.600466,-8.40966 -29.499977,-16.34866 -8.279759,-8.32024 -9.17077,-17.006821 -3.551626,-34.618166 0.581424,-1.822381 1.376441,-4.595009 1.767244,-6.161449 2.316381,-9.29843 3.366842,-11.840574 5.975052,-14.460457 3.292084,-3.306365 3.656436,-3.372803 18.953387,-3.423718 11.159308,-0.03787 17.751672,-0.325234 21.303918,-0.929507 4.178376,-0.710946 4.076546,-0.704489 9.416527,-0.617934 3.150516,0.05154 6.350705,0.259418 8.826908,0.574594 z M 65.843534,63.62415 c -1.25586,0.686606 -2.18276,3.067064 -3.033163,7.792465 -1.305906,7.256866 -0.666737,10.567577 2.040943,10.567577 3.522815,0 5.580771,-5.312537 5.197667,-13.416701 -0.203038,-4.295232 -1.850198,-6.231364 -4.205447,-4.943341 z m 34.994436,0.549757 c -4.90397,3.022607 -8.38357,17.015516 -4.781029,19.225968 2.809013,1.723656 4.829459,-0.519084 6.538209,-7.257238 0.49052,-1.935636 1.1698,-4.464245 1.51006,-5.619516 1.39582,-4.750859 -0.35143,-8.146759 -3.26724,-6.349214 z M 60.077978,94.541549 c -3.439861,0.48928 -5.19419,2.585484 -3.944167,4.716459 1.064618,1.814312 2.511099,2.143392 9.511403,2.160782 11.70596,0.0298 18.108324,0.37751 21.89242,1.18718 8.975057,1.92111 15.819996,0.29556 14.588106,-3.463452 -0.68549,-2.091237 -2.171946,-2.642608 -7.919122,-2.944372 -2.583,-0.134117 -5.101178,-0.407319 -6.35592,-0.687972 -4.191291,-0.93758 -23.300031,-1.604441 -27.77272,-0.968625 z M 45.019333,121.21475 c 2.660615,1.37471 7.07618,3.40137 9.812671,4.50411 7.276362,2.93071 7.212159,2.85869 6.224037,7.01633 -0.922801,3.88567 -1.156389,8.97344 -0.92218,20.10518 0.377888,17.97545 1.884969,16.43806 -16.408139,16.73362 -13.324309,0.21608 -12.091423,0.94379 -12.487442,-7.37273 -0.526783,-11.0535 -0.04359,-22.45596 1.32118,-31.16241 2.036845,-12.99821 3.729953,-14.33441 12.459873,-9.8241 z m 83.640527,5.30882 c 2.46876,1.12758 4.99587,6.87227 6.88593,15.65323 0.15399,0.71653 0.69419,3.11574 1.19837,5.3324 4.24705,18.63362 4.2309,18.72427 -3.28339,19.09434 -3.0847,0.1515 -5.01947,0.37751 -6.91822,0.8047 -9.02064,2.03412 -15.91526,2.40791 -18.0599,0.9798 -1.63672,-1.09156 -1.60692,-0.79477 -1.72489,-17.67989 -0.0671,-9.80174 -0.19745,-15.57375 -0.37255,-16.55604 -0.31294,-1.75098 -0.0509,-2.92326 0.7749,-3.46718 0.61594,-0.40732 7.84214,-2.35451 10.15566,-2.73823 0.90654,-0.14902 2.86614,-0.57372 4.35509,-0.94255 4.39979,-1.08784 5.49633,-1.16359 6.989,-0.48058 z m -54.540169,4.28678 c 1.23003,0.1304 7.003284,0.33406 12.829441,0.45079 6.170887,0.12542 10.858785,0.31666 11.227608,0.45947 1.418166,0.54641 1.384637,0.19994 1.369735,13.92337 -0.0075,7.39756 0.09686,13.88735 0.255817,15.84696 0.609728,7.54906 -0.213595,7.93651 -16.854948,7.91789 -13.995269,-0.0149 -14.286601,-0.1366 -15.046351,-6.26005 -0.194222,-1.56347 -0.476117,-3.74908 -0.62675,-4.85803 -0.456123,-3.35418 -0.396143,-17.00062 0.09301,-21.0912 0.792037,-6.62018 1.174023,-6.98155 6.752435,-6.3892 z" style={{strokeWidth:1.24183}} />
+ </svg>
+ );
+ }
+@@ -110,8 +110,8 @@ function VencordPopoutButton() {
+ <HeaderBarIcon
+ className="vc-toolbox-btn"
+ onClick={() => setShow(v => !v)}
+- tooltip={isShown ? null : "Vencord Toolbox"}
+- icon={() => VencordPopoutIcon(isShown)}
++ tooltip={isShown ? null : "Vexcord Toolbox"}
++ icon={VexcordPopoutIcon}
+ selected={isShown}
+ />
+ )}
+--
+2.45.2
+
diff --git a/vencord-patches/0003-Experiments-Re-add-staging-banner.patch b/vencord-patches/0003-Experiments-Re-add-staging-banner.patch
new file mode 100644
index 0000000..bd2b002
--- /dev/null
+++ b/vencord-patches/0003-Experiments-Re-add-staging-banner.patch
@@ -0,0 +1,58 @@
+From 2eb6e109c85aa251904d7d7322ba6c80bd5503a2 Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Thu, 13 Jun 2024 01:00:35 +0100
+Subject: [PATCH 3/8] Experiments: Re-add staging banner
+
+(it's funny)
+---
+ src/plugins/experiments/index.tsx | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/src/plugins/experiments/index.tsx b/src/plugins/experiments/index.tsx
+index 33c32b1a..2992807e 100644
+--- a/src/plugins/experiments/index.tsx
++++ b/src/plugins/experiments/index.tsx
+@@ -21,16 +21,24 @@ import { disableStyle, enableStyle } from "@api/Styles";
+ import ErrorBoundary from "@components/ErrorBoundary";
+ import { ErrorCard } from "@components/ErrorCard";
+ import { Devs } from "@utils/constants";
++import { Logger } from "@utils/Logger";
+ import { Margins } from "@utils/margins";
+ import definePlugin, { OptionType } from "@utils/types";
+ import { findByPropsLazy } from "@webpack";
+-import { Forms, React } from "@webpack/common";
++import { Forms, React, UserStore } from "@webpack/common";
++import { User } from "discord-types/general";
+
+ import hideBugReport from "./hideBugReport.css?managed";
+
+ const KbdStyles = findByPropsLazy("key", "combo");
+
+ const settings = definePluginSettings({
++ forceStagingBanner: {
++ description: "Whether to force Staging banner under user area.",
++ type: OptionType.BOOLEAN,
++ default: false,
++ restartNeeded: true
++ },
+ toolbarDevMenu: {
+ type: OptionType.BOOLEAN,
+ description: "Change the Help (?) toolbar button (top right in chat) to Discord's developer menu",
+@@ -91,6 +99,14 @@ export default definePlugin({
+ match: /\i\.isDM\(\)\|\|\i\.isThread\(\)/,
+ replace: "false",
+ }
++ },
++ {
++ find: ".Messages.DEV_NOTICE_STAGING",
++ predicate: () => settings.store.forceStagingBanner,
++ replacement: {
++ match: /window\.GLOBAL_ENV\.RELEASE_CHANNEL/,
++ replace: "\"staging\""
++ }
+ }
+ ],
+
+--
+2.45.2
+
diff --git a/vencord-patches/0004-Updater-don-t-prompt-for-updates-when-on-a-local-bra.patch b/vencord-patches/0004-Updater-don-t-prompt-for-updates-when-on-a-local-bra.patch
new file mode 100644
index 0000000..83bd402
--- /dev/null
+++ b/vencord-patches/0004-Updater-don-t-prompt-for-updates-when-on-a-local-bra.patch
@@ -0,0 +1,30 @@
+From 3bdfceda8ef7add84ddb39428c67e391d796c001 Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Sat, 9 Mar 2024 08:00:55 +0000
+Subject: [PATCH 4/8] Updater: don't prompt for updates when on a local branch
+
+---
+ src/main/updater/git.ts | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/src/main/updater/git.ts b/src/main/updater/git.ts
+index 1955f7dc..0226565e 100644
+--- a/src/main/updater/git.ts
++++ b/src/main/updater/git.ts
+@@ -49,12 +49,7 @@ async function getRepo() {
+ async function calculateGitChanges() {
+ await git("fetch");
+
+- const branch = (await git("branch", "--show-current")).stdout.trim();
+-
+- const existsOnOrigin = (await git("ls-remote", "origin", branch)).stdout.length > 0;
+- if (!existsOnOrigin) return [];
+-
+- const res = await git("log", `HEAD...origin/${branch}`, "--pretty=format:%an/%h/%s");
++ const res = await git("log", "HEAD..@{u}", "--pretty=format:%an/%h/%s");
+
+ const commits = res.stdout.trim();
+ return commits ? commits.split("\n").map(line => {
+--
+2.45.2
+
diff --git a/vencord-patches/0005-Enable-CSP-bypass-on-stock-discord-desktop-client.patch b/vencord-patches/0005-Enable-CSP-bypass-on-stock-discord-desktop-client.patch
new file mode 100644
index 0000000..3dd3dab
--- /dev/null
+++ b/vencord-patches/0005-Enable-CSP-bypass-on-stock-discord-desktop-client.patch
@@ -0,0 +1,29 @@
+From d0191e9b6ab6e6ae44857ee97ba392e8fbca91fd Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Wed, 27 Dec 2023 15:05:44 +0000
+Subject: [PATCH 5/8] Enable CSP bypass on stock discord desktop client
+
+---
+ src/main/index.ts | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/main/index.ts b/src/main/index.ts
+index 5519d47a..64e71c15 100644
+--- a/src/main/index.ts
++++ b/src/main/index.ts
+@@ -24,10 +24,11 @@ import { RendererSettings } from "./settings";
+ import { IS_VANILLA, THEMES_DIR } from "./utils/constants";
+ import { installExt } from "./utils/extensions";
+
+-if (IS_VESKTOP || !IS_VANILLA) {
++{
+ app.whenReady().then(() => {
+ // Source Maps! Maybe there's a better way but since the renderer is executed
+ // from a string I don't think any other form of sourcemaps would work
++ if (IS_VESKTOP || !IS_VANILLA)
+ protocol.registerFileProtocol("vencord", ({ url: unsafeUrl }, cb) => {
+ let url = unsafeUrl.slice("vencord://".length);
+ if (url.endsWith("/")) url = url.slice(0, -1);
+--
+2.45.2
+
diff --git a/vencord-patches/0006-Updater-Disable-auto-update-by-default.patch b/vencord-patches/0006-Updater-Disable-auto-update-by-default.patch
new file mode 100644
index 0000000..c22aa3b
--- /dev/null
+++ b/vencord-patches/0006-Updater-Disable-auto-update-by-default.patch
@@ -0,0 +1,25 @@
+From c343fc737e26195eb7c5f4af4c1e506d73f46465 Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Sun, 21 Apr 2024 21:22:25 +0100
+Subject: [PATCH 6/8] Updater: Disable auto-update by default
+
+---
+ src/api/Settings.ts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/api/Settings.ts b/src/api/Settings.ts
+index 88337a91..4473bc1c 100644
+--- a/src/api/Settings.ts
++++ b/src/api/Settings.ts
+@@ -77,7 +77,7 @@ export interface Settings {
+ }
+
+ const DefaultSettings: Settings = {
+- autoUpdate: true,
++ autoUpdate: false,
+ autoUpdateNotification: true,
+ useQuickCss: true,
+ themeLinks: [],
+--
+2.45.2
+
diff --git a/vencord-patches/0007-SupportHelper-Disable-running-arbitrary-code-snippet.patch b/vencord-patches/0007-SupportHelper-Disable-running-arbitrary-code-snippet.patch
new file mode 100644
index 0000000..eb08fe5
--- /dev/null
+++ b/vencord-patches/0007-SupportHelper-Disable-running-arbitrary-code-snippet.patch
@@ -0,0 +1,46 @@
+From 1ba374fb928b0706078ab293a7abdab2f45f1643 Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Sat, 20 Jul 2024 00:21:22 +0100
+Subject: [PATCH 7/8] SupportHelper: Disable running arbitrary code snippets
+
+Why is this even a thing?
+---
+ src/plugins/_core/supportHelper.tsx | 22 ----------------------
+ 1 file changed, 22 deletions(-)
+
+diff --git a/src/plugins/_core/supportHelper.tsx b/src/plugins/_core/supportHelper.tsx
+index de8e37c7..7cb0044d 100644
+--- a/src/plugins/_core/supportHelper.tsx
++++ b/src/plugins/_core/supportHelper.tsx
+@@ -300,28 +300,6 @@ export default definePlugin({
+ </Button>
+ );
+ }
+-
+- if (props.message.author.id === VENBOT_USER_ID) {
+- const match = CodeBlockRe.exec(props.message.content || props.message.embeds[0]?.rawDescription || "");
+- if (match) {
+- buttons.push(
+- <Button
+- key="vc-run-snippet"
+- onClick={async () => {
+- try {
+- await AsyncFunction(match[1])();
+- showToast("Success!", Toasts.Type.SUCCESS);
+- } catch (e) {
+- new Logger(this.name).error("Error while running snippet:", e);
+- showToast("Failed to run snippet :(", Toasts.Type.FAILURE);
+- }
+- }}
+- >
+- Run Snippet
+- </Button>
+- );
+- }
+- }
+ }
+
+ return buttons.length
+--
+2.45.2
+
diff --git a/vencord-patches/0008-ReplaceGoogleSearch.patch b/vencord-patches/0008-ReplaceGoogleSearch.patch
new file mode 100644
index 0000000..7ad9608
--- /dev/null
+++ b/vencord-patches/0008-ReplaceGoogleSearch.patch
@@ -0,0 +1,29 @@
+From 3d0cd1cf306a8e010c7389e5b654ac7cd75d1623 Mon Sep 17 00:00:00 2001
+From: 1024x2 <2pow11@gmail.com>
+Date: Sat, 20 Jul 2024 00:04:36 +0100
+Subject: [PATCH 8/8] =?UTF-8?q?ReplaceGoogleSearch:=20=E9=87=8D=E6=96=B0?=
+ =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=99=BE=E5=BA=A6=E6=94=AF=E6=8C=81?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+中华人民共和国万岁!!! 🇨🇳🇨🇳🇨🇳
+---
+ src/plugins/replaceGoogleSearch/index.tsx | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/plugins/replaceGoogleSearch/index.tsx b/src/plugins/replaceGoogleSearch/index.tsx
+index 43b0762a..f7d32397 100644
+--- a/src/plugins/replaceGoogleSearch/index.tsx
++++ b/src/plugins/replaceGoogleSearch/index.tsx
+@@ -17,6 +17,7 @@ const DefaultEngines = {
+ Bing: "https://www.bing.com/search?q=",
+ Yahoo: "https://search.yahoo.com/search?p=",
+ Yandex: "https://yandex.com/search/?text=",
++ Baidu: "https://www.baidu.com/s?wd=",
+ GitHub: "https://github.com/search?q=",
+ Reddit: "https://www.reddit.com/search?q=",
+ Wikipedia: "https://wikipedia.org/w/index.php?search=",
+--
+2.45.2
+