LoginSignup
88
61

More than 1 year has passed since last update.

【Chrome】ServiceWorkerを今度こそ決定的かつ完全に消去する

Last updated at Posted at 2022-01-17

前、Chromeを使うなら、必ずServiceWorkersを無効化しようという記事を書いたのですが、あの方法はてんで全然ダメダメでした。
chrome://serviceworker-internalsには無用なServiceWorkerが増え続け、chrome://flags/からはServiceWorkerの削除設定が削除されました。

そんなわけで、今度こそServiceWorkerを決定的かつ完全に消し去りたいと思います。

といっても自力でどうこうしたわけではなく、全面的に他人の力を借りただけですが。

Reject Service Worker

Reject Service Workerをインストールする。
おわり。

かんたん!

作者はtoshiさんです。
ありがとうございます。

アドオンの技術的内容はServiceWorkerを無効化するという記事に書かれているのですが、ServiceWorkerを登録する関数を書き替えて登録できないようにしているみたいです。
なかなかのハック感。

既存のServiceWorkerを削除

Reject Service Workerは、今後のServiceWorkerの新規登録こそ止めてくれますが、それまでに登録されてしまったServiceWorkerはそのままであり消去されません。

削除する方法はふたつ。

まずは、Reject Service Workerが有効な状態で、ServiceWorkerが登録されたサイトを再度訪問すれば、そのタイミングで消えます。

もうひとつは、URLにchrome://serviceworker-internalsと入力し、ひたすらUnregisterを連打することです。

もしくはコメントで、一括削除する方法を @negabaro さんが紹介してくれていました。

$$('.unregister').forEach(b => b.click())

ホワイトリスト

ホワイトリストが用意されています。

このサイトだけはServiceWorkerを許可したい、といった場合は以下の手順で登録できます。

・許可したいサイト上で拡張機能からReject Service Workerを選択する。
・するとAdd to Whitelistというボタンが出るので選択する。

01.png

とても簡単ですね。

まあ、そもそもデフォルトがホワイトリストであるべきで、勝手にインストールしてくる現状が異常なわけですが。

ソースコードを確認

せっかくServiceWorkerを消し去ることに成功したとはいえ、実はアドオンそものがマルウェアでしたみたいなことになったら台無しですね。
そんなわけでReject Service Workerが安全かを、実際にソースコードを見て確認してみましょう。

アドオンの位置は%LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\falajmifjcihbmlokgomiklbfmgmnopdです。
Defaultはプロファイル名なので、環境によって異なる可能性があります。

幾つかファイルがありますが、中身はただのJavaScriptなので普通に読めます。
ソースコードはコメントを用意してくれているのでとても読みやすいです。

02.png

ソースコードを見るかぎりでは、何か怪しいことをやっていたり、外部と通信しているような素振りは全くありませんでした。
そもそも作者自身がアドオンのソースコードを確認する方法を提供していますからね。
これで変なことをやっていたら自爆でしかない。

ということで、このアドオンは所有者が変わらないかぎりきっと安全であり続けるでしょう。

まとめ

Reject Service Worker導入前後で、インターネット体験には何一つ変化がありません。

88
61
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
88
61