Open codenyte opened 8 months ago
Thanks for this feature request! We'll discuss this internally.
Thanks for reviewing this! I've been waiting for this feature for years.
Needs much more than just this. The app is severely lacking on iOS compared to the other operating systems.
Shaddowsocks no way to use. No way to properly configure and use bridges ect. lack of documentation for iOS. Just have to pray and hope the bridge option has enough alternate configurations to circumvent any censorship when you arrive to the destination
Would love to see this land in iOS! :-)
Feature is now on iOS build 2024.5 (2) on testflight
Awesome, is this also planned for Android?
Awesome, is this also planned for Android?
its slightly not ready for prime time. on iOS ive noticed the tunnel drops the connection quite a bit. especially if youre double hopping between 2 servers in the same country.
What makes this so difficult on mobile? It works just fine on desktop? And is this behavior also observable when just using the WireGuard profile with a multi-hop configuration?
Awesome, is this also planned for Android?
The feature is currently quite high up in our backlog, but we don't have a plan for when to work on it yet.
but we don't have a plan for when to work on it yet.
This is very sad to hear.
update on this feature with the iOS Mullvad app, works great for it being a beta feature.
Using version 2024.8-beta4
exclusively on wireguard tunnels only and Quantum-resistant tunnel enabled.
there is a weird bug that might be related to some sort of networking bug where the tunnel interface isn'y properly restarted which results in a connecting loop.
Workaround is to disconnect and force crash the app then attempt to establish the connection again. (or just wait a minute then try again? hit or miss on this one)
I've attached the full log: mullvad-2024.8b8-multihop.log on a successful multihop established tunnel
System information:
id: C11196FC-D007-4A5E-9593-39833E249737
mullvad-product-version: 2024.8-beta4
os: iOS 18.0.1
====================
[REDACTED CONTAINER PATH]/net.mullvad.MullvadVPN_09-10-2024T23:01:18.log
====================
MullvadVPN version 2024.8-beta4
[09/10/2024 @ 23:01:18][AppDelegate][debug] Registered app refresh task.
[09/10/2024 @ 23:01:18][AppDelegate][debug] Registered address cache update task.
[09/10/2024 @ 23:01:18][AppDelegate][debug] Registered private key rotation task.
[09/10/2024 @ 23:01:19][RelayCacheTracker][debug] Start periodic relay updates.
[09/10/2024 @ 23:01:19][AddressCache.Tracker][debug] Start periodic address cache updates.
[09/10/2024 @ 23:01:19][AddressCache.Tracker][debug] Schedule address cache update at 10/10/2024 @ 20:54:18.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-relays.1 Send request to /app/v1/relays via [REDACTED]:443 using url-session.
[09/10/2024 @ 23:01:19][TunnelStore][debug] Loaded persistent tunnel: DBDD4243-FC5D-4C83-9895-521356B17969 with status: connected.
[09/10/2024 @ 23:01:19][TunnelManager][debug] Refresh tunnel status for new tunnel.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-access-token.3 Send request to /auth/v1/token via [REDACTED]:443 using url-session.
[09/10/2024 @ 23:01:19][ApplicationRouter][debug] Presenting .main.
[09/10/2024 @ 23:01:19][AppDelegate][debug] Finished initialization.
[09/10/2024 @ 23:01:19][StorePaymentManager][debug] Load transaction log.
[09/10/2024 @ 23:01:19][StorePaymentManager][debug] Start payment queue monitoring
[09/10/2024 @ 23:01:19][TunnelManager][info] Status: connected (PQ) daita: false to us-nyc-wg-403 via us-chi-wg-305, network reachable.
[09/10/2024 @ 23:01:19][TunnelManager][debug] Start polling tunnel status every 5s.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-relays.1 Response: 200.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-access-token.3 Response: 200.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-my-account.2 Send request to /accounts/v1/accounts/me via [REDACTED]:443 using url-session.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-my-account.2 Response: 200.
[09/10/2024 @ 23:01:19][REST.NetworkOperation][debug] name=get-device.4 Send request to /accounts/v1/devices/{id} via [REDACTED]:443 using url-session.
[09/10/2024 @ 23:01:20][REST.NetworkOperation][debug] name=get-device.4 Response: 200.
[09/10/2024 @ 23:01:22][ApplicationRouter][debug] Presenting .settings(nil).
[09/10/2024 @ 23:01:22][SettingsNavigationCoordinator][debug] Navigate from none -> root
[09/10/2024 @ 23:01:22][REST.NetworkOperation][debug] name=get-device.5 Send request to /accounts/v1/devices/{id} via [REDACTED]:443 using url-session.
[09/10/2024 @ 23:01:22][REST.NetworkOperation][debug] name=get-device.5 Response: 200.
[09/10/2024 @ 23:01:23][SettingsNavigationCoordinator][debug] Navigate from root -> problemReport
otherwise, running automations for toggling Cellular Data
the tunnel will restarts the tunnel as expected by connecting to a new server.
@albin-mullvad any progress on this feature for Android? I must say I find it strange iOS managed to get prioritized for such a feature when that OS is a complete mess.
@albin-mullvad any progress on this feature for Android? I must say I find it strange iOS managed to get prioritized for such a feature when that OS is a complete mess.
Say what you will man but your beautiful android system had a severe bug. https://www.bleepingcomputer.com/news/security/android-bug-leaks-dns-queries-even-when-vpn-kill-switch-is-enabled/
On top of that developing for android is a nightmare, considering how many different systems there are and versions, coustom hardware and software layered ontop of the already extensive fragmentation. Ect.
See what you will, but it is pretty logical to focus on a system that will give you very nice consistent results and afterwards you're gonna focus on the system that's more fragmented if your goal is to solidify an idea such as multi hop or obfuscation; Then do it on system that is more stable. Once you see that it's possible then you can go ahead and apply what you have learned onto a more difficult and fragmented system.
That's exactly why developing for Linux is so annoying because there are so many distributions. It's easier to either develop for Mac or for windows because the Linux first philosophy is just so complicated at times and the workarounds generally involve sandboxes, etc. Same applies for phones ect.
So give the developer some time and mullvad will get to a point where it's available on every system with full features
What does that tirade have to do with what I said and who said anything about Android being beautiful?
Thanks for the continued interest of adding Multihop to the Android app! I'm glad to let you know we recently started the implementation.
Good to hear that.
Thanks for the continued interest of adding Multihop to the Android app! I'm glad to let you know we recently started the implementation.
WOOOO can't wait for this to work smooth on Graphene <3
I would love to see that too!
I have checked if others have suggested this already
Feature description
WireGuard Multihop for the Android and iOS app
Alternative solutions
Using the WireGuard app with a multihop configuration. Not a great solution though. It would be much better if this was possible in the official mobile app.
Type of feature
Operating System