passepartout-apple/README.md

169 lines
6.1 KiB
Markdown
Raw Normal View History

2018-11-01 13:02:16 +00:00
<p style="text-align: center; padding: 0em 1em"><img src="res/logo.png" /></p>
2018-10-19 00:13:20 +00:00
2018-10-19 00:16:10 +00:00
# [Passepartout][about-website]
2018-10-11 07:13:19 +00:00
2018-10-19 00:16:37 +00:00
![iOS 11+](https://img.shields.io/badge/ios-11+-green.svg)
[![TunnelKit 1.1.x](https://img.shields.io/badge/tunnelkit-1.1-d69c68.svg)][dep-tunnelkit]
[![License GPLv3](https://img.shields.io/badge/license-GPLv3-lightgray.svg)](LICENSE)
2018-10-19 07:33:58 +00:00
[![Join TestFlight](https://img.shields.io/badge/beta-TestFlight-5ecdf6.svg)][about-testflight]
[![Join Reddit](https://img.shields.io/badge/discuss-Reddit-orange.svg)][about-reddit]
[![Join Telegram](https://img.shields.io/badge/chat-Telegram-blue.svg)][about-telegram]
2018-10-19 00:18:06 +00:00
[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fpassepartoutvpn.app%2F&via=keeshux&text=Passepartout%20is%20an%20user-friendly%2C%20open%20source%20%23OpenVPN%20client%20for%20%23iOS%20and%20%23macOS)
2018-10-19 00:16:37 +00:00
Passepartout is a non-official, user-friendly [OpenVPN®][openvpn] client for iOS.
2018-10-11 07:13:19 +00:00
## Beta
2018-10-19 00:25:22 +00:00
Passepartout is in [public beta][about-testflight] on TestFlight.
2018-10-11 07:13:19 +00:00
2018-10-18 23:46:22 +00:00
<a href="https://www.patreon.com/keeshux"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" width="160"></a>
2018-10-11 07:13:19 +00:00
## Overview
### All profiles in one place
Passepartout lets you handle multiple profiles in one single place and quickly switch between them.
2018-10-14 23:29:30 +00:00
[<img src="res/snap-home.png" width="300">](res/snap-home.png)
2018-10-11 07:13:19 +00:00
### 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.
2018-10-14 23:29:30 +00:00
[<img src="res/snap-profile.png" width="300">](res/snap-profile.png)
2018-10-11 07:13:19 +00:00
### 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.
2018-10-14 23:29:30 +00:00
[<img src="res/snap-trusted.png" width="300">](res/snap-trusted.png)
2018-10-11 07:13:19 +00:00
### See your connection parameters
Passepartout strives for transparency, by showing a fairly detailed yet understandable resume of your connection parameters.
2018-10-14 23:29:30 +00:00
[<img src="res/snap-parameters.png" width="300">](res/snap-parameters.png)
2018-10-11 07:13:19 +00:00
### 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
2018-10-28 08:02:25 +00:00
Passepartout is a VPN client and does absolutely nothing else without your consent. The providers infrastructures are obtained via a [static GitHub API][app-api] if and only if you manually refresh them.
2018-10-11 07:13:19 +00:00
### Presets for major providers
Passepartout can connect to a few well-known VPN providers with an existing account:
- [Private Internet Access][app-net-pia]
2018-10-11 07:13:19 +00:00
- ...more soon!
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:
2018-10-11 07:13:19 +00:00
- UDP fragmentation, i.e. `--fragment`
- Compression
2018-10-24 20:32:47 +00:00
- `--comp-lzo` other than `no`
- `--compress` other than empty
2018-10-23 22:24:23 +00:00
- Proxy
2018-10-11 07:13:19 +00:00
- External file references (inline `<block>` only)
- Encrypted client certificate keys
2018-10-11 07:13:19 +00:00
Ignored:
- MTU overrides
2018-10-24 20:32:47 +00:00
- `--*-mtu` and variants
- `--mssfix`
- Multiple `--remote` with different `host` values (first wins)
2018-10-11 07:13:19 +00:00
2018-10-28 08:02:25 +00:00
Many other flags are ignored too but it's normally not an issue.
2018-10-11 07:13:19 +00:00
## 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][dep-cocoapods]
It's highly recommended to use the Git and Ruby packages provided by [Homebrew][dep-brew].
### Testing
Download the app codebase locally:
$ git clone https://github.com/keeshux/passepartout-ios.git
Assuming you have a [working CocoaPods environment][dep-cocoapods], 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][license-content].
### Contributing
By contributing to this project you are agreeing to the terms stated in the [Contributor License Agreement (CLA)][contrib-cla]. For more details please see [CONTRIBUTING][contrib-readme].
## Credits
The logo is taken from the awesome Circle Icons set by Nick Roach.
2018-10-11 07:47:40 +00:00
- SwiftyBeaver - © 2015 Sebastian Kreutzberger
- MBProgressHUD - © 2009-2016 Matej Bukovinski
2018-10-11 07:13:19 +00:00
© 2002-2018 OpenVPN Inc. - OpenVPN is a registered trademark of OpenVPN Inc.
## Usage
2018-10-11 07:13:19 +00:00
You are strongly encouraged to read carefully both the [disclaimer][web-disclaimer] and [privacy policy][web-privacy] before using this software.
2018-10-11 07:13:19 +00:00
## Contacts
Twitter: [@keeshux][about-twitter]
Website: [passepartoutvpn.app][about-website]
[openvpn]: https://openvpn.net/index.php/open-source/overview.html
[app-api]: https://github.com/keeshux/passepartout-api
[app-net-pia]: https://www.privateinternetaccess.com
2018-10-11 07:13:19 +00:00
[dep-cocoapods]: https://guides.cocoapods.org/using/getting-started.html
[dep-jazzy]: https://github.com/realm/jazzy
[dep-brew]: https://brew.sh/
[dep-tunnelkit]: https://github.com/keeshux/tunnelkit
[dep-openssl]: https://www.openssl.org/
[license-content]: LICENSE
[contrib-cla]: CLA.rst
[contrib-readme]: CONTRIBUTING.md
[web-disclaimer]: https://passepartoutvpn.app/disclaimer/
[web-privacy]: https://passepartoutvpn.app/privacy/
2018-10-11 07:13:19 +00:00
[about-twitter]: https://twitter.com/keeshux
[about-website]: https://passepartoutvpn.app
2018-10-13 13:28:19 +00:00
[about-patreon]: https://www.patreon.com/keeshux
2018-10-11 07:13:19 +00:00
[about-testflight]: https://testflight.apple.com/join/XHzgXj6m
2018-10-18 23:29:11 +00:00
[about-reddit]: https://www.reddit.com/r/passepartout
[about-telegram]: https://t.me/passepartoutvpn