For those in the same boat: I have been able to get my Safari extensions enabled without having to go the complex and time-consuming route of first installing a pre 10.15.3 Catalina, enabling the extensions and then updating to 10.15.5.
I'v managed to get the Safari version from 10.5.0 running on 10.15.5, by replacing /Applications/Safari.app and the Safari*.framework directories in /System/Library/PrivateFrameworks. I have extracted these files from a 10.15.0 installer using Pacifist. Short manual:
Be careful, this requires some knowledge and insights in the working of .pkg packages. But all in all it can be done in a few minutes, when you have the necessary files ar your disposal.
- Extract /System/Library/PrivateFrameworks/Safari*.framework en /System/Applications/Safari.app from the 10.5.0 installer using Pacifist
- Make sure the system partition is mounted writable (sudo mount -UW /)
- Backup /Applications/Safari.app and /System/Library/PrivateFrameworks/Safari*.framework.
- Replace /Applications/Safari.app and /System/Library/PrivateFrameworks/Safari*.framework with the versions extracted from 10.15.0
- reboot
- again: Make sure the system partition is mounted writable (sudo mount -UW /)
- Open Safari and enable extensions. Note you're now running the Safari version from 10.15.0.
- Restore /Applications/Safari.app and /System/Library/PrivateFrameworks/Safari*.framework from the backup
- Reboot
When done correctly, you'll be back on the latest Safari version, but now with your extensions enabled.
Thank you! I enabled all my 1Blocker extensions on 10.15.6 (19G73) using this method. One essentially needs to downgrade to Safari 3.0.2 to enable their extensions, then revert back to 3.1.2.
The
SafariSharedUI.framework
file did not exist in the 10.15 (19A583) installer I obtained from a questionable yet satisfactory
source, so I just left the default one there. I've attached the relevant .framework files I extracted from
/System/Library/PrivateFrameworks/Safari*
using
Pacifist 3.6.2. However, I could not upload the Safari 3.0.2 application to this thread, as it is too large even if compressed.
Ensure to use
sudo mount -uw /
to convert the system volume to read-write for the current uptime. You'll be using a lot of
sudo mv commands, so it's easier to enter
sudo -s
to run the mv commands without typing
sudo every time. Note that mv moves files from one directory to another – and if the files have the same name, it will replace those files and delete the originals. Make sure to reboot once you enable the extensions. If in doubt, reboot – because they will be re-disabled if you don't.