ivpn / ios-app

Official IVPN iOS app
https://www.ivpn.net/apps-ios
GNU General Public License v3.0
450 stars 93 forks source link

As a user, I want to toggle Kill Switch #146

Closed gorkapernas closed 2 years ago

gorkapernas commented 3 years ago

Description:

Implement rule that forces system to send all network traffic over the tunnel.

jurajhilje commented 3 years ago

Kill Switch option is available on iOS 14+, but not working properly so it cannot be implemented until fixed by Apple.

More info on the issue: https://developer.apple.com/forums/thread/677156 https://developer.apple.com/forums/thread/677102 https://developer.apple.com/forums/thread/653116 https://developer.apple.com/forums/thread/651004

jurajhilje commented 3 years ago

@gorkapernas Implemented for WireGuard and OpenVPN only, until Apple fixes the bug that affects IKEv2.

jurajhilje commented 3 years ago

@gorkapernas This is available in TestFlight 2.5.0 (7) build.

jurajhilje commented 3 years ago

@gorkapernas New build is available in TF.

jurajhilje commented 3 years ago

@gorkapernas https://developer.apple.com/news/releases/ iOS and iPadOS 15.1 RC is now available, so we can do the final testing for the Kill Switch on this version.

gorkapernas commented 3 years ago

Verified on version 2.5.0 latest beta (21), the KillSwitch works as expected.

Please note that we could not test Local Network with KillSwitch as the feature to bypass VPN for local networks is in progress -> https://github.com/ivpn/ios-app/issues/136

Lastly, there is one issue with MultiHop for WireGuard + KillSwitch, sometimes there is no traffic when using both, see https://github.com/ivpn/ios-app/issues/208 for further details. Apparently, this is an Apple issue and can be resolved by removing all VPN profiles from iOS settings and reconnecting again.