- Introduction
- Amazon Web Services
- Create a Key Pair
- Select Region
- Create VPC
- Create Subnet
- Create Internet Gaetway
- Add route to the gateway
- Deploy OpenVPN to AWS
- Modify Security Group
- Enable the VPN
- Linux Server finalization
- Conclusion
Introduction
UPDATE: I will add a quick note, the easier solution is to just use a real VPN service instead of making your own. This is simply an alternative if you don’t trust those companies.
A VPN proxy is your own VPN service running in the cloud so you can change your home IP address and bypass age verification on restricted sites. These laws are political stunts and optical band-aids that solve nothing and put more of our money into the hands of worthless age verification companies.
This post is meant to allow adults to maintain their privacy when accessing adult sites without using the government sanctioned “age verification services”. Such services have not been vetted by the adult industry or most especially the EFF.
This method will NOT allow underage youth to bypass any laws to access adult sites. With this method, you STILL have to be 18 because you will need a valid credit card as Amazon does not allow temporary/rechargeable cards or debit cards.
Not all of the steps required for this tutorial will be covered in full detail. I may leave out some details for you to figure out. There are many other tutorials you can find on youtube to find the missing context you may require. this tutorial will simply cover the main steps to get your proxy working. I am not responsible for anything you do or any bills you incur.
Most importantly, I am not recommending you do this. It’s far easier and can be cheaper to use a cheapy VPN service instead of building one yourself. This is just an option some people will appreciate.
The cheapy VPN services will achieve what you can do here but they are only cheap if you buy in 2 year blocks. Monthly costs are around $15 while a 2y contract averages out to ~$3/month. However, those VPNs are always tracking your activity, even if they claim otherwise. So when republicans ban all adult sites and subpoena those records, they will have what they need to come after you once we are in full Gilead mode. but this is NOT a solution for tracking. This is only meant to bypass age verification and NOT to anonymize your traffic.
So a solution for real privacy advocates is to create your own proxy/vpn. It will cost more in the long run, but privacy advocates are typically ok with that. However this is not a perfect solution, your activity can still be traced. If you want better anonymity, you should look into Tor nodes.
The AWS free tier resides in a state that is requiring age verification. So you have to use a paid tier and the t3.micro VM located in a safe region which should cost about ~$9.30/month. The Public IP address required by the instance (to run openVPN) does cost money, but it should be ~$3.75/month. Keep an eye on your expenses with the Billing and Cost Management console. The prices shown here are estimated based on costs listed on AWS at the time this was written. Prices only go up over time and I cannot guarantee these prices are accurate anyway.
This method uses the free openVPN license that allows maximum of 2 connections so if you somehow need more than 2 connections you will have to find another solution or purchase an openVPN license.
The screen shots of openVPN below may change over time. Currently, the below deployment script will install version 2.x and then when your server updates it will upgrade the server to 3.x. so if the deployment script is updated to install 3.x then these screen shots won’t match. But you should be able to figure it out.
Amazon Web Services
You will need an AWS account. sign up here https://console.aws.amazon.com or google the latest login url. Sign up for the “free account” to get $200 credit, that will last you about a year before you need to start paying for this.
It may be easier to locate a youtube “getting started” video for AWS so they can guide you through the boring process of adding your credit card. Be sure to setup MFA on your account. you DO NOT want anyone to hack your account as AWS services are valuable to criminals and are happy to use your credit card for their crimes.
Create a Key Pair
Once you have your account billing info ready, you need to create a key pair. use the top search bar and type “key pair” and click the KEY PAIRS option.

Click CREATE KEY PAIR then give your key a name, use the ED25519 type and use PPK format

Click CREATE KEY PAIR button and it should immediately download that private key to your computer. DO NOT LOSE THIS FILE. Your public key (the “lock”) has been saved to AWS, but only you have the private key (aka the “key”).
Select Region
Before you do anything you need to select the appropriate region to ensure your internet gateway doesn’t reside in a place where the adult sites are checking age requirements. If all states start doing this, then you would need to use a region in a foreign country.
In the upper right corner of your AWS Management Console, you can see the region you are currently using. For now, I suggest using the us-west-1 region (N. California) as that state has not yet blocked adult sites.

