DADADADONE.com

URL Shortener for Amazonの無効化についてとなぜBLOGを始めたか

以前より公開しておりますChrome拡張「URL Shortener for Amazon」は、Chrome拡張機能の新仕様Manifest V3に対応していなかったため、2024年6月にChromeウェブストアから非公開になり動作しなくなる予定でした。 アップデートの意向もなく放置状態でしたが、Chromeウェブストアの開発者ダッシュボードからユーザー数を確認したところ思いのほか使用してくださっている方が多いことがわかり、今回、Manifest V3対応版を公開いたしました。これにより6月以降も引き続き使用可能です。 また、単なる延命処置だけではなく、GUIの変更やいくつかの新機能も追加しました。

次に無効化(権限等)の問題に移らせていただきます。

簡潔に書きますと当拡張機能は乗っ取られておらず不正な行為もおこなっておりません。ユーザーデータも収集していません。

権限の追加により警告ウィンドウが表示されることがあります。これはChromeブラウザの仕様です。私の環境ではそのようなウィンドウは表示されていませんが、設定、環境に依存しているのかもしれません。

Manifest V3への対応が必要だったため、2024年3月21日にアップデートを行いました。そこで新しい権限の付与により拡張機能が無効化された方がいらっしゃるようです。ですが、先にも書きましたがアカウントの乗っ取りや外部からのプログラムの改変は一切ありません。無効化の原因は、URLをクリップボードへコピーするための権限追加によるものと思われます。

v1.0.0で追加した権限は「clipboardWrite」というもので、URLをクリップボード(文章を一時的に保存する使用者のパソコンのデータ領域)にコピーするのに必要なものです。この権限がなければ短縮したURLを保存できません。違う言い方をしますと貼り付けることが出来ません。保存するのはユーザー側の領域です。ユーザーのクリップボードを読み取ることもしません。clipboardRead権限は付与していません。

以前まではクリップボードへのコピーのためにdocument.execCommand("copy");メソッド(非推奨)を使用していたのをnavigator.clipboardメソッドに変更しました。その時にclipboardWrite権限が必要でしたので追加いたしました。 document.execCommand("copy");を使用していたときには権限を追加しなくても問題なかったようです。

もうひとつ権限周りで書かせていただきます。 v1.2.0で過剰な権限を当拡張機能に誤って付与してしまいました。 これは明らかに私のミスです。

v1.2.0でAmazon以外のWebページのURLとタイトルをクリップボードにコピーできる機能を追加いたしました。 これまでAmazonサイトのみに動作を限定していましたが、すべてのページで動作するように変更しました。その際に間違えて<all_urls>と設定してしまったため、http / https / ws / wss / ftp / ftpsなどあらゆるURLにマッチするようになってしまいました。 現在は修正して”http:///”, “https:///“のみにマッチするようになっています。
(どちらにせよ権限の拡大によって警告は出ていたように思います。)

これに対しては大きくふたつの反応があったかと思います。
ひとつめは、警告が再度出たことへの不安。
ふたつめは、AmazonのURLを短縮するアプリが他サイトにアクセスする必要性はないという疑問。

このような状況を招いたことをお詫び申し上げます。
今後このようなことがないように努めます。

そもそもが便利かなと思いAmazon以外のページでも動作させるようにしたのは失敗だったと思っています。 本当は名称を変更して他サイト、例えば楽天などのURLも短縮できるようにしていくことを考えて作り替えたのですが、それもやめることにいたしました。 もしもそのようなものを作るとしても別の拡張機能としてリリースしようかと考えております。 追加した機能を削除してAmazon以外のサイトでしか動作しないように修正することも検討しましたが、便利に使用されている方がいらっしゃる可能性もあり、一度追加した機能を削除するのはやはり難しいという判断でいます。 そのため、もしかしたらAmazonでしか動作しない機能拡張をまた別で公開するかもしれません。

話しは戻りまして、現在のバージョンで付与している権限は下記のようになります。

  • activeTab:
    アクティブになっているタブのタイトル、URLを取得するために付与
  • contextMenus:
    右クリックすると表示されるコンテキストメニューを表示させるために付与
  • storage:
    オプションを保存するために付与
  • clipboardWrite:
    クリップボードにURLやタイトルをコピーするために付与

最後に、このブログを立ち上げた理由は、利用者に直接情報を伝える手段がなかったためです。アップデートの際に権限の必要性や、過剰な権限付与により不安を感じた方が多いことが確認できました。X(Twitter)で不安を表明する声もありましたが、私自身がXを使用していないため、直接の連絡手段がありませんでした。そのため、この古びたウェブサイトを再生させることにしました。どなたかこの情報を必要としている方がいれば、安心していただけるよう伝えていただければと思います。

個人で開発、管理しておりますので、情報の共有にご協力いただければ幸いです。どうぞよろしくお願いいたします。