Firefox で新しいプロファイルをセットアップ

メインの Web ブラウザとして、Mozilla Firefox を使わせていただいています。

  • 用途ごとにプロファイルを使い分けられる(ブックマークやアドオンや開いたままのタブの状態を別個に管理できる)
  • タブバーの縦置きができる
  • 勝手に Google に情報が送信されることがないのでプライバシー的に安心
  • Web の多様性のためにも応援したい

今では、8個のプロファイルを使い分けている状況です。

今回、ひさしぶりに新しいプロファイルを追加して初期設定をしたのですが、いろいろ忘れてることがあったので、メモ代わりに記事にしておくことにしました。

プロファイルの新規作成

プロファイルを新規に作成するには、Firefox の「プロファイルについて」画面を開きます。具体的には、Firefox のアドレスバーに about:profiles と入力します。

この画面で、「新しいプロファイルを作成」ボタンを押します。「プロファイル作成ウィザード」が開くので、「次へ」ボタンを押します。すると、新しいプロファイルの名前を聞かれるので、入力します。この名前はそのままプロファイルデータを格納するフォルダの名前として使われるので、「英数字のみ」で指定することをオススメします。漢字ひらがなとか、スペースとかは、たぶん避けたほうが安全。

「完了」ボタンを押すと、「プロファイルについて」画面に戻ります。新しく作ったプロファイルの情報が一覧に追加されているハズです。

この状態では、新しく作ったプロファイルが「既定のプロファイル」になってしまっているので、元のデフォルトのプロファイルのところにある「既定のプロファイルに設定」ボタンを押しておきます。これを忘れると、オプション無しで Firefox を起動したときのプロファイルが変わってしまいます。

新しいプロファイルを指定して Firefox を起動するショートカットを作っておく

プロファイルを指定して Firefox を起動するためには、firefox.exe にオプションを指定する必要があります。具体的には、-no-remote -P "プロファイル名" を付けます。

スタートメニューに登録されている Firefox のショートカットをコピーして、そのプロパティを開いて、「リンク先」欄に文字列を追加します。

タブバーを縦置きにする

タブバーを右サイドバーとして設定することで、縦置きにします。アドオンを入れて、アドオンのスタイルシートで見た目を調整して、さらに Firefox 自体のスタイルシートもカスタマイズします。

こんなイメージになります:

2016年に書いた記事では Vertical Tabs Reloaded というアドオンをご紹介しましたが、今は別のアドオンを使わせていただいています。

アドオンをインストール

アドオンというのは、今の Firefox では主に「拡張機能」と呼ばれていますが、まぁ、同じ意味です。

タブバーを縦置きにするために、「Tree Style Tab - ツリー型タブ」というアドオンをインストールします。

https://addons.mozilla.org/ja/firefox/addon/tree-style-tab/

Firefox の「拡張機能」画面の右上にある「アドオンを探す」欄で「Tree Style Tab」と入力すれば、上記の URL に飛べるはずです。このページにある「Firefox へ追加」ボタンを押せばインストールできます。

いくつかアクセス権についてダイアログが出ると思いますが、「許可」しておきます。

左サイドバーとして「ツリー型タブ」が開くので、右に移動します。具体的には、左サイドバーの上部の「ツリー型タブ ∨」となっているところをクリックして、開いたメニューから「サイドバーを右側へ移動」を選択します。

あと、設定を進めていくと、ツリー型タブからの確認メッセージが出るかと思います。

ここは、素直に「右側用の設定に切り替える」を選択すれば OK です。

アドオンのオプション設定

Firefox の「拡張機能」画面から「Tree Style Tab - ツリー型タブ」のオプション設定画面を開きます。

すごくたくさんの項目があって戸惑うかもしれませんが、初期設定のままでも使えると思います。今回は、「タブをグループにまとめる機能は使わない」「タブバーには詰め積めで表示させる」ようにしてみます。

まず、「外観」のところで、「装飾無し」を選択しておきます。

次に、「詳細設定」のところにある「ツリー型タブが提供するページ用の追加のスタイル指定」欄で、スタイルシート (CSS) の記述を追加します。

ここのテキスト入力欄にはすでに CSS の記述が書かれています(実際にはコメントアウトされているので無効になっています)。その内容に追加する形で、以下のテキストをコピペします。

/* Active tab */
.tab.active {
    background-color: #fcc;
}

