Header image  
 
latest news

Nov 1, 2012: Shatadru Bandyopadhyay have provided updated graphics for gopenvpn. Thanks a lot! This will arrive soon in the git tree as well

March 14, 2012: David Sommerseth has joined the team and will help developing gopenvpn further. Hopefully there will be some visible improvements already within a few weeks. If you want to get in touch, he can be reached on dazo (.at.) users.sourceforge.net

August 23, 2009: I added the --script-security patches so that gopenvpn will work with OpenVPN versions later than 2.1rc9.

I've noticed an uptick of interest in gopenvpn. I haven't had time to work on it for awhile, but if people are really using it, I'm willing to put in some cycles on it. One thing people are requesting a lot is packages for Debian/Ubuntu. I must confess I haven't done a lot of Debian packaging in the past. If someone would like to contribute some patches for this, I would be delighted to incorporate it into the trunk.

October 23, 2009: Sam Burney has graciously provided binary packages for gopenvpn for Ubuntu 9.04 and RHEL/CentOS 5. Many thanks! Hopefully, this will make installation of gopenvpn easier for a lot of people.

August 23, 2009: I added the --script-security patches so that gopenvpn will work with OpenVPN versions later than 2.1rc9.

I've noticed an uptick of interest in gopenvpn. I haven't had time to work on it for awhile, but if people are really using it, I'm willing to put in some cycles on it. One thing people are requesting a lot is packages for Debian/Ubuntu. I must confess I haven't done a lot of Debian packaging in the past. If someone would like to contribute some patches for this, I would be delighted to incorporate it into the trunk.

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 git repository with the following command:

git clone git://gopenvpn.git.sourceforge.net/gitroot/gopenvpn/gopenvpn.git

 
installing from source

1. Install prerequisites

The following libraries are prerequisites:

  • glib-2.0
  • gtk+-2.0
  • glade-2.0
  • gnome-keyring (for remembering passphrases)
  • polkit-0.97 (or newer)

The following packages are also prerequisites:

  • 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:

[Debian/Ubuntu] sudo apt-get install libglib2.0-dev libgtk2.0-dev libglade2-dev libgnome-keyring-dev gedit polkit

[Fedora/RHEL] sudo yum install glib2-devel gtk2-devel libglade2-devel gnome-keyring-devel automake autoconf gettext make gcc desktop-file-utils polkit

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.

 
installing from binaries

Ubuntu Jaunty (9.04)

Package: http://mirror.sifnt.net.au/linux/dists/jaunty/main/binary-i386/gopenvpn_0.6-0sifnt_i386.deb

Diff: http://mirror.sifnt.net.au/linux/dists/jaunty/main/source/gopenvpn_0.6-0sifnt.diff.gz

If you're a Ubuntu user it's probably easier to just add the following sources to apt, that way you can just use apt-get install gopenvpn and apt-get source gopenvpn:

deb http://mirror.sifnt.net.au/linux jaunty main
deb-src http://mirror.sifnt.net.au/linux jaunty main

Red Hat Enterprise Linux / CentOS 5

i386 package: gopenvpn-0.6-2.el5.astc.i386.rpm

x86_64 package: gopenvpn-0.6-2.el5.astc.x86_64.rpm

source package: gopenvpn-0.6-2.el5.astc.src.rpm

The command to install the RPMs on RHEL/CentOS 5.3 would be:

yum --enablerepo=rpmforge install <package-name>
 
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 the stable gopenvpn ships with 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.

The next release will use PolicyKit instead and gopenvpn will ship with a default policy where the user is asked for its password to start an OpenVPN connection. To edit the configuration, the root password would have to be provided. This is partly implemented in the git repository already.

 
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.