Table of Contents

Class VpnEngineFeatures

Namespace
VpnHood.Core.Client.VpnServices.Abstractions
Assembly
VpnHood.Core.Client.VpnServices.Abstractions.dll

Represents the optional parts of the contract a VPN engine has (Features); every engine has the rest.

public class VpnEngineFeatures
Inheritance
VpnEngineFeatures
Inherited Members

Remarks

A feature a report leaves out is one the engine lacks, and one a reader does not know it skips. The app asks an engine for none it lacks, and an engine asked for one fails the connect rather than ignoring it, as a kill switch or a split that silently did nothing would leak.

Properties

Ads

Gets a value indicating whether the engine takes part in the ads a plan asks for: it waits in WaitingForAd and takes ApiSetWaitForAdRequest, ApiSetAdOkRequest and ApiAdFailedRequest.

public bool Ads { get; init; }

Property Value

bool

All

Gets every feature this library knows: its own engine's.

public static VpnEngineFeatures All { get; }

Property Value

VpnEngineFeatures

AlwaysOn

Gets a value indicating whether the engine takes a start the system or the app makes with no one asking: AllowAlwaysOn and IsAlwaysOn.

public bool AlwaysOn { get; init; }

Property Value

bool

EndPointStrategy

Gets a value indicating whether the engine finds the server's endpoints as told: EndPointStrategy.

public bool EndPointStrategy { get; init; }

Property Value

bool

KillSwitch

Gets a value indicating whether the engine has the kill switch's block: UseKillSwitch.

public bool KillSwitch { get; init; }

Property Value

bool

Proxies

Gets a value indicating whether the engine connects through the person's proxies: ProxyOptions.

public bool Proxies { get; init; }

Property Value

bool

Quic

Gets a value indicating whether the engine speaks QUIC to the server: Quic, which an engine without it takes as TCP, as it takes a server's own lack of QUIC.

public bool Quic { get; init; }

Property Value

bool

SplitApps

Gets a value indicating whether the engine splits the tunnel by app: IncludeApps and ExcludeApps.

public bool SplitApps { get; init; }

Property Value

bool

TrackerKinds

Gets the kinds of tracker the engine makes (TrackerKinds, Kind). The default is none.

public IReadOnlyList<string> TrackerKinds { get; init; }

Property Value

IReadOnlyList<string>