From a simple bash script into a full-fledged router VPN management solution

23 Nov, 2021

author avatar
From a simple bash script into a full-fledged router VPN management solution

Emanuel Oprea, a software engineer at, shares a story of how he accidentally identified a user near during the last year's Covid-19 lockdown and built a market-ready router VPN manager to help democratize access to streaming content and services.

This article was first published on

As a novel coronavirus swept the world in early 2020, thousands of software developers began working from home. Many did so on short notice, under difficult and stressful conditions, feeling frustrated and insecure. However, others used this remote work opportunity with optimism and turned their temporary limitations into new opportunities. 

A senior software engineer – Emanuel Oprea – is one of those who used the pandemic and self-isolation to indulge in a pet project that subsequently became a full-fledged solution enabling users to use VPN client software on many different devices at the same time.

We’ve talked to Emanuel about the drivers of his solution development and how his product evolved from a simple script into a market-ready router VPN management solution.

•    Emanuel, can you please share a story behind your technology solution?

Once upon a time, my wife saw an enticing trailer of a new show and wanted to watch it through a streaming service. In particular, she wanted to watch the show on a large TV screen in the living room, lolling in the comfort of the couch. However, she couldn’t do it due to the streaming service geo limitations in Romania.

An active VPN connection is needed to bypass those limitations and watch certain shows that are unavailable in your country.  While this issue can be easily solved with a VPN on a laptop or a smartphone, watching the same show on TV is an entirely different story.

That’s exactly how I stumbled upon a user's need for streaming content blocked by ISPs on a smart TV or other devices like gaming consoles, etc. And, since I had more free time due to the pandemic and remote work, I decided to help my wife find a solution to enable her to watch blocked shows through VPN on our smart TV.

•    And what was your first step?

Like anyone in my situation, I searched on Google and tried to find an existing product. And then, it was already mid-2020, and I’ve ended up spending quite a lot of time looking for software already out there on the market. Almost all the solutions I found only covered PC or mobile/tablets. The ones that directly tackled my issue proved to have more limitations than benefits.

One of the initial options I discovered was a VPN provider that also has its own custom firmware. Ideally, one could install it on their router, but after further investigation, I found that it only supports five router models, and of course, due to Murphy’s law, mine wasn’t supported.

The other option meant buying a new router from a company specialized in router firmware customization. After device acquisition, the company would install a proprietary VPN client on my future router. The downside of this was the final cost of the router (versus retail price) and the dramatic increase in shipping time. It also proves to be a warranty nightmare since they would have to open the package to operate changes on the device before finally sending it to me.

Since I already had a router, I didn’t want to spend more money buying a new one, and I also wanted to keep my existing VPN subscription. So, I said to myself:

“C’mon, Emanuel, you’re a software engineer! Why don’t you try to build an ultimate router VPN solution and help others easily overcome streaming platforms’ limitations with an added security boost to the internet connection?” 

That’s how I took on this new challenge which eventually resulted in ShieldMe solutions.

•    And what did you do next?

I started with writing a simple bash script to try to connect my router to VPN. It was a proof-of-concept that worked well. However, it could only be used by my peers, tech-savvy people. A solution like this would prove to be a bottleneck for mass adoption, much like the already existing ones. So, I understood I had to make something more user-friendly and polish the solution further. This translated into my next goal: building a simple and intuitive app that would be available for “virtually” any router.

The app started small, with just a couple of simple screens with basic options. Then, thankfully, my wife gladly accepted to act as my trusted quality assurance department. With her precious, albeit intense (but very constructive) feedback, the initial MVP was ready after a few iterations, and I launched my VPN router client in April 2021. However, the solution had its limitations as an MVP, so that I couldn’t call it “universal” just yet. 

Initially, users had to know how to run an installation script to use my VPN client, discouraging most people from trying it out. As such, to fine-tune the initial solution, I started working on transforming it into a set of multiple user-friendly tools: a router manager and a VPN manager. I really wanted users with limited to no tech background to be able to use it with no pain in the neck.

That’s what pushed me to build and release a complementary router automation app. With it, users can now install custom firmware on their router and set it up automatically through a user-friendly interface: just two actions, and they’re good to go.

•    Can you tell us more about how a non-tech user can benefit from your router VPN solution?

Well, to name just a few: users can access media content anywhere and anytime, privately and securely, through an app that is easy to install and use. They can enjoy streaming with no geo-restrictions or interruption, thanks to the fast connection with no speed or bandwidth limits on their devices. They can also use the internet much safer, thanks to the underlying connection encryption and anonymization. Usually, VPN services limit the number of connections to their servers. Still, by using my client directly on the router, you essentially allow all devices behind it to count as a single connection. And more exciting developments are on the way, as I am currently working on a mobile app for my solution!

But I believe that the main benefit is that my solution helps democratize access to streaming services and content around the world.

•    What technologies and frameworks did you use to build your product?

I used JavaScript for the app front-end, PHP for router back-end, and .NET for interfacing with VPN APIs. 

Feel free to learn more about Emanuel's solution on the ShieldMe website.