Version 5 (modified by 5 years ago) (diff) | ,
---|
Introduction
Note: This document is out-of-date, it applies only to OpenVPN-2.3.x (For Windows). OpenVPN-2.4.x includes the OpenVPN-Interactive-Service, which manages privilege separation quite successfully. (You are urged to upgrade if you have not). Instructions for using OpenVPN-GUI bundled with OpenVPN 2.4 are on Use OpenVPN-2.4 Windows-GUI.
OpenVPN-2.3.x
Historically, there have been many, many client GUIs for OpenVPN. Practically all are work of a one person, and many of them are completely unmaintained. Here's a snapshot (12th May 2011) of native Windows GUIs from our related project list:
- OpenVPN-GUI. Based on old OpenVPN GUI for Windows.
- OpenVPN MI GUI. Based on old OpenVPN GUI for Windows.
- OpenVPN Manager. Latest changes ~4 months old.
- OpenVPN Client Windows. Latest changes ~12 months old.
There are also tons of inactive client GUI projects and probably dozens of in-house client GUI implementations. This fragmentation of development effort hurts both users (who never get to use a really good GUI) and developers (who have to reinvent the wheel over and over again).
OpenVPN project has distributed an OpenVPN-GUI with it's Windows installers for years, but core OpenVPN developers have put very little emphasis on developing the GUI; this is understandable, as it's outside the scope of the project. OpenVPN releases prior to 2.3-alpha1 included a very old (released 2005) OpenVPN-GUI. Releases starting with 2.3-alpha1 use a more modern OpenVPN-GUI.
Here's a list of potential reasons why so many OpenVPN GUIs exist:
- Existing GUI(s) are lacking some special functionality
- Hacking together a customized GUI is relatively easy
- Making a good-quality general purpose GUI requires lots of work
- Working with others necessarily means extra development overhead
- Most GUI projects are small and don't show up anywhere (except our related projects list)
There are a few steps between now and a general purpose GUI:
- Find out the most common GUI features people need (and implement those)
- Merge existing projects together (if possible)
Requirements
Functional requirements
Describe what is the core reason why this applications exists. These should be visible to the user.
- Create a tunnel
- Close down a tunnel
- Support multiple OpenVPN configuration files
Non-functional requirements
These describe the qualities of the application, such as look and feel and performance.
- Operates from the system tray
Constraints
These are similar to non-functional requirements, but imposed upon from outside.
- Must run on Windows XP SP3 and above
- Must use the management interface