Chrome VPN API: tylko ChromeOS, a nie tunel dla komputera
chrome.vpnProvider to API systemu ChromeOS. Proxy w przeglądarce i rozszerzenie sterujące klientem VPN na komputerze to różne produkty o różnym zakresie.
Trzy produkty nazywają się VPN-em do Chrome, a tylko jeden z nich jest tym, co opisuje dokumentacja vpnProvider. To API jest dostępne w ChromeOS, gdzie rozszerzenie może zaimplementować stronę klienta połączenia VPN zamiast rozmawiać z zainstalowanym klientem. Rozszerzenie proxy w przeglądarce zmienia to, dokąd Chrome wysyła żądania. Rozszerzenie sterujące osobnym klientem na komputerze to panel sterowania dla oprogramowania działającego poza przeglądarką. Wiedza, na który z tych trzech produktów patrzysz, odpowiada na większość pytań, z którymi ludzie przychodzą do tego porównania.
Uwaga o platformie to pierwszy filtr
oficjalna dokumentacja vpnProvider podaje ograniczenie dostępności we własnym tekście, a wymienione tam uprawnienie należy do tej umowy. Dodanie vpnProvider do manifestu w Windows nie tworzy tego interfejsu.
Przeczytaj wiersz o platformie przed listą uprawnień, ponieważ uprawnienie ma sens tylko tam, gdzie API istnieje.
Rozszerzenie proxy: granicą jest przeglądarka
Rozszerzenie proxy korzysta z ustawień proxy przeglądarki, aby wysyłać żądania Chrome przez serwer. Działa na wielu platformach i uczciwie mówi o swoim zakresie. Inne aplikacje zachowują własne połączenia, a część ruchu w przeglądarce może nadal nie podążać skonfigurowaną trasą. To zmiana na poziomie przeglądarki, a nie tunel systemowy.
Jeśli wymaganiem jest „ta jedna witryna, w tej jednej przeglądarce”, to właściwe narzędzie.
Rozszerzenie i aplikacja towarzysząca: tunel należy do aplikacji
Klient VPN na komputer zwykle instaluje usługę i wirtualny adapter, a jego rozszerzenie jest pilotem, który wywołuje aplikację. Tunel istnieje na poziomie systemu operacyjnego, więc obejmuje aplikacje, których przeglądarka nigdy nie widzi. Uprawnienia rozszerzenia opisują kanał sterowania, a nie szyfrowanie. Usunięcie rozszerzenia pozostawia tunel nietknięty, natomiast usunięcie aplikacji psuje rozszerzenie.
Ta asymetria to najszybszy test. Wyłącz rozszerzenie i sprawdź, czy inne aplikacje nadal korzystają z VPN-u.
Dostawca ChromeOS: rozszerzenie implementuje klienta
W ChromeOS model dostawcy jest inny co do rodzaju. Rozszerzenie odbiera komunikaty konfiguracyjne i platformowe, tworzy obiekt konfiguracji, zgłasza stan połączenia z powrotem do platformy i dostarcza ruch przez API, a nie przez osobno zainstalowanego klienta. To bliższe pisaniu klienta VPN niż konfigurowaniu go. API zakłada też punkt końcowy, który już prowadzisz, więc nie dostarcza usługi.
Dlatego dokumentacja mówi o implementowaniu klienta, a nie o łączeniu się z nim.
Jak czytać deklarację produktu wobec tych trzech
Zapytaj, jakie systemy operacyjne są obsługiwane, a potem zapytaj, który komponent jest właścicielem połączenia. Jeśli odpowiedzią jest proxy w przeglądarce, oczekuj zakresu przeglądarki. Jeśli odpowiedzią jest aplikacja towarzysząca, oczekuj zakresu systemowego, dopóki ta aplikacja działa. Jeśli odpowiedzią jest dostawca ChromeOS, oczekuj działania w ChromeOS i nigdzie indziej. Strona produktu, która mówi „Chrome VPN” i nie odpowiada na te dwa pytania, nie powiedziała ci, co robi.
Sprawdź też uprawnienia wobec reklamowanego zadania. Dostęp do witryn i kontrola proxy to różne uprawnienia i żadne z nich nie staje się uzasadnione dlatego, że API innej platformy przypadkiem ma tę samą nazwę.
Czego żaden z nich ci nie mówi
Interfejs nie mówi nic o tym, kto prowadzi punkt końcowy, co rejestruje ani czy usługa jest dostępna tam, gdzie mieszkasz. To cechy dostawcy, a nie API. Tunel, który istnieje, nie jest automatycznie tunelem, któremu powinieneś ufać, a uprawnienie, które istnieje, nie jest możliwością na twojej platformie. Trzymaj te dwa osądy osobno.
Potem sprawdź deklarację na urządzeniu, którego naprawdę używasz, z aplikacją, która nie jest przeglądarką.