FUSE(Filesystem in Userspace)という技術があります。ファイルシステムAPIを仮想化しており、ユーザが独自のファイルシステムを作れる技術です。外部のAPIをファイルシステム化したりするのに使われます。 そんなFUSEを使って変わったものがファイルシステム化されました。それはWebブラウザのタブ情報です。

TabFSの使い方

使ったところです。以下のような情報がマウントされました。

$ tree mnt/
mnt/
├── extensions
│   ├── Amazon.co.uk_amazon@search.mozilla.org
│   └── ____goo_oshiete-goo@search.mozilla.org
│       └── enabled
├── runtime
│   └── reload
├── tabs
│   ├── by-id
│   │   ├── 1
│   │   │   ├── active
│   │   │   ├── console
│   │   │   ├── control
│   │   │   ├── execute-script
│   │   │   ├── title.txt
│   │   │   ├── url.txt
│   │   │   └── window -> ../../../windows/3
│   │   ├── 2
│   │   ├── 3
│   │   └── 4
│   ├── by-title
│   │   ├── Google_3 -> ../by-id/3
│   │   ├── ______-_________this-firefox_1 -> ../by-id/1
│   │   ├── ________-________TabFS_4 -> ../by-id/4
│   │   └── _____________MOONGIFT_2 -> ../by-id/2
│   ├── create
│   └── last-focused -> by-id/4
└── windows
    └── 3
        └── visible-tab.png

35 directories, 44 files

TabFSは単純にタブ情報が並ぶだけでなく、機能拡張やウィンドウなどの情報もマウントされます。しかし実行時にコンピュータが長時間ハングするので注意してください。筆者環境ではGoogle Chromeではうまく動かず、Firefox版で利用できました。

将来的にはTabFSを通じてWebブラウザと情報のやり取りができるかも知れませんが、現状ではかなり実験的なソフトウェアでしょう。また、セキュリティ的なリスクもありそうなので、利用はあくまでも自己責任の上でどうぞ。

TabFSはC言語/JavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。

TabFS osnr/TabFS: ? Mount your browser tabs as a filesystem.