You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Selva Nair 38541f3693
Add a missing CheckReadAccess()
9 years ago
nsis Do not disconnect on suspend 9 years ago
res fix the following "warning" 9 years ago
.gitignore File 'compile' now removed as well 9 years ago
.kateconfig add .kateconfig 15 years ago
.travis.yml reworked packages install to "apt" plugin 9 years ago
BUILD.rst Add build description 9 years ago
CHANGES.rst Add information about versions 2-7 to CHANGES.rst 9 years ago
COPYING import of openvpn-gui-1.0.3.zip 16 years ago
COPYRIGHT.GPL import of openvpn-gui-1.0.3.zip 16 years ago
Makefile.am File 'compile' now removed as well 9 years ago
README Updating README build instructions 9 years ago
TODO enforce entry of a username when querying auth 13 years ago
access.c Ensure group name in shell-execute cmdline is clean 9 years ago
access.h Handle interactive service policy restrictions 9 years ago
bootstrap use automake in build 13 years ago
chartable.h convert files to unix style end-of-line 13 years ago
configure.ac Bump version in "master" branch to 11 9 years ago
localization.c cppcheck cleanup: 9 years ago
localization.h cppcheck cleanup: 9 years ago
main.c Merge pull request #26 from selvanair/iservice-restrictions 9 years ago
main.h Handle interactive service policy restrictions 9 years ago
manage.c Read errors from the service pipe and handle fatal ones 9 years ago
manage.h Read errors from the service pipe and handle fatal ones 9 years ago
misc.c Merge pull request #33 from selvanair/bugfix 9 years ago
misc.h Add InitSemaphore() to misc.h 9 years ago
openvpn-gui-res.h Handle interactive service policy restrictions 9 years ago
openvpn.c Read errors from the service pipe and handle fatal ones 9 years ago
openvpn.h Read errors from the service pipe and handle fatal ones 9 years ago
openvpn_config.c Add a missing CheckReadAccess() 9 years ago
openvpn_config.h refactor option handling code 15 years ago
options.c Handle interactive service policy restrictions 9 years ago
options.h Read errors from the service pipe and handle fatal ones 9 years ago
passphrase.c don't define callback functions as static 11 years ago
passphrase.h convert files to unix style end-of-line 13 years ago
proxy.c don't define callback functions as static 11 years ago
proxy.h support SOCKS 5 proxy auth notifications from mgmt 13 years ago
registry.c Merge pull request #33 from selvanair/bugfix 9 years ago
registry.h make it work when compiled as unicode 15 years ago
scripts.c use automake in build 13 years ago
scripts.h use managment interface 14 years ago
service.c Handle interactive service policy restrictions 9 years ago
service.h Handle interactive service policy restrictions 9 years ago
tray.c Adding "Import file" feature 9 years ago
tray.h Adding "Import file" feature 9 years ago
viewlog.c use automake in build 13 years ago
viewlog.h convert files to unix style end-of-line 13 years ago

README

Installation Instructions for OpenVPN GUI for Windows
-----------------------------------------------------

You can either get my installation package for OpenVPN 2.0.X where I've
bundled the gui in the installation package, or you can use the original
installation package from OpenVPN, and then manually install OpenVPN GUI.


Installation using the bundled OpenVPN package with OpenVPN GUI included
------------------------------------------------------------------------

* Download openvpn-2.0.X-gui-1.0.X-install.exe from 
  http://openvpn.se

* If you have a previous version of OpenVPN GUI installed, shut it down.
  Make sure it's closed by ALL logged on users.

* Run the install program. During the installation you can choose if the GUI
  should be started automatically at system startup. The default is yes.

* Create a xxxx.ovpn config-file with your favorite texteditor and save it in:
  C:\Program files\OpenVPN\config\. You should NOT use the "log" or "log-append"
  options as OpenVPN GUI redirect the normal output to a log file itself. 
  There is a sample config files in the "sample-config" folder. Please
  refer to the OpenVPN project homepage for more information regarding 
  creating the configuration file. http://openvpn.net/


Manual installation of OpenVPN GUI
----------------------------------

* Download and install OpenVPN from http://openvpn.net/

* Download openvpn-gui-1.0.X.exe and save it in OpenVPN's bin folder.
  Default is "C:\Program Files\OpenVPN\bin\". You must put it in this folder
  because OpenVPN GUI depends on the OpenSSL DLLs installed in this folder by
  OpenVPN.

* Create a xxxx.ovpn config-file with your favorite texteditor and save it in:
  C:\Program files\OpenVPN\config\. You should NOT use the "log" or "log-append"
  options as OpenVPN GUI redirect the normal output to a log file itself. 
  There is a sample config files in the "sample-config" folder. Please
  refer to the OpenVPN project homepage for more information regarding 
  creating the configuration file. http://openvpn.net/

* Put a short-cut to openvpn-gui-1.0-X.exe in your 
  "Start->All Program->StartUp" folder if you want the gui started automatically
  when you logon to Windows.

* Start the GUI by double-clicking the openvpn-gui-1.0.X.exe file.

*** You need to be Administrator the first time you run OpenVPN GUI for it to
    create its registry keys. After that you don't have to be administrator
    just to run the GUI, however OpenVPN requires the user to be
    administrator to run! ***


Using OpenVPN GUI
-----------------

When OpenVPN GUI is started your config folder (C:\Program Files\OpenVPN\config)
will be scanned for .ovpn files, and an icon will be displayed in the taskbar's
status area.

