// ==UserScript==
// @name KissAnime Anti-Adblock Blocker
// @author Swyter
// @namespace userscripts.org/user/swyter
// @description Not even the people from Easylist seem to fight this site anymore, someone had to try as this looks popular enough. *sigh*
// @match *://kissanime.com/*
// @match *://kisscartoon.me/*
// @match *://kissanime.to/*
// @match *://kissasian.com/*
// @match *://kissmanga.com/*
// @match *://readcomiconline.to/*
// @match *://kissanime.ru/*
// @match *://kisscartoon.se/*
// @match *://kissasian.ch/*
// @version 2017.08.31.1
// @grant none
// @run-at document-start
// ==/UserScript==
console.log('Started KissAnime Anti-Adblock Blocker, waiting for the DOM to load...');
window.addEventListener('beforescriptexecute', function(e)
{
/* typical js kludge, holy carp, that's convoluted! */
var element_host = ((tmp = document.createElement('a')).href = e.target.src) && tmp.host;
/* gnblizz reported a missing captcha, bail out there */
if (element_host === 'www.sweetcaptcha.com' || element_host === 'apis.google.com')
return;
if (e.target.src && element_host !== document.domain &&
element_host !== document.domain.split('.')[0] + '.disqus.com') e.preventDefault();
if (!e.target.src)
for (var i of ['charCodeAt', 'BB_', 'taboola', 'plusone', 'analytics', 'Please disable AdBlock'])
if (e.target.textContent.indexOf(i) != -1)
e.preventDefault();
console.log('[i] blocking script element: ', e.defaultPrevented, e.target.src);
});
/* override the check in Chrome and call it a day */
try
{
Object.defineProperty(window, 'DoDetect2',
{
configurable: false,
writable: false,
value: function()
{
console.info('[/] check overriden!');
}
});
} catch(e) {}
window.addEventListener('DOMContentLoaded', function(e)
{
console.log('DOM loaded, processing stuff...');
/* get rid of the cruft */
for (var elem of document.querySelectorAll(`
iframe[src*='ad']:not([src*='openload']),
.divCloseBut,
.clear2,
div[style*='!important'],
div[id^='divFloat'],
.episodeList div[style$='float: left;'],
.episodeList .clear,
div[style$='height:80px'],
img[id^='adCheck'],
div[id^=adsFloat][style],
div[id^=btnClose],
div[style*='width:800px'],
div[id*=fl-ads].rf-container,
iframe[src*='Ads'],
iframe[src*='facebook'],
div[style*='300px'][style*='250px'],
div[style*='margin: 0px auto'],
div[style*='height: 600px'],
div[style*='820px'][style*='215px'],
div[style*='728px'][style*='200px'],
li#liFlappy, li#liReportError,
body > script[src],
script[data-cfasync],
div[style*='728px'][style*='90px']
`))
{
console.log('[-] removing cruft: ', elem);
elem.parentElement.removeChild(elem);
}
/* let's hook the AJAX requests, just in case, and filter out the so-called 'ban'
avoiding potential fake points loss and such, what a scummy move by the site owner */
(function (xhr_proto_open)
{
window.XMLHttpRequest.prototype.open = function(method, url)
{
if (url.match(/ban|Banned|GotBanned/gi) !== null)
{
console.info("[x] intercepted shitty 'ban' request!", arguments); this.abort();
}
else
{
xhr_proto_open.apply(this, arguments);
}
};
}(XMLHttpRequest.prototype.open));
});