/* Hovered tab */
.tab:hover {
    background: #ffc !important;
    opacity: 1;
}

/* Hide the "new tab" button at the bottom edge of the tab bar */
.newtab-button-box {
    display: none;
}

/* Adjust color with the theme */
#tabbar {
    background-color: var(--theme-colors-toolbar);
}

上記のテキスト (CSS) は、4個の設定をしています。

  • アクティブなタブがひと目でわかるように色を変える(薄い赤)
  • タブバーの上にマウスカーソルがあるときに、マウスカーソルの下のタブの色を変える(薄い黄色)
  • タブバーの下端に表示される「新しいタブを追加」ボタンを削除
  • タブバー全体の色を Firefox のテーマに合わせる

なお、4番目の設定は、Firefox のテーマによってはうまく機能しないので、その場合は以下のように明示的に RGB 色指定をするように書き替えてみてください。

/* Adjust color with the theme */
#tabbar {
    background-color: #ffe0f0;
}

水平タブバーとサイドバータイトルを消す

右サイドバーとしてタブを縦置きできたわけですが、もともとウインドウ上部に存在している水平タブバーが邪魔ですよね。あと、右サイドバーの上端に「ツリー型タブ」とタイトルが表示されているのも表示領域の無駄遣いです。

これらを消すには、Firefox のマイナーな機能である userChrome.css を使います。 “Chrome” と名前が付いていますが、Google Chrome ブラウザとは関係ありません。「見た目の装飾」くらいの意味で使われる俗語で、Firefox においてはツールバーやタブバーなどの UI パーツを意味します。

userChrome.css というのは、Firefox のプロファイルのフォルダ内に chrome という名前のフォルダを作って、その中に userChrome.css というテキストファイル(CSS ファイル)を置くと、Firefox の見た目をカスタマイズできる、という機能です。 なお、この機能は deprecated らしいので、そのうち使えなくなるかもしれません。

まず、デフォルトでは Firefox は userChrome.css を読み込んでくれません(昔はデフォルトで読み込んでくれていた模様)。 Firefox のアドレスバーに about:config と入力して「高度な設定」画面を開きます。「注意して進んでください!」という警告が出ますが、「危険性を承知の上で使用する」ボタンを押して先に進めます。ページ上部の「設定名を検索」欄に toolkit.legacyUserProfileCustomizations.stylesheets と入力します。すると、プロパティが1行表示されて、値が false になっているハズです。この行をマウスでダブルクリックすると、値が true に変わります。これで userChrome.css を読み込んでくれるようになったので、「高度な設定」ページを閉じます。

次に、userChrome.css というファイルを作ります。

エクスプローラでプロファイルのフォルダを開きます。フォルダがどこにあるかわからない場合は、Firefox のアドレスバーに about:profiles と入力して、新しく作ったプロファイルのところの表の中の「ルートディレクトリー」の行の「フォルダーを開く」ボタンを押せば OK です。

Firefox はいったん終了させておきます。

エクスプローラでプロファイルのフォルダを開いたら、chrome フォルダを掘ります。もともと存在していたらそのままで OK です。

chrome フォルダに移動して、userChrome.css というテキストファイルを新規作成します(もともと無ければ)。とりあえず拡張子 .txt で作成して、中身を書いてからエクスプローラ上で拡張子を .css に変更してもかまいません。メモ帳とかを使って、そのテキストファイルに以下の内容を書きます。

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");

/* Hide horizontal tabs at the top of the window */
#TabsToolbar {
  visibility: collapse !important;
}

/* Hide the header at the top of the ANY sidebar */
#sidebar-header {
  display: none;
}

上記の @namespace ... の行は、必ずファイルの先頭に書かなければなりません。もともとファイルが存在していて、同じ記述があったら追加不要です。

また、もともとファイルが存在していた場合、残りの行はファイル末尾に追記する形で OK です。

最後に、ファイルの拡張子が .css になっているのを再確認して、Firefox を起動します。

無事に水平タブバーが消えていれば、OK です。

マウスホイールでタブを切り替えたい

右サイドバーのタブバーの上でマウスホイールを回転させてタブを切り替えられると、便利です。

アドオン「TST Mouse Wheel and Double Click」をインストールします。

https://addons.mozilla.org/ja/firefox/addon/tree-style-tab-mouse-wheel/

