diff --git a/antiadblockkiller.user.js b/antiadblockkiller.user.js deleted file mode 100644 index 7e12cf2d6..000000000 --- a/antiadblockkiller.user.js +++ /dev/null @@ -1,5187 +0,0 @@ -// ==UserScript== -// @name Anti-Adblock Killer | Reek -// @namespace https://userscripts.org/scripts/show/155840 -// @description Helps you keep your Ad-Blocker active, when you visit a website and it asks you to disable. -// @author Reek | reeksite.com -// @version 9.6 -// @encoding utf-8 -// @license https://creativecommons.org/licenses/by-sa/4.0/ -// @icon https://raw.github.com/reek/anti-adblock-killer/master/anti-adblock-killer-icon.png -// @homepage https://github.com/reek/anti-adblock-killer/ -// @twitterURL https://twitter.com/antiadbkiller -// @contactURL https://reek.github.io/anti-adblock-killer/#contact -// @supportURL https://github.com/reek/anti-adblock-killer/issues -// @contributionURL https://github.com/reek/anti-adblock-killer#donate -// @updateURL https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer.user.js -// @downloadURL https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer.user.js -// @include http://*/* -// @include https://*/* -// @grant unsafeWindow -// @grant GM_addStyle -// @grant GM_getValue -// @grant GM_setValue -// @grant GM_xmlhttpRequest -// @grant GM_registerMenuCommand -// @grant GM_deleteValue -// @grant GM_listValues -// @grant GM_getResourceText -// @grant GM_getResourceURL -// @grant GM_log -// @grant GM_openInTab -// @grant GM_setClipboard -// @grant GM_info -// @grant GM_getMetadata -// @run-at document-start -// @connect * -// ==/UserScript== -/*===================================================== - Thanks - ======================================================= - - Donors: M. Howard, Shunjou, Charmine, Kierek93, G. Barnard, H. Young, Seinhor9, ImGlodar, Ivanosevitch, HomeDipo, R. Martin, DrFiZ, Tippy, B. Rohner, P. Kozica, M. Patel, W4rell, Tscheckoff, AdBlock Polska, AVENIR INTERNET, coolNAO, Ben, J. Park, C. Young, J. Bou, M. Cano, J. Jung, A. Sonino, J. Litten, M. Schrumpf, G. Pepe, A. Trufanov, R. Palmer, J. Rautiainen, S. Blystone, M. Silveira, K. MacArthur, M. Ivanov, A. Schmidt, A. Waage, F. Tismer, S. Ehnert, J. Corpus, J. Dluhos, Maklemenz, Strobelix, Modellpilot.EU, E. Benedetti, V. Venditti, Shakos, A. Eliason, A. Saloranta, S. Geiger, A. Otterloo, M. Coppen, S. Fischer, H. Becker, D. Ackerman, S. Pitsch, K. Pertcheck, S. Abel, K. O'Connor, B. Obrien, S. Vogler, S. Goebl, A. Biar, S. Scott, Bassmobile.org, S. Große, M. Peot, R. Chan Balam, L. Bond-Kennedy, R. Emond, A. Pavlov, W. Tracey, A. Sergey, R. López López, R. Reddy Kasireddy, A. Moujeer, M. Betz, M. Lefèvre, R. McCurdy, LR Geeks, M. Beauregard, CasperTech Ltd, M. Dudas, S. Scharf, S. Prokhorov, K. Papalias, J. Wojnowski, B. Curtis, D. Lawrence, D. He, N. Kelsall, Idogewallet, J. Spaulding - - Collaborators: InfinityCoding, Couchy, Dindog, Floxflob, U Bless, Watilin, @prdonahue, Hoshie, 3lf3nLi3d, Alexo, Crits, Noname120, Crt32, JixunMoe, Athorcis, Killerbadger, SMed79, Alexander255, Anonsubmitter, RaporLoLpro, Maynak00, Robotex, Vinctux, Blahx, MajkiIT, F4z, Angelsl, Mikhaelk, Marek, Hamsterbacke, Gorhill, Hacker999, xxcriticxx, Skr4tchGr3azyMonkiBallllllZzzz, Giwayume, MrSherlockHolmes - - Users: Thank you to all those who use Anti Adblock Killer, who report problems, who write the review, which add to their favorites, making donations, which support the project and help in its development or promote. - -======================================================= - Mirrors -======================================================= - - Github: http://tinyurl.com/mcra3dn - Greasyfork: http://tinyurl.com/pbbdnh6 - Openuserjs: http://tinyurl.com/nnqje32 - MonkeyGuts: http://tinyurl.com/ka5fcqm - Userscripts: http://tinyurl.com/q8xcejl - -======================================================= - Documentation -======================================================= - - Greasemonkey: http://tinyurl.com/yeefnj5 - Scriptish: http://tinyurl.com/cnd9nkd - Tampermonkey: http://tinyurl.com/pdytfde - Violentmonkey: http://tinyurl.com/n34wn6j - NinjaKit: http://tinyurl.com/pkkm9ug - -======================================================= - Script -======================================================*/ - -(function (window) { - "use strict"; - - var Aak = { - name : 'Anti-Adblock Killer', - version : '9.6', - scriptid : 'gJWEp0vB', - homeURL : 'https://github.com/reek/anti-adblock-killer/', - changelogURL : 'https://github.com/reek/anti-adblock-killer#changelog', - donateURL : 'https://github.com/reek/anti-adblock-killer#donate', - featuresURL : 'https://github.com/reek/anti-adblock-killer#features', - reportURL : 'https://github.com/reek/anti-adblock-killer/wiki/Report-Guide', - contactURL : 'https://reek.github.io/anti-adblock-killer/#contact', - settingsURL : 'https://reek.github.io/anti-adblock-killer/#settings', - twitterURL : 'https://twitter.com/antiadbkiller', - downloadURL : 'https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer.user.js', - subscribeURL : 'https://reek.github.io/anti-adblock-killer/#filterlist', - listURL : "https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer-filters.txt", - nativeURL : 'https://github.com/reek/anti-adblock-killer/wiki/Native-Mode', - iconURL : 'https://raw.githubusercontent.com/reek/anti-adblock-killer/master/anti-adblock-killer-icon.png', - imgBait : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAGklEQVR42mNg0GAYBaNgFIyCUTAKRsEoQAYATN8AKYNZ/x4AAAAASUVORK5CYII=', - initialize : function () { - - Aak.registerSettings(); // registering your settings. - Aak.registerConsole(); // registering customzed console. - Aak.registerCommands(); // add commands to menu - Aak.checkUpdate(true); // check if AakScript is up to date. - Aak.checkList(); // check if AakList is enabled. - Aak.blockDetect(); // detect and kill anti-adblocks. - - }, - aabs : {}, - opts : {}, - options : { - videoPlay : { - group : 'general', - type : 'checkbox', - value : false, - label : 'Play video automatically. *', - info : '' - }, - videoHD : { - group : 'general', - type : 'checkbox', - value : false, - label : 'Play video in HD quality. **', - info : '' - }, - videoPlugin : { - group : 'general', - type : 'checkbox', - value : false, - label : 'Play video with plugin. *', - info : '' - }, - videoDownload : { - group : 'general', - type : 'checkbox', - value : false, - label : 'Add "Download video" button. *', - info : '' - }, - checkList : { - group : 'general', - type : 'checkbox', - value : true, - label : 'Check AakList subscription.', - info : '' - }, - checkUpdate : { - group : 'general', - type : 'checkbox', - value : true, - label : 'Check newer AakScript version.', - info : '' - }, - debug : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Enable debug mode.', - info : '' - }, - logInsertedNodes : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Log inserted nodes.', - info : '' - }, - logRemovedNodes : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Log removed nodes.', - info : '' - }, - logExcluded : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Log excludes domains.', - info : '' - }, - logXhr : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Log xmlhttprequest', - info : '' - }, - logPlayer : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Log player.', - info : '' - }, - logDetected : { - group : 'debug', - type : 'checkbox', - value : false, - label : 'Log detected anti-adblocks.', - info : '' - } - }, - registerSettings : function () { - for (var optName in Aak.options) { - if (Aak.options.hasOwnProperty(optName)) - Aak.opts[optName] = Aak.getValue(optName) !== null ? Aak.getValue(optName) : Aak.options[optName].value; - } - }, - commands : [{ - caption : 'Homepage', - execute : function () { - Aak.go(Aak.homeURL); - } - }, { - caption : 'Settings', - execute : function () { - Aak.go(Aak.settingsURL); - } - }, { - caption : 'Update', - execute : function () { - Aak.checkUpdate(); - } - } - ], - addCommands : function (cmd) { - if (Aak.useGM && Aak.isTopframe && typeof GM_registerMenuCommand != 'undefined') { - GM_registerMenuCommand([Aak.name, Aak.getVersion(), cmd.caption].join(' '), cmd.execute); - } - }, - registerCommands : function () { - Aak.ready(function () { - // Scriptish - // note: No menu command is created when the user script is run in a iframe window. - // doc: http://tinyurl.com/kvvv7yt - Aak.commands.forEach(function (cmd) { - Aak.addCommands(cmd); - }); - }); - }, - registerConsole : function () { - var args = ['AntiAdbKiller', Aak.isTopframe ? 'topframe' : 'subframe', location.host]; - this.log = Aak.opts.debug ? console.log.bind(console, args) : function () {}; - this.info = Aak.opts.debug ? console.info.bind(console, args) : function () {}; - this.error = Aak.opts.debug ? console.error.bind(console, args) : function () {}; - this.warn = Aak.opts.debug ? console.warn.bind(console, args) : function () {}; - this.detected = Aak.opts.debug && Aak.opts.logDetected ? console.info.bind(console, args) : function () {}; - }, - isTopframe : (parent == self), - uw : typeof unsafeWindow != 'undefined' ? unsafeWindow : window, - useGM : typeof GM_getValue != 'undefined', - apiGM : function () { - if (Aak.isTopframe) { - // GM API - http://tinyurl.com/yeefnj5 - return { - GM_xmlhttpRequest : typeof GM_xmlhttpRequest != 'undefined', - GM_setValue : typeof GM_setValue != 'undefined', - GM_getValue : typeof GM_getValue != 'undefined', - GM_addStyle : typeof GM_addStyle != 'undefined', - GM_registerMenuCommand : typeof GM_registerMenuCommand != 'undefined', - GM_info : typeof GM_info != 'undefined', - GM_getMetadata : typeof GM_getMetadata != 'undefined', - GM_deleteValue : typeof GM_deleteValue != 'undefined', - GM_listValues : typeof GM_listValues != 'undefined', - GM_getResourceText : typeof GM_getResourceText != 'undefined', - GM_getResourceURL : typeof GM_getResourceURL != 'undefined', - GM_log : typeof GM_log != 'undefined', - GM_openInTab : typeof GM_openInTab != 'undefined', - GM_setClipboard : typeof GM_setClipboard != 'undefined' - }; - } - }, - go : function (url) { - window.location.href = url; - }, - refresh : function () { - window.location.href = location.href; - }, - reload : function () { - window.location.reload(true); - }, - ready : function (callback) { - if (window.addEventListener !== undefined) { - window.addEventListener('load', callback, false); - } else { - window.attachEvent('onload', callback); - } - }, - contains : function (string, search) { - return string.indexOf(search) != -1; - }, - getBrowser : function () { - var ua = navigator.userAgent; - if (Aak.contains(ua, 'Firefox')) { - return "Firefox"; - } else if (Aak.contains(ua, 'Sleipnir')) { - return "Sleipnir"; // Mobile - } else if (Aak.contains(ua, 'UCBrowser')) { - return "UCBrowser"; // Mobile - } else if (Aak.contains(ua, 'Dolfin')) { - return "Dolphin"; // Mobile - } else if (Aak.contains(ua, 'MSIE')) { - return "InternetExplorer"; - } else if (Aak.contains(ua, 'Midori')) { - return "Midori"; - } else if (Aak.contains(ua, 'Opera') || Aak.contains(ua, 'OPR')) { - return "Opera"; - } else if (Aak.contains(ua, 'Chrome')) { - return "Chrome"; - } else if (Aak.contains(ua, 'Safari')) { - return "Safari"; - } else if (Aak.contains(ua, 'Konqueror')) { - return "Konqueror"; - } else if (Aak.contains(ua, 'PaleMoon')) { - return "PaleMoon"; // fork firefox - } else if (Aak.contains(ua, 'Cyberfox')) { - return "Cyberfox"; // fork firefox - } else if (Aak.contains(ua, 'SeaMonkey')) { - return "SeaMonkey"; // fork firefox - } else if (Aak.contains(ua, 'Iceweasel')) { - return "Iceweasel"; // fork firefox - } else { - return ua; - } - }, - getVersion : function () { - return Number(Aak.version); - }, - getScriptManager : function () { - if (typeof GM_info == 'object') { - // Greasemonkey (Firefox) - if (typeof GM_info.uuid != 'undefined') { - return 'Greasemonkey'; - } // Tampermonkey (Chrome/Opera) - else if (typeof GM_info.scriptHandler != 'undefined') { - return 'Tampermonkey'; - } - } else { - // Scriptish (Firefox) - if (typeof GM_getMetadata == 'function') { - return 'Scriptish'; - } // NinjaKit (Safari/Chrome) - else if (typeof GM_setValue != 'undefined' && - typeof GM_getResourceText == 'undefined' && - typeof GM_getResourceURL == 'undefined' && - typeof GM_openInTab == 'undefined' && - typeof GM_setClipboard == 'undefined') { - return 'NinjaKit'; - } else { // Native - return 'Native'; - } - } - }, - generateID : function (len) { - var str = ''; - var charset = "abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; - for (var i = 0; i < (len ? len : 10); ++i) { - str += charset.charAt(Math.floor(Math.random() * charset.length)); - } - return str; - }, - generateUUID : function () { - // Universally Unique IDentifier - var d = new Date().getTime(); - var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { - var r = (d + Math.random() * 16) % 16 | 0; - d = Math.floor(d / 16); - return (c == 'x' ? r : (r & 0x7 | 0x8)).toString(16); - }); - return uuid; - }, - getUUID : function () { - var name = 'uuid'; - if (Aak.getValue(name) === null) { - Aak.setValue(name, Aak.generateUUID()); - } - return Aak.getValue(name); - }, - schedule : function (days, name, callback) { - setTimeout(function () { - var later = isNaN(Aak.getValue(name)) ? 1 : Number(Aak.getValue(name)); - var now = new Date().getTime(); - if (later < now) { - Aak.setValue(name, (now + (days * 24 * 60 * 60 * 1000)).toString()); - callback(); - } - }, 1e3); - }, - notification : function (message, delay) { - if (Aak.isTopframe) { - - // remove old notification - Aak.removeElement('#aak-notice-frame'); - - // add new notification - Aak.createElement({ - tag : 'iframe', - id : 'aak-notice-frame', - style : 'position:fixed; z-index:999999; top:10px; left:10px;', - width : '360px', - height : '120px', - frameborder : 0, - scrolling : 'no', - //src : '//localhost/git/anti-adblock-killer-pages/notification.html#' + btoa(message), - src : '//reek.github.io/anti-adblock-killer/notification.html#' + btoa(message), - append : 'body', - callback : function (self) { - - // manually remove - window.addEventListener("message", function (event) { - if (event.data == "removeNotification") { - self.remove(); - } - }, false); - - // automatically remove - window.setTimeout(function () { - self.remove(); - }, delay || 3e4); - } - }); - - } - }, - checkList : function () { - if (Aak.useGM && Aak.opts.checkList && Aak.isTopframe) { - Aak.schedule(1, 'nextchecklist', function () { - Aak.ready(function () { - Aak.createElement({ - tag : 'img', - id : 'k2Uw7isHrMm5JXP1Vwdxc567ZKc1aZ4I', - src : Aak.imgBait, - append : 'body', - event : { - load : function () { - var bait = this; - setTimeout(function () { - if (bait.clientHeight) { - Aak.warn('AakList not detected !'); - Aak.notification('It seems that you have not subscribed or disabled AakList. Subscribe or Disable this alert'); - } else { - Aak.info('AakList detected !'); - } - bait.remove(); - }, 6e4); - } - } - }); - }); - }); - } - }, - checkUpdate : function (auto) { - - var check = function (notifyFalse) { - Aak.request({ - url : Aak.downloadURL, - onload : function (response) { - var res = response.responseText; - var status = response.status; - if (status == 200) { - var local = Aak.getVersion(); - var remote = Number(res.match(/@version\s+(\d+\.\d+)/)[1]); - if (local < remote) { - Aak.notification('Anti-Adblock Killer v' + remote + ' is available Install.'); - } else if (notifyFalse) { - Aak.notification('No update found.'); - } - } - } - }); - }; - - if (auto) { // auto mode - if (Aak.useGM && Aak.opts.checkUpdate && Aak.isTopframe) { - Aak.ready(function () { - Aak.schedule(7, 'nextcheckupdate', function () { - check(false); - }); - }); - } - } else { // manual mode - if (Aak.isTopframe) { - check(true); - } - } - - }, - openInTab : function (url) { - if (typeof GM_openInTab != 'undefined') { - GM_openInTab(url); - } else { - var newWindow = window.open(url, "_blank"); - newWindow.focus(); - } - }, - request : function (settings) { - settings.url = settings.url || ''; - settings.method = settings.method || 'GET'; - settings.headers = settings.headers || {}; - settings.timeout = settings.timeout || 2e4; // 20s - if (settings.data || settings.method == 'POST') { - settings.method = 'POST'; - settings.data = Aak.serialize(settings.data || {}); - settings.headers = Aak.setProperty(settings.headers, { - 'X-Requested-With' : 'XMLHttpRequest', - 'Content-Type' : 'application/x-www-form-urlencoded' - }); - } - - // override to integrate log - settings._onload = settings.onload; - settings.onload = function (xhr) { - if (Aak.opts.logXhr) { - Aak.log(Aak.getScriptManager() + ' xhr', xhr); - } - settings._onload(xhr); - }; - - if (typeof GM_xmlhttpRequest != 'undefined') { - // Request with GM API - // doc: http://tinyurl.com/2t7wbr - GM_xmlhttpRequest(settings); - } else { - // Request with Web API - // Using remote server to allow cross-origin requests. - // doc: http://tinyurl.com/odz664a - // doc: http://tinyurl.com/p9zruzn - var xhr = new XMLHttpRequest(); - xhr.open('POST', 'http://reeksite.com/public/xhr.php', true); - xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); - xhr.onload = function () { - var res = xhr.responseText; - var json = JSON && JSON.parse(res); - Object.defineProperty(xhr, "responseText", { - enumerable : true, - configurable : true, - writable : true, - value : json.response - }); - settings.onload(xhr); - }; - xhr.send(Aak.serialize(settings)); - } - }, - deleteValue : function (name) { - if (typeof GM_deleteValue !== "undefined" && !name) { - var vals = GM_listValues(); - for (var i in vals) { - if (vals.hasOwnProperty(i)) - GM_deleteValue(vals[i]); - } - } else if (typeof GM_deleteValue !== "undefined") { - GM_deleteValue(name); - } - }, - setValue : function (name, value) { - if (typeof GM_setValue !== "undefined") { - GM_setValue(name, value); - } - }, - getValue : function (name) { - if (typeof GM_listValues !== "undefined" && !name) { - var list = {}; - var vals = GM_listValues(); - for (var i in vals) { - if (vals.hasOwnProperty(i)) - list[vals[i]] = GM_getValue(vals[i]); - } - return list; - } else if (typeof GM_getValue !== "undefined" && typeof GM_getValue(name) !== "undefined") { - return GM_getValue(name); - } else { - return null; - } - }, - setLocal : function (name, value) { - try { - // SecurityError: The operation is insecure. - // doc: http://tinyurl.com/8peqwvd - if (typeof localStorage !== "undefined") { - localStorage.setItem(name, value.toString()); - } else { - Aak.warn("Sorry! No Web Storage support."); - } - } catch (e) {} - }, - getLocal : function (name) { - try { - if (typeof localStorage !== "undefined") { - return localStorage.getItem(name); - } else { - Aak.warn("Sorry! No Web Storage support."); - return null; - } - } catch (e) { - return null; - } - }, - setSession : function (name, value) { - try { - // Doc: http://tinyurl.com/8peqwvd - if (typeof sessionStorage !== "undefined") { - sessionStorage.setItem(name, value.toString()); - } else { - Aak.warn("Sorry! No Web Storage support."); - } - } catch (e) {} - }, - getSession : function (name) { - try { - if (typeof sessionStorage !== "undefined") { - return sessionStorage.getItem(name); - } else { - Aak.warn("Sorry! No Web Storage support."); - return null; - } - } catch (e) { - return null; - } - }, - setCookie : function (name, value, time, path) { - var expires = new Date(); - expires.setTime(new Date().getTime() + (time || 365 * 24 * 60 * 60 * 1000)); - document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + expires.toGMTString() + ";path=" + (path || '/'); - }, - getCookie : function (name) { - var value = "; " + document.cookie; - var parts = value.split("; " + name + "="); - if (parts.length == 2) - return parts.pop().split(";").shift(); - }, - stopRedirect : function () { - if ('watch' in window) { - Aak.uw.watch("location", function () {}); - Aak.uw.location.watch("href", function () {}); - } else { - Aak.uw.location = "#"; - throw 'Stop Redirect'; - } - }, - confirmLeave : function () { - window.onbeforeunload = function () { - return ''; - }; - }, - confirmReport : function (elem) { - elem.innerHTML = 'Report'; - elem.title = 'Report issue or anti-adblock'; - elem.onclick = function (e) { - e.preventDefault(); - if (confirm("Do you want to report issue or anti-adblock ?")) { // Clic on OK - Aak.go(Aak.reportURL); - } else { - Aak.go(elem.href); - } - }; - }, - unpackScript : function (source) { - // support: pac+ked, pac+ker, mun+ged - // note: "Exception 403008" concatenating strings for bypass greasefork malware filter - return (/function[(][pm],[au],[cn],[kg],[e],[dr][)]/.test(source)) ? eval(source.trim().replace('eval(', '(').replace(';return p}', ';return p;}')) : false; - }, - hasScript : function (contains, doc) { - // by: Watilin - return Array.prototype.filter.call( - doc && doc.scripts || document.scripts, - function ($script) { - var source = $script.innerHTML; - return source && source.indexOf(contains) != -1; - })[0]; - }, - addScript : function (source) { - var script = document.createElement('script'); - script.innerHTML = (typeof source === 'function') ? Aak.toText(source) : source.toString(); - document.head.appendChild(script); - document.head.removeChild(script); - }, - addExternalScript : function (src, callback) { - var script = document.createElement('script'); - script.src = src; - script.onload = (typeof callback === 'function') ? callback() : null; - document.head.appendChild(script); - //document.head.removeChild(script); - }, - toText : function (entry) { - if (typeof entry === 'function') { - var str = entry.toString(); - var first = str.indexOf("{") + 1; - var last = str.lastIndexOf("}"); - return str.substr(first, last - first).trim(); - } else if (typeof entry === 'object') { - return JSON.stringify(entry); - } else { // array or string - return entry.toString(); - } - }, - hasElement : function (selector, callback, timeout) { - var repeat = timeout || 10; - var loop = setInterval(function () { - var elem = Aak.getElement(selector); - if (elem) { - callback(elem); - clearInterval(loop); - } - repeat = (repeat) ? repeat - 1 : clearInterval(loop); - }, 1e3); - }, - removeElement : function (elem) { - if (elem instanceof HTMLElement) { - elem.remove(); - } else if (typeof elem === "string") { - elem = document.querySelectorAll(elem); - for (var i = 0; i < elem.length; i++) { - elem[i].remove(); - } - } - }, - getElement : function (elem) { - if (typeof elem == 'string') { - return document.querySelector(elem) || false; - } else if (elem instanceof HTMLElement) { - return elem; - } else { - return false; - //throw 'Not object or invalid selector'; - } - }, - createElement : function (props) { - var elem, - node = {}; - for (var name in props) { - if (props.hasOwnProperty(name)) { - switch (name) { - case "tag": - node = document.createElement(props[name]); - break; - case "text": - var text = ('innerText' in document) ? 'innerText' : 'textContent'; - node[text] = props[name]; - break; - case "html": - node.innerHTML = props[name]; - break; - case "class": - node.className = props[name]; - break; - case "append": - elem = Aak.getElement(props[name]); - elem.appendChild(node); - break; - case "prepend": - elem = Aak.getElement(props[name]); - if (elem.childNodes.length) { - elem.insertBefore(node, elem.childNodes[0]); - } else { - elem.appendChild(node); - } - break; - case "before": - elem = Aak.getElement(props[name]); - elem.parentNode.insertBefore(node, elem); - break; - case "after": - elem = Aak.getElement(props[name]); - elem.parentNode.insertBefore(node, elem.nextSibling); - break; - case "replace": - elem = Aak.getElement(props[name]); - elem.parentNode.replaceChild(node, elem); - break; - case "event": - for (var evName in props.event) { - if (props.event.hasOwnProperty(evName)) - node.addEventListener(evName, props.event[evName]); - } - break; - case "callback": - props[name](node); - break; - default: - node.setAttribute(name, props[name]); - } - } - } - return node; - }, - addBaitElement : function (strOpts) { // ex: div.ads or span#ads@ - var opts = strOpts.replace('.', ':className:').replace('#', ':id:').split(':'); - var bait = document.createElement(opts[0]); - bait.setAttribute(opts[1], opts[2]); - bait.innerHTML = "
"; - document.documentElement.appendChild(bait); - return bait; - }, - replaceElement : function (oldNode, newNode) { - oldNode.parentNode.replaceChild(newNode, oldNode); - }, - setElement : function (selector, props) { - var node = Aak.getElement(selector); - if (node) { - for (var name in props) { - if (props.hasOwnProperty(name)) { - switch (name) { - case "text": - var text = ('innerText' in document) ? 'innerText' : 'textContent'; - node[text] = props[name]; - break; - case "html": - node.innerHTML = props[name]; - break; - case "class": - node.className = props[name]; - break; - default: - node.setAttribute(name, props[name]); - } - } - } - } - }, - addStyle : function (css) { - css = css.replace(/;/g, ' !important;'); - if (typeof GM_addStyle != 'undefined') { - GM_addStyle(css); - } else { - document.head.appendChild(document.createElement('style')).innerHTML = css; - } - }, - getStyle : function (selector, prop) { - var elem = Aak.getElement(selector); - if (elem.currentStyle) { - return elem.currentStyle[prop]; - } else if (window.getComputedStyle) { - return document.defaultView.getComputedStyle(elem, null).getPropertyValue(prop); - } - }, - decodeURI : function (str) { - return decodeURIComponent(str); - }, - encodeURI : function (str) { - return encodeURIComponent(str); - }, - encodeHTML : function (str) { - return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); - }, - decodeHTML : function (str) { - return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); - }, - serialize : function (obj) { - if (typeof obj == 'object') { - var arr = []; - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) - arr.push(prop + '=' + Aak.encodeURI(obj[prop])); - } - return arr.join('&'); - } - return obj; - }, - unserialize : function (str) { - str = Aak.decodeHTML(str); - var arr = str.split('&'); - var obj = {}; - arr.forEach(function (entry) { - if (entry !== '' && entry.split('=')) { - var splits = entry.split('='); - obj[splits[0]] = Aak.decodeURI(splits[1]); - } - }); - return obj; - }, - unsetProperty : function (obj, props) { - props = (typeof props == 'string') ? props.split(',') : props; - for (var i = 0; i < props.length; i++) { - var prop = props[i]; - if (obj.hasOwnProperty(prop)) { - delete obj[prop]; - } - } - return obj; - }, - setProperty : function (obj1, obj2) { - for (var prop in obj2) { - if (obj2.hasOwnProperty(prop)) - obj1[prop] = obj2[prop]; - } - return obj1; - }, - fixProtocolURL : function (url) { - if (/^http/.test(url)) { // absolute - return url; - } else if (/^\/\//.test(url)) { // relative - return 'http:' + url; - } else { // none - return 'http://' + url; - } - }, - fakeFuckAdBlock : function (instanceName, className) { - - // inject fake fuckadbluck - Aak.addScript(Aak.toText(function () { - - var __CLASSNAME__ = function () { - var self = this; - var callNotDetected = false; - this.debug = { - set : function (a) { - return self; - }, - get : function () { - return false; - } - }; - this.onDetected = function (callback) { - this.on(true, callback); - return this; - }; - this.onNotDetected = function (callback) { - this.on(false, callback); - return this; - }; - this.on = function (detected, callback) { - if (!detected) { - callNotDetected = callback; - setTimeout(callback, 1); - } - console.info(['AntiAdbKiller', location.host, 'FuckAdBlock']); - return this; - }; - this.setOption = function (options, value) { - return this; - }; - this.options = { - set : function (options) { - return this; - }, - get : function () { - return this; - } - }; - this.check = function (plugins, options) { - if (callNotDetected) - callNotDetected(); - }; - this.emitEvent = function (detected) { - return this; - }; - this.clearEvent = function () {}; - }; - - Object.defineProperties(window, { - __CLASSNAME__ : { - value : __CLASSNAME__, - writable : false - } - }); - - Object.defineProperties(window, { - __INSTANCENAME__ : { - value : new __CLASSNAME__(), - writable : false - } - }); - - }).replace(/__INSTANCENAME__/g, instanceName || 'fuckAdBlock') - .replace(/__CLASSNAME__/g, className || 'FuckAdBlock')); - - }, - soEdit : function (elem, opts) { - Aak.hasElement(elem, function (thisElement) { - var obj, - swf, - value, - parts, - param, - attributes, - attrName; - var so = thisElement; - var clone = so.cloneNode(true); - - // set attriibutes - if (opts.setAttribute) { - attributes = opts.setAttribute; - for (attrName in attributes) { - if (clone.querySelector('param[name="' + attrName + '"]')) { - clone.querySelector('param[name="' + attrName + '"]').value = attributes[attrName]; - } else if (clone.getAttribute(attrName)) { - clone.setAttribute(attrName, attributes[attrName]); - } - } - } - - // unset attributes - if (opts.unsetAttributes) { - attributes = opts.delAttributes; - for (attrName in attributes) { - if (clone.querySelector('param[name="' + attrName + '"]')) { - Aak.removeElement(clone.querySelector('param[name="' + attrName + '"]')); - } else if (clone.getAttribute(attrName)) { - delete attributes[attrName]; - } - } - } - - if (opts.setFlashvars || opts.unsetFlashvars) { - if (clone.querySelector('param[name="flashvars"]')) { - param = clone.querySelector('param[name="flashvars"]'); - value = param.value; - } else if (clone.getAttribute('flashvars')) { - value = clone.getAttribute('flashvars'); - } else if (clone.getAttribute('data') && clone.getAttribute('data').indexOf('?') >= 0) { - parts = clone.getAttribute('data').split('?', 2); - swf = parts.shift(); - value = parts.shift(); - } - - obj = Aak.unserialize(value); - if (opts.setFlashvars) { - obj = Aak.setProperty(obj, opts.setFlashvars); - } - if (opts.unsetFlashvars) { - obj = Aak.unsetProperty(obj, opts.unsetFlashvars); - } - value = Aak.serialize(obj); - - if (param) { - param.value = value; - } else if (swf) { - clone.setAttribute('data', swf + '?' + value); - } else { - clone.setAttribute('flashvars', value); - } - } - // replace - Aak.log(so, clone, obj); - Aak.replaceElement(so, clone); - }); - }, - player : { // http://tinyurl.com/pb6fthj - input : { - node : null, - html : null, - tag : null, - parent : null - }, - output : { - node : null, - html : null, - tag : null, - parent : null - }, - nameplayer : 'custom', - swfvars : null, - options : { - method : 'replace', - output : 'embed' - }, - flashvars : { - str : null, - obj : {} - }, - attributes : { - wmode : 'opaque', - quality : 'high', - bgcolor : '#000000', - type : 'application/x-shockwave-flash', - pluginspage : 'http://www.adobe.com/go/getflash', - allowscriptaccess : 'always', // never / always - allowfullscreen : true - }, - get : function (element, method) { - - if (Aak.getElement(element)) { - this.input.node = Aak.getElement(element); - } else { - throw 'Not object or embed player or invalid selector'; - } - - if (method) { - this.options.method = method; - } - - this.input.html = this.getHtml(this.input.node); - this.input.parent = this.input.node.parentNode; - this.input.tag = this.input.node.tagName; - - this.attributes.id = this.attributes.name = Aak.generateID(); - this.attributes.height = this.input.node.height || this.input.node.clientHeight || '100%'; - this.attributes.width = this.input.node.width || this.input.node.clientWidth || '100%'; - - if (/^(object|embed)$/i.test(this.input.tag)) { - this.attributes.src = this.input.node.src || this.input.node.data || false; - this.flashvars.str = this.input.node.flashvars || this.input.node.querySelector('param[name="flashvars"]') && this.input.node.querySelector('param[name="flashvars"]').value || false; - var swfvars = !this.flashvars.str && this.input.node.data && this.input.node.data.split('?', 2) || false; - if (swfvars) { - this.attributes.src = swfvars[0]; - this.flashvars.str = swfvars[1]; - } - this.splitVars(); - this.joinVars(); - } - - if (Aak.opts.logPlayer) { - Aak.log('get', this); - } - }, - mergeObj : function (obj1, obj2) { - for (var prop in obj2) { - if (obj2.hasOwnProperty(prop)) - obj1[prop] = obj2[prop]; - } - }, - setVars : function (flashvars) { - if (typeof flashvars == 'string') { - this.flashvars.str = flashvars; - this.splitVars(); - this.joinVars(); - } else if (typeof flashvars == 'object') { - this.mergeObj(this.flashvars.obj, flashvars); - this.joinVars(); - this.splitVars(); - } - }, - removeVars : function (str) { - var obj = this.flashvars.obj; - var splits = str.split(','); - for (var i = 0; i < splits.length; i++) { - var k = splits[i]; - if (k in obj) - delete obj[k]; - } - this.flashvars.obj = obj; - this.joinVars(); - }, - splitVars : function () { - var str = Aak.decodeHTML(this.flashvars.str); - var arr = str.split('&'); - var obj = {}; - for (var i = 0; i < arr.length; i++) { - var k = arr[i]; - if (k !== '' && k.split('=')) { - var s = k.split('='); - obj[s[0]] = Aak.decodeURI(s[1]); - } - } - this.flashvars.obj = obj; - }, - joinVars : function () { - var obj = this.flashvars.obj; - var arr = []; - for (var prop in obj) { - if (obj.hasOwnProperty(prop)) - arr.push(prop + '=' + Aak.encodeURI(obj[prop])); // encodeURIComponent - } - this.flashvars.str = arr.join('&'); // & - }, - insert : function () { - this.swfvars = [this.attributes.src, this.flashvars.str].join('?'); - switch (this.options.output) { - case 'iframe': - this.output.node = document.createElement('iframe'); - this.output.node.setAttribute('src', this.swfvars); - this.output.node.setAttribute('width', this.attributes.width); - this.output.node.setAttribute('height', this.attributes.height); - this.output.node.setAttribute('style', 'height:' + this.attributes.height + 'px; width:' + this.attributes.width + 'px;'); - this.output.node.setAttribute('frameborder', 0); - this.output.node.setAttribute('scrolling', 'no'); - this.output.node.setAttribute('allowfullscreen', true); // http://tinyurl.com/oyyehab - // allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen - break; - case 'tab': - Aak.openInTab(this.swfvars); - break; - case 'html5': - var attrName; - this.output.node = document.createElement('video'); - for (attrName in this.attributes) { - if (this.attributes.hasOwnProperty(attrName)) - this.output.node.setAttribute(attrName, this.attributes[attrName]); - } - - if (this.attributes.autoplay) { // fix bug duplicate playing on firefox/chrome - this.output.node.onloadstart = function () { - //this.play(); - }; - } - - this.output.node.onerror = function () { // switch to plugin player - setTimeout(function () { - Aak.player.plugin(this, { - file : Aak.player.attributes.src - }, 3e3); - }); - }; - - break; - default: - this.output.node = document.createElement('embed'); - for (attrName in this.attributes) { - if (this.attributes.hasOwnProperty(attrName)) - this.output.node.setAttribute(attrName, this.attributes[attrName]); - } - if (this.flashvars.str) { - this.output.node.setAttribute('flashvars', this.flashvars.str); - } - } - - this.output.html = this.getHtml(this.output.node); - this.output.tag = this.output.node.tagName; - - switch (this.options.method) { - case 'inner': - this.input.node.innerHTML = this.output.html; - break; - case 'append': - this.input.parent.replaceChild(this.output.node); - break; - default: // replace - this.input.parent.replaceChild(this.output.node, this.input.node); - } - - // add download button - if (Aak.opts.videoDownload) { - var btn = document.createElement('a'); - btn.innerHTML = 'Download video (Save As)'; - btn.setAttribute('download', ''); - btn.href = this.attributes.dl; - this.output.node.parentNode.insertBefore(btn, this.output.node.nextSibling); - } - - if (Aak.opts.logPlayer) { - Aak.log('insert', this); - } - - return this; - }, - getHtml : function (node) { - var tmp = document.createElement('div'); - tmp.appendChild(node.cloneNode(true)); - return tmp.innerHTML; - }, - getMime : function (file) { - var mime = file.match(/\.(flv|mp4|webm|ogv|ogg|mp3|mpeg|mpg|mkv|avi|mov)$/); - if (mime && mime.length == 2) { - return 'video/' + mime[1]; - } else { - return 'video/mp4'; - } - }, - jwplayer5 : function (id, setup, method) { - // Jwplayer 5 (flash) - // support: http://tinyurl.com/mjavxdr, mp4, m4v, f4v, mov, flv, webm, aac, mp3, vorbis, hls, rtmp, youtube, aac, m4a, f4a, mp3, ogg, oga - - if (Aak.opts.videoPlugin) { - Aak.player.plugin(id, setup); - return false; - } - this.get(id, method); - this.nameplayer = 'jwplayer5'; - this.attributes.src = setup.src || "http://player.longtailvideo.com/player.swf"; // v5.10 - this.attributes.height = setup.height || this.input.node.clientHeight || "100%"; - this.attributes.width = setup.width || this.input.node.clientWidth || "100%"; - this.attributes.dl = setup.file; - - this.mergeObj(this.flashvars.obj, setup); - this.flashvars.obj.controlbar = 'over'; - if (setup.skin) { - this.flashvars.obj.skin = 'http://www.longtailvideo.com/files/skins/' + setup.skin + '/5/' + setup.skin + '.zip'; - } - this.joinVars(); - this.options.output = 'embed'; - this.insert(); - }, - flowplayer : function (id, setup, method) { - // Flowplayer (flash) - // support: mp4, flv, f4v, m4v, mov - // config: http://tinyurl.com/na7vy7b - - if (Aak.opts.videoPlugin) { - Aak.player.plugin(id, setup); - return false; - } - this.get(id, method); - this.nameplayer = 'flowplayer'; - this.attributes.src = "http://releases.flowplayer.org/swf/flowplayer-3.2.18.swf"; - this.attributes.height = setup.height || this.input.node.clientHeight || "100%"; - this.attributes.width = setup.width || this.input.node.clientWidth || "100%"; - - setup.autoPlay = setup.autostart || setup.autoplay || Aak.opts.videoPlay || false; - setup.url = this.attributes.dl = setup.file; - - var config = JSON.stringify({ - clip : setup - }); - this.flashvars.obj = { - config : config - }; - this.flashvars.str = 'config=' + config; - this.options.output = 'embed'; - this.insert(); - }, - videojs : function (id, setup, method) { - // VideoJs (flash/html5) - // setup: http://tinyurl.com/pcgx2ob - // playback: http://tinyurl.com/nscztmm - // demo: http://jsfiddle.net/N8Zs5/18/ - // plugins: https://github.com/videojs/video.js/wiki/Plugins - - if (Aak.opts.videoPlugin) { - Aak.player.plugin(id, setup); - return false; - } - this.get(id, method); - this.nameplayer = 'videojs'; - setup.type = this.getMime(setup.file || setup.src); - setup.id = setup.id || Aak.generateID(); - this.attributes.dl = setup.file || setup.src; - this.attributes.height = setup.height || this.input.node.clientHeight || "100%"; - this.attributes.width = setup.width || this.input.node.clientWidth || "100%"; - var vjsSetup = JSON.stringify({ - controls : true, - preload : 'auto', - width : this.attributes.width, - height : this.attributes.height, - techOrder : ["html5", "flash"], - autoplay : setup.autostart || setup.autoplay || Aak.opts.videoPlay || false, - sources : [{ - type : setup.type, - src : setup.file || setup.src - } - ] - }); - var html = ''; - this.attributes.src = "data:text/html;charset=utf-8," + encodeURIComponent(html); - this.options.output = 'iframe'; - this.insert(); - }, - jwplayer6 : function (id, setup, method) { - // Jwplayer 6 (flash) - // config: http://tinyurl.com/lcygyu9 - // iframe: http://tinyurl.com/86agg68 - - if (Aak.opts.videoPlugin) { - Aak.player.plugin(id, setup); - return false; - } - this.get(id, method); - this.nameplayer = 'jwplayer6'; - - setup.id = setup.id || Aak.generateID(); - setup.primary = 'flash'; - setup.height = setup.height || this.attributes.height; - setup.width = setup.width || this.attributes.width; - this.attributes.dl = setup.file || setup.src; - - var html = '
'; - this.attributes.src = "data:text/html;charset=utf-8," + encodeURIComponent(html); - this.options.output = 'iframe'; - this.insert(); - }, - plugin : function (id, setup, method) { - // Web Player (plugin) - // VLC: http://tinyurl.com/omlzp39 - // WMP: - // QT: - - this.get(id, method); - this.nameplayer = 'plugin'; - this.attributes.autoplay = setup.autostart || setup.autoplay || Aak.opts.videoPlay || false; - this.attributes.src = this.attributes.dl = setup.file || setup.src; - this.attributes.height = setup.height || this.input.node.clientHeight || "100%"; - this.attributes.width = setup.width || this.input.node.clientWidth || "100%"; - - // Plugins - var plugins = []; - if (navigator.plugins && (navigator.plugins.length > 0)) { - for (var i = 0; i < navigator.plugins.length; i++) { - plugins.push(navigator.plugins[i].name); - } - plugins = plugins.join('|'); - if (Aak.contains(plugins, 'Windows Media Player')) { - this.attributes.type = "application/x-mplayer2"; - this.attributes.pluginspage = 'http://www.microsoft.com/Windows/MediaPlayer/'; - } else if (Aak.contains(plugins, 'VLC Web Plugin')) { - this.attributes.type = "application/x-vlc-plugin"; - this.attributes.pluginspage = "http://www.videolan.org"; - } else if (Aak.contains(plugins, 'QuickTime Plug-in')) { - this.attributes.type = "video/quicktime"; - this.attributes.pluginspage = "http://www.apple.com/quicktime/download/"; - } else { - Aak.notification('You need install VLC Web Plugin Install'); - return false; - } - } - this.options.output = 'embed'; - this.insert(); - }, - html5 : function (id, setup, method) { - // Video Tag (html5) - // basics: https://html5rocks.com/en/tutorials/video/basics/ - // tag: http://www.w3schools.com/tags/tag_video.asp - // support: mp4, webm, ogg - // test: http://www.quirksmode.org/html5/tests/video.html - - if (Aak.opts.videoPlugin) { - Aak.player.plugin(id, setup); - return false; - } - this.get(id, method); - this.attributes = {}; - this.attributes.src = this.attributes.dl = setup.file || setup.src; - this.attributes.id = this.attributes.name = Aak.generateID(); - this.attributes.height = setup.height || this.input.node.clientHeight || "100%"; - this.attributes.width = setup.width || this.input.node.clientWidth || "100%"; - this.attributes.style = 'display: block; '; - if (setup.align) { - switch (setup.align) { - case 'center': - this.attributes.style += 'margin:0 auto;'; - break; - case 'right': - this.attributes.style += 'margin-right: 0;'; - break; - case 'left': - this.attributes.style += 'margin-left: 0;'; - break; - } - } - this.attributes.type = this.getMime(this.attributes.src); - this.attributes.controls = 'controls'; - this.attributes.preload = 'auto'; - if (setup.autostart || setup.autoplay || Aak.opts.videoPlay) { - this.attributes.autoplay = 'autoplay'; - } - - this.options.output = 'html5'; - this.insert(); - } - }, - rules : { - // -------------------------------------------------------------------------------------------- - // Anti-Adblock Killer - // -------------------------------------------------------------------------------------------- - settings : { - host : ['localhost', 'reek.github.io', 'reeksite.com'], - onEnd : function () { - - if (/\/anti-adblock-killer(-pages)?\/$/.test(location.pathname)) { - var settingsBox = Aak.getElement('#aak-settings-box'); - var settingsNotice = Aak.getElement('#aak-settings-notice'); - - if (!Aak.useGM) { - settingsNotice.querySelector('div').innerHTML = 'In native mode, you must edit the options manually: See'; - } else if (settingsBox && settingsNotice) { - settingsNotice.style.display = 'none'; - settingsBox.style.display = 'block'; - Aak.info('GM storage:', Aak.getValue()); - Aak.info('GM options:', Aak.opts); - Aak.info('GM api:', Aak.useGM && Aak.apiGM()); - - // user config - Aak.createElement({ - tag : 'div', - html : 'Version: ' + Aak.getVersion() + '
AakScript: true
AakList: ' + (Aak.getElement('#k2Uw7isHrMm5JXP1Vwdxc567ZKc1aZ4I').clientHeight === 0) + '
Browser: ' + Aak.getBrowser() + '
ScriptManager: ' + Aak.getScriptManager(), - append : '#aak-settings-config' - }); - - // create options checkboxes - for (var optName in Aak.options) { - if (Aak.options.hasOwnProperty(optName)) { - var opt = Aak.options[optName]; - var checked = Aak.opts[optName] === true ? "checked" : ''; - Aak.createElement({ - tag : 'div', - html : '', - append : '#aak-settings-' + opt.group - }); - } - } - - // add event save button - document.getElementById("aak-settings-save").addEventListener("click", function () { - var elems = document.querySelectorAll('.css-checkbox'); - for (var i = 0; i < elems.length; i++) { - var elem = elems[i]; - if (elem.checked) { - Aak.setValue(elem.id, true); - } else { - Aak.setValue(elem.id, false); - } - } - alert('Saved !'); - }); - - // Clear GM storage - Aak.addCommands({ - caption : 'Clear GM storage', - execute : function () { - Aak.deleteValue(); - alert('Cleared !'); - } - }); - } - } - } - }, - userscripts_domains : { // Redirect to Github - host : ['userscripts.org', 'userscripts.org:8080', 'userscripts-mirror.org'], - onStart : function () { - if (/155840$/.test(location.pathname)) { - Aak.go(Aak.homeURL); - } - } - }, - openuserjs_org : { - host : ['openuserjs.org'], - onIdle : function () { - var element = Aak.getElement('a[href$="/issues"]'); - if (/Anti-Adblock_Killer_Reek/.test(location.pathname) && element) { - Aak.confirmReport(element); - } - } - }, - greasyfork_org : { - host : ['greasyfork.org'], - onIdle : function () { - var element = Aak.getElement('a[href$="/feedback"]'); - if (/-anti-adblock-killer-reek/.test(location.pathname) && element) { - Aak.confirmReport(element); - } - } - }, - monkeyguts_com : { - host : ['monkeyguts.com'], - onIdle : function () { - var element = Aak.getElement('a[href*="code.php?nav=forum"]'); - if (/monkeyguts.com\/code.php\?id=351/.test(location.href) && element) { - Aak.confirmReport(element); - } - } - }, - // -------------------------------------------------------------------------------------------- - // Specific - // -------------------------------------------------------------------------------------------- - blogspot : { - // No Country Redirect (NCR) - // Prevent Blogger from Redirecting to Country-Specific Domains - // doc: http://tinyurl.com/7rm34jo - // issue: https://greasyfork.org/fr/forum/discussion/5953 - // issue: https://github.com/reek/anti-adblock-killer/issues/490 - // test: http://tinyurl.com/nomcxkc - host : ['.blogspot.'], - onStart : function () { - if (Aak.isTopframe) { // fix rediretion loop - var blog = location.host.replace('www.', '').split("."); - if (blog[blog.length - 1] != "com") { - var path = location.href.split("/").slice(3).join('/'); - Aak.go("http://" + blog[0] + ".blogspot.com/ncr/" + path); - } - } - } - }, - blogspot_knowlet3389 : { - // note: also added abp rule - // issue: https://github.com/reek/anti-adblock-killer/issues/83 - // source: http://pastebin.com/A3mCXQ5i - host : ['knowlet3389.blogspot.'], - onStart : function () { - Aak.setLocal('noad', false); - Aak.addStyle("#gAds { height: 17px; } #gAd2 { height: 17px; }"); - } - }, - uptobox_uptostream : { - // issue: https://github.com/reek/anti-adblock-killer/issues/351 - host : ['uptobox.com', 'uptostream.com'], - onStart : function () { - // Old solution [deprecated] - var id = location.pathname.match(/[0-9a-z]{12}/); - if (id !== null) { - Aak.addStyle("#" + id[0] + " { height: 12px; }"); - } - // New 12.05.2014 - // + abp rule (alternative solution) - Aak.addStyle("#adblocktrap { height: 12px; }"); - }, - onIdle : function () { - // remove ads - Aak.removeElement('*[src^="http://ads.uptobox.com/"],*[href^="http://ads.uptobox.com/"]'); - } - }, - anisubsia_com : { - host : ['anisubsia.com'], - onStart : function () { - // + abp rule #@#.adsantilok - Aak.addStyle(".adsantilok { height: 5px; }"); - }, - onIdle : function () { - Aak.uw.jAntiBlock = function () {}; - Aak.uw.CekBlok = function () {}; - } - }, - elahmad_com : { - host : ['elahmad.com'], - onStart : function () { - Aak.addStyle("#adblock { height: 1px; }"); - } - }, - mrtzcmp3_net : { - host : ['mrtzcmp3.net'], - onStart : function () { - Aak.addStyle(".rtm_ad { height: 1px; }"); - } - }, - height_myTestAd : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1241 - // issue: https://github.com/reek/anti-adblock-killer/issues/983 - // issue: https://github.com/reek/anti-adblock-killer/issues/291 - host : ['bknime.com', 'go4up.com', 'debrido.com'], - onStart : function () { - Aak.addStyle(".myTestAd { height: 1px; }"); - } - }, - debridfast_network : { - // issue: https://greasyfork.org/en/forum/discussion/9406 - // issue: https://greasyfork.org/en/forum/discussion/7013 - // issue: https://github.com/reek/anti-adblock-killer/issues/1272 - // issue: https://github.com/reek/anti-adblock-killer/issues/769 - host : ['debridfast.com', 'getdebrid.com', 'debrid.us', 'leecher.us'], - onStart : function () { - Aak.addStyle(".myTestAd, .my24Ad, .nabil { height: 1px; }"); - }, - onIdle : function () { - document.querySelector('#simpleAd').innerHTML = '

