reek / anti-adblock-killer

Anti-Adblock Killer helps you keep your Ad-Blocker active, when you visit a website and it asks you to disable.
http://reek.github.io/anti-adblock-killer/
Other
5.93k stars 764 forks source link

nbcsports.com #3762

Open noalb1 opened 6 years ago

noalb1 commented 6 years ago

http://stream.nbcsports.com/ Chrome Adblock & Adblock Plus (I've tried both separately) Tampermonkey Filters: EasyList, AdBlock custom filters, Adblock Warning Removal list, Antisocial filter list, Cryptocurrency (Bitcoin) Mining Protection List, EasyPrivacy, Fanboy's Annoyances, Malware protection

NBC Sports runs two anti ad-blockers. One is just a single line of JavaScript that reports whether it was blocked or not (I just had to whitelist: @@||stream.nbcsports.com/assets/page/general/ads.js). The other one is part of the player div and I'm having trouble blocking it. I'm pretty sure this is the culprit:


<div id="nbc-content">
--
  | <!-- Start Partner Content -->
  | <script type="text/javascript" src="/assets/page/scripts/libs.js?v=1502468130856"></script>
  | <script type="text/javascript" src="/assets/page/scripts/master.js?v=1510599156819"></script>
  | <script type="text/javascript" src="/assets/page/static-js/providers-master.js?v=1510772590461"></script>
  | <script type="text/javascript">
  |  
  | var showModules = true;
  | if (!navigator.platform \|\| !navigator.platform.match(/win/i)) {
  | showModules = false;
  | }
  |  
  |  
  | // Module settings for this page
  | var pageModulesConfig = {
  | "livePolling": true,
  | "page": {
  | "visibility": {
  | "iframe": showModules,
  | "stats": showModules
  | }
  | },
  | "stats": {
  | "remote": true,
  | "endpoint": {
  | "uri": "/data/stats_nfl.json",
  | "format": "json",
  | "pollRate": 60000
  | }
  | }
  | };
  |  
  | // Set up PID
  | var qString = secondthought.UrlHelper.getQueryString(location.search);
  | var pid = 38022;
  |  
  | if (qString.pid && (typeof parseInt(qString.pid) == 'number') && (parseInt(qString.pid) % 1 == 0)) {
  | pid = qString.pid;
  | }
  |  
  |  
  | // Set up Flash use
  | var useFlash = false;
  |  
  | if (navigator.userAgent.match(/(iPhone\|iP[ao]d\|Android\|Windows Phone)/i) ) {
  | useFlash = false;
  | }
  |  
  | if (qString.html5 === "1" \|\| qString.html === "1") {
  | useFlash = false;
  | } else if (qString.html5 === "0" \|\| qString.html === "0") {
  | useFlash = true;
  | }
  |  
  |  
  | var resource = '<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>nbc_linear</title><item><title>Watch Green Bay Packers-Pittsburgh Steelers on Sunday Night Football</title><guid>' + pid + '</guid></item></channel></rss>';
  |  
  |  
  | var requestorID = 'nbcentertainment';
  |  
  |  
  | // Set up flash vars
  | var dartRefreshInterval = 180000;
  | var defaultFlashVars = {
  |  
  | APResource: encodeURI(resource),
  |  
  | autoLoad: false,
  | pageVersion: 'SP-nws-00102',
  | assetBase: '/assets/page/swf/assets',
  | dartRefreshInterval: dartRefreshInterval,
  | pid: pid,
  | token: 1234,
  | reserveMaxBitrate: 1,
  | fsbCompanionAlign: '',
  | fsBrandStretchMid: 0,
  | maxLiveDelay: 45,
  | maxLiveCatchup: 0,
  |  
  | initialBuffer: 2,
  |  
  |  
  | 'hlsjs.liveSyncDurationCount': 5,
  |  
  |  
  | 'pip': '0',
  |  
  | 'poster': '',
  |  
  | goLiveLabel: 'Go Live',
  | liveLabel: 'Live',
  | shareLabelTitle: 'Share This Video',
  | shareSubTitle1: 'Post this link on one of these sites',
  | shareSubTitle2: 'Or copy the URI to your clipboard',
  | adPlayingLabel: 'Ad Playing',
  | useHLSv4Url: 1,
  | hlsToken: '/../token/nbcsportswildcard.dat'
  | };
  | if (window.globalFlashVars) {
  | jQuery.extend(true, defaultFlashVars, window.globalFlashVars);
  | }
  | var flashVars = jQuery.extend(true, defaultFlashVars, qString);
  |  
  | var referrer = qString.p ? qString.p : null;
  | if (referrer) {
  | flashVars.referrer = '_' + referrer;
  | } else {
  | flashVars.referrer = '';
  | }
  |  
  | // Player setup
  | var swfUrl = '/assets/page/swf/NBCSportsPlayer-hls.swf?v=1497900427010';
  |  
  | if (qString.player && !window.location.hostname.match(/^stream\./)) {
  | var matches = qString.player.match(/[^\/]+\.swf$/);
  | if (matches) {
  | swfUrl = '/assets/page/swf/' + matches[0];
  | }
  | }
  | var xiSwfUrlStr = '/assets/page/swf/expressInstall.swf';
  | var NBC_player = new secondthoughtnbc.Player({
  | swfUrl: swfUrl,
  | flashvars: flashVars,
  | useNativeFullScreen: false,
  | xiSwfUrlStr: xiSwfUrlStr,
  | forceLive: true,
  | useFlash: useFlash,
  |  
  | forceLinearPlayer: false
  | });
  |  
  |  
  | // Ad module setup
  | var NBC_AdModule = new secondthoughtnbc.AdModuleGeneric({
  | player: NBC_player,
  | networkId: '2620',
  | adUnitLevel1: adTags.level1,
  | adUnitLevel2: adTags.level2,
  | adUnitLevel3: adTags.level3,
  | linearPlayer: false,
  | checkViewability: true,
  | additionalTargeting: adTags.additionalTargeting,
  | dartRefreshInterval: dartRefreshInterval,
  | noPrerollDetectionTimeout: 1000,
  | referrer: referrer,
  |  
  |  
  | hasPencilUnit: true,
  | forceCameraIndex: 1
  | });
  |  
  |  
  | var config = qString.configUrl ? qString.configUrl : '/data/event_config_#PID#.json';
  |  
  | config = config.replace('#PID#', pid);
  |  
  |  
  |  
  | // Access enabler setup
  | var NBC_AccessEnabler = new secondthoughtnbc.AccessEnabler({
  | AccessEnablerLocation: 'http://entitlement.auth.adobe.com/entitlement/js/AccessEnabler.js',
  | whiteListProvidedByProviderInfo: true,
  | useFlash: useFlash,
  | authenticatedMode: true,
  | providerDefaults: {
  | selectPassword: 'Select Your TV Provider',
  | selectNewAccount: 'Select Your TV Provider'
  | },
  | uiConfig: {
  | settings: {
  | entity: 'NBC Sports',
  | getStartedLink: true
  | },
  | title: 'Welcome to #ENTITY#',
  | subtitle: 'Sign-In with the Username or Email address and Password you use with your cable, satellite, or telco TV provider. There is no additional charge.',
  | getStarted: 'CONTINUE>>',
  | faqUrl: 'http://www.nbcsports.com/live-faq'
  | },
  | xiSwfUrlStr: xiSwfUrlStr,
  | tracking: {
  | trackingFunction: trackAuth
  | },
  |  
  |  
  |  
  | checkConfig: config,
  |  
  | requestorID: requestorID,
  |  
  |  
  | resource: resource,
  |  
  |  
  |  
  |  
  | providerInfo: providerInfoExternal,
  | useTempPass: true,
  | tempPassInfo: tempPassInfoExternal
  | });
  |  
  |  
  | var serviceFormat = qString.serviceFormat ? qString.serviceFormat : 'json';
  | var configFormat = qString.configFormat ? qString.configFormat : serviceFormat;
  |  
  | // Page details setup
  | var NBC_page = new secondthoughtnbc.Page({
  | pid: pid,
  | livePolling: true,
  | endpointsMeta: {
  | defaultFormat: serviceFormat,
  | faultRetryInterval: '00:00:05',
  | cache: false
  | },
  | dataSources: [
  | {name: 'config', updateInterval: '00:00:-01', url: config, format: configFormat},
  | {name: 'dma', format: 'jsonp'}
  | ],
  | player: NBC_player,
  |  
  | adModule: NBC_AdModule,
  |  
  | initPlayer: true,
  | initAdModule: true,
  | autoplayVod: true,
  | allowChallenge: true,
  | anvatoDomain: 'tkx-cable-prod.nbc.anvato.net',
  | anvatoAck: 'nbcu_nbcsn_nbcsn_web_prod_54ef1d22d97fc806627b6d55fafa79e3e4ec0f30',
  |  
  |  
  |  
  | initAccessEnabler: true,
  | accessEnabler: NBC_AccessEnabler,
  |  
  |  
  |  
  | foilAdBlockers: true,
  |  
  | foilAdBlockersMessage: '<h3>FUMBLE!</h3>PLEASE TURN OFF YOUR AD BLOCKER<br />This video is unavailable if an ad blocker is running. Please disable and reload the page to start the video.',
  |  
  |  
  | modulesConfig: pageModulesConfig
  | });
  | NBC_page.initialise(window);
  | secondthought.UrlHelper.initNewWindowLinks();
  | </script>

It runs fine for a while, but I inevitably get this:

adblock nbcsports com

uBlock-user commented 6 years ago

Can't reproduce.

lain566 commented 6 years ago

I think it's fixed on uBlock Protector You can try it if you want of course https://jspenguin2017.github.io/uBlockProtector/