インストールしたら、「拡張機能」の「オプション」画面を開きます。基本的には、チェックボックスは全部 OFF にすれば OK だと思いますが、お好みで。変更したら、最後に左下の「Save Options」ボタンを押すのを忘れずに。

ページタイトルと URL をクリップボードにコピー

メモに残したり Twitter に投稿したりするとき、開いているページのタイトルと URL を手軽にコピペできると便利です。

Format Link というアドオンを使わせていただいています。

https://addons.mozilla.org/ja/firefox/addon/format-link3/

たとえば、Markdown の List Item としてメモしておきたい場合、

- {{text}}   \n  {{url}}\n

とか指定しておくと便利です。

おまけ

about:config で開く「高度な設定」画面から、便利な設定ができます。

  • ブックマークをクリックしたときに新しいタブで開くようにするには、browser.tabs.loadBookmarksInTabstrue にすればよい。
  • 検索バーでの検索結果を新しいタブで開くようにするには、browser.search.openintabtrue にすればよい。
  • URL の国際化表記を強制停止する(強制的に Punycode 表記にする)には、network.IDN_show_punycodetrue にすればよい。フィッシング対策のひとつ。

Gandi.net の無料メールで DMARC を設定してみる

ふと、新しいドメインを衝動買いしてしまいました。 .dev ドメインです。取得費用 1759円で安かった(更新料も同額)。運用中の汎用 .jp ドメインの半額です。レジストラは Gandi.net を選びました。フランスの企業ですが、日本語サイトがちゃんとあって、手続きは全部日本語でできます。支払いも日本円で OK (クレカか PayPal)。ただし、マニュアルとかドキュメントは英語です。英語読めないひとにはオススメしません。追加費用なしで Whois 情報の保護(ドメイン所有者とかの個人情報を隠してくれる)もやってくれるので、安心です。

Gandi.net で独自ドメインを取得すると、無料でメールサービスが付いてきます。メールボックスは2個までですが(課金すれば増やせる)、エイリアスを無制限に使える(しかもワイルドカード指定ができる)ので、使いやすいです。デフォルトで SPF と DKIM が設定されているので、スパム扱いされるリスクも低いです。すばらしい。

せっかくなので、よりメールの安全性を高めるべく、DMARC も設定してみることにしました。

DMARC の設定というのは、実際のところ、DNS サーバの設定に TXT レコードを1個追加するだけです。簡単。

ちなみに、 SPF は “Sender Policy Framework” の略、 DKIM は “DomainKeys Identified Mail” の略、 DMARC は “Domain-based Message Authentication, Reporting & Conformance” の略です。

手順

前提条件として、Gandi.net のメールサービスを使って正常にメール送信できることを確認しておく必要があります。 SPF と DKIM の設定が正しく動作していなければなりません。独自ドメインのメールアドレスから、自分のプロバイダのメールアドレスとか Gmail とかにメールを送信してみて、届いたメールのメールヘッダの中身をチェックします。具体的には、Authentication-Results: ヘッダの値に dkim=passspf=pass という文字列が含まれていることを確認します。もし、dkim=fail とか spf=softfail とか書いてあったらダメです。ちなみに、順不同です(メールサーバによって書かれている順番が異なる)。

今回試した限りでは Gandi.net のデフォルト設定で問題なかったので、ダメだった場合は、自分でなにか設定を変えてしまったか、Gandi.net のメールサーバの設定が変わってしまったのか、いずれにしてもがんばって解決してください。

さて、SPF と DKIM の設定に問題が無いことが確認できたら、DMARC の設定をしてみます。具体的には、Gandi.net で運用してもらっている DNS サーバの設定を変更することになります(DMARC の設定を追加します)。

Gandi.net にログインして、DNS サーバの設定(「DNSレコード」)を開きます。

レコード一覧を見ると、SPF と DKIM については最初から設定されていることがわかります。

ここにひとつ、TXT レコードを追加してあげます。ページ右上の「レコードを追加」ボタンを押すと「DNSレコードを追加」画面が開くので、テキストを入力します。「タイプ」は TXT を選択します。「レコード名」には _dmarc と入力します。「テキスト値」には DMARC の設定を書きます。書き方は上記の DMARC 関連リンクを参考にしてください。下記スクリーンショットは、あくまでも Seaoak のドメインの設定例なので、そのまま同じ設定を入力してはいけません。少なくとも rua フィールドの値は自分のドメインのメールアドレスに変える必要があります。

