diff --git a/README.rst b/README.rst index f02bd14..b56edfa 100644 --- a/README.rst +++ b/README.rst @@ -1,65 +1,69 @@ 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. +OpenVPN-GUI has been bundled with OpenVPN installers for a long time, so there +is rarely a need to install it separately. Bleeding-edge +versions of OpenVPN-GUI are available in `OpenVPN snapshot +installers `_ based on Git master +branch. OpenVPN-GUI gets installed by default in all OpenVPN installers. +Installation using the official OpenVPN installers +************************************************** -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. +* Download an `OpenVPN installer `_ +* If you have a previous version of OpenVPN GUI running, 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/ - +* Run the OpenVPN installer Manual installation of OpenVPN GUI ********************************** -* Download and install OpenVPN from http://openvpn.net/ +* `Download `_ + and install OpenVPN -* 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 +* Download OpenVPN GUI of your choice 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/ +Configuring OpenVPN GUI to start on Windows logon +************************************************* -* 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. +OpenVPN GUI can be configured to start automatically on logon to Windows from +its setting menu. -* 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! +Adding an OpenVPN configuration file +************************************ + +To launch a VPN connections using OpenVPN GUI you need to add an OpenVPN +configuration file with .ovpn suffix. Any text editor (e.g. notepad.exe) can be +used to create a OpenVPN configuration files. Note that *log* and *log-append* +options are ignored as OpenVPN GUI redirects the normal output to a log file +itself. There are sample config files in the *sample-config* folder. Please +refer to the `OpenVPN project homepage `_ for more +information regarding creating the configuration file. + +Once the configuration file is ready, you need to let OpenVPN GUI know about it. +There are three ways to do this: + +* Place the file into the system-wide location, usually + *C:\\Program Files\\OpenVPN\\config\\*, or any of its immediate + subdirectories. This VPN connection will be visible for all users of the + system. +* Place the file into *C:\\Users\\username\\OpenVPN\\config\\*, or any of its + immediated subdirectories. The configuration file is only visible for the + user in question. +* Use the "Import file" function in OpenVPN GUI itself 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 +When OpenVPN GUI is started your OpenVPN config folder +(*C:\\Program Files\\OpenVPN\\config*) will be scanned for .ovpn files and the +OpenVPN GUI icon will appear in the system tray. Each OpenVPN configuration +file shows up as a separate menu item in the OpenVPN GUI tray, allowing you to +selectively connect to and disconnect to your VPNs. The config dir will be re-scanned for new config files every time you open the OpenVPN GUI menu by right-clicking the icon. @@ -69,45 +73,40 @@ 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: +for the config file. Example:: -openvpn-gui --connect office.ovpn + openvpn-gui --connect office.ovpn +To get help with OpenVPN GUI please use one of the official `OpenVPN support +channels `_. -Run OpenVPN GUI as a Non-Admin user -*********************************** +Running 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. +OpenVPN 2.3.x and earlier bundle an OpenVPN GUI version (< 11) which has to be +run as admin for two reasons -In the mean time, it is possible to use OpenVPN GUI to control the current -OpenVPN Service to start and stop a connection. +* OpenVPN GUI registry keys are stored in system-wide location + under HKEY_LOCAL_MACHINE, and they are generated when OpenVPN GUI was + launched the first time +* OpenVPN itself requires admin-level privileges to modify network settings -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. +OpenVPN GUI 11 and later can make full use of the Interactive Service +functionality in recent versions of OpenVPN. This changes a number of +things: +* OpenVPN GUI can store its settings in user-specific part of the registry under + HKEY_CURRENT_USER +* OpenVPN is able to delegate certain privileged operations, such as adding + routes, to the Interactive service, removing the need to run OpenVPN with + admin privileges. Note that for this to work the *OpenVPNServiceInteractive* + system service has to be enabled and running. Run Connect/Disconnect/Preconnect Scripts ***************************************** -There are three diffrent scripts that OpenVPN GUI can execute to help -with diffrent tasks like mapping network drives. +There are three different scripts that OpenVPN GUI can execute to help +with different 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, @@ -125,16 +124,18 @@ Disconnect If a file named "xxx_down.bat" exist in the config folder Registry Values affecting the OpenVPN GUI operation *************************************************** -All OpenVPN GUI reg-values are located below the following key: -HKEY_LOCAL_MACHINE\SOFTWARE\OpenVPN-GUI\ +All OpenVPN GUI registry values are located below the +*HKEY_LOCAL_MACHINE\\SOFTWARE\\OpenVPN-GUI\\* key The follow keys are used to control the OpenVPN GUI config_dir - configuration file directory, defaults to "C:\Program Files\OpenVPN\config" + the system-wide configuration file directory, defaults to + *C:\\Program Files\\OpenVPN\\config*; the user-specific configuration file + directory is hardcoded to *C:\\Users\\username\\OpenVPN\\config**. config_ext - file extension on configuration files, defaults to "ovpn" + 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 @@ -149,10 +150,10 @@ preconnectscript_timeout value between 1-99. exe_path - path to openvpn.exe, defaults to "C:\Program Files\OpenVPN\bin\openvpn.exe" + 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 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 @@ -198,11 +199,11 @@ show_balloon log_viewer The program used to view your log files, defaults to - "C:\windows\notepad.exe" + *C:\\Windows\\System32\\notepad.exe* editor The program used to edit your config files, defaults to - "C:\windows\notepad.exe" + *C:\\Windows\\System32\\notepad.exe* passphrase_attempts Number of attempts to enter the passphrase to allow. @@ -210,26 +211,7 @@ passphrase_attempts 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 +See `BUILD.rst `_ for build instructions.