Install ExpressVPN on Arch-based systems
UPDATE (02.07.2024)
This blog post was written years before Kape Technologies' acquisition of ExpressVPN in 2021. I actually stopped using the VPN shortly after writing this tweet in response to security concerns raised by Edward Snowden. As Kape Technologies is a zionist, Israeli company, I would recommend that my readers boycott them. I have used AirVPN (an Italian VPN) and its Eddie UI client for over two years now and so far, it's been pretty good.
------------------------------------------------------------------------------------------------------------------------
Hi again. This will be a short-to-medium length post as I really just wanna save people the annoyance that I had to go through when I installed this earlier.
For those who don't know ExpressVPN is a privacy tool used to hide a user's IP address and encrypt network traffic. It's not the best VPN around but it does the job when you need it to. Installing ExpressVPN on Debian-based systems is really straightforward as they have an official Ubuntu package and tons of documentation.
Installing on Arch-based systems on the other hand is a little tricky.
Luckily, ExpressVPN have released an official Arch package....
Step #1 - Do NOT download the official Arch package!
When you log into the ExpressVPN website, you might notice something like this:
Don't even bother downloading it. It's basically a debtap version of the Ubuntu package. This would be fine were it not for the fact that the debian package assumes an expressvpn service would be run as an init.d service. As this is a completely different operating system, the expressvpn service will need to be run in systemd (systemctl). If you don't want to see this error...
...keep reading this post!
Step #2 - Install prerequisites
Make sure these are installed:
You'll also need gpg installed but you really ought to have that installed on your machine already. Maybe run an update just in case:
Step #3 - Download the PGP key
Download the ExpressVPN PGP key with this command:
The Ubuntu instructions actually list the key server. I couldn't get the full command from their docs to work personally and so had to drop the --keyserver flag. If you are able to download this with the keyserver then, like, congratulations, I guess?
Step #4 - Clone the AUR package
There's actually an AUR package for ExpressVPN co-maintained by someone called "WorMzy" (which just makes me think of this). You can download it with git:
Step #5 - Install the package
Install the AUR package with the following command:
That might take a while but hopefully no longer than a few minutes. Once it's done, check that it works:
Remember to start the expressvpn systemd service that you've also installed:
Step #6 - Configure ExpressVPN
Before you actually connect to ExpressVPN, you'll want to activate your account, essentially logging into a session on your machine.
- Log into ExpressVPN at https://www.expressvpn.com/sign-in
- Copy the activation key on the subscriptions page
- In the terminal, run:
- Input your activation key
One thing I've noticed is that recent versions of ExpressVPN now include a killswitch by default. This means that if you ever disconnect from the VPN, you will lose internet access. This can be incredibly annoying if you, like me, switch locations often as you won't necessarily be able to reconnect to the VPN without an internet connection.To switch off this setting, run the following command:
You can list the different locations in ExpressVPN with:
To connect to your preferred location, run the connect subcommand:
And that's pretty much it.
Enjoy!
(Oh and if I don't post again before then - Happy New Year!)