---
title: DNS proxy provider
framework: networkextension
role: collectionGroup
role_heading: API Collection
path: networkextension/dns-proxy-provider
---

# DNS proxy provider

Create an on-device DNS proxy using a custom protocol.

## Overview

Overview A DNS proxy provider is an app extension that implements DNS proxying. You should create a DNS proxy provider if you want to take responsibility for resolving all DNS queries on the system. Typically this involves forwarding the queries in a way that improves performance, reliability or security. For example, a DNS proxy provider might: Forward DNS queries to a well-known Internet-wide DNS server Talk to a DNS proxying service using DNS over HTTPS (DoH) or DNS over TLS (DoT) Implement a completely custom DNS proxying protocol For detailed information about DNS proxy provider deployment options, see TN3134: Network Extension provider deployment.

## Topics

### Essentials

- [Network Extensions Entitlement](bundleresources/entitlements/com.apple.developer.networking.networkextension.md)

### Provider

- [NEDNSProxyProvider](networkextension/nednsproxyprovider.md)
- [NEDNSSettings](networkextension/nednssettings.md)

### Handling flows

- [NEAppProxyTCPFlow](networkextension/neappproxytcpflow.md)
- [NEAppProxyUDPFlow](networkextension/neappproxyudpflow.md)
- [NEAppProxyFlow](networkextension/neappproxyflow.md)

### Configuration

- [NEDNSProxyManager](networkextension/nednsproxymanager.md)
- [NEDNSProxyProviderProtocol](networkextension/nednsproxyproviderprotocol.md)

## See Also

### DNS configurations

- [DNS settings](networkextension/dns-settings.md)
