mirror of
				https://github.com/EndPwnArchive/bspwn-lambda.git
				synced 2024-08-14 23:57:04 +00:00 
			
		
		
		
	content security policy fix
This commit is contained in:
		
							parent
							
								
									6f7c92df74
								
							
						
					
					
						commit
						cc6f449cff
					
				
					 2 changed files with 42 additions and 31 deletions
				
			
		| 
						 | 
					@ -15,66 +15,78 @@
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// we just get remote because nothing in the root of the module is useful to us
 | 
					// we just get remote because nothing in the root of the module is useful to us
 | 
				
			||||||
const electron = require('electron').remote;
 | 
					const electron = require("electron").remote;
 | 
				
			||||||
const fs = require('original-fs');
 | 
					const fs = require("original-fs");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const data = electron.app.getPath('userData') + '/';
 | 
					const data = electron.app.getPath("userData") + "/";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function bsprint(str) {
 | 
					function bsprint(str) {
 | 
				
			||||||
    console.log(`%c[bspwn]%c ` + str, 'font-weight:bold;color:#0cc', '');
 | 
					    console.log(`%c[bspwn]%c ` + str, "font-weight:bold;color:#0cc", "");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function bswarn(str) {
 | 
					function bswarn(str) {
 | 
				
			||||||
    console.warn(`%c[bspwn]%c ` + str, 'font-weight:bold;color:#0cc', '');
 | 
					    console.warn(`%c[bspwn]%c ` + str, "font-weight:bold;color:#0cc", "");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// basically took this one verbatim from epapi bc i couldnt be fucked to reimplement it
 | 
					// basically took this one verbatim from epapi bc i couldnt be fucked to reimplement it
 | 
				
			||||||
function bserror(t, e) {
 | 
					function bserror(t, e) {
 | 
				
			||||||
    console.error(`%c[bspwn]%c ${t}:\n\n`, 'font-weight:bold;color:#0cc', '', e);
 | 
					    console.error(
 | 
				
			||||||
 | 
					        `%c[bspwn]%c ${t}:\n\n`,
 | 
				
			||||||
 | 
					        "font-weight:bold;color:#0cc",
 | 
				
			||||||
 | 
					        "",
 | 
				
			||||||
 | 
					        e
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exports.go = function() {
 | 
					exports.go = function() {
 | 
				
			||||||
 | 
					 | 
				
			||||||
    // crashing the preload script is very bad and definitely not something we want to do, so we catch our errors
 | 
					    // crashing the preload script is very bad and definitely not something we want to do, so we catch our errors
 | 
				
			||||||
    try {
 | 
					    try {
 | 
				
			||||||
 | 
					        bsprint("initializing...");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        bsprint('initializing...');
 | 
					        electron.session.defaultSession.webRequest.onHeadersReceived(function(
 | 
				
			||||||
 | 
					            details,
 | 
				
			||||||
 | 
					            callback
 | 
				
			||||||
 | 
					        ) {
 | 
				
			||||||
 | 
					            details.responseHeaders["content-security-policy"] = "*";
 | 
				
			||||||
 | 
					            callback({ responseHeaders: details.responseHeaders });
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (location.hostname.indexOf('discordapp') == -1) {
 | 
					        if (location.hostname.indexOf("discordapp") == -1) {
 | 
				
			||||||
            bswarn('hm, not running under discordapp, let\'s abort...');
 | 
					            bswarn("hm, not running under discordapp, let's abort...");
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // apparently tripping hasSuspiciousCode() makes discord not report errors, so lets do that on purpose
 | 
					        // apparently tripping hasSuspiciousCode() makes discord not report errors, so lets do that on purpose
 | 
				
			||||||
        window.BetterDiscord = 'this is a dummy value to trip hasSuspiciousCode()';
 | 
					        window.BetterDiscord =
 | 
				
			||||||
 | 
					            "this is a dummy value to trip hasSuspiciousCode()";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // make sure crispr and epapi are actually there before trying to load them
 | 
					        // make sure crispr and epapi are actually there before trying to load them
 | 
				
			||||||
        var crisprFound = fs.existsSync(data + 'crispr.js');
 | 
					        var crisprFound = fs.existsSync(data + "crispr.js");
 | 
				
			||||||
        var epapiFound = fs.existsSync(data + 'epapi.js');
 | 
					        var epapiFound = fs.existsSync(data + "epapi.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!epapiFound) {
 | 
					        if (!epapiFound) {
 | 
				
			||||||
            bswarn('EPAPI not detected, aborting...');
 | 
					            bswarn("EPAPI not detected, aborting...");
 | 
				
			||||||
            return;
 | 
					            return;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (!crisprFound) bswarn('CRISPR not detected');
 | 
					        if (!crisprFound) bswarn("CRISPR not detected");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // load our friends :)
 | 
					        // load our friends :)
 | 
				
			||||||
        var crispr = require(data + 'crispr.js');
 | 
					        var crispr = require(data + "crispr.js");
 | 
				
			||||||
        var epapi = require(data + 'epapi.js');
 | 
					        var epapi = require(data + "epapi.js");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // these are the bootstrap properties we pass to crispr and epapi
 | 
					        // these are the bootstrap properties we pass to crispr and epapi
 | 
				
			||||||
        var properties = {
 | 
					        var properties = {
 | 
				
			||||||
            name: 'EndPwn3',
 | 
					            name: "Lambda",
 | 
				
			||||||
            version: {
 | 
					            version: {
 | 
				
			||||||
                major: 3,
 | 
					                major: 0,
 | 
				
			||||||
                minor: 2,
 | 
					                minor: 1,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                toString: function() {
 | 
					                toString: function() {
 | 
				
			||||||
                    return `v${this.major}.${this.minor}`;
 | 
					                    return `v${this.major}.${this.minor}`;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            method: 'bspwn',
 | 
					            method: "legacy-bspwn",
 | 
				
			||||||
            brand: true,
 | 
					            brand: true,
 | 
				
			||||||
            native: true
 | 
					            native: true
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
| 
						 | 
					@ -83,11 +95,10 @@ exports.go = function () {
 | 
				
			||||||
        if (crisprFound) crispr.go(properties);
 | 
					        if (crisprFound) crispr.go(properties);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // delay epapi until dom-ready to prevent errors
 | 
					        // delay epapi until dom-ready to prevent errors
 | 
				
			||||||
        electron.getCurrentWindow().webContents.on('dom-ready', () => epapi.go(properties));
 | 
					        electron
 | 
				
			||||||
 | 
					            .getCurrentWindow()
 | 
				
			||||||
 | 
					            .webContents.on("dom-ready", () => epapi.go(properties));
 | 
				
			||||||
 | 
					    } catch (ex) {
 | 
				
			||||||
 | 
					        bserror("exception during init", ex);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    catch (ex) {
 | 
					 | 
				
			||||||
        bserror('exception during init', ex);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -58,7 +58,7 @@ function patch(target, resolve) {
 | 
				
			||||||
            var archive = archiver("zip");
 | 
					            var archive = archiver("zip");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var output = fs.createWriteStream(
 | 
					            var output = fs.createWriteStream(
 | 
				
			||||||
                (config.target || "./out/") + target + ".zip"
 | 
					                (config.target || "./") + target + ".zip"
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            archive.pipe(output);
 | 
					            archive.pipe(output);
 | 
				
			||||||
| 
						 | 
					@ -119,7 +119,7 @@ async function scrape() {
 | 
				
			||||||
                            },
 | 
					                            },
 | 
				
			||||||
                            (err, response, body) => {
 | 
					                            (err, response, body) => {
 | 
				
			||||||
                                fs.writeFile(
 | 
					                                fs.writeFile(
 | 
				
			||||||
                                    "./out/" + ident + ".orig.zip",
 | 
					                                    "./" + ident + ".orig.zip",
 | 
				
			||||||
                                    body,
 | 
					                                    body,
 | 
				
			||||||
                                    () => {
 | 
					                                    () => {
 | 
				
			||||||
                                        console.log("done downloading");
 | 
					                                        console.log("done downloading");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue