You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,45 +1,45 @@
1
-
# ProtonVPN Windows app
1
+
# Proton VPN Windows app
2
2
3
3
Copyright (c) 2022 Proton Technologies AG
4
4
5
-
This repository holds the ProtonVPN Windows app.
5
+
This repository holds the Proton VPN Windows app.
6
6
For a detailed build information see [BUILD](BUILD.md).
7
7
For licensing information see [COPYING](COPYING.md).
8
8
For contribution policy see [CONTRIBUTING](CONTRIBUTING.md).
9
9
10
10
## Description
11
11
12
-
The [ProtonVPN](https://protonvpn.com) Windows app is intended for every ProtonVPN service user,
12
+
The [Proton VPN](https://protonvpn.com) Windows app is intended for every Proton VPN service user,
13
13
paid or free and supports all functionalities available to authenticated users (user signup instead happens on the web site).
14
14
15
-
You can download the latest stable release, either on [ProtonVPN official website](https://protonvpn.com/download) or directly on the [official GitHub repository](https://github.com/ProtonVPN/win-app/releases/latest).
15
+
You can download the latest stable release, either on [Proton VPN official website](https://protonvpn.com/download) or directly on the [official GitHub repository](https://github.com/ProtonVPN/win-app/releases/latest).
16
16
17
17
### The application
18
18
19
19
The app consists of these interacting parts:
20
-
-ProtonVPN GUI application
21
-
-ProtonVPN Service
22
-
-ProtonVPN Update Service
20
+
-Proton VPN GUI application
21
+
-Proton VPN Service
22
+
-Proton VPN Update Service
23
23
- OpenVPN
24
24
- TAP adapter
25
25
- Split Tunnel driver
26
26
27
27
#### GUI application
28
28
29
-
The ProtonVPN GUI app is installed into "C:\Program Files (x86)\Proton Technologies\ProtonVPN"
29
+
The Proton VPN GUI app is installed into "C:\Program Files (x86)\Proton Technologies\ProtonVPN"
30
30
directory by default. The main executable is "ProtonVPN.exe".
31
31
32
-
ProtonVPN GUI app starts ProtonVPN Service and Update Service when launched and stops services
32
+
Proton VPN GUI app starts Proton VPN Service and Update Service when launched and stops services
33
33
when closed.
34
34
35
35
App logs are saved to "%LOCALAPPDATA%\ProtonVPN\Logs" directory.
36
36
37
-
The ProtonVPN build using Debug configuration optionally loads its configuration from file
37
+
The Proton VPN build using Debug configuration optionally loads its configuration from file
38
38
"ProtonVPN.config" in the app directory. This file is not deployed during install. If the configuration
39
39
file doesn't exist or contains not valid values the app tries to save default configuration
40
40
used in the app.
41
41
42
-
To monitor Http traffic of ProtonVPN GUI app using Fiddler or another tool, you might need to disable
42
+
To monitor Http traffic of Proton VPN GUI app using Fiddler or another tool, you might need to disable
43
43
TLS certificate pinning. To disable TLS certificate pinning the configuration file with empty
44
44
"TlsPinningConfig" value should be provided:
45
45
```
@@ -48,11 +48,11 @@ TLS certificate pinning. To disable TLS certificate pinning the configuration fi
48
48
...
49
49
```
50
50
51
-
#### ProtonVPN Service
51
+
#### Proton VPN Service
52
52
53
53
The Windows service "ProtonVPN Service" is installed into
54
54
"C:\Program Files (x86)\Proton Technologies\ProtonVPN" directory by default. Service
55
-
executable is "ProtonVPNService.exe". The service is started and stopped by the ProtonVPN
55
+
executable is "ProtonVPNService.exe". The service is started and stopped by the Proton VPN
56
56
GUI app.
57
57
58
58
During installation, the service is configured to be started and stopped by the unprivileged
@@ -67,11 +67,11 @@ driver.
67
67
68
68
Service logs are saved to "%ALLUSERSPROFILE%\ProtonVPN\Logs" directory.
69
69
70
-
#### ProtonVPN Update Service
70
+
#### Proton VPN Update Service
71
71
72
72
The Windows service "ProtonVPN Update Service" is installed into
73
73
"C:\Program Files (x86)\Proton Technologies\ProtonVPN" directory by default. Service
74
-
executable is "ProtonVPN.UpdateService.exe". The service is started and stopped by the ProtonVPN
74
+
executable is "ProtonVPN.UpdateService.exe". The service is started and stopped by the Proton VPN
75
75
GUI app.
76
76
77
77
During installation, the service is configured to be started and stopped by the unprivileged
@@ -81,7 +81,7 @@ Service is responsible for checking, downloading and installing app updates.
81
81
82
82
Service logs are saved to "%ALLUSERSPROFILE%\ProtonVPN\UpdaterLogs" directory.
83
83
84
-
To monitor Http traffic of ProtonVPN update service using Fiddler or another tool, you need to disable
84
+
To monitor Http traffic of Proton VPN update service using Fiddler or another tool, you need to disable
85
85
TLS certificate pinning. To disable TLS certificate pinning the configuration file with empty
86
86
"TlsPinningConfig" value should be provided:
87
87
```
@@ -106,19 +106,19 @@ following content or an existing file should be updated to contain the "<system.
106
106
</configuration>
107
107
```
108
108
109
-
This forces the ProtonVPN update service to send all Web traffic through local proxy opened
109
+
This forces the Proton VPN update service to send all Web traffic through local proxy opened
110
110
by the Fiddler.
111
111
112
112
#### OpenVPN
113
113
114
-
The ProtonVPN uses OpenVPN for maintaining a VPN tunnel. The new OpenVPN process is started on each
114
+
The Proton VPN uses OpenVPN for maintaining a VPN tunnel. The new OpenVPN process is started on each
115
115
connect to a VPN and closed on disconnect. Communication with the OpenVPN process is maintained through
116
116
TCP management interface.
117
117
118
118
OpenVPN is installed into "C:\Program Files (x86)\Proton Technologies\ProtonVPN\Resources\"
119
119
directory by default. The OpenVPN config file is static, it doesn't change for each VPN server.
120
120
121
-
The OpenVPN is built from official source by applying a patch to support ProtonVPN specific
121
+
The OpenVPN is built from official source by applying a patch to support Proton VPN specific
122
122
TAP adapter. See [win-openvpn](https://github.com/ProtonVPN/win-openvpn) repository.
123
123
124
124
#### TAP adapter
@@ -128,22 +128,22 @@ TAP adapter "TAP-ProtonVPN Windows Adapter V9" is used by the OpenVPN.
128
128
The TAP adapter is installed into "C:\Program Files (x86)\Proton Technologies\ProtonVPNTap"
129
129
directory by default.
130
130
131
-
The TAP adapter is built from official source by applying a patch to have ProtonVPN specific
131
+
The TAP adapter is built from official source by applying a patch to have Proton VPN specific
132
132
name and identification. See [win-tap-adapter](https://github.com/ProtonVPN/win-tap-adapter) repository.
133
133
134
134
#### Callout driver
135
135
136
136
The kernel-mode driver "ProtonVPN Callout Driver" is used for redirecting socket bindings when
137
137
Split Tunnel is enabled and preventing DNS leak by sending SERVFAIL response packet for DNS
138
-
requests which were made from other interfaces than ProtonVPN uses.
138
+
requests which were made from other interfaces than Proton VPN uses.
139
139
140
140
The driver is installed as a system service. It is started when connecting to VPN and stopped
141
-
when disconnecting by ProtonVPN Service.
141
+
when disconnecting by Proton VPN Service.
142
142
143
143
## Folder structure
144
144
145
145
The main repository folder contains the .NET Visual Studio solution of the
146
-
ProtonVPN Windows app named ProtonVPN.
146
+
Proton VPN Windows app named ProtonVPN.
147
147
148
148
### Folder "ci"
149
149
@@ -159,9 +159,9 @@ This folder contains Advanced Installer setup project files, resources included
159
159
and built installer files. Subfolders contain:
160
160
161
161
- "Images" - images for inclusion into the installer.
162
-
- "ProtonVPN-SetupFiles" - built ProtonVPN installer files.
162
+
- "ProtonVPN-SetupFiles" - built Proton VPN installer files.
163
163
- "ProtonVPNTap-SetupFiles" - built TAP adapter installer files. The latest successfully
164
-
built TAP adapter installer file is required to build the ProtonVPN installer.
164
+
built TAP adapter installer file is required to build the Proton VPN installer.
165
165
- "SplitTunnel" - SplitTunnel Callout driver for inclusion into the installer.
166
166
167
167
### Folder "src"
@@ -183,9 +183,9 @@ This folder contains test projects of the ProtonVPN solution.
183
183
184
184
## Solution
185
185
186
-
ProtonVPN Windows app is created using C# and C++ programming languages, WPF and MVVM
186
+
Proton VPN Windows app is created using C# and C++ programming languages, WPF and MVVM
187
187
technologies. The Visual Studio solution consists of a series of projects:
188
-
-**ProtonVPN.App** - the main project which builds to ProtonVPN GUI app executable.
188
+
-**ProtonVPN.App** - the main project which builds to Proton VPN GUI app executable.
189
189
It contains startup logic and GUI (view models and views).
190
190
-**ProtonVPN.CalloutDriver** - the callout driver written in C++ used for split tunneling and DNS leak protection.
191
191
-**ProtonVPN.Common** - the classes shared between projects.
0 commit comments