[Bootstrap] Deep integrate NoTrack

This commit is contained in:
Ducko 2022-04-21 20:48:19 +01:00
parent 98cad6fcc3
commit fde1aac7d4
2 changed files with 20 additions and 29 deletions

22
src/bootstrap.js vendored
View File

@ -1,5 +1,6 @@
const { app, dialog } = require('electron');
const { app, session, dialog } = require('electron');
const { readFileSync } = require('fs');
const get = require('request');
const { join } = require('path');
const Constants = require('./Constants');
@ -77,7 +78,24 @@ const startCore = () => {
};
const startUpdate = async () => {
if (oaConfig.noTrack !== false) require('./noTrack');
if (oaConfig.noTrack !== false) {
const bl = { cancel: true }; // Standard block callback response
let sentry;
session.defaultSession.webRequest.onBeforeRequest({
urls: [
'https://*.discord.com/assets/*.js',
'https://*/api/*/science'
]
}, async ({ url }, cb) => {
if (url.endsWith('/science')) return cb(bl);
if (!sentry && (await new Promise((res) => get(url, (e, r, b) => res(b)))).includes('RecipeWebview')) sentry = url;
if (sentry === url) return cb(bl);
cb({});
});
}
const startMin = process.argv.includes('--start-minimized');

View File

@ -1,27 +0,0 @@
const { get } = require('https');
const { session } = require('electron');
const bl = { cancel: true }; // Standard block callback response
let sentry;
session.defaultSession.webRequest.onBeforeRequest({
urls: [
'https://*.discord.com/assets/*.js',
'https://*/api/*/science'
]
}, async ({ url }, cb) => {
if (url.endsWith('/science')) return cb(bl);
if (!sentry) {
if ((await new Promise((res) => get(url, (r) => { // Get content (js code) from URL
let t = '';
r.on('data', c => t += c.toString());
r.on('end', () => res(t));
}))).includes('RecipeWebview')) sentry = url;
}
if (sentry === url) return cb(bl);
cb({});
});