webextension-polyfill
uBlock-Safari
Our great sponsors
webextension-polyfill | uBlock-Safari | |
---|---|---|
18 | 45 | |
2,512 | 2,755 | |
1.8% | - | |
1.3 | 0.0 | |
3 days ago | about 3 years ago | |
JavaScript | JavaScript | |
Mozilla Public License 2.0 | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
webextension-polyfill
-
Show HN: Chrome Reaper
Porting this extension to Firefox should be relatively straightforward using the webextension polyfill: https://github.com/mozilla/webextension-polyfill
-
Show HN: OpenAPI DevTools – Chrome ext. that generates an API spec as you browse
Firefox maintain a library for unified extension API https://github.com/mozilla/webextension-polyfill
Their type definition for HAR request isn't exported https://github.com/DefinitelyTyped/DefinitelyTyped/blob/mast...
-
Browser Extension with Blazor WASM - Cross-Browser Compatibility
The Browser Extension Working Group at W3.org proposes the web standards based on the Chrome extension manifest, which supports all web browsers. Based on that proposal, Mozilla has released the Browser Extension Polyfill library that supports the modern promise pattern instead of callback. Therefore, if you import this polyfill library, theoretically, your Chrome extension quickly turns into the browser extension that runs on multiple browser engines.
- Show HN: Plasmo – a framework for building modern Chrome extensions
-
It’s Like GPT-3 but for Code–Fun, Fast, and Full of Flaws
I've written extensions before and Firefox has a very good polyfill [0] that makes it quite easy to write extensions for all browsers. It does get a bit trickier if you also want to incorporate TypeScript [1] or React however.
-
Ask HN: Browser-extension creators, how do you write for multiple browsers?
I used WebExtension polyfill[0] when adapting my FF addon to Chrome and admittedly all the intricate differences between APIs still costed me half a day of work.
I managed to have it done with only a few places where I branch on navigator.vendor, but If I wanted to ship different versions to AMO and CWS, I'd make use of something like DefinePlugin[1] for webpack to include/exclude code based on build target.
[0] https://github.com/mozilla/webextension-polyfill/
[1] https://github.com/webpack/docs/wiki/list-of-plugins#definep...
-
Creating a browser extension for Safari and Chrome
Initially I created wrapper functions to convert Chrome functions that require callback to return promise instead. The better approach, as I found out later, is probably to use webextension-polyfill from Mozilla and its types.
-
Firefox Addons Unable to Update, Undisclosed AMO Issues
I mean, the browser apis are close (and Mozilla still has much better documentation) but there are a LOT of edges cases where behavior diverges.
Frankly - I'm a little peeved that Optional permissions in Firefox are STILL broken - The prompt can only be triggered in response to a user action, and Firefox blows the fuck up if you put a promise anywhere in between the user click and the call to the api. Which is hugely ironic, since Mozilla is the one pushing to move all the webext APIs to be promise based (and provides a nice helpful library for Chrome/Edge/Safari support: https://github.com/mozilla/webextension-polyfill) which... doesn't work on their platform. Doubly ironic, since the result is that most FF extensions just ask for more permissions up front, which is exactly the opposite of what you'd want in the "secure/private" world Mozilla claims they're pushing towards.
- How has your experience been building browser extensions?
- Manifest v3 Update
uBlock-Safari
-
uBlock Origin Lite now available on Firefox
You are mistaken. Safari removed the APIs necessary for an uBlock port (there used to be one), see https://github.com/el1t/uBlock-Safari/issues/158.
Injecting code via Web Extensions is too late for reliable blocking - by then, either the malicious JS you are trying to defuse has already ran (if it wasn't blocked declaratively), or if it hasn't, then the rest of the page's JS depending on it has already exploded and "fixing" it after the fact (by substituting a neutered shim via Web Extensions) doesn't fix the rest of the page.
-
uBlock Origin 1.49.2 Available as Thunderbird Add-On
It has been there but won't ever be again: https://github.com/el1t/uBlock-Safari/issues/158
-
Are there any updates on Safari support?
Better to fork it and maintain as another project, like previous ublock's project on safari: https://github.com/el1t/uBlock-Safari
- Firefox is the last bastion of pirate ad-free hope. Can Mozilla hold out?
- Apple Safari browser plugin/extension architecture.
-
DuckDuckGo for Mac beta now open to the public
Looks like the answer is no, Safari is not supported.
> ..as of 2022, uBlock Origin’s extension is available for several of the most widely used browsers, including: Chrome, Chromium, Edge, Opera, Firefox and all Safari releases prior to 13.
Explanation of the state of uBlock Origin (and other blockers) for Safari - https://github.com/el1t/uBlock-Safari/issues/158
Apparently, the only WebKit-based browser that can run uBO is Orion browser (beta, Mac only).
- With YouTube testing 5-10 unskippable ads before videos, what are your favorite ad blockers/YouTube apps to use on Mac OS?
-
AdGuard publishes the first ad blocker built on Manifest V3
I don't know if it is cartelisation (both Apple and Google have an ad division and it is in their interest to work together on some aspects of their business) or Google bribed Apple (through it's ios search engine deal), but Safari webkit also has a lot of limitations in its content blocking API which is supposed to be used for ad blocking. (See Explanation of the state of uBlock Origin (and other blockers) for Safari #158 - https://github.com/el1t/uBlock-Safari/issues/158?ysclid=l7g3... ).
-
Apple Is Not Defending Browser Engine Choice
> as of IOS15 the Safari Extension API has everything uBlock would use
Does it? My understanding is that the Safari Extension API isn't suitable for uBlock Origin: https://github.com/el1t/uBlock-Safari/issues/158
-
and not every chromium user can do pihole
safari is even worse than google when it comes to extensions. death of uBlock Origin happened long ago over there. fits with apple's intentions i suppose.
What are some alternatives?
esbuild-react-chrome-extension - Simple chrome extension with React and Typescript, bundled by esbuild
vimium - The hacker's browser.
browser-extension-svelte - A simple cross-browser extension made with Svelte
firefox-ios - Firefox for iOS
plasmo - 🧩 The Browser Extension Framework
browser-ext-react-esbuild - Browser extension implemented in TypeScript & React and built by esbuild for Chrome, Safari and possibly Mozilla Firefox
webext-redux - A set of utilities for building Redux applications in Web Extensions.
WebKit - Home of the WebKit project, the browser engine used by Safari, Mail, App Store and many other applications on macOS, iOS and Linux.
testing-playground - Simple and complete DOM testing playground that encourage good testing practices.
ghostery-extension - Ghostery Browser Extension for Firefox, Chrome, Opera, Edge and Safari
web-ext - A command line tool to help build, run, and test web extensions
Retroactive - Retroactive only receives limited support. Run Aperture, iPhoto, and iTunes on macOS Sonoma, macOS Ventura, macOS Monterey, macOS Big Sur, and macOS Catalina. Xcode 11.7 on macOS Mojave. Final Cut Pro 7, Logic Pro 9, and iWork ’09 on macOS Mojave or macOS High Sierra.