debridfast.com

'; - } - }, - bg_gledai_tv : { - host : ['bg-gledai.tv'], - onStart : function () { - Aak.addStyle(".myAd { height: 1px; }"); - } - }, - thepcspy_com : { // http://thepcspy.com/read/how_to_block_adblock/ - host : ['thepcspy.com'], - onStart : function () { - Aak.addStyle(".myTestAd { height: 1px; }"); - Aak.addStyle(".blocked { display: none; }"); - }, - onIdle : function () { - Aak.removeElement('.blocked'); - } - }, - vg_e24_no : { - // issue: https://github.com/reek/anti-adblock-killer/issues/292 - host : ['vg.no', 'e24.no'], - onStart : function () { - // Add this rule, because EasyList allow all hidden elements. - Aak.addStyle(".ad { display: none; }"); - } - }, - automobile_sportive_com : { - host : ['automobile-sportive.com'], - onStart : function () { - Aak.addStyle(".myTestAd { height: 51px; display: none; }"); - } - }, - snsw_us : { - host : ['snsw.us'], - onStart : function () { - Aak.addStyle("#ad_1 { height: 1px; }"); - } - }, - urlchecker_net : { - host : ['urlchecker.net'], - onStart : function () { - Aak.addStyle("#adchecker { height: 20px; }"); - } - }, - skiplimite_tv : { - host : ['skiplimite.tv'], - onStart : function () { - Aak.addStyle("div.addthis_native_toolbox + div[id] { height: 12px; }"); - } - }, - filecore_co_nz : { - host : ['filecore.co.nz'], - onStart : function () { - Aak.addStyle(".adsense { height: 5px; }"); - } - }, - thomas_n_ruth_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1111 - // source: http://pastebin.com/fu7vkUA1 - host : ['thomas-n-ruth.com'], - onStart : function () { - Aak.addStyle(".Google { height: 5px; }"); - } - }, - interfans_org : { - // test: http://www.interfans.org/forum/ - host : ['interfans.org'], - onStart : function () { - Aak.addStyle(".ad_global_header { height: 1px; display: none; }"); - } - }, - maxdebrideur_com : { - host : ['maxdebrideur.com'], - onStart : function () { - Aak.addStyle(".clear + div[id] { height: 12px; }"); - } - }, - topzone_it : { - host : ['topzone.lt'], - onStart : function () { - Aak.addStyle(".forumAd { height: 1px; display: none; }"); - } - }, - nana10_co_il : { - host : ['.nana10.'], - onStart : function () { - Aak.addStyle("#advert-tracker { height: 1px; }"); - } - }, - plej_tv : { - host : ['plej.tv'], - onStart : function () { - Aak.addStyle(".advert_box { height: 1px; }"); - } - }, - mangamint_com : { - // note: added rule to allow ".ad728" - // issue: https://greasyfork.org/id/forum/discussion/8524 - host : ['mangamint.com'], - onStart : function () { - Aak.addStyle(".ad728 { height: 31px; }"); - } - }, - tweaktown_com : { - host : ['tweaktown.com'], - onStart : function () { - Aak.addStyle("#div-gpt-ad-1378071706813-0, #div-gpt-ad-1378150878492-1 { height: 3px; display: none; }"); - } - }, - debrideurstream_fr : { - host : ['debrideurstream.fr'], - onStart : function () { - Aak.addStyle("#content div[id][align=center] { height: 12px; }"); - } - }, - preemlinks_com : { - host : ['preemlinks.com'], - onStart : function () { - Aak.addStyle("#divads { height: 1px; }"); - } - }, - hentai_to : { - host : ['hentai.to'], - onStart : function () { - Aak.addStyle("#hentaito123 { height: 11px; }"); - } - }, - prototurk_com : { - host : ['prototurk.com'], - onStart : function () { - Aak.addStyle("#reklam { height: 1px; }"); - } - }, - mufa_de : { - host : ['mufa.de'], - onStart : function () { - Aak.addStyle("#leaderboard { height: 5px; }"); - Aak.addStyle("#large-rectangle { height: 5px; }"); - Aak.addStyle("#ad-header-468x60 { height: 5px; }"); - } - }, - watcharab_com : { - host : ['watcharab.com'], - onStart : function () { - // + adp rule watcharab.com#@##adblock - Aak.addStyle("#adblock { height: 5px; }"); - } - }, - freedomip_com : { - host : ['freedom-ip.com'], - onStart : function () { - Aak.addStyle(".pub_vertical ins, .pub_vertical div { height: 11px; }"); - } - }, - wakanim_tv : { - host : ['wakanim.tv'], - onStart : function () { - Aak.addStyle("#detector { display: none; }"); - Aak.addStyle("#nopub { display: block; }"); - } - }, - simply_debrid_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/332 - host : ['simply-debrid.com'], - onStart : function () { - // + abp rule - Aak.addStyle('#adsense { height: 5px;}'); - } - }, - manga9_com : { - host : ['manga9.com', 'mangabee.co'], - onStart : function () { - Aak.addStyle(".adblock { height: 31px; }"); - } - }, - onemanga2_com : { - host : ['onemanga2.com'], - onStart : function () { - Aak.addStyle(".afs_ads { height: 5px; }"); - } - }, - mangabird_com : { - host : ['mangabird.com'], - onStart : function () { - Aak.addStyle(".afs_ads { height: 5px; }"); - } - }, - backin_net : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1383 - // issue: https://github.com/reek/anti-adblock-killer/issues/1061 - host : ['backin.net'], - onStart : function () { - Aak.addStyle("#divxg { height: 8px; }"); - } - }, - mobile_tracker_free_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1082 - host : ['mobile-tracker-free.com'], - onStart : function () { - Aak.addStyle("#myAds { height: 1px; }"); - } - }, - workupload_com : { - // note: obfuscated - // issue: https://github.com/reek/anti-adblock-killer/issues/1334 - // issue: https://github.com/reek/anti-adblock-killer/issues/1290 - // source: http://pastebin.com/CPzd2Swx - host : ['workupload.com'], - onAlways : function () { - Aak.addStyle(".adBlock, .adsbygoogle, #sad { height: 11px; }"); - } - }, - forbes_com : { - // by: Giwayume - // issue: https://github.com/reek/anti-adblock-killer/issues/865 - host : ['forbes.com'], - onStart : function () { - if (window.location.pathname.indexOf('/welcome') > -1) { - Aak.setCookie('welcomeAd', 'true', 86400000, '/'); - Aak.setCookie('dailyWelcomeCookie', 'true', 86400000, '/'); - window.location = Aak.getCookie('toUrl') || 'http://www.forbes.com/'; - } - } - }, - bait_adsbygoogle : { - // issue: https://github.com/reek/anti-adblock-killer/issues/547 - host : ['bitcoinaliens.com'], - onStart : function () { - Aak.addBaitElement('ins.adsbygoogle'); - } - }, - bait_tester : { - host : ['osoarcade.com', 'd3brid4y0u.info', 'fileice.net', 'nosteam.ro', 'openrunner.com', 'easybillets.com', 'spox.fr', 'yovoyages.com', 'tv3.co.nz', 'freeallmusic.info', 'putlocker.com', 'sockshare.com', 'dramapassion.com', 'yooclick.com', 'online.ua'], - onStart : function () { - Aak.addBaitElement('div#tester'); - } - }, - bait_add : { - host : ['filecom.net', 'upshare.org', 'skippyfile.com', 'mwfiles.net', 'up-flow.org'], - onStart : function () { - Aak.addBaitElement('div#add'); - } - }, - bait_adpbtest : { - host : ['leaguesecretary.com', 'teknogods.com', 'hellsmedia.com'], - onStart : function () { - Aak.addBaitElement('div#adpbtest'); - } - }, - bait_adtester : { - host : ['freesportsbet.com', 'sportsplays.com'], - onStart : function () { - Aak.addBaitElement('div#ad-tester'); - } - }, - tgo_tv_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/303 - host : ['tgo-tv.com'], - onStart : function () { - Aak.addStyle("#adb, #bannerad1, .load_stream { display: none; }"); - Aak.addBaitElement('div#tester'); - }, - onEnd : function () { - Aak.uw.threshold = 1000; - Aak.removeElement('.chat_frame'); // bug reload iframe - } - }, - freegamehosting_nl : { - host : ['freegamehosting.nl'], - onStart : function () { - Aak.addBaitElement('div#adtest'); - } - }, - theweatherspace_com : { - host : ['theweatherspace.com'], - onStart : function () { - Aak.addBaitElement('div#ab-bl-advertisement'); - } - }, - cleodesktop_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/711 - host : ['cleodesktop.com'], - onStart : function () { - Aak.addBaitElement('div#myTestAd'); - } - }, - imageraider_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/826 - host : ['imageraider.com'], - onStart : function () { - Aak.addBaitElement('div#myGContainer'); - } - }, - prem_link : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1152 - // issue: https://github.com/reek/anti-adblock-killer/issues/918 - // issue: https://github.com/reek/anti-adblock-killer/issues/794 - // issue: https://github.com/reek/anti-adblock-killer/issues/692 - // issue: https://github.com/reek/anti-adblock-killer/issues/572 - // issue: https://github.com/reek/anti-adblock-killer/issues/541 - // source: http://pastebin.com/u1nFxJbq - host : ['prem.link'], - onIdle : function () { - Aak.createElement({ - tag : 'a', - href : 'http://www.liveadexchanger.com', - append : '#img_new' - }); - } - }, - cubeupload_com : { - // issue: https://greasyfork.org/en/forum/discussion/5919 - host : ['cubeupload.com'], - onStart : function () { - Aak.createElement({ - tag : 'iframe', - name : 'iframe', - src : 'about:blank', - style : 'display:none;', - append : document.documentElement - }); - } - }, - _8muses_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1226 - // issue: https://greasyfork.org/forum/discussion/8515 - // issue: https://github.com/reek/anti-adblock-killer/issues/1099 - // issue: https://greasyfork.org/en/forum/discussion/6407 - // source: http://pastebin.com/bMNDxecs - host : ['8muses.com'], - onStart : function () { - Aak.addScript(function () { - _setTimeout = window.setTimeout; - window.setTimeout = function (fn, delay) { - if (fn.indexOf("$(window).trigger('adblock');") > -1) { - return; - } - _setTimeout.apply(fn, delay); - }; - }); - } - }, - stream4free_eu : { - host : ['stream4free.eu'], - onStart : function () { - // +abp alt solution - Aak.addBaitElement('div#jpayday'); - Aak.uw.jpayday_alert = 1; - } - }, - _3dnews_ru : { - // issue: https://greasyfork.org/ru/forum/discussion/5750 - host : ['3dnews.ru'], - onStart : function () { - Aak.setCookie('adblockwarn', 1); - Aak.addStyle("#earAds { width: 401px; }"); - Aak.addBaitElement('div#earAds'); - Aak.uw.__AT_detected = true; - } - }, - _3dsthem_es : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1433 - // issue: https://github.com/reek/anti-adblock-killer/issues/1275 - // issue: https://github.com/reek/anti-adblock-killer/issues/1109 - host : ['3dsthem.es'], - onStart : function () { - Aak.addStyle("#pw_adbox_77830_5_0 { height: 111px; width: 2px; }"); - }, - onIdle : function () { - Aak.setElement('#pw_adbox_77830_5_0', { - html : '
' - }); - } - }, - rmprepusb_com : { - host : ['rmprepusb.com'], - onStart : function () { - Aak.setCookie('jot_viewer', 3); - } - }, - neodrive_co : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1001 - host : ['neodrive.co'], - onAlways : function () { - // Prevent popunder - Aak.setCookie('KifPopCnt', 1, null, '/embed/'); - } - }, - hentaihaven_org : { - // issue: https://github.com/gorhill/uBlock/issues/1340 - host : ['hentaihaven.org'], - onAlways : function () { - // Prevent popunder - Aak.setCookie('hh_ppndr1', 1); - Aak.setCookie('hh_ppndr2', 1); - } - }, - primeshare_tv : { - host : ['primeshare.tv'], - onStart : function () { - Aak.addBaitElement('div#adblock'); - } - }, - bluesatoshi_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/873 - host : ['bluesatoshi.com'], - onStart : function () { - Aak.addStyle("#test { height: 280px; }"); - Aak.addBaitElement('div#test'); - } - }, - razercrypt_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/870 - host : ['razercrypt.com'], - onStart : function () { - Aak.addStyle("#test { height: 250px; }"); - Aak.addBaitElement('div#test'); - } - }, - satoshiempire_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/872 - host : ['satoshiempire.com'], - onStart : function () { - Aak.addStyle("#test { height: 250px; }"); - Aak.addBaitElement('div#test'); - } - }, - oneadfaucet_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/871 - host : ['oneadfaucet.com'], - onStart : function () { - Aak.addStyle("#test { height: 250px; }"); - Aak.addBaitElement('div#test'); - } - }, - jkanime_net : { - host : ['jkanime.net'], - // @@||jkanime.net/assets/js/advertisement2.js - onStart : function () { - Aak.addBaitElement('div#reco'); - } - }, - _720pmkv_com : { - host : ['720pmkv.com'], - onStart : function () { - Aak.addBaitElement('div#advert'); - } - }, - paidverts_com : { - host : ['paidverts.com'], - onStart : function () { - Aak.addBaitElement('div.afs_ads'); - } - }, - italiatv_org : { - host : ['italiatv.org'], - onStart : function () { - Aak.addBaitElement('div#fab13'); - } - }, - chrissmoove_com : { - host : ['chrissmoove.com'], - onStart : function () { - //Aak.addBaitElement('div#adserver'); - } - }, - eventhubs_com : { - host : ['eventhubs.com'], - onStart : function () { - Aak.addBaitElement('div#blahyblaci1'); - } - }, - superanimes_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1295 - // source: http://pastebin.com/FDPAKjTQ - host : ['superanimes.com'], - onStart : function () { - Aak.addBaitElement('div#bannerLoja'); - } - }, - forum_pac_rom_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/243 - host : ['forum.pac-rom.com'], - onStart : function () { - Aak.addBaitElement('div.banner_ads'); - } - }, - litv_tv : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1299 - // source: http://pastebin.com/zcddvTuC - host : ['litv.tv'], - onStart : function () { - Aak.addBaitElement('div.player_mask'); - } - }, - leveldown_fr : { - // issue: https://github.com/reek/anti-adblock-killer/issues/595 - host : ['leveldown.fr'], - onStart : function () { - Aak.addBaitElement('div#adblock'); - Aak.addBaitElement('div#adblocktest'); - } - }, - globeslot_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/924 - host : ['globeslot.com'], - onStart : function () { - Aak.addBaitElement('div#add'); - Aak.addBaitElement('div#add1'); - } - }, - antennesport_com : { - host : ['antennesport.com', 'serverhd.eu'], - onIdle : function () { // for antennesport - // Remove Pub - Aak.removeElement("#pub .pubclose"); - // Redirect to Player - Aak.setElement('#pub .embed iframe', { - src : '/embed/embed.php' - }); - } - }, - disableAlertbox : { - // issue: https://greasyfork.org/en/forum/discussion/8611 - host : ['drivearabia.com', 'putlocker.com', 'doatoolsita.altervista.org', 'sockshare.com', 'free-movie-home.com', 'pc.online143.com', 'kooora.com', 'str3amtv.co.nr', 'str3amtv.altervista.org', 'str3am.altervista.org', 'filecom.net', 'pipocas.tv', 'generatupremium.biz', 'mega-debrid.eu', 'premiumst0re.blogspot.com', 'dl-protect.com', 'newsinlevels.com', 'vipracing.biz'], - onAlways : function () { - Aak.uw.alert = function () {}; - } - }, - generatupremium_biz : { - host : ['generatupremium.biz'], - onStart : function () { - // Disable Confirm Box - //Aak.uw.confirm = function (){}; - Aak.setCookie('genera', false); - } - }, - adswizz_com : { - // by: Skr4tchGr3azyMonkiBallllllZzzz - // issue: https://github.com/reek/anti-adblock-killer/issues/809 - host : ['yes.fm'], - onStart : function () { - Aak.addScript(function () { - com_adswizz_synchro_initialize = function () {}; - }); - } - }, - derstandard_at : { - // by: Alexander255 - // patch: http://pastebin.com/raw.php?i=r7Q4DrfB - // issue: https://github.com/reek/anti-adblock-killer/issues/105 - host : ['derstandard.at'], - onStart : function () { - - var makeISOTimestampUTC = function () { - var pad = function (amount, width) { - var padding = ""; - while (padding.length < width - 1 && amount < Math.pow(10, width - padding.length - 1)) { - padding += "0"; - } - return padding + amount.toString(); - }; - - var date = new Date(); - return [pad(date.getUTCFullYear(), 4), "-", - pad(date.getUTCMonth() + 1, 2), "-", - pad(date.getUTCDate(), 2), "T", - pad(date.getUTCHours(), 2), ":", - pad(date.getUTCMinutes(), 2), ":", - pad(date.getUTCSeconds(), 2)].join(); - }; - - document.cookie.split('; ').forEach(function (cookie) { - // Find main storage cookie - if (cookie.substr(0, 6) == "MGUID=") { - // Decompose information from main storage cookie - var values = {}; - cookie.substr(6).split("&").forEach(function (assignment) { - var pos = assignment.indexOf('='); - if (pos > -1) { - values[assignment.substr(0, pos)] = assignment.substr(pos + 1); - } - }); - - // Update "first viewed" timestamp - values.Timestamp = makeISOTimestampUTC(); - - // Recompose information in main storage cookie - cookie = "MGUID="; - for (var key in values) { - if (values.hasOwnProperty(key)) { - cookie += key + "=" + values[key] + "&"; - } - } - cookie = cookie.substr(0, (cookie.length - 1)); - - // Update cookie - document.cookie = cookie; - } - }); - } - }, - tek_domains : { - // by: Reek, Alexander255 - // issue: https://github.com/reek/anti-adblock-killer/issues/788 - // issue: https://github.com/reek/anti-adblock-killer/issues/512 - host : ['tek.no', 'gamer.no', 'teknofil.no', 'insidetelecom.no', 'prisguide.no', 'diskusjon.no', 'teknojobb.no', 'akam.no', 'hardware.no', 'amobil.no'], - onIdle : function () { - - /* - var ad_frame = document.createElement("iframe"); - ad_frame.name = "_frame"; - ad_frame.style.display = "none"; - document.body.appendChild(ad_frame); - ad_frame.contentWindow.wrappedJSObject.inFIF = true; - */ - - // fix 27.11.2015 - Aak.createElement({ - tag : 'div', - id : 'google_ads_iframe_', - html : '

