Files
ProxyIOS/project.yml
Trey t 148bc3887c Add iPad support, auto-pinning, and comprehensive logging
- Adaptive iPhone/iPad layout with NavigationSplitView sidebar
- Auto-detect SSL-pinned domains, fall back to passthrough
- Certificate install via local HTTP server (Safari profile flow)
- App Group-backed CA, per-domain leaf cert LRU cache
- DB-backed config repository, Darwin notification throttling
- Rules engine, breakpoint rules, pinned domain tracking
- os.Logger instrumentation across tunnel/proxy/mitm/capture/cert/rules/db/ipc/ui
- Fix dyld framework embed, race conditions, thread safety
2026-04-11 12:52:18 -05:00

176 lines
4.6 KiB
YAML

name: ProxyApp
options:
bundleIdPrefix: com.treyt.proxyapp
deploymentTarget:
iOS: "17.0"
xcodeVersion: "26.3"
generateEmptyDirectories: true
schemes:
ProxyApp:
build:
targets:
ProxyApp: all
ProxyCore: all
PacketTunnel: all
run:
config: Debug
executable: ProxyApp
profile:
config: Release
analyze:
config: Debug
archive:
config: Release
settings:
base:
SWIFT_VERSION: "6.0"
DEVELOPMENT_TEAM: ""
CODE_SIGN_STYLE: Automatic
packages:
GRDB:
url: https://github.com/groue/GRDB.swift.git
from: "7.4.1"
SwiftNIO:
url: https://github.com/apple/swift-nio.git
from: "2.65.0"
SwiftNIOSSL:
url: https://github.com/apple/swift-nio-ssl.git
from: "2.27.0"
SwiftNIOExtras:
url: https://github.com/apple/swift-nio-extras.git
from: "1.22.0"
SwiftCertificates:
url: https://github.com/apple/swift-certificates.git
from: "1.5.0"
SwiftCrypto:
url: https://github.com/apple/swift-crypto.git
from: "3.5.0"
targets:
ProxyApp:
type: application
platform: iOS
sources:
- path: App
- path: UI
resources:
- path: Resources
dependencies:
- target: PacketTunnel
- target: ProxyCore
- package: GRDB
- package: SwiftNIO
product: NIOCore
- package: SwiftNIO
product: NIOPosix
- package: SwiftNIOSSL
product: NIOSSL
- package: SwiftNIO
product: NIOHTTP1
- package: SwiftNIOExtras
product: NIOExtras
- package: SwiftCertificates
product: X509
- package: SwiftCrypto
product: Crypto
info:
path: App/Info.plist
properties:
CFBundleDisplayName: Proxy
UILaunchScreen: {}
UISupportedInterfaceOrientations:
- UIInterfaceOrientationPortrait
UISupportedInterfaceOrientations~ipad:
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
UIApplicationSceneManifest:
UIApplicationSupportsMultipleScenes: true
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.treyt.proxyapp
CODE_SIGN_ENTITLEMENTS: App/Entitlements/ProxyApp.entitlements
SWIFT_STRICT_CONCURRENCY: complete
TARGETED_DEVICE_FAMILY: "1,2"
entitlements:
path: App/Entitlements/ProxyApp.entitlements
properties:
com.apple.security.application-groups:
- group.com.treyt.proxyapp
com.apple.developer.networking.networkextension:
- packet-tunnel-provider
PacketTunnel:
type: app-extension
platform: iOS
sources:
- path: PacketTunnel
dependencies:
- target: ProxyCore
- package: GRDB
- package: SwiftNIO
product: NIOCore
- package: SwiftNIO
product: NIOPosix
- package: SwiftNIOSSL
product: NIOSSL
- package: SwiftNIO
product: NIOHTTP1
- package: SwiftNIOExtras
product: NIOExtras
info:
path: PacketTunnel/Info.plist
properties:
NSExtension:
NSExtensionPointIdentifier: com.apple.networkextension.packet-tunnel
NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).PacketTunnelProvider
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.treyt.proxyapp.PacketTunnel
CODE_SIGN_ENTITLEMENTS: PacketTunnel/Entitlements/PacketTunnel.entitlements
SWIFT_VERSION: "5"
SWIFT_STRICT_CONCURRENCY: complete
entitlements:
path: PacketTunnel/Entitlements/PacketTunnel.entitlements
properties:
com.apple.security.application-groups:
- group.com.treyt.proxyapp
com.apple.developer.networking.networkextension:
- packet-tunnel-provider
ProxyCore:
type: framework
platform: iOS
info:
path: ProxyCore/Info.plist
properties:
CFBundlePackageType: FMWK
sources:
- path: ProxyCore/Sources
dependencies:
- package: GRDB
- package: SwiftNIO
product: NIOCore
- package: SwiftNIO
product: NIOPosix
- package: SwiftNIOSSL
product: NIOSSL
- package: SwiftNIO
product: NIOHTTP1
- package: SwiftNIOExtras
product: NIOExtras
- package: SwiftCertificates
product: X509
- package: SwiftCrypto
product: Crypto
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.treyt.proxyapp.ProxyCore
SWIFT_STRICT_CONCURRENCY: complete
GENERATE_INFOPLIST_FILE: YES
MACH_O_TYPE: staticlib