Skip to content

Commit

Permalink
Initial open source release
Browse files Browse the repository at this point in the history
  • Loading branch information
Desktop Commit Bot committed Dec 17, 2019
0 parents commit 41213ed
Show file tree
Hide file tree
Showing 2,159 changed files with 307,657 additions and 0 deletions.
21 changes: 21 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
*.exe filter=lfs diff=lfs merge=lfs -text
*.dll filter=lfs diff=lfs merge=lfs -text
*.sys filter=lfs diff=lfs merge=lfs -text
*.cat filter=lfs diff=lfs merge=lfs -text
pia-openvpn filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.ico filter=lfs diff=lfs merge=lfs -text
*.bmp filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.so filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.ts text eol=lf
/CHANGELOG.md merge=union eol=lf text

*.sh text eol=lf

# Diff UTF-16LE *.rc Windows resource scripts
*.rc diff=rcdiff
# Add to your ~/.gitconfig:
#[diff "rcdiff"]
# textconv = "iconv -f utf-16le -t utf-8"
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

<!--
NOTE: This is not for technical support!
Bug reports are for software developers to report specific technical issues with our app in order to help fix them, and should normally culminate with a pull request.
If you are not a developer, you should consult our helpdesk at https://www.privateinternetaccess.com/helpdesk/ instead.
-->

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of how the app is expected to behave.

**Observed on:**
- OS: [e.g. Windows 10]
- Version [e.g. 1.0]
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is.

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
**Description**
Describe what this pull request accomplishes, and list any issues that it fixes in standard GitHub "Fixes #" notation.

