From 77a609758bb80bac9497d2e3988550f8be578407 Mon Sep 17 00:00:00 2001 From: Rory& Date: Mon, 23 Feb 2026 02:03:20 +0100 Subject: Initial commit --- .../JSPatches/DisableSciencePatch.cs | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/DisableSciencePatch.cs (limited to 'ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/DisableSciencePatch.cs') diff --git a/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/DisableSciencePatch.cs b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/DisableSciencePatch.cs new file mode 100644 index 0000000..c44bf95 --- /dev/null +++ b/ReferenceClientProxyImplementation/Patches/Implementations/JSPatches/DisableSciencePatch.cs @@ -0,0 +1,26 @@ +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 Execute(string _, byte[] content) { + var stringContent = Encoding.UTF8.GetString(content); + + var match = HandleTrackDefinitionRegex().Match(stringContent); + 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(); + +} \ No newline at end of file -- cgit 1.5.1