Greasy Fork is available in English.
Заблокировать рекламу в вк
// ==UserScript==// @name Блокировщик рекламы вк// @namespace none// @version 3.1// @description Заблокировать рекламу в вк// @author Dinaco Studio// @match https://*.vk.com/*// @include https://*.vk.com/*// @include https://*.vkvideo.ru/*// @include https://vkvideo.ru/*// @icon https://www.google.com/s2/favicons?domain=vk.com// @grant GM_webRequest// @webRequest [{"selector":"*://stats.vk-portal.net/web-stats/*","action":"cancel"},{"selector":"*://vk.com/al_audio.php?act=ad_event","action":"cancel"},{"selector":"*://vk.com/ads_rotate.php?act=al_update_ad","action":"cancel"},{"selector":"*://ad.mail.ru/*","action":"cancel"},{"selector":"*://trk.mail.ru/i/*","action":"cancel"},{"selector":"*://top-fwz1.mail.ru/js/code.js","action":"cancel"},{"selector":"*://ad.mail.ru/static/admanhtml/rbadman-html5.min.js","action":"cancel"},{"selector":"*://www.tns-counter.ru/*","action":"cancel"},{"selector":"*://r3.mail.ru/k?*","action":"cancel"},{"selector":"*://vk.com/js/lib/px.js","action":"cancel"}]// @license GNU GPLv3// ==/UserScript==const universal_ads = `.right_list:has([onclick*="return showApp"]),.CatalogSection:has(.audio_promo),[class^="ads_ad_"],[class^="ads"],.ads_ads_news_wrap,._ads_promoted_post_data_w,div#left_ads,div[data-ad-view],div[data-ad],div[ads_left],.post[data-ad],.post[data-ad-view],div[id^="postadsite_"],div#ads_left,[data-ad-view],div#games_catalog_header_content,#ads_left,.audio_subscribe_promo__content,#apps_ads_wrap,#ads_special_promo_wrap,#apps_ads_wrap,._ads_promoted_post_data_w,.ads_ads_news_wrap,div#left_ads,.ads_ads_box,.ads_ads_news_wrap,div[id^="vk_ads_"]`;try{Object.defineProperty(unsafeWindow, 'MotionKit', {value: {},writable: false, // Запрещает перезапись значенияconfigurable: false // Запрещает изменение дескрипторов свойства});}catch{Object.seal(unsafeWindow.MotionKit)Object.assign({}, unsafeWindow.MotionKit)unsafeWindow.MotionKit = {}}unsafeWindow.MotionKit = {}function hookFunction(originalFunction, beforeHook, stopCondition) {return function(...args) {if (typeof beforeHook === 'function') {beforeHook(...args);}// Если условие остановки выполнено, прекращаем выполнение оригинальной функцииif (typeof stopCondition === 'function' && stopCondition(...args)) {console.log("JOPA")return; // Можно вернуть значение по умолчанию или бросить ошибку}// Иначе вызываем оригинальную функциюreturn originalFunction(...args);};}function waitFor(conditionFn, { interval = 100 } = {}) {return new Promise((resolve, reject) => {const startTime = Date.now();(function checkCondition() {if (conditionFn()) {resolve();} else {setTimeout(checkCondition, interval);}})();});}window.onload = function() {waitFor(() => typeof unsafeWindow?.stManager?.add !== 'undefined').then(e=>{unsafeWindow.stManager.add = hookFunction(unsafeWindow.stManager.add,null,function(...args){return Array.isArray(args?.at(0)) && args?.at(0)?.find(e=>e.match(/ads_light\.js/))})})waitFor(() => typeof unsafeWindow?.vk !== 'undefined').then(e=>{set();})waitFor(() => typeof unsafeWindow?.browser !== 'undefined').then(e=>{unsafeWindow.browser.ios = true;})setInterval(block,100)}function set(){if (typeof unsafeWindow?.vk?.pe == 'undefined') return//unsafeWindow.vk.pe.tgb_adblock_protection = true;unsafeWindow.vk.audioAdsConfig = null;unsafeWindow.browser.ios = true;unsafeWindow.ap.ads._adEvents = [];unsafeWindow.ap.ads._isPlaying = false;unsafeWindow.noAdsAtAll = trueunsafeWindow.PageBottomBanners.initUnauthBanner = function () { }unsafeWindow.Unauthorized2 = undefinedunsafeWindow.noAds = trueunsafeWindow.cur.no_left_ads = true;unsafeWindow.cur.isGamesInRightBlock = false;unsafeWindow.no_ads = true;unsafeWindow.isNoAdsForce = true;unsafeWindow.hide_ad = trueunsafeWindow.vk__adsLight.yaDirectAdActive = false;unsafeWindow.ya_direct = false}function block(){set();localStorage.setItem("ads.events", null);if (typeof unsafeWindow?.vk !== 'undefined'){localStorage.setItem("ads.events_@id:"+unsafeWindow.vk.id,null)}let ad_blocks = document.querySelectorAll(universal_ads);for (let ad of ad_blocks){ad.outerHTML= '';}const videoplayer_ads_actions = document.querySelector('div.videoplayer_ads_actions')if (videoplayer_ads_actions)videoplayer_ads_actions.style.display = 'none'let el = document.querySelector("div.rb-adman-cta-block-wrapper") || document.querySelector("div.rb-adman-cta-btn") || document.querySelector("div.shadow-root-container")?.shadowRoot.querySelector("div.rb-adman-cta-block-wrapper")document.querySelector('div.rb-adman-ad-actions')?.remove()document.querySelector('div.videoplayer_ads_media_el')?.remove()document.querySelector('div.videoplayer_ads')?.remove()el?.remove()}