**Checklist**
- [ ] I have described below how to test my code and included unit tests where possible.
- [ ] I have cleaned up the code and made best efforts to match the surrounding coding style.
- [ ] I certify that I have the right to submit this contribution under the GPLv3 and alter as outlined in the [Contributor License Agreement](https://github.com/pia-foss/desktop/blob/master/CLA.md).

**Testing Plan**
Describe how your code can be tested to verify that it works.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/qbs/
/out/
build-*/
*.qbs.user*
.DS_Store
*.qm
node_modules
releases
*.qmlc
33 changes: 33 additions & 0 deletions BETA_AGREEMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#### LONDON TRUST MEDIA INCORPORATED LICENSES THIS BETA SOFTWARE PRODUCT OR SERVICE TO YOU SUBJECT TO THE TERMS CONTAINED IN THIS END USER LICENSE AGREEMENT (THIS "AGREEMENT" OR "BETA EULA"). READ THE TERMS AND CONDITIONS OF THIS AGREEMENT CAREFULLY BEFORE INSTALLING, COPYING AND USING THIS COMPUTER SOFTWARE OR SERVICE AND THE ACCOMPANYING DOCUMENTATION. THE SOFTWARE OR SERVICE IS COPYRIGHTED AND IT IS LICENSED TO YOU UNDER THIS EULA, NOT SOLD TO YOU. BY INSTALLING, COPYING OR OTHERWISE USING THE SOFTWARE OR SERVICE, YOU AGREE TO BE BOUND BY THE TERMS OF THIS BETA EULA. IF YOU ARE NOT WILLING TO BE BOUND BY THE TERMS OF THIS BETA EULA, DO NOT INSTALL, COPY OR USE THE SOFTWARE OR SERVICE.

#### THIS BETA EULA IS A LEGAL AGREEMENT CONCERNING THE SOFTWARE OR SERVICE BETWEEN YOU, AS EITHER AN INDIVIDUAL OR A SINGLE BUSINESS ENTITY AND LONDON TRUST MEDIA INCORPORATED. THIS AGREEMENT SUPERSEDES AND REPLACES ANY PRIOR PROPOSAL, REPRESENTATION, OR PREVIOUS UNDERSTANDING YOU MAY HAVE HAD WITH LONDON TRUST MEDIA INCORPORATED RELATING TO THE SOFTWARE OR SERVICE.

#### ASSENT TO BE BOUND

By clicking the "I accept" checkbox on the beta page, or by installing, copying or otherwise using this Software or Service, you agree to be bound by the terms of this Agreement. If you do not agree with any term or condition, you understand that your remedy herein is that you may not download, order, open, install or use the Software or Service.

#### GRANT OF LICENSE

Subject to the terms and conditions of this Agreement, London Trust Media Incorporated hereby grants to you a non-exclusive, non-transferable license (without the right to sublicense) (i) to use the Software or Service in accordance with the Documentation solely for purposes of internal testing and evaluation, and (ii) provided that you do not (and do not permit anyone else to) copy, modify, create a derivative work of, reverse engineer, decompile, or otherwise attempt to discover the source code, sell, lease, sublicense, assign, grant a security interest in or otherwise transfer any right in the Software.

#### CONFIDENTIALITY

You agree that, unless otherwise specifically provided herein or agreed by London Trust Media Incorporated in writing, any Software and the Documentation, including the specific design and structure of individual programs and the Software, provided to you by London Trust Media Incorporated constitutes the confidential proprietary information of London Trust Media Incorporated. You shall permit only authorized users, who possess rightfully, obtained license keys, to use the Software or to view the Documentation. You agree not to transfer, copy, disclose, provide or otherwise make available such confidential information in any form to any third party without the prior written consent of London Trust Media Incorporated. You agree to implement reasonable security measures to protect such confidential information, but without limitation to the foregoing, shall use best efforts to maintain the security of the Software provided to you by London Trust Media Incorporated. You will use your best efforts to cooperate with and assist London Trust Media Incorporated in identifying and preventing any unauthorized use, copying, or disclosure of the Software, Documentation, or any portion thereof.

#### BETA DISCLAIMER

THE BETA SOFTWARE OR SERVICE LICENSED HEREUNDER IS BELIEVED TO CONTAIN DEFECTS AND IS AVAILABLE ON AN “AS IS” AND “AS AVAILABLE” BASIS FOR THE SOLE PURPOSE OF PROVIDING LONDON TRUST MEDIA INCORPORATED WITH FEEDBACK ON QUALITY, USABILITY, PERFORMANCE AND THE IDENTIFICATION OF DEFECTS. LICENSEE IS ADVISED TO SAFEGUARD IMPORTANT DATA, TO USE CAUTION AND NOT TO RELY IN ANY WAY ON THE CORRECT FUNCTIONING OR PERFORMANCE OF THE SOFTWARE AND/OR ACCOMPANYING MATERIALS. THE POSSIBILITY OF THE CORRUPTION OF DATA AND/OR THE LOSS OF DATA EXISTS IF YOU CHOOSE TO USE THIS BETA SOFTWARE. LONDON TRUST MEDIA INCORPORATED STRONGLY ENCOURAGES YOU TO BACK UP AND PROTECT ALL OF YOUR DATA AND INFORMATION. YOU AGREE THAT YOU ASSUME ALL RISKS AND ALL COSTS ASSOCIATED WITH THE USE OF THE SOFTWARE OR SERVICE.

#### BETA SOFTWARE AND/OR PRODUCT SERVICE SUPPORT

You understand and agree that London Trust Media Incorporated is under no obligation to provide technical support under the terms of this license, and provides no assurance that any specific errors or discrepancies in the Software or Service will be corrected.

#### OWNERSHIP AND COPYRIGHT OF SOFTWARE

You acknowledge and agree that London Trust Media Incorporated owns all legal right, title and interest in and to the Software or Service. Title to the Software or Service and all copies thereof remain with London Trust Media Incorporated. Licensee will not remove copyright notices from the Software or Service. Licensee agrees to prevent any unauthorized copying of the Software. Except as expressly provided herein, London Trust Media Incorporated does not grant any express or implied right to you under London Trust Media Incorporated patents, copyrights, trademarks, or trade secret information.

#### DISCLAIMER OF WARRANTY

THE SOFTWARE OR SERVICE AND DOCUMENTATION ARE LICENSED "AS IS", AND LONDON TRUST MEDIA INCORPORATED DISCLAIMS ANY AND ALL OTHER WARRANTIES, WHETHER EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, TO THE EXTENT AUTHORIZED BY LAW. WITHOUT LIMITATION OF THE FOREGOING, LONDON TRUST MEDIA INCORPORATED EXPRESSLY DOES NOT WARRANT THAT THE SOFTWARE WILL MEET YOUR REQUIREMENTS OR THAT OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR FREE.

YOU EXPRESSLY UNDERSTAND AND AGREE THAT YOUR USE OF THE SERVICE IS AT YOUR SOLE RISK AND THE SERVICE IS PROVIDED ON AN "AS IS" AND "AS AVAILABLE" BASIS. LONDON TRUST MEDIA INCORPORATED AND ITS AFFILIATES, SUBSIDIARIES, OFFICERS, DIRECTORS, AND EMPLOYEES EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. IN PARTICULAR, LONDON TRUST MEDIA INCORPORATED AND ITS AFFILIATES, SUBSIDIARIES, OFFICERS, DIRECTORS, AND EMPLOYEES MAKE NO WARRANTY THAT (I) THE SERVICE WILL MEET YOUR REQUIREMENTS; (II) YOUR USE OF THE SERVICE WILL BE TIMELY, UNINTERRUPTED, SECURE OR ERROR-FREE; (III) ANY INFORMATION OBTAINED BY YOU AS A RESULT OF THE SERVICE WILL BE ACCURATE OR RELIABLE; AND (IV) ANY DEFECTS OR ERRORS IN THE SOFTWARE PROVIDED TO YOU AS PART OF THE SERVICE WILL BE CORRECTED.
116 changes: 116 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
# Changelog

### v1.7
* The Shadowsocks proxy setting can be used to redirect the VPN connection through a Shadowsocks region
* Added the '{{BRAND_CODE}}ctl monitor' command
* Added the 'connectionstate' type to '{{BRAND_CODE}}ctl get'
* Improved firewall rules on Linux to mitigate CVE-2019-14899 on affected distributions
* Improved handling of crashes caused by graphics drivers on Windows
* Fixed an issue preventing apps from being selected for App Exclusions on macOS 10.15
* Fixed an issue causing Windows 10 1507 / LTSB 2015 to restart on shutdown

### v1.6.1
* Security improvements in the Mac OS installer

### v1.6
* VPN Snooze allows temporarily disconnecting the VPN connection.
* Added "{{BRAND_CODE}}ctl" - a command-line interface to control the client.
* Connection loss is detected more quickly.
* Fixed issues in the App Exclusions feature that could occur when switching network connections.
* App Exclusions supports macOS 10.12.
* Fixed detection of the iptables version for some Linux distributions.
* App Exclusions is improved for listening sockets on Linux.
* The dashboard repositions correctly if the screen resolution changes on macOS.
* Fixed an issue that could cause long delays when the client starts on login.
* Security improvements.

### v1.5.1
* Added a "Help" link to the App Exclusions feature in Settings

### v1.5
* Split tunneling allows applications to bypass the VPN using the App Exclusions feature.
* Excluded applications bypass the VPN and connect directly to the Internet.
* Windows: This feature currently requires Windows 7 SP1. Support for Windows Store apps requires Windows 10.
* Mac: This feature currently requires macOS 10.13.
* Linux: This feature currently requires iptables 1.6.1 with systemd network control groups on Linux.

### v1.4
* Support connecting via a SOCKS5 proxy
* Notarize application on Mac for compatibility with 10.15
* Update Mac installer to improve compatibility with 10.15
* Minor translation fix for French
* Minor firewall rule fix on Windows

### v1.3.3
* Support both DHCP-based configuration (like 1.2.1) and static configuration (like 1.3.1) on Windows
* Update Handshake to fix linkage on some Linux distributions and with an additional seed

### v1.3.2
* Use DHCP-based configuration of the TAP adapter on Windows

### v1.3.1
* Fixed issues on Windows when the TAP adapter name contained non-ASCII characters
* Fixed minor translation issues

### v1.3
* Countries can be marked as favorite regions
* "Auto" region selects a port forwarding region when port forwarding is enabled
* Support Handshake name resolution (using Handshake's testnet)
* Support some Linux distributions using sysvinit
* Persist the sort selection on the regions page
* Improve robustness of TAP adapter configuration on Windows
* Try alternate protocols and ports automatically if the chosen settings cannot connect

### v1.2.1
* Fixed an issue causing the VPN to stay connected when logging out of the OS.

### v1.2
* Tiles can be rearranged with drag-and-drop
* Added a setting for "windowed" or "attached" dashboard on all platforms
* Preserve killswitch and VPN connection if client exits unexpectedly
* Fix reconnecting after suspend on Windows
* Fix multiple crashes, in particular crashes after suspend on Windows
* Improve software rendering backend
* Improved accessibility of Changelog window
* Minor fixes for right-to-left desktops on Linux
* Update to OpenVPN 2.4.7
* Update TAP adapter on Windows to 9.23.3.601
* Added additional firewall diagnostics on Windows

### v1.1.1
* Fix occasional crashes in Windows installer
* Fix macOS installer error on certain systems

### v1.1
* Added tray icon theme setting with alternate styles in response to user feedback
* Improve reliability of VPN IP address
* Attempt to rotate through server IPs more frequently between connection attempts
* Show a warning on Windows when the TAP adapter is not installed
* Improve robustness of firewall rules on Mac OS
* Improve single-instance handling on Linux
* Improve reliability of tray icon on Linux when launched on login
* Clarify warning shown when account can't be verified
* Fix Linux HiDPI support when launched on login for some distributions
* Fix Windows installer on Windows 7 without specific Windows updates
* Fix Allow LAN setting being disabled by default after upgrading from legacy client
* Fix installation issue on Linux due to incorrect umask
* Improve appearance of pop-up tips for languages other than English

### v1.0.2
* Added option to disable accelerated graphics to fix stability issues
* Set correct group id when re-starting after a crash on Linux

### v1.0.1
* Added screen reader support
* Avoid assuming IPv6 is present
* Bring the app to the front if relaunched while running
* Avoid insecure directories on Windows
* Made tray icon more robust on Windows
* Fixed window title on Windows installer
* Fixed rare crash when enabling debug logging

### v1.0
* Added Quick Tour displayed on first run
* Slightly more robust uninstaller on Linux
* Fixed iptables handling when DNS is unavailable on Linux
* Remove legacy .desktop file when upgrading on Linux
9 changes: 9 additions & 0 deletions CLA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Contributor License Agreement

By contributing any improvement, modification, or change to this project, I hereby certify that:

1. The contribution was authored or created in whole or in part by me and I have the full and unrestricted ownership right and title to submit the contribution under the GNU General Public License, version 3 and later; or
2. The contribution is based upon previously authored work that, to the best of my knowledge, is licensed appropriately under an open source license and I have the full and unrestricted right under that open source license to submit that work with modifications, whether created in whole or in part by me, under the GNU General Public License, version 3 and later; or
3. The contribution was lawfully provided to me by a licensed third-party who certified (1), (2) or (3) and I have not modified the contribution.

I understand and agree that the contents of this project and the contents of this contribution are considered to be part of the public record and that a record of the contribution (including all personal information I submit with it) shall be maintained indefinitely and may be redistributed to third-parties consistent with the terms of this project or the open source license(s) involved.
22 changes: 22 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Contribution Guidelines
Private Internet Access welcomes community contributions, and are always looking for ways in which to improve. Please take a look at our contribution guidelines, and get involved with the PIA community.

## Bugs and Issues
Have you found a bug? Is our software behaving in an unexpected way? Please check the open issues for duplicates -- perhaps a fix is already in development, or maybe a solution has already been published. If not then please submit a bug report. Note however that GitHub issues are for technical discussions; for technical support please use our [helpdesk](https://www.privateinternetaccess.com/helpdesk/).

## Feature Requests
Feature requests can also be submitted as issues, but please make sure to check for duplicates before submitting a request.

## Working with our Code
* Fork the repository. Make sure to keep your repository synced with the source repo.
* When you are ready to start working on a new feature, cut a new branch from `master` with the prefix `feature/` (e.g. `feature/name-of-feature`).
* Refer to the [README](/README.md) for instructions on how to install and build.

## Making Pull Requests
* Sync the master branch in your fork with the master branch in the source repo.
* Make your pull request from the `feature/` branch in your fork to `master` in the source.
* Use short and concise commit messages.
* If your pull request contains multiple commits or commits that are not meaningful, consider squashing them.

## Contributor Agreement
By submitting any pull request to this project you are agreeing to the terms stated in the [Contributor License Agreement](CLA.md).
Loading

0 comments on commit 41213ed

Please sign in to comment.