-
Notifications
You must be signed in to change notification settings - Fork 95
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit c633b20
Showing
1,430 changed files
with
34,332 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,98 @@ | ||
# Contributing | ||
|
||
Thanks for your time and interest for contributing to the IVPN iOS app project! | ||
As a contributor, here are the guidelines we would like you to follow: | ||
|
||
* [Contributing Code](#contributing) | ||
* [Creating an Issue](#issue) | ||
* [Pull Requests](#pr) | ||
* [Git Workflow](#git) | ||
* [Commit Message Guidelines](#commit) | ||
* [Coding Conventions](#conventions) | ||
|
||
<a name="contributing"></a> | ||
## Contributing Code | ||
|
||
* By contributing to this project you are agreeing to the terms stated in the [Contributor License Agreement](/CLA.md). | ||
* By contributing to this project, you share your code under the GPLv3 license, as specified in the [License](/LICENSE.md) file. | ||
* Don't forget to add yourself to the [Authors](/AUTHORS) file. | ||
|
||
<a name="issue"></a> | ||
## Creating an Issue | ||
|
||
* If you want to report a security problem **DO NOT CREATE AN ISSUE**, please read our [Security Policy](/.github/SECURITY.md) on how to submit a security vulnerability. | ||
* When creating a new issue, chose a "Bug report" or "Feature request" template and fill the required information. | ||
* Please describe the steps necessary to reproduce the issue you are running into. | ||
|
||
<a name="pr"></a> | ||
## Pull Requests | ||
|
||
Good pull requests - patches, improvements, new features - are a fantastic help. They should remain focused in scope and avoid containing unrelated commits. | ||
|
||
Please ask first before embarking on any significant pull request (e.g. implementing features, refactoring code), otherwise you risk spending a lot of time working on something that the developers might not want to merge into the project. | ||
|
||
Follow these steps when you want to submit a pull request: | ||
|
||
1. Go over installation guides in the [README](/README.md#installation) | ||
2. Follow our [Git Workflow](#git) | ||
3. Follow our [Commit Message Guidelines](#commit) | ||
4. Follow instructions in the [PR Template](/.github/PULL_REQUEST_TEMPLATE.md) | ||
5. Update the [README](/README.md) file with details of changes if applicable | ||
|
||
<a name="git"></a> | ||
## Git Workflow | ||
|
||
This project is using [Gitflow Workflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow). | ||
|
||
### Branches | ||
|
||
Naming for branches is made with following structure: | ||
|
||
``` | ||
<issue ID>/<short-summary-or-description> | ||
``` | ||
|
||
`master` - The production branch. Clone or fork this repository for the latest copy. | ||
`develop` - The active development branch. Pull requests should be directed to this branch. | ||
`<feature branch>` - The feature of fix branch. Pull requests should be made from this branch into `develop` brach. | ||
|
||
<a name="commit"></a> | ||
## Commit Message Guidelines | ||
|
||
We have very precise rules over how our git commit messages should be formatted. This leads to readable messages that are easy to follow when looking through the project history. | ||
|
||
### Commit message format | ||
|
||
We follow the [Conventional Commits specification](https://www.conventionalcommits.org/). A commit message consists of a **header**, **body** and **footer**. The header has a **type**, **scope** and **subject**: | ||
|
||
``` | ||
<type>(<scope>): <subject> | ||
<BLANK LINE> | ||
<body> | ||
<BLANK LINE> | ||
<footer> | ||
``` | ||
|
||
The **header** is mandatory and the **scope** of the header is optional. | ||
|
||
### Type | ||
|
||
Must be one of the following: | ||
|
||
* **feat**: A new feature | ||
* **fix**: A bug fix | ||
* **docs**: Documentation only changes | ||
* **style**: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc) | ||
* **refactor**: A code change that neither fixes a bug nor adds a feature | ||
* **perf**: A code change that improves performance | ||
* **test**: Adding missing tests | ||
* **chore**: Changes to the build process or auxiliary tools and libraries such as documentation generation | ||
|
||
<a name="conventions"></a> | ||
## Coding Conventions | ||
|
||
This projects is using [SwiftLint](https://github.com/realm/SwiftLint) to enforce code style and conventions. Before submitting any code changes, make sure to run lint task to check for any compile warnings: | ||
|
||
```sh | ||
$ fastlane lint | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
--- | ||
name: "Bug report" | ||
about: Report a bug in IVPN iOS app | ||
--- | ||
|
||
# Bug report | ||
|
||
## Describe your environment | ||
|
||
* Device: _____ | ||
* OS name and version: _____ | ||
* IVPN app version: _____ | ||
|
||
## Describe the problem | ||
|
||
### Steps to reproduce: | ||
|
||
1. _____ | ||
2. _____ | ||
3. _____ | ||
|
||
### Observed Results: | ||
|
||
* What happened? This could be a description, log output, etc. | ||
|
||
### Expected Results: | ||
|
||
* What did you expect to happen? | ||
|
||
### Relevant Code: | ||
|
||
``` | ||
// TODO(you): code here to reproduce the problem | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
--- | ||
name: "Feature request" | ||
about: Suggest a feature for IVPN iOS app | ||
--- | ||
|
||
# Feature request | ||
|
||
## Description | ||
|
||
A clear and concise description of the problem or missing capability. | ||
|
||
## Describe the solution you'd like | ||
|
||
If you have a solution in mind, please describe it. | ||
|
||
## Describe alternatives you've considered | ||
|
||
Have you considered any alternative solutions or workarounds? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
## PR type | ||
What kind of change does this PR introduce? | ||
|
||
<!-- Please check the one that applies to this PR using "x". --> | ||
|
||
- [ ] Bugfix | ||
- [ ] Feature | ||
- [ ] Code style update | ||
- [ ] Refactoring (no functional changes, no api changes) | ||
- [ ] Build related changes | ||
- [ ] Documentation content changes | ||
- [ ] Other... Please describe: | ||
|
||
## PR checklist | ||
|
||
Please check if your PR fulfills the following requirements: | ||
|
||
- [ ] I have read the CONTRIBUTING.md doc | ||
- [ ] The Git workflow follows our guidelines: CONTRIBUTING.md#git | ||
- [ ] The commit message follows our guidelines: CONTRIBUTING.md#commit | ||
- [ ] Lint and unit tests pass locally with my changes | ||
- [ ] I have added tests that prove my fix is effective or that my feature works | ||
- [ ] I have added necessary documentation (if appropriate) | ||
|
||
## What is the current behavior? | ||
|
||
<!-- Please describe the current behavior that you are modifying, or link to a relevant issue. --> | ||
|
||
Issue number: N/A | ||
|
||
## What is the new behavior? | ||
|
||
## Does this PR introduce a breaking change? | ||
|
||
- [ ] Yes | ||
- [ ] No | ||
|
||
<!-- If this PR contains a breaking change, please describe the impact it has for existing app version. --> | ||
|
||
## Other information |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
# Security Policy | ||
|
||
## Reporting a security vulnerability to IVPN | ||
|
||
If you believe you have found a security vulnerability, **DO NOT CREATE AN ISSUE**. Instead, please send an email to security@ivpn.net. We treat all reports with the highest priority and confidentiality. | ||
|
||
## Incident resolution process | ||
|
||
After this type of report has been submitted, a security vulnerability will be privately discussed, fixed and then publicly disclosed in a security advisory, involving the following steps: | ||
|
||
* Confirm the problem and determine the affected versions. | ||
* Audit code to find any potential similar problems. | ||
* Prepare fixes for all releases still under maintenance. These fixes will be released as fast as possible. | ||
* Publicly disclose security problem in a security advisory. | ||
|
||
## PGP Key | ||
|
||
``` | ||
-----BEGIN PGP PUBLIC KEY BLOCK----- | ||
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o/fv | ||
-----END PGP PUBLIC KEY BLOCK----- | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
## Build generated | ||
build/ | ||
DerivedData/ | ||
|
||
## Various settings | ||
*.pbxuser | ||
!default.pbxuser | ||
*.mode1v3 | ||
!default.mode1v3 | ||
*.mode2v3 | ||
!default.mode2v3 | ||
*.perspectivev3 | ||
!default.perspectivev3 | ||
xcuserdata/ | ||
*.xcuserstate | ||
|
||
## Other | ||
*.moved-aside | ||
*.xccheckout | ||
*.xcscmblueprint | ||
|
||
## Obj-C/Swift specific | ||
*.hmap | ||
*.ipa | ||
*.dSYM.zip | ||
*.dSYM | ||
|
||
## Playgrounds | ||
timeline.xctimeline | ||
playground.xcworkspace | ||
|
||
# Swift Package Manager | ||
# | ||
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. | ||
# Packages/ | ||
# Package.pins | ||
# Package.resolved | ||
.build/ | ||
|
||
# CocoaPods | ||
# | ||
# We recommend against adding the Pods directory to your .gitignore. However | ||
# you should judge for yourself, the pros and cons are mentioned at: | ||
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control | ||
# | ||
Pods/ | ||
|
||
# Carthage | ||
# | ||
# Add this line if you want to avoid checking in source code from Carthage dependencies. | ||
# Carthage/Checkouts | ||
Carthage | ||
Carthage/Build | ||
|
||
# Add this line if you want to avoid checking in source code from the Xcode workspace | ||
*.xcworkspace | ||
|
||
# Rules for .xcconfig files | ||
staging.xcconfig | ||
release.xcconfig | ||
wg-staging.xcconfig | ||
wg-release.xcconfig | ||
today-extension-staging.xcconfig | ||
today-extension-release.xcconfig | ||
|
||
# Rules for .swift files | ||
OpenVPNConf.swift | ||
|
||
# Fastlane | ||
fastlane/test_output | ||
fastlane/report.xml | ||
fastlane/Appfile |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
disabled_rules: | ||
- force_cast | ||
- line_length | ||
- trailing_whitespace | ||
- todo | ||
- redundant_discardable_let | ||
- discarded_notification_center_observer | ||
- identifier_name | ||
- force_try | ||
|
||
excluded: | ||
- Pods | ||
- IVPNClient/Utilities/Pinger/PingManager | ||
|
||
line_length: | ||
warning: 150 | ||
error: 200 | ||
ignores_function_declarations: true | ||
ignores_comments: true | ||
ignores_urls: true | ||
function_body_length: | ||
warning: 300 | ||
error: 500 | ||
function_parameter_count: | ||
warning: 6 | ||
error: 8 | ||
type_body_length: | ||
warning: 400 | ||
error: 500 | ||
file_length: | ||
warning: 1000 | ||
error: 1500 | ||
ignore_comment_only_lines: true | ||
cyclomatic_complexity: | ||
warning: 15 | ||
error: 25 | ||
reporter: "xcode" |
Oops, something went wrong.