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"