3 ms·
Running a VPN server on iOS is against AppStore's Guidelines
- deleted 4y ago[deleted]
- aaaaaaaaaaaaab 4y agoThis is no longer the case. You can implement VPN via NetworkExtensions: https://developer.apple.com/documentation/networkextension https://developer.apple.com/documentation/networkextension
- jeroenhd 4y agoAm I misunderstanding this or is this person actually asking about an VPN client rather than a server? I don't think running a server makes sense in the context of redirecting DNS packets. Surely iOS allows some kind of soft VPN API that this developer can use?
- mccorrinall 4y agoI think they are actually asking for a server. I used mullvad vpn in the past, and it looks like it creates a local ipsec server, and than tunnels that traffic through wireguard to mullvad. The user is probably looking for something similar, as ios only supports ipsec/ikev2/l2tp natively. If you want to use wireguard or openvpn you have to get creative.
- woodruffw 4y ago> The user is probably looking for something similar, as ios only supports ipsec/ikev2/l2tp natively. If you want to use wireguard or openvpn you have to get creative. Hm? There's been an official Wireguard app on the App Store for years[1]. I've been a happy user of it since day 1. [1]: https://apps.apple.com/us/app/wireguard/id1441195209 https://apps.apple.com/us/app/wireguard/id1441195209
- jeroenhd 4y agoThe iOS documentation seems to suggest this may not be necessary, though I'm not well versed in the iOS API. Setting up a double VPN client/server system seems unnecessarily complicated to me. I wonder what drove Mullvad to this solution.
- mccorrinall 4y agoOkay, I just dove into wireguard‘s source code and it looks like I made wrong assumptions. When I used mullvad or wireguard, it always showed „127.0.0.1“ as the server, however, according to wireguard‘s source, this is just set as a placeholder. I assume that mullvad used this code to implement their app too. https://github.com/WireGuard/wireguard-apple/blob/13b720442d47b67a18d6841aa34569633a22b458/Sources/WireGuardKit/PacketTunnelSettingsGenerator.swift#L84 https://github.com/WireGuard/wireguard-apple/blob/13b720442d... https://ibb.co/x5kwxZW https://ibb.co/x5kwxZW
- woodruffw 4y agoI think you're right: they seem to be asking why they can't run an indefinite task that connects to a VPN server. And you're right that iOS does have an API for this: the NetworkExtension framework explicitly allows for custom VPN solutions[1]. [1]: https://developer.apple.com/documentation/networkextension https://developer.apple.com/documentation/networkextension
- geoffpado 4y ago(2016)
- alphabettsy 4y agoThis thread is five years old, and seems like outdated information.