◆ ストアからインストールしたのはソース変更すると無効にされる
◆ 自作拡張機能のチェック用の機能を使ってローカルインストールする

にもイジっていたはてブの拡張機能です
入れておくと 今開いてるページのBookmark数が緑色で表示されていて どれくらい人気なサイトなのかぱっと分かるメリットがあります

chrome54-babutton-hatena

ですが このカウント https のページだと表示されません

ソースを見てみると現時点では
/lib/04-HTTPCache.js 88行目 にある isValid 関数で https を拒否しています
HTTPCache.counter.isValid = function(url) {
    // XXX
    if (url.indexOf('https') == 0) {
        return false;
    } else {
        return true;
    }
};

https は個人のアカウントページとかあるからかな と思ったのですが これはあくまでキャッシュするかだけのようです
短時間なのでストレージ保存もなく変数上にあるだけみたい
なので カウントが出てるボタンを押せばブックマークする画面が出てコメントやユーザ数が出てきます
ということは 個人のアカウントページでも情報を問い合わせるためにサーバに URL を送ってます
なので セキュリティどうこうが理由じゃなさそうです

これといった問題もなさそうだし それなら カウント出ないほうが不便なのでカウントがでるようにします

とはいってもコード的には isValid の分岐をなくして全部 true を返すようにするだけです

ストア拡張機能のカスタム方法

ここからははてブに限らない拡張機能についてのおはなし

ストアにある拡張機能はソースを書き換えると 動かなくさせられる面倒な仕様が入っています

書き換えると拡張機能が使えなくなり
「この拡張機能は破損している可能性があります。」
とメッセージが出ます

どこかに編集した情報が残っているのかソースを元に戻しても ダメで再インストールする羽目になります

インストール後は使う側の好きにさせてもらいたいものです


Chrome の起動オプションとかでどうにかなるのかもしれませんが それらしいものがないので 別の方法を使います

まずは カスタムしたい拡張機能のソースのあるフォルダを適当なところにコピー
Windows だと拡張機能置き場はここ
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Extensions\

ユーザが複数あると Default じゃないかも

あとは コピーしたフォルダを 拡張機能の設定画面 (chrome://extensions/) の「パッケージ化されていない拡張機能を読み込む」から選べばおっけい
ボタンがないなら右上のデベロッパーモードにチェックを入れるとでてきます

エラーの場合

エラーが出る場合は エラーメッセージに沿って対策します

「_」 から始まるフォルダが拡張機能に含まれるとエラーになります
システムで使うから~ みたいなエラーメッセージがでます

_locale や _metadata など基本なくてもいいものなので削除します


_locale はフォルダの削除だけだとダメなので manifest.json も修正します
"default_locale": "ja",
"default_locale": "en",
など "default_locale" が指定されてる行を削除します

あと "key" もいらなそう

デメリット

確認してませんが 開発者用機能なのでアップデートはしてくれないと思います

なので 更新があったときに使えなくなる可能性もあります
そのたびにコピーするところからやり直せばいいのですが毎回やるのはめんどくさい というのが一番の欠点です

書き換えて大丈夫?

ダメって書いてなければいいんじゃないの?

故意な悪用ならともかく 基本は使う側が自由にすればいいと思うんです

はてブは最初に規約が出てきましたが さっと見た感じ コードを書き換えて使うことは禁止というのは見当たらなかったです
見落としが無いとも限らないのでやる場合は各自読んで下さい