passepartout-apple/README.md

229 lines
9.5 KiB
Markdown
Raw Normal View History

2018-11-01 15:38:03 +00:00
<p style="text-align: center; padding: 0em 1em"><img src="res/logo.svg" width="300" height="300" /></p>
2018-10-19 00:13:20 +00:00
![iOS 15+](https://img.shields.io/badge/iOS-15+-green.svg)
![macOS 12+](https://img.shields.io/badge/macOS-12+-green.svg)
2023-12-16 19:58:54 +00:00
![tvOS 17+](https://img.shields.io/badge/tvOS-17+-green.svg)
[![TunnelKit 6.3](https://img.shields.io/badge/TunnelKit-6.3-d69c68.svg)][dep-tunnelkit]
2021-11-28 15:54:35 +00:00
[![License GPLv3](https://img.shields.io/badge/License-GPLv3-lightgray.svg)](LICENSE)
[![Unit Tests](https://github.com/passepartoutvpn/passepartout-apple/actions/workflows/test.yml/badge.svg)](https://github.com/passepartoutvpn/passepartout-apple/actions/workflows/test.yml)
[![Release](https://github.com/passepartoutvpn/passepartout-apple/actions/workflows/release.yml/badge.svg)](https://github.com/passepartoutvpn/passepartout-apple/actions/workflows/release.yml)
2021-02-12 00:57:58 +00:00
# [Passepartout][about-website]
2024-09-17 19:57:30 +00:00
Passepartout is your go-to app for VPN and privacy. [OpenVPN®][openvpn] and [WireGuard®][wireguard] client for Apple platforms, the OpenVPN stack also implements the [Tunnelblick XOR patch][openvpn-xor-patch].
2018-10-19 07:33:58 +00:00
[![Join Reddit](https://img.shields.io/badge/discuss-Reddit-orange.svg)][about-reddit]
2023-07-05 16:07:47 +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%20a%20user-friendly%2C%20open-source%20VPN%20client%20for%20%23iOS%20and%20%23macOS)
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.
2021-01-01 16:25:29 +00:00
[<img src="res/ios/snap-home.png" width="300">](res/ios/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 flags that are today obsolete or rarely used. With good approximation, it mimics the most relevant features you will find in the official OpenVPN and WireGuard clients.
Not to mention iCloud support, which makes your VPN profiles available on all your devices without any additional effort!
2018-10-11 07:13:19 +00:00
### On demand
2018-10-11 07:13:19 +00:00
Define rules for Wi-Fi, cellular (iOS) or wired (macOS) networks to fine-grain how you automate your VPN connectivity.
2021-01-01 16:25:29 +00:00
[<img src="res/ios/snap-on-demand.png" width="300">](res/ios/snap-on-demand.png)
2018-10-11 07:13:19 +00:00
### Siri shortcuts
2018-10-11 07:13:19 +00:00
Enjoy the convenience of Siri shortcuts to automate frequent VPN actions.
2018-10-11 07:13:19 +00:00
2021-01-01 16:25:29 +00:00
[<img src="res/ios/snap-shortcuts.png" width="300">](res/ios/snap-shortcuts.png)
2018-10-11 07:13:19 +00:00
2019-05-01 21:03:06 +00:00
### Override network settings
Override default gateway, DNS (plus DoH/DoT), proxy and MTU settings right from the app. Don't bother editing the configuration file or your server settings. This is especially useful if you want to override your provider settings, e.g. to integrate your own DNS-based ad blocking.
2021-01-01 16:25:29 +00:00
[<img src="res/ios/snap-network.png" width="300">](res/ios/snap-network.png)
2019-05-01 21:03:06 +00:00
### See your connection parameters
Passepartout strives for transparency, by showing a fairly detailed yet understandable resume of your connection parameters.
2021-01-01 16:25:29 +00:00
[<img src="res/ios/snap-parameters.png" width="300">](res/ios/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:
2020-05-09 21:14:36 +00:00
- [Hide.me][app-net-hideme]
2019-03-25 20:18:41 +00:00
- [Mullvad][app-net-mullvad]
2019-04-11 17:14:18 +00:00
- [NordVPN][app-net-nordvpn]
2021-07-29 23:42:17 +00:00
- [Oeck][app-net-oeck]
- [Private Internet Access][app-net-pia]
2019-04-06 12:32:41 +00:00
- [ProtonVPN][app-net-protonvpn]
2022-07-16 07:12:42 +00:00
- [SurfShark][app-net-surfshark]
2020-05-15 11:31:48 +00:00
- [TorGuard][app-net-torguard]
- [TunnelBear][app-net-tunnelbear]
2019-04-26 12:25:06 +00:00
- [VyprVPN][app-net-vyprvpn]
2019-04-02 22:11:48 +00:00
- [Windscribe][app-net-windscribe]
2018-10-11 07:13:19 +00:00
In preset mode, you can pick pre-resolved IPv4 endpoints when DNS is problematic.
### Import configuration files
2018-10-11 07:13:19 +00:00
2022-06-01 19:12:52 +00:00
Passepartout can import .ovpn (OpenVPN) and .conf/.wg (WireGuard) configuration files as is. You can find details on what may or may not work in the related section of the [TunnelKit README][dep-tunnelkit-ovpn].
2018-10-11 07:13:19 +00:00
## Installation
### Requirements
2023-12-16 19:58:54 +00:00
- iOS 15+ / macOS 12+ / tvOS 17+
- Xcode 13+ (SwiftPM 5.3)
2018-10-11 07:13:19 +00:00
- Git (preinstalled with Xcode Command Line Tools)
- Ruby (preinstalled with macOS)
- golang
2018-10-11 07:13:19 +00:00
It's highly recommended to use the Git and Ruby packages provided by [Homebrew][dep-brew].
### Testing
Download the app codebase locally:
2021-01-01 16:25:29 +00:00
$ git clone https://github.com/passepartoutvpn/passepartout-apple.git
2018-10-11 07:13:19 +00:00
Enter the directory and clone the submodules:
$ git submodule init
$ git submodule update
For everything to work properly, make sure to comply with all the capabilities/entitlements, both in the main app and the tunnel extension target.
2018-10-11 07:13:19 +00:00
2021-01-01 16:25:29 +00:00
Make sure to update `Config.xcconfig` according to your developer account and your identifiers:
CFG_TEAM_ID = A1B2C3D4E5
2021-11-16 11:18:02 +00:00
CFG_APP_ID = com.example.MyApp
CFG_APP_LAUNCHER_ID = com.example.MyApp.Launcher // macOS only
CFG_GROUP_ID = com.example.MyAppGroup // omit the "group." prefix
2021-11-16 11:18:02 +00:00
CFG_APPSTORE_ID = 1234567890 // optional for development, can be bogus
Also, `PATH` must include your golang installation in order to compile WireGuardKit:
PATH = $(PATH):/path/to/golang
To eventually test the app, open `Passepartout.xcodeproj` in Xcode and run the `Passepartout` target.
2018-10-11 07:13:19 +00:00
## License
2023-03-17 15:56:19 +00:00
Copyright (c) 2023 Davide De Rosa. All rights reserved.
2020-05-11 07:53:44 +00:00
2018-10-11 07:13:19 +00:00
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.
2019-04-05 11:14:03 +00:00
The country flags are taken from: <https://github.com/lipis/flag-icon-css/>
2020-05-11 07:53:44 +00:00
- Kvitto - Copyright (c) 2015 Oliver Drobnik
- lzo - Copyright (c) 1996-2017 Markus F.X.J. Oberhumer
- PIATunnel - Copyright (c) 2018-Present Private Internet Access
- SwiftGen - Copyright (c) 2018 SwiftGen
- SwiftyBeaver - Copyright (c) 2015 Sebastian Kreutzberger
2018-10-11 07:47:40 +00:00
### OpenVPN
2018-11-30 19:39:28 +00:00
2023-12-17 22:06:29 +00:00
© Copyright 2023 OpenVPN | OpenVPN is a registered trademark of OpenVPN, Inc.
### WireGuard
2023-12-17 22:06:29 +00:00
© Copyright 2015-2023 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/][dep-openssl])
2018-10-11 07:13:19 +00:00
2022-10-06 19:40:33 +00:00
### Community
A _huge_ credit goes to:
- My tiny group of 3 private beta testers
- The 3600+ public testers using the beta on a daily basis
- The continued support and feedback from the [Passepartout community on Reddit][about-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
2019-04-23 13:46:03 +00:00
## Translations
2019-08-10 08:08:17 +00:00
- Chinese (Simplified): OnlyThen - [@OnlyThen](https://github.com/OnlyThen)
2019-05-20 11:55:32 +00:00
- Dutch: Norbert de Vreede - [@paxpacis](https://github.com/paxpacis)
2019-05-27 12:59:21 +00:00
- English: Davide De Rosa (author)
2019-05-20 11:55:32 +00:00
- French: Julien Laniel - [@linkjul](https://github.com/linkjul)
- German: Christian Lederer, Theodor Tietze
2019-05-20 11:55:32 +00:00
- Greek: Konstantinos Koukoulakis
2019-05-27 12:59:21 +00:00
- Italian: Davide De Rosa (author)
- Polish: Piotr Książek
2019-04-23 13:46:03 +00:00
- Portuguese: Helder Santana - [@heldr](https://github.com/heldr)
- Russian: Alexander Korobynikov
2019-05-20 11:55:32 +00:00
- Spanish: Davide De Rosa (author), Elena Vivó
- Swedish: Henry Gross-Hellsen - [@cowpod](https://github.com/cowpod)
- Ukranian: Dmitry Chirkin - [@josser](https://github.com/josser)
2019-04-23 13:46:03 +00:00
## 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]
2020-11-18 10:00:25 +00:00
Website: [passepartoutvpn.app][about-website] ([FAQ][about-faq])
2018-10-11 07:13:19 +00:00
[openvpn]: https://openvpn.net/index.php/open-source/overview.html
[openvpn-xor-patch]: https://tunnelblick.net/cOpenvpn_xorpatch.html
[wireguard]: https://www.wireguard.com/
2018-10-11 07:13:19 +00:00
2018-11-07 22:42:09 +00:00
[app-api]: https://github.com/passepartoutvpn/passepartout-api
2020-05-09 21:14:36 +00:00
[app-net-hideme]: https://member.hide.me/en/checkout?plan=new_default_prices&coupon=6CB-BDB-802&duration=24
2019-03-25 20:18:41 +00:00
[app-net-mullvad]: https://mullvad.net/en/account/create/
2019-04-15 11:44:07 +00:00
[app-net-nordvpn]: https://go.nordvpn.net/SH21Z
2021-07-29 23:42:17 +00:00
[app-net-oeck]: https://www.oeck.com
[app-net-pia]: https://www.privateinternetaccess.com/pages/buy-vpn/
2019-05-26 22:29:53 +00:00
[app-net-protonvpn]: https://proton.go2cloud.org/SHZ
2022-07-16 07:12:42 +00:00
[app-net-surfshark]: https://surfshark.com
2020-05-15 11:31:48 +00:00
[app-net-torguard]: https://torguard.net/
2019-05-26 22:29:53 +00:00
[app-net-tunnelbear]: https://www.tunnelbear.com/
2019-04-26 12:25:06 +00:00
[app-net-vyprvpn]: https://www.vyprvpn.com/
2019-04-02 22:11:48 +00:00
[app-net-windscribe]: https://secure.link/kCsD0prd
2018-10-11 07:13:19 +00:00
[dep-brew]: https://brew.sh/
2019-05-14 09:00:53 +00:00
[dep-tunnelkit]: https://github.com/passepartoutvpn/tunnelkit
[dep-tunnelkit-ovpn]: https://github.com/passepartoutvpn/tunnelkit#support-for-ovpn-configuration
2018-10-11 07:13:19 +00:00
[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
2020-11-18 10:00:25 +00:00
[about-faq]: https://passepartoutvpn.app/faq/
2018-10-18 23:29:11 +00:00
[about-reddit]: https://www.reddit.com/r/passepartout