---
title: NEDNSProxyManager
framework: networkextension
role: symbol
role_heading: Class
path: networkextension/nednsproxymanager
---

# NEDNSProxyManager

An object to create and manage an DNS proxy provider’s configuration.

## Declaration

```swift
class NEDNSProxyManager
```

## Overview

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. You enable and configure this proxy from within your app using the singleton proxy manager instance provided by the shared() type method of the NEDNSProxyManager class. For example, for a proxy that performs a simple redirect, you can use the proxy manager to define and dynamically configure the destination IP address of the redirected traffic. Instances of the proxy manager are thread safe. important: To use the NEDNSProxyManager class, you must enable the Network Extensions capability in Xcode and select the DNS Proxy capability. See Configure network extensions.

## Topics

### Managing the DNS proxy configuration

- [shared()](networkextension/nednsproxymanager/shared().md)
- [loadFromPreferences(completionHandler:)](networkextension/nednsproxymanager/loadfrompreferences(completionhandler:).md)
- [saveToPreferences(completionHandler:)](networkextension/nednsproxymanager/savetopreferences(completionhandler:).md)
- [removeFromPreferences(completionHandler:)](networkextension/nednsproxymanager/removefrompreferences(completionhandler:).md)

### Accessing DNS proxy configuration properties

- [isEnabled](networkextension/nednsproxymanager/isenabled.md)
- [providerProtocol](networkextension/nednsproxymanager/providerprotocol.md)
- [localizedDescription](networkextension/nednsproxymanager/localizeddescription.md)

### Notifications

- [NEDNSProxyConfigurationDidChange](foundation/nsnotification/name-swift.struct/nednsproxyconfigurationdidchange.md)

### Errors

- [NEDNSProxyErrorDomain](networkextension/nednsproxyerrordomain.md)
- [NEDNSProxyManagerError](networkextension/nednsproxymanagererror.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Configuration

- [NEDNSProxyProviderProtocol](networkextension/nednsproxyproviderprotocol.md)
