Header image  
 
overview

screenshotgopenvpn is a simple graphical front-end for OpenVPN, the open source VPN solution.

It provides a GNOME system tray icon from which OpenVPN connections can be started and stopped, and a dialog from which OpenVPN's logs can be viewed. It can manage multiple simultaneous connections, and graphically indicates when you're connected to a VPN tunnel.

 
license
gopenvpn is free software released under the GNU General Public License.
 
acknowledgments
gopenvpn's user interface is inspired heavily by the excellent Tunnelblick OpenVPN client for MacOS X by Angelo Laub. I've been a happy user of Tunnelblick on my Mac, and wanted to have the same friendly user interface on my Ubuntu Linux box.
 
getting the source

You can download the latest source from Subverison with the following command:

svn co https://gopenvpn.svn.sourceforge.net/svnroot/gopenvpn gopenvpn

 
installing

1. Install prerequisites

The following libraries are prerequisites:

  • glib-2.0
  • gtk+-2.0
  • glade-2.0
  • gnome-keyring (for remembering passphrases)

The following packages are also prerequisites:

  • gksu (for authorizing editing configuration files)
  • gedit (for editing configuration files)

The procedure for installing these prerequisites will vary depending on your operating system. To install the prerequisites in Ubuntu 6.06 Dapper, you could type:

sudo apt-get install libglib2.0-dev libgtk2.0-dev libglade2-dev libgnome-keyring-dev gksu gedit

2. Build it

cd gopenvpn
./autogen.sh
./configure
make

3. Install it

sudo make install

4. To run gopenvpn on login, add /usr/local/bin/gopenvpn to your GNOME
session's startup items.

 
configuration files

gopenvpn will look in the directory /etc/openvpn for OpenVPN configuration files. OpenVPN configuration files with suffixes ".conf" and ".ovpn" are recognized. Any configuration files found will appear in gopenvpn's context menu.

Note that gopenvpn installs a setuid executable "gopenvpnstart" which is used to start VPN connections without entering a password to gain administrator privileges. The assumption is that OpenVPN configuration files in the /etc/openvpn directory on a desktop computer are safe to be initiated by an ordinary user. If you are concerned about the setuid executable, you can #define USE_GKSU in gopenvpn.c and remove gopenvpnstart. This will cause gopenvpn to ask for administrator privileges via a gksu dialog box whenever you start a connection.

 
using gopenvpn

You can launch gopenvpn manually

/usr/local/bin/gopenvpn

... or add it to your GNOME session's startup items so that it starts up whenever you login to your computer.

Once gopenvpn is loaded, its system tray icon will appear. The tray icon appears RED when no connection is active, YELLOW and blinking when a connection is being made, and GREEN when one or more connections is active.

Right-click on the tray icon to display the gopenvpn context menu. The context menu lists all the VPN connections available to connect, as determined by gopenvpn's scan of the /etc/openvpn directory for OpenVPN configuration files.

The OpenVPN log for each connection can be viewed in the Details dialog box, accessible from the "Details..." menu item on the context menu.

The Details dialog box permits you to tab between connections, reviewing the log for each, and can also connect/disconnect connections and edit the configuration files.