Become a MacRumors Supporter for $25/year with no ads, private forums, and more!

Manually enable Safari 14 extensions

Edsonytic

macrumors newbie
Original poster
Aug 7, 2019
5
11
Hello everyone.

First, an introduction you can skip.
I have a Macbook 5,1 (Late 2008 Unibody) and have been able to keep it updated thanks to the excellent tools made by dosdude1 and others. That however has meant that I have been victim of the Safari "feature" meant to prevent unauthorised enabling of extensions.

So far I had managed to keep them enabled by using a system started on 10.15.2 and updated from there, however this didn't work for the new Safari 14 because it disables some extensions upon its first run. This motivated me to find a way to manually enable extensions by editing some preferences file since all the advice regarding other solutions hadn't worked for me. I have found a way that worked for me and hopefully it will work for others as well. I decided to set this as its own topic since it seems to be an issue for both those of us running patched systems and some who do not.

Now the steps to do it:
  1. Install and run both Safari 14 and the desired extensions
  2. Close Safari completely (command + q)
  3. Navigate to ~/Library/Containers/com.apple.Safari/Data/Library/Safari/AppExtensions
  4. Open the Extensions.plist file in a text editor (I used Atom)
    The file structure should now show a general <dict> tag under which you can find <key> values and their own <dict> tag for every extension.
  5. Add two new lines below each extension's <dict> tag with the following text
    <key>Enabled</key>
    <true/>

    You should end up with something similar to this:
    XML:
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>extension.1</key>
    <dict>
    <key>Enabled</key>
    <true/>
    <key>WebsiteAccess</key>
    <dict>
    …
    </dict>
    </dict>
    <key>extension.2</key>
    …
    </dict>
    </plist>
  6. Save
  7. Open Safari, extensions should now be enabled.
Important note: I would expect this file to be protected by system integrity protection, however that is permanently disabled on my system. If you run int any issues while following the previous procedure I would suggest disabling SIP.
 

kroniu

macrumors newbie
Oct 19, 2020
1
0
Hello everyone.

First, an introduction you can skip.
I have a Macbook 5,1 (Late 2008 Unibody) and have been able to keep it updated thanks to the excellent tools made by dosdude1 and others. That however has meant that I have been victim of the Safari "feature" meant to prevent unauthorised enabling of extensions.

So far I had managed to keep them enabled by using a system started on 10.15.2 and updated from there, however this didn't work for the new Safari 14 because it disables some extensions upon its first run. This motivated me to find a way to manually enable extensions by editing some preferences file since all the advice regarding other solutions hadn't worked for me. I have found a way that worked for me and hopefully it will work for others as well. I decided to set this as its own topic since it seems to be an issue for both those of us running patched systems and some who do not.

Now the steps to do it:
  1. Install and run both Safari 14 and the desired extensions
  2. Close Safari completely (command + q)
  3. Navigate to ~/Library/Containers/com.apple.Safari/Data/Library/Safari/AppExtensions
  4. Open the Extensions.plist file in a text editor (I used Atom)
    The file structure should now show a general <dict> tag under which you can find <key> values and their own <dict> tag for every extension.
  5. Add two new lines below each extension's <dict> tag with the following text
    <key>Enabled</key>
    <true/>

    You should end up with something similar to this:
    XML:
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>extension.1</key>
    <dict>
    <key>Enabled</key>
    <true/>
    <key>WebsiteAccess</key>
    <dict>
    …
    </dict>
    </dict>
    <key>extension.2</key>
    …
    </dict>
    </plist>
  6. Save
  7. Open Safari, extensions should now be enabled.
Important note: I would expect this file to be protected by system integrity protection, however that is permanently disabled on my system. If you run int any issues while following the previous procedure I would suggest disabling SIP.
Thanks a million!
 
Comment

caravella

macrumors newbie
Feb 14, 2020
15
9
Sao Paulo
Hello,
and sorry for this question but where i can find this: ~/Library/Containers/com.apple.Safari/Data/Library/Safari/AppExtensions
 
Comment

Nigel Goodman

macrumors regular
Jun 29, 2017
157
71
UK
where i can find this: ~/Library/Containers/com.apple.Safari/Data/Library/Safari/AppExtensions

This is in the Finder. Use the Go menu and choose Go to Folder, then copy in the line shown starting with the ~. Finder will then open the correct folder for you.

BTW, the ~ character means your Home folder - the one with your log-in name on it.
 
Comment

ukase

macrumors newbie
Sep 24, 2020
5
3
This worked but the prior config messed up my Adguard install. Now the App Store still thinks that I have Adguard installed.

Has anyone been able to successfully remove Adguard and force the App Store to reinstall?
 
Comment

greenmeanie

macrumors 65816
Jan 22, 2005
1,214
354
AmigaWarez
Annoying to have to do this at all I know what extensions I want to run so I use Firefox because I can actually install extensions Apples loss.
 
Comment

mplacer68

macrumors newbie
Nov 28, 2020
1
0
Hello everyone.

First, an introduction you can skip.
I have a Macbook 5,1 (Late 2008 Unibody) and have been able to keep it updated thanks to the excellent tools made by dosdude1 and others. That however has meant that I have been victim of the Safari "feature" meant to prevent unauthorised enabling of extensions.

So far I had managed to keep them enabled by using a system started on 10.15.2 and updated from there, however this didn't work for the new Safari 14 because it disables some extensions upon its first run. This motivated me to find a way to manually enable extensions by editing some preferences file since all the advice regarding other solutions hadn't worked for me. I have found a way that worked for me and hopefully it will work for others as well. I decided to set this as its own topic since it seems to be an issue for both those of us running patched systems and some who do not.

Now the steps to do it:
  1. Install and run both Safari 14 and the desired extensions
  2. Close Safari completely (command + q)
  3. Navigate to ~/Library/Containers/com.apple.Safari/Data/Library/Safari/AppExtensions
  4. Open the Extensions.plist file in a text editor (I used Atom)
    The file structure should now show a general <dict> tag under which you can find <key> values and their own <dict> tag for every extension.
  5. Add two new lines below each extension's <dict> tag with the following text
    <key>Enabled</key>
    <true/>

    You should end up with something similar to this:
    XML:
    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
    <key>extension.1</key>
    <dict>
    <key>Enabled</key>
    <true/>
    <key>WebsiteAccess</key>
    <dict>
    …
    </dict>
    </dict>
    <key>extension.2</key>
    …
    </dict>
    </plist>
  6. Save
  7. Open Safari, extensions should now be enabled.
Important note: I would expect this file to be protected by system integrity protection, however that is permanently disabled on my system. If you run int any issues while following the previous procedure I would suggest disabling SIP.
Thanks this solved my problem on my My MacBook late 2008 !
 
Comment

macOS-nerd

macrumors newbie
Jan 14, 2021
1
0
I've followed these instructions (and also confirmed I have SIP disabled) but the file gets overridden after I've made my changes and then launch Safari (14.0.2) again.

Is there a way to keep my changes persistent?

Thanks!

Update:

For those of you who might run into the same problem as above, I found that adding the code snippet exactly as it is written below worked:

Code:
<dict>
    <key>Enabled</key><true/>
    <key>WebsiteAccess</key>
...
...

Apparently breaking the "true" parameter on a separate line did not work? Odd - but it works now, so hooray!
 
Last edited:
Comment
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.