ExpressVPN Review: How Does It Perform (and How to Install) on Ubuntu?

World map with pins and strings connecting cities
TheAndrasBarta / Pixabay

ExpressVPN is considered one of the top-tier VPN products. We install it on Ubuntu 21.04 and use it from the command-line and from within a browser. How does it shape up?

What is VPN?

Virtual Private Network is a fundamental part of staying safe and anonymous on the modern web. By encrypting your internet traffic and sending it through its own network of servers, a VPN prevents anyone from eavesdropping on your internet traffic and it prevents anyone tracking your traffic back to your genuine IP address. That gives you security and privacy.

It also circumvents geographic limitations. If a website or other internet service is not available to internet users from your country you can use a VPN to make it look like you’re actually located in a country where that service is permitted. As long as your VPN provider has servers in that other country, of course.

ExpressVPN has more than 3000 servers located in 160 data centers in 94 countries around the globe. It has desktop clients for Windows, Mac, and Linux. There are ExpressVPN apps for both iOS and Android. They also provide browser extensions for Chrome, Firefox, and Microsoft Edge. On paper, ExpressVPN has an impressive global infrastructure and a global spread of servers, an impressive stable of cross-platform clients, and extensions for the major browsers. But how easy is it to install and use?

We’re going to walk through what is probably the most complicated of all of the desktop installations. We’re going to install ExpressVPN on Ubuntu Linux, install the extension on the Linux version of Firefox, and see how they perform.

Installing ExpressVPN on Ubuntu

We’re using the most recent version of Ubuntu, the 21.04 Hirsute Hippo released in April 2021. We also tested the entire process on Ubuntu 20.10, the October 2020 release code-named Groovy Gorilla.

ExpressVPN is available in the usual Ubuntu program repositories, but it’s best to install the latest version from the download page on the ExpressVPN website. Use the drop-down menu to select the Ubuntu 64-bit version. The versions available are:

  • Ubuntu 32-bit and 64-bit
  • Fedora 32-bit and 64-bit
  • Arch 64-bit
  • Raspbian 32-bit

It’s good to see other Linux distributions get some attention, including Raspbian—now called Raspberry Pi OS—for the Raspberry Pi single-board computer. But we need the Ubuntu 64-bit version, so select that in the menu and then click the green “Download” button.

ExpressVPN download page

The “.deb” package file will be downloaded to your computer. You’ll probably find it in your Downloads directory.

ExpressVPN .deb package file in the downloads directory

You could install it by double-clicking it in your file browser. This will launch the Ubuntu software application and install it for you. Perhaps you’re installing ExpressVPN on a server with no GUI installed on it, or over an SSH connection, or you just prefer to do things the command-line way. The command you need is:

sudo dpkg -i expressvpn_3.7.0.29-1_amd64.deb

sudo dpkg -i expressvpn_3.7.0.29-1_amd64.deb in a terminal window

Make sure you spell the name of the file you’ve downloaded correctly. Our version of ExpressVPN was 3.7.0.29. That part of the file name will change with later versions. Helpfully, if you type the first few letters of the file name and press the “Tab” key, the rest of the file name will be completed for you.

You must activate ExpressVPN before you can use it. Activation requires an activation code. You’ll receive an activation code when you purchase a plan. At the time of writing the costs in U.S. dollars are:

  • $12.95 per month, for 1 month
  • $9.99 per month, for 6 months
  • $8.32 per month, for 12 months

To activate your installation of ExpressVPN type:

expressvpn activate

expressvpn activate in a terminal window

When you’re prompted for the activation key enter the key that has been emailed to you. Note that it isn’t displayed on-screen when you type it. Because of the gobbledegook nature of the key and the difficulty you’ll have typing it sight unseen, it’s much safer to copy and paste the activation key into the terminal window. You still won’t see the key displayed in the window, but there’s no chance of mistyping it. Note that the key combination to paste into the terminal window is “Ctrl+Shift+V” not “Ctrl+V.” When you’ve pasted the activation key hit “Enter.”

expressvpn activate in a terminal window

If all goes well you’ll see the “Activation” confirmation. You’ll be asked whether you want to send usage reports to ExpressVPN. Press “Enter” to agree, or press “n” to opt out. You’re now ready to start using ExpressVPN.

Using ExpressVPN

The simplest way to make a VPN connection is to let ExpressVPN choose which server to connect to.

expressvpn connect

expressvpn connect in a terminal window

ExpressVPn establishes the connection, displays the name of the connection, and provides some help text.

expressvpn activate in a terminal window

In this example, it has connected the computer to an ExpessVPN server located in London. At any time you can check the status of the connection by typing:

expressvpn status

expressvpn status in a terminal window

When you no longer need the VPN connection, type:

expressvpn disconnect

expressvpn disconnect in a terminal window

The VPN connection is closed and you’re returned to your normal internet access.

Connecting to a Server in a Specified Country

If you need to make your connection appear as though it originated in a specific country, pass the country on the command line. If we wish to appear as though we’re in Germany, we’d use this command:

expressvpn connect germany

expressvpn connect germany in a terminal window

The VPN connection is established using a server in Germany. To see a list of the countries in which ExpressVPN has servers, use this command. We’re piping the output into less because there’s quite a lot of it.

