mirror of
				https://github.com/EndPwnArchive/endpwn3.git
				synced 2024-08-15 00:23:30 +00:00 
			
		
		
		
	leap of faith
This commit is contained in:
		
							parent
							
								
									03fda7988e
								
							
						
					
					
						commit
						40b61e8da6
					
				
					 2 changed files with 35 additions and 82 deletions
				
			
		
							
								
								
									
										62
									
								
								monitor.htm
									
										
									
									
									
								
							
							
						
						
									
										62
									
								
								monitor.htm
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -22,42 +22,50 @@
 | 
			
		|||
        try {
 | 
			
		||||
 | 
			
		||||
            // grab stage 2
 | 
			
		||||
            fetch('https://endpwn.github.io/endpwn3/stage2.js?_=' + Date.now()).then(x => x.text()).then(stage2 => {
 | 
			
		||||
            fetch('https://endpwn.github.io/endpwn3/stage2.js?_=' + Date.now()).then(x => x.text()).then(stage2 =>
 | 
			
		||||
 | 
			
		||||
                // the monitor gets node integration; no silly DiscordNative bullshit
 | 
			
		||||
                var fs = require('original-fs');
 | 
			
		||||
                var electron = require('electron').remote;
 | 
			
		||||
                // grab shared
 | 
			
		||||
                fetch('https://endpwn.github.io/endpwn3/shared.js?_=' + Date.now()).then(x => x.text()).then(shared => {
 | 
			
		||||
 | 
			
		||||
                // find the main window
 | 
			
		||||
                var win = electron.BrowserWindow.getAllWindows().filter(x => x.getURL().indexOf('monitor') == -1)[0];
 | 
			
		||||
                    // the monitor gets node integration; no silly DiscordNative bullshit
 | 
			
		||||
                    var fs = require('original-fs');
 | 
			
		||||
                    var electron = require('electron').remote;
 | 
			
		||||
 | 
			
		||||
                // inject stage 2 once Discord is done loading
 | 
			
		||||
                win.webContents.on('dom-ready', () => win.webContents.executeJavaScript(stage2));
 | 
			
		||||
                    // find the main window
 | 
			
		||||
                    var win = electron.BrowserWindow.getAllWindows().filter(x => x.getURL().indexOf('monitor') == -1)[0];
 | 
			
		||||
 | 
			
		||||
                function load() {
 | 
			
		||||
                    win.loadURL('https://canary.discordapp.com/channels/@me');
 | 
			
		||||
                }
 | 
			
		||||
                    // inject stage 2 once Discord is done loading
 | 
			
		||||
                    win.webContents.on('dom-ready', () => {
 | 
			
		||||
                        win.webContents.executeJavaScript(stage2);
 | 
			
		||||
                        win.webContents.executeJavaScript(shared);
 | 
			
		||||
                    });
 | 
			
		||||
 | 
			
		||||
                // get the data path
 | 
			
		||||
                var data = electron.app.getPath('userData');
 | 
			
		||||
                    function load() {
 | 
			
		||||
                        win.loadURL('https://canary.discordapp.com/channels/@me');
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                // dont update EPAPI if DONTUPDATE exists
 | 
			
		||||
                if (!fs.existsSync(data + '/DONTUPDATE')) {
 | 
			
		||||
                    // get the data path
 | 
			
		||||
                    var data = electron.app.getPath('userData');
 | 
			
		||||
 | 
			
		||||
                    // grab EPAPI from master
 | 
			
		||||
                    fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now())
 | 
			
		||||
                        .then(r => r.text())
 | 
			
		||||
                        .then(epapi => {
 | 
			
		||||
                            fs.writeFileSync(data + '/epapi.js', epapi);
 | 
			
		||||
                            setTimeout(load, 1000);
 | 
			
		||||
                        });
 | 
			
		||||
                    // dont update EPAPI if DONTUPDATE exists
 | 
			
		||||
                    if (!fs.existsSync(data + '/DONTUPDATE')) {
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
                else {
 | 
			
		||||
                    setTimeout(load, 1000);
 | 
			
		||||
                }
 | 
			
		||||
                        // grab EPAPI from master
 | 
			
		||||
                        fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now())
 | 
			
		||||
                            .then(r => r.text())
 | 
			
		||||
                            .then(epapi => {
 | 
			
		||||
                                fs.writeFileSync(data + '/epapi.js', epapi);
 | 
			
		||||
                                setTimeout(load, 1000);
 | 
			
		||||
                            });
 | 
			
		||||
 | 
			
		||||
            });
 | 
			
		||||
                    }
 | 
			
		||||
                    else {
 | 
			
		||||
                        setTimeout(load, 1000);
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                })
 | 
			
		||||
                
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        catch (e) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										55
									
								
								stage2.js
									
										
									
									
									
								
							
							
						
						
									
										55
									
								
								stage2.js
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -29,61 +29,6 @@
 | 
			
		|||
        return eval('(()=>{var exports={};' + fs.readFileSync(data + path, 'utf8').toString() + ';return exports})()');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // define this with a default value as a fallback
 | 
			
		||||
    var __goodies = {
 | 
			
		||||
        guilds: [],
 | 
			
		||||
        bots: [],
 | 
			
		||||
        users: {}
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // fetch goodies.json
 | 
			
		||||
    fetch('https://endpwn.cathoderay.tube/goodies.json?_=' + Date.now())
 | 
			
		||||
        .then(x => x.json())
 | 
			
		||||
        .then(r => __goodies = r);
 | 
			
		||||
 | 
			
		||||
    // EndPwn3 specific features
 | 
			
		||||
    document.addEventListener('ep-ready', () => {
 | 
			
		||||
 | 
			
		||||
        window.reload = () => { app.relaunch(); app.exit(); };
 | 
			
		||||
 | 
			
		||||
        // enable experiments
 | 
			
		||||
        $api.util.findFuncExports('isDeveloper').__defineGetter__('isDeveloper', () => true);
 | 
			
		||||
 | 
			
		||||
        // disable that obnoxious warning about not pasting shit in the console
 | 
			
		||||
        $api.util.findFuncExports('consoleWarning').consoleWarning = e => { };
 | 
			
		||||
 | 
			
		||||
        // goodies for people directly associated with the endpwn project, and also kat bc shes my girlfriend
 | 
			
		||||
        // may be expanded to anyone through a web ui later on
 | 
			
		||||
        $api.util.wrapAfter(
 | 
			
		||||
            "wc.findCache('getUser')[0].exports.getUser",
 | 
			
		||||
 | 
			
		||||
            x => {
 | 
			
		||||
 | 
			
		||||
                if (x === undefined || x === null) return;
 | 
			
		||||
 | 
			
		||||
                if (__goodies.bots.contains(x.id)) x.bot = true;
 | 
			
		||||
                if (__goodies.users[x.id] !== undefined) x.discriminator = __goodies.users[x.id];
 | 
			
		||||
 | 
			
		||||
                return x;
 | 
			
		||||
            }
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        // verify servers directly associated with the endpwn project
 | 
			
		||||
        $api.util.wrapAfter(
 | 
			
		||||
            "wc.findCache('getGuild')[0].exports.getGuild",
 | 
			
		||||
 | 
			
		||||
            x => {
 | 
			
		||||
 | 
			
		||||
                if (x === undefined || x === null) return;
 | 
			
		||||
 | 
			
		||||
                if (__goodies.guilds.contains(x.id)) x.features.add('VERIFIED');
 | 
			
		||||
 | 
			
		||||
                return x;
 | 
			
		||||
            }
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    // load EPAPI
 | 
			
		||||
    var epapi = __krequire('epapi.js');
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue