How To Create A Free AWS VPN Server With Streisand On MacOS

After Turkey had blocked access to social media in March 2014, Streisand was devised as a way to circumvent the government ban by providing secure encryption at minimal cost.

It does so by allowing the user to set up a VPN via cloud services with minimal effort. If you want to keep your browsing history safe, encrypting the data is the safest way to do it.

Setting up your own is a great option, and Streisand is the perfect tool for beginners and pro’s alike. The process is automated to allow for ease of use, although it might be a bit of a learning curve if you are not used to making alterations to your Mac.

As for the name? It derives from the Streisand effect, and it aims to help you get access back to the blocked sites and services you lost.

Whatever your level of expertise, setting up a VPN server has many benefits for the average user. However, at the time of writing, Streisand only works natively with Linux and MacOS.

Amazon Web Services

Amazon Web Services is an on-demand cloud computing platform. It’ll be used as the cloud server for your VPN.

Since Amazon offers 12 months of free* cloud computing, it’s the perfect way to create a personal VPN for free.

Streisand also works with Azure, DigitalOcean, Google Compute Engine, Linode and Rackspace without modification. If you are more experienced you can get it working on any Ubuntu 16.04 server.

*A basic plan is simple enough to create, and there is no hidden charges upfront. (For more information check out their terms and conditions.)

Once you are ready to start open your browser and go to the AWS home page.

1. Once logged in, click Services.

2. From the options, choose IAM. (highlighted below.) 

Amazon AWS IAM

3. Choose Users from the dashboard located on the left-hand side.

AWS Dashboard

4. Click Add User.

5. Enter a username, and ensure that Programmatic access has been checked.

User Permissions

6. You’ll now need to set permissions for the user you’ve just created. Click the third option, named Attach existing policies directly.

7. You’ll now be prompted to search for the policy. Search for AdministratorAccess, and check the box located on the left-hand side.

8. Click Review, and click Create User to finish.

Create AWS User

Download the .csv file on the next page.

Installing Streisand to your OS device

The next step involves using the Terminal to install Streisand. (You need to install Homebrew first if it isn’t on your Mac.)

Terminal OS

  1. Once opened, you’ll have to make an SSH key. Copy and paste: ssh-keygen
  2. Install Git. Once homebrew has been installed, the command line is: brew install git
  3. Next, you’ll have to install the Pip package management system: sudo easy_install pip and then sudo pip install pycurl
  4. Install Ansible with the following command: brew update && brew install ansible
  5. Install the Python library command for Amazon: sudo pip install boto
  6. Run these commands to ensure Python can find the necessary libraries: mkdir -p ~/Library/Python/2.7/lib/python/site-packages echo '/usr/local/lib/python2.7/site-packages' > ~/Library/Python/2.7/lib/python/site-packages/homebrew.pth
  7. You should now be ready to clone and execute Streisand: git clone && cd streisand
  8. To execute: ./streisand
  9. Choose your provider. (Amazon.)Setup AWS Streisand Server
  10. Choose your server region and the name of the server.
  11. Use the default Subnet and VPC. (Hit Enter if prompted.)
  12. Enter your API information to begin using a remote server. (It can take up to ten minutes to complete.) Your AWS Access Key can be found in the .csv file you downloaded earlier, as can the AWS Secure Key.
  13. Now you’ll have to wait for it to finish up.

Using Streisand on MacOS

Once you’ve completed all of the steps above, you’ll have to make sure it worked.

  1. Streisand created a folder in your Home folder named streisand.
  2. Open the folder, and open the streisand.html file.
  3. Read and follow the instructions to complete the setup.
  4. Install the SSL certificate for OS X. (A Secure Sockets Layer keeps all data passed between the browser and the server private.)Streisand SSL Certificate
  5. Choose the option named Connecting to your Streisand Gateway below.
  6. Click SSL
  7. Once complete, enter your username and password.
  8. From the following page you will be able to connect to the gateway and begin using your VPN.

The connection from your browser to the server you setup is secure over SSL. You can further customise Streisand from here, although the basics are now complete.


It’s easier than it looks to get started with Streisand. It might seem like a daunting task if you’ve never used the Terminal at length, but it’s all for a worthy cause.

The stakes at play were a little higher in Turkey, but there are still a number of reasons why using a VPN could be right for you.

If you’re worried about companies selling your personal data, it offers relative safety at minimal cost.

It’s only a short-term stopgap considering the 12 month limit on AWS, but there’s always the option of paying a small fee per month afterward if you’re desperate for a VPN.

Regardless, it’s worthwhile to have a basic understanding of how they work, and how to set one up if need be.
You could always opt for a VPN service if you’re not interested in the hassle of doing it yourself, but Streisand is a capable tool that keeps you protected in the meantime.