278 lines
18 KiB
HTML
278 lines
18 KiB
HTML
|
||
|
||
|
||
<!DOCTYPE html>
|
||
<html lang="en" itemscope itemtype="http://schema.org/Blog">
|
||
|
||
<head>
|
||
<title>Passepartout, OpenVPN client for iOS and macOS</title>
|
||
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||
|
||
<meta name="author" content="Davide De Rosa" />
|
||
<meta name="description" content="Passepartout is a non-official, user-friendly OpenVPN® client for iOS and macOS." />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
<meta name="apple-mobile-web-app-title" content="Passepartout">
|
||
|
||
<!-- Twitter -->
|
||
|
||
<meta name="twitter:card" content="summary" />
|
||
<meta name="twitter:site" content="@keeshux" />
|
||
<meta name="twitter:title" content="Passepartout" />
|
||
<meta name="twitter:url" content="https://passepartoutvpn.app" />
|
||
<meta name="twitter:image" content="https://passepartoutvpn.app/s/logo.png?1588412278" />
|
||
<meta name="twitter:description" content="Passepartout is a non-official, user-friendly OpenVPN® client for iOS and macOS." />
|
||
|
||
<!-- Facebook -->
|
||
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:url" content="https://passepartoutvpn.app" />
|
||
<meta property="og:title" content="Passepartout" />
|
||
<meta property="og:site_name" content="Passepartout" />
|
||
<meta property="og:description" content="Passepartout is a non-official, user-friendly OpenVPN® client for iOS and macOS." />
|
||
<meta property="og:image" content="https://passepartoutvpn.app/s/logo.png?1588412278" />
|
||
|
||
<!-- Google+ -->
|
||
|
||
<meta itemprop="name" content="Passepartout" />
|
||
<meta itemprop="description" content="Passepartout is a non-official, user-friendly OpenVPN® client for iOS and macOS." />
|
||
<meta itemprop="image" content="https://passepartoutvpn.app/s/logo.png?1588412278" />
|
||
|
||
<link rel="canonical" href="https://passepartoutvpn.app" />
|
||
<link rel="author" href="https://plus.google.com/+keeshux" />
|
||
|
||
<link rel="stylesheet" href="/s/main.css?1588412278" />
|
||
<link rel="stylesheet" href="/s/main-mobile.css?1588412278" media="only screen and (max-width: 600px)" />
|
||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous">
|
||
|
||
<link rel="shortcut icon" href="/s/favicon.ico?1588412278" />
|
||
<link rel="apple-touch-icon" href="/s/iphone-icon-precomposed.png?1588412278" />
|
||
</head>
|
||
|
||
<body>
|
||
<div id="container">
|
||
<header>
|
||
<a href="https://passepartoutvpn.app"><img id="logo" src="/s/logo.svg" alt="Passepartout" /></a>
|
||
<h1><a href="https://passepartoutvpn.app">Passepartout</a></h1>
|
||
<p>A non-official, user-friendly OpenVPN® client for iOS. <a href="https://www.kickstarter.com/projects/keeshux/passepartout-your-only-multi-provider-vpn-client/" target="_blank">Soon for macOS</a>.</p>
|
||
</header>
|
||
|
||
<main>
|
||
<h2 id="frequently-asked-questions">Frequently Asked Questions</h2>
|
||
|
||
<ul>
|
||
<li><a href="#im-unable-to-add-my-wi-fi-to-trusted-networks">I’m unable to add my Wi-Fi to trusted networks</a></li>
|
||
<li><a href="#i-had-purchased-this-app-before-yet-it-prompts-me-for-purchases">I had purchased this app before yet it prompts me for purchases</a></li>
|
||
<li><a href="#my-provider-is-not-listed">My provider is not listed</a></li>
|
||
<li><a href="#im-on-wi-fi-but-my-device-shows-im-connected-via-lte">I’m on Wi-Fi but my device shows I’m connected via LTE</a></li>
|
||
<li><a href="#why-is-location-access-required-when-trusting-a-wi-fi-network">Why is location access required when trusting a Wi-Fi network?</a></li>
|
||
<li><a href="#i-can-connect-to-the-vpn-but-the-internet-does-not-work">I can connect to the VPN but the Internet does not work</a></li>
|
||
<li><a href="#the-vpn-fails-with-auth-failed-or-immediately-disconnects-with-encryption-failed">The VPN fails with “Auth failed” or immediately disconnects with “Encryption failed”</a></li>
|
||
<li><a href="#my-provider-returns-auth-failed-but-my-credentials-are-correct">My provider returns “Auth failed” but my credentials are correct</a></li>
|
||
<li><a href="#the-configuration-file-contains-an-unsupported-option-external-file">The configuration file contains an unsupported option (external file)</a></li>
|
||
<li><a href="#why-dont-siri-shortcuts-execute-in-the-background">Why don’t Siri Shortcuts execute in the background?</a></li>
|
||
<li><a href="#it-seems-that-my-traffic-doesnt-necessarily-go-through-the-vpn">It seems that my traffic doesn’t necessarily go through the VPN</a></li>
|
||
<li><a href="#id-like-to-see-a-today-widget-in-the-notification-center">I’d like to see a Today Widget in the Notification Center</a></li>
|
||
<li><a href="#id-like-to-see-my-ip-address-in-the-app">I’d like to see my IP address in the app</a></li>
|
||
<li><a href="#mullvad-ignores-my-custom-dns-settings">Mullvad ignores my custom DNS settings</a></li>
|
||
<li><a href="#my-host-profile-ignores-dns-settings-pushed-by-server">My host profile ignores DNS settings pushed by server</a></li>
|
||
</ul>
|
||
|
||
<h3 id="im-unable-to-add-my-wi-fi-to-trusted-networks">I’m unable to add my Wi-Fi to trusted networks</h3>
|
||
|
||
<h4 id="190-ios">1.9.0 [iOS]</h4>
|
||
|
||
<p>If you see the “You are not connected to any Wi-Fi network.” message, it’s coming from a <a href="https://forums.developer.apple.com/thread/123544">known iOS 13 bug</a>.</p>
|
||
|
||
<p>Until Apple fixes it, you may want to try these workarounds:</p>
|
||
|
||
<ul>
|
||
<li>Reboot the device</li>
|
||
<li>Reinstall the app from scratch</li>
|
||
</ul>
|
||
|
||
<p>Unfortunately neither is guaranteed to work. While extremely sorry for the inconvenience, I can’t do more than this about this iOS bug.</p>
|
||
|
||
<p>Anyway, you can follow <a href="https://www.reddit.com/r/passepartout/comments/dt0fxy/read_this_if_you_cannot_add_your_wifi_to_trusted/">this Reddit discussion</a> for updates.</p>
|
||
|
||
<h4 id="181-and-before-ios">1.8.1 and before [iOS]</h4>
|
||
|
||
<p>The effect of the new location access requirement in iOS 13 is the inability to trust the connected Wi-Fi network. The app will either trust a bogus “Wi-Fi” or “WLAN” SSID name, or present the alert “You are not connected to any Wi-Fi network.”.</p>
|
||
|
||
<p>To work around this issue:</p>
|
||
|
||
<ul>
|
||
<li>Trust the network while the VPN is enabled and connected through such network.</li>
|
||
<li>Upgrade Passepartout to the latest version (much, much better option).</li>
|
||
</ul>
|
||
|
||
<h3 id="i-had-purchased-this-app-before-yet-it-prompts-me-for-purchases">I had purchased this app before yet it prompts me for purchases</h3>
|
||
|
||
<p>Since iOS version 1.9.0, Passepartout switched to a freemium model, which means free to download with paid in-app purchases. Of course, those who purchased former versions of the app will retain full access to all features and providers. Most of the time the upgrade will be seamless. In some cases, however, it will take those users an extra step to restore app functionalities.</p>
|
||
|
||
<p>Any of the hints below will fix the issue 100% of the times:</p>
|
||
|
||
<ul>
|
||
<li>Kill and relaunch the app. This is preferred when you re-download the app from scratch.</li>
|
||
<li>When prompted for purchase, tap “Restore purchases”. You will only be asked for your Apple ID credentials, no money involved.</li>
|
||
</ul>
|
||
|
||
<p>If you still struggle, don’t hesitate to get in touch.</p>
|
||
|
||
<h3 id="my-provider-is-not-listed">My provider is not listed</h3>
|
||
|
||
<p>You should contact with your provider to double check if there is interest in being added to Passepartout. Beware that some may be concerned instead. Ultimately, you can submit your provider request for a viability review to <a href="mailto:providers@passepartoutvpn.app">providers@passepartoutvpn.app</a>.</p>
|
||
|
||
<h3 id="im-on-wi-fi-but-my-device-shows-im-connected-via-lte">I’m on Wi-Fi but my device shows I’m connected via LTE</h3>
|
||
|
||
<p>The Wi-Fi/LTE icon (replace LTE with any cellular signal) while on VPN has been broken since iOS 10 or the like. It’s something that Apple is unable to fix or doesn’t bother fixing.</p>
|
||
|
||
<p>You should do a simple test. Verify your data consumption with your LTE provider website, normally phone providers have that. Now, when on VPN and the LTE icon appears in spite of Wi-Fi, download a relevant chunk of data. You may then learn that the plan is unaffected, implying that you’re actually connected via Wi-Fi.</p>
|
||
|
||
<p>I haven’t found a workaround for this and it’s been there for almost two years. Yeah, it’s a shame.</p>
|
||
|
||
<h3 id="why-is-location-access-required-when-trusting-a-wi-fi-network">Why is location access required when trusting a Wi-Fi network?</h3>
|
||
|
||
<p>Starting from iOS 12 (or 13?), iOS has restricted what apps can learn about Wi-Fi networks. Location access has become a requirement to access the SSID of the connected Wi-Fi, which is crucial to add it to trusted networks.</p>
|
||
|
||
<p>That’s why, starting from iOS app 1.9.0, Passepartout will prompt you for a location permission when trusting a Wi-Fi network. Make sure that location services (under “Privacy”) are enabled on your device, otherwise the app will be unable to ask the permission in the first place.</p>
|
||
|
||
<h3 id="i-can-connect-to-the-vpn-but-the-internet-does-not-work">I can connect to the VPN but the Internet does not work</h3>
|
||
|
||
<p>It can be several reasons, yet most of the time there could be a mismatch in compression framing. E.g. server is using LZO compression framing whereas the client is not, or vice versa. Sometimes the app gracefully shuts down with “Compression unsupported”, sometimes the error can be subtle and packet transmission could just fail silently, resulting in no data exchanged over the wire.</p>
|
||
|
||
<p>Therefore, make sure that compression directives are compatible between client and server before looking into routing issues. Also read the next FAQ entry, as it may be another cause of dead data link.</p>
|
||
|
||
<h3 id="the-vpn-fails-with-auth-failed-or-immediately-disconnects-with-encryption-failed">The VPN fails with “Auth failed” or immediately disconnects with “Encryption failed”</h3>
|
||
|
||
<p>This may happen when you rely on default OpenVPN encryption, which is normally Blowfish (BF-CBC). The algorithm, besides being unsupported by Passepartout, is also weak and therefore discouraged. In order to fix this issue, you must switch to AES encryption. Passepartout only supports AES, be it in CBC or GCM mode.</p>
|
||
|
||
<p>Set encryption explicitly in the server configuration, e.g.:</p>
|
||
|
||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>cipher AES-128-CBC
|
||
auth SHA1
|
||
</code></pre></div></div>
|
||
|
||
<p>and don’t forget to update the client .ovpn as well with the <strong>exact same parameters</strong>.</p>
|
||
|
||
<p>If you want to leverage newer AES-GCM encryption, you could just use:</p>
|
||
|
||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ncp-ciphers AES-256-GCM # or AES-128-GCM
|
||
</code></pre></div></div>
|
||
|
||
<p>and the client wouldn’t need to change a thing, because the algorithm will be enforced by the server no matter what.</p>
|
||
|
||
<h3 id="my-provider-returns-auth-failed-but-my-credentials-are-correct">My provider returns “Auth failed” but my credentials are correct</h3>
|
||
|
||
<p>Bear in mind that some providers require specific credentials for their direct OpenVPN servers. That’s why Passepartout, in those cases, has a convenient link in the bottom of the Account screen showing you where to find such credentials on your provider’s website.</p>
|
||
|
||
<p>Regarding Mullvad in particular, remember to strip spaces from the username.</p>
|
||
|
||
<h3 id="the-configuration-file-contains-an-unsupported-option-external-file">The configuration file contains an unsupported option (external file)</h3>
|
||
|
||
<p>Due to easier interoperability, the app does not support external files in the .ovpn main configuration. That’s because more often than not, it may not make sense referring to relative paths in a mobile device environment. Think of the Mail app for example. The fix is straightforward though, say you have an external <code class="highlighter-rouge">ca</code> file:</p>
|
||
|
||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ca my-ca.crt
|
||
</code></pre></div></div>
|
||
|
||
<p>Just replace it with:</p>
|
||
|
||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code><ca>
|
||
...
|
||
content of my-ca.crt
|
||
...
|
||
</ca>
|
||
</code></pre></div></div>
|
||
|
||
<p>The same applies to other settings like <code class="highlighter-rouge">cert</code>, <code class="highlighter-rouge">key</code>, <code class="highlighter-rouge">tls-auth</code> and <code class="highlighter-rouge">tls-crypt</code>. In the specific case of <code class="highlighter-rouge">tls-auth</code> with a key direction, like:</p>
|
||
|
||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>tls-auth ta.key 1
|
||
</code></pre></div></div>
|
||
|
||
<p>Replace with:</p>
|
||
|
||
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code><tls-auth>
|
||
...
|
||
content of ta.key
|
||
...
|
||
</tls-auth>
|
||
key-direction 1
|
||
</code></pre></div></div>
|
||
|
||
<h3 id="why-dont-siri-shortcuts-execute-in-the-background">Why don’t Siri Shortcuts execute in the background?</h3>
|
||
|
||
<p>Unfortunately Apple is guilty of not fixing a related bug. I mean, it’s been there for years -since iOS 9 with my first bug report dating back to 2017- without them caring at all. No feedback and not even a proper response. And of course, no progress.</p>
|
||
|
||
<p>This is one of the several threads remarking the issue:</p>
|
||
|
||
<p><a href="https://forums.developer.apple.com/thread/96020">https://forums.developer.apple.com/thread/96020</a></p>
|
||
|
||
<p>Now, due to this bug, App Extensions can’t control VPN using custom protocols -Siri Intents Extension in this case, in order to run shortcuts in the background. Only native VPN protocols work (IKEv2, IPsec etc.).</p>
|
||
|
||
<p>In short, there’s really <em>nothing</em> I can do about it.</p>
|
||
|
||
<h3 id="it-seems-that-my-traffic-doesnt-necessarily-go-through-the-vpn">It seems that my traffic doesn’t necessarily go through the VPN</h3>
|
||
|
||
<p>Unless <code class="highlighter-rouge">redirect-gateway</code> is either:</p>
|
||
|
||
<ul>
|
||
<li>Explicitly added to the .ovpn configuration</li>
|
||
<li>Pushed from the server</li>
|
||
</ul>
|
||
|
||
<p>the default gateway is NOT changed. That is, your external IP won’t be the VPN’s IP. Double check the “Default gateway” entry in the “Configuration” page to see how your host profile looks like. On the other hand, the default gateway is always enforced for provider profiles.</p>
|
||
|
||
<p>This has been recently fixed in Passepartout 1.6.0 as it’s the standard OpenVPN behavior. Before 1.6.0, Passepartout erroneously assumed that all traffic should go through the VPN implicitly.</p>
|
||
|
||
<p>Try <a href="https://www.iplocation.net/">this website</a> to test your external IP before and after this change.</p>
|
||
|
||
<h3 id="id-like-to-see-a-today-widget-in-the-notification-center">I’d like to see a Today Widget in the Notification Center</h3>
|
||
|
||
<p>The reason behind not providing a widget is exactly the same as Siri Shortcuts. A widget would still need to open the app, thus making it quite useless.</p>
|
||
|
||
<h3 id="id-like-to-see-my-ip-address-in-the-app">I’d like to see my IP address in the app</h3>
|
||
|
||
<p>The reason why Passepartout does not present any personal information in app is <em>privacy</em>. Obtaining one’s IP address, regardless of being connected to a VPN or not, involves querying -and trusting- a third party service. Knowing such info is also of little use, given that most of the time you don’t want to share your VPN IP address and therefore link your identity to it. However, this feature might be introduced later as a diagnostic tool.</p>
|
||
|
||
<h3 id="mullvad-ignores-my-custom-dns-settings">Mullvad ignores my custom DNS settings</h3>
|
||
|
||
<p>It looks like Mullvad “hijacks” DNS on default endpoints, making custom DNS settings irrelevant. In order to do custom DNS with Mullvad, make sure to explicitly pick the “Custom DNS” preset, which will let you connect to the UDP:1400 and TCP:1401 endpoints. These endpoints do support custom DNS servers instead.</p>
|
||
|
||
<p>Until version 1.7.0 for iOS, you will have to do a manual “Refresh infrastructure” in order to access the new preset.</p>
|
||
|
||
<p>Read the <a href="https://github.com/passepartoutvpn/api-source-mullvad/issues/1">related report on GitHub</a>.</p>
|
||
|
||
<h3 id="my-host-profile-ignores-dns-settings-pushed-by-server">My host profile ignores DNS settings pushed by server</h3>
|
||
|
||
<p>Passepartout is slightly different from OpenVPN Connect when it comes to DNS. Due to the ability of overriding network settings in general, Passepartout lets the user specify what DNS servers to pick without any ambiguity (“Read .ovpn”, “Pull from server” or “Manual”). On the other hand, OpenVPN Connect merges and uses both the servers defined in the .ovpn file (first) and those pushed as <code class="highlighter-rouge">dhcp-option</code> by the VPN server (last). With this in mind, you should now understand why DNS in some networks may behave differently than the official OpenVPN clients.</p>
|
||
|
||
|
||
</main>
|
||
|
||
<footer>
|
||
<ul class="contacts">
|
||
<li><a href="https://www.kickstarter.com/projects/keeshux/passepartout-your-only-multi-provider-vpn-client/" title="New roadmap on Kickstarter!" class="fab fa-kickstarter"></a></li>
|
||
<li><a href="https://github.com/passepartoutvpn" title="Passepartout on GitHub" class="fab fa-github"></a></li>
|
||
<!-- li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KBT3G3AC7S9CC&source=url" title="Support the author on PayPal!" class="fab fa-paypal"></a></li -->
|
||
<li><a href="https://www.producthunt.com/posts/passepartout-vpn" title="Passepartout on Product Hunt" class="fab fa-product-hunt"></a></li>
|
||
<li><a href="https://twitter.com/keeshux" title="Follow the author on Twitter!" class="fab fa-twitter"></a></li>
|
||
<li><a href="mailto:info@passepartoutvpn.app" title="Submit an inquiry" class="fa fa-envelope"></a></li>
|
||
</ul>
|
||
<ul class="secondary">
|
||
<li><a href="/faq/" title="Frequently Asked Questions">FAQ</a></li>
|
||
<li>—</li>
|
||
<li><a href="/disclaimer/" title="Disclaimer">Disclaimer</a></li>
|
||
<li>—</li>
|
||
<li><a href="/privacy/" title="Privacy policy">Privacy policy</a></li>
|
||
</ul>
|
||
<p class="notice">
|
||
Copyright (c) 2020 <a href="https://davidederosa.com" title="The author website">Davide De Rosa</a><br />
|
||
The logo is taken from the awesome <a href="https://www.iconfinder.com/iconsets/circle-icons-1" title="Circle Icons">Circle Icons</a> set by <a href="https://www.elegantthemes.com/" title="Elegant Themes">Nick Roach</a>
|
||
</p>
|
||
</footer>
|
||
|
||
</div>
|
||
</body>
|
||
</html>
|