In today's tutorial I am going to show you how to connect to ExpressVPN using manual OpenVPN configuration files with third party OpenVPN clients for Windows, Mac, Android, and iOS.
This can be very useful if you are using ExpressVPN in China because the manual OpenVPN server IP addresses are different from the ones used in the apps. If the server IPs used in the apps get blocked by the Great Firewall, the manual OpenVPN server in the same location will often still work.
Even if you are not in China, some people still prefer to use manual OpenVPN connections because the client software is open source.
Download the latest version of the OpenVPN GUI client and install it.
Download from here if you are in China without an existing VPN.
Go to the ExpressVPN website and log into your account.
If you don't already have another VPN installed, you can access the ExpressVPN website using the link on the China-accessible VPN links page.
After you log into your account, go to the setup page and choose Manual Config as shown below.
Download the configuration files for the servers that you want to connect to. I am just doing Taiwan 3 for this tutorial but you may want to set up a few different locations. Leave this page open because you will need to come back here later to copy your username and password.
If you are using Windows 7 or Windows 8 then you can skip this step.
Windows 10 is notorious for DNS leaks and the VPN will not working properly unless we add the block-outside-dns directive to the configuration file.
Open the .ovpn file in a text editor and add a new line with the text block-outside-dns as shown below.
Now save the file. If you rename the file, make sure that the file extensions stays as .ovpn and not .txt.
Open the OpenVPN GUI app and then right-click on the icon in the taskbar and choose Import file...
After importing the file, you should see a new server on the right-click menu. If I recall correctly, it won't show you the file name when you only have 1 configuration imported. It will just say "connect" or something. In my case, I already have many configurations imported so I can see the name of the file I imported on the bottom of the list.
Choose the Connect option as shown below.
You will need to enter your username and password (shown in step 2) the first time you connect.
The instructions are almost exactly the same as Windows except there is no need to edit the configuration file to block DNS leaks before importing it.
There is no official OpenVPN client for Mac, but you can use the open source Tunnelblick app.
As I don't have a Mac, I am not able to include screenshots of the set up process. If anyone with a Mac wants to help contribute to this page by providing some screenshots, please contact me by email.
Android is a little more difficult.
The standard .ovpn configuration file from ExpressVPN will not work on the official OpenVPN Connect Android app because the OpenVPN Connect app does not support connecting to a server that uses the fragment directive. And ExpressVPN is using the fragment directive in their config.
The method described below will no longer work after June 30, 2019 because ExpressVPN is planning to disable manual OpenVPN TCP connections after this date.
However, there is an alternative. You can use the OpenVPN by Arne Schwabe app with the standard UDP config files (this version supports the fragment directive).
For this tutorial, I am going to show you how to modify the config file for TCP so it can be used with the official OpenVPN Connect app (I will need to do this for iOS anyway because there is no OpenVPN app for iOS that supports the fragment directive). Download OpenVPN Connect from the Play Store. Or, download it here if you are in China without another VPN already installed. You can either download the .ovpn file on your computer to edit (and then transfer it to your Android). Or, you can download and edit directly on your Android. I am going to download the file directly on my Android and edit it using the QuickEdit app. Save the .ovpn file to your Android's storage after you have made the changes. Open the OpenVPN Connect app and then tap on the + symbol to import a new server.
Then choose the .ovpn file that you edited in step 3 and tap IMPORT on the top right.
Now enter your username and password shown in the ExpressVPN setup page (see the Windows instructions for screenshot).
Note - To enter the password, you need to choose the option "Save password". Otherwise, you can only enter the username and it will ask you for the password each time you connect. After you have entered everything, tap on ADD on the top right. Now that you have imported and saved your profile with your username and password, just choose the profile and tap the toggle switch to connect.
The method described here will no longer work after June 30, 2019 when ExpressVPN disables manual OpenVPN TCP connections. There is currently no other known alternative to use manual OpenVPN connections on iOS with ExpressVPN.
If anyone can find an iOS OpenVPN client that supports the fragment directive, please leave a comment and let me know.
Alternatively, you can use L2TP for a manual connection with ExpressVPN.
If you want to use manual OpenVPN on iOS, I suggest the following providers, which fully support manual OpenVPN connections for all platforms.
I found the iOS setup the most difficult (probably because I don't normally use iOS). At first I couldn't find a way to edit the .ovpn config file on the device, so I thought I could edit the file on my computer and then transfer it with a USB cable. I found out that such a simple task is not possible on iOS. What a stupid POS operating system.
Maybe it would have been possible if I installed iTunes on my computer, but that isn't going to happen.
Anyway, I was finally able to do it by downloading the Documents by Readdle app.
If you have a Chinese iTunes account, you will need to make a US iTunes account first before you can download the OpenVPN Connect app (Apple removed all VPN apps from the China App store). Open the setup page and choose Manual Config and then choose the configuration file that you want to set up. After you tap on the config file that you want, Choose the More... option. Do not choose "Open in OpenVPN". After you choose More.. then you should see a list of programs. Choose Copy to Documents. If you don't see it then you haven't installed the Documents app yet. Now you should have the config file opened in the Documents app. We need to make the same changes as shown in the Android instructions. Make the changes and then tap the ... symbol on the top right and then choose Share. Now choose Copy to OpenVPN. You should see a message in the OpenVPN Connect app that a new profile is available for import. Tap the + button as shown below. You will need to get your username and password from the ExpressVPN setup page and enter them in the OpenVPN Connect profile. This part is a little difficult. If you paste your username and then go back to Safari to copy your password, your username will be erased when you come back to the OpenVPN Connect app. You can only copy and paste either your username or password. I suggest copying and pasting your password because you can't see the characters when you enter it (easy to make a mistake and impossible to check). After you paste your password from the clipboard, enter your username manually (I suggest writing it down on a piece of paper or viewing it on another device because it's too long to remember). After you enter your username and password, choose the option to save your password so you don't have to enter it every time you connect. Finally, you can connect using the Connection button.