Windows な Google Chrome なキャッシュなメモ

役に立つ情報は書かない。ゆえ、読む必要はない。

「Windows な」と言っておきながら「Unix もどき」(MSYS など)を前提にしちゃってる時点でもう、人によっては「零点」な情報だよねと思う。何言ってるのか一ビットもわからんようならとっとと離脱しなはれ。


一に廃れやすい、二に廃れやすい、三、四がなくて、五に廃れやすい。というだけじゃなくて、「何か有益な情報」になりにくいの、このネタ。実は何回かこれについて書こうかと思ったことがあったんだけど、毎度その結論に至って書かずじまい。そしてそうやって書かないでいるうちに「以前とは違ってる」ことにも気付いたりもして。

「Google Chrome なキャッシュなメモ」で唯一「役に立つ」情報はこれだけ:

「以前に書こうとしていた際にはあって、今はなくなっているもの」はこれね。かつては chrome://cache/ でキャッシュデータを個別に参照することが出来たんである。で、「で?」。結局 chrome://cache/ で見れたのは「限りなく生データ」。「これは画像だ」ということはわかったとしても、どういう画像なのかはわからない。確か記憶では base64 ダンプの形で読めただけだったと思う。(なお、chrome:// でアクセス出来る完全なリストは chrome://chrome-urls/ 。)

そして「以前に書こうとしていた際」に何を考えていたかというと、「個別に視覚的に確認しながら取捨選択出来ないもんであろうか」てこと、なので、「chrome://cache/ じゃ足らん、ほかになんかないか」てことだった。ただそのときも、今回もそうなんだけれど、上で見せた Chrome 自身の UI での大分類「キャッシュされた画像とファイル」をさらに細かく個別に見たいのだろうか、てことなのよね、結局のところ。「ログイン情報だとかオートコンプリートの履歴」みたいに安直に消すと即座に劇的に不便になるものさえ除外出来てるなら、「画像のうちこれだけは消したくない」なんてことは、万に一つも思わない。

以前考えた際に「chrome://cache/ じゃ足らん、ほかになんかないか」で何を見つけたのかは覚えてない。見つけなかったのかもしれない。そして今回改めて探ってみたが、superuser で言及されてる nirsoft のこれは、どうやら今時点での Chrome 対応が出来ていない模様。設定で Chrome 以外を全て「Don’t scan」にしてみたら、何一つ検出してくれなかった。(ワタシが使ってる Chrome は「72.0.3626.121 (Official Build) (64 ビット) (cohort: Stable)」てヤツ。)

そして、以前考えた際にも試み、今回も少しだけ試みてみたのは「自力で漁ることは出来るなら出来るだろうか」て件。そもそも「キャッシュの実体の場所」からして何度も変わっているようだが、今現時点での「キャッシュされた画像とファイル」に相当するキャッシュが置かれているのは、どうやら

ワタシの場合。「hhsprings」部分が「あなたの」ユーザ名、ね。
1 c:/Users/hhsprings/AppData/Local/Google/Chrome/User Data/Default/Cache

らしい。かつてはこうだった、のかな:

「superuser」 ではここだと言ってる。少なくともあたしんちとは違う。
1 c:/Users/hhsprings/AppData/Local/Google/Chrome/User Data/Profile 1/Cache

で、この場所にこんなファイルたちが収められてる:

 1 [me@host: Cache]$ ls -1
 2 data_0
 3 data_1
 4 data_2
 5 data_3
 6    ...
 7 f_000009
 8 f_00000a
 9    ...
10 f_00001e
11 f_00001f
12 f_000020
13    ...
14 f_00005a
15 index

data_n と index が何者なのかはわからなかった。index は名前の通りだろうけれど、独自形式なんだろうかね。「file」コマンドでは「data」としか言ってくれないんだけれど、これが「file にとっては未知」なだけなのかがわかんない。なんとなく sqlite とか bsddb とかなんじゃないのかなとも思ってたけど違うんかね。

