It seems like there are two mostly independent codebases being developed. Is this the case?
If so, maybe this can change soon. Mozilla is planning on providing an extension API that will be compatible with chrome and opera called WebExtension. It will be stable later this year.
I had some time to try this, so I downloaded the ff developer edition to test this out, and I started walking through the "porting from google chrome" guide.
The first problem was that the "unlimitedstorage" permission is not supported in firefox yet. But hopefully we won't need more than the default amount of storage (5mb?) initially. There were a few changes needed to the manifest.json. Then I tried to load the extension to firefox. Basically it didn't work, the PB icon shows up and I can open the menu but it is not blocking anything.
I tried to take a screenshot of the menu, but for some reason the menu disappears when the screenshot happens.

Here is the settings page

I'm not sure what the next steps to take here would be.
The branch I'm working on is here.
I've been wondering about this as well.
Is it feasible to migrate from the Firefox version and use that as a combined code base? I'm not sure if it's preferable but it would get rid of the Adblock Plus dependency. Maybe it would be more work than starting with the Chrome version and eventually removing Adblock Plus?
@rcutmore The work on WebExtensions is to make Chrome extensions mostly compatible with FF. I think it would be a lot more work to make the FF extension compatible with Chrome.
But I forgot about the ABP problem. That dependency would probably have to be removed to get this to work.
So, this task is actually my top priority for Privacy Badger right now. Indeed having two codebases creates twice the work for myself and anyone else who wants to contribute to the project. I have thought a lot about this and I think that removing the adblock plus dependency and making the necessary modifications to the chrome codebase to work with WEAPI is the correct choice. I think that I will start a branch called WEAPI that we can work in while we make this transition and make a set of issues that can cover the large tasks that need to be done for this to happen.
If either of you are interested in helping with this task it would be hugely appreciated!
Here are the large tasks as I see them:
Awesome plan! I have time to work on this so I'll be thinking about where I can help out.
as of b27478d03b1b1f2c0a46e89311d31b59f6110f99 the new storage library liiiives!!!
the source and documentation can be found here: https://github.com/EFForg/privacybadgerchrome/blob/weapi/src/storage.js
Privacy Badger has been refactored! Adblock plus is no longer the storage engine! A new release has been made!
:fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :fireworks: :tada: :tada: :tada: :tada: :tada: :tada: :tada: :tada: :tada:
Instructions on how to install the beta of the new release (if you haven't auto updated) live here: https://github.com/EFForg/privacybadgerchrome/wiki/Help-test-Privacy-Badger-for-chrome
Work on #778 and #779 is happening here: https://github.com/EFForg/privacybadgerchrome/tree/firefox-compat
Pull request open for firefox work here: https://github.com/EFForg/privacybadgerchrome/pull/845
@cooperq I have a lot of free time this week to look at this, where do you think would be a useful place to jump in?
@cowlicks that's great! The best place to jump in right now is definitely: https://github.com/EFForg/privacybadgerchrome/pull/845
The top items are probably fixing privacy badger in incognito mode and beating on it to make sure there are no more bugs. The second priorities would be anything in the 2.0 milestone
Current To do list:
In addition to redirecting pbff to this repo, this repo should also be renamed. The certbot/le folks just did this so they might have some insight.
Got this installed in Chrome and FF, I'll let you know how it goes.
Can you recommend some pages to visit to get PB to start blocking stuff?
tomsguide.com
tomshardware.com
ranker.com
cracked.com
These domains should train fresh PB enough for testing purposes.