Skip to content

Commit d279ceb

Browse files
Merge branch 'release/2.0.0'
2 parents 24ea67a + 36901d3 commit d279ceb

File tree

465 files changed

+14991
-7489
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

465 files changed

+14991
-7489
lines changed

BUILD.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
# Building ProtonVPN Windows app
1+
# Building Proton VPN Windows app
22

3-
Building guide of the ProtonVPN Windows app. ProtonVPN Windows app is .NET Framework
3+
Building guide of the Proton VPN Windows app. Proton VPN Windows app is .NET Framework
44
application created using C# and C++ programming languages.
55

66
## Prerequisites
77

8-
To build ProtonVPN the following tools have to be installed:
8+
To build Proton VPN the following tools have to be installed:
99

1010
- Visual Studio Community 2019
1111
- Windows Driver Kit (WDK) for Windows 10, version 1903
@@ -55,7 +55,7 @@ This creates TAP setup file "ProtonVPNTap.exe" in "Setup\ProtonVPNTap-SetupFiles
5555
folder. Otherwise, keep the previously built file. The code signing USB key must be
5656
provided during build.
5757
- Build the "Setup\ProtonVPN.aip" project using Advanced Installer. This creates
58-
ProtonVPN setup file "ProtonVPN_win_x.x.x.exe" in "Setup\ProtonVPN-SetupFiles" folder,
58+
Proton VPN setup file "ProtonVPN_win_x.x.x.exe" in "Setup\ProtonVPN-SetupFiles" folder,
5959
where "x.x.x" is the application version number. The code signing USB key must be
6060
provided during build.
6161

COPYING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,27 @@
22

33
Copyright (c) 2022 Proton Technologies AG
44

5-
ProtonVPN is free software: you can redistribute it and/or modify
5+
Proton VPN is free software: you can redistribute it and/or modify
66
it under the terms of the GNU General Public License as published by
77
the Free Software Foundation, either version 3 of the License, or
88
(at your option) any later version.
99

10-
ProtonVPN is distributed in the hope that it will be useful,
10+
Proton VPN is distributed in the hope that it will be useful,
1111
but WITHOUT ANY WARRANTY; without even the implied warranty of
1212
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1313
GNU General Public License for more details.
1414

