三つの製品がどれも Chrome VPN と名乗っていますが、vpnProvider のドキュメントが説明しているのはそのうち一つだけです。この API は ChromeOS で利用でき、そこでは拡張機能が、インストール済みのクライアントと通信するのではなく、VPN 接続のクライアント側を実装できます。ブラウザのプロキシ拡張機能は、Chrome がリクエストを送る先を変えるものです。別のデスクトップクライアントを操作する拡張機能は、ブラウザの外で動くソフトウェアの操作パネルです。三つのどれを見ているのかが分かれば、この比較に持ち込まれる疑問のほとんどに答えが出ます。

プラットフォームの注記が最初のふるいです

vpnProvider の公式リファレンスは、利用可能条件の制限をその本文に記しており、そこで示されるパーミッションはその契約に属します。Windows のマニフェストに vpnProvider を加えても、そのインターフェースは生まれません。

パーミッションの一覧より先にプラットフォームの行を読んでください。パーミッションは API が存在する場所でしか意味を持ちません。

プロキシ拡張機能:境界はブラウザです

プロキシ拡張機能はブラウザのプロキシ設定を使い、Chrome のリクエストをサーバー経由で送ります。クロスプラットフォームであり、自らの範囲について正直です。他のアプリは自前の接続を保ち、ブラウザの通信の一部は設定した経路に従わないことがあります。これはブラウザ単位の変更であり、システムのトンネルではありません。

要件が「この一つのサイトを、この一つのブラウザで」なら、それが正しい道具です。

拡張機能と相棒アプリ:トンネルを持つのはアプリです

デスクトップの VPN クライアントは通常、サービスと仮想アダプターをインストールし、その拡張機能はアプリを呼び出すリモコンです。トンネルは OS の層に存在するため、ブラウザが決して見ないアプリも対象になります。拡張機能のパーミッションが示すのは制御チャネルであり、暗号化ではありません。拡張機能を外してもトンネルはそのまま残り、アプリを外すと拡張機能は壊れます。

この非対称性が最も速い試験です。拡張機能を無効にして、他のアプリがまだ VPN を使っているかを見てください。

ChromeOS のプロバイダー:クライアントを実装するのは拡張機能です

ChromeOS ではプロバイダーの仕組みが根本的に異なります。拡張機能は設定とプラットフォームのメッセージを受け取り、設定オブジェクトを作り、接続状態をプラットフォームへ報告し、別途インストールしたクライアントではなく API を通して通信を流します。これは VPN クライアントを設定するというより、書くことに近い作業です。API は、すでに運用しているエンドポイントを前提とするため、サービスを提供するものではありません。

だからこそリファレンスは、クライアントにつなぐのではなく実装する話をしています。

三つと照らして製品の主張を読む

どの OS に対応しているかを尋ね、次にどの構成要素が接続を持っているかを尋ねてください。答えがブラウザのプロキシなら、範囲はブラウザです。答えが相棒アプリなら、そのアプリが動いている間は範囲はシステムです。答えが ChromeOS のプロバイダーなら、ChromeOS でだけ動くと考えるべきです。「Chrome VPN」と言いながらこの二つの問いに答えない製品ページは、何をするのかを伝えていません。

権限が宣伝された仕事に見合うかも確かめてください。ウェブサイトへのアクセスとプロキシの制御は別の許可であり、他のプラットフォームの API がたまたま同じ名前だからといって、どちらかが正当化されるわけではありません。

どれも教えてくれないこと

このインターフェースは、エンドポイントを誰が運用しているか、何を記録するか、あなたの住む地域でサービスが利用できるかについて何も語りません。それらは API ではなくプロバイダーの性質です。存在するトンネルが自動的に信頼すべきトンネルになるわけではなく、存在するパーミッションがあなたのプラットフォームでの能力になるわけでもありません。二つの判断は分けておいてください。

そのうえで、実際に使っている端末で、ブラウザではないアプリを使って主張を試してください。

関連記事