expressvpn list all | less

expressvpn list all | less in a terminal window

There are four columns of data in the output.

expressvpn list all | less in a terminal window

  • Alias: This is the name you use if you want ExpressVPN to connect to that server.
  • Country: The country in which the server is located.
  • Location: The city in which the server is located.
  • Recommended: Whether the server is recommended for general use. If it isn’t, you can still use it but your speed might not be as fast as it is on other servers. They’ll do in a pinch if you really need to appear as though you’re in that specific country. Generally, you’ll pick a recommended server.

Installing the Browser Extension

We’re going to install the browser extension in Mozilla Firefox because that’s the default browser in Ubuntu. The process is similar for all browsers. You can install the ExpressVPN extension through Firefox’s extensions web page, but that didn’t work for us. The only reliable method we found was to install the extension through the command line. Make sure you have ExpressVPN installed and working before you install the extension.

The command to use is:

expressvpn install-firefox-extension

expressvpn install-firefox-extension in a terminal window

This launches Firefox if it isn’t already open. It takes you to the extension installation page on the ExpressVPN website. Click the green “Get Extension” button.

ExpressVPN extension download page

The browser extension is downloaded to your computer. The page changes to allow you to install the extension. Click the blue “Add to Firefox” button.

ExpressVPN extension installtion page

A permission dialog appears.

ExpressVPN extension permission dialog

Click the blue “Add” button. When the extension is installed you’ll see the ExpressVPN icon in the top-right corner of your browser window. A reminder dialog tells you that you can manage your extensions through the Firefox three-line “hamburger” menu. It also allows you to check a box if you want to use the ExpressVPN extension in Private Windows. When you’re ready to proceed, click the blue “Okay, Got It” button.

Final ExpressVPN extension installation dialog

Using the Browser Extension

To use the extension, click the ExpressVPN icon in the top-right of your browser window. The extension window opens. It’ll tell you you’re not connected. The entire top half of the window is the button you use to connect and disconnect. The bottom half shows some recent connection details. What you’ll see will depend on which connections you’ve recently made. On our research machine, three locations are listed.

  • Selected Location: This is the connection you’ll make if you click the connect button.
  • Smart Location: This is a location chosen for speed and geographical proximity. A close fast server will give you the best performance.
  • Recent Location: This is the most recent location you connected to, that wasn’t a “Smart Location.”

ExpressVPN browser extension window disconnected

Clicking the button in the top half of the window connects you to the “Selected Location.” Clicking the “Recent Location” button connects you to that location. A notification appears at the top of your screen.

ExpressVPN connection notification window

And the top half of the extension window turns green to show you’re connected.

ExpressVPN browser extension window connected

A small green tick appears on the ExpressVPN icon in the top-right corner of your browser window to indicate you’re connected.

ExpressVPN browser extension icon with a green connection tick

If you click the button in the extension window once more the connection is disconnected, the top half of the window returns to the reddish-orange color. You can give feedback to ExpressVPN about the quality of the connection by clicking a green thumbs up or a red thumbs down.

ExpressVPN browser extension window connection feedback options

If you click the “Smart Location” button you’re shown a list of possible locations. Clicking one of them will connect you to that location.

ExpressVPN browser extension window showing location list

How It Performed

In our tests, ExpressVPN was nothing but reliable. It connected quickly every time—within two or three seconds—and every connection was fast. We had no drop-outs or slow-downs. Of course, our tests only took place over a couple of days. If you use the service for a longer period perhaps you’ll see the occasional blip, but for us, it was plain sailing.

ExpressVPN understandably takes security seriously. ExpressVPN uses AES-256 encryption, a 4096-bit SHA-512 RSA certificate, and Hash Message Authentication Code (HMAC) to prevent modification of data in transit. They even have their own encrypted, no-logging, private Domain Name Servers on every one of their own servers.

The problem with some other VPNs is their policy and practices on logging. Some of them log so much information it pretty much negates the whole point of using a VPN. ExpressVPN is clear about what is and what isn’t logged. Nothing is logged that can identify your IP address or your browsing history.

They do log some performance information such as the dates when connections were made, which servers were connected to, and how much data has been handled by their VPN connections each day. None of this can be used to identify any of their users. And all of this has been confirmed by an independent audit conducted by PricewaterhouseCoopers.

In case you need it, the command to install the browser extension in Chrome is:

expressvpn install-chrome-extension

You can read the manual page for ExpressVPN using this command:

man expressvpn

In Summary

This is a first-class VPN. Whether you hang around the command-line or prefer to use the browser extension, you’ll find that ExpressVPN is easy to install and easy to use. Easy to install, that is if you remember to use the command line to install the browser extension. Once we’d figured that out it repeatedly installed the browser extension time and again both in Firefox and Chrome with no issues.

The sensible defaults and smart location connection capability make using ExpressVPN an absolute breeze. It’s just a little dearer than most of its direct competitors, but you get what you pay for: rock-solid performance, fast throughput, and an almost overwhelming choice of countries and locations.

You can install ExpressVPN on any number of devices with any mix of operating systems. Any five of those devices can be connected at once. The verified no-logging policy is worth the price of admission by itself.