AdBlock Detector Pro

AdBlock Detector Pro [Paid] v2.7.0

No permission to buy ($40.00)
Wutime updated AdBlock Detector Pro with a new update entry:

v2.4.4

  • NEW: GUEST + USER AdBlock Detection Overlay & Styling
  • NEW: Phrase: wutime_adblock_phrase_notice_message_logged_in_user (users notice block)
  • NEW: Phrase: wutime_adblock_prompt_message_logged_in_user (users overlay)
  • Added "register link" admin option to target guests
  • Added demo button added for [Guest Demo] and for [User Demo]
  • Added 2 new style properties (Overlay Color for Users, Notice Block Color for Users)
  • Updated automatic regeneration frequency (forced cron...

Read the rest of this update entry...
 
Someone brought it to my attention that AdBlock Plus on Safari, very specifically Safari and the AdBlock Plus extension on iPhone, does not detect.

To clarify, while true, it appears that AdBlock Plus on Safari uses a DNS-level AdBlocker. So while Safari on MacOS does not, and is easily detected with "Simple Detection", AdBlock Plus on iPhone does use a DNS-level AdBlocker and therefore requires more aggressive options be enabled in this add-on.

So, if you have a large demographic of Safari users from iPhone that use AdBlock Plus, which is unlikely, but if it's imperative they're detected you'll need to run with the following option enabled: "Remote Loading Detection (caution)".

"Remote Loading Detection (caution)" option specifically will detect iPhone Safari AdBlock Plus users. There's no need for "Network Request Detection (caution)", as this option does NOT detect this specific AdBlock extension.

Testing on iPhone is extremely difficult due to the requirement of not only having a physical device on hand, but also having XCODE installed, along with the appropriate cable to connect the iPhone to a Mac to run the "inspector messaging". It's a breathtakingly complicated setup to say the least.

I have tried to run the XCode emulator with the built-app for AdBlock Plus from GitHub; but with compiler errors I can't get the extension to run properly with Safari so using an emulator is a no-go. If someone has knowledge on an easy-to-use emulator I'm all ears.

With that said, I will try to find a way to detect the extension with Simple Detection, but I'm not sure it'll be possible given the iPhone Safari AdBlock Plus appears to implement DNS-level detection.
 
Last edited:
Wutime updated AdBlock Detector Pro with a new update entry:

v2.4.6

  • FIX: Ensure both a guest and user overlay is created & saved when launching changes
  • FIX: Ensure getLatestAdBlockSource() adhere's to whether guest or user is logged in
  • FIX: Bait classes are now properly selected from a live list (cached for min 90 minutes)
  • ADDED: XF:Error is the URL used for bait classes is invalid or unavailable
  • ADDED: Live bait classes are only available with a cache system provider in config.php
  • NOTE: Appropriate defaults are used if no cache...

Read the rest of this update entry...
 
Wutime updated AdBlock Detector Pro with a new update entry:

v2.4.8

  • NEW: Added the ability to choose a specifc remote loading JavaScript URL that matches your current AdServing network
    • Adds a performance improvement by not having to reload an existing asset if its already available (only applies if using Remote Loading Detection)
  • UPDATE: Options have been re-organized as well as placed in groups
  • UPDATE: Better descriptors for detection methods provided
  • UPDATE: Added validation to URL's to ensure they're semantically...

Read the rest of this update entry...
 
XF 2.2.16pl2
Just upgraded from v2.4.2 to v2.4.8
Thoughts (when testing - Demo - Guest and User)

Guest:
Error: Using $this when not in object context in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 321
  1. Wutime\AdBlock\Helper\AdBlockExtended::getEasyListBait() in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 282
  2. Wutime\AdBlock\Helper\AdBlockExtended->fetchCachedEasyListBait() in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 149
  3. Wutime\AdBlock\Helper\AdBlockExtended->init() in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 27
  4. Wutime\AdBlock\Helper\AdBlockExtended->__construct() in src/addons/Wutime/AdBlock/Admin/Controller/Demo.php at line 28
  5. Wutime\AdBlock\Admin\Controller\Demo->actionDemo() in src/XF/Mvc/Dispatcher.php at line 352
  6. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 258
  7. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
  8. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
  9. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2485
  10. XF\App->run() in src/XF.php at line 524
  11. XF::runApp() in admin.php at line 13

User:
Error: Using $this when not in object context in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 321
  1. Wutime\AdBlock\Helper\AdBlockExtended::getEasyListBait() in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 282
  2. Wutime\AdBlock\Helper\AdBlockExtended->fetchCachedEasyListBait() in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 149
  3. Wutime\AdBlock\Helper\AdBlockExtended->init() in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 27
  4. Wutime\AdBlock\Helper\AdBlockExtended->__construct() in src/addons/Wutime/AdBlock/Admin/Controller/Demo.php at line 28
  5. Wutime\AdBlock\Admin\Controller\Demo->actionDemo() in src/XF/Mvc/Dispatcher.php at line 352
  6. XF\Mvc\Dispatcher->dispatchClass() in src/XF/Mvc/Dispatcher.php at line 258
  7. XF\Mvc\Dispatcher->dispatchFromMatch() in src/XF/Mvc/Dispatcher.php at line 115
  8. XF\Mvc\Dispatcher->dispatchLoop() in src/XF/Mvc/Dispatcher.php at line 57
  9. XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2485
  10. XF\App->run() in src/XF.php at line 524
  11. XF::runApp() in admin.php at line 13
 
XF 2.2.16pl2
Just upgraded from v2.4.2 to v2.4.8
Thoughts (when testing - Demo - Guest and User)

Guest:
Error: Using $this when not in object context in src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php at line 321
Thanks for the heads up. I'll resolve the error in the next update.

Curious though, essentially this occurs on your end because your server isn't able to connect to whatever server you're using for your EasyList.

The default is: https://easylist.to/easylist/easylist.txt

What are you using?
 
Also receiving this as soon as I enable the addon

  • Error: Template public:wutime_adblock_page_container_injection error: Using $this when not in object context
  • src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php:321
  • Generated by: Unknown account
  • Aug 27, 2024 at 7:56 AM

Stack trace​

#0 src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php(282): Wutime\AdBlock\Helper\AdBlockExtended::getEasyListBait()
#1 src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php(149): Wutime\AdBlock\Helper\AdBlockExtended->fetchCachedEasyListBait()
#2 src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php(27): Wutime\AdBlock\Helper\AdBlockExtended->init()
#3 src/addons/Wutime/AdBlock/Helper/AdBlockExtended.php(234): Wutime\AdBlock\Helper\AdBlockExtended->__construct(false, true)
#4 src/XF/Template/Templater.php(1699): Wutime\AdBlock\Helper\AdBlockExtended::getLatestAdBlockSource(true, Array, Object(XF\Template\Templater))
#5 internal_data/code_cache/templates/l1/s4/public/wutime_adblock_page_container_injection.php(58): XF\Template\Templater->callback('Wutime\\AdBlock\\...', 'getLatestAdBloc...', true, Array)
#6 src/XF/Template/Templater.php(1655): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array, NULL)
#7 src/XF/Template/Templater.php(1684): XF\Template\Templater->renderTemplate('wutime_adblock_...', Array)
#8 internal_data/code_cache/templates/l1/s4/public/PAGE_CONTAINER.php(2233): XF\Template\Templater->includeTemplate('public:wutime_a...', Array)
#9 src/XF/Template/Templater.php(1655): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array, NULL)
#10 src/XF/Pub/App.php(565): XF\Template\Templater->renderTemplate('PAGE_CONTAINER', Array)
#11 src/XF/App.php(2283): XF\Pub\App->renderPageHtml('









...', Array, Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#12 src/XF/Mvc/Dispatcher.php(404): XF\App->renderPage('









...', Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#13 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#14 src/XF/App.php(2485): XF\Mvc\Dispatcher->run()
#15 src/XF.php(524): XF\App->run()
#16 index.php(20): XF::runApp('XF\\Pub\\App')
#17 {main}

Request state​

array(4) {
["url"] => string(39) "/community/media/albums/mreggmnstr.679/"
["referrer"] => bool(false)
["_GET"] => array(0) {
}
["_POST"] => array(0) {
}
}
 
@philmckrackon bit stumped at the moment because I can't reproduce the error.

What version of XenForo are you running, and, in your config.php, what caching mechanism are you using? I'm almost certain you're using FileSystem, but wanted to confirm.

Should be something like the following in /src/config.php:

PHP:
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'Filesystem';
$config['cache']['config'] = [
    'directory' => '/opt/homebrew/var/www/xf23/cache'
];

Thanks
 
@philmckrackon bit stumped at the moment because I can't reproduce the error.

What version of XenForo are you running, and, in your config.php, what caching mechanism are you using? I'm almost certain you're using FileSystem, but wanted to confirm.

Should be something like the following in /src/config.php:

PHP:
$config['cache']['enabled'] = true;
$config['cache']['provider'] = 'Filesystem';
$config['cache']['config'] = [
    'directory' => '/opt/homebrew/var/www/xf23/cache'
];

Thanks
XF2.2.16pl2
PHP:
// MemCache
$config['cache']['enabled'] = true;
$config['cache']['sessions'] = true;
$config['cache']['css']['enabled'] = true;
$config['cache']['provider'] = 'Memcached';
$config['cache']['config'] = [
    'server' => '127.0.0.1'
];

// Page cache configuration
$config['pageCache']['enabled'] = true;
$config['pageCache']['lifetime'] = 43200;
$config['cache']['context']['page']['provider'] = 'Memcached';
$config['cache']['context']['page']['config'] = [
        'server' => [
            ['127.0.0.1',11211]
        ]
    ];
 
Back
Top Bottom