ffb8829f4f
Before anything, remove any code related to App Group containers from tvOS target because they are not available. Include the beta receipt override, it's broken for that reason. In short: - Store all Core Data containers locally. Do not use the App Group for Core Data for consistency across platforms. - Store logs in the App Group on iOS/macOS, but locally on tvOS (see `urlForCaches`). Then, rather than one container per model, merge models into: - Local: Providers - Remote: Profiles + Preferences (now in the same CloudKit container) Reuse the remote model for backups too. This change is safe because: - Local profiles are stored via Network Extension in the keychain, not Core Data - Remote profiles are re-imported via CloudKit sync - Providers are re-downloaded on first use - Preferences are lost, but they are "cheap" data - Profile backups are lost, but they were hidden anyway |
||
---|---|---|
.github | ||
Library | ||
Passepartout | ||
Passepartout.xcodeproj | ||
ci | ||
fastlane | ||
screenshots | ||
.gitignore | ||
.ruby-version | ||
.swiftlint.yml | ||
CHANGELOG.txt | ||
CLA.rst | ||
CONTRIBUTING.md | ||
Gemfile | ||
Gemfile.lock | ||
LICENSE | ||
README.md | ||
swiftgen.yml |
README.md
Passepartout
Passepartout is your go-to app for VPN and privacy.
Passepartout runs on iPhone, iPad, Mac, and Apple TV.
Features
OpenVPN® and WireGuard® client for Apple platforms, the OpenVPN stack also implements the Tunnelblick XOR patch.
Other features:
- On-demand rules
- Override DNS and HTTP proxy
- Custom routing
- Presets for multiple providers (virtually any)
Tailored for Apple platforms:
- Apple TV
- iCloud
- Shortcuts
- No background activities
- Wise on battery
Installation
Requirements
- iOS 16+ / macOS 13+ / tvOS 17+
- Xcode 15+ (SwiftPM 5.5)
- Git (preinstalled with Xcode Command Line Tools)
- Ruby (preinstalled with macOS)
It's highly recommended that you use the Git and Ruby packages provided by Homebrew.
Testing
Download the app codebase locally:
$ git clone https://github.com/passepartoutvpn/passepartout.git
For everything to work properly, you must comply with all the capabilities and entitlements in the main app and the tunnel extension target. Therefore, you must update the Config.xcconfig
file according to your developer account.
To eventually test the app, open Passepartout.xcodeproj
in Xcode and run the Passepartout
target.
WARNING: SwiftPM package resolution will fail because PassepartoutKit is a private repository, as it's not ready for public use yet. Follow updates here.
License
Copyright (c) 2024 Davide De Rosa. All rights reserved.
This project is licensed under the GPLv3.
Contributing
By contributing to this project you are agreeing to the terms stated in the Contributor License Agreement (CLA). For more details please see CONTRIBUTING.
Credits
The logo is taken from the awesome Circle Icons set by Nick Roach.
OpenVPN
© Copyright 2024 OpenVPN | OpenVPN is a registered trademark of OpenVPN, Inc.
WireGuard
© Copyright 2015-2024 Jason A. Donenfeld. All Rights Reserved. "WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld.
OpenSSL
This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/)
Community
A huge credit goes to:
- My tiny group of 3 private beta testers
- The 9000+ public testers using the beta on a daily basis
- The continued support and feedback from the Passepartout community on Reddit
- The overall patience of users affected by my bugs that actively collaborate in resolving them
- All those who contributed to the amazingly high rating on the App Store
Translations
The app is mostly translated with ChatGPT, but these are the acknowledgments to the original translators:
- Chinese (Simplified): OnlyThen - @OnlyThen
- Dutch: Norbert de Vreede - @paxpacis
- English: Davide De Rosa (author)
- French: Julien Laniel - @linkjul
- German: Christian Lederer, Theodor Tietze
- Greek: Konstantinos Koukoulakis
- Italian: Davide De Rosa (author)
- Polish: Piotr Książek
- Portuguese: Helder Santana - @heldr
- Russian: Alexander Korobynikov
- Spanish: Davide De Rosa (author), Elena Vivó
- Swedish: Henry Gross-Hellsen - @cowpod
- Ukranian: Dmitry Chirkin - @josser
Usage
You are encouraged to read carefully both the disclaimer and privacy policy before using this software.
Contacts
Twitter: @keeshux
Website: passepartoutvpn.app (FAQ)