Search code examples
google-chrome-extensionvpn

Are the "VPN" Chrome extensions really a VPN or a web proxy?


A client is asking me if I could create a "VPN" extension that can connect to their VPN server. I have seen numerous VPN extensions on the Chrome Web Store, but they only affected Chrome. Doesn't a VPN affect all connections?

I have found chrome.proxy. Are the VPN extensions really VPN's or are they actually web proxies? Can I tell the client that they need to setup a web proxy server instead of a VPN server, and I use chrome.proxy for this purpose?


Solution

  • Many "VPN" extensions are essentially proxies, indeed: they cannot affect anything except the traffic of the browser itself (through chrome.proxy and chrome.webRequest API).

    There are, however, two exceptions.

    1. On Chrome OS (and Chrome OS only) an extension can use chrome.vpnProvider API to broker a connection to a VPN.

    2. Using Native Messaging, you can have an extension communicate with another application running in the OS that can manage "true" VPN connections. However, that does require a separate installation of such a module with appropriate OS permissions, and makes the Chrome extension nothing more than a remote control for it.

    So using the path #2 above, it is possible to create a true VPN extension, but that would require software installation outside of the browser.