Firefoxは、閲覧履歴全体、ブックマーク、サイトのメタデータをplaces.sqliteというSQLiteデータベースに保存しています。Firefox内蔵の検索ではうまく見つからない古い履歴を検索したり、閲覧データをエクスポートしたり、自分の習慣を分析したりしたいこともあるでしょう。しかしこのファイルを開くのは簡単ではありません——Firefoxは実行中このファイルをロックしており、コピーを取得したとしても、macOSにはそれをビジュアルに閲覧する組み込みの方法がありません。
データベースの場所を特定してコピーする
Firefoxのプロファイルフォルダは~/Library/Application Support/Firefox/Profiles/xxxxxxxx.default-release/にあります。その中には、cookies.sqliteやformhistory.sqliteといった他のデータベースと並んでplaces.sqliteが見つかります。注意点として、Firefoxはブラウザの実行中これらのファイルをロックします。先にFirefoxを終了させるか、実行中に別の場所にファイルをコピーする必要があります(ただし、その瞬間にFirefoxが書き込みを行っていると、コピーの内容に不整合が生じる可能性があります)。
ファイルを入手したら、ターミナルによるアプローチではsqlite3 places.sqliteを実行し、moz_places、moz_historyvisits、moz_bookmarksといったテーブルに対してクエリを書くことになります。このスキーマは直感的ではありません——訪問のタイムスタンプはエポックからのマイクロ秒で保存されており、URLは1つのテーブルに、訪問のメタデータは別のテーブルにあり、読みやすい履歴リストを得るにはJOINが必要です。これはSQLに精通した人であれば何とかなりますが、ほとんどのユーザーにとっては現実的ではありません。
TomeでFirefoxの履歴をビジュアルに閲覧
Tomeは、places.sqliteを他のデータベースファイルと同じように開きます。コピーしたファイルをTomeにドラッグすれば、moz_places、moz_historyvisits、moz_bookmarksなど、すべてのテーブルがサイドバーに一覧表示されます。任意のテーブルをクリックすれば、スクロール可能なグリッドで内容を閲覧できます。
履歴を検索・絞り込む
Tomeのクエリエディタを使って、目的に合った検索を書きましょう。特定のドメインへのすべての訪問を見つけたり、マイクロ秒単位のタイムスタンプで日付範囲を絞り込んだり、特定のサイトを何回訪れたかを数えたりできます。シンタックスハイライトとオートコンプリートにより、これらのクエリを素早く書けます。
ブックマークとメタデータを調べる
moz_bookmarksテーブルには、親子関係を含むブックマークのツリー構造が保存されています。Tomeでこれを閲覧すれば、フォルダ構造や並び順を含む、ブックマークの階層全体を確認できます——これらはFirefoxのブックマークマネージャーでは見えにくい詳細です。
その他のFirefoxデータベースを調べる
同じプロファイルフォルダには、cookies.sqlite、formhistory.sqlite、content-prefs.sqliteも含まれています。これらもすべて標準的なSQLiteデータベースであり、Tomeで開くことができます。あるサイトがどんなCookieを設定したかを確認したり、保存されたフォームの入力内容を確認したり、サイトごとの設定を調べたりできます——すべてビジュアルに、ターミナルで生のクエリを書くことなく行えます。