TTL とそのユニットについては、変えなくていいハズ(設定を間違えた場合を考えると短くしたほうがいいのかしら?)。入力できたら、最後に「設定」ボタンを押すと、即座に DNS サーバの設定が更新されます。 DNS レコード一覧を見ると、ちゃんと _dmarc の行が追加されていることが確認できます。

ためしに、手元の Windows PC で DNS を引いてみます。 Windows に最初から入っている nslookup コマンドを使います。 TXT レコードを指定するために set type=txt と入力して、それから _dmarc.ドメイン名 と入力すると、上で設定した DMARC レコードが表示されるハズです。

もし、「~を見つけられません: Non-existent domain」とか言われてしまった場合は、独自ドメインの DNS 情報がどこかの DNS サーバにキャッシュされてしまっています。 Gandi.net の DNS サーバ(権威サーバ)に設定した情報が反映されるまでしばらく時間をおいてから、再実行してみましょう。最悪でも翌日になれば変更が反映されるハズです。

nslookup コマンドで確認できたら、忘れずに、DMARC の分析レポート (rua) の宛先に指定したメールアドレスで、ちゃんとメールを受信できるようにしておきます。 Gandi.net のメールボックスのエイリアスに dmarc* とか指定しておけば OK でしょう。ちなみに、送られてくる分析レポートメールには .zip ファイルが添付されていて、その中身は XML テキストです。人間には解読できないので、てきとうなクラウドサービスとかを使うのが良さそうですね。

最後に、DMARC の動作確認をします。独自ドメインのメールアドレスから(Gandi.net のメールサービスを使って) Gmail とかにメールを送信してみます。そのメールが無事に受信できたら、受信したメールのメールヘッダをチェックします。 Authentication-Results: ヘッダの値に dmarc=pass という文字列が含まれていれば成功です。このとき、spf=passdkim=pass も含まれているハズです。

以上で、DMARC の導入ができました。おつかれさまでした。

今後のアクション

せっかく設定した DMARC ですが、実は、上記の DMARC 設定では p=none という記述になっているので、「SPF / DKIM の認証でエラーになったメールもそのまま正常なメールとして受信してください」という指定(受信サーバへの依頼)になっています。つまり、実質的にはメールセキュリティは強化できていません。あくまでも認証エラーが発生しているかどうかのレポートが得られる(送られてくる)だけです。

そこで、次のステップとしては、DMARC ポリシーを「SPF / DKIM の認証でエラーになったメールは『不審なメール』扱いしてください」という指定に変えたいです。具体的には、DMARC レコードの値で p=none としているのを p=quarantine に書き替えます。これにより、送信元を偽装したメールは、受信メールボックスで「迷惑メール」に振り分けられるようになります(正確には、その可能性が高くなります)。

さらにメールのセキュリティを強化するならば、DMARC レコードで p=reject と書きたいところです。この指定をすることで、送信元を偽装したメールは受信サーバで破棄してもらえるようになります(そのように受信サーバに依頼している形になります)。

まぁ、新規ドメインならば、既存のメールサーバが存在していて SPF や DKIM に対応できていない、という問題は無いので、いきなりこの p=reject 設定にしてしまっても大丈夫かもしれません。ただし、自分の管理するクラウドサーバとかから独自ドメインのメールアドレスを差出人にしてメールを送信する、ということができなくなりますので、ご注意ください(送信元の偽装と判断されてしまいます)。

おまけ: .dev ドメインについて

ちなみに蛇足ですが、今回 .dev ドメインを選んだのは、ドメイン丸ごと HSTS が設定されていてセキュリティを重視している点が好みだったからです(HSTS というのは、HTTP 接続しようとするとブラウザが強制的に HTTPS 接続に切り替えてくれるしくみです)。正直、.io ドメインとどちらにするか迷ったのですが、費用が .io ドメインの半額以下ですし、 2文字 TLD (国や地域に割り振られている TLD)は管理体制に不安があるなんて噂もあるので、.dev ドメインにしました。なお、HSTS が設定されている副作用として、Gandi.net がデフォルトで提供しているウェブリダイレクト機能を使えない、というデメリットもあります(HTTPS 接続をリダイレクトするためにはリダイレクトサーバに SSL サーバ証明書が必要になるからですね)。