Closed adguard-bot closed 6 years ago
Unsure how to fix it for non App versions.
@seanl-adg Can you please check.
https://www.dnvod.tv/Movie/Readyplay.aspx?id=N%2bN0T7Wd7m4%3d
Information | value |
---|---|
Platform: | Ext |
AdGuard version: | 2.8.4 |
Browser: | Chrome |
Filters: | Russian, Filter unblocking search ads and self-promotion, EasyList China, EasyList Czech and Slovak, EasyList Italy, Liste FR, Turkish, French, English, Adblock & uBlock polish, Adblock & uBlock polish filter - Adguard supplement, Spyware, Social media, German, Japanese, Dutch, Spanish/Portuguese |
Can't reproduce. Please try to disable EasyList Czech and Slovak, EasyList Italy, Liste FR, Adblock & uBlock polish, Adblock & uBlock polish filter - Adguard supplement
hullo I am the original reporter of this issue. It seems to be a hard problem since it's been open for a while. This can be reproduced 100%, no need to disable any filters, I had only two English, EasyList China.
Though I noticed since after certain update of Chrome or Firefox, you might need to re-enable running adobe flash plugin when you go to the issue link. Just click the link the screen shows (it shows Chinese, meaning "install Adobe Flash plugin", but when you click on it, Browser will ask you permission to run Flash for this site). Once it's enabled, you will see the reported issue.
Damn. It is impossible)
Please check these rules one-by-one:
@@||dnvod.tv^$elemhide,important
@@||dnvod.tv^$urlblock,important
Hi I just tried both rules, one by one. It caused a popup window right away saying I am using ad blocking stuff. It seems it's even easier for the website zu detect adguard.
Let me re-iterate the original error: the site runs a ad video for 70 seconds before each video starts. Adguard seems to reduce the count-down time to 2 seconds (counting down really quickly). Then the screen I posted shows up saying I am using some ad blocking stuff and refuses to play the video. Maybe the site is checking the time the ad video has been running? Could you see what data they send back to the server?
Ok. Please check @@dnvod.tv/_player/*/ckplayer.js$replace=/cpt\+='skipads.swf\,0\,0\,0\,0\,2\,0\|';//,domain=dnvod.tv
Video ad will be unblocked.
sorry hate to say this: just check the new rule as below in Firefox
Same result - the video running but covered by the visual block.
Information | value |
---|---|
Platform: | Ext |
AdGuard version: | 2.8.4 |
Browser: | Chrome |
Filters: | EasyList China, English |
Sadly, I can't reproduce. @AdamWr can you reproduce it on your end? Maybe we should to [partially]exlude this site for browser extensions.
I can reproduce it with AdGuard Extension if I enable EasyList China
but after 70 seconds I can watch video, so I think the main problem is timer.
With AdGuard for Windows it works fine.
Hi AdamWr, you are right, one needs the EasyList China, otherwise the ad will be running for 70 sec before the video starts. But with EasyList China, the video starts to run almost right away since the timer counts down quickly, but the video is then covered with this visual blocker until the 70 sec is over. So either way it defeats Adguard for its purpose.
If this is a good way to fight Ad Blockers, I am afraid soon other sites will follow suit.
Alright, I was curious how they managed to do it and dug around a little bit.
Their trick is to let the Flash video player load the anti-block as a swf clip and play it before / on top of the actual video.
More specifically, the website uses a Flash video player called ckplayer (loaded as ckplayer.swf
on the page). Upon loading, the player requests a configuration file called ckplayer.js
from the server. One can see several swf
files being specified in ckplayer.js
. I hijacked the javascript and removed those lines from the configuration, cleared the cache, and reloaded the page --- the anti-block is now removed.
I believe @Alex-302 already suspected this. However it seems skipads.swf
is not the only culprit --- blocking all the swf
should work.
Hope this helps.
Hi @zhangxiubo, is there any rule that really works like blocking all the swf? The rules provided by Alex only resulted in a screen telling me I have some adblockers installed with movie running beneath that screen.
Hello @fireincairo00, unfortunately I am not very familiar with writing ad-blocker rules but I used a Chrome extension called Resource Override to hijack the loading of the scripts --- you can download ckplayer.js
, remove the lines, and configure the extension to replace the original ckplayer.js
with your modified copy. Hopefully someone who's more experienced with ad-blocker's rules can come up with a proper solution that works for uBlock / Adblock Plus.
Hi @zhangxiubo , thanks for the info, really appreciate it. Will try the extension first.
@zhangxiubo Hi. Which lines was removed/changed?
@Alex-302 These are pretty-printed; please see the commented lines.
function ckcpt() {
var cpt = '';
// cpt += 'right.swf,2,1,0,0,2,0|';
// cpt += 'share.swf,1,1,-180,-100,3,0|';
// cpt += 'adjustment.swf,1,1,-180,-100,3,0|';
// cpt += 'scaling.swf,0,0,0,0,2,0|';
// cpt += 'skipads.swf,0,0,0,0,2,0|';
return cpt;
}
function ckstyle() {
var ck = {
cpath: '',
language: '',
flashvars: '',
setup: '1,1,1,1,1,0,0,1,0,0,0,1,200,0,2,1,0,1,1,1,0,10,3,0,0,2,3000,0,0,0,0,1,1,1,1,1,1,250,0,90,0,0,0',
pm_bg: '0x000000,100,230,180',
mylogo: 'null',
pm_mylogo: '1,1,-100,-55',
logo: 'cklogo.png',
pm_logo: '0,0,20,20',
// control_rel: 'related.swf,ckplayer/related.xml,0',
// control_pv: 'Preview.swf,105,2000',
pm_repc: '',
pm_spac: '|',
pm_fpac: 'file->f',
pm_advtime: '2,0,-110,10,0,300,0',
pm_advstatus: '1,2,2,-200,-40',
pm_advjp: '1,1,2,2,-100,-40',
pm_padvc: '2,0,-10,-10',
pm_advms: '2,2,-46,-56',
pm_zip: '1,1,-20,-8,1,0,0',
pm_advmarquee: '1,2,50,-60,50,20,0,0x000000,50,0,20,1,30,2000',
pm_glowfilter: '1,0x01485d, 100, 6, 3, 10, 1, 0, 0',
// some lines omitted here ....
mainfuntion: '',
flashplayer: '',
calljs: 'ckplayer_status,ckadjump,playerstop,ckmarqueeadv',
myweb: escape(''),
cpt_lights: '0',
cpt_share: 'ckplayer/share.xml',
cpt_list: ckcpt()
}
return ck;
}
@AdamWr , @zhangxiubo please check this rule
||dnvod.tv/_player/*/ckplayer.js$replace=/\,control_rel:\'related.swf\,ckplayer\/related.xml\,0\'\,control_pv:\'Preview.swf\,\d+\,\d+'/,important
it works in desktop apps only
On my end current rule from English filter works fine in AdGuard for Windows.
Maybe these rules will be work in extension (second rule is from EasyList China):
dnvod.tv#%#AG_onLoad(function() { window.ckcpt = function() {}; });
||dnvod.tv^*.jpg$object-subrequest,domain=dnvod.tv
@AdamWr: I tried with both rules added as user rules it works, with only the first rule enabled, it works too.
the site's pictures are gone but links still usable. Maybe the javascript that was emptied by the rule is also responsible to load the pics, but anyway I can turn off the guard when picking movies and turn it on when viewing it, no big deal.
@AdamWr @Alex-302 @zhangxiubo : Thanks a ton for this. Really really appreciate it! Great work!
To summarize: the rules to use:
dnvod.tv#%#AG_onLoad(function() { window.ckcpt = function() {}; }); ||dnvod.tv^*.jpg$object-subrequest,domain=dnvod.tv
It seems that images was blocked by this rule:
||static.dnvod.tv/upload/video^$domain=dnvod.tv,image
I removed that rule.
Added to English filter:
||static.dnvod.tv/upload/video/*.jpg$domain=dnvod.tv,image
||dnvod.tv^*.jpg$object-subrequest,domain=dnvod.tv
dnvod.tv#%#AG_onLoad(function() { window.ckcpt = function() {}; });
Update will be available in 2-3 hours. Please, check the result.
Hi @AdamWr , thanks. Just updated the filter and it works better now, though some pictures still get blocked (seems mostly old movie entries, maybe they used a different style), but most of them are shown. I still need to add both rules as user rule for the video part to work, strang since you added it in the English filter and I had all three filters updated.
anyway with the previous two rules as user rule, almost everything works. Before the filter update I even only need "dnvod.tv#%#AG_onLoad(function() { window.ckcpt = function() {}; });". The whole thing seems really tricky to me. :-)
Hi,
I guess that you are using Firefox.
As far as I know AdGuard Extension for Firefox (downloaded from addons.mozilla.org) unfortunately can't update/download new JS (#%#
) rules, so it is probably a reason why you need it in user filter.
I don't know why you need second rule in user filter, it is in English filter, so it should work.
some pictures still get blocked
Ok, I fixed it, now should be okay.
yes am using firefox. After today's update, I only need the first rule again, maybe the update was not in last update. I will test Chrome later and post the result here.
@AdamWr I just updated the filter and tested on Chrome - everything works without the user rule. Thanks a lot for this!
Issue URL (Anti Adblock Script)
http://www.dnvod.tv/Movie/Readyplay.aspx?id=HhYMLfBFj64%3d
Comment
Screenshots
Screenshot 1
![Screenshot 1](https://reports-img.adguard.com/Y3Lg0qp.jpg)System configuration
EasyList China