Skip to content

Releases: AdguardTeam/PopupBlocker

2.1.2

22 Aug 11:36
Compare
Choose a tag to compare
2.1.2 Pre-release
Pre-release

[Improved] Prevent background redirect #14

Certain popunders repliactes a current page in a newly opened tab and navigates the current tab to an undesirable page (for example, an advertisements page).

While some of them are respectful in that if a popup did not successfully open it does not navigates the page, there are those pesky little scripts that navigates the originating page regardless of it. In such cases, a popup will be blocked, but the page will still be moved away to an undesirable page.

In doing so, such popunder scripts use window.location api to navigates page, and these apis are not allowed to be replaced with custom functions with additional checks.

Now, we attempt to detect whether the target of a blocked popup looks like a replicated page, and aborts the script execution in the middle of a popunder script. In this way, the popunder script's location api call won't be executed. The caveat is, however, that if this ever causes a false-positive, its effect can be more detrimental.

Any such false-positive constitutes a valid bug report, however please keep in mind that it may not be fixed in a generic way when it is not feasible. You can instead whitelist the specific page where it happens.

Also, currently the detection of popup target is not deterministic, because there are many ways that a popunder script interacts with a popup window after a popup window is opened. We try our best by using ES6 Proxy pattern, but it may miss some replicated popup targets and please report such cases to us so that we can improve our detection mechanism. We provide an additional protection, it will notify you when a page tries to move away within a short time after a suspicious popup is blocked. You can choose to move away or to stay to the current page.

[Added] Pop-up blocker warning alerts #13

Now we show alerts at top right corner of a page when we block a popup. From this alert, you can try to whitelist a destination by clicking "Always allow {url}" or whitelist a source page by clicking "Allow all pop-ups on this website". You can choose to visit the blocked popup window by clicking on the url hyperlink.

[Added] Prepare localisation module #16
Translations for a alert notification user interface is available at oneskyapp.

[Fixed] Make sure alert requests can be sent from deeply nested cross-origin frames #17

2.1.0

10 Aug 19:25
Compare
Choose a tag to compare
2.1.0 Pre-release
Pre-release

[Improved] Implement alternative popup detection mechanism #5

This release contains a vast improvements in terms of popup detection. Previously, due to lack of an api window.event in Firefox, popup detection in Gecko-based browsers was unreliable. Now a polyfill that is sufficient for popup detection is implemented. Also, a some sophisticated popup scripts involves doing some unusual operations quickly, such as creating an invisible hyperlink or an invisible empty frames. Now, we implement a short-term "logger" inside of the userscript that remembers such operations, and are able to use this information to intelligently block such popups.

More details can be found in a pull request.

2.0.0

10 Aug 10:29
Compare
Choose a tag to compare

Popup blocker is historically one of the scripts included by default in AdGuard for Windows and AdGuard for Mac, along with AdGuard Assistant. Its purpose should be clear from its name -- to block suspicious attempts of opening pop-up windows, which are often irritating and unwelcome, and sometimes outright dangerous.

This is the second release of AdGuard Popup blocker -- this time, reworked completely from scratch. It is now capable of handling modern pop-up scripts, unlike the first version which was not updated for quite some time.

Please note that currently it is fully functional only in Chromium, and a bit limited in other browsers. Improving its work in non-Chromium browsers is one of the primary tasks for the future versions of AdGuard Popup blocker.