crispr for changelog injection

This commit is contained in:
Astra 2018-05-09 01:16:22 -04:00
parent 3ef86169ed
commit 381f12b4b6

View file

@ -29,6 +29,7 @@ exports = {
window.reload = () => { app.relaunch(); app.exit(); }; window.reload = () => { app.relaunch(); app.exit(); };
window.endpwn = { window.endpwn = {
// uninstaller
uninstall: function () { uninstall: function () {
$api.ui.showDialog({ $api.ui.showDialog({
title: 'EndPwn: confirm uninstallation', title: 'EndPwn: confirm uninstallation',
@ -49,9 +50,10 @@ exports = {
}); });
}, },
// define this with a default value as a fallback // endpwn customizer supporting code
customizer: { customizer: {
// fallback data
data: { data: {
guilds: [], guilds: [],
devs: [], devs: [],
@ -72,13 +74,13 @@ exports = {
// prevent doublecalling // prevent doublecalling
endpwn.customizer.init = undefined; endpwn.customizer.init = undefined;
// apply custom discrims/bot tags/badges/server verif from EndPwn Customizer (endpwn.cathoderay.tube)
internal.print('initializing EndPwn Cutomizer...');
// refetch customizer stuff every half hour // refetch customizer stuff every half hour
setInterval(endpwn.customizer.update, 1800000); setInterval(endpwn.customizer.update, 1800000);
endpwn.customizer.update(); endpwn.customizer.update();
// apply custom discrims/bot tags/badges/server verif from EndPwn Customizer (endpwn.cathoderay.tube)
internal.print('initializing EndPwn Cutomizer...');
// add the endpwn dev badge to the class obfuscation table // add the endpwn dev badge to the class obfuscation table
wc.findFunc('profileBadges:"profileBadges')[0].exports['profileBadgeEndpwn'] = 'profileBadgeEndPwn'; wc.findFunc('profileBadges:"profileBadges')[0].exports['profileBadgeEndpwn'] = 'profileBadgeEndPwn';
@ -127,6 +129,16 @@ exports = {
}; };
// fetch the changelog
internal.print('retrieving changelog...');
fetch('https://endpwn.github.io/changelog.md?_=' + Date.now()).then(r => r.text()).then(l => {
var data = l.split(';;');
window.endpwn.changelog = {
date: data[0],
body: data[1] + '\n\n' + log.changeLog.body
};
});
// early init payload // early init payload
document.addEventListener('ep-prepared', () => { document.addEventListener('ep-prepared', () => {
@ -142,38 +154,6 @@ exports = {
sentry._breadcrumbEventHandler = () => () => { }; // break most event logging sentry._breadcrumbEventHandler = () => () => { }; // break most event logging
sentry.captureBreadcrumb = () => { }; // disable breadcrumb logging sentry.captureBreadcrumb = () => { }; // disable breadcrumb logging
// fetch the changelog
internal.print('injecting changelog...');
fetch('https://endpwn.github.io/changelog.md?_=' + Date.now()).then(r => r.text()).then(l => {
// we're racing discord's initialization procedures; try and hit a timing sweetspot
setTimeout(function () {
try {
// get the changelog object
var log = $api.util.findFuncExports('changeLog');
var data = l.split(';;');
// set the date
if (log.changeLog.date <= data[0])
log.changeLog.date = data[0];
// prepend to the changelog body
log.changeLog.body = data[1] + '\n\n' + log.changeLog.body;
}
catch (e) {
// it failed, try again in 10 ms
setTimeout(arguments.callee, 100);
}
}, 100);
});
}); });
}, },
@ -181,6 +161,7 @@ exports = {
replacements: { replacements: {
//'#([0-9]{4})': '#(.{1,4})', //'#([0-9]{4})': '#(.{1,4})',
//'return t.hasFlag(H.UserFlags.STAFF)': 'return t.hasFlag(4096)&&r.push({tooltip:"EndPwn Developer",onClick:function(){return window.open("https://endpwn.github.io/","_blank")},class:"endpwn"}),t.hasFlag(H.UserFlags.STAFF)' //'return t.hasFlag(H.UserFlags.STAFF)': 'return t.hasFlag(4096)&&r.push({tooltip:"EndPwn Developer",onClick:function(){return window.open("https://endpwn.github.io/","_blank")},class:"endpwn"}),t.hasFlag(H.UserFlags.STAFF)'
'key:"changeLog",get:function(){return E}': 'key:"changeLog",get:function(){if(!E.injected){E.injected=1;E.date=E.date<=window.endpwn.changelog.date?window.endpwn.changelog.date:E.date;E.body=window.endpwn.changelog.body+"\n\n"+E.body}return E}'
}, },
start: function () { start: function () {