Create VPC
use the top search bar to search for “vpc” and click the VPC option.

Click the CREATE VPC button, then just use the default options already selected. for the IPv4 range, i suggest something simple like 10.10.10.0/24. click the CREATE button at the bottom.

Create Subnet
You need to create a subnet that is located within the CIDR range you specified in the VPC creation. In the above example, we used 10.10.10.0/24. So we an just create a /28 inside that /24.
In the left menu, click the SUBNET option or just use the top search bar to search for “subnets”

Click the CREATE SUBNET button at the bottom to proceed.
Create Internet Gaetway
on the left menu, click INTERNET GATEWAYS or you can search using the top search bar.

Click CREATE INTERNET GATEWAY, just name the gateway and click CREATE. It will then open your new internet gateway. use the ACTION menu to select ATTACH TO VPC. Click the AVAILABLE VPC search bar to locate you VPC, then click ATTACH VPC

Add route to the gateway
The internet gateway doesn’t come connected to the internet despite it’s name. So you need to add a route to the internet manually.
In the same VPC left menu, you can click ROUTE TABLES or just use the top search bar for “route table”. The VPC should have already created a route table for your local network.
Click on the route table ID to open the route table. Then click EDIT ROUTES
Add 0.0.0.0/0 destination
Target is the Internet Gateway you just created
Click SAVE CHANGES

Deploy OpenVPN to AWS
Now we can deploy the openVPN service to your AWS environment. Fortunately, openVPN has made this incredibly easy for you, but you will need to create an openVPN account to access the following url. I believe this script will do most if not all of the above steps but it’s better you know what your VPC objects contain beforehand.
Once you have an account created, click this URL https://as-portal.openvpn.com/instructions/aws/installation and match the region to the region you selected for your AWS environment. You will need to be logged into AWS before executing this command.

It will take you to the prep screen for the deployment script Change the settings to match the vpc, subnet and key you created earlier. Change the Instance Type to t3.micro to save the most $. t3 appears to be the best option right now as its a tad cheaper than t2.micro and has better performance.

After it builds, go to the OUTPUTS tab to locate your new server address and temporary admin password. Use the instructed username “openvpn” to login with that password.

When logged in as admin/openvpn user, go to the VPN left menu and change the below setting to YES. this will force your internet traffic to route through the VPN.

Click SAVE SETTINGS at the bottom of the page, then when it reloads click the UPDATE RUNNING SERVER button to make those changes permanent.
Now go to the USER MANAGEMENT section and click the USER PERMISSIONS option.
Here you can add a different vpn user here if you don’t want to use the default openvpn user (which is advised). Otherwise, check the box for this user to allow auto-login. Auto-login will bypass the MFA requirement for connecting to the VPN service, but will not bypass MFA when logging into the VPN portals. This step is optional, but helpful and convenient and a minor security risk provided that you restrict the AWS security group to allow only your approved IP ranges.

If you are keeping the default openvpn user account, click the MORE SETTINGS button to go to the next screen that will allow you to change the password. This is critical as the current password is still visible in AWS.
Change the password (and make sure the password is VERY STRONG) and save the password somewhere, preferably in a password safe. You do have one of those, right? You should also enable MFA here. When you login to the portal again, it should prompt you to setup the MFA token. Any account accessible from the internet should ALWAYS have MFA enabled.
If you are not keeping the default openvpn account, be sure to login to the admin portal with another account and then delete the openvpn account.
Click SAVE SETTINGS at the bottom of the page, then when it reloads click the UPDATE RUNNING SERVER button to make those changes permanent.
There’s not much else you need to configure at this point. Remember to enable MFA on the admin account and if possible you should change the web server to use a custom SSL certificate. Again, these are optional tasks that will cost more $ but provide better security.
Modify Security Group
The above deployment script will auto create a Security Group for you, so go back to AWS to your Security Groups and you should see a group named something like “openvpn-accessserver-AccessServerSecurityGroup”. Open that group and click the INBOUND RULES tab then click the EDIT INBOUND RULES button.
You can leave the rules open to all the internet, but that’s not ideal. You should instead restrict the access to a smaller set of IPs or just your own home IP address. I used the entire subnet range that my ISP uses just in case my IP address ever changes. So try to adjust this source value for each line. You can always go back to AWS and update the source list later on. To access the VPN itself, you only need port 1194. So you can add more sources for that port and leave the portal and ssh access limited to your home IP (optional).

