VPN client for Apple platforms.
Go to file
Davide De Rosa 1ab26dd8a2 Update GitHub repository constants 2018-11-04 10:53:16 +01:00
Passepartout Update GitHub repository constants 2018-11-04 10:53:16 +01:00
Passepartout-iOS Temporarily remove "Test connectivity" 2018-11-04 10:52:43 +01:00
Passepartout-iOS-Tunnel Find out version/build statically 2018-10-18 14:02:35 +02:00
Passepartout.xcodeproj Delegate profile management from ConnectionService 2018-11-02 15:20:37 +01:00
Passepartout.xcworkspace Initial commit 2018-10-11 09:13:19 +02:00
PassepartoutTests-iOS Fix handling of extra whitespaces in .ovpn 2018-10-27 19:49:35 +02:00
ci Do not autotag alpha builds 2018-10-19 18:00:00 +02:00
fastlane Fix TestFlight app description 2018-10-23 19:21:47 +02:00
res Use .svg logo 2018-11-01 16:38:08 +01:00
.env Set RC release 2018-11-01 15:26:28 +01:00
.env.beta-archive Initial commit 2018-10-11 09:13:19 +02:00
.env.beta-deploy Initial commit 2018-10-11 09:13:19 +02:00
.env.dev-archive Initial commit 2018-10-11 09:13:19 +02:00
.env.dev-deploy Initial commit 2018-10-11 09:13:19 +02:00
.gitignore Update gitignore 2018-11-01 13:45:47 +01:00
CHANGELOG.md Temporarily remove "Test connectivity" 2018-11-04 10:52:43 +01:00
CLA.rst Initial commit 2018-10-11 09:13:19 +02:00
CONTRIBUTING.md Initial commit 2018-10-11 09:13:19 +02:00
Gemfile Initial commit 2018-10-11 09:13:19 +02:00
LICENSE Initial commit 2018-10-11 09:13:19 +02:00
Podfile Use versioned TunnelKit 2018-11-01 13:41:27 +01:00
Podfile.lock Use versioned TunnelKit 2018-11-01 13:41:27 +01:00
README.md Update version in TunnelKit badge 2018-11-02 08:20:30 +01:00
swiftgen.yml Upgrade SwiftGen 2018-10-28 14:50:12 +01:00

README.md

Passepartout

iOS 11+ TunnelKit 1.3.x License GPLv3 Join TestFlight Join Reddit Join Telegram Tweet

Passepartout is a non-official, user-friendly OpenVPN® client for iOS.

Beta

Passepartout is in public beta on TestFlight.

Overview

All profiles in one place

Passepartout lets you handle multiple profiles in one single place and quickly switch between them.

Ease of use

With its native look & feel, Passepartout focuses on ease of use. It does so by stripping the .ovpn flags that are today obsolete or rarely used. With good approximation, it mimics the most relevant features you will find in OpenVPN 2.4.x.

Trusted networks

Trust cellular or Wi-Fi networks to fine-grain your connectivity. You can then choose to retain a VPN connection when entering a trusted network, or prevent it completely.

See your connection parameters

Passepartout strives for transparency, by showing a fairly detailed yet understandable resume of your connection parameters.

Disconnect on sleep

Keeping the VPN active in the background provides smoother operation, but may be tough for the battery. You might want to use this feature if you're concerned about battery life. When the device goes to sleep, the VPN will disconnect to then reconnect on device wake-up.

No unrequested activity

Passepartout is a VPN client and does absolutely nothing else without your consent. The providers infrastructures are obtained via a static GitHub API if and only if you manually refresh them.

Presets for major providers

Passepartout can connect to a few well-known VPN providers with an existing account:

In preset mode, you can pick pre-resolved IPv4 endpoints when DNS is problematic.

Import .ovpn profiles

Passepartout can import .ovpn configuration files. This way you can fine-tune encryption without tweaking and reimporting a new configuration. Below are a few limitations worth mentioning.

Unsupported:

  • UDP fragmentation, i.e. --fragment
  • Compression
    • --comp-lzo other than no
    • --compress other than empty
  • Proxy
  • External file references (inline <block> only)
  • Encrypted client certificate keys

Ignored:

  • MTU overrides
    • --*-mtu and variants
    • --mssfix
  • Multiple --remote with different host values (first wins)

Many other flags are ignored too but it's normally not an issue.

Installation

Requirements

  • iOS 11.0+
  • Xcode 10+ (Swift 4.2)
  • Git (preinstalled with Xcode Command Line Tools)
  • Ruby (preinstalled with macOS)
  • CocoaPods 1.4.0

It's highly recommended to use the Git and Ruby packages provided by Homebrew.

Testing

Download the app codebase locally:

$ git clone https://github.com/keeshux/passepartout-ios.git

Assuming you have a working CocoaPods environment, setting up the app workspace only requires installing the pod dependencies:

$ pod install

After that, open Passepartout.xcworkspace in Xcode and run the Passepartout-iOS target.

For the VPN to work properly, the app requires:

  • App Groups and Keychain Sharing capabilities
  • App IDs with Packet Tunnel entitlements

both in the main app and the tunnel extension target.

License

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.

  • PIATunnel - © 2018-Present Private Internet Access
  • SwiftyBeaver - © 2015 Sebastian Kreutzberger
  • MBProgressHUD - © 2009-2016 Matej Bukovinski

© 2002-2018 OpenVPN Inc. - OpenVPN is a registered trademark of OpenVPN Inc.

Usage

You are strongly encouraged to read carefully both the disclaimer and privacy policy before using this software.

Contacts

Twitter: @keeshux

Website: passepartoutvpn.app