All Projects → AdguardTeam → Popupblocker

AdguardTeam / Popupblocker

Licence: lgpl-3.0
Popup blocking userscript

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Popupblocker

Opensourcediversity.org
🌼 Code of https://opensourcediversity.org
Stars: ✭ 122 (-6.15%)
Mutual labels:  open-source
Redux Unhandled Action
Redux middleware that logs an error to the console when an action is fired and the state is not mutated,
Stars: ✭ 125 (-3.85%)
Mutual labels:  open-source
Awesome Python Scripts
A curated collection of some 😍 cool Python scripts.
Stars: ✭ 128 (-1.54%)
Mutual labels:  open-source
Tap Tap Adventure
Tap Tap Adventure is a massively online 2D MMORPG set in the medieval times with twists.
Stars: ✭ 123 (-5.38%)
Mutual labels:  open-source
Black Widow
GUI based offensive penetration testing tool (Open Source)
Stars: ✭ 124 (-4.62%)
Mutual labels:  open-source
Tsed
📐 Ts.ED is a Node.js and TypeScript framework on top of Express to write your application with TypeScript (or ES6). It provides a lot of decorators and guideline to make your code more readable and less error-prone.
Stars: ✭ 1,941 (+1393.08%)
Mutual labels:  open-source
Generator Easy Ui5
Generator for OpenUI5-based web-apps which use the official UI5 tooling and support deployment targets such as the SAP Cloud Platform
Stars: ✭ 119 (-8.46%)
Mutual labels:  open-source
Grandnode
Open source, headless, multi-tenant eCommerce platform built with .NET Core, MongoDB, AWS DocumentDB, Azure CosmosDB, Vue.js.
Stars: ✭ 1,768 (+1260%)
Mutual labels:  open-source
Goofi
✨Let's contribute to OSS. Here is how to find good first issues in GitHub. "goofi" is an abbreviation of "good first issues".
Stars: ✭ 125 (-3.85%)
Mutual labels:  open-source
Gm
UserScripts for Firefox, Chrome and etc
Stars: ✭ 127 (-2.31%)
Mutual labels:  userscript
Awesome Charting
A curated list of the best charting and dataviz resources that developers may find useful, including the best JavaScript charting libraries
Stars: ✭ 1,706 (+1212.31%)
Mutual labels:  open-source
Chevrotain
Parser Building Toolkit for JavaScript
Stars: ✭ 1,795 (+1280.77%)
Mutual labels:  open-source
Notils
Never again need a .utils. package yur scurvy sea dogs!
Stars: ✭ 126 (-3.08%)
Mutual labels:  open-source
Startbootstrap Heroic Features
A Bootstrap HTML homepage template with feature boxes - created by Start Bootstrap
Stars: ✭ 122 (-6.15%)
Mutual labels:  open-source
Wallstant
Create your own social network for free with Wallstant social network, easy to install and fast to use .. Make people connected
Stars: ✭ 127 (-2.31%)
Mutual labels:  open-source
Infinity Square Space
Infinity Square/Space. The prototype of the game is open source. Unity Asset.
Stars: ✭ 122 (-6.15%)
Mutual labels:  open-source
Octopod
Free open source client for OctoPrint
Stars: ✭ 126 (-3.08%)
Mutual labels:  open-source
Instantsearch Android
A library of widgets and helpers to build instant-search applications on Android.
Stars: ✭ 129 (-0.77%)
Mutual labels:  open-source
Warzone2100
Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+
Stars: ✭ 2,094 (+1510.77%)
Mutual labels:  open-source
Awesome Jsgames
A curated list of awesome JavaScript Games 🎮
Stars: ✭ 127 (-2.31%)
Mutual labels:  open-source

Popup Blocker by AdGuard

Summary:

Popup Blocker by AdGuard is a userscript that blocks all unwanted pop-up windows in different browsers.

Key features:

  • Cross-browser support

Works in Chrome, Firefox, Edge, Safari, IE10+ etc, basically in any browser that supports userscript managers. Exceptions are some of the oldest browsers that do not support the API we use, the script may not be fully functional there.

  • Advanced pop-up detection

Popup Blocker doesn't apply the filtering rules approach to pop-up detection. Instead, it adds an additional layer on top of browser's native APIs that are used to create pop-ups. This way, these APIs can only be called when caused by a manual input, and not by pop-up/pop-under scripts. That allows to block pop-ups even on websites that try to bypass regular ad blockers by using WebRTC or varying the ad servers.

  • Restores the expected click behavior

Self-explanatory but important: if a click would cause a pop-up to show, not only the pop-up is blocked, but also the initial click is processed as it would be without the pop-up.

  • Invisible to other scripts

Other scripts on the page can not detect that Popup Blocker is being used, other than by actually trying to open a pop-up. This prevents any possible circumvention of Popup Blocker.

Installation

Current release version: https://userscripts.adtidy.org/release/popup-blocker/2.5/popupblocker.user.js

Curent beta version: https://userscripts.adtidy.org/beta/popup-blocker/2.5/popupblocker.user.js

Popup Blocker is being developed by the same team that develops AdGuard, and AdGuard for Windows can serve as a userscript manager. If you are an AdGuard user, go to Settings – Extensions – Add Extension and enter the desired Popup Blocker .js file URL there. This way you can use it in literally any browser.

On the other hand, Popup Blocker is an independent project, you can use it with any other userscript manager like Greasemonkey, Tampermonkey or Violentmonkey. Make sure one of them is installed in your browser to be able to use the Popup Blocker (just enter the script URL into the address bar, it will be automatically detected by the manager).

Options page

From userscript version 2.5.0 and higher, you can manage a list of whitelisted domains and silenced domain on a dedicated options page.

Reporting a bug

To report a bug, go to this page and create a new issue.

Translation

You can help us with translating Popup Blocker into other languages! Our project on OneSky is open for public contributions.

Development build

Built automatically on every new commit: https://popupblocker.adguard.com/popupblocker.user.js

Development builds have logging enabled and overrides significantly more browser apis to introspect behavior of popup/popunder script. It is not suitable for normal usage.

Unit test for dev build is here.

How to build

Install gulp and ts-node globally by running:

npm install -g gulp ts-node

Install local dependencies by runnning:

yarn install

To build, run:

$ gulp <channel>-<target>[-[un]minified]

or in a minimist style:

gulp build --channel=<channel> --target=<target> --minify=(boolean) --use_adg_domain

Available channels are: dev, beta, release. Available targets are: userscript, chrome, webext, userscript-settings. Use userscript-settings option to build an options.js file only.

minify option will override default minification settings for channel.

use_adg_domain option will make userscript builds to use urls in adguard.com domain as urls of @resource meta tags.

Developement builds are not minified, and will print logs into the browser console.

Beta and release builds will be minified and have all logging codes stripped out. For minified builds, ensure that you have Java installed and have necessary environment variables.

How to debug the options page

Build using the userscript-settings option, go to the build folder via cd command, then run local server:

python -m SimpleHTTPServer

Open http://localhost:8000/options.html

If you use other address or port, you have to modify the src/platform/userscript/content_script.ts file with your address and port. After that, ensure, that userscript (for example, in AG) contains this address and port too.

To see the options page, ensure, that AG filters your debug page.

How to test

An easy way to test the script is to visit http://code.ptcong.com/better-js-popunder-script/

Just click anywhere on that page to get a popunder, or use specific links to get popup/popunder/tabup/etc.

Expected behavior: new windows get blocked with a notification in the top right corner.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].