API Chrome VPN: solo ChromeOS, non un tunnel desktop
chrome.vpnProvider è un’API di ChromeOS. Un proxy del browser e un’estensione che pilota un client VPN desktop sono prodotti diversi con ambiti diversi.
Tre prodotti si chiamano Chrome VPN, e solo uno di essi è ciò che descrive la documentazione di vpnProvider. Quell’API è disponibile su ChromeOS, dove un’estensione può implementare il lato client di una connessione VPN invece di parlare con un client installato. Un’estensione proxy del browser cambia dove Chrome invia le sue richieste. Un’estensione che pilota un client desktop separato è un pannello di controllo per software che gira fuori dal browser. Sapere quale dei tre stai guardando risponde alla maggior parte delle domande che le persone portano a questo confronto.
La nota sulla piattaforma è il primo filtro
La documentazione ufficiale di vpnProvider dichiara il proprio limite di disponibilità nel proprio testo, e l’autorizzazione che vi è nominata appartiene a quel contratto. Aggiungere vpnProvider a un manifest su Windows non crea l’interfaccia.
Leggi la riga della piattaforma prima dell’elenco dei permessi, perché il permesso ha senso solo dove l’API esiste.
Estensione proxy: il browser è il confine
Un’estensione proxy usa le impostazioni proxy del browser per inviare le richieste di Chrome attraverso un server. È multipiattaforma ed è onesta sul proprio ambito. Le altre applicazioni mantengono le proprie connessioni, e parte del traffico del browser potrebbe ancora non seguire il percorso configurato. È un cambiamento a livello di browser, non un tunnel di sistema.
Se il requisito è «questo solo sito, in questo solo browser», è lo strumento giusto.
Estensione più applicazione complementare: l’applicazione possiede il tunnel
Un client VPN desktop di solito installa un servizio e un adattatore virtuale, e la sua estensione è un telecomando che chiama l’applicazione. Il tunnel esiste a livello del sistema operativo, quindi copre applicazioni che il browser non vede mai. I permessi dell’estensione descrivono il canale di controllo, non la cifratura. Rimuovere l’estensione lascia il tunnel intatto, mentre rimuovere l’applicazione rompe l’estensione.
Quell’asimmetria è il test più rapido. Disattiva l’estensione e guarda se altre applicazioni usano ancora la VPN.
Provider ChromeOS: l’estensione implementa il client
Su ChromeOS il modello di provider è diverso per natura. L’estensione riceve messaggi di configurazione e di piattaforma, crea un oggetto di configurazione, riporta lo stato della connessione alla piattaforma e fornisce il traffico tramite l’API invece che tramite un client installato separatamente. È più vicino a scrivere un client VPN che a configurarne uno. L’API presuppone anche un endpoint che già gestisci, quindi non fornisce un servizio.
Per questo la documentazione parla di implementare un client invece di connettersi a uno.
Leggere un’affermazione di prodotto rispetto ai tre
Chiedi quali sistemi operativi sono supportati, poi chiedi quale componente possiede la connessione. Se la risposta è un proxy del browser, aspettati un ambito del browser. Se la risposta è un’applicazione complementare, aspettati un ambito di sistema finché quell’applicazione è in esecuzione. Se la risposta è un provider ChromeOS, aspettati che funzioni su ChromeOS e da nessun’altra parte. Una pagina prodotto che dice «Chrome VPN» senza rispondere a queste due domande non ti ha detto cosa fa.
Controlla anche i permessi rispetto al lavoro pubblicizzato. L’accesso ai siti web e il controllo del proxy sono autorizzazioni diverse, e nessuna delle due diventa giustificata perché l’API di un’altra piattaforma condivide per caso lo stesso nome.
Ciò che nessuno di loro ti dice
L’interfaccia non dice nulla su chi gestisce l’endpoint, cosa registra o se il servizio è disponibile dove vivi. Sono proprietà del fornitore, non dell’API. Un tunnel che esiste non è automaticamente un tunnel di cui dovresti fidarti, e un permesso che esiste non è una capacità sulla tua piattaforma. Tieni separati i due giudizi.
Poi prova l’affermazione sul dispositivo che usi davvero, con un’applicazione che non è il browser.