Block connections without VPN

Just curious, does iOS has Block Connections without VPN like as in Android (https://drive.google.com/a/pathmazing.com/file/d/0B73sANZovF2hbE5Bdm1GcVlVNlU/view?usp=sharing). This feature is blocking the device connection whenever it doesn't connect to VPN. Does anyone know about this one?

I’m not able to read the link you posted (it keeps asking me to sign in).

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

You can check it now.

You can check it now.

Ta.

Are you asking about iOS itself? Or are you asking whether it’s possible to create a VPN app that implements this feature?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I mean weather it's possible to create a VPN app that implements this feature?

I mean weather it's possible to create a VPN app that implements this feature?

Using a custom VPN transport? That is, creating a Network Extension packet tunnel or app proxy provider? Or using one of the built-in VPN transports? That is, setting up IKEv2 or IPsec via

NEVPNManager
class, aka Personal VPN?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I have already created a VPN app. What I want now is basically adding a feature of blocking the device internet connection whenever that device doesn't connect to my app VPN. Is this possible?

I have already created a VPN app.

Cool.

What I want now is basically adding a feature of blocking the device internet connection whenever that device doesn't connect to my app VPN. Is this possible?

It depends on your expected use case:

  • If you’re targeting managed devices — so this requirement is imposed by the device manager and must not be disabled by the user — then there’s no answer for you here. This technology is known as Always-On VPN, and is not supported for third-party VPN transports (r. 21363342)

  • If you’re targeting normal users — so the user willingly opts in to this requirement and thus you can be reasonably certain they they’re not actively trying to defeat it — you may be able to create a solution via the VPN On Demand infrastructure (exposed at the API level via the

    onDemandEnabled
    and
    onDemandRules
    properties of
    NEVPNManager
    ). I’ve not looked at how well that works in practice. If this looks interesting to you, you should try it out and come back if you have questions.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

My Target is:

If you're targeting normal users — so the user willingly opts in to this requirement and thus you can be reasonably certain they they’re not actively trying to defeat it


Which rules should I use NEOnDemandRuleConnect, NEOnDemandRuleDisconnect, NEOnDemandRuleEvaluateConnection, or NEOnDemandRuleIgnore to archive what I want (blocking the internet connection whenever that device doesn't connect to my app VPN ? I tried setting those rules, but it doesn't work for me.

Which rules should I use …

As I mentioned earlier, I’ve not looking into this in practice.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
Block connections without VPN
 
 
Q