{"id":13807835,"url":"https://github.com/OpenVPN/openvpn-gui","last_synced_at":"2025-05-14T00:32:09.260Z","repository":{"id":27923398,"uuid":"31415638","full_name":"OpenVPN/openvpn-gui","owner":"OpenVPN","description":"OpenVPN GUI is a graphical frontend for OpenVPN running on Windows 7 / 8 / 10. It creates an icon in the notification area from which you can control OpenVPN to start/stop your VPN tunnels, view the log and do other useful things.","archived":false,"fork":false,"pushed_at":"2025-05-12T21:43:08.000Z","size":3361,"stargazers_count":1545,"open_issues_count":48,"forks_count":419,"subscribers_count":73,"default_branch":"master","last_synced_at":"2025-05-12T22:32:32.163Z","etag":null,"topics":["security","vpn-client"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"github/janky","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenVPN.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-02-27T11:04:21.000Z","updated_at":"2025-05-10T06:48:36.000Z","dependencies_parsed_at":"2024-06-20T01:10:32.096Z","dependency_job_id":"a3f3a998-e98c-4b86-8446-ecf18ca58a79","html_url":"https://github.com/OpenVPN/openvpn-gui","commit_stats":{"total_commits":735,"total_committers":51,"mean_commits":"14.411764705882353","dds":0.6176870748299319,"last_synced_commit":"3ba02de7c6dce65c8a4f8f6ee25957f1ff857831"},"previous_names":[],"tags_count":117,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fopenvpn-gui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fopenvpn-gui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fopenvpn-gui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenVPN%2Fopenvpn-gui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenVPN","download_url":"https://codeload.github.com/OpenVPN/openvpn-gui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254046416,"owners_count":22005591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["security","vpn-client"],"created_at":"2024-08-04T01:01:30.964Z","updated_at":"2025-05-14T00:32:04.235Z","avatar_url":"https://github.com/OpenVPN.png","language":"C","funding_links":[],"categories":["security","C"],"sub_categories":[],"readme":"OpenVPN GUI\n#####################################################\n.. image:: https://travis-ci.org/OpenVPN/openvpn-gui.svg?branch=master\n  :target: https://travis-ci.org/OpenVPN/openvpn-gui\n  :alt: TravisCI status\n.. image:: https://ci.appveyor.com/api/projects/status/github/OpenVPN/openvpn-gui?branch=master\u0026svg=true\n  :target: https://ci.appveyor.com/project/mattock/openvpn-gui\n  :alt: AppVeyor status\n\nInstallation Instructions for OpenVPN GUI for Windows\n#####################################################\n\nOpenVPN-GUI has been bundled with OpenVPN installers for a long time, so there\nis rarely a need to install it separately. Bleeding-edge\nversions of OpenVPN-GUI are available in `OpenVPN snapshot\ninstallers \u003chttp://build.openvpn.net/downloads/snapshots/\u003e`_ based on Git master\nbranch. OpenVPN-GUI gets installed by default in all OpenVPN installers.\n\nInstallation using the official OpenVPN installers\n**************************************************\n\n* Download an `OpenVPN installer \u003chttps://openvpn.net/index.php/download/community-downloads.html\u003e`_\n* If you have a previous version of OpenVPN GUI running, shut it down.\n  Make sure it's closed by ALL logged on users.\n\n* Run the OpenVPN installer\n\nManual installation of OpenVPN GUI\n**********************************\n\n* First install OpenVPN using an official installer as described above.\n\n* Build your own version of OpenVPN GUI from source.  See `BUILD.rst \u003cBUILD.rst\u003e`_\n  for build instructions. From the build tree copy *openvpn-gui.exe*,\n  *libopenvpn_plap.dll*, *openvpn-plap-install.reg* and *openvpn-plap-uninstall.reg*\n  to OpenVPN's bin folder.\n  Default is *C:\\\\Program Files\\\\OpenVPN\\\\bin\\\\*. You must put it in this folder\n  because OpenVPN GUI depends on the OpenSSL DLLs installed in this folder by\n  OpenVPN.\n\nConfiguring OpenVPN GUI to start on Windows logon\n*************************************************\n\nOpenVPN GUI can be configured to start automatically on logon to Windows from\nits setting menu. This is default behavior for all users if OpenVPN GUI was\ninstalled by an OpenVPN 2.4 installer using default installer options.\n\nAdding an OpenVPN configuration file\n************************************\n\nTo launch a VPN connections using OpenVPN GUI you need to add an OpenVPN\nconfiguration file with .ovpn suffix. Any text editor (e.g. notepad.exe) can be\nused to create a OpenVPN configuration files. Note that *log* and *log-append*\noptions are ignored as OpenVPN GUI redirects the normal output to a log file\nitself. There are sample config files in the *sample-config* folder. Please\nrefer to the `OpenVPN How To \u003chttps://openvpn.net/community-resources/how-to/#creating-configuration-files-for-server-and-clients\u003e`_ for more\ninformation regarding creating the configuration file.\n\nOnce the configuration file is ready, you need to let OpenVPN GUI know about it.\nThere are three ways to do this:\n\n* Place the file into the system-wide location, usually\n  *C:\\\\Program Files\\\\OpenVPN\\\\config\\\\*, or any of its immediate\n  subdirectories. This VPN connection will be visible for all users of the\n  system.\n* Place the file into *C:\\\\Users\\\\username\\\\OpenVPN\\\\config\\\\*, or any of its\n  immediate subdirectories. The configuration file is only visible for the\n  user in question. If the user is not a member of the built-in \"Administrators\"\n  group or \"OpenVPN Administrators\" group and tries to launch such a connection,\n  OpenVPN GUI pops up a UAC, offering to create the latter group (if missing)\n  and to add the user to it. This will only work if admin-level credentials are\n  available.\n* Use the \"Import file\" function in OpenVPN GUI itself\n* See the section on `Persistent or Pre-started connections`_\n  for how to use OpenVPN GUI to conftrol configurations in\n  *C:\\\\Program Files\\\\OpenVPN\\\\config-auto\\\\* that are started by the automatic service.\n\nUsing OpenVPN GUI\n#################\n\nWhen OpenVPN GUI is started your OpenVPN config folders\n(*C:\\\\Users\\\\username\\\\OpenVPN\\\\config* and\n*C:\\\\Program Files\\\\OpenVPN\\\\config*) will be scanned for .ovpn files and the\nOpenVPN GUI icon will appear in the system tray. Each OpenVPN configuration \nfile shows up as a separate menu item in the OpenVPN GUI tray, allowing you to\nselectively connect to and disconnect to your VPNs. The config dir will be\nre-scanned for new config files every time you open the OpenVPN GUI menu by\nright-clicking the icon.\n\nWhen you choose to connect to a site OpenVPN GUI will launch openvpn with\nthe specified config file. If you use a passphrase protected key you will be\nprompted for the passphrase.\n\nIf you want OpenVPN GUI to start a connection automatically when it's started,\nyou can use the --connect cmd-line option. The extension of the config file\nmay be optionally included. Example::\n\n    openvpn-gui --connect office.ovpn\n    OR\n    openvpn-gui --connect office\n\nStarting version 11.34, any connections active when OpenVPN GUI exits or the user\nlogs out are automatically reconnected when OpenVPN GUI is restarted.\n\nTo get help with OpenVPN GUI please use one of the official `OpenVPN support\nchannels \u003chttps://community.openvpn.net/openvpn/wiki/GettingHelp\u003e`_.\n\nRunning OpenVPN GUI\n*******************\n\nRun OpenVPN-GUI as normal user by double clicking on the icon. No\nadministrative privileges or `runas-administrator` options are required.\nIt just works as limited user with the help of Interactive Service which\nis enabled by default.\n\nPersistent or Pre-started connections\n*************************************\n\nStarting release 2.5.8 (GUI version 11.30), OpenVPN GUI can\ncontrol connections started by the \"automatic service\"\n(OpenVPNService) --- also referred to as persistent connections.\nOpenVPNService, if running, starts all connection profiles\nlisted in the `config-auto` directory in the installation path.\n\nBy default, such connections are scanned for, and attempt is\nmade to attach to their management interfaces if available.\nUser can then view the status of these connections, and disconnect,\nreconnect, detach or re-attach them using the menu items.\n\nIt requires that such connections be started with\n`--management 127.0.0.1 port [pw-file]` option in their config file.\n`pw-file` containing a password is optional, but highly recommended.\nThe password should be a single line of text, preferably shorter than 128\ncharacters of plain ascii.\nFurther, if `--auth-user-pass` or any such options requiring\ninteractive user input are present, the config file must also\ncontain `--management-query-passwords`.\n\nThis feature may be controlled by changing the `Persistent Connections`\nsetting in the `General` tab of the `Settings` menu: choose `auto`\nfor the default behaviour described above, `manual` to enumerate\nand list such connections but not auto-attach, or `disable` to not scan\nauto-started connection profiles.\n\nInteractively starting connections before logon\n***********************************************\n\nStarting release 2.6 (GUI version 11.30), \"Start Before Logon\"\naka Pre-Logon Access Provider is supported. This feature is not\nenabled by default. It may be enabled during installation or\nthrough the `General Settings` menu of the GUI via the\n`Start Before Logon` check mark.\n\nOnly `persistent connection` profiles described in the previous\nsection will be listed on the login screen. Ensure that\nconnections that may be interactively started from login\nscreen are setup in the `config-auto` folder, `OpenVPNService`\nis running, and these connections are visible and controllable\nfrom the GUI.\n\nOnce those pre-requisites are satisfied, the login screen will\ndisplay an icon for `Pre-Logon Access Providers`, clicking which\nwill bring up a list of OpenVPN connection profiles available, and\nallow connecting or disconnecting them interactively.\n\nRun Connect/Disconnect/Preconnect Scripts\n*****************************************\n\nThere are three different scripts that OpenVPN GUI can execute to help\nwith different tasks like mapping network drives.\n\nPreconnect  If a file named \"xxx_pre.bat\" exist in the config folder\n            where xxx is the same as your OpenVPN config file name,\n            this will be executed BEFORE the OpenVPN tunnel is established.\n\nConnect     If a file named \"xxx_up.bat\" exist in the config folder\n            where xxx is the same as your OpenVPN config file name,\n            this will be executed AFTER the OpenVPN tunnel is established.\n\nDisconnect  If a file named \"xxx_down.bat\" exist in the config folder\n            where xxx is the same as your OpenVPN config file name,\n            this will be executed BEFORE the OpenVPN tunnel is closed.\n\nThe outputs of these scripts are redirected to \"xxx_pre.log\",\n\"xxx_up.log\" and \"xxx_down.log\" respectively. These log\nfiles are created in the ``log_dir`` and over-written during\neach evocation.\n\nSend Commands to a Running Instance of OpenVPN GUI\n**************************************************\n\nWhen an instance of the GUI is running, certain commands may be sent to\nit using the command line interface using the following syntax::\n\n    openvpn-gui.exe --command *cmd* [*args*]\n\nCurrently supported *cmds* are\n\nconnect ``config-name``\n     Connect the configuration named *config-name* (excluding the\n     extension .ovpn). If already connected, show the status window.\n\ndisconnect ``config-name``\n     Disconnect the configuration named *config-name* if connected.\n\nreconnect ``config-name``\n     Disconnect and then reconnect the configuration named *config-name*\n     if connected.\n\ndisconnect\\_all\n     Disconnect all active connections.\n\nsilent\\_connection 0 \\| 1\n     Set the silent connection flag on (1) or off (0)\n\nexit\n     Disconnect all active connections and terminate the GUI process\n\nrescan\n     Rescan the config folders for changes\n\nimport ``path``\n     Import the config file pointed to by ``path``.\n\nIf no running instance of the GUI is found, these commands do nothing\nexcept for *--command connect config-name* which gets interpreted\nas *--connect config-name*\n\nRegistry Values affecting the OpenVPN GUI operation\n***************************************************\n\nParameters taken from the global registry values in\n*HKEY_LOCAL_MACHINE\\\\SOFTWARE\\\\OpenVPN\\\\* key\n\n(Default)\n    The installation directory of openvpn (e.g., *C:\\\\Program Files\\\\OpenVPN*).\n    This value must be present.\n\nconfig_dir\n    The global configuration file directory. Defaults to\n    *C:\\\\Program Files\\\\OpenVPN\\\\config*\n\nexe_path\n    path to openvpn.exe, defaults to *C:\\\\Program Files\\\\OpenVPN\\\\bin\\\\openvpn.exe*\n\npriority\n    the windows priority class for each instantiated OpenVPN process,\n    can be one of:\n\n    * IDLE_PRIORITY_CLASS\n    * BELOW_NORMAL_PRIORITY_CLASS\n    * NORMAL_PRIORITY_CLASS (default)\n    * ABOVE_NORMAL_PRIORITY_CLASS\n    * HIGH_PRIORITY_CLASS\n\novpn_admin_group\n    The windows group whose membership allows the user to start any configuration file\n    in their profile (not just those installed by the administrator in the global\n    config directory). Default: \"OpenVPN Administrators\".\n\ndisable_save_passwords\n    Set to a nonzero value to disable the password save feature.\n    Default: 0\n\nauto_config_dir\n    If persistent connection support is enabled and the so-called automatic\n    service (OpenVPNService) is running, any config files in this folder are\n    scanned and listed in the list of connection profiles.\n\nUser Preferences\n****************\n\nAll other OpenVPN GUI registry values are located below the\n*HKEY_CURRENT_USER\\\\SOFTWARE\\\\OpenVPN-GUI\\\\* key. In a fresh\ninstallation none of these values are present and are not\nrequired for the operation of the program. These keys are only\nused for persisting user's preferences, and the key names\nand their values are subject to change.\n\nThe user is not expected to edit any of these values directly.\nInstead, edit all preferences using the settings menu.\n\nconfig_dir\n    The user-specific configuration file directory: defaults to\n    *C:\\\\Users\\\\username\\\\OpenVPN\\\\config*.\n    The GUI parses this directory for configuration files before\n    parsing the global config_dir.\n\nconfig_ext\n    file extension on configuration files, defaults to *ovpn*\n\nconnectscript_timeout\n    Time in seconds to wait for the connect script to finish. If set to 0\n    the exitcode of the script is not checked.\n\ndisconnectscript_timeout\n    Time in seconds to wait for the disconnect script to finish. Must be a\n    value between 1-99.\n\npreconnectscript_timeout\n    Time in seconds to wait for the preconnect script to finish. Must be a\n    value between 1-99.\n\nlog_dir\n    log file directory, defaults to *C:\\\\Users\\\\username\\\\OpenVPN\\\\log*\n\nlog_append\n    if set to \"0\", the log file will be truncated every time you start a\n    connection. If set to \"1\", the log will be appended to the log file.\n\nsilent_connection\n    If set to \"1\", the status window with the OpenVPN log output will\n    not be shown while connecting. Warnings such as interactive service\n    not started or multiple config files with same name are also suppressed.\n\nshow_balloon\n    0: Never show any connected balloon\n\n    1: Show balloon after initial connection is established\n\n    2: Show balloon even after re-connects\n\nconfig_menu_view\n    0: Use a hierarchical (nested) display of config menu reflecting the directory sturcture of config files if the number of configs exceed 25, else use a flat display\n\n    1: Force flat menu\n\n    2: Force nested menu\n\ndisable_popup_messages\n    If set to 1 echo messages are ignored\n\npopup_mute_interval\n    Amount of time in hours for which repeated echo messages are not displayed.\n    Defaults to 24 hours.\n\nmanagement_port_offset\n    The management interface port is chosen as this offset plus a connection specific index.\n    Allowed values: 1 to 61000, defaults to 25340.\n\nAll of these registry options are also available as cmd-line options.\nUse \"openvpn-gui --help\" for more info about cmd-line options.\n\nBuilding OpenVPN GUI from source\n################################\n\nSee `BUILD.rst \u003cBUILD.rst\u003e`_ for build instructions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenVPN%2Fopenvpn-gui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenVPN%2Fopenvpn-gui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenVPN%2Fopenvpn-gui/lists"}