blob: 7424a322c5b7d6462159094ac116c04937700d33 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
using System.Text;
using System.Text.RegularExpressions;
namespace ReferenceClientProxyImplementation.Patches.Implementations.JSPatches;
public partial class DisableSentryPatch : IPatch {
public int GetOrder() => 0;
public string GetName() => "JS: Disable sentry";
public bool Applies(string relativeName, byte[] content) => relativeName.StartsWith("assets/sentry.") && relativeName.EndsWith(".js");
public async Task<byte[]> Execute(string _, byte[] content) {
var stringContent = Encoding.UTF8.GetString(content);
stringContent = SentryInitRegex().Replace(stringContent, "window.DiscordSentry = undefined;");
stringContent = SentryConsoleHookRegex().Replace(
stringContent,
m => m.Value.Replace(" &&", " && false &&")
);
return Encoding.UTF8.GetBytes(stringContent);
}
[GeneratedRegex(@"window\.DiscordSentry =", RegexOptions.Compiled)]
private static partial Regex SentryInitRegex();
// hopefully specific enough?
[GeneratedRegex(@"function ([a-zA-Z0-9]+)\(\) {\n\s+""console"" in ([a-zA-Z0-9]+) &&\n\s+([a-zA-Z0-9]+)\.forEach\(", RegexOptions.Compiled)]
private static partial Regex SentryConsoleHookRegex();
}
|