SafariにFirefoxの拡張機能・アドオンを移植して使う方法

Chromeの拡張機能をSafariに移植して使う方法はこっちの記事で紹介したけど、FirefoxもやっておかないとねということでFirefoxでもやります。

Firefoxの拡張機能はかなりの数ありますからね。便利なものもたくさんあると思います。Safariに突っ込んでいきましょう。

SafariでFirefoxの拡張機能を使う方法

これはChromeの拡張機能をSafariで使ったときと同じ用法でBigSurの拡張機能を移植することのできる機能を使います。macのバージョンを確認してBig Surじゃなかったらアップデートしておきましょう。


ちなみFirefoxの拡張機能をSafariに移植する流れとしてはこんな感じだね。

  • Xcodeプロジェクトを作成します
  • Safariに拡張機能をインストールするmacOSアプリやiOSアプリを使用してXcodeプロジェクトを構成します
  • Xcodeプロジェクトの拡張ファイルを使用してSafariWeb拡張を構成します

Safari用のWeb拡張機能の変換

Xcodeをダウンロードしよう

FirefoxからSafariに拡張機能を移植する際にXcodeを使う必要があるからAppStoreからダウンロードしておこう。容量が大きいからそれなりにダウンロードには時間がかかるんじゃないかな、と思う。

そしたら準備完了。Firefoxから拡張機能を移植する方に移ろう。

Firefoxの拡張機能のパスを取得する

Firefoxから拡張機能を移植するんだけど、移植する際にコマンドを打たないといけないんですよね。

safari_web_extensions

上に書いてある以下のコマンドをターミナルから実行する。

xcrun safari-web-extension-converter /path/to/extension

このコマンドの[/path/to/extension]には自分が移植したいFirefoxの拡張機能のパスにする必要があるから、Firefoxの拡張機能の保存先を見ていこう。

Firefoxの拡張機能・アドオンの保存先

Firefoxの拡張機能の保存先は以下。

'/Users/ユーザー名/Library/Application Support/Firefox/Profiles/英数字の羅列/extensions'

中を見てみるとアドオンが入っているんだけど、これはアドオンのIDだから何のアドオンなのか分からない。

ただ移植する際には、どれからアドオンを指定して行うから、どれが何のアドオンか分からないと困ってしまいますよね。なのでどのIDがどのアドオンなのか?っていうことを調べておきましょう。

どのIDがどのアドオンなのかを調べる

これはabout:supportとFIrefoxのアドレス欄に入力してみると確認することができる。

移植する際にはIDが必要だから、移植したいアドオンがあったらそのIDを確認しておこう。今回はPopup Blocker(page auto refresh)を移植したいと思う。

xpiファイルを展開する

Firefoxの拡張機能が保存されているフォルダを見てみると、保存されている形式がxpiと謎の形式になっています。

このxpiのままだと後でコマンドを打ってもエラーになってしまうので、一度展開したい。zipに変換しよう。

.xpiはZIP形式でまとめられた複数ファイルから構成されており、実体ZIP形式変わらない。そのため、拡張子 .xpiを .zip や.jar に変えることで、他の一般アーカイバによって展開することが可能となりる。

Weblio

コピーしてデスクトップに置いて、拡張子をzipに変更し展開するとこうなりました。

デスクトップじゃなくてそれっぽいフォルダに入れておいた方が管理しやすいと思うから、何か作ってその中に保管しておくのが良さそう。

展開したアドオンのパスを取得する

そしたらこの展開したフォルダのパスをコピーしたい。コピーできたら何でもいいけど、Finderから移植したいアドオンのIDを探してターミナルにドラッグ&ドロップするとそのパスが表示される。これをコピーしておこう。

コピーしたものは後でコマンドを打つときに使うよ。

コマンドを打って移植する

アドオンのパスをコピーしたら次はコマンドを打って移植作業を行おう。打つコマンドはさっき書いたこれ。

xcrun safari-web-extension-converter コピーしたアドオンのパス

これを実行すると、何か聞かれるからyesと答える。

するとXcodeが開かれるから左上のボタンを押してビルドする。

うまくいったらBuild Succeedっていうのが出てくるよ。

Safariの設定

Safariのメニューから[未署名の拡張機能を許可]をクリックしよう。パスワードが求められるね。

そしたらSafari機能拡張を見てみると、さっきコマンドで指定したFirefoxのアドオンが表示されているから、チェックを入れておく。

Safariを見てみると、チェックを入れたものがちゃんと表示されていますね。

これでSafariでFirefoxのアドオンを使うことができるようになった。

まとめ

FirefoxのアドオンをSafariで使えるようにするっていうことをやってみたけど、Firefoxの便利なアドオンを使うことができるのは便利だね。ただ全部が全部うまいこと使えるのか?っていうのは気になるね、どうなんだろう。

ただFirefoxじゃなくてわざわざSafariを使う人ってなかなかいない気がする。。

おすすめの記事