Mac
Safari

MojaveのSafari v12でsafariextzを利用する

手持ちのMacbook 2016にMojave Betaを入れてみたのですが、Safariに入れていたuBlock Originが動かなくなりました。
どうやらMojave + Safari v12だとsafariextzがサポートされなくなるみたいです。
App StoreにあるExtensionを使えって言われます。
でも、App Storeにあるブロッカーって有料のしかないんですよ。
だからなんとかuBlock Originを動かす方法を模索しました。
AdBlockやμBlock、そのほかsafariextzで配布されてるExtensionなら同じことができると思います。

必要なもの

  • safariextzファイル
    • これがないと始まりません
  • xar解凍ソフト
    • xarコマンドが使えます
    • The UnarchiverでもOKです

今回は以下でダウンロードできるuBlock Originのsafariextzファイルを利用しました
https://github.com/el1t/uBlock-Safari/releases

Mojaveアップデート前にExtensionをインストールしていたなら
~/Library/Safari/Extensions
にsafariextzファイルが残っているので、それが使えます

インストール

safariextzを展開

ターミナルで

xar -xvf uBlock0.safariextz

とするか、
safariextzファイルの拡張子をxarに変換してThe Unarchiverなどで開けば展開できます。

Extensionsフォルダに移動

展開してできたフォルダを
~/Library/Safari/Extensions
に移動しましょう。

この作業、必要なわけじゃないのですが、展開したフォルダを消してしまうとインストールした機能拡張が消えるので、普段は開かないフォルダに置いておきたかっただけです。

Safariで読み込み

開発メニューを表示させる

既にメニューバーに開発メニューが表示されてる人は"機能拡張ビルダーで読み込み"まで飛ばしてください

Safariの環境設定を開き、詳細タブを開くと一番下に「メニューバーに"開発"メニューを表示」という項目があるのでチェックを入れてください

スクリーンショット 2018-06-07 15.59.01.png

機能拡張ビルダーで読み込み

開発メニューに「機能拡張ビルダーを表示」という項目から機能拡張ビルダーを開きます。
スクリーンショット 2018-06-07 16.02.58.png

左下の+ボタンから「機能拡張を追加」を選び、
~/Library/Safari/Extensions
にあるsafariextzを展開してできたディレクトリを選択します。

スクリーンショット 2018-06-07 16.06.20.png

スクリーンショット 2018-06-07 16.08.14.png

ちなみにこのフォルダ選択画面でも"Command + Shift + G"のショートカットが使えるのと、このフォルダ選択画面にFinderからファイルやディレクトリをドラッグ&ドロップするとその項目が選択されるので、これら使うと選択が楽になります。

スクリーンショット 2018-06-07 16.11.35.png

その後、右上のRunをクリックして、実行するためにパスワードを入力すれば完了です。

注意事項

Safari機能拡張証明書のないものは、Safariを再起動させると止まります。
その場合、Safariを起動する度に機能拡張ビルダーを表示させてRunさせる必要があります。
とても不便です。
特にSafari使う必要ない人は素直にChromeやVivaldi使ったほうがいいでしょう。