Class SplitTunnelingState
- Namespace
- VpnHood.AppLib.Api.SplitTunneling
- Assembly
- VpnHood.AppLib.Api.dll
Represents the split tunneling in force, as the settings and the session make it, so the UI holds no rule of its own.
public class SplitTunnelingState
- Inheritance
-
SplitTunnelingState
- Inherited Members
Remarks
It shows the settings as the app resolves them, at once: a change that waits for a reconnect (IsReconnectRequired) shows before it applies. With the split tunneling off, every flag but IsLocalNetworkSplit and IsAppSplit is false; the modes are the ones in force, while the stored ones stay in the settings.
Properties
Countries
Gets the countries the split by country names, by their codes.
public required IReadOnlyList<string> Countries { get; init; }
Property Value
CountryMode
Gets the split by country's mode in force.
public required SplitCountryMode CountryMode { get; init; }
Property Value
DnsMode
Gets the DNS's split mode in force.
public required SplitDnsMode DnsMode { get; init; }
Property Value
IsAppSplit
Gets a value indicating whether the split by app is in force; it stays with the split tunneling off.
public required bool IsAppSplit { get; init; }
Property Value
IsCountrySplit
Gets a value indicating whether the split by country is in force.
public required bool IsCountrySplit { get; init; }
Property Value
IsDomainSplit
Gets a value indicating whether the split by domain is in force.
public required bool IsDomainSplit { get; init; }
Property Value
IsEnabled
Gets a value indicating whether the split tunneling is on, as the settings' switch says.
public required bool IsEnabled { get; init; }
Property Value
IsIpV6Split
Gets a value indicating whether IPv6 goes outside the tunnel: the server cannot carry it, and the setting excludes rather than blocks it.
public required bool IsIpV6Split { get; init; }
Property Value
IsIpViaAppSplit
Gets a value indicating whether the app's own split by IP ranges is in force.
public required bool IsIpViaAppSplit { get; init; }
Property Value
IsIpViaDeviceSplit
Gets a value indicating whether the device adapter's split by IP ranges is in force.
public required bool IsIpViaDeviceSplit { get; init; }
Property Value
IsLocalNetworkSplit
Gets a value indicating whether the local network goes outside the tunnel.
public required bool IsLocalNetworkSplit { get; init; }
Property Value
IsSplitByServer
Gets a value indicating whether the server's own declarations leave public destinations out of the tunnel, while splitting is allowed.
public required bool IsSplitByServer { get; init; }
Property Value
IsSplittingTraffic
Gets a value indicating whether some public traffic of the tunneled apps may go outside the tunnel: by country, IP range or domain, by the server's declarations, or IPv6. Neither the local network, which cannot show the public address, nor the split by app counts.
public required bool IsSplittingTraffic { get; init; }
Property Value
UnsupportedIpV6Mode
Gets what happens to IPv6 the server cannot carry, as in force.
public required SplitUnsupportedIpMode UnsupportedIpV6Mode { get; init; }