f_xxxxxx が「キャッシュされた画像とファイル」そのもの、らしい。Chrome の UI で消してみたら、この f_xxxxxx だけが綺麗さっぱり消えた。そしてこれの中身は「gzip 圧縮された何か」もしくは「gzip 圧縮されない生の何か」。この「何者か」を管理するのが「index」だろうと思うので、「名前と由来」は中身が読めてもわからない。(かつて chrome://cache で見れたヤツは確かどういった HTTP アクセスで持ってきたものかの情報まで見れたんだけどね、今はこんななので「index の読み方がわからない限りは」わからない。)

そうはいっても「中身を読むことそのものは簡単に出来る」。の前に、「おぬしは何者ぞ?」:

zzz.sh
1 #! /bin/sh
2 file -z "$1"  # -z は「圧縮されてるなら解凍したものが何者なのか」
 1 [me@host: Cache]$ find . -name 'f_*' -exec ./zzz.sh '{}' \; | tee file.log
 2 ./f_000001: HTML document text (gzip compressed data, max compression)
 3 ./f_000002: ASCII C++ program text, with very long lines (gzip compressed data, max compression)
 4 ./f_000003: data
 5 ./f_000004: ASCII text, with very long lines, with no line terminators (gzip compressed data, from Unix)
 6 ./f_000005: ASCII English text, with very long lines (gzip compressed data, from Unix)
 7 ./f_000006: HTML document text (gzip compressed data, from Unix)
 8 ./f_000007: PNG image data, 1100 x 600, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
 9 ./f_000008: HTML document text (gzip compressed data, from Unix)
10 ./f_000009: ASCII text, with very long lines (gzip compressed data, from Unix)
11 ./f_00000a: PNG image data, 150 x 150, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
12 ./f_00000f: ASCII text, with very long lines (gzip compressed data, max compression)
13 ./f_000010: data
14 ./f_000011: data
15 ./f_000012: data
16 ./f_000013: ASCII English text, with very long lines, with no line terminators (gzip compressed data, from Unix)
17 ./f_000014: ASCII English text, with very long lines (gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT))
18 ./f_000015: ASCII English text, with very long lines (gzip compressed data, max compression)
19 ./f_000017: ASCII text, with very long lines (gzip compressed data, from Unix)
20 ./f_000018: ASCII English text, with very long lines (gzip compressed data, max compression)
21 ./f_000019: JPEG image data, JFIF standard 1.01
22 ./f_00001a: JPEG image data, JFIF standard 1.01
23 ./f_00001b: JPEG image data, JFIF standard 1.01
24 ./f_00001c: GIF image data, version 89a, 300 x 250
25 ./f_00001d: ASCII English text, with very long lines (gzip compressed data, from Unix)
26 ./f_00001e: ASCII C program text, with very long lines, with CRLF, LF line terminators (gzip compressed data, from Unix)
27 ./f_00001f: ASCII C program text, with very long lines (gzip compressed data, from Unix)
28 ./f_000020: ASCII C++ program text, with very long lines (gzip compressed data, from Unix)
29 ./f_000021: HTML document text (gzip compressed data, from Unix)
30 ./f_000024: PNG image data, 869 x 677, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
31 ./f_000025: PNG image data, 150 x 150, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
32 ./f_000027: PNG image data, 150 x 150, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
33 ./f_00002a: JPEG image data, JFIF standard 1.01
34 ./f_00002b: GIF image data, version 89a, 600 x 500
35 ./f_000031: ASCII English text, with very long lines (gzip compressed data, from Unix)
36 ./f_000032: HTML document text (gzip compressed data, from Unix)
37 ./f_000033: HTML document text (gzip compressed data, from Unix)
38 ./f_000034: PNG image data, 150 x 150, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
39 ./f_000035: PNG image data, 997 x 618, 8-bit/color RGB, non-interlaced (gzip compressed data, from Unix)
40 ./f_000036: GIF image data, version 89a, 600 x 500
41 ./f_000037: GIF image data, version 89a, 600 x 500
42 ./f_000038: GIF image data, version 89a, 600 x 500
43 ./f_000039: JPEG image data, JFIF standard 1.01
44 ./f_00003a: GIF image data, version 89a, 300 x 250
45 ./f_000040: JPEG image data
46 ./f_000041: JPEG image data
47 ./f_000042: GIF image data, version 89a, 600 x 500
48 ./f_000048: GIF image data, version 89a, 600 x 500
49 ./f_000049: GIF image data, version 89a, 600 x 500
50 ./f_00004a: data
51 ./f_00004b: ASCII C program text, with very long lines (gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT))
52 ./f_00004c: PNG image data, 92 x 2839, 8-bit/color RGBA, non-interlaced
53 ./f_00004d: ASCII C program text, with very long lines (gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT))
54 ./f_000053: JPEG image data
55 ./f_000059: JPEG image data, JFIF standard 1.01
56 ./f_00005a: JPEG image data, JFIF standard 1.01
57 ./f_00005b: HTML document text (gzip compressed data, from Unix)
58 ./f_00005c: PNG image data, 336 x 280, 8-bit/color RGBA, non-interlaced
59 ./f_00005d: GIF image data, version 89a, 300 x 250
60 ./f_00005e: JPEG image data, JFIF standard 1.01
61 ./f_00005f: JPEG image data, JFIF standard 1.01
62 ./f_000060: GIF image data, version 89a, 600 x 500
63 ./f_000061: JPEG image data, JFIF standard 1.01
64 ./f_000062: JPEG image data, EXIF standard
65 ./f_000063: UTF-8 Unicode English text, with very long lines (gzip compressed data, from Unix)
66 ./f_000064: ASCII text, with very long lines (gzip compressed data, from Unix, max compression)

「gzip compressed」になってるヤツが解凍しないと読めないヤツね。今引用したのには見えてないけれど、gzip だけでなくて Zip で圧縮されてるのもいた。たぶんこれ、HTTP で持ってきたまんまだと思う。クライアントが要求し、サーバが応答出来るなら gzip 圧縮で通信出来るので。

あとはこの file コマンドによる報告を利用して何か視覚的に読めるようにする、てのが「ゴール」なのであろう。けど前述の通り「それって食べれんの?」てこと。「画像のキャッシュなんか安直に消しても何も困らない」のが普通だからね。個々に読めてもそうそう嬉しかない。少なくとも「がんばって自力で」やるようなもんではない。どうしてもということなら、拡張機能を書いた人なんかがいないか探す方がいいような気がする。もしくは自力でやりたいのだとしたらそれは「人様のためのツールを作りたい」人だろう。そういうことなら頑張ってくれ。ワタシはやらんけど。


ね、ほんとに役に立たない情報だったでしょう?

それなのになんで。いや、「少し調べちゃったけど書くほどの内容は得られなかった…ってデジャブだ…今回は書いとくか、でないとまた同じことやってしまいそうだ」てことだよさ。