---
title: NETransparentProxyProvider
framework: networkextension
role: symbol
role_heading: Class
path: networkextension/netransparentproxyprovider
---

# NETransparentProxyProvider

An object that implements the client side of a custom transparent network proxy solution.

## Declaration

```swift
class NETransparentProxyProvider
```

## Mentioned in

Handling Flow Copying

## Overview

Overview The NETransparentProxyProvider class has the following behavior differences from its superclass NEAppProxyProvider: Returning NO from handleNewFlow(_:) and handleNewUDPFlow(_:initialRemoteEndpoint:) causes the flow to proceed to communicate directly with the flow’s ultimate destination, instead of closing the flow with a “Connection Refused” error. This provider ignores NEDNSSettings and NEProxySettings specified within NETransparentProxyNetworkSettings. Flows that match the includedNetworkRules within NETransparentProxyNetworkSettings use the same DNS and proxy settings that other flows on the system currently use. Flows that are created using a “connect by name” API (such as Network framework or URLSession) that match the includedNetworkRules don’t bypass DNS resolution.

## Relationships

### Inherits From

- [NEAppProxyProvider](networkextension/neappproxyprovider.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

### Transparent proxy configuration

- [NETransparentProxyManager](networkextension/netransparentproxymanager.md)
- [NETransparentProxyNetworkSettings](networkextension/netransparentproxynetworksettings.md)
- [NENetworkRule](networkextension/nenetworkrule.md)