1515
You should have received a copy of the GNU General Public License
16-
along with ProtonVPN. If not, see [https://www.gnu.org/licenses](https://www.gnu.org/licenses/).
16+
along with Proton VPN. If not, see [https://www.gnu.org/licenses](https://www.gnu.org/licenses/).
1717

1818
## Dependencies
1919

20-
ProtonVPN Windows app includes the following libraries:
20+
Proton VPN Windows app includes the following libraries:
2121

2222
* [ProtonMail SRP library](https://github.com/ProtonMail/go-srp) by Proton Technologies AG
2323
| [The MIT License](https://github.com/ProtonMail/go-srp/blob/master/LICENSE.txt).
2424

25-
ProtonVPN Windows app includes the following 3rd party software:
25+
Proton VPN Windows app includes the following 3rd party software:
2626

2727
* [OpenVPN client](https://github.com/OpenVPN/openvpn) by OpenVPN Inc.
2828
| [The GPL v2](https://github.com/OpenVPN/openvpn/blob/master/COPYRIGHT.GPL)
271 KB
Binary file not shown.

ProtonVpn.sln.DotSettings

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<s:Boolean x:Key="/Default/UserDictionary/Words/=Pingable/@EntryIndexedValue">True</s:Boolean>
1818
<s:Boolean x:Key="/Default/UserDictionary/Words/=Prelink/@EntryIndexedValue">True</s:Boolean>
1919
<s:Boolean x:Key="/Default/UserDictionary/Words/=prelinked/@EntryIndexedValue">True</s:Boolean>
20+
<s:Boolean x:Key="/Default/UserDictionary/Words/=Rebranding/@EntryIndexedValue">True</s:Boolean>
2021
<s:Boolean x:Key="/Default/UserDictionary/Words/=Syncable/@EntryIndexedValue">True</s:Boolean>
2122
<s:Boolean x:Key="/Default/UserDictionary/Words/=Taskbar/@EntryIndexedValue">True</s:Boolean>
2223
<s:Boolean x:Key="/Default/UserDictionary/Words/=Templated/@EntryIndexedValue">True</s:Boolean>

README.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
1-
# ProtonVPN Windows app
1+
# Proton VPN Windows app
22

33
Copyright (c) 2022 Proton Technologies AG
44

5-
This repository holds the ProtonVPN Windows app.
5+
This repository holds the Proton VPN Windows app.
66
For a detailed build information see [BUILD](BUILD.md).
77
For licensing information see [COPYING](COPYING.md).
88
For contribution policy see [CONTRIBUTING](CONTRIBUTING.md).
99

1010
## Description
1111

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,
1313
paid or free and supports all functionalities available to authenticated users (user signup instead happens on the web site).
1414

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).
1616

1717
### The application
1818

1919
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
2323
- OpenVPN
2424
- TAP adapter
2525
- Split Tunnel driver
2626

2727
#### GUI application
2828

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"
3030
directory by default. The main executable is "ProtonVPN.exe".
3131

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
3333
when closed.
3434

3535
App logs are saved to "%LOCALAPPDATA%\ProtonVPN\Logs" directory.
3636

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
3838
"ProtonVPN.config" in the app directory. This file is not deployed during install. If the configuration
3939
file doesn't exist or contains not valid values the app tries to save default configuration
4040
used in the app.
4141

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
4343
TLS certificate pinning. To disable TLS certificate pinning the configuration file with empty
4444
"TlsPinningConfig" value should be provided:
4545
```
@@ -48,11 +48,11 @@ TLS certificate pinning. To disable TLS certificate pinning the configuration fi
4848
...
4949
```
5050

51-
#### ProtonVPN Service
51+
#### Proton VPN Service
5252

5353
The Windows service "ProtonVPN Service" is installed into
5454
"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
5656
GUI app.
5757

5858
During installation, the service is configured to be started and stopped by the unprivileged
@@ -67,11 +67,11 @@ driver.
6767

6868
Service logs are saved to "%ALLUSERSPROFILE%\ProtonVPN\Logs" directory.
6969

70-
#### ProtonVPN Update Service
70+
#### Proton VPN Update Service
7171

7272
The Windows service "ProtonVPN Update Service" is installed into
7373
"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
7575
GUI app.
7676

7777
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.
8181

8282
Service logs are saved to "%ALLUSERSPROFILE%\ProtonVPN\UpdaterLogs" directory.
8383

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
8585
TLS certificate pinning. To disable TLS certificate pinning the configuration file with empty
8686
"TlsPinningConfig" value should be provided:
8787
```
@@ -106,19 +106,19 @@ following content or an existing file should be updated to contain the "<system.
106106
</configuration>
107107
```
108108

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
110110
by the Fiddler.
111111

112112
#### OpenVPN
113113

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
115115
connect to a VPN and closed on disconnect. Communication with the OpenVPN process is maintained through
116116
TCP management interface.
117117

118118
OpenVPN is installed into "C:\Program Files (x86)\Proton Technologies\ProtonVPN\Resources\"
119119
directory by default. The OpenVPN config file is static, it doesn't change for each VPN server.
120120

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
122122
TAP adapter. See [win-openvpn](https://github.com/ProtonVPN/win-openvpn) repository.
123123

124124
#### TAP adapter
@@ -128,22 +128,22 @@ TAP adapter "TAP-ProtonVPN Windows Adapter V9" is used by the OpenVPN.
128128
The TAP adapter is installed into "C:\Program Files (x86)\Proton Technologies\ProtonVPNTap"
129129
directory by default.
130130

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
132132
name and identification. See [win-tap-adapter](https://github.com/ProtonVPN/win-tap-adapter) repository.
133133

134134
#### Callout driver
135135

136136
The kernel-mode driver "ProtonVPN Callout Driver" is used for redirecting socket bindings when
137137
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.
139139

140140
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.
142142

143143
## Folder structure
144144

145145
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.
147147

148148
### Folder "ci"
149149

@@ -159,9 +159,9 @@ This folder contains Advanced Installer setup project files, resources included
159159
and built installer files. Subfolders contain:
160160

161161
- "Images" - images for inclusion into the installer.
162-
- "ProtonVPN-SetupFiles" - built ProtonVPN installer files.
162+
- "ProtonVPN-SetupFiles" - built Proton VPN installer files.
163163
- "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.
165165
- "SplitTunnel" - SplitTunnel Callout driver for inclusion into the installer.
166166

167167
### Folder "src"
@@ -183,9 +183,9 @@ This folder contains test projects of the ProtonVPN solution.
183183

184184
## Solution
185185

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
187187
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.
189189
It contains startup logic and GUI (view models and views).
190190
- **ProtonVPN.CalloutDriver** - the callout driver written in C++ used for split tunneling and DNS leak protection.
191191
- **ProtonVPN.Common** - the classes shared between projects.

Setup/Images/BannerBitmap.bmp

0 Bytes
Binary file not shown.

Setup/Images/DialogBitmap.bmp

0 Bytes
Binary file not shown.

Setup/Images/protonvpn.ico

271 KB
Binary file not shown.

0 commit comments

Comments
 (0)