💡 Inspiration
All of us use the internet, but our network traffic usually flows unencrypted. This means that anyone on the network or your internet service provider can see what websites you've visited and what you're doing online (this includes connections over HTTPS since the initial request is unencrypted). The answer to this is to either use a VPN service provider (but who knows if they're trustworthy?) or deploy your own VPN server.
🏡 What it does
WireSafe is a 1-click script that you can use to deploy a VPN server to Linode. It uses the latest Wireguard VPN protocol, encrypting all your network traffic with the latest cryptographic protocols. Finally, it gives you the client config that you can simply paste in your client to enjoy a completely encrypted connection to the internet.
🔨 How we built it
The script was completely built using Python, with the Rich library for beautiful color formatting on the terminal. We also used the Linode API to get the list of regions, instance types and then to finally deploy the instance of our choice. Once the instance was deployed, we then used the Paramiko python ssh client to install wireguard, generate the various server and client keys, and configure the wireguard service.
🥲 Challenges we ran into
- Deploying the vpn had a few quirks that made it less straightforward (we needed to switch on IPv4 forwarding and add various iptable rules).
- We needed to handle errors correctly in case of network issues or an invalid API token.
🏆 Accomplishments that we're proud of
- We're really proud of how well the project turned out to be with regard to the end user. With a single script to run the entire deployment process with minimal user input or knowledge required, even a less tech-savvy person would be able to use our project.
- We're also really happy about how the terminal colors/ui turned out to look.
📖 What we learned
- We learnt how to interface the Linode API
- We learnt to use the Paramiko SSH client to talk to the newly created server
- We learnt to deploy a production-grade VPN server
🚀 What's next
In the future we plan to add provisions were WireSafe can also automatically add the client config in the the client app instead of just giving it to the user for easier use.

Log in or sign up for Devpost to join the conversation.