292 lines
10 KiB
YAML
292 lines
10 KiB
YAML
name: PrivadoVPN
|
|
|
|
options:
|
|
bundleIdPrefix: io.privado
|
|
defaultConfig: {{defaultConfig}}
|
|
|
|
attributes:
|
|
ORGANIZATIONNAME: Privado LLC
|
|
|
|
packages:
|
|
Starscream:
|
|
path: Vendors/spm/Starscream
|
|
SwiftyMarkdown:
|
|
path: Vendors/spm/SwiftyMarkdown
|
|
SwiftyPing:
|
|
path: Vendors/spm/SwiftyPing
|
|
SwiftyStoreKit:
|
|
path: Vendors/spm/SwiftyStoreKit
|
|
SnowplowTracker:
|
|
path: Vendors/spm/Snowplow_2.2.0
|
|
Sentry:
|
|
url: https://github.com/getsentry/sentry-cocoa
|
|
majorVersion: 5.2.2
|
|
TunnelKit:
|
|
path: Vendors/spm/tunnelkit-4.1.0
|
|
TunnelKitOpenVPN:
|
|
path: Vendors/spm/tunnelkit-4.1.0
|
|
TunnelKitWireGuard:
|
|
path: Vendors/spm/tunnelkit-4.1.0
|
|
TunnelKitOpenVPNAppExtension:
|
|
path: Vendors/spm/tunnelkit-4.1.0
|
|
TunnelKitWireGuardAppExtension:
|
|
path: Vendors/spm/tunnelkit-4.1.0
|
|
|
|
targets:
|
|
|
|
Privado:
|
|
scheme:
|
|
environmentVariables:
|
|
COPYRIGHT: Privado LLC
|
|
type: application
|
|
platform: iOS
|
|
deploymentTarget: 12.0
|
|
devices: [iPhone, iPad]
|
|
name: {{TARGET_PRIVADO_NAME}}
|
|
sources:
|
|
- path: ./Privado/Sources
|
|
name: Privado
|
|
excludes:
|
|
- "**/PreferencesWindowFlow/**"
|
|
- "**/ServerListTableView.swift"
|
|
- "**/ServerListWindow.swift"
|
|
- path: ./Assets
|
|
name: Assets
|
|
buildPhase: resources
|
|
templates: [Shared]
|
|
entitlements:
|
|
path: "./Privado/Privado.entitlements"
|
|
properties:
|
|
com.apple.developer.networking.networkextension: [packet-tunnel-provider]
|
|
com.apple.developer.networking.vpn.api: [allow-vpn]
|
|
com.apple.security.inherit: true
|
|
com.apple.security.application-groups: [group.$(PRODUCT_BUNDLE_IDENTIFIER)]
|
|
keychain-access-groups: [$(AppIdentifierPrefix){{APPLICATION_IDENTIFIER}}]
|
|
settings:
|
|
base:
|
|
GCC_PREPROCESSOR_DEFINITIONS:
|
|
- "$(inherited)"
|
|
- PRODUCTION
|
|
INFOPLIST_FILE: ./Privado/Info.plist
|
|
PRODUCT_BUNDLE_IDENTIFIER: "{{APPLICATION_IDENTIFIER}}"
|
|
CODE_SIGN_STYLE: Manual
|
|
DEVELOPMENT_TEAM: "{{DEVELOPMENT_TEAM}}"
|
|
OTHER_CODE_SIGN_FLAGS: --timestamp
|
|
ENABLE_BITCODE: NO
|
|
ASSETCATALOG_COMPILER_APPICON_NAME: "AppIcon.iOS"
|
|
LD_RUNPATH_SEARCH_PATHS:
|
|
- "$(inherited)"
|
|
- "@executable_path/Frameworks"
|
|
- "@loader_path/Frameworks"
|
|
configs:
|
|
debug:
|
|
ENABLE_SWIFTLINT: YES
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS:
|
|
- {{SWIFT_ACTIVE_COMPILATION_CONDITIONS}}
|
|
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
|
|
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER}}"
|
|
release:
|
|
ENABLE_SWIFTLINT: YES
|
|
SWIFT_ACTIVE_COMPILATION_CONDITIONS:
|
|
- {{SWIFT_ACTIVE_COMPILATION_CONDITIONS}}
|
|
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
|
|
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER}}"
|
|
info:
|
|
path: ./Privado/Info.plist
|
|
properties:
|
|
CFBundleDevelopmentRegion: $(DEVELOPMENT_LANGUAGE)
|
|
CFBundleDisplayName: {{CFBundleDisplayName}}
|
|
CFBundleExecutable: $(EXECUTABLE_NAME)
|
|
CFBundleIdentifier: $(PRODUCT_BUNDLE_IDENTIFIER)
|
|
CFBundleInfoDictionaryVersion: "6.0"
|
|
CFBundleName: $(PRODUCT_NAME)
|
|
CFBundlePackageType: $(PRODUCT_BUNDLE_PACKAGE_TYPE)
|
|
CFBundleShortVersionString: "2.2.1"
|
|
CFBundleVersion: "5"
|
|
CFBundlePackageType: APPL
|
|
CFBundleURLTypes:
|
|
- CFBundleTypeRole: "Editor"
|
|
CFBundleURLSchemes: [privadovpn]
|
|
ITSAppUsesNonExemptEncryption: false
|
|
LSRequiresIPhoneOS: true
|
|
PRIVADO_BUILD_TIMESTAMP: "2021-12-06"
|
|
UIAppFonts:
|
|
- "SF-Pro-Text-Semibold.otf"
|
|
- "Spartan-Regular.ttf"
|
|
- "Spartan-SemiBold.ttf"
|
|
- "Spartan-Bold.ttf"
|
|
- "Spartan-Medium.ttf"
|
|
- "SF-Pro-Text-Black.otf"
|
|
- "SF-Pro-Text-Heavy.ttf"
|
|
- "SF-Pro-Text-Regular.otf"
|
|
- "SF-Pro-Text-Light.ttf"
|
|
- "SF-Pro-Text-Bold.otf"
|
|
- "Roboto-Black.ttf"
|
|
- "Roboto-Medium.ttf"
|
|
UILaunchStoryboardName: "Launch"
|
|
UIMainStoryboardFile: ""
|
|
UIRequiredDeviceCapabilities: ["armv7"]
|
|
UIStatusBarStyle: "UIStatusBarStyleLightContent"
|
|
UISupportedInterfaceOrientations: ["UIInterfaceOrientationPortrait"]
|
|
UISupportedInterfaceOrientations~ipad: ["UIInterfaceOrientationPortrait", "UIInterfaceOrientationPortraitUpsideDown", "UIInterfaceOrientationLandscapeLeft", "UIInterfaceOrientationLandscapeRight"]
|
|
UIViewControllerBasedStatusBarAppearance: true
|
|
dependencies:
|
|
- target: OpenVPN
|
|
embed: true
|
|
- target: WireGuard
|
|
embed: true
|
|
- package: Sentry
|
|
- package: Starscream
|
|
- package: SwiftyMarkdown
|
|
- package: SwiftyPing
|
|
- package: SwiftyStoreKit
|
|
- package: SnowplowTracker
|
|
- package: TunnelKitOpenVPN
|
|
- package: TunnelKitWireGuard
|
|
- sdk: StoreKit.framework
|
|
preBuildScripts:
|
|
- script:
|
|
/usr/libexec/PlistBuddy -c "Set :PRIVADO_BUILD_TIMESTAMP $(date +%F)" ${INFOPLIST_FILE}
|
|
name: "Change Build time in plist"
|
|
postBuildScripts:
|
|
- script:
|
|
rm -rf "${BUILT_PRODUCTS_DIR}/${PLUGINS_FOLDER_PATH}/OpenVPN.appex/Frameworks"
|
|
name: "Remove frameworks from apex"
|
|
|
|
OpenVPN:
|
|
scheme:
|
|
environmentVariables:
|
|
COPYRIGHT: Privado LLC
|
|
type: app-extension
|
|
platform: iOS
|
|
deploymentTarget: 12.0
|
|
name: OpenVPN
|
|
sources:
|
|
- path: OpenVPN/Sources
|
|
name: OpenVPN
|
|
entitlements:
|
|
path: "./OpenVPN/OpenVPN.entitlements"
|
|
properties:
|
|
com.apple.security.inherit: true
|
|
com.apple.developer.networking.networkextension: [packet-tunnel-provider]
|
|
com.apple.security.application-groups: [group.{{APPLICATION_IDENTIFIER}}]
|
|
keychain-access-groups: [$(AppIdentifierPrefix){{APPLICATION_IDENTIFIER}}]
|
|
info:
|
|
path: "./OpenVPN/Info.plist"
|
|
properties:
|
|
CFBundleDevelopmentRegion: $(DEVELOPMENT_LANGUAGE)
|
|
CFBundleDisplayName: OpenVPN
|
|
CFBundleExecutable: $(EXECUTABLE_NAME)
|
|
CFBundleIdentifier: $(PRODUCT_BUNDLE_IDENTIFIER)
|
|
CFBundleInfoDictionaryVersion: "6.0"
|
|
CFBundleName: $(PRODUCT_NAME)
|
|
CFBundlePackageType: $(PRODUCT_BUNDLE_PACKAGE_TYPE)
|
|
CFBundleShortVersionString: "2.2.1"
|
|
CFBundleVersion: "5"
|
|
NSExtension:
|
|
NSExtensionPointIdentifier: "com.apple.networkextension.packet-tunnel"
|
|
NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).PacketTunnelProvider"
|
|
settings:
|
|
base:
|
|
INFOPLIST_FILE: "./OpenVPN/Info.plist"
|
|
PRODUCT_BUNDLE_IDENTIFIER: {{APPLICATION_IDENTIFIER}}.openvpn
|
|
CODE_SIGN_STYLE: Manual
|
|
DEVELOPMENT_TEAM: {{DEVELOPMENT_TEAM}}
|
|
ENABLE_BITCODE: NO
|
|
OTHER_CODE_SIGN_FLAGS: --timestamp
|
|
TARGETED_DEVICE_FAMILY: "1"
|
|
LD_RUNPATH_SEARCH_PATHS:
|
|
- "$(inherited)"
|
|
- "@executable_path/Frameworks"
|
|
- "@executable_path/../../Frameworks"
|
|
configs:
|
|
debug:
|
|
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
|
|
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_OVPN}}"
|
|
release:
|
|
ENABLE_SWIFTLINT: YES
|
|
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
|
|
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_OVPN}}"
|
|
dependencies:
|
|
- sdk: NetworkExtension.framework
|
|
- package: TunnelKitOpenVPNAppExtension
|
|
|
|
WireGuard:
|
|
scheme:
|
|
environmentVariables:
|
|
COPYRIGHT: Privado LLC
|
|
type: app-extension
|
|
platform: iOS
|
|
deploymentTarget: 12.0
|
|
name: WireGuard
|
|
sources:
|
|
- path: WireGuard/Sources
|
|
name: WireGuard
|
|
entitlements:
|
|
path: "./WireGuard/WireGuard.entitlements"
|
|
properties:
|
|
com.apple.security.inherit: true
|
|
com.apple.developer.networking.networkextension: [packet-tunnel-provider]
|
|
com.apple.security.application-groups: [group.{{APPLICATION_IDENTIFIER}}]
|
|
keychain-access-groups: [$(AppIdentifierPrefix){{APPLICATION_IDENTIFIER}}]
|
|
info:
|
|
path: "./WireGuard/Info.plist"
|
|
properties:
|
|
CFBundleDevelopmentRegion: $(DEVELOPMENT_LANGUAGE)
|
|
CFBundleDisplayName: WireGuard
|
|
CFBundleExecutable: $(EXECUTABLE_NAME)
|
|
CFBundleIdentifier: $(PRODUCT_BUNDLE_IDENTIFIER)
|
|
CFBundleInfoDictionaryVersion: "6.0"
|
|
CFBundleName: $(PRODUCT_NAME)
|
|
CFBundlePackageType: $(PRODUCT_BUNDLE_PACKAGE_TYPE)
|
|
CFBundleShortVersionString: "2.2.1"
|
|
CFBundleVersion: "5"
|
|
NSExtension:
|
|
NSExtensionPointIdentifier: "com.apple.networkextension.packet-tunnel"
|
|
NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).PacketTunnelProvider"
|
|
settings:
|
|
base:
|
|
INFOPLIST_FILE: "./WireGuard/Info.plist"
|
|
PRODUCT_BUNDLE_IDENTIFIER: {{APPLICATION_IDENTIFIER}}.wireguard
|
|
CODE_SIGN_STYLE: Manual
|
|
DEVELOPMENT_TEAM: {{DEVELOPMENT_TEAM}}
|
|
ENABLE_BITCODE: NO
|
|
OTHER_CODE_SIGN_FLAGS: --timestamp
|
|
TARGETED_DEVICE_FAMILY: "1"
|
|
LD_RUNPATH_SEARCH_PATHS:
|
|
- "$(inherited)"
|
|
- "@executable_path/Frameworks"
|
|
- "@executable_path/../../Frameworks"
|
|
configs:
|
|
debug:
|
|
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
|
|
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_WIREGUARD}}"
|
|
release:
|
|
ENABLE_SWIFTLINT: YES
|
|
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
|
|
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_WIREGUARD}}"
|
|
dependencies:
|
|
- sdk: NetworkExtension.framework
|
|
- package: TunnelKitWireGuardAppExtension
|
|
- target: WireGuardKitGo
|
|
|
|
# Legacy helper for WireGuard
|
|
WireGuardKitGo:
|
|
type: ""
|
|
platform: iOS
|
|
deploymentTarget: 12.0
|
|
name: WireGuardKitGo
|
|
legacy:
|
|
toolPath: "$(PROJECT_DIR)/../BuildTools/build_wireguard_go_bridge.sh"
|
|
arguments: "$(ACTION)"
|
|
passSettings: true
|
|
|
|
targetTemplates:
|
|
Shared:
|
|
preBuildScripts:
|
|
- script: |
|
|
if [ "$ENABLE_SWIFTLINT" == YES ] && which swiftlint >/dev/null ; then
|
|
swiftlint lint --config "${PROJECT_DIR}/../BuildTools/Configs/.swiftlint.yml"
|
|
fi
|
|
name: "SwiftLint"
|