Giter VIP home page Giter VIP logo

catblock's Introduction

CatBlock

Build Status Codacy Badge GPL v3

Overview

CatBlock (previously known as "AdBlock with CatBlock") is like an ad blocking extension, but instead of blocking ads it shows you pictures of cats by default (configurable).

You can also disable replacing ads by cats, so CatBlock can work as a standard ad blocking extension (useful for when you're doing presentations anywhere!)

If you want to find out the history of this extension, you can check it out here.

Goals

This project aims at maintaining and improving the original CatBlock project by Michael Gundlach (the creator of AdBlock and CatBlock), which is built on top of the AdBlock code.

AdBlock has recently switched to the Adblock Plus codebase in version 3.0, but instead of importing those changes to CatBlock, we think it would be better to improve the original codebase.

Installation

CatBlock is available in Chrome Web Store, Opera Extensions Store and Firefox Addons Store.

Right now, CatBlock is not available in the Safari Extensions Store, or in the Windows Store, but we are looking into releasing CatBlock there as well!

If you can't wait for an official release of CatBlock on Windows Store, find out how to sideload CatBlock on Edge right now.

Supported browsers

CatBlock is compatible with following browsers:

  • Chrome: 49+
  • Opera: 35+
  • Safari: 6+
  • Firefox: 48+
  • Edge: Windows 10 Anniversary - version 1607

Tools we use

We use many different services to help keep CatBlock working! We use Travis to build new versions automatically for us.

We also have Travis connected to BrowserStack, to run a few automated unit tests for us. If "builds:passing" shows at the top of this README, then it's probably working fine, otherwise the current version of the code might not work so well.

Developers

How to build the extension or create a development environment?

The development guide will make your life easier if you need to build CatBlock or create an unpacked development environment and change the source code.

Do you want to contribute?

If you want to contribute any improvements to the code, please go ahead and send us a pull request from a fork of this repo!

If we see that you are a dedicated contributor, we may provide you with contributor permissions. The people to contact for this project are @kpeckett and @tomasko126.

Do you want to know more about our project?

If you want to keep an eye on CatBlock or even know more about it, check out our Wiki page, where you can find all important information.

Get in touch with us

Discord

We have a public Discord server! Ask for help, help out with development and just chat about stuff! Join the community at This link

catblock's People

Contributors

aaronliu0130 avatar brijeshbhakta30 avatar itskdog avatar tomasko126 avatar tsekityam 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

Watchers

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

catblock's Issues

the el could be document itself.

僅限英文!

Please answer the following questions so that we can process your bug report, otherwise, we may have to ignore it.

Can you provide detailed steps on how to reproduce the problem?

  1. browse this url
    https://share.dmhy.org/topics/list?keyword=%E5%BE%9E%E9%9B%B6%E9%96%8B%E5%A7%8B%E7%9A%84%E7%95%B0%E4%B8%96%E7%95%8C%E7%94%9F%E6%B4%BB&sort_id=0&team_id=407&order=date-desc
  2. see the console, you will saw three error

What should happen when you do the above steps

What actually happened?
catblock/contentscript.js:115
el could be the document itself. and the document did not has width and height prop. causing javascript crash.

you could return undefined if the el is same as document.
this code could fix this
if (el == document) { return undefined; }

Do you have any other comments? If you can, can you please attach a screenshot of the bug?

--- The questions below are optional but VERY helpful. ---

If unchecking all filter lists fixes the problem, which one filterlist must you check to cause the problem again after another restart?

Technical Chrome users: Go to chrome://extensions ->Developer Mode -> Inspect views: background page -> Console. Paste the contents here:

not working

i try to use personalize filters and not working here, working on adblock u_u

Manifest path update.

In Manifest:

line 40: "bandaids.js". The path needs to be updated to "js/bandaids.js"

"Paws CatBlock"

This was suggested by someone on Facebook. Change the word "Pause" to "Paws" in the options.

Would need to be only for the english version though, as the pun won't work in other languages.

Background.js fix: line 1347 - path fix

in js/background.js:
line 1347: chrome.tabs.executeScript(tabId, {file: "ytchannel.js", runAt: "document_start"});

It should be js/ytchannel.js, else it is not working.

Change name to CatBlock

Right now, we are using AdBlock with CatBlock name,
but after a talk with @kpeckett we decided, that it we should use just CatBlock as an extension name instead.

Version history

@kpeckett In my opinion it would be better to change our version history.

Version 1.0 - Imported CatBlock to the repo
Version 1.1 (actually 2.8) - Included all changes needed for 2.8 release
Version 1.2 (actually 3.0) - Included changes for 3.0
..
..
..

What do you think? I think it does make sense, because it can be confusing that AdBlock is at 2.13.x now and we would release 2.8 and so on. Do you agree with this change?

"Hide this button" text incorrect.

Since AdBlock last changed the text for AdBlock button > Hide this button, Google have moved the URL for the extensions page back to chrome://extensions, rather than it being a part of the chrome://chrome page.

Use Disconnect's improved port.js?

Looking at @byoogle's byoogle/port repository, we could switch out Michael's version for that, which might be useful if we need to do further work with other Chrome APIs.

As this is low priority, I will not assign it to a milestone.

Update the design of Options page

The current design of Options page uses 3D styles for inputs, which are hard to style on Firefox and Edge browsers.

Also, the main panel for navigation takes a lot of space and could be further improved.

Office 365 E-mail whitelisted

When I go to my student emails, hosted on Office 365 (outlook.office365.com) CatBlock is disabled on the page, and clicking "Enable CatBlock on this page" does nothing. It doesn't even refresh the page.

Too many cats on some sites

As reported on Tender:

Often an ad will be replaced three pictures that take more space than the original ad did

This is a legitimate concern, as they sometimes take up the entire screen (e.g. on nytimes.com).

Is there a way of adjusting the code to make a limit on the number showing, but still distributing the cats relatively evenly across the page?

Minor complaints from Opera

These are non-blocking, but we have a few extraneous permissions in our manifest.

Opera warns that we are not using alarms and storage in our code, despite requesting permission for them.

Should we keep them in case we need them at a later time for their APIs to avoid a Chrome disable message?

Debug info lists CWS version as "Developer"

When using 1.4.9, I check the debug info and get the following:

=== Other Info ===
CatBlock version number: 1.4.9 Developer
UserAgent: Mozilla/5.0 (Windows NT 10.0 Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2873.0 Safari/537.36

CatBlock doesn't work with official AdBlock

@kpeckett

As of today, CatBlock installed via chrome://extensions page doesn't work with official AdBlock installed from Chrome Web Store.

The reason is: AdBlock has defined specific extension id, where sends messages about what selectors will be blocked on the page. When installing CatBlock from chrome://extensions page, CatBlock will get another unique specific ID, not the one we need.

Current work-around: Edit CatBlock's extension ID locally in adblock_start_chrome.js to the one from chrome://extensions

This is the current approach, however I'm not sure about long-time approach. We can either take a look at Chrome Management API, or release CatBlock on CWS and change unique ID in adblock_start_chrome.js OR pack AdBlock with Catblock for Chrome together (like we currently do with Safari version).

What do you think?

Write a CONTRIBUTING.md file

To reduce the number of users making issues with support requests, let's make a contributing file to warn them.

Add @ECHO OFF to Setup.cmd

Adding this as the first line of a batch file will prevent all commands from displaying as if they were typed in manually.

Replace more ads with cats

As EasyList uses blocking rules as much as it can, we have very few cases where we can apply image replacement, as it currently only works with hiding rules. Is there any way we can expand to blocking rules as well? Perhaps changing where the ad is redirected to, rather than a blank page?

Remove email option in Options

As this was a monthly contribution extension, we still have "are they donating" email checks available.

This needs removing.

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.