Distributing Your Extension

Safari extensions are distributed in the form of a signed, compressed folder with the file extension .safariextz. Building and signing your extension using Safari’s Extension Builder tool will create a .safariextz file that you can host on your web server. You may also submit the extension for inclusion in Apple’s Safari Extension Gallery, providing users with a one-click installation experience and automatic updates when new versions of your extension are released. Users can then install the extension in either of the following ways:

Putting Your Extension on a Web Server

To make your extension available via a web server:

  1. Build and sign the extension in Extension Builder to create a .safariextz file.

  2. Include a link to a copy of your .safariextz folder on your website. Be sure to include a description of what your extension does.

  3. Make sure your web server is serving the extension using the MIME type application/octet-stream.

    Most web servers maintain a table of file extensions and MIME types, and provide an administrative tool for updating the table. For example, to add a MIME type to an Apache web server, use the AddType directive:

    AddType application/octet-stream .safariextz

    For IIS web servers, the MIME settings are typically accessed using the MMC by right-clicking the host computer name and choosing Properties, then adding a new MIME setting and file extension.

For more information, consult the vendor’s documentation for your web server, or do a web search for “add MIME type” + YourWebServer + YourVersionNumber.

Submitting Your Extension to the Safari Extensions Gallery

Extensions in the Safari Extensions Gallery are hosted and signed by Apple, which means users can trust that the Safari Extension they are installing is the one you submitted. Only Safari extensions installed from the Safari Extensions Gallery can be updated automatically. To support automatic updating to the version available from the Safari Extensions Gallery, add the following line to your Update Manifest.

<key>Update From Gallery</key>

To submit your extension to the Safari Extensions Gallery go to https://developer.apple.com/safari/extensions/submission/