Click SAVE RULES then click on the OUTBOUND RULES tab and click EDIT OUTBOUND RULES. Change the ALL TRAFFIC to HTTPS and add another rule to allow HTTP. the destination should be 0.0.0.0/0. This will ensure only web traffic is allowed through your VPN server. Optionally, you remove the HTTP rule thus forcing all your traffic to only use HTTPS which is more secure, but this can have some unintended consequences.

Click SAVE RULES when you are done editing.
Enable the VPN
To access the VPN client, first go to the same URL you used to access the VPN admin area, but remove the /admin path from the url (ie. https://YOUR_IP_HERE)
This will take you to the user portal.
Login with the same username you used for the admin panel.
Download the connection profile and the windows client. There are other clients for different OS’s as needed, but it should present you with the client as it detects your OS. Keep the box checked to include the connection profile, but download the profile anyway while you are at this screen.

After installing, the connection profile should already be installed. If not, click the orange + icon to upload the profile you just downloaded. It will present the connection to import, then just toggle the switch to activate.

If it says you are connected, you should be good to go from here. If you go to https://www.whatismyip.com/ it should tell you your IP is the same as your VPN server as well as the geolocation of that IP. This is how the adult sites will know what states to block. So if they begin to filter the state where your VPN server is located, you will need to move your VPN server instance to a different region. Be aware doing so may increase your AWS costs.

Check back in a few days to ensure you aren’t running up a huge bill. Use the Billing and Cost Management panel to check this. You can also use this to create billing alerts when you have exceeded a budget threshold. Monthly VPN services are ~$15/month so that would be a good budget to alert on then you would know which is more affordable when considering the cost of your privacy.

Linux Server finalization
Your linux server can’t just stay like it is forever. You need to add some instruction to let it update itself automatically so your server is less vulnerable over time since it is connected to the internet.
Go back to the EC2 instance page and open the VPN instance. Click the CONNECT button and on the EC2 Instance Connect tab, keep the default settings and click the CONNECT button in the lower right corner.
If this connection fails, you can use the PPK private key file with the PUTTY application. Google how to install and use putty and use the info available in the instance’s CONNECT page to obtain the username and destination IP.
Once you have an open SSH session, run this command:crontab -e
If it prompts you to select an editor, just hit ENTER to accept the default, or choose the option for NANO. This command will open the crontab for editing.
Add the following text to the end of the file. (Use right-click to paste this data into the ssh terminal)1 1 * * * sudo apt-get update && sudo apt-get -y upgrade > /dev/null 2>&1
1 3 * * 0 sudo /sbin/reboot > /dev/null 2>&1
Use CTRL-O to save the file, and CTRL-X to exit.
This will auto-update the OS and openVPN every day and reboot the VM every Sunday at 1am (the timezone may be different than your own time zone. if that matters you will need to google how to update the time zone for the Amazon Linux OS). If MFA fails, you may need to install/enable NTP for the linux server. You can also change the update schedule if you research crontab scheduling. Google is your friend.
You can always reboot the linux server anytime and nothing should go wrong. However if you ever STOP the server (which is required if you want to resize or move the server) then it WILL change your public IP and break the service. So I recommend avoiding that.
Another thing to consider is the ubuntu linux image will become outdated so it’s advised you rebuild this every 2 years to be safe or try to upgrade the linux distribution. This is where most people will find a vpn service is worth the $.
Conclusion
A paid proxy service is always going to be easier but there are zero guarantees you can trust it so use this guide as a tool for comparing your options.












































































