Page 1 of 1

OpenVPN and Windows 10 mobile

Posted: Sun May 15, 2016 4:20 pm
by udi
Hi,

will there be an App for Win 10 Mobile to connect ot OpenVpn Server?

Re: OpenVPN and Windows 10 mobile

Posted: Sun May 15, 2016 4:48 pm
by novaflash
There is no Windows 10 Mobile app for OpenVPN that I know of, and there's nothing planned as far as I know.

Re: OpenVPN and Windows 10 mobile

Posted: Sun May 15, 2016 8:27 pm
by udi
Why ;) ?
thanks

Re: OpenVPN and Windows 10 mobile

Posted: Sun May 15, 2016 8:43 pm
by novaflash
Because the market share is too low. Also, Windows RT flopped and nowadays tablets have x86 type processors that can handle the normal OpenVPN. For example Surface Pro can run the standard client just fine.

Re: OpenVPN and Windows 10 mobile

Posted: Sat Aug 06, 2016 6:16 pm
by PenaPP
novaflash: It's a typical deadlock - marketshare is low because applications like OpenVPN are missing and the applications are missing because the marketshare is low :roll:
Somebody should do the step to break the circle and bring the app even though the marketshare is low.

BTW: Phones with Windows 10 Mobile with Display Dock would be perfect for work, but without OpenVPN, you cannot connect to the company networks :cry:

Re: OpenVPN and Windows 10 mobile

Posted: Sun Aug 07, 2016 9:05 pm
by novaflash
Unfortunately that is not realistic at this time.

Re: OpenVPN and Windows 10 mobile

Posted: Thu Aug 18, 2016 4:36 pm
by Kontr3X
And now with the Windows Phone 10 Anniversary Update? I think there are no truth reasons anymore for not publishing it. And its better to make an App that is a bit laggy as none.

Re: OpenVPN and Windows 10 mobile

Posted: Thu Aug 18, 2016 6:07 pm
by novaflash
Nope, still not gonna happen.

People don't seem to realize the major roadblocks to making an OpenVPN app for Windows mobile platform. Let me put a few things out there so people understand why it is so difficult, and then I'll close this topic. I'd like to start that this is my personal opinion and is not an official statement by OpenVPN Technologies inc. I just want to clarify to people why it's not being done and why it is very likely not going to happen anytime soon.

OpenVPN needs a fairly deep integration for the network implementation. It needs some sort of hook into the network layer to introduce routes, capture packets to encrypt them and send them, and to transmit packets out to the Internet to the target VPN server and locally to act like a 'real' network interface. On the Windows desktop environment running on x86_64 architecture (think of Windows Vista, 7, 8, 8.1, 10, etc) this is done with a driver that installs a 'fake' network adapter that does most of the heavy lifting. This driver needs to be continually updated over the years as the operating system gets updated and things break. This driver has been around for a while and been updated to work on pretty much all the desktop version of Windows. But Windows XP for example needs a separate version of the driver since newer stuff doesn't run on it (NDIS5 versus NDIS6). It's quite a lot of work to make this driver and to make sure it is signed correctly and will continue to work, but since the Windows desktop environment is responsible for, at an estimation, about 80% of personal computers used for desktop use, it makes sense to develop and support this.

On Linux, fortunately, there is a TUN/TAP adapter already present in the kernel of the operating system itself. This has become a pretty much standard thing. You only need to activate this TUN/TAP adapter in software, which is done automatically by OpenVPN for Linux, and it works. This TUN/TAP adapter is present in pretty much all Linux distributions. Linux is designed to operate on pretty much any hardware. It can run on ARM and it can run on x86_64, and pretty much any other architecture out there. And the TUN/TAP adapter is pretty much present in all of them. This is great because it makes building the OpenVPN binary program that runs the show fairly easy. Linux also has a large market share but then in the server arena. I'm not sure of the exact numbers but just take a look at Amazon Web Services; pretty much everything there is Linux. And there are many more Linux web servers out there on the Internet than there are Windows web servers. So again a good market share to support.

Macintosh has a similar kernel module and thus requires only an OpenVPN binary to function.

So driver development is important, but with for example Android that isn't exactly enough. Android runs on Linux, so it should be easy, right? Well no. First of all that kernel module for the TUN/TAP adapter was taken out in the beginning. I'm not sure why, but it was. At some point people started to root their phones to get the tun.ko kernel module in there, and to run an OpenVPN binary that was compiled for that OS and architecture to get a connection going. In this scenario though, the code for the TUN/TAP adapter was already present, it just hadn't been added to the Android OS yet. But since it is Linux, and since you can root it to gain access, it was perfectly possible to grab the source code for the tun.ko adapter and build such a kernel module and load it and distribute it to other users that had rooted their phones. Fortunately though, a VPN API was introduced into Android, probably mostly because we as a community and as a company pushed them to introduce it. This VPN API allows programs to hook into the networking tools that are present in the Android OS now without rooting the phone. It's actually an alternative to the TUN/TAP adapter and despite some initial problems, works really well now. This VPN API is part of the official Android OS now and is maintained by the creators of the Android OS, Google themselves. So pretty much any Android device now has a VPN API that can be used by an OpenVPN client app like for example Arne Schwabe's OpenVPN client or our commercial offering OpenVPN Connect or PrivateTunnel app. The market share of Android on the mobile platforms is huge. Something again like 60% to 70%.

On iOS, like iPads and iPhones, there were also programs available if you had jailbroken your device, and these worked to a degree. But having to jailbreak your device just to make an OpenVPN connection is not ideal for obvious reasons, so thanks in great part to OpenVPN Technologies Inc a VPN API was added to the iOS operating system and can now be used by specific approved applications like OpenVPN Connect for iOS. Apple takes care of the VPN API working on their iOS platform, and we take care of the OpenVPN binary doing its job. There have been some interesting challenges here as well, but on the whole, things are working great on iOS now. The market share of iOS isn't as big as Android, 'only' about 20% to 30%

So where does that leave Windows mobile platform? Well, according to some sources it's around 3 percent, others say 1 percent. But it's fairly low. The architecture Windows mobile runs on at the moment is ARM, and we have no drivers that will work on Windows mobile software, and there don't appear to exist any. It's possible some VPN API exists or will exist, but it will require a lot of work to bring OpenVPN to Windows Mobile. It's not just a matter of running it through a compiler and voila, it works. Just look at how Android and iOS have their own implementation of a VPN API; it took more than a year from the moment the VPN API was introduced on these platforms to getting a client working properly with that. If Microsoft have such a VPN API or make one, it will have its own unique hobbles and issues that need to be figured out and worked out. It will not be possible to take the driver that exists for the Windows desktop environment and install it on Windows mobile. The underlying architecture is different, so the drivers just will not work. On top of that the software needs a recompile for the ARM architecture and you can be sure that the operating system will also be quite different so most likely a lot of system calls will need to be rewritten. You're almost starting from scratch when building for Windows mobile platform.

Sorry to disappoint but there are the facts. Feel free to contact me in a PM if you feel you have more to discuss on this topic.