# Domain route via VPN

This allows you to selectively route specific domains through the VPN tunnel while keeping all other traffic unaffected. This is the opposite of the [Domain Bypass](domain-bypass) feature.

## Configuration via VPN

```swift
let bypassConfiguration = BypassConfiguration(
    isBypassEnabled: false,
    bypassDomainsBehaviour: .bypassAllExcept,
    bypassDomains: ["*.domain1.com", "domain2.net", "domain3.org"],
    bypassDNSServer: nil
)
```

In this example:

* Traffic for subdomains of `domain1.com`, `domain2.net` and `domain3.org` will be routed through the VPN.
* All other traffic will bypass the VPN and use direct connections.

{% hint style="warning" %}
- Since we do not provide default values for this initializer at the moment, you need to explicitly specify `isBypassEnabled: false`.
- It's important to be aware that if you use `isBypassEnabled: true`, it will result in a full bypass, meaning that all traffic will be bypassed and not routed through the VPN.
{% endhint %}

{% hint style="info" %}
* The configuration also supports wildcards. In the example, `*.domain1.com` means all subdomains of `domain1.com` will bypass the VPN, but `domain1.com` itself will not.
* The `Domains Route via VPN` feature is currently available only on Hydra/WireGuard VPN configurations. It is not supported on IPSec VPN setups.
{% endhint %}
