Transmission Zero

OpenVPN Control Centre



Introduction

One thing I found a little annoying when using OpenVPN on Windows, was that the console window would take up valuable taskbar space. I then discovered an application called “OpenVPN GUI”, which allowed OpenVPN connections to be controlled from a small icon in the notification area of the taskbar. It proved to be an invaluable tool, but there were a number of things which I felt could be improved—the layout of the dialogs, the lack of themed controls on Windows XP and Windows Vista, and the lack of support for the UAC feature introduced in Windows Vista.

As the source code for OpenVPN GUI is freely available, these things were all quite simple to fix. After some resource editing and a small bit of additional code, I had an OpenVPN GUI with nice looking dialogs, themed controls, and which requests administrative privileges on Windows Vista and Windows 7. Having done this, I decided to work on some other tweaks and fixes with the code so that I could get more experience with programming Windows API in C.

OpenVPN Control Centre was then born!

Improvements Over OpenVPN GUI

The dialogs have all been reworked, as I did not like the alignment of the controls, the fonts used in the dialogs, and did not like the fact that the buttons and other controls were rendered using the Windows “Classic” theme on OSes where visual styles are enabled.

[OpenVPN Control Centre Proxy Configuration Dialog]

Another strange quirk I found was that multiple instances of the same dialog could be opened at the same time, for example if you clicked on “About” in the context menu multiple times, then you would see multiple “About” dialogs on your desktop. I’ve made changes to the code so that only one instance of a certain dialog can exist at any given time.

[OpenVPN Control Centre About Dialog]

One thing I found when running the application under Windows Vista, was that if Windows Explorer was restarted, the notification icon in the taskbar would not be recreated. This made it impossible to use the application after an Explorer restart. This was due to a security feature called UIPI, and the issue was fixed by adding some additional code to the main window procedure.

[OpenVPN Control Centre Notification Area Status]

All of the features from OpenVPN GUI are still present in OpenVPN Control Centre, and can be accessed via the context menu from the notification area icon.

[OpenVPN Control Centre Notification Area Context Menu]

The status window now does not automatically show when connecting to a VPN, as I found this to be quite annoying. It’s still possible to view it by double clicking the icon, or via the context menu (or you can have it shown by default if you’re willing to change a registry key).

[OpenVPN Control Centre Status Window]

There are many other fixes in OpenVPN Control Centre, and I recommend you download it and give it a try. It is by no means perfect, and there are some things which would be simpler to achieve with a complete rewrite of the application, but I do consider it to be a big improvement over OpenVPN GUI. If you have suggestions for new features or bug fixes, then please get in contact. I can’t make any promises, but I will consider all suggestions.

Download OpenVPN Control Centre

From here you can download the latest version of OpenVPN Control Centre. Installation is as simple as extracting the executable, and copying it to your OpenVPN “bin” directory. It should be supported on any version of Windows since Windows 2000, and has been tested on Windows XP, Windows Vista, and the 64 bit version of Windows 7.