Class

NEDNSProxyProvider

The principal class for a DNS proxy provider app extension.

Declaration

@interface NEDNSProxyProvider : NEProvider

Overview

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 NEDNSProxyProvider class. Once active, the proxy receives access to flows of DNS traffic in the form of NEAppProxyFlow 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 NEDNSProxyProvider, you must provide implementations for the following methods:

Topics

Managing the DNS Proxy Life Cycle

Handling Proxied DNS Flow

- handleNewFlow:

Handles a new flow of DNS traffic.

Getting System DNS Settings

systemDNSSettings

The current system DNS settings.

Relationships

Inherits From

See Also

Provider

NEDNSSettings

The DNS resolver settings of a network tunnel.