Chromeでユーザースクリプトが無効化されたから、Tampermonkey経由で利用する

chrome-disabled-extension01.png

数日前にいつもと同じようにChromeを開いたら見慣れない通知が。拡張機能を無効化しましたと。ああやっぱりそうなったか。

というのも以前このブログで「Chromeの拡張機能がWeb Store経由でないとインストール不可に」という記事にして取り上げたくらいで、気にしていたことだった。先の記事でも書いたように理解もできるけど、使っていた拡張機能が使えなくなるのはやはり不便だなあと。そういうわけで、今日は無効化されたユーザースクリプトをなんとか利用し続けられるよう試みるという記事です。

注意点。ウェブストア外の拡張機能のうちユーザースクリプト(.js)についてで、.crx形式の拡張機能については扱いません。

無効化された状況の詳細


無効になったと通知があったのは、バージョン 35.0.1916.114 m にて。6月5日の夜でした。

通知にあったヘルプ情報へのリンク

拡張機能が Chrome によって無効にされました - Chrome ヘルプ
https://support.google.com/chrome/answer/2811969


無効化された拡張機能

Inline Thumbnail ほかが無効化された。困った。

無効化されたものは拡張機能のページ chrome://extensions/ でこのように表示されている

chrome-disabled-extension02.png

無効になったものは有効にできないようチェックボックスが選択できなくなっている。


ちなみに私はChromeの拡張に関してはデベロッパーモードで使用していますが、無効化されました。

Chromeでウェブストア外で配布の拡張機能を使用不可に


今回強制的に無効化。以前からその方向で進んでいた。しばらくデベロッパーモードでなら使えたがそれもなくなった。完全に不可。
関連するニュース記事をピックアップしておく。

2013年11月、無効化の方針が明らかに。この時点で実施は2014年1月となっていた。
Windows版「Chrome」拡張機能、インストールは「Chrome Web Store」からのみへ - CNET Japan http://japan.cnet.com/news/service/35039632/

Chromium Blog: Protecting Windows users from malicious extensions http://blog.chromium.org/2013/11/protecting-windows-users-from-malicious.html


2014年3月、Chromeウェブストアでホストしてねーと案内。無効化の日程は5月1日とされた。
“Chrome ウェブストア”外で配布のChrome拡張機能が5月1日よりインストール不能に - 窓の杜 http://www.forest.impress.co.jp/docs/news/20140312_639205.html

Chromium Blog: Make Sure to Get Your Extension in the Chrome Web Store http://blog.chromium.org/2014/02/make-sure-to-get-your-extension-in.html

悪意ある Chrome 拡張機能からユーザーを守るために Chrome ウェブストアでホスティングしましょう - Google Developer Relations Japan Blog http://googledevjp.blogspot.jp/2014/03/chrome-chrome.html


5月16日に上のchromiumのブログに追記され、Chrome35で無効化が実施されると。


そして2014年5月末から6月初めにかけて、外部配布の拡張機能無効化。
Google、Chromeウェブストア非登録のWindows版拡張機能をブロック - ITmedia ニュース http://www.itmedia.co.jp/news/articles/1405/28/news048.html

「Chrome Web ストア」以外にホストされた Chrome 拡張は使えなくなる、Google がポリシーを実施 - インターネットコム http://internetcom.jp/webtech/20140604/2.html



ということで方針がアナウンスがされてから無効化の実施は数回延期されたものの最近になって実施されたようです。ちなみに私はWindowsユーザーなので無効化されましたが、Mac版では現在のところ無効化措置は取られていません。また、WindowsでもDev ChannelとCanary Buildでは無効化されません。

Tampermonkeyならどうか?使える


無効化されたユーザースクリプトをTampermonkeyで使いたい。TampermonkeyはChromeの拡張機能でChromeウェブストアで配布されている。これを経由すればまだユーザースクリプトが使えるのでは。

結果的に使えた。

Tampermonkeyとは

Tampermonkeyはchromeにおけるgreasemonkey。greasemonkeyはfirefoxでスクリプトを動かすための拡張機能。拡張機能を作るのに比べて簡単に作れることから広がった。

Chrome ウェブストア - Tampermonkey
https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo?hl=ja

たまたま保存しておいたユーザースクリプトの.jsファイルで試す

つい先日更新のためダウンロードし、手元に残しておいたファイルがあったのでTampermonkeyに入れて使えるか試す。

基本userscripts.orgからインポートするが今回はローカルにファイルがあるので開いてコードをコピペする。.jsのファイルを直接ローカルからインポートする機能はなかった。また、Chromeの拡張機能リストからユーザースクリプトをインポートする機能はあったが、無効化されたものを有効にすることはできなかった。


コピペした結果は、動いた!

今まで使っていたほかのユーザースクリプトも使いたい。

無効化なら拡張機能のデータは消されず残っているのでは


