Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Browser Support Request: Safari 14 #1123

Closed
docyx opened this issue Jun 23, 2020 · 9 comments
Closed

Browser Support Request: Safari 14 #1123

docyx opened this issue Jun 23, 2020 · 9 comments
Labels
question query or an enquiry

Comments

@docyx
Copy link

docyx commented Jun 23, 2020

(this is not an actual issue, just a request, so I removed the template)

uBlock hasn't worked on Safari for a while now, since Apple used a proprietary extension API which caused a lot of issues. more info.

With the new Safari 14 release, it now supports the WebExtensions API. Since uBlock uses this API, it would be really nice to have uBlock on Safari now that it supports it.

Also time to update https://github.com/gorhill/uBlock/blob/master/platform/safari/README.md#safari-platform as well (:

@uBlock-user
Copy link
Contributor

https://www.reddit.com/r/uBlockOrigin/comments/hdz0bo/will_ublock_origin_back_to_macos_big_sur/fvoc7wk/

@uBlock-user uBlock-user added the question query or an enquiry label Jun 23, 2020
@gwarser gwarser pinned this issue Jun 24, 2020
@uBlock-user uBlock-user unpinned this issue Jul 31, 2020
@olbrew
Copy link

olbrew commented Sep 24, 2021

https://www.reddit.com/r/uBlockOrigin/comments/hdz0bo/will_ublock_origin_back_to_macos_big_sur/fvoc7wk/

One year later with newer versions available I checked again but it seems like most of the necessary WebExtensions APIs are still not supported.

Tested with Safari 15, Xcode 13 and uBlock Origin 1.38.0, all newest production versions available at time of writing.

Compatibility check with xcrun safari-web-extension-converter ./uBlock0.chromium/ gives:

Warning: The following keys in your manifest.json are not supported by your current version of Safari. If these are critical to your extension, you should review your code to see if you need to make changes to support Safari:
	browser_action
	all_frames
	options_ui
	contextMenus
	unlimitedStorage
	storage
	webRequest
	commands
	incognito
	short_name
	default_locale
	tabs
	webNavigation
	<all_urls>
	content_security_policy
	version
	name
	web_accessible_resources
	run_at
	match_about_blank
	js
	webRequestBlocking
	matches
	page
	privacy
	manifest_version
	icons
	description
Warning: Persistent background pages are not supported on iOS and iPadOS. You will need to make changes to support a non-persistent background page.

@mimi89999
Copy link

Hello,
I attempted to convert the extension. Most APIs should be supported now. The lack of storage and webRequestBlocking might be annoying, but there are probably some workarounds for this.

mbp-de-michel:uBlock michel$ /Applications/Xcode.app/Contents/Developer/usr/bin/safari-web-extension-converter ./uBlock0.chromium/
Xcode Project Location: /Users/michel/git/uBlock
App Name: uBlock Origin
App Bundle Identifier: com.yourCompany.uBlock-Origin
Platform: All
Language: Swift
Warning: The following keys in your manifest.json are not supported by your current version of Safari. If these are critical to your extension, you should review your code to see if you need to make changes to support Safari:
	storage
	match_about_blank
	webRequestBlocking
	incognito
	privacy
Warning: Persistent background pages are not supported on iOS and iPadOS. You will need to make changes to support a non-persistent background page.

@gwarser
Copy link

gwarser commented Dec 12, 2021

The lack of ... webRequestBlocking might be annoying

The main feature?

@MysticalOS
Copy link

https://browser.kagi.com/faq.html if you really need to use webkit, but with ublock origin. Still kinda beta so not perfect yet but seems like a solid project. I used app a bit and it feels like using safari, but it does lag behind on feature support. I could not get push notification api to work with it yet for example.

@Milo123459
Copy link

Hey! Recently switched to uBlock and must say I really like it. Are there any updates on this issue? Is WebKit/Safari getting more of the APIs needed?

@u-RraaLL
Copy link
Contributor

u-RraaLL commented Feb 5, 2022

Hey! Recently switched to uBlock and must say I really like it. Are there any updates on this issue? Is WebKit/Safari getting more of the APIs needed?

https://www.reddit.com/r/uBlockOrigin/comments/sf0rjp/does_anybody_want_to_publish_ublock_origin_on/
https://www.reddit.com/r/uBlockOrigin/comments/re5y0i/safari_preview_adds_new_supported_features_are/

@MisutaaAsriel
Copy link

The lack of ... webRequestBlocking might be annoying

The main feature?

Safari supports declarativeNetRequest, which is the modern replacement for webRequestBlocking: https://developer.apple.com/documentation/safariservices/safari_web_extensions/blocking_content_with_your_safari_web_extension

Is there a reason declarativeNetRequest cannot be used?

@gwarser
Copy link

gwarser commented Oct 30, 2023

@uBlockOrigin uBlockOrigin locked and limited conversation to collaborators Oct 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
question query or an enquiry
Projects
None yet
Development

No branches or pull requests

9 participants