Update
2025-05-13
There is now a beta version for Safari on both macOS and iOS, which can be installed through TestFlight, click the following link:
https://testflight.apple.com/join/JjTcThrV
Description
Continuing from #52, which had become too large, to focus on remaining technical issues.
To build a local version of uBO Lite for Safari, in a bash-compatible shell and at repo root (corrected as per @ramsey's post below):
git clone git@github.com:gorhill/uBlock.git
cd uBlock/
make mv3-safari
The extension will be at dist/build/uBOLite.safari/, and can be sideloaded into Safari 18.4+ following the instructions at Temporarily install a web extension folder in macOS Safari
Remaining issues (will update as needed):
Help to investigate these issues is welcome.
uBO Lite version
Local, build from command line
Browser name and version
Safari 18.4
Operating system and version
MacOS 15.4
Update
2025-05-13
There is now a beta version for Safari on both macOS and iOS, which can be installed through TestFlight, click the following link:
https://testflight.apple.com/join/JjTcThrV
Description
Continuing from #52, which had become too large, to focus on remaining technical issues.
To build a local version of uBO Lite for Safari, in a bash-compatible shell and at repo root (corrected as per @ramsey's post below):
The extension will be at
dist/build/uBOLite.safari/, and can be sideloaded into Safari 18.4+ following the instructions at Temporarily install a web extension folder in macOS SafariRemaining issues (will update as needed):
excludeMatchesin scripting.RegisteredContentScript appears to be ignoredDNR'sallowAllRequestshas no effect, even though it's documented as being supported: https://developer.apple.com/documentation/safariservices/blocking-content-with-your-safari-web-extension#Add-rulesets-to-your-extension-and-manifestallowAllRequestsRedirects to localweb_accessible_resourcesdo not work, see https://ublockorigin.github.io/uBOL-home/tests/test-filters.html ("Advanced network filters")/in resource paths in manifest fixed the issue. Removing the leading/does not affect uBOL in other browsers.The zapper does not work, possibly related to theweb_accessible_resourcesissue abovehttps://bugs.webkit.org/show_bug.cgi?id=246617srcattribute before inserting iframe into DOMyoutube.comdoes not load (blank page). It loads if I disable the Default ruleset -- so there is a rule in there which is causing the issue. However Safari does not support finding which specific rule is blocking which specific resource URL||googlesyndication.com^$domain=blogto.com|youtube.com. Conversion to DNR rule putgooglesyndication.comintocondition.requestDomains, so it appearsrequestDomainsis either not supported, or interpreted differently in Safari.Though possibly it could be that special regex characters are being used (e.g.No, JS's^), which are interpreted literally by Safari DNR's engine, see Regular expressions in DNR API (regexFilter) w3c/webextensions#344RegExpis literally used to matchregexFilterHelp to investigate these issues is welcome.
uBO Lite version
Local, build from command line
Browser name and version
Safari 18.4
Operating system and version
MacOS 15.4