The principal class for a DNS proxy provider app extension.
- iOS 11.0+
- macOS 10.15+Beta
- UIKit for Mac 13.0+Beta
A DNS proxy allows your app to intercept all DNS traffic generated on a device. You can use this capability to provide services like DNS traffic encryption, typically by redirecting DNS traffic to your own server. You usually do this in the context of managed devices, such as those owned by a school or an enterprise.
You create a DNS proxy as an app extension based on a custom subclass of the
NEDNSProxy class. Once active, the proxy receives access to flows of DNS traffic in the form of
NEApp instances. Each flow corresponds to a socket opened by an app to UDP port 53 or TCP port 53. Your DNS proxy provider acts as a transparent DNS proxy for the flows of network data that it receives.
When you subclass
NEDNSProxy, you must provide implementations for the following methods: