Giter Site home page Giter Site logo

ublock-llc / ublock Goto Github PK

View Code? Open in Web Editor NEW
8.2K 8.2K 439.0 85.94 MB

uBlock: a fast, lightweight, and lean blocker for Chrome, Firefox, and Safari.

Home Page: https://ublock.org/

License: GNU General Public License v3.0

Shell 1.59% HTML 2.45% JavaScript 92.21% CSS 2.88% Python 0.87%
adblock blocker chrome extension firefox javascript safari safari-extension ublock

ublock's Introduction

Future releases of uBlock will be made available on our website at https://ublock.org



Build status
uBlock: an efficient blocker extension for your browser. Fast, potent, and lean.

Getting started

Installation:

uBlock has tooltips throughout its UI to help you along. But just in case you need it, here's a quick guide for basic usage.

Performance

Memory

On average, uBlock really does make your browser run leaner. [1]

Chrome


Safari


Firefox


[1] An overview of the benchmark is available at this wiki page.

CPU

uBlock is also CPU-efficient

Details of the benchmark available in this LibreOffice spreadsheet.

Blocking

Being lean and efficient doesn't mean blocking less

For details of benchmark, see uBlock and others: Blocking ads, trackers, malwares.

Some quick tests:

These tests are by no means complete or comprehensive, but do remain helpful.

Tips

  • To benefit from uBlock's higher efficiency, it's advised that you don't use other blockers at the same time (such as AdBlock or Adblock Plus). uBlock will do as well or better than most popular ad blockers.

  • It's important to note that blocking ads is not theft. Don't fall for this creepy idea. The ultimate logical consequence of blocking = theft is the criminalisation of the inalienable right to privacy.

  • EasyList, Acceptable Ads, ABP Anti-Circumvention Filter List‎ and Cryptocurrency (Bitcoin) Mining Protection List‎ are enabled by default when you install uBlock. Many more lists are readily available to block trackers, analytics, and more. Hosts files are also supported.

  • Once you install uBlock, you can easily un-select any of the pre-selected filter lists if you think uBlock blocks too much. For reference, Adblock Plus installs with only EasyList enabled by default.

  • Feel free to read about the extension's required permissions.

About uBlock

Some users might want to check out uBlock Origin: a noteworthy personal fork of uBlock from @gorhill with a slightly different featureset.

uBlock is a general-purpose content blocker, which means it can be used to block ads as well as other forms of content on webpages. uBlock can also be used to help users neutralize privacy-invading trackers. uBlock blocks ads through its support of the Adblock Plus filter syntax. uBlock extends the syntax and is designed to work with custom rules and filters.

** Please note recent news about the status of the uBlock project as of June 22, 2018.**

Acknowledgment: uBlock comes with several filter lists ready to use out-of-the-box (including but not limited to: EasyList, Peter Lowe's, several malware filter lists). We deeply appreciate the people working hard to maintain those lists which are available to use by all for free.

License

GPLv3.

ublock's People

Contributors

alexvallat avatar baegus avatar barri avatar chengsun avatar chrisaljoudi avatar cooloppo avatar deathamns avatar faye925 avatar fenex avatar glitsj16 avatar gorhill avatar hotdogman avatar ialexsilva avatar macabro avatar mikey1993 avatar monteno avatar peterdavehello avatar polycopter avatar publicarray avatar randallk avatar rlex avatar s-fiebig avatar samolesen avatar sandeeppinge avatar sw1ft avatar tailhey avatar ublockadmin avatar wyohknott avatar xpoison avatar xupefei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ublock's Issues

GUI for user-created filters?

I'm well aware I can add my own filters already but similar to how Element Hiding Helper works I'd really appreciate some form of GUI to make the process a lot simpler, if not doable at all. As it stands I believe I'm forced to install Adblock Plus a long with Element Hiding Helper in order to create my own filters and then import them to uBlock.

Conflict with HTTPS Everywhere extension in Chrome

Hi :)

I'm really liking uBlock but I've noticed that HTTPS Everywhere is showing a 'Warning' message whenever uBlock is installed. It seems to occur whenever browsing sites that are using Google Ads and here is the error message:

Warning:
This extension failed to redirect a network request to https://partner.googleadservices.com/gpt/pubads_impl_42.js because another extension (µBlock) redirected it to chrome-extension://cjpalhdlnbpafiamejdnhcphjbkeiagm/js/noop.js.

This message actually appears below HTTPS Everywhere in the Extensions menu in Chrome. There don't appear to be any adverse effects going on but it would be nice if there is a fix available so that the conflict no longer happens.

Thanks kindly for any help you can offer!

Minify code

If you know Node a little bit, you could use gulp for that. I'm using Node to minify html, css and js in my own projects, feel free to use the gulpfile and the package.json... You just need to install node, install gulp using "npm -g install gulp" (in your cmd), you switch to your dir where this project is, add the package.json and the gulpfile.js to the dir and run "npm update" in the cmd, with the folder as "target" / location. A simple "gulp" will minify the whole code then. Note: The script is configured to have a "src" (source code) and a "dist" (distribute code) folder.. not sure if you want that too. Just tell me if you need help configuring it for your needs :)

https://gist.github.com/kurtextrem/79da2dc2061d880088de

Oh, before I forget it: Thanks for this extension. Finally a good adblocker.

Select element to block

Thanks for this, it's noticeably faster than adblock*. One thing I rely on that's missing is the ability to block an element from the context menu or at least clicking the icon and selecting an element to hide. Any plans to add something like this?

Fanboy Annoyance's `||platform.twitter.com*/widgets/$third-party` not working

