您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Not even the people from Easylist seem to fight this site anymore, someone had to try as this looks popular enough. *sigh*
当前为
- // ==UserScript==
- // @name KissAnime Anti-Adblock Blocker
- // @author Swyter
- // @contributor 7 Deadly
- // @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/*
- // @match *://kimcartoon.me/*
- // @version 2018.07.04
- // @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', 'AdBlock', 'TemporaryBlock', 'adsIfrme'])
- 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!');
- }
- });
- Object.defineProperty(window, 'YANMKABFYWRW',
- {
- configurable: false,
- writable: false,
- value: function()
- {
- console.info('[/] YANMKABFYWRW check overriden!');
- }
- });
- Object.defineProperty(window, 'HAYNQMAKDASAS',
- {
- configurable: false,
- writable: false,
- value: function()
- {
- console.info('[/] HAYNQMAKDASAS check overriden!');
- }
- });
- Object.defineProperty(window, 'YANABWEKA',
- {
- configurable: false,
- writable: false,
- value: function()
- {
- console.info('[/] YANABWEKA 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'],
- iframe[style*='!important'][src^='/'],
- 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,
- div[id^=adsIfrme]:not([id=adsIfrme]),
- iframe[src*='Ads'],
- iframe[src*='facebook'],
- iframe[src*='mgi'][height='215'],
- 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|TemporaryBlock/gi) !== null)
- {
- console.info("[x] intercepted shitty 'ban' request!", arguments); this.abort();
- }
- else
- {
- xhr_proto_open.apply(this, arguments);
- }
- };
- }(XMLHttpRequest.prototype.open));
- });