', - append : 'body' - }); - - } - }, - planetatvonlinehd_blogspot : { - host : ['planetatvonlinehd.blogspot.'], - onAlways : function () { - Aak.uw.jQAntiAdsBlock = function () { - return false; - }; - } - }, - beta_speedtest_net : { - // issue: https://github.com/reek/anti-adblock-killer/issues/628 - // issue: https://github.com/reek/anti-adblock-killer/issues/562 - // issue: https://github.com/reek/anti-adblock-killer/issues/484 - // source: http://paste2.org/53ymghX1 - host : ['beta.speedtest.net'], - onAlways : function () { - Aak.uw.adsOoklaComReachable = true; - Aak.uw.scriptsLoaded = function () {}; - } - }, - binbucks_com : { - // by: Alexander255 - // issue: https://github.com/reek/anti-adblock-killer/issues/545 - host : ['binbucks.com'], - onIdle : function () { - Aak.uw.testJuicyPay = true; - Aak.uw.testSensePay = true; - } - }, - whiskyprices_domains : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1284 - // source: http://pastebin.com/Epr5tREL - host : ['whiskyprijzen.com', 'whiskyprices.co.uk', 'whiskypreise.com', 'whiskyprix.fr'], - onAlways : function () { - Aak.uw.OA_show = true; - } - }, - nicoblog_org : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1184 - // source: http://pastebin.com/MNHpLs2V - host : ['nicoblog.org'], - onIdle : function () { - var el = document.querySelector('.src'); - el.removeAttribute('class'); - } - }, - di_se : { - // note: add this rule for chrome user - // issue: https://github.com/reek/anti-adblock-killer/issues/1319 - // source: http://pastebin.com/9bDPQzMX - host : ['di.se'], - onIdle : function () { - Aak.removeElement('#header_overlay'); - Aak.removeElement('#message_modal'); - } - }, - megogo_net : { - // issue: PM - // source1: http://pastebin.com/ccHQg3hn - // source2: http://pastebin.com/gk0vEQHN - // note: two adblock check - host : ['megogo.net'], - onStart : function () { - Object.defineProperty(Aak.uw, "adBlock", { - enumerable : true, - writable : false, - value : false - }); - Object.defineProperty(Aak.uw, "showAdBlockMessage", { - enumerable : true, - writable : false, - value : function () {} - }); - } - }, - gamer_com_tw : { - // by: mmis1000 - // userscript: https://greasyfork.org/en/scripts/16525 - // issue: : https://github.com/reek/anti-adblock-killer/issues/975 - host : ['gamer.com.tw'], - onStart : function () { - Object.defineProperty(Aak.uw, 'AntiAd', { - enumerable : true, - writable : false, - value : null - }); - } - }, - armorgames_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/845 - host : ['armorgames.com'], - onStart : function () { - Object.defineProperty(Aak.uw, 'ga_detect', { - enumerable : true, - writable : false, - value : null - }); - } - }, - mangahost_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/957 - // issue: https://github.com/reek/anti-adblock-killer/issues/558 - // source: http://pastebin.com/GrpbJENA - host : ['mangahost.com'], - onStart : function () { - Object.defineProperty(Aak.uw, "testDisplay", { - enumerable : true, - writable : false, - value : false - }); - } - }, - videowood_tv : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1339 - // source: http://videowood.tv/build/assets/js/pembed-97a640f625.js - host : ['videowood.tv'], - onStart : function () { - Aak.uw.open = function () {}; // prevent popup - Aak.uw.config = {}; - Object.defineProperty(Aak.uw.config, "adb_remind", { - enumerable : true, - writable : false, - value : false - }); - } - }, - cloudwebcopy_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/714 - host : ['cloudwebcopy.com'], - onStart : function () { - var setTimeoutClone = Aak.uw.setTimeout; - Aak.uw.setTimeout = null; - setTimeout(function () { - Aak.uw.setTimeout = setTimeoutClone; - }, 5000); - } - }, - narkive_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/569 - host : ['narkive.com'], - onAlways : function () { - Aak.uw.adblock_status = function () { - return false; - }; - } - }, - pregen_net : { - host : ['pregen.net'], - onStart : function () { - // skip page info - Aak.setCookie('pgn', 1); - } - }, - phys_org : { - // issue: https://github.com/reek/anti-adblock-killer/issues/768 - host : ['phys.org'], - onAlways : function () { - Aak.uw.chkAB = function () {}; - } - }, - onvasortir_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/338 - // issue: https://github.com/reek/anti-adblock-killer/issues/333 - // issue: https://github.com/reek/anti-adblock-killer/issues/330 - // issue: https://github.com/reek/anti-adblock-killer/issues/91 - // issue: https://github.com/reek/anti-adblock-killer/issues/89 - host : ['onvasortir.com'], - onAlways : function () { - // +abp rule alt solution - Aak.uw.sas = {}; - } - }, - ville_ideale_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/258 - // source: http://pastebin.com/16mnmeMc - host : ['ville-ideale.com'], - onAlways : function () { - // +abp rule alt solution - Aak.uw.execsp = function () {}; - } - }, - notre_planete_info : { - // issue: https://github.com/reek/anti-adblock-killer/issues/258 - // source: http://pastebin.com/qrS6QGGE - host : ['notre-planete.info'], - onAlways : function () { - // +abp rule alt solution - Aak.uw.pubpop = function () {}; - } - }, - apkmirror_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/378 - // issue: https://github.com/reek/anti-adblock-killer/issues/224 - // issue: https://github.com/reek/anti-adblock-killer/issues/78 - host : ['apkmirror.com'], - onAlways : function () { - Aak.uw.doCheck = function () {}; - } - }, - mtlblog_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/948 - // issue: https://greasyfork.org/forum/discussion/7753 - // source: http://pastebin.com/BFrDPM6b - host : ['mtlblog.com'], - onStart : function () { - Object.defineProperty(Aak.uw, 'puabs', { - enumerable : true, - value : function () {} - }); - } - }, - anizm_com : { - // issue: - host : ['anizm.com'], - onAlways : function () { - Aak.uw.stopAdBlock = {}; - } - }, - cnbeta_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1301 - // source: http://pastebin.com/vXNCztwx - host : ['cnbeta.com'], - onStart : function () { - Object.defineProperty(Aak.uw, 'JB', { - enumerable : true, - value : function () {} - }); - } - }, - themarker_haaretz : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1292 - // source: http://pastebin.com/m08dkDT4 - host : ['themarker.com', 'haaretz.co.il'], - onStart : function () { - Object.defineProperty(Aak.uw, 'AdBlockUtil', { - enumerable : true, - value : {} - }); - } - }, - pipocas_tv : { - // issue: - host : ['pipocas.tv'], - onStart : function () { - // Also added in disableAlertbox - // No popup - Aak.setCookie('popup_user_login', 'yes'); - } - }, - _15min_lt : { - // issue: https://github.com/reek/anti-adblock-killer/issues/432 - // source: http://pastebin.com/0cqV8LTY - host : ['15min.lt'], - onAlways : function () { - Aak.uw.ado = {}; - } - }, - vgunetwork_com : { - // issue: - host : ['vgunetwork.com'], - onIdle : function () { - Aak.setCookie('stopIt', 1); - var close = Aak.getElement('#some_ad_block_key_close'); - if (close) { - close.click(); - } - } - }, - seekingalpha_com : { - // issue: - host : ['seekingalpha.com'], - onAlways : function () { - Aak.uw.SA.Pages.Article.is_gnikcolbda = function () { - return false; - }; - } - }, - linkcrypt_ws : { - // issue: https://github.com/reek/anti-adblock-killer/issues/286 - // issue: https://github.com/reek/anti-adblock-killer/pull/67 - host : ['linkcrypt.ws'], - onIdle : function () { - Aak.setElement('#ad_cont', { - id : '', - style : 'display:block;' - }); - Aak.setElement('#container_check', { - style : 'display:none;' - }); - } - }, - eventosppv_me : { - // issue: - host : ['eventosppv.me'], - onIdle : function () { - Aak.removeElement('#nf37'); - } - }, - bolor_toli_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/552 - host : ['bolor-toli.com'], - onEnd : function () { - var ads = document.getElementsByClassName('banner'); - for (var i = 0; i < ads.length; i++) { - var ad = ads[i]; - ad.innerHTML = '
'; - ad.style.height = '1px'; - } - } - }, - vivo_sx : { - // issue: https://github.com/reek/anti-adblock-killer/issues/280 - host : ['vivo.sx'], - onEnd : function () { - var alert = Aak.getElement('#alert-throttle'); - if (alert) { - Aak.removeElement(alert); - } - var button = Aak.getElement('button#access'); - if (button) { - button.removeAttribute('id'); - button.removeAttribute('disabled'); - button.innerHTML = 'Continue to video'; - } - setTimeout(function () { - var input = Aak.getElement('input[name="throttle"]'); - if (input) { - Aak.removeElement(input); - } - }, 1000); - } - }, - luxyad_com : { // skip redirect myanimes.li - // issue: - host : ['luxyad.com'], - onIdle : function () { - if ('/Information.php' == location.pathname) { - var href = location.href; - location.href = href.substr(href.indexOf('url=') + 4, href.length); - } - } - }, - mrpiracy_domains : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1405 - host : ['mrpiracy.xyz', 'mrpiracy.club'], - onBeforeScript : function () { - return [{ - contains : 'Desativa o AdBlock para continuar', - external : false, - remove : true - } - ]; - } - }, - dbplanet_net : { - // issue: PM - host : ['dbplanet.net'], - onStart : function () { - Aak.setCookie('newnoMoreAdsNow', 1); - } - }, - aidemu_fr : { - // issue: - host : ['aidemu.fr'], - onStart : function () { - Aak.setCookie('adblockPopup', true); - } - }, - eami_in : { - // issue: - host : ['eami.in'], - onAlways : function () { - Aak.setCookie('ad_locked', 1); - } - }, - bigdownloader_com : { - // issue: - host : ['bigdownloader.com'], - onIdle : function () { - Aak.removeElement('#anti_adblock'); - } - }, - freeskier_com : { - // by: Gorhill - // issue: https://github.com/reek/anti-adblock-killer/issues/639 - // note: also added list rule - host : ['freeskier.com'], - onIdle : function () { - var el = document.getElementById("adb-not-enabled"); - if (el !== null) { - el.style.removeProperty("display"); - } - el = document.getElementById("videoContainer"); - if (el !== null) { - el.style.removeProperty("display"); - } - } - }, - gametrailers_com : { - // issue: - host : ['gametrailers.com'], - onIdle : function () { - Aak.removeElement('#ad_blocking'); - } - }, - scan_onepiece_naruto_mx : { - // issue: https://github.com/reek/anti-adblock-killer/issues/582 - // issue: https://github.com/reek/anti-adblock-killer/issues/279 - host : ['scan-mx.com', 'onepiece-mx.net', 'naruto-mx.net'], - onAlways : function () { - Aak.uw.ad_block_test = function () {}; - }, - onIdle : function () { - Aak.setElement('#yop', { - id : '' - }); - } - }, - // Bitcoins - bitcoinker_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/230 - host : ['bitcoinker.com'], - onStart : function () { - Aak.uw.claim = function () { - return true; - }; - }, - onIdle : function () { - Aak.removeElement('#E33FCCcX2fW'); - } - }, - moondoge_co_in : { - // issue: https://github.com/reek/anti-adblock-killer/issues/384 - // issue: https://github.com/reek/anti-adblock-killer/issues/232 - // issue: https://github.com/reek/anti-adblock-killer/issues/233 - // issue: https://github.com/reek/anti-adblock-killer/issues/236 - host : ['moondoge.co.in', 'moonliteco.in', 'moonbit.co.in', 'bitcoinzebra.com'], - onIdle : function () { - Aak.removeElement('#AB, #E442Dv, #eCC5h'); - } - }, - bitcoiner_net : { - // issue: https://github.com/reek/anti-adblock-killer/issues/349 - host : ['bitcoiner.net', 'litecoiner.net'], - onStart : function () { - Aak.addBaitElement('div#tester'); - Aak.addBaitElement('div#ad-top'); - } - }, - bitcoins_nx_tc : { - // issue: - host : ['freebitcoins.nx.tc', 'getbitcoins.nx.tc'], - onAlways : function () { - Aak.uw.ad_block_test = function () { - return false; - }; - } - }, - freecoins4_me : { - // issue: - host : ['freecoins4.me'], - onAlways : function () { - Aak.uw.check = function () { - return false; - }; - } - }, - torrent_tv_ru : { - // issue: https://github.com/reek/anti-adblock-killer/issues/537 - host : ['torrent-tv.ru'], - onAlways : function () { - Aak.uw.c_Oo_Advert_Shown = true; - } - }, - cwtv_com : { - // by: Kalbasit - // pull: https://github.com/reek/anti-adblock-killer/pull/763 - // issue: https://github.com/reek/anti-adblock-killer/issues/340 - // issue: https://github.com/reek/anti-adblock-killer/issues/762 - host : ['cwtv.com'], - onAlways : function () { - Aak.uw.CWTVIsAdBlocking = undefined; - } - }, - bild_de : { - // by: hacker999 - // issue: https://github.com/reek/anti-adblock-killer/issues/664 - // source: http://pastebin.com/hKr3BAFF - host : ['bild.de'], - onStart : function () {} - }, - inn_co_il : { - // issue: https://github.com/reek/anti-adblock-killer/issues/532 - host : ['inn.co.il'], - onStart : function () { - Aak.addScript(function () { - TRC = {}; - TRC.blocker = { - states : { - ABP_DETECTION_DISABLED : -2, - ABP_NOT_DETECTED : 0, - ABP_DETECTED : 1 - }, - createBlockDetectionDiv : function () { - return document.createElement("div"); - }, - isBlockDetectedOnDiv : function () { - return 0; - }, - isBlockDetectedOnClassNames : function () { - return 0; - }, - getBlockedState : function () { - return 0; - } - }; - }); - } - }, - turkanime_tv : { - // issue: https://github.com/reek/anti-adblock-killer/issues/446 - // issue: https://github.com/reek/anti-adblock-killer/issues/139 - // issue: https://greasyfork.org/tr/forum/discussion/4282/ - host : ['turkanime.tv'], - onAlways : function () { - Aak.uw.adblockblock = function () {}; - Aak.uw.BlokKontrol = {}; - } - }, - wtfbit_ch : { - // issue: https://github.com/reek/anti-adblock-killer/issues/407 - host : ['wtfbit.ch'], - onAlways : function () { - Aak.uw.writeHTMLasJS = function () {}; - } - }, - bitvisits_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/266 - host : ['bitvisits.com'], - onAlways : function () { - Aak.uw.blockAdblockUser = function () {}; - } - }, - exrapidleech_info : { - // by: Alexander255, Reek, Giwayume - // patch: http://pastebin.com/Q664diQ2 - // issue: https://github.com/reek/anti-adblock-killer/issues?q=exrapidleech - // source: http://pastebin.com/5e27syjA - host : ['exrapidleech.info'], - onStart : function () { - - // 2016.04.22 - Object.defineProperty(Aak.uw, 'dec_pid', { - enumerable : true, - value : 383865 - }); - - Object.defineProperty(Aak.uw, 'bdvbnr_pid', { - enumerable : true, - value : 383865 - }); - - Aak.addScript(function () { - - // prevent popup - window.open = function () {}; - - // add frames - var frame1 = document.createElement('iframe'); - frame1.src = 'http://bdfrm.bidvertiser.com/BidVertiser.dbm?pid=383865&bid=1737418&RD='; - frame1.id = 'bdvi'; - frame1.style = 'display:none'; - frame2 = frame1.cloneNode(true); - document.documentElement.appendChild(frame1); - document.documentElement.appendChild(frame2); - }); - - } - }, - vipleague_domains : { - // issue: https://github.com/reek/anti-adblock-killer/issues/765 - // issue: https://github.com/reek/anti-adblock-killer/issues/598 - // issue: https://github.com/reek/anti-adblock-killer/issues/326 - // issue: https://github.com/reek/anti-adblock-killer/issues/322 - // issue: https://github.com/reek/anti-adblock-killer/issues/301 - // issue: https://github.com/reek/anti-adblock-killer/issues/297 - // issue: https://github.com/reek/anti-adblock-killer/issues/290 - // issue: https://github.com/reek/anti-adblock-killer/issues/273 - // issue: https://github.com/reek/anti-adblock-killer/issues/271 - // +abp rule alt solution - host : ['vipleague.is', 'vipleague.ws', 'vipleague.tv', 'vipleague.se', 'vipleague.me', 'vipleague.co', 'vipleague.sx', 'vipleague.ch', 'vipbox.tv', 'vipbox.co', 'vipbox.sx', 'vipboxsa.co', 'vipbox.biz', 'strikeout.co', 'homerun.re', 'vipboxtv.co', 'vipapp.me', 'vipapp.me', 'vipbox.eu', 'vipbox.so'], - onStart : function () { - // Solution 1 - Aak.uw.iExist = true; - Aak.addStyle(".vip_052x003 { height: 250px; }"); - Aak.addStyle(".vip_09x827 { height: 26px; }"); - }, - onAlways : function () { - // Solution 2 - Aak.uw.showmsgblock = function () {}; - } - }, - vg_no : { - // issue: https://github.com/reek/anti-adblock-killer/issues/292 - // +abp rule - host : ['vg.no', 'e24.no'], - onAlways : function () { - Aak.uw.__AB__ = function () {}; - } - }, - pornve_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/947 - // source: http://pastebin.com/7TPPkq12 - host : ['pornve.com'], - onAlways : function () { - Aak.uw.adxjwupdate = 1; - } - }, - lol_moa_tw : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1114 - host : ['lol.moa.tw'], - onIdle : function () { - Aak.addScript(function () { - MoaObj.ad.hasAdblock = function () { - return false; - }; - MoaObj.ad.checkABP = function () { - return false; - }; - }); - } - }, - multiup_org : { - // by: Watilin - // note: alternative solution - // issue: https://github.com/reek/anti-adblock-killer/issues/677 - host : ['multiup.org'], - onEnd : function () { - var links = document.querySelectorAll("a.btn[style]"); - for (var i = 0; i < links.length; i++) { - if ("none" === links[i].style.display) - links[i].style.display = ""; - } - var buttons = document.querySelectorAll("button.detect"); - for (i = 0; i < buttons.length; i++) { - buttons[i].style.display = "none"; - } - } - }, - dailybitcoins_org : { - // issue: https://github.com/reek/anti-adblock-killer/issues/107 - host : ['dailybitcoins.org'], - onIdle : function () { - Aak.removeElement('.ad-img'); - } - }, - kozaczek_zeberka : { - // issue: https://github.com/reek/anti-adblock-killer/issues/414 - host : ['kozaczek.pl', 'zeberka.pl'], - onStart : function () { - Aak.setCookie('ablc', 1); - Aak.setCookie('cookie_policy', 1); - } - }, - spankwire_sites : { - // issue: https://github.com/reek/anti-adblock-killer/issues/887 - // source: http://pastebin.com/TFB1dtgb - host : ['spankwire.com', 'keezmovies.com', 'extremetube.com', 'mofosex.com'], - onStart : function () { - Aak.setCookie("abClosed", "true"); - Aak.setCookie("hide_ad_msg", "1"); - } - }, - youporn_network : { - // issue: https://github.com/reek/anti-adblock-killer/issues/887 - // source: http://pastebin.com/TFB1dtgb - host : ['youporn.com', 'youporngay.com'], - onStart : function () { - Aak.setCookie("adblock_message", "closed"); - } - }, - psarips_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/153 - host : ['psarips.com'], - onStart : function () { - Aak.addBaitElement('div#advert'); - } - }, - extratorrent_domains : { - host : ['extratorrent.cc', 'extratorrent.com'], - onStart : function () { - // prevent popup - // source are obfuscated in external js - Aak.setCookie('ppu_delay', 1); - Aak.setCookie('ppu_main', 1); - Aak.setCookie('ppu_sub', 1); - Aak.setCookie('ppu_show_on', 1); - } - }, - marketwatch_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1297 - host : ['marketwatch.com'], - onStart : function () { - Aak.addStyle(".container--bannerAd, .col--ad { display: none; }"); - Aak.addScript(function () { - _addEventListener = document.addEventListener; - document.addEventListener = function (type, listener, options) { - if (type == 'sp.blocking') { - listener = function () { - console.info(['AntiAdbKiller', location.host, 'Event ' + type + ' intercepted :-)']); - }; - } - _addEventListener(type, listener, options); - }; - }); - } - }, - tny_cz : { - host : ['tny.cz', 'pasted.co'], - onStart : function () { - // prevent popup - Aak.setCookie('__.popunderCap', 1); - Aak.setCookie('__.popunder', 1); - } - }, - clubedohardware_com_br : { // two antiadblock - host : ['clubedohardware.com.br'], - onStart : function () { - if (Aak.contains(location.host, 'forum')) { - // Solution 1 - Aak.addStyle("#banner, script { height: 51px; }"); - Aak.addBaitElement('div#banner'); - } else { // Website - // Solution 1 - Aak.addBaitElement('div.banner_topo'); - } - }, - onIdle : function () { - if (Aak.contains(location.host, 'forum')) { - // Solution 2 - Aak.uw.addBlocking.hide(); - Aak.uw.addBlocking.kill(); - } else { // Website - // Solution 2 - document.body.id = ''; - Aak.removeElement('.adblock'); - } - } - }, - debrastagi_com : { - host : ['debrastagi.com'], - onIdle : function () { - Aak.removeElement('#stp-main'); - Aak.removeElement('#stp-bg'); - } - }, - ddlfrench_org : { - host : ['ddlfrench.org'], - onIdle : function () { - // Fix bug display content - Aak.setElement('#dle-content .d-content', { - 'class' : '' - }); - Aak.setElement('#content', { - 'id' : '' - }); - } - }, - megadebrid_eu : { - host : ['mega-debrid.eu'], - onEnd : function () { - // Activate button debrid - Aak.setElement('.realbutton', { - 'onclick' : '', - 'type' : 'submit' - }); - } - }, - slideplayer_domains : { - // by: Alexander255 - // issue: https://github.com/reek/anti-adblock-killer/issues/1333 - // issue: https://github.com/reek/anti-adblock-killer/issues/515 - // issue: https://github.com/reek/anti-adblock-killer/issues/296 - // demo: http://slideplayer.fr/slide/1304026/# - host : ['slideplayer.*'], - onEnd : function () { - - // Disable anti-adblocker - Aak.uw.force_remove_ads = true; - - // Circumvent "share to download" rule - Aak.addScript(function () { - var slide_id = get_current_slide_id(); - var slide_srv = document.getElementById("player_frame").src.split("/")[3]; - var time = 86400 + Math.floor(Date.now() / 1000); - var secret = encodeURIComponent(strtr(MD5.base64("secret_preved slideplayer never solved " + time + slide_id + ".ppt"), "+/", "- ")); - - var url = "http://player.slideplayer.org/download/" + slide_srv + "/" + slide_id + "/" + secret + "/" + time + "/" + slide_id + ".ppt"; - var links = document.querySelectorAll("a.download_link"); - for (var i = 0; i < links.length; i++) { - /* Remove original "share to download" popup event listener */ - var events = $._data(links[i]).events.click; - events.splice(0, events.length); - - /* Set normal link href instead */ - links[i].href = url; - } - }); - - } - }, - bokepspot_com : { - host : ['bokepspot.com'], - onStart : function () { - // Hide Disclaimer - Aak.setCookie('hideDialog', 'hide'); - }, - onIdle : function () { - // Remove Disable AdBlock - Aak.removeElement('#tupiklan'); - } - }, - gamestar_de : { - // by: hamsterbacke - // pull: https://github.com/reek/anti-adblock-killer/pull/467 - host : ['gamestar.de'], - onIdle : function () { - setTimeout(function () { - Aak.removeElement('body > div.centeredDiv > div[style="display: inline-block;"]'); - window.stop(); - }, 2500); - } - }, - picload_com : { - host : ['picload.org'], - onStart : function () { - Aak.setCookie('pl_adblocker', false); - }, - onIdle : function () { - Aak.uw.ads_loaded = true; - Aak.uw.imageAds = false; - Aak.removeElement('div[oncontextmenu="return false;"]'); - } - }, - freezedownload_com : { - host : ['freezedownload.com'], - onIdle : function () { - if (/freezedownload.com\/download\//.test(location.href)) { - Aak.removeElement('body > div[id]'); - } - } - }, - monnsutogatya_com : { - // issue: PM - // source: http://pastebin.com/1Lw60h6k - host : ['monnsutogatya.com'], - onIdle : function () { - Aak.addStyle("#site-box {display:block;}"); - Aak.removeElement('#for-ad-blocker'); - } - }, - rapid8_com : { - host : ['rapid8.com'], - onIdle : function () { - Aak.removeElement('div.backk + #blcokMzg'); - Aak.removeElement('div.backk'); - } - }, - turkdown_com : { - host : ['turkdown.com'], - onIdle : function () { - // remove facebook box - Aak.removeElement('#duyuru'); - } - }, - filmovizija_domains : { - host : ['filmovizija.me', 'filmovizija.com', 'filmovizija.in', 'filmovizija.net'], - onIdle : function () { - /* - var d = new Date(); - var weekday = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; - var n = weekday[d.getDay()]; - Aak.setElement('#' + n, { - html : '' - }); - Aak.removeElement('#' + n); - */ - } - }, - hackintosh_zone : { - // by: Alexander255 - // issue: https://github.com/reek/anti-adblock-killer/issues/559 - // issue: https://github.com/reek/anti-adblock-killer/issues/427 - // issue: https://github.com/reek/anti-adblock-killer/issues/187 - // issue: https://github.com/reek/anti-adblock-killer/pull/114 - // source: http://paste2.org/DnB9Oj4f - host : ['hackintosh.zone'], - onStart : function () { - Aak.setCookie('ips4_lastvisit', 0, false, location.pathname); - }, - onIdle : function () { - - var head = document.getElementsByTagName("head")[0]; - // Fake Google ad frame content - var ad1 = document.createElement("ins"); - ad1.className = "adsbygoogle"; - ad1.appendChild(document.createTextNode("AAK")); - head.insertBefore(ad1, head.childNodes[0]); - - /* - // Fake CleanMyMac ad frame size - var ad2 = document.createElement("div"); - ad2.id = "nycuhevgqi"; - Object.defineProperty(ad2.wrappedJSObject, 'clientHeight', {value: 1}); - head.insertBefore(ad2, head.childNodes[0]); - */ - - var elems = document.querySelectorAll('.adsensegrey'); - for (var i = 0; i < elems.length; i++) { - var node = document.createElement("img"); - node.src = Aak.imgBait; - elems[i].appendChild(node); - } - - }, - onBeforeScript : function () { - return [{ - contains : 'disable ADBlock completely', - external : false, - remove : true - } - ]; - } - }, - privateinsta_com : { - host : ['privateinsta.com'], - onIdle : function () { - // + abp rule - Aak.uw.dont_scroll = false; - Aak.removeElement("#overlay_div"); - Aak.removeElement("#overlay_main_div"); - } - }, - risikogesundheit_de : { - host : ['risiko-gesundheit.de'], - onIdle : function () { - setTimeout(function () { - window.stop(); - }, 5000); - } - }, - oneplaylist_eu_pn : { - host : ['oneplaylist.eu.pn'], - onIdle : function () { - // kill popunder - Aak.uw.makePopunder = false; - } - }, - onmeda_de : { - // note: script obfuscated line 1110 - // issue: https://greasyfork.org/forum/discussion/8576 - // issue: https://github.com/reek/anti-adblock-killer/issues/1067 - // source: http://pastebin.com/qf46bN3z - // source: http://pastebin.com/RwHyF0NL - host : ['onmeda.de'], - onAlways : function () { - Aak.uw.$ADP = true; - Aak.uw.sas_callAd = function () {}; - Aak.uw.sas_callAds = function () {}; - } - }, - turbodebrideur_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/599 - // issue: https://github.com/reek/anti-adblock-killer/issues/563 - // issue: https://github.com/reek/anti-adblock-killer/issues/526 - host : ['turbodebrideur.com'], - onIdle : function () { - Aak.createElement({ - tag : 'div', - id : 'pubdirecte', - html : ' ', - append : 'body' - }); - } - }, - rockfile_eu : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1256 - host : ['rockfile.eu'], - onIdle : function () { - Aak.createElement({ - tag : 'iframe', - src : 'about:blank', - style : 'visibility:hidden;', - append : 'body' - }); - } - }, - linkbucks_antiadblock : { - // issue: https://github.com/reek/anti-adblock-killer/issues/932 - // issue: https://github.com/reek/anti-adblock-killer/issues/469 - // issue: https://github.com/reek/anti-adblock-killer/issues/277 - // v3: http://pastebin.com/0gh8LMGH - // note: no solution, anti-adblock difficult to bypass --> http://pastebin.com/1NRq7WvZ - host : ['linkbucks.com', 'miniurls.co', 'picbucks.com', 'picturesetc.net', 'placepictures.com', 'poontown.net', 'qqc.co', 'qvvo.com', 'realfiles.net', 'rqq.co', 'seriousdeals.net', 'seriousfiles.com', 'seriousurls.com', 'sexpalace.gs', 'theseblogs.com', 'thesefiles.com', 'theseforums.com', 'thosegalleries.com', 'tinybucks.net', 'tinylinks.co', 'tnabucks.com', 'tubeviral.com', 'uberpicz.com', 'ubervidz.com', 'ubucks.net', 'ugalleries.net', 'ultrafiles.net', 'urlbeat.net', 'urlpulse.net', 'whackyvidz.com', 'youfap.me', 'yyv.co', 'zxxo.net', 'zff.co', 'linkbucksdns.co', 'miniurls.com', 'dyo.gs', 'goneviral.com', 'eafyfsuh.net', 'sasontnwc.net'], - onStart : function () { - // do nothing... - } - }, - linkbucks_visitscript : { - // issue: - host : ['referencemega.com', 'fpabd.com', 'crackacc.com'], - onStart : function () { - // Skip visitScript when site use CloudFlare Rocket Script - Aak.setCookie('_lbGatePassed', true); - } - }, - link_tl : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1087 - // issue: https://greasyfork.org/fr/forum/discussion/8437 - // source: http://pastebin.com/kc1KF2Mn - host : ['link.tl'], - onStart : function () { - Aak.addStyle('.adblock { height:1px; }'); - } - }, - wstream_video : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1382 - // source: http://pastebin.com/EiARVQXt - host : ['wstream.video'], - onStart : function () { - Aak.addStyle('#adiv { height:4px; }'); - } - }, - _4shared_com : { - host : ['4shared.com'], - onIdle : function () { - // Hide "Disable AdBlodk" messages - document.querySelector('body').classList.remove("jsBlockDetect"); - } - }, - pro_domains : { - host : ['pro-zik.ws', 'pro-tect.ws', 'pro-ddl.ws', 'pro-sport.ws'], - onStart : function () { - Aak.setCookie('visitedf', true); - Aak.setCookie('visitedh', true); - } - }, - comptoirhardware_com : { - host : ['comptoir-hardware.com'], - onAlways : function () { - Aak.uw.adblock = 'non'; - } - }, - bakersfield_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/657 - // note: also solution to AakList - host : ['bakersfield.com'], - onAlways : function () { - Aak.uw.AD_SLOT_RENDERED = true; - } - }, - pcgames_download_net : { - // issue: https://greasyfork.org/forum/discussion/9328 - host : ['pcgames-download.net'], - onAlways : function () { - Aak.uw.niceAdsCheck = true; - } - }, - lachainemeteo_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/590 - // issue: https://github.com/reek/anti-adblock-killer/issues/245 - // issue: https://github.com/reek/anti-adblock-killer/issues/215 - host : ['lachainemeteo.com'], - onAlways : function () { - // Solution 1 - // + abp rule - - // Solution 2 - Aak.uw.js_loaded = true; - } - }, - mac4ever_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/997 - // source: http://pastebin.com/RQnCEYK6 - host : ['mac4ever.com'], - onAlways : function () { - Aak.uw.coquinou = function () {}; - } - }, - yellowbridge_com : { - host : ['yellowbridge.com'], - onAlways : function () { - Aak.uw.finalizePage = function () { - return; - }; - } - }, - game_debate_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1366 - // source: http://pastebin.com/UzsiX0FK - host : ['game-debate.com'], - onAlways : function () { - Aak.uw.ad_block_test = function () {}; - } - }, - adscendmedia : { - host : ['adscendmedia.com'], - onStart : function () { - // adscendmedia - https://www.adscendmedia.com/ - var ref = document.createElement('a').href = document.referrer; - var host = location.host; - var path = location.pathname; - if (Aak.contains(path, '/widget_adblock.php') && !Aak.contains(ref.host, host)) { - // Auto report - Aak.detected('Adscendmedia', ref.host, host); - // Notification - Aak.notification('You must subscribe to AakList (Anti-Adblock Killer ) Subscribe'); - } - } - }, - adworkmedia : { - host : ['adworkmedia.com', 'loxtk.com', 'contentlockingnetworks.com'], - onStart : function () { - // AdWorkMedia - https://www.adworkmedia.com/ - var ref = document.createElement('a').href = document.referrer; - var host = location.host; - var path = location.pathname; - if (Aak.contains(path, '/help/removeAB.php') && !Aak.contains(ref.host, host)) { - // Auto report - Aak.info('Adworkmedia', ref.host, host); - // Notification - Aak.notification('You must subscribe to AakList (Anti-Adblock Killer ) Subscribe'); - } - } - }, - // -------------------------------------------------------------------------------------------- - // Players - // -------------------------------------------------------------------------------------------- - kissanime_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/451 - // issue: https://github.com/reek/anti-adblock-killer/issues/381 - // issue: https://github.com/reek/anti-adblock-killer/issues/302 - // issue: https://github.com/reek/anti-adblock-killer/issues/257 - // issue: https://github.com/reek/anti-adblock-killer/issues/178 - // issue: https://github.com/reek/anti-adblock-killer/issues/196 - // issue: https://github.com/reek/anti-adblock-killer/issues/56 - host : ['kissanime.com', 'kissanime.to'], - onStart : function () { - // Masking ads - Aak.addStyle('iframe[id^="adsIfrme"], .divCloseBut { display:none; }'); - // Solution 1 - Aak.uw.DoDetect2 = null; - }, - onIdle : function () { - - // Solution 1 abp rule - // @@||kissanime.com^$elemhide - - var divContentVideo = document.querySelector('#divContentVideo'); - - // Solution 2 - if (Aak.uw.DoDetect2) { - Aak.uw.DoDetect2 = null; - Aak.uw.CheckAdImage = null; - Aak.info('Solution 2'); - } //Solution 3 - else if (divContentVideo) { - - var divDownload = document.querySelector('#divDownload').cloneNode(true); - - setTimeout(function () { - divContentVideo.innerHTML = ''; - Aak.uw.DoHideFake(); - divContentVideo.appendChild(divDownload); - Aak.removeElement('iframe[id^="adsIfrme"], .divCloseBut'); - Aak.info('Solution 3'); - }, 5500); - } - } - }, - Kisscartoon_me : { - // issue: https://github.com/reek/anti-adblock-killer/issues/488 - host : ['kisscartoon.me'], - onAlways : function () { - Aak.uw.xaZlE = function () {}; - }, - onIdle : function () { - Aak.removeElement('iframe[id^="adsIfrme"]'); - } - }, - openload_domains : { - // issue: https://github.com/reek/anti-adblock-killer/issues/475 - host : ['openload.co', 'openload.io', 'openload.tv'], - onStart : function () { - Aak.uw.adblock = false; - Aak.uw.adblock2 = false; - Aak.uw.popAdsLoaded = true; - // hide fake play button used to open popunder - //Aak.addStyle('#videooverlay { display:none; }') - } - }, - youwatch_network : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1293 - // issue: https://github.com/reek/anti-adblock-killer/issues/308 - // issue: https://github.com/reek/anti-adblock-killer/issues/529 - // issue: https://github.com/reek/anti-adblock-killer/issues/535 - // test: http://youwatch.org/embed-59p7i3cdkse0-453x320.html - // test: http://youwatch.org/59p7i3cdkse0 - host : ['youwatch.org', 'chouhaa.info'], - onStart : function () { - // skip anti-adblock - Aak.uw.adsShowPopup = 1; - }, - onIdle : function () { - // renove ads + fake play button - Aak.removeElement('#player_img, #player_img + div[id]'); - } - }, - exashare_com : { - // by: Watilin - // pull: https://github.com/reek/anti-adblock-killer/pull/519 - // issue: https://github.com/reek/anti-adblock-killer/issues/624 - // issue: https://github.com/reek/anti-adblock-killer/issues/486 - // issue: https://github.com/reek/anti-adblock-killer/issues/506 - // test: http://exashare.com/galw2ge2kzsv - host : ['exashare.com', 'chefti.info', 'bojem3a.info'], - onStart : function () { - // skip anti-adblock - Aak.uw.adsShowPopup = 1; - }, - onIdle : function () { - // renove ads + fake play button - Aak.removeElement('#player_img, #player_img + div[id]'); - } - }, - an1me_se : { - // issue: https://github.com/reek/anti-adblock-killer/issues/190 - host : ['an1me.se'], - onIdle : function () { - setTimeout(function () { - Aak.uw.isBlockAds2 = false; - }, 10000); - } - }, - hqq_tv : { // putlocker.is - host : ['hqq.tv'], - onIdle : function () { - // + abp rule - // http://hqq.tv/player/embed_player.php?vid=R3DGHG3GKXX7&autoplay=no - if ('/player/embed_player.php' == location.pathname) { - document.querySelector('form[id^="form-"]').submit(); - } - } - }, - // Poland - wp_domains : { - // issue: https://github.com/reek/anti-adblock-killer/issues/956 - // issue: https://github.com/reek/anti-adblock-killer/issues/905 - // issue: https://github.com/reek/anti-adblock-killer/issues/300 - host : ['biztok.pl', 'wp.tv', 'wp.pl', 'sportowefakty.pl', 'kafeteria.tv', 'kafeteria.pl', '.wrzuta.pl', 'pudelek.tv', 'komediowo.pl', 'sfora.pl', 'autokrata.pl', 'sportfan.pl', 'wawalove.pl', 'hotmoney.pl', 'aleseriale.pl', 'babol.pl', 'snobka.pl', 'nocoty.pl', 'money.pl', 'abczdrowie.pl', 'gadzetomania.pl', 'autokult.pl', 'komorkomania.pl'], - onIdle : function () { - //Aak.dumpDOM(3000); - setTimeout(function () { - - var replacePlayerWP = function (mid, player) { - /* Request - http://get.wp.tv/?mid=1661056 - http://wp.tv/player/mid,1661056,embed.json - http://get.wp.tv/?f=2896462.1426329056904.l.webm&rnd=1 - https://wp.tv/player/mid,1747117,embed.json - */ - Aak.request({ - url : 'http://wp.tv/player/mid,' + mid + ',embed.json', - onload : function (result) { - try { - var res = result.responseText; - var obj = JSON.parse(res); - Aak.log(obj); - Aak.player.videojs(player, { - file : Aak.fixProtocolURL(obj.clip.url[0].url) - }); - } catch (e) { - Aak.error(result, player); - } - } - }); - }; - - var replacePlayerWrzuta = function (key, channel, elem, autostart) { - Aak.request({ - // http://www.wrzuta.pl/npp/embed/wolnapolska2/0I0HQ2mutJc - url : 'http://www.wrzuta.pl/npp/embed/' + channel + '/' + key, - onload : function (result) { - try { - var res = result.responseText; - var obj = JSON.parse(res); - Aak.log(obj); - Aak.player.videojs(elem, { - file : Aak.fixProtocolURL(obj.url[0].url) - }); - } catch (e) { - Aak.error(result, player); - } - } - }); - }; - - var replacePlayerlivestream = function (lid, elem, autostart) { - Aak.request({ - // http://wp.tv/player/lid,1354,ts,1432569945076,livestream.json - url : 'http://wp.tv/player/lid,' + lid + ',ts,' + Date.now() + ',livestream.json', - onload : function (result) { - try { - var res = result.responseText; - var obj = JSON.parse(res); - Aak.player.videojs(elem, { - file : Aak.fixProtocolURL(obj.clip.url[0].url[0]) - }); - } catch (e) { - Aak.error('error', player); - } - } - }); - }; - - // Using an external flash player is impossible because protected by crossdomain.xml - var players = document.querySelectorAll('.wp-player'); // #Player0, #Player1, #mainPlayer - if (players.length) { - // fixbug gm_xhr loop request - http://tinyurl.com/pqa9htq - for (var i = 0; i < players.length; i++) { - var mid = null; - var lid = null; - var player = players[i]; - var parent = player.parentNode; - var script = player.previousSibling; - var titles = document.querySelectorAll('.wp-player .titleCont a.title'); - var embedvideos = document.querySelectorAll('script[src*="/embed_video.js"]'); - Aak.log(player, parent, script, titles); - - if (embedvideos.length) { - // pudelek.wrzuta.pl: http://tinyurl.com/l8jo5v2 - // pudelek.tv: http://tinyurl.com/klyzh6r - // pudelek.tv (triple): http://tinyurl.com/n9b27o2 - // film.wp.pl: http://tinyurl.com/q7k5bxp - var embedvideo = embedvideos[i]; - var key = /key=(\w+)/.exec(embedvideo.src)[1]; - var channel = /login=(\w+)/.exec(embedvideo.src)[1]; - var autostart = /autoplay/.test(embedvideo.src); - replacePlayerWrzuta(key, channel, player, autostart); - Aak.log('embed_video.js'); - } else if (script && /lid=/.test(script.innerHTML)) { - // wiadomosci.wp.pl: http://tinyurl.com/pdwx7na - // http://wp.tv/player/lid,1354,ts,1432569945076,livestream.json - // http://get.wp.tv/?lid=1354 - lid = script.innerHTML.match(/lid[=,]([0-9]+)/); - replacePlayerlivestream(lid, player, true); - Aak.log('livestream lid'); - } else if (titles.length && /mid/.test(titles[i].href)) { - // sportowefakty.pl: http://tinyurl.com/l6zabcx - mid = titles[i].href.match(/mid[=,]([0-9]+)/); - Aak.log('title.href'); - } else if (parent.id) { - if (parent.dataset.url) { - // wp.tv: http://tinyurl.com/pzde29t - mid = parent.dataset.url.match(/mid[=,]([0-9]+)/); - Aak.log('parent.dataset.url'); - } else { - // kafeteria.tv: http://tinyurl.com/nofp58a - mid = parent.innerHTML.match(/mid[=,]([0-9]+)/); - Aak.log('parent.innerHTML'); - } - } else if (script && script.tagName == 'SCRIPT') { - // film.wp.pl: http://tinyurl.com/mh9onfw - // pudelek.tv (double): http://tinyurl.com/lefvwtx - mid = script.innerHTML.match(/mid[=,]([0-9]+)/); - Aak.log('script.innerHTML'); - } - if (mid !== null && mid.length == 2) { - replacePlayerWP(mid[1], player); - } - } - } - - }, 5e3); - } - }, - moje_filmy_tk : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1010 - // source: http://pastebin.com/7G2RBnqq - host : ['moje-filmy.tk'], - onIdle : function () { - var searchvalue = ['var playerInstance', '});']; - var script = Aak.hasScript(searchvalue[0]); - - if (script) { - var source = script.innerHTML; - var str = source.substring(source.lastIndexOf(searchvalue[0]), source.lastIndexOf(searchvalue[1]) + searchvalue[1].length); - Aak.addScript(str); - } - } - }, - tvn_pl : { - // by: Reek, Marek - // solution: http://tinyurl.com/ohbvz4r - // solution: http://tinyurl.com/jq8s462 - // issue: https://github.com/reek/anti-adblock-killer/issues/581 - // issue: https://github.com/reek/anti-adblock-killer/issues/510 - // issue: https://github.com/reek/anti-adblock-killer/issues/293 - // issue: https://github.com/reek/anti-adblock-killer/issues/192 - // test: http://tinyurl.com/o6d9h66, http://tinyurl.com/z77m4zh - // proxy: http://www.proxy.xmc.pl - host : ['tvn.pl', 'tvn24.pl', 'player.pl'], - onEnd : function () { - Aak.hasElement('header.detailImage', function (thisElement) { - var parts = document.location.href.split(/[.,]/); - var id = parts[parts.length - 2]; - var urlProxy = 'http://www.proxy.xmc.pl/index.php?hl=3e5&q='; - //var urlAPI = 'https://api.tvnplayer.pl/api/?platform=ConnectedTV&terminal=Samsung2&format=json&v=3.6&authKey=453198a80ccc99e8485794789292f061&type=episode&id=' + id + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; // ConnectedTV - var urlAPI = 'https://api.tvnplayer.pl/api/?platform=Mobile&terminal=Android&format=json&v=3.0&authKey=b4bc971840de63d105b3166403aa1bea&type=episode&id=' + id + '&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920'; // Mobile - - function AES_CBC(url_, CryptoJS) { - url_ = url_.replace('http://redir.atmcdn.pl/http/', ''); - var padString = function (source, paddingChar) { - var size = 16; - var x = source.length % size; - var padLength = size - x; - for (var i = 0; i < padLength; i++) - source += paddingChar; - return source; - }; - var pkcs5_pad = function (s) { - return padString(s, String.fromCharCode(16 - (s.length % 16))); - }; - var salt = CryptoJS.lib.WordArray.random(16).toString(); - var decrypted = 'E8E2CE332A8BE7761B5E3397A18563E2'; - var d = new Date(); - var currentMillis = d.getTime(); - var expire = 3600000 + (currentMillis) - 946684800000; - var unencryptedToken = "name=" + url_ + "&expire=" + expire + '\0'; - unencryptedToken = pkcs5_pad(unencryptedToken); - var encrypted = CryptoJS.AES.encrypt((unencryptedToken), ((CryptoJS.enc.Hex.parse(decrypted))), { - iv : ((CryptoJS.enc.Hex.parse(salt))), - padding : CryptoJS.pad.NoPadding, - mode : CryptoJS.mode.CBC - }); - var encryptedTokenHEX = encrypted.ciphertext.toString(); - return "http://redir.atmcdn.pl/http/" + url_ + "?salt=" + salt + "&token=" + String(encryptedTokenHEX).toUpperCase(); - } - - if (Aak.getCookie('country_code')) { - Aak.request({ - url : location.protocol + '//pastebin.com/raw/Qg21yp4v', // CryptoJS - onload : function (result) { - var res = result.responseText; - eval(res); - console.log(CryptoJS); - Aak.request({ - url : Aak.getCookie('country_code') != 'PL' ? urlProxy + Aak.encodeURI(urlAPI) : urlAPI, - onload : function (result) { - var res = result.responseText; - console.log(res); - var o = JSON.parse(res); - var videoUrl = o.item.videos.main.video_content[Number(Aak.opts.videoHD)].url; - var videoUrlWithSeed = AES_CBC(videoUrl, CryptoJS); - Aak.player.videojs(thisElement, { - file : videoUrlWithSeed - }, 'inner'); - } - }); - } - }); - } else { - Aak.request({ - url : 'http://ip-api.com/json', - onload : function (response) { - var res = response.responseText; - var json = JSON.parse(res); - Aak.setCookie('country_code', json.countryCode); - Aak.refresh(); - } - }); - } - }); - } - }, - ipla_tv : { - // by: Marek - // solution: http://tinyurl.com/ptb4ybg - // issue. https://github.com/reek/anti-adblock-killer/issues/522 - // test1: http://tinyurl.com/pcey4nz - // test2: http://tinyurl.com/prsurdb - host : ['ipla.tv'], - onEnd : function () { - Aak.hasElement('#vod-player', function (thisElement) { - Aak.request({ - url : '/VOD/play-in-ipla/' + location.href.match(/\/vod-(\d+)/)[1], - onload : function (result) { - var videoURL; - var res = result.responseText; - var idn = res.match(/ipla:\/\/playvod-1\|([a-z0-9]+)/)[1]; - Aak.log(idn); - Aak.request({ - url : 'http://getmedia.redefine.pl/vods/get_vod/?cpid=1&ua=mipla/23&media_id=' + idn, - onload : function (result) { - var res = result.responseText; - var o = JSON.parse(res); - Aak.log(o); - if (o.vod.video_hd) { - videoURL = o.vod.video_hd; - } else if (o.vod.video) { - videoURL = o.vod.video; - } else { - videoURL = o.vod.copies[0].url; - } - Aak.player.videojs(thisElement, { - file : videoURL - }); - } - }); - } - }); - }); - } - }, - koscian_net : { - // issue: https://github.com/reek/anti-adblock-killer/issues/914 - // source: http://pastebin.com/yGSPBRqe - host : ['koscian.net'], - onIdle : function () { - var elems = document.querySelectorAll('.ban'); - for (var i = 0; i < elems.length; i++) { - elems[i].remove(); - //elems[i].innerHTML = '
'; - } - } - }, - // France - playtv_fr : { // research solution - host : ['play.tv', 'playtv.fr'], - onAlways : function () {}, - onEnd : function () {} - }, - rmcsportbfmtv_com : { // webradio - host : ['rmcsport.bfmtv.com'], - onIdle : function () { - - var flashvars = { - urlRadio : "http://mp3lg4.tdf-cdn.com/10160/rmc.mp3", - nom : "live", - categorie : "live", - urlSmart : "" // set empty to remove audio ad - }; - var params = { - wmode : "transparent" - }; - - Aak.uw.swfobject.embedSWF("/swf/RMCLIVE.swf", "liveplayer", "70", "90", "10.0.0", "", flashvars, params); - } - }, - eclypsia_com : { - host : ['eclypsia.com'], - onAlways : function () { - // Solution 1 - // abp rules - - // Solution 2 - Aak.uw.isABActivated = function () { - return false; - }; // Kill antiadblock - Aak.uw.refresh_iframe = function () {}; // Stop ads to be loaded - }, - onEnd : function () { - // Solution 3 - var element = document.querySelector('div[id^="webtv_iframe_"]'); - if (element !== null) { - var videoId = element.id.split('_')[2]; - setTimeout(function () { - element.innerHTML = ''; - }, 1000); - } - } - }, - m6web_fr : { - // issue: https://github.com/reek/anti-adblock-killer/issues/461 - host : ['m6web.fr'], - onEnd : function () { - var player = document.querySelector('object[id$="_flash_api"]'); - var script = Aak.hasScript('M6.Player.config'); - - if (player !== null && script !== null) { - var found = script.innerHTML.match(/M6.Player.config = (\{.+\});/); - var config = JSON.parse(found.pop()); - // Replace player - Aak.player.videojs(player, { - file : config.sources[1].src - }); - } - } - }, - gamingroom_tv : { - host : ['gamingroom.tv'], - onAlways : function () { - Aak.uw.adblock_detect = function () {}; - Aak.uw.GR_adblock_hide_video = function () {}; - Aak.uw.adblock_video_msg_start = function () {}; - Aak.uw.adblock_video_msg_stop = function () {}; - Aak.uw.disable_chat = function () {}; - } - }, - // Germany - now_domains : { - // issue: https://github.com/reek/anti-adblock-killer/issues/336 - // test: http://tinyurl.com/peeobou - // test: http://jsbin.com/vucobejofo - host : ['voxnow.de', 'rtl-now.rtl.de', 'rtl2now.rtl2.de', 'n-tvnow.de', 'superrtlnow.de', 'rtlnitronow.de', 'nowtv.de'], - onIdle : function () { - /* - Aak.soEdit('#videoplayer', { - unsetFlashvars : 'abcheck_enabled,adcall,adclasses,adconfig,admeta,adslog,agof,ama,angebot,as,asparts,breakad,connectioncheck,cslog,dev,dimmer,errorlog,feedback,fmsident,gtv,highlights,ivw,ivw_play,js,js_event_function,logo,logo_basewidth,logopos,nielsen,ord,osmf,svm,tile,videoplaza,videoplaza_base_url,videoplaza_share,videoplaza_tag,vpEnvironmentURL,xl' - }); - */ - } - }, - myspass_de : { - // issue: https://github.com/reek/anti-adblock-killer/issues/76 - // test: http://tinyurl.com/lto9pyd - host : ['myspass.de'], - onIdle : function () { - var videoid = location.pathname.match(/\/(\d+)\/$/); - - if (videoid !== null) { - Aak.request({ - url : 'http://www.myspass.de/myspass/includes/apps/video/getvideometadataxml.php?id=' + videoid[1], - onload : function (result) { - var res = result.responseText; - //Aak.log(res); - - // Get video - var parser = new DOMParser(); - var dom = parser.parseFromString(res, "application/xml"); - var file = dom.getElementsByTagName("url_flv").item(0).textContent; - - // Remove elements - Aak.removeElement('div.loadingGif'); - - // Replace player - Aak.player.videojs('#player', { - file : file - }); - - } - }); - } - } - }, - // Nederland - rtlxl_nl : { - // test: http://tinyurl.com/l2zkv3d - host : ['rtlxl.nl', 'rtlnieuws.nl'], - onEnd : function () { - Aak.soEdit('#_rtlosmf0', { - setFlashvars : { - adblock : false - } - }); - } - }, - // Norway - vgtv_network : { - // note: skip video ads + anti-adblock - // jwplayer: http://tinyurl.com/zyv79hg - // issue: https://github.com/reek/anti-adblock-killer/issues/1402 - // issue: https://github.com/reek/anti-adblock-killer/issues/367 - // test: http://tinyurl.com/nwp85t - host : ['vgtv.no', 'vg.no'], - onEnd : function () { - var oldHash = null; - var videoId = null; - var videoIdRegex = /#\!\/video\/(\d+)\//; - - // check if the location hash changes - setInterval(function () { - var player = Aak.getElement('.video-player'); - - if (player && location.hash != oldHash && videoIdRegex.test(location.hash)) { - oldHash = location.hash; - videoId = oldHash.match(videoIdRegex)[1]; - - /* don't work with chrome - player.innerHTML = '
This text will be replaced with a player.
'; - - // skip video ad - Aak.addScript(function () { - setTimeout(function () { - jwplayer('noAdPlayer').setup({ - "file" : "http://vgtvlive-f.akamaihd.net/i/20150630x114563_01@28597/master.m3u8?start=1435665657&end=1435665768", - "height" : 360, - "width" : 640 - }) - jwplayer('noAdPlayer').seek(0).play(true); - }, 5000); - }); - */ - - /* don't work with chrome - //console.log(unsafeWindow.jwplayer) - Aak.request({ - url : 'http://svp.vg.no/svp/api/v1/vgtv/assets/' + videoId + '?additional=settings|chapters|cuePoints|externalId|barrels|externalCategoryId|nextAsset&appName=vgtv-website', - onload : function (result) { - var res = result.responseText; - var obj = JSON.parse(res); - Aak.log(obj); - - // replace player - Aak.player.jwplayer6(player, { - file : obj.streamUrls.hls - }, 'inner'); - } - }); - */ - } - }, 1e3); - - } - }, - tv3play_network : { - // note: skip video ads + anti-adblock - // issue: https://github.com/reek/anti-adblock-killer/issues?q=tv3play - // test: http://tinyurl.com/j6qnqr4, http://tinyurl.com/zhzj8qp, http://tinyurl.com/zql5jll, http://tinyurl.com/jr4gvld, http://tinyurl.com/zk63zoa, http://tinyurl.com/hl7vtag - host : ['tv3play.no', 'tv3play.dk', 'tv3play.se', 'tv6play.se', 'tv8play.se', 'tv10play.se', 'tvplay.skaties.lv'], - onEnd : function () { - - /* don't wok - http://play.tv3.lt/programos/lkl-sokeju-kovos/733362?autostart=true - http://tv3play.tv3.ee/sisu/puhapaev-sepoga/728535?autostart=true - */ - - // - Aak.hasElement('#video-player', function (thisElement) { - var videoId = location.pathname.split('/').pop(); - console.log(thisElement, videoId); - - // get video sources - Aak.request({ - url : 'http://playapi.mtgx.tv/v3/videos/stream/' + videoId, - onload : function (result) { - var res = result.responseText; - var obj = JSON.parse(res); - Aak.log(obj); - - // error - if (obj.msg) { - thisElement.innerHTML = obj.msg; - } - - // replace player - thisElement.innerHTML = ''; - - // initialize new player - Aak.addScript(Aak.toText(function () { - var noAdPlayer = videojs("noAdPlayer"); - noAdPlayer.src([{ - type : "application/x-mpegURL", // m3u8 - src : "_HLS_" - }, { - type : "application/f4m+xml ", // f4m - src : "_MEDIUM_" - }, { - type : "video/mp4 ", // ? - src : "_HIGH_" - } - ]); - }).replace('_HLS_', obj.streams.hls).replace('_MEDIUM_', obj.streams.medium).replace('_HIGH_', obj.streams.high)); - } - }); - }); - } - }, - // Italy - rai_tv : { // research solution - host : ['rai.tv'], - onStart : function () {}, - onIdle : function () {} - }, - // TV Stream - firstrowsports : { - host : ['firstrow.co', 'firstrows.ru', 'firstrows.tv', 'firstrows.org', 'firstrows.co', 'firstrows.biz', 'firstrowus.eu', 'firstrow1us.eu', 'firstrowsportes.tv', 'firstrowsportes.com', 'justfirstrowsports.com', 'hahasport.me'], - onAlways : function () { - Aak.setCookie("adb", 1); // prevent anti-adblock - Aak.uw.open = function () {}; // prevent popup - Aak.addStyle("#bannerInCenter, #hiddenBannerCanvas { display: none; }"); // hide ads - } - }, - buzina_network : { - // note: disable refcontrol, used by firstrowsports - // issue: https://github.com/reek/anti-adblock-killer/issues/1268 - // issue: https://github.com/reek/anti-adblock-killer/issues/1243 - // issue: https://github.com/reek/anti-adblock-killer/issues/889 - // issue: https://greasyfork.org/forum/discussion/8975 - // source: http://pastebin.com/8VTrkvS9 - host : ['buzina.xyz', 'farmet.info', 'rimladi.com', 'kitorelo.com', 'omnipola.com', 'porosin.co.uk', 'rimleno.com'], - onStart : function () { - Aak.addStyle("#adsframe { height: 151px; }"); - }, - onIdle : function () { - if (/buzina.xyz/.test(location.host)) { // keeps same host stream - Aak.hasElement('iframe[src*=".php?hash="]', function (thisElement) { - // http://omnipola.com/w2.php?hash=panda58 - var parts = thisElement.src.split('/'); - parts[2] = 'omnipola.com'; - console.log(thisElement, parts); - thisElement.src = parts.join('/'); - }); - } else { // skip anti-adblock - Aak.removeElement('#adsframe'); - Aak.getElement('#remove-over').click(); - } - }, - onBeforeScript : function () { - /* - return [{ // example inline - contains : 'stopadblock.info', - external : false, - override : 'window.onload=function(){document.getElementById("remove-over").click();}', - }, { // example inline - contains : 'popads.net', - external : false, - remove : true - }, { // example external - contains : 'example.com', - external : true, - override : "data:text/javascript;charset=utf-8," + encodeURIComponent("alert('Intercepted external !')") - //override: "//pastebin.com/raw/ttp9fNVG" - } - ]; - */ - } - }, - allmyvideos_net : { - host : ['allmyvideos.net'], - onAlways : function () { - Aak.uw.adblocktest = { - present : 0, - sent : 1 - }; - } - }, - ilive_domains : { - host : ['ilive.to', 'streamlive.to'], - onEnd : function () { - if (/^\/embedplayer.php/i.test(location.pathname)) { - setTimeout(function () { - // Skip timer - Aak.uw.removeOverlayHTML(); - }, 1000); - } - } - }, - micast_tv : { - host : ['micast.tv'], - onStart : function () { - // prevent popunder - Aak.setCookie('vid_main', true); - Aak.setCookie('vid_sub', true); - // remove overlay - Aak.addScript(function () { - window.onload = function () { - if (removeOverlayHTML) - removeOverlayHTML(); - }; - }); - } - }, - pxstream_tv : { - host : ['pxstream.tv'], - onEnd : function () { - if (/^\/embedrouter.php/.test(location.pathname)) { - setTimeout(function () { - // Skip timer and close ads - Aak.uw.closeAd(); - }, 1000); - } - } - }, - sawlive_tv : { - host : ['sawlive.tv'], - onIdle : function () { - if (/^\/embed\/watch\//i.test(location.pathname)) { - // Skip timer and close ads - Aak.uw.display = false; - Aak.uw.closeMyAd(); - } - } - }, - goodcast_co : { - host : ['goodcast.co'], - onIdle : function () { - if (/^\/stream.php/.test(location.pathname)) { - // remove ads allowed by easylist - Aak.uw.$(".advertisement").hide(); - Aak.uw.$('.adsky iframe').attr("src", "about:blank"); - } - } - }, - showsport_tv_com : { - host : ['showsport-tv.com'], - onIdle : function () { - if (/^\/ch.php/.test(location.pathname)) { - // remove ads allowed by easylist - Aak.removeElement('#advertisement, .advertisement'); - } - } - }, - sharecast_to : { - host : ['sharecast.to'], - onIdle : function () { - if (/^\/embed.php/.test(location.pathname)) { - - // Disable popunders - var interval = setInterval(function () { - Aak.setCookie('vid_main', true); - Aak.setCookie('vid_sub', 2); - Aak.setCookie('vid_delay', true); - }, 100); - - setTimeout(function () { - clearInterval(interval); - }, 5000); - - // Remove transparent overlay - Aak.removeElement('#table1'); - } - } - }, - videomega_tv : { - host : ['videomega.tv'], - onStart : function () { - if (/^\/view.php/.test(location.pathname)) { - // prevent popunder - Aak.setCookie('vid_mainpu', true); - Aak.setCookie('vid_subpu', true); - Aak.setCookie('vid_delay', true); - } - } - }, - flowplayer_antiadblock : { - host : ['videofun.me', 'videobug.net', 'video44.net', 'play44.net', 'byzoo.org', 'playbb.me', 'videowing.me', 'videozoo.me', 'easyvideo.me', 'playpanda.net'], - onEnd : function () { - /* - http://www.animetoon.tv/black-lagoon-episode-1 - http://videowing.me/embed?w=718&h=438&video=ongoing/yu-gi-oh_arc-v_-_53.mp4 - http://playbb.me/embed.php?w=718&h=438&vid=at/nw/yu-gi-oh_arc-v_-_53.mp4 - http://videozoo.me/embed.php?w=718&h=438&vid=at/nw/yu-gi-oh_arc-v_-_53.mp4 - http://www.easyvideo.me/gogo/?w=718&h=438&file=yu-gi-oh_arc-v_-_53.mp4&sv=1 - http://playpanda.net/embed.php?w=718&h=438&vid=at/nw/yu-gi-oh_arc-v_-_53.mp4 - */ - - // allow fullscreen when abp is enabled and remove ad layer - // ads blocked by abp rule - if (/^\/(embed|gogo|gplus)/.test(location.pathname)) { - Aak.soEdit('#flowplayer_api', { - setAttributes : { - allowfullscreen : true - } - }); - } - } - }, - r3z : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1323 - // issue: https://github.com/reek/anti-adblock-killer/issues/884 - // source: http://pastebin.com/C159kevn - host : ['cityam.com', 'computerworlduk.com', 'techworld.com'], - onStart : function () { - Object.defineProperty(Aak.uw, '_r3z', { - enumerable : true, - value : {} - }); - } - }, - google_jobrunner : { - // issue: https://greasyfork.org/en/forum/messages/405 - // issue: https://github.com/reek/anti-adblock-killer/issues/1343 - // issue: https://github.com/reek/anti-adblock-killer/issues/1342 - // issue: https://github.com/reek/anti-adblock-killer/issues/831 - // issue: https://github.com/reek/anti-adblock-killer/issues/1274 - // issue: https://github.com/reek/anti-adblock-killer/issues/1262 - // issue: https://github.com/reek/anti-adblock-killer/issues/561 - host : ['next-episode.net', 'kingmaker.news', 'gamespowerita.com', 'todayidol.com', 'receive-a-sms.com', 'wakeupcallme.com', 'ringmycellphone.com', 'faqmozilla.org', 'thememypc.com'], - onAlways : function () { - Aak.uw.google_jobrunner = {}; - } - }, - // fuckadbock customized - fab_sports_fr : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1217 - // source: http://pastebin.com/SpEN5duS - host : ['sports.fr'], - onStart : function () { - Aak.fakeFuckAdBlock('fabInstance'); - } - }, - fab_europe1_fr : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1188 - // source: http://pastebin.com/ULe1vzQR - host : ['europe1.fr'], - onStart : function () { - Aak.fakeFuckAdBlock('fabInstance'); - } - }, - fab_newyorker_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/1177 - host : ['newyorker.com'], - onStart : function () { - Aak.fakeFuckAdBlock('sniffAdBlock'); - } - }, - fab_wired_com : { - // source: http://pastebin.com/Pq14v4FC - // issue: https://github.com/reek/anti-adblock-killer/issues/1061 - // issue: https://greasyfork.org/fr/forum/discussion/8235/x - host : ['wired.com'], - onStart : function () { - Aak.fakeFuckAdBlock('sniffAdBlock'); - } - }, - fab_mangasproject_domains : { - // note: fuckadblock with custom instance name - // note: also added abp rule - // issue: https://github.com/reek/anti-adblock-killer/issues/1127 - // issue: https://greasyfork.org/fr/forum/discussion/4132 - // issue: https://github.com/reek/anti-adblock-killer/issues/858 - // source: https://mangas.zlx.com.br/mangazord_lib/js/lib/controllers/Leitor/Leitor.min.js - host : ['mangasproject.com.br', 'mangasproject.net.br', 'mangas.zlx.com.br'], - onStart : function () { - Aak.fakeFuckAdBlock('mangasLeitorSlider'); - } - }, - fab_qnimate_com : { - // issue: https://github.com/reek/anti-adblock-killer/issues/739 - // issue: https://github.com/reek/anti-adblock-killer/issues/705 - // note: fuckadblock customized - host : ['qnimate.com'], - onAlways : function () { - Aak.uw.adBlockDetected = function () {}; - } - }, - fab_eurotransport_de : { - // issue: https://github.com/reek/anti-adblock-killer/issues/858 - // note: fuckadblock with custom instance name - host : ['eurotransport.de'], - onStart : function () { - Aak.fakeFuckAdBlock('antiAdBlock'); - } - }, - fab_beppegrillo_it : { - // by: Skr4tchGr3azyMonkiBallllllZzzz - // issue: https://github.com/reek/anti-adblock-killer/issues/784 - // note: fuckadblock with custom instance name - host : ['tzetze.it', 'beppegrillo.it'], - onStart : function () { - Aak.fakeFuckAdBlock('cadetect'); - } - }, - fab_agario_sx : { - // note: fuckadblock with custom instance name - // issue: https://github.com/reek/anti-adblock-killer/issues/1257 - host : ['agario.sx'], - onStart : function () { - Aak.fakeFuckAdBlock('agario_SX_ads'); - } - }, - fab_agarabi_com : { - // note: fuckadblock with custom instance name - // issue: https://github.com/reek/anti-adblock-killer/issues/1135 - host : ['agarabi.com'], - onStart : function () { - Aak.fakeFuckAdBlock('agario_SX_ads'); - } - }, - fab_filespace_com : { - // note: fuckadblock with custom instance name - // source: http://pastebin.com/YAS0As87 - // issue: https://github.com/reek/anti-adblock-killer/issues/1037 - host : ['filespace.com'], - onStart : function () { - Aak.fakeFuckAdBlock('fAB'); - } - }, - fab_topserialy_sk : { - // note: fuckadblock with custom instance name - // source: http://pastebin.com/42tUQ9aV - // issue: https://github.com/reek/anti-adblock-killer/issues/1399 - // issue: https://github.com/reek/anti-adblock-killer/issues/785 - host : ['topserialy.sk'], - onStart : function () { - Aak.fakeFuckAdBlock('sratNaVas'); - } - }, - d3xt3er_antiadblock : { - // site: http://d3xt3r.com/anti-adblock - // case: http://sport-show.fr/js/advertisement-AdBlock.js - // case: http://www.2site.me/advertisement-AdBlock.js - host : ['sport-show.fr', 'vipflash.net', '2site.me'], - onStart : function () { - Aak.addStyle("#blockblockA {visibility:invisible;display:none;} #blockblockA td {visibility:invisible;display:none;} #blockblockA td p {visibility:invisible;display:none;} #blockblockB {visibility:visible;display:block;}"); - } - }, - phoenix_goyavelab : { - // issue: https://github.com/reek/anti-adblock-killer/issues/ - // doc: http://tinyurl.com/gl3ghq2 - // source: http://pastebin.com/hsAmdSuf - // note: script anti-adblock obfuscated, - host : ['demo-phoenix.com', 'dpstream.net', 'gum-gum-streaming.com', 'jeu.info', 'sofoot.com', 'gaara-fr.com', 'gaytube.com', 'tuxboard.com', 'xstory-fr.com', 'hentaifr.net', 'filmstreaming-hd.com', 'filmvf.net', 'hentaihaven.org', 'narutoshippudenvf.com', 'thebadbuzz.com', 'manga-news.com'], - onAlways : function () { - //Aak.uw.__$dc = function () {}; - Aak.addStyle('body {visibility: visible;}'); - }, - onBeforeScript : function () { - return [{ - contains : 'PHENV', - external : false, - remove: true - } - ]; - } - }, - adblock_notify : { - // by: Skr4tchGr3azyMonkiBallllllZzzz - // issue: https://github.com/reek/anti-adblock-killer/issues/1392 - // issue: https://github.com/reek/anti-adblock-killer/issues/1039 - // issue: https://github.com/reek/anti-adblock-killer/issues/592 - // issue: https://github.com/reek/anti-adblock-killer/issues/813 - host : ['gametransfers.com', 'winandmac.com', 'free-steam-giveaways.com', 'canalwp.com', 'alphahistory.com'], - onAlways : function () { - Aak.setCookie('anCookie', true); - Aak.uw.anOptions = {}; - } - }, - lutte_adblock : { - // site: http://lutteadblock.blogspot.com/2014/11/le-script.html - // issue: https://github.com/reek/anti-adblock-killer/issues/938 - // issue: https://github.com/reek/anti-adblock-killer/issues/580 - host : ['lewebtvbouquetfrancophone.overblog.com', 'webtv.bloguez.com', 'latelegratuite.blogspot.com', 'totaldebrid.org', '37.187.173.205'], - onStart : function () { - Aak.addBaitElement('div#my_ad_div'); - Aak.uw.jabbahud = function () {}; - } - }, - blockadblock : { - // site: blockadblock.com - // note: random instance name - // source: https://gist.github.com/Watilin/af75e0a2e82a2efb384bde9c7b41dec8 - // issues: https://github.com/reek/anti-adblock-killer/issues?q=label%3ABlockAdBlock - // issue: https://greasyfork.org/forum/discussion/8273 - // issue: https://greasyfork.org/forum/discussion/7625 - host : ['blockadblock.com', 'linkdrop.net', 'revclouds.com', 'leporno.org', 'uploadshub.com', 'dasolo.org', 'fullstuff.net', 'zeusnews.it', 'cheminots.net', 'lolsy.tv', 'animes-mangas-ddl.com', 'noticiasautomotivas.com.br', 'darkstars.org', 'corepacks.com', 'naturalbd.com', 'coolsoft.altervista.org', 'openload.us', 'cda-online.pl', 'urbanplanet.org', 'mamahd.com', 'sadeempc.com', 'avmoo.com', 'thailande-fr.com', 'btaia.com', 'tusoft.org', 'hisse.net', 'europeup.com', 'nrj.fr', 'srnk.co', 'animmex.co', 'socketloop.com', 'crackhex.com', 'revealedtricks4u.com', 'pizzamaking.com', 'computerworm.net'], - onStart : function () { - /* - Aak.addScript(function () { - _setTimeout = window.setTimeout; - window.setTimeout = function (fn, delay) { - if (typeof fn === 'string' && fn.indexOf('bab_elementid') > -1) { - fn = function () { - console.info(['AntiAdbKiller', location.host, 'BlockAdBlock']); - }; - } - _setTimeout(fn, delay); - }; - }); - */ - } - }, - ad_defend_uabp : { - // source: http://pastebin.com/cFQCp80W - host : ['tvspielfilm.de', 'finanzen.ch'], - onAlways : function () { - Aak.uw.UABPInject = function () {}; - Aak.uw.UABPDetect = function () {}; - }, - onBeforeScript : function () { - // function UABPInject - } - }, - ad_defend_uab : { - // userscript: https://openuserjs.org/scripts/schwarztee/AdDefend_Klatsche - // userscript: https://gist.github.com/anonymous/a9b9956baf1d59a107c5 - // source: http://pastebin.com/BaZvJau3 - // issue: https://github.com/reek/anti-adblock-killer/issues/832 - // issue: https://github.com/reek/anti-adblock-killer/issues/733 - // issue: https://github.com/reek/anti-adblock-killer/issues/710 - // issue: https://github.com/reek/anti-adblock-killer/issues/685 - // issue: https://github.com/reek/anti-adblock-killer/pull/467 - host : ['focus.de', 'stern.de', 'sat1.', 'prosieben.', 'kabeleins.', 'sat1gold.', 'sixx.', 'prosiebenmaxx.', 'fem.com', 'the-voice-of-germany.', 'wetter.com', 'wetteronline.de', 'gamestar.de', 'pcwelt.de', 'boerse-online.de', 'sportauto.de', 'auto-motor-und-sport.de', 'motor-klassik.de', '4wheelfun.de', 'autostrassenverkehr.de', 'lustich.de', 'spox.com', 'shz.de', 'transfermarkt.de', 'rp-online.de', 'motorradonline.de', '20min.ch', 'main-spitze.de', 'wormser-zeitung.de', 'lampertheimer-zeitung.de', 'wiesbdener-tagblatt.de', 'buerstaedter-zeitung.de', 'wiesbdener-kurier.de', 'rhein-main-presse.de', 'allgemeine-zeitung.de', 'ariva.de', 'spiegel.de', 'brigitte.de', 'dshini.net', 'gala.de', 'gamepro.de', 'gamona.de', 'pnn.de', 'promobil.de', 'sportal.de', 'webfail.com', 'computerbild.de', 'finanzen.net', 'comunio.de'], - onAlways : function () { - Aak.uw.uabpdl = false; - }, - onBeforeScript : function () { - // uabDetect - } - }, - /* solved by AakLIst - tisoomi_indirekt : { - // inline: http://pastebin.com/npmXTUHw - // external: http://pastebin.com/hvWnCuDw - host : ['energy.de', 'getvids.de', 'gewinde-normen.de', 'podcast.de', 'spielespielen24.de', 'dialo.de'], - onBeforeScript : function (e) { - var target = e.target || e.srcElement; - var text = target.text; - if (Aak.contains(text, 'n="abcdefghijklm",r="nopqrstuvwxyz",i="0123456789";var s=t==0?i:t==1?n')) { - Aak.stopScript(e); - Aak.log('Tisoomi Indirekt'); - } - } - }, - */ - /* solved by AakLIst - tisoomi_direkt : { - // inline: http://pastebin.com/2vq38JXY - host : ['autozeitung.de', 'formel1.de', 'fremdwort.de', 'inside-handy.de', 'motorsport-total.com', 'aussenwirtschaftslupe.de', 'donnerwetter.de', 'wintotal.de'], - onBeforeScript : function (e) { - var target = e.target || e.srcElement; - var text = target.text; - if (Aak.contains(text, 'function detect()')) { - Aak.stopScript(e); - Aak.log('Tisoomi Direkt'); - } - } - }, - */ - // -------------------------------------------------------------------------------------------- - // Generic - // -------------------------------------------------------------------------------------------- - generic : { - host : ['.*?'], - onRemove : function (removedNode) { - if (Aak.opts.removed) { - if (removedNode.src || - removedNode.id || - removedNode.className && - !/^firebug/.test(removedNode.className)) { - // Node removed - Aak.log(removedNode); - } - } - }, - onStart : function () { - - // FuckAdBlock & BlockAdBlock v3 and v4 - // site: http://www.sitexw.fr/fuckadblock/ - // repo: https://github.com/sitexw/FuckAdBlock - // repo: https://github.com/sitexw/BlockAdBlock - // note: when fuckadblock.js or blockadblock.js is blocked - // demo v3: http://sh.st/vovHE - // demo v4: http://al.ly/qBbXH - // issue: https://github.com/reek/anti-adblock-killer/issues/888 - // issue: https://github.com/reek/anti-adblock-killer/issues/824 - Aak.fakeFuckAdBlock('fuckAdBlock', 'FuckAdBlock'); - Aak.fakeFuckAdBlock('blockAdBlock', 'BlockAdBlock'); - - // canRunAds - // repo: https://github.com/MatthewGross/CanRunAds - // note: use externall script "/js/ads.js" -> var canRunAds = true; - Object.defineProperty(Aak.uw, 'canRunAds', { - enumerable : true, - writable : false, - value : true - }); - - // canShowAds - // issue: https://github.com/reek/anti-adblock-killer/issues/1197 - Object.defineProperty(Aak.uw, 'canShowAds', { - enumerable : true, - writable : false, - value : true - }); - - // Adblocker Detecting Scripts: Method 2 - // gist: https://gist.github.com/irazasyed/3d247d3d121e781a3872 - // note: use externall script "/js/ads.js" -> isAdBlockActive = false; - Object.defineProperty(Aak.uw, 'isAdBlockActive', { - enumerable : true, - writable : false, - value : false - }); - - /* - window.iHaveLoadedAds = true; - var niceAdsCheck=true; - adblock = false - is_blocker = false; - */ - }, - onIdle : function () { - - // AdBlock Detector (XenForo Rellect) - // site: http://tinyurl.com/pa28xdn - // cloneInto: http://tinyurl.com/k6qphme - // issue: https://github.com/reek/anti-adblock-killer/issues/805 - // issue: https://github.com/reek/anti-adblock-killer/issues/804 - // issue: https://github.com/reek/anti-adblock-killer/issues/591 - if (Aak.uw.XenForo && typeof Aak.uw.XenForo.rellect == 'object') { - Aak.uw.XenForo.rellect = { - AdBlockDetector : { - start : function () {} - } - }; - Aak.detected('AdBlock Detector (XenForo Rellect)'); - } - - /* - // Adunblock - http://adunblock.com/ - if (Aak.getCookie('adblock') == 1) { - Aak.setCookie('adblock', 0); - Aak.setCookie('bar_closed', 1); - } - */ - - // Adblock Blocker - // https://wordpress.org/plugins/addblockblocker/ - // http://tinyurl.com/nswn6fz - // http://pastebin.com/d65zr37m - /* can cause a bug - var ads = document.getElementsByClassName('afs_ads'); - var ad = ads.length && ads[ads.length - 1]; - if (ad && ad.innerHTML.length === 0 || ad.clientHeight === 0) { - Aak.addScript(function () { - getElementsByClassNameNative = HTMLDocument.prototype.getElementsByClassName; - HTMLDocument.prototype.getElementsByClassName = function (className) { - if (className == 'afs_ads') { - console.info(['AntiAdbKiller', location.host, 'AdblockBlocker', className]); - var uniqid = Date.now(); - var bait = document.createElement("div"); - bait.innerHTML = '
'; - bait.className = uniqid; - document.body.appendChild(bait); - return document.getElementsByClassName(uniqid); - } - return getElementsByClassNameNative.apply(this, arguments); - }; - }); - } - */ - - // Adbuddy - if (typeof Aak.uw.closeAdbuddy === 'function') { - Aak.uw.closeAdbuddy(); - Aak.detected('Adbuddy'); - } - - // AdBlock Alerter (WP) - // https://github.com/wp-plugins/adblock-alerter - // - if (Aak.getElement('div.adb_overlay > div.adb_modal_img')) { - // Remove Alert + Allow Scroll - Aak.removeElement('div.adb_overlay'); - Aak.addStyle('html,body {height:auto; overflow: auto;}'); - Aak.detected('AdBlockAlerter'); - } - - // Unknow Anti AdBlock system - if (Aak.getElement('#blockdiv') && Aak.contains(Aak.getElement('#blockdiv').innerHTML, 'disable ad blocking or use another browser without any adblocker when you visit')) { - Aak.removeElement('#blockdiv'); - } - - // Antiblock.org v2 - // note: detect and store block id - // demo: http://tinyurl.com/nhyhpzk - var styles = document.querySelectorAll('style'); - for (var i = 0; i < styles.length; i++) { - var style = styles[i]; - var cssRules = style.sheet.cssRules; - for (var j = 0; j < cssRules.length; j++) { - var cssRule = cssRules[j]; - var cssText = cssRule.cssText; - var pattern = /^#([a-z0-9]{4,10}) ~ \* \{ display: none; \}/; - if (pattern.test(cssText)) { - var id = pattern.exec(cssText)[1]; - if (Aak.hasScript("w.addEventListener('load'," + id + ",false)")) { - Aak.aabs.abo2 = id; - break; - } - } - } - } - - var win = Aak.uw; - for (var prop in win) { - try { - if (!/^webkit/.test(prop) && /^[a-z0-9]{4,12}$/i.test(prop) && win.hasOwnProperty(prop) && typeof win[prop] === 'object') { - var method = win[prop]; - - // Antiblock.org v3 & BetterStopAdblock - // issue: https://github.com/reek/anti-adblock-killer/issues/833 - if (method.deferExecution && - method.displayMessage && - method.getElementBy && - method.getStyle && - method.insert && - method.nextFunction) { - if (method.toggle) { - Aak.aabs.bsa = prop; - Aak.detected('BetterStopAdblock{dom}'); - } else { - Aak.aabs.abo3 = prop; - Aak.detected('Antiblock3{dom}'); - } - win[prop] = null; // kill instance - } - - // BlockAdBlock - // site: blockadblock.com - // note: random instance name - // source: https://gist.github.com/Watilin/af75e0a2e82a2efb384bde9c7b41dec8 - // issues: https://github.com/reek/anti-adblock-killer/issues?q=label%3ABlockAdBlock - if (method.bab) { - Aak.detected('BlockAdBlock{dom}'); - win[prop] = null; // kill instance - } - } - } catch (e) { - //console.log('error', prop) - } - } - - // Anti-Adblockers - var aabs = { - // Plugins WordPress - NoAdBlock : '(/plugins/no-adblock/|/blockBlock/blockBlock.jquery.js)', - BetterStopAdblock : '(/plugins/better-stop-adblock/|bsa-script-doctype.js|bsa-script-no-doctype.js)', - AdBlockBlocker : '/plugins/wordpress-adblock-blocker/', - AntiBlockBukssaAyman : '/plugins/anti-block/', - BlockAlyzer : '/plugins/blockalyzer-adblock-counter/', - AdBlockingDetector : '/plugins/ad-blocking-detector/', - // Plugins Website - Adworkmedia : '(adworkmedia|loxtk|contentlockingnetworks).com/gLoader.php', - Adscendmedia : 'adscendmedia.com/gwjs.php', - FuckAdBlock : '(/fuckadblock.js|/blockadblock.js)', - jQueryAdBlock : '/jquery.adblock.js', - jQueryAdblockDetector : '/jquery.adblock-detector.js', - AdBlockAdvertisement : '/advertisement.js', - AdBlockAdvert : '/advert.js', - AdBlockAdvCustom : '/advertisement(.+).js', - AdBlockAdframe : '/adframe.js', - AntiAdBuster : '/anti-ad-buster.js', - RTKAntiAdblock : '/blockcake.js', - AdblockDetector : '/AdblockDetector/handler.min.js', - jQueryAntiAdsBlock : '/jquery.antiadsblock.js', - Adbuddy : '/js/adbuddy.min.js', - AntiADsBlocker : '/aadb/script.js' - }; - - var scripts = document.scripts; - for (var y = 0; y < scripts.length; y++) { - var script = scripts[y]; - if (script.src) { - for (var key in aabs) { - if (new RegExp(aabs[key], 'i').test(script.src)) { - Aak.detected([key, script.src]); - break; - } - } - } - } - - }, - onInsert : function (insertedNode) { - - // All Nodes - if (Aak.opts.inserted) { - if (insertedNode.src || - insertedNode.id || - insertedNode.className && - !/firebug/.test(insertedNode.innerHTML)) { - // Node inserted - Aak.log(insertedNode); - } - } - - // No-Adblock - http://www.no-adblock.com/ - if (insertedNode.id && - insertedNode.id.length == 4 && - /^[a-z0-9]{4}$/.test(insertedNode.id) && - insertedNode.nodeName == 'DIV' && - insertedNode.firstChild && - insertedNode.firstChild.id && - insertedNode.firstChild.id == insertedNode.id && - Aak.contains(insertedNode.innerHTML, 'no-adblock.com')) { - // Remove - Aak.detected('No-Adblock', false, location.href); - Aak.removeElement(insertedNode); - //Aak.log(insertedNode); - } - - // StopAdblock - http://stopadblock.org/downloads/ - if (insertedNode.id && - insertedNode.id.length == 7 && - /^a[a-z0-9]{6}$/.test(insertedNode.id) && - insertedNode.nodeName == 'DIV' && - insertedNode.parentNode && - insertedNode.parentNode.id && - insertedNode.parentNode.id == insertedNode.id + '2' && - Aak.contains(insertedNode.innerHTML, 'stopadblock.org')) { - // Remove - Aak.detected('StopAdBlock', false, location.href); - Aak.removeElement(insertedNode); - //Aak.log(insertedNode); - } - - // AntiAdblock (Packer) - var reIframeId = /^(zd|wd)$/; - var reImgId = /^(xd|gd)$/; - var reImgSrc = /\/ads\/banner.jpg/; - var reIframeSrc = /(\/adhandler\/|\/adimages\/|ad.html)/; - - // Communs - if (insertedNode.id && - reImgId.test(insertedNode.id) && - insertedNode.nodeName == 'IMG' && - reImgSrc.test(insertedNode.src) || - insertedNode.id && - reIframeId.test(insertedNode.id) && - insertedNode.nodeName == 'IFRAME' && - reIframeSrc.test(insertedNode.src)) { - - // Variant 1 - if (insertedNode.id == 'xd') { - Aak.detected('AntiAdblockPackerZdxd', false, location.href); - } // Variant 2 - else if (insertedNode.id == 'gd') { - Aak.detected('AntiAdblockPackerWdgd', false, location.href); - } - // Remove - //Aak.log(insertedNode); - Aak.removeElement(insertedNode); - } - - // Adunblock - http://adunblock.com/ - var reId = /^[a-z]{8}$/; - var reClass = /^[a-z]{8} [a-z]{8}/; - var reBg = /^[a-z]{8}-bg$/; - var reMessage = /Il semblerait que vous utilisiez un bloqueur de publicité !/; - - // Communs - if (typeof Aak.uw.vtfab != 'undefined' && - typeof Aak.uw.adblock_antib != 'undefined' && - insertedNode.parentNode && - insertedNode.parentNode.nodeName == 'BODY' && - insertedNode.id && - reId.test(insertedNode.id) && - insertedNode.nodeName == 'DIV' && - insertedNode.nextSibling && - insertedNode.nextSibling.className && - insertedNode.nextSibling.nodeName == 'DIV') { - - // Full Screen Message (Premium) - //
- //
- if (insertedNode.className && - reClass.test(insertedNode.className) && - reBg.test(insertedNode.nextSibling.className) && - insertedNode.nextSibling.style && - insertedNode.nextSibling.style.display != 'none') { - - // Remove Message - Aak.detected("AdUnBlockPremium"); - Aak.removeElement(insertedNode.nextSibling); // overlay - Aak.removeElement(insertedNode); // box - } - // Top bar Message (Free) - //
- //
- else if (insertedNode.nextSibling.id && - reId.test(insertedNode.nextSibling.id) && - reMessage.test(insertedNode.innerHTML)) { - - // Remove Message - Aak.detected("AdUnBlockFree"); - Aak.removeElement(insertedNode); - } - } - - // Antiblock - http://antiblock.org/ - var reMsgId = /^[a-z0-9]{4,10}$/i; - var reTag1 = /^(div|span|b|i|font|strong|center)$/i; - var reTag2 = /[abisuqp]{1}/i; - var reTag3 = /[abisuq]{1}/i; - var reTag4 = /[p]{1}/i; - var reWords1 = /ad blocker|ad block|ad-block|adblocker|ad-blocker|adblock|bloqueur|bloqueador|Werbeblocker|adblockert|آدبلوك بلس|блокировщиком/i; - var reWords2 = /kapat|disable|désactivez|désactiver|desactivez|desactiver|desative|desactivar|desactive|desactiva|deaktiviere|disabilitare|απενεργοποίηση|запрещать|állítsd le|publicités|рекламе|verhindert|advert|kapatınız/i; - - // Antiblock.org (all version) - if (insertedNode.parentNode && - insertedNode.id && - insertedNode.style && - insertedNode.childNodes.length && - insertedNode.firstChild && - !insertedNode.firstChild.id && - !insertedNode.firstChild.className && - reMsgId.test(insertedNode.id) && - reTag1.test(insertedNode.nodeName) && - reTag2.test(insertedNode.firstChild.nodeName)) { - //Aak.log(insertedNode); - - // Kill audio message - var audio = insertedNode.querySelector("audio[loop]"); - if (audio) { - audio.pause(); - Aak.detected('Antiblock{audio}'); - Aak.removeElement(audio); - } - // Antiblock.org v2 - // demo: http://tinyurl.com/h3mwta4 - else if ((Aak.aabs.abo2 && insertedNode.id == Aak.aabs.abo2) || - (reTag4.test(insertedNode.firstChild.nodeName) && reWords1.test(insertedNode.firstChild.innerHTML) && reWords2.test(insertedNode.firstChild.innerHTML))) { - Aak.detected('Antiblock2{insert}'); - Aak.removeElement(insertedNode); - } - // Antiblock.org v3 - // demo: http://tinyurl.com/qecfa7w - // case: http://tinyurl.com/zbrlr3a /* fork */ - else if ((Aak.aabs.abo3 && insertedNode.id == Aak.aabs.abo3) || - (reTag3.test(insertedNode.firstChild.nodeName) && insertedNode.firstChild.hasChildNodes() && - insertedNode.firstChild.firstChild.nodeName == 'IMG' && /^data:image\/png;base64/.test(insertedNode.firstChild.firstChild.src))) { - Aak.uw[Aak.aabs.abo3] = null; - Aak.detected('Antiblock3{insert}'); - Aak.removeElement(insertedNode); - } - // BetterStopAdblock - // demo: http://tinyurl.com/js9zat4 - // source: http://pastebin.com/YimkrtKB - // issue: http://tinyurl.com/zetgbtx - else if (Aak.aabs.bsa && insertedNode.id == Aak.aabs.bsa) { - Aak.uw[Aak.aabs.bsa] = null; - Aak.detected('BetterStopAdblock{insert}'); - Aak.removeElement(insertedNode); - } - // Many false positive - else { - //Aak.removeElement(insertedNode); - } - } - } - } - }, - blockDetect : function () { - - // Exclude domains - // issue: https://github.com/reek/anti-adblock-killer/issues/1263 - // issue: https://greasyfork.org/en/forum/discussion/8422/ - // issue: https://github.com/reek/anti-adblock-killer/issues/986 - // issue: https://github.com/reek/anti-adblock-killer/issues/857 - // issue: https://github.com/reek/anti-adblock-killer/issues/617 - // issue: https://greasyfork.org/fr/forum/discussion/5426 - // issue: https://github.com/reek/anti-adblock-killer/issues/419 - // issue: https://github.com/reek/anti-adblock-killer/issues/377 - var excludes = ["360.cn", "amazon.", "apple.com", "ask.com", "baidu.com", "bing.com", "bufferapp.com", "chatango.com", "chromeactions.com", "easyinplay.net", "ebay.com", "facebook.com", "flattr.com", "flickr.com", "ghacks.net", "google.", "imdb.com", "imgbox.com", "imgur.com", "instagram.com", "jsbin.com", "jsfiddle.net", "linkedin.com", "live.com", "mail.ru", "microsoft.com", "msn.com", "paypal.com", "pinterest.com", "preloaders.net", "qq.com", "reddit.com", "stackoverflow.com", "tampermonkey.net", "tumblr.com", "twitter.com", "vimeo.com", "wikipedia.org", "w3schools.com", "yahoo.", "yandex.ru", "youtu.be", "youtube.com", "xemvtv.net", "vod.pl", "agar.io", "pandoon.info", "fsf.org", "adblockplus.org", "plnkr.co", "exacttarget.com", "dolldivine.com", "popmech.ru"]; - var host = location.host; - var excluded = false; - excludes.forEach(function (exclude) { - if (new RegExp(exclude).test(host)) { - excluded = true; - if (Aak.opts.logExcluded) { - Aak.warn('Excluded'); - } - return false; - } - }); - - // Include domains - // IsEventupported: http://tinyurl.com/oeez8c7 - if (!excluded) { - - var handlerEvents = function () { - var rule = Aak.rules[name]; - - rule.host.forEach(function (host) { - // Check host - if (new RegExp(host).test(location.host)) { - - // Native mode - if (!Aak.useGM && Aak.isTopframe) { - Aak.warn('Run natively.'); - } - - // Log rule used - if (rule.host[0] != '.*?') { - Aak.detected('rule', rule); - } - - // Before DOM load - if (rule.onStart) { - rule.onStart(); - } - // On all statements - if (rule.onAlways) { - rule.onAlways(); // start - window.addEventListener('DOMContentLoaded', rule.onAlways); // idle - window.addEventListener('load', rule.onAlways); // end - } - // Before Script Executed - if (rule.onBeforeScript) { - - // options: contains, search, replace, override, remove, external - var optionsBeforeScript = rule.onBeforeScript(); - if (typeof optionsBeforeScript == "object") { - - var handlerBeforeScript = function (e, options) { - var isEvent = e instanceof Event; - var thisScript = (e.target || e.srcElement) || e; - - options.forEach(function (o) { // hasAttribute - var src = o.external ? 'src' : 'innerHTML'; - - if (thisScript[src] && thisScript[src].length && thisScript[src].search(o.contains) != -1) { - Aak.log(thisScript, src, o, e); - - // Stop script execution - if (isEvent) { - e.preventDefault(); - e.stopPropagation(); - } - - // Create new script - var parent = thisScript.parentNode; - var newScript = document.createElement('script'); - - // Replace a part of the script - if (o.search && o.replace) { - newScript[src] = thisScript[src].replace(o.search, o.replace); - parent.replaceChild(newScript, thisScript); - } // Override script - else if (o.override) { - newScript[src] = o.override; - parent.replaceChild(newScript, thisScript); - } // Remove script - else if (o.remove) { - parent.removeChild(thisScript); - } - } - }); - }; - - // Browser supporting event beforescriptexecute - if ('onbeforescriptexecute' in document) { - Aak.warn('onbeforescript-native'); - - window.addEventListener('beforescriptexecute', function (e) { - handlerBeforeScript(e, optionsBeforeScript); - }); - - } else { // Browser not suppoting beforescriptexecute - - var loadDocument = function (optionsBeforeScript) { - //if (document.referrer === '') - //return; - - Aak.warn('onbeforescript-compatible'); - - // Stop loading - var script = document.createElement('script'); - script.innerHTML = 'window.stop();'; // chrome/opera - //script.innerHTML = 'document.open();'; // firefox - document.head.appendChild(script); - - // Get content - Aak.request({ - url : location.href, - headers : { - "Referer" : document.referrer - }, - onload : function (result) { - var html = result.responseText; - var parser = new DOMParser(); - var doc = parser.parseFromString(html, "text/html"); - var scripts = doc.scripts; - - for (var i = 0; i < scripts.length; i++) { - var thisScript = scripts[i]; - handlerBeforeScript(thisScript, optionsBeforeScript); - } - - // Convert to string - html = doc.documentElement.outerHTML; - - // Write new content to HTML document: - var script = document.createElement('script'); - script.innerHTML = 'document.open(); document.write(unescape("' + escape(html) + '")); document.close();'; // chrome/opera - //script.innerHTML = 'document.write(unescape("' + escape(html) + '")); document.close();'; // firefox - document.head.appendChild(script); - } - }); - }; - loadDocument(optionsBeforeScript); - } - } - } // After Script Executed - if (rule.onAfterScript) { - if ('onafterscriptexecute' in document) { // Mozilla Firefox - window.addEventListener('afterscriptexecute', rule.onAfterScript); - } - } - // When DOM Load - if (rule.onIdle) { - if (!Aak.useGM) { // Native mode - rule.onIdle(); - } else { - window.addEventListener('DOMContentLoaded', rule.onIdle); - } - } - // When Window Load - if (rule.onEnd) { - if (!Aak.useGM) { // Native mode - rule.onEnd(); - } else { - window.addEventListener('load', rule.onEnd); - } - } - // When DOM AttrModified - if (rule.onAttrModified) { - window.addEventListener('DOMAttrModified', rule.onAttrModified, false); - } - // When DOM SubtreeModified - if (rule.onSubtreeModified) { - window.addEventListener('DOMSubtreeModified', rule.onSubtreeModified, false); - } - // When DOM Elements are Inserted in Document - if (rule.onInsert) { - - // Mutation Observer - // doc: http://tinyurl.com/mxxzee4 - // support: http://tinyurl.com/nepn7vy - if (typeof window.MutationObserver != 'undefined' || - typeof WebKitMutationObserver != 'undefined') { - - // Mutation Observer - var MutationObserver1 = window.MutationObserver || WebKitMutationObserver; - - // Create an observer instance - var obs1 = new MutationObserver1(function (mutations) { - // We can safely use `forEach` because we already use mutation - // observers that are more recent than `forEach`. (source: MDN) - mutations.forEach(function (mutation) { - // we want only added nodes - if (mutation.addedNodes.length) { - Array.prototype.forEach.call(mutation.addedNodes, function (addedNode) { - if (Aak.opts.logInsertedNodes) { - Aak.log(addedNode); - } - rule.onInsert(addedNode); - }); - } - }); - }); - // Observer - obs1.observe(document, { - childList : true, - subtree : true - }); - } - // Mutation Events (Alternative Solution) - // doc: http://tinyurl.com/op95rfy - else { - window.addEventListener("DOMNodeInserted", function (e) { - if (Aak.opts.logInsertedNodes) { - Aak.log(e.target); - } - rule.onInsert(e.target); - }, false); - } - } - // When DOM Elements are Removed in Document - if (rule.onRemove) { - - // Mutation Observer - // doc: http://tinyurl.com/mxxzee4 - // support: http://tinyurl.com/nepn7vy - if (typeof window.MutationObserver != 'undefined' || - typeof WebKitMutationObserver != 'undefined') { - - // Mutation Observer - var MutationObserver2 = window.MutationObserver || WebKitMutationObserver; - - // Create an observer instance - var obs2 = new MutationObserver2(function (mutations) { - // We can safely use `forEach` because we already use mutation - // observers that are more recent than `forEach`. (source: MDN) - mutations.forEach(function (mutation) { - // we want only removed nodes - if (mutation.removedNodes.length) { - Array.prototype.forEach.call(mutation.removedNodes, function (removedNode) { - if (Aak.opts.logRemovedNodes) { - Aak.log(removedNode); - } - rule.onRemove(removedNode); - }); - } - }); - }); - // Observer - obs2.observe(document, { - childList : true, - subtree : true - }); - } - // Mutation Events (Alternative Solution) - // doc: http://tinyurl.com/op95rfy - else { - window.addEventListener("DOMNodeRemoved", function (e) { - if (Aak.opts.logRemovedNodes) { - Aak.log(e.target); - } - rule.onRemove(e.target); - }, false); - } - } - } - }); - }; - - // Apply rules - for (var name in Aak.rules) { - if (Aak.rules.hasOwnProperty(name)) { - handlerEvents(Aak, name); - } - } - } - } - }; - - Aak.initialize(); - -})(window); \ No newline at end of file