Merge pull request #59 from passepartoutvpn/integrate-protonvpn

Integrate ProtonVPN provider
This commit is contained in:
Davide De Rosa 2019-04-06 20:37:16 +02:00 committed by GitHub
commit d627b2ab36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 47 additions and 6 deletions

View File

@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ### Added
- ProtonVPN provider. [#7](https://github.com/passepartoutvpn/passepartout-ios/issues/7)
- Italian translations. [#58](https://github.com/passepartoutvpn/passepartout-ios/pull/58) - Italian translations. [#58](https://github.com/passepartoutvpn/passepartout-ios/pull/58)
### Fixed ### Fixed

View File

@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>FMWK</string> <string>FMWK</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.3.1</string> <string>1.4.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string> <string>$(CURRENT_PROJECT_VERSION)</string>
</dict> </dict>

View File

@ -15,7 +15,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>BNDL</string> <string>BNDL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.3.1</string> <string>1.4.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1</string> <string>1</string>
</dict> </dict>

View File

@ -17,7 +17,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>XPC!</string> <string>XPC!</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.3.1</string> <string>1.4.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1</string> <string>1</string>
<key>NSExtension</key> <key>NSExtension</key>

View File

@ -283,6 +283,7 @@ internal enum Asset {
internal enum Providers { internal enum Providers {
internal static let mullvad = ImageAsset(name: "mullvad") internal static let mullvad = ImageAsset(name: "mullvad")
internal static let pia = ImageAsset(name: "pia") internal static let pia = ImageAsset(name: "pia")
internal static let protonvpn = ImageAsset(name: "protonvpn")
internal static let tunnelbear = ImageAsset(name: "tunnelbear") internal static let tunnelbear = ImageAsset(name: "tunnelbear")
internal static let windscribe = ImageAsset(name: "windscribe") internal static let windscribe = ImageAsset(name: "windscribe")
} }

View File

@ -34,7 +34,7 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.3.1</string> <string>1.4.0</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1</string> <string>1</string>
<key>ITSAppUsesNonExemptEncryption</key> <key>ITSAppUsesNonExemptEncryption</key>

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "protonvpn@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "protonvpn@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@ -68,6 +68,9 @@ class AccountViewController: UIViewController, TableModelHost {
case .pia: case .pia:
return V.pia(name.rawValue) return V.pia(name.rawValue)
case .protonVPN:
return V.protonvpn(name.rawValue)
case .tunnelBear: case .tunnelBear:
return V.tunnelbear(name.rawValue) return V.tunnelbear(name.rawValue)

File diff suppressed because one or more lines are too long

View File

@ -130,8 +130,9 @@
"account.sections.credentials.header" = "Credentials"; "account.sections.credentials.header" = "Credentials";
"account.sections.guidance.footer.infrastructure.mullvad" = "Use your %@ website account number and password \"m\"."; "account.sections.guidance.footer.infrastructure.mullvad" = "Use your %@ website account number and password \"m\".";
"account.sections.guidance.footer.infrastructure.pia" = "Use your %@ website credentials. Your username is usually numeric with a \"p\" prefix."; "account.sections.guidance.footer.infrastructure.pia" = "Use your %@ website credentials. Your username is usually numeric with a \"p\" prefix.";
"account.sections.guidance.footer.infrastructure.protonvpn" = "Find your %@ credentials in the \"Account > OpenVPN Login\" section of the website.";
"account.sections.guidance.footer.infrastructure.tunnelbear" = "Use your %@ website credentials. Your username is usually your e-mail."; "account.sections.guidance.footer.infrastructure.tunnelbear" = "Use your %@ website credentials. Your username is usually your e-mail.";
"account.sections.guidance.footer.infrastructure.windscribe" = "Find your credentials in the OpenVPN Config Generator on the %@ website."; "account.sections.guidance.footer.infrastructure.windscribe" = "Find your %@ credentials in the OpenVPN Config Generator on the website.";
"account.sections.registration.footer" = "Go get an account on the %@ website."; "account.sections.registration.footer" = "Go get an account on the %@ website.";
"account.cells.username.caption" = "Username"; "account.cells.username.caption" = "Username";
"account.cells.username.placeholder" = "username"; "account.cells.username.placeholder" = "username";

View File

@ -165,12 +165,14 @@ public class AppConstants {
} }
public static let guidances: [Infrastructure.Name: String] = [ public static let guidances: [Infrastructure.Name: String] = [
.protonVPN: "https://account.protonvpn.com/settings",
.windscribe: "https://windscribe.com/getconfig/openvpn" .windscribe: "https://windscribe.com/getconfig/openvpn"
] ]
public static let referrals: [Infrastructure.Name: String] = [ public static let referrals: [Infrastructure.Name: String] = [
.mullvad: "https://mullvad.net/en/account/create/", .mullvad: "https://mullvad.net/en/account/create/",
.pia: "https://www.privateinternetaccess.com/pages/buy-vpn/", .pia: "https://www.privateinternetaccess.com/pages/buy-vpn/",
.protonVPN: "https://protonvpn.net/?aid=keeshux",
.tunnelBear: "https://click.tunnelbear.com/aff_c?offer_id=2&aff_id=7464", .tunnelBear: "https://click.tunnelbear.com/aff_c?offer_id=2&aff_id=7464",
.windscribe: "https://secure.link/kCsD0prd" .windscribe: "https://secure.link/kCsD0prd"
] ]

View File

@ -32,6 +32,8 @@ public struct Infrastructure: Codable {
case pia = "PIA" case pia = "PIA"
case protonVPN = "ProtonVPN"
case tunnelBear = "TunnelBear" case tunnelBear = "TunnelBear"
case windscribe = "Windscribe" case windscribe = "Windscribe"

View File

@ -59,6 +59,7 @@ public class InfrastructureFactory {
public let allNames: [Infrastructure.Name] = [ public let allNames: [Infrastructure.Name] = [
.mullvad, .mullvad,
.pia, .pia,
.protonVPN,
.tunnelBear, .tunnelBear,
.windscribe .windscribe
] ]

View File

@ -106,11 +106,15 @@ public enum L10n {
public static func pia(_ p1: String) -> String { public static func pia(_ p1: String) -> String {
return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.pia", p1) return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.pia", p1)
} }
/// Find your %@ credentials in the "Account > OpenVPN Login" section of the website.
public static func protonvpn(_ p1: String) -> String {
return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.protonvpn", p1)
}
/// Use your %@ website credentials. Your username is usually your e-mail. /// Use your %@ website credentials. Your username is usually your e-mail.
public static func tunnelbear(_ p1: String) -> String { public static func tunnelbear(_ p1: String) -> String {
return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.tunnelbear", p1) return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.tunnelbear", p1)
} }
/// Find your credentials in the OpenVPN Config Generator on the %@ website. /// Find your %@ credentials in the OpenVPN Config Generator on the website.
public static func windscribe(_ p1: String) -> String { public static func windscribe(_ p1: String) -> String {
return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.windscribe", p1) return L10n.tr("Localizable", "account.sections.guidance.footer.infrastructure.windscribe", p1)
} }

View File

@ -57,6 +57,7 @@ Passepartout can connect to a few well-known VPN providers with an existing acco
- [Mullvad][app-net-mullvad] - [Mullvad][app-net-mullvad]
- [Private Internet Access][app-net-pia] - [Private Internet Access][app-net-pia]
- [ProtonVPN][app-net-protonvpn]
- [TunnelBear][app-net-tunnelbear] - [TunnelBear][app-net-tunnelbear]
- [Windscribe][app-net-windscribe] - [Windscribe][app-net-windscribe]
- ...more soon! - ...more soon!
@ -146,6 +147,7 @@ Website: [passepartoutvpn.app][about-website]
[app-api]: https://github.com/passepartoutvpn/passepartout-api [app-api]: https://github.com/passepartoutvpn/passepartout-api
[app-net-mullvad]: https://mullvad.net/en/account/create/ [app-net-mullvad]: https://mullvad.net/en/account/create/
[app-net-pia]: https://www.privateinternetaccess.com/pages/buy-vpn/ [app-net-pia]: https://www.privateinternetaccess.com/pages/buy-vpn/
[app-net-protonvpn]: https://protonvpn.net/?aid=keeshux
[app-net-tunnelbear]: https://click.tunnelbear.com/aff_c?offer_id=2&aff_id=7464 [app-net-tunnelbear]: https://click.tunnelbear.com/aff_c?offer_id=2&aff_id=7464
[app-net-windscribe]: https://secure.link/kCsD0prd [app-net-windscribe]: https://secure.link/kCsD0prd

View File

@ -18,6 +18,7 @@ FEATURES
- Convenient presets for major VPN networks: - Convenient presets for major VPN networks:
- Mullvad - Mullvad
- Private Internet Access - Private Internet Access
- ProtonVPN
- TunnelBear - TunnelBear
- Windscribe - Windscribe
- ...more soon! - ...more soon!