blob: 2e1c102dc67009e0d11ef4053a6e561310e0a4a8 (
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
|
using System.Text;
using System.Text.RegularExpressions;
namespace ReferenceClientProxyImplementation.Patches.Implementations.JSPatches;
public partial class DisableSciencePatch : IPatch {
public int GetOrder() => 0;
public string GetName() => @"JS(web): Disable /science calls";
public bool Applies(string relativeName, byte[] content) => relativeName.StartsWith("assets/web.") && relativeName.EndsWith(".js");
public async Task<byte[]> Execute(string _, byte[] content) {
var stringContent = Encoding.UTF8.GetString(content);
var match = HandleTrackDefinitionRegex().Match(stringContent);
if (match.Length == 0) return content;
Console.WriteLine($"DisableSciencePatch: found science at {match.Index}(+{match.Length})");
stringContent = stringContent.Insert(match.Index + match.Length, @"
return (new Promise(() => { }), false); // ReferenceClientProxyImplementation: Disable /science calls
");
return Encoding.UTF8.GetBytes(stringContent);
}
[GeneratedRegex(@".\.handleTrack = function \(.\) \{", RegexOptions.Compiled)]
private static partial Regex HandleTrackDefinitionRegex();
}
|