leap of faith

This commit is contained in:
Astra 2018-04-22 00:17:26 -04:00
parent 03fda7988e
commit 40b61e8da6
2 changed files with 35 additions and 82 deletions

View file

@ -22,42 +22,50 @@
try { try {
// grab stage 2 // 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 // grab shared
var fs = require('original-fs'); fetch('https://endpwn.github.io/endpwn3/shared.js?_=' + Date.now()).then(x => x.text()).then(shared => {
var electron = require('electron').remote;
// find the main window // the monitor gets node integration; no silly DiscordNative bullshit
var win = electron.BrowserWindow.getAllWindows().filter(x => x.getURL().indexOf('monitor') == -1)[0]; var fs = require('original-fs');
var electron = require('electron').remote;
// inject stage 2 once Discord is done loading // find the main window
win.webContents.on('dom-ready', () => win.webContents.executeJavaScript(stage2)); var win = electron.BrowserWindow.getAllWindows().filter(x => x.getURL().indexOf('monitor') == -1)[0];
function load() { // inject stage 2 once Discord is done loading
win.loadURL('https://canary.discordapp.com/channels/@me'); win.webContents.on('dom-ready', () => {
} win.webContents.executeJavaScript(stage2);
win.webContents.executeJavaScript(shared);
});
// get the data path function load() {
var data = electron.app.getPath('userData'); win.loadURL('https://canary.discordapp.com/channels/@me');
}
// dont update EPAPI if DONTUPDATE exists // get the data path
if (!fs.existsSync(data + '/DONTUPDATE')) { var data = electron.app.getPath('userData');
// grab EPAPI from master // dont update EPAPI if DONTUPDATE exists
fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now()) if (!fs.existsSync(data + '/DONTUPDATE')) {
.then(r => r.text())
.then(epapi => {
fs.writeFileSync(data + '/epapi.js', epapi);
setTimeout(load, 1000);
});
} // grab EPAPI from master
else { fetch('https://endpwn.github.io/epapi/epapi.js?_=' + Date.now())
setTimeout(load, 1000); .then(r => r.text())
} .then(epapi => {
fs.writeFileSync(data + '/epapi.js', epapi);
setTimeout(load, 1000);
});
}); }
else {
setTimeout(load, 1000);
}
})
);
} }
catch (e) { catch (e) {

View file

@ -29,61 +29,6 @@
return eval('(()=>{var exports={};' + fs.readFileSync(data + path, 'utf8').toString() + ';return exports})()'); 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 // load EPAPI
var epapi = __krequire('epapi.js'); var epapi = __krequire('epapi.js');