If you do not have any openvpn connection running, the config dir will be
re-scanned for new config files every time you open the OpenVPN GUI menu by
right-clicking the icon.

When you choose to connect to a site OpenVPN GUI will launch openvpn with
the specified config file. If you use a passphrase protected key you will be
prompted for the passphrase.

If you want OpenVPN GUI to start a connection automatically when it's started,
you can use the --connect cmd-line option. You have to include the extention
for the config file. Example:

openvpn-gui --connect office.ovpn


Run OpenVPN GUI as a Non-Admin user
-----------------------------------

OpenVPN currently does not work as a normal (non-admin) user. OpenVPN GUI
2.0 will solve this by using an enhanced version of the OpenVPN service
to start and stop openvpn processes.

In the mean time, it is possible to use OpenVPN GUI to control the current
OpenVPN Service to start and stop a connection.

To use OpenVPN GUI to control the OpenVPN service, set the registry value
"service_only" to '1'. See the section about registry values below.

Limitations with this way:
  
  There is no way for OpenVPN GUI ta hand over a password to the service
  wrapper, so you can't use passphrase protected private keys or 
  username/password authentication.

  If you have multiple openvpn configurations, all will be started and
  stopped at the same time.

  OpenVPN GUI is not able to retrieve any status info about the connections
  from OpenVPN, so it will report connected as soon as the service is
  started regarless of if OpenVPN has really succeded to connect or not.

  You cannot see the OpenVPN log in real-time.


Run Connect/Disconnect/Preconnect Scripts
-----------------------------------------

There are three diffrent scripts that OpenVPN GUI can execute to help
with diffrent tasks like mapping network drives.

Preconnect  If a file named "xxx_pre.bat" exist in the config folder
            where xxx is the same as your OpenVPN config file name,
            this will be executed BEFORE the OpenVPN tunnel is established.

Connect     If a file named "xxx_up.bat" exist in the config folder
            where xxx is the same as your OpenVPN config file name,
            this will be executed AFTER the OpenVPN tunnel is established.

Disconnect  If a file named "xxx_down.bat" exist in the config folder
            where xxx is the same as your OpenVPN config file name,
            this will be executed BEFORE the OpenVPN tunnel is closed.


Registry Values affecting the OpenVPN GUI operation
---------------------------------------------------

All OpenVPN GUI reg-values are located below the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\OpenVPN-GUI\

The follow keys are used to control the OpenVPN GUI

config_dir
    configuration file directory, defaults to "C:\Program Files\OpenVPN\config"

config_ext
    file extension on configuration files, defaults to "ovpn"

connectscript_timeout
    Time in seconds to wait for the connect script to finish. If set to 0
    the exitcode of the script is not checked.

disconnectscript_timeout
    Time in seconds to wait for the disconnect script to finish. Must be a
    value between 1-99.

preconnectscript_timeout
    Time in seconds to wait for the preconnect script to finish. Must be a
    value between 1-99.

exe_path
    path to openvpn.exe, defaults to "C:\Program Files\OpenVPN\bin\openvpn.exe"

log_dir
    log file directory, defaults to "C:\Program Files\OpenVPN\log"

log_append
    if set to "0", the log file will be truncated every time you start a
    connection. If set to "1", the log will be appended to the log file.
  
priority
    the windows priority class for each instantiated OpenVPN process, 
    can be one of:

        * "IDLE_PRIORITY_CLASS"
        * "BELOW_NORMAL_PRIORITY_CLASS"
        * "NORMAL_PRIORITY_CLASS" (default)
        * "ABOVE_NORMAL_PRIORITY_CLASS"
        * "HIGH_PRIORITY_CLASS"

allow_edit
    If set to "1", the Edit config menu will be showed.

allow_password
    If set to "1", the Change Password menu will be showed.

allow_proxy
    If set to "1", the Proxy Settings menu will be showed.

allow_service
    If set to "1", the Service control menu will be showed.

silent_connection
    If set to "1", the status window with the OpenVPN log output will
    not be showed while connecting.

service_only
    If set to "1", OpenVPN GUI's normal "Connect" and "Disconnect"
    actions are changed so they start/stop the OpenVPN service instead
    of launching openvpn.exe directly.

show_balloon
    If set to "0" - Never show any connected balloon.
              "1" - Show balloon after initial connection is established.
              "2" - Show balloon even after re-connects.
log_viewer
    The program used to view your log files, defaults to
    "C:\windows\notepad.exe"

editor
    The program used to edit your config files, defaults to
    "C:\windows\notepad.exe"

passphrase_attempts
    Number of attempts to enter the passphrase to allow. 

All these registry options is also available as cmd-line options.
Use "openvpn-gui --help" for more info about cmd-line options.


If you have any problem getting OpenVPN GUI to work you can reach me via
email at mathias@nilings.se.


Building OpenVPN GUI from source
--------------------------------

* Download and install MinGW and MSYS from http://www.mingw.org/
  I'm using MinGW-3.2.0-rc-3 and MSYS-1.0.10.

* Download and install the binary distribution of OpenSSL from
  http://www.slproweb.com/products/Win32OpenSSL.html

* Download and extract the OpenVPN GUI source archive.

* Start a bash shell by running msys.bat.

* Run at the OpenVPN GUI source directory:

$ autoreconf -i
$ ./configure
$ make