A scalable framework to build modern network configuration apps.
Binary distribution for these architectures:
- macosx
- iphonesimulator
- appletvsimulator
DISCLAIMER: the library is still undergoing deep architectural changes.
Import the library as SwiftPM dependency, for example:
dependencies: [
.package(url: "https://github.com/passepartoutvpn/partout", branch: "master")
],
targets: [
.target(
name: "MyTarget",
dependencies: [
.product(name: "Partout", package: "partout"),
.product(name: "PartoutOpenVPN", package: "partout"),
.product(name: "PartoutWireGuard", package: "partout")
]
)
]
Beware that the public framework only supports development on your Mac or iOS/tvOS Simulators. If you want to use the library for proprietary or commercial purposes, please contact me privately.
Edit Demo/Config.xcconfig
with your developer details. You must comply with all the capabilities and entitlements in the main app and the tunnel extension target.
Put your configuration files into Demo/App/Files
with these names:
- OpenVPN configuration:
test-sample.ovpn
- OpenVPN credentials (in two lines):
test-sample.txt
- WireGuard configuration:
test-sample.wg
Open Demo.xcodeproj
and run the PartoutDemo
target.
Copyright (c) 2025 Davide De Rosa. All rights reserved.
The core package is distributed as a binary framework in GitHub Releases and is licensed under the MIT.
Anything else is licensed under the GPLv3.
By contributing to this project you are agreeing to the terms stated in the Contributor License Agreement (CLA). For more details please see CONTRIBUTING.
© Copyright 2025 OpenVPN | OpenVPN is a registered trademark of OpenVPN, Inc.
© Copyright 2015-2025 Jason A. Donenfeld. All Rights Reserved. "WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld.
Twitter: @keeshux
Website: passepartoutvpn.app