privacybadger
privacybadger copied to clipboard
Privacy Badger should support Safari
Moderator edit: This issue is about releasing Privacy Badger for Safari.
If your question is not related to Safari support, please start a new issue or discussion instead of commenting here.
I will gladly accept pull requests for this, or will provide assistance to a project that is doing this, but I don't have the time to make those versions.
@cooperq with the recent passage of SJ Res 34, could this be re-opened to support more browsers?
Please support Safari. Firefox is an unstable mess of a browser.
It doesn't seem like Safari provides a way to intercept and potentially modify headers, something that is covered by chrome.webRequest
in Chrome (and now Firefox via WebExtensions). The problem is that canLoad
offers only a subset of chrome.webRequest functionality.
So it appears that Safari is missing some functionality required by Privacy Badger to function, but this needs more investigation. Does the newer declarative content Blocking API help?
@ghostwords Is this the only blocker for Safari support, or are there others?
There are these technical issues (but they need further investigation to see whether they really are blockers or not), but then there are also legal issues with things Apple asks you to agree to if you want to publish (?) a Safari extension. The legal issues might be the real blockers. I need to investigate what those are and whether we could do anything about them.
A new notes/resources on content blocking in Safari:
- https://webkit.org/blog/3476/content-blockers-first-look/
- https://developer.apple.com/videos/play/wwdc2015/511/
- https://github.com/Erulezz/Ultimate-AdBlock
Regarding "publishing" -- the only thing here is if you want your extension listed in Apple's "extension gallery", then Apple has to approve it. I'm not sure this is absolutely necessary. EFF could just link to the GitHub latest release.
@jessesquires is correct. You do not need to agree to Apple's terms and pay $100 to release a Safari extension. It is only required if you want to be listed in the extension gallery.
https://stackoverflow.com/a/28808411 should help with the porting effort
I doubt this would be very hard! If anyone who uses Safari (I don't own a mac) want's to port it, I'd be happy to guide you and answer any questions you have.
A warning to everyone, my first major contribution to PB was porting it to FF, and look where that got me ;)
This may no longer be needed with High Sierra's tracking blocking in Safari. I hope the EFF does a review of the functionality when it's released to make sure it adequate for privacy minded users.
They read my mind, https://www.eff.org/deeplinks/2017/09/apple-does-right-users-wrong-advertisers.
I take this as an endorsement of Apple’s implementation.
I just wanted to see if this is still active and if there is anything I can do to help with the project
The main problem with offering a version of Privacy Badger for Safari is that, after legal review, EFF found Apple's developer agreement unacceptable for some of the reasons stated in this EFF blog post (the post talks about iOS, but the problem also applies to Safari/macOS). I believe this problem goes beyond being listed in the extensions gallery.
Furthermore, Safari seems to lack certain extension capabilities required by Privacy Badger to function properly. Privacy Badger is not an ad blocker; Privacy Badger is different from most other privacy tools as it does not come with a list of domains to block. Instead, Privacy Badger watches and learns which third-party domains appear to track you as you browse the Web, something that doesn't seem fully supported by Safari.
I personally recommend installing uBlock Origin, an excellent privacy tool.
See also this HTTPS Everywhere thread: https://github.com/EFForg/https-everywhere/issues/5121#issuecomment-343277620
Can we get a new look on this, since Safari in the new macOS will support webextensions?
The biggest obstacle to supporting Safari at this point is that as per Apple documentation, the webRequest
extension API does not support blocking or modifying requests/responses. As AdGuard write on their blog, Safari's version of the webRequest
API is "useless for ad blocker developers". (Privacy Badger is not an ad blocker but has similar API requirements.)
This doesn't mean we won't have Privacy Badger for Safari in the future. For example, we could build a version of Privacy Badger as a Safari content blocker app. However, as this will take significant effort to build and maintain, it competes for attention with similar but more urgent efforts like a Manifest V3 version of Privacy Badger for Chrome (#2273).
Now that Apple has announced that they want to help unify extensions across browsers, maybe they'll get with the program. Not being able to easily port extensions between browsers is what's holding Safari back, to this day. https://github.com/w3c/webextensions/blob/main/charter.md https://www.thurrott.com/cloud/web-browsers/250919/apple-google-microsoft-and-mozilla-partner-on-browser-extensions
Has the situation changed now?
No updates since my previous comment.
webRequest
Not supported in iOS.
BlockingResponse not supported.
Blocking requests not supported.
opt_extraInfoSpec not supported for any of the events.
-- Apple's Assessing Your Safari Web Extension’s Browser Compatibility article
Isn't it just not supported on iOS? Can it be ported to macOS Safari?
I think macOS Safari and iOS Safari use the same base extensions system, with iOS having some additional restrictions/considerations. For example, macOS Safari extensions lack webRequest
's blocking capabilities, while iOS Safari lacks webRequest
entirely. (My previous comment applies to all Safari extensions.)
Having said that, we do want to bring Privacy Badger to Safari. I don't know when it will happen.
safari already do the job of privacy badger and that is built in Who the hell minimized this comments
safari already do the job of privacy badger and that is built in
Are you referring to this Safari feature?: Safari Tracking Prevention
safari already do the job of privacy badger and that is built in
Are you referring to this Safari feature?: Safari Tracking Prevention
yes it basically do what Privacy Badger does
safari already do the job of privacy badger and that is built in
Are you referring to this Safari feature?: Safari Tracking Prevention
yes it basically do what Privacy Badger does
I tend to use multiple tools that provide this functionality, and typically one tool doesn't catch them all. For example, on Firefox, I use DuckDuckGo, Privacy Badger, and Firefox's built-in tracking protection tool, but PB and DDG add-ons regularly block additional things.
Defense in depth applies to privacy too for sure :) I'd love to see Privacy Badger on Safari. That said, I read Ghostwords' comments above and can certainly get behind prioritizing improvements and features that are going to support more users and generally better fit in with the mission, especially since there are other options like DDG, AdGuard, and uBlock Origin.
Plus 1 to @JW-Moose. I use lots of tools on macOS, so relying on just one for iOS wouldn't be my preference, but certainly, it's better than none. I'd still love PB on iOS/iPadOS
To follow up on https://github.com/EFForg/privacybadger/issues/549#issuecomment-1079096990, we may be able to offer Privacy Badger for desktop/macOS (not mobile/iOS) Safari in the first half of next year.
Any news on this ? :)