It's because:

FilterSingleWildcardPrefix0.prototype.match = function(url, tokenBeg) {
    return url.substr(tokenBeg, this.lSegment.length) === this.lSegment &&
           url.indexOf(this.rSegment, tokenBeg + this.lSegment.length) > 0;
};

Should be:

FilterSingleWildcardPrefix0.prototype.match = function(url, tokenBeg) {
    return url.substr(tokenBeg, this.lSegment.length) === this.lSegment &&
           url.indexOf(this.rSegment, tokenBeg + this.lSegment.length) >= 0;
};

EDIT: never mind, code above is good, the right-hand segment will never be at offset 0.

suggestion : add a function to display the blocked items.

Hello everyone ! 💃

Firstly : this addon is working great ! Thanks a lot for this good work ! 👍

But I am like I am... I'll wish, if possible, display the blocked elements... :

Actually... I'd like to be able to see the blocked elements somewhere...
For instance, Ghostery shows a popup, while µBlock doesn't show anything, only the number of blocked requests...

I'm curious. ^^
I want to check everything before allowing it. ^^
So I like especially having control on my computer, as in privacy...

I prefer to see by myself the blocked elements.
Because if there is any problem, it will be easier to fix.

So, this is my question : Is it possible ?

Thank you in advance,

Best regards,
Thomas.

Blocked contents don't always disappear properly

When you try to a block an image in particular, there's a problem. Here's what appear on website 9to5Mac.com. They have this image (http://s2.wp.com/wp-content/themes/vip/9to5mac2/images/adblock-inline-ad-1.png) when an ad blocker is enabled. When you try to block this image, this appears : http://i.imgur.com/6xxBFac.jpg

When you use Adblock Plus for example, the image disappear completely (see: http://i.imgur.com/16jUIqg.jpg). If you know a fix...

Provide a field to test a URL against the current filters

As there is no log, it's difficult to figure by which filter a specific URL is being hit.

Since all is the mechanic is in there already, just reuse it in order to get information about which filter is a hit on a specific URL. In the "Your filters" tab in the dashboard would be a good place for such feature.

Consider forcing a reload of the extension when filters have to be reloaded

I have noticed that whenever filters have to be reloaded, the memory footprint baseline of uBlock ever inches up. There is no memory leaks, it's just that it seems when temporarily handling MB of data (filter loading/parsing), the browser seems to keep stuff around and this is out of control of the extension. HTTPSB suffers the same problem, and as far as I can tell, other extensions too.

Since in uBlock nothing is temporary (as opposed to HTTPSB), when filters need reloading, simply force a reload of the extension, this way a new background page is created, all clean and tidy.

Cannot directly access forum on xda-developers.com from front page

This is actually an issue when using AdGuard and Bluhell Firewall (on Firefox) too. If you browse to the front page of xda-developers.com and then click the 'Forum' button while uBlock is active absolutely nothing happens. You can open the link in a new tab without an issue but clicking on the 'Forum' button won't take you to the page at all. If you then disable uBlock (or any of the listed adblockers above) and refresh the page and click again, it goes through absolutely fine. Do you know what the issue might be and whether it can be solved?

Thanks in advance!

"Failed to load resource: net::ERR_FILE_NOT_FOUND" at launch

I often get this error at launch:

Failed to load resource: net::ERR_FILE_NOT_FOUND
    filesystem:chrome-extension://bmgihbijohdeghlojnnnpcageoekicik/persistent/assets___checksums.txt?ublock=1403611564239

Appears to be related to auto update occurring at launch. Need to figure what is happening. Appears benign otherwise, extension works fine thereafter.

Could you add an overview of all whitelisted sites?

Feedback from the Chrome store:

Could you add an overview of all whitelisted (I mean: whitelisting by clicking the enable/disable button in the drop down menu) sites to the settings? What would be even better: an option to import/export those filters.

It would be nice to be able to globally enable/disable the filtering

Feedback from the Chrome store:

It would be nice to be able to globally enable/disable the filtering (without having to disable the whole extension). Sometimes I want to browse multiple sites without adblockers and it's much easier to temporarily pause filtering globally than to turn it off (and then on back again later on) for each site separately.

Update lists manually?

I was wondering: when do the list are updated? Since we can't manually do it. Plus, there's no indicator. When you to the third tab, it says "À jour" (I'm French, so I guess it's "Updated in english). But that's it.

Thanks!

Are you planning on releasing a Firefox port?

First of all, I saw that you have started another project (based on your first which is so awesome) and would like to congratulate you for yet another successful project. :D

Is there any plan on releasing a Firefox port for µblock? I tried it in Chromium and impressed in how light it is. It would be nice to see it running in Firefox. I have yet to find a blocker similar to µblock in Firefox.

Extremely generic element hiding selectors are current performance bottleneck

Talking about cosmetic filters here. "Extremely generic" means those selectors which are not id- or class-based (there are handled very well with low overhead), like a[alt="Follow on Facebook"].

When EasyList, EasyPrivacy, Fanboy's Annoyance and Fanboy's Enhanced Tracking are enabled, I count nearly 400 of such selectors.

See what, if anything, can be done to reduce overhead caused by these filters. It's definitely a current hot spot performance-wise.

Opera requirements for acceptance in Opera store

Library:

I will need specific setting of uglyfy you use to minify yamd5.js because your results differs from mine (As a source I used version from master branch Jun 20, 2014)

Translation work:

Please supply Summary and Description in other languages or remove them until they will be fully translated.

Build work:

Remove ./assets/*.sh as these files are useless in production package4.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.