インストールしたjsをchromeは拡張機能として保存しているはず!形式が同じまま残っているかは不安だったがとりあえず探す。

拡張機能の保存場所

Windows 7

C:¥Users¥(ユーザー名)¥AppData¥Local¥Google¥Chrome¥User Data¥Default¥Extensions

hibilog: Google Chrome の拡張機能フォルダの場所
http://hibilig.blogspot.jp/2011/06/google-chrome.html より


拡張機能の下にIDと出ているフォルダを探し、バージョン番号のフォルダを開くと、jsファイルを発見。

Inline Thumbnailの場合

例としてInline Thumbnailを使うと、IDは「nbfaldkn...」と続くもの(上の方の拡張機能リストの画像を参照)。これをExtensionsフォルダで探す。(拡張機能のIDはデベロッパーモードにすると出てきます。)

chrome-disabled-extension03.png

この中にはバージョン番号のフォルダが。

chrome-disabled-extension04.png

数字が大きい方を開くと、

chrome-disabled-extension05.png

.jsと.json。このscript.jsはもしやそのまま?ということで入れてみましょう。

見つけた.jsを開いて中のスクリプトをコピペ



chrome-disabled-extension06.png
メモ帳で開いたところ。うんjavascriptのコードっぽい。これをtampermonkeyにコピペして追加しよう。

chrome-disabled-extension07.png
新規の画面。ここにコピペする。元からあるこの部分は上書きしちゃう。

保存っと。


動くか。


動く。やったね。

注意事項


今後もこの仕組みが上手く行く保証はありません。ユーザースクリプトの安全性については何も保証できません、自己責任でお願いします。

userscripts.orgがアクセス不能


そもそもなぜコピペなんてしているのか。

その答えはuserscripts.orgのサイトにアクセス出来ないから。先日の更新のためにダウンロードしたスクリプトを消さずに残した理由もそれ。

少し前から管理が放置されてスパム的なもので溢れだしているという話はあった。

”このUserscript.orgをフィードなどでチェックしている方はお気づきかと思いますが、ここ数ヶ月の間、新たに公開されるスクリプトの品質が非常に低下しており、よくわからないサイトへ誘導するものや、悪意のあるスクリプトが毎日数百個公開されているような状況となっています。”

Mozilla Re-Mix: [Userscript.org]の代替となる安全なスクリプトリポジトリ「Greasy Fork」 http://mozilla-remix.seesaa.net/article/393327443.html より引用


その後2014年5月8日?辺りでダウン、その後:8080をuserscripts.orgの後ろにつけて開けば利用できると判明。userscripts.orgのままでは開くことはできない。

たまたま1週間ほど前にアクセスして気が付いた。

だがその後、userscripts.orgが:8080を付けてもアクセス不能になっている。(エラー画面にアクセスは出来るといったほうが正確か。戻るかはわからない。望み薄だが完全に使えなくなると結構困る)

userscripts.orgの代替

代替サイトはいくつかあるみたいだ。Greasy Fork(https://greasyfork.org/)は上の引用記事でも紹介されている。最も有力な選択肢なのだろう。Greasy Forkを作ったのはuserstyles.orgの人で、はじめはuserscripts.orgの状況を見て手を貸そうとコンタクトを試みたそうだが返事がなくサイトを作ることしたんだとか。

ほかには、openuserjs.org/とか。





userscripts-mirror.org/。ここはuserscripts.orgをまんまコピーしたみたい。タグや検索が使えないのでまだ実質使えませんが、検索はすぐに使えるようにすると書いているのでそれが実現すればなんとかダウンロードには使えそう。開発者がログインすることはできないようなので、これからのプロジェクトの受け皿としては機能しないと思う。

Greasy Forkが有力そうだが今後どうなっていくか。

ユーザースクリプトのこれから


Greasy Forkなどのサイトが広がりを見せれば既存の機能は代替してくれるかもしれませんが、Chromeが外部からの直接インストールを排除したことで先行きが不安です。もともとはFirefoxの一部の人のためにあったものですが、Chromeで直接インストールして使えていたことで近年の状況はあったのではないでしょうか。もちろんChromeが全てではなく、他のブラウザもありますし、ChromeにもTampermonkeyがありますが、盛り上がりは欠いてしまうのではないかと。過剰な心配ですかね。

セキュリティは重要

Chromeでの無効化も理解できるし、安全を担保する仕組みがないと危険。だからマイナーな存在になるのは仕方がないのかも。

Chromeの拡張機能としてChromeウェブストアで公開される?

(OperaやSleipnirでは使えても)Firefoxでは使えなくなってしまいますよね。Googleによって消される心配もありますし。

Tampermonkeyが消されたらどうしよう?



とりあえず今はTampermonkeyでやっていけてるのでよしとましょうか。また何か大きな動きがあれば書きます。





この記事へのコメント