Posted at

MojaveのSafari v12でsafariextzを利用する

More than 1 year has passed since last update.

手持ちの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